<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10portuguesefull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="pt-BR">
	<title>devlog</title>
	<link rel="alternate" type="text/html" href="http://devlog.waltercruz.com/" />
	
	<id>http://devlog.waltercruz.com/?tempskin=_atom</id>
	<subtitle>Textos sobre desenvolvimento de software, notícias sobre tecnologia e opniões sobre a criação de software.</subtitle>
	<generator uri="http://b2evolution.net/" version="4.0.0-alpha">whissip</generator>
	<updated>2009-11-08T18:35:03Z</updated>
	
	<geo:lat>-15.693120</geo:lat><geo:long>-47.925110</geo:long><logo>http://waltercruz.com/Bodao.jpg</logo><link rel="self" href="http://feeds.feedburner.com/walterdevlog" type="application/atom+xml" /><feedburner:emailServiceId>walterdevlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwalterdevlog" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwalterdevlog" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwalterdevlog" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/walterdevlog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwalterdevlog" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fwalterdevlog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwalterdevlog" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry>
		<title type="text">Lighttpd 1.4.24 - agora com suporte a TLS SNI</title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/walterdevlog/~3/3bC5LvJmPZc/lighttpd-1-4-24-agora-com-suporte-a-tls-sni" />
		<author>
			<name>Walter Cruz</name>
			<uri>http://waltercruz.com</uri>
		</author>
				<category term="Geek life" />
				<id>http://devlog.waltercruz.com/lighttpd-1-4-24-agora-com-suporte-a-tls-sni</id>
		<published>2009-10-29T14:30:00Z</published>		<updated>2009-10-29T14:30:51Z</updated>
				<content type="html">&lt;p&gt;Do dia 25 de outubro foi lançada a versão 1.4.24 do lighttpd, agora com suporte a TLS &lt;a href="http://en.wikipedia.org/wiki/Server_Name_Indication"&gt;SNI&lt;/a&gt;. Basicamente, o suporte a TLS SNI significa a hospedagem de domínios virtuais baseados em nome, com certificados SSL diferentes para cada domínio, sem a necessidade de um IP único para cada donínio. Essa é a principal característica do novo lighttpd, além disso, vários bugs foram corrigidos, como se pode ver no &lt;a title="lighttpd 1.4.24" href="http://www.lighttpd.net/2009/10/25/1-4-24-now-with-tls-sni-and-money-back-guarantee"&gt;post anunciando o lançamento&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Há alguns meses a packt me enviou como cortesia um exemplar em PDF do seu livro sobre &lt;a href="http://www.packtpub.com/lighttpd/book/mid/1407090s6bfk"&gt;lighttpd&lt;/a&gt;. Faço minhas as palavras &lt;a href="http://kovyrin.net/2008/11/27/lighttpd-book-from-packt-great-thanksgiving-present/"&gt;dessa resenha&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Então, finalizando minha opnião sobre  &lt;a href="http://www.packtpub.com/lighttpd/book/mid/1407090s6bfk"&gt;esse livro&lt;/a&gt;, eu gostaria de recomendá-lo a todos os administradores de serviços web (mesmo os que ainda não usam lighttpd) – esse livro explica muitas coisas fundamentais que você realmente gostaria de saber. E para desenvolvedores e admins, esse livro pode ser útil se você irá trabalhar com algumas configurações avançadas ou módulos para o lighttpd (sim eu amei as seções sobre lua e módulos).&lt;/em&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt; &lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=3bC5LvJmPZc:ZME_Moug-Kg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=3bC5LvJmPZc:ZME_Moug-Kg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?i=3bC5LvJmPZc:ZME_Moug-Kg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=3bC5LvJmPZc:ZME_Moug-Kg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?i=3bC5LvJmPZc:ZME_Moug-Kg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/walterdevlog/~4/3bC5LvJmPZc" height="1" width="1"/&gt;</content>
				<feedburner:origLink>http://devlog.waltercruz.com/lighttpd-1-4-24-agora-com-suporte-a-tls-sni</feedburner:origLink></entry>

	
	<entry>
		<title type="text">Zope 2.12.0</title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/walterdevlog/~3/pt--eGiSPEA/zope-2-12" />
		<author>
			<name>Walter Cruz</name>
			<uri>http://waltercruz.com</uri>
		</author>
				<category term="Geek life" />
				<id>http://devlog.waltercruz.com/zope-2-12</id>
		<published>2009-10-01T18:28:00Z</published>		<updated>2009-10-01T18:28:51Z</updated>
				<content type="html">&lt;p&gt;Andreas Jung postou o anúncio na lista de discussão &lt;a href="https://mail.zope.org/pipermail/zope-dev/2009-September/037953.html"&gt;Zope-developers&lt;/a&gt; :&lt;/p&gt;
