<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for ebf</title>
    <link>http://www.advogato.org/person/ebf/</link>
    <description>Advogato blog for ebf</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Tue, 21 May 2013 17:44:03 GMT</pubDate>
    <item>
      <pubDate>Tue, 23 Nov 2010 13:11:28 GMT</pubDate>
      <title>TEDx Amaz&#xF4;nia</title>
      <link>http://www.advogato.org/person/ebf/diary.html?start=43</link>
      <guid>http://blogs.aedsol.com/ebf/2010/11/tedx-amazonia/</guid>
      <description>&lt;p&gt;Como j&#xE1; disse no &lt;a href="http://blogs.aedsol.com/ebf/2010/11/tedxamazonia-indescritivel/" target="_blank" &gt;post anterior&lt;/a&gt;, o TEDx Amaz&#xF4;nia foi um evento indescrit&#xED;vel. A qualidade dos palestrantes, da organiza&#xE7;&#xE3;o, do publico e da estrutura ajudaram a este &lt;em&gt;developer&lt;/em&gt;, entrar numa fase de profunda reflex&#xE3;o e an&#xE1;lise pessoal.&lt;/p&gt;
&lt;p&gt;Ap&#xF3;s duas semanas do evento, as id&#xE9;ias continuam a germinar. E agora j&#xE1; sinto mais a vontade para compartilhar minhas impress&#xF5;es &amp;#8220;p&#xF3;s-evento&amp;#8221;. Vou falar um pouco do que mais me tocou e como foi a experi&#xEA;ncia l&#xE1;.&lt;/p&gt;
&lt;p&gt;Esse foi meu primeiro evento TED e gostei muito do formato. O fato de que os palestrantes e plat&#xE9;ia se misturam completamente foi algo que eu deveria estar melhor preparado!&lt;/p&gt;
&lt;p&gt;Encontramos o Michael Braungart no barco rumo ao evento. Fico muito triste de n&#xE3;o ter puxado uma conversa com ele l&#xE1;, pois a apresenta&#xE7;&#xE3;o dele foi genial. Redefiniu, para mim, o que &#xE9; ser sustent&#xE1;vel ou &amp;#8220;est&#xFA;pido&amp;#8221;. Um dos melhores trechos de sua apresenta&#xE7;&#xE3;o:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Sustent&#xE1;vel? Isso &#xE9; bom? J&#xE1; pensaram algu&#xE9;m perguntar &amp;#8220;Como vai seu relacionamento?&amp;#8221; e responderem: &amp;#8220;Sustent&#xE1;vel&amp;#8221;. Isso &#xE9; est&#xFA;pido!&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Nas palavras dele, aprendi que devemos ter uma pegada positiva com a Natureza e n&#xE3;o negativa, ou &amp;#8220;zerada&amp;#8221;. Fazer menos mal, n&#xE3;o. Fazer o bem, o certo pela Natureza. Uma curiosidade interessante (obrigado @AlineMary!): O livro dele &lt;a href="http://www.mcdonough.com/cradle_to_cradle.htm" target="_blank" &gt;Cradle to Cradle: Remaking the Way We Make Things&lt;/a&gt;, &#xE9; feito de um papel sint&#xE9;tico facilmente recicl&#xE1;vel, sem utilizar &#xE1;rvores. Isso sim &#xE9; um cara que segue o que diz.&lt;/p&gt;
&lt;p&gt;Durante uma das refei&#xE7;&#xF5;es no evento, um senhor pede licen&#xE7;a para entrar na fila. &#xC9; estranho como gigantes do pensamento podem ser t&#xE3;o simples! Esse senhor era &amp;#8220;apenas&amp;#8221;&#xA0;&lt;a href="http://www.iis.unam.mx/areas/agrarios/leff.html" target="_blank" &gt;Enrique Leff&lt;/a&gt;.&#xA0;A nova racionalidade proposta por ele&#xA0;at&#xE9; agora est&#xE1; fazendo minha cabe&#xE7;a girar. E ainda ele &#xE9; um cara super simples e acess&#xED;vel! Sua frase inicial &amp;#8220;A humanidade errou o caminho de constru&#xE7;&#xE3;o da civilidade&amp;#8221; j&#xE1; bateu forte. @AlineMary e eu estamos debatendo e planejando estudar muito, al&#xE9;m dos 15 minutos que ele falou. Edgar Morin, nos vemos em breve! &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Ver, por exemplo,&#xA0;&lt;a href="http://www.synergos.org/bios/btoro.htm" target="_blank" &gt;Bernardo Toro&lt;/a&gt; brincar de dan&#xE7;ar &lt;em&gt;Thriller&lt;/em&gt; durante a apresenta&#xE7;&#xE3;o do &lt;a href="http://www.saudeealegria.org.br/portal/index.php" target="_blank" &gt;Magn&#xF3;lio&lt;/a&gt; foi surreal. Falando em Bernardo Toro, seu&#xA0;&amp;#8221;Saber Cuidar&amp;#8221; calou fundo. Hoje somos m&#xE1;quinas produtoras de trabalho e esquecemos de cuidar. Cuidar da mente, do esp&#xED;rito, do corpo. Das pessoas pr&#xF3;ximas, dos conhecidos e dos desconhecidos. Isso cai como uma luva para nossa civiliza&#xE7;&#xE3;o, t&#xE3;o individualista e ego&#xED;sta.&lt;/p&gt;
&lt;p&gt;A palestra de &lt;a href="http://thesystemis.com/" target="_blank" &gt;Zach Lieberman&lt;/a&gt; foi libertadora. Para mim tecnologia sempre foi sin&#xF4;nimo de ganho financeiro. Uma boa id&#xE9;ia para ganhar muito dinheiro. Zach mostrou que tecnologia &#xE9; dar poder para as pessoas. E pode, tamb&#xE9;m, ajudar pessoas. No caso do grafiteiro Temptone, que p&#xF4;de voltar a fazer sua paix&#xE3;o gra&#xE7;as ao trabalho dele. Veja no v&#xED;deo abaixo:&lt;/p&gt;
&lt;p&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="360" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6376466&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=ffffff&amp;amp;fullscreen=1&amp;amp;autoplay=0&amp;amp;loop=0" /&gt;&lt;embed type="application/x-shockwave-flash" width="640" height="360" src="http://vimeo.com/moogaloop.swf?clip_id=6376466&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=ffffff&amp;amp;fullscreen=1&amp;amp;autoplay=0&amp;amp;loop=0" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;Mais informa&#xE7;&#xF5;es sobre o projeto em &lt;a href="http://www.eyewriter.org" target="_blank" &gt;http://www.eyewriter.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A apresenta&#xE7;&#xE3;o do S&#xE9;rgio Laus, o surfista de pororoca, foi interessant&#xED;ssima. O impacto do esporte nas comunidades ribeirinhas &#xE9; positiv&#xED;ssimo, apesar de que nunca pegaria uma onda num tsunami de &#xE1;gua doce&amp;#8230; &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.aaronkoblin.com/" target="_blank" &gt;Aaron Koblin&lt;/a&gt; mostou que a arte pode nascer do trabalho coletivo. Achei incr&#xED;vel como utilizou o Turk da Amazon para trabalhos impressionantes de arte coletiva.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Joan_Roughgarden" target="_blank" &gt;Joan Roughgarden&lt;/a&gt; fez um contraponto forte a Darwin em sua apresenta&#xE7;&#xE3;o. Mostrou como a sexualidade aproxima bandos de diversas esp&#xE9;cies, independente do sexo/g&#xEA;nero. Destruiu o conceito da f&#xEA;mea t&#xED;mida e do macho prom&#xED;scuo. Iluminador e esclarecedor, principalmente na nossa sociedade sexista e preconceituosa.&lt;/p&gt;
&lt;p&gt;Thiago de Mello me deu calafrios. Com sua voz suave e as palavras fortes, declamando uma nova vers&#xE3;o de seu famoso &amp;#8220;Estatutos do Homem&amp;#8221;&amp;#8230; incr&#xED;vel.&lt;/p&gt;
&lt;p&gt;Andr&#xE9; Abujamra, como sempre, foi &#xED;mpar. Apesar dos deslizes no come&#xE7;o da apresenta&#xE7;&#xE3;o por parte da produ&#xE7;&#xE3;o, come&#xE7;ou sua m&#xFA;sica &lt;em&gt;a cappella&lt;/em&gt; e deixou todo mundo boquiaberto.&lt;/p&gt;
&lt;p&gt;Sempre fui muito competitivo e o tal do &amp;#8220;pr&#xF3;ximo&amp;#8221;, seja ele uma pessoa ou a natureza, sempre foi algo muito abstrato e intang&#xED;vel. Esse evento mudou essa realidade pra mim, mudou minha escala de prioridades. Vivemos num mundo t&#xE3;o consumista que n&#xE3;o vemos o que isso est&#xE1; causando ao &amp;#8220;pr&#xF3;ximo&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Mal posso esperar a come&#xE7;ar a agir.&lt;/p&gt;
&lt;p&gt;				&lt;div id="gallery-dc669aba" class="flickr-gallery photoset"&gt;
													&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161566210" &gt;&lt;img class="photo" title="Hotel Amazon Jungle Palace, sede do TEDx Amaz&#xF4;nia" src="http://farm5.static.flickr.com/4084/5161566210_6349eacd2c_s.jpg" alt="Hotel Amazon Jungle Palace, sede do TEDx Amaz&#xF4;nia" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5160968337" &gt;&lt;img class="photo" title="Minha Credencial - sim, erraram o nome da A&amp;D :)" src="http://farm5.static.flickr.com/4057/5160968337_8ea84b04b4_s.jpg" alt="Minha Credencial - sim, erraram o nome da A&amp;D :)" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161574026" &gt;&lt;img class="photo" title="Enrique Leff" src="http://farm5.static.flickr.com/4052/5161574026_3fa0cd0640_s.jpg" alt="Enrique Leff" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5160993023" &gt;&lt;img class="photo" title="Almo&#xE7;o. Servidos? :)" src="http://farm2.static.flickr.com/1426/5160993023_8ce044cbc7_s.jpg" alt="Almo&#xE7;o. Servidos? :)" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5160995509" &gt;&lt;img class="photo" title="Plat&#xE9;ia TEDx" src="http://farm5.static.flickr.com/4145/5160995509_985ecc0837_s.jpg" alt="Plat&#xE9;ia TEDx" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5160994759" &gt;&lt;img class="photo" title="Aaron Koblin - Fenomenal" src="http://farm5.static.flickr.com/4036/5160994759_09b9103783_s.jpg" alt="Aaron Koblin - Fenomenal" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161600156" &gt;&lt;img class="photo" title="Suely Carvalho" src="http://farm2.static.flickr.com/1105/5161600156_d9a0e363ca_s.jpg" alt="Suely Carvalho" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161600744" &gt;&lt;img class="photo" title="Suely Carvalho mostrando o valor das parteiras e da dignidade, beleza e naturalidade do parto normal." src="http://farm5.static.flickr.com/4130/5161600744_72a21155a0_s.jpg" alt="Suely Carvalho mostrando o valor das parteiras e da dignidade, beleza e naturalidade do parto normal." /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5160998737" &gt;&lt;img class="photo" title="Andr&#xE9; Abujamra detonando" src="http://farm5.static.flickr.com/4060/5160998737_b86d46477b_s.jpg" alt="Andr&#xE9; Abujamra detonando" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5160999291" &gt;&lt;img class="photo" title="Diana Whitten - \"Vessel\"" src="http://farm5.static.flickr.com/4024/5160999291_5764a487b5_s.jpg" alt="Diana Whitten - \"Vessel\"" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161604268" &gt;&lt;img class="photo" title="Andr&#xE9; Abujamra detonando" src="http://farm5.static.flickr.com/4041/5161604268_eb722bb104_s.jpg" alt="Andr&#xE9; Abujamra detonando" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161001425" &gt;&lt;img class="photo" title="" src="http://farm5.static.flickr.com/4052/5161001425_33575a79a6_s.jpg" alt="" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161607106" &gt;&lt;img class="photo" title="Paul Bennett, da Ideo" src="http://farm2.static.flickr.com/1173/5161607106_7e43215121_s.jpg" alt="Paul Bennett, da Ideo" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161004477" &gt;&lt;img class="photo" title="Edgard Gouveia Jr - \"Tocou, colou!\"" src="http://farm2.static.flickr.com/1070/5161004477_c40b8fe3cb_s.jpg" alt="Edgard Gouveia Jr - \"Tocou, colou!\"" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161608330" &gt;&lt;img class="photo" title="Lama Samten" src="http://farm5.static.flickr.com/4038/5161608330_7904ae96e6_s.jpg" alt="Lama Samten" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161011495" &gt;&lt;img class="photo" title="Paulo Arruda" src="http://farm2.static.flickr.com/1355/5161011495_2d746ed23e_s.jpg" alt="Paulo Arruda" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161615300" &gt;&lt;img class="photo" title="" src="http://farm5.static.flickr.com/4021/5161615300_a9ff4488d2_s.jpg" alt="" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161615822" &gt;&lt;img class="photo" title="Zach Lieberman - Essa apresenta&#xE7;&#xE3;o mudou minha vis&#xE3;o" src="http://farm5.static.flickr.com/4010/5161615822_971035ac38_s.jpg" alt="Zach Lieberman - Essa apresenta&#xE7;&#xE3;o mudou minha vis&#xE3;o" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161013207" &gt;&lt;img class="photo" title="Michael Braungart - Palestra Brilhante" src="http://farm5.static.flickr.com/4067/5161013207_45aba9897a_s.jpg" alt="Michael Braungart - Palestra Brilhante" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161619460" &gt;&lt;img class="photo" title="Filipe Milanez denunciando genoc&#xED;dio dos &#xCD;ndios Kawahiva" src="http://farm5.static.flickr.com/4070/5161619460_33c841384c_s.jpg" alt="Filipe Milanez denunciando genoc&#xED;dio dos &#xCD;ndios Kawahiva" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161619930" &gt;&lt;img class="photo" title="Bernardo Toro" src="http://farm5.static.flickr.com/4052/5161619930_a82c951037_s.jpg" alt="Bernardo Toro" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161024127" &gt;&lt;img class="photo" title="Lucas Santtana" src="http://farm5.static.flickr.com/4007/5161024127_03d6ae2aa7_s.jpg" alt="Lucas Santtana" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161628380" &gt;&lt;img class="photo" title="Lucas Santtana" src="http://farm2.static.flickr.com/1397/5161628380_41107dac74_s.jpg" alt="Lucas Santtana" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161632502" &gt;&lt;img class="photo" title="Poste de Luz" src="http://farm2.static.flickr.com/1100/5161632502_022ed18f48_s.jpg" alt="Poste de Luz" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161030695" &gt;&lt;img class="photo" title="Leito seco do Rio Negro" src="http://farm2.static.flickr.com/1252/5161030695_ebbd331189_s.jpg" alt="Leito seco do Rio Negro" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161633946" &gt;&lt;img class="photo" title="Jos&#xE9; R. Fonseca" src="http://farm5.static.flickr.com/4063/5161633946_6e075328b5_s.jpg" alt="Jos&#xE9; R. Fonseca" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161634534" &gt;&lt;img class="photo" title="Nosso pequeno transfer." src="http://farm2.static.flickr.com/1192/5161634534_cdd28189c4_s.jpg" alt="Nosso pequeno transfer." /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161640048" &gt;&lt;img class="photo" title="Alexandre Siqueira" src="http://farm2.static.flickr.com/1398/5161640048_054c009a75_s.jpg" alt="Alexandre Siqueira" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161640592" &gt;&lt;img class="photo" title="O gigante Thiago de Mello" src="http://farm5.static.flickr.com/4092/5161640592_4c3a39a826_s.jpg" alt="O gigante Thiago de Mello" /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class="flickr-thumb"&gt;
									&lt;a href="http://flickr.com/photo.gne?id=5161641112" &gt;&lt;img class="photo" title="" src="http://farm5.static.flickr.com/4144/5161641112_a87c78c39b_s.jpg" alt="" /&gt;&lt;/a&gt;
								&lt;/div&gt;
												&lt;div class="fg-clear"&gt;&lt;/div&gt;
				&lt;/div&gt;
									&lt;div class="fg-clear" id="fg-dc669aba-nav"&gt;
						&lt;div id="fg-dc669aba-next" class="flickr-gallery-next" style="float: right"&gt;&lt;a href="#" &gt;Next Page &amp;rsaquo;&lt;/a&gt;&lt;/div&gt;
						&lt;div id="fg-dc669aba-prev" class="flickr-gallery-prev" style="display: none; float: left"&gt;&lt;a href="#" &gt;&amp;lsaquo; Previous Page&lt;/a&gt;&lt;/div&gt;
					&lt;/div&gt;
												&lt;div class="fg-clear"&gt;&lt;/div&gt;
							&lt;script type="text/javascript"&gt;
											jQuery(document).ready(function(){
							jQuery("#gallery-dc669aba .flickr-thumb img").flightbox({size_callback: get_sizes});
						});
										
											var flickr_gallery_dc669aba_page = 1;
						(function($){
							$(document).ready(function(){
								$("#fg-dc669aba-next a, #fg-dc669aba-prev a").click(function(e){
									if ( $(e.target).parent().is("#fg-dc669aba-next") ) {
										flickr_gallery_dc669aba_page++;
									} else {
										flickr_gallery_dc669aba_page--;
									}
									$("#gallery-dc669aba .flickr-thumb").css("visibility", "hidden");
									//$("#gallery-dc669aba").css("background", "transparent url(http://blogs.aedsol.com/ebf/wp-content/plugins/flickr-gallery/flightbox/images/loading-2.gif) scroll no-repeat center center");
									$.post("/ebf/feed/atom/", {
										action: 'flickr-gallery-page',
										pager: "O:15:\"phpFlickr_pager\":5:{s:6:\"method\";s:26:\"flickr.photosets.getPhotos\";s:4:\"args\";a:4:{s:11:\"photoset_id\";s:17:\"72157625347710438\";s:6:\"extras\";s:6:\",media\";s:8:\"per_page\";i:500;s:4:\"page\";d:1;}s:8:\"per_page\";s:2:\"30\";s:4:\"page\";i:1;s:6:\"_extra\";N;}",
										page: flickr_gallery_dc669aba_page
									}, function(rsp){
										$("#gallery-dc669aba").html(rsp.html);
																					$("#gallery-dc669aba .flickr-thumb img").flightbox({size_callback: get_sizes});
																				if ( rsp.page == 1 ) {
											$("#fg-dc669aba-prev").hide();
										} else {
											$("#fg-dc669aba-prev").show();
										}
										if ( rsp.page == rsp.pages ) {
											$("#fg-dc669aba-next").hide();
										} else {
											$("#fg-dc669aba-next").show();
										}
									}, 'json');
									return false;
								});
							});
						})(jQuery);
										//--&gt;
				&lt;/script&gt;
			
