<?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/"
	>

<channel>
	<title>Noel Rocha</title>
	<atom:link href="http://www.noelrocha.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.noelrocha.com/blog</link>
	<description>Capacitando o sistema...</description>
	<pubDate>Sun, 07 Jun 2009 22:09:50 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>O que o IE 8 tem que o Firefox não tem</title>
		<link>http://www.noelrocha.com/blog/2009/06/07/o-que-o-ie-8-tem-que-o-firefox-nao-tem/</link>
		<comments>http://www.noelrocha.com/blog/2009/06/07/o-que-o-ie-8-tem-que-o-firefox-nao-tem/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 22:09:50 +0000</pubDate>
		<dc:creator>Noel Rocha</dc:creator>
		
		<category><![CDATA[Dicas]]></category>

		<category><![CDATA[Firefox]]></category>

		<category><![CDATA[Outros]]></category>

		<category><![CDATA[Programação]]></category>

		<category><![CDATA[Tecnologia]]></category>

		<category><![CDATA[Internet Explorer 8]]></category>

		<category><![CDATA[Nova sessão]]></category>

		<category><![CDATA[recursos novos]]></category>

		<guid isPermaLink="false">http://www.noelrocha.com/blog/?p=346</guid>
		<description><![CDATA[Eu nunca fui fã do IE e na maioria das vezes eu utilizo-o por necessidade seja para testar compatibilidade de sites que faço com outros navegadores ou para acessar sites que burramente só funcionam no IE.
Certa vez estudando o IE descobri que ele tem uma opção chamada &#8220;Nova sessão&#8220;.

Se você é programador web já deve [...]]]></description>
			<content:encoded><![CDATA[<p>Eu nunca fui fã do <strong>IE </strong>e na maioria das vezes eu utilizo-o por necessidade seja para testar compatibilidade de <strong>sites que faço</strong> com outros navegadores ou para acessar sites que <strong>burramente</strong> só funcionam no IE.</p>
<p>Certa vez estudando o IE descobri que ele tem uma opção chamada &#8220;<strong>Nova sessão</strong>&#8220;.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-348" title="ie8-vs-firefox1" src="http://www.noelrocha.com/blog/wp-content/uploads/2009/06/ie8-vs-firefox1.gif" alt="O que o IE 8 tem que o Firefox não tem" width="393" height="215" /></p>
<p>Se você é <strong>programador web</strong> já deve fazer idéia o que é isso e como é útil. Para quem não conhece vou explicar o que é e como pode ser útil.</p>
<p>Uma sessão seria um bilhete, passaporte, flyer e sendo mais específico um identificador entre o seu navegador e o servidor. Esse identificador é gerado de acordo com o nome do site que você está acessando e o tipo de navegador que você está utilizando.</p>
<p>Geralmente sessão é utilizada em sites como o do painel da HostNet, Gmail, Orkut e etc&#8230; para permanecer logado mesmo quando você fecha a janela ou aba e reabre novamente.</p>
<p>A opção &#8220;<strong>Nova Sessão</strong>&#8221; do IE 8 permite que você logue no Gmail, Orkut, painel da HostNet com várias contas diferentes. Por exemplo, eu posso logar com meu usuário no Orkut em uma sessão e depois abrir uma nova sessão e logar com meu usuário Fake. Nesse caso em cada sessão só terá dados pertecentes ao perfil que eu loguei.</p>
<p>Exista um site que gerenciava informações de várias empresas e para você ver a informação de uma empresa você teria que logar com o usuário referente a ela. Caso você quisesse ver informações de outra empresa você teria que deslogar de uma empresa e logar na outra. Com o tempo surgiu a necessidade de comparar dados de duas ou mais empresas lado a lado porém seria trabalhoso ficar logando e deslogando toda hora que fosse necessário ver informações de uma empresa.</p>
<p>Uma solução rápida na época a nível de servidores foi criar um alias no Virtual Host que recebesse qualquer coisa como subdomínio. Exemplo:<br />
*.site_comparador_de_empresas.com</p>
<p>Assim quando fosse necessário abrir informações de 2 empresas bastava abrir uma nova aba e digitar algo antes do domínio principal e logar com os dados da segunda empresa. Exemplo:<br />
segunda_empresa.site_comparador_de_empresas.com</p>
<p>Desse jeito era criada uma nova sessão para o domínio  segunda_empresa.site_comprador_de_empresas.com.</p>
<p>Talvez o Firefox também adote essa solução e a que citei fique obsoleta.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.noelrocha.com/blog/2009/06/07/o-que-o-ie-8-tem-que-o-firefox-nao-tem/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tabela de Produto com preço total gerado a cada seleção</title>
		<link>http://www.noelrocha.com/blog/2009/06/07/tabela-de-produto-com-preco-total-gerado-a-cada-selecao/</link>
		<comments>http://www.noelrocha.com/blog/2009/06/07/tabela-de-produto-com-preco-total-gerado-a-cada-selecao/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 20:38:59 +0000</pubDate>
		<dc:creator>Noel Rocha</dc:creator>
		
		<category><![CDATA[Dicas]]></category>

		<category><![CDATA[Programação]]></category>

		<category><![CDATA[Tutoriais]]></category>

		<category><![CDATA[DOM]]></category>

		<category><![CDATA[Faculdade]]></category>

		<category><![CDATA[HTML]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.noelrocha.com/blog/?p=331</guid>
		<description><![CDATA[Esse foi um exercício bastante interessante que tive semana passada na faculdade durante a aula de Linguagem de Script do professor Carlos Sicsu. Nesse aplicativo que faremos será utilizado as tecnologias HTML, DOM e JAVASCRIPT.
O enunciado do exercício era o seguinte:
Construir uma página que contenha uma tabela chamada &#8220;produto-preco&#8221;. A cada selecao de um produto, [...]]]></description>
			<content:encoded><![CDATA[<p>Esse foi um exercício bastante interessante que tive semana passada na faculdade durante a aula de <strong>Linguagem de Script</strong> do professor<a title="Currículo Lattes" href="http://buscatextual.cnpq.br/buscatextual/visualizacv.jsp?id=K4701776P6" target="_blank"> Carlos Sicsu</a>. Nesse aplicativo que faremos será utilizado as tecnologias <strong>HTML</strong>, <strong>DOM </strong>e <strong>JAVASCRIPT</strong>.</p>
<p>O enunciado do exercício era o seguinte:<br />
<em>Construir uma página que contenha uma tabela chamada &#8220;produto-preco&#8221;. A cada selecao de um produto, o preco total de compra deve ser visualizado ao final da tabela. O preço poderá conter casas decimais.<br />
</em></p>
<p>Criando função <em>calc_value_of_selected_products()</em> em JavaScript que calculará o preço total dos produtos:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script language<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;javascript&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #003366; font-weight: bold;">function</span> calc_price_of_selected_products<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #006600; font-style: italic;">// Obtendo formulário que contém os checkboxes com o valor dos produtos</span>
	<span style="color: #003366; font-weight: bold;">var</span> products    <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;product&quot;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #006600; font-style: italic;">// Preço será do tipo float por causa dos produtos que podem ter</span>
	<span style="color: #006600; font-style: italic;">// centavos em seu valor</span>
	<span style="color: #003366; font-weight: bold;">var</span> total_price <span style="color: #339933;">=</span> <span style="color: #CC0000;">0.0</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">// Verificando quais checkboxes foram selecionados e somando seu valor;</span>
  	<span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>i <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> products.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>products<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">checked</span> <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			total_price <span style="color: #339933;">=</span> total_price <span style="color: #339933;">+</span> parseFloat<span style="color: #009900;">&#40;</span>products<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">value</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">// Atualizando div que contém o preço total dos produtos</span>
	document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;total&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Total: R$ &quot;</span> <span style="color: #339933;">+</span> total_price.<span style="color: #660066;">toFixed</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Para que o valor em centavos fique com 2 casas decimais é necessário usar a função <strong>toFixed()</strong>. Exemplo de seu uso:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">parseFloat<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;10.2&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toFixed</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #006600; font-style: italic;">// 10.20</span>
parseFloat<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;100&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toFixed</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #006600; font-style: italic;">// 100.00</span></pre></div></div>

<p>O preço de cada produto ficará dentro do value em cada checkbox. O checkbox deverá chamar a função calc_price_of_selected_product() que criamos toda vez que for clicado nele.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>input type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;checkbox&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;135.00&quot;</span> onclick<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;calc_price_of_selected_products()&quot;</span><span style="color: #339933;">&gt;</span></pre></div></div>

<p> A Construindo a estrutura da tabela em <strong>HTML</strong> com alguns produtos e seus respectivos preços:</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;">form</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;product&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">table</span> <span style="color: #000066;">border</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;1&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">tr</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>Produtos<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>R$<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">tr</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">tr</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;checkbox&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;135.99&quot;</span> <span style="color: #000066;">onclick</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;calc_price_of_selected_products()&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>Oculos<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>135.99<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">tr</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">tr</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;checkbox&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;53.20&quot;</span> <span style="color: #000066;">onclick</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;calc_price_of_selected_products()&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>Sunga<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>53.20<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">tr</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">tr</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;checkbox&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;97.30&quot;</span> <span style="color: #000066;">onclick</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;calc_price_of_selected_products()&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>Biquini<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">td</span>&gt;</span>97.30<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">td</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">tr</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">table</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">form</span>&gt;</span></pre></div></div>

<p>A soma de todos os valores selecionados deverá ser exibido pela div total. Essa div deverá ser inserida após o formulário.</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;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;total&quot;</span>&gt;</span>Total: R$ 0.00<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>O funcionamento desse script pode ser visto no endereço abaixo:<br />
<a href=" http://www.noelrocha.com/blog/examples/tabela_produtos_preco.html" target="_new"> http://www.noelrocha.com/blog/examples/tabela_produtos_preco.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.noelrocha.com/blog/2009/06/07/tabela-de-produto-com-preco-total-gerado-a-cada-selecao/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Função recursiva para evitar Sql Injection</title>
		<link>http://www.noelrocha.com/blog/2009/05/31/funcao-recursiva-para-evitar-sql-injection/</link>
		<comments>http://www.noelrocha.com/blog/2009/05/31/funcao-recursiva-para-evitar-sql-injection/#comments</comments>
		<pubDate>Sun, 31 May 2009 03:33:47 +0000</pubDate>
		<dc:creator>Noel Rocha</dc:creator>
		
		<category><![CDATA[Dicas]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.noelrocha.com/blog/?p=322</guid>
		<description><![CDATA[Sempre gostei de fazer funções recursivas e quando posso tento utilizá-las pois acho charmosas e economizam código mas elas requerem um pouco mais de raciocíonio e atenção devido a facilidade de se criar loop/laço infinito. 
A primeira função recursiva você nunca esquece. Eu lembro que a minha primeira foi uma implementação de um rm -rf [...]]]></description>
			<content:encoded><![CDATA[<p>Sempre gostei de fazer <strong>funções recursivas</strong> e quando posso tento utilizá-las pois acho charmosas e economizam código mas elas requerem um pouco mais de raciocíonio e atenção devido a facilidade de se criar loop/laço infinito. </p>
<p>A primeira função recursiva você nunca esquece. Eu lembro que a minha primeira foi uma implementação de um rm -rf em PHP.</p>
<p>A função recursiva que está logo abaixo é útil quando se tem um site vulnerável a <strong>Sql Injection</strong> por falta de crítica dos dados ou por causa da diretiva <strong><a title="Diretiva Register Globals" href="http://br.php.net/manual/pt_BR/ini.core.php#ini.register-globals" target="_blank">register_globals</a></strong> estar habilitada. Eu fiz e nunca mais precisei dar manutenção nessa função mas se precisarem é só falar.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> escape<span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">get_magic_quotes_gpc</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> 1<span style="color: #009900;">&#41;</span>
			<span style="color: #000088;">$var</span> <span style="color: #339933;">=</span> <span style="color: #990000;">stripslashes</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #990000;">mysql_escape_string</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$chave</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$valor</span><span style="color: #009900;">&#41;</span>
		<span style="color: #000088;">$var</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$chave</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> escape<span style="color: #009900;">&#40;</span><span style="color: #000088;">$valor</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$var</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Seu funcionamento é muito simples.</p>
<p><em><strong>1</strong> - Receber Argumento.<br />
<strong>2</strong> - Se o argumento não for um array ele deverá ser escapado e retornado.<br />
<strong>3</strong> - Caso contrário o elemento é um array.<br />
<strong>3.1</strong> - Logo a função escape() deverá ser chamada para cada elemento do array.<br />
<strong>3.2</strong> - O resultado da chamada da função escape() deverá ser salvo na posição em que estava o elemento.<br />
<strong>3.3</strong> - O array deverá ser retornado com os seus elementos escapados.</em></p>
<p>O modo de usar essa função é muito simples e é orientado que seja chamada antes das queries que recebem valores externos.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// Escapando variáveis passadas por GET</span>
<span style="color: #000088;">$_GET</span> <span style="color: #339933;">=</span> escape<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Escapando variáveis passadas por POST</span>
<span style="color: #000088;">$_POST</span> <span style="color: #339933;">=</span> escape<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Exemplo de array escapado com essa função:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span>
  <span style="color: #0000ff;">'select'</span> <span style="color: #339933;">=&gt;</span> 
  <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span>
    <span style="color: #cc66cc;">0</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'car'</span><span style="color: #339933;">,</span>
    <span style="color: #cc66cc;">1</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'1 or \\\'\\\''</span><span style="color: #339933;">,</span>
  <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #009900;">&#41;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.noelrocha.com/blog/2009/05/31/funcao-recursiva-para-evitar-sql-injection/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ERROR 1005: Can&#8217;t create table (errno: 121) - ErrorNr. 1005</title>
		<link>http://www.noelrocha.com/blog/2009/03/12/error-1005-cant-create-table-errno-121-errornr-1005/</link>
		<comments>http://www.noelrocha.com/blog/2009/03/12/error-1005-cant-create-table-errno-121-errornr-1005/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 13:13:20 +0000</pubDate>
		<dc:creator>Noel Rocha</dc:creator>
		
		<category><![CDATA[Dicas]]></category>

		<category><![CDATA[Mysql]]></category>

		<category><![CDATA[Can't create table]]></category>

		<category><![CDATA[ERROR 1005]]></category>

		<guid isPermaLink="false">http://www.noelrocha.com/blog/?p=286</guid>
		<description><![CDATA[Certa vez ocorreu esse erro quando um amigo restaurava backup do mysql e infelizmente não tinha muita coisa na web para auxiliar a resolver o erro. A mensagem de erro é bem clara LOL se você for um desenvolvedor do mysql rsrsrs&#8230;
Descobri depois de muita pesquisa que esse erro ocorre porque a query de criação [...]]]></description>
			<content:encoded><![CDATA[<p>Certa vez ocorreu esse erro quando um amigo restaurava backup do mysql e infelizmente <a href="http://forum.imasters.uol.com.br/index.php?showtopic=285629" target="_blank">não tinha muita coisa na web</a> para auxiliar a resolver o erro. A mensagem de erro é bem clara LOL se você for um desenvolvedor do mysql rsrsrs&#8230;</p>
<p>Descobri depois de muita pesquisa que esse erro ocorre porque a query de criação da tabela possui uma CONSTRAINT que tem o mesmo nome de uma outra CONSTRAINT de alguma tabela existente no banco.</p>
<p>Para resolver isso é só alterar o nome de uma das CONSTRAINT :p</p>
<p>Bom, agora está mastigadinho para vocês :p</p>
]]></content:encoded>
			<wfw:commentRss>http://www.noelrocha.com/blog/2009/03/12/error-1005-cant-create-table-errno-121-errornr-1005/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Esmola para um pobre desenvolvedor</title>
		<link>http://www.noelrocha.com/blog/2008/12/24/esmola-para-um-pobre-desenvolvedor/</link>
		<comments>http://www.noelrocha.com/blog/2008/12/24/esmola-para-um-pobre-desenvolvedor/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 15:00:23 +0000</pubDate>
		<dc:creator>Noel Rocha</dc:creator>
		
		<category><![CDATA[Imagens]]></category>

		<category><![CDATA[Outros]]></category>

		<category><![CDATA[Piadas]]></category>

		<category><![CDATA[humor]]></category>

		<guid isPermaLink="false">http://www.noelrocha.com/blog/?p=274</guid>
		<description><![CDATA[Achei muito engraçado essa propaganda que achei em uma veículo de comunicação que não me lembro.  

Na HostNet por apenas R$ 39,90 você consegue abrir seu site. O registro de domínio é apenas R$ 30 anuais e a hospedagem é apenas R$ 9,90 mensais.
]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Achei muito engraçado essa propaganda que achei em uma veículo de comunicação que não me lembro. <img src='http://www.noelrocha.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p style="text-align: center;"><img class="size-full wp-image-275 aligncenter" title="Pedir esmola para abrir um site" src="http://www.noelrocha.com/blog/wp-content/uploads/2008/12/esmola_site.jpg" alt="esmola_site" width="434" height="370" /></p>
<p style="text-align: left;">Na <a title="HostNet" href="http://www.hostnet.com.br" target="_blank">HostNet</a> por apenas R$ 39,90 você consegue abrir seu site. O <a title="Registro de domínios" href="http://www.hostnet.com.br/registro.dominios.php">registro de domínio</a> é apenas R$ 30 anuais e a <a href="http://www.hostnet.com.br/planos.detalhe.php?ItPlano=7">hospedagem</a> é apenas R$ 9,90 mensais.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.noelrocha.com/blog/2008/12/24/esmola-para-um-pobre-desenvolvedor/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Top 5 Erros de SEO</title>
		<link>http://www.noelrocha.com/blog/2008/12/24/top-5-erros-de-seo/</link>
		<comments>http://www.noelrocha.com/blog/2008/12/24/top-5-erros-de-seo/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 14:17:22 +0000</pubDate>
		<dc:creator>Noel Rocha</dc:creator>
		
		<category><![CDATA[Dicas]]></category>

		<category><![CDATA[Imagens]]></category>

		<category><![CDATA[Outros]]></category>

		<category><![CDATA[Sites]]></category>

		<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://www.noelrocha.com/blog/?p=261</guid>
		<description><![CDATA[Li esse excelente artigo do Bruno Miranda no mestreSeo.com.br e achei interessante colocar aqui no blog. Tenho certeza que será útil a todos. Quem não conhece SEO e quer uma ajudinha, a www.hostnet.com tem um sistema que te dá uma baita mão com SEO. Maiores detalhes é só acessar o endereço http://www.hostnet.com.br/seo.php
Nesse artigo é listado [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Li esse excelente artigo do <a href="http://www.mestreseo.com.br/blog/author/miranda">Bruno Miranda</a> no <a href="http://www.mestreseo.com.br" target="_blank">mestreSeo.com.br</a> e achei interessante colocar aqui no blog. Tenho certeza que será útil a todos. Quem não conhece SEO e quer uma ajudinha, a <a title="HostNet Internet" href="http://www.hostnet.com" target="_blank">www.hostnet.com</a> tem um sistema que te dá uma baita mão com SEO. Maiores detalhes é só acessar o endereço <a title="Seo HostNet" href="http://www.hostnet.com.br/seo.php" target="_blank">http://www.hostnet.com.br/seo.php</a></p>
<p style="text-align: left;">Nesse artigo é listado 5 casos de SEO, envolvendo marcas famosas e seus respectivos sites. Falaremos desde erros graves de SEO, até casos onde foram gerados buzz negativos em relação a grandes empresas.</p>
<h2 style="text-align: left;">1-Caso do New York Times</h2>
<p style="text-align: left;">Segundo Matt Cutts  sugere, o Google e  outros <strong>search engines</strong> só podem varrer as partes que não são restritas dos sites. Por isso, essas sessões devem ter conteúdo novo e atualizado sempre.</p>
<p style="text-align: left;"><img class="size-full wp-image-262 alignright" style="float: right;" title="The New York Times" src="http://www.noelrocha.com/blog/wp-content/uploads/2008/12/imagem12.jpg" alt="imagem12" width="404" height="63" />O problema começa porque o <strong>NYT</strong> na época disponibilizou os conteúdos produzidos nos últimos sete dias a todos os visitantes, mas os conteúdos mais antigos ficaram disponíveis apenas para visitantes registrados, e os conteúdos especiais apenas para membros.</p>
<p style="text-align: left;">Assim, os motores de busca sabiam que o site era relevante, pois conseguiam encontrar até 20 milhões de páginas, mas não conseguiam indexar 20 milhões de vezes o formulário de login para os visitantes registrados e membros.</p>
<p style="text-align: left;">A solução foi passar a mostrar alguns conteúdos para os motores de pesquisa e outros para os visitantes normais, fazendo assim com que os motores de pesquisa consigam indexar corretamente todo o site, mas continuando a pedir aos outros visitantes para se registrarem.</p>
<p style="text-align: left;">Segundo Danny Sullivan editor do SearchEngineWatch, o <strong>New York Times</strong> mostrou ao Google que é possível fazer uso de <strong>cloaking</strong> sem  objetivar spam ou qualquer outra técnica ilegal.</p>
<p style="text-align: left;">Depois do caso do <strong>New York Times</strong> a idéia de <strong>cloaking</strong> sem <strong>spam</strong> vem sendo muito mais aceita.</p>
<h2 style="text-align: left;">2-Google Pune site das alemãs Bmw e Ricoh</h2>
<p style="text-align: left;">O Google deixou de exibir o site alemão da BMW e da Ricoh pelos mesmos adotarem técnicas que artificialmente os posicionavam nas primeiras posições das respostas do buscador.</p>
<p style="text-align: left;">Estes sites usavam uma técnica conhecida como “doorway pages”, que “exibem” um conteúdo feito sob medida para os sistemas dos buscadores e outras páginas para os visitantes reais.</p>
<ul style="text-align: center;">
<li>
<h3 style="text-align: left;">Página da BMW mostrada para os sistemas de busca</h3>
</li>
<p style="text-align: center;"><img class="size-full wp-image-263 aligncenter" title="Página da BMW mostrada para os sistemas de busca" src="http://www.noelrocha.com/blog/wp-content/uploads/2008/12/imagem32.jpg" alt="BMW" width="435" height="414" /></p>
</ul>
<p><span id="more-261"></span></p>
<ul style="text-align: center;">
<li>
<h3 style="text-align: left;">Página da BMW mostrada para os visitantes</h3>
</li>
</ul>
<div style="text-align: center;"><img class="aligncenter size-full wp-image-264" title="Página da BMW mostrada para os visitantes" src="http://www.noelrocha.com/blog/wp-content/uploads/2008/12/imagem4.jpg" alt="Página da BMW mostrada para os visitantes" width="450" height="370" /></p>
<h2 style="text-align: left;">3-Boticário e Net virtua</h2>
<p style="text-align: left;">Um famoso caso, onde digitando o nome de ambas as empresas no Google, o mesmo apresentava resultados que denegriam suas marcas na primeira página. A <a href="http://www.google.com.br/search?q=net+virtua&amp;sourceid=navclient-ff&amp;ie=UTF-8&amp;rlz=1B3GGGL_pt-BRBR290BR290" target="_blank">Net Virtua apresenta esse problema até  hoje</a>, e a Boticário já resolveu o problema!</p>
<p style="text-align: center;"><a href="http://www.mestreseo.com.br/blog/wp-content/uploads/2008/12/net-virtua-seo.png"><img class="size-full wp-image-265 aligncenter" title=" Net virtua nas buscas do google" src="http://www.noelrocha.com/blog/wp-content/uploads/2008/12/net-virtua-seo-255x300.png" alt=" Net virtua nas buscas do google" width="255" height="300" /><br />
</a></p>
<h2 style="text-align: left;">3-Vascaiu.com(Exemplo atual)</h2>
<p style="text-align: left;">Atualmente foi  criado um site, para zombar um time que caiu para a segunda divisão do  campeonato brasileiro o <a href="http://www.vascaiu.com/">vascaiu.com</a>, o  site não tem intenções nenhuma de trabalhar em SEO, mas é um ótimo exemplo de  falhas gritantes na nossa area.</p>
<p style="text-align: left;">O site é um exemplo cliché de uma técnica Black Hat bem conhecida, que é  o “invisible text” (texto invisivel), técnica que consiste em inserir um texto na mesma cor que o fundo da página para aumentar a quantidade de palavras-chave ou para colocar palavras-chave populares que não tem relação com o site.</p>
<p style="text-align: center;"><img class="size-full wp-image-266 aligncenter" title="Vascaiu.com (Um exemplo atual)" src="http://www.noelrocha.com/blog/wp-content/uploads/2008/12/vascaiu-seo-300x291.png" alt="Vascaiu.com (Um exemplo atual)" width="300" height="291" /></p>
<p style="text-align: left;">Repare no texto bem  abaixo do banner em letras miúdas</p>
<pre style="text-align: left;" lang="xml"><span style="font-size: 2pt;">vasco vascaiu cariocas
					campeonato brasileiro flamengo fluminense botafogo flaflu
					segunda divisão 2009 corinthians palmeiras são paulo santos
					internacional cruzeiro grêmio santo andré são caetano
					figueirense flamerda bambis gambás porcos sangue jovem
					independente gaviões da fiel mancha verde timinho edmundo </span></pre>
<p style="text-align: left;">O código nos revela  o uso de Black Hatch.</p>
<h2 style="text-align: left;">5-O caso do “Dell Hell”</h2>
<p style="text-align: left;">Jeff Jarvis famoso jornalista norte-americano percebeu que seu computador Dell estava com defeito. Após diversos contatos com a empresa sem respostas, decidiu colocar um relato em seu blog pessoal, o BuzzMachine,com o sugestivo título de Dell Hell.</p>
<p><img class="size-full wp-image-267 alignnone" title="O caso do &quot;Dell Hell&quot;" src="http://www.noelrocha.com/blog/wp-content/uploads/2008/12/imagem71.jpg" alt="O caso do &quot;Dell Hell&quot;" width="512" height="384" /></p>
<p style="text-align: left;">O blog tornou-se  parada obrigatória para consumidores insatisfeitos, gerando um imenso buzz  negativo para a empresa Dell.</p>
<p style="text-align: left;">Neste período, a Dell  perdeu vendas e a Apple a superou em valor de mercado.</p>
<p style="text-align: left;">Passada a crise, a empresa contrato um funcionário somente para atender blogueiros e uma equipe de monitoramento para identificar consumidores que citam a empresa em blogs.</p>
<h2 style="text-align: left;">Conclusão</h2>
<p style="text-align: left;">Bem, acho que podemos ter idéia do quanto é importante ficar ligado nestes erros e aprender com eles evitando problemas, então, pesquise, leia e estude e boa sorte com seu site!</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.noelrocha.com/blog/2008/12/24/top-5-erros-de-seo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Os 5 maiores mitos sobre linux</title>
		<link>http://www.noelrocha.com/blog/2008/12/24/os-5-maiores-mitos-sobre-linux/</link>
		<comments>http://www.noelrocha.com/blog/2008/12/24/os-5-maiores-mitos-sobre-linux/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 13:03:31 +0000</pubDate>
		<dc:creator>Noel Rocha</dc:creator>
		
		<category><![CDATA[Dicas]]></category>

		<category><![CDATA[Distribuições]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Outros]]></category>

		<category><![CDATA[Tecnologia]]></category>

		<category><![CDATA[Windows]]></category>

		<category><![CDATA[Distruibuições]]></category>

		<guid isPermaLink="false">http://www.noelrocha.com/blog/?p=257</guid>
		<description><![CDATA[5. Não vou conseguir conectar o meu Ipod ou MP3.
A maioria das pessoas têm algum tipo de MP3 player e necessitam de um computador para colocar músicas neles. Alguns MP3s necessitam de softwares próprios do desenvolvedor do produto para poder gerenciá-lo, é o caso do Ipod. Mas isso não impede que utilize Linux.
Evidentemente, não é [...]]]></description>
			<content:encoded><![CDATA[<h3>5. Não vou conseguir conectar o meu Ipod ou MP3.</h3>
<p>A maioria das pessoas têm algum tipo de MP3 player e necessitam de um computador para colocar músicas neles. Alguns MP3s necessitam de softwares próprios do desenvolvedor do produto para poder gerenciá-lo, é o caso do Ipod. Mas isso não impede que utilize Linux.</p>
<p>Evidentemente, não é possível usar a App Store sem o iTunes (que tem alguns problemas na instalação com WINE), mas você pode facilmente comprar músicas da loja Amazon ou copiá-las a partir de um CD e depois colocá-las no seu Ipod/MP3. Mas se você está acostumado com o iTunes, como alternativa, você pode utilizar o SongBird que tem interface semelhante.</p>
<h3>4. Linux não é compatível com meus arquivos que tenho no Mac/Windows</h3>
<p>Processadores de texto como Word quando salvam seus arquivos .doc é possível abri-los em qualquer sistema operacional desde que tenha um reader(Um Software que possa visualizá-lo). No linux é possível abrir arquivos .doc com o OpenOffice ou BrOffice. Arquivos de música como .mp3 podem ser ouvidos através de programas como mplayer. A maioria dos formatos são abertos em todas as plataformas de sistemas operacionais. Então não se preocupe com isso.</p>
<h3>3. Não dá para jogar no Linux</h3>
<p>Isto pode não ser importante para todos, mas para algumas pessoas jogos são a principal razão pela qual eles continuam usando o Windows. Mesmo que todos os desenvolvedores de jogos não querem disponibilizar versão para Linux, como é o caso do World of Warcraft, há realmente uma grande quantidade de jogos que são nativos para o Linux(Tibia por exemplo), embora a maioria não tenham gráficos tão bonitos como os jogos recentes.</p>
<p>Existem maneiras de jogar em Linux utilizando programas gratuitos e em alguns casos pagos. Isso pode ser feito utilizando o  <a class="external" title="Codeweaver's Crossover and Crossover Games" href="http://www.codeweavers.com/" target="_blank">Codeweaver’s Crossover and Crossover Games</a>, <a class="external" title="Cedega" href="http://www.transgaming.com/" target="_blank">Cedega</a> e <a class="external" title="WINE" href="http://www.winehq.org/" target="_blank">WINE</a>(Codeweaver&#8217;s  Crossover and CrossoverGames é mais estável). Entre estes três, é possível reproduzir os jogos mais populares. Eu consigo jogar Warcraft III no Ubuntu Eee usando Wine e pode facilmente rodar outros jogos desde que seu computador suporte.</p>
<h3>2. É díficil encontrar programas para Linux</h3>
<p>A maioria das distribuições Linux vem com um repositório próprio de software útil, mas às vezes você pode querer algo que não tenha no repositório e você pode encontrá-los e instalá-los facilmente apenas fazendo uma busca no google. O Ubuntu tem mais de 3 mil pacotes disponíveis.</p>
<h3>1. Tem que saber mexer no terminal e comandos</h3>
<p>São incontáveis as vezes que eu disse que utilizava linux e imediatamente relacionaram a idéia de usar Linux com terminal. Ao longo de todos esses anos o Linux ganhou a reputação de que só é utilizável por codificadores ou por quem tem um conhecimento intermediário de programação.</p>
<p>As mesmas pessoas que acham isso são as mesmas pessoas que são surpreendidas quando eu lhe mostro o Ubuntu Eee. É possivelmente ainda mais simples do que o Windows.</p>
<p>Algumas distribuições como o openSUSE tem o menu iniciar semelhante ao do Windows e outras como o Ubuntu, tem um menu drop de aplicações que enumera todas as suas aplicações para fazer um ambiente que deve ser fácil para qualquer um.</p>
<p>A maioria das distribuições utilizam o GNOME e KDE que tem em seu ambiente gerenciadores de arquivo que são tão fáceis de utilizar como no Windows Explorer. Se você acreditava nesses mitos eu recomendo utilizar o Ubuntu ou Ubuntu Eee(EEE pc).</p>
<p>Oriundo e traduzido de [<a href="http://www.gadgetell.com/tech/comment/the-top-5-linux-myths-why-you-shouldnt-fear-the-penguin/" target="_blank">gadgetell</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.noelrocha.com/blog/2008/12/24/os-5-maiores-mitos-sobre-linux/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PhotoShop CS4 na vida real</title>
		<link>http://www.noelrocha.com/blog/2008/12/24/photoshop-cs4-na-vida-real/</link>
		<comments>http://www.noelrocha.com/blog/2008/12/24/photoshop-cs4-na-vida-real/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 11:07:25 +0000</pubDate>
		<dc:creator>Noel Rocha</dc:creator>
		
		<category><![CDATA[Imagens]]></category>

		<category><![CDATA[Outros]]></category>

		<category><![CDATA[humor]]></category>

		<guid isPermaLink="false">http://www.noelrocha.com/blog/?p=253</guid>
		<description><![CDATA[
Oriundo de [Flickr]
]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-254" title="PhotoShop CS4 na vida real" src="http://www.noelrocha.com/blog/wp-content/uploads/2008/12/photoshop.jpg" alt="photoshop" width="500" height="313" /></p>
<p>Oriundo de [<a href="http://www.flickr.com/photos/18697966@N00/3044859097/in/set-72157608377333404/" target="_blank">Flickr</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.noelrocha.com/blog/2008/12/24/photoshop-cs4-na-vida-real/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Se as linguagens de programação fossem religiões</title>
		<link>http://www.noelrocha.com/blog/2008/12/22/se-as-linguagens-de-programacao-fossem-religioes/</link>
		<comments>http://www.noelrocha.com/blog/2008/12/22/se-as-linguagens-de-programacao-fossem-religioes/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 23:41:17 +0000</pubDate>
		<dc:creator>Noel Rocha</dc:creator>
		
		<category><![CDATA[Outros]]></category>

		<category><![CDATA[Programação]]></category>

		<category><![CDATA[humor]]></category>

		<guid isPermaLink="false">http://www.noelrocha.com/blog/?p=239</guid>
		<description><![CDATA[Esse artigo foi postado em inglês no slashdot.org. Então mãos a obra:

C seria o Judaísmo - É velho e restritivo, mas a maior parte do mundo está familiarizado com as suas leis e respeitando-as. Você não pode se converter, você tem que nascer com um, senão você achará que é uma loucura. Além disso, quando [...]]]></description>
			<content:encoded><![CDATA[<p>Esse artigo foi postado em inglês no <a href="http://www.aegisub.net/2008/12/if-programming-languages-were-religions.html"><em><strong>slashdot.org</strong></em></a>. Então mãos a obra:</p>
<ul>
<li><strong>C</strong> seria o <strong>Judaísmo</strong> - É velho e restritivo, mas a maior parte do mundo está familiarizado com as suas leis e respeitando-as. Você não pode se converter, você tem que nascer com um, senão você achará que é uma loucura. Além disso, quando as coisas correm mal, muitas pessoas estão dispostas a culpar essa linguagem por causa dos problemas do mundo.</li>
<li><strong>C + +</strong> seria <strong>Islã</strong> - Pega algumas caracteristicas do C porém não mantém todas as suas leis mas acrescenta um novo conjunto muito complexo de leis em cima. É tão versátil que pode ser usado para ser o alicerce de tudo, desde grandes atrocidades a belas obra de arte. Seus seguidores estão convencidos de que é a derradeira linguagem universal e são irritados por aqueles que discordam disso. Além disso, se você insultá-la, ou a seu fundador, provavelmente vai ser ameaçado de morte pelos mais radicais seguidores.</li>
<li><strong>Java</strong> seria <strong>O fundamentalismo Cristão</strong> - Trata-se de uma base teórica sobre C, mas vazios de tantos das antigas leis que não são originais em tudo. Em vez disso, ela adiciona o seu próprio conjunto de regras rígidas, que seus seguidores acreditam ser muito superior ao original. Não só eles estão certos de que essa é a melhor linguagem do mundo mas que estão dispostos a queimar aqueles que discordam disso.</li>
<li><strong>PHP</strong> seria <strong>Cristianismo</strong> - Combate o Java para o mercado web. Inspira-se alguns conceitos de Java e C mas fica somente com aqueles conceitos que são bons para ela. Talvez não é tão coerente quanto as outras línguas mas pelo menos ela deixa  mais liberdade e ostensivamente mantém a idéia de tudo junto. Além disso, todo o conceito de &#8220;goto inferno&#8221; foi abandonada.</li>
<li><strong>Perl</strong> seria <strong>Voodoo</strong> - Uma série de encantações incompreensíveis que envolvem o sangue de cabras e permanentemente corrompem sua alma. Muitas vezes usado quando o seu patrão exige que você faça uma tarefa urgente a 21:00 de sexta-feira à noite.</li>
<li><strong>Lua</strong> seria <strong>Wicca</strong> - Uma panteísta linguagem que é facilmente adaptada para diferentes culturas e locais. Seu código é muito liberal e permite a utilização de técnicas que poderiam ser descritas como os usados por mágicos de linguagens mais tradicionais. Tem uma forte ligação com o &#8220;mundo da lua&#8221;.</li>
<li><strong>Ruby</strong> seria <strong>Neo-Paganismo</strong> - Uma mistura de línguas diferentes e idéias que foram empacotadas em conjunto em algo que possa ser identificada como uma linguagem. Seus seguidores estão crescendo rápido, e embora a maioria das pessoas olha para ela com suspeitas são quase todas as pessoas que mexe com Ruby bem-intencionadas e que não tem a intenção de prejudicar ninguém.</li>
</ul>
<p>Parece que quem fez o artigo era católico :p mas nos comentários do post original não faltaram comparações de linguagens como Delphi, FORTRAN e JavaScript com o catolicismo porém não é minha intenção fugir mais do que fugi do post original.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.noelrocha.com/blog/2008/12/22/se-as-linguagens-de-programacao-fossem-religioes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>O melhor tradutor online, nicetranslator.com</title>
		<link>http://www.noelrocha.com/blog/2008/12/22/o-melhor-tradutor-online-nicetranslator-com/</link>
		<comments>http://www.noelrocha.com/blog/2008/12/22/o-melhor-tradutor-online-nicetranslator-com/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 22:58:13 +0000</pubDate>
		<dc:creator>Noel Rocha</dc:creator>
		
		<category><![CDATA[Dicas]]></category>

		<category><![CDATA[Sites]]></category>

		<guid isPermaLink="false">http://www.noelrocha.com/blog/?p=221</guid>
		<description><![CDATA[Algumas palavras em inglês nos deixa confuso e as vezes seu amigo Google Tradutor te deixa ainda mais confuso.
Pesquisando, encontrei um tradutor rápido, eficaz, fácil de mexer, visual bonito e pelo que sei ele não é do google(para quem é paranóico).

Vou traduzir um post do slashdot utilizando somente o nicetranslator.com para vocês terem uma idéia [...]]]></description>
			<content:encoded><![CDATA[<p>Algumas palavras em inglês nos deixa confuso e as vezes seu amigo <strong>Google Tradutor </strong>te deixa ainda mais confuso.</p>
<p>Pesquisando, encontrei um tradutor rápido, eficaz, fácil de mexer, visual bonito e pelo que sei ele não é do google(para quem é paranóico).</p>
<p style="text-align: left;"><a href="http://www.nicetranslator.com/"><img class="size-full wp-image-234 aligncenter" title="Nice Translator" src="http://www.noelrocha.com/blog/wp-content/uploads/2008/12/nicetranslator.jpeg" alt="nicetranslator" width="454" height="286" /></a></p>
<p>Vou traduzir um post do <em><strong>slashdot</strong></em> utilizando somente o <strong>nicetranslator.com</strong> para vocês terem uma idéia de como ele é bom.<strong><br />
</strong></p>
<p><a href="http://www.nicetranslator.com">Clique aqui para acessar o nicetranslator.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.noelrocha.com/blog/2008/12/22/o-melhor-tradutor-online-nicetranslator-com/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