&lt;pre&gt;Em nome da comunidade de desenvolvedores do Zope 2 eu tenho o prazer de anunciar o lançamento oficial&lt;br /&gt;do Zope 2.12.0.&lt;br /&gt;&lt;br /&gt;Mudanças principais:&lt;br /&gt;&lt;br /&gt; - Vem com o ZODB 3.9&lt;br /&gt; - Roda no Python 2.5 e 2.6 (sem suporte oficial para o Python 2.4, mas pode até funcionar)&lt;br /&gt; - Completamente 'eggified' - você instala o Zope 2.12 direramente do PyPI  usando *easy_install* ou *zc.buildout*&lt;br /&gt; - Muita limpeza no código (as ZClasses se foram - quer você goste ou não)&lt;br /&gt; - Vem com a biblioteca de componentes do Zope (aka Zope 3.4)&lt;br /&gt; - Documentação em formato REST oara gerar documentos HTML/PDF com o Sphinx&lt;br /&gt; - diversos outros pequenos detalhes&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;Além disso foi lançado um novo site para o Zope2: &lt;a href="http://zope2.zope.org/"&gt;http://zope2.zope.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Leia a nota de lançamento completa em &lt;a href="https://mail.zope.org/pipermail/zope-dev/2009-September/037953.html"&gt;https://mail.zope.org/pipermail/zope-dev/2009-September/037953.html&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=pt--eGiSPEA:NaUc84_tLkE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=pt--eGiSPEA:NaUc84_tLkE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?i=pt--eGiSPEA:NaUc84_tLkE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=pt--eGiSPEA:NaUc84_tLkE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?i=pt--eGiSPEA:NaUc84_tLkE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/walterdevlog/~4/pt--eGiSPEA" height="1" width="1"/&gt;</content>
				<feedburner:origLink>http://devlog.waltercruz.com/zope-2-12</feedburner:origLink></entry>

	
	<entry>
		<title type="text">Um pequeno detalhe...</title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/walterdevlog/~3/lA6N1Q_hpT0/um-pequeno-detalhe" />
		<author>
			<name>Walter Cruz</name>
			<uri>http://waltercruz.com</uri>
		</author>
				<category term="Geek life" />
				<id>http://devlog.waltercruz.com/um-pequeno-detalhe</id>
		<published>2009-09-30T15:41:00Z</published>		<updated>2009-09-30T15:41:47Z</updated>
				<content type="html">&lt;p&gt;Acessando um blog que não existe mais no blogspot:&lt;/p&gt;