&lt;div class='wpfblike' style='height: 40px;'&gt;&lt;fb:like href='http://blogs.aedsol.com/ebf/2010/11/tedx-amazonia/' layout='default' show_faces='true' width='400' action='like' colorscheme='light' /&gt;&lt;/div&gt;
&lt;div class="shr-publisher-87"&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Sun, 7 Nov 2010 11:20:36 GMT</pubDate>
      <title>#TEDxAmazonia &#x2013; Indescrit&#xED;vel</title>
      <link>http://www.advogato.org/person/ebf/diary.html?start=42</link>
      <guid>http://blogs.aedsol.com/ebf/2010/11/tedxamazonia-indescritivel/</guid>
      <description>&lt;p&gt;Indescrit&#xED;vel.&lt;/p&gt;
&lt;p&gt;&#xC9; assim, com esse chav&#xE3;o, com essa palavra t&#xE3;o usada, que defino o primeiro dia do TEDx Amaz&#xF4;nia.&lt;/p&gt;
&lt;p&gt;Nunca fui t&#xE3;o agraciado com id&#xE9;ias, com experi&#xEA;ncias t&#xE3;o diferentes e plurais. Desde a maravilhosa dan&#xE7;a inicial, os pensamentos do Lama Santen, a dan&#xE7;a das chuvas, o trabalho fenomenal com o genoma de Paulo Arruda (obrigado pelo caf&#xE9;!), Enrique Leff (obrigado pelo aut&#xF3;grafo!), a consci&#xEA;ncia de Leinad Carbogim (obrigado pelo abra&#xE7;o!), Bernardo Toro, ao poder dado pela tecnologia de Zach Lieberman, a luta de Z&#xE9; Claudio Ribeiro, a vis&#xE3;o e visualiza&#xE7;&#xE3;o tecnol&#xF3;gica de Aaron Koblin&amp;#8230;&lt;/p&gt;
&lt;p&gt;Cheguei at&#xE9; a desmaiar no relato de Deise Nishimura (sangue + Eduardo = blackout)!&lt;/p&gt;
&lt;p&gt;E muitos outros que, por mais que tente, meu c&#xE9;rebro castigado (no bom sentido) n&#xE3;o consegue associar seus nomes as suas excelentes palestras.&lt;/p&gt;
&lt;p&gt;&#xC9; imposs&#xED;vel descrever a sensa&#xE7;&#xE3;o de estar imerso num ambiente t&#xE3;o rico &amp;#8211; e no meio do mais rico ecossistema do mundo: A Floresta Amaz&#xF4;nica.&lt;/p&gt;
&lt;p&gt;O que eu n&#xE3;o esperava &#xE9; que o TED tem um efeito colateral inesperado e n&#xE3;o divulgado: A reflex&#xE3;o.&lt;/p&gt;
&lt;p&gt;As id&#xE9;ias ainda est&#xE3;o fervilhando em minha mente e sei que v&#xE3;o trazer mudan&#xE7;as significativas no modo que me vejo inserido na minha comunidade, no meu pa&#xED;s e no mundo.&lt;/p&gt;
&lt;p&gt;E tentarei espalhar essas mesmas id&#xE9;ias com a mesma paix&#xE3;o e vontade mostrada pelos palestrantes.&lt;/p&gt;
&lt;p&gt;Adendo: Ficamos encalhados no meio do Rio Negro ap&#xF3;s uma manobra pouco ortodoxa de nosso barqueiro. Fizemos novos amigos e rimos muito. At&#xE9; nisso o TEDx Amaz&#xF4;nia est&#xE1; sendo &#xFA;nico e transformador! &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt;
&lt;div class='wpfblike' style='height: 40px;'&gt;&lt;fb:like href='http://blogs.aedsol.com/ebf/2010/11/tedxamazonia-indescritivel/' layout='default' show_faces='true' width='400' action='like' colorscheme='light' /&gt;&lt;/div&gt;
&lt;div class="shr-publisher-86"&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 6 Nov 2010 01:13:20 GMT</pubDate>
      <title>#TEDxAM &#x2013; Estamos aqui!</title>
      <link>http://www.advogato.org/person/ebf/diary.html?start=41</link>
      <guid>http://blogs.aedsol.com/ebf/2010/11/tedxam-estamos-aqui/</guid>
      <description>&lt;p&gt;&lt;a href="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/11/20101105-203316.jpg" &gt;&lt;img src="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/11/20101105-203316.jpg" alt="" class="alignnone size-full" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;J&#xE1; chegamos em Manaus para um dos eventos mais esperados do ano (pelo menos por n&#xF3;s da @aedtech): &lt;a href="http://www.tedxamazonia.com.br" &gt;TEDx Amaz&#xF4;nia&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Eu e a @AlineMary tentaremos postar diariamente fotos e impress&#xF5;es das 50 apresenta&#xE7;&#xF5;es interessant&#xED;ssimas que veremos aqui nos pr&#xF3;ximos dias.
