<?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>Diego Plentz &#187; util</title>
	<atom:link href="http://plentz.org/category/util/feed/" rel="self" type="application/rss+xml" />
	<link>http://plentz.org</link>
	<description>plentiful thoughts from my empty head</description>
	<lastBuildDate>Sat, 03 Jul 2010 06:17:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Update Cadabra!</title>
		<link>http://plentz.org/2009/07/19/update-cadabra/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=update-cadabra</link>
		<comments>http://plentz.org/2009/07/19/update-cadabra/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 01:57:32 +0000</pubDate>
		<dc:creator>Diego Plentz</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[util]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[macports]]></category>
		<category><![CDATA[rubygems]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://plentz.org/?p=291</guid>
		<description><![CDATA[Faz um bom tempo que tenho uma mania chata: gosto de ter tudo sempre atualizado. Confesso que é quase uma frescura (nada de piadinhas sobre gaúchos, ok?), mas automatizando um pouco, é um vício que da pra conviver. Para as apps do Mac OS X eu uso o AppFresh, que funciona muito bem e tem [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://flickr.com/photos/kt/120468504/" title="Caution: Magician Ahead! by The Rocketeer"><img src="http://farm1.static.flickr.com/43/120468504_c68075f6d7_m.jpg" width="240" height="201" alt="Caution: Magician Ahead! by The Rocketeer" style="border: 2px solid rgb(0, 0, 0); float: right; margin-left: 10px; margin-bottom: 10px;"/></a></p>
<p>Faz um bom tempo que tenho uma mania chata: gosto de ter <strong>tudo</strong> sempre atualizado. Confesso que é quase uma frescura (nada de piadinhas sobre gaúchos, ok?), mas <a href="http://gc.blog.br/2009/04/15/louco-por-automatizacao/">automatizando um pouco</a>, é um vício que da pra conviver. Para as apps do Mac OS X eu uso o <a href="http://metaquark.de/appfresh/">AppFresh</a>, que funciona muito bem e tem integração com o <a href="http://osx.iusethis.com/iconbonanza/plentz">iUseThis</a>. Mas ainda tinham algumas coisas que eu ainda fazia manualmente: MacPorts e RubyGems eram duas delas.</p>
<p>Depois do post que fiz sobre o <a href="http://plentz.org/2008/10/19/rmagick-cadabra/">rmagick-osx-installer</a> tive a idéia de fazer um script que fizesse o trabalho sujo por mim também. E depois de muita procastinação: <a href="http://github.com/plentz/update_cadabra/">update_cadabra</a>!</p>
<p>É basicamente, um script bash que roda os comandos pra atualização do <a href="http://rubygems.org/">Ruby Gems</a>+gems+<a href="http://www.macports.org/">MacPorts</a>+ports &#8211; e de quebra, ainda faz uma faxina no que está sobrando. Espero que usem, sugiram coisas novas e poupem ainda mais nosso tempo.</p>
<p>Pra usar, é só baixar o script, dar permissão de execução pro script e executá-lo:</p>
<p><code>chmod u+x update_cadabra.sh<br />
sudo update_cadabra.sh</code></p>
<p>ps: se você por algum motivo não pode atualizar suas gems, ou ainda tem algumas gems antigas instaladas para algum sistema legado, não recomendo usar o script<br />
ps2: use por sua conta e risco <img src='http://plentz.org/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="acc_license"><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/"><img src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" alt="by-nc-nd" /></a></div><!--<rdf:RDF xmlns="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Work rdf:about=""><license rdf:resource="http://creativecommons.org/licenses/by-nc-nd/3.0/" /></Work><License rdf:about="http://creativecommons.org/licenses/by-nc-nd/3.0/"><requires rdf:resource="http://creativecommons.org/ns#Attribution" /><permits rdf:resource="http://creativecommons.org/ns#Reproduction" /><permits rdf:resource="http://creativecommons.org/ns#Distribution" /><prohibits rdf:resource="http://creativecommons.org/ns#CommercialUse" /><requires rdf:resource="http://creativecommons.org/ns#Notice" /></License></rdf:RDF>--><img src="http://plentz.org/wordpress/?ak_action=api_record_view&id=291&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://plentz.org/2009/07/19/update-cadabra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox utils</title>
		<link>http://plentz.org/2005/11/15/firefox-utils/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=firefox-utils</link>
		<comments>http://plentz.org/2005/11/15/firefox-utils/#comments</comments>
		<pubDate>Tue, 15 Nov 2005 05:47:35 +0000</pubDate>
		<dc:creator>Diego Plentz</dc:creator>
				<category><![CDATA[Unsorted]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[util]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://plentz.org/?p=121</guid>
		<description><![CDATA[Postizinho rápido pra passar algumas tools que uso junto com o Firefox e que tornam meu dia-a-dia na web bem mais agradável: Adblock: permite que você bloqueie aqueles banners enormes e extremamente desagradáveis que alguns sites continuam usando. Download Statusbar: simples, ao invés do Firefox abrir uma janelinha nova com os dowloads essa extension joga [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://flickr.com/photos/doesrails/141780294/" title="Kokoro the Shiba Inu Puppy - Profile"><img src="http://farm1.static.flickr.com/55/141780294_38b0d946fc_m.jpg" alt="Kokoro the Shiba Inu Puppy - Profile" height="161" width="240" style="border: 2px solid rgb(0, 0, 0);float: right; margin-left: 10px; margin-bottom: 10px;" /></a></p>
<p>Postizinho rápido pra passar algumas tools que uso junto com o Firefox e que tornam meu dia-a-dia na web bem mais agradável:</p>
<ul>
<li><strong><a href="https://addons.mozilla.org/extensions/moreinfo.php?id=10">Adblock</a></strong>: permite que você bloqueie aqueles banners enormes e extremamente desagradáveis que alguns sites continuam usando.</li>
<li><strong><a href="https://addons.mozilla.org/extensions/moreinfo.php?id=26">Download Statusbar</a></strong>: simples, ao invés do Firefox abrir uma janelinha nova com os dowloads essa extension joga eles na sua status bar.</li>
<li><strong><a href="https://addons.mozilla.org/extensions/moreinfo.php?id=684">FireFTP</a></strong>: não é nenhum client espetacular de FTP, mas quebra um galhão.</li>
<li><strong><a href="https://addons.mozilla.org/extensions/moreinfo.php?id=220">Flashgot</a></strong>: integrado com o <a href="http://www.amazesoft.com/">Flashget</a> é perfeito para quem gosta de fazer uma pá de downloads e odeia ficar clicando emt trocentos links. Clique direito, flashgot all, e pimba, tudo no seu gerenciador de downloads.</li>
<li><strong><a href="https://addons.mozilla.org/extensions/moreinfo.php?id=532">linkChecker</a></strong>: Verifica a página atual atrás de links quebrados. Mais útil pra quem trabalha com web.</li>
<li><strong><a href="http://livehttpheaders.mozdev.org/">LiveHTTPHeader</a></strong>: uma maravilha pra dar debugar aplicações que tem, er, Ajax.</li>
<li><strong><a href="https://addons.mozilla.org/extensions/moreinfo.php?id=710">Menu Editor</a></strong>: não sei se é só comigo, mas tem muita opção no menu do Firefox que eu <em>nunca</em> uso. Essa extension serve justamente pra isso, fazer uma faxina na casa.</li>
<li><strong><a href="https://addons.mozilla.org/extensions/moreinfo.php?id=436">SessionSaver</a></strong>: sabe quando você está recém abriu seu bloglines, e já ta com 20 tabs abertas recheadas de conteúdo de alta qualidade e do nada, pum, o Firefox tranca. Usando ele o Firefox pode pendurar igual, mas ao menos seus cabelos ficam.</li>
<li><strong><a href="https://addons.mozilla.org/extensions/moreinfo.php?id=495">TargetKiller</a></strong>: você odeia quem inventou target=&#8221;_new&#8221;? Eu também.</li>
<li><strong><a href="https://addons.mozilla.org/extensions/moreinfo.php?id=60">WebDeveloper</a></strong>: Instala uma barrinha cheia de utilidades pra quem precisa dar uma de designer de vez enquando.</li>
<li><strong><a href="https://addons.mozilla.org/extensions/moreinfo.php?id=748">GreaseMonkey</a></strong>: esse carinha dispença aprensentações, mas caso alguém não conheça, ainda, é uma extension que permite que os usuários insiram código javascript diretamente no fonte do seu site, podendo alterar e fazer o escambal. Perfeito. Seguem alguns scripts que eu uso:</li>
</ul>
<ul>
<li><strong><a href="http://userscripts.org/scripts/show/1050">Auto-login</a></strong>: para os sites que você já deixou a senha salva porque é tão insignificante que não vale nem o trabalho de digitar a senha? Bom, se a senha já ta salva, ele faz o serviço chato. Ele aperta o submit pra você.</li>
<li><strong><a href="http://userscripts.org/scripts/show/1487">Orkut album zoom</a></strong>: pra dar uma passeada no orkut sem muita encomodação na hora de ver as fotos dos outros, esse script joga todas as fotos tamanho normal direto na página principal do album. Facilita e muito.</li>
</ul>
<p>Done.</p>
<div class="acc_license"><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/"><img src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" alt="by-nc-nd" /></a></div><!--<rdf:RDF xmlns="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Work rdf:about=""><license rdf:resource="http://creativecommons.org/licenses/by-nc-nd/3.0/" /></Work><License rdf:about="http://creativecommons.org/licenses/by-nc-nd/3.0/"><requires rdf:resource="http://creativecommons.org/ns#Attribution" /><permits rdf:resource="http://creativecommons.org/ns#Reproduction" /><permits rdf:resource="http://creativecommons.org/ns#Distribution" /><prohibits rdf:resource="http://creativecommons.org/ns#CommercialUse" /><requires rdf:resource="http://creativecommons.org/ns#Notice" /></License></rdf:RDF>--><img src="http://plentz.org/wordpress/?ak_action=api_record_view&id=121&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://plentz.org/2005/11/15/firefox-utils/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Webserver em 15 minutos</title>
		<link>http://plentz.org/2005/11/10/webserver-em-15-minutos/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=webserver-em-15-minutos</link>
		<comments>http://plentz.org/2005/11/10/webserver-em-15-minutos/#comments</comments>
		<pubDate>Thu, 10 Nov 2005 04:28:57 +0000</pubDate>
		<dc:creator>Diego Plentz</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[util]]></category>

		<guid isPermaLink="false">http://plentz.org/?p=117</guid>
		<description><![CDATA[A idéia desse how-to é facilitar a vida de quem quer criar um ambiente de desenvolvimento bem estruturado e sem ter que perder dias pra fazer isso. Você não precisa necessariamente instalar tudo que é descrito abaixo, mas note que alguns são pré-requisitos para outros itens. Com certeza esta não é a única forma de [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://flickr.com/photos/persona/37201953/" title="Cisco"><img src="http://farm1.static.flickr.com/24/37201953_0ab41125fd_m.jpg" alt="Cisco" height="160" width="240" style="border: 2px solid rgb(0, 0, 0);float: right; margin-left: 10px; margin-bottom: 10px;" /></a></p>
<p>A idéia desse how-to é facilitar a vida de quem quer criar um ambiente de desenvolvimento bem estruturado e sem ter que perder dias pra fazer isso. Você não precisa necessariamente instalar tudo que é descrito abaixo, mas note que alguns são pré-requisitos para outros itens.</p>
<p>Com certeza esta não é a única forma de integrar essa parafernalha toda, mas foi a melhor forma que eu achei (e consegui fazer funcionar). Se alguém tiver alguma sugestão/comentário, <a href="mailto: diego@this_site">drop me a line.</a></p>
<p>Muitos ao ler vão se perguntar, &#8220;mas por que ele usou o Apache ao invés de colocar somente o Tomcat?&#8221;, já que o Tomcat acompanha um webserver build-in. Bom, levando em conta que é infinitamente mais simples integrar isso tudo com o Apache ao invés do Tomcat(e existir muito mais documentação para isso), existem alguns outros motivos para isso, como (dependendo do caso) melhor performance, a utilização dos modules, como o mod_rewrite, mod_proxy, etc.</p>
<p>Uma observação importante antes de começar, não faça como eu quando estava começando a fazer meus testes, <strong>não</strong> coloque ponto-e-vírgula depois das variáveis de sistema *_home.</p>
<p>No início de cada &#8220;sessão&#8221; eu fiz uma listagem das variáveis de sistema que devem ser criadas para o funcionamento correto de cada instalação. <strong>Antes</strong> de iniciar cada instalação, crie <em>todas</em> as variáveis indicadas. Para criar elas (supondo que você está no Windows XP), clique com o botão direito em &#8220;Meu Computador&#8221; -> Propriedades -> Avançado -> Variáveis de sistema -> Clique em &#8220;Nova&#8221; -> Coloque o nome e valor que estão indicados e clique em Ok. No Windows XP elas são válidas a partir do momento que você criou, mas se você está com um prompt de comando aberto será necessário reiniciá-lo.</p>
<p>Cuidado: muitas aplicações precisam estar na variável PATH do Windows para funcionar corretamente, então quando você ver PATH, é para <em>adicionar</em> o caminho à sua PATH e não substituir o conteúdo da variável.</p>
<h3><a href="http://httpd.apache.org/" name="apache">Apache HTTP Server</a></h3>
<p>Arquivos:</p>
<ul>
<li><a href="http://linorg.usp.br/apache/httpd/binaries/win32/apache_2.2.13-win32-x86-no_ssl.msi">apache_2.2.13-win32-x86-no_ssl.msi</a></li>
</ul>
<p>- Antes de fazer qualquer outra coisa, verifique se você já não possui algum processo rodando na porta 80. Para isso, entre no console (run&#8230; &#8220;cmd&#8221;) e digite:</p>
<p><code>netstat -aon | find /i "listening" |find /i ":80"</code></p>
<p>Se encontrar algo, sua porta 80 está sendo usada. Pegue o ID encontrado, entre no task manager (ctrl+alt+del) -> processes -> view -> marque o check que diz PID e localize na lista o ID encontrado.</p>
<p>Dica: se você utiliza <a href="http://skype.com">Skype</a>, você precisa desabilitar <a href="http://www.google.com.br/search?q=skype+port+80">o uso da porta 80 por ele</a>, para poder utilizar corretamente o Apache. Para resolver isso, entre no Skype em Tools -> Options&#8230; -> Connection -> Desmarque a caixa &#8220;Use port 80 and 443 as alternatives for incomming connections&#8221;.</p>
<p>- Crie a pasta c:\dev\workspace\</p>
<p>- Entre no instalador: Next -> Marque &#8220;Accept&#8230;&#8221; -> Next -> Next -> Preencha com seus dados(não precisam ser dados reais) -> Next -> Marque &#8220;Custom&#8230;&#8221; -> Next -> Clique em &#8220;Change&#8230;&#8221; e digite &#8220;c:\dev&#8221;(ele coloca automaticamente dentro da pasta c:\dev\apache2\) -> Ok -> Next -> Install(espere instalar) -> Finish.</p>
<p>- Abra o arquivo c:\dev\apache2\conf\httpd.conf (recomendo criar um atalho pra ele enquanto você está configurando seu ambiente, você vai usá-lo bastante. E claro, a partir de agora, sempre que eu falar em http.conf você já sabe do que eu estou falando) e altere a linha que diz DocumentRoot para:</p>
<p><code># faz com que o apache tome como diretório raiz c:\dev\workspace<br />
DocumentRoot "c:/dev/workspace"</code></p>
<p>e altere a linha que diz</p>
<p><code>&lt;Directory "c:/dev/Apache2/htdocs"&gt;</code></p>
<p>para</p>
<p><code>&lt;Directory "c:/dev/workspace"&gt;</code></p>
<p>- Restarte o Apache clicando no ícone que foi criado no seu system tray e em seguida restart.</p>
<p>- Para testar, abra o seu <a href="http://getfirefox.com">browser favorito</a> e entre em <a href="http://localhost">http://localhost</a>. Você deve ver uma listagem do diretório c:\dev\workspace.</p>
<h3><a href="http://java.sun.com/" name="java">Java</a> + <a href="http://tomcat.apache.org/" name="tomcat">Tomcat</a></h3>
<p>Variáveis de sistema:</p>
<p><code>JAVA_HOME c:\dev\java\jdk<br />
CATALINA_HOME c:\dev\tomcat<br />
CLASSPATH .;%JAVA_HOME%;<br />
PATH %JAVA_HOME%\bin;</code></p>
<p>Arquivos:</p>
<ul>
<li><a href="http://java.sun.com/javase/downloads/index.jsp#jdk">jdk-6u16-windows-i586.exe</a></li>
<li><a href="http://ftp.unicamp.br/pub/apache/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.exe">apache-tomcat-6.0.20.exe</a></li>
<li><a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/mod_jk-1.2.28-httpd-2.2.3.so">mod_jk-1.2.28-httpd-2.2.3.so</a></li>
</ul>
<p>- Entre no instalador do Java: Marque &#8220;Accept&#8230;&#8221; -> Next -> Clique em &#8220;Change&#8230;&#8221; e digite &#8220;c:\dev\java\jdk&#8221; -> Ok -> Next -> Aguarde ele instalar o JDK -> Clique em &#8220;Change&#8230;&#8221; (agora é a pasta de instalação da JRE) e digite &#8220;c:\dev\java\jre&#8221; -> Ok -> Next -> Next -> Finish.</p>
<p>- Agora entre no instalador do Tomcat: Next -> I Agree -> Selecione a instalação &#8220;Full&#8221; -> Next -> Digite o seguinte endereço &#8220;c:\dev\tomcat&#8221; -> Next -> Next -> Install -> Aguarde a instalação -> Desmarque a opção &#8220;Show readme&#8221; -> Finish.</p>
<p>- Coloque o arquivo mod_jk-1.2.28-httpd-2.2.3.so dentro de c:\apache2\modules\ e mude o nome do arquivo para mod_jk.so.<a href="#p1" name="a1">[1]</a></p>
<p>- Para manter mais organizado vamos colocar as configurações do tomcat em um arquivo à parte. Adicione a linha à seguir no final do http.conf:</p>
<p><code>Include conf/tomcat.conf</code></p>
<p>- Agora crie um o tomcat.conf em C:\dev\apache2\conf com o seguinte conteúdo <a href="#p2" name="a2">[2]</a></p>
<p><code># carrega o connector<br />
LoadModule jk_module modules/mod_jk.so<br />
# faz com que o Apache também reconheça arquivos index.jsp como arquivo default para diretórios<br />
DirectoryIndex index.jsp<br />
# seta configurações de log<br />
JkLogFile c:/dev/apache2/logs/mod_jk.log<br />
JkLogLevel info<br />
# aqui você monta os contextos do Tomcat, você deve fazer isso para as aplicações que você criar.<br />
# Formato: JkMount URL_PREFIX WORKER_NAME<br />
# Onde:<br />
# URL_PREFIX é o caminho que vai ser acessado via browser. Ex: teste para http://localhost/<strong>teste</strong><br />
# WORKER_NAME no nosso exemplo sempre será ajp13<br />
JkMount /jsp-examples/* ajp13<br />
JkMount /servlets-examples/* ajp13<br />
JkMount /tomcat-docs/* ajp13</code></p>
<p>- Mova as três pastas C:\dev\tomcat\webapps\jsp-examples, C:\dev\tomcat\webapps\servlets-examples, c:\dev\tomcat\webapps\tomcat-docs para dentro de c:\dev\workspace</p>
<p>- Edite o arquivo c:\tomcat\conf\server.xml e procure por uma linha que diz</p>
<p><code>      &lt;Host name="localhost" appBase="webapps"<br />
       unpackWARs="true" autoDeploy="true"<br />
       xmlValidation="false" xmlNamespaceAware="false"&gt;</code></p>
<p>e altere para (copie junto a tag DefaultContext)</p>
<p><code>&lt;Host name="localhost" appBase="c:/dev/workspace"<br />
       unpackWARs="true" autoDeploy="true"<br />
       xmlValidation="false" xmlNamespaceAware="false"&gt;<br />
	  &lt;DefaultContext reloadable="true" /&gt;</code></p>
<p>- Feito isso, reinicie o Apache e depois o Tomcat.</p>
<p>- Para testar, entre em http://localhost/jsp-examples/ e http://localhost/servlets-examples/ e você deve ver os exemplos que acompanham o Tomcat (execute alguns exemplos para ter certeza que está tudo ok).</p>
<h3>Links relacionados:</h3>
<ul>
<li><a href="http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html">Tomcat Clustering/Session Replication HOW-TO</a></li>
</ul>
<h3><a href="http://www.php.net/" name="php">PHP</a></h3>
<p>Variáveis de sistema:<br />
<code>PHP_HOME c:\dev\php</code></p>
<p>Arquivos:</p>
<ul>
<li><a href="http://windows.php.net/downloads/releases/php-5.3.0-Win32-VC9-x86.zip">php-5.3.0-Win32-VC9-x86.zip</a></li>
</ul>
<p>- Descompacte o conteúdo do arquivo em c:\dev\php</p>
<p>- Entre em c:\dev\php\ e renomeie o arquivo &#8220;php.ini-recommended&#8221; para &#8220;php.ini&#8221;(mas se você quer algo mais próximo do que irá encontrar em um ambiente de produção, recomendo usar o &#8220;php.ini-dist&#8221; no lugar do &#8220;php.ini-recommended&#8221;).</p>
<p>- Abra o arquivo e procure pelas seguintes linhas alterando seu valor:</p>
<p><code>include_path = ".;c:\dev\php\includes"<br />
doc_root = "c:\dev\workspace"<br />
extension_dir = "c:\dev\php\ext"<br />
display_errors = On</code></p>
<p>- Para manter mais organizado vamos colocar as configurações do PHP em um arquivo à parte. Adicione a linha à seguir no final do http.conf:</p>
<p><code>Include conf/php.conf</code></p>
<p>- Agora crie o php.conf em C:\dev\apache2\conf com o seguinte conteúdo:</p>
<p><code># carrega o módulo do php<br />
LoadModule php5_module "c:/dev/php/php5apache2.dll"<br />
# adiciona o content type para os arquivos php<br />
AddType application/x-httpd-php .php<br />
# seta o home do php<br />
PHPIniDir "c:/dev/php"<br />
# faz com que o Apache também reconheça arquivos index.php como arquivo default para diretórios<br />
DirectoryIndex index.php</code></p>
<p>- Reinicie o Apache</p>
<p>- Para testar, entre em c:\dev\workspace e crie um arquivo phpinfo.php com o  conteúdo abaixo e acesse <a href="http://localhost/phpinfo.php">http://localhost/phpinfo.php</a></p>
<p><code>&lt;? php phpinfo () ;?&gt;</code></p>
<p>OBS: Se você deseja utilizar MySQL com o PHP, você deve utilizar a lib php_mysqli.dll <a href="#p3" name="a3">[3]</a>. Seguem as alterações que você deve fazer no seu php.ini:</p>
<p><code>extension=php_mysqli.dll<br />
mysqli.default_host = localhost<br />
mysqli.default_user = root</code></p>
<h3>Links relacionados:</h3>
<ul>
<li><a href="http://www.zend.com/php5/articles/php5-mysqli.php">Using ext/mysqli: Part I &#8211; Overview and Prepared Statements</a></li>
<li><a href="http://www.zend.com/php5/articles/php5-mysqli2.php">Using ext/mysqli: Part II &#8211; Extending mysqli</a></li>
</ul>
<h3><a href="http://www.mysql.com/" name="mysql">MySQL</a></h3>
<p>Variáveis de sistema:</p>
<p><code>MYSQL_HOME c:\dev\mysql<br />
PATH %MYSQL_HOME%\bin;</code></p>
<p>Arquivos:</p>
<ul>
<li><a href="http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-essential-5.1.38-win32.msi/from/http://mysql.cce.usp.br/">mysql-essential-5.1.38-win32.msi</a></li>
<li><a href="http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-gui-tools-5.0-r17-win32.msi/from/http://linorg.usp.br/mysql">mysql-gui-tools-5.0-r17-win32.msi</a></li>
</ul>
<p>- Entre no instalador: Next -> Marque &#8220;Custom&#8221; -> Next -> Clique em &#8220;Change&#8230;&#8221; e digite &#8220;c:\dev\mysql&#8221; -> Ok -> Next -> Install(espere instalar) -> Marque &#8220;Skip Sign-Up&#8221; -> Next -> Finish.</p>
<p>- O Instance Configuration Wizard será executado, continue a configuração: Next -> Next -> Next -> Next -> Next -> Next -> Next -> Selecione &#8220;Best Support For Multilingualism&#8221; -> Next -> Next -> Desmarque &#8220;Modify Settings&#8221; -> Next -> Execute -> Finish.</p>
<p>- Próximo passo é instalar o MySQL GUI Tools: Next -> Marque &#8220;I accept&#8230;&#8221; -> Next -> Clique em &#8220;Change&#8230;&#8221; e digite &#8220;c:\dev\mysql\tools&#8221; -> Ok -> Next -> Next -> Install -> Finish.</p>
<h3>Links relacionados:</h3>
<ul>
<li><a href="http://www.informit.com/articles/printerfriendly.asp?p=410743&#038;rl=1">An Overview of MySQL Query Browser&#8217;s Features and Capabilities</a></li>
</ul>
<p><a href="#a1" name="p1">[1]</a> O connector <a href="http://jakarta.apache.org/tomcat/connectors-doc/news/20041100.html#20041115.1">mod_jk2 foi descontinuado</a> por desinteresse dos desenvolvedores e também pelos usuários, já que era mais difícil de configurar. Mas se você quer mesmo, ou precisa, utilizar o mod_jk2, <a href="http://www.perfectreign.com/modules/articles/article.php?id=1">este tutorial</a> pode ajudar muito.</p>
<p><a href="#a2" name="p2">[2]</a> <a href="http://www.inf.ufsc.br/~leandro/apache-tomcat.html">Alguns tutoriais</a> fazem uso de um arquivo workers.properties para setar algumas configuraçãoes do connector, mas como o objetivo deste tutorial é apenas montar um ambiente rápido e prático para desenvolvimento, não utilizaremos esta abordagem.</p>
<p><a href="#a3" name="p3">[3]</a> Existe também o <a href="http://www.php.net/manual/en/ref.mysql.php">php_mysql.dll</a>, mas como o <a href="http://www.php.net/manual/en/ref.mysqli.php">php_mysqli.dll</a> (o &#8220;i&#8221; é de improved) é mais recente e melhor, utilize ele. Alguns tutoriais consideram a utilização dos dois, mas particularmente não vejo nenhum problema em usar somente o php_mysqli. Uma vantagem (se é que pode ser chamada de vantagem) é que com php_mysqli.dll você não precisa setar a porta default (3306).<br />
Mas cuidado, se você já possui uma aplicação e quer continuar o seu desenvolvimento, é recomendado dar uma boa verificada no código, já que existem incompatibilidades entre as libs.</p>
<blockquote><p>Be careful when porting from ext/mysql to ext/mysqli. The following functions return NULL when no more data is available in the result set (ext/mysql&#8217;s functions return FALSE): mysqli_fetch_row(); mysqli_fetch_array(); mysqli_fetch_assoc();</p></blockquote>
<div class="acc_license"><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/"><img src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" alt="by-nc-nd" /></a></div><!--<rdf:RDF xmlns="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Work rdf:about=""><license rdf:resource="http://creativecommons.org/licenses/by-nc-nd/3.0/" /></Work><License rdf:about="http://creativecommons.org/licenses/by-nc-nd/3.0/"><requires rdf:resource="http://creativecommons.org/ns#Attribution" /><permits rdf:resource="http://creativecommons.org/ns#Reproduction" /><permits rdf:resource="http://creativecommons.org/ns#Distribution" /><prohibits rdf:resource="http://creativecommons.org/ns#CommercialUse" /><requires rdf:resource="http://creativecommons.org/ns#Notice" /></License></rdf:RDF>--><img src="http://plentz.org/wordpress/?ak_action=api_record_view&id=117&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://plentz.org/2005/11/10/webserver-em-15-minutos/feed/</wfw:commentRss>
		<slash:comments>47</slash:comments>
		</item>
		<item>
		<title>Broadcatching</title>
		<link>http://plentz.org/2005/10/24/broadcatching/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=broadcatching</link>
		<comments>http://plentz.org/2005/10/24/broadcatching/#comments</comments>
		<pubDate>Mon, 24 Oct 2005 04:19:35 +0000</pubDate>
		<dc:creator>Diego Plentz</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[util]]></category>

		<guid isPermaLink="false">http://plentz.org/2005/10/24/broadcatching/</guid>
		<description><![CDATA[Muita gente associa o termo feed com um arquivo XML, montado utilizando algum padrão, em que um feed parser pega o conteúdo e joga na tela de forma mais legível para usuário. Mas um feed pode ser usado para muito mais coisa. Por exemplo, uma aplicação que tem atualizações frequentes, poderia disponibilizar um feed, que [...]]]></description>
			<content:encoded><![CDATA[<p>Muita gente associa o termo feed com um arquivo <a href="http://www.w3.org/XML/"><acronym title="Extensible Markup Language">XML</acronym></a>, montado utilizando <a href="http://en.wikipedia.org/wiki/List_of_content_syndication_markup_languages">algum padrão</a>, em que um feed parser pega o conteúdo e joga na tela de forma mais legível para usuário. Mas um feed pode ser usado para muito mais coisa.</p>
<p>Por exemplo, uma aplicação que tem atualizações frequentes, poderia disponibilizar um feed, que é acessado pelo aplicativo em questão quando é aberto, e que verifica se a versão feed > versão atual e faz o update automaticamente. Claro que existem muitas outras formas de implementar isso (melhores provavelmente), mas isso é apenas um exemplo né?</p>
<p>Seguindo esta mesma idéia de utilização de feeds para distribuição de conteúdo-não-texto, é possível que você, por exemplo, acompanhe regularmente algum programa de televisão que é disponibilizado em um dos diversos sites compatíveis com bitorrent disponíveis na internet. Este (não tão novo) conceito de distribuição de conteúdo multimídia através de P2P também é conhecido como <a href="http://en.wikipedia.org/wiki/Broadcatching">broadcatching</a> (lembrando do termo <a href="http://en.wikipedia.org/wiki/Broadcasting">broadcasting</a>).</p>
<p>O pessoal do <a href="http://azureus.sourceforge.net/">Azureus</a> desenvolveu o plugin <a href="http://azureus.sourceforge.net/plugin_details.php?plugin=rssfeed">RSS Feed Scanner</a>, que tem como objetivo, justamente o broadcatching.</p>
<p>Com alguns ajustes na configuração dele, você pode facilitar (e muito) seu trabalho para pegar conteúdo bom da internet. E não estou falando de conteúdo ilegal.</p>
<p>Suponhamos que você seja um <a href="http://www.jonstewart.net/faq.html">fã</a> de carteirinha do <a href="http://en.wikipedia.org/wiki/Jon_Stewart">Jon Stewart</a>, com seu hilário <a href="http://en.wikipedia.org/wiki/The_Daily_Show">The Daily Show</a> (se você ainda não conhecia, me agradeça depois, ok?), mas não é assinante de tv à cabo. O que fazer? Bom, simples, só seguir os passos abaixo.</p>
<p>Instalar o <a href="http://azureus.sourceforge.net/">Azureus</a> não tem nenhum segredo, só é preciso ter o cuidado de instalar a <a href="http://java.com/getjava">Java JRE 5.0</a> antes dele. Depois de instalar a JRE e o Azureus, abra o programa, e entre em Plugins -> Instalation Wizzard -> By list from sourceforge.net -> Selecione o RSS Feed Scanner -> Next -> Install this plugin(s) for all Users -> Finish -> Install -> Close. Pronto, tudo instalado, agora é só configurar. É aqui que começa a parte divertida.</p>
<p>No <a href="http://www.comedycentral.com/shows/the_daily_show/index.jhtml">site oficial do Daily show</a>, eles disponibilizam, de graça, um <a href="http://www.comedycentral.com/rss/tdsvideoscached.jhtml">feed</a> com os últimos episódios. Mas é somente com links para ver online, e se você, assim como eu, não gosta de ver online (nem tem tanta banda pra isso), baixar eles antes de assistir é infinitamente mais conveniente. Então temos que achar uma &#8216;alternativa&#8217;. A melhor que eu achei, foi no site <a href="http://torrentreactor.net/directory.php">TorrentReactor</a>. Bom, entre em Plugins -> RSSFeed. Clique na aba Options, clique no sinal de + da parte que diz RSS Feed URL&#8217;s e adicione <a href="http://torrentreactor.net/rss.php?section=131">este feed</a> no campo URL. Você deve ter algo parecido com isto:</p>
<p><img src="http://plentz.org/unsorted/images/feed-daily-show.JPG" alt="filter config" /></p>
<p>Depois de assinar o feed, salve a alteração e agora é só criar um filtro para ele baixar automaticamente os episódios (este passo não é obrigatório, você pode baixar manualmente os episódios entrando na tab Status e selecionando os epsódios que deseja). Na parte que diz Filters, clique no sinal de + e crie um filtro semelhante à este.</p>
<p><img src="http://plentz.org/unsorted/images/filter-daily-show.JPG" alt="filter config" /></p>
<p>Pronto, seu Azureus está pronto para baixar automaticamente os episódios para você. Agora é só sair atrás de outros programas/conteúdo que te agradam e terminar de vez com sua banda de internet.</p>
<div class="acc_license"><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/"><img src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" alt="by-nc-nd" /></a></div><!--<rdf:RDF xmlns="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Work rdf:about=""><license rdf:resource="http://creativecommons.org/licenses/by-nc-nd/3.0/" /></Work><License rdf:about="http://creativecommons.org/licenses/by-nc-nd/3.0/"><requires rdf:resource="http://creativecommons.org/ns#Attribution" /><permits rdf:resource="http://creativecommons.org/ns#Reproduction" /><permits rdf:resource="http://creativecommons.org/ns#Distribution" /><prohibits rdf:resource="http://creativecommons.org/ns#CommercialUse" /><requires rdf:resource="http://creativecommons.org/ns#Notice" /></License></rdf:RDF>--><img src="http://plentz.org/wordpress/?ak_action=api_record_view&id=120&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://plentz.org/2005/10/24/broadcatching/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Better feed&#8217;s</title>
		<link>http://plentz.org/2005/10/16/better-feeds/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=better-feeds</link>
		<comments>http://plentz.org/2005/10/16/better-feeds/#comments</comments>
		<pubDate>Sun, 16 Oct 2005 07:50:36 +0000</pubDate>
		<dc:creator>Diego Plentz</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[util]]></category>

		<guid isPermaLink="false">http://plentz.org/2005/10/16/better-feeds/</guid>
		<description><![CDATA[Estava lendo hoje o post do Bruno Torres e acabou me despertando interesse. Ter todos os leitores em uma única URL, podendo no futuro alterar para qual eu quizer sem ter que me preocupar com nada é uma idéia que me agrada muito (e que eu deveria ter tido antes de mudar dos antigos blogs). [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://flickr.com/photos/23342185@N00/294384034/" title="Beam Me Up"><img src="http://farm1.static.flickr.com/107/294384034_cba3fb9a95_m.jpg" alt="Beam Me Up" height="146" width="240"  style="border: 2px solid rgb(0, 0, 0);float: right; margin-left: 10px; margin-bottom: 10px;" /></a></p>
<p>Estava lendo hoje o <a href="http://brunotorres.net/2005/10/12/redirecionar-feed-feedburner">post</a> do <a href="http://brunotorres.net/">Bruno Torres</a> e acabou me despertando interesse. Ter todos os leitores em uma <a href="http://plentz.org/feed">única URL</a>, podendo no futuro alterar para qual eu quizer sem ter que me preocupar com nada é uma idéia que me agrada muito (e que eu deveria ter tido antes de mudar dos antigos blogs). Resolvi então meter a mão na massa. </p>
<p>Antes de começar a brincar com o <a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">mod_rewrite</a>, fiz questão de achar uma ferramente boa para testar as novas URL&#8217;s e decidi usar o <a href="http://web-sniffer.net/">Web-Sniffer</a>. Ferramente muito boa, com muitas opções e funciona perfeitamente (ao menos para o meu propósito, que era testar como ficariam os <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">HTTP Status Code</a>). ps: se você não tem uma mínima noção de como funciona o <a href="http://en.wikipedia.org/wiki/HTTP">protocolo HTTP</a>, trate de aprender ao menos o <em>básico</em>.</p>
<p>Passada rápida no <a href="http://feedburner.com/">FeedBurner</a>, criada a conta. Alguma atenção para a configuração do feed vale a pena. O FeedBurner conta com muitas, mas muitas opções para você criar o feed do jeito que você deseja. Permite integração com o <a href="http://del.icio.us/">del.icio.us</a> e <a href="http://flickr.com/">flickr</a> por exemplo (mas tenha bom senso e não faça isso com seu feed principal, ofereça um feed alternativo com esses opcionais, pois se você não sabe, talvez algum leitor não esteja interessado nas fotos do casamento da sua tia).</p>
<p>Agora vem a parte interessante: redirecionar os feeds para os novos endereços. Uma rápida olhada no <a href="http://www.ilovejackdaniels.com/mod_rewrite_cheat_sheet.png">mod_rewrite cheat sheet</a> e <em>voilà</em>.</p>
<pre>RewriteCond %{HTTP_USER_AGENT} FeedBurner
RewriteRule ^feed?$ /index.php?feed=atom [QSA,L]
RewriteRule ^feed/?$ http://feeds.feedburner.com/plentz [R=302,L]
RewriteRule ^(feed|rdf|rss|rss2|atom)(\/.*)?$ http://plentz.org/feed/ [R=301,L]</pre>
<p>Explicando um pouco do que o código faz:</p>
<pre>RewriteCond %{HTTP_USER_AGENT} FeedBurner</pre>
<p>Se o <a href="http://en.wikipedia.org/wiki/User_agent">user agent</a> for FeedBurner (string utilizada pelo serviço do Feed Burner), faz a ação da próxima linha. Para a sentença  RewriteCond ele somente fará a linha seguinte se a comparação for verdadeira.</p>
<pre>RewriteRule ^feed?$ /index.php?feed=atom [QSA,L]</pre>
<p>Se a url que está sendo acessada for seu_endereço/feed (e claro, atender a condição anterior) então envia para o feed original. Lembrando que utilizando como exemplo o meu caso, que utilizo o <a href="http://wordpress.org/">WordPress</a>, você deve redirecionar para o seu arquivo do feed.</p>
<pre>RewriteRule ^feed?$ http://feeds.feedburner.com/plentz [R=302,L]</pre>
<p><em>She-bangs</em> line. Redireciona qualquer um que tentar acessar seu_endereço/feed(e não ter o user-agent igual a “FeedBurner&#8221; para o seu feed no FeedBurner). Note que o redirecionamento é temporário, pois é feito com o <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.3">status code 302</a>.</p>
<pre>RewriteRule ^(feed|rdf|rss|rss2|atom)(\/.*)?$ http://plentz.org/feed [R=301,L]</pre>
<p>Para manter os antigos endereços working, resolvi fazer um pequeno hack. A regular expression acima pega qualquer url que for digitada que começe com  feed ou rdf ou rss ou rss2 ou atom e que tenha alguma ocorrência de qualquer caractere depois. Ou seja, se alguém estivesse assinando seu feed através de seu_endereço/rss/yadayada e o leitor de feed&#8217;s dele for tentar verificar atualizações, ele automaticamente receberá um <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2">status code 301</a>, movido permanentemente e será redirecionado para /feed.</p>
<p>Perfeito, agora tanto seus assinantes quanto o FeedBurner apontam para a mesma <strong>url</strong>, mas recebem conteúdos <strong>diferentes</strong>. Você pode fazer uma infinidade de coisas úteis com o mod_rewrite, mas para tanto, é bom ter um <a href="http://ktk.xs4all.nl/stuff/regex/cheat-sheet/"><em>mínimo</em></a> de conhecimento em <a href="http://www.amk.ca/python/howto/regex/">regular expressions</a>.</p>
<p>Leia mais:</p>
<ul>
<li><a href="http://httpd.apache.org/docs/2.0/misc/rewriteguide.html">URL Rewriting Guide<br />
</a></li>
<li><a href="http://www.sitepoint.com/print/guide-url-rewriting">mod_rewrite: A Beginner&#8217;s Guide to URL Rewriting</a></li>
<li><a href="http://blog.ianbicking.org/static-caching-modrewrite.html">Static Caching with mod_rewrite</a></li>
<li><a href="http://www.jmarshall.com/easy/http/">HTTP Made Really Easy</a></li>
</ul>
<div class="acc_license"><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/"><img src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" alt="by-nc-nd" /></a></div><!--<rdf:RDF xmlns="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Work rdf:about=""><license rdf:resource="http://creativecommons.org/licenses/by-nc-nd/3.0/" /></Work><License rdf:about="http://creativecommons.org/licenses/by-nc-nd/3.0/"><requires rdf:resource="http://creativecommons.org/ns#Attribution" /><permits rdf:resource="http://creativecommons.org/ns#Reproduction" /><permits rdf:resource="http://creativecommons.org/ns#Distribution" /><prohibits rdf:resource="http://creativecommons.org/ns#CommercialUse" /><requires rdf:resource="http://creativecommons.org/ns#Notice" /></License></rdf:RDF>--><img src="http://plentz.org/wordpress/?ak_action=api_record_view&id=119&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://plentz.org/2005/10/16/better-feeds/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Remove Trailing Spaces</title>
		<link>http://plentz.org/2005/09/17/remove-trailing-spaces/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=remove-trailing-spaces</link>
		<comments>http://plentz.org/2005/09/17/remove-trailing-spaces/#comments</comments>
		<pubDate>Sat, 17 Sep 2005 20:50:28 +0000</pubDate>
		<dc:creator>Diego Plentz</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[util]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[regex]]></category>

		<guid isPermaLink="false">http://plentz.org/2005/09/17/remove-trailing-spaces/</guid>
		<description><![CDATA[Se tem uma coisa que eu nunca gostei quando pego código fonte de outros (ok, pegar código dos outros para dar manutenção já é chato quase que implicitamente) para dar algum tipo de manutenção, é aqueles espaços em branco que ficam no final da linha, depois de terminar o código. Por exemplo, System.out.print("Depois do ponto [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://flickr.com/photos/michellelyles/135247677/" title="Vapor trail of the space shuttle"><img src="http://farm1.static.flickr.com/47/135247677_b8b406495b_m.jpg" alt="Vapor trail of the space shuttle" height="157" width="240" style="border: 2px solid rgb(0, 0, 0);float: right; margin-left: 10px; margin-bottom: 10px;" /></a></p>
<p>Se tem uma coisa que eu nunca gostei quando pego código fonte de outros (ok, pegar código dos outros para dar manutenção já é chato quase que implicitamente) para dar algum tipo de manutenção, é aqueles espaços em branco que ficam no final da linha, depois de terminar o código. Por exemplo,</p>
<p><code>System.out.print("Depois do ponto e vírgula tem vários espaços em branco");               </code></p>
<p>E essa semana peguei um arquivo cheio dessas pequenas irritações (pode parecer um pouco de frescura, mas não gosto mesmo). Então resolvi o problema criando uma pequena regular expression que resolve o problema todo. É só mandar o seu editor de código achar todas as ocorrências da regular expression abaixo (seu editor tem suporte à regex né? não? está esperando o que pra <a href="http://plentz.org/2005/02/27/eclipsed/">trocar por um decente então?</a>):</p>
<p><code>[ \t]+$</code></p>
<p>E no replace with deixar em branco. Done.</p>
<div class="acc_license"><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/"><img src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" alt="by-nc-nd" /></a></div><!--<rdf:RDF xmlns="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Work rdf:about=""><license rdf:resource="http://creativecommons.org/licenses/by-nc-nd/3.0/" /></Work><License rdf:about="http://creativecommons.org/licenses/by-nc-nd/3.0/"><requires rdf:resource="http://creativecommons.org/ns#Attribution" /><permits rdf:resource="http://creativecommons.org/ns#Reproduction" /><permits rdf:resource="http://creativecommons.org/ns#Distribution" /><prohibits rdf:resource="http://creativecommons.org/ns#CommercialUse" /><requires rdf:resource="http://creativecommons.org/ns#Notice" /></License></rdf:RDF>--><img src="http://plentz.org/wordpress/?ak_action=api_record_view&id=118&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://plentz.org/2005/09/17/remove-trailing-spaces/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Programas (in)úteis</title>
		<link>http://plentz.org/2005/02/14/programas-inuteis/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=programas-inuteis</link>
		<comments>http://plentz.org/2005/02/14/programas-inuteis/#comments</comments>
		<pubDate>Mon, 14 Feb 2005 05:20:00 +0000</pubDate>
		<dc:creator>Diego Plentz</dc:creator>
				<category><![CDATA[util]]></category>

		<guid isPermaLink="false">http://plentz.org/wordpress/?p=108</guid>
		<description><![CDATA[Um tempo atrás eu mantinha um tópico atualizado com diversos programinhas em vários fórums porque sempre vinha gente perguntar pra mim: &#8220;Diego, qual o melhor software pra fazer (coloque aqui a funcionalidade desejada)&#8221; e eu tnha que ir no site e mandar o link pra pessoa&#8230;.com o tópico ficava mais fácil, era só eu mandar [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://flickr.com/photos/crouch/216529061/" title="The Bricklayer"><img src="http://farm1.static.flickr.com/64/216529061_4ebaac224c_m.jpg" alt="The Bricklayer" height="240" width="160"  style="border: 2px solid rgb(0, 0, 0);float: right; margin-left: 10px; margin-bottom: 10px;" /></a></p>
<p>Um tempo atrás eu mantinha um tópico atualizado com diversos programinhas em vários fórums porque sempre vinha gente perguntar pra mim: &#8220;Diego, qual o melhor software pra fazer (coloque aqui a funcionalidade desejada)&#8221; e eu tnha que ir no site e mandar o link pra pessoa&#8230;.com o tópico ficava mais fácil, era só eu mandar o link e a pessoa se virava&#8230;como ando sem saco de ficar atualizando sempre nos fórums, vou colocar aqui a lista e de vez enquando atualizo, então quem assina o <a href="http://feeds.feedburner.com/plentz">meu feed</a> recebe a notificação que algum programa foi atualizado&#8230;simples e rápido&#8230;</p>
<h3><a href="http://www.mozilla.com/firefox/">Firefox</a></h3>
<p>Browser desenvolvido pela mesma equipe que faz o Mozilla, mais rápido e mais leve que o original. Possui bloqueador de pop-ups, gerenciador de downloads próprio, <a href="http://dhruba.codewordt.co.uk/blog/2004/09/11/80/">barra otimizada de pesquisa</a>, procura integrada com o Google, <a href="http://mozilla.org/products/firefox/live-bookmarks.html">suporte à RSS</a>, <a href="http://isc.sans.org/diary.php?date=2004-06-25">é mais seguro que o IE</a> e possui muitas outras funcionalidades.<br />
<a href="http://www.mozilla.com/firefox/">Download</a></p>
<h3><a href="http://amazesoft.com/">FlashGet</a></h3>
<p>Gerenciador de download que quebra o download em partes para aumentar a velocidade. As partes do download vão depender dos mirrors que o arquivo possui, ou seja, em quantos servidores o arquivo está hospedado. Feito isso eles são baixados simultaneamente em uma velocidade maior.<br />
<a href="http://www.flashget.com/en/download.htm">Download</a></p>
<h3><a href="http://azureus.sourceforge.net/">Azureus</a></h3>
<p>Cliente de Bit Torrent baseado em Java com suporte para múltiplos downloads e interface em português brasileiro. Possui sistema de fila de espera e prioridade dos downloads, iniciar/parar de enviar arquivos e informações reais sobre a situação do arquivo torrent. Possui a função inédita de tracker embutido, onde você poderá criar o arquivo torrent e fazer o upload para o tracker e compartilha-lo. Com um <a href="http://plentz.org/2005/10/24/broadcatching/">pouco de paciência para configurá-lo</a> para baixar automaticamente conteúdo para você.<br />
<a href="http://azureus.sourceforge.net/download.php">Download</a></p>
<h3><a href="http://emule-project.net/">eMule</a></h3>
<p>O eMule é um dos compartilhadores mais usados na atualidade. Possui algumas funções que facilitam o uso como capturar diretamente dos e-links, possui um campo para atualizar o Server.met e a URL para encontra-lo, pode ver detalhes do usuário e o que ele está baixando. Aconselhado para quem tem banda larga.<br />
<a href=http://sourceforge.net/project/showfiles.php?group_id=53489&#038;package_id=47913">Download</a></p>
<h3><a href="http://filezilla.sourceforge.net/">Filezilla</a></h3>
<p>Cliente FTP rápido, com diversos recursos e interface intuitiva. Possui suporte multilinguagem.<br />
<a href="http://sourceforge.net/project/showfiles.php?group_id=21558&#038;package_id=206762">Download</a></p>
<h3><a href="http://filezilla.sourceforge.net/">FileZilla Server</a></h3>
<p>Servidor FTP pequeno e rápido, com visual semelhante ao famoso G6 (hoje conhecido como BulletProof FTP Server), mas completamente gratuito&#8230; Possui suporte multilinguagem. Do mesmo criador do FileZilla.<br />
<a href="http://sourceforge.net/project/showfiles.php?group_id=21558&#038;package_id=21737">Download</a></p>
<h3><a href="http://www.avast.com/">Avast!</a></h3>
<p>Programa antivírus completo, gratuito para uso pessoal ou não comercial. Possui dois modos de visualização gráfica (simples e avançado), com opções de scan manual ou automática. Integra-se facilmente com o screen saver, explorador de arquivos e cliente de e-mail. Possui atualizações frequentes, pequenas, que podem ser baixadas com um simples clique do mouse.<br />
<a href="http://www.avast.com/eng/download-avast-home.html">Download</a></p>
<h3><a href="http://www.snapfiles.com/get/restoration.html">Restoration</a></h3>
<p>Utilitário pra recuperar aqueles arquivinhos que seu irmãozinho apagou <em>sem querer</em>.<br />
<a href="http://www.snapfiles.com/get/restoration.html">Download</a></p>
<h3><a href="http://www.pcinspector.de/file_recovery/uk/welcome.htm">PC Inspector smart recovery</a></h3>
<p>Excelente programa pra recuperar fotos apagadas do cartão de memória da câmera.<br />
<a href="http://www.pcinspector.de/download.asp?language=1#file_recovery">Download</a></p>
<h3><a href="http://realvnc.com/">RealVNC</a></h3>
<p>Uma excelente alternativa ao PC Anywhere, completamente gratuita. Te fornece o monitor, teclado e mouse de um terminal remoto, permitindo administração remota como se fosse localmente. Você poderá, por exemplo, controlar o seu computador do micro de sua escola ou de seu trabalho. Muito bom mesmo!<br />
<a href="http://www.realvnc.com/download.html">Download</a></p>
<h3><a href="http://no-ip.com/services.php/page/free">No-IP DUC (Dynamic Update Cliente)</a></h3>
<p>Ótimo programa para quem gosta de acessar seu computador remotamente e tem ip dinâmico. Também é útil para quem tem algum tipo de servidor no seu computador e deseja facilitar o acesso aos seus usuários.<br />
<a href="http://www.no-ip.com/downloads.php">Download</a></p>
<h3><a href="http://7-zip.org/">7-Zip</a></h3>
<p>Compactador gratuito que garante resultados melhores que os concorrentes, e suporta os formatos 7z (nativo), ZIP, CAB, RAR, ARJ, GZIP, BZIP2, TAR, CPIO, RPM e DEB. Para ter uma idéia da diferença, sua taxa de compressão varia entre 30-50% melhor que o formato ZIP.<br />
<a href="http://7-zip.org/download.html">Download</a></p>
<h3><a href="http://ati.com/">Drivers para placas de vídeo ATI</a></h3>
<p>A última versão dos drivers oficiais para placas de Vídeo da família Radeon da ATI.<br />
<a href="http://ati.amd.com/support/drivers/xp/radeonx-xp.html">Catalyst para Windowns XP</a><br />
<a href="http://ati.amd.com/support/drivers/vista32/common-vista32.html">Catalyst para Windows Vista</a></p>
<h3><a href="http://nvidia.com/">Drivers para placas de vídeo Nvidia</a></h3>
<p><a href="http://www.nvidia.com/content/drivers/drivers.asp">Download Forceware</a></p>
<h3><a href="http://www.adobe.com/products/acrobat/">Adobe Reader</a></h3>
<p>Vizualize, navegue e imprima Adobe PDFs no seu browser. Este tipo de arquivo é muito comum em documentações gerais e agora você já pode vê-las através de seu browser.<br />
<a href="http://www.adobe.com/products/acrobat/readstep2.html">Download</a></p>
<h3><a href="http://desktop.google.com/">Google Desktop</a></h3>
<p>Permite que você faça buscas em arquivos no seu computador usando toda a tecnologia do Google. O programa é capaz de localizar documentos criados em Word, Excel, PowerPoint, PDF&#8217;s, e-mails do Outlook, Outlook Express, Netscape Mail e Thunderbird, histórico de páginas navegadas no Internet Explorer, Netscape, Firefox, Mozilla, históricos do AOL Instant Messenger, textos, músicas, imagens, vídeos. Tudo isso utilizando a mesma interface de busca na web do Google.<br />
<a href="http://desktop.google.com/dl?hl=en">Download</a></p>
<h3><a href="http://messenger.msn.com/">Google Talk</a></h3>
<p>programa de chat online desenvolvido pelo Google. Possui ótima interface e excelente intergração com o Gmail. Conta também com chat de voz.<br />
<a href="http://www.google.com/talk/">Download</a></p>
<h3><a href="http://get.live.com/messenger/overview">Windows Live Messenger</a></h3>
<p>IM mais usado no mundo. Pode não ser uma maravilha, mas todo mundo tem.<br />
<a href="http://get.live.com/messenger/overview">Download</a></p>
<h3><a href="http://skype.com/">Skype</a></h3>
<p>Comunicador que utiliza a tecnologia de programas P2P. No momento, oferece apenas recursos de comunicação, e nenhum de compartilhamento de arquivos, mas é excelente para conexões de voz sobre IP. Segundo especialistas, este pode ser o Kazaa das comunicações via internet, pois possibilita a qualquer um, com um microfone ou headset, conversar com pessoas através do mundo, sem pagar ligações telefônicas.<br />
<a href="http://skype.com/download/">Download</a></p>
<h3><a href="http://nero.com/">Nero</a></h3>
<p>Grave CD-ROMs e DVDs com este ótimo programa de gravação. Suporta todos os principais formatos de gravação: ISO, Joliet, Mixing Mode, etc. Grava CD-audio, disc-at-once e track-at-once. Além disso possui várias outras opções que vão ajudá-lo muito.<br />
<a href="http://www.nero.com/enu/Downloads.html">Download</a></p>
<h3><a href="http://daemon-tools.cc/">DAEMON Tools</a></h3>
<p>Trás um drive de CD-ROM virtual V386 PHANTOM CDROM que permite que se possa assistir videos vcd que estejam no formato imagem BIN/CUE. Trabalha com todos os tipos de drive de CD e DVD, e suporta qualquer CD protegido.<br />
<a href="http://www.disc-tools.com/download/daemon">Download</a></p>
<h3><a href="http://apple.com/itunes/">iTunes</a></h3>
<p>Permite gerenciar e reproduzir sua coleção musical através da simplicidade do drag-and-drop. Também permite permite o compartilhamento de músicas  entre PCs e Mac. Possui também a habilidade de gravar CDs com facilidade e faz compressão de arquivos MP3. O iTunes é uma espécie de loja de discos embutida em um programa de busca de MP3.<br />
<a href="http://www.apple.com/itunes/download/">Download</a></p>
<h3><a href="http://cdexos.sourceforge.net/">CDEX</a></h3>
<p>Resumindo, um ótimo utilitário para extrair faixas de CD para MP3 ou WAV.<br />
<a href="http://cdexos.sourceforge.net/download.html">Download</a></p>
<h3><a href="http://autogk.me.uk/">Auto Gordian Knot</a></h3>
<p>Ferramenta para criar backup (humm) de DVD&#8217;s nos formatos XviD e DivX. O programa codifica o DVD e outras fontes MPEG2 (tais como DVB e algumas trasmissões em tempo real) para o formato MPEG4 também.Permite criar legendas externas (vobsub) ou internas (burn-in), duas faixas de áudio em AVI, resoluções HDTV de entrada e saída superiores a 1920x**** e cinquenta a sessenta frame rates por segundo. Também divide e redimensiona automaticamente baseado na compressibilidade da fonte para obter melhores resultados e detecta automaticamente a fonte de entrada: PAL, NTSC, FILM, HYBRID.<br />
<a href="http://www.autogk.me.uk/index.php?name=Downloads&#038;d_op=viewdownload&#038;cid=1">Download</a><br />
<a href="http://www.autogk.me.uk/modules.php?name=TutorialPT">Tutorial utilização</a></p>
<h3><a href="http://www.free-codecs.com/download/K_Lite_Mega_Codec_Pack.htm">Mega Code Pack</a></h3>
<p>Enorme coleção de codecs e ferramentas para visualização de vídeo.<br />
<a href="http://www.free-codecs.com/download/K_Lite_Mega_Codec_Pack.htm">Download</a></p>
<div class="acc_license"><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/"><img src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" alt="by-nc-nd" /></a></div><!--<rdf:RDF xmlns="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Work rdf:about=""><license rdf:resource="http://creativecommons.org/licenses/by-nc-nd/3.0/" /></Work><License rdf:about="http://creativecommons.org/licenses/by-nc-nd/3.0/"><requires rdf:resource="http://creativecommons.org/ns#Attribution" /><permits rdf:resource="http://creativecommons.org/ns#Reproduction" /><permits rdf:resource="http://creativecommons.org/ns#Distribution" /><prohibits rdf:resource="http://creativecommons.org/ns#CommercialUse" /><requires rdf:resource="http://creativecommons.org/ns#Notice" /></License></rdf:RDF>--><img src="http://plentz.org/wordpress/?ak_action=api_record_view&id=108&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://plentz.org/2005/02/14/programas-inuteis/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>adBlock</title>
		<link>http://plentz.org/2004/12/26/adblock/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=adblock</link>
		<comments>http://plentz.org/2004/12/26/adblock/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>Diego Plentz</dc:creator>
				<category><![CDATA[Unsorted]]></category>
		<category><![CDATA[util]]></category>

		<guid isPermaLink="false">http://plentz.org/wordpress/?p=100</guid>
		<description><![CDATA[Hoje resolvi dar uma olhada em como anda o Hotmail pra ver se havia mudado alguma coisa(pra melhor). Pra minha surpresa, mudou, pois agora temos mais banners que tipicamente. Como uso o Firefox com a extension adBlock, resolvi dar uma brincada. Loguei no site, e já na primeira tela um banner quadrado enorme à esquerda. [...]]]></description>
			<content:encoded><![CDATA[<div style="clear:both;"></div>
<p>Hoje resolvi dar uma olhada em como anda o <a href="http://hotmail.com/">Hotmail</a> pra ver se havia mudado alguma coisa(pra melhor). Pra minha surpresa, mudou, pois agora temos mais banners que tipicamente. Como uso o <a href="http://www.spreadfirefox.com/?q=affiliates&#038;id=2918&amp;t=82">Firefox</a> com a extension <a href="https://addons.update.mozilla.org/extensions/moreinfo.php?application=firefox&#038;version=1.0&amp;os=Windows&amp;id=10">adBlock</a>, resolvi dar uma brincada.</p>
<p>Loguei no site, e já na primeira tela um banner quadrado enorme à esquerda. Right clique nele, adBlock iFrame. Bum, já era. Vou para a caixa de entrada. Quase perco a retina com um banner vermelho piscante que aparece no topo da página. Right click + adBlock iFrame e lá se vai ele. O mesmo para o lateral e para os pequenos anúncios de upgrade account. Pronto, agora o Hotmail está com uma cara no mínimo mais agradável. Ok, continua sendo um serviço ridículo.</p>
<p>Mas isso vamos resolver agora. Esqueça tudo que você fez ali em cima, escreva um comentário ou me mande um e-mail que lhe envio um invite para o <a href="http://gmail.com">Gmail</a>. Simples de resolver não?
<div style="clear:both; padding-bottom: 0.25em;"></div>
<div class="acc_license"><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/"><img src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" alt="by-nc-nd" /></a></div><!--<rdf:RDF xmlns="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Work rdf:about=""><license rdf:resource="http://creativecommons.org/licenses/by-nc-nd/3.0/" /></Work><License rdf:about="http://creativecommons.org/licenses/by-nc-nd/3.0/"><requires rdf:resource="http://creativecommons.org/ns#Attribution" /><permits rdf:resource="http://creativecommons.org/ns#Reproduction" /><permits rdf:resource="http://creativecommons.org/ns#Distribution" /><prohibits rdf:resource="http://creativecommons.org/ns#CommercialUse" /><requires rdf:resource="http://creativecommons.org/ns#Notice" /></License></rdf:RDF>--><img src="http://plentz.org/wordpress/?ak_action=api_record_view&id=100&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://plentz.org/2004/12/26/adblock/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Torrenteza</title>
		<link>http://plentz.org/2004/11/06/torrenteza/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=torrenteza</link>
		<comments>http://plentz.org/2004/11/06/torrenteza/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>Diego Plentz</dc:creator>
				<category><![CDATA[util]]></category>

		<guid isPermaLink="false">http://plentz.org/wordpress/?p=97</guid>
		<description><![CDATA[Já faz algum tempo que uso o a rede bittorrent para baixar arquivos da internet. Mais precisamente o BitTornado. Mas fiquei surpreso com uma nota que saiu no Yahoo news a respeito da ascensão do BitTorrent, sendo que a rede hoje já está é a &#8220;culpada&#8221; por 35% de todo o tráfego da internet(segundo a [...]]]></description>
			<content:encoded><![CDATA[<div style="clear:both;"></div>
<p>Já faz algum tempo que uso o a rede bittorrent para baixar arquivos da internet. Mais precisamente o <a href="http://bittornado.com/">BitTornado</a>. Mas fiquei surpreso com <a href="http://in.tech.yahoo.com/041103/137/2ho4i.html">uma nota</a> que saiu no <a href="http://in.tech.yahoo.com/">Yahoo news</a> a respeito da ascensão do BitTorrent, sendo que a rede hoje já está é a &#8220;culpada&#8221; por 35% de todo o tráfego da internet(segundo a <a href="http://cachelogic.com/">CacheLogic</a>) , sendo maior a soma de todos os outros programas P2P <span style="font-weight: bold;">juntos</span>.<br />
<blockquote>A file-sharing program called BitTorrent has become a behemoth, devouring more than a third of the Internet&#8217;s bandwidth, and Hollywood&#8217;s copyright cops are taking notice.</p>
<p>For those who know where to look, there&#8217;s a wealth of content, both legal &#8212; such as hip-hop from the Beastie Boys and video game promos &#8212; and illicit, including a wide range of TV shows, computer games and movies.</p>
<p>Average users are taking advantage of the software&#8217;s ability to cheaply spread files around the Internet. For example, when comedian Jon Stewart made an incendiary appearance on CNN&#8217;s political talk show.<br />&#8230;</p>
<p>According to British Web analysis firm CacheLogic, BitTorrent accounts for an astounding <span style="font-weight: bold;">35 percent of all the traffic on the Internet</span> &#8212; more than all other peer-to-peer programs combined &#8212; and dwarfs mainstream traffic like Web pages.</p></blockquote>
<div style="clear:both; padding-bottom: 0.25em;"></div>
<div class="acc_license"><a href="http://creativecommons.org/licenses/by-nc-nd/3.0/"><img src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" alt="by-nc-nd" /></a></div><!--<rdf:RDF xmlns="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Work rdf:about=""><license rdf:resource="http://creativecommons.org/licenses/by-nc-nd/3.0/" /></Work><License rdf:about="http://creativecommons.org/licenses/by-nc-nd/3.0/"><requires rdf:resource="http://creativecommons.org/ns#Attribution" /><permits rdf:resource="http://creativecommons.org/ns#Reproduction" /><permits rdf:resource="http://creativecommons.org/ns#Distribution" /><prohibits rdf:resource="http://creativecommons.org/ns#CommercialUse" /><requires rdf:resource="http://creativecommons.org/ns#Notice" /></License></rdf:RDF>--><img src="http://plentz.org/wordpress/?ak_action=api_record_view&id=97&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://plentz.org/2004/11/06/torrenteza/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