&lt;pre&gt;curl -I http://pgviavel.blogspot.com/&lt;/pre&gt;
&lt;pre&gt;HTTP/1.0 404 Not Found&lt;/pre&gt;
&lt;p&gt;Acessando um blog que não existe mais no wordpress.com:&lt;/p&gt;
&lt;pre&gt;curl -I http://vimmer.wordpress.com&lt;br /&gt;HTTP/1.0 410 Gone&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;Interessante (ao menos pros muito nerds que gostam desse tipo de constatação inútil...!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=lA6N1Q_hpT0:wtmf20bphEY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=lA6N1Q_hpT0:wtmf20bphEY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?i=lA6N1Q_hpT0:wtmf20bphEY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=lA6N1Q_hpT0:wtmf20bphEY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?i=lA6N1Q_hpT0:wtmf20bphEY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/walterdevlog/~4/lA6N1Q_hpT0" height="1" width="1"/&gt;</content>
				<feedburner:origLink>http://devlog.waltercruz.com/um-pequeno-detalhe</feedburner:origLink></entry>

	
	<entry>
		<title type="text">Secrets of the JavaScript Ninja</title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/walterdevlog/~3/ZpR-Uxt2FW8/secrets-of-the-javascript-ninja" />
		<author>
			<name>Walter Cruz</name>
			<uri>http://waltercruz.com</uri>
		</author>
				<category term="Geek life" />
				<id>http://devlog.waltercruz.com/secrets-of-the-javascript-ninja</id>
		<published>2009-09-01T21:30:47Z</published>		<updated>2009-09-03T18:38:51Z</updated>
				<content type="html">&lt;div&gt;&lt;div&gt;&lt;a href="http://static.waltercruz.com.br/media/blogs/devlog/ninja3.jpg?mtime=1252003082"&gt;&lt;img alt="" src="http://static.waltercruz.com.br/media/blogs/devlog/./.evocache/ninja3.jpg/fit-320x320.jpg?mtime=1252003082" width="187" height="256" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;John Resig está escrevendo um livro chamado Secrets of the JavaScript Ninja.  Você pode obtê-lo &lt;strong&gt;hoje&lt;/strong&gt; por 50% do preço. Segundo o autor, esse será um livro mais completo e aprofundado que o seu anterior, &lt;a href="http://jspro.org/"&gt;Pro JavaScript Techniques&lt;/a&gt;. Fica a dica!&lt;/p&gt;
&lt;p&gt;De: &lt;a href="http://ejohn.org/blog/50-off-secrets-of-the-javascript-ninja/"&gt;http://ejohn.org/blog/50-off-secrets-of-the-javascript-ninja/&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=ZpR-Uxt2FW8:0gHKBjNo2BE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=ZpR-Uxt2FW8:0gHKBjNo2BE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?i=ZpR-Uxt2FW8:0gHKBjNo2BE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=ZpR-Uxt2FW8:0gHKBjNo2BE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?i=ZpR-Uxt2FW8:0gHKBjNo2BE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/walterdevlog/~4/ZpR-Uxt2FW8" height="1" width="1"/&gt;</content>
				<feedburner:origLink>http://devlog.waltercruz.com/secrets-of-the-javascript-ninja</feedburner:origLink></entry>

	
	<entry>
		<title type="text">Vulnerabilidade do kernel do Linux já corrigida na Linode</title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/walterdevlog/~3/5LiPj3BO0yM/vulnerabilidade-do-kernel-do-linux-ja-corrigida-na-linode" />
		<author>
			<name>Walter Cruz</name>
			<uri>http://waltercruz.com</uri>
		</author>
				<category term="Geek life" />
				<id>http://devlog.waltercruz.com/vulnerabilidade-do-kernel-do-linux-ja-corrigida-na-linode</id>
		<published>2009-08-18T16:42:54Z</published>		<updated>2009-09-13T04:41:41Z</updated>
				<content type="html">&lt;p&gt;A vulnerabilidade de segurança presente no kernel do Linux já há oito anos, etiquetada como CVE-2009-2692 já foi corrigida para os usuários do Linode. Basta atualizar o kernel e dar o reboot.&lt;/p&gt;
&lt;p&gt;Linode é um dos VPS mais em conta hoje em dia: por 19 dólares c 95 centavos por mês você pega o plano básico: Linode 360, com 360 MB de RAM garantidos, 200 Giga de transferência e 16 Giga de espaço em disco. Não é barato como uma hospedagem na dreamhost, mas tem o conforto (e a responsabilidade) de você poder controlar tudo no sistema.&lt;/p&gt;
&lt;p&gt;Para quem tiver interessado no Linode, meu referral link:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;a href="http://www.linode.com/?r=43a70f33c2a5d871f42eab59109c96c018edc2fc"&gt;http://www.linode.com/?r=43a70f33c2a5d871f42eab59109c96c018edc2fc&lt;/a&gt;&lt;/code&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=5LiPj3BO0yM:LZGc3WiNht4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=5LiPj3BO0yM:LZGc3WiNht4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?i=5LiPj3BO0yM:LZGc3WiNht4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=5LiPj3BO0yM:LZGc3WiNht4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?i=5LiPj3BO0yM:LZGc3WiNht4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/walterdevlog/~4/5LiPj3BO0yM" height="1" width="1"/&gt;</content>
				<feedburner:origLink>http://devlog.waltercruz.com/vulnerabilidade-do-kernel-do-linux-ja-corrigida-na-linode</feedburner:origLink></entry>

	
	<entry>
		<title type="text">Um set de mandelbrot em SQL</title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/walterdevlog/~3/ftasKD3fDVk/um-set-de-mandrelbot-em-sql" />
		<author>
			<name>Walter Cruz</name>
			<uri>http://waltercruz.com</uri>
		</author>
				<category term="Geek life" />
				<id>http://devlog.waltercruz.com/um-set-de-mandrelbot-em-sql</id>
		<published>2009-08-16T18:59:12Z</published>		<updated>2009-08-16T19:09:08Z</updated>
				<content type="html">&lt;p&gt;Usando SQL e PostgreSQL 8.4&lt;/p&gt;
