<?xml version="1.0"?>
<!-- name="generator" content="blojsom v3.3" -->
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <channel>
        <title>Claudio Miranda</title>
        <link>http://www.claudius.com.br/blog/claudio</link>
        <description>Blog do Claudio Miranda</description>
        <language>pt</language>
        <image>
            <url>http://www.claudius.com.br/favicon.ico</url>
            <title>Claudio Miranda</title>
            <link>http://www.claudius.com.br/blog/claudio</link>
        </image>
        <docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<generator>blojsom v3.3</generator>
		<managingEditor>claudio@claudius.com.br</managingEditor>
		<webMaster>claudio@claudius.com.br</webMaster>
		<pubDate>Fri, 8 Aug 2008 23:30:31 -0300</pubDate>

                        <item>
            <title>Novo serviço de hosting VPS</title>
            <link>http://www.claudius.com.br/blog/claudio/2008/08/08/Novo-servico-de-hosting-VPS</link>
            <description>&lt;p&gt;Durante alguns anos user o serviço de VPS (Virtual Private Hosting) de uma empresa na Inglaterra, SparseZone. Onde usava um zone solaris e estava muito contente com o serviço deles.&lt;/p&gt;
  &lt;p&gt;Ocorre que o o SparseZone não vai mais oferecer o serviço (não sei o motivo), então tive de procurar outro lugar, um VPS com preço semelhante.&lt;/p&gt;
  &lt;p&gt;Então encontrei um serviço tão bom, é um VPS Linux, onde é possível escolher qual distribuição vai usar (Debian, Ubuntu, RedHat) em 32 ou 64 bits.&lt;/p&gt;
  &lt;p&gt;O serviço é oferecido pela empresa &lt;a href=&quot;http://www.tektonic.net&quot;&gt;TekTonic&lt;/a&gt;, onde eles tem algumas categorias de serviços e planos. Eu peguei o &lt;a href=&quot;http://www.tektonic.net/unmanaged.html&quot;&gt;Unmanaged&lt;/a&gt; em um plano básico, para usar neste site que está vendo agora.&lt;/p&gt;
  &lt;p&gt;No plano básico oferecem:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;294 MB de memória RAM&lt;/li&gt;
    &lt;li&gt;13 GB de disco&lt;/li&gt;
    &lt;li&gt;500 GB de taxa de transferência mensal&lt;/li&gt;
    &lt;li&gt;1 endereço IP&lt;/li&gt;
    &lt;li&gt;25% de uso de toda a CPU&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Esta mensagem serve mais para incentivar a galera que quer ter sua própria maquina na internet, onde o preço não é caro e a experência é bem bacana.&lt;/p&gt;
  &lt;p&gt;De nenhuma maneira sou afiliado a esta empresa, nem vou ganhar desconto algum. Apenas acho que se o serviço é bom e barato, merece ser recomendado.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Eu Recomendo !&lt;/strong&gt;&lt;/p&gt;</description>
            <guid>http://www.claudius.com.br/blog/claudio/2008/08/08/Novo-servico-de-hosting-VPS</guid>
			<pubDate>Fri, 8 Aug 2008 23:30:31 -0300</pubDate>
            <category>/dicas/</category>
                                        <wfw:comment>http://www.claudius.com.br/commentapi/claudio/dicas/2008/08/08/Novo-servico-de-hosting-VPS</wfw:comment>
            <wfw:commentRss>http://www.claudius.com.br/blog/claudio/2008/08/08/Novo-servico-de-hosting-VPS?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Conferência no Skype</title>
            <link>http://www.claudius.com.br/blog/claudio/2008/04/02/Conferência-no-Skype</link>
            <description>
  &lt;p&gt;O Skype suporta chamadas em conferência, onde é possível conversar (em áudio) com vários colegas, &lt;a href=&quot;http://www.skype.com/intl/en/help/guides/makeconferencecall_windows/&quot;&gt;existe um manual sobre isso&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Mas o problema é que uso linux, então a interface visual mencionada no artigo, não é para linux, então procurei um pouco por essa informação e não encontrei nada. &lt;/p&gt;
  &lt;p&gt;Então fiz a tentativa, de selecionar os contatos do skype, segurando a tecla CTRL e clicar com o botão inverso do mouse, então surgiu a opção &lt;strong&gt;&amp;quot;Start conference with selected contacts&amp;quot;&lt;/strong&gt;, muito bom.&lt;/p&gt;
  &lt;p&gt;&lt;img src=&quot;/resources/claudio/070402-skype2.png&quot; /&gt;&lt;/p&gt;</description>
            <guid>http://www.claudius.com.br/blog/claudio/2008/04/02/Conferência-no-Skype</guid>
			<pubDate>Wed, 2 Apr 2008 20:25:05 -0300</pubDate>
            <category>/dicas/</category>
                                        <wfw:comment>http://www.claudius.com.br/commentapi/claudio/dicas/2008/04/02/Conferência-no-Skype</wfw:comment>
            <wfw:commentRss>http://www.claudius.com.br/blog/claudio/2008/04/02/Conferência-no-Skype?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Conversão de charset para UTF-8, modo gráfico</title>
            <link>http://www.claudius.com.br/blog/claudio/2007/11/07/Conversão-de-charset-para-UTF-8-modo-gráfico</link>
            <description>&lt;img align=&quot;right&quot; src=&quot;/resources/claudio/tips_icon.gif&quot; alt=&quot;Dicas&quot; hspace=&quot;80&quot;/&gt;

