<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4349602586996769979</id><updated>2011-12-29T12:43:16.596-02:00</updated><category term='jboss weblogic java tuning'/><category term='net'/><category term='relacionamento'/><category term='maven java maven-plugin substitute'/><category term='development'/><category term='esb jbossesb jboss java'/><category term='arquitetura'/><category term='junit'/><category term='maven'/><category term='tomcat'/><category term='configuração'/><category term='música'/><category term='pesquisa'/><category term='jboss java configuração'/><category term='desenvolvimento'/><category term='firefox'/><category term='jni'/><category term='iphone'/><category term='download'/><category term='autismo'/><category term='frameworks'/><category term='comandoslegais'/><category term='git'/><category term='python'/><category term='plugin'/><category term='slack64'/><category term='spring'/><category term='amizade'/><category term='oauth'/><category term='teste de carga'/><category term='receita federal'/><category term='google-code replacer maven'/><category term='linux'/><category term='ajp'/><category term='virtualbox'/><category term='classworld'/><category term='fábrica de software'/><category term='dbunit'/><category term='pessoal'/><category term='quickguide'/><category term='java'/><category term='seam'/><category term='patterns'/><category term='tutorial'/><category term='iphone 5'/><category term='processo de desenvolvimento'/><category term='scm'/><category term='route'/><category term='bash'/><category term='iphone 5g'/><category term='c'/><category term='webservice'/><category term='impostos'/><category term='isenção'/><category term='derby jboss-setup jboss'/><category term='testeintegração'/><category term='codehaus'/><category term='twitter'/><category term='reference'/><category term='saml'/><category term='openwrt'/><category term='jboss'/><category term='server'/><category term='mp3'/><category term='ubuntu'/><category term='produção'/><category term='amarok'/><category term='axis'/><category term='bandalheira'/><category term='rede'/><category term='ide'/><category term='trafegoredeopenwrt'/><title type='text'>Javarias &amp; TI</title><subtitle type='html'>Meu diário pessoal sobre investidas em tecnologia e descoberta de novos empreendimentos tecnológicos.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.boaventura.info/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>55</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-2683964772255015610</id><published>2011-12-29T12:39:00.003-02:00</published><updated>2011-12-29T12:43:16.610-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iphone 5'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone 5g'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><title type='text'>Iphone 5g?</title><content type='html'>Antes que tirem a &lt;a href="http://lightake.com/detail.do/sku.Protective_Silicone_Protector_Mobile_Back_Case_Cover_for_iPhone_5G_Purple-46217" target="_blank"&gt;página&lt;/a&gt; do ar, olha só o que encontrei por um acaso:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Jwenxo17_Y4/Tvx8AWvkHwI/AAAAAAAAAMA/prZMmnIcDR4/s1600/iphone5g.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-Jwenxo17_Y4/Tvx8AWvkHwI/AAAAAAAAAMA/prZMmnIcDR4/s320/iphone5g.jpg" width="257" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Um case do iPhone 5g? Será isso um fake, um vislubramento com teorias fortes ou um vazamento de informações???&lt;br /&gt;&lt;span id="goog_1576963958"&gt;&lt;/span&gt;&lt;span id="goog_1576963959"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-2683964772255015610?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/2683964772255015610/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=2683964772255015610' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/2683964772255015610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/2683964772255015610'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2011/12/iphone-5g.html' title='Iphone 5g?'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Jwenxo17_Y4/Tvx8AWvkHwI/AAAAAAAAAMA/prZMmnIcDR4/s72-c/iphone5g.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-6088701804187053704</id><published>2011-12-18T09:33:00.001-02:00</published><updated>2011-12-18T09:33:58.538-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='amarok'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='mp3'/><title type='text'>Mp3 no Amarok</title><content type='html'>Bem, essa é básica, ao menos deveria ser.&lt;br /&gt;&lt;br /&gt;Quem gosta de linux o usa diariamente, ainda não é o público alvo o usuário final, apesar da interface estar interessante, a usabilidade não tá muito legal no gnome.&lt;br /&gt;Deixando o blablablá de lado, gostamos de desenvolver escutando música, ao menos isso provoca em mim uma imersão e estado de espírito melhor.&lt;br /&gt;&lt;br /&gt;Quando vou escutar algo no amarok, vejo um pequeno warning: "phonon are claiming: they cannot play mp3 files". O-ou. Que ocorreu? Googlando um pouco, vi que o que está faltando é uma library, (utilizo o ubuntu 11.10 oneiric) "libxine1-ffmpeg".&lt;br /&gt;&lt;br /&gt;Um &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sudo apt-get install libxine1-ffmpeg&lt;/span&gt; resolve nosso problema.&lt;br /&gt;&lt;br /&gt;Happy coding!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-6088701804187053704?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/6088701804187053704/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=6088701804187053704' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6088701804187053704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6088701804187053704'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2011/12/mp3-no-amarok.html' title='Mp3 no Amarok'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-6939102395832457939</id><published>2011-10-24T09:05:00.000-02:00</published><updated>2011-10-24T09:05:30.293-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='openwrt'/><category scheme='http://www.blogger.com/atom/ns#' term='trafegoredeopenwrt'/><title type='text'>O que trafega na sua rede doméstica? (parte 1)</title><content type='html'>Sempre achei o máximo o &lt;a href="http://www.openwrt.org/"&gt;openwrt&lt;/a&gt;. Um projeto pra rodar um linux embedded from scratch é a glória para qualquer slack user.&lt;br /&gt;&lt;br /&gt;A intensão deste post é direcionar a utilização do openwrt em um device 100% compatível, ao menos é o que está na &lt;a href="http://wiki.openwrt.org/toh/start"&gt;lista de compatibilidade do software&lt;/a&gt;, e diga-se de passagem, para a realidade de todo o brasileiro, tem que ser um hardware barato; por isso eu escolhi o &lt;a href="http://www.boadica.com.br/produtos/f428/59744.html"&gt;DLINK DIR-600&lt;/a&gt;, que custa certa de R$50,00 (clique no link pra pesquisar os preços no boadica, pra quem mora no RJ).&lt;br /&gt;&lt;br /&gt;Não vou montar nenhum howto, é apenas um registro do que quero fazer.&lt;br /&gt;O openwrt é um oponente do dd-wrt, porém o openwrt é mais marrento, e, como todo o marrento, funciona melhor, porém é mais "difícil" de ser configurado. Em outro post digo como foi.&lt;br /&gt;&lt;br /&gt;Adiantando o tópico, há um post em outro blog dizendo &lt;a href="http://www.kallisti.net.nz/blog/2010/12/per-user-traffic-monitoring-on-openwrt/"&gt;como fazer o monitoramento do tráfego&lt;/a&gt;, e há um projeto chamado &lt;a href="http://bandwidthd.sourceforge.net/"&gt;bandwidthd&lt;/a&gt;, que pode ser instalado no openwrt também. Espero que ajude alguém.&lt;br /&gt;&lt;br /&gt;Até a parte 2!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-6939102395832457939?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/6939102395832457939/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=6939102395832457939' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6939102395832457939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6939102395832457939'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2011/10/o-que-trafega-na-sua-rede-domestica.html' title='O que trafega na sua rede doméstica? (parte 1)'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-874270513261815850</id><published>2011-10-18T11:49:00.001-02:00</published><updated>2011-10-18T11:49:42.025-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scm'/><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='reference'/><category scheme='http://www.blogger.com/atom/ns#' term='quickguide'/><title type='text'>Mais comandos rápidos GIT</title><content type='html'>Mais comandos de referência rápida do GIT:&lt;br /&gt;&lt;br /&gt;git whatchanged --since="2 days ago"&lt;br /&gt;&lt;div style="font-family: inherit;"&gt;Muito bom, mostra as revisões e entradas de árvore que foram mexidas, com o parâmetro since especificado, você pode definir, em inglês, outras variações, como "1 minute ago" ou mesmo "2 half ago".&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;git reset --hard HEAD&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;Desfaz as modificações que você fez para a última revisão comitada.&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;Seja cauteloso: isso apagará tudo o que você fez sem perguntar nada.&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;Este comando pode ser utilizado no caso de você fazer uma cópia do diretório pra outro local, pra fazer backup ou algo parecido. Como perderá os ponteiros, quando você executar esse comando, toda a referência será refeita, e o projeto estará pronto para uso no novo local.&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;/div&gt;&lt;pre class="literallayout"&gt;git reset --hard 8456fe19&lt;/pre&gt;&lt;pre class="literallayout"&gt;Desfaz as últimas modificações para a revisão 8456fe19 (não esqueça, o git não vai te pedir confirmação: CUIDADO).&lt;br /&gt;&lt;/pre&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="literallayout"&gt;git diff&lt;/pre&gt;&lt;pre class="literallayout"&gt;Mostra o que foi feito no último commit. &lt;/pre&gt;&lt;pre class="literallayout"&gt;&amp;nbsp;&lt;/pre&gt;&lt;div style="font-family: inherit;"&gt;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;/div&gt;&lt;pre class="literallayout"&gt;git diff e19a "xybembom"&lt;/pre&gt;&lt;pre class="literallayout"&gt;Mostra diferença do que está sendo desenvolvido atualmente e entre as entradas e19a e xybembom.&lt;/pre&gt;&lt;pre class="literallayout"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="literallayout"&gt;git diff "@{yesterday}"&amp;nbsp;&lt;/pre&gt;&lt;pre class="literallayout"&gt;Mostra diferença atual para tudo o que foi feito desde ontem (a referência do --since do outro comando também funciona). &lt;/pre&gt;&lt;pre class="literallayout"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre class="literallayout"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre class="literallayout"&gt;git rm -r diretorio/dir1&lt;/pre&gt;&lt;pre class="literallayout"&gt;Não esqueça que comandos efetuados com rm são de dentro do git, ou seja, referem-se a exclusão do arquivo do controle de versões.&lt;/pre&gt;&lt;pre class="literallayout"&gt;Obs.: Não esqueça de efetuar commit também. &lt;/pre&gt;&lt;pre class="literallayout"&gt;Apaga o "dir1" e tudo o que tiver dentro. &lt;/pre&gt;&lt;pre class="literallayout"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre class="literallayout"&gt;git rm control.cc&lt;/pre&gt;&lt;pre class="literallayout"&gt;Retira o arquivo "control.cc" do controle de versão.&lt;/pre&gt;&lt;pre class="literallayout"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre class="literallayout"&gt;git mv control.cc rebase.cc&lt;/pre&gt;&lt;pre class="literallayout"&gt;Renomeia o arquivo "control.cc" para "rebase.cc" dentro do git.&lt;/pre&gt;&lt;pre class="literallayout"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre class="literallayout"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-874270513261815850?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/874270513261815850/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=874270513261815850' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/874270513261815850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/874270513261815850'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2011/10/mais-comandos-rapidos-git.html' title='Mais comandos rápidos GIT'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-7284653969190550472</id><published>2011-10-11T09:29:00.000-03:00</published><updated>2011-10-11T09:30:00.501-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='teste de carga'/><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='configuração'/><category scheme='http://www.blogger.com/atom/ns#' term='produção'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><title type='text'>"Segredos" de um cosmopolita na sala dos servidores</title><content type='html'>Bem, nunca havia pensado dessa maneira, até porque já ajo na defensiva sempre. Mas, segundo o autor, na época que ele fez o documento, ele tinha 15 anos de experiência, e agora tem 20. E eu apenas 10.&lt;br /&gt;Mas o lance interessante mesmo é que ele fala que os pontos de integração são sempre os #1 em pontos de falha, deadlock, etc. da aplicação, e devem ser tratados com extrema cautela.&lt;br /&gt;&lt;br /&gt;&lt;img alt="" height="273" src="data:image/png;base64,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" width="640" /&gt;&lt;br /&gt;&lt;br /&gt;Esses três gráficos são mostrados como um ambiente sob estresse responde: o 1o. gráfico mostra que a maioria sobre estresse despenca a performance. Os melhores sistemas respondem bem sob estresse dentro de uma margem de segurança e depois também despencam. Sistemas imaginários sempre respondem bem: quanto maior a demanda, a resposta também cresce. Daí tiramos o seguinte: quanto recurso você ou seu patrão está disponível a pagar (recursos) pela margem de segurança?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;O documento por si só já é super interessante, pois trata extensivamente de pontos obscuros atualmente, e que as pessoas não dão muita importância, como conexões com banco, o que, qualquer desenvolvedor experiente sabe que são pontos de quebra. Outro ponto muito bom é o teste de carga. Ele fez um test case que a meta era botar 1.200 usuários simultâneos pra rodar durante 1 mês. Ele viu que não era suficiente, pois haviam muitos pontos de falha, e achou necessário colocar mais 2 meses. Esse é um excelente documento que você pode mostrar pro seu chefe que qualquer operação de missão crítica não é tão trivial quanto parece e merece toda a importância que lhe é inerente, proporcionalmente direto.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.otug.org/meeting/20050419.pdf"&gt;Aqui está o documento&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-7284653969190550472?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/7284653969190550472/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=7284653969190550472' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/7284653969190550472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/7284653969190550472'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2011/10/segredos-de-um-cosmopolita-na-sala-dos.html' title='&quot;Segredos&quot; de um cosmopolita na sala dos servidores'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-5166747750697886426</id><published>2011-10-04T14:39:00.000-03:00</published><updated>2011-10-04T14:39:17.217-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scm'/><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='reference'/><category scheme='http://www.blogger.com/atom/ns#' term='quickguide'/><title type='text'>Referência Git</title><content type='html'>Esse é um post com um guia de comandos básico e rápido para o git.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;git show - mostra o conteúdo do blob comitado&lt;br /&gt;git ls-tree - mostra os ponteiros para blobs e outras árvores&lt;br /&gt;git show -s --pretty=raw 2be7fcb476 - Mostra a referência completa de certo blob&lt;br /&gt;git cat-file tag [nome da tag] - Mostra as informações da tag (object, type, tag, tagger)&lt;br /&gt;&lt;br /&gt;git init - cria um novo repositório no diretório atual&lt;br /&gt;git branch - lista os branches do diretório atual&lt;br /&gt;git branch [nome do branch] - cria um branch baseado no estado do blob atual&lt;br /&gt;git checkout [nome do branch] - cria uma outra árvore e aponta os ponteiros para ela&lt;br /&gt;git branch -d [nome do branch] - deleta um branch (se for feito um merge no master o histórico é migrado)&lt;br /&gt;git merge [nome do branch] - executa um merge no branch atual a partir do branch escolhido&lt;br /&gt;git merge next - caso haja algum conflito, o comando "next" é utilizado para resolver os próximos conflitos&lt;br /&gt;git reset --hard HEAD - desiste do merge que foi tentado efetuar com o comando "git merge [nome do branch]"&lt;br /&gt;git log --stat - mostra os logs com estatísticas de inserções e remoções&lt;br /&gt;git log --no-merges - mostra os logs sem o que foi feito nos merges&lt;br /&gt;git log -p - mostra os patches efetuados&lt;br /&gt;git log --pretty=format:'%h was %an, %ar, message: %s' - Mostra os logs em um formato legível, nesse formato: "65a9a23 was Valtoni Boaventura, 15 minutes ago, message: merge x2 e master"&lt;br /&gt;git log --pretty=format:'%h : %s (%ar)' --graph - Esse fica show, mostra os logs em formato gráfico&lt;br /&gt;git log --pretty=format:'%h : %s (%ar)' --date-order --graph - Mostra os logs em formato gráfico, organizados por data&lt;br /&gt;git diff master..branch - Mostra o diff de um tree para outro, seja ele master, branch, tag ou mesmo pelo índice&lt;br /&gt;git diff HEAD - Se você ainda não efetuou um "commit -a", esse comando mostra as modificações que você efetuou localmente&lt;br /&gt;git diff --stat - Mostra um estatística do que foi modificado&lt;br /&gt;&lt;br /&gt;git clone /home/valtoni/repo myrepo - efetua uma cópia local de um repositório remoto&lt;br /&gt;git tag [nome da tag] [indice da revisão] - atribui uma tag a uma revision específica (pode ser qualquer objeto, inclusive trees)&lt;br /&gt;git grep -n [texto] - pesquisa o texto no blob atual&lt;br /&gt;git grep -n [texto] [indice] - pesquisa o texto no revision especificado&lt;br /&gt;&lt;br /&gt;git fsck - Verifica os "dangling objects" fazendo correções nos mesmos. Não são erros, apenas liberam espaços&lt;br /&gt;git blame - Mostra que linha foi modificada por quem no conteúdo completo do arquivo&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tricks:&lt;br /&gt;alias git_log="git log --pretty=format:'%h was %an, %ar, message: %s'" =&amp;gt; Alias para o log history&lt;br /&gt;alias git_graph_log="git log --pretty=format:'%h : %s (%ar)' --graph" =&amp;gt; Alias para o graph, no tree&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Termos:&lt;br /&gt;fast-forward - Acontece no caso de você ter feito um branch e o reintegrou ao master sem nenhuma alteração ao último (o git identifica e faz isso de forma automática)&lt;br /&gt;&lt;br /&gt;Todos os comandos foram retirados desse guia: http://book.git-scm.com/book.pdf&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-5166747750697886426?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/5166747750697886426/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=5166747750697886426' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/5166747750697886426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/5166747750697886426'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2011/10/referencia-git.html' title='Referência Git'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-9148261938677854502</id><published>2011-06-15T14:19:00.000-03:00</published><updated>2011-06-15T14:19:48.329-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='autismo'/><title type='text'>Referências sobre autismo I</title><content type='html'>Excelente blog sobre autismo: &lt;br /&gt;&lt;a href="http://topicosemautismoeinclusao.blogspot.com/"&gt;http://topicosemautismoeinclusao.blogspot.com/ &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Coletânea de textos sobre autismo: &lt;br /&gt;&lt;a href="http://www.int.gov.br/noticias/projeto-disponibiliza-coletanea-de-textos-sobre-autismo"&gt;http://www.int.gov.br/noticias/projeto-disponibiliza-coletanea-de-textos-sobre-autismo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Problemas ao inserir crianças na escola:&lt;br /&gt;&lt;a href="http://www.webartigos.com/articles/59399/1/A-INCLUSAO-DO-ALUNO-COM-DEFICIENCIA-NA-ESCOLA-COMUM/pagina1.html"&gt;http://www.webartigos.com/articles/59399/1/A-INCLUSAO-DO-ALUNO-COM-DEFICIENCIA-NA-ESCOLA-COMUM/pagina1.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-9148261938677854502?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/9148261938677854502/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=9148261938677854502' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/9148261938677854502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/9148261938677854502'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2011/06/referencias-sobre-autismo-i.html' title='Referências sobre autismo I'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-2924561709467809760</id><published>2011-06-06T09:06:00.000-03:00</published><updated>2011-06-06T09:06:35.647-03:00</updated><title type='text'>Confusão de conceitos - Cache e Pool</title><content type='html'>Estava eu lendo &lt;a href="http://www.devmedia.com.br/post-14759-Introducao-ao-Terracotta--EXCLUSIVO-PARA-DIGITAL.html"&gt;um artigo sobre o Terracota&lt;/a&gt;, quando me deparei com as seguintes afirmações sobre pool e cache:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;&lt;span style="font-family: VErdana; font-size: x-small;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black; font-size: xx-small;"&gt;&lt;span style="color: #384042; font-family: verdana; font-size: 14px; line-height: 21px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin-left: 14.2pt; text-indent: -14.2pt;"&gt;&lt;span style="font-size: xx-small;"&gt;&lt;span style="font-family: VErdana; font-size: x-small;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black; font-size: xx-small;"&gt;&lt;span style="color: #384042; font-family: verdana; font-size: 14px; line-height: 21px;"&gt;&lt;span style="font-family: Symbol;"&gt;·      &lt;/span&gt;Um pool é uma coleção de objetos cuja criação é custosa, sendo mais eficiente um protocolo de aquisição / liberação permitindo reciclagem dos mesmos objetos em momentos distintos;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 14.2pt; text-indent: -14.2pt;"&gt;&lt;span style="font-size: xx-small;"&gt;&lt;span style="font-family: VErdana; font-size: x-small;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black; font-size: xx-small;"&gt;&lt;span style="color: #384042; font-family: verdana; font-size: 14px; line-height: 21px;"&gt;&lt;span style="font-family: Symbol;"&gt;·      &lt;/span&gt;Um cache é uma coleção de objetos que replicam informações cuja consulta é custosa (como registros de um BD, objetos de outro processo, ou resultados de algum cálculo complexo).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;Eu discordo sobre o termo "reciclagem". Caramba tem que complicar? Por quê não dizer "Um pool é uma coleção de objetos cuja criação é custosa, sendo mais eficiente um método de reutilizá-los&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-2924561709467809760?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/2924561709467809760/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=2924561709467809760' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/2924561709467809760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/2924561709467809760'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2011/06/confusao-de-conceitos-cache-e-pool.html' title='Confusão de conceitos - Cache e Pool'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-766298365058714324</id><published>2011-05-16T10:05:00.004-03:00</published><updated>2011-05-16T10:10:20.246-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss weblogic java tuning'/><title type='text'>Weblogic Pirando?</title><content type='html'>&lt;img src="data:image/png;base64,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" alt="" /&gt;&lt;br /&gt;Esse é o resultado de consumo de memória da minha máquina, sem eu fazer absolutamente nada. Consumo de memória aumentando, até o garbage collector atuar, ao final do dia.&lt;br /&gt;&lt;br /&gt;&lt;img src="data:image/png;base64,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" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;Treads aumentando também, porém nada que assuste. Mas... 6 threads no pool em 3 dias? Sem fazer nada?&lt;br /&gt;&lt;br /&gt;&lt;img src="data:image/png;base64,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" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;Vamos às classes. 215 cargas? Q q é iusso?? Sem fazer nada?&lt;br /&gt;&lt;br /&gt;&lt;img src="data:image/png;base64,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" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;Utilização de cpu tá a 0% ao menos, se salvou!&lt;br /&gt;&lt;br /&gt;Bem, em comparação às configurações padrões ao menos, o weblogic tá perdendo feio pro JBoss. Não sou expert em tuning, muito menos no weblogic. Então pra um mortal, o JBoss é uma escolha menos traumática, até agora.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-766298365058714324?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/766298365058714324/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=766298365058714324' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/766298365058714324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/766298365058714324'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2011/05/weblogic-pirando.html' title='Weblogic Pirando?'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-9212599483881232706</id><published>2011-05-12T15:44:00.000-03:00</published><updated>2011-05-13T17:33:16.906-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java jrockit weblogic jmx'/><title type='text'>JRockit e Weblogic management</title><content type='html'>Bom, como a vida dá voltas...&lt;br /&gt;Lá estou eu mexendo com weblogic.&lt;br /&gt;Não obstante de todos os problemas de gerenciamento que já passei no mundo opensource, há também algumas "dificuldades" no mundo fechado. Uma das que me deparei foi uma &lt;a href="http://www.oracle.com/technetwork/middleware/jrockit/documentation/index.html"&gt;vasta gama de facilidades que a oracle disponibilizou no JRockit&lt;/a&gt;. Na verdade o problema é você encontrar o pinheiro mais bonito do mundo, como &lt;a href="http://en.wikipedia.org/wiki/Jay_Jay_the_Jet_Plane"&gt;Snuffy&lt;/a&gt; diria.&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Bom, na relidade, qual o problema? Gostaria de visualizar os meus processos, threads e etc. no jconsole, do jdk padrão. Mas, por razões técnicas, meu weblogic roda jrockit. Existe um tal de "mission control", que é utilizado pra fazer isso, do jrockit mesmo, mas não sei se ele é pago (me parece que sim) ou não, e nem me interessei em saber. Pois bem, na realidade eu quero é enxergar a estrutura jmx do weblogic via jconsole. Vamos lá!&lt;br /&gt;&lt;br /&gt;Primeiro de tudo: localize o arquivo startWebLogic.sh ou startWebLogic.cmd. Adicione a linha &lt;span style="font-family: courier new;"&gt;set JAVA_OPTIONS="%JAVA_OPTIONS% -Xmanagement"&lt;/span&gt; no windows ou &lt;span style="font-family: courier new;"&gt;JAVA_OPTIONS="$JAVA_OPTIONS -Xmanagement&lt;/span&gt;" no linux. Após isso, reinicie o weblogic.&lt;br /&gt;&lt;br /&gt;Aqui ele subiu na porta 7091, sem especificar nada.&lt;br /&gt;&lt;br /&gt;Inicie o jconsole.&lt;br /&gt;&lt;br /&gt;Conecte em remote process &lt;span style="font-family: courier new;"&gt;service:jmx:rmi:///jndi/rmi://localhost:7091/jmxrmi&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;É interessante saber que o jrockit não tem algumas especificidades como o padrão tem como o  &lt;span style="font-family: courier new;"&gt;-XX:+HeapDumpOnOutOfMemoryError&lt;/span&gt; tem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-9212599483881232706?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/9212599483881232706/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=9212599483881232706' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/9212599483881232706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/9212599483881232706'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2011/05/jrockit-e-weblogic-management.html' title='JRockit e Weblogic management'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-5442045958219698769</id><published>2011-05-05T10:40:00.001-03:00</published><updated>2011-05-05T10:42:17.950-03:00</updated><title type='text'>Codificação única (ou pouca): filhos bastardos</title><content type='html'>Porque inventam tanta parafernalha se uma coisa funciona bem? Ego nessas  horas complica a vida da comunidade. Uma pessoa pensa (já pensei assim  tá): "isso é fácil, vou fazer". Pronto. Ferrou o mundo. Se for uma  pessoa influente e ela tiver imersão no mercado tecnológico, fatalmente  será utilizado, um pouco mais ou um pouco menos. Porém... Filho de um  pai só, se o pai estiver ocupado cuidando da sua vida, e, gente,  convenhamos, fatalmente ele estará; as pessoas que estiverem utilizando  as tecnologias se ferram.&lt;br /&gt;&lt;br /&gt;A comunidade open source está aí pra isso: um apoia quando o outro não  estiver acessível. Com certeza foi por isso que a apache foundation tem  alguns dos softwares mais fortes e crédulos do mercado: abriu os  códigos, aceita contribuições do mundo todo e faz isso de uma maneira  fantástica, tudo com licensa apache, aberta pra caramba.&lt;br /&gt;&lt;br /&gt;Por isso... Não façam código avulso nem frameworks que vão morrer semana  que vem! Nenhum filho gosta de ficar sem pai. Procurar na comunidade e  apoiá-la é a melhor saída.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-5442045958219698769?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/5442045958219698769/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=5442045958219698769' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/5442045958219698769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/5442045958219698769'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2011/05/codificacao-unica-ou-pouca-filhos.html' title='Codificação única (ou pouca): filhos bastardos'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-7551540331200752618</id><published>2011-05-05T10:26:00.003-03:00</published><updated>2011-05-05T10:40:14.034-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webservice'/><category scheme='http://www.blogger.com/atom/ns#' term='patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='saml'/><category scheme='http://www.blogger.com/atom/ns#' term='oauth'/><title type='text'>Autenticação Web services</title><content type='html'>Shibboleth - http://shibboleth.internet2.edu&lt;br /&gt;OAuth 2 - http://en.wikipedia.org/wiki/OAuth&lt;br /&gt;e, principalmente,&lt;br /&gt;SAML:&lt;br /&gt;1. Wikipedia - http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language&lt;br /&gt;2. Implementação google - http://code.google.com/googleapps/domain/sso/saml_reference_implementation.html&lt;br /&gt;3. Referência principal - http://saml.xml.org/&lt;br /&gt;&lt;br /&gt;O http://www.yaml.org/ é uma implementação tipo jason: não confundir.&lt;br /&gt;&lt;br /&gt;Interessante. Todos os padrões e autenticações que garantem segurança utilizam um único princípio: token. Eles modificam na forma; o que, quando e onde; podendo utilizar chaves X.509 pra garantia de integridade.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-7551540331200752618?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/7551540331200752618/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=7551540331200752618' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/7551540331200752618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/7551540331200752618'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2011/05/autenticacao-web-services.html' title='Autenticação Web services'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-6391349444935863378</id><published>2011-03-31T14:58:00.002-03:00</published><updated>2011-03-31T15:05:05.011-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pesquisa'/><category scheme='http://www.blogger.com/atom/ns#' term='autismo'/><title type='text'>Autismo: Disfunção do sistema nervoso central?</title><content type='html'>Parece que os pesquisadores estão caminhando para isso. Se isto realmente for verdade, vai ser a primeira realidade palpável sobre o assunto; sendo assim, qualquer "palpabilidade" pode ter uma cura física também. Adorei a novidade e soube disso hoje, dia 31/03/2011. Espero em breve ter conhecimento de que os pesquisadores também estão no caminho de descobrir como essa disfunção ocorre. Isso é apenas uma prova de que o cérebro humano é realmente tão complexo que passa a ser uma icógnita em nossas vidas.&lt;br /&gt;&lt;br /&gt;Página da novidade:&lt;br /&gt;&lt;a href="http://www.ladders.org/pages/Autism-Research-Consortium.html"&gt;http://www.ladders.org/pages/Autism-Research-Consortium.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Página mostrando que o autismo relaciona-se com estados febris:&lt;br /&gt;&lt;a href="http://www.kennedykrieger.org/kki_news.jsp?pid=6801"&gt;http://www.kennedykrieger.org/kki_news.jsp?pid=6801&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Autor do estudo acima:&lt;br /&gt;&lt;a href="http://www.kennedykrieger.org/kki_staff.jsp?pid=1068"&gt;http://www.kennedykrieger.org/kki_staff.jsp?pid=1068&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-6391349444935863378?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/6391349444935863378/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=6391349444935863378' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6391349444935863378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6391349444935863378'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2011/03/autismo-disfuncao-do-sistema-nervoso.html' title='Autismo: Disfunção do sistema nervoso central?'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-2884722543271035420</id><published>2010-12-28T16:33:00.002-02:00</published><updated>2010-12-28T16:47:15.288-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='slack64'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Instalando o TweetDeck no slack 64</title><content type='html'>Não é tão complexo quanto o post que fiz no twitter, amigos. :)&lt;br /&gt;&lt;br /&gt;Bem, apenas consegui instalar o 32bits.&lt;br /&gt;Aí vai:&lt;br /&gt;&lt;br /&gt;Pre requisito: instalar as libs compat de 32 bits. O Alien Bob (thx Alien) escreveu muito bem no &lt;a href="http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib"&gt;wiki dele&lt;/a&gt; .&lt;br /&gt;&lt;br /&gt;Siga o howto indicado &lt;a href="http://www.pikopong.com/blog/2010/07/13/install-tweetdeck-on-slackware-13-1-with-xfce/"&gt;aqui&lt;/a&gt;. Após isso, verifique as bibliotecas &lt;a href="http://kb2.adobe.com/cps/408/kb408084.html"&gt;aqui&lt;/a&gt;. Então, tudo pronto, rode o seguinte script:&lt;br /&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;ARQUIVOS="libnss3.so libnssutil3.so libsmime3.so libssl3.so libnspr4.so libplc4.so libplds4.so"&lt;br /&gt;&lt;br /&gt;DEST=$1&lt;br /&gt;&lt;br /&gt;for arq in $ARQUIVOS&lt;br /&gt;do&lt;br /&gt;   cp $arq $DEST&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Você pode copiar na mão, óbvio. Mas taí os arquivos que necessitam ser copiados. O $DEST é o /usr/lib.&lt;br /&gt;&lt;br /&gt;Execute o ldconfig ao final.&lt;br /&gt;&lt;br /&gt;Pronto! Como todo bom slacker, vc usa o KDE. Crie uma entrada de menu com o último comando. Os ícones estão dentro da pasta criada.&lt;br /&gt;&lt;br /&gt;Twitte à valer!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-2884722543271035420?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/2884722543271035420/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=2884722543271035420' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/2884722543271035420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/2884722543271035420'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2010/12/instalando-o-tweetdeck-no-slack-64.html' title='Instalando o TweetDeck no slack 64'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-5807937625391073058</id><published>2010-12-07T07:54:00.003-02:00</published><updated>2010-12-07T08:08:58.454-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ide'/><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento'/><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='configuração'/><title type='text'>IDE para desenvolvimento de Plugins Firefox</title><content type='html'>Bem, é difícil achar algum material consistente para desenvolvimento com IDE. Encontrei algumas fontes de informação para desenvolvimento linux, e C++, utilizando o XPCOM, que é o core do desenvolvimento de plugins firefox.&lt;br /&gt;&lt;br /&gt;Este link: http://www.softwareshift.com/2010/03/linux-c-xpcom-component-tutorial.html mostra algumas configurações a serem feitas e utilizações do eclipse c.&lt;br /&gt;&lt;br /&gt;Abaixo mais uns materiais para quem tá começando:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="https://addons.mozilla.org/pt-BR/developers/docs/getting-started"&gt;Plugin Get Starting&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mozdev.org/projects/wizard/"&gt;Plugin Wizard Skeleton Builder&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://addons.mozilla.org/pt-BR/developers/tools/builder"&gt;Add-on builder&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developer.mozilla.org/en/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK#Downloading_and_Setting_the_SDK"&gt;Gecko SDK&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://developer.mozilla.org/en/XPCOM"&gt;XPCOM&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-5807937625391073058?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/5807937625391073058/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=5807937625391073058' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/5807937625391073058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/5807937625391073058'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2010/12/ide-para-desenvolvimento-de-plugins.html' title='IDE para desenvolvimento de Plugins Firefox'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-3175286296871375717</id><published>2010-12-07T07:22:00.002-02:00</published><updated>2010-12-07T07:34:09.286-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='plugin'/><title type='text'>Addons firefox - Must Have</title><content type='html'>Pra quem usa o firefox:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/2324/"&gt;Session Manager&lt;/a&gt; - Gerencia as sessões de navegação. Interessante pra quem gosta de abrir N páginas sobre um assunto e depois tem que trocar de escopo rapidamente para voltar depois.&lt;/li&gt;&lt;li&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/235854/"&gt;Pentadactil&lt;/a&gt; - Ama o VIM? Esse cara tras o vim pro firefox. Até páginas podem ser abertas no estilo :open www.google.com&lt;/li&gt;&lt;li&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/1964/"&gt;Cert Viewer Plus&lt;/a&gt; - Visualizador de certificado. Dá pra ver email dos responsáveis pelo certificado, assim como salvá-lo e mostrá-lo no formato RAW na tela.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-3175286296871375717?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/3175286296871375717/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=3175286296871375717' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/3175286296871375717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/3175286296871375717'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2010/12/addons-firefox-must-have.html' title='Addons firefox - Must Have'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-5198540266752214728</id><published>2010-11-03T00:55:00.003-02:00</published><updated>2010-11-03T01:21:14.262-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><title type='text'>Plugando nativamente o IPhone no Ubuntu 10.10</title><content type='html'>Cara, realmente o linux é demais. Recentemente achei o projeto &lt;a href="http://www.libimobiledevice.org/"&gt;libmobiledevice&lt;/a&gt; (teaching penguin to learn with fruits), que implementa nativamente os protocolos necessários para falar com o seu iphone. O legal é que já implementa nativamente o ios 4.0, sem galho nenhum. E melhor: não é necessário jailbreak ou qualquer coisa parecida, pois como o iphone é desenvolvido inteiramente sob gcc e afins (descobri hoje), eles são obrigados pela licensa a disponibilizar os fontes de tudo o que modificaram, em outro post coloco o link.&lt;br /&gt;&lt;br /&gt;Vamos lá:&lt;br /&gt;&lt;br /&gt;Posteriormente este pacote será necessário (do now):&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sudo apt-get install clutter-gtk-0.10 clutter-1.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Vamos instalar o repositório do pacote:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sudo add-apt-repository &lt;/span&gt;&lt;strong style="font-weight: normal;"&gt;&lt;span style="font-style: italic;"&gt;ppa:pmcenery/ppa&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sudo apt-get update&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Depois uma mega instalação (esses pacotes são específicos para i386 e maverick meerkat, sorry):&lt;br /&gt;&lt;span style="font-style: italic;"&gt;apt-get install &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: monospace; font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;ipheth-utils libgalinette0 libgalinette-dev galinette-nox galinette slimrat-nox slimrat python-imobiledevice libimobiledevice1-dbg libimobiledevice1 libimobiledevice-utils libimobiledevice-doc libimobiledevice-dev usbmuxd libusbmuxd1-dbg libusbmuxd1 libusbmuxd-dev &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Depois dessa instalação experimente plugar seu iphone no usb.&lt;br /&gt;Imediatamente você verá que as pastas ocultas do so interno do iphone aparecerão no seu nautilus. Ainda mais! Experimente colocar suas músicas no diretório Musicas do seu home. Peça para o rhythmbox sincronizar. Ah! As músicas tocam nativamente lá dentro mesmo.&lt;br /&gt;&lt;br /&gt;Mais um plus: execute na linha de comando &lt;span style="font-style: italic;"&gt;ideviceinfo&lt;/span&gt;. Você verá informações que nem o Cydia te dá.&lt;br /&gt;&lt;br /&gt;Pra terminar: faça um backup do seu iphone com o comando &lt;span style="font-style: italic;"&gt;idevicebackup backup &lt;diretório-destino&gt;&lt;/span&gt;. Funcionou show de bola.&lt;br /&gt;&lt;br /&gt;Estou compilando o sbmanager. No próximo post digo como foi.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-5198540266752214728?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/5198540266752214728/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=5198540266752214728' title='6 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/5198540266752214728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/5198540266752214728'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2010/11/plugando-nativamente-o-iphone-no-ubuntu.html' title='Plugando nativamente o IPhone no Ubuntu 10.10'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-1622724116691234017</id><published>2010-11-03T00:12:00.003-02:00</published><updated>2010-11-03T00:55:24.693-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Development environment ubuntu 10.10 - Maverick Meerkat</title><content type='html'>I don't find so much about this (&lt;span style="color: rgb(51, 102, 255);"&gt;aptitude install build-essential&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;#Fail&lt;/span&gt;), then i install some packages from scratch. Contributions are welcomed :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;apt-get install --no-install-recommends bzr-builddeb ubuntu-dev-tools fakeroot build-essential gnupg pbuilder debhelper&lt;/span&gt;&lt;br /&gt;(this are extracted from &lt;a href="https://wiki.ubuntu.com/BeginnersTeam/FocusGroups/Development/Devbeginnings#Thorough%20Install:%20Ubuntu%20Development%20Tools"&gt;here&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;apt-get install automake&lt;/span&gt; libtool intltool&lt;br /&gt;&lt;br /&gt;Hum... Ok.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-1622724116691234017?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/1622724116691234017/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=1622724116691234017' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/1622724116691234017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/1622724116691234017'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2010/11/development-environment-ubuntu-1010.html' title='Development environment ubuntu 10.10 - Maverick Meerkat'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-6846691130272651053</id><published>2010-10-08T15:29:00.003-03:00</published><updated>2010-10-08T15:42:56.699-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss java configuração'/><title type='text'>Artigos interessantes na comunidade JBoss</title><content type='html'>Fazendo algumas pesquisas selecionei estes artigos, os que achei mais importantes, sobre configurações internas do JBoss. Como não há um índice confiável na página da comunidade, pois o índice para a página apontada é falho, então enumerei esses para nosso deleite. Curta!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Criptografando senhas de DataSource&lt;/span&gt;&lt;br /&gt;&lt;a href="http://community.jboss.org/wiki/EncryptingDataSourcePasswords"&gt;http://community.jboss.org/wiki/EncryptingDataSourcePasswords&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Configuração do Black Tie&lt;/span&gt;&lt;br /&gt;&lt;a href="http://community.jboss.org/wiki/BlackTieConfiguration"&gt;http://community.jboss.org/wiki/BlackTieConfiguration&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Configurando DataSources&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(No diretório de exemplos de JBoss já tem tudo, mas há uma descrição interessante no artigo)&lt;/span&gt;&lt;br /&gt;&lt;a href="http://community.jboss.org/wiki/configdatasources"&gt;http://community.jboss.org/wiki/configdatasources&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Instalando o JBoss5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(até pros gurus de nível médio esse é um tuto interessante, a maioria das coisas você já deve saber, mas tem umas sacadas bacanas)&lt;/span&gt;&lt;br /&gt;&lt;a href="http://community.jboss.org/wiki/jboss-as5installationandgettingstartedguide"&gt;http://community.jboss.org/wiki/jboss-as5installationandgettingstartedguide&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Listagem de todos os DTDs do JBoss&lt;/span&gt;&lt;br /&gt;&lt;a href="http://community.jboss.org/wiki/jbossdtds"&gt;http://community.jboss.org/wiki/jbossdtds&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Properties do JBoss&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Para serem utilizadas em configurações do próprio)&lt;/span&gt;&lt;br /&gt;&lt;a href="http://community.jboss.org/wiki/JBossProperties"&gt;http://community.jboss.org/wiki/JBossProperties&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Transações no bichin&lt;/span&gt;&lt;br /&gt;&lt;a href="http://community.jboss.org/wiki/JBossTransactions"&gt;http://community.jboss.org/wiki/JBossTransactions&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Modificando prioridade de filas&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Cara, custei pra achar essa)&lt;/span&gt;&lt;br /&gt;&lt;a href="http://community.jboss.org/wiki/JBossTransactions"&gt;http://community.jboss.org/wiki/JBossTransactions&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Algumas especificidades ao configurar DataSource com Oracle&lt;/span&gt;&lt;br /&gt;&lt;a href="http://community.jboss.org/wiki/SetUpAOracleDatasource"&gt;http://community.jboss.org/wiki/SetUpAOracleDatasource&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-6846691130272651053?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/6846691130272651053/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=6846691130272651053' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6846691130272651053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6846691130272651053'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2010/10/artigos-interessantes-na-comunidade.html' title='Artigos interessantes na comunidade JBoss'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-6735147701954124503</id><published>2010-09-10T10:57:00.002-03:00</published><updated>2010-09-10T11:00:38.826-03:00</updated><title type='text'>Vendo a utilização da sua máquina linux</title><content type='html'>Comando interessantíssimo, fácil de utilizar:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;ps -eo euser,pid,args&lt;/span&gt;&lt;/blockquote&gt;Assim você pode ver quem tá rodando, número do pid do processo e o comando que iniciou o processo, com seus respectivos argumentos. Se for chamado assim:&lt;br /&gt;&lt;blockquote style="font-weight: bold;"&gt;ps -eo euser,pid,comm&lt;/blockquote&gt;&lt;br /&gt;Fica bem interessante para ser utilizado em scripts bash, pois será mostrado somente o nome do processo, ao invés do comando completo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-6735147701954124503?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/6735147701954124503/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=6735147701954124503' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6735147701954124503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6735147701954124503'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2010/09/vendo-utilizacao-da-sua-maquina-linux.html' title='Vendo a utilização da sua máquina linux'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-5370204757888249216</id><published>2010-09-08T20:29:00.002-03:00</published><updated>2010-09-08T20:39:23.019-03:00</updated><title type='text'>O comando "less" é melhor que o "tail"</title><content type='html'>Caramba! Esse é um post traduzido, que vale a pena postar para nunca mais esquecer, pois me senti exatamente igual ao desenvolvedor original do post!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Ref.: &lt;/span&gt;&lt;a style="font-style: italic;" href="http://blog.libinpan.com/2009/07/less-is-better-than-tail/"&gt;http://blog.libinpan.com/2009/07/less-is-better-than-tail/&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Estive usando o tail para visualizar meus arquivos de log durante anos:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;tail -f log/production.log&lt;/blockquote&gt;&lt;br /&gt;Funciona muito legal, até que você precise procurar por alguma palavra neste log; então, você tem que apertar ctrl+c e abrir o arquivo de log com o less ou vim.&lt;br /&gt;&lt;br /&gt;Mas... Há uma maneira melhor? Sim! Após uma "googlada", achei que o próprio &lt;span style="font-weight: bold;"&gt;less&lt;/span&gt; é a resposta:&lt;br /&gt;&lt;blockquote&gt;less +F log/production.log&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;less +F&lt;/span&gt; funciona exatamente como o tail -f, e ainda:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Simplesmente pressione &lt;span style="font-weight: bold;"&gt;ctrl+c&lt;/span&gt; para modificar para o modelo de edição, então você pode rolar para trás e usar qualquer comando tipo more/vim, como &lt;span style="font-weight: bold;"&gt;/padrao&lt;/span&gt; para pesquisar.&lt;/li&gt;&lt;li&gt;Pressione shift+f para voltar ao modo tail.&lt;/li&gt;&lt;/ul&gt;De qualquer forma, é uma boa utilizar o man less para maiores informações.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-5370204757888249216?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/5370204757888249216/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=5370204757888249216' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/5370204757888249216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/5370204757888249216'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2010/09/o-comando-less-e-melhor-que-o-tail.html' title='O comando &quot;less&quot; é melhor que o &quot;tail&quot;'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-1728679700285618922</id><published>2010-03-19T21:23:00.002-03:00</published><updated>2011-06-06T09:07:21.800-03:00</updated><title type='text'>Convertendo vídeos (AMV) no linux</title><content type='html'>Bem, pesquisei por algum tempo isso e na época fiz um apanhado geral e fiz os scripts abaixo. Já faz tempo, os achei ao acaso limpando o hd da sra. Boaventura. :)&lt;br /&gt;São scripts de conversão de vídeo:&lt;br /&gt;&lt;p&gt;Dvd para AMV&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;#!/bin/bash&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;mencoder -vf pp=dr -ovc xvid -xvidencopts&lt;br /&gt;vhq=1:bitrate=2200:nopacked:nogmc:noqpel:nocartoon:quant_type=mpeg -oac mp3lame&lt;br /&gt;-o $2.avi $1.rmvb&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;RMVB para DIVX&lt;/p&gt;&lt;p&gt;#!/bin/bashmencoder $1.rmvb -o $2.avi -oac mp3lame -ovc xvid -xvidencopts bitrate=1600&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;Divirtam-se!&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-1728679700285618922?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/1728679700285618922/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=1728679700285618922' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/1728679700285618922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/1728679700285618922'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2010/03/convertendo-videos-amv-no-linux.html' title='Convertendo vídeos (AMV) no linux'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-3243363197367895799</id><published>2010-02-08T17:04:00.002-02:00</published><updated>2010-02-08T17:06:56.142-02:00</updated><title type='text'>Liberando o cache no linux</title><content type='html'>Vi em uma antiga postagem para liberrar memória sendo retida pela cache (e ninguém mais a utilizando):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;sync; echo 3 &gt; /proc/sys/vm/drop_caches&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Funciona show de bola.&lt;br /&gt;&lt;br /&gt;Pra ver como ficou, rode antes e depois do comando acima o seguinte comando:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;vmstat&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-3243363197367895799?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/3243363197367895799/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=3243363197367895799' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/3243363197367895799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/3243363197367895799'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2010/02/liberando-o-cache-no-linux.html' title='Liberando o cache no linux'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-8852915702664312585</id><published>2010-01-01T13:55:00.003-02:00</published><updated>2010-01-01T13:57:19.183-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><category scheme='http://www.blogger.com/atom/ns#' term='comandoslegais'/><title type='text'>Comando de rede</title><content type='html'>Este seria um interessante comando para computadores baseados em unix:&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;netstat -a|egrep 'tcp|udp'|grep ESTABLISHED|awk '{ print $5; }'|cut -d: -f1|sort|uniq&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Serve pra mostrar quem está conectado na sua máquina atualmente. Se o seu sistema operacional for traduzido pra português, troque o 'ESTABLISHED' por 'ESTABELECIDA'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-8852915702664312585?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/8852915702664312585/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=8852915702664312585' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/8852915702664312585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/8852915702664312585'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2010/01/comando-de-rede.html' title='Comando de rede'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-1988693620291563806</id><published>2009-12-19T23:47:00.002-02:00</published><updated>2009-12-19T23:56:26.888-02:00</updated><title type='text'>Conversor de áudio (Ubuntu script nautilus)</title><content type='html'>Bem, andando na net, precisando fazer uma conversão rápida de ogg pra mp3, achei um utilitário rápido, que ajusta-se mais rápido ainda ao nautilus.&lt;br /&gt;Digite: &lt;span style="font-weight: bold; font-style: italic;"&gt;sudo apt-get install nautilus-script-audio-convert&lt;/span&gt; e clique com o botão direito no arquivo a converter.&lt;br /&gt;&lt;br /&gt;Nada a ver com desenvolvimento, mas pra viajar naquela musiquinha enquanto você trabalha... Nada mau! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-1988693620291563806?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/1988693620291563806/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=1988693620291563806' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/1988693620291563806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/1988693620291563806'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2009/12/conversor-de-audio-ubuntu-script.html' title='Conversor de áudio (Ubuntu script nautilus)'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-6101724639630960227</id><published>2009-12-14T11:27:00.000-02:00</published><updated>2009-12-14T11:28:28.219-02:00</updated><title type='text'>Distimia: doença crônica do mau humor</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Transtorno Distímico&lt;/span&gt;&lt;/span&gt;                     &lt;div id="ctl00_ContentPlaceHolder1_ContentBlock3"&gt;  &lt;div class="EktronAjaxLoading" align="left"&gt;&lt;span class="autor"&gt;&lt;br /&gt;Autora: Sarah Guzofski, MD, Staff Physician, Department of Psychiatry, University of Massachusetts Medical School / Co-autora: Brian R Szetela, MD / Editores: Alan D Schmetzer, MD / Francisco Talavera, PharmD, PhD / David Bienenfeld, MD / Stephen Soreff, MD&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="publicacao" style="display: none;"&gt;Publicado em 25/02/2008&lt;/span&gt;&lt;h2&gt;1. Introdução&lt;/h2&gt; &lt;p&gt;O transtorno distímico é um transtorno depressivo do humor caracterizado por um curso clínico crônico e de início insidioso. Muitas pessoas com distimia relatam que estiveram deprimidas durante toda a sua vida e têm uma perspectiva deturpada pela depressão crônica.&lt;/p&gt; &lt;p&gt;O consenso atual é que transtorno depressivo maior, distimia, depressão dupla (um episódio de depressão maior sobreposto à distimia subjacente) e algumas disforias aparentemente transitórias são todas manifestações de um mesmo processo patológico. Estas variedades de estados de humor depressivo compartilham os mesmos sintomas e respondem a medicamentos e abordagens psicoterapêuticas similares.&lt;/p&gt; &lt;p&gt;Por definição, a distimia é uma desordem crônica do humor, com duração de no mínimo dois anos em adultos e de um ano em adolescentes e crianças. Ela se manifesta por humor depressivo na maior parte do dia, ocorrendo na maioria dos dias e acompanhada de no mínimo dois dos seguintes sintomas:&lt;/p&gt; &lt;ul type="disc"&gt;&lt;li&gt;Diminuição do apetite ou aumento do apetite; Insônia ou hipersonia;&lt;/li&gt;&lt;li&gt;Perda de energia ou fadiga; Baixa auto-estima;&lt;/li&gt;&lt;li&gt;Diminuição da concentração; Dificuldade de tomar decisões;&lt;/li&gt;&lt;li&gt;Sentimentos de impotência.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Para se diagnosticar a distimia, não pode ter ocorrido episódio de mania e episódios de depressão maior não podem ter ocorrido nos primeiros dois anos da doença (um ano em crianças). O Manual Diagnóstico e Estatístico de Transtornos Mentais, quarta edição, texto revisado (no original em inglês, &lt;em&gt;Diagnostic and Statistical Manual of Mental Disorders, Fourth Edition, Text Revision -&lt;/em&gt; DSM&lt;em&gt;-IV-TR),&lt;/em&gt; permite que possa ocorrer episódios transitórios eutímicos (períodos de humor normal) com duração de até dois meses durante o curso da distimia.&lt;/p&gt; &lt;p&gt;A distimia deve ser diferenciada do transtorno depressivo maior. Em contraste com a distimia, o transtorno depressivo maior pode ser diagnosticado quando cinco ou mais dos seguintes sintomas estiverem presentes na maior parte do dia, todos os dias, nas últimas duas semanas:&lt;/p&gt; &lt;ul type="disc"&gt;&lt;li&gt;Humor depressivo; Perda de interesse ou de satisfação com as atividades usuais;&lt;/li&gt;&lt;li&gt;Perda ou ganho de peso significativo; Insônia ou hipersonia;&lt;/li&gt;&lt;li&gt;Retardo ou agito psicomotor; Fadiga e perda de energia;&lt;/li&gt;&lt;li&gt;Sentimentos de desvalorização e de culpa excessiva ou inapropriada; Diminuição da capacidade de pensar ou de se concentrar;&lt;/li&gt;&lt;li&gt;Pensamentos recorrentes sobre morte e suicídio.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Para que a depressão maior seja diagnosticada, humor depressivo e/ou perda significativa de interesse ou prazer nas atividades têm que estar presentes. Diferenciar distimia da depressão maior pode ser um desafio, por exemplo, quando se levam em consideração casos em que depressão maior tenha sido tratada ao ponto no qual só um número limitado de sintomas permanece.&lt;/p&gt; &lt;p&gt;Várias especificações são usadas para subclassificar a distimia no &lt;em&gt;DSM-IV-TR&lt;/em&gt;. Essas incluem início precoce se os sintomas começaram antes dos 21 anos; início tardio se os sintomas começaram aos 21 anos ou após; e distimia com aspectos atípicos se nos sintomas estão incluídos aumento do apetite ou ganho de peso, hipersonia, sentimento de perda de iniciativa e imensa sensação de rejeição.&lt;/p&gt; &lt;p&gt;Embora a distimia seja geralmente considerada menos grave do que a depressão maior, as consequências da distimia sem a depressão maior são graves e incluem prejuízo grave das atividades, aumento da morbidade por doenças físicas e aumento do risco de suicídio.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h2&gt;2. Fisiopatologia&lt;/h2&gt; &lt;p&gt;A fisiopatologia da distimia ainda não foi claramente estabelecida.&lt;/p&gt; &lt;p&gt;As alterações nos sistemas neuroendócrinos, principalmente no eixo tireoidiano e no eixo hipotalâmico-pituitário-adrenal, estão ligadas a doenças depressivas em geral; o eixo hipotalâmico-pituitário-adrenal ainda não foi adequadamente estudado no transtorno distímico. As pesquisas sobre a função de uma variedade de citocinas ainda não produziram, até o momento, um modelo explicativo claro.&lt;/p&gt; &lt;p&gt;O envolvimento dos sistemas serotonina e noradrenérgico é sugerido pela resposta clínica positiva a inibidores seletivos de recaptação da serotonina e inibidores da captação de noradrenérgicos.&lt;/p&gt; &lt;p&gt;Dados de eletroencefalograma e de polissonograma demonstram que cerca de 25% das pessoas que têm distimia apresentam alterações do sono semelhantes àquelas que sofrem de depressão maior: latência do movimento rápido dos olhos (no original em inglês, &lt;i&gt;rapid eye moviment&lt;/i&gt; - REM) diminuída, aumento da densidade REM e continuidade do sono ruim.&lt;/p&gt; &lt;p&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt; &lt;h2&gt;3. Freqüência&lt;/h2&gt; &lt;p&gt;&lt;strong&gt;3.1. Nos Estados Unidos&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;As melhores estimativas apontam que o risco durante a vida de um quadro significativo de depressão exceda 25%, com um ponto de prevalência de cerca de 5%. A distimia parece ter uma prevalência durante a vida de cerca de 6%.&lt;/p&gt; &lt;p&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt; &lt;h2&gt;4. Mortalidade/morbidade&lt;/h2&gt; &lt;p&gt;A mortalidade é refletida não só pela taxa de suicídio, mas também pelo aumento da morbidade e da mortalidade devido a uma variedade de doenças físicas, quando o paciente tem distimia comórbida.&lt;/p&gt; &lt;p&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt; &lt;h2&gt;5. Raça&lt;/h2&gt; &lt;p&gt;Pouca pesquisa tem sido realizada para definir diferenças na freqüência e nos sintomas entre as diferentes raças. Um estudo, o &lt;i&gt;National Health and Nutrition Examination Survey III&lt;/i&gt; (NHANES III), encontrou uma maior prevalência da distimia entre afro-americanos e mexico-americanos do que entre caucasianos.&lt;/p&gt; &lt;p&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt; &lt;h2&gt;6. Sexo&lt;/h2&gt; &lt;p&gt;Para a depressão maior, o número de mulheres é maior do que o de homens, com uma relação de 2:1 durante a fase reprodutiva. Entretando, de acordo com Cyranowski e colaboradores (2000), antes da puberdade e após a menopausa, ambos os sexos são afetados da mesma maneira. Em idosos, a distimia é relativamente mais freqüente em mulheres, apesar de causar mais adversidades na vida dos homens do que na das mulheres.&lt;/p&gt; &lt;p&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt; &lt;h2&gt;7. Idade&lt;/h2&gt; &lt;p&gt;Mais freqüentemente, pacientes com distimia relatam tristeza inexplicável na pré-adolescência. Se a &lt;em&gt;DSM-IV-TR&lt;/em&gt; classifica adequadamente a distimia em crianças e adolescentes é motivo de alguma controvérsia (Masi, 2003). &lt;/p&gt; &lt;p&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt; &lt;h2&gt;8. Clínica e quadro clínico &lt;/h2&gt; &lt;p&gt;&lt;b&gt;8.1. História&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Os pacientes com distimia tendem a ter um olhar pessimista para a vida, com uma sensação de inadequação pessoal. Existe alguma discussão sobre se os sintomas depressivos subliminares crônicos devam ser classificados como transtornos do humor ou como transtornos de personalidade. O fato de a distimia responder ao tratamento sugere que ela seja um transtorno do humor, enquando que a persistência do quadro contribui para o diagnóstico de transtorno de personalidade.&lt;/p&gt; &lt;p&gt;Quando comparada a depressão maior, a história do paciente tende a focar mais em sintomas subjetivos com aparentemente poucos distúrbios dramáticos psicomotores ou queixas sobre sono, apetite e libido. Alguns relatam variação diurna, com pouca energia, inércia e piora do humor pela manhã. As pessoas com distimia podem apresentar diminuição da flexibilidade mental nos testes neuropsicológicos.&lt;/p&gt; &lt;p&gt;Os sintomas mais comuns são:&lt;/p&gt; &lt;ul type="disc"&gt;&lt;li&gt;Um olhar negativo e pessimista e perspectivas sombrias. Humor depressivo (insuficiente para o diagnóstico da depressão maior).&lt;/li&gt;&lt;li&gt;Inquietação. Ansiedade (insuficiente para o diagnóstico de transtorno de ansiedade generalizada).&lt;/li&gt;&lt;li&gt;Sintomas neurovegetativos (por exemplo: distúrbios do sono e da fome, letargia), em geral menos intensos que os apresentados em episodios de depressão maior. Perda na capacidade de sentir prazer (anedonia).&lt;/li&gt;&lt;li&gt;Tendência a disponilbilizar pouco tempo para atividades de lazer. Outros dados alternativos para o transtorno distímico incluem a irritabilidade, raiva excessiva e culpa sobre o passado.&lt;/li&gt;&lt;li&gt;História de mania exclui o diagnóstico de distimia. História familiar de transtorno do humor fortalece o diagnóstico. É digno de nota que os pacientes com distimia são mais suscetíveis que os pacientes com episódios de depressão maior a ter parentes com distimia ou depressão maior.&lt;/li&gt;&lt;li&gt;Embora pessoas com distimia em geral tenham relações sociais, algumas pesquisas sugerem que essa população tende a investir a sua energia no trabalho, deixando pouco para a vida social e familiar, causando desgaste nos relacionamentos. Como mais de 15% dos pacientes com distimia tem história de dependência química e como as substâncias da dependência podem levar a sintomas silmilares aos da distimia, a história detalhada de abuso de substâncias deve ser sempre obtida.&lt;/li&gt;&lt;li&gt;Niculescu e Akisal propuseram uma divisão para a distimia em dois subtipos: distimia ansiosa e distimia anérgica. &lt;/li&gt;&lt;/ul&gt; &lt;ul type="circle"&gt;&lt;li&gt;Eles descreveram o subgrupo de pacientes com distimia ansiosa com sintomas pronunciados de baixa auto-estima, inquietação não justificada e aumento da sensibilidade à rejeição interpessoal. Eles propõem que esses pacientes estão procurando por ajuda e são mais propensos a tentativas de suicídio com menor risco. As substâncias de escolha desses pacientes são benzodiazepínicos, álcool, maconha, opiáceos e, possivelmente, comida. Os ISRSs podem ser eficazes nesse grupo de pacientes. E eles fazem um contraste desse grupo com o grupo da distimia anérgica que apresenta sintomas de pouca energia, hipersonia e anedonia. Nesse grupo, eles sugerem o tratamento com agentes que aumentam a norepinefrina ou a dopamina.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;8.2. Exame físico&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Nenhuma característica física é patognomônica da distimia; entretanto, o exame físico pode revelar:&lt;/p&gt; &lt;ul type="disc"&gt;&lt;li&gt;Perda ou ganho de peso evidente. Temperatura corporal baixa, cabelos e unhas quebradiças, diminuição dos reflexos e outros sintomas sugestivos de disfunção tireoidiana.&lt;/li&gt;&lt;li&gt;O exame para avaliação do estado mental é necessário para confirmar o diagnóstico e para determinar se há presença de  comorbidades.  Alguns clínicos usam testes psicológicos como o Inventário Multifásico Minnesota de Personalidade ou o Rorschach, para fins diagnósticos.&lt;/li&gt;&lt;li&gt;Muitas listas de checagem de sintomas são fáceis de serem usadas na rotina, oferecem confirmação do diagnóstico e fornecem base para alteraçoes de evolução a partir do momento do diagnóstico. O exame para avaliar o estado mental pode mostrar sintomas semelhantes aos encontrados nos transtornos depressivos. Por exemplo, a fala pode estar mais lenta ou mostrar diminuição do tom emocional, o humor costuma estar baixo com afetividade coerente ao humor.. Alguns dos sinais do afeto depressivo perceptíveis incluem diminuição do contato visual, postura caída e diminuição da expressão facial. Apenas com a distimia, não se deve ter a expectativa que a pessoa mantenha a habilidade de expressar seus pensamentos de uma maneira lógica e linear e não se deve esperar desorganização na fala e no comportamento. Alucinações ou delírios não são explicados pela distimia e, se presentes, devem ser considerados outros diagnósticos. Uma avaliação segura é uma parte importante no exame do estado mental; questionar sobre pensamentos e planos suicidas naqueles com distimia é importante.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;8.3. Causas&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;A causa da distimia não está esclarecida. Vários fatores predisponentes existem, que juntos podem causar distimia.&lt;/p&gt; &lt;ul type="disc"&gt;&lt;li&gt;Predisposição genética; Estresse crônico (, particularmente com sentimentos de insatisfação e desamparo);&lt;/li&gt;&lt;li&gt;Fatores psicossociais como isolamento social; Pessoas com o diagnóstico de antisocial, limítrofe, dependente, depressivo, personalidade histriônica ou esquizóide têm um risco aumentado de desenvolver desordem distimica.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;h2&gt;9. Diagnósticos diferenciais &lt;/h2&gt; &lt;p&gt;·         Avaliação de abuso de álcool e de outras substâncias;&lt;/p&gt; &lt;p&gt;·         Esclerose amiotrófica lateral;&lt;/p&gt; &lt;p&gt;·         Anemia crônica;&lt;/p&gt; &lt;p&gt;·         Anorexia nervosa;&lt;/p&gt; &lt;p&gt;·         Ansiedade;&lt;/p&gt; &lt;p&gt;·         Desordem de conversão, delírio, demência e amnésia;&lt;/p&gt; &lt;p&gt;·         Violência doméstica;&lt;/p&gt; &lt;p&gt;·         Abuso de idosos;&lt;/p&gt; &lt;p&gt;·         Encefalite;&lt;/p&gt; &lt;p&gt;·         Endocardite;&lt;/p&gt; &lt;p&gt;·         Apoio ao luto no pronto-socorro;&lt;/p&gt; &lt;p&gt;·         Infecção pelo HIV e AIDS;&lt;/p&gt; &lt;p&gt;·         Cefaléia de tensão;&lt;/p&gt; &lt;p&gt;·         Hipercalcemia;&lt;/p&gt; &lt;p&gt;·         Hipercalemia;&lt;/p&gt; &lt;p&gt;·         Hipermagnesemia;&lt;/p&gt; &lt;p&gt;·         Hipernatremia;&lt;/p&gt; &lt;p&gt;·         Hiperparatireoidismo;&lt;/p&gt; &lt;p&gt;·         Hiperfosfatemia;&lt;/p&gt; &lt;p&gt;·         Hipertireoidismo, crise tireotóxica e doença de Graves;&lt;/p&gt; &lt;p&gt;·         Hipoglicemia;&lt;/p&gt; &lt;p&gt;·         Hipocalemia;&lt;/p&gt; &lt;p&gt;·         Hipomagnesemia;&lt;/p&gt; &lt;p&gt;·         Hiponatremia;&lt;/p&gt; &lt;p&gt;·         Hipopituitarismo;&lt;/p&gt; &lt;p&gt;·         Hipotermia;&lt;/p&gt; &lt;p&gt;·         Hipotireoidismo e coma mixedematoso;&lt;/p&gt; &lt;p&gt;·         Estresse do litígio;&lt;/p&gt; &lt;p&gt;·         Meningite;&lt;/p&gt; &lt;p&gt;·         Acidose metabólica;&lt;/p&gt; &lt;p&gt;·         Esclerose múltipla;&lt;/p&gt; &lt;p&gt;·         Miastenia Gravis;&lt;/p&gt; &lt;p&gt;·         Miopatias;&lt;/p&gt; &lt;p&gt;·         Distúrbio do pânico;&lt;/p&gt; &lt;p&gt;·         Pediatria, abuso infantil;&lt;/p&gt; &lt;p&gt;·         Pediatria, abuso sexual infantil;&lt;/p&gt; &lt;p&gt;·         Envenenamento por glicosídeos – cardíaco;&lt;/p&gt; &lt;p&gt;·         Envenenamento por hipoglicêmicos;&lt;/p&gt; &lt;p&gt;·         Polimialgia reumática;&lt;/p&gt; &lt;p&gt;·         Esquizofrenia;&lt;/p&gt; &lt;p&gt;·         Agressão sexual;&lt;/p&gt; &lt;p&gt;·         Hematoma subdural;&lt;/p&gt; &lt;p&gt;·         Doença de Lyme;&lt;/p&gt; &lt;p&gt;·         Febre maculosa das montanhas rochosas;&lt;/p&gt; &lt;p&gt;·         Toxicidade, acetaminofen;&lt;/p&gt; &lt;p&gt;·         Toxicidade, álcool;&lt;/p&gt; &lt;p&gt;·         Toxicidade, amônia;&lt;/p&gt; &lt;p&gt;·         Toxicidade, antidepressivos;&lt;/p&gt; &lt;p&gt;·         Toxicidade, anti-histamínicos;&lt;/p&gt; &lt;p&gt;·         Toxicidade, barbitúricos;&lt;/p&gt; &lt;p&gt;·         Toxicidade, benzodiazepínicos;&lt;/p&gt; &lt;p&gt;·         Toxicidade, beta-bloqueadores;&lt;/p&gt; &lt;p&gt;·         Toxicidade, digitálicos;&lt;/p&gt; &lt;p&gt;·         Toxicidade, gama hidroxibutirato;&lt;/p&gt; &lt;p&gt;·         Toxicidade, lítio;&lt;/p&gt; &lt;p&gt;·         Toxicidade, narcóticos;&lt;/p&gt; &lt;p&gt;·         Toxicidade, fenitoína;&lt;/p&gt; &lt;p&gt;·         Toxicidade, sedativos-hipnóticos;&lt;/p&gt; &lt;p&gt;·         Toxicidade, valproato;&lt;/p&gt; &lt;p&gt;·         Neurite vestibular;&lt;/p&gt; &lt;p&gt;·         Síndromes de abstinência;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;b&gt;Outros problemas a serem considerados:&lt;/b&gt;&lt;/p&gt; &lt;p&gt;·         Transtorno de estresse pós-traumático;&lt;/p&gt; &lt;p&gt;·         Depressão pós-parto;&lt;/p&gt; &lt;p&gt;·         Psicose pós-parto;&lt;/p&gt; &lt;p&gt;·         Síndrome de Sheehan;&lt;/p&gt; &lt;p&gt;·         Síndrome da fadiga crônica;&lt;/p&gt; &lt;p&gt;·         Insuficiência hepática;&lt;/p&gt; &lt;p&gt;·         Deficiência vitamínica;&lt;/p&gt; &lt;p&gt;·         Efeitos colaterais medicamentosos;&lt;/p&gt; &lt;p&gt;·         Abuso/superdose medicamentosa;&lt;/p&gt; &lt;p&gt;·         Abstinência a drogas;&lt;/p&gt; &lt;p&gt;·         Tireotoxicose (em idosos); &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;h2&gt;10. Investigação diagnóstica &lt;/h2&gt; &lt;p&gt;&lt;strong&gt;10.1. Exames laboratoriais&lt;/strong&gt;&lt;/p&gt; &lt;ul type="disc"&gt;&lt;li&gt;Hemograma completo; Testes de função tireoidiana;&lt;/li&gt;&lt;li&gt;Níveis séricos de homocisteína e de ácido metilmalônico podem ser melhores para detectar distimia responsiva a folato/vitamina B-12 do que simplesmente os níveis de folato e vitamina B-12; Disfunção do eixo hipotalâmico-pituitário-adrenal é evidente na depressão maior. O eixo hipotalâmico-pituitário-adrenal não tem sido estudado adequadamente na distimia para determinar se a desregulação também está presente nessa desordem.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;10.2. Estudos de imagem&lt;/strong&gt;&lt;/p&gt; &lt;ul type="disc"&gt;&lt;li&gt;Apesar da ressonância magnética funcional fornecer dados promisores para o diagnóstico diferencial da distimia, a mesma permanece estritamente uma ferramenta de investigação.  Tomografia computadorizada por emissão única de fóton (SPECT) está sendo oferecida comercialmente em alguns centros, mas a existência de dados na depressão parece escassa para isso poder ser considerado mais que um estudo experimental do espectro da depressão, no momento.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;10.3. Outros testes&lt;/strong&gt;&lt;/p&gt; &lt;ul type="disc"&gt;&lt;li&gt;Testes projetivos (Rorschach) ou inventários padronizados (Inventário Multifásico Minnesota de Personalidade) podem ser úteis.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt; &lt;/p&gt; &lt;h2&gt;11. Tratamento&lt;/h2&gt; &lt;p&gt;&lt;strong&gt;11.1. Tratamento clínico&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;O tratamento de qualquer condição médica associada é essencial.&lt;/p&gt; &lt;ul type="disc"&gt;&lt;li&gt;Na ausência de uma condição clínica que necessite tratamento, a psicoterapia é um importante componente do tratamento. Tanto a terapia cognitiva comportamental como a psicoterapia interpessoal tem demonstrado, em estudos controlados, ser tratamentos eficazes de depressão e de distimia. Terapia cognitiva comportamental é um tratamento estruturado com tempo limitado, que envolve reconhecer os processos cognitivos que levam à depressão e reestruturar a resposta emocional às cognições depressivas contra-produtivas.&lt;/li&gt;&lt;li&gt;A terapia interpessoal é também um tratamento estruturado e com tempo limitado. Essa terapia foca nos problemas correntes e no contexto interpessoal em que ele ocorre. O sucesso em resolver os conflitos interpessoais na terapia interpessoal está associado à melhora dos sintomas da distimia.  Poucas evidências existem comparando a eficiência da terapia ou do uso de medicação separados. Um estudo randomizado que comparou psicoterapia interpessoal, psicoterapia breve de apoio, tratamento apenas com sertralina e sertralina com psicoterapia interpessoal concluiu uma maior eficácia na combinação da sertralina com psicoterapia interpessoal.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;11.2. Atividade&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Estudos sugerem que pessoas com humor depressivo apresentam uma melhora com o exercício aeróbico quatro a seis vezes na semana e que qualquer atividade física é melhor do que nenhuma.&lt;/p&gt; &lt;p&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;h2&gt;Referências bibliográficas &lt;/h2&gt; &lt;p&gt;1.      &lt;span lang="EN-US"&gt;Adler DA, Irish J, McLaughlin TJ, et al. The work impact of dysthymia in a primary care population. &lt;/span&gt;&lt;i&gt;Gen Hosp Psychiatry&lt;/i&gt;. Jul-Aug 2004;26(4):269-76.&lt;/p&gt; &lt;p&gt;2.      &lt;span lang="EN-US"&gt;Airaksinen E, Larsson M, Lundberg I. Cognitive functions in depressive disorders: evidence from a population-based study. &lt;/span&gt;&lt;i&gt;Psychol Med&lt;/i&gt;. Jan 2004;34(1):83-91. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=14971629"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;3.      &lt;span lang="EN-US"&gt;American Psychiatric Association. Diagnostic and Statistical Manual of Mental Disorders, Fourth Edition, Text Revision. &lt;/span&gt;2000.&lt;/p&gt; &lt;p&gt;4.      &lt;span lang="EN-US"&gt;Angst J, Merikangas K. The depressive spectrum: diagnostic classification and course. &lt;/span&gt;&lt;i&gt;J Affect Disord&lt;/i&gt;. Aug 1997;45(1-2):31-9; discussion 39-40. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=9268773"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;5.      &lt;span lang="EN-US"&gt;Askinazi C, Weintraub RJ, Karamouz N. Elderly depressed females as a possible subgroup of patients responsive to methylphenidate. &lt;/span&gt;&lt;i&gt;J Clin Psychiatry&lt;/i&gt;. Sep 1986;47(9):467-9. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=3745129"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;6.      &lt;span lang="EN-US"&gt;Beauregard M, Leroux JM, Bergman S. The functional neuroanatomy of major depression: an fMRI study using an emotional activation paradigm. &lt;/span&gt;&lt;i&gt;Neuroreport&lt;/i&gt;. Oct 5 1998;9(14):3253-8. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=9831460"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;7.      &lt;span lang="EN-US"&gt;Bunevicius R, Kazanavicius G, Zalinkevicius R. Effects of thyroxine as compared with thyroxine plus triiodothyronine in patients with hypothyroidism. &lt;/span&gt;&lt;i&gt;N Engl J Med&lt;/i&gt;. Feb 11 1999;340(6):424-9. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=9971866"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;8.      &lt;span lang="EN-US"&gt;Cassidy F, Murry E, Forest K. Signs and symptoms of mania in pure and mixed episodes. &lt;/span&gt;&lt;i&gt;J Affect Disord&lt;/i&gt;. Sep 1998;50(2-3):187-201. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=9858078"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;9.      &lt;span lang="EN-US"&gt;Chen LS, Eaton WW, Gallo JJ. Empirical examination of current depression categories in a population- based study: symptoms, course, and risk factors. &lt;/span&gt;&lt;i&gt;Am J Psychiatry&lt;/i&gt;. Apr 2000;157(4):573-80. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=10739416"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;10.  &lt;span lang="EN-US"&gt;Claes SJ. Corticotropin-releasing hormone (CRH) in psychiatry: from stress to psychopathology. &lt;/span&gt;&lt;i&gt;Ann Med&lt;/i&gt;. 2004;36(1):50-61. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=15000347"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;11.  &lt;span lang="EN-US"&gt;Cohen-Kettenis PT, Gooren LJ. Transsexualism: a review of etiology, diagnosis and treatment. &lt;/span&gt;&lt;i&gt;J Psychosom Res&lt;/i&gt;. Apr 1999;46(4):315-33. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=10340231"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;12.  &lt;span lang="EN-US"&gt;Cyranowski JM, Frank E, Young E. Adolescent onset of the gender difference in lifetime rates of major depression: a theoretical model. &lt;/span&gt;&lt;i&gt;Arch Gen Psychiatry&lt;/i&gt;. Jan 2000;57(1):21-7. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=10632229"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;13.  &lt;span lang="EN-US"&gt;Dantzer R, Bluthe RM, Laye S. Cytokines and sickness behavior. &lt;i&gt;Ann N Y Acad Sci&lt;/i&gt;. May 1 1998;840:586-90. &lt;/span&gt;&lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=9629285"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;14.  &lt;span lang="EN-US"&gt;De Lima MS, Hotopf M. Benefits and risks of pharmacotherapy for dysthymia: a systematic appraisal of the evidence. &lt;/span&gt;&lt;i&gt;Drug Saf&lt;/i&gt;. 2003;26(1):55-64. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=12495364"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;15.  &lt;span lang="EN-US"&gt;de Lima MS, Hotoph M, Wessely S. The efficacy of drug treatments for dysthymia: a systematic review and meta-analysis. &lt;/span&gt;&lt;i&gt;Psychol Med&lt;/i&gt;. Nov 1999;29(6):1273-89. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=10616934"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;16.  &lt;span lang="EN-US"&gt;Dierker LC, Avenevoli S, Stolar M, et al. Smoking and depression: an examination of mechanisms of comorbidity. &lt;i&gt;Am J Psychiatry&lt;/i&gt;. &lt;/span&gt;Jun 2002;159(6):947-53. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=12042182"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;17.  &lt;span lang="EN-US"&gt;Dunner DL. Duration of periods of euthymia in patients with dysthymic disorder. &lt;/span&gt;&lt;i&gt;Am J Psychiatry&lt;/i&gt;. Dec 1999;156(12):1992-3. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=10588418"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;18.  &lt;span lang="EN-US"&gt;Frances A, Kocsis J, Marin D, et al. Diagnostic criteria for dysthymic disorder. &lt;i&gt;Psychopharmacol Bull&lt;/i&gt;. 1989;25(3):325-9. &lt;/span&gt;&lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=2697006"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;19.  &lt;span lang="EN-US"&gt;Greenlee BA, Ferrell RB, Kauffman CI, et al. Complex partial seizures and depression. &lt;i&gt;Curr Psychiatry Rep&lt;/i&gt;. Oct 2003;5(5):410-6. &lt;/span&gt;&lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=13678563"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;20.  &lt;span lang="EN-US"&gt;Halbreich U, Tworek H. Altered serotonergic activity in women with dysphoric premenstrual syndromes. &lt;/span&gt;&lt;i&gt;Int J Psychiatry Med&lt;/i&gt;. 1993;23(1):1-27. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=8514462"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;21.  &lt;span lang="EN-US"&gt;Hellerstein DJ, Batchelder S, Miozzo R, et al. Citalopram in the treatment of dysthymic disorder. &lt;i&gt;Int Clin Psychopharmacol&lt;/i&gt;. &lt;/span&gt;May 2004;19(3):143-8.&lt;/p&gt; &lt;p&gt;22.  &lt;span lang="EN-US"&gt;Hermens ML, van Hout HP, Terluin B, et al. The prognosis of minor depression in the general population: a systematic review. &lt;/span&gt;&lt;i&gt;Gen Hosp Psychiatry&lt;/i&gt;. Nov-Dec 2004;26(6):453-62.&lt;/p&gt; &lt;p&gt;23.  &lt;span lang="EN-US"&gt;Hibbeln JR. Fish consumption and major depression. &lt;i&gt;Lancet&lt;/i&gt;. &lt;/span&gt;Apr 18 1998;351(9110):1213. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=9643729"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;24.  &lt;span lang="EN-US"&gt;Jimerson DC, Lesem MD, Kaye WH. Eating disorders and depression: is there a serotonin connection?. &lt;i&gt;Biol Psychiatry&lt;/i&gt;. &lt;/span&gt;Sep 1 1990;28(5):443-54. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=2207221"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;25.  &lt;span lang="EN-US"&gt;Johnson JG, Cohen P, Kasen S, Brook JS. Personality disorder traits associated with risk for unipolar depression during middle adulthood. &lt;/span&gt;&lt;i&gt;Psychiatry Res&lt;/i&gt;. Sep 15 2005;136(2-3):113-21.&lt;/p&gt; &lt;p&gt;26.  &lt;span lang="EN-US"&gt;Judd LL, Akiskal HS. Delineating the longitudinal structure of depressive illness: beyond clinical subtypes and duration thresholds. &lt;/span&gt;&lt;i&gt;Pharmacopsychiatry&lt;/i&gt;. Jan 2000;33(1):3-7. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=10721877"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;27.  &lt;span lang="EN-US"&gt;Klein DN, Schwartz JE. The relation between depressive symptoms and borderline personality disorder features over time in dysthymic disorder. &lt;/span&gt;&lt;i&gt;J Personal Disord&lt;/i&gt;. Dec 2002;16(6):523-35. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=12616828"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;28.  &lt;span lang="EN-US"&gt;Klein DN, Schwartz JE, Rose S. Five-year course and outcome of dysthymic disorder: A prospective, naturalistic follow-up study. &lt;/span&gt;&lt;i&gt;Am J Psychiatry&lt;/i&gt;. Jun 2000;157(6):931-9. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=10831473"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;29.  &lt;span lang="EN-US"&gt;Klein DN, Shankman SA, Lewinsohn PM. Family study of chronic depression in a community sample of young adults. &lt;i&gt;Am J Psychiatry&lt;/i&gt;. &lt;/span&gt;Apr 2004;161(4):646-53.&lt;/p&gt; &lt;p&gt;30.  &lt;span lang="EN-US"&gt;Kovacs M, Akiskal HS, Gatsonis C, Parrone PL. Childhood-onset dysthymic disorder. Clinical features and prospective naturalistic outcome. &lt;i&gt;Arch Gen Psychiatry&lt;/i&gt;. &lt;/span&gt;May 1994;51(5):365-74. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=8179460"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;31.  &lt;span lang="EN-US"&gt;Lerner D, Adler DA, Chang H, et al. Unemployment, job retention, and productivity loss among employees with depression. &lt;i&gt;Psychiatr Serv&lt;/i&gt;. &lt;/span&gt;Dec 2004;55(12):1371-8.&lt;/p&gt; &lt;p&gt;32.  &lt;span lang="EN-US"&gt;Markowitz JC, Bleiberg KL, Christos P, Levitan E. Solving interpersonal problems correlates with symptom improvement in interpersonal psychotherapy: preliminary findings. &lt;/span&gt;&lt;i&gt;J Nerv Ment Dis&lt;/i&gt;. Jan 2006;194(1):15-20.&lt;/p&gt; &lt;p&gt;33.  Markowitz JC, Kocsis JH, Bleiberg KL, et al. &lt;span lang="EN-US"&gt;A comparative trial of psychotherapy and pharmacotherapy for "pure" dysthymic patients. &lt;/span&gt;&lt;i&gt;J Affect Disord&lt;/i&gt;. Dec 2005;89(1-3):167-75.&lt;/p&gt; &lt;p&gt;34.  &lt;span lang="EN-US"&gt;Masi G, Millepiedi S, Mucci M, et al. Phenomenology and comorbidity of dysthymic disorder in 100 consecutively referred children and adolescents: beyond DSM-IV. &lt;i&gt;Can J Psychiatry&lt;/i&gt;. &lt;/span&gt;Mar 2003;48(2):99-105. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=12655907"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;35.  &lt;span lang="EN-US"&gt;Mischoulon D, Burger JK, Spillmann MK. Anemia and macrocytosis in the prediction of serum folate and vitamin B12 status, and treatment outcome in major depression. &lt;i&gt;J Psychosom Res&lt;/i&gt;. &lt;/span&gt;Sep 2000;49(3):183-7. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=11110989"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;36.  &lt;span lang="EN-US"&gt;Moore E, Wisniewski A, Dobs A. Endocrine treatment of transsexual people: a review of treatment regimens, outcomes, and adverse effects. &lt;/span&gt;&lt;i&gt;J Clin Endocrinol Metab&lt;/i&gt;. Aug 2003;88(8):3467-73. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=12915619"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;37.  &lt;span lang="EN-US"&gt;Murphy JM, Laird NM, Monson RR. A 40-year perspective on the prevalence of depression: the Stirling County Study. &lt;/span&gt;&lt;i&gt;Arch Gen Psychiatry&lt;/i&gt;. Mar 2000;57(3):209-15. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=10711905"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;38.  &lt;span lang="EN-US"&gt;Niculescu AB, Akiskal HS. Proposed endophenotypes of dysthymia: evolutionary, clinical and pharmacogenomic considerations. &lt;/span&gt;&lt;i&gt;Mol Psychiatry&lt;/i&gt;. Jul 2001;6(4):363-6. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=11443518"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;39.  &lt;span lang="EN-US"&gt;Ordway GA. Searching for the chicken's egg in transporter gene polymorphisms [comment]. &lt;i&gt;Arch Gen Psychiatry&lt;/i&gt;. &lt;/span&gt;Aug 2000;57(8):739-40. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=10920460"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;40.  &lt;span lang="EN-US"&gt;Penninx BW, Geerlings SW, Deeg DJ. Minor and major depression and the risk of death in older persons. &lt;/span&gt;&lt;i&gt;Arch Gen Psychiatry&lt;/i&gt;. Oct 1999;56(10):889-95. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=10530630"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;41.  &lt;span lang="EN-US"&gt;Ravindran AV, Guelfi JD, Lane RM. Treatment of dysthymia with sertraline: a double-blind, placebo- controlled trial in dysthymic patients without major depression. &lt;i&gt;J Clin Psychiatry&lt;/i&gt;. &lt;/span&gt;Nov 2000;61(11):821-7. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=11105734"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;42.  &lt;span lang="EN-US"&gt;Riolo SA, Nguyen TA, Greden JF, King CA. Prevalence of depression by race/ethnicity: findings from the National Health and Nutrition Examination Survey III. &lt;i&gt;Am J Public Health&lt;/i&gt;. &lt;/span&gt;Jun 2005;95(6):998-1000.&lt;/p&gt; &lt;p&gt;43.  &lt;span lang="EN-US"&gt;Rudas S, Schmitz M, Pichler P. Treatment of refractory chronic depression and dysthymia with high-dose thyroxine. &lt;/span&gt;&lt;i&gt;Biol Psychiatry&lt;/i&gt;. Jan 15 1999;45(2):229-33. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=9951571"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;44.  &lt;span lang="EN-US"&gt;Ryder AG, Schuller DR, Bagby RM. Depressive personality and dysthymia: evaluating symptom and syndrome overlap. &lt;i&gt;J Affect Disord&lt;/i&gt;. &lt;/span&gt;Apr 2006;91(2-3):217-27.&lt;/p&gt; &lt;p&gt;45.  &lt;span lang="EN-US"&gt;Stahl SM. Essential Psychopharmacology. Neuroscientific Basis and Practical Applications. &lt;/span&gt;2nd ed. &lt;i&gt;Cambridge, UK:&lt;/i&gt;. Cambridge University Press;2000.&lt;/p&gt; &lt;p&gt;46.  &lt;span lang="EN-US"&gt;West M, George C. Attachment and dysthymia: the contributions of preoccupied attachment and agency of self to depression in women. &lt;/span&gt;&lt;i&gt;Attach Hum Dev&lt;/i&gt;. Dec 2002;4(3):278-93. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=12537847"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;47.  &lt;span lang="EN-US"&gt;Williams JW Jr, Barrett J, Oxman T. Treatment of dysthymia and minor depression in primary care: A randomized controlled trial in older adults. &lt;/span&gt;&lt;i&gt;JAMA&lt;/i&gt;. Sep 27 2000;284(12):1519-26. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=11000645"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;span lang="EN-US"&gt;Wolkowitz OM, Reus VI. Treatment of depression with antiglucocorticoid drugs. &lt;/span&gt;&lt;i&gt;Psychosom Med&lt;/i&gt;. Sep-Oct 1999;61(5):698-711. &lt;a tabindex="0" href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed&amp;amp;cmd=Retrieve&amp;amp;dopt=Citation&amp;amp;list_uids=10511017"&gt;[Medline]&lt;/a&gt;.&lt;/p&gt;&lt;div class="copyrigth_content"&gt;&lt;br /&gt;Copyright 2009 WebMD, Inc. Todos os direitos reservados. É expressamente proibida a republicação, redistribuição, propagação ou disseminação do Conteúdo Medscape ou do Conteúdo Medcenter sem a prévia autorização por escrito de WebMD.&lt;/div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-6101724639630960227?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/6101724639630960227/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=6101724639630960227' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6101724639630960227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6101724639630960227'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2009/12/distimia-doenca-cronica-do-mau-humor.html' title='Distimia: doença crônica do mau humor'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-6697634393690545939</id><published>2009-12-01T13:09:00.003-02:00</published><updated>2009-12-01T13:18:14.162-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>Criando poms em diretórios recursivamente via bash</title><content type='html'>Puxa... Como faz diferença algumas coisas em nossas vidas. Não sabia do modificador "local" em bash scripting. Já estava quase infartando quando descobri que as variáveis no meu script estavam com visibilidade para as recursões seguintes. Quando descobri esse modificador... PAH! Foi a glória. Funcionou tudo de prima!&lt;br /&gt;&lt;br /&gt;Pra quem tiver uma árvore muito grande de projetos em maven e quiser criá-los automaticamente e que seus nomes sejam baseados no nome do diretório corrente (tudo como eu queria fazer), abaixo segue um bash pra fazer o trabalho pesado. Detalhe: ele leva em consideração a herança do maven (sem beijo galera, por favor, eu sou casado :D).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;NOME_SCRIPT=$0&lt;br /&gt;&lt;br /&gt;DIRETORIO=$1&lt;br /&gt;&lt;br /&gt;GROUP_ID=$2&lt;br /&gt;&lt;br /&gt;VERSION=$3&lt;br /&gt;&lt;br /&gt;SEPARADOR='/'&lt;br /&gt;&lt;br /&gt;if [ -z "$DIRETORIO" ]; then&lt;br /&gt;  echo "Cria a infraestrutura completa de projetos java, para maven."&lt;br /&gt;  echo "Utilização:"&lt;br /&gt;  echo "  $NOME_SCRIPT diretório [groupId] [version]"&lt;br /&gt;  echo "   * diretório: onde será feita a criação do projeto (é recursiva)"&lt;br /&gt;  echo "   * groupId: groupId padrão que aparecerá em cada artefato"&lt;br /&gt;  echo "   * version: versão padrão de cada artefato"&lt;br /&gt;  exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function criapom {&lt;br /&gt;  local diretorio=$1&lt;br /&gt;  local arquivo=$diretorio/pom.xml&lt;br /&gt;  local gid_pai=$2&lt;br /&gt;  local aid_pai=$3&lt;br /&gt;  local ver_pai=$4&lt;br /&gt;  local gid=$5&lt;br /&gt;  local aid=$6&lt;br /&gt;  local ver=$7&lt;br /&gt;  exec 6&gt;&amp;amp;1&lt;br /&gt;  exec &gt; $arquivo&lt;br /&gt;&lt;br /&gt;  if [ $? -ne 0 ]; then&lt;br /&gt;    echo "Erro: não foi possível criar o arquivo $arquivo"&lt;br /&gt;    exec 1&gt;&amp;amp;6 6&gt;&amp;amp;-&lt;br /&gt;    exit 5&lt;br /&gt;  fi&lt;br /&gt;&lt;br /&gt;  echo -e '&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'&lt;br /&gt;  echo -e '  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;'&lt;br /&gt;  echo -e '  &lt;modelversion&gt;4.0.0&lt;/modelversion&gt;'&lt;br /&gt;  if [ ${#gid_pai} -ne 0 ]; then&lt;br /&gt;    echo -e '  &lt;!-- Projeto pai --&gt;'&lt;br /&gt;    echo -e '  &lt;parent&gt;'&lt;br /&gt;    echo -e '    &lt;groupid&gt;'$gid_pai'&lt;/groupid&gt;'&lt;br /&gt;    echo -e '    &lt;artifactid&gt;'$aid_pai'&lt;/artifactid&gt;'&lt;br /&gt;    echo -e '    &lt;version&gt;'$ver_pai'&lt;/version&gt;'&lt;br /&gt;    echo -e '  &lt;/parent&gt;'&lt;br /&gt;  fi&lt;br /&gt;  echo -e '  &lt;!-- Descricao do projeto --&gt;'&lt;br /&gt;  echo -e '  &lt;groupid&gt;'$gid'&lt;/groupid&gt;'&lt;br /&gt;  echo -e '  &lt;artifactid&gt;'$aid'&lt;/artifactid&gt;'&lt;br /&gt;  echo -e '  &lt;packaging&gt;pom&lt;/packaging&gt;'&lt;br /&gt;  echo -e '  &lt;version&gt;'$ver'&lt;/version&gt;'&lt;br /&gt;  echo -e '  &lt;name&gt;'$aid' description.&lt;/name&gt;'&lt;br /&gt;  echo -e '&lt;/project&gt;'&lt;br /&gt;  exec 1&gt;&amp;amp;6 6&gt;&amp;amp;-&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function criaestrutura {&lt;br /&gt;  # artifactId é também o diretório&lt;br /&gt;  local artifactId=$1&lt;br /&gt;  local diretorio=$2&lt;br /&gt;  local ver=$VERSION&lt;br /&gt;  echo "DIRETORIO DE INFRA: $diretorio"&lt;br /&gt;  if [ ${#artifactId} -ne 0 ]; then&lt;br /&gt;    echo -e "* Criando estrutura '$artifactId'"&lt;br /&gt;    criapom "$diretorio" "$gid_pai" "$aid_pai" "$ver_pai" "$GROUP_ID" "$artifactId" "$ver"&lt;br /&gt;    if [ $? -ne 0 ]; then&lt;br /&gt;      exit 1&lt;br /&gt;    fi&lt;br /&gt;    local gid_pai="$GROUP_ID"&lt;br /&gt;    local aid_pai="$artifactId"&lt;br /&gt;    local ver_pai="$ver"&lt;br /&gt;  fi&lt;br /&gt;  local diretorios=$(\ls -d "$diretorio"/*/ | xargs -l basename)&lt;br /&gt;  # Caso tenha encontrado diretorio, navega dentre ele&lt;br /&gt;  if [ $? -eq 0 ]; then&lt;br /&gt;    echo "DIRETORIOS: $diretorios"&lt;br /&gt;    for acdir in $diretorios; do&lt;br /&gt;      echo "FAZENDO AGORA: $diretorio/$acdir"&lt;br /&gt;      criaestrutura $acdir "$diretorio/$acdir"&lt;br /&gt;    done&lt;br /&gt;  fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if [ ${#GROUP_ID} -eq 0 ]; then&lt;br /&gt;  GROUP_ID='com.blogspot.javaltoni'&lt;br /&gt;  echo "Assumindo o groupId padrão '$GROUP_ID'"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [ ${#VERSION} -eq 0 ]; then&lt;br /&gt;  VERSION='1.0-SNAPSHOT'&lt;br /&gt;  echo "Assumindo a versão padrão '$VERSION'"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;criaestrutura $DIRETORIO $DIRETORIO&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ainda tem umas modificações legais para se fazer, como adicionar a infraestrutura de fontes. Esteja à vontade, digníssimo leitor! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-6697634393690545939?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/6697634393690545939/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=6697634393690545939' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6697634393690545939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6697634393690545939'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2009/12/criando-poms-em-diretorios.html' title='Criando poms em diretórios recursivamente via bash'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-2291248856393871605</id><published>2009-12-01T11:36:00.002-02:00</published><updated>2009-12-01T11:54:53.929-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='comandoslegais'/><title type='text'>Comandos legais no linux - Parte II</title><content type='html'>Continuando nossa saga, achei uns que não podem ficar de fora do bom geek linuxeiro.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;tree&lt;/span&gt; - Acho que é o sonho de todo slackueiro.&lt;br /&gt;Exemplo: tree -d -L 2 (mostra todos os diretórios em forma de árvore no segundo nível)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ls -d */ | xargs -l basename&lt;/span&gt; - Esse é difícil de achar. Parece trivial, mas o bash não tem um comando pra listar apenas os diretórios na listagem. Esse comando faz isso.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;htop&lt;/span&gt; - Não é comando do bash, mas é um ótimo aplicativo pra gerenciar processos no linux, inclusive enxergando o(s) processador(es), memória, com indicador "gráfico" de utilização textual. Dá pra colocar os processos em árvore de utilização, assim como matá-los e até escolher o tipo de sinal que será enviado para fazer a tarefa.&lt;br /&gt;&lt;br /&gt;Para os ubunteiros: sudo apt-get install htop&lt;br /&gt;Para os slackwares softcore: slapt-get --install htop&lt;br /&gt;Para os slackware hardcore: http://sourceforge.net/projects/htop/files/htop/0.8.3/htop-0.8.3.tar.gz/download (esquema: baixe, compile e instale)&lt;br /&gt;Para os slackware hardcore geek:  &lt;tt&gt;svn co https://htop.svn.sourceforge.net/svnroot/htop/trunk htop &lt;span style="font-family: Georgia,serif;"&gt;&lt;/span&gt;&lt;/tt&gt;(Não precisa comentário, vocês sabem do que estou falando :D)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-2291248856393871605?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/2291248856393871605/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=2291248856393871605' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/2291248856393871605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/2291248856393871605'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2009/12/comandos-legais-no-linux-parte-ii.html' title='Comandos legais no linux - Parte II'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-4546526177606984230</id><published>2009-11-24T22:54:00.002-02:00</published><updated>2009-11-24T22:58:15.554-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='amizade'/><category scheme='http://www.blogger.com/atom/ns#' term='relacionamento'/><title type='text'>A base dos relacionamentos saudáveis</title><content type='html'>&lt;h2 class="titulo"&gt;&lt;span style="font-weight: normal; font-style: italic;font-size:100%;" &gt;O texto a seguir não é de minha autoria, mas foi uma das melhores citações sobre relacionamento interpessoal que achei na internet, vale a pena a leitura. Ao final cito a fonte, já que o texto está licenciado pela CC (creative commons).&lt;/span&gt;&lt;br /&gt;&lt;/h2&gt;   Observando os maiores entraves da sociedade, os circunlóquios pelos quais enredam-se os homens numa postura individualista, elaborada numa ciranda da involução da espécie, chego à soturna conclusão de que o maior desafio e a origem de muitos problemas encontram-se na base dos relacionamentos.&lt;br /&gt;No decurso natural da vida vamos criando laços, estabelecendo relações, primeiro na família, mais tarde na escola, no trabalho, vive-se sempre em meio a pessoas, neste contexto é que por vezes surgem as mais desastrosas experiências grupais. Pergunto por que tantas vezes os laços acabam se transformando em nós? A resposta sempre à mesma: imaturidade emocional para aceitar, compreender o passo do outro.&lt;br /&gt;Pense caro leitor por instante, quantas pessoas já passaram pela sua vida? Quantas já partiram? , creio que este revés representa sempre oportunidade de crescimento. Convido a refletir sobre algumas pessoas que passaram pela sua vida, o que de ti elas levaram? O que delas em ti ficou? Qual a lição?&lt;br /&gt;Contudo, o que realmente importa saber é a respeito da qualidade da relação que estabelecemos com o outro, pessoas são escolas, penso que o maior desafio do ser humano é a convivência. Através do contato com o outro é possível aprimorar, avaliar a capacidade de tolerância, de generosidade, de maturidade da qual dispomos, ou presumimos dispor. A vilania dos novos tempos é composta pela intolerância, pelo individualismo, pela covardia evolutiva que constitui impedimento para o crescimento pessoal e, por conseguinte grupal. A vergasta açoita a alma e o coração humano daqueles que não alcançaram à maturidade emocional, que insistem em viver lançados à inércia do egoísmo, e das falsas compensações, buscando muitas vezes se comprazer na dor do outro.&lt;br /&gt;Através das experiências obtidas nos relacionamentos que estabelecemos ao longo da vida, torna-se possível perscrutar o intimo da alma, descobrindo nossos limites, posturas emocionais rígidas, doentias, mas não basta apenas descobri-las, é preciso superá-las.&lt;br /&gt;Os desafios são muitos, estamos frente a uma sociedade tisnada pelo abandono da ética, do amor ao próximo. Falar em amor ao próximo?, creio ser piegas nos novos tempos, esta caindo em desuso.&lt;br /&gt;O homem da caverna do século 21 sai à luta, escravo de padrões sociais escravizadores não consegue encontrar a felicidade em lugar nenhum, egocêntrico que é não tem olhos senão para seu umbigo. “O egoísmo extremo pode levar a exaustão psíquica, energética e emocional” (Revista Plantão; Ano II, nº.5t, Maio/Junho; 2002).&lt;br /&gt;A grande carência vigente esta na inabilidade de estabelecer relacionamentos, a intolerância assume força nos núcleos familiares, afetivos, sociais e profissionais. Há pessoas que perderam a noção de cordialidade, de educação e respeito ao próximo, para conseguirem o que desejam são capazes de tudo, simplesmente desconhecem limites! Vão deixando um rastro de desafetos e cicatrizes emocionais por onde passam.&lt;br /&gt;O maior mandamento deixado pelo Cristo foi o amor, Ele deixou um belo legado impresso nas entre linhas da frase: “amai-vos uns aos outros como eu vos amei.” (Jo 15, 12). Mas o amor aqui mencionado não e aquele dito da boca para fora, e sim um amor verdadeiro, carregado de responsabilidade, de caridade, de paciência com o próximo.&lt;br /&gt;O grande erro do homem é querer atingir o cume da montanha, sem antes passar pela aventura, pelo esforço, pelo desafio da escalada. Uns há que pisam na cabeça dos outros para mais rápido chegarem. Tolos, para estes o cume se porá sempre mais alto, mais longe. Enquanto o afeto une o desafeto ata.&lt;br /&gt;A base para o sucesso pessoal, profissional, na cordura das ações que estabelecemos com o outro, encontra-se na qualidade das relações que estabelecemos, criando círculos emocionais saudáveis e benfazejos.&lt;br /&gt;A saúde emocional é a chave que liberta o homem da prisão lúgubre que algema sua alma. Procure aceitar as pessoas como elas o são, isto não significa que você deve abrir mão dos seus princípios, dos seus pontos de vista, significa apenas que você é generoso com a opinião, com a formação do outro.&lt;br /&gt;Adote uma postura mental mais flexível, não julgue, não crie desafetos desnecessários, eles só irão comprometer o teu caminho. Faça a sua parte, lembre-se que um auto-exemplo vale mais que mil tentativas de explicação. Aprenda a sutil diferença entre discordar e dissentir. O resgate das relações afetivas saudáveis é a sirene nos chamando a acordar para um novo tempo, onde as pessoas possam viver numa relação saudável e otimista, onde a cooperação mútua encontre espaço para germinar nos corações humanos.&lt;br /&gt; &lt;br /&gt;(Cassiane Schmidt)&lt;br /&gt;&lt;br /&gt;Fonte: &lt;a href="http://recantodasletras.uol.com.br/cronicas/918545"&gt;Recanto das Letras&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-4546526177606984230?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/4546526177606984230/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=4546526177606984230' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/4546526177606984230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/4546526177606984230'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2009/11/base-dos-relacionamentos-saudaveis.html' title='A base dos relacionamentos saudáveis'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-3276187623651610304</id><published>2009-10-14T00:34:00.004-03:00</published><updated>2009-10-14T00:45:46.763-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='jni'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><title type='text'>Makefile pra gerar código nativo C em java</title><content type='html'>Depois de muito garimpar pela internet... Encontrei muitos posts antigos e desatualizados de como fazer a integração JNI e java. Encontrei muita coisa legal, inclusive &lt;a href="http://mindprod.com/jgloss/jni.html"&gt;este site&lt;/a&gt;, bem completo por sinal. Mas como não encontrei nada mastigado (o que no meu caso É PRAXE), tive que fazer a coisa funcionar sozinho. Agora vem a pergunta que não quer calar. Porque diabos eu tenho que colocar uma porcaria de um lib na frente das bibliotecas que tenho que carregar? Mais uma dificuldade? Que coisa!&lt;br /&gt;&lt;br /&gt;Pra complicar, tive como referência um &lt;a href="http://java.sun.com/docs/books/jni/html/start.html"&gt;tutorial da sun de 2002&lt;/a&gt;, morto de desatualizado. Se alguém tiver alguma coisa mais nova da sun, me fale que eu atualizo, mas só achei isso mesmo por lá.&lt;br /&gt;&lt;br /&gt;Bem, abaixo está um Makefile para compilar o projeto completamente, assim como o fonte em c e java.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Makefile&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;CC=g++&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;CFLAGS=-I /opt/java/include&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;JAVAH=$(JAVA_HOME)/bin/javah&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;JAVAC=$(JAVA_HOME)/bin/javac&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;all: HelloWorld HelloWorld.h hello.so&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;clean:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    rm *.class&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    rm *.h&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    rm *.so&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;HelloWorld:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    $(JAVAC) HelloWorld.java&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;HelloWorld.h:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    $(JAVAH) -jni HelloWorld&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;hello.so:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    $(CC) -fPIC -shared -D_REENTRANT -I $(JAVA_HOME)/include -I $(JAVA_HOME)/include/linux HelloWorld.c -o HelloWorld.so&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    cp HelloWorld.so libHelloWorld.so&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-style: italic;"&gt;HelloWorld.java&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;class HelloWorld {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    static {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        System.loadLibrary("HelloWorld");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    private native void print();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    public static void main(String[] args) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;        new HelloWorld().print();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-style: italic;"&gt;HelloWorld.c&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;#include &lt;jni.h&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#include &lt;stdio.h&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#include "HelloWorld.h"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;JNIEXPORT void JNICALL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Java_HelloWorld_print(JNIEnv *env, jobject obj)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    printf("Hello World!\n");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    return;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;Espero que ajude alguma alma perdida, que nem eu tava ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-3276187623651610304?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/3276187623651610304/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=3276187623651610304' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/3276187623651610304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/3276187623651610304'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2009/10/makefile-pra-gerar-codigo-nativo-c-em.html' title='Makefile pra gerar código nativo C em java'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-2934616944883590099</id><published>2009-10-13T23:02:00.002-03:00</published><updated>2009-10-13T23:06:19.953-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='comandoslegais'/><title type='text'>Comandos legais no linux - Parte I (não tem fim)</title><content type='html'>Bem, aqui vou colocar alguns comandos muito legais no linux que não utilizamos com frequência (sem trema, viu?), mas são muito loucos; não podem cair no esquecimento.&lt;br /&gt;&lt;br /&gt;dmidecode - Mostra números seriais (hds e placa mãe), revisão de BIOS, etc&lt;br /&gt;hdparm - mostra detalhes de um disco rígido (fabricante, serial, modo DMA, etc)&lt;br /&gt;lshw - mostra detalhadamente tudo no computador, uma varredura completa&lt;br /&gt;&lt;br /&gt;Se tiverem algo mais... Podem colocar no comentário que vai virar um novo post!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-2934616944883590099?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/2934616944883590099/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=2934616944883590099' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/2934616944883590099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/2934616944883590099'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2009/10/comandos-legais-no-linux-parte-i-nao.html' title='Comandos legais no linux - Parte I (não tem fim)'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-1420270690992341933</id><published>2009-09-02T15:00:00.002-03:00</published><updated>2009-09-02T15:10:15.539-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='route'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualbox'/><category scheme='http://www.blogger.com/atom/ns#' term='net'/><title type='text'>VBox como bridge e dump de rota de quebra</title><content type='html'>Depois de muito apanhar com o VirtualBox 2.0.4 no slackware pra levantar uma bridge na placa de rede (pra quem não sabe, assim o sistema operacional hospedado fica com um ip válido na rede local), consegui levantar os devices necessários.&lt;br /&gt;&lt;br /&gt;Script pra criar os devices:&lt;br /&gt;&lt;span style="font-family: courier new; font-style: italic;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;&lt;span style="font-family: courier new; font-style: italic;font-size:85%;" &gt;#!/bin/bash&lt;br /&gt;mkdir /dev/net&lt;br /&gt;# Cria um arquivo especial "/dev/net/tun" do tipo character(c)&lt;br /&gt;mknod /dev/net/tun c 10 200&lt;br /&gt;# Dá permissão de escrita e leitura para todos&lt;br /&gt;chmod 0666 /dev/net/tun&lt;br /&gt;# Carrega o device tun&lt;br /&gt;modprobe tun&lt;br /&gt;# Cria uma bridge chamada "br0"&lt;br /&gt;brctl addbr br0&lt;br /&gt;# Bota a placa de rede associada no modo promíscuo&lt;br /&gt;ifconfig eth0 0.0.0.0&lt;br /&gt;# Adiciona a placa de rede na bridge&lt;br /&gt;brctl addif br0 eth0&lt;br /&gt;# Fornece um número de ip para a bridge&lt;br /&gt;#dhclient br0&lt;br /&gt;ifconfig br0 10.0.0.2&lt;br /&gt;# Associa um device virtual de rede (placa) ao usuário valtoni&lt;br /&gt;VBoxTunctl -t vbox0 -u valtoni&lt;br /&gt;# Adiciona o device criado à bridge&lt;br /&gt;brctl addif br0 vbox0&lt;br /&gt;# Levanta o device&lt;br /&gt;ifconfig vbox0 up&lt;br /&gt;# Atribui ip dinâmico&lt;br /&gt;#dhclient vbox0&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Pra remover os devices:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;#!/bin/bash&lt;br /&gt;ifconfig vbox0 down&lt;br /&gt;brctl delif br0 vbox0&lt;br /&gt;VBoxTunctl -d vbox0 -u valtoni&lt;br /&gt;brctl delif br0 eth0&lt;br /&gt;ifconfig eth0&lt;br /&gt;ifconfig br0 down&lt;br /&gt;brctl delbr br0&lt;br /&gt;rmmod tun&lt;br /&gt;del -f /dev/net/tun&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;E um dump_route que encontrei por aí:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;# Create a file to store the current routing table in.  I leave it to the&lt;br /&gt;# gentle user to delete tables and rules manually, but this file should&lt;br /&gt;# store all of the routes and rules.  At worst, you should be able to&lt;br /&gt;# recover by running this file again.&lt;br /&gt;BACKUP_ROUTE=backup.route.sh&lt;br /&gt;&lt;br /&gt;# Backup the routes&lt;br /&gt;echo "starting to backup the routes and rules ...."&lt;br /&gt;echo "#!/bin/bash" &gt; $BACKUP_ROUTE&lt;br /&gt;ip route show table all | grep -Ev '^local|^broadcast|^ff|^unreachable|^fe' | while read ROUTE; do&lt;br /&gt;        echo "ip route add $ROUTE" &gt;&gt; $BACKUP_ROUTE&lt;br /&gt;done&lt;br /&gt;# Backup the rules&lt;br /&gt;ip rule show | sed -e 's/.*from/from/g' | while read RULE; do&lt;br /&gt;        echo "ip rule add $RULE" &gt;&gt; $BACKUP_ROUTE&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;# flush the cache.&lt;br /&gt;echo "ip route flush cache" &gt;&gt; $BACKUP_ROUTE&lt;br /&gt;# chmod +x $BACKUP_ROUTE&lt;br /&gt;&lt;br /&gt;echo "The routes and rules have been backed up to $BACKUP_ROUTE"&lt;br /&gt;echo "looking good ...."&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-1420270690992341933?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/1420270690992341933/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=1420270690992341933' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/1420270690992341933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/1420270690992341933'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2009/09/vbox-como-bridge-e-dump-de-rota-de.html' title='VBox como bridge e dump de rota de quebra'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-8567896189230955907</id><published>2009-08-12T10:46:00.002-03:00</published><updated>2009-08-12T10:50:00.446-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='derby jboss-setup jboss'/><title type='text'>Derby no jboss 4.2.3GA</title><content type='html'>Como eu iria descobrir fazer &lt;a href="http://www.jboss.org/community/wiki/SetUpADerbyDatasource"&gt;esse setup&lt;/a&gt;(oficial) no jboss? Tem esse (&lt;a href="http://alistairisrael.wordpress.com/2009/03/31/creating-derby-datasource-in-jboss/"&gt;http://alistairisrael.wordpress.com/2009/03/31/creating-derby-datasource-in-jboss/&lt;/a&gt;) oficioso também, que fala quase a mesma coisa, mas redireciona um importante erro que não tem na página oficial: um inescrupuloso conflito de JMX entre o JBoss e o derby. Acho que o derby deveria ficar na dele. Se meter onde não é chamado é f***. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-8567896189230955907?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/8567896189230955907/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=8567896189230955907' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/8567896189230955907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/8567896189230955907'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2009/08/derby-no-jboss-423ga.html' title='Derby no jboss 4.2.3GA'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-2538886661050998697</id><published>2009-08-10T10:57:00.004-03:00</published><updated>2009-08-10T11:04:19.637-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maven java maven-plugin substitute'/><title type='text'>Substitute words and string in maven</title><content type='html'>Hey! I talk to you about substitute maven strings in java project?&lt;br /&gt;&lt;br /&gt;The project have some real nice thinks, like search in ant project style "**/*.xml" and have some default substitutes: @PROJECT_VERSION@, @VERSION_SCM@ and @DATE_TIME@.&lt;br /&gt;&lt;br /&gt;Let's go.. I have a due with you about this: an complete tutorial. I'll make about 1 month, ok? Visit the link &lt;a href="http://code.google.com/p/maven-substitute-plugin/"&gt;http://code.google.com/p/maven-substitute-plugin/&lt;/a&gt;, in main page we have a brief tutorial.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-2538886661050998697?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/2538886661050998697/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=2538886661050998697' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/2538886661050998697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/2538886661050998697'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2009/08/substitute-words-and-string-in-maven.html' title='Substitute words and string in maven'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-8127385827321966538</id><published>2009-08-10T10:33:00.003-03:00</published><updated>2009-08-10T10:50:56.358-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='esb jbossesb jboss java'/><title type='text'>Hello World Jboss ESB</title><content type='html'>Bem. Depois de um tempo visualizando e inferindo sobre ESB, resolvi especificar o rumo natural das coisas (pra mim): getstarting jboss esb helloworld. Bom, depois de estudar um pouquinho, vi que no tutorial deles está faltando um pouco de informações para que haja um melhor entendimento de como realmente as coisas funcionam. Esse post não tem um objetivo de ser uma referência total, mas sim, complementar ao &lt;a href="http://www.jboss.org/jbossesb/docs/4.6/manuals/html/GettingStarted.html"&gt;artigo inicial&lt;/a&gt; (esb 4.6), na jboss.&lt;br /&gt;&lt;br /&gt;Este é o ciclo de funcionamento do HelloWorld (olha, tive que com pilar o Inkspace pra fazer isso no slackware, eu tenho muita paciência.. Mas ficou muito bom):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_8d9-VikenU4/SoAkNaCvXjI/AAAAAAAAAIA/ek2aEzCuDMs/s1600-h/jbossesb-helloworld-explained.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 205px;" src="http://3.bp.blogspot.com/_8d9-VikenU4/SoAkNaCvXjI/AAAAAAAAAIA/ek2aEzCuDMs/s400/jbossesb-helloworld-explained.png" alt="" id="BLOGGER_PHOTO_ID_5368330568573345330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Passo a passo:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;SendJMSMessage é chamado via build.xml, com o parâmetro "HelloWorld"&lt;/li&gt;&lt;li&gt;No caso "unaware", ou seja, chamado via SendJMSMessage (dentro do build.xml do ant), o ESB é inteligente para saber que o quickstartGwChannel está associado ao serviço da categoria:nome.&lt;/li&gt;&lt;li&gt;O lookup é feito internamente e pesquisa todos os listeners registrados como "non-gateway" para avisá-los que chegou mensagem. No caso, apenas o busrefid "quickstartEsbChannel" será avisado, pois é o único registrado além do gateway.&lt;/li&gt;&lt;li&gt;A mensagem é efetivamente repassada para o busrefid quickstartEsbChannel.&lt;/li&gt;&lt;li&gt;A partir da action "action1" registrada com a classe MyJMSListenerAction, o processo (também registrado) "displayMessage", nada mais que um método, será chamado para processar o corpo da mensagem.&lt;/li&gt;&lt;li&gt;A classe MyJMSListenerAction dá o print.&lt;/li&gt;&lt;/ol&gt;Bem, deu pra dar uma idéia melhor que nas referências iniciais do JBoss. Quaisquer sugestões (ou mesmo correções) postem nos comentários, será um prazer corrigir. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-8127385827321966538?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/8127385827321966538/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=8127385827321966538' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/8127385827321966538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/8127385827321966538'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2009/08/hello-world-jboss-esb.html' title='Hello World Jboss ESB'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_8d9-VikenU4/SoAkNaCvXjI/AAAAAAAAAIA/ek2aEzCuDMs/s72-c/jbossesb-helloworld-explained.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-5587531346200084848</id><published>2009-07-13T09:44:00.003-03:00</published><updated>2009-07-13T09:47:01.701-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google-code replacer maven'/><title type='text'>maven-replacer-plugin</title><content type='html'>É com a maior honra que trago a vocês um plugin para modificar textos dentro de qualquer lugar do projeto, em qualquer fase da aplicação. Tá! É meio redundante. Mas não custa adicionar isso para os iniciantes né? Taí (não é o refrigerante): http://code.google.com/p/maven-substitute-plugin/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-5587531346200084848?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/5587531346200084848/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=5587531346200084848' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/5587531346200084848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/5587531346200084848'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2009/07/maven-replacer-plugin.html' title='maven-replacer-plugin'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-8397134266577392160</id><published>2009-06-23T00:25:00.004-03:00</published><updated>2009-06-23T00:28:39.548-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='download'/><title type='text'>Como fazer downloads de mp3 no esnips</title><content type='html'>Simples! Só pegar a UUID (ou código, como você preferir) do seu link, e digitá-lo na barra de endereços assim:&lt;br /&gt;&lt;pre class="sh_javascript sh_sourceCode" id="source"&gt;&lt;span class="sh_string"&gt;http://www.esnips.com/nsdoc/&lt;/span&gt; &lt;span class="sh_symbol"&gt;+&lt;/span&gt; código &lt;span class="sh_symbol"&gt;+&lt;/span&gt; &lt;span class="sh_string"&gt;/ts_id/&lt;/span&gt; &lt;span class="sh_symbol"&gt;+&lt;/span&gt; DATA_HORA (YYYYMMDDHHMISS) &lt;span class="sh_symbol"&gt;+&lt;/span&gt; &lt;span class="sh_string"&gt;/ns_flash/file88.mp3&lt;/span&gt;&lt;/pre&gt;Voilá!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-8397134266577392160?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/8397134266577392160/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=8397134266577392160' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/8397134266577392160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/8397134266577392160'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2009/06/como-fazer-downloads-de-mp3-no-esnips.html' title='Como fazer downloads de mp3 no esnips'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-8734197569142689291</id><published>2009-06-08T11:10:00.003-03:00</published><updated>2009-06-08T11:28:28.109-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajp'/><category scheme='http://www.blogger.com/atom/ns#' term='tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><title type='text'>(Post 1/2) Tunagem (tunning) do servidor Apache Httpd MpmWork e AJP - Problema</title><content type='html'>Como é bom desenvolver sistemas e, após tanta investida em desenvolvimento da solução, o disponibilizamos em um pesado ambiente de produção, pensando que apenas isso solucionaria nossos problemas. Ledo engano. Tunning de sistema é um mal sempre necessário em qualquer ambiente, principalmente ele sendo de missão crítica (24x7) e sem janela para intervenções.&lt;br /&gt;&lt;br /&gt;Um ambiente "pesado" em java nos leva a pensar: bom, você tem no mínimo um servidor de aplicações J2EE e um boa infra. Bullseye!!! De posse disso, levamos em consideração o ambiente: Linux Ubuntu 8.04 Server e módulos apache 2.2 e mod_jk 1.2.6.&lt;br /&gt;&lt;br /&gt;Utilizaremos os arquivos de configuração worker.properties, uriworkermap.properties e jk.conf; o que seriam arquivos de configuração padrões do mod_jk que o ubuntu utilizou na sua própria distribuição, o que ficou muito legal. Pena que as atualizações do ubuntu server não estão tão bacanas assim para deixar o padrão funcionando: isso teria me economizado umas duas semanas e muita dor de cabeça.&lt;br /&gt;&lt;br /&gt;Qual é o problema em utilizar uma instalação apache 2.2 / mod_jk 1.2.6 padrão conectando em dois jboss 4.2.1.GA? Quem já fez isso sabe as consequências: várias conexões engatadas na porta 8009 e essas mesmas conexões com status 7 na ponta do JBoss. Ó céus. Isso é o inferno: após algum tempo o apache não consegue mais encontrar conexões livres no conector AJP dos JBoss e para de responder, pois está em WAIT.&lt;br /&gt;&lt;br /&gt;Enquanto "A SOLUÇÃO" (segunda parte desse post), algumas leituras são convenientes:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://kbase.redhat.com/faq/docs/DOC-16322"&gt;Red Hat Knowledgebase: Why am I seeing CLOSE_WAIT AJP Connections from JBoss?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://jira.jboss.org/jira/browse/JBPAPP-366"&gt;[#JBPAPP-366] AJP Connector Threads Hung in CLOSE_WAIT Status - jboss.org JIRA&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jboss.org/community/wiki/OptimalModjk12Configuration"&gt;OptimalMod_jk1.2Configuration - JBoss Community&lt;/a&gt;  &lt;a href="http://httpd.apache.org/docs/2.0/mod/worker.html"&gt;worker - Apache HTTP Server&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://tomcat.apache.org/connectors-doc/reference/workers.html#Advanced%20Worker%20Directives"&gt;The Apache Tomcat Connector - Reference Guide - workers.properties configuration&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jboss.org/community/wiki/OptimalModJk12Configuration"&gt;OptimalMod_jk1.2Configuration - JBoss Community&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-8734197569142689291?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/8734197569142689291/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=8734197569142689291' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/8734197569142689291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/8734197569142689291'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2009/06/post-12-tunagem-tunning-do-servidor.html' title='(Post 1/2) Tunagem (tunning) do servidor Apache Httpd MpmWork e AJP - Problema'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-4709516013162543182</id><published>2009-03-10T23:10:00.006-03:00</published><updated>2009-03-10T23:20:04.447-03:00</updated><title type='text'>A impressora mais cara do mundo</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_8d9-VikenU4/SbcfrMaJkQI/AAAAAAAAAHU/k5j7iZ3FUCg/s1600-h/eguasubmarino.png"&gt;&lt;img style="cursor: pointer; width: 675px; height: 347px;" src="http://3.bp.blogspot.com/_8d9-VikenU4/SbcfrMaJkQI/AAAAAAAAAHU/k5j7iZ3FUCg/s400/eguasubmarino.png" alt="" id="BLOGGER_PHOTO_ID_5311749112432529666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Claro que existem preços mais salgados, mas duvido que essa impressora corte, dobre, grampeie, embale e sirva cafezinho! :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-4709516013162543182?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/4709516013162543182/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=4709516013162543182' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/4709516013162543182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/4709516013162543182'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2009/03/impressora-mais-cara-do-mundo.html' title='A impressora mais cara do mundo'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_8d9-VikenU4/SbcfrMaJkQI/AAAAAAAAAHU/k5j7iZ3FUCg/s72-c/eguasubmarino.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-1614031233714624305</id><published>2009-03-03T15:39:00.002-03:00</published><updated>2009-03-03T15:45:36.002-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='impostos'/><category scheme='http://www.blogger.com/atom/ns#' term='autismo'/><category scheme='http://www.blogger.com/atom/ns#' term='isenção'/><title type='text'>Isenção de impostos pro Autista: Mais informações</title><content type='html'>Referente ao post anterior de isenções de impostos para autistas, nessa página da receita federal há bastante informação:&lt;br /&gt;&lt;a href="https://www.receita.fazenda.gov.br/GuiaContribuinte/IsenIpiDefFisico/IsenIpiDefiFisicoLeia.htm"&gt;https://www.receita.fazenda.gov.br/GuiaContribuinte/IsenIpiDefFisico/IsenIpiDefiFisicoLeia.htm&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-1614031233714624305?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/1614031233714624305/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=1614031233714624305' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/1614031233714624305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/1614031233714624305'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2009/03/isencao-de-impostos-pro-autista-mais.html' title='Isenção de impostos pro Autista: Mais informações'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-194845129541216051</id><published>2008-11-05T17:45:00.003-02:00</published><updated>2008-11-05T17:49:16.146-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='classworld'/><category scheme='http://www.blogger.com/atom/ns#' term='codehaus'/><category scheme='http://www.blogger.com/atom/ns#' term='plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='axis'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>Apanhando com ClassLoader e Maven</title><content type='html'>É ridículo as vezes... Eu procurei no google por dois dias seguidos e não tinha encontrado nada à respeito: queria adicionar dependências de um projeto no plugin do axis, hospedado no codehaus (ninguém usou essa porcaria ainda? ela não funcionou comigo)... E qual foi uma surpresa em encontrar um &lt;a href="http://blogs.webtide.com/janb/entry/extending_the_maven_plugin_classpath"&gt;blog completo&lt;/a&gt; sobre o assunto!!!&lt;br /&gt;&lt;br /&gt;Bem, fica aí pra quem quiser ver.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-194845129541216051?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/194845129541216051/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=194845129541216051' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/194845129541216051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/194845129541216051'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2008/11/apanhando-com-classloader-e-maven.html' title='Apanhando com ClassLoader e Maven'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-8471543274492168267</id><published>2008-10-21T10:39:00.001-02:00</published><updated>2008-10-21T10:41:27.734-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento'/><category scheme='http://www.blogger.com/atom/ns#' term='processo de desenvolvimento'/><category scheme='http://www.blogger.com/atom/ns#' term='fábrica de software'/><title type='text'>Fábricas de Software</title><content type='html'>http://tardivo.wordpress.com/2008/01/16/fabricas-de-software/&lt;br /&gt;&lt;br /&gt;Vamo continuar pensando?&lt;br /&gt;&lt;br /&gt;Fábricas de software são um bom pensamento, mas não acho que programadores são "apertadores de parafusos", mesmo em uma fábrica de software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-8471543274492168267?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/8471543274492168267/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=8471543274492168267' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/8471543274492168267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/8471543274492168267'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2008/10/fbricas-de-software.html' title='Fábricas de Software'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-9061600799095652546</id><published>2008-10-20T17:23:00.002-02:00</published><updated>2008-10-20T18:15:08.537-02:00</updated><title type='text'>Arquitetura de Software</title><content type='html'>&lt;span style="font-size:100%;"&gt;Domain Driven Design - Todo mundo puxa a sardinha pro seu lado. Mas nada melhor do que juntar o útil ao agradável: verifiquemos sobre o que realmente alguém fala a verdade sobre si próprio e extraímos a melhor parte. Olha que interessante:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Domain-driven design não é uma tecnologia e nem uma metodologia. É uma maneira de estabelecer um conjunto de prioridades ajudados por projetos de aceleração de desenvolvimento de software que têm que lidar com domínios complexos."&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;É bem bacana pensar assim, pena que pros não xiitas nem tudo são flores! :D&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;A utilização de "naked objects" é muito interessante, e nos coloca novamente o termo encapsulamento na sua essência. Particularmente nunca fui muito fã da divisão em &lt;span style="font-style: italic;"&gt;n * M&lt;/span&gt; camadas, até porque isso nos proporciona uma tendência a utilização de vários frameworks para solução dos problemas que tal e tal camada te leva a resolver. Contudo, não sou xiita. Acho que a divisão de camadas te leva a um baixo &lt;a href="http://en.wikipedia.org/wiki/Coupling_%28computer_science%29"&gt;acoplamento&lt;/a&gt; e uma alta coesão, ocasionando uma independência de código, ou seja, você tem certeza que mexendo em certo trecho você não vai ter que modificá-lo em vários pedaços de código. A bibliografia vale a pena para continuar pensando...&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Grasp &lt;/span&gt;&lt;span style="font-style: italic;"&gt;(General Responsibility Assignment Software Patterns)&lt;/span&gt;&lt;br /&gt;http://en.wikipedia.org/wiki/GRASP_(Object_Oriented_Design)&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Naked Objects&lt;br /&gt;&lt;/span&gt;http://www.nakedobjects.org/&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;http://en.wikipedia.org/wiki/Naked_objects&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Domain Driven Design&lt;/span&gt;&lt;br /&gt;http://tech.groups.yahoo.com/group/domaindrivendesign/message/7582&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-9061600799095652546?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/9061600799095652546/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=9061600799095652546' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/9061600799095652546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/9061600799095652546'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2008/10/arquitetura-de-software.html' title='Arquitetura de Software'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-8116359191736501742</id><published>2008-10-20T14:19:00.003-02:00</published><updated>2008-10-20T14:40:27.253-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='arquitetura'/><title type='text'>Pensando em Desenvolvimento</title><content type='html'>Por que não desenvolver de uma forma estruturada? A questão é antiga, mas o problema é atual. &lt;a href="http://www.fragmental.com.br/wiki/index.php/Fantoches"&gt;Leia essa abordagem&lt;/a&gt;, é exatamente o que eu penso sobre o assunto, sem tirar nem por.&lt;br /&gt;&lt;br /&gt;Aqui estão alguns links para nos fazer pensar:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;http://www.fragmental.com.br/wiki/index.php/Arquitetura_de_Camadas_em_Java_EE&lt;/li&gt;&lt;li&gt;http://www.fragmental.com.br/wiki/index.php/Desenvolvendo_Sistemas_OO_Com_Padr%C3%B5es_de_Neg%C3%B3cio&lt;/li&gt;&lt;li&gt;http://www.fragmental.com.br/wiki/index.php/Evitando_VOs_e_BOs&lt;/li&gt;&lt;/ol&gt;Não sou nem pra mais nem pra menos. Então há casos em que é desejável a utilização do VO e há casos que não. O mesmo se aplica a BO.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-8116359191736501742?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/8116359191736501742/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=8116359191736501742' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/8116359191736501742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/8116359191736501742'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2008/10/pensando-em-desenvolvimento.html' title='Pensando em Desenvolvimento'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-6591498981460591548</id><published>2008-10-10T09:50:00.003-03:00</published><updated>2008-10-10T10:01:35.975-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bandalheira'/><category scheme='http://www.blogger.com/atom/ns#' term='música'/><title type='text'>Beat Acelerado &amp; Lágrima de Crocodilo</title><content type='html'>Bicho! Fiquei impressionado...&lt;br /&gt;A put*ria rolava solto nas músicas já antigamente e eu, quando criança, gostava muito dessas músicas: Beat Acelerado (Metrô) e Lágrimas de Crocodilo (João Penca e Seus Miquinhos Amestrados).&lt;br /&gt;No Beat Acelerado ela fala: "(...) não sei me entregar a um amor somente, quando ando nas ruas fico só namorando e olhando pra toda a gente"... Rapaiz, quenguice explícita!!&lt;br /&gt;E no Lágrimas de Crocodilo: "(...) não conte nada para a sua mãe... Apague a luz pra eu te ver melhor"... Hoje em dia isso é fácil né? Vide o parágrafo anterior!!! :D&lt;br /&gt;&lt;br /&gt;Pô... Ao menos antes haviam letras de músicas que faziam sentido!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-6591498981460591548?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/6591498981460591548/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=6591498981460591548' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6591498981460591548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6591498981460591548'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2008/10/beat-acelerado-lgrima-de-crocodilo.html' title='Beat Acelerado &amp; Lágrima de Crocodilo'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-5281588058725170789</id><published>2008-09-16T12:15:00.001-03:00</published><updated>2008-09-16T12:15:57.200-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='impostos'/><category scheme='http://www.blogger.com/atom/ns#' term='autismo'/><category scheme='http://www.blogger.com/atom/ns#' term='isenção'/><title type='text'>Autismo: Isenção de IPVA no Pará</title><content type='html'>Correndo atrás de isenção de IPVA na &lt;a href="http://www.sefa.pa.gov.br/"&gt;sefa&lt;/a&gt; daqui. Tá sendo complicado, pois eles não têm &lt;a href="http://www.sefaz.al.gov.br/grafvirtual/arrecadacao/ipva/anexosIPVA.htm"&gt;formulários específicos, como os de alagoas&lt;/a&gt;. De qualquer forma, segundo &lt;a href="http://www.universoautista.com.br/autismo/modules/newbb/viewtopic.php?topic_id=45&amp;amp;forum=21"&gt;esse post do universo autista&lt;/a&gt;, meu filho tem direito. Qualquer novidade posto aqui!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-5281588058725170789?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/5281588058725170789/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=5281588058725170789' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/5281588058725170789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/5281588058725170789'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2008/09/autismo-iseno-de-ipva-no-par.html' title='Autismo: Isenção de IPVA no Pará'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-6416140899443092580</id><published>2008-07-18T10:00:00.003-03:00</published><updated>2008-07-18T10:15:06.056-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='impostos'/><category scheme='http://www.blogger.com/atom/ns#' term='autismo'/><category scheme='http://www.blogger.com/atom/ns#' term='receita federal'/><category scheme='http://www.blogger.com/atom/ns#' term='isenção'/><title type='text'>Autismo e Ganhos Sociais</title><content type='html'>Bem, faz muito tempo que não posto. Hoje vou entrar com uma coisa que tem me tocado há tempos. Tenho um filho com síndrome de Aspenger (uma variação do autismo), e, como todo mundo, passamos por alguns apertinhos pra manter a vida. Devido a essas dificuldades, fui motivado a encontrar algo que nos apoiasse nesse sentido. Foi quando soube que ele tinha direito a redução de imposto.&lt;br /&gt;&lt;br /&gt;Fazendo uma pesquisa na net, encontrei que os autistas têm isenção de IPI (achei nesse &lt;a href="https://www.ford.com.br/default.asp?strIniPag=inst_vendadireta_proceder.asp#inicio"&gt;link&lt;/a&gt;, no site da ford, mas não de ICMS. Não sei pq, se a lei é federal e o governo federal se preocupa em fazer a inclusão social deles, porque o governo estadual também não faz essa inclusão por meio de uma lei específica também? Daí um alô pros governos estaduais.&lt;br /&gt;&lt;br /&gt;Achei também uns links com orientações específicas:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.receita.fazenda.gov.br/GuiaContribuinte/IsenIpiDefFisico/IsenIpiDefiFisicoLeia.htm"&gt;Receita Federal&lt;/a&gt; - Orientações de como requisitar a isenção&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mpdft.gov.br/sicorde/Leg_PortIM02_20031121.htm"&gt;Portaria do Ministério da Saúde&lt;/a&gt; - Portaria do Ministério da Saúde regulamentando a isenção de autistas&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.planalto.gov.br/ccivil_03/decreto/D3298.htm"&gt;Decreto Federal&lt;/a&gt; - Decreto federal &lt;strong&gt;&lt;span&gt;&lt;a href="http://legislacao.planalto.gov.br/legisla/legislacao.nsf/Viw_Identificacao/DEC%203.298-1999?OpenDocument"&gt;&lt;strong&gt;&lt;span style="font-family:Arial;font-size:85%;color:#000080;"&gt;Nº 3.298, DE 20 DE DEZEMBRO DE 1999&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;, que regulamenta a inclusão social de pessoas com necessidades especiais.&lt;/li&gt;&lt;/ol&gt;Espero que esses links sirvam para pais e responsáveis legais para pessoas com necessidades especiais.&lt;br /&gt;&lt;br /&gt;[]'cos&lt;br /&gt;Valtoni&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-6416140899443092580?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/6416140899443092580/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=6416140899443092580' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6416140899443092580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/6416140899443092580'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2008/07/autismo-e-ganhos-sociais.html' title='Autismo e Ganhos Sociais'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-2198375434273262110</id><published>2007-08-24T15:52:00.000-03:00</published><updated>2007-08-24T15:54:54.039-03:00</updated><title type='text'>Santo permgen batman!!!</title><content type='html'>Desenvolvendo aplicações em seam, descobri um put* erro na vm em conjunto com o jboss: chama-se Permgen. Toda vez que faço deploy o espaço cresce, cresce, até que estoura o permgen. A linha a seguir resolve esse problema:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;# Specify options to pass to the Java VM.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;if [ "x$JAVA_OPTS" = "x" ]; then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;   JAVA_OPTS="-Xms256m -Xmx277m -XX:PermSize=128m -XX:MaxPermSize=256 -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Aí é só fazer quantos deploys te convier! ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-2198375434273262110?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/2198375434273262110/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=2198375434273262110' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/2198375434273262110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/2198375434273262110'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2007/08/santo-permgen-batman.html' title='Santo permgen batman!!!'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-9080483663644274706</id><published>2007-08-17T08:24:00.000-03:00</published><updated>2007-08-17T08:39:07.653-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='testeintegração'/><category scheme='http://www.blogger.com/atom/ns#' term='webservice'/><category scheme='http://www.blogger.com/atom/ns#' term='junit'/><title type='text'>SoapJunit</title><content type='html'>Bem... Tive muitos problemas e dificuldades em fazer testes automatizados para webservice, já que não existe componentes fáceis (a não ser o &lt;a href="http://www.soapui.org/eclipse/index.html"&gt;soapUI&lt;/a&gt;,  porém iria ficar dependente de plugin), resolvi criar um próprio.&lt;br /&gt;&lt;br /&gt;Baseado na idéia de uma matéria que li no site da IBM, onde os caras montaram um teste fazendo uma requisição soap pura passando pra uma classe SampleClient, que utiliza a biblioteca jakarta &lt;a href="http://commons.apache.org/httpclient/"&gt;commons-httpclient&lt;/a&gt;, &lt;a href="http://commons.apache.org/codec/"&gt;commons-codec&lt;/a&gt; e &lt;a href="http://xmlunit.sourceforge.net/"&gt;xmlunit&lt;/a&gt; (essa é louca!!), é só chamar a seguinte classe:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;import java.io.File;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;import java.io.FileInputStream;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;import java.io.FileNotFoundException;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;import java.io.FileOutputStream;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;import java.io.IOException;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;import java.io.InputStreamReader;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;import java.io.OutputStreamWriter;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;import java.io.Reader;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;import org.custommonkey.xmlunit.Diff;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;import org.custommonkey.xmlunit.XMLUnit;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;import org.xml.sax.SAXException;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;import static org.junit.Assert.assertTrue;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;public final class SoapJUnit {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;  public static enum Encoding {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    ISO88591("ISO-8859-1"), UTF8("UTF8"), UTF16("UTF16");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    private final String enc;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    Encoding(String enc) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      this.enc = enc;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    public String toString() {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      return enc;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;  public static final Diff getDiff(String urlSoap, String requestXml, String expectedXml, String actualXml, Encoding encoding) throws FileNotFoundException, IOException, SAXException {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    // Invoca o WebService&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    String webServiceResponse = SampleHttpClient.invokeWebService(urlSoap, requestXml);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;/*    System.out.println("**** RESPONSE FROM WEBSERVICE ****");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    System.out.println(webServiceResponse);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    System.out.println("**** End of response ****"); */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    // Armazena resposta no disco&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    File responseFile = new File(actualXml);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    responseFile.createNewFile();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(responseFile), encoding.toString());&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    osw.write(webServiceResponse);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    osw.flush();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    osw.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    // Compara os resultados&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    Reader expectedXMLReader = new InputStreamReader(new FileInputStream(expectedXml), encoding.toString());&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    Reader actualXMLReader = new InputStreamReader(new FileInputStream(actualXml), encoding.toString());&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    // Ignora espaços em branco enquanto faz a comparação&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    XMLUnit.setIgnoreWhitespace(true);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    XMLUnit.setIgnoreComments(true);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    // Objeto Diff, que contém as diferenças&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    return new Diff(expectedXMLReader, actualXMLReader);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;  public static final void assertIdentical(String urlSoap, String requestXml, String expectedXml, String actualXml, Encoding encoding) throws FileNotFoundException, IOException, SAXException {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    Diff xmlDiff = getDiff(urlSoap, requestXml, expectedXml, actualXml, encoding);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    assertTrue("XML identical " + xmlDiff.toString(), xmlDiff.identical());&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;  public static final void assertSimilar(String urlSoap, String requestXml, String expectedXml, String actualXml, Encoding encoding) throws FileNotFoundException, IOException, SAXException {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    Diff xmlDiff = getDiff(urlSoap, requestXml, expectedXml, actualXml, encoding);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    assertTrue("XML similar " + xmlDiff.toString(), xmlDiff.similar());&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    Ah, você deve ter também a classe SampleHttpClient:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;import java.io.BufferedReader;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;public class SampleHttpClient {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;  public static String invokeWebService(String webServiceUrl, String requestXmlPath)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    throws FileNotFoundException, IOException {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    PostMethod post = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    HttpClient client = new HttpClient();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    try {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      // Lê o request SOAP do arquivo&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      StringBuffer requestFileContents = new StringBuffer();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      BufferedReader bufferedReader = new BufferedReader(new FileReader(requestXmlPath));&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      String line = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      while ((line = bufferedReader.readLine()) != null) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;        requestFileContents.append(line);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      post = new PostMethod(webServiceUrl);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      post.setRequestHeader("Accept", "application/soap+xml,application/dime,multipart/related,text/*");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      post.setRequestHeader("SOAPAction", "");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      // Conteúdo do request será obtido diretamente do Stream&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      RequestEntity entity = new StringRequestEntity(requestFileContents.toString(), "text/xml", "utf-8");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      post.setRequestEntity(entity);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      // Retorna um número indicando o status da resposta&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      int result = client.executeMethod(post);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      System.out.println("Resultado Status Http: " + result);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      String response = post.getResponseBodyAsString();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      return response;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    } finally {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      // Libera a conexão atual do pool de conexões&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      if (post != null) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;        post.releaseConnection();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;      }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192); font-style: italic;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    Ok? De posse disso é só chamar dentro de um teste unitário normal:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;import org.junit.After;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;import org.junit.Before;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;import org.junit.Test;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;public class WsCduSegurancaTest {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;  @Before&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;  public void setUp() throws Exception {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;  @After&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;  public void tearDown() throws Exception {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;  @Test&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;  public void testAutenticarUsuarioOk() throws Exception {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;    SoapJUnit.assertIdentical("http://xxx:8080/Servico/Alvo?wsdl", &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;            "tests/request.xml", &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;            "tests/expected.xml", &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;            "tests/actualResponse.xml", &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;            SoapJUnit.Encoding.ISO88591);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(192, 192, 192);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    Você pode criar o arquivo "request.xml" com a ajuda do SoapUI, que fica bem legal. Pronto. Espero que te ajude o tanto quanto me ajudou!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-9080483663644274706?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/9080483663644274706/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=9080483663644274706' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/9080483663644274706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/9080483663644274706'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2007/08/soapjunit.html' title='SoapJunit'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-56960814789575843</id><published>2007-08-15T14:42:00.000-03:00</published><updated>2007-08-15T14:44:32.588-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='testeintegração'/><category scheme='http://www.blogger.com/atom/ns#' term='spring'/><category scheme='http://www.blogger.com/atom/ns#' term='dbunit'/><title type='text'>Testes de integração usando spring e DBUnit</title><content type='html'>Parece interessante da primeira vista. Vou dar uma olhada pra ver se é legal: se for ou não, no próximo post digo. Veja a matéria &lt;a href="http://www.theserverside.com/tt/articles/content/ManageTestDataSpringandDBunit/article.html"&gt;aqui&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-56960814789575843?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/56960814789575843/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=56960814789575843' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/56960814789575843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/56960814789575843'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2007/08/testes-de-integrao-usando-spring-e.html' title='Testes de integração usando spring e DBUnit'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-3780600691289305266</id><published>2007-08-09T14:48:00.000-03:00</published><updated>2007-08-09T14:51:40.869-03:00</updated><title type='text'>Variáveis de ambiente java</title><content type='html'>Mano... O negócio tá pegando pro meu lado! É muita tarefa pra pouca hora!!!&lt;br /&gt;Enquanto isso, pra quem gosta de usar o slackware, é só colocar o seguinte no arquivo java-sdk.sh (ou outro nome que desejar) no diretório /etc/profile.d:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);"&gt;#!/bin/sh&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);"&gt;export JAVA_HOME=/usr/local/java&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);"&gt;export JBOSS_HOME=/java/as/jboss/jboss&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);"&gt;export ANT_HOME=/java/frameworks/ant/ant&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);"&gt;export M2_HOME=/java/frameworks/maven/maven&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);"&gt;export M2_REPO=/usr/repos/maven&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);"&gt;export MAVEN_OPTS="-XX:MaxPermSize=128m -Xmx512m"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);"&gt;export CLASSPATH=".:$JAVA_HOME/lib"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);"&gt;export PATH="$PATH:$JAVA_HOME/bin:$M2_HOME/bin:$ANT_HOME/bin"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Como são variáveis de ambiente, você pode verificar como funciona a sua distrtibuição linux e colocá-las nele. Não me pergunte como fazer: &lt;span style="font-weight: bold;"&gt;não&lt;/span&gt; vou pesquisar pra você! ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-3780600691289305266?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/3780600691289305266/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=3780600691289305266' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/3780600691289305266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/3780600691289305266'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2007/08/variveis-de-ambiente-java.html' title='Variáveis de ambiente java'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-5757306090924192644</id><published>2007-08-07T14:30:00.000-03:00</published><updated>2007-08-07T14:33:24.501-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pessoal'/><title type='text'>Instinto Selvagem</title><content type='html'>Gente... Quando vocês estiverem há 6horas sentados na frente do computador, e ficar desesperado pq uma solução não sai... Pinta aquele instinto de jogar o monitor pela janela, bater com o teclado na mesa, não se desespere. Há solução. Saia, vá comer um misto quente. Volte e veja que vc apenas estava com fome: rapidamente vc acha a solução. ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-5757306090924192644?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/5757306090924192644/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=5757306090924192644' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/5757306090924192644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/5757306090924192644'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2007/08/instinto-selvagem.html' title='Instinto Selvagem'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-8159595959683456563</id><published>2007-08-06T12:48:00.000-03:00</published><updated>2007-08-06T12:53:09.283-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><title type='text'>Matando o JBoss</title><content type='html'>"Matar quem?"&lt;br /&gt;&lt;br /&gt;Cara, isso é um blog tecnológico. Se vc não sabe o que é linux, java e J2EE, aqui não é o seu lugar, não me pergunte nada, vá dar uma voltinha hehehe!&lt;br /&gt;&lt;br /&gt;Brincadeiras a parte, para quem tem problemas de PermGen com o JBoss no linux quando faz deploy, igual eu, é só rodar o seguinte script:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;while [ true ]; do&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;  PID1=`ps waux | grep jboss | head -n 1 | cut -f6 -d ' '`&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;  PID2=`ps waux | grep jboss | head -n 1 | cut -f7 -d ' '`&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;  if [ "" == "$PID1" ]; then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;    if [ "" == "$PID2" ]; then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;        echo "O jboss não está mais rodando."&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;        exit 1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;    else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;        PIDJ=$PID2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;    fi&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;  else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;    PIDJ=$PID1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;  fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;  for processo in $PIDJ&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;  do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;    kill -9 $PIDJ&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;    rm -Rf $JBOSS_HOME/server/default/work/*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;    rm -Rf $JBOSS_HOME/server/default/tmp/*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;    echo "Foi encontrado o job $PIDJ, que foi morto."&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;  done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-style: italic; color: rgb(153, 153, 153);"&gt;done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;É isso. Claro que pode ser modificado o grep para qualquer string. Repare que&lt;br /&gt;os dois "ifs" do início é pq o esquema de memória pode ficar com 6 ou 8 espaços, no comando ps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-8159595959683456563?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/8159595959683456563/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=8159595959683456563' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/8159595959683456563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/8159595959683456563'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2007/08/matando-o-jboss.html' title='Matando o JBoss'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-260337323853938494</id><published>2007-08-02T11:24:00.001-03:00</published><updated>2007-08-02T11:25:21.020-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Tutorial de python</title><content type='html'>Uh, encontrei um tutorial de python muito legal em português. &lt;a href="http://www.gpr.com.br/download/python21.pdf"&gt;Aqui&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-260337323853938494?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/260337323853938494/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=260337323853938494' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/260337323853938494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/260337323853938494'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2007/08/tutorial-de-python.html' title='Tutorial de python'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349602586996769979.post-4044980200036266291</id><published>2007-08-02T11:19:00.000-03:00</published><updated>2007-08-02T11:25:56.731-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='frameworks'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='seam'/><title type='text'>Batalhando com o seam</title><content type='html'>Galera, como primeira postagem, sempre falo que você não encontrará aqui nenhuma informação pessoal. Para isso visite o orkut que é feito pra isso mesmo. Então. O seam é um framework de primeira linha, o sonho de qualquer desenvolvedor web. Nem por isso ele é simples, e ainda tem muita coisa a ser feita. Algumas novidades e problemas pelo qual passei e estou passando vou postar aqui, para referência pessoal e compartilhar meus problemas tecnológicos ok? Amanhã posto mais coisas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349602586996769979-4044980200036266291?l=www.boaventura.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.boaventura.info/feeds/4044980200036266291/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4349602586996769979&amp;postID=4044980200036266291' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/4044980200036266291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349602586996769979/posts/default/4044980200036266291'/><link rel='alternate' type='text/html' href='http://www.boaventura.info/2007/08/batalhando-com-o-seam.html' title='Batalhando com o seam'/><author><name>Valtoni Boaventura</name><uri>https://profiles.google.com/102060849372570213945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-vmhP9s2PuGw/AAAAAAAAAAI/AAAAAAAAAAA/W5uYPVHyRuE/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