&lt;div class='wpfblike' style='height: 40px;'&gt;&lt;fb:like href='http://blogs.aedsol.com/ebf/2010/11/tedxam-estamos-aqui/' layout='default' show_faces='true' width='400' action='like' colorscheme='light' /&gt;&lt;/div&gt;
&lt;div class="shr-publisher-81"&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 27 Oct 2010 20:14:33 GMT</pubDate>
      <title>CherryPy &#x2013; WebApps with a great stuffing</title>
      <link>http://www.advogato.org/person/ebf/diary.html?start=40</link>
      <guid>http://blogs.aedsol.com/ebf/2010/10/cherrypy-webapps-with-a-great-stuffing/</guid>
      <description>&lt;p&gt;I&amp;#8217;m an old-fashioned kind of guy. I started developing web apps when Perl was something really new and revolutionary, &lt;a href="http://www.python.org/%7Eguido" &gt;Guido van Rossum&lt;/a&gt; wasn&amp;#8217;t dealing with snakes yet and Netscape Enterprise Server was the fastest server ever. Yeah right.&lt;/p&gt;
&lt;p&gt;In order to create apps that would interact with the web browser, you only had one option.&lt;a href="http://en.wikipedia.org/wiki/Common_Gateway_Interface" target="_blank" &gt; CGI&lt;/a&gt;. And the so called Common Gateway Interface always worked. Personally, I still used it until quite recently. Last week recently, BTW &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;With the arrival of new web technologies (&lt;a href="http://www.rubyonrails.org/" target="_blank" &gt;Rails&lt;/a&gt;, &lt;a href="http://www.djangoproject.com/" target="_blank" &gt;Django&lt;/a&gt;, and etc&amp;#8230;), I studied and learned those new &amp;#8220;formats&amp;#8221; (BTW, I love MVC). But I always felt &amp;#8220;restrained&amp;#8221;. CGI is obsolete and old (most of the time), but you can do whatever you want.&lt;/p&gt;
&lt;p&gt;We needed a new technology for one of our internal projects at @aedtech. Something that could ease the development and still be flexible, and mainly fast. After Googling a lot, I found a great solution: &lt;a href="http://www.cherrypy.org/" target="_blank" &gt;CherryPy&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;CherryPy is a very &amp;#8220;pythonic&amp;#8221; HTTP framework. What really got me excited is the simplicity, the sane use of OOP and how mature the project is. The easiest way to describe how simple and nice CherryPy is, is by showing some code. Below is a little snippet from the project&amp;#8217;s website:&lt;/p&gt;
&lt;pre class="brush: python;"&gt;
import cherrypy

class HelloWorld(object):
    def index(self):
        return &amp;quot;Hello World!&amp;quot;
    index.exposed = True

cherrypy.quickstart(HelloWorld())
&lt;/pre&gt;
&lt;p&gt;Easy, hum? My crazy-scientist-tests starts today, mixing this with &lt;a href="http://www.mongodb.org/" target="_blank" &gt;mongoDB&lt;/a&gt;, &lt;a href="http://www.memcached.org/" target="_blank" &gt;Memcached&lt;/a&gt; and some secret sauce &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt;
&lt;div class='wpfblike' style='height: 40px;'&gt;&lt;fb:like href='http://blogs.aedsol.com/ebf/2010/10/cherrypy-webapps-with-a-great-stuffing/' layout='default' show_faces='true' width='400' action='like' colorscheme='light' /&gt;&lt;/div&gt;
&lt;div class="shr-publisher-75"&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 27 Oct 2010 20:14:33 GMT</pubDate>
      <title>CherryPy &#x2013; WebApps com recheio</title>
      <link>http://www.advogato.org/person/ebf/diary.html?start=39</link>
      <guid>http://blogs.aedsol.com/ebf/2010/10/cherrypy-webapps-com-recheio/</guid>
      <description>&lt;p&gt;Sou um cara das &amp;#8220;antigas&amp;#8221;. Comecei a programar para web na &#xE9;poca que Perl era algo nov&#xED;ssimo e revolucion&#xE1;rio, &lt;a href="http://www.python.org/~guido" &gt;Guido van Rossum&lt;/a&gt; ainda n&#xE3;o estava envolvido com cobras e o Netscape Enterprise Server era o que havia de mais r&#xE1;pido. Pois &#xE9;.&lt;/p&gt;
&lt;p&gt;Para criar programas que rodavam no browser, voc&#xEA; tinha uma op&#xE7;&#xE3;o. &lt;a href="http://en.wikipedia.org/wiki/Common_Gateway_Interface" target="_blank" &gt;CGI&lt;/a&gt;. E o tal do Common Gateway Interface sempre funcionou. E pessoalmente, usava ele at&#xE9; pouco tempo atr&#xE1;s. Semana passada na verdade &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; .&lt;/p&gt;
&lt;p&gt;Com o advento das novas tecnologias web (&lt;a href="http://www.rubyonrails.org" target="_blank" &gt;Rails&lt;/a&gt;, &lt;a href="http://www.djangoproject.com" target="_blank" &gt;Django&lt;/a&gt;, e etc&amp;#8230;), me atualizei e comecei a trabalhar com elas tamb&#xE9;m. Mas sempre me sentia &amp;#8220;preso&amp;#8221;. CGI &#xE9; obsoleto e lento (na maioria das vezes), mas voc&#xEA; tem uma flexibilidade incompar&#xE1;vel.&lt;/p&gt;
&lt;p&gt;Montando um projeto interno da @aedtech, comecei a procurar um ambiente mais&amp;#8230; neutro. Algo que pudesse ter a flexibilidade dos CGIs, mas num ambiente mais r&#xE1;pido, eficiente e inteligente. Depois de pesquisar bastante, achei a solu&#xE7;&#xE3;o: &lt;a href="http://www.cherrypy.org" target="_blank" &gt;CherryPy&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;CherryPy &#xE9; um framework HTTP, bem &amp;#8220;pythonico&amp;#8221;. O que me empolgou &#xE9; a facilidade, o uso correto e sensato de classes e como o projeto est&#xE1; maduro. A forma mais f&#xE1;cil de descrever como o gostoso de trabalhar com esse framework &#xE9; mostrar um pouco de c&#xF3;digo. E segue um snippet direto do site do projeto:&lt;/p&gt;
&lt;pre class="brush: python;"&gt;
import cherrypy

class HelloWorld(object):
    def index(self):
        return &amp;quot;Hello World!&amp;quot;
    index.exposed = True

cherrypy.quickstart(HelloWorld())
&lt;/pre&gt;
&lt;p&gt;Simples n&#xE9;? Os testes de cientista louco come&#xE7;am hoje, misturando isso com &lt;a href="http://www.mongodb.org" target="_blank" &gt;mongoDB&lt;/a&gt;, &lt;a href="http://www.memcached.org" target="_blank" &gt;Memcached&lt;/a&gt; e outras coisinhas mais &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt;
&lt;div class='wpfblike' style='height: 40px;'&gt;&lt;fb:like href='http://blogs.aedsol.com/ebf/2010/10/cherrypy-webapps-com-recheio/' layout='default' show_faces='true' width='400' action='like' colorscheme='light' /&gt;&lt;/div&gt;
&lt;div class="shr-publisher-69"&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Tue, 19 Oct 2010 16:16:11 GMT</pubDate>
      <title>HOWTO: Delete all of your tweets in a few steps</title>
      <link>http://www.advogato.org/person/ebf/diary.html?start=38</link>
      <guid>http://blogs.aedsol.com/ebf/2010/10/howto-delete-all-of-your-tweets-in-a-few-steps/</guid>
      <description>&lt;p&gt;&lt;a href="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/imgres.jpeg" &gt;&lt;img class="size-full wp-image-62 alignleft" title="imgres" src="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/imgres.jpeg" alt="" width="89" height="89" /&gt;&lt;/a&gt;@AlineMary and I decided to change our course with Twitter. Our profiles used to be private, restricted to a few known acquaintances. For personal reasons, we decided to use Twitter in a different way, more public and focused on our projects.&lt;/p&gt;
&lt;p&gt;But (always a but) we wouldn&amp;#8217;t like to lose our followers or to stop following the interesting people we already followed, so deleting and recreating our accounts was out of league. Manually deleting all tweets, well, was too nightmarish (I had ~ 9800 tweets and @AlineMary ~ 600).&lt;/p&gt;
&lt;p&gt;I Googled several mass delete services and found a handful &amp;#8211; some, well recommended. There was only one minor problem: none of them worked &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Always witty and wise, @AlineMary told me: &amp;#8220;You used to be a programmer, right?&amp;#8221;. Point taken, my dear &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /&gt; .&lt;/p&gt;
&lt;p&gt;After googling for some simple-to-use APIs (with OAuth support), I found Jeff Miller&amp;#8217;s -&#xA0;&lt;a href="http://jmillerinc.com/2010/05/31/twitter-from-the-command-line-in-python-using-oauth/" target="_blank" &gt;&amp;#8220;Twitter from the command line in Python using OAuth&amp;#8221;&lt;/a&gt;, in which he demonstrated the very easy-to-use&#xA0;&lt;a href="http://github.com/joshthecoder/tweepy" target="_blank" &gt;Tweepy&lt;/a&gt; library.&lt;/p&gt;
&lt;p&gt;After a quick grok at the documentation, and following Jeff&amp;#8217;s footsteps, I managed to assemble a very bare-bones app to mass delete all Tweets. Best of all: It worked &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;So, let&amp;#8217;s proceed to the HowTo. You will need to follow Jeff&amp;#8217;s steps for the OAuth authentication first:&lt;/p&gt;
&lt;blockquote&gt;
&lt;h3&gt;Step 1: Download Tweepy&lt;/h3&gt;
&lt;p&gt;Tweepy is an awesome Twitter library for Python. Much of this post is based on information I found in the Tweepy documentation.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://github.com/joshthecoder/tweepy" &gt;Download Tweepy from GitHub&lt;/a&gt; and&#xA0;&lt;a href="http://github.com/joshthecoder/tweepy/blob/master/INSTALL" &gt;install&lt;/a&gt; it on your system.&lt;/p&gt;
&lt;h3&gt;Step 2: Register a new client app with Twitter&lt;/h3&gt;
&lt;p&gt;Navigate to&#xA0;&lt;a href="http://twitter.com/oauth_clients" &gt;http://twitter.com/oauth_clients&lt;/a&gt; and click on&#xA0;&lt;strong&gt;Register a new application&lt;/strong&gt;. You might have to log in to the Twitter site first, if you&#x2019;re not already.&lt;/p&gt;
&lt;p&gt;Fill in the registration fields as follows:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/Twitter-app-details.gif" &gt;&lt;img class="alignnone size-full wp-image-47" title="Twitter app details" src="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/Twitter-app-details.gif" alt="" width="550" height="1097" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When finished on the registration page, click&#xA0;&lt;strong&gt;Save&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Next page:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/Twitter-app-details-1.gif" &gt;&lt;img class="alignnone size-full wp-image-48" title="Twitter app details-1" src="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/Twitter-app-details-1.gif" alt="" width="550" height="654" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Keep this browser window open. We&#x2019;ll need the information in the next step.&lt;/p&gt;
&lt;h3&gt;Step 3: Connect the app to your Twitter account&lt;/h3&gt;
&lt;p&gt;Next, the app needs to be authorized to connect to your account so it can send tweets under your name.&lt;/p&gt;
&lt;p&gt;We&#x2019;ll create a one-off utility script to do this. Save the following Python code as a script on your local system.&lt;/p&gt;
&lt;pre&gt;#!/usr/bin/env python

import tweepy

CONSUMER_KEY = 'paste your Consumer Key here'
CONSUMER_SECRET = 'paste your Consumer Secret here'

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth_url = auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
auth.get_access_token(verifier)
print "ACCESS_KEY = '%s'" % auth.access_token.key
print "ACCESS_SECRET = '%s'" % auth.access_token.secret&lt;/pre&gt;
&lt;p&gt;Paste the Consumer Key and Consumer Secret from the end of step 2 into this script, replacing the CONSUMER_KEY and CONSUMER_SECRET constants. Then save and run on your system.&lt;/p&gt;
&lt;p&gt;You should see a prompt like this:&lt;/p&gt;
&lt;pre&gt;Please authorize: &amp;lt;URL&amp;gt;
PIN:&lt;/pre&gt;
&lt;p&gt;Open that URL in your browser. You should see the standard OAuth Twitter connection screen:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/Twitter-connect-to-account.gif" &gt;&lt;img class="alignnone size-full wp-image-49" title="Twitter connect to account" src="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/Twitter-connect-to-account.gif" alt="" width="790" height="353" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Click Allow.&lt;/p&gt;
&lt;p&gt;Twitter will then provide you with a PIN code that authenticates the connection between the client app and your Twitter account.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/Twitter-granted-access-to-account.gif" &gt;&lt;img class="alignnone size-full wp-image-52" title="Twitter granted access to account" src="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/Twitter-granted-access-to-account.gif" alt="" width="793" height="348" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Enter this PIN into the prompt from the Python registration script:&lt;/p&gt;
&lt;pre&gt;PIN: 2781961&lt;/pre&gt;
&lt;p&gt;The script will then print out another key/secret pair:&lt;/p&gt;
&lt;pre&gt;ACCESS_KEY = '124242RCyi3g0cZ4r5BWL047rsh0S0yv5VxAGwTKCOsHAb'
ACCESS_SECRET = 'kaTXiC489qo8y6haTBSlwOqR1syG83tzPG2StdQ'&lt;/pre&gt;
&lt;p&gt;But the values will be different each time.&lt;/p&gt;
&lt;p&gt;Keep this information on your screen because we&#x2019;ll need it in the next step.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Ok! Thanks Jeff &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; . Now, to the destructive part of this post. Muahuahua*.&lt;/p&gt;
&lt;p&gt;We will create a very simple Python script that will iterate over your tweets and&amp;#8230; well, delete them &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;pre class="brush: python;"&gt;
#!/usr/bin/env python
import sys
import tweepy
import time

CONSUMER_KEY = 'xxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxx'
ACCESS_KEY = 'xxxxxxxxx'
ACCESS_SECRET = 'xxxxxxxxxxxx'

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)

pag &#xA0;= 1
status &#xA0;= []

while (1):
	try:
		status &#xA0;= api.user_timeline(page=pag)
		for update in status:
			print update.id
			print update.text
			api.destroy_status(update.id)
			print &amp;quot;--&amp;quot;
			pag &#xA0;= pag + 1
	except:
		print &amp;quot;Failure... sleeping for 10 minutes.&amp;quot;
		time.sleep(600) # Sleep for 10 minutes and try again.
&lt;/pre&gt;
&lt;p&gt;And that&amp;#8217;s it. Execute this Python script (don&amp;#8217;t forget to fill your Keys and Secrets, the one you got with Jeff&amp;#8217;s steps) and&amp;#8230; wait. This app takes a long time to run (mine is still running). But it works 100% &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Doubts? Comment!&lt;/p&gt;
&lt;h6&gt;* Sheldon Cooper. &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/h6&gt;
&lt;div class='wpfblike' style='height: 40px;'&gt;&lt;fb:like href='http://blogs.aedsol.com/ebf/2010/10/howto-delete-all-of-your-tweets-in-a-few-steps/' layout='default' show_faces='true' width='400' action='like' colorscheme='light' /&gt;&lt;/div&gt;
&lt;div class="shr-publisher-58"&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Tue, 19 Oct 2010 16:16:11 GMT</pubDate>
      <title>Como apagar seus tweets em poucos passos.</title>
      <link>http://www.advogato.org/person/ebf/diary.html?start=37</link>
      <guid>http://blogs.aedsol.com/ebf/2010/10/como-apagar-seus-tweets-em-poucos-passos/</guid>
      <description>&lt;p&gt;&lt;a href="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/imgres.jpeg" &gt;&lt;img class="size-full wp-image-62 alignleft" title="imgres" src="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/imgres.jpeg" alt="" width="89" height="89" /&gt;&lt;/a&gt;Eu e a @AlineMary decidimos mudar o rumo no Twitter. Antes, t&#xED;nhamos um perfil privado, restrito a alguns conhecidos. Por motivos pessoais, resolvemos que vamos utilizar o Twitter de forma mais publica e mais voltada a nossos projetos.&lt;/p&gt;
&lt;p&gt;S&#xF3; um por&#xE9;m: n&#xE3;o gostar&#xED;amos de perder nossos seguidores e aqueles os quais segu&#xED;amos, portanto deletar e recriar a conta era algo impratic&#xE1;vel. Deletar manualmente os tweets, tamb&#xE9;m (eu tinha ~ 9800 tweets e ela ~ 600).&lt;/p&gt;
&lt;p&gt;Procurei v&#xE1;rios servi&#xE7;os de &lt;em&gt;mass delete&lt;/em&gt; na web e achamos alguns muito bem recomendados. O problema &#xE9; que eles simplesmente n&#xE3;o funcionaram &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Sempre unida de uma sabedoria cativante, @AlineMary falou: &amp;#8220;Voc&#xEA; n&#xE3;o &#xE9; um programador?&amp;#8221;. &lt;em&gt;Point taken&lt;/em&gt;, my dear &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Ap&#xF3;s efetuar algumas buscas na web por uma API simples de usar (e com suporte a OAuth), achei o artigo do Jeff Miller &amp;#8211; &lt;a href="http://jmillerinc.com/2010/05/31/twitter-from-the-command-line-in-python-using-oauth/" target="_blank" &gt;&amp;#8220;Twitter from the command line in Python using OAuth&amp;#8221;&lt;/a&gt;, o qual demonstrava o uso muito simples da API&#xA0;&lt;a href="http://github.com/joshthecoder/tweepy" target="_blank" &gt;Tweepy&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Dando uma olhada r&#xE1;pida na documenta&#xE7;&#xE3;o e seguindo o exemplo do Jeff, montei um programa bem &lt;em&gt;bare bones&lt;/em&gt; para remo&#xE7;&#xE3;o em massa dos tweets. E n&#xE3;o &#xE9; que deu certo? &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Vamos aos passos. Iniciamente voc&#xEA; ter&#xE1; de seguir as etapas do post do Jeff para efetuar a autentica&#xE7;&#xE3;o OAuth no Twitter.&lt;/p&gt;
&lt;blockquote&gt;
&lt;h3&gt;Step 1: Download Tweepy&lt;/h3&gt;
&lt;p&gt;Tweepy is an awesome Twitter library for Python. Much of this post is based on information I found in the Tweepy documentation.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://github.com/joshthecoder/tweepy" &gt;Download Tweepy from GitHub&lt;/a&gt; and&#xA0;&lt;a href="http://github.com/joshthecoder/tweepy/blob/master/INSTALL" &gt;install&lt;/a&gt; it on your system.&lt;/p&gt;
&lt;h3&gt;Step 2: Register a new client app with Twitter&lt;/h3&gt;
&lt;p&gt;Navigate to&#xA0;&lt;a href="http://twitter.com/oauth_clients" &gt;http://twitter.com/oauth_clients&lt;/a&gt; and click on&#xA0;&lt;strong&gt;Register a new application&lt;/strong&gt;. You might have to log in to the Twitter site first, if you&#x2019;re not already.&lt;/p&gt;
&lt;p&gt;Fill in the registration fields as follows:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/Twitter-app-details.gif" &gt;&lt;img class="alignnone size-full wp-image-47" title="Twitter app details" src="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/Twitter-app-details.gif" alt="" width="550" height="1097" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When finished on the registration page, click&#xA0;&lt;strong&gt;Save&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Next page:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/Twitter-app-details-1.gif" &gt;&lt;img class="alignnone size-full wp-image-48" title="Twitter app details-1" src="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/Twitter-app-details-1.gif" alt="" width="550" height="654" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Keep this browser window open. We&#x2019;ll need the information in the next step.&lt;/p&gt;
&lt;h3&gt;Step 3: Connect the app to your Twitter account&lt;/h3&gt;
&lt;p&gt;Next, the app needs to be authorized to connect to your account so it can send tweets under your name.&lt;/p&gt;
&lt;p&gt;We&#x2019;ll create a one-off utility script to do this. Save the following Python code as a script on your local system.&lt;/p&gt;
&lt;pre&gt;#!/usr/bin/env python

import tweepy

CONSUMER_KEY = 'paste your Consumer Key here'
CONSUMER_SECRET = 'paste your Consumer Secret here'

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth_url = auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
auth.get_access_token(verifier)
print "ACCESS_KEY = '%s'" % auth.access_token.key
print "ACCESS_SECRET = '%s'" % auth.access_token.secret&lt;/pre&gt;
&lt;p&gt;Paste the Consumer Key and Consumer Secret from the end of step 2 into this script, replacing the CONSUMER_KEY and CONSUMER_SECRET constants. Then save and run on your system.&lt;/p&gt;
&lt;p&gt;You should see a prompt like this:&lt;/p&gt;
&lt;pre&gt;Please authorize: &amp;lt;URL&amp;gt;
PIN:&lt;/pre&gt;
&lt;p&gt;Open that URL in your browser. You should see the standard OAuth Twitter connection screen:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/Twitter-connect-to-account.gif" &gt;&lt;img class="alignnone size-full wp-image-49" title="Twitter connect to account" src="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/Twitter-connect-to-account.gif" alt="" width="790" height="353" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Click Allow.&lt;/p&gt;
&lt;p&gt;Twitter will then provide you with a PIN code that authenticates the connection between the client app and your Twitter account.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/Twitter-granted-access-to-account.gif" &gt;&lt;img class="alignnone size-full wp-image-52" title="Twitter granted access to account" src="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/Twitter-granted-access-to-account.gif" alt="" width="793" height="348" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Enter this PIN into the prompt from the Python registration script:&lt;/p&gt;
&lt;pre&gt;PIN: 2781961&lt;/pre&gt;
&lt;p&gt;The script will then print out another key/secret pair:&lt;/p&gt;
&lt;pre&gt;ACCESS_KEY = '124242RCyi3g0cZ4r5BWL047rsh0S0yv5VxAGwTKCOsHAb'
ACCESS_SECRET = 'kaTXiC489qo8y6haTBSlwOqR1syG83tzPG2StdQ'&lt;/pre&gt;
&lt;p&gt;But the values will be different each time.&lt;/p&gt;
&lt;p&gt;Keep this information on your screen because we&#x2019;ll need it in the next step.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Ok! Obrigado Jeff &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt;  Agora, vamos a parte destruidora do Post. Muahuahua*.&lt;/p&gt;
&lt;p&gt;Vamos criar um script simples que vai iterar pelos posts j&#xE1; efetuados pelo seu usu&#xE1;rio e&amp;#8230; bem, delet&#xE1;-los &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;pre class="brush: python;"&gt;
#!/usr/bin/env python
import sys
import tweepy
import time

CONSUMER_KEY = 'xxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxx'
ACCESS_KEY = 'xxxxxxxxx'
ACCESS_SECRET = 'xxxxxxxxxxxx'

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)