&lt;div class="code"&gt;&lt;div class="sql" style="font-family:monospace;"&gt;&lt;span style="color: #993333; font-weight: bold;"&gt;WITH&lt;/span&gt; RECURSIVE&lt;br /&gt;
x&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;i&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #993333; font-weight: bold;"&gt;AS&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #993333; font-weight: bold;"&gt;VALUES&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;0&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #993333; font-weight: bold;"&gt;UNION&lt;/span&gt; &lt;span style="color: #993333; font-weight: bold;"&gt;ALL&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #993333; font-weight: bold;"&gt;SELECT&lt;/span&gt; i &lt;span style="color: #66cc66;"&gt;+&lt;/span&gt; 1 &lt;span style="color: #993333; font-weight: bold;"&gt;FROM&lt;/span&gt; x &lt;span style="color: #993333; font-weight: bold;"&gt;WHERE&lt;/span&gt; i &lt;span style="color: #66cc66;"&gt;&amp;lt;&lt;/span&gt; 101&lt;br /&gt;
&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt;&lt;br /&gt;
Z&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;Ix&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; Iy&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; Cx&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; Cy&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; X&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; Y&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; I&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #993333; font-weight: bold;"&gt;AS&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #993333; font-weight: bold;"&gt;SELECT&lt;/span&gt; Ix&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; Iy&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; X::float&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; Y::float&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; X::float&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; Y::float&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; 0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #993333; font-weight: bold;"&gt;FROM&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #993333; font-weight: bold;"&gt;SELECT&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;-&lt;/span&gt;2&lt;span style="color: #66cc66;"&gt;.&lt;/span&gt;2 &lt;span style="color: #66cc66;"&gt;+&lt;/span&gt; 0&lt;span style="color: #66cc66;"&gt;.&lt;/span&gt;031 &lt;span style="color: #66cc66;"&gt;*&lt;/span&gt; i&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; i &lt;span style="color: #993333; font-weight: bold;"&gt;FROM&lt;/span&gt; x&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #993333; font-weight: bold;"&gt;AS&lt;/span&gt; xgen&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;x&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt;ix&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #993333; font-weight: bold;"&gt;CROSS&lt;/span&gt; &lt;span style="color: #993333; font-weight: bold;"&gt;JOIN&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #993333; font-weight: bold;"&gt;SELECT&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;-&lt;/span&gt;1&lt;span style="color: #66cc66;"&gt;.&lt;/span&gt;5 &lt;span style="color: #66cc66;"&gt;+&lt;/span&gt; 0&lt;span style="color: #66cc66;"&gt;.&lt;/span&gt;031 &lt;span style="color: #66cc66;"&gt;*&lt;/span&gt; i&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; i &lt;span style="color: #993333; font-weight: bold;"&gt;FROM&lt;/span&gt; x&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #993333; font-weight: bold;"&gt;AS&lt;/span&gt; ygen&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;y&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt;iy&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #993333; font-weight: bold;"&gt;UNION&lt;/span&gt; &lt;span style="color: #993333; font-weight: bold;"&gt;ALL&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #993333; font-weight: bold;"&gt;SELECT&lt;/span&gt; Ix&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; Iy&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; Cx&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; Cy&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; X &lt;span style="color: #66cc66;"&gt;*&lt;/span&gt; X &lt;span style="color: #66cc66;"&gt;-&lt;/span&gt; Y &lt;span style="color: #66cc66;"&gt;*&lt;/span&gt; Y &lt;span style="color: #66cc66;"&gt;+&lt;/span&gt; Cx &lt;span style="color: #993333; font-weight: bold;"&gt;AS&lt;/span&gt; X&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; Y &lt;span style="color: #66cc66;"&gt;*&lt;/span&gt; X &lt;span style="color: #66cc66;"&gt;*&lt;/span&gt; 2 &lt;span style="color: #66cc66;"&gt;+&lt;/span&gt; Cy&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; I &lt;span style="color: #66cc66;"&gt;+&lt;/span&gt; 1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #993333; font-weight: bold;"&gt;FROM&lt;/span&gt; Z&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #993333; font-weight: bold;"&gt;WHERE&lt;/span&gt; X &lt;span style="color: #66cc66;"&gt;*&lt;/span&gt; X &lt;span style="color: #66cc66;"&gt;+&lt;/span&gt; Y &lt;span style="color: #66cc66;"&gt;*&lt;/span&gt; Y &lt;span style="color: #66cc66;"&gt;&amp;lt;&lt;/span&gt; 16&lt;span style="color: #66cc66;"&gt;.&lt;/span&gt;0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #993333; font-weight: bold;"&gt;AND&lt;/span&gt; I &lt;span style="color: #66cc66;"&gt;&amp;lt;&lt;/span&gt; 27&lt;br /&gt;
&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt;&lt;br /&gt;
Zt &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;Ix&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; Iy&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; I&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #993333; font-weight: bold;"&gt;AS&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #993333; font-weight: bold;"&gt;SELECT&lt;/span&gt; Ix&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; Iy&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; MAX&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;I&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #993333; font-weight: bold;"&gt;AS&lt;/span&gt; I&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #993333; font-weight: bold;"&gt;FROM&lt;/span&gt; Z&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #993333; font-weight: bold;"&gt;GROUP&lt;/span&gt; &lt;span style="color: #993333; font-weight: bold;"&gt;BY&lt;/span&gt; Iy&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; Ix&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #993333; font-weight: bold;"&gt;ORDER&lt;/span&gt; &lt;span style="color: #993333; font-weight: bold;"&gt;BY&lt;/span&gt; Iy&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; Ix&lt;br /&gt;
&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #993333; font-weight: bold;"&gt;SELECT&lt;/span&gt; array_to_string&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; array_agg&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SUBSTRING&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #ff0000;"&gt;' .,,,-----++++%%%%@@@@#### '&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GREATEST&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;I&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;''&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #993333; font-weight: bold;"&gt;FROM&lt;/span&gt; Zt&lt;br /&gt;
&lt;span style="color: #993333; font-weight: bold;"&gt;GROUP&lt;/span&gt; &lt;span style="color: #993333; font-weight: bold;"&gt;BY&lt;/span&gt; Iy&lt;br /&gt;
&lt;span style="color: #993333; font-weight: bold;"&gt;ORDER&lt;/span&gt; &lt;span style="color: #993333; font-weight: bold;"&gt;BY&lt;/span&gt; Iy;&lt;br /&gt;
&amp;nbsp;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Visto em &lt;a href="http://simonwillison.net/2009/Aug/13/mandelbrot/"&gt;http://simonwillison.net/2009/Aug/13/mandelbrot/&lt;/a&gt; . Veja o resultado em &lt;a href="http://wiki.postgresql.org/wiki/Mandelbrot_set"&gt;http://wiki.postgresql.org/wiki/Mandelbrot_set&lt;/a&gt; ou execute a query você mesmo!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=ftasKD3fDVk:nMYt2QPFNKU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=ftasKD3fDVk:nMYt2QPFNKU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?i=ftasKD3fDVk:nMYt2QPFNKU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=ftasKD3fDVk:nMYt2QPFNKU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?i=ftasKD3fDVk:nMYt2QPFNKU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/walterdevlog/~4/ftasKD3fDVk" height="1" width="1"/&gt;</content>
				<feedburner:origLink>http://devlog.waltercruz.com/um-set-de-mandrelbot-em-sql</feedburner:origLink></entry>

	
	<entry>
		<title type="text">Usando $PAGER no bzr e no mercurial</title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/walterdevlog/~3/h2xb5GCu-wc/usando-pager-no-bzr-e-no-mercurial" />
		<author>
			<name>Walter Cruz</name>
			<uri>http://waltercruz.com</uri>
		</author>
				<category term="Geek life" />
				<id>http://devlog.waltercruz.com/usando-pager-no-bzr-e-no-mercurial</id>
		<published>2009-07-25T15:51:22Z</published>		<updated>2009-07-25T16:29:17Z</updated>
				<content type="html">&lt;p&gt;No git, quando a saída de um comando é muito grande para caber na tela de um terminal, ele é passado pelo comando definido em $PAGER (normalmente, o less).&lt;/p&gt;