&lt;p&gt;Segue uma maneira fácil de converter arquivos ou nome de arquivos para UTF-8. Um exemplo é quando copia-se arquivos acentuados em windows para linux, o nome de arquivo não é convertido, ficando um nome ilegível. Então deve-se converter o nome do arquivo para UTF-8.
&lt;/p&gt;
&lt;p&gt;Na &lt;a alt=&quot;Conversão de charset para UTF-8&quot; href=&quot;http://www.claudius.com.br/blog/claudio/2007/11/05/Convers%C3%A3o-de-charset-para-UTF-8&quot;&gt;dica anterior&lt;/a&gt;, foi mostrado como modificar o conteúdo do arquivo para UTF-8. O uso da ferramenta konwert por linha de comando é útil quando se tem muitos arquivos a serem verificados. Quando se tem poucos arquivos e estão visíveis na interface gráfica, torna-se mais prático usar alguns cliques para resolver isso.
&lt;/p&gt;
&lt;p&gt;Então a dica fica com o uso de um script específico para o Konqueror (KDE) que abre um menu de contexto com opções de conversão. O script é o &lt;a href=&quot;http://www.kde-apps.org/content/show.php/ToUTF-8?content=31400&quot;&gt;ToUTF-8&lt;/a&gt;, encontrado no &lt;a href=&quot;http://www.kde-apps.org&quot;&gt;kde-apps.org&lt;/a&gt;, as instruções de instalação estão no site.
&lt;/p&gt;
&lt;h3&gt;Requisitos
&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Linux&lt;/li&gt;
  &lt;li&gt;KDE&lt;/li&gt;
  &lt;li&gt;Konqueror
  &lt;br /&gt;&lt;/li&gt;
  &lt;li&gt;recode
  &lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Eu uso o gerenciador de arquivos &lt;a href=&quot;http://krusader.sf.net/&quot;&gt;krusader&lt;/a&gt;, que acho bem mais prático do que o konqueror.
  &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Clique na imagem abaixo, para ver como ele funciona.&amp;nbsp;
&lt;/p&gt;

&lt;a href=&quot;/resources/claudio/krusader_utf8.png&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;/resources/claudio/krusader_utf8_sm.jpg&quot; alt=&quot;Clique na imagem para ampliar&quot; /&gt;&lt;/a&gt;</description>
            <guid>http://www.claudius.com.br/blog/claudio/2007/11/07/Conversão-de-charset-para-UTF-8-modo-gráfico</guid>
			<pubDate>Wed, 7 Nov 2007 17:26:44 -0200</pubDate>
            <category>/dicas/</category>
                                        <wfw:comment>http://www.claudius.com.br/commentapi/claudio/dicas/2007/11/07/Conversão-de-charset-para-UTF-8-modo-gráfico</wfw:comment>
            <wfw:commentRss>http://www.claudius.com.br/blog/claudio/2007/11/07/Conversão-de-charset-para-UTF-8-modo-gráfico?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Conversão de charset para UTF-8</title>
            <link>http://www.claudius.com.br/blog/claudio/2007/11/05/Conversão-de-charset-para-UTF-8</link>
            <description>&lt;p&gt;Em ambientes de desenvolvimento heterogêneos, onde existem diferentes sistemas operacionais e IDEs, é comum encontrar problemas de caracteres com encoding diferentes, como ISO-8859-1, UTF-8, etc.
  &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;No projeto que trabalho atualmente, existem windows e linux (por enquanto não tem apple), então é comum existirem arquivos com ISO-8859-1, ASCII e UTF-8.