pag &#xA0;= 1
status &#xA0;= []

while (1):
	try:
		status &#xA0;= api.user_timeline(page=pag)
		for update in status:
			print update.id
			print update.text
			api.destroy_status(update.id)
			print &amp;quot;--&amp;quot;
			pag &#xA0;= pag + 1
	except:
		print &amp;quot;Failure... sleeping for 10 minutes.&amp;quot;
		time.sleep(600) # Sleep for 10 minutes and try again.
&lt;/pre&gt;
&lt;p&gt;E &#xE9; isso. Execute esse script Python informando as Keys e Secrets obtidas em cima com o Jeff e&amp;#8230; aguarde. O script demora um bocado (o meu ainda est&#xE1; rodando). Mas funciona 100% &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;D&#xFA;vidas? Comment!&lt;/p&gt;
&lt;h6&gt;* Frase atribu&#xED;da a Sheldon Cooper. &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/h6&gt;
&lt;div class='wpfblike' style='height: 40px;'&gt;&lt;fb:like href='http://blogs.aedsol.com/ebf/2010/10/como-apagar-seus-tweets-em-poucos-passos/' layout='default' show_faces='true' width='400' action='like' colorscheme='light' /&gt;&lt;/div&gt;
&lt;div class="shr-publisher-45"&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 16 Oct 2010 01:08:18 GMT</pubDate>
      <title>Notes on GridFS and MongoDB</title>
      <link>http://www.advogato.org/person/ebf/diary.html?start=36</link>
      <guid>http://blogs.aedsol.com/ebf/2010/10/notes-on-gridfs-and-mongodb/</guid>
      <description>&lt;p&gt;&lt;a href="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/imgres-1.jpeg" &gt;&lt;img class="alignleft size-full wp-image-65" title="imgres-1" src="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/imgres-1.jpeg" alt="" width="240" height="80" /&gt;&lt;/a&gt;Today we made several tests with MongoDB&amp;#8217;s GridFS. And, as simple as it is, we had a hard time trying to find detailed documentation and samples on C++ of this monster (on a good way &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /&gt; ).&lt;/p&gt;
