<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Flávio Ribeiro</title>
	<atom:link href="http://www.flavioribeiro.com/v2.0/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flavioribeiro.com/v2.0</link>
	<description>site pessoal</description>
	<pubDate>Wed, 28 Apr 2010 20:05:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
	<language>en</language>
			<item>
		<title>Dando as Caras</title>
		<link>http://www.flavioribeiro.com/v2.0/2009/10/03/dando-as-caras/</link>
		<comments>http://www.flavioribeiro.com/v2.0/2009/10/03/dando-as-caras/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 20:49:44 +0000</pubDate>
		<dc:creator>Flávio Ribeiro</dc:creator>
		
		<category><![CDATA[Eletrônica]]></category>

		<category><![CDATA[Eventos]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Livros]]></category>

		<category><![CDATA[Pessoal]]></category>

		<category><![CDATA[Programação]]></category>

		<category><![CDATA[Sistemas Embarcados]]></category>

		<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://www.flavioribeiro.com/v2.0/?p=207</guid>
		<description><![CDATA[Olá!
De Maio (último post) pra cá MUITAS coisas boas aconteceram, e dariam bons posts. FISL 10, duas palestras no Ensol 3, projeto Marmota (http://marmota.mobi) sendo apresentado no Software Freedom Day em Campina Grande e etc.
Ao invés de fazer posts grandes (e cansativos de serem escritos, principalmente quando não estou inspirado) eu tenho atualizado diariamente meu [...]]]></description>
			<content:encoded><![CDATA[<p>Olá!</p>
<p>De Maio (último post) pra cá MUITAS coisas boas aconteceram, e dariam bons posts. FISL 10, duas palestras no Ensol 3, projeto Marmota (http://marmota.mobi) sendo apresentado no Software Freedom Day em Campina Grande e etc.</p>
<p>Ao invés de fazer posts grandes (e cansativos de serem escritos, principalmente quando não estou inspirado) eu tenho atualizado diariamente meu twitter, não só com coisas profissionais, eventos, estudos, c, python, linux, sistemas embarcados, arduino e etc.</p>
<p>Então se você caiu nesse blog graças ao Google ou costumava vir por aqui de vez enquando e gostou de algo que escrevi ou até mesmo se interessa pelas mesmas coisas que eu, eu recomendo que você me siga no twitter!</p>
<p>Pra seguir clica aí:</p>
<p><img src="file:///tmp/moz-screenshot.jpg" alt="" /><a href="http://www.twitter.com/flavioribeiro"><img class="alignnone" src="http://cohesion.rice.edu/centersandinst/icon/emplibrary/twitter_logo.jpg" alt="" width="480" height="177" /></a></p>
<p>Por enquanto é isso <img src='http://www.flavioribeiro.com/v2.0/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flavioribeiro.com/v2.0/2009/10/03/dando-as-caras/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Jampa Mobility Forum</title>
		<link>http://www.flavioribeiro.com/v2.0/2009/05/18/jampa-mobility-forum/</link>
		<comments>http://www.flavioribeiro.com/v2.0/2009/05/18/jampa-mobility-forum/#comments</comments>
		<pubDate>Mon, 18 May 2009 15:41:08 +0000</pubDate>
		<dc:creator>Flávio Ribeiro</dc:creator>
		
		<category><![CDATA[Eventos]]></category>

		<category><![CDATA[Sistemas Embarcados]]></category>

		<guid isPermaLink="false">http://www.flavioribeiro.com/v2.0/?p=201</guid>
		<description><![CDATA[Nessa semana vai rolar um evento muito legal voltado pra dispositivos móveis e sistemas embarcados aqui em João Pessoa, PB.
É o Jampa Mobility Forum, e vai contar com profissionais já experientes na área, como Rodrigo Vivi do INdT e Ângelo Perkusich, coordenador do Laboratório de Sistemas Embarcados e Computação Pervasiva da UFCG.
Virão pra João Pessoa [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://labs.vivi.eng.br/blog/wp-content/uploads/2009/05/jampa.png" alt="" width="322" height="178" align="left" />Nessa semana vai rolar um evento muito legal voltado pra dispositivos móveis e sistemas embarcados aqui em João Pessoa, PB.</p>
<p>É o <a href="http://www.faculdadeidez.com.br/index/jampamobility">Jampa Mobility Forum</a>, e vai contar com profissionais já experientes na área, como <a href="http://labs.vivi.eng.br/blog/">Rodrigo Vivi</a> do INdT e <a href="http://www.dee.ufcg.edu.br/~perkusic/">Ângelo Perkusich</a>, coordenador do <a href="http://embedded.ufcg.edu.br/">Laboratório de Sistemas Embarcados e Computação Pervasiva</a> da UFCG.</p>
<p>Virão pra João Pessoa também dois profissionais que já participaram de projetos relacionados a mobilidade no C.E.S.A.R.</p>
<p>O <a href="http://www.faculdadeidez.com.br/index/jampamobility">Jampa Mobility Forum</a> é organizado pela <a href="http://www.faculdadeidez.com.br">Faculdade Idez</a> e <a href="http://www.avaty.com.br">Avaty! Tecnologia</a> e a programação está disponível <a href="http://www.faculdadeidez.com.br/index/jampamobility">aqui</a>. Nos vemos lá!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flavioribeiro.com/v2.0/2009/05/18/jampa-mobility-forum/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Marmota: making arduino and mobile devices talk</title>
		<link>http://www.flavioribeiro.com/v2.0/2009/05/10/marmota-making-arduino-and-mobile-devices-talk/</link>
		<comments>http://www.flavioribeiro.com/v2.0/2009/05/10/marmota-making-arduino-and-mobile-devices-talk/#comments</comments>
		<pubDate>Sun, 10 May 2009 19:15:52 +0000</pubDate>
		<dc:creator>Flávio Ribeiro</dc:creator>
		
		<category><![CDATA[Eletrônica]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[Sistemas Embarcados]]></category>

		<guid isPermaLink="false">http://www.flavioribeiro.com/v2.0/?p=198</guid>
		<description><![CDATA[Olá pessoas,
Tirando a poeira aqui do blog pra anunciar meu novo toy project cujo anuncio deveria ser feito só quando eu tivesse algum resultado concreto, mas com o animo na evolução de hoje resolvi publicar logo.
Tenho atualizado o meu twitter bem mais vezes que esse blog pela facilidade que é twittar (principalmente quando você tem [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoas,</p>
<p>Tirando a poeira aqui do blog pra anunciar meu novo toy project cujo anuncio deveria ser feito só quando eu tivesse algum resultado concreto, mas com o animo na evolução de hoje resolvi publicar logo.</p>
<p>Tenho atualizado <a href="http://www.twitter.com/flavioribeiro">o meu twitter</a> bem mais vezes que esse blog pela facilidade que é twittar (principalmente quando você tem um <a href="https://addons.mozilla.org/pt-BR/firefox/addon/5081">plugin pra seu browser</a> como eu). Lá fico sempre atualizando sobre o que estou fazendo, como as coisas no projeto estão indo, referências a sites onde aprendi a usar o motor de passo, transistores, etc.</p>
<div align=center><img class="aligncenter" src="http://www.flavioribeiro.com/marmota/logo.png" alt="" width="300" height="105" align="center" /></div>
<p>Como você leu no fim do parágrafo anterior, o meu novo projeto é relacionado a robótica e microeletrônica. A idéia principal é fazer o <a href="http://www.flavioribeiro.com/v2.0/2009/01/12/arduino-agora-tenho-um/">meu arduino</a> se comunicar com dispositivos móveis como celulares symbian e internet tablets através de qualquer protocolo, seja ele &#8220;wired&#8221; ou não.</p>
<p><img class="alignleft" src="http://www.robotshop.ca/Images/big/en/sfe-bluesmirf-silver-bluetooth-modem.jpg" alt="" width="138" height="138" align="left" />Pra comecar a brincadeira comprei um módulo bluetooth chamado <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=582">BlueSMIRF Gold</a> que implementa toda a stack bluetooth e para integrar ao seu arduino basta você ligar o TX do BlueSMIRF no RX do arduino, e o RX no TX do mesmo. Ligando também o pino Vcc do módulo em uma tensão de 5v (que pode ser o pino 5v do arduino) e o GND no terra, você já pode parear o bluesmirf com seu computador e abstrair a conexão bluetooth como sendo uma porta serial, simples assim. Pretendo fazer um outro post ou um artigo no <a href="http://www.flavioribeiro.com/marmota">site do marmota</a> detalhando a ligação desse módulo assim que aprender mais sobre ele.</p>
<p>Sim, e antes que eu me esqueca, eu terminei pagando muito caro por esse BlueSmirf. Fora os 60 dólares do módulo, paguei 30 dólares pela entrega e ainda tive o azar do módulo ter parado na Receita. Lá se foram mais 120 reais de imposto, e no fim eu não quis nem somar as despesas e saber quanto o bichinho saiu pra mim.</p>
<p>Comprei também um <a href="http://www.arduinors.net/blog/protoshieldbr/">ProtoShieldBR</a> do gaúcho Rafael Quines que fez um excelente trabalho no desenvolvimento desse shield. A idéia básica do ProtoShieldBR é ser uma plaquinha de propósitos gerais, cheias de barramento onde você vai posicionando os seus componentes da maneira que achar melhor - estilo protoboard - só que em cima do seu arduino. Se não fosse o meu ferro de solda de 5 reais as soldas teriam ficado bem bonitinhas e o resultado final teria sido mais bacana.</p>
<p><img class="alignleft" src="http://www.flavioribeiro.com/marmota/marmota2.jpg" alt="" width="178" height="134" align="left" />Voltando pra os objetivos do toy project; O pontapé inicial do <a href="http://www.flavioribeiro.com/marmota">Marmota</a> é fazer um carrinho de controle remoto controlado por um celular s60 através do bluetooth usando python. A parte &#8220;física&#8221; do carro já tá pronta e hoje consegui comandá-lo via bluetooth usando <a href="http://pyserial.wiki.sourceforge.net/pySerial">pySerial</a> no meu notebook. Já fiz também a interface da aplicação PyS60, faltando só criar a classe de socket bluetooth do celular. Falta também dar uma regulada no motor de passo responsável pelo direcionamento do carro, mais algumas colas e soldas, e rodas emborrachadas pra ter uma tração maior com o chão.</p>
<p>Tenho já algumas idéias de interação do arduino com internet tablets, andei pesquisando sobre <a href="http://www.glacialwanderer.com/hobbyrobotics/?p=15">shields ethernet</a> e até vi que já fizeram um <a href="http://arduino.cc/en/Tutorial/WebServer">webserver simples</a> pra ele. Já pensou você controlando luzes, alarmes, cameras de vigilância e etc tudo no seu browser aonde você estiver e o arduino do outro lado dando conta de tudo? Show de bola.</p>
<p>Pra finalizar, quem quiser debater, ajudar, dar mais idéias e etc, dê uma lida no <a href="http://www.flavioribeiro.com/marmota">site do Marmota</a>. Prometo atualizar ele com fotos, videos e códigos tanto do lado arduino como a aplicação pys60 do lado mobile quando esse primeiro projeto for finalizado. Quem quiser acompanhar mais de perto os passos pra finalização desse projeto, <a href="http://www.twitter.com/flavioribeiro">siga-me no twitter</a>!</p>
<p>É isso, até a próxima pessoal <img src='http://www.flavioribeiro.com/v2.0/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flavioribeiro.com/v2.0/2009/05/10/marmota-making-arduino-and-mobile-devices-talk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PyS60 Console Bluetooth no Linux</title>
		<link>http://www.flavioribeiro.com/v2.0/2009/04/02/pys60-console-bluetooth-no-linux/</link>
		<comments>http://www.flavioribeiro.com/v2.0/2009/04/02/pys60-console-bluetooth-no-linux/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 17:30:48 +0000</pubDate>
		<dc:creator>Flávio Ribeiro</dc:creator>
		
		<category><![CDATA[Programação]]></category>

		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.flavioribeiro.com/v2.0/?p=193</guid>
		<description><![CDATA[O desenvolvimento de aplicações em Python para celulares Symbian - além de ser muito divertido - pode ser a forma mais ágil de se fazer algo útil em pouco tempo.
O port do interpretador possibilita você a usar a camera, GPS, SMS e outros componentes do seu celular com algo em torno de 2~4 linhas.
Mas existe [...]]]></description>
			<content:encoded><![CDATA[<p>O desenvolvimento de aplicações em Python para celulares Symbian - além de ser muito divertido - pode ser a forma mais ágil de se fazer algo útil em pouco tempo.</p>
<p>O port do interpretador possibilita você a usar a camera, GPS, SMS e outros componentes do seu celular com algo em torno de 2~4 linhas.</p>
<p>Mas existe um problema. Pra você testar suas aplicações no ciclo de desenvolvimento precisa ter um MS Windows pra instalar o SDK. Uma outra solução muito adotada entre o pessoal que usa linux é usar o interpretador python do celular no computador, via bluetooth.</p>
<p>Assim, mesmo que você não teste sua apliação toda de uma vez, dá pra criar funções dentro do interpretador e testar pedaços do seu código.</p>
<p>Já existem dezenas de posts explicando como fazer essa façanha, mas aqui vou tentar fazer de uma forma mais simples.</p>
<p>Criei um arquivo chamado bluetooth.sh com o seguinte conteúdo:</p>
<blockquote><p>#!/bin/sh</p>
<p>/etc/init.d/bluetooth start<br />
sdptool add &#8211;channel=2 SP<br />
sudo rfcomm listen /dev/rfcomm0 2</p></blockquote>
<p>Agora, com o dongle bluetooth espetado no seu computador e devidamente registrado, apenas execute o script de root:</p>
<blockquote><p>root@doritos:/home/flavio# chmod a+x bluetooth.sh; sh bluetooth.sh<br />
* Starting Bluetooth                                            [ OK ]<br />
Serial Port service registered<br />
Waiting for connection on channel 2</p></blockquote>
<p>Pronto, agora no seu celular, ative o bluetooth e abra o interpretador. Ao apertar Select\Opções vai aparecer:</p>
<p><img class="aligncenter" src="http://stoa.usp.br/igordsm/files/1309/7405/int-console.JPG" alt="" width="167" height="224" /></p>
<p>Selecione o Bluetooth Console e procure pelo seu computador. Depois da primeira vez que seu celular tiver conectado ao computador ele vai gravar seu PC como &#8216;Default Host&#8217;, e a partir da segunda vez ele vai perguntar se você quer conectar ao Default Host ou se é a outro.</p>
<p>Eu, particularmente, sempre busco por outros, mesmo querendo conectar ao meu PC, porque vinha notando erros quando tentava conectar com o Default Host. Buscando por outros, de alguma forma a conexão estabiliza mais rapidamente quando seleciono o meu PC já achado pelo PyS60.</p>
<p>Quando o celular achar o seu computador e você selecionar ele, o terminal que estava aguardando por conexões depois da execução do nosso bluetooth.sh vai mostrar o seguinte:</p>
<blockquote><p>root@doritos:/home/flavio# chmod a+x bluetooth.sh; sh bluetooth.sh<br />
* Starting Bluetooth                                            [ OK ]<br />
Serial Port service registered<br />
Waiting for connection on channel 2</p>
<p>Connection from 00:18:42:9B:8D:65 to /dev/rfcomm0<br />
Press CTRL-C for hangup</p></blockquote>
<p>Olhe pra tela do seu celular, o PyS60 deve dizer que a conexão está OK.</p>
<p>Agora, com o minicom instalado no seu computador, abra um outro terminal e digite:</p>
<blockquote><p>minicom -s</p></blockquote>
<p>Vá em configuração da Porta Serial e sete o Dispositivo Serial para <strong>/dev/rfcomm0</strong>. Verifique se o Bps/Paridade/Bits está 9600 8N1, e se não tiver configure pra ficar dessa forma.</p>
<p>Pronto, agora quando você apertar em Sair no menu de configurações do minicom ele vai inicializar a leitura do dispositivo registrado em rfcomm0.</p>
<p>Agora é só testar seus códigos. <a href="http://www.gdhpress.com.br/blog/programando-em-python-com-o-pys60/">Aqui</a> tem alguns exemplos de testes a serem feitos no seu celular.</p>
<p>Com um dongle bluetooth desses genéricos (pra não dizer do mais barato) e um Ubuntu Linux 8.04 aqui no meu computador, foi preciso reinstalar o libbluetooth com o pacote do Debian Puro. Então se você estiver tendo problemas ao final desse post sem conseguir conectar seu celular ao seu linux, <a href="http://packages.debian.org/sid/i386/libbluetooth2/download">tente reinstalar seu bluetooth com essa biblioteca</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flavioribeiro.com/v2.0/2009/04/02/pys60-console-bluetooth-no-linux/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mais um no Twitter</title>
		<link>http://www.flavioribeiro.com/v2.0/2009/03/27/mais-um-no-twitter/</link>
		<comments>http://www.flavioribeiro.com/v2.0/2009/03/27/mais-um-no-twitter/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 21:37:20 +0000</pubDate>
		<dc:creator>Flávio Ribeiro</dc:creator>
		
		<category><![CDATA[Pessoal]]></category>

		<guid isPermaLink="false">http://www.flavioribeiro.com/v2.0/?p=189</guid>
		<description><![CDATA[
Agora estou também do Twitter  Para me seguir: http://twitter.com/flavioribeiro
]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" src="http://cohesion.rice.edu/centersandinst/icon/emplibrary/twitter_logo.jpg" alt="" width="559" height="206" /></p>
<p>Agora estou também do Twitter <img src='http://www.flavioribeiro.com/v2.0/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Para me seguir: <a href="http://twitter.com/flavioribeiro">http://twitter.com/flavioribeiro</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flavioribeiro.com/v2.0/2009/03/27/mais-um-no-twitter/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FISL 10, vamos?!</title>
		<link>http://www.flavioribeiro.com/v2.0/2009/03/23/fisl-10-vamos/</link>
		<comments>http://www.flavioribeiro.com/v2.0/2009/03/23/fisl-10-vamos/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 16:44:55 +0000</pubDate>
		<dc:creator>Flávio Ribeiro</dc:creator>
		
		<category><![CDATA[Eventos]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://www.flavioribeiro.com/v2.0/?p=186</guid>
		<description><![CDATA[
Mal passou o Bossa Conference e já venho falar novamente sobre eventos aqui no blog. É que dessa vez não vou falar de um simples evento, vou falar do FISL!
Tive a grata oportunidade de ir na 9ª edição ano passado, e lembra aquela lista dos congressos imperdívels? Pois é, o FISL lidera. No ano passado [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" src="http://fisl.softwarelivre.org/10/www/files/banners/banner435x120.png" alt="" width="435" height="120" align="center" /></p>
<p>Mal passou o <a href="http://www.flavioribeiro.com/v2.0/2009/03/10/bossa-conference-09-ii/">Bossa Conference</a> e já venho falar novamente sobre eventos aqui no blog. É que dessa vez não vou falar de um simples evento, vou falar do FISL!</p>
<p>Tive a grata oportunidade de ir na 9ª edição ano passado, e lembra aquela lista dos congressos imperdívels? Pois é, o FISL lidera. No ano passado participei da <a href="http://fislold.softwarelivre.org/9.0/www/arena">Arena de Programação</a> e pude programar e conhecer pessoas que nunca tinha visto na vida. Lá precisávamos desenvolver aplicações pra os dispositivos da Nokia, e quem estava organizando era o pessoal do <a href="http://www.indt.org.br">INdT</a>. Foi uma excelente experiência, mas como a Arena leva praticamente todos os dias do Congresso ainda não sei se vou participar nesse ano.</p>
<p>Apesar de ainda faltar aproximadamente 3 meses, a organização do evento já está investindo em divulgação e já lancou o programa de <a href="http://fisl.softwarelivre.org/drupal5/paginas-amigas"><strong>Páginas Amigas</strong></a>, sucesso na edição passada. Além disso, estão enviando e-mails pra os participantes anteriores e <a href="http://www.softwarelivre.org/news/12912">postando notícias</a> em busca de reunir <a href="http://computerworld.uol.com.br/negocios/2008/04/22/para-a-sua-edicao-de-2009-fisl-preve-10-mil-participantes/">10 mil nerds\programadores\entusiastas de tecnologia e software livre</a>. A nossa caravana já conta com ~12 integrantes, quase 100% maior que a do ano passado.</p>
<p>Há rumores também que o mestre jedi Linus Torvalds vai aparecer lá. Pelo menos <a href="http://rn.softwarelivre.org/temario/?p=120">já chamaram</a>!</p>
<p>Então, se você gostou do que leu aqui, já visitou o site enquanto lia e se empolgou ainda mais, pegue esses próximos 3 meses que faltam e programe sua viagem, compre sua passagem (erhm.. ainda tem promoções na <a href="http://tam.com.br">tam</a>..) e junte-se a nós! <img src='http://www.flavioribeiro.com/v2.0/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flavioribeiro.com/v2.0/2009/03/23/fisl-10-vamos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lembretes é com Remember the Milk</title>
		<link>http://www.flavioribeiro.com/v2.0/2009/03/16/lembretes-e-com-remember-the-milk/</link>
		<comments>http://www.flavioribeiro.com/v2.0/2009/03/16/lembretes-e-com-remember-the-milk/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 02:39:37 +0000</pubDate>
		<dc:creator>Flávio Ribeiro</dc:creator>
		
		<category><![CDATA[Pessoal]]></category>

		<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://www.flavioribeiro.com/v2.0/?p=183</guid>
		<description><![CDATA[Se você é como eu que não consegue lembrar as coisas mais triviais na sua rotina como dia de entrega de trabalho, dia de prova e deadline de issues no trabalho, esse post é pra você.
Ao invés de ficar enviando e-mails para si próprio (com tags &#8216;ATENÇÃO&#8217;, &#8216;LER&#8217;, ou com titulos que chamem a atenção [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://fc16.deviantart.com/fs26/f/2008/147/a/f/Remember_the_Milk_Icon_by_moutzouris.jpg" alt="" width="264" height="264" align="right" />Se você é como eu que não consegue lembrar as coisas mais triviais na sua rotina como dia de entrega de trabalho, dia de prova e deadline de issues no trabalho, esse post é pra você.</p>
<p><strong>Ao invés de ficar enviando e-mails para si próprio</strong> (com tags &#8216;ATENÇÃO&#8217;, &#8216;LER&#8217;, ou com titulos que chamem a atenção cheio de letras maíusculas) <strong>ou escrevendo post-its com garranchos</strong> (supondo que você é nerd, já não escreve mais tanto com a mão e quando tenta fazer isso sai palavras completamente ilegiveis)<strong> e tentando colar os post-its ao redor do monitor</strong> (é, tenta, pq aqueles mizeraveis nunca colam que presta, experiência própria), o RTM pode ser a solução.</p>
<p>Com a chegada da web 2.0 e dos SaaS feitos pra melhorar seu dia-a-dia, o <a href="http://www.rememberthemilk.com/">Remember The Milk</a> consegue com classe e simplicidade guardar de forma inteligente sua ToDo List. Além de ter uma interface cheia de drag&#8217;n'drops e ajax, o RTM consegue integrar facilmente com o GMail tanto como plugin do firefox como com o Google Labs.</p>
<p>Como sou usuário Google Apps, as coisas do GLabs quase nunca são incorporadas na versão do GMail que uso, e ai tive que partir pro plugin que até agora vem fazendo o trabalho muito bem feito, apesar de eu não exigir muito.</p>
<p>Além de tudo isso você ainda pode adicionar um robôzinho Reminder no seu GTalk ou MSN pra te avisar quando as tasks estiverem pra vencer. Tudo isso muito fácil, rápido, sem ter que preencher formulários e etc.</p>
<p>Esse post não foi pago pelo pessoal do RTM, é que fiquei tão feliz com as coisas que ele vem me lembrando e antes passavam batidos que resolvi fazer essa propaganda aqui.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flavioribeiro.com/v2.0/2009/03/16/lembretes-e-com-remember-the-milk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Bossa Conference &#8216;09 (II)</title>
		<link>http://www.flavioribeiro.com/v2.0/2009/03/10/bossa-conference-09-ii/</link>
		<comments>http://www.flavioribeiro.com/v2.0/2009/03/10/bossa-conference-09-ii/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 20:17:56 +0000</pubDate>
		<dc:creator>Flávio Ribeiro</dc:creator>
		
		<category><![CDATA[Eventos]]></category>

		<guid isPermaLink="false">http://www.flavioribeiro.com/v2.0/?p=179</guid>
		<description><![CDATA[
Só agora, no meio do segundo dia do Bossa que consegui uma conexão estável com a internet. Ontem passei o dia inteiro brigando com os roteadores wi-fi, mas agora após algumas modificações a conexão tá fluindo legal.
Exceto pelo problema com a conexão, a conferência está sendo bastante interessante e calma, assim como nas edições passadas [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flavioribeiro.com/v2.0/wp-content/uploads/2009/03/bossa01.jpg"><img class="alignnone size-medium wp-image-180" title="bossa01" src="http://www.flavioribeiro.com/v2.0/wp-content/uploads/2009/03/bossa01-300x251.jpg" alt="" width="300" height="251" align="left" /></a></p>
<p>Só agora, no meio do segundo dia do Bossa que consegui uma conexão estável com a internet. Ontem passei o dia inteiro brigando com os roteadores wi-fi, mas agora após algumas modificações a conexão tá fluindo legal.</p>
<p>Exceto pelo problema com a conexão, a conferência está sendo bastante interessante e calma, assim como nas edições passadas e a cada ano se firma mais na minha lista dos &#8216;congressos imperdiveis&#8217;.</p>
<p>É importante notar a quantidade de palestras e pessoas voltadas pro design de aplicações para dispositivos móveis, o assunto principal desse ano está sendo o <a href="http://www.qtsoftware.com/">Qt</a>.</p>
<p>Ai do lado está a camisa e uma bolinha com a logomarca de um projeto do INdT, o <a href="http://dev.openbossa.org/trac/mamona/">Mamona</a>, presentes que os participantes ganharam quando fizeram o &#8216;check-in&#8217; do encontro.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flavioribeiro.com/v2.0/2009/03/10/bossa-conference-09-ii/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Iteradores em Python</title>
		<link>http://www.flavioribeiro.com/v2.0/2009/02/19/iteradores-em-python/</link>
		<comments>http://www.flavioribeiro.com/v2.0/2009/02/19/iteradores-em-python/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 00:53:37 +0000</pubDate>
		<dc:creator>Flávio Ribeiro</dc:creator>
		
		<category><![CDATA[Programação]]></category>

		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.flavioribeiro.com/v2.0/?p=168</guid>
		<description><![CDATA[Durante o curso discutimos um pouco sobre implementação dos chamados &#8216;métodos mágicos&#8217; de python. Ao invés de interfaces, python adota protocolos a serem seguidos para que objetos criados por você programador obedeça alguns comportamentos, e é por ai que python implementa polimorfismo.
Vejamos por exemplo a função len():
&#62;&#62;&#62; string = &#8216;flavio&#8217;
&#62;&#62;&#62; len(string)
6
&#62;&#62;&#62; lista = ['flavio',21,'ifpb']
&#62;&#62;&#62; len(lista)
3
Ela [...]]]></description>
			<content:encoded><![CDATA[<p>Durante o <a href="http://www.flavioribeiro.com/v2.0/2009/01/25/minicurso-introducao-a-python/">curso</a> discutimos um pouco sobre implementação dos chamados &#8216;métodos mágicos&#8217; de python. Ao invés de interfaces, python adota protocolos a serem seguidos para que objetos criados por você programador obedeça alguns comportamentos, e é por ai que python implementa polimorfismo.</p>
<p>Vejamos por exemplo a função len():</p>
<blockquote><p>&gt;&gt;&gt; string = &#8216;flavio&#8217;<br />
&gt;&gt;&gt; len(string)<br />
6<br />
&gt;&gt;&gt; lista = ['flavio',21,'ifpb']<br />
&gt;&gt;&gt; len(lista)<br />
3</p></blockquote>
<p>Ela tem a capacidade de retornar o tamanho de um objeto, mas não de qualquer objeto:</p>
<blockquote><p>&gt;&gt;&gt; a = 3<br />
&gt;&gt;&gt; len(a)<br />
Traceback (most recent call last):<br />
File &#8220;&lt;stdin&gt;&#8221;, line 1, in &lt;module&gt;<br />
TypeError: object of type &#8216;int&#8217; has no len()</p></blockquote>
<p>Se você quiser que seu próprio objeto consiga retornar o tamanho ou comprimento de algo pela função len() basta você escrever o método mágico __len__ na sua classe. Imagine que você tem uma classe Pessoa e quer saber a altura das pessoas através do len():</p>
<blockquote><p>&gt;&gt;&gt; class Pessoa(object):<br />
&#8230;     def __init__(self, altura=0):<br />
&#8230;             self.altura = altura<br />
&#8230;     def __len__(self):<br />
&#8230;             return self.altura<br />
&#8230;<br />
&gt;&gt;&gt; Flavio = Pessoa(184)<br />
&gt;&gt;&gt; len(Flavio)<br />
184</p></blockquote>
<p>Legal, né? Agora, pra não fugir muito o escopo desse post, vamos aos iteradores. Um iterador é basicamente um objeto que pode ser incrementado e decrementado, ser &#8216;percorrido&#8217;. A palavra iterar significa repetir algo algumas vezes. No  python 3 uma função muito utilizada nos laços <strong>for</strong>, a <em>range()</em>, que antes retornava uma lista (que por sua vez é iteravel) nas versões 2.x agora se comporta como a antiga <em>xrange()</em>, retornando um objeto em si que tem a capacidade de iterar.</p>
<p>No Python 2.X:</p>
<blockquote><p>&gt;&gt;&gt; type(xrange(3))<br />
&lt;type &#8216;xrange&#8217;&gt;<br />
&gt;&gt;&gt; type(range(3))<br />
&lt;type &#8216;list&#8217;&gt;</p></blockquote>
<p>No Python 3000 (Py3k, Python 3):</p>
<blockquote><p>&gt;&gt;&gt; type(range(10))<br />
&lt;class &#8216;range&#8217;&gt;<br />
&gt;&gt;&gt; xrange(10)<br />
Traceback (most recent call last):<br />
File &#8220;&lt;stdin&gt;&#8221;, line 1, in &lt;module&gt;<br />
NameError: name &#8216;xrange&#8217; is not defined</p></blockquote>
<p>Sabendo já sobre métodos mágicos e o que são iteradores chegou a hora de criar um iterador mesmo, na real. Para você ter um iterador, basta que você crie um método mágico chamado __iter__() retornando a própria instância e um outro método chamado next(), onde as coisas vão realmente acontecer a cada iteração.</p>
<p>Como sou péssimo com exemplos vou simplificar e criar apenas uma classe que gera a velha conhecida dos programadores, ou pelo menos das pessoas que pagaram introdução aos algoritmos: Fibonacci.</p>
<pre class="python" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;font-weight:bold;">class</span> Fibonacci<span style="color: black;">&#40;</span><span style="color: #008000;">object</span><span style="color: black;">&#41;</span>:</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__init__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">self</span>.<span style="color: black;">a</span> = <span style="color: #ff4500;">0</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">self</span>.<span style="color: black;">b</span> = <span style="color: #ff4500;">1</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__iter__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #008000;">self</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;font-weight:bold;">def</span> next<span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">self</span>.<span style="color: black;">a</span>, <span style="color: #008000;">self</span>.<span style="color: black;">b</span> = <span style="color: #008000;">self</span>.<span style="color: black;">b</span>, <span style="color: #008000;">self</span>.<span style="color: black;">a</span>+<span style="color: #008000;">self</span>.<span style="color: black;">b</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #008000;">self</span>.<span style="color: black;">a</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li></ol></pre>
<p>Pronto, agora podemos iterar em cima do nosso proprio objeto!</p>
<blockquote><p>&gt;&gt;&gt; fib = Fibonacci()<br />
&gt;&gt;&gt; for num in fib:<br />
&#8230;     if num &lt; 150:<br />
&#8230;             print num,<br />
&#8230;     else:<br />
&#8230;             break<br />
&#8230;<br />
1 1 2 3 5 8 13 21 34 55 89 144</p></blockquote>
<p>Sim, e esse plugin de colorir sintaxe já tá me irritando, engoliu a identação, quebras de linha e etc. Quem usar algum plugin melhor favor me avisar nos comentários!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flavioribeiro.com/v2.0/2009/02/19/iteradores-em-python/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Bossa Conference &#8216;09</title>
		<link>http://www.flavioribeiro.com/v2.0/2009/02/08/bossa-conference-09/</link>
		<comments>http://www.flavioribeiro.com/v2.0/2009/02/08/bossa-conference-09/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 16:39:12 +0000</pubDate>
		<dc:creator>Flávio Ribeiro</dc:creator>
		
		<category><![CDATA[Eventos]]></category>

		<category><![CDATA[Programação]]></category>

		<category><![CDATA[Sistemas Embarcados]]></category>

		<guid isPermaLink="false">http://www.flavioribeiro.com/v2.0/?p=165</guid>
		<description><![CDATA[
Está  chegando mais uma edição de uma conferência muito aguardada - pelo menos por mim - envolvendo assuntos relacionados a mobilidade e sistemas embarcados. É o Bossa Conference, evento realizado pelo Instituto Nokia de Tecnologia.
Tive a oportunidade de estar presente nas outras duas edições e posso afirmar que é um dos melhores eventos realizados no [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flavioribeiro.com/v2.0/wp-content/uploads/2009/02/bossa2009.png"><img class="aligncenter size-medium wp-image-166" title="bossa2009" src="http://www.flavioribeiro.com/v2.0/wp-content/uploads/2009/02/bossa2009-300x121.png" alt="" width="300" height="121" /></a></p>
<p>Está  chegando mais uma edição de uma conferência muito aguardada - pelo menos por mim - envolvendo assuntos relacionados a mobilidade e sistemas embarcados. É o Bossa Conference, evento realizado pelo Instituto Nokia de Tecnologia.</p>
<p>Tive a oportunidade de estar presente nas outras duas edições e posso afirmar que é um dos melhores eventos realizados no Brasil. Por sorte, a cidade onde ele acontece é a poucos km de onde moro (Porto de Galinhas-PE).  Esse ano aposto que não vai ser diferente e com certeza estarei lá.</p>
<p>Se quiserem saber mais sobre o que vai rolar nesse ano <a href="http://www.bossaconference.indt.org/">acessem o site do evento</a>. Programem suas viagens e nos vemos lá!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flavioribeiro.com/v2.0/2009/02/08/bossa-conference-09/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.467 seconds -->