&lt;p&gt;Para fazer a mesma coisa com o bazaar, faça o seguinte:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mkdir -p ~/.bazaar/plugins &amp;amp;&amp;amp; \&lt;br /&gt; cd ~/.bazaar/plugins &amp;amp;&amp;amp; \&lt;br /&gt; bzr branch lp:bzr-pager pager&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;O  mercurial já tem uma &lt;a href="http://mercurial.selenic.com/wiki/PagerExtension"&gt;extensão pager built-in&lt;/a&gt;, ela apenas não vem habilitada. Para habilitá-la, edite o seu $HOME/.hgrc e adicione:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[extensions]&lt;br /&gt;hgext.pager =&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[pager]&lt;br /&gt;pager = LESS='FSRX' less&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;A dica do bzr foi retirada de &lt;a href="http://daniel.hahler.de/bzr-pager-plugin"&gt;http://daniel.hahler.de/bzr-pager-plugin&lt;/a&gt; (Estou usando o bzr por conta do &lt;a href="http://whissip.net"&gt;whissip&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=h2xb5GCu-wc:kK4r2GR348g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=h2xb5GCu-wc:kK4r2GR348g:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?i=h2xb5GCu-wc:kK4r2GR348g:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=h2xb5GCu-wc:kK4r2GR348g:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?i=h2xb5GCu-wc:kK4r2GR348g:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/walterdevlog/~4/h2xb5GCu-wc" height="1" width="1"/&gt;</content>
				<feedburner:origLink>http://devlog.waltercruz.com/usando-pager-no-bzr-e-no-mercurial</feedburner:origLink></entry>

	
	<entry>
		<title type="text">Firefox 3.5 e _except_handler4_common no Windows XP</title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/walterdevlog/~3/hHDNSuKKOXg/firefox-3-5-e-_except_handler4_common-no-windows-xp" />
		<author>
			<name>Walter Cruz</name>
			<uri>http://waltercruz.com</uri>
		</author>
				<category term="Geek life" />
				<id>http://devlog.waltercruz.com/firefox-3-5-e-_except_handler4_common-no-windows-xp</id>
		<published>2009-07-20T18:27:54Z</published>		<updated>2009-07-20T18:27:54Z</updated>
				<content type="html">&lt;p&gt;&lt;a href="https://support.mozilla.com/tiki-view_forum_thread.php?comments_parentId=384699&amp;amp;forumId=1"&gt;https://support.mozilla.com/tiki-view_forum_thread.php?comments_parentId=384699&amp;amp;forumId=1&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Se você está se deparando com esse problema, a solução, simples, é apagar o arquivo DWMAPI.DLL da pasta C:\Windows\System32. Dica retirada de: &lt;a href="https://support.mozilla.com/tiki-view_forum_thread.php?comments_parentId=384699&amp;amp;forumId=1"&gt;https://support.mozilla.com/tiki-view_forum_thread.php?comments_parentId=384699&amp;amp;forumId=1&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=hHDNSuKKOXg:L751MD83ugM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=hHDNSuKKOXg:L751MD83ugM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?i=hHDNSuKKOXg:L751MD83ugM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/walterdevlog?a=hHDNSuKKOXg:L751MD83ugM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/walterdevlog?i=hHDNSuKKOXg:L751MD83ugM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/walterdevlog/~4/hHDNSuKKOXg" height="1" width="1"/&gt;</content>
				<feedburner:origLink>http://devlog.waltercruz.com/firefox-3-5-e-_except_handler4_common-no-windows-xp</feedburner:origLink></entry>

	</feed>