&lt;p&gt;After brushing some bits, groking headers and a very thorough analysis of the C++ driver source code, we got a simple code snippet that stores an arbitrary file on GridFS, and changes its metadata. This is the sample that worked &amp;#8211; if you have any suggestions, please comment! &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;pre class="brush: cpp;"&gt;&amp;lt;br /&amp;gt;
...&amp;lt;br /&amp;gt;
#include &amp;quot;mongo/client/dbclient.h&amp;quot;&amp;lt;br /&amp;gt;
#include &amp;quot;mongo/client/gridfs.h&amp;quot;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;using namespace mongo;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;...&amp;lt;br /&amp;gt;
// The file's full path&amp;lt;br /&amp;gt;
m_NomeArquivo = ...;&amp;lt;br /&amp;gt;
QFileInfo   info(m_NomeArquivo);&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;...&amp;lt;br /&amp;gt;
DBClientConnection  c;&amp;lt;br /&amp;gt;
// local connection to MongoDB.&amp;lt;br /&amp;gt;
c.connect(&amp;quot;localhost&amp;quot;);&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;// Here we &amp;quot;map&amp;quot; GridFS with the prefix we desire&amp;lt;br /&amp;gt;
GridFS      gfs     = GridFS(c, &amp;quot;gridfs&amp;quot;, &amp;quot;myfiles&amp;quot;);&amp;lt;br /&amp;gt;
BSONObj  ret    = gfs.storeFile(m_NomeArquivo.toStdString(), info.fileName().toStdString());&amp;lt;br /&amp;gt;
BSONObjBuilder  b;&amp;lt;br /&amp;gt;
b.appendElements(ret);&amp;lt;br /&amp;gt;
// Here we can add any additional information we want&amp;lt;br /&amp;gt;
b.append(&amp;quot;fileInserted&amp;quot;, &amp;quot;0001&amp;quot;);&amp;lt;br /&amp;gt;
BSONObj o   = b.obj();&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;// And now we update the document on MongoDB.&amp;lt;br /&amp;gt;
c.update(&amp;quot;gridfs.myfiles.files&amp;quot;, BSON(&amp;quot;filename&amp;quot; &amp;lt;&amp;lt; retorno.getField(&amp;quot;filename&amp;quot;)), o, false, false);&amp;lt;br /&amp;gt;
&lt;/pre&gt;
&lt;div class='wpfblike' style='height: 40px;'&gt;&lt;fb:like href='http://blogs.aedsol.com/ebf/2010/10/notes-on-gridfs-and-mongodb/' layout='default' show_faces='true' width='400' action='like' colorscheme='light' /&gt;&lt;/div&gt;
&lt;div class="shr-publisher-32"&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 16 Oct 2010 01:08:18 GMT</pubDate>
      <title>Notas sobre GridFS e MongoDB</title>
      <link>http://www.advogato.org/person/ebf/diary.html?start=35</link>
      <guid>http://blogs.aedsol.com/ebf/2010/10/notas-sobre-gridfs-e-mongodb/</guid>
      <description>&lt;p&gt;&lt;a href="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/imgres-1.jpeg" &gt;&lt;img class="alignleft size-full wp-image-65" title="imgres-1" src="http://blogs.aedsol.com/ebf/wp-content/uploads/2010/10/imgres-1.jpeg" alt="" width="240" height="80" /&gt;&lt;/a&gt;Durante o dia de hoje efetuamos v&#xE1;rios testes com o GridFS do MongoDB. E, por mais simples que seja, achar documenta&#xE7;&#xE3;o e exemplos desse monstro em C++ foi bem complicado.&lt;/p&gt;
