<?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>The Back-up Brain Weblog</title>
	<atom:link href="http://danielsantos.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://danielsantos.org</link>
	<description>Eternally stuck in beta version.</description>
	<lastBuildDate>Tue, 31 Aug 2010 01:22:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
<image>
  <link>http://danielsantos.org</link>
  <url>http://danielsantos.org/images/favicon.ico</url>
  <title>The Back-up Brain Weblog</title>
</image>
		<item>
		<title>Undo send no GMail?</title>
		<link>http://danielsantos.org/arquivos/2010/08/30/undo-send-no-gmail/</link>
		<comments>http://danielsantos.org/arquivos/2010/08/30/undo-send-no-gmail/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 01:22:05 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Etc]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[lifehack]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://danielsantos.org/?p=3247</guid>
		<description><![CDATA[O velho provérbio chinês que diz que, na vida, há três coisas que nunca voltam atrás &#8212; a flecha lançada, a palavra pronunciada e a oportunidade perdida &#8212; já não faz mais sentido, desde a última semana. Pelo menos se trocarmos &#8220;palavra proferida&#8221; por &#8220;palavra escrita&#8220;, e estivermos falando do GMail. Ocorre que, desde o [...]]]></description>
			<content:encoded><![CDATA[
<p>O velho provérbio chinês que diz que, na vida, há três coisas que nunca voltam atrás &#8212; a flecha lançada, a palavra pronunciada e a oportunidade perdida &#8212; já não faz mais sentido, desde a última semana. Pelo menos se trocarmos &#8220;<strong>palavra proferida</strong>&#8221; por &#8220;<strong>palavra escrita</strong>&#8220;, e estivermos falando do <strong><a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9tYWlsLmdvb2dsZS5jb20v">GMail</a></strong>.</p>
<p>Ocorre que, desde o último final de semana, o usuário do serviço de e-mail do Google tem até 30 segundos para <strong>se arrepender de ter enviado uma mensagem</strong>. Vejam que, dependendo do caso, este pode ser um recurso muito útil &#8212; afinal, aquela mensagem que você passou 2 horas escrevendo, repleta com críticas sobre profissionalismo, deveria ter sido <em>sobre o seu chefe</em>, e não <strong>para o seu chefe</strong>.</p>
<p>Na verdade,  não se trata de um recurso exatamente <strong>novo</strong>, já que desde <strong>março de 2009</strong> tem sido possível utilizar esta característica. A única coisa é que o tempo de 30 segundos antes era de apenas <strong>5 segundos</strong> &#8212; insuficiente, convenhamos, para qualquer arrependimento que seja.</p>
<p>O recurso é oferecido <strong>apenas </strong>para quem tem, habilitado em sua conta de e-mail, o <strong>Google Labs. </strong>O <strong>Labs </strong>é o <em>laboratório de testes de recursos novos </em>do Google, sendo que aqueles que têm boa aprovação eventualmente são transformados em <strong>padrão </strong>não apenas para o GMail, mas também para outras aplicações da empresa. E se você nunca habilitou o <strong>Labs </strong>em sua conta antes não há problema: Depois de fazer <em>login </em>no GMail, basta procurar pela palavra <strong></strong><strong>more</strong>, no canto superior esquerdo. Clique no link, e escolha <strong></strong><strong>even more</strong>. Clique sobre <strong>Google Labs</strong>, que estará do lado direito, próximo da figura de uma pipeta verde.</p>
<p>Com o <strong>Google Labs </strong>devidamente habilitado, basta selecioná-lo do <strong>lado direito </strong>da tela, clicando sobre a mesma pipeta verde, em versão menor.</p>
<p style="text-align: center;"><a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=Li4vaW1hZ2VzLy8yMDEwLzA4L3VuZG9fZ21haWwucG5n"><img class="aligncenter" title="undo_gmail" src="../images//2010/08/undo_gmail-500x270.png" alt="" width="500" height="270" /></a></p>
<p>A tela que se apresenta possui uma série de recursos que são oferecidos pelo <strong>Google Labs. </strong>Para localizar o que nos interessa, será necessário rolar a tela bem para baixo, até visualizar um <em><strong>lab </strong></em>denominado <strong>Undo Send</strong>. Uma vez tendo-a encontrado, basta clicar sobre<strong> Enable</strong>, e, em seguida, sobre <strong>Save Changes.</strong></p>
<p>Agora, para <strong>desfazer </strong>o envio de uma mensagem, basta procurar pelo link <strong>Undo </strong>dentro da caixa que diz &#8220;<em>Your message has been sent</em>&#8220;. Clique no link e você voltará a visualizar a mensagem em seu modo <strong>draft</strong>, de onde você poderá <strong>continuar a editá-la</strong>, <strong>excluí-la </strong>ou <strong>enviá-la</strong>. Lembre-se, também, que os passos acima só são necessários <strong>uma única vez</strong>, e, ainda assim, <strong>enquanto o recurso não sai do Google Labs</strong> e se torna padrão.</p>
<p>Ah, sim, é claro: Faltaram duas coisas. Primeiro, é bom saber que, na prática, não se trata de um <em>desfazer</em>. O que o sistema faz é apenas <strong>retardar</strong> o envio da mensagem durante meio minuto, evitando remorsos desnecessários. Segundo, a coisa parece funcionar <strong>apenas </strong>com o <strong>GMail </strong>em inglês &#8212; já que no <strong>Labs </strong>em português, não consegui encontrar a opção correta. Se eu estiver errado, por favor, me avisem via <em>comentários</em>.</p>
<p>Eu só gostaria que fosse possível <strong>configurar </strong>este intervalo de 30 segundos para <strong>mais</strong>, a rigor do usuário.</p>
<p>[<strong><a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VkaXRpb24uY25uLmNvbS8yMDEwL1RFQ0gvd2ViLzA4LzIzL3VuZG8uZ21haWwvI2ZiaWQ9OEZPam5fVUxFSXAmYW1wO3dvbT1mYWxzZQ==">via</a></strong>, após dica do <strong>Mirão</strong>]</p>

 <img src="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=3247" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://danielsantos.org/arquivos/2010/08/30/undo-send-no-gmail/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Chega de telemarketing II: A Missão</title>
		<link>http://danielsantos.org/arquivos/2010/08/20/chega-de-telemarketing-ii-a-missao/</link>
		<comments>http://danielsantos.org/arquivos/2010/08/20/chega-de-telemarketing-ii-a-missao/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 16:04:40 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Etc]]></category>
		<category><![CDATA[brasil]]></category>
		<category><![CDATA[cotidiano]]></category>
		<category><![CDATA[lei]]></category>
		<category><![CDATA[serviço]]></category>
		<category><![CDATA[telemarketing]]></category>

		<guid isPermaLink="false">http://danielsantos.org/?p=3245</guid>
		<description><![CDATA[É preciso reconhecer que, ao menos vez por outra, alguns serviços de utilidade pública funcionam. Com meu número residencial devidamente cadastrado no Procon paulista entre os que não aceitam ligações de telemarketing, tenho vivido tranquilamente há mais de um ano. Eu, que já havia mencionado tal cadastro antes, até achei estranho o fato de ter [...]]]></description>
			<content:encoded><![CDATA[
<p>É preciso reconhecer que, ao menos vez por outra, alguns serviços de utilidade pública funcionam. Com meu número residencial devidamente cadastrado no <strong>Procon</strong> paulista entre os que não aceitam ligações de telemarketing, tenho vivido tranquilamente há mais de um ano.</p>
<p>Eu, que <strong><a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2RhbmllbHNhbnRvcy5vcmcvYXJxdWl2b3MvMjAwOS8wMy8yOC9jaGVnYS1kZS10ZWxlbWFya2V0aW5nLw==">já havia mencionado tal cadastro antes</a></strong>, até achei estranho o fato de ter recebido duas ligações <em>deste naipe</em> esta semana. Acontece que me dei conta de que uma delas foi recebida em meu <strong>telefone celular</strong>, enquanto que a outra, em meu <strong>telefone comercial</strong>.</p>
<p>Foi quando me ocorreu de <a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5wcm9jb24uc3AuZ292LmJyL0Jsb3F1ZWlvVGVsZWYv"><strong>revisitar o cadastro que eu havia feito</strong></a> no ano passado. O meu número de celular, que foi trocado neste meio tempo, não estava cadastrado, e por isso precisei fazer a alteração. Com sorte, dentro de no máximo 1 mês, não precisarei mais me preocupar com a questão.</p>
<p>A única chateação, infelizmente, ficará por conta do número de telefone <strong>comercial</strong>: Para impedir as ligações de telemarketing, a lei nos obriga a ser <strong>titulares</strong> da linha em questão. Bem que poderiam fazer uma emendazinha, permitindo que <em>fiéis usuários</em> também tivessem o direito. Bem que poderiam.</p>

 <img src="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=3245" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://danielsantos.org/arquivos/2010/08/20/chega-de-telemarketing-ii-a-missao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vacation Amnesia!!</title>
		<link>http://danielsantos.org/arquivos/2010/07/30/vacation-amnesia/</link>
		<comments>http://danielsantos.org/arquivos/2010/07/30/vacation-amnesia/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 01:42:28 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Etc]]></category>
		<category><![CDATA[comics]]></category>
		<category><![CDATA[fun]]></category>

		<guid isPermaLink="false">http://danielsantos.org/?p=3242</guid>
		<description><![CDATA[Fim de férias. Segunda-feira que vem começa tudo de novo. E, oh, my God!! I feel exactly this way. Um oferecimento do excelente Savage Chickens.]]></description>
			<content:encoded><![CDATA[
<p><strong>Fim de férias.</strong> Segunda-feira que vem começa tudo de novo.</p>
<p><a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zYXZhZ2VjaGlja2Vucy5jb20vMjAxMC8wNy9mb3JnZXR0aW5nLmh0bWw="><img class="aligncenter size-full wp-image-3243" title="Chicken Amnesia" src="http://danielsantos.org/images//2010/07/chickenamnesia2.jpg" alt="Clique para ver o original" width="400" height="400" /></a></p>
<p>E, oh, my God!! I feel <strong><em>exactly this way</em></strong>.</p>
<p>Um oferecimento do <strong>excelente <a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zYXZhZ2VjaGlja2Vucy5jb20v">Savage Chickens</a></strong>.</p>

 <img src="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=3242" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://danielsantos.org/arquivos/2010/07/30/vacation-amnesia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello, Ruby!!</title>
		<link>http://danielsantos.org/arquivos/2010/07/24/hello-ruby/</link>
		<comments>http://danielsantos.org/arquivos/2010/07/24/hello-ruby/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 05:42:43 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Etc]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://danielsantos.org/?p=3238</guid>
		<description><![CDATA[Sou obrigado a admitir uma coisa: Tenho sentido bastante saudade de programar. Tendo me acostumado a fazer isso durante alguns anos em minha vida, enquanto trabalhei ativamente no desenvolvimento de rotinas, sistemas e relatórios para meu empregador, minha trilha de carreira nos últimos anos acabou por me desviar de tal rumo, o que, na prática, [...]]]></description>
			<content:encoded><![CDATA[
<p>Sou obrigado a admitir uma coisa: <strong>Tenho sentido bastante saudade de programar</strong>.</p>
<p>Tendo me acostumado a fazer isso durante alguns anos em minha vida, enquanto trabalhei ativamente no desenvolvimento de rotinas, sistemas e relatórios para meu empregador, minha <strong>trilha de carreira </strong>nos últimos anos acabou por me desviar de tal rumo, o que, na prática, significa dizer que <em>minhas atribuições atuais </em>não são exatamente as mais apropriadas para continuar tendo contato com escrever e compilar código, entre outras coisas.</p>
<p>Acho que, na prática, as palavras que estou tentando buscar são &#8220;<span style="color: #ff0000;">eu não sou mais um programador</span>&#8220;. Pelo menos, não um que faça isso profissionalmente &#8212; o que não quer dizer que eu não possa me impor o <strong>desafio</strong> de continuar em contato com o <strong>mundo da programação</strong>.</p>
<p>Para isso, após refletir um pouco nos últimos dias, cheguei à conclusão de que a melhor coisa a se fazer é aprender uma nova linguagem de programação &#8212; e, sem maiores delongas, resolvi que quero aprender <a title=\"Ruby Programming Language\" href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5ydWJ5LWxhbmcub3JnL2VuLw=="><strong>Ruby</strong></a>, sobretudo porquê é uma linguagem que sempre me chamou a atenção por ser <em>elegante </em>e <em>sofisticada</em>, além de possuir código fonte que, quando lido, <strong>faz sentido até para seres humanos</strong>.</p>
<p>Há também um outro ponto: Aquele em que eu admito que <strong>já tentei aprender a linguagem no passado</strong>, um projeto abandonado por falta de tempo, e, principalmente, de <em>força de vontade</em>.</p>
<p>No entanto, tentando fazer com que as coisas tomem um rumo diferente desta vez &#8212; <em>o rumo em que eu <strong>efetivamente consigo </strong>aprender a linguagem </em>&#8212;, resolvi começar instalando o <strong>Ruby </strong>em meu PC. No entanto, ao invés de recorrer ao site oficial, baixei o <a title=\"RubyInstaller for Windows\" href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3J1YnlpbnN0YWxsZXIub3JnLw=="><strong>RubyInstaller for Windows</strong></a>, um pacote de instalação que contém o <strong>Interactive Ruby </strong>&#8212; na realidade, um<em> </em>terminal em que a linguagem Ruby, interpretada, pode ser diretamente executada. Há também códigos-fonte e um livro em formato PDF &#8212; &#8220;<strong>The Book of Ruby</strong>&#8220;, de Huw Collingbourne &#8212;, que acaba servindo como um guia de primeiros contatos com a linguagem (aliás, é possível <a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zYXBwaGlyZXN0ZWVsLmNvbS9UaGUtQm9vay1PZi1SdWJ5">baixar apenas o livro</a>, direto do site do autor, se alguém tiver interesse).</p>
<p>Com o <strong>Interactive Ruby </strong>em mãos, resolvi também me aventurar com alguns tutoriais rápidos, como é o caso do <a title=\"Ruby in Twenty Minutes\" href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5ydWJ5LWxhbmcub3JnL2VuL2RvY3VtZW50YXRpb24vcXVpY2tzdGFydC8="><strong>Ruby in Twenty Minutes</strong></a>, que está disponível no próprio site da linguagem de programação. Foi através deste tutorial que comecei como todos começam, ou seja, escrevendo <em>o meu primeiro Hello World! em Ruby:</em></p>
<pre class="brush: ruby; toolbar: false;">
puts &quot;Hello world!&quot;
</pre>
<p>E, é claro, também foi fácil entender como <em>sofisticar</em> a coisa um pouco mais:</p>
<pre class="brush: ruby;">
def h(nome = &quot;world&quot;)
     puts &quot;Hello, #{nome.capitalize}!&quot;
end
</pre>
<p>Neste exemplo, a grande diferença foi o uso da palavra-chave reservada <code><strong>def</strong></code>, que permite definir um método para dizer <em>Hello </em>digitando apenas <strong>h</strong>. Se nenhum nome for informado, o resultado será um simpático &#8220;<strong><em>Hello World</em>!</strong>&#8221; &#8212; e, <strong>notem</strong>, <span style="color: #ff0000;"><span style="color: #000000;">não</span> &#8220;<strong><em>Hello world</em>!&#8221;</strong></span>, já que foi utilizado o método <code><strong>capitalize</strong></code>, diretamente aplicado à variável <code><strong>nome</strong></code>. Aliás, para quem não sabe, um dos diferenciais da linguagem <strong>Ruby </strong>é que, nela, <strong>tudo é um objeto</strong>, sujeito à ação de métodos &#8212; mesmo as variáveis.</p>
<p><a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2RhbmllbHNhbnRvcy5vcmcvaW1hZ2VzLy8yMDEwLzA3L2ludGVyYWN0aXZlX3J1YnkucG5n"><img class="aligncenter size-medium wp-image-3239" title="Interactive Ruby em execução" src="http://danielsantos.org/images//2010/07/interactive_ruby-500x252.png" alt="" width="500" height="252" /></a></p>
<p>Mas na minha opinião, o que mais chama a atenção neste segundo código em Ruby é  o comportamento do método <code><strong>puts</strong></code>, que <strong>coloca </strong>conteúdo na tela. É possível embutir variáveis diretamente na impressão, apenas cercando-as com <code><strong>#{}</strong></code> &#8212; no exemplo acima, a variável <code><strong>nome</strong><strong> </strong></code>torna-se <code><strong><strong>#{nome}</strong></strong></code>.  Também dá pra fazer cálculos e exibir seus resultados em uma nova linha com tabulação &#8212; através, respectivamente, dos códigos de escape não imprimíveis <code><strong>\n</strong></code> e <code><strong>\t </strong></code>&#8212; com uma única linha de código:</p>
<pre class="brush: ruby;">

puts( &quot;\n\t#{(1 + 2) * 3}\nAté logo!!&quot; )
</pre>
<p>Na prática, o que estou percebendo, é que <strong>será muito divertido</strong> voltar a aprender a linguagem &#8212; e o que eu sinceramente espero é poder dividir meu aprendizado com quem estiver disposto, bem aqui. Desejem-me sorte!!</p>

 <img src="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=3238" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://danielsantos.org/arquivos/2010/07/24/hello-ruby/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nurse Jackie, só em 2011</title>
		<link>http://danielsantos.org/arquivos/2010/07/23/nurse-jackie-so-em-2011/</link>
		<comments>http://danielsantos.org/arquivos/2010/07/23/nurse-jackie-so-em-2011/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 19:11:45 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Etc]]></category>
		<category><![CDATA[nurse jackie]]></category>
		<category><![CDATA[séries]]></category>
		<category><![CDATA[televisão]]></category>
		<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://danielsantos.org/?p=3237</guid>
		<description><![CDATA[Finalmente coloquei em dia os últimos 7 episódios da segunda temporada de Nurse Jackie &#8212; e após ter chegado ao fim de uma maratona como esta durante a última madrugada, devo admitir: Continuo listando a série entre as minhas favoritas, dada a sua combinação singular de drama e humor, da qual não vou nunca me [...]]]></description>
			<content:encoded><![CDATA[
<p>Finalmente coloquei em dia os últimos <strong>7 episódios </strong>da segunda temporada de <a title=\"Página oficial, na Showtime\" href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zaG8uY29tL3NpdGUvbnVyc2VqYWNraWUvaG9tZS5kbw=="><strong>Nurse Jackie</strong></a> &#8212; e após ter chegado ao fim de uma maratona como esta durante a última madrugada, devo admitir: Continuo listando a série entre as <strong>minhas favoritas</strong>, dada a sua combinação singular de <em>drama </em>e <em>humor</em>, da qual não vou nunca me cansar de falar.</p>
<p>Além disso, ao final dos 12 episódios mais recentes, mais uma vez a série foi capaz de terminar com um <a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DbGlmZmhhbmdlcg=="><strong><em>ótimo cliffhanger</em></strong></a>: O que acontecerá agora com <strong>Jackie Peyton</strong>? A produtora executiva da série, <strong>Linda Wallem</strong>, <strong><a title=\"Cuidado: SPOILERS!!\" href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5kaWdpdGFsc3B5LmNvLnVrL3VzdHYvbmV3cy9hMjQ4OTcwL251cnNlLWphY2tpZS1leGVjLXByb21pc2VzLXN1cnByaXNlcy5odG1sI2FydGljbGVfY29udGludWU=">falando na Comic Con</a></strong>, já adiantou que a personagem continuará a sofrer com seu <strong>vício em drogas</strong>. Durante o evento, em um dos paineis, foi exibido o seguinte vídeo:</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/cZWr_kzf5os&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed  src="http://www.youtube.com/v/cZWr_kzf5os&#038;fs=1" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>A única coisa que me deixou triste, no entanto, é que terei que esperar até <strong>2011 </strong>pela terceira temporada. <strong>É muito tempo. Muito. </strong></p>

 <img src="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=3237" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://danielsantos.org/arquivos/2010/07/23/nurse-jackie-so-em-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minha pilha recarregável favorita</title>
		<link>http://danielsantos.org/arquivos/2010/07/16/minha-pilha-recarregavel-favorita/</link>
		<comments>http://danielsantos.org/arquivos/2010/07/16/minha-pilha-recarregavel-favorita/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 15:21:21 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Etc]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[tecnologia]]></category>

		<guid isPermaLink="false">http://danielsantos.org/arquivos/2010/07/16/minha-pilha-recarregavel-favorita/</guid>
		<description><![CDATA[via geek.com Que tal nunca mais precisar recarregar uma pilha recarregável na vida? As novas pilhas Vibration-power Generating Battery &#8212; ou VpGB &#8212;, da Brother, que serão demonstradas durante a Techno Frontier 2010, em Tóquio, entre os dias 21 e 23 deste mês, prometem fazer isso. A ideia é simples: Ao contrário das pilhas AA [...]]]></description>
			<content:encoded><![CDATA[
<div class='posterous_autopost'>
<div class="posterous_bookmarklet_entry"> <a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3Bvc3Rlcm91cy5jb20vZ2V0ZmlsZS9maWxlcy5wb3N0ZXJvdXMuY29tL2RhbmllbHNhbnRvcy94eXVwaG1JaHlmcm1HSmlJSGprbGxiZUVDeEh6a2twR3hDYmRuZXRnSGpzbGdoaUVtRUlocXdvZER6ZnkvbWVkaWFfaHR0cGFmc2RuY29tZ2N3X25KaENrLmpwZy5zY2FsZWQxMDAwLmpwZw=="><img src="http://posterous.com/getfile/files.posterous.com/danielsantos/xyuphmIhyfrmGJiIHjkllbeECxHzkkpGxCbdnetgHjslghiEmEIhqwodDzfy/media_httpafsdncomgcw_nJhCk.jpg.scaled500.jpg" width="500" height="375"/></a>
<div class="posterous_quote_citation">via <a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5nZWVrLmNvbS9hcnRpY2xlcy9nYWRnZXRzL2Jyb3RoZXItdG8tcmVwbGFjZS1hYS1hYWEtd2l0aC1zaGFrZS10by13YWtlLWJhdHRlcmllcy0yMDEwMDcxNi8=">geek.com</a></div>
<p>Que tal nunca mais precisar recarregar uma pilha recarregável na vida? </p>
<p>As novas pilhas Vibration-power Generating Battery &#8212; ou VpGB &#8212;, da <strong>Brother</strong>, que serão demonstradas durante a <a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5qbWEub3IuanAvdGYvZW4v">Techno Frontier 2010</a>, em Tóquio, entre os dias 21 e 23 deste mês, prometem fazer isso. </p>
<p>A ideia é simples: Ao contrário das pilhas AA e AAA comuns, que contem uma certa quantidade de energia em seu interior, que vai descarregando com o tempo, as pilhas <strong>VpGB</strong> geram energia automaticamente sempre que são sacudidas &#8212; e o melhor, a energia pode ser usada <em>instantaneamente</em>. </p>
<p>É verdade que <strong>não será possível</strong> substituir completamente as velhas pilhas AA e AAA pelas novas VpGB, uma vez que elas só são eficazes para aparelhos que não consomem energia o tempo inteiro, e que consomem, no máximo, entre <strong>100</strong> e <strong>180mW</strong>. Mas para controles remotos, por exemplo, elas são ideiais &#8212; além de permitirem a quem tem um <strong>Wii</strong>, por exemplo, sentir um <em>gostinho de familiaridade</em>.</p>
</div></div>

 <img src="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=3234" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://danielsantos.org/arquivos/2010/07/16/minha-pilha-recarregavel-favorita/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Traga mais Readability para o seu blog</title>
		<link>http://danielsantos.org/arquivos/2010/07/16/traga-mais-readability-para-o-seu-blog/</link>
		<comments>http://danielsantos.org/arquivos/2010/07/16/traga-mais-readability-para-o-seu-blog/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 06:38:05 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Etc]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[readability]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://danielsantos.org/?p=3231</guid>
		<description><![CDATA[Meu amigo Rodrigo Ghedin conseguiu, sem querer, me deixar preocupado com a aparência: Não a minha, é verdade &#8212; já que neste caso nem as versões mais avançadas e recentes de Photoshop dariam jeito &#8212;, mas com a do meu blog. Tudo isso porquê, há alguns dias atrás, ele falou, em mais um de seus [...]]]></description>
			<content:encoded><![CDATA[
<p>Meu amigo <strong>Rodrigo Ghedin</strong> conseguiu, sem querer, me deixar preocupado com a <strong>aparência</strong>: Não a minha, é verdade &#8212; já que neste caso nem as versões mais avançadas e recentes de <em>Photoshop </em>dariam jeito &#8212;, <strong>mas com a do meu blog</strong>. Tudo isso porquê, há alguns dias atrás, ele falou, <a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3JvZHJpZ28uZ2hlZGluLm1lL2EtYXBhcmVuY2lhLWNvbnRh">em mais um de seus excelentes posts</a>, sobre o conceito de <strong><em>readability</em></strong>.</p>
<p>Para quem não sabe o que <strong><em>readability </em></strong>significa, eu vou simplificar: Trata-se, basicamente, de <strong>tornar o processo de leitura mais fácil</strong>.</p>
<p>Ao encontrarem condições que lhes permitam <strong>ler mais facilmente</strong>, os seres humanos têm melhoradas suas capacidades de <strong>compreensão</strong>, <strong>retenção</strong> e <strong>velocidade de leitura</strong>. E para quem estiver se perguntando o que isso pode ter &#8212; ainda que de longe &#8212; a ver com os blogs que lemos no dia-a-adia, eu explico, mais uma vez. Só que desta vez vou usar um trecho do post onde o Ghedin menciona leituras realizadas na web:</p>
<blockquote><p>(&#8230;) mesmo nas leituras mais rápidas, essenciais ao trabalho que desempenho e   muito útil para ler muita coisa boa que aparece em blogs, sites e   outros locais, às vezes me sinto incomodado. Não pelo monitor, mas sim   pelo layout. Tem gente que publica um texto com fonte branca em fundo   preto! A mim, o efeito é o mesmo que ficar meia hora olhando diretamente   para uma lâmpada acesa. Meus olhos sentem essa agressão.</p>
<p>E esse problema de contraste é apenas um dos vários que existem.  Tipografia mal escolhida, espaçamento inadequado, excesso de anúncios  inseridos dentro do texto. Eu costumava pregar a máxima de que não  importa aonde você escreva, o que importa, mesmo, é a mensagem. Bobagem!  Já deixei de ler muita coisa boa porque a apresentação não colaborava.</p></blockquote>
<p>Notem que um site mal cuidado, com qualquer um dos deslizes mencionados acima, pode estar prejudicando a <em>facilidade de leitura</em> de seus visitantes. Na prática, isso pode, inclusive, acabar se traduzindo em falta de <strong>fidelização </strong>dos leitores, ou seja: Eles podem nunca mais querer voltar ao seu site, pois se lembrarão, por exemplo, que precisaram de óculos escuros para proteger os olhos na última vez em que ali estiveram.</p>
<p>Felizmente, visando auxiliar a leitura de informações <strong>por milhões de internautas</strong>, um pessoal muito bacana desenvolveu um projeto &#8212; também, obviamente, chamado de <a title=\"Readability\" href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2xhYi5hcmM5MC5jb20vZXhwZXJpbWVudHMvcmVhZGFiaWxpdHkv"><strong>Readability</strong></a> &#8212;, onde se encontra disponível um <em>bookmarklet </em>configurável para tornar qualquer página <strong>mais agradável</strong> de ler. O Rodrigo, muito oportunamente, <a title=\"Como configurar o Readability\" href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3JvZHJpZ28uZ2hlZGluLm1lL2NvbW8tY29uZmlndXJhci1vLXJlYWRhYmlsaXR5"><strong>ensina como fazer a configuração</strong></a>, passo-a-passo.</p>
<p>Com a existência de plugins prontamente disponíveis para a implantação de <em>readability </em>no <a title=\"Readability Firefox Addon\" href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvZW4tVVMvZmlyZWZveC9hZGRvbi80NjQ0Mi8="><strong>Firefox</strong></a> e <a title=\"Readability Redux\" href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9jaHJvbWUuZ29vZ2xlLmNvbS9leHRlbnNpb25zL2RldGFpbC9qZ2doZWdncGRvY2FtbmVhYWNtZm9pcGVlaGVkaWdpYQ=="><strong>Google Chrome</strong></a>, o lado dos internautas está ainda mais garantido.</p>
<p>Mas acontece que eu fiquei pensando em como <strong>garantir </strong>que qualquer um que me visitasse pudesse ter acesso aos recursos de <em>readability </em>sem necessariamente contar com <em>bookmarklets</em>, <em>extensões </em>ou <em>plugins</em>. Esse conceito é tão interessante que deveria ficar ao lado de botões como os de compartilhamento de links no <strong>del.icio.us</strong>, ou de <strong>retweet</strong>, que hoje são amplamente vistos nos blogs por aí. E felizmente, não é nada complicado deixar o seu blog <strong><em>readability-ready</em>.</strong></p>
<p>O primeiro passo para isso é dar uma olhada no código fonte do <em>bookmarklet </em>que o Rodrigo ensina a configurar. No <strong>Firefox,</strong> basta clicar o botão direito sobre ele e selecionar a opção <strong>Propriedades</strong><em>. </em>Você logo se deparará com algo assim no campo <strong>endereço</strong>:</p>
<pre class="brush: jscript;">
javascript:(function(){readConvertLinksToFootnotes=false;readStyle='style-novel';readSize='size-medium';readMargin='margin-medium';_readability_script=document.createElement('script');_readability_script.type='text/javascript';_readability_script.src='<a href="http://lab.arc90.com/experiments/readability/js/readability.js?x=">http://lab.arc90.com/experiments/readability/js/readability.js?x=</a>'+(Math.random());document.documentElement.appendChild(_readability_script);_readability_css=document.createElement('link');_readability_css.rel='stylesheet';_readability_css.href='<a href="http://lab.arc90.com/experiments/readability/css/readability.css">http://lab.arc90.com/experiments/readability/css/readability.css</a>';_readability_css.type='text/css';_readability_css.media='all';document.documentElement.appendChild(_readability_css);_readability_print_css=document.createElement('link');_readability_print_css.rel='stylesheet';_readability_print_css.href='<a href="http://lab.arc90.com/experiments/readability/css/readability-print.css">http://lab.arc90.com/experiments/readability/css/readability-print.css</a>';_readability_print_css.media='print';_readability_print_css.type='text/css';document.getElementsByTagName('head')[0].appendChild(_readability_print_css);})();
</pre>
<p><strong>Assustador</strong>, não é mesmo?</p>
<p>No entanto, não é necessário se preocupar com <strong>o que </strong>o código acima faz &#8212; que, na verdade, é somente <em>aplicar readability </em>à página que você está lendo. O importante é saber que <strong>é este o código </strong>que você precisará para permitir que qualquer um que visite seu site aplique <em>readability </em>nele. Na verdade, a coisa é tão simples que você precisará apenas criar um link em qualquer lugar da página onde escreveu um texto para que a pessoa possa clicar sobre ele. Vejamos a seguir <strong>como isso funciona no WordPress</strong>.</p>
<p>Acessando seu <strong>editor de temas</strong>, você precisará criar um link com o código acima no arquivo <strong><code>single.php</code></strong> &#8212; uma vez que o <em>bookmarklet </em>original<em> </em>é idealizado para transformar páginas com <strong>artigos individuais</strong>, e não sites inteiros, embora isso também possa ser feito. No meu caso, isso se traduziu da seguinte maneira:</p>
<pre class="brush: jscript; wrap-lines: false;">
&lt;span class=&quot;readability&quot;&gt;
&lt;a title=&quot;Torne este texto mais agradável de ler!&quot; href=&quot;javascript:(function(){readConvertLinksToFootnotes=false;readStyle='style-novel';readSize='size-medium';readMargin='margin-medium'; _readability_script=document.createElement('script');_readability_script.type='text/javascript';_readability_script.src='<a href="http://lab.arc90.com/experiments/readability/js/readability.js?x=">http://lab.arc90.com/experiments/readability/js/readability.js?x=</a>'+(Math.random());document.documentElement.appendChild(_readability_script)_readability_css=document.createElement('link');_readability_css.rel='stylesheet'; _readability_css.href='<a href="http://lab.arc90.com/experiments/readability/css/readability.css">http://lab.arc90.com/experiments/readability/css/readability.css</a>';_readability_css.type='text/css'; _readability_css.media='all';document.documentElement.appendChild(_readability_css); _readability_print_css=document.createElement('link'); _readability_print_css.rel='stylesheet'; _readability_print_css.href='<a href="http://lab.arc90.com/experiments/readability/css/readability-print.css">http://lab.arc90.com/experiments/readability/css/readability-print.css</a>'; _readability_print_css.media='print'; _readability_print_css.type='text/css'; document.getElementsByTagName('head')[0].appendChild(_readability_print_css);})();&quot;&gt;Readability&lt;/a&gt;
&lt;/span&gt;
</pre>
<p>O único <strong>retoque</strong> que eu fiz foi acrescentar uma classe <strong>CSS</strong> para deixar a coisa um pouco mais bonita de se ver. Não sabia exatamente qual ícone utilizar, então optei por <em>capturar </em>o <strong>favicon </strong>do próprio projeto <strong><a title=\"Readability\" href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2xhYi5hcmM5MC5jb20vZXhwZXJpbWVudHMvcmVhZGFiaWxpdHkv"><strong>Readability</strong></a></strong>:</p>
<pre class="brush: css;">
.readability{
      display:line;
      background: transparent url(images/readability_16.png) no-repeat;
      margin-left: 5px;
      padding-left:26px;
      padding-bottom:5px;
      min-width:8px;
}
</pre>
<p>O resultado já pode ser visto nas páginas individuais dos artigos aqui do blog. Espero, sinceramente, que desta maneira, eu esteja contribuindo para que as pessoas encontrem por aqui uma experiência de leitura <strong>um pouco mais agradável</strong>.</p>
<p><strong>PS: </strong>Depois, com mais calma, pensarei em um jeito de tornar essa coisa um <em>plugin </em>para o <strong>WordPress</strong>.</p>

 <img src="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=3231" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://danielsantos.org/arquivos/2010/07/16/traga-mais-readability-para-o-seu-blog/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Plants vs Zombies 2 vindo por aí?</title>
		<link>http://danielsantos.org/arquivos/2010/07/15/plants-vs-zombies-2-vindo-por-ai/</link>
		<comments>http://danielsantos.org/arquivos/2010/07/15/plants-vs-zombies-2-vindo-por-ai/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 05:23:25 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Etc]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[pvz]]></category>

		<guid isPermaLink="false">http://danielsantos.org/?p=3229</guid>
		<description><![CDATA[Exatamente na semana em que eu estava reclamando que bem que poderiam criar um expansion pack para Plants vs Zombies, eis que me deparo com algumas notícias que dão conta de que algo diferente deve ser anunciado pela Popcap no próximo dia 2 de agosto. Alguns sites e revistas especializados em games receberam um convite [...]]]></description>
			<content:encoded><![CDATA[
<p>Exatamente na semana em que eu estava reclamando que bem que poderiam criar um <em>expansion pack </em>para <a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5wb3BjYXAuY29tL2dhbWVzL3B2ei8/aWNpZD1wdnpfSFBfRExfMV84XzE5XzA4X2Vu"><strong>Plants vs Zombies</strong></a>, eis que me deparo com algumas notícias que dão conta de que <em>algo diferente </em>deve ser anunciado pela <strong><a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5wb3BjYXAuY29tLw==">Popcap</a> </strong>no próximo dia <strong>2 de agosto</strong>. Alguns sites e revistas especializados em <em>games </em>receberam um convite para reservar a data em questão em suas agendas, juntamente com a imagem abaixo.</p>
<p><a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2RhbmllbHNhbnRvcy5vcmcvaW1hZ2VzLy8yMDEwLzA3L3B2ei1ub3NjYWxlLmpwZw=="><img class="aligncenter size-full wp-image-3230" title="Save the Date" src="http://danielsantos.org/images//2010/07/pvz-noscale.jpg" alt="" width="435" height="450" /></a></p>
<p>Será que minhas preces serão atendidas? <strong>#esperança</strong></p>
<p>[<a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RvdWNoYXJjYWRlLmNvbS8yMDEwLzA3LzEyL3BvdGVudGlhbC1wbGFudHMtdnMtem9tYmllcy0yLWFubm91bmNlbWVudC1vbi1hdWd1c3QtMm5kLw=="><strong>via</strong></a>]<strong><br />
</strong></p>

 <img src="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=3229" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://danielsantos.org/arquivos/2010/07/15/plants-vs-zombies-2-vindo-por-ai/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protegendo melhor o meu WordPress</title>
		<link>http://danielsantos.org/arquivos/2010/07/15/protegendo-melhor-o-meu-wordpress/</link>
		<comments>http://danielsantos.org/arquivos/2010/07/15/protegendo-melhor-o-meu-wordpress/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 04:45:31 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Etc]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[segurança]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://danielsantos.org/?p=3227</guid>
		<description><![CDATA[Depois de ter sido recentemente atacado por uma script injection que surgiu do nada, fiquei mais cauteloso no que diz respeito ao blog, quando se trata de segurança. No começo deste mês acabei encontrando um artigo da Smashing Magazine, com 10 dicas para reforçar a proteção de sites que, como o meu, utilizam o WordPress. [...]]]></description>
			<content:encoded><![CDATA[
<p>Depois de <a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2RhbmllbHNhbnRvcy5vcmcvYXJxdWl2b3MvMjAxMC8wNS8yOS9tZXUtYmxvZy1mb2ktYXRhY2Fkby1wZWxvLXpldHRhcGV0dGEtanMv">ter sido recentemente atacado</a> por uma <em>script injection </em>que surgiu do nada, fiquei mais cauteloso no que diz respeito ao blog, quando se trata de segurança.</p>
<p>No começo deste mês acabei encontrando um artigo da <strong>Smashing Magazine</strong>, <a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDEwLzA3LzAxLzEwLXVzZWZ1bC13b3JkcHJlc3Mtc2VjdXJpdHktdHdlYWtzLw==">com 10 dicas</a> para reforçar a proteção de sites que, como o meu, utilizam o <strong>WordPress</strong>. Embora seja verdade que reforçar a segurança de um site por conta própria requeira um conhecimento mínimo de <strong>Apache </strong>&#8212; e não se sentir intimidado com alterações no arquivo <code>.htaccess</code> &#8212;, não há nada realmente muito <em>cabeludo </em>a se fazer.</p>
<p>Assim sendo, quero compartilhar com vocês <strong>duas das alterações</strong> que fiz:</p>
<p><strong>Primeira coisa: Proteger o blog de injeções de script</strong></p>
<p>Os ataques de <strong>injeção de scripts </strong>acontecem quando um hacker introduz algumas linhas de código malicioso em um site através de um de seus formulários &#8212; o de <strong>comentários</strong>, por exemplo &#8212; e então envia tais dados através deste formulário. Isso é feito, geralmente, para que se possa enganar os sistemas em uso nos sites, de maneira que eles pensem que se trata de conteúdo enviado por um usuário válido, e assim acabem permitindo, <strong>sem querer</strong>, que dados sejam <strong>acessados</strong>, <strong>editados</strong> <strong>excluídos</strong>, ou que scripts mal intencionados sejam acessados e instalem vírus nas máquinas dos internautas desavisados.</p>
<p>Uma das técnicas básicas para um <em>script injection</em> é que uma máquina <strong>cliente </strong>submeta informações que contem tags, como a tag<code> &lt;script&gt;</code>. Isso nos leva às <strong>diretivas </strong>abaixo, sugerida no artigo que li:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">Options</span> +<span style="color: #0000ff;">FollowSymLinks</span>
<span style="color: #00007f;">RewriteEngine</span> <span style="color: #0000ff;">On</span>
<span style="color: #00007f;">RewriteCond</span> %{QUERY_STRING} (\&lt;|%3C).*<span style="color: #00007f;">script</span>.*(\&gt;|%3E) [NC,OR]
<span style="color: #00007f;">RewriteCond</span> %{QUERY_STRING} GLOBALS(=|\[|\%[<span style="color: #ff0000;">0</span>-9A-Z]{<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">2</span>}) [OR]
<span style="color: #00007f;">RewriteCond</span> %{QUERY_STRING} _REQUEST(=|\[|\%[<span style="color: #ff0000;">0</span>-9A-Z]{<span style="color: #ff0000;">0</span>,<span style="color: #ff0000;">2</span>})
<span style="color: #00007f;">RewriteRule</span> ^(.*)$ index.php [F,L]</pre></div></div>

<p>Ao serem adicionadas ao arquivo <code>.htaccess</code>, tais <strong>diretivas</strong> fazem com que qualquer requisição de acesso à uma página no blog seja verificada. Caso ela contenha referências à uma tag <strong><code>&lt;script&gt;</code></strong> ou, mais ainda, tenha tentado modificar o valor das variáveis <strong><code>GLOBALS</code></strong> ou <strong><code>_REQUEST</code></strong> do PHP, a requisição será bloqueada com um erro 403 (&#8220;<strong>Forbidden</strong>&#8220;) do Apache, ou seja, quem quer que esteja tentando realizar o acesso &#8212; neste caso, <em>provavelmente alguém muito mal intencionado </em>&#8212; será impedido de fazê-lo. Você pode até criar um documento personalizado para <em>recepcionar </em>alguém que tenha recebido o erro em questão:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">ErrorDocument</span> <span style="color: #ff0000;">403</span> /forbidden.php</pre></div></div>

<p>Uma última palavra sobre as diretivas acima, é que estas podem ser facilmente modificadas para que incluam também as tags  <code>&lt;object&gt;</code>, <code>&lt;applet&gt;</code> e <code>&lt;embed&gt;</code>, também utilizadas em <em>script injections</em>. Desta maneira, reforça-se ainda mais a segurança.</p>
<p><strong>Segunda coisa: Proteger o arquivo wp-config.php</strong></p>
<p>Quando li o artigo da <strong>Smashing Magazine</strong>, vi que eles recomendam a proteção do arquivo <strong><code>wp-config.php</code></strong> &#8212; onde residem todas as configurações principais do WordPress, inclusive nomes de usuário e senha do banco de dados, que permitem a qualquer um com más intenções acesse todo o conteúdo do seu blog e faça com ele o que bem entender &#8212;, o que, afinal de contas, é uma excelente ideia.</p>
<p>O único problema é que eles, mais uma vez, se valem de alterações no arquivo <code>.htaccess</code>, da seguinte maneira:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">&lt;<span style="color: #000000; font-weight:bold;">files</span> wp-config.php&gt;
<span style="color: #00007f;">order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
<span style="color: #00007f;">deny</span> <span style="color: #00007f;">from</span> <span style="color: #00007f;">all</span>
&lt;/<span style="color: #000000; font-weight:bold;">files</span>&gt;</pre></div></div>

<p>Acredito, no entanto, que uma solução muito mais efetiva para impedir o acesso ao conteúdo do arquivo seja <strong>movê-lo</strong> para um lugar inacessível publicamente. Na prática, normalmente, isso significa movê-lo para <strong>antes </strong>da pasta <code>public_html</code> &#8212; onde fica <em>tudo o que é visível para o mundo lá fora</em> &#8212; em sua conta de usuário. Felizmente, <a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvZGV4LndvcmRwcmVzcy5vcmcvVmVyc2lvbl8yLjY=">desde a versão 2.6</a> do <strong>WordPress</strong>, isso é possível. Dessa maneira, basta que você utilize um programa de FTP de sua confiança e mova o arquivo em questão um nível acima.</p>
<p>De qualquer maneira, a dica dada pela <strong>Smashing Magazine </strong>ainda é válida se <em>adaptarmos um pouco </em>as coisas: Por exemplo, podemos aproveitar para proteger não o arquivo<code> wp-config.php</code>, mas sim o próprio arquivo <code>.htaccess</code>, da seguinte maneira:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">&lt;<span style="color: #000000; font-weight:bold;">files</span> .htaccess&gt;
<span style="color: #00007f;">order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
<span style="color: #00007f;">deny</span> <span style="color: #00007f;">from</span> <span style="color: #00007f;">all</span>
&lt;/<span style="color: #000000; font-weight:bold;">files</span>&gt;</pre></div></div>

<p><strong>Conclusão</strong></p>
<p>É óbvio que a proteção de um site contra ataques envolve uma série de outros <strong>passos</strong> e <strong>medidas de segurança</strong>, e muito mais <strong>leitura</strong> e <strong>estudo</strong>. Ainda assim, minha decisão de dividir estas duas simples alterações se deu porquê acredito serem realmente de grande valia para alguém que está pensando em <em>proteger melhor </em>seu conteúdo, e espero que, desta maneira, esteja prestando um serviço a quem se encontrar em uma situação difícil.</p>
<p>Para maiores informações, recomendo também a leitura do excelente artigo <a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvZGV4LndvcmRwcmVzcy5vcmcvSGFyZGVuaW5nX1dvcmRQcmVzcw=="><strong>Hardening WordPress</strong></a>, disponível no próprio <strong>Codex</strong> da ferramenta.</p>

 <img src="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=3227" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://danielsantos.org/arquivos/2010/07/15/protegendo-melhor-o-meu-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>May the force be with you</title>
		<link>http://danielsantos.org/arquivos/2010/07/10/may-the-force-be-with-you/</link>
		<comments>http://danielsantos.org/arquivos/2010/07/10/may-the-force-be-with-you/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 04:23:25 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Etc]]></category>
		<category><![CDATA[cinema]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[nerd]]></category>
		<category><![CDATA[propaganda]]></category>
		<category><![CDATA[starwars]]></category>

		<guid isPermaLink="false">http://danielsantos.org/?p=3225</guid>
		<description><![CDATA[Às voltas com a decisão de comprar ou não um GPS para usar no carro, acabei encontrando meio que por acaso os vídeos abaixo, que retratam os bastidores das gravações das vozes de, nada mais, nada menos, que Darth Vader e Mestre Yoda para os navegadores TomTom. Além das vozes dos dois personagens, também está [...]]]></description>
			<content:encoded><![CDATA[
<p>Às voltas com a decisão de comprar ou não um GPS para usar no carro, acabei encontrando meio que por acaso os vídeos abaixo, que retratam <em>os bastidores </em>das gravações das vozes de, nada mais, nada menos, que <strong>Darth Vader </strong>e <strong>Mestre Yoda </strong>para os navegadores <strong>TomTom</strong>. Além das vozes dos dois personagens, também está disponível a do robô <strong>C-3PO</strong> e estará, em breve, a de <strong>Han Solo</strong>.</p>
<p>Ah!! E se alguém por aí por acaso acha que se trata de uma brincadeira, <a href="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3N0YXJ3YXJzLnRvbXRvbS5jb20vdm9pY2VzL2luZGV4LXN0YXJ3YXJzLnBocD9MaWQ9NCZhbXA7dm9pY2U9ZGFydGh2YWRlcg=="><strong>pode ficar tranquilo</strong></a>: <strong>Não é não</strong>.</p>
<p><strong>Genial!</strong></p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/FdcJVuylmsM&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/FdcJVuylmsM&#038;fs=1" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/2ljFfL-mL70&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/2ljFfL-mL70&#038;fs=1" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>

 <img src="http://danielsantos.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=3225" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://danielsantos.org/arquivos/2010/07/10/may-the-force-be-with-you/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
