<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>TuxDev!</title>
	<atom:link href="http://kknd.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kknd.wordpress.com</link>
	<description>Mais um blog dedicado a programação e software livre.</description>
	<lastBuildDate>Thu, 24 Nov 2011 02:50:21 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='kknd.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>TuxDev!</title>
		<link>http://kknd.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://kknd.wordpress.com/osd.xml" title="TuxDev!" />
	<atom:link rel='hub' href='http://kknd.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Cadeias de Markov &#8211; Exemplo prático</title>
		<link>http://kknd.wordpress.com/2011/08/23/cadeias-de-markov-exemplo-pratico/</link>
		<comments>http://kknd.wordpress.com/2011/08/23/cadeias-de-markov-exemplo-pratico/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 02:38:09 +0000</pubDate>
		<dc:creator>Lucas Hermann Negri</dc:creator>
				<category><![CDATA[Algoritmos]]></category>

		<guid isPermaLink="false">http://kknd.wordpress.com/?p=135</guid>
		<description><![CDATA[Pode-se chamar de processo de Markov um sistema finito e discreto  formado por estados, onde existem probabilidades de transição entre os estados. Uma cadeia de Markov é a execução repetida de um processo de Markov. Por exemplo, imagine um sistema formado pelos estados A, B e C. A transição de A-&#62; B tem uma probabilidade [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=135&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pode-se chamar de processo de Markov um sistema finito e discreto  formado por estados, onde existem probabilidades de transição entre os estados. Uma cadeia de Markov é a execução repetida de um processo de Markov.</p>
<p>Por exemplo, imagine um sistema formado pelos estados A, B e C. A transição de A-&gt; B tem uma probabilidade C1, de A-&gt;C tem probabilidade C2, A-&gt;A (se manter no estado A) C3, e assim por diante. Um fato importante nesta definição de processo de Markov (de primeira ordem, como tratado aqui) é que a probabilidade de transição depende somente do estado atual.</p>
<p>Um exemplo de utilização está no cálculo das probabilidades de que, partindo de um estado inicial A, qual é a probabilidade de um novo estado B ser alcançado após K iterações? Para isto, monta-se uma matriz M, onde o valor da célula Mi,j corresponde à probabilidade da transição i-&gt;j. Para saber a chance de se alcançar o estado Z partindo do estado X após K iterações, deve-se consultar a célula Mx,z após o cálculo de M^K (exponenciação).</p>
<p>Um tutorial completo (escrito pelo Fabrício Bueno) pode ser acessado em <a title="Cadeias de Markov: Práticas e Aplicações" href="www.inf.unioeste.br/%7Erogerio/Cadeias-Markov2.pdf" target="_blank"><strong>Cadeias de Markov: Práticas e Aplicações</strong></a> .</p>
<p>O problema <strong><a title="Vampiros" href="https://br.spoj.pl/problems/VAMPIROS/" target="_blank">Vampiros</a></strong> da sub-regional da maratona de programação de 2008 servirá como exemplo. Não descreverei o problema aqui, favor consultar o link =) .</p>
<h3><strong>1º Passo: simplificação da energia vital e capacidade de dano</strong></h3>
<h3><span class="Apple-style-span" style="font-size:13px;font-weight:normal;">A capacidade de dano D  é a mesma para os dois vampiros, então pode-se simplificar o problema, reduzindo o dano para 1 e ajustando a energia vital de cada vampiro. Por exemplo, se EV1 = 3, EV2 = 4 e D = 2, então pode-se reduzir o problema para: Ev1 = 2, EV2 = 2 e D = 1.</span></h3>
<h3><strong><strong>2º Passo: simplificação dos estados</strong></strong></h3>
<p>Para que o vampiro 1 ganhe a batalha, a energia vital do vampiro 2 precisa ser reduzida para 0. Como o vampiro que ganhou um turno ganha uma  quantia de energia igual ao dano causado, pode-se dizer que o vampiro 1 ganha quando ficar com EV = EV1 + EV2. Esta simplificação permite que a batalha seja modelada utilizando a energia vital do vampiro 1 como estados.</p>
<h3><strong><strong><strong><strong>3º Passo: modelagem</strong></strong></strong></strong></h3>
<p>A energia vital do vampiro 1 será utilizada na modelagem, onde cada estado corresponde à um valor de energia, que vai de 0 (o vampiro 2 ganhou) até EV1 + EV2 (o vampiro 1 ganhou). O estado 0 (correspondente à EV = 0) acarreta na derrota, e não pode-se sair dele, logo, se o vampiro está no estado 0, ele permanecerá lá, então a transição 0-&gt;0 tem probabilidade 1. O mesmo ocorre para o estado EV1 + EV2, pois se o vampiro já ganhou, ele permanece vitorioso. Nos outros estados, a chance de transição do estado Sn para Sn+1 é igual a AT / 6, e de Sn para Sn-1 é de 1 &#8211; (AT / 6).</p>
<h3><strong>Visualização:</strong></h3>
<p>Tomando o 2º caso de teste (1 2 1 1) temos o seguinte processo de Markov:</p>
<div id="attachment_136" class="wp-caption aligncenter" style="width: 479px"><a href="http://kknd.files.wordpress.com/2011/08/grafo_estados_markov.png"><img class="size-full wp-image-136" title="processo_markov" src="http://kknd.files.wordpress.com/2011/08/grafo_estados_markov.png?w=469&#038;h=181" alt="Processo de Markov" width="469" height="181" /></a><p class="wp-caption-text">Processo de Markov para o exemplo</p></div>
<p><strong><br />
</strong>A matriz de transição M fica assim:</p>
<div id="attachment_142" class="wp-caption aligncenter" style="width: 279px"><a href="http://kknd.files.wordpress.com/2011/08/matriz_estados.png"><img class="size-full wp-image-142" title="matriz_estados" src="http://kknd.files.wordpress.com/2011/08/matriz_estados.png?w=269&#038;h=157" alt="Matriz de transição" width="269" height="157" /></a><p class="wp-caption-text">Matriz de transição</p></div>
<p>Respondendo à pergunta do problema: qual é a chance do vampiro 1 vencer neste caso? Bem, a batalha pode ocorrer até o fim dos tempos, então temos que limitar o número de rodadas para um valor factível, que devolva uma resposta dentro da precisão estabelecida.  Como a exponenciação de matrizes pode ser implementada em ~ O(log K) em relação ao número de transições K, pode-se fixar o K como 1000.<strong></strong></p>
<p>Então, modela-se o problema, montando a matriz M. Computa-se então M^K (M elevado à K) e verifica-se o valor de Ma,b<strong>, </strong>onde<strong> a</strong> é a vida inicial e<strong> b</strong> é a vida correspondente à batalha ganha (EV1 + EV2).<strong></strong></p>
<p>A mesma ideia de exponenciação de matrizes pode ser utilizada para a contagem de caminhos de A para B com tamanho K em um determinado  grafo<strong>. </strong>Neste caso, M é a matriz de adjacências, onde Mi,j vale 1 se existir o caminho i-&gt;j<strong>, </strong>e 0 se o caminho não existir.<strong><br />
</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kknd.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kknd.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kknd.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kknd.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kknd.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kknd.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kknd.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kknd.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kknd.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kknd.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kknd.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kknd.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kknd.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kknd.wordpress.com/135/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=135&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kknd.wordpress.com/2011/08/23/cadeias-de-markov-exemplo-pratico/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef73e7bb9d8ff39e699697a77dfbb722?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kknd</media:title>
		</media:content>

		<media:content url="http://kknd.files.wordpress.com/2011/08/grafo_estados_markov.png" medium="image">
			<media:title type="html">processo_markov</media:title>
		</media:content>

		<media:content url="http://kknd.files.wordpress.com/2011/08/matriz_estados.png" medium="image">
			<media:title type="html">matriz_estados</media:title>
		</media:content>
	</item>
		<item>
		<title>GoGear Vibe + GNU / Linux</title>
		<link>http://kknd.wordpress.com/2010/04/19/gogear-vibe-gnu-linux/</link>
		<comments>http://kknd.wordpress.com/2010/04/19/gogear-vibe-gnu-linux/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 15:17:31 +0000</pubDate>
		<dc:creator>Lucas Hermann Negri</dc:creator>
				<category><![CDATA[Dicas rápidas]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[OpenSource]]></category>

		<guid isPermaLink="false">http://kknd.wordpress.com/?p=129</guid>
		<description><![CDATA[Problema: Transferir músicas do computador para o aparelho, de forma que o aparelho possa ler os metadados como artista, album e nome da música. Solução: Diferente de outras versões, o GoGear Vibe consegue extrair os metadados, não sendo necessário utilizar programas como o openGogear. Só é necessário respeitar algumas limitações. No caso de áudio no [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=129&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Problema:</strong></p>
<p>Transferir músicas do computador para o aparelho, de forma que o aparelho possa ler os metadados como artista, album e nome da música.</p>
<p><strong>Solução:</strong></p>
<p>Diferente de outras versões, o GoGear Vibe consegue extrair os metadados, não sendo necessário utilizar programas como o <a href="http://opengogear.sarovar.org/">openGogear</a>. Só é necessário respeitar algumas limitações. No caso de áudio no formato mp3, é necessário que os metadados (id3) estejam na versão <strong>2.3</strong> e que seja utilizada a codificação <strong>ISO-8859-1</strong>. Pode ser que o aparelho também aceite outra versão / codificação, não cheguei a testar.</p>
<p><strong>Programas:</strong></p>
<p>Para realizar esta conversão de versão / codificação, utilizei o programa <a href="http://easytag.sourceforge.net/">easytag</a>. Outra alternativa é o <a href="http://eyed3.nicfit.net/">eyeD3</a>.<br />
O aparelho pode ser acessado como se fosse um pendrive comum, sendo possível a transferência dos arquivos pelos gerenciadores de arquivos comuns.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kknd.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kknd.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kknd.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kknd.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kknd.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kknd.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kknd.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kknd.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kknd.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kknd.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kknd.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kknd.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kknd.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kknd.wordpress.com/129/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=129&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kknd.wordpress.com/2010/04/19/gogear-vibe-gnu-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef73e7bb9d8ff39e699697a77dfbb722?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kknd</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial: nginx + Lua</title>
		<link>http://kknd.wordpress.com/2009/11/06/tutorial-nginx-lua/</link>
		<comments>http://kknd.wordpress.com/2009/11/06/tutorial-nginx-lua/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 17:52:51 +0000</pubDate>
		<dc:creator>Lucas Hermann Negri</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[OpenSource]]></category>

		<guid isPermaLink="false">http://kknd.wordpress.com/?p=121</guid>
		<description><![CDATA[Objetivo: configurar um servidor web que sirva conteúdo dinâmico utilizando a linguagem de programação Lua. Pilha: Arch Linux, nginx, wsapi, fastcgi e Lua. 1º Passo: instalação dos pacotes # pacman -Sy nginx fcgi $ yaourt -S wsapi spawn-fcgi 2º Passo: configuração do nginx (web server) Adicionar o seguinte conteúdo na seção http-&#62;server do arquivo /etc/nginx/conf/nginx.conf [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=121&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Objetivo: </strong>configurar um servidor web que sirva conteúdo dinâmico utilizando a linguagem de programação <strong>Lua</strong>.<br />
<strong>Pilha:</strong> <strong><a href="http://www.archlinux.org">Arch Linux</a></strong>, <strong><a href="http://wiki.nginx.org/Main" target="_blank">nginx</a></strong>, <strong><a href="http://wsapi.luaforge.net/">wsapi</a></strong>, <a href="http://www.fastcgi.com/drupal/"><strong>fastcgi</strong></a> e <a href="http://www.lua.org"><strong>Lua</strong></a>.</p>
<p><strong>1º Passo: instalação dos pacotes</strong></p>
<p><code># pacman -Sy nginx fcgi<br />
$ yaourt -S wsapi spawn-fcgi</code></p>
<p><strong>2º Passo: configuração do nginx (web server)</strong></p>
<p>Adicionar o seguinte conteúdo na seção http-&gt;server do arquivo /etc/nginx/conf/nginx.conf :</p>
<p><code>location ~ \.lua$ {<br />
&nbsp;&nbsp;&nbsp;&nbsp;root html;<br />
&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_pass 127.0.0.1:9000;<br />
&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_index  index.lua;<br />
&nbsp;&nbsp;&nbsp;&nbsp;fastcgi_param SCRIPT_FILENAME /srv/http/nginx$fastcgi_script_name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;include  fastcgi_params;<br />
}</code></p>
<p><strong>3º Passo: Hello World</strong></p>
<p>Criar o arquivo /srv/http/nginx/index.lua com o seguinte conteúdo:</p>
<p><code>require('wsapi.response')<br />
require('wsapi.request')</p>
<p>return function(env)<br />
&nbsp;&nbsp;&nbsp;&nbsp;local resp = wsapi.response.new()<br />
&nbsp;&nbsp;&nbsp;&nbsp;resp:write('Hello world!')<br />
&nbsp;&nbsp;&nbsp;&nbsp;return resp:finish()<br />
end</code></p>
<p>A cada requisição, a função retornada pelo script é executada (o script só é carregado uma vez por instância).</p>
<p><strong>4º Passo: ativar instâncias do FastCGI</strong></p>
<p><code>$ sudo spawn-fcgi -F 4 -p 9000 -f /usr/bin/wsapi.fcgi<br />
</code><br />
F (fork) é o número de filhos, p é a porta a ser utilizada e f o lançador.</p>
<p><strong>5º Passo: teste:</strong></p>
<p><code>$ sudo /etc/rc.d/nginx start</code><br />
URL de acesso: <strong>localhost</strong></p>
<p>Pronto.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kknd.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kknd.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kknd.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kknd.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kknd.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kknd.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kknd.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kknd.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kknd.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kknd.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kknd.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kknd.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kknd.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kknd.wordpress.com/121/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=121&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kknd.wordpress.com/2009/11/06/tutorial-nginx-lua/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef73e7bb9d8ff39e699697a77dfbb722?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kknd</media:title>
		</media:content>
	</item>
		<item>
		<title>gthread &#8211; exemplo</title>
		<link>http://kknd.wordpress.com/2009/06/14/gthread-exemplo/</link>
		<comments>http://kknd.wordpress.com/2009/06/14/gthread-exemplo/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 02:30:58 +0000</pubDate>
		<dc:creator>Lucas Hermann Negri</dc:creator>
				<category><![CDATA[GTK]]></category>

		<guid isPermaLink="false">http://kknd.wordpress.com/?p=116</guid>
		<description><![CDATA[A biblioteca glib possui uma abstração de threads, com uma API simples  e que se mantém a mesma em todos os S.Os suportados. Exemplo de utilização: Link O exemplo mostra uma utilização bem básica, sem necessidade de compartilhar memória e etc. Aplicações reais nem sempre são tão simples! Documentação oficial: Link<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=116&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A biblioteca <em>glib</em> possui uma abstração de threads, com uma API simples  e que se mantém a mesma em todos os S.Os suportados.</p>
<p>Exemplo de utilização: <a href="http://pastebin.com/f5ef1d0be" target="_blank">Link</a></p>
<p>O exemplo mostra uma utilização bem básica, sem necessidade de compartilhar memória e etc. Aplicações reais nem sempre são tão simples! Documentação oficial: <a href="http://library.gnome.org/devel/glib/stable/glib-Threads.html" target="_blank">Link</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kknd.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kknd.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kknd.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kknd.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kknd.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kknd.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kknd.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kknd.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kknd.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kknd.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kknd.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kknd.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kknd.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kknd.wordpress.com/116/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=116&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kknd.wordpress.com/2009/06/14/gthread-exemplo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef73e7bb9d8ff39e699697a77dfbb722?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kknd</media:title>
		</media:content>
	</item>
		<item>
		<title>Problema de Monty Hall</title>
		<link>http://kknd.wordpress.com/2009/04/19/problema-de-monty-hall/</link>
		<comments>http://kknd.wordpress.com/2009/04/19/problema-de-monty-hall/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 00:49:57 +0000</pubDate>
		<dc:creator>Lucas Hermann Negri</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://kknd.wordpress.com/?p=111</guid>
		<description><![CDATA[Programinha simples para simular o famoso problema de Monty Hall (Bertrand&#8217;s box paradox). Link.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=111&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Programinha simples para simular o famoso problema de <a href="http://en.wikipedia.org/wiki/Monty_Hall_problem">Monty Hall</a> (<em>Bertrand&#8217;s box paradox</em>).</p>
<p><a href="http://pastebin.com/f66a8cc0f">Link</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kknd.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kknd.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kknd.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kknd.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kknd.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kknd.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kknd.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kknd.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kknd.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kknd.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kknd.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kknd.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kknd.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kknd.wordpress.com/111/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=111&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kknd.wordpress.com/2009/04/19/problema-de-monty-hall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef73e7bb9d8ff39e699697a77dfbb722?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kknd</media:title>
		</media:content>
	</item>
		<item>
		<title>lgob 9.04!</title>
		<link>http://kknd.wordpress.com/2009/04/14/lgob-904/</link>
		<comments>http://kknd.wordpress.com/2009/04/14/lgob-904/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 14:41:10 +0000</pubDate>
		<dc:creator>Lucas Hermann Negri</dc:creator>
				<category><![CDATA[Lua]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Softwares]]></category>

		<guid isPermaLink="false">http://kknd.wordpress.com/?p=109</guid>
		<description><![CDATA[No post anterior eu descrevi o projeto lgob. Agora anuncio a primeira versão &#8216;estável&#8217;, a 9.04 (optei por este tipo de versionamento, pois não faz sentido continuar com o 0.1, 0.2 e etc). Mais informações em: http://oproj.tuxfamily.org .<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=109&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>No post anterior eu descrevi o projeto lgob. Agora anuncio a primeira versão &#8216;estável&#8217;, a 9.04 (optei por este tipo de versionamento, pois não faz sentido continuar com o 0.1, 0.2 e etc).</p>
<p>Mais informações em: <a href="http://oproj.tuxfamily.org">http://oproj.tuxfamily.org</a> .</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kknd.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kknd.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kknd.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kknd.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kknd.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kknd.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kknd.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kknd.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kknd.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kknd.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kknd.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kknd.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kknd.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kknd.wordpress.com/109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=109&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kknd.wordpress.com/2009/04/14/lgob-904/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef73e7bb9d8ff39e699697a77dfbb722?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kknd</media:title>
		</media:content>
	</item>
		<item>
		<title>lgob &#8211; Bindings para Lua</title>
		<link>http://kknd.wordpress.com/2009/03/09/lgob-bindings-para-lua/</link>
		<comments>http://kknd.wordpress.com/2009/03/09/lgob-bindings-para-lua/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 19:38:43 +0000</pubDate>
		<dc:creator>Lucas Hermann Negri</dc:creator>
				<category><![CDATA[GTK]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[OpenSource]]></category>

		<guid isPermaLink="false">http://kknd.wordpress.com/?p=106</guid>
		<description><![CDATA[A um ano atŕas, eu publiquei bindings para Lua das bibliotecas GTK+, cairo, entre outras, no http://oproj.tuxfamily.org . Decidi automatizar a tarefa, escrevendo um gerador de código que lê informações dos arquivos &#8220;.gir&#8221; do projeto gobject-instrospection e gera código para exportar classes, funções e enumerações. O projeto foi nomeado como lgob (lua gobject), e está [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=106&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A um ano atŕas, eu publiquei bindings para Lua das bibliotecas GTK+, cairo, entre outras, no http://oproj.tuxfamily.org . Decidi automatizar a tarefa, escrevendo um gerador de código que lê informações dos arquivos &#8220;.gir&#8221; do projeto <a href="http://live.gnome.org/GObjectIntrospection" target="_blank">gobject-instrospection</a> e gera código para exportar classes, funções e enumerações.</p>
<p>O projeto foi nomeado como lgob (lua gobject), e está disponível (via svn) em: <a href="http://svn.tuxfamily.org/viewvc.cgi/oproj_oprojsvn/lgob/" target="_blank">http://svn.tuxfamily.org/viewvc.cgi/oproj_oprojsvn/lgob/</a> .</p>
<p>As vantagens da nova abordagem incluem: uma maior cobertura da API, maior facilidade para mudanças, e geração de código para versões específicas.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kknd.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kknd.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kknd.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kknd.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kknd.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kknd.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kknd.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kknd.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kknd.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kknd.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kknd.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kknd.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kknd.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kknd.wordpress.com/106/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=106&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kknd.wordpress.com/2009/03/09/lgob-bindings-para-lua/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef73e7bb9d8ff39e699697a77dfbb722?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kknd</media:title>
		</media:content>
	</item>
		<item>
		<title>Intel GM965 vs performance 2D</title>
		<link>http://kknd.wordpress.com/2009/03/06/intel-gm965-vs-performance-2d/</link>
		<comments>http://kknd.wordpress.com/2009/03/06/intel-gm965-vs-performance-2d/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 15:02:56 +0000</pubDate>
		<dc:creator>Lucas Hermann Negri</dc:creator>
				<category><![CDATA[Benchmarks]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[2d]]></category>
		<category><![CDATA[arch linux]]></category>
		<category><![CDATA[exa]]></category>
		<category><![CDATA[intel]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[xorg]]></category>

		<guid isPermaLink="false">http://kknd.wordpress.com/?p=101</guid>
		<description><![CDATA[Com o novo Xorg 1.6, meus antigos problemas com a performance 3D da minha Intel GM965 (aka X3100) acabaram, mas a performance 2D continuava horrível. Testando outras configurações pro Xorg, cheguei nesta: Section &#8220;Device&#8221; Identifier  &#8220;Card0&#8243; Driver      &#8220;intel&#8221; VendorName  &#8220;All&#8221; BoardName   &#8220;All&#8221; Option &#8220;AccelMethod&#8221; &#8220;exa&#8221; Option &#8220;MigrationHeuristic&#8221; &#8220;greedy&#8221; Option &#8220;ExaNoComposite&#8221; &#8220;true&#8221; EndSection OK. Os métodos [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=101&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Com o novo Xorg 1.6, meus antigos problemas com a performance 3D da minha Intel GM965 (aka X3100) acabaram, mas a performance 2D continuava horrível.</p>
<p>Testando outras configurações pro Xorg, cheguei nesta:</p>
<blockquote><p>Section &#8220;Device&#8221;<br />
Identifier  &#8220;Card0&#8243;<br />
Driver      &#8220;intel&#8221;<br />
VendorName  &#8220;All&#8221;<br />
BoardName   &#8220;All&#8221;<br />
<strong>Option &#8220;AccelMethod&#8221; &#8220;exa&#8221;<br />
Option &#8220;MigrationHeuristic&#8221; &#8220;greedy&#8221;<br />
Option &#8220;ExaNoComposite&#8221; &#8220;true&#8221;</strong><br />
EndSection</p></blockquote>
<p>OK. Os métodos de aceleração suportados são: XAA (antigo, substituido pelo EXA), o EXA (perofrmance 3D melhorada, mas por padrão gera artefatos em algumas aplicações  que usam Qt 4) e o UXA (suporte ao dri2, mas ainda está um pouco instável).</p>
<p>Se não me engano o EXA é usado por padrção, então até ai nenhuma mudança. O que realmente melhorou a performance 2D (e corrigiu alguns bugs) foi o &#8220;<strong>Option &#8220;MigrationHeuristic&#8221; &#8220;greedy&#8221;</strong>.</p>
<p>Para testes, usei o programa gtkperf. Antes, uma rodada com 100 repetições demorava 16 segundos. Com a nova configuração, passou para 5 segundos. A performance 3D aparentemente não foi alterada, mas também não testei muito.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kknd.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kknd.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kknd.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kknd.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kknd.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kknd.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kknd.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kknd.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kknd.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kknd.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kknd.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kknd.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kknd.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kknd.wordpress.com/101/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=101&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kknd.wordpress.com/2009/03/06/intel-gm965-vs-performance-2d/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef73e7bb9d8ff39e699697a77dfbb722?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kknd</media:title>
		</media:content>
	</item>
		<item>
		<title>Novo site</title>
		<link>http://kknd.wordpress.com/2008/09/19/novo-site/</link>
		<comments>http://kknd.wordpress.com/2008/09/19/novo-site/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 00:04:42 +0000</pubDate>
		<dc:creator>Lucas Hermann Negri</dc:creator>
				<category><![CDATA[GTK]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Softwares]]></category>

		<guid isPermaLink="false">http://kknd.wordpress.com/?p=92</guid>
		<description><![CDATA[O novo wiki, agora utilizando o http://www.dokuwiki.org/ (que de ruim só tem o nome) já esta estruturado e contendo um primeiro esforço para documentar os projetos. A wiki pode ser acessada pelo endereço http://oproj.tuxfamily.org.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=92&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>O novo wiki, agora utilizando o <a href="http://www.dokuwiki.org/" target="_blank">http://www.dokuwiki.org/</a> (que de ruim só tem o nome) já esta estruturado e contendo um primeiro esforço para documentar os projetos.</p>
<p>A wiki pode ser acessada pelo endereço <a href="http://oproj.tuxfamily.org" target="_blank">http://oproj.tuxfamily.org</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kknd.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kknd.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kknd.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kknd.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kknd.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kknd.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kknd.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kknd.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kknd.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kknd.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kknd.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kknd.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kknd.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kknd.wordpress.com/92/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=92&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kknd.wordpress.com/2008/09/19/novo-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef73e7bb9d8ff39e699697a77dfbb722?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kknd</media:title>
		</media:content>
	</item>
		<item>
		<title>Poder do *scanf</title>
		<link>http://kknd.wordpress.com/2008/09/18/poder-do-scanf/</link>
		<comments>http://kknd.wordpress.com/2008/09/18/poder-do-scanf/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 01:17:49 +0000</pubDate>
		<dc:creator>Lucas Hermann Negri</dc:creator>
				<category><![CDATA[Dicas rápidas]]></category>

		<guid isPermaLink="false">http://kknd.wordpress.com/?p=86</guid>
		<description><![CDATA[A biblioteca padrão do C possui ótimas funções para leitura de dados, porém nem todo mundo sabe que a família *scanf (scanf, fscanf, etc) suporta até (uma versão simplificada) de expressões regulares. Um exemplo: Suponha que você tenha que ler uma entrada com a seguinte formatação: Time1 vs Time2 : 3&#215;2 Time2 vs Time3 : [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=86&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A biblioteca padrão do C possui ótimas funções para leitura de dados, porém nem todo mundo sabe que a família *scanf (scanf, fscanf, etc) suporta até (uma versão simplificada) de expressões regulares.</p>
<p>Um exemplo:</p>
<p>Suponha que você tenha que ler uma entrada com a seguinte formatação:</p>
<p>Time1 vs Time2 : 3&#215;2<br />
Time2 vs Time3 : 10&#215;5<br />
Time1 vs Time2 : 1&#215;8<br />
Time3 vs Time1 : 0&#215;0</p>
<p>A tarefa é retirar somente os nomes e os gols de cada time.</p>
<p>Com o bom e velho scanf, isso pode ser feito em uma só linha. Exemplo completo (escreva a entrada em um arquivo, e execute o programa redirecionando o arquivo para a entrada padrão (./programa &lt; arquivo).</p>
<p>Código: <a title="scanf" href="http://pastebin.com/f7e18ef43" target="_blank">Pastebin</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kknd.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kknd.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kknd.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kknd.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kknd.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kknd.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kknd.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kknd.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kknd.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kknd.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kknd.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kknd.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kknd.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kknd.wordpress.com/86/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kknd.wordpress.com&amp;blog=761644&amp;post=86&amp;subd=kknd&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kknd.wordpress.com/2008/09/18/poder-do-scanf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef73e7bb9d8ff39e699697a77dfbb722?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kknd</media:title>
		</media:content>
	</item>
	</channel>
</rss>