&lt;p&gt;Depois de escovar bits, analisar headers e analisar o c&#xF3;digo fonte do driver C++ do MongoDB, chegamos a um exemplo simples de armazenamento de arquivos gen&#xE9;ricos no GridFS, alterando o Metadata do arquivo em quest&#xE3;o. Esse &#xE9; o exemplo que deu certo &amp;#8211; se tiver alguma sugest&#xE3;o, comment! &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Aproveitem!&lt;/p&gt;
&lt;pre class="brush: cpp;"&gt;
...
#include &amp;quot;mongo/client/dbclient.h&amp;quot;
#include &amp;quot;mongo/client/gridfs.h&amp;quot;

using namespace mongo;

...
// pega o caminho completo do arquivo a ser salvo
m_NomeArquivo = ...;
QFileInfo   info(m_NomeArquivo);

...
DBClientConnection  c;
// conex&#xE3;o com o MongoDB, local.
c.connect(&amp;quot;localhost&amp;quot;);

// Mapeamos o GridFS com o prefixo que queremos
GridFS      gfs     = GridFS(c, &amp;quot;gridfs&amp;quot;, &amp;quot;arquivos&amp;quot;);
BSONObj  retorno    = gfs.storeFile(m_NomeArquivo.toStdString(), info.fileName().toStdString());
BSONObjBuilder  b;
b.appendElements(retorno);
// Aqui inclu&#xED;mos qualquer informa&#xE7;&#xE3;o que quisermos
b.append(&amp;quot;arquivoInserido&amp;quot;, &amp;quot;0001&amp;quot;);
BSONObj o   = b.obj();

