<?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>Leandro A. F. Pereira &#187; geek</title>
	<atom:link href="http://labs.hardinfo.org/mindcrisis/category/geek/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.hardinfo.org/mindcrisis</link>
	<description>geek em treinamento</description>
	<lastBuildDate>Fri, 13 Aug 2010 20:25:59 +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>Eve: EFL Web Browser</title>
		<link>http://labs.hardinfo.org/mindcrisis/2010/08/12/eve-efl-web-browser/</link>
		<comments>http://labs.hardinfo.org/mindcrisis/2010/08/12/eve-efl-web-browser/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 22:18:31 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[profusion]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://labs.hardinfo.org/mindcrisis/?p=394</guid>
		<description><![CDATA[I&#8217;ve been working on the past few weeks on Eve, an web browser that uses WebKit-EFL. This browser is a complete rewrite of the old Eve web browser, and is meant to be used on mobile devices. It is currently pretty complete, including tabs, bookmarks, and history. It also looks good to boot (thanks Marina!), [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on the past few weeks on Eve, an web browser that uses WebKit-EFL.</p>
<p>This browser is a complete rewrite of the old Eve web browser, and is meant to be used on mobile devices. It is currently pretty complete, including tabs, bookmarks, and history. It also looks good to boot (thanks Marina!), as it is based on the Efenniht theme (click to open a larger version):</p>
<p style="text-align: center;"><a href="http://labs.hardinfo.org/mindcrisis/wp-content/uploads/2010/08/eve-browsing.png"><img title="eve-browsing" src="http://labs.hardinfo.org/mindcrisis/wp-content/uploads/2010/08/eve-browsing-150x150.png" alt="" width="150" height="150" /></a> <a href="http://labs.hardinfo.org/mindcrisis/wp-content/uploads/2010/08/eve-tabs.png"><img class="alignnone size-thumbnail wp-image-399" title="eve-tabs" src="http://labs.hardinfo.org/mindcrisis/wp-content/uploads/2010/08/eve-tabs-150x150.png" alt="" width="150" height="150" /></a></p>
<p style="text-align: center;"><a href="http://labs.hardinfo.org/mindcrisis/wp-content/uploads/2010/08/eve-tabs.png"></a><a href="http://labs.hardinfo.org/mindcrisis/wp-content/uploads/2010/08/eve-history-1.png"><img class="alignnone size-thumbnail wp-image-397" title="eve-history-1" src="http://labs.hardinfo.org/mindcrisis/wp-content/uploads/2010/08/eve-history-1-150x150.png" alt="" width="150" height="150" /></a> <a href="http://labs.hardinfo.org/mindcrisis/wp-content/uploads/2010/08/eve-history-2.png"><img class="alignnone size-thumbnail wp-image-398" title="eve-history-2" src="http://labs.hardinfo.org/mindcrisis/wp-content/uploads/2010/08/eve-history-2-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Screenshots won&#8217;t make it any justice though, as Eve is capable of some nice and smooth animations. I&#8217;m too lazy to make a screencast, so you&#8217;ll have to download and run it locally to see the interface at work <img src='http://labs.hardinfo.org/mindcrisis/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So Enlightenment users can benefit from this project, I&#8217;ve committed it to the Enlightenment SVN repository (on /trunk/eve). Also, there are some things that I didn&#8217;t have time to implement, so open sourcing this seems to be a nice idea: so, if you&#8217;d like to dive into the code, there are a few things that I&#8217;d like to have implemented on the browser&#8230; bug me on IRC (acidx @ freenode).</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hardinfo.org/mindcrisis/2010/08/12/eve-efl-web-browser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebKit Commiter</title>
		<link>http://labs.hardinfo.org/mindcrisis/2010/06/18/webkit-commiter/</link>
		<comments>http://labs.hardinfo.org/mindcrisis/2010/06/18/webkit-commiter/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 21:46:47 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[profusion]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://labs.hardinfo.org/mindcrisis/?p=391</guid>
		<description><![CDATA[I&#8217;ve been recently nominated as a WebKit committer after landing more than 60 patches to upstream the EFL port. My account was set up yesterday, and I&#8217;ve already committed some build fixes that would otherwise get dusty on the bug tracker. This will eventually speed up the maintenance of the EFL port, as build fixes do not [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been recently nominated as a WebKit committer after landing more than 60 patches to upstream the EFL port. My account was set up yesterday, and I&#8217;ve already committed some build fixes that would otherwise get dusty on the bug tracker.</p>
<p>This will eventually speed up the maintenance of the EFL port, as build fixes do not require to be reviewed by someone else, and thus don&#8217;t require the use of the usually crowded commit queue.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hardinfo.org/mindcrisis/2010/06/18/webkit-commiter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Picolé</title>
		<link>http://labs.hardinfo.org/mindcrisis/2010/05/03/picole/</link>
		<comments>http://labs.hardinfo.org/mindcrisis/2010/05/03/picole/#comments</comments>
		<pubDate>Mon, 03 May 2010 18:35:55 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[picolé]]></category>
		<category><![CDATA[profusion]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://labs.hardinfo.org/mindcrisis/?p=380</guid>
		<description><![CDATA[While working with WebKit at ProFUSION, this famous XKCD strip couldn&#8217;t be more descriptive: There are various ways to get a monster like WebKit to compile faster, such as using ccache or icecream. CCache is nice because I&#8217;m working with the build system, so I have to rebuild the whole thing often, even if I [...]]]></description>
			<content:encoded><![CDATA[<p>While working with <a href="http://webkit.org">WebKit</a> at <a href="http://profusion.mobi">ProFUSION</a>, this famous XKCD strip couldn&#8217;t be more descriptive:</p>
<p style="text-align: center;"><img class="aligncenter" src="http://imgs.xkcd.com/comics/compiling.png" alt="XKCD: Compiling!" /></p>
<p>There are various ways to get a monster like WebKit to compile faster, such as using ccache or icecream.</p>
<p><a href="http://ccache.samba.org/">CCache</a> is nice because I&#8217;m working with the build system, so I have to rebuild the whole thing often, even if I didn&#8217;t change a single line of code: ccache saves the object files somewhere in your home and only copies them instead of compiling it again, if there were no changes to the source code.</p>
<p>Icecream is also nice. Forked from <a href="http://distcc.samba.org/">distcc</a>, icecream allows to distribute the compilation to other computers: add more nodes and the compilation goes faster. Compiling the kernel was never this fun before I&#8217;ve used this thing. There are some Gentoo users at ProFUSION that probably enjoys this thing as well.</p>
<p>And even though Icecream offers a nice program called Icemon with some nice visualization options, it is written for Qt3 &#8212; it works with Qt4 using the compatibility libraries &#8212; and crashes often. Since I was too lazy to debug this program, I&#8217;ve decided to write my own.</p>
<p>Called Picolé, it is an web-based monitor program. It felt natural to do a web-based program because I was working with WebKit; also, it can be installed on a server and there is no need for specialized client applications anymore. And since I&#8217;ve been longing to create something using AJAX for some time, this was the perfect opportunity.</p>
<p>The user interface is pretty simple. It offers two views: Hosts and Jobs.</p>
<p style="text-align: center;"><a href="http://labs.hardinfo.org/mindcrisis/wp-content/uploads/2010/05/picole.png"><img class="size-medium wp-image-385 aligncenter" title="picole" src="http://labs.hardinfo.org/mindcrisis/wp-content/uploads/2010/05/picole-300x196.png" alt="" width="300" height="196" /></a><br />
Picolé&#8217;s main interface (click to enlarge)</p>
<p>The hosts view can display all the Icecream nodes in the network either in a table, or by using a star view, similar to the Icemon one.</p>
<p>The jobs view displays all the jobs being processed right now, and tells the language, file name, node that asked the compilation and node where the compilation is being performed.</p>
<p>The server is written in Python (using <a href="http://webpy.org/">webpy</a>) and it communicates through pipes with a program, written in C++, which communicates with the Icecream&#8217;s scheduler. The reason I&#8217;m not using a single programming language is that I didn&#8217;t want to rewrite the C++ part in Python, because I am using the same classes used by the Icemon program.</p>
<p>I got permission to distribute Picolé&#8217;s source code, but I need to clean it up and fix some stability problems. I&#8217;ll let you know whenever this happens.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hardinfo.org/mindcrisis/2010/05/03/picole/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Help Viewer</title>
		<link>http://labs.hardinfo.org/mindcrisis/2009/08/01/help-viewer/</link>
		<comments>http://labs.hardinfo.org/mindcrisis/2009/08/01/help-viewer/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 17:07:53 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://labs.hardinfo.org/mindcrisis/?p=373</guid>
		<description><![CDATA[Uma das funcionalidades que os usuários do HardInfo sempre pedem é a documentação online. Nem sempre é possível abrir um browser e mostrar a documentação, mas é o que está sendo feito hoje. Existem várias soluções para este problema, mas eu preferi fazer como frequentemente faço quando não estou satisfeito com as soluções que encontro: [...]]]></description>
			<content:encoded><![CDATA[<p>Uma das funcionalidades que os usuários do HardInfo sempre pedem é a documentação <em>online</em>. Nem sempre é possível abrir um <em>browser</em> e mostrar a documentação, mas é o que está sendo feito hoje. Existem várias soluções para este problema, mas eu preferi fazer como frequentemente faço quando não estou satisfeito com as <a href="http://live.gnome.org/Yelp">soluções que encontro</a>: reinventando a roda.</p>
<p style="text-align: center;"><img class="aligncenter" title="Help Viewer" src="http://labs.hardinfo.org/help-viewer.png" alt="" width="508" height="426" /></p>
<p>Com pequenas alterações no <em>egg-markdown</em> (<a href="git://git.gnome.org/gnome-packagekit">encontrado nos fontes</a> do <a href="http://www.packagekit.org/">GNOME PackageKit</a>), e uma versão estendida do <em>GtkTextView</em> que suporta <em>hyperlinks</em>, comecei a fazer um leitor de documentação leve, com o intuito de ser incluso em aplicações GTK+. Existem alguns problemas a serem resolvidos, entretanto:</p>
<ul>
<li>Inclusão de imagens;</li>
<li>Suporte à internacionalização;</li>
<li>Encontrar uma maneira eficiente de armazenar um arquivo de ajuda;</li>
<li>Índice para busca textual (a princípio, somente para cabeçalhos nível 1 e 2).</li>
</ul>
<p>Resolver o primeiro vai dar um bocado de trabalho, pois estender o <em>markup</em> do Pango é <strong>muito</strong> chato. Os <em>links</em> são implementados de uma forma meio <em>hackish</em> (usando atributos geralmente não usados do tag<em> &lt;span&gt;</em>) e eu não queria ter que implementar imagens dessa forma também.</p>
<p>Para os curiosos e interessados em ajudar a terminar a implementação, o código está disponível no <a href="http://github.com/lpereira/help-viewer">github</a>. <em>Forks</em> e <em>pull requests</em> são aceitos.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hardinfo.org/mindcrisis/2009/08/01/help-viewer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HardInfo 0.5.1</title>
		<link>http://labs.hardinfo.org/mindcrisis/2009/04/20/hardinfo-051/</link>
		<comments>http://labs.hardinfo.org/mindcrisis/2009/04/20/hardinfo-051/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 20:28:15 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://labs.hardinfo.org/mindcrisis/?p=367</guid>
		<description><![CDATA[Esqueci de avisar aqui, mas no dia 6 de Abril eu lancei a versão 0.5.1 do HardInfo. Demorei tanto para lançar esta versão que, ao invés de numerá-la 0.4.3, resolvi numerá-la de 0.5. As novidades já anunciadas estão obviamente inclusas, mas existem algumas outras: Adição de novos benchmarks (Transformada Rápida de Fourier, N-Rainhas e Junção [...]]]></description>
			<content:encoded><![CDATA[<p>Esqueci de avisar aqui, mas no dia 6 de Abril eu lancei a versão 0.5.1 do HardInfo.</p>
<p>Demorei tanto para lançar esta versão que, ao invés de numerá-la 0.4.3, resolvi numerá-la de 0.5. As novidades <a href="#mce_temp_url#">já anunciadas</a> estão obviamente inclusas, mas existem algumas outras:</p>
<ul>
<li>Adição de novos benchmarks (Transformada Rápida de Fourier, N-Rainhas e Junção dos testes de cálculo de MD5 e SHA-1 em um único benchmark);</li>
<li>Suporte para UPS da APC (através do apcupsd);</li>
<li>Exibe informações sobre cada cache do processador;</li>
<li>Porte para libsoup 2.4;</li>
<li>Atualização da lista de fabricantes via rede;</li>
<li>Correções de defeitos e vazamentos de memória.</li>
</ul>
<p>Como sempre, todo o código fonte pode ser obtido no <a href="http://www.hardinfo.org">site</a> ou diretamente do <a href="https://github.com/lpereira/hardinfo/tree">GitHub</a>. Algumas distribuições já empacotaram esta versão (procure no gerenciador de pacote delas). Infelizmente, não consegui lançar esta versão a tempo dela aparecer no Ubuntu 9.04; mas pacotes prontos são distribuídos no <a href="http://www.getdeb.net/app/Hardinfo">GetDeb</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hardinfo.org/mindcrisis/2009/04/20/hardinfo-051/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HardInfo 0.4.3 (beta)</title>
		<link>http://labs.hardinfo.org/mindcrisis/2008/12/30/hardinfo-043-beta/</link>
		<comments>http://labs.hardinfo.org/mindcrisis/2008/12/30/hardinfo-043-beta/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 17:11:16 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://labs.hardinfo.org/mindcrisis/?p=365</guid>
		<description><![CDATA[Fiz o upload do AutoPackage do beta do HardInfo 0.4.3. Esta versão inclui algumas novidades: Benchmarks com suporte a processadores multicore Suporte à interfaces de rede sem fio (mostra coisas como SSID, potência de transmissão, etc) Suporte à DMI (mostra o fabricante da placa mãe, etc) Exibição da alocação de recursos de I/O (portas de [...]]]></description>
			<content:encoded><![CDATA[<p>Fiz o upload do AutoPackage do beta do HardInfo 0.4.3. Esta versão inclui algumas novidades:</p>
<ul>
<li>Benchmarks com suporte a processadores multicore</li>
<li>Suporte à interfaces de rede sem fio (mostra coisas como SSID, potência de transmissão, etc)</li>
<li>Suporte à DMI (mostra o fabricante da placa mãe, etc)</li>
<li>Exibição da alocação de recursos de I/O (portas de I/O, memória e DMA)</li>
<li>Suporte à nova interface de USB do kernel 2.6</li>
<li>Polimento da interface gráfica</li>
<li>Melhorias na estabilidade, consumo de memória, etc</li>
</ul>
<p><a href="http://labs.hardinfo.org/beta/">Está disponível aqui</a>, por enquanto apenas para x86. Agradeço quem puder testar e comentar.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hardinfo.org/mindcrisis/2008/12/30/hardinfo-043-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laço &#8220;for&#8221; paralelo em C</title>
		<link>http://labs.hardinfo.org/mindcrisis/2008/11/01/laco-for-paralelo-em-c/</link>
		<comments>http://labs.hardinfo.org/mindcrisis/2008/11/01/laco-for-paralelo-em-c/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 15:06:43 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://labs.hardinfo.org/mindcrisis/?p=361</guid>
		<description><![CDATA[A OpenMP é fantástica: poderosa, fácil de usar e há suporte para vários compiladores. Entretanto, nem sempre é possível (ou desejável) usá-la; eu não gosto de aumentar o número de dependências dos meus programas, portanto tento encontrar soluções &#8220;feitas em casa&#8221; quando possível. Reinventar a roda também é uma boa maneira para aprender como as [...]]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www.openmp.org">OpenMP</a> é fantástica: poderosa, fácil de usar e há suporte para vários compiladores. Entretanto, nem sempre é possível (ou desejável) usá-la; eu não gosto de aumentar o número de dependências dos meus programas, portanto tento encontrar soluções &#8220;feitas em casa&#8221; quando possível. Reinventar a roda também é uma boa maneira para aprender como as coisas funcionam.</p>
<p>Uma das funcionalidades que os usuários do HardInfo mais pedem é a realização de <em>benchmarks</em> levando em consideração máquinas multiprocessadas. Somente depois de conhecer o modelo <a href="https://computing.llnl.gov/tutorials/openMP/#ProgrammingModel"><em>fork-join</em></a> que a OpenMP usa, que eu consegui implementar isso no HardInfo. Para quem não conhece esse modelo, é bem simples: em pontos paralelizáveis de seu código, <em>n </em>linhas de execução são criadas (aqui, <em>n</em> equivale ao número de núcleos) &#8212; e a execução linear do programa só retoma após um ponto de encontro. A criação das <em>threads </em>é o &#8220;fork&#8221;, e o ponto de encontro é o &#8220;join&#8221;.</p>
<p>A OpenMP facilita a vida provendo alguns <em>#pragmas</em>: o compilador com suporte a ela, então, gera o código responsável pela criação das <em>threads</em> e pelo ponto de encontro. Um desses <em>pragmas</em> é o &#8220;<em>parallel for</em>&#8220;, que divide um laço ao estilo do <em>for</em> em <em>n</em> linhas distintas. Essa construção tem suas limitações &#8212; só deve ser usada em laços <em>vanilla</em>: aqueles que apenas contam de um número até outro (a linguagem C permite fazer praticamente qualquer coisa num <em>for</em> e isso não é suportado pela OpenMP).</p>
<p>Como os <em>benchmarks</em> do HardInfo são geralmente feitos dentro de um laço <em>for</em>, repetindo testes pequenos várias vezes e contando o tempo (o que causa alguns problemas de precisão, mas ainda não consegui encontrar maneira melhor), recriar essa construção do OpenMP foi a saída mais natural.</p>
<p>A recriação foi trivial: o modelo é simples e eu tenho como obter o número de núcleos tranquilamente (afinal, o HardInfo é um programa de informações de <em>hardware</em>). Como a implementação foi feita sem requerer suporte do compilador (apenas usando funções), há a necessidade da criação de uma função, e da substituição do laço por uma chamada de função.</p>
<p>Por exemplo, se houvesse o interesse em paralelizar o seguinte código:</p>
<p><code>for (i = 0; i &lt; 1000; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;vetor[i] = i * 3;<br />
}</code></p>
<p>Eu criaria uma função:</p>
<p><code>void preenche_vetor(guint start, guint end, gpointer data)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;int *vetor = (int *)data;<br />
&nbsp;&nbsp;&nbsp;&nbsp;for (i = start; i &lt; end; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vetor[i] = i * 3;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</code></p>
<p>E substituiria o laço por uma chamada ao paralelizador de <em>for</em>:</p>
<p><code>parallel_for(preenche_vetor, 0, 1000, vetor);</code></p>
<p>A função <em>parallel_for</em> então determinaria o número de núcleos, criaria uma linha de execução para cada elas, e se encarregaria de esperar pelo término de todas elas. Como bônus, ela também retorna o tempo gasto desde a criação das <em>threads</em> até o término de todas elas &#8212; ignorados neste exemplo.</p>
<p>Paralelizei dois <em>benchmarks</em> no HardInfo: o de compressão/descompressão com a zlib, e o <em>ray tracer</em>. O ganho, em um Pentium Dual Core (E2160), foi da ordem de 1,86x mais rápido no caso da zlib, e 1,41x no caso do <em>ray tracer</em>.</p>
<p>O código está <a href="http://github.com/lpereira/hardinfo/tree/master/hardinfo2/benchmark.c">disponível no repositório git mestre do HardInfo</a>, disponível na minha conta do github.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hardinfo.org/mindcrisis/2008/11/01/laco-for-paralelo-em-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>D945GCLF: Impressões</title>
		<link>http://labs.hardinfo.org/mindcrisis/2008/10/08/d945gclf-impressoes/</link>
		<comments>http://labs.hardinfo.org/mindcrisis/2008/10/08/d945gclf-impressoes/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 21:51:13 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://labs.hardinfo.org/mindcrisis/?p=356</guid>
		<description><![CDATA[Depois de realmente testar a D945GCLF, posso falar sobre a placa. Usei esta placa como meu computador pessoal durante uma semana. Usei o Leopard como sistema operacional. Obviamente que meu Macbook (com um Core 2 Duo de 2.16GHz) come com farinha o Atom de 1.6GHz. Mas a plaquinha se mostrou valente e, para tarefas básicas [...]]]></description>
			<content:encoded><![CDATA[<p>Depois de realmente testar a D945GCLF, posso falar sobre a placa. Usei esta placa como meu computador pessoal durante uma semana. Usei o Leopard como sistema operacional.</p>
<p>Obviamente que meu Macbook (com um Core 2 Duo de 2.16GHz) come com farinha o Atom de 1.6GHz. Mas a plaquinha se mostrou valente e, para tarefas básicas &#8212; que, no meu caso, inclui não somente a internetada básica de todo dia, mas programação leve, edição de textos, &#8212; eu diria que é mais que o suficiente. O único porém, é que coisas como vídeos no YouTube (e outros sites de vídeo) dão uma certa engasgaada&#8230; mas video em Flash judia até mesmo o C2D, então é perfeitamente perdoável.</p>
<p>Por exemplo: do boot loader até o desktop do Leopard, são apenas 28 segundos. É fato que a instalação do sistema no meu Macbook é mais antiga, mas ela demora pelo menos o triplo disso. E os discos e o chipset das duas máquinas são equivalentes.</p>
<p>Enfim: quem quiser um Macintosh barato, é uma opção legal. Por US$79 (mesmo com o dólar disparado como está), é um excelente negócio. Mas quem quiser um computador secundário (como máquina de downloads, servidor de arquivos caseiro, ou simplesmente para as tarefas do dia-dia), que consome pouco e é muito silencioso, é uma opção tão boa quanto.</p>
<p>Eu gostei bastante da placa. Tanto que eu a vendi! Quando vi que a Intel tinha lançado a D945GCLF2, com o Atom 300 (dual core) e, principalmente, saída S-Video, precisei vender e comprar o modelo mais novo&#8230; eu estava querendo montar um HTPC já faz um tempo e essa placa (nova) veio bem a calhar.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hardinfo.org/mindcrisis/2008/10/08/d945gclf-impressoes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>NIH &amp; SquirrelFish Extreme</title>
		<link>http://labs.hardinfo.org/mindcrisis/2008/09/19/nih-squirrelfish-extreme/</link>
		<comments>http://labs.hardinfo.org/mindcrisis/2008/09/19/nih-squirrelfish-extreme/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 18:18:08 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://labs.hardinfo.org/mindcrisis/?p=352</guid>
		<description><![CDATA[O kov escreveu sobre o novo interpretador de JavaScript do WebKit, o SquirrelFish Extreme, e levanta a questão da razão do Google ter desenvolvido o V8 sem real necessidade (já que iriam usar o WebKit de qualquer maneira como motor de renderização de HTML). Eu poderia dizer que, a princípio, é apenas mais um caso [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://blog.kov.eti.br/?p=37">kov escreveu sobre o novo interpretador de JavaScript do WebKit</a>, o <a href="http://webkit.org/blog/214/introducing-squirrelfish-extreme/">SquirrelFish Extreme</a>, e levanta a questão da razão do Google ter desenvolvido o <a href="http://code.google.com/p/v8/">V8</a> sem real necessidade (já que iriam usar o WebKit de qualquer maneira como motor de renderização de HTML).</p>
<p>Eu poderia dizer que, a princípio, é apenas mais um caso de <a href="http://en.wikipedia.org/wiki/Not_Invented_Here">síndrome de NIH</a>.</p>
<p>Acho que o Google só não reinventou o WebKit pq um interpretador de JavaScript é mais fácil fazer. E o lançamento do compilador Java para o Android, IMHO, diz que o povo lá em Mountain View gosta de brincar com compiladores e interpretadores.</p>
<p>Para fazer um interpretador mais rápido que outro feito por especialistas, requer gente muito foda. E é isso que tem nos times do SF, V8 e <a href="http://www.mozilla.org/js/spidermonkey/">SM</a>: cara bão de código. Mesmo acreditando que concorrência seja uma boa idéia, se juntassem os esforços (afinal é tudo <em>free</em> &#8212; o problema de licenciamento é &#8220;resolvível&#8221; com boa vontade) e fizessem uma única implementação teríamos, provavelmente, algo muito legal por aí.</p>
<p>Mas a síndrome de NIH não deixa isso acontecer. <strong>Reinventar a roda é bom e às vezes necessário</strong>.</p>
<p>O interesse por linguagens dinâmicas está crescendo muito ultimamente. Acho que nenhuma empresa fazendo um novo interpretador de JavaScript esteja dando ponto sem nó: provavelmente estão usando isso como desculpa para desenvolvimento (ou o aprimoramento) de novas técnicas. E é sempre mais fácil trabalhar no seu próprio código que modificar o código dos outros &#8212; principalmente quando se está falando de uma reestruturação completa da sua arquitetura.</p>
<p>Eu não tenho acompanhado artigos sobre compilação/interpretação, mas o (antigo, confesso) material impresso que tenho acesso sobre compiladores fala principalmente sobre linguagens de tipagem estática. Isso, em minha opinião, é reforçado ainda mais pela característica acadêmica tanto do Google quanto da Apple.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hardinfo.org/mindcrisis/2008/09/19/nih-squirrelfish-extreme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Removendo o PulseAudio do Ubuntu</title>
		<link>http://labs.hardinfo.org/mindcrisis/2008/09/17/removendo-o-pulseaudio-do-ubuntu/</link>
		<comments>http://labs.hardinfo.org/mindcrisis/2008/09/17/removendo-o-pulseaudio-do-ubuntu/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 15:38:37 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://labs.hardinfo.org/mindcrisis/?p=348</guid>
		<description><![CDATA[A idéia do PulseAudio é muito boa. Pena que, pelo menos comigo, o negócio mais dá problema que ajuda. E eu não tenho mais paciência para ficar buscando soluções para coisas que deveriam funcionar por padrão. Tentar remover o pacote &#8220;pulseaudio&#8221; no Ubuntu 8.04 produz um erro de dependência, já que o pacote &#8220;ubuntu-desktop&#8221; necessita [...]]]></description>
			<content:encoded><![CDATA[<p>A idéia do PulseAudio é muito boa. Pena que, pelo menos comigo, o negócio mais dá problema que ajuda. E eu não tenho mais paciência para ficar buscando soluções para coisas que deveriam funcionar por padrão.</p>
<p>Tentar remover o pacote &#8220;pulseaudio&#8221; no Ubuntu 8.04 produz um erro de dependência, já que o pacote &#8220;ubuntu-desktop&#8221; necessita dele. Uma solução simples é usar o excelente utilitário &#8220;equivs&#8221; e criar um pacote falso que provê e substitui o pulseaudio, sem conter nenhum tipo de arquivo no pacote (<a href="http://labs.hardinfo.org/mindcrisis/wp-content/uploads/2008/09/pulseaudio-fake_10_all.deb">um pacote já construído pode ser encontrado aqui</a>).</p>
<p>Com esse pacote criado, é fácil remover o cara chato:</p>
<pre style="padding-left: 30px;">$ sudo dpkg -i pulseaudio-fake_1.0_all.deb
$ sudo dpkg --purge pulseaudio</pre>
<p>Pronto. Sem mais processos bloqueando indefinidamente pro causa do PulseAudio <img src='http://labs.hardinfo.org/mindcrisis/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hardinfo.org/mindcrisis/2008/09/17/removendo-o-pulseaudio-do-ubuntu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

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