<?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>SamuraiDio</title>
	<atom:link href="http://blog.diovani.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.diovani.com</link>
	<description>GNU/Linux &#124; PHP &#124; JavaScript</description>
	<lastBuildDate>Thu, 25 Feb 2010 03:18:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Twitter e botões para Digg e Tweetmeme</title>
		<link>http://blog.diovani.com/2010/02/24/twitter-e-botoes-para-digg-e-tweetmeme/</link>
		<comments>http://blog.diovani.com/2010/02/24/twitter-e-botoes-para-digg-e-tweetmeme/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 04:20:22 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[digg]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/?p=339</guid>
		<description><![CDATA[Já faz algum tempo que eu queria colocar botões para incentivar os visitantes a divulgar meus posts no Digg e Delicious e Tweetmeme, mas nunca sobrava tempo para pesquisar plugins ou scripts para tal. Então resolvi fazer umas horinhas extras em casa hoje isso.
O resultado pode ser visto no painel lateral do blog, no Widget [...]]]></description>
			<content:encoded><![CDATA[<p>Já faz algum tempo que eu queria colocar botões para incentivar os visitantes a divulgar meus posts no <a href="http://digg.com">Digg</a> e <span style="text-decoration: line-through;"><a href="http://del.icio.us">Delicious</a></span> e <a href="http://tweetmeme.com/">Tweetmeme</a>, mas nunca sobrava tempo para pesquisar plugins ou scripts para tal. Então resolvi fazer umas horinhas extras em casa hoje isso.</p>
<p>O resultado pode ser visto no painel lateral do blog, no Widget <strong>Share</strong>, onde coloquei botões para compartilhar no Digg, Tweememe e ainda um botão de Follow para o novíssimo <a href="http://twitter.com/SamuraiDio">Twitter do blog</a>. <span style="text-decoration: line-through;">Ainda falta o botão para o Delicious, mas este fica para mais tarde.</span></p>
<p>Para quem quiser fazer o mesmo, basta adicionar fragmentos HTML e JavaScript no seu tema do WP, ou dentro de um Text Widget, seguindo os tutoriais a seguir. O máximo que precisa ser configurado é o nome de usuário do twitter.</p>
<p>Botão Digg: <a href="http://about.digg.com/button">http://about.digg.com/button</a><br />
Botão Retweet: <a href="http://help.tweetmeme.com/2009/04/06/tweetmeme-button/">http://help.tweetmeme.com/2009/04/06/tweetmeme-button/</a><br />
Botão Follow: <a href="http://help.tweetmeme.com/2010/02/23/follow-button/">http://help.tweetmeme.com/2010/02/23/follow-button/</a></p>
<p>Como comentei acima, criei também um twitter para o blog, <a href="http://twitter.com/SamuraiDio">@SamuraiDio</a>, e adicionei o plugin <a href="http://wordpress.org/extend/plugins/wp-to-twitter/">WP to Twitter</a>. Agora cada novo post vai também aparecer no twitter, facilitando para quem quiser &#8220;seguir&#8221; o blog mas não costuma usar feeds.</p>
<p>[updated]</p>
<p>Por motivos de performance (criados com JavaScript os botões demoram alguns segundos a mais para serem exibidos) procurei por uma solução em PHP, e encontrei combinando os plugins <a href="http://wordpress.org/extend/plugins/digg-digg/">Digg Digg</a> e <a href="http://wordpress.org/extend/plugins/php-code-widget/">PHP Code Widget</a>.</p>
<p>O primeiro é um plugin que adiciona botões para diversos serviços de compartilhamento, e o segundo é um Widget identico ao Text Widget do WP, mas que aceita também códigos PHP.</p>
<p>Para adicionar os botões no Widget, e não nos posts, eu desabilitei as exibições padrão do Digg Digg, e criei um PHP Code Widget com o seguinte código fonte:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;center&gt;&lt;div id=&quot;dd_before&quot; style=&quot;height:80px; width:190px;&quot;&gt;&lt;ul&gt;
&lt;li class=&quot;li_horizontal&quot;&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> digg_digg_generate<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Normal'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;/li&gt;
&lt;li class=&quot;li_horizontal&quot;&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> digg_digg_reddit_generate<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Normal'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;/li&gt;
&lt;li class=&quot;li_horizontal&quot;&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> digg_digg_twitter_generate<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Normal'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'SamuraiDio'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/center&gt;</pre></div></div>

<p>Os métodos <em>digg_digg_*_generate()</em> são fornecidos pelo plugin Digg Digg, e podem ser usados também em qualquer lugar do template.</p>
<p>Também desisti de usar o botão para o Delicious, e adicionei um para o <a href="http://reddit.com">Reddit</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2010/02/24/twitter-e-botoes-para-digg-e-tweetmeme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery.canvasmetter plugin</title>
		<link>http://blog.diovani.com/2010/01/24/jquery-canvasmetter-plugin/</link>
		<comments>http://blog.diovani.com/2010/01/24/jquery-canvasmetter-plugin/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 15:22:25 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/?p=324</guid>
		<description><![CDATA[Há alguns dias criei um plugin para jQuery, para desenhar medidores no estilo barômetros ou marcadores de velocidade, utilizando o elemento &#60;canvas&#62;.

Como um plugin requer uma atenção especial e atualizações periódicas, dediquei para ele uma página deste blog. E também o wave jQuery.canvasmetter, para o pessoal poder participar. Mais informações podem ser encontrados nestes.
Links:
página jQuery.canvasmetter
página [...]]]></description>
			<content:encoded><![CDATA[<p>Há alguns dias criei um plugin para jQuery, para desenhar medidores no estilo barômetros ou marcadores de velocidade, utilizando o elemento &lt;canvas&gt;.</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2010/01/CanvasMetter_1263859483929.png"><img class="alignnone size-thumbnail wp-image-302" title="screenshot" src="http://blog.diovani.com/wp-content/uploads/2010/01/CanvasMetter_1263859483929-150x150.png" alt="screenshot" width="150" height="150" /></a></p>
<p>Como um plugin requer uma atenção especial e atualizações periódicas, dediquei para ele uma <a href="http://blog.diovani.com/jquery-canvasmetter/">página deste blog</a>. E também o <a href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%252BPOJ7yqi9A">wave jQuery.canvasmetter</a>, para o pessoal poder participar. Mais informações podem ser encontrados nestes.</p>
<p><em>Links:<a href="http://blog.diovani.com/jquery-canvasmetter/"><br />
página jQuery.canvasmetter</a><br />
<a href="http://blog.diovani.com/jquery-canvasmetter/download/">página de download do plugin jQuery.canvasmetter</a><br />
<a href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%252BPOJ7yqi9A">wave jQuery.canvasmetter</a></em></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">página jQuery.canvasmette</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2010/01/24/jquery-canvasmetter-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery 1.4 lançado</title>
		<link>http://blog.diovani.com/2010/01/17/jquery-1-4-lancado/</link>
		<comments>http://blog.diovani.com/2010/01/17/jquery-1-4-lancado/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 22:30:00 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[notícias]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/?p=294</guid>
		<description><![CDATA[Nesta última quinta-feira, dia 14, foi lançada a nova versão do jQuery, a biblioteca Javascript que promete (e cumpre) simplificar o desenvolvimento de scripts escrevendo-se muito menos linhas de código. A versão 1.4, foi lançada, intencionalmente, no dia 14 de Janeiro, por ser este o dia do aniversário da biblioteca.
Como comemoração pelo dia de lançamento, [...]]]></description>
			<content:encoded><![CDATA[<p>Nesta última quinta-feira, dia 14, foi lançada a nova versão do <a href="http://jquery.com/">jQuery</a>, a biblioteca Javascript que promete (e cumpre) simplificar o desenvolvimento de scripts escrevendo-se muito menos linhas de código. A versão 1.4, foi lançada, intencionalmente, no dia 14 de Janeiro, por ser este o dia do aniversário da biblioteca.</p>
<p>Como comemoração pelo dia de lançamento, o time do jQuery colocou no ar um <em>hot-site</em>, <a href="http://jquery14.com/">14 dias de jQuery</a>, que divulgará a cada dia, uma das novas melhorias da versão 1.4, e ainda terá promoções para os desenvolvedores que usam e apoiam a biblioteca. Visite o site <a href="http://jquery14.com/">http://jquery14.com/</a> para maiores informações. O download da nova versão pode ser feito no site oficial: <a href="http://jquery.com">http://jquery.com</a>.</p>
<p>Não vou me estender muito neste post, visto que estou alguns dias atrasado, e outros blogueiros já o fizeram. Então vou apenas adicionar alguns links blogs de alguns amigos que falaram sobre o lançamento. Não deixem de ler os posts, e baixarem a nova versão.</p>
<p>Links:<a href="http://ruancarlos.com.br/Blog/jquery-1-4-e-lancado/"><br />
http://ruancarlos.com.br/Blog/jquery-1-4-e-lancado/</a><br />
<a href="http://net.tutsplus.com/tutorials/javascript-ajax/jquery-1-4-released-the-15-new-features-you-must-know/">http://net.tutsplus.com/tutorials/javascript-ajax/jquery-1-4-released-the-15-new-features-you-must-know/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2010/01/17/jquery-1-4-lancado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Contadores e auto-numeração em CSS2</title>
		<link>http://blog.diovani.com/2009/12/07/contadores-e-auto-numeracao-em-css2/</link>
		<comments>http://blog.diovani.com/2009/12/07/contadores-e-auto-numeracao-em-css2/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 21:58:18 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/?p=284</guid>
		<description><![CDATA[Estive pesquisando hoje algumas técnicas novas de CSS, e me deparei com um recurso muito interessante, que nunca utilizei, e nunca reparei que fosse usado em lugar algum antes. Trata-se da possibilidade de utilizar CSS para adicionar contadores e auto-numeração para qualquer elemento HTML.
Qualquer designer CSS que se preze conhece a propriedades de numeração das [...]]]></description>
			<content:encoded><![CDATA[<p>Estive pesquisando hoje algumas técnicas novas de CSS, e me deparei com um recurso muito interessante, que nunca utilizei, e nunca reparei que fosse usado em lugar algum antes. Trata-se da possibilidade de utilizar CSS para adicionar contadores e auto-numeração para qualquer elemento HTML.</p>
<p>Qualquer designer CSS que se preze conhece a propriedades de numeração das listas (tags <em>&lt;li&gt;</em>), poucos mas sabem que os mesmos tipos de numerações podem ser adicionadas a qualquer conjunto de elementos, inclusive adicionando estilos personalizados aos contadores.</p>
<p>Veja o exemplo a seguir:</p>
<p style="text-align: center;"><img class="size-full wp-image-286 aligncenter" title="Elementos DIV numerados com CSS" src="http://blog.diovani.com/wp-content/uploads/2009/12/counters-01.png" alt="counter-1" width="77" height="69" /></p>
<p>A lista acima, foi criada utilizando apenas elementos div, e os seguintes estilos:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.list</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">counter-reset</span><span style="color: #00AA00;">:</span> my-list<span style="color: #00AA00;">;</span>     <span style="color: #808080; font-style: italic;">/* inicializa o contador */</span>
<span style="color: #00AA00;">&#125;</span>
div<span style="color: #6666ff;">.list</span> div <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">counter-increment</span><span style="color: #00AA00;">:</span> my-list<span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* incrementa */</span>
<span style="color: #00AA00;">&#125;</span>
div<span style="color: #6666ff;">.list</span> div<span style="color: #3333ff;">:before </span><span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> counter<span style="color: #00AA00;">&#40;</span>my-list<span style="color: #00AA00;">&#41;</span> <span style="color: #ff0000;">&quot;. &quot;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* imprime */</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>A propriedade <strong>counter-reset</strong> inicializa a contagem com o identificador <em>my-list</em> a cada vez que um elemento &lt;div&gt; com a classe <em>list</em> é exibido. Já a propriedade <strong>counter-increment</strong>, incrementa este contador a cada elemento &lt;div&gt; &#8220;filho&#8221; do primeiro.</p>
<p>A partir daí, podemos utilizar os <em>pseudo-elements</em> <strong>:before</strong>, ou <strong>:after</strong>, para adicionar o valor do contador na propriedade <strong>content</strong>, utilizando a função <strong>counter().</strong> A propriedade <strong>content</strong>, pode também receber qualquer string adicional, permitindo o uso de separadores diversos do contador para o conteúdo do elemento.</p>
<p>O fragmento HTML utilizado no exemplo acima está a seguir:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;list&quot;</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>foo bar<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>foo bar<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>foo bar<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<p>As propriedades <strong>counter-reset</strong> e <strong>counter-increment</strong> aceitam também um segundo valor, numérico, usado, respectivamente, para definir o início da contagem (padrão 0) e o valor de incremento (padrão 1).</p>
<p>Veja o mesmo exemplo, iniciando o contador com -4, com incremento de 2:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.list</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">counter-reset</span><span style="color: #00AA00;">:</span> my-list -<span style="color: #cc66cc;">4</span><span style="color: #00AA00;">;</span>  <span style="color: #808080; font-style: italic;">/* inicializa o contador */</span>
<span style="color: #00AA00;">&#125;</span>
div<span style="color: #6666ff;">.list</span> div <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">counter-increment</span><span style="color: #00AA00;">:</span> my-list <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>   <span style="color: #808080; font-style: italic;">/* incrementa */</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p style="text-align: center;"><img class="size-full wp-image-288 aligncenter" title="Contador com início e incremento alterados" src="http://blog.diovani.com/wp-content/uploads/2009/12/counters-02.png" alt="Contador com início e incremento alterados" width="78" height="105" /></p>
<p>A função <strong>counter()</strong> também aceita um segundo parâmetro, definindo o tipo de contador utilizado. Todos os tipos usados na propriedade <strong>list-style-type</strong> dos elementos &lt;ul&gt;, &lt;ol&gt; e &lt;li&gt; são suportados.</p>
<p>Para finalizar, vamos alterar os estilos e separadores dos nossos contadores, utilizando também um tipo diferente:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.list</span> div<span style="color: #3333ff;">:before </span><span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">&quot;[&quot;</span> counter<span style="color: #00AA00;">&#40;</span>my-list<span style="color: #00AA00;">,</span> <span style="color: #993333;">lower-alpha</span><span style="color: #00AA00;">&#41;</span> <span style="color: #ff0000;">&quot;]&quot;</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">monospace</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">10px</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">font-weight</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">bold</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>&#8230;e o resultado:</p>
<p style="text-align: center;"><img class="size-full wp-image-289 aligncenter" title="Contadores estilizados" src="http://blog.diovani.com/wp-content/uploads/2009/12/counters-03.png" alt="Contadores estilizados" width="94" height="101" /></p>
<p>Embora eu tenha utilizados elementos &lt;div&gt; nos meus exemplos, contadores podem ser adicionados a qualquer lista de elementos, incluindo as linhas ou colunas de uma tabela, por exemplo.</p>
<p>Todas as propriedades acima fazem parte das recomendações da W3C para CSS nível 2, que podem ser encontradas em <a href="http://www.w3.org/TR/CSS2/generate.html" target="_self">http://www.w3.org/TR/CSS2/generate.html</a>, e são suportadas pelos navegadores Firefox 3.0, MSIE 8, Google Chrome 2.0, Safari 3.0 e Opera 9.0, ou superiores.</p>
<p><em>Fonte: <a href="http://www.w3.org/TR/CSS2/generate.html" target="_self">http://www.w3.org/TR/CSS2/generate.html</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2009/12/07/contadores-e-auto-numeracao-em-css2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Enlightenment DR17 agora no Debian Unstable</title>
		<link>http://blog.diovani.com/2009/11/29/enlightenment-dr17-e17-agora-no-debian-unstable/</link>
		<comments>http://blog.diovani.com/2009/11/29/enlightenment-dr17-e17-agora-no-debian-unstable/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 16:34:27 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[enlightenment]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/?p=281</guid>
		<description><![CDATA[Embora já faça algum tempo, desde 07 de Julho pra ser exato, descobri este fim de semana, enquanto atualizava os pacotes do meu Debian que agora o E17 está disponível entre os pacotes do debian.
A cerca de dois anos, o E17 podia ser instalado no Debian através de repositórios não-oficiais, porém estes repositórios foram descontinuados, [...]]]></description>
			<content:encoded><![CDATA[<p>Embora já faça algum tempo, desde 07 de Julho pra ser exato, descobri este fim de semana, enquanto atualizava os pacotes do meu Debian que agora o <a href="http://www.enlightenment.org/p.php?p=about/e17">E17</a> está disponível entre os pacotes do debian.</p>
<p>A cerca de dois anos, o E17 podia ser instalado no Debian através de repositórios não-oficiais, porém estes repositórios foram descontinuados, permitindo aos usuários obterem e instalarem o <em>Desktop Shell</em> apenas via <em>svn</em> (como eu tenho feito desde então) ou pelos <em>snapshots</em> disponibilizados periodicamente.  Porém, felizmente para os usuários do Debian e do E17, desde Julho, o E17 está oficialmente disponível entre os pacotes do Debian Sid (<a href="http://packages.debian.org/sid/e17">http://packages.debian.org/sid/e17</a>), podendo ser instalado facilmente pelo <em>aptitude.</em></p>
<p>Para tanto, basta que você tenha os repositórios do Debian Sid em seu <em>/etc/apt/sources.list:</em></p>
<pre>deb http://ftp.debian.org/debian/ unstable main</pre>
<p>&#8230;e instalar, utilizando os comandos:</p>
<pre># aptitude update &amp;&amp; aptitude install e17</pre>
<p>:D</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2009/11/29/enlightenment-dr17-e17-agora-no-debian-unstable/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>E se o sistema operacional mais usado fosse o Linux &#8230;</title>
		<link>http://blog.diovani.com/2009/05/23/e-se-o-sistema-operacional-mais-usado-fosse-o-linux/</link>
		<comments>http://blog.diovani.com/2009/05/23/e-se-o-sistema-operacional-mais-usado-fosse-o-linux/#comments</comments>
		<pubDate>Sat, 23 May 2009 20:54:02 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2009/05/23/e-se-o-sistema-operacional-mais-usado-fosse-o-linux/</guid>
		<description><![CDATA[Recebi este texto de uma lista da qual participo. Ele foi previamente publicado no forum Darkside e, aparentemente, saiu primeiramente no site do Mandriva.
Trata-se de um ponto de vista bem-humorado, de um usuário GNU/Linux ao tentar migrar para windows&#8230;
&#8220;Eu compreendo o indivíduo que declarou ter problemas em passar do Windows para o Linux. Senti o [...]]]></description>
			<content:encoded><![CDATA[<p><em>Recebi este texto de uma lista da qual participo. Ele foi previamente <a href="http://forum.darkside.com.br/vb/showthread.php?p=965282#post965282">publicado no forum Darkside</a> e, aparentemente, saiu primeiramente no site do Mandriva.</em></p>
<p><em>Trata-se de um ponto de vista bem-humorado, de um usuário GNU/Linux ao tentar migrar para windows&#8230;</em></p>
<p>&#8220;Eu compreendo o indivíduo que declarou ter problemas em passar do <em>Windows</em> para o <em>Linux</em>. Senti o mesmo ao experimentar o Windows. Decidi experimentá-lo, depois de alguns amigos que o usam a toda a hora me dizerem que era ótimo.</p>
<p>Fui até ao site da Microsoft para baixá-lo mas não estava lá disponível. Fiquei frustrado porque não consegui descobrir como se baixava o mesmo. Por fim tive que perguntar a um amigo e ele disse-me que tinha de o comprar.</p>
<p>De carro, fui até à Staples e pedi a um dos vendedores uma cópia do Windows. Ele perguntou-me qual, eu disse-lhe: &#8220;Quero a mais completa, por favor&#8221; e ele respondeu: &#8220;São $599, por favor&#8230;&#8221;. Soltei um palavrão e voltei para casa de mãos abanando.</p>
<p>Um dos meus amigos deu-me uma cópia do Windows XP mas disse-me para não dizer nada a ninguém. Achei estranho porque faço sempre cópias do Linux para qualquer pessoa que me peça e digo sempre para passar essa cópia a qualquer outra pessoa que esteja interessada, uma vez que já precisem dela. De qualquer forma coloquei o CD no leitor e esperei que iniciasse o sistema do &#8220;Live CD&#8221;. Não funcionou. A única coisa que fazia era perguntar-me se o queria instalar. Telefonei para um dos meus amigos, para saber se estava a fazer alguma asneira, mas ele disse-me: &#8220;O XP não roda o sistema diretamente do CD&#8221;.</p>
<p>Decidi, então, instalá-lo. Segui as instruções que apareciam na tela mas comecei a ficar nervoso porque não perguntou nada sobre os outros sistemas operacionais. Quando instalei o Linux, ele reconheceu que tinha outros sistemas operacionais na máquina e perguntou-me se queria criar uma nova partição e instalar o Linux lá. Voltei a ligar para o meu amigo e ele disse-me que o Windows elimina qualquer outro sistema operacional que encontra, ao instalar-se.</p>
<p>Fiz uma cópia de segurança das minhas coisas e joguei-me de cabeça na instalação. A instalação foi bastante simples, tirando a parte em que tive que escrever umas letras e um código. Tive de ligar outra vez para o meu amigo mas ele ficou chateado e veio escrever ele próprio o código. Voltou a dizer-me para não dizer nada a ninguém (!!!).Depois de reiniciar o computador, dei corrida de olhos pelo sistema.</p>
<p>Fiquei chocado quando me deixou mudar as configurações do sistema sem pedir o acesso de root. O meu amigo começou a ficar um bocado irritado quando liguei outra vez para ele, mas acabou por aparecer em minha casa. Disse-me que o acesso de root era dado logo na inicialização. Tratei logo de fazer outra conta de usuário normal e passei a usá-la.<br />
Comecei a ficar confuso quando tentei fazer mudanças e o sistema, ao invés de pedir acesso de root, disse-me que tinha que fechar a sessão<br />
de utilizador normal e abrir uma sessão como administrador. Comecei, então, a perceber porque é que tantas pessoas entram sempre como root e tive um arrepio na espinha.</p>
<p>Bom, mas já era hora de trabalhar. Fui ao menu &#8220;Iniciar -&gt; Programas&#8221;, para abrir uma planilha que eu precisava terminar, mas não consegui encontrar a aplicação de planilhas. O meu amigo<br />
disse-me que o Windows não trazia nenhuma aplicação dessas e que eu teria que a baixar da Internet. &#8220;Oh&#8230;&#8221;, pensei, &#8220;uma distribuição<br />
básica&#8221;. Fui ao &#8220;Adicionar/Remover Programas&#8221; do painel de controle<br />
(tal como no Linux), mas não havia lá programas para adicionar. Apenas deixava remover os programas. Não consegui encontrar o botão para adicionar aplicações. O meu amigo disse-me que eu tinha que procurar as aplicações por minha conta. Depois de muita pesquisa no Google, lá encontrei, descarreguei e instalei o OpenOffice.org.</p>
<p>Para dizer a verdade, diverti-me à brava com o Windows. Não entendi muito da terminologia&#8230; porque é que há um drive A, depois um C&#8230; onde é que está o drive B? Achei a distribuição demasiado básica, não<br />
inclui nenhuma aplicação que seja verdadeiramente de produtividade e torna-se muito confuso procurá-la. O meu amigo disse-me que eu precisava de software anti-vírus e anti-spyware, mas o Windows não<br />
vinha com nada disso.</p>
<p>Achei-o difícil, confuso e demasiado trabalhoso para mim. Pode ser bom para uma pessoa que seja do tipo técnico, como o meu amigo, mas eu fico-me pelo Linux, obrigado.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2009/05/23/e-se-o-sistema-operacional-mais-usado-fosse-o-linux/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Workshop Tchelinux em POA</title>
		<link>http://blog.diovani.com/2009/05/16/workshop-tchelinux-em-poa/</link>
		<comments>http://blog.diovani.com/2009/05/16/workshop-tchelinux-em-poa/#comments</comments>
		<pubDate>Sat, 16 May 2009 16:44:04 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[evento]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[notícias]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2009/05/16/workshop-tchelinux-em-poa/</guid>
		<description><![CDATA[Além dos já divulgados eventos oficiais do Tchelinux, (a serem) realizados este ano. O grupo está promovendo, juntamente com o Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas da FTEC Porto Alegre, 12 workshops e tutoriais sobre linguagens de programação e ferramentas para desenvolvimento e colaboração, a serem realizados no próximo dia 30.
http://www.tchelinux.org/2009/workshop/ [...]]]></description>
			<content:encoded><![CDATA[<p>Além dos já divulgados eventos oficiais do Tchelinux, (a serem) realizados este ano. O grupo está promovendo, juntamente com o Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas da <a href="http://www.ftec.com.br/">FTEC Porto Alegre</a>, 12 workshops e tutoriais sobre linguagens de programação e ferramentas para desenvolvimento e colaboração, a serem realizados no próximo dia 30.</p>
<p align="center"><a href="http://www.tchelinux.org/2009/workshop/">http://www.tchelinux.org/2009/workshop/ </a></p>
<p>Diferente das palestras geralmente realizadas nos eventos do Tchelinux, estes Workshops terão mais de três horas de duração cada um, serão voltados exclusivamente para a área de Desenvolvimento de Software, e requerem pelo menos um mínimo de conhecimento sobre lógica de programação por parte dos participantes. Uma ótima oportunidade para conhecer novas linguagens e ferramentas.</p>
<p>Como nos eventos, a participação é gratuíta, exigindo apenas a doação de dois quilos de alimentos não perecíveis.</p>
<p>Maiores informações, programação, localização e inscrições disponíveis na <a href="http://www.tchelinux.org/2009/workshop/">página do evento</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2009/05/16/workshop-tchelinux-em-poa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tchelinux 2009 &#8211; Gravataí</title>
		<link>http://blog.diovani.com/2009/03/19/tchelinux-2009-gravatai/</link>
		<comments>http://blog.diovani.com/2009/03/19/tchelinux-2009-gravatai/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 01:26:40 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[evento]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[notícias]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2009/03/19/tchelinux-2009-gravatai/</guid>
		<description><![CDATA[Bem, pessoal, sei que o blog ficou bastante tempo abandonado, e que fazem poucos posts que falei sobre o último Tchelinux de 2008. Pois bem, mesmo assim, a temporada Tchelinux 2009 já está aí, e o primeiro evento será na ULBRA de Gravataí.
Este ano, o evento terá 9 edições, em diversas cidades do estado. Segue [...]]]></description>
			<content:encoded><![CDATA[<p>Bem, pessoal, sei que o blog ficou bastante tempo abandonado, e que fazem poucos posts que falei sobre o último Tchelinux de 2008. Pois bem, mesmo assim, a temporada Tchelinux 2009 já está aí, e o primeiro evento será na ULBRA de Gravataí.</p>
<p><a href="http://www.tchelinux.org/gravatai/"><img src="http://www.tchelinux.org/2009/gravatai/media/ULBRA_180x280.png" align="right" border="0" width="180" height="280" /></a>Este ano, o evento terá 9 edições, em diversas cidades do estado. Segue a lista:</p>
<ul>
<li>28/03 &#8211; ULBRA em Gravataí</li>
<li>25/04 &#8211; URISAN em Santo Ângelo</li>
<li>23/05 &#8211; URCAMP em Bagé</li>
<li>13/06 &#8211; FTEC em Caxias do Sul</li>
<li>04/07 &#8211; ULBRA em São Jerônimo</li>
<li>15/08 &#8211; UCPel em Pelotas</li>
<li>12/09 &#8211; UNIFRA em Santa Maria</li>
<li>10/10 &#8211; FAE em Erechim</li>
<li>07/11 &#8211; PUC em Porto Alegre</li>
</ul>
<p>Para incrementar mais um pouco, serão realizados 4 eventos temáticos no auditório da Livraria Cultura, em Porto Alegre:</p>
<ul>
<li>05/04 &#8211; “Do UNIX ao Linux: a história do Software Livre”</li>
<li>21/06 &#8211; “Vídeo e Fotografia Digital, da Captura a Edição com Software Livre”</li>
<li>30/08 &#8211; “Desenvolvendo aplicações para o Google Android”</li>
<li>18/10 &#8211; “IPTables: entenda como funciona o Firewall no Linux”</li>
</ul>
<p>Como já disse, <a href="http://www.tchelinux.org/2009/gravatai/">o primeiro Tchelinux de 2009 será na ULBRA de Gravataí</a>, e as <a href="http://www.tchelinux.org/2009/gravatai/inscricoes.html">inscrições já estão abertas</a>.</p>
<p>Meus planos são de participar, pelo menos, deste primeiro e do último, em POA, além dos eventos sobre &#8220;<strike>Do UNIX ao Linux</strike>&#8221; e &#8220;IPTables&#8221;, na Livraria da Cultura.</p>
<p>Nos encontramos lá&#8230;</p>
<p><span id="more-278"></span><em>[updated]</em>  Achei melhor apenas atualizar aqui, ao invés de criar um novo post para falar sobre o evento.</p>
<p>Como Esperado, o evento em Gravataí estava ótimo. Das palestras que participei, a que mais gostei foi a sobre Sistemas Operacionais Livres, com o palestrante Fernando Massen, a qual foi bem dinâmica, exibindo demonstrações dos SOs e uma pequena história de cada, surpreendendo os perticipantes que desconheciam SOs como o Plan 9 (sucessor do Unix, totalmente distribuído) e o MenuetOS (um SO feito todo em assembly, que possui apenas 1.4MB de tamanho e roda a partir de um diskete).</p>
<p>Infelizmente não pude ficar até o final do evento, e também não pude comparecer a palestra na Livraria Cultura na semana seguinte.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2009/03/19/tchelinux-2009-gravatai/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Debian GNU/Linux 5.0 lançado</title>
		<link>http://blog.diovani.com/2009/03/16/debian-gnulinux-50-lancado/</link>
		<comments>http://blog.diovani.com/2009/03/16/debian-gnulinux-50-lancado/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 02:20:06 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[notícias]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2009/03/16/debian-gnulinux-50-lancado/</guid>
		<description><![CDATA[O Debian GNU/Linux 5.0, codinome Lenny, foi finalmente lançado no dia 14 de Fevereiro de 2009. Sim, eu sei que estou bastante atrasado com o post, mas antes tarde do que nunca.
Com o lançamento, o Debian Lenny passa a ser a atual versão stable, e a nova versão testing tem o codinome Squeeze (os ETs [...]]]></description>
			<content:encoded><![CDATA[<p>O Debian GNU/Linux 5.0, codinome <em>Lenny</em>, foi finalmente lançado no dia 14 de Fevereiro de 2009. Sim, eu sei que estou bastante atrasado com o post, mas antes tarde do que nunca.</p>
<p>Com o lançamento, o Debian <em>Lenny</em> passa a ser a atual versão <em>stable</em>, e a nova versão <em>testing</em> tem o codinome <em>Squeeze</em> (os ETs do filme/desenho <em>Toy Story</em>, seguindo a tradição).</p>
<p>Como novidades nesta versão, temos suporte completo a sistemas de arquivos NTFS (boa notícia para usuários de meio-expediente Windows® / Linux) , PHP 5.2.6, Iceweasel 3.0.6 (uma versão livre do Mozilla Firefox), a adição do <a href="http://lxde.org/">LXDE</a> (um desktop leve, vindo no mesmo CD1 que tem o XFCE, recomentado para PCs com poucos recursos de hardware) como opção de ambiente desktop e melhor suporte para notebooks, incluindo o Asus EeePC, entre outras melhorias.</p>
<p>Pessoalmente, acho que esta versão está um pacote cheio, tanto para servidores como para desktops, sem precisr colocar mais nada. Para mais informações e detalhes sobre as novidades, leia a notícia oficial em <a href="http://www.debian.org/News/2009/20090214">http://www.debian.org/News/2009/20090214</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2009/03/16/debian-gnulinux-50-lancado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quanto mais simples melhor</title>
		<link>http://blog.diovani.com/2009/01/20/quanto-mais-simples-melhor/</link>
		<comments>http://blog.diovani.com/2009/01/20/quanto-mais-simples-melhor/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 00:08:24 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2009/01/20/quanto-mais-simples-melhor/</guid>
		<description><![CDATA[ Fazendo manutenção em um script hoje no trabalho (código legado), me deparei com um código mais ou menos assim:

$condicao = !&#40;$var == 0&#41;;

Devo ter levado cerca de uns 5 minutos para entender o que a maldita expressão retornava. Pelo menos ela rendeu algumas risadas minhas e de meus colegas.
Acontece que, em programação, quanto mais [...]]]></description>
			<content:encoded><![CDATA[<p> Fazendo manutenção em um script hoje no trabalho (código legado), me deparei com um código mais ou menos assim:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$condicao</span> <span style="color: #339933;">=</span> <span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Devo ter levado cerca de uns 5 minutos para entender o que a maldita expressão retornava. Pelo menos ela rendeu algumas risadas minhas e de meus colegas.</p>
<p>Acontece que, em programação, quanto mais simples e fácil de entender se deixar uma expressão melhor. Mesmo que você seja o único a ter acesso ao fontes posteriormente.</p>
<p>Não quero criticar o autor do código que eu estava mantendo (até porque não sei quem é), mas apenas estou usando o (mau) código acima para exemplificar o tema do tópico.</p>
<p>Falando de boas práticas de programação, não se nega uma comparação deste jeito. O correto seria usar o operador NOT EQUAL (diferente):</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$condicao</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>E se considerarmos as facilidades de conversão de tipos do PHP, podemos simplificar ainda mais, bastanto usar um <a href="http://www.php.net/manual/pt_BR/language.types.type-juggling.php#language.types.typecasting">cast</a>:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$condicao</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>bool<span style="color: #009900;">&#41;</span> <span style="color: #000088;">$var</span><span style="color: #339933;">;</span></pre></div></div>

<p>Explicando&#8230;<br />
A expressão acima (primeiro exemplo) compara se a variável é igual a 0 (zero) e depois nega o resultado, assim se a variável for igual a zero, a comparação retornará true (verdadeiro), que se tornará false (falso) devido a negação (!), o que dá o mesmo resultado que comparar se a variável é diferente de 0 (zero)(segundo exemplo). Como em PHP 0 (zero) é validado com false (falso) e qualquer outro valor como true (verdadeiro), o resultado é o mesmo que simplesmente converter a variável para booleano (terceiro exemplo).</p>
<p>Resumindo, sempre mantenha as linhas de código o mais claras e simples o possível.<br />
Seguem algumas dicas:</p>
<ul>
<li>Evite expressões difíceis de entender, como a do exemplo deste post. Verifique há um modo mais simples de obter o mesmo resultado com código mais claro e/ou menor, se não encontrar, adicione comentário para tornar a expressão mais clara;</li>
<li>use nomes de variáveis que exemplifiquem sua finalidade. Prefira usar <em>$cor</em>, ao invés de <em>$c</em> ou <em>$x</em>;</li>
<li>sempre indente corretamente seu código, deixando os bloco <em>{}</em> bem visíveis. Use linhas em branco entre blocos de comandos diferentes. Prefira usar <em>espaços</em> ao invés de <em>tabs</em> para indentação, assim o código fica com o mesmo visual em qualquer editor;</li>
<li>evite blocos vazios, como um <em>if</em> ou <em>loop</em> sem corpo, é comum encontrarmos blocos como:

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$valor</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$var</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'constante'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

</li>
<li>utilize <em>phpdoc</em>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009933; font-style: italic;">/**
 * Descrição da classe, método ou função
 *
 *@param tipo [variável [descrição]]
 *@return tipo [descrição]
 */</span></pre></div></div>

<p>para definir classes, interfaces, métodos, propriedades e funções. Este é o método de documentação padrão do PHP e auxilia no uso de IDEs especializadas (Eclipse PDT, Zend Studio, etc.);</li>
<li>comente <strong>TODA</strong> linha de código sempre que possível.</li>
</ul>
<p>Com estas boas práticas, seus códigos deverão ter uma vida útil muito mais longa (sim, código fonte tem validade, e a clareza e documentação destes serve de embalagem).</p>
<p>Só pra concluir, vou colocar uma tabelinha de comparações básicas em PHP aqui, do tipo que a gente sempre fica em dúvida quando usa um <em>if($var) </em>:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//array vazio, string vazia, 0 com ou sem aspas e null</span>
<span style="color: #666666; font-style: italic;">//são todos avaliados como FALSE (falso)</span>
<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;&quot;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">''</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'0'</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">null</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//se usados operadores de comparação explícita,</span>
<span style="color: #666666; font-style: italic;">//que também comparam os tipos (=== e !==)</span>
<span style="color: #666666; font-style: italic;">//APENAS valores IDÊNTICOS são avaliados</span>
<span style="color: #666666; font-style: italic;">//como TRUE (verdadeiro)</span>
<span style="color: #cc66cc;">0</span> <span style="color: #339933;">===</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
<span style="color: #0000ff;">'abc'</span> <span style="color: #339933;">===</span> <span style="color: #0000ff;">'abc'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//todos diferentes se comparados também em seus tipos</span>
<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!==</span> <span style="color: #0000ff;">&quot;&quot;</span> <span style="color: #339933;">!==</span> <span style="color: #0000ff;">''</span> <span style="color: #339933;">!==</span> <span style="color: #0000ff;">'0'</span> <span style="color: #339933;">!==</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">!==</span> <span style="color: #009900; font-weight: bold;">null</span> <span style="color: #339933;">!==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2009/01/20/quanto-mais-simples-melhor/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
