<?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>/tmp/santos &#187; hack</title>
	<atom:link href="http://www.tmpsantos.com.br/tag/hack/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tmpsantos.com.br</link>
	<description>Thiago Marcos P. Santos</description>
	<lastBuildDate>Fri, 06 Jan 2012 16:17:29 +0000</lastBuildDate>
	<language>pt</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Arduino Uno + Ubuntu + CMake</title>
		<link>http://www.tmpsantos.com.br/2010/12/arduino-uno-ubuntu-cmake/</link>
		<comments>http://www.tmpsantos.com.br/2010/12/arduino-uno-ubuntu-cmake/#comments</comments>
		<pubDate>Thu, 23 Dec 2010 12:26:12 +0000</pubDate>
		<dc:creator>Thiago</dc:creator>
				<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nerd]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[buildsystem]]></category>
		<category><![CDATA[cmake]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.tmpsantos.com.br/?p=728</guid>
		<description><![CDATA[Já faz uma semana que estou brincando meu Arduino Uno novo em folha. Infelizmente a versão Maverick (10.10) do Ubuntu vem com um SDK do Arduino que é incompatível; parece que congelaram a versão estável do pacote pouco antes do lançamento do Uno. A primeira coisa que fiz foi atualizar meu SDK para os pacotes [...]]]></description>
			<content:encoded><![CDATA[<p>Já faz uma semana que estou brincando meu Arduino Uno novo em folha. Infelizmente a versão Maverick (10.10) do Ubuntu vem com um SDK do Arduino que é <a href="https://bugs.launchpad.net/maverick-backports/+bug/666849">incompatível</a>; parece que congelaram a versão estável do pacote pouco antes do lançamento do Uno. A primeira coisa que fiz foi atualizar meu SDK para os pacotes <span style="text-decoration: line-through">instáveis</span> do Natty (11.04). Basta baixar e instalar manualmente do <a href="http://packages.ubunut.com/search?keywords=arduino&amp;searchon=names&amp;suite=natty&amp;section=all">site do Ubuntu</a> (lembre-se de atualizar tanto o pacote <strong>arduino</strong> quanto o <strong>arduino-core</strong>).</p>
<p><a href="http://www.tmpsantos.com.br/wp-content/uploads/2010/12/arduino.jpeg"><img class="size-full wp-image-734 aligncenter" src="http://www.tmpsantos.com.br/wp-content/uploads/2010/12/arduino.jpeg" alt="" width="225" height="225" /></a>A IDE é bem amigável para os programadores casuais e permite escrever programas simples sem muito esforço. Ao primeiro olhar, pode parecer que uma versão não padrão de C/C++ é usada, mas isto se deve ao fato da IDE adicionar headers e a função main() para você automaticamente no momento em que você clica em <strong>Upload</strong>. Me parece que você pode ter apenas um arquivo de código fonte por projeto, o que é razoável para coisas não muito complexas.</p>
<p style="text-align: left"><a href="http://www.tmpsantos.com.br/wp-content/uploads/2010/12/arduino_ide.png"><img class="aligncenter size-medium wp-image-737" style="border: 10px solid white" src="http://www.tmpsantos.com.br/wp-content/uploads/2010/12/arduino_ide-246x300.png" alt="Arduino IDE" width="246" height="300" /></a>Para aqueles que desejam desenvolver de maneira tradicional usando linha de comando, eu criei este template baseado em <a href="http://www.cmake.org/">CMake</a> para o Arduino Uno. Ele foi feito de tal forma que possibilita adicionar suporte a outros modelos de Arduino apenas criando um novo arquivo com as configurações do hardware. Não há restrição de uso deste template em outras distribuições Linux (nem mesmo em outros sistemas operacionais, uma vez que o CMake roda em Mac e Windows também), mas claro que modificações podem ser necessárias. Patches são sempre bem-vindos. <img src='http://www.tmpsantos.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Usando o template CMake para Arduino</h2>
<p style="text-align: left">Você vai precisar, claro, dos pacotes do <strong>cmake</strong> instalados e uma versão compatível do SDK do Arduino (veja acima como resolver esta questão Ubuntu Maverick x Uno). Apenas o pacote <strong>arduino-core</strong> é necessário para rodar este template.</p>
<p style="text-align: left">Faça download da última versão aqui:</p>
<p style="text-align: left"><a href="http://www.tmpsantos.com.br/cgi-bin/gitweb.cgi?p=arduino_cmake.git;a=snapshot;h=HEAD;sf=tgz">arduino_cmake.tar.gz</a></p>
<p style="text-align: left">Esta é uma versão modificada do exemplo clássico chamado <a href="http://www.arduino.cc/en/Tutorial/Blink">Blink</a>, convertido em C/C++ padrão (é estranho o fato das bibliotecas do Arduino serem escritas em uma mistura de C e C++ e não apenas C). Este exemplo é bacana porque lhe dá uma resposta visual sem ser necessário espetar algum componente extra na placa. Parece que quase todas as vesões do Arduino possuem um LED embutido ligado ao pino 13. Como o cmake não é tão conhecido (o que é uma pena por ser uma ferramente excelente), segue as instruções de como compilar o exemplo:</p>
<pre>$ mkdir build
$ cd build
$ cmake ..
$ make</pre>
<p style="text-align: left">Você pode exportar a variaǘel de ambiente ARDUINO_PORT ou editar o arquivo CMakeLists.txt para alterar a porta no qual seu dispositivo está conectado. Provavelmente você não vai precisar mexer nisso se estiver usando o combo Ubuntu Maverick e Arduino Uno.</p>
<p style="text-align: left">Dois targets extras foram adicionados ao Makefile para tornar as coisas mais fáceis:</p>
<ul>
<li><strong>make flash</strong> &#8211; Vai &#8220;flashar&#8221; (gravar o software) na hardware conectado em ARDUINO_PORT.</li>
<li><strong>make reset</strong> &#8211; Reinicia o hardware (mais ou menos o mesmo que apertar o botão de reset na placa).</li>
</ul>
<h2><strong>Dicas</strong><strong> </strong></h2>
<p>Minha forma predileta de depuração de software é usando printf(). A versão modificada do Blink que está sendo usada no template contém algumas mensagens de debug nesta forma. Use o <strong>minicom</strong> para ver estas mensagens pelo terminal:</p>
<pre>$ minicom -b 115200 -D /dev/ttyACM0</pre>
<p>Você precisa sair do minicom antes de &#8220;flashar&#8221; o hardware novamente. Faça isso usando CTRL+A e depois X.</p>
<h2><strong>Aviso</strong><strong> </strong></h2>
<p>Ao seguir este tutorial e usar o template do buildsystem, você pode potencialmente destruir seu Arduino e transformá-lo em um peso de papel (não muito bom, uma vez que ele é bem leve). Você está assumindo este risco, eu não me responsabilizo por nada.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tmpsantos.com.br/2010/12/arduino-uno-ubuntu-cmake/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Resolvendo o problema do ć corretamente</title>
		<link>http://www.tmpsantos.com.br/2009/11/resolvendo-o-problema-do-c-corretamente/</link>
		<comments>http://www.tmpsantos.com.br/2009/11/resolvendo-o-problema-do-c-corretamente/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 05:49:13 +0000</pubDate>
		<dc:creator>Thiago</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[nerd]]></category>
		<category><![CDATA[pt_br]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.tmpsantos.com.br/?p=505</guid>
		<description><![CDATA[Uma nova instalação de uma distro Linux em inglês e o velho problema do &#8220;cê acentuado&#8221; no lugar do &#8220;cê cedilha&#8221; (ou &#8220;cê cedilhado&#8221;, como preferir). Já vi diversas soluções paliativas para este problema: Adicionar o &#8220;Character Pallete&#8221; no painel do Gnome e clicar no ç sempre quando quiser inserir o mesmo. Copiar e colar [...]]]></description>
			<content:encoded><![CDATA[<p>Uma nova instalação de uma distro Linux em inglês e o velho problema do &#8220;cê acentuado&#8221; no lugar do &#8220;cê cedilha&#8221; (ou &#8220;cê cedilhado&#8221;, como preferir). Já vi diversas soluções paliativas para este problema:</p>
<ul>
<li>Adicionar o &#8220;Character Pallete&#8221; no painel do Gnome e clicar no <strong>ç</strong> sempre quando quiser inserir o mesmo.</li>
<li>Copiar e colar o <strong>ç</strong> de algum texto qualquer.</li>
<li>Instalar um corretor ortográfico e usá-lo sempre que digitar uma palavra com <strong>ç</strong>.</li>
<li>Alterar configurações dos módulos Input Method do GTK (gtk.immodules).</li>
</ul>
<p>As três primeiras &#8220;técnicas&#8221; dispensam comentários.  A quarta é um hack que resolve o problema apenas para aplicações que usam GTK, como o Gnome. O sujeito acaba recorrendo às soluções toscas apresentadas (ou alguma variação ainda mais criativa) quando for usar programas feitos em Qt, como por exemplo o Skype.</p>
<p>O famigerado <strong>ć</strong> é o preço de se instalar uma distro em inglês com um teclado intl. É como dizer ao instalador do sistema que você quer seu desktop todo em inglês mas vai escrever em português, algo no mínimo incomum. A solução é dizer que ao ambiente em qual idioma você quer escrever.</p>
<p>No Ubuntu, instale o pacote de suporte a escrita em português:</p>
<pre>sudo apt-get install language-support-writing-pt</pre>
<p>Edite o arquivo de definições do ambiente:</p>
<pre>sudo vim /etc/environment</pre>
<p>Adicione a linha abaixo:</p>
<pre>LC_CTYPE="pt_BR.UTF-8"</pre>
<p>Feche o X e logue novamente. Caso não funcione, ultilize o comando <strong>locale</strong> para certificar-se que a variável LC_CTYPE foi alterada. É bem provável que esta dica possa ser adaptada para qualquer outra distro que apresente o mesmo problema.</p>
<p>[<strong>Atualização 18/11/09</strong>]: Vejo que o hack mais popular, pelos comentários e pelo feedback de colegas de trabalho é o &#8220;<strong>Alt + ,</strong>&#8220;. Considero melhor que todos os outros que citei, mas ainda fico com a solução definitiva/correta.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tmpsantos.com.br/2009/11/resolvendo-o-problema-do-c-corretamente/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Acer Aspire One 751h 11.6&#8243;</title>
		<link>http://www.tmpsantos.com.br/2009/11/acer-aspire-one-751h/</link>
		<comments>http://www.tmpsantos.com.br/2009/11/acer-aspire-one-751h/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 19:01:21 +0000</pubDate>
		<dc:creator>Thiago</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[nerd]]></category>
		<category><![CDATA[pt_br]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.tmpsantos.com.br/?p=472</guid>
		<description><![CDATA[Adquiri recentemente um netbook Acer Aspire One 751h. As especificações dele são muito boas e o preço praticado em Manaus é bem atrativo. Quando comprei estava sendo vendido por R$ 990,00 o modelo de 250 GB de disco rígido e 2 GB de memória RAM na PCI Informática. Prós: Tela de 11.6&#8243; com uma imagem [...]]]></description>
			<content:encoded><![CDATA[<p>Adquiri recentemente um netbook Acer Aspire One 751h. As <a href="http://techreport.com/articles.x/17249">especificações</a> dele são muito boas e o preço praticado em Manaus é bem atrativo. Quando comprei estava sendo vendido por R$ 990,00 o modelo de 250 GB de disco rígido e 2 GB de memória RAM na <a href="http://www.pciinformatica.com">PCI Informática</a>.</p>
<p>Prós:</p>
<ul>
<li>Tela de 11.6&#8243; com uma imagem de boa qualidade. A resolução widescreen máxima suportada é 1366&#215;768.<span style="color: #ffffff;font-size: x-small"><br />
</span></li>
<li>Teclado QWERTY americano tamanho padrão. Fiz uma comparação com um teclado de um desktop da Dell e incrivelmente tem a mesma distância de Q à P, apesar de não aparentar. Achei digitar nele tão bom quanto no notebook de 15&#8243; que uso no trabalho.</li>
<li>Boa sensibilidade a luz da câmera VGA integrada.</li>
</ul>
<p>Contras:</p>
<ul>
<li>Os modelos aqui vendidos não têm Bluetooth integrado, o que foi resolvido com um nano dongle, destes genéricos que se compra por R$ 5,00 no <a href="http://www.dealextreme.com/details.dx/sku.11866">DealExtreme</a>.</li>
<li>Também não achei o modelo com o processador de 1.66 GHz nesta configuração. Só tinha com o <a href="http://ark.intel.com/Product.aspx?id=35466">Atom Z520</a> que é de 1.33 GHz. Até o momento o desempenho está satisfatório, mas nem vou arriscar fazer um build do Qt.</li>
<li>Para quem usa Windows, vêm com o Vista cujo o desempenho é terrível, como pude constatar no pouco tempo em que fiquei com ele instalado. O mesmo já foi devidamente substituído pelo Ubuntu Karmic. Tentei usar o port LPIA (Low Power on Intel Archtecture, ou seja, otimizado para o processador Atom) mas estava muito instável. Nem o instalador funcionava direito, então me irritei e fui de i386 mesmo.</li>
<li>Para quem usa Linux, a placa de vídeo Intel GMA500 (codenome poulsbo) é um problema. Trata-se de uma placa cujo o desenvolvimento foi terceirizado. A Intel teima em não prover o suporte adequado aos usuários da placa, mesmo sendo dela a responsabilidade sobre o produto. O drivers proprietários para Linux não utilizam todo o potencial do hardware, mas não há alternativa livre com desempenho equiparável. Sem este driver, não funcionou a saída VGA e não consegui a resolução máxima.</li>
</ul>
<p>Outros:</p>
<p>[<a href="http://www.happyassassin.net/2009/01/30/intel-gma-500-poulsbo-graphics-on-linux-a-precise-and-comprehensive-summary-as-to-why-youre-screwed/">1</a>] Mais detalhes sobre porque evitar uma Intel GMA500. Meu feedback geral do netbook é positivo, mas o futuro dos drivers de vídeo é preocupante.</p>
<p>[<a href="https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-psb/+bug/330906/comments/44">2</a>] Instalar o driver proprietário no Karmic foi relativamente fácil. Bastou seguir esta sugestão que li no bugtracking do Ubuntu.</p>
<p>[<a href="http://support.acer.com/">3</a>] Já existe um upgrade para a BIOS datado de 05/10/2009. Não atualizei porque a Acer não divulgou o &#8220;release notes&#8221;. Fiquei com medo de mexer em time que está ganhando. <img src='http://www.tmpsantos.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>[<strong>Atualização 14/11/09</strong>]: O futuro dos drivers para Linux passou do estado preocupante para <a href="http://www.phoronix.com/scan.php?page=news_item&amp;px=NzY2MA">animador</a>. Agradeço ao <a href="http://savago.wordpress.com/">Adenilson</a> por me dar esperanças de jogar um Counter Strike no meu netbook.</p>
<p>[<strong>Atualização 30/05/10</strong>]: O Ubuntu Lucid, última versão no momento, tem um <a href="https://wiki.ubuntu.com/HardwareSupportComponentsVideoCardsPoulsbo">repositório PPA</a> que está suportando a GMA500 até bem. A distro <a href="http://www.jolicloud.com/">Jolicloud </a>é a única a ter suporte oficial a este netbook.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tmpsantos.com.br/2009/11/acer-aspire-one-751h/feed/</wfw:commentRss>
		<slash:comments>85</slash:comments>
		</item>
	</channel>
</rss>