&lt;/p&gt;
&lt;p&gt;Então não é uma boa idéia gravar arquivos .java, vogais com acentos e gravar em ISO-8859-1 e outro colega abrir esse arquivo em seu linux com UTF-8, uma bagunça.
&lt;/p&gt;
&lt;p&gt;Então segue um script para linux que verifica os encodings dos arquivos e outro que converte para UTF-8. Note que o script não mostra o arquivo se ele já estiver em UTF-8.
&lt;/p&gt;
&lt;p&gt;É necessário o utilitário &lt;a href=&quot;http://sourceforge.net/projects/konwert/&quot;&gt;konwert&lt;/a&gt;. Já usei anteriormente o recode e iconv, mas achei o konwert mais prático. E ele oferece uma opção interessante, onde ele tenta descobrir qual o encodingo do arquivo, através da opção &lt;font face=&quot;monospace&quot;&gt;any/pt/all-test&lt;/font&gt;
  &lt;br /&gt;
&lt;/p&gt;
&lt;h3&gt;Script 1 - checagem do encoding
&lt;/h3&gt;
&lt;pre&gt;
#!/bin/sh

if [ $# -lt 1 ] ; then
    echo &quot;&quot;
    echo &quot; Informe um diretório para pesquisar os arquivos .java &quot;
    exit 1
fi

find $1 -name \*.java -exec file {} \; | egrep -v &#39;ASCII|UTF&#39; | while read s; do 
	ff=`echo $s | awk -F &#39;:&#39; &#39;{print $1}&#39;`;  
	file $ff; 
	echo &quot; charset   &quot;; konwert any/pt/all-test  $ff; 
done
&lt;/pre&gt;
&lt;h3&gt;Script 2 - Conversão para UTF-8
&lt;/h3&gt;
&lt;pre&gt;
#!/bin/sh

if [ $# -lt 1 ] ; then
    echo &quot;&quot;
    echo &quot; Informe um diretório para converter os arquivos .java para UTF-8&quot;
    exit 1
fi

find . -name \*.java -exec file {} \; | grep 8859 | while read s; do 
	ff=`echo $s | awk -F &#39;:&#39; &#39;{print $1}&#39;`;   
	konwert cp1252-utf8 -O  $ff; 
done                      
&lt;/pre&gt;
&lt;p&gt;
  &lt;p&gt;No script de conversão é usado a opção -O, que faz com que o arquivo original seja trocado pelo arquivo com encoding UTF-8&amp;nbsp;
  &lt;/p&gt;
&lt;/p&gt;
</description>
            <guid>http://www.claudius.com.br/blog/claudio/2007/11/05/Conversão-de-charset-para-UTF-8</guid>
			<pubDate>Mon, 5 Nov 2007 13:46:47 -0200</pubDate>
            <category>/dicas/</category>
                                        <wfw:comment>http://www.claudius.com.br/commentapi/claudio/dicas/2007/11/05/Conversão-de-charset-para-UTF-8</wfw:comment>
            <wfw:commentRss>http://www.claudius.com.br/blog/claudio/2007/11/05/Conversão-de-charset-para-UTF-8?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Descobrindo senha de banco de dados</title>
            <link>http://www.claudius.com.br/blog/claudio/2007/10/26/Descobrindo-senha-de-banco-de-dados</link>
            <description>&lt;img align=&quot;right&quot; src=&quot;/resources/claudio/tips_icon.gif&quot; alt=&quot;Dicas&quot; hspace=&quot;80&quot;/&gt;
&lt;p&gt;Você já passou por aquela situação de desconfiança, onde ao informar a senha de acesso ao banco de dados e pensou &quot;poxa, tenho de informar a senha em texto limpo ?&quot;, desejando que a senha estivesse cifrada.
&lt;/p&gt;
&lt;p&gt;Isso por padrão ocorre em alguns servidores de aplicativos, onde a senha de acesso ao banco de dados é informada em texto limpo, em outros servidores de aplicativos a senha ecoa em asteriscos, deixando o usuário confortável que a senha está segura. Bem, não acredite nisso, a senha não está segura.
&lt;/p&gt;
&lt;p&gt;O que quero mostrar é que a senha pode ser extraida de outras maneiras, como inspecionar os pacotes de mensagens IP. O que pode garantir a senha é uma combinação de práticas e configurações para deixar o ambiente mais seguro.
&lt;/p&gt; 
&amp;nbsp; &lt;a href=&quot;http://www.claudius.com.br/blog/claudio/dicas/Descobrindo-senha-de-banco-de-dados?smm=y&quot;&gt;&lt;br&gt;&lt;p&gt;    Veja a noticia completa&lt;/p&gt;&lt;/a&gt;</description>
            <guid>http://www.claudius.com.br/blog/claudio/2007/10/26/Descobrindo-senha-de-banco-de-dados</guid>
			<pubDate>Fri, 26 Oct 2007 07:17:47 -0200</pubDate>
            <category>/dicas/</category>
                                        <wfw:comment>http://www.claudius.com.br/commentapi/claudio/dicas/2007/10/26/Descobrindo-senha-de-banco-de-dados</wfw:comment>
            <wfw:commentRss>http://www.claudius.com.br/blog/claudio/2007/10/26/Descobrindo-senha-de-banco-de-dados?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Dicas de SSH (v2)</title>
            <link>http://www.claudius.com.br/blog/claudio/2007/08/10/Dicas-de-SSH-v2</link>
            <description>&lt;p&gt;
&lt;img align=&quot;right&quot; src=&quot;/resources/claudio/tips_icon.gif&quot; alt=&quot;Dicas&quot; hspace=&quot;80&quot;/&gt;
&lt;a href=&quot;http://www.claudius.com.br/blog/claudio/dicas/Dicas-de-SSH&quot;&gt;Em junho publiquei uma dica no uso de ssh&lt;/a&gt;, sem solicitar a senha do servidor. Isso envolve criar uma chave privada/pública e colocar a chave pública no servidor.
&lt;/p&gt;
&lt;p&gt;Ocorre que essa chave pode ter uma senha para proteger contra acesso não autorizado (passphrase), que é diferente da senha de login ssh.
&lt;/p&gt;
&lt;p&gt;Ao usar a dica que coloquei anteriormente, mas informando um passphrase, em cada conexão com o ssh, é necessário informar a senha do passphrase, o que invalida toda a dica, onde não é necessário informar senha nenhuma. Dai o motivo de não informar um passphrase.
&lt;/p&gt;
&lt;p&gt;Então conversando com o colega &lt;a href=&quot;http://www.brunoborges.com.br/&quot;&gt;Bruno Borges da Summa&lt;/a&gt; (aka Miojo), ele disse que usou o ssh-agent para proteger o passphrase.
&lt;/p&gt;
&lt;p&gt;Então complementado a minha dica anterior,
&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;em&gt;Geração de chave RSA de 2048 bits&lt;/em&gt;
  &lt;br /&gt;
  &lt;pre&gt;ssh-keygen -b 2048 -t rsa
&lt;/pre&gt;
  &lt;p&gt;Desta vez informe um passphrase
  &lt;/p&gt; &lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Use o ssh-agent para guardar o acesso ao passphrase &lt;/em&gt;
  &lt;br /&gt;
  &lt;pre&gt;$ eval `ssh-agent`
$ ssh-add &amp;lt;private key file&amp;gt; # e.g. ~/.ssh/id_RSA
$ ssh-add -l&lt;/pre&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A dica de como &lt;a href=&quot;http://www.snailbook.com/faq/no-passphrase.auto.html&quot;&gt;usar o ssh-agent, peguei de outro site&lt;/a&gt;.
  &lt;br /&gt;
&lt;/p&gt;­
&lt;p&gt;Agora pode &lt;a href=&quot;http://www.claudius.com.br/blog/claudio/dicas/Dicas-de-SSH&quot;&gt;seguir o restante da dica anterior a partir do passo 2&lt;/a&gt;&lt;/p&gt;</description>
            <guid>http://www.claudius.com.br/blog/claudio/2007/08/10/Dicas-de-SSH-v2</guid>
			<pubDate>Fri, 10 Aug 2007 21:26:39 -0300</pubDate>
            <category>/dicas/</category>
                                        <wfw:comment>http://www.claudius.com.br/commentapi/claudio/dicas/2007/08/10/Dicas-de-SSH-v2</wfw:comment>
            <wfw:commentRss>http://www.claudius.com.br/blog/claudio/2007/08/10/Dicas-de-SSH-v2?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Como encontrar uma classe ?</title>
            <link>http://www.claudius.com.br/blog/claudio/2007/07/30/Como-encontrar-uma-classe</link>
            <description>&lt;p &gt;
&lt;img align=&quot;right&quot; src=&quot;/resources/claudio/tips_icon.gif&quot; alt=&quot;Dicas&quot; hspace=&quot;80&quot;/&gt;
Nesta dica mostrarei duas dicas que me ajudam muito no dia a dia.
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1) Encontrar em qual biblioteca está uma classe&lt;/strong&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;Existem diversas situações onde é necessário encontrar em qual biblioteca encontra-se uma determinada classe Java.
&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.claudius.com.br/blog/claudio/2004/11/22/scripts%20bash%201.txt&quot;&gt;Em 2004 coloquei uma dica de um script bash que resolve isso&lt;/a&gt;. Esse script mostra todos os arquivos que ele vasculhou para procurar a classe, mesmo que a classe não estivesse no arquivo, ele seria mostrada mesmo assim, causando desperdício de tempo e de tela.
&lt;/p&gt;
&lt;p&gt;Então aproveitei um tempinho e arrumei o script, onde é mostrado apenas o arquivo que contém a classe procurada e ainda arrumei a impressão da tela.
  &lt;br /&gt;
&lt;/p&gt;
&lt;more/&gt;
&lt;p&gt;
  &lt;pre&gt;
#!/bin/sh

usage=&quot;Uso:        findJavaClass directory ClassName   &quot;

if [ $# -lt 2 ] ; then
    echo $usage
    exit 1
fi

if [ -d $1 ] ; then
    FIND_CMD=&quot;find $1&quot;
else 
    echo &quot;Diretorio nao existe&quot;
    exit 1    
fi

$FIND_CMD -name \*.jar | while read jar_file ; 
do
    found_class=`unzip -l $jar_file | awk &#39;{print $4}&#39; | grep  $2`
    num_classes=`echo $found_class | wc -c`
    if [ $num_classes -gt 1 ] ; then 
        echo &quot;&quot;
        echo &quot;Arquivo:&quot;
        echo &quot;    $jar_file&quot;
        echo &quot;Classes:&quot;
        echo $found_class | sed &#39;s/\ /\n/g&#39; | sed &#39;s/^.*/\ \ \ \ &amp;/g&#39;
    fi
done

  &lt;/pre&gt;
  &lt;p&gt;E o um resultado como exemplo:
  &lt;/p&gt;
  &lt;pre&gt;
$ findJavaClass ~/javaSoftware/netbeans-5.5.1/ide7/modules/ext/jaxws21/ Task

Arquivo:
    /home/claudio/javaSoftware/netbeans-5.5.1/ide7/modules/ext/jaxws21/http.jar
Classes:
    sun/net/httpserver/ServerImpl$ServerTimerTask.class

Arquivo:
    /home/claudio/javaSoftware/netbeans-5.5.1/ide7/modules/ext/jaxws21/jaxb-xjc.jar
Classes:
    com/sun/istack/tools/ProtectedTask$AntElement.class
    com/sun/istack/tools/ProtectedTask.class
    com/sun/tools/jxc/AptBasedTask$1.class
    com/sun/tools/jxc/AptBasedTask$AptAdapter.class
    com/sun/tools/jxc/AptBasedTask$InternalAptAdapter.class

  &lt;/pre&gt;
  &lt;p&gt;&lt;strong&gt;2) Como mostrar o conteúdo de um arquivo que está compactado ?&lt;/strong&gt;
  &lt;/p&gt;
  &lt;p&gt;Quantas vezes por dia você descompacta um arquivo só para olhar o conteúdo do manifest ?
    &lt;br /&gt;
  &lt;/p&gt;
  &lt;p&gt;Então segue mais uma dica, onde não é necessário descompactar o arquivo.
  &lt;/p&gt;
  &lt;pre&gt;$ unzip -c /home/claudio/javaSoftware/netbeans-5.5.1/ide7/modules/ext/jaxws21/jaxb-xjc.jar META-INF/MANIFEST.MF
  &lt;/pre&gt;
&lt;/p&gt;</description>
            <guid>http://www.claudius.com.br/blog/claudio/2007/07/30/Como-encontrar-uma-classe</guid>
			<pubDate>Mon, 30 Jul 2007 02:56:18 -0300</pubDate>
            <category>/dicas/</category>
                                        <wfw:comment>http://www.claudius.com.br/commentapi/claudio/dicas/2007/07/30/Como-encontrar-uma-classe</wfw:comment>
            <wfw:commentRss>http://www.claudius.com.br/blog/claudio/2007/07/30/Como-encontrar-uma-classe?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
            </channel>
</rss>