// E atualizamos o registro do metadata no MongoDB
c.update(&amp;quot;gridfs.arquivos.files&amp;quot;, BSON(&amp;quot;filename&amp;quot; &amp;lt;&amp;lt; retorno.getField(&amp;quot;filename&amp;quot;)), o, false, false);
&lt;/pre&gt;
&lt;div class='wpfblike' style='height: 40px;'&gt;&lt;fb:like href='http://blogs.aedsol.com/ebf/2010/10/notas-sobre-gridfs-e-mongodb/' layout='default' show_faces='true' width='400' action='like' colorscheme='light' /&gt;&lt;/div&gt;
&lt;div class="shr-publisher-20"&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 14 Oct 2010 15:14:41 GMT</pubDate>
      <title>Back to subversion&#x2026;</title>
      <link>http://www.advogato.org/person/ebf/diary.html?start=34</link>
      <guid>http://blogs.aedsol.com/ebf/2010/10/back-to-subversion/</guid>
      <description>&lt;p&gt;Almost a month ago, I started an experiment here at A&amp;#038;D. We use Subversion (svn) for 5 years already and never thought about switching to something else. But reading so much on the web about git, I decided that we should test it and feel the advantages in person.&lt;/p&gt;
&lt;p&gt;As everyone around me knows, my tests usually involve a &amp;#8220;deep dive&amp;#8221; inside the solution. &lt;img src='http://blogs.aedsol.com/ebf/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt;  So, we migrated all of our code repository from svn to git. My conclusion: git is great! A formidable tool that helps the developer rethink the work cicle.&lt;/p&gt;
&lt;p&gt;But (always a but!), its distributed nature has caused some problems for us, mainly when someone (err, me!) forgets to issue a git push. That&amp;#8217;s why we are starting a painfully migration back to subversion.&lt;/p&gt;
&lt;p&gt;This does mean we are stopping using git, right? &lt;strong&gt;Wrong&lt;/strong&gt;. With git-svn, we can have the best from both worlds, using git for a local management, and svn for our main repository.&lt;/p&gt;
&lt;p&gt;Oh&amp;#8230; I really recommend&#xA0;&lt;span style="text-decoration: underline;"&gt;&lt;a href="http://www.redmine.org/" &gt;Redmine&lt;/a&gt;&lt;/span&gt;. I think it&amp;#8217;s much better than&#xA0;&lt;span style="text-decoration: underline;"&gt;&lt;a href="http://trac.edgewall.org/" &gt;Trac&lt;/a&gt;&lt;/span&gt; for project coordination.&lt;/p&gt;
</description>
    </item>
  </channel>
</rss>
