<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>protected  * void &#187; Mobile</title>
	<atom:link href="http://www.danilocesar.com/blog/category/mobile/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.danilocesar.com/blog</link>
	<description>Tecnologia, Linux e Software Livre</description>
	<lastBuildDate>Thu, 25 Feb 2010 19:27:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>QtMobility Project, ou desenvolvendo para Symbian no Linux</title>
		<link>http://www.danilocesar.com/blog/2010/02/25/qtmobility-project-ou-desenvolvendo-para-symbian-no-linux/</link>
		<comments>http://www.danilocesar.com/blog/2010/02/25/qtmobility-project-ou-desenvolvendo-para-symbian-no-linux/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 19:27:10 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Mandriva]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[QT]]></category>
		<category><![CDATA[SL]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[S60]]></category>
		<category><![CDATA[Symbian]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/?p=206</guid>
		<description><![CDATA[Como nem só de Maemo Meego vive o homem, então é hora de iniciar projetos com Symbian. O fato de sermos usuários Linux não nos afasta mais deste objetivo. O colega Lizardo, não muito feliz com a dependência do Janelas, adaptou com sucesso o famigerado GNUPOC para funcionar com o Qt 4.6.X, dando-nos assim um [...]]]></description>
			<content:encoded><![CDATA[<p>Como nem só de <del datetime="2010-02-25T18:15:55+00:00">Maemo</del> Meego vive o homem, então é hora de iniciar projetos com Symbian.</p>
<p>O fato de sermos usuários Linux não nos afasta mais deste objetivo. O colega <a href="http://lizardo.wordpress.com">Lizardo</a>, não muito feliz com a dependência do Janelas, <a href="http://lizardo.wordpress.com/2010/02/18/installing-qt-for-symbian-sdk-4-6-2-on-linux/">adaptou com sucesso</a> o famigerado <a href="http://www.martin.st/symbian/">GNUPOC</a> para funcionar com o Qt 4.6.X, dando-nos assim um ambiente <del datetime="2010-02-25T18:15:55+00:00">agradável</del> de desenvolvimento Qt/Symbian no Linux.</p>
<p>Graças a ele temos qmake, QGraphicsView e QCoisas funcionando da mesma forma como funcionavam no desktop.</p>
<p><strong>E as APIs específicas como GPS, sensores e rede?</strong></p>
<p>A idéia do Qt everywhere inclui abstrair a API não tão bonita do symbian e maemo (e outros) para uma única API Qt.</p>
<p>Seguindo este princípio lançaram, dia 15/02, um pacote beta do <a href="http://qt.nokia.com/developer/new-qt-apis">Qt-Mobility Project</a>, com classes Qt para sensores, GPS, contatos e etc.</p>
<p>A instalação é simples mas, para <a href="http://lizardo.wordpress.com/2010/02/18/installing-qt-for-symbian-sdk-4-6-2-on-linux/">quem seguiu os passos do Lizardo</a>, basta utilizar este <a href="http://labs.danilocesar.com/files/qt-mobility-install.sh">script</a> e passar o diretório onde o download do <a href="http://get.qt.nokia.com/qt/solutions/qt-mobility-symbian-1.0.0-beta1.zip">pacote</a> foi feito:</p>
<p><code>qt-mobility-install.sh &lt;directory&gt; </code></p>
<p><strong>*Observação</strong>: Não esqueça de setar as variáveis de ambiente $EPOCROOT e $PATH, de forma que o qmake utilizado seja o da instalação para S60</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2010/02/25/qtmobility-project-ou-desenvolvendo-para-symbian-no-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Have you ever seen KDE mobil?</title>
		<link>http://www.danilocesar.com/blog/2009/08/27/have-you-ever-seen-kde-mobil/</link>
		<comments>http://www.danilocesar.com/blog/2009/08/27/have-you-ever-seen-kde-mobil/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 17:27:02 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[/dev/null]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mandriva]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[QT]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[kde]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/?p=199</guid>
		<description><![CDATA[I have! =)]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.danilocesar.com/blog/wp-content/uploads/2009/08/kde_mobil.jpg"><img class="alignnone size-medium wp-image-198" title="kde_mobil" src="http://www.danilocesar.com/blog/wp-content/uploads/2009/08/kde_mobil-300x225.jpg" alt="kde_mobil" width="300" height="225" /></a></p>
<p>I have! =)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2009/08/27/have-you-ever-seen-kde-mobil/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Histórico de múltiplas instâncias do bash</title>
		<link>http://www.danilocesar.com/blog/2008/08/06/historico-de-multiplas-instancias-do-bash/</link>
		<comments>http://www.danilocesar.com/blog/2008/08/06/historico-de-multiplas-instancias-do-bash/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 23:14:28 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Portáteis]]></category>
		<category><![CDATA[Quick Tip]]></category>
		<category><![CDATA[SL]]></category>
		<category><![CDATA[Ubuntu-Br]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[history]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/?p=152</guid>
		<description><![CDATA[Isto pode ser útil para quem trabalha com várias janelas de terminal. O comando history do bash (também o CTRL+R) guarda apenas o histórico da última sessão aberta, o que é um problema para quem usa mais de um terminal (eu uso o conjunto Xterm + screen). Para corrigir isto, adicione em seu .bashrc #Firulas [...]]]></description>
			<content:encoded><![CDATA[<p>Isto pode ser útil para quem trabalha com várias janelas de terminal.</p>
<p>O comando <strong><em>history</em></strong> do bash (também o CTRL+R) guarda apenas o histórico da última sessão aberta, o que é um problema para quem usa mais de um terminal (eu uso o conjunto Xterm + screen).</p>
<p>Para corrigir isto, adicione em seu .bashrc</p>
<p><code>#Firulas de historico com o bash<br />
export PROMPT_COMMAND="history -a"<br />
export HISTFILESIZE=2000<br />
shopt -s histappend</code></p>
<p>Trabalhe com quantos terminais quiser, e guarde o histórico de todos!</p>
<p>[<strong>UPDATE 07/08/2008</strong>]: Tinha um erro na última linha. Obrigado <a href="http://www.myspace.com/andrevmatos" target="_blank">André Matos</a> e <a href="http://vivaotux.blogspot.com/">Sérgio Silva</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2008/08/06/historico-de-multiplas-instancias-do-bash/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>SU-8W com acentos no N800</title>
		<link>http://www.danilocesar.com/blog/2008/06/30/su-8w-com-acentos-no-n800/</link>
		<comments>http://www.danilocesar.com/blog/2008/06/30/su-8w-com-acentos-no-n800/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 22:10:56 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Mandriva]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Quick Tip]]></category>
		<category><![CDATA[SL]]></category>
		<category><![CDATA[Ubuntu-Br]]></category>
		<category><![CDATA[N800]]></category>
		<category><![CDATA[su 8w]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/?p=143</guid>
		<description><![CDATA[Estive me perguntando porque os acentos não funcionam corretamente no SU 8W com o N800. Decidi investigar. Quando eu estava tentando sincronizar o teclado com o N800 pude perceber que o SU 8W é um teclado pré-configurado, e com um pouco de paciência encontrei o arquivo de configuração do mesmo: /usr/share/X11/xkb/symbols/nokia_vndr/su-8w Após 5 minutos estudando [...]]]></description>
			<content:encoded><![CDATA[<p>Estive me perguntando <a href="http://zyakannazio.eti.br/fudeblog/2007/04/29/sem-acento/" target="_blank">porque os acentos não funcionam corretamente no SU 8W</a> com o N800. Decidi investigar.</p>
<p>Quando eu estava tentando sincronizar o teclado com o N800 pude perceber que o SU 8W é um teclado pré-configurado, e com um pouco de paciência encontrei o arquivo de configuração do mesmo: <code>/usr/share/X11/xkb/symbols/nokia_vndr/su-8w</code></p>
<p>Após 5 minutos estudando a sintaxe, em 10 minutos é possível perceber que falta alguma coisa: <strong>Não há, pelo menos, as configurações para português, espanhol e italiano</strong>. Agora eu entendo porque a configuração de layout português não funciona.</p>
<p>Já que não existe uma configuração para o idioma definido, utiliza-se o us_intl, certo? Mas a primeira linha da definição do us-intl tem um comentário preocupante: <strong>&#8220;I can’t belive! It’s not intl&#8221;</strong>. Parece que a tafera não será assim tão simples.</p>
<p>Para propósito de teste, não criei um novo mapa de teclado para pt_BR e sim editei o us_intl. O resultado ficou aceitável, e finalmente é possível ter um teclado funcional em português. O resultado você pode entrar <a href="http://labs.danilocesar.com/maemo/keyboard/su-8w">aqui</a>.<strong>(Não esqueça de fazer backup antes de sobrescrever)</strong></p>
<p>Nos próximos dias ponho aqui a solução definitiva.</p>
<p>Resltado final:<br />
<img src="http://labs.danilocesar.com/blog/wp-content/uploads/2008/06/dsc01622-300x225.jpg" alt="SU 8W funcionando com acentos" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2008/06/30/su-8w-com-acentos-no-n800/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Pychord 2 saindo do forno</title>
		<link>http://www.danilocesar.com/blog/2008/03/30/pychord-2-saindo-do-forno/</link>
		<comments>http://www.danilocesar.com/blog/2008/03/30/pychord-2-saindo-do-forno/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 00:29:03 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SL]]></category>
		<category><![CDATA[acordes]]></category>
		<category><![CDATA[cifra]]></category>
		<category><![CDATA[música]]></category>
		<category><![CDATA[N800]]></category>
		<category><![CDATA[pychord]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/2008/03/30/pychord-2-saindo-do-forno/</guid>
		<description><![CDATA[Certa vez um colega de trabalho de uma das empresas por onde passei comentou: &#8220;Não basta colocar um filho no mundo, é preciso alimenta-lo, educa-lo e fazer o possível para vê-lo crescido!&#8221; Pois bem, depois de certo tempo resolvi voltar a mexer no abandonado código do pychord e adicionar algumas funcionalidades que eu precisava. Após [...]]]></description>
			<content:encoded><![CDATA[<p>Certa vez um colega de trabalho de uma das empresas por onde passei comentou:</p>
<blockquote><p><strong>&#8220;Não basta colocar um filho no mundo, é preciso alimenta-lo, educa-lo e fazer o possível para vê-lo crescido!&#8221;</strong></p></blockquote>
<p>Pois bem, depois de certo tempo resolvi voltar a mexer no <a href="https://garage.maemo.org/svn/pychord/trunk">abandonado código</a> do <a href="https://garage.maemo.org/projects/pychord/">pychord</a> e adicionar algumas funcionalidades que eu precisava.</p>
<p>Após duas tentativas frustradas (0.4.5 e 0.5) percebi que era necessário re-escrever a biblioteca gráfica. Assim foi feito. Adicionei o conceito de <a href="http://en.wikipedia.org/wiki/Window_%28computing%29">janela</a>, conteiner de <a href="http://en.wikipedia.org/wiki/GUI_widget"><em>widgets</em>,</a> melhorei a herança entre classes, etc.  A interface não mudou muita coisa, <a href="http://www.pygame.org">pygame</a> é meio chato para isso.</p>
<p>Ainda estou usando o padrão <strong>.chr </strong>criado para a <a href="http://labs.danilocesar.com/blog/2007/09/16/pychord-for-maemo-get-your-install-here/">primeira versão</a>, mas pretendo adicionar o formato <a href="http://en.wikipedia.org/wiki/XML">XML</a> <a href="http://www.opensong.org">opensong</a> em breve.</p>
<p>A parte legal, e a novidade mais visível, é que criei uma heurística para decidir quais linhas são acordes e quais não são. Esta heurística pretendo ir melhorando a medida que for encontrando casos em que ela não funcione.</p>
<p>Para resumir: ao nível de usuário, as modificações foram:</p>
<ol>
<li>Heurística para reconhecer/diferenciar acordes de letra de músicas</li>
<li>Mudança de tom</li>
<li>Listas clicáveis e móveis</li>
<li>Suporte ao Maemo OS2008</li>
<li>Controle da luminosidade durante a apesentação das cifras ( o display não apaga durante a mostragem mais )</li>
</ol>
<h4>A parte nerd</h4>
<p>A idéia era que o código da interface pudesse ser reutilizada em outros projetos, logo trabalhei para ter uma GUI mais conscistente do que a anterior. Utilizando melhor o conceito de herança foi possível simplificar a utilização da lib, deixando as coisas com menos cara de gambiarra.</p>
<p>Através do conceito de <em>slots</em> ficou bem simples implementar mais de uma <em>action </em>para um mesmo evento.</p>
<h4>Screenshots</h4>
<p><img src="http://www.danilocesar.com/blog/wp-content/uploads/2008/03/picture-1.png" alt="Pychord-screenshot" height="271" width="466" /></p>
<p>Tela de busca, não mudou muito de como era anteriormente.</p>
<p><img src="http://www.danilocesar.com/blog/wp-content/uploads/2008/03/picture-2.png" alt="Pychord-screenshot2" height="275" width="465" /></p>
<p>Visualização da cifra</p>
<p><img src="http://www.danilocesar.com/blog/wp-content/uploads/2008/03/picture-3.png" alt="Pychord-Screenshot3" height="277" width="464" /></p>
<p>Mudaça de tom.</p>
<p>Como sempre, o arquivo de instalação pode ser pego <a href="/home/daniloeu/labs.danilocesar.com/maemo/pychord">aqui</a>. Ainda não criei um repositório pois o aplicativo está em fase de testes. Mas pretendo fazer isto em breve.</p>
<p><em><strong>[UPDATE 03/03/2008] </strong></em>Por problemas de codificação dentro do módulo sqlite3, os textos devem estar em formato UTF-8&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2008/03/30/pychord-2-saindo-do-forno/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extra, extra&#8230; Nokia adquire TrollTech</title>
		<link>http://www.danilocesar.com/blog/2008/01/28/extra-extra-nokia-adquire-trolltech/</link>
		<comments>http://www.danilocesar.com/blog/2008/01/28/extra-extra-nokia-adquire-trolltech/#comments</comments>
		<pubDate>Mon, 28 Jan 2008 18:20:33 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[/dev/null]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Mandriva]]></category>
		<category><![CDATA[Mercado e Ações]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Quick Tip]]></category>
		<category><![CDATA[SL]]></category>
		<category><![CDATA[Ubuntu-Br]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[QT]]></category>
		<category><![CDATA[TrollTech]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/2008/01/28/extra-extra-nokia-adquire-trolltech/</guid>
		<description><![CDATA[A Nokia divulga suas intenções de adquirir a trolltech. Com estas informações tenho duas perguntas: Será a Nokia capaz de manter a qualidade da biblioteca QT? Será que veremos uma licença LGPL para a libQT? Se isto acontecer, será o fim da libGTK?]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www.nokia.com" target="_blank">Nokia</a> <a href="http://www.nokia.com/A4136001?newsid=1185531">divulga suas intenções</a> de adquirir a <a href="http://trolltech.com/" target="_blank">trolltech</a>.</p>
<p>Com estas informações tenho duas perguntas:</p>
<p>Será a Nokia capaz de manter a qualidade da biblioteca <a href="http://en.wikipedia.org/wiki/Qt_%28toolkit%29" target="_blank">QT</a>?</p>
<p>Será que veremos uma licença <a href="http://pt.wikipedia.org/wiki/LGPL" target="_blank">LGPL</a> para a libQT? Se isto acontecer, será o fim da <a href="http://en.wikipedia.org/wiki/GTK%2B">libGTK</a>?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2008/01/28/extra-extra-nokia-adquire-trolltech/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>GoogleMaps errado não é mais problema! Patch para maemo-mapper aqui!</title>
		<link>http://www.danilocesar.com/blog/2008/01/19/googlemaps-errado-nao-e-mais-problema-patch-para-maemo-mapper-aqui/</link>
		<comments>http://www.danilocesar.com/blog/2008/01/19/googlemaps-errado-nao-e-mais-problema-patch-para-maemo-mapper-aqui/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 21:34:41 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[/dev/null]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[SL]]></category>
		<category><![CDATA[viagens]]></category>
		<category><![CDATA[google-maps]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[hacker]]></category>
		<category><![CDATA[mapper]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/2008/01/19/googlemaps-errado-nao-e-mais-problema-patch-para-maemo-mapper-aqui/</guid>
		<description><![CDATA[Como descrevi aqui a alguns dias atrás, o GoogleStreeMaps tem problema em posicionar geograficamente as ruas de algumas cidades do Brasil ( principalmente do interior ). Para quem o utiliza apenas para ver rotas não tem problema algum, mas para quem utiliza-o como motor para GPS a coisa muda de figura. O que acontecia era [...]]]></description>
			<content:encoded><![CDATA[<p>Como <a href="http://www.danilocesar.com/blog/2008/01/11/notas-de-um-viajante/">descrevi aqui a alguns dias atrás</a>, o <a href="http://maps.google.com" target="_blank">GoogleStreeMaps</a> tem problema em posicionar geograficamente as ruas de algumas cidades do Brasil ( principalmente do interior ). Para quem o utiliza apenas para ver rotas não tem problema algum, mas para quem utiliza-o como motor para <a href="pt.wikipedia.org/wiki/Sistema_de_Posicionamento_Global">GPS</a> a coisa muda de figura. O que acontecia era mais ou menos isto:</p>
<p><img src="http://labs.danilocesar.com/blog/wp-content/uploads/2008/01/google-maps_error.png" alt="Error on GoogleStreetMaps" height="284" hspace="20" width="184" /></p>
<p><em>(A linha vermelha indica o que o carro estava fazendo, a linha verde indica o que o GoogleStreetMaps indicava fazer) </em></p>
<p>Como não quero passar aperto em Sampa semana que vem, e sei que Sorocaba e Itu estão na lista das cidades que o GoogleMaps erra, resolvi escrever um pequeno patch para o <a href="http://garage.maemo.org/projects/maemo-mapper" target="_blank">Maemo-Mapper</a>, que adiciona a seguinte <em>feature</em>: &#8220;Calibrar o Mapa&#8221;.</p>
<p>Funciona mais ou menos assim: Ao identificar um erro de deslocamento, o usuário vai no menu Mapas e depois em &#8220;Calibrar Mapa&#8221;. Logo após clica-se em algum lugar da tela onde ele crê que realmente está.</p>
<blockquote><p><em>O ideal mesmo seria parar o carro em uma esquina, identificar a rua onde está e a rua que irá cruzar, e clicar bem em cima.</em></p></blockquote>
<p>O algoritmo faz duas coisas muito simples: Calcula a diferença da Latitude e Longitude do clique e da posição real indicada pelo cursor. Em mãos desta diferença, ela será sempre adiciona à Latitude e Longitude na leitura do GPS.</p>
<p>Desta forma conseguiremos andar sempre em cima da rota. O resultado final será algo como:</p>
<p><img src="http://labs.danilocesar.com/blog/wp-content/uploads/2008/01/google-maps_no_error.png" alt="GoogleMapsError Fixed by Maemo-Mapper Calibrate Feature" height="296" hspace="20" width="350" /></p>
<p><em>(Há! bem melhor agora!) </em></p>
<p>Bom, se o patch mostrar-se útil para mais alguém posso envia-lo à equipe do <a href="http://garage.maemo.org/projects/maemo-mapper">maemo-mapper</a>&#8230; Para mim com certeza o será.</p>
<p>O patch pode ser encontrado <a href="http://labs.danilocesar.com/maemo/mapper/maemo-mapper2.3_adding_map_calibration.patch" target="_blank">aqui</a>, e o pacote para instalar <a href="http://http://labs.danilocesar.com/maemo/mapper/maemo-mapper2.3_with_calibration.deb" target="_blank">aqui</a>.</p>
<p>É isso, bom fim de semana a todos!</p>
<p>[]&#8216;s</p>
<p>Danilo Cesar</p>
<p><strong>[UPDATE: 15/02/2008] </strong>Quase um mês depois&#8230;</p>
<p><a href="http://maps.google.com" target="_blank"> O mapeamento de Sorocaba</a> é melhor do que eu pensava. Usei o calibrador apenas em um momento, quando entrei na cidade. Excelente trabalho do nosso <a href="http://www.thiago.mendes.nom.br/blog/" target="_blank">co-piloto</a>!</p>
<p>Depois, com o calibrador desligado, percebi que o erro era imperceptível em vários pontos, inclusive na chegada do kartódromo de Itu! Por falar em Kartódromo, <a href="http://www.kartodromoschincariol.com.br/" target="_blank">o Schinchariol</a> é uma exelente opção para os paulistas amantes da velocidade.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2008/01/19/googlemaps-errado-nao-e-mais-problema-patch-para-maemo-mapper-aqui/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>N810 &#8211; Vale a pena?</title>
		<link>http://www.danilocesar.com/blog/2007/10/18/n810-vale-a-pena/</link>
		<comments>http://www.danilocesar.com/blog/2007/10/18/n810-vale-a-pena/#comments</comments>
		<pubDate>Thu, 18 Oct 2007 11:53:06 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[/dev/null]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Portáteis]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/2007/10/18/n810-vale-a-pena/</guid>
		<description><![CDATA[Andei lendo os reviews do N810 na internet por aí: O que achei? Interessante: a bateria dura muito mais, tem teclado e GPS embutido, 2Gb de disco ( sem memory-flash ) e processador de 400MHz. Ponto fraco: de longe, o preço. Quase 500 dolêtas e sem GSM ( tá tá, não é o foco do [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.blogsmithmedia.com/www.engadget.com/media/2007/10/nokia-n810-press-top.jpg" title="N810" alt="N810" align="middle" /></p>
<p>Andei <a href="http://www.engadget.com/2007/10/17/nokia-n810-gets-official/" target="_blank">lendo os reviews do N810</a> na internet por aí: O que achei?</p>
<p>Interessante: a bateria dura muito mais, tem teclado e GPS embutido, 2Gb de disco ( sem memory-flash ) e processador de 400MHz.</p>
<p>Ponto fraco: de longe, o preço. Quase 500 dolêtas e sem GSM ( tá tá, não é o foco do device, mas bem que poderia ter ).</p>
<p>O <a href="http://zyakannazio.eti.br/fudeblog/2007/10/17/nao-endoidei-mas-gostei-muito/">Cesar</a> comentou, não sei da veracidade, mas o chinook do N810 será portado pro N800 também. Sendo assim, como hoje é <a href="http://www.amazon.com/Nokia-N800-Internet-Tablet-PC/dp/B000MK4GGM" target="_blank">possível encontrar o N800 por U$ 255.99</a>, acho que a diferença de preço não vale as novidades. A não ser que a Nokia lance novamente aquele programa para baixar o custo do aparelho na mão dos desenvolvedores.</p>
<p>Agora é esperar a <a href="http://www.odontopalm.com.br/gsf/">Bia</a> fazer os comentários dela!</p>
<p><em><strong>UPDATE:</strong></em></p>
<p>O Cesar chegou  primeiro, e confirmei as informações na lista do maemo.</p>
<ul>
<li>O Chinook será portado para o N800 quando o N810 começar a ser vendido.</li>
<li>O programa para desenvolvedores vai rolar.</li>
<li>O N810 tem <em><strong>transmissor FM</strong></em> para ouvir música no carro.</li>
<li>Continuo não pagando 500 doletas por ele.</li>
</ul>
<p><strong>UPDATE 2:</strong></p>
<p>Com o <em><strong>ASUS EeePC </strong></em>top de linha por <em><strong> U$ 400, </strong></em>vamos ver por quanto tempo o preço do N810 se sustenta.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2007/10/18/n810-vale-a-pena/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Pychord: minha primeira contribuição ao Maemo.</title>
		<link>http://www.danilocesar.com/blog/2007/09/05/pychord-minha-primeira-contribuicao-ao-maemo/</link>
		<comments>http://www.danilocesar.com/blog/2007/09/05/pychord-minha-primeira-contribuicao-ao-maemo/#comments</comments>
		<pubDate>Wed, 05 Sep 2007 16:51:46 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Portáteis]]></category>
		<category><![CDATA[PyS60]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ubuntu-Br]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/2007/09/05/pychord-minha-primeira-contribuicao-ao-maemo/</guid>
		<description><![CDATA[Estou dando vida à minha primeira contribuição opensource ao projeto Maemo. É o Pychord. PyChord é uma aplicação que ajudará músicos durante ensaios mostrando cifras das músicas. A vantagem é que ele possui função de auto-scroll da tela, além de ter botões relativamente grandes. Bastará ao usuário procurar pelo nome da música e o sistema [...]]]></description>
			<content:encoded><![CDATA[<p>Estou dando vida à minha primeira contribuição opensource ao projeto <a href="http://www.maemo.org">Maemo</a>.</p>
<p>É o <a href="https://garage.maemo.org/projects/pychord/">Pychord.</a></p>
<p>PyChord é uma aplicação que ajudará músicos durante ensaios mostrando cifras das músicas. A vantagem é que ele possui função de <a href="http://en.wikipedia.org/wiki/Scrolling">auto-scroll</a> da tela, além de ter botões relativamente grandes.</p>
<p>Bastará ao usuário procurar pelo nome da música e o sistema mostrará a cifra. Como passei muito tempo brincando com a interface dele (fazer widgets no pygame parecia impossível antes, além do scroll sensível e com impulso), acabou não dando tempo de desenvolver a interface de busca por cifras. Mas estou pensando em usar o SQLite mesmo. De qualquer forma, além da search engine tem algumas <em>features</em> que pretendo desenvolver pra ele:</p>
<ol>
<li>Troca de tom das músicas (muito útil pra caras como eu que custam para lembrar que a diferença entre <em><strong>B</strong></em> e<em><strong> C</strong></em> é de meio tom)</li>
<li>Rotação da tela.</li>
</ol>
<p>De qualquer forma, tenho que agradecer ao <a href="https://garage.maemo.org/projects/pyvirtkey/">Tony Maro</a> que desenvolveu o teclado virtual e ao <a href="http://www.maeceloeduardo.com">Marcelo</a> ao dizer que não é bonito scroll-bars aonde não precisa. =)</p>
<p>O código não está aquela beleza, mas vai ter feriado por aí e eu vou ter bastante tempo livre para arrumar e terminar a aplicação.</p>
<p>Meu inglês não é lá essas coisas, mas fiz um vídeo de demonstração da aplicação que pode ser visto abaixo.</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/kvi09ODf_Ms"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/kvi09ODf_Ms" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></p>
<p>Com isto estou criando uma versão do meu blog na língua da <a href="http://en.wikipedia.org/wiki/Elizabeth_II_of_the_United_Kingdom">rainha</a>: <a href="http://labs.danilocesar.com">http://labs.danilocesar.com</a>.</p>
<p>E para quem quiser ver o código do PyChord:</p>
<p><code>svn co http://labs.danilocesar.com/pychord/trunk</code></p>
<p>Aceito sugestões!</p>
<p>[]&#8216;s a todos e bom feriado!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2007/09/05/pychord-minha-primeira-contribuicao-ao-maemo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Permissões em partições SSHFS</title>
		<link>http://www.danilocesar.com/blog/2007/05/12/permissoes-em-particoes-sshfs/</link>
		<comments>http://www.danilocesar.com/blog/2007/05/12/permissoes-em-particoes-sshfs/#comments</comments>
		<pubDate>Sat, 12 May 2007 23:38:33 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Quick Tip]]></category>
		<category><![CDATA[Ubuntu-Br]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/2007/05/12/permissoes-em-particoes-sshfs/</guid>
		<description><![CDATA[Há muito tempo atrás fiz um POST aqui explicando sobre como montar uma partição por SSH. Depois deste tempo, descobri algumas coisas a mais. A minha motivação foi que ao tentar montar a partição / do meu N800, eu conseguia ler/escrever em arquivos sem problema, mas dentro do GEDIT isto não era possível, visto que [...]]]></description>
			<content:encoded><![CDATA[<p>Há muito tempo atrás fiz um <a href="http://www.danilocesar.com/blog/2006/06/09/montar-disco-remoto-com-ssh/" target="_blank">POST aqui explicando sobre como montar uma partição por SSH</a>. Depois deste tempo, descobri algumas coisas a mais. A minha motivação foi que ao tentar montar a partição / do meu <a href="http://">N800</a>, eu conseguia ler/escrever em arquivos sem problema, mas dentro do <a href="http://www.gnome.org/projects/gedit/">GEDIT</a> isto não era possível, visto que dava sempre um erro de permissão.</p>
<p>Pois bem, dei um <em><strong>ls -la</strong></em> na pasta, e vi que os arquivos não pertenciam a mim, e sim ao root do N800. Então é óbvio que eu não conseguiria salvar.  A solução foi passar um uid para o sshfs; o meu, é óbvio =)</p>
<p><code>sshfs root@192.168.0.15:/ N800 -o idmap=user -o uid=`id -u`</code></p>
<p>E resolvido o problema! Agora o GEDIT irá editar e salvar os arquivos numa boa.</p>
<p>Uma solução também seria usar o umask=000, mas esta não me agrada muito.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2007/05/12/permissoes-em-particoes-sshfs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BossaConference: Como foi</title>
		<link>http://www.danilocesar.com/blog/2007/03/21/bossaconference-nokia-pys60-como-foi/</link>
		<comments>http://www.danilocesar.com/blog/2007/03/21/bossaconference-nokia-pys60-como-foi/#comments</comments>
		<pubDate>Wed, 21 Mar 2007 18:38:40 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[/dev/null]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[PyS60]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/2007/03/21/bossaconference-nokia-pys60-como-foi/</guid>
		<description><![CDATA[Depois de um longo chá de aeroporto em Curitiba e Guarulhos, finalmente cheguei em Recife. Como o vôo acabou chegando mais cedo, tive que ficar esperar o transfer por mais de uma hora no Aeroporto Internacional de Guararapes (Recife &#8211; Pe) Por sinal, no aeroporto, conheci um funcionário do INdT (Rodrigo?), que me apresentou para [...]]]></description>
			<content:encoded><![CDATA[<p>Depois de um longo chá de aeroporto em Curitiba e Guarulhos, finalmente cheguei em Recife. <br />
Como o vôo acabou chegando mais cedo, tive que ficar esperar o <em>transfer</em> por mais de uma hora no Aeroporto Internacional de Guararapes (Recife &#8211; Pe)
</p>
<p>Por sinal, no aeroporto, conheci um funcionário do INdT (Rodrigo?), que me apresentou para a galera nas festas por lá.<br />
Gostei bastante do povo que conheci.
</p>
<p>Quanto às palestras, achei algumas muito interessantes, e outras nem tanto. Mas vamos por partes:</p>
<p><b>As que eu gostei foram</b></p>
<dl>
<dt>1 &#8211; PyS60</dt>
<dd>Participei da palestra do Jukka sobre o PyS60, mas infelizmente não pude ficar para o <em>Hand&#8217;s On</em>.<br />
	Conversando com o Jukka Laurila, percebi que o PyS60 está em pleno vapor.<br />
	Mas o que eu achei mais legal foi o que ele me contou no ônibus: A Nokia está pagando funcionários para desenvolver exclusivamente SoftwareLivre (no caso do Jukka com o Python).<br />
	E agora eu entendi e aceitei os motivos pelos quais eles abandonaram os Symbian 1st Edition.
	</dd>
<dt>2 &#8211; PyPy</dt>
<dd>Sempre achei idiota/inútil a idéia de manter um interpretador python escrito em python.<br /> Mas o Santagada me convenceu que não é bem assim. Além de otimizar a linguagem, ele comentou que seria possível, com PyPy, escrever um interpretador javascript em python, e até converter (forçando um pouco a barra) código python em javascript. Isto sim é útil.<br /> Durante a festa da terça-feira, quando já estávamos &#8220;altos&#8221;, comentamos em fazer a mesma coisa com o projeto BrainFuck, em BrainFuck. Mas <a href="http://www.nada.kth.se/~matslina/awib/">alguém já pensou nisto!</a> =).
	</dd>
<dt>3 &#8211; GStreammer</dt>
<dd>O Wim mandou muito bem em sua palestra do Gstreammer. Deu pra ter uma noção geral do FrameWork e a que ponto anda o desenvolvimento. Gostei bastante.
	</dd>
</dl>
<p><b>Como nem tudo são flores&#8230;</b></p>
<dl>
<dt>OpenC</dt>
<dd>
	Fiquei decepcionado com a palestra e com o OpenC em si.<br /> Fiquei decepcionado com a <a href="http://pt.wikipedia.org/wiki/API">API</a> pois esta só irá rodar nos Symbian 3th Edition.<br /> É uma limitação muito forte. O OpenC no Brasil não terá efeito nenhum, pois o número de celulares assim no Brasil tende a zero.<br /> Mas de qualquer forma a idéia é boa e não tiro o mérito dela! Ter uma API POSIX para celulares é uma coisa muito boa.
	</dd>
<dt>Wireless</dt>
<dd>
	<a href="http://pythonologia.org/2007/03/14/bossa-conference-quando-e-a-proxima/">Como disse o Osvaldo</a>, realmente o Wireless falhou em vários momentos. Foi uma pena. Aqueles que levaram seus notebook&#8217;s sentiram-se frustrados em alguns momentos.
	</dd>
<dt>Comigo mesmo</dt>
<dd>
	Fiz um &#8220;fuzuê&#8221; danado pra conseguir levar minha camera para Recife, mas apenas no aeroporto de São Paulo, chengando em casa, foi que percebi que não tinha tirado uma única foto&#8230; =(
	</dd>
</dl>
<p>Além das palestras, o evento contou com muita gente bacana. Além dos que eu citei no <a href="http://www.danilocesar.com/blog/2007/02/23/bossaconference-ai-vou-eu/">post anterior</a>, finalmente conheci o <a href="http://setanta.wordpress.com">Marcelo</a> e o <a href="http://lauro.wordpress.com/">Lauro</a>. Também conversei bastante com o Ulisses do BB Brasília sobre a Mandriva Conectiva. Ele contou-me &#8220;causos&#8221; muito interessantes sobre ela.</p>
<p>Também vi o tal do <a href="http://pt.wikipedia.org/wiki/XO">OLPC</a>. A idéia é muito boa! A criança que souber aproveitar poderá crescer bastante. Mas infelizmente vivemos em uma realidade aonde nem livro didático sobrevive por muito tempo. Logo eu tenho meus receios. <br /> O <a href="http://setanta.wordpress.com">Marcelo</a> citou uma frase muito interessante sobre o assunto: <b>&#8220;Antes de inclusão Digital, precisamos de inclusão Social!&#8221;</b>.
</p>
<p>Bom, estão ai meus comentários atrasados sobre o Bossa. O <a href="http://bossaconference.org">Evento</a> foi muito bom, <a href="http://www.hotelarmacao.com.br/">em um lugar excelente</a>. Fomos muito bem cuidados pelo <a href="http://www.indt.org">INdT</a>. Se houver próximas edições, recomendo ir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2007/03/21/bossaconference-nokia-pys60-como-foi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BossaConference, ai vou eu!</title>
		<link>http://www.danilocesar.com/blog/2007/02/23/bossaconference-ai-vou-eu/</link>
		<comments>http://www.danilocesar.com/blog/2007/02/23/bossaconference-ai-vou-eu/#comments</comments>
		<pubDate>Fri, 23 Feb 2007 22:55:13 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[/dev/null]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/2007/02/23/bossaconference-ai-vou-eu/</guid>
		<description><![CDATA[Finalmente tudo certo para a minha participação no BossaConference. Para quem não sabe, BossaConference é um evento que está sendo promovido pelo Instituto Nokia de Tecnologia, e tratará sobre mobilidade, multimedia e opensource. Estarão presentes grandes nomes, falando sobre vários assuntos relacionados a mobilidade. Destaque pra Mika Rytkonen do Open C, Jurgen Scheible e Jukka [...]]]></description>
			<content:encoded><![CDATA[<p>Finalmente tudo certo para a minha participação no <a href="http://bossaconference.org">BossaConference</a>.</p>
<p>Para quem não sabe, BossaConference é um evento que está sendo promovido pelo <a href="http://www.indt.org.br/">Instituto Nokia de Tecnologia</a>, e tratará sobre mobilidade, multimedia e opensource.</p>
<p>Estarão presentes grandes nomes, falando sobre vários assuntos relacionados a mobilidade. Destaque pra Mika Rytkonen do Open C, Jurgen Scheible e  Jukka Laurila com <a href="http://sourceforge.net/projects/pys60">Python S60</a>, Marcel Holtmann do <a href="http://bluez.org">Bluez</a>, sem contar a presença de nomes nacionais como <a href="http://www.marceloeduardo.com">Marcelo Eduardo</a> e Osvaldo Santana do <a href="http://pythonologia.org/">Pythonologia.<br />
</a><br />
É isso ae, agora é só esperar dia 12 de março.</p>
<p>Mas e ae? Alguém mais vai?</p>
<p><em>ps.: O evento será em Porto de Galinhas &#8211; PE </em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2007/02/23/bossaconference-ai-vou-eu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Smartphones: aonde podemos parar?</title>
		<link>http://www.danilocesar.com/blog/2006/12/03/smartphones-aonde-podemos-parar/</link>
		<comments>http://www.danilocesar.com/blog/2006/12/03/smartphones-aonde-podemos-parar/#comments</comments>
		<pubDate>Sun, 03 Dec 2006 17:58:56 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[PyS60]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ubuntu-Br]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/2006/12/03/smartphones-aonde-podemos-parar/</guid>
		<description><![CDATA[Tive o prazer de ter em minhas mãos um Nokia 6681 a alguns dias atrás, e tive uma idéia: Imagine uma touchscreen. Agora imagine uma touchscreen sem uma touch-screen =). Imagine poder &#8220;simular&#8221; uma touchscreen no ar usando apenas a camera do seu celular. Pode ser um brinquedo muito interessante não? Pensando nisso fiz um [...]]]></description>
			<content:encoded><![CDATA[<p>Tive o prazer de ter em minhas mãos um <a target="_blank" href="http://forum.nokia.com/devices/6681">Nokia 6681</a> a alguns dias atrás, e tive uma idéia:</p>
<p>Imagine uma <a href="http://en.wikipedia.org/wiki/Touchscreen">touchscreen</a>. Agora imagine uma touchscreen sem uma touch-screen =).<br />
Imagine poder &#8220;simular&#8221; uma touchscreen no ar usando apenas a camera do seu celular.</p>
<p>Pode ser um brinquedo muito interessante não?</p>
<p>Pensando nisso fiz um pequeno aplicativo em <a target="_blank" href="http://www.python.org">Python</a> (<a target="_blank" href="http://pys60.sf.net">pyS60</a>) que localiza um objeto e segue-o. Como se fosse um mouse pointer seguindo uma caneta.</p>
<p>Este aplicativo na verdade é apenas uma <em><a target="_blank" href="http://en.wikipedia.org/wiki/Proof_of_concept">prova de conceito</a></em> demonstrando que pode ser feito. Quando tivermos celulares melhores, algo como 1GHz (O 6681 possui um processador de 220Mhz), e cameras próprias para este tipo de aplicação, talvez tenhamos softwares e smartphones com este conceito em funcionamento.<br />
Seria muito bacana ver soluções assim aplicadas em desktops 3D.</p>
<p>Segue um vídeo de demonstração do aplicativo. Como disse, é apenas uma prova de conceito. Python ainda não é uma linguagem muito rápida quando estamos em celulares. Mas é muito mais fácil programar e testar do que se fosse feito em <a target="_blank" href="http://www.symbian.com/developer/">native symbian</a>, e ainda por cima posso programar em linux =).</p>
<p><sub style="color: #ff0000">Leitores de RSS podem ver o vídeo <a href="http://www.danilocesar.com/blog/2006/12/03/smartphones-aonde-podemos-parar/">aqui</a></sub></p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/sjm_g9MSYPc"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/sjm_g9MSYPc" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></p>
<h3>Código fonte</h3>
<p><code lang="python"><br />
##############################################<br />
# Produzido por Danilo Cesar [http://www.danilocesar.com]<br />
# Inspirado por:  http://www.bigbold.com/snippets/posts/show/636<br />
# Agradecimento a Enrico Batista<br />
##############################################<br />
from appuifw import *<br />
from graphics import Image<br />
import camera, e32<br />
#import miso    # don't dim the light</p>
<p>app.body = c = Canvas()</p>
<p>running = 1<br />
def quit():<br />
    global running<br />
    running = 0</p>
<p>app.exit_key_handler=quit<br />
app.title = u"O controle"<br />
app.screen = 'full'   # or 'normal', 'large'</p>
<p>def getdata(im, bpp=24):<br />
    import struct, zlib<br />
    im.save('D:\\pixels.png', bpp=bpp, compression='no')<br />
    f = open('D:\\pixels.png', 'rb')<br />
    f.seek(8 +8+13+4)<br />
    chunk = []<br />
    while 1:<br />
        n = struct.unpack('>L', f.read(4))[0]<br />
        if n==0: break  # 'IEND' chunk<br />
        f.read(4) # 'IDAT'<br />
        chunk.append(f.read(n))<br />
        f.read(4)   # CRC<br />
    f.close()<br />
    return zlib.decompress(''.join(chunk))  # '\x00' prefix each line</p>
<p>X = 80<br />
Y = 60<br />
while running:<br />
    if X < 0: X = 0<br />
    if Y< 0: Y = 0<br />
    if X > 160 - 30: X = 160 - 30<br />
    if Y > 120 - 30: Y = 120-30<br />
    im = camera.take_photo('RGB', (160,120))<br />
    im.rectangle([(X,Y),(X+30,Y+30)], 0xff0000)   # red outline<br />
    # check hot spot whether active<br />
    box = Image.new((30,30), 'L')  # gray scale<br />
    box.blit(im, (X,Y,X+30,Y+30))<br />
    data = getdata(box, 8)</p>
<p>    # check black<br />
    for i in range(len(data)):<br />
        if ord(data[i]) < 30 and ord(data[i]) > 0:<br />
            X += i%31 - 15<br />
            Y += int(i/31) - 15<br />
            break<br />
        # Posso passar de 3 em 3 pixels. O código fica mais rápido e a perda<br />
        # de precisão é insignificante<br />
        i = i + 2</p>
<p>    c.blit(im, (0,0), (8,12))   # show camera</p>
<p>    #miso.reset_inactivity_time()</p>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2006/12/03/smartphones-aonde-podemos-parar/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Facilidade para aplicações gráficas com J2ME</title>
		<link>http://www.danilocesar.com/blog/2006/12/02/facilidade-para-aplicacoes-graficas-com-j2me/</link>
		<comments>http://www.danilocesar.com/blog/2006/12/02/facilidade-para-aplicacoes-graficas-com-j2me/#comments</comments>
		<pubDate>Sat, 02 Dec 2006 14:55:10 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/2006/12/02/facilidade-para-aplicacoes-graficas-com-j2me/</guid>
		<description><![CDATA[Como já tinha comentado em alguns posts antigos meus, desenvolver aplicações JAVA para dispositivos móveis pode ser uma brincadeira muito bacana. Mas, se alguém tentou faze-lo, também deve ter percebido que desenvolver aplicativos gráficos com várias telas é uma tarefa extremamente chata.Neste post vou comentar o que achei do Netbeans e do add-on Netbeans Mobility [...]]]></description>
			<content:encoded><![CDATA[<p>Como já tinha comentado em <a href="http://www.danilocesar.com/blog/2006/01/11/iniciando-java-para-celulares/">alguns posts antigos meus</a>, desenvolver aplicações JAVA para dispositivos móveis pode ser uma brincadeira muito bacana. Mas, se alguém tentou faze-lo, também deve ter percebido que desenvolver aplicativos gráficos com várias telas é uma tarefa extremamente chata.Neste post vou comentar o que achei do Netbeans e do add-on Netbeans Mobility Pack.</p>
<p>Não sou nenhum especialista em JAVA, e não entro em discuções Eclipse x Netbeans, mas me agradou muito a facilidade com que se é possível criar aplicações gráficas J2ME com o mobility pack.</p>
<p><strong>Instalação</strong><br />
Primeiramente deve-se ter o Netbeans instalado. O Download pode ser feito <a href="http://www.netbeans.org">aqui</a>.<br />
Após isto deve-se obter o mobility pack, que pode ser pego <a href="http://www.netbeans.org/products/mobility">aqui</a></p>
<p>Com um sistema muito simples, é possível ligar telas entre si, programar botões&#8230; Basta clicar e arrastar!<br />
Vale a pena para quem quer programar em JAVA para dispositivos móveis.</p>
<p>Segue algumas screen shots.</p>
<p><img id="image48" alt="Criação para GUI's" src="http://www.danilocesar.com/blog/wp-content/uploads/2006/12/mobility-matisse.png" /></p>
<p>Criação de GUI&#8217;s</p>
<p><img id="image47" alt="Ligações de várias telas" src="http://www.danilocesar.com/blog/wp-content/uploads/2006/12/svg.png" /></p>
<p>Modelando telas</p>
<p><img id="image46" alt="Tela do Programa" src="http://www.danilocesar.com/blog/wp-content/uploads/2006/12/projetct.png" /></p>
<p>Interface do projeto</p>
<p><img id="image45" alt="Novo Projeto" src="http://www.danilocesar.com/blog/wp-content/uploads/2006/12/novo_projeto.png" /><br />
Opções para novo projeto</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2006/12/02/facilidade-para-aplicacoes-graficas-com-j2me/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GPRS e Bluetooth: Linux em qualquer lugar</title>
		<link>http://www.danilocesar.com/blog/2006/05/22/gprs-e-bluetooth-linux-em-qualquer-lugar/</link>
		<comments>http://www.danilocesar.com/blog/2006/05/22/gprs-e-bluetooth-linux-em-qualquer-lugar/#comments</comments>
		<pubDate>Mon, 22 May 2006 23:02:31 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Ubuntu-Br]]></category>

		<guid isPermaLink="false">http://www.danilocesar.com/blog/?p=24</guid>
		<description><![CDATA[Olá pessoal&#8230; Bom, depois de muito tempo sem postar aqui, estou voltando à ativa. Irei falar hoje sobre como configurar seu GPRS via Bluetooth no Linux&#8230; Instalando pacotes necessários Executei estas operações com a instalação simples do Debian Etch, um celular 6600 da TIM, e um dongle bluetooth simples, creio que ninguém terá problema em [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal&#8230;</p>
<p>Bom, depois de muito tempo sem postar aqui, estou voltando à ativa.<br />
Irei falar hoje sobre como configurar seu GPRS via Bluetooth no Linux&#8230;</p>
<h3>Instalando pacotes necessários</h3>
<p>Executei estas operações com a instalação simples do <a href="http://www.debian.org">Debian Etch</a>, um <a href="http://lista.mercadolivre.com.br/6600_OrderId_CAROS_CategID_7483">celular 6600</a> da <a href="http://www.timcelular.com.br">TIM</a>, e um <a href="http://lista.mercadolivre.com.br/bluetooth_CategID_7463">dongle bluetooth simples</a>, creio que ninguém terá problema em reproduzi-lo.</p>
<p><strong>Vamos por a mão na massa</strong><br />
<span id="more-24"></span><br />
Pacotes necessários:</p>
<ul>
<li>bluez-hcidump</li>
<li>bluez-utils</li>
<li>wvdial</li>
</ul>
<p>Para instalar estes pacotes, execute:</p>
<p><code><br />
apt-get install bluez-hcidump bluez-utils wvdial<br />
</code></p>
<p>Vamos ver se seu bluetooth está funcionando corretamente</p>
<p><code><br />
#hciconfig<br />
hci0:   Type: PCCARD<br />
BD Address: 00:04:76:C8:D3:E3 ACL MTU: 128:8  SCO MTU: 64:8<br />
UP RUNNING PSCAN ISCAN<br />
RX bytes:112 acl:0 sco:0 events:12 errors:0<br />
TX bytes:308 acl:0 sco:0 commands:12 errors:0<br />
</code></p>
<p>Tendo estes resultados corretos, vamos agora procurar pelo celular</p>
<p><code><br />
# hcitool scan<br />
Scanning ...<br />
00:02:EE:60:97:6E      Celular 6600<br />
</code></p>
<p>Anote este endereço, ele será muito utilizado futuramente</p>
<h3>Localizando serviços</h3>
<p>Vamos agora localizar os serviços disponíveis no celular, para isso:</p>
<p><code><br />
#sdptool browse 00:02:EE:60:97:6E<br />
Inquiring ...<br />
Searching for DUN on 00:02:EE:60:97:6E ...<br />
Service Name: Dial-up networking<br />
Service RecHandle: 0x10031<br />
<em><strong>Service Class ID List:<br />
"Dialup Networking" (0x1103)<br />
"Generic Networking" (0x1201)<br />
Protocol Descriptor List:<br />
"L2CAP" (0x0100)<br />
"RFCOMM" (0x0003)<br />
Channel: 1</strong></em><br />
Language Base Attr List:<br />
code_ISO639: 0x656e<br />
encoding:    0x6a<br />
base_offset: 0x100<br />
Profile Descriptor List:<br />
"Dialup Networking" (0x1103)<br />
Version: 0x0100<br />
</code></p>
<p>Anote o canal do serviço dial-up, iremos utiliza-lo em breve</p>
<h3>Continuando&#8230;</h3>
<p>Agora nós já possuímos 2 informações básicas, mas extremamente importantes:<br />
<strong>IP do celular: 00:02:EE:60:97:6E<br />
Chanel: 1<br />
</strong><br />
Em todos os lugares que elas aparecerem, você deve substituir para as que você identificou.</p>
<p>Agora iremos criar uma conexão ponte entre GPRS-Bluetooth-PC</p>
<p>Edite o arquivo/etc/bluetooth/rfcomm.conf  inserindo a seguinte informação:</p>
<p><code><br />
rfcomm0 {<br />
device 00:02:EE:60:97:6E;<br />
channel 1;<br />
comment 'BT DUN';<br />
}</code></p>
<p>E agora basta executar a conexão com o comando</p>
<p><code><br />
rfcomm bind rfcomm0<br />
</code></p>
<p>Para saber se tudo está funcionando corretamente, execute o comando:</p>
<p><code><br />
rfcomm<br />
</code></p>
<p>a resposta deve ser</p>
<p><code><br />
rfcomm0: 00:14:9A:75:87:2D channel 1 closed<br />
</code></p>
<h2>Configurando e executando a discagem</h2>
<p>Ao criar a pont rfcomm0, é criado um dispositivo em<em> /dev/rfcomm0</em> o identificando. Utilizaremos este dispositivo para fazer a conexão.<br />
Precisamos agora configurar o wvdial, edite o arquivo /etc/wvdial</p>
<p><code><br />
[Dialer gprs]<br />
Phone = *99***1# (Para a Tim-Sul. Outras operadoras o número pode ser outro)<br />
Username = seu_username<br />
Password = seu_password<br />
Modem = /dev/rfcomm0<br />
</code></p>
<p>Executando o comando <strong><em>&#8220;wvdial gprs&#8221;</em></strong> agora, você estará conectado à internet através do seu celular!</p>
<p>É isso, qualquer coisa estamos ai!<br />
[]s</p>
<p>Danilo</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danilocesar.com/blog/2006/05/22/gprs-e-bluetooth-linux-em-qualquer-lugar/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
