<?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-1136213054088206441</id><updated>2012-02-16T14:55:07.694-08:00</updated><category term='linux'/><category term='java cookie criptografia hexa base64'/><category term='xml'/><category term='tcp'/><category term='Apache SSL vhost-alias vhost_alias mod_vhost_alias'/><category term='smtp'/><category term='SEO'/><category term='auditoria'/><category term='correios'/><category term='WCAG'/><category term='flash combobox no text parent child external swf'/><category term='metrificação usabilidade testes framework'/><category term='fetchmail'/><category term='wireless 5ghz radio link ethernet'/><category term='eclipse jdk jre oracle'/><category term='e-PING'/><category term='rede'/><category term='networking'/><category term='java Calendar Date'/><category term='sedex'/><category term='pop'/><category term='e-GOV'/><category term='e-commerce'/><category term='ip'/><title type='text'>Tecnologias diversas</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>41</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-5785705967952150981</id><published>2010-12-06T13:19:00.000-08:00</published><updated>2010-12-06T13:25:47.161-08:00</updated><title type='text'>Retorno da Chapada Diamantina - O que não usei</title><content type='html'>Disseram que minha lista de ítens estava muito extensa, segue a lista apenas das coisas que não utilizei na viagem. Até a pinça foi útil, pra tirar um espinho gigante que entrou no meu pé :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Gazes e Iodo (antiséptico)&lt;/span&gt;&lt;br /&gt;Fora umas enroscadas em uns arames farpados na saída da Chapada, nenhum ferimento grave.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Fenergan (antialergico)&lt;/span&gt;&lt;br /&gt;Nenhum animal peçonhento me envenenou, pelo menos que eu tenha percebido&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Carvão ativado (desintoxicante)&lt;/span&gt;&lt;br /&gt;Meu organismo absorveu tranquilo o salame e as refeições nativas da Bahia.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Trimedal (febre)&lt;/span&gt;&lt;br /&gt;Tirando o sol na cabeça, sem febre&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Apito Survivor Aztec&lt;/span&gt;&lt;br /&gt;Não quebrei a perna, nem prendi a mão em nenhum canyon.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Kit impermeável de fogo&lt;/span&gt;&lt;br /&gt;Não precisei fazer fogueira.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Corda sizal&lt;/span&gt;&lt;br /&gt;Minha mochila e barraca não desmancharam, então não precisei amarrar nada.&lt;br /&gt;&lt;br /&gt;Um dos cantis e um tubo de protetor solar foram perdidos na mata... para sempre...&lt;br /&gt;Em breve, informações completa sobre a aventura :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-5785705967952150981?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/5785705967952150981/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=5785705967952150981' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/5785705967952150981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/5785705967952150981'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2010/12/retorno-da-chapada-diamantina-o-que-nao.html' title='Retorno da Chapada Diamantina - O que não usei'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-3013051862666619849</id><published>2010-11-26T05:55:00.000-08:00</published><updated>2010-12-07T11:24:09.430-08:00</updated><title type='text'>Projeto Chapada Diamantina 2010</title><content type='html'>&lt;h2&gt;Em busca do sanfoneiro do Vale do Paty&lt;/h2&gt;&lt;br /&gt;&lt;small&gt;Marcio Ghiraldelli - 26/11/2010&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;A preparação&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;O destino&lt;/h3&gt;&lt;br /&gt;Chapada Diamantina, interior da Bahia.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;O objetivo&lt;/h3&gt;&lt;br /&gt;Trekking por todo o setor norte do parque, saborear a vasta imensidão e beleza dos Gerais do Vieira, considerado o visual mais bonito do Brasil para amantes do trekking.&lt;br /&gt;&lt;br /&gt;Visualizar o topo da &lt;a href='http://pt.wikipedia.org/wiki/Cachoeira_da_Fuma%C3%A7a_%28Bahia%29'&gt;Cachoeira da Fumaça&lt;/a&gt;, a segunda maior cachoeira do Brasil.&lt;br /&gt;&lt;br /&gt;Tomar uma pinga feita no alambique e ouvir as histórias da onça do &lt;a href="http://www.youtube.com/watch?v=K9fy3GB5QL4"&gt;Seu Eduardo&lt;/a&gt;, o sanfoneiro do Vale do Paty.&lt;br /&gt;&lt;br /&gt;Ficar 5 dias totalmente offline.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;O roteiro&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_VakfO9VowcE/TO-8xpwALwI/AAAAAAAAEug/dGCyPolziNc/s1600/roteiro.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 392px;" src="http://4.bp.blogspot.com/_VakfO9VowcE/TO-8xpwALwI/AAAAAAAAEug/dGCyPolziNc/s400/roteiro.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5543857227523174146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Sáb 27/11/2010 06:00am - Decolagem de Guarulhos para Salvador&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Sáb 27/11/2010 09:50am - Decolagem de Salvador para Tanquinho, e depois carona pra Lençóis, cidade turística na Chapada Diamantina (1) -&gt; (2)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Dom 28/11/2010 06:00am - Trekking Lencois - Vale do Capão 18 km  (2) -&gt; (3)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Dom 28/11/2010 05:00pm - Chegada ao Vale do Capão (3)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Seg 29/11/2010 06:00am - Vale do Capão - Cachoeira da Fumaça de Cima - Vale do Capão (3) -&gt; (4) -&gt; (3)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ter 30/11/2010 06:00am - Carona Vale do Capão - Vila do Bomba 10km (3) -&gt; (5)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ter 30/11/2010 07:00am - Vila do Bomba - Subida Quebra Bunda - Gerais do Vieira - Paty de Cima 18km (5) -&gt; (6)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Qua 01/12/2010 06:00am - Turismo Vale do Paty - Casa do Seu Eduardo (6)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Qui 02/12/2010 06:00am - Vale do Paty - Ladeira do Império - Andaraí 18km (6) -&gt; (7)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Sex 03/11/2010 23:00pm - Embarque Onibus Salvador (carona pra Lençois ou direto de Andaraí) (7)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Dom 05/11/2010 23:40pm - Decolagem Salvador para Guarulhos&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Os fornecedores&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='http://www.mundoterra.com.br/'&gt;Mundo Terra&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_VakfO9VowcE/TO-9GKCwRFI/AAAAAAAAEuo/xvszc0PhhU0/s1600/mundoterra.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 279px; height: 96px;" src="http://2.bp.blogspot.com/_VakfO9VowcE/TO-9GKCwRFI/AAAAAAAAEuo/xvszc0PhhU0/s400/mundoterra.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5543857579789141074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Rogerio e Lucas&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='http://www.casadepedra.com.br/'&gt;Casa de Pedra&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_VakfO9VowcE/TO-9TIVtTaI/AAAAAAAAEuw/Ix-WBBi1H9s/s1600/casadepedra.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 161px; height: 101px;" src="http://3.bp.blogspot.com/_VakfO9VowcE/TO-9TIVtTaI/AAAAAAAAEuw/Ix-WBBi1H9s/s400/casadepedra.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5543857802670067106" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Katiane e Janaína&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Os equipamentos&lt;/h3&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_VakfO9VowcE/TO-9bcTdVgI/AAAAAAAAEu4/o9MBZz2nxKA/s1600/marcas.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 79px;" src="http://4.bp.blogspot.com/_VakfO9VowcE/TO-9bcTdVgI/AAAAAAAAEu4/o9MBZz2nxKA/s400/marcas.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5543857945468294658" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href='http://picasaweb.google.com/marcio.gh/20101127ChapadaDiamantina'&gt;Album&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;style&gt;#myUl li {  margin: 0;  padding: 0;}&lt;/style&gt;&lt;div id='myUl'&gt;&lt;ul&gt;&lt;li&gt;Bolsa rollon com espelho Deuter&lt;/li&gt;&lt;li&gt;Saco estanque 2l Sea to Summit&lt;/li&gt;&lt;li&gt;Money belt Sea to Summit&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Protetor solar FPS 30&lt;/li&gt;&lt;li&gt;Oleo de bronzear&lt;/li&gt;&lt;li&gt;Creme hidratante&lt;/li&gt;&lt;li&gt;Colírio&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Oculos Tifosi&lt;/li&gt;&lt;li&gt;Escova de dente&lt;/li&gt;&lt;li&gt;Pasta de dente&lt;/li&gt;&lt;li&gt;Sabão de côco&lt;/li&gt;&lt;li&gt;Pente&lt;/li&gt;&lt;li&gt;Pinça&lt;/li&gt;&lt;li&gt;Feltro para calos&lt;/li&gt;&lt;li&gt;Bandagens&lt;/li&gt;&lt;li&gt;Gazes&lt;/li&gt;&lt;li&gt;Iodo (antiséptico)&lt;/li&gt;&lt;li&gt;Dorflex (analgesico)&lt;/li&gt;&lt;li&gt;Fenergan (antialergico)  &lt;/li&gt;&lt;li&gt;Carvão ativado (desintoxicante)&lt;/li&gt;&lt;li&gt;Pomada Quadriderm (antialergico)&lt;/li&gt;&lt;li&gt;Neosoro (descongestionante nasal)&lt;/li&gt;&lt;li&gt;Trimedal (febre)&lt;/li&gt;&lt;li&gt;Clorin (purificador de água)&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Chapéu australiano&lt;/li&gt;&lt;li&gt;Short Lycra segunda-pele&lt;/li&gt;&lt;li&gt;Sunga&lt;/li&gt;&lt;li&gt;2 Meias Solo e 1 Meia Heavy Trekking&lt;/li&gt;&lt;li&gt;Calça/bermuda CurtLo Defender&lt;/li&gt;&lt;li&gt;Bermuda ClimaCool&lt;/li&gt;&lt;li&gt;2 camisetas Dry Fit&lt;/li&gt;&lt;li&gt;Abrigo Anorak impermeavel&lt;/li&gt;&lt;li&gt;Jaqueta Fleece&lt;/li&gt;&lt;li&gt;Toalha de banho Dry Lite&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Apito Survivor Aztec&lt;/li&gt;&lt;li&gt;Lanterna LED (3 pilhas AAA)&lt;/li&gt;&lt;li&gt;4 pilhas AAA reserva&lt;/li&gt;&lt;li&gt;Mp3Player (1 pilha AAA)&lt;/li&gt;&lt;li&gt;2 Squeezes revestidos Silvertape branco&lt;/li&gt;&lt;li&gt;Nokia N95&lt;/li&gt;&lt;li&gt;Cabo mini-usb&lt;/li&gt;&lt;li&gt;Bateria extra N95&lt;/li&gt;&lt;li&gt;Carregador Nokia N95 110v&lt;/li&gt;&lt;li&gt;Bussola Coleman&lt;/li&gt;&lt;li&gt;Canivete suíço&lt;/li&gt;&lt;li&gt;Camera Cybershot&lt;/li&gt;&lt;li&gt;Mini tripé Camera&lt;/li&gt;&lt;li&gt;Kit impermeável de fogo&lt;/li&gt;&lt;li&gt;2 Isqueiros&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Cargueira Nautika Tobago75l&lt;/li&gt;&lt;li&gt;Capa de chuva para mochila&lt;/li&gt;&lt;li&gt;Barraca MiniPack 1/2 Aztec&lt;/li&gt;&lt;li&gt;Isolante termico EVA Aztec&lt;/li&gt;&lt;li&gt;Saco de dormir Lafuma -3C Trek 1000&lt;/li&gt;&lt;li&gt;Corda sizal&lt;/li&gt;&lt;li&gt;Silvertape&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Mapa&lt;/li&gt;&lt;li&gt;Cardeno de anotações&lt;/li&gt;&lt;li&gt;Caneta&lt;/li&gt;&lt;li&gt;Lápis&lt;/ul&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-3013051862666619849?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/3013051862666619849/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=3013051862666619849' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/3013051862666619849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/3013051862666619849'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2010/11/projeto-chapada-diamantina-2010.html' title='Projeto Chapada Diamantina 2010'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_VakfO9VowcE/TO-8xpwALwI/AAAAAAAAEug/dGCyPolziNc/s72-c/roteiro.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-2921582890915966316</id><published>2010-07-27T10:06:00.000-07:00</published><updated>2010-08-24T08:05:17.185-07:00</updated><title type='text'>Jetty Cluster com WADI</title><content type='html'>Mortbay Jetty é uma das mais leves implementações Java Servlet 2.0 existentes. A poderosa combinação Jetty + Spring fornece ao desenvolvedor suporte que não fica devendo a nenhum badalado servidor de aplicações JEE do mercado, em termos de flexibilidade e escalabilidade. Escala horizontal? Sim! Veja como utilizar o WADI Application Distribution Infrastructure, que utilizando o tribes do Tomcat, mantem o estado da sessão entre vários nós de Jetty, através de conexões TCP/IP:&lt;br /&gt;&lt;br /&gt;1) jetty-6.1.11&lt;br /&gt;&lt;br /&gt;2) Baixe as libs necessárias no lib de cada jetty&lt;br /&gt;&lt;br /&gt;http://wadi.codehaus.org/ Download WADI 2.1.2&lt;br /&gt;&lt;br /&gt;2.1.2 Release Artifacts:&lt;br /&gt;&lt;br /&gt;    * wadi-aop-2.1.2.jar&lt;br /&gt;    * wadi-console-2.1.2.war&lt;br /&gt;    * wadi-core-2.1.2.jar&lt;br /&gt;    * wadi-group-2.1.2.jar&lt;br /&gt;    * wadi-jgroups-2.1.2.jar&lt;br /&gt;    * wadi-tribes-2.1.2.jar&lt;br /&gt;    * wadi-webapp-2.1.2.war&lt;br /&gt;&lt;br /&gt;Libs adicionais:&lt;br /&gt;&lt;br /&gt;jetty-wadi-session-manager-7.0.0.jar&lt;br /&gt;asm-3.1.jar&lt;br /&gt;asm-attrs-1.5.3.jar&lt;br /&gt;asm-commons-3.1.jar&lt;br /&gt;asm-tree-3.1.jar&lt;br /&gt;asm-util-3.1.jar&lt;br /&gt;cglib-2.1_3.jar&lt;br /&gt;edu.emory.mathcs.backport-3.1.0.jar&lt;br /&gt;tomcat-juli.jar&lt;br /&gt;commonns-loggin-1.1.1.jar&lt;br /&gt;tribes-6.0.28.jar&lt;br /&gt;&lt;br /&gt;3) Defina sua aplicação sob um contexto tendo como interceptador do administrador da sessão o WadiSessionManager. jetty.xml exemplo:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt; &lt;br /&gt;&lt;?xml version="1.0"  encoding="ISO-8859-1"?&gt;&lt;br /&gt;&lt;!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- ==================================================================&lt;br /&gt;Configure and deploy the test web application in $(jetty.home)/webapps/test&lt;br /&gt;&lt;br /&gt;Note. If this file did not exist or used a context path other that /test&lt;br /&gt;then the default configuration of jetty.xml would discover the test&lt;br /&gt;webapplication with a WebAppDeployer.  By specifying a context in this&lt;br /&gt;directory, additional configuration may be specified and hot deployments &lt;br /&gt;detected.&lt;br /&gt;===================================================================== --&gt;&lt;br /&gt;&lt;br /&gt;&lt;Configure class="org.mortbay.jetty.Server"&gt;&lt;br /&gt;&lt;br /&gt; &lt;Set name="Connectors"&gt;&lt;br /&gt;&lt;br /&gt;      &lt;Array type="org.mortbay.jetty.Connector"&gt;&lt;br /&gt;        &lt;Item&gt;&lt;br /&gt;          &lt;New class="org.mortbay.jetty.nio.SelectChannelConnector"&gt;&lt;br /&gt;            &lt;Set name="port"&gt;&lt;SystemProperty name="jetty.port" default="8080"/&gt;&lt;/Set&gt;&lt;br /&gt;            &lt;Set name="host"&gt;127.0.0.1&lt;/Set&gt;&lt;br /&gt;          &lt;/New&gt;&lt;br /&gt;        &lt;/Item&gt;&lt;br /&gt;      &lt;/Array&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/Set&gt;&lt;br /&gt;&lt;br /&gt;    &lt;Set name="handler"&gt;&lt;br /&gt;&lt;br /&gt;      &lt;New class="org.mortbay.jetty.webapp.WebAppContext"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   &lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;&lt;br /&gt;   &lt;!-- Required minimal context configuration :                        --&gt;&lt;br /&gt;   &lt;!--  + contextPath                                                  --&gt;&lt;br /&gt;   &lt;!--  + war OR resourceBase                                          --&gt;&lt;br /&gt;   &lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;&lt;br /&gt;   &lt;Set name="contextPath"&gt;/wadi&lt;/Set&gt;&lt;br /&gt;   &lt;!-- &lt;Set name="war"&gt;&lt;SystemProperty name="jetty.home" default="."/&gt;/webapps/test&lt;/Set&gt; --&gt;&lt;br /&gt;   &lt;Set name="war"&gt;/java/jetty-6.1.11/webapps/SessionTest.war&lt;/Set&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   &lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;&lt;br /&gt;   &lt;!-- Optional context configuration                                  --&gt;&lt;br /&gt;   &lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;&lt;br /&gt;   &lt;!--&lt;br /&gt;   &lt;Set name="extractWAR"&gt;false&lt;/Set&gt;&lt;br /&gt;   &lt;Set name="copyWebDir"&gt;false&lt;/Set&gt;&lt;br /&gt;   &lt;Set name="defaultsDescriptor"&gt;&lt;SystemProperty name="jetty.home" default="."/&gt;/etc/webdefault.xml&lt;/Set&gt;&lt;br /&gt;   --&gt;&lt;br /&gt;&lt;br /&gt;   &lt;New id="wadiCluster" class="org.mortbay.jetty.servlet.wadi.WadiCluster"&gt;&lt;br /&gt;  &lt;Arg&gt;CLUSTER&lt;/Arg&gt;&lt;br /&gt;  &lt;Arg&gt;&lt;SystemProperty name="node.name" default="red"/&gt;&lt;/Arg&gt;&lt;br /&gt;  &lt;Arg&gt;http://localhost:&lt;SystemProperty name="jetty.port" default="8080"/&gt;/test&lt;/Arg&gt;&lt;br /&gt;  &lt;Call name="start"/&gt;&lt;br /&gt;   &lt;/New&gt;&lt;br /&gt;&lt;br /&gt;   &lt;Set name="SessionHandler"&gt;&lt;br /&gt;  &lt;New class="org.mortbay.jetty.servlet.wadi.WadiSessionHandler"&gt;&lt;br /&gt;    &lt;Arg&gt;&lt;br /&gt;   &lt;New id="wadiSessionManager" class="org.mortbay.jetty.servlet.wadi.WadiSessionManager"&gt;&lt;br /&gt;     &lt;Arg&gt;&lt;Ref id="wadiCluster"/&gt;&lt;/Arg&gt;&lt;br /&gt;     &lt;Arg type="int"&gt;2&lt;/Arg&gt;&lt;br /&gt;     &lt;Arg type="int"&gt;24&lt;/Arg&gt;&lt;br /&gt;     &lt;Arg type="int"&gt;360&lt;/Arg&gt;&lt;br /&gt;     &lt;Arg type="boolean"&gt;true&lt;/Arg&gt;&lt;br /&gt;     &lt;Arg type="boolean"&gt;false&lt;/Arg&gt;&lt;br /&gt;  &lt;br /&gt;     &lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;&lt;br /&gt;     &lt;!-- Uncomment these elements to enable session persistence across   --&gt; &lt;br /&gt;     &lt;!-- context or container restart.                                   --&gt;&lt;br /&gt;     &lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;&lt;br /&gt;     &lt;!-- &lt;br /&gt;     &lt;Set name="SharedStore"&gt;&lt;br /&gt;    &lt;New id="sharedStore" class="org.codehaus.wadi.core.store.DatabaseStore"&gt;&lt;br /&gt;      &lt;Arg&gt;&lt;br /&gt;     &lt;New id="sharedStoreDatabase" class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource"&gt;&lt;br /&gt;       &lt;Set name="Url"&gt;jdbc:mysql://localhost:3306/TEST&lt;/Set&gt;&lt;br /&gt;       &lt;Set name="User"&gt;wadi&lt;/Set&gt;&lt;br /&gt;       &lt;Set name="Password"&gt;wadi_pass&lt;/Set&gt;&lt;br /&gt;     &lt;/New&gt;&lt;br /&gt;      &lt;/Arg&gt;&lt;br /&gt;      &lt;Arg type="java.lang.String"&gt;SESSION_TABLE&lt;/Arg&gt;&lt;br /&gt;      &lt;Arg type="java.lang.String"&gt;BYTEA&lt;/Arg&gt;&lt;br /&gt;      &lt;Arg type="boolean"&gt;true&lt;/Arg&gt;&lt;br /&gt;      &lt;Arg type="boolean"&gt;false&lt;/Arg&gt;&lt;br /&gt;    &lt;/New&gt;&lt;br /&gt;     &lt;/Set&gt;&lt;br /&gt;      --&gt;&lt;br /&gt;   &lt;/New&gt;&lt;br /&gt;    &lt;/Arg&gt;&lt;br /&gt;  &lt;/New&gt;&lt;br /&gt;   &lt;/Set&gt;&lt;br /&gt; &lt;/New&gt;&lt;br /&gt;  &lt;/Set&gt;&lt;br /&gt;&lt;/Configure&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;4) Inicie os seus nós, passando como parâmetro o nome único para cada instância, variáveis que são interpretadas no jetty.xml:&lt;br /&gt;&lt;br /&gt;java -Djetty.port=7070 -Dnode.name=orange -Djava.net.preferIPv4Stack=true -jar start.jar etc/jetty-wadi-cluster.xml&lt;br /&gt;java -Djetty.port=8080 -Dnode.name=red -Djava.net.preferIPv4Stack=true -jar start.jar etc/jetty-wadi-cluster.xml&lt;br /&gt;java -Djetty.port=9090 -Dnode.name=blue -Djava.net.preferIPv4Stack=true -jar start.jar etc/jetty-wadi-cluster.xml &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Voilá! Estando os nós em uma rede acessível por TCP/IP Multicast, os nós automaticamente se comunicarão e a sessão estará sincronizada entre eles.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://wadi.codehaus.org/&lt;br /&gt;http://docs.codehaus.org/display/JETTY/Jetty+Clustering+with+WADI&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-2921582890915966316?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/2921582890915966316/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=2921582890915966316' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/2921582890915966316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/2921582890915966316'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2010/07/jetty-cluster-com-wadi.html' title='Jetty Cluster com WADI'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-2641570120154884715</id><published>2010-04-14T09:57:00.000-07:00</published><updated>2010-04-14T09:58:38.642-07:00</updated><title type='text'>Multiprotocol Business Delegate</title><content type='html'>WebService ou EJB? Não existe bala de prata.&lt;br /&gt;Business Delegate + Factory Pattern = Multiprotocol Remote Delegate&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/websphere/techjournal/0310_brown/brown.html"&gt;http://www.ibm.com/developerworks/websphere/techjournal/0310_brown/brown.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-2641570120154884715?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/2641570120154884715/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=2641570120154884715' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/2641570120154884715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/2641570120154884715'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2010/04/multiprotocol-business-delegate.html' title='Multiprotocol Business Delegate'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-6145304714044949837</id><published>2010-03-22T10:43:00.000-07:00</published><updated>2010-03-22T10:46:27.810-07:00</updated><title type='text'>Baladinhas gastronômicas em SP</title><content type='html'>Em SP pode-se levar toda uma vida somente de baladas inéditas, dada a grande diversidade de lugares para se conhecer. Segue a listinha da semana:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Empanadas Bar - Vila Madalena&lt;/span&gt;&lt;br /&gt;Um ótimo lugar para um happy hour, bom atendimento e bastante espaço para sentar com a galera. As empanadas não são das melhores, mas tem diversos sabores, e acompanham muito bem o chopp Brahma.&lt;br /&gt;&lt;a href="http://www.empanadasbar.com.br/"&gt;http://www.empanadasbar.com.br/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=empanadas&amp;sll=-23.561145,-46.680415&amp;sspn=0.007287,0.013937&amp;ie=UTF8&amp;hq=empanadas&amp;hnear=&amp;ll=-23.5567,-46.690596&amp;spn=0.007288,0.013937&amp;t=h&amp;z=17&amp;iwloc=A"&gt;http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=empanadas&amp;sll=-23.561145,-46.680415&amp;sspn=0.007287,0.013937&amp;ie=UTF8&amp;hq=empanadas&amp;hnear=&amp;ll=-23.5567,-46.690596&amp;spn=0.007288,0.013937&amp;t=h&amp;z=17&amp;iwloc=A&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;&lt;br /&gt;El Guaton - Pinheiros&lt;/span&gt;&lt;br /&gt;Bar chileno tradicionalíssimo, com um extenso cardápio de iguarias tradicionais, e garçons falando espanhol. As empanadas de lá são as melhores de SP. Cerveja Original e Serra Malte de garrafa.&lt;br /&gt;Excelente custo/benefício pela viagem gastronômica. Para os amantes, peçam a pimenta de "homem", a que vem no vidrão.&lt;br /&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=el+guaton&amp;sll=-23.565826,-46.682979&amp;sspn=0.003644,0.006968&amp;ie=UTF8&amp;hq=el+guaton&amp;hnear=&amp;ll=-23.561145,-46.680415&amp;spn=0.007287,0.013937&amp;t=h&amp;z=17&amp;iwloc=A"&gt;http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=el+guaton&amp;sll=-23.565826,-46.682979&amp;sspn=0.003644,0.006968&amp;ie=UTF8&amp;hq=el+guaton&amp;hnear=&amp;ll=-23.561145,-46.680415&amp;spn=0.007287,0.013937&amp;t=h&amp;z=17&amp;iwloc=A&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Consulado da Bahia - Pinheiros&lt;/span&gt;&lt;br /&gt;Esquina com a Rua Pinheiros, uma cardápio com pratos bhianos de dar água na boca. Chopp Brahma com qualidade média. Infelizmente a carne e a mandioca não estavam no ponto, mas pelo preço e quantidade, valeu a pena.&lt;br /&gt;&lt;a href="http://www.consuladodabahia.com.br/"&gt;http://www.consuladodabahia.com.br/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=Consulado+da+Bahia&amp;sll=-23.565216,-46.683714&amp;sspn=0.003644,0.006968&amp;ie=UTF8&amp;split=1&amp;filter=0&amp;rq=1&amp;ev=zi&amp;radius=0.22&amp;hq=Consulado+da+Bahia&amp;hnear=&amp;ll=-23.565826,-46.682979&amp;spn=0.003644,0.006968&amp;t=h&amp;z=18&amp;iwloc=A"&gt;http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=Consulado+da+Bahia&amp;sll=-23.565216,-46.683714&amp;sspn=0.003644,0.006968&amp;ie=UTF8&amp;split=1&amp;filter=0&amp;rq=1&amp;ev=zi&amp;radius=0.22&amp;hq=Consulado+da+Bahia&amp;hnear=&amp;ll=-23.565826,-46.682979&amp;spn=0.003644,0.006968&amp;t=h&amp;z=18&amp;iwloc=A&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Pizzaria Camelo - Jardins&lt;/span&gt;&lt;br /&gt;Para quem gosta de pizza com massa fininha e crocante, esse é o lugar certo. Vinhos climatizados, atendimento de altíssima qualidade e uma grande variedade de sabores, um jantar nessa pizzaria é uma experiência inesquecível para os amantes da qualidade. Em compensação, o preço é bem salgado, portanto, vá preparado. Pizzas em torno de R$ 50,00 para duas pessoas. A velocidade da preparação da pizza também é impressionante.&lt;br /&gt;&lt;a href="http://www.pizzariacamelo.com.br/"&gt;http://www.pizzariacamelo.com.br/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=pizzaria+camelo&amp;sll=-23.548943,-46.638818&amp;sspn=1.865675,3.56781&amp;ie=UTF8&amp;hq=pizzaria+camelo&amp;hnear=&amp;ll=-23.584559,-46.672411&amp;spn=0.029144,0.055747&amp;z=15&amp;iwloc=A"&gt;http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=pizzaria+camelo&amp;sll=-23.548943,-46.638818&amp;sspn=1.865675,3.56781&amp;ie=UTF8&amp;hq=pizzaria+camelo&amp;hnear=&amp;ll=-23.584559,-46.672411&amp;spn=0.029144,0.055747&amp;z=15&amp;iwloc=A&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Teatro Procopio Ferreira - Consolação&lt;/span&gt;&lt;br /&gt;A Rua Augusta oferece diversas opções em cultura, o teatro Procópio Ferreira é um deles. Teatro de tamanho médio, com cadeiras um pouco apertadas, porém um ótimo ar-condicionado. Porém, meu teatro preferido continua sendo o do Shopping Frei Caneca.&lt;br /&gt;&lt;a href="http://www.teatroprocopioferreira.com.br/"&gt;http://www.teatroprocopioferreira.com.br/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=Teatro+Procopio+Ferreira&amp;sll=-23.5567,-46.690596&amp;sspn=0.007288,0.013937&amp;ie=UTF8&amp;hq=Teatro+Procopio+Ferreira&amp;hnear=&amp;ll=-23.565059,-46.666553&amp;spn=0.007041,0.013937&amp;t=h&amp;z=17&amp;iwloc=A"&gt;http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=Teatro+Procopio+Ferreira&amp;sll=-23.5567,-46.690596&amp;sspn=0.007288,0.013937&amp;ie=UTF8&amp;hq=Teatro+Procopio+Ferreira&amp;hnear=&amp;ll=-23.565059,-46.666553&amp;spn=0.007041,0.013937&amp;t=h&amp;z=17&amp;iwloc=A&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Bar do Juarez - Jardins&lt;/span&gt;&lt;br /&gt;Chopp Brahma do A, e uma picanha fatiada semi-crua acompanhada de uma chapa aquecida por um rechaud à álcool na mesa, aonde você mesmo prepara os filés são os ingredientes desse ótimo happy hour próximo o cruzamento da Juscelino com a Faria Lima. Ainda temos uma extensa mesa de frios conhecida como Guloseimas do Juarez pra petiscar com o chopp. Só as mulheres que não gostam muito, pois é uma fumaceira dos diabos no ambiente. E também rolou uma discussão com o gerente, pois após u ns 40 chopps não mesa, não liberou nenhuma saideira. Lembrando que qualidade tem seu preço. A picanha custa R$ 55,00 para duas a três pessoas.&lt;br /&gt;&lt;a href="http://www.bardojuarez.com.br/"&gt;http://www.bardojuarez.com.br/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=Bar+do+Juarez&amp;sll=-23.565059,-46.666553&amp;sspn=0.007041,0.013937&amp;ie=UTF8&amp;hq=Bar+do+Juarez&amp;hnear=&amp;ll=-23.590045,-46.680297&amp;spn=0.00704,0.013937&amp;t=h&amp;z=17&amp;iwloc=C"&gt;http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=Bar+do+Juarez&amp;sll=-23.565059,-46.666553&amp;sspn=0.007041,0.013937&amp;ie=UTF8&amp;hq=Bar+do+Juarez&amp;hnear=&amp;ll=-23.590045,-46.680297&amp;spn=0.00704,0.013937&amp;t=h&amp;z=17&amp;iwloc=C&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Itidai - Liberdade&lt;/span&gt;&lt;br /&gt;Restaurante oriental na Liberdade. Execlente ambiente climatizado, atendimento cordial, velocidade no preparo dos pratos, e uma grande variedade no cardápio. Giozas, tempurás, camarões na pedra entre outros, a preços acessíveis, com R$ 70,00 uma refeição completa a dois, com bebidas e sobremesa. O sorvete frito com calda de chocolate é excelente.&lt;br /&gt;&lt;a href="http://www.restaurantesjaponeses.com.br/itidai"&gt;http://www.restaurantesjaponeses.com.br/itidai&lt;/a&gt;&lt;br /&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=Itidai&amp;sll=-23.590045,-46.680297&amp;sspn=0.00704,0.013937&amp;ie=UTF8&amp;hq=Itidai&amp;hnear=&amp;ll=-23.557836,-46.635922&amp;spn=0.003644,0.006968&amp;t=h&amp;z=18&amp;iwloc=A"&gt;http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=Itidai&amp;sll=-23.590045,-46.680297&amp;sspn=0.00704,0.013937&amp;ie=UTF8&amp;hq=Itidai&amp;hnear=&amp;ll=-23.557836,-46.635922&amp;spn=0.003644,0.006968&amp;t=h&amp;z=18&amp;iwloc=A&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Açaí - Vila Olímpia&lt;/span&gt;&lt;br /&gt;No final da Faria Lima, já chegando na Hélio Pelegrino, um ótimo barzinho pra galera natureba. Porções diferenciadas, como frango com shitake e bolinhas de queijo com tomate e manjericão complementam os petiscos para acompanhar o chopp Sol, bem gelado, à R$ 4,30. Bom atendimento, fácil de estacionar e muita gente bonita. Ótimo pra passar um final de tarde de domingo.&lt;br /&gt;&lt;a href="http://www.acaibar.com.br/"&gt;http://www.acaibar.com.br/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=A%C3%A7a%C3%AD&amp;sll=-23.594607,-46.676488&amp;sspn=0.014079,0.027874&amp;ie=UTF8&amp;hq=A%C3%A7a%C3%AD&amp;hnear=&amp;ll=-23.593826,-46.680163&amp;spn=0.00352,0.006968&amp;t=h&amp;z=18&amp;iwloc=A"&gt;http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=A%C3%A7a%C3%AD&amp;sll=-23.594607,-46.676488&amp;sspn=0.014079,0.027874&amp;ie=UTF8&amp;hq=A%C3%A7a%C3%AD&amp;hnear=&amp;ll=-23.593826,-46.680163&amp;spn=0.00352,0.006968&amp;t=h&amp;z=18&amp;iwloc=A&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-6145304714044949837?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/6145304714044949837/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=6145304714044949837' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/6145304714044949837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/6145304714044949837'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2010/03/baladinhas-gastronomicas-em-sp.html' title='Baladinhas gastronômicas em SP'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-2369920020449313814</id><published>2010-02-22T06:00:00.000-08:00</published><updated>2010-02-22T06:30:06.540-08:00</updated><title type='text'>Carnaval Argentino IV</title><content type='html'>Quarta-feira, 16/02, 06:00am. Da rodoviária de Porto Alegre saem ônibus de hora em hora para Bento Gonçalves, à R$ 25,00. Deixo minha mala em um locker por R$ 5,00 a diária e embarco rumo às estradinhas sinuosas da serra gaúcha sob clima ameno e sem sol, perfeito para degustar os vinhos do &lt;a href="http://pt.wikipedia.org/wiki/Vale_dos_Vinhedos"&gt;Vale dos Vinhedos&lt;/a&gt;, meu próximo destino. Diferente do que imaginava, Bento Gonçalves carece de estrutura turística, as únicas informações que consegui foram no ponto de taxi da Rodoviária de lá. R$ 25,00 e um agradável percurso de taxi por um intenso sobe e desce sobre paralelepípedos e um visual fantástico dos vales cobertos de parreiras viníferas, chego à &lt;a href="http://www.casavalduga.com.br/"&gt;Casa Valduga&lt;/a&gt;, uma das primeiras vinícolas da trilha do Vale dos Vinhedos. Quase todas as vinicolas oferecem passeios pelas instalações e degustação de vinhos de 30 em 30 minutos, portanto não é necessário marcar hora, apenas chegar lá. Fiz meu primeiro passeio pelas caves subterrâneas, onde pude conhecer o processo de envelhecimento de tintos em barricas de carvalho francês e experiementar uvas Cabernet Sauvignon direto das parreiras. A degustação foi completa, e como sempre, o meu preferido foi o suave &lt;a href="http://www.meuvinho.com.br/principal/selecao.asp?var_cod_prod_categ=120"&gt;Malbec argentino&lt;/a&gt;, da linha MUNDVS. O passeio custou R$ 20,00 com direito à uma taça de cristal. Ótimo.&lt;br /&gt;&lt;br /&gt;Continuo minha caminhada pelo Vale dos Vinhedos. Próxima parada, Vinícola Bascarola, onde o César, enólogo responsável, me recebe com toda atenção, e me serve uma degustação completa, com direito a água com gás e salgadinhos de queijo. Espumantes Brutt e Moscatel refrescantes, Cabernet Sauvigon e Merlots envelhicidos na garrafa, e um especial que me chamou a atenção, um &lt;a href="http://pt.wikipedia.org/wiki/Tannat"&gt;Tannat&lt;/a&gt; 2007, cuja uva é rica em taninos que amarram a boca. Segundo a explicação do enólogo, esse vinho deve ser acompanhado por um prato rico em proteínas, como carne vermelha ou um queijo forte, pois a proteína quebra o efeito do tanino, proporcionando uma experiência única de percepção de sabores.&lt;br /&gt;&lt;br /&gt;Logo a frente passo pela churrascaria Zanadai, que segundo funcionários da Casa Valduga é o melhor lugar com melhor custo da região para se apreciar uma ótima refeição, porém, não tinha tempo disponível, pois meu último destino ainda estava a 1km à frente. Após 30 minutos de caminhada em meio à um vale com mata exuberante, perfumada por vinho, chego à opulenta &lt;a href="http://www.miolo.com.br/"&gt;Vinícola Miolo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A visitação inclui passagem por um círculo de parreiras com mais de 40 variedades de uvas de todo o mundo onde experiementei as brancas &lt;a href="http://pt.wikipedia.org/wiki/Chardonnay_%28uva%29"&gt;Chardonnay&lt;/a&gt;, &lt;a href="http://pt.wikipedia.org/wiki/Riesling"&gt;Riesling&lt;/a&gt; e &lt;a href="http://pt.wikipedia.org/wiki/Sauvignon_Blanc"&gt;Sauvignon Blanc&lt;/a&gt;, e uma &lt;a href="http://pt.wikipedia.org/wiki/Merlot"&gt;Merlot&lt;/a&gt; combinada com uma Cabernet Sauvigon, para identificar a suavidade da primeira em relação à intensidade da segunda. A quantidade de vinhos e o tamanho dos tonéis de inox são impressionantes, afinal, aqui são produzidos todos os vinhos Miolo do Brasil. Na degustação excepcionalmente a sommelier me serviu uma taça do &lt;a href="http://www.vinhosnet.com.br/produto.php?action=detalhes&amp;codigo=458"&gt;Lote 43&lt;/a&gt;, segundo ela, o melhor vinho tinto produzido pela Miolo. Um sabor complexo demais para explicar em palavras. Divino.&lt;br /&gt;&lt;br /&gt;Fim do passeio vinífero, às 16:30 embarco no ônibus de volta à Porto Alegre, e, antes de me dirigir ao aeroporto, saboreio um delicioso e enorme lanche "Bauru Master" no &lt;a href="http://www.agapiolanches.com.br/"&gt;Agápio&lt;/a&gt;, ao lado da Rodoviária. O lanche Bauru de Porto Alegre é feito com filé mingon e batatas fritas, nada tem a ver com o tradicional &lt;a href="http://www.bauruline.com.br/lanche.php"&gt;Bauru&lt;/a&gt; de &lt;a href="http://pt.wikipedia.org/wiki/Bauru"&gt;Bauru&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Atraso de 40 minutos no vôo GOL 1744, partindo de Salgado Filho à Guarulhos, rumo à terra da garoa. Como sempre, Sâo Paulo estava encoberto, e o pouso foi bem turbulento. &lt;a href="http://pt.wikipedia.org/wiki/Airport_Bus_Service"&gt;Onbius Airport Service&lt;/a&gt; até a Praça da República à R$ 30,00, taxi (branco) até Pinheiros à R$ 25,00.&lt;br /&gt;&lt;br /&gt;Lar, doce lar. Agora é começar 2010 e planejar a próxima viagem!&lt;br /&gt;&lt;br /&gt;"Viajar é isto: deslocar-se para um lugar onde possamos descobrir que há, em nós, algo que não conhecíamos até então." –Contardo Calligaris&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/marcio.gh/PortoAlegreBentoGoncalvezCordoba20100213"&gt;&lt;span style="font-weight:bold;"&gt;Album de fotos&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-2369920020449313814?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/2369920020449313814/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=2369920020449313814' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/2369920020449313814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/2369920020449313814'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2010/02/carnaval-argentino-iv.html' title='Carnaval Argentino IV'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-8087276168844013043</id><published>2010-02-22T05:58:00.000-08:00</published><updated>2010-02-22T06:00:32.342-08:00</updated><title type='text'>Carnaval Argentino III</title><content type='html'>Ao acordar segunda-feira, 10:00am, deixei meus companheiros e embarquei em um microônibos rumo a Carlos Paz, 30km à oeste de Cordoba. Chegando na rodoviária, confirmo a grande capacidade turística do lugar, com várias agências, passeios e destinos disponíveis. Agenciadores falando espanhol e inglês fornecedno informações aos turistas. Fui muito bem atendido e instruído na Agência Quiroga (San Martín 393), onde descobri que o que queria estava em &lt;a href="http://www.cordobaturismo.gov.ar/Localidades.aspx?IdLocalidad=20774"&gt;Cuesta Blanca&lt;/a&gt;, 15km à sudoeste.&lt;br /&gt;&lt;br /&gt;Embarco num microônibos à 2.50 pesos. Após corrigir o motorista que me confundiu com um espanhol, começaram as piadinhas Pelé x Maradona, porém ele reconheceu a superioridade da Seleção Brasileira, então tudo ok. Após passarmos pelos vilarejos de San Antonio e Icho Cruz, desembarco na Vila de Cuesta Blanca, em frente a uma ponte sobre uma intensa corredeira sob um lindo céu azul. Achei o que estava procurando. Água. Muita água.&lt;br /&gt;&lt;br /&gt;Logo no desembarque, encontro Juan, um artesão que vende colares e gorros na feira em Icho Cruz, e mora na vila em um camping. Coincidentemente, ele estava lá para um pequeno passeio turistico, e me convidou para acompanhá-lo. Juan já morou em São Paulo e no Rio de Janeiro, então conseguimos nos comunicar facilmente, ele me ensinando espanhol e eu relembrando-o o português. Era viciado numa frutinha pequena que chamava de piquixim (não encontrei no Google) e entrava em todas as trilhas atrás delas. Eu preferi as framboesas. Passamos pela beira do Rio Cuesta Blanca que corre sobre rochas, e depois chegamos ao "Diquecito", uma queda d'água represada com o maior volume que já vi, onde a água subia como fumaça com a pressão da queda, parecendo estar chovendo.&lt;br /&gt;&lt;br /&gt;Tomamos uma Budweiser litro com amendoins, encontramos o Chino, um brasileiro radicado na Argentina. Ao conversar comigo, disse que fazia muito tempo não ouvia o sotaque do interior do Brasil. Após, subimos uma "loma" (montanha), de onde pudemos avistar um camping silvestre, beirando uma faixa de areia, simulando uma praia. Caminhamos por mais 1Km, a chegamos a um ponto alto, de onde é possível avistar toda a curva do Rio, embrenhando-se pela infinita mata argentina. Lá de cima um visual maravilhoso, o ruído da corredeira do rio e o eco das águias caçando limpavam a mente, dando a impressão de se estar em um outro mundo.&lt;br /&gt;&lt;br /&gt;De volta ao ponto de partida em Cuesta Blanca, eu e Juan rachamos um taxi, ele ficou em Icho Cruz e eu segui para o terminal de Carlos Paz. 21:30 da noite, estava tudo iluminado, com muita animação noturna, entre bares, pizzarias e casinos, mas infelizmente não tinha tempo para ficar, pois precisava voltar à Cordoba e encontrar meus companheiros no Hostel à tempo de pegarmos o avião de volta à Porto Alegre.&lt;br /&gt;&lt;br /&gt;Aterrisamos em Porto Alegre às 8:00am da terça-feira, despeço-me do Igor e Luiz que embarcaram de volta para SP e, estando desesperadamente precisando de algumas horas de sono, me hospedo no &lt;a href="http://www.hotelscala.com.br/"&gt;Hotel Skala&lt;/a&gt;, à R$ 79,00 a diária. Embora um bom café da manhã e ótima localização em frente ao Mercado Municipal, achei as acomodações pouco confortáveis pelo valor.&lt;br /&gt;&lt;br /&gt;Durmo até as 16hs e saio pelas vazias ruas de Porto Alegre, afinal, ainda é feriado de carnaval. Faço a tranquila caminhada na Rua da Praia até o &lt;a href="http://pt.wikipedia.org/wiki/Est%C3%A1dio_Beira-Rio"&gt;estádio Beira Rio&lt;/a&gt; e depois uma Brahma gelada novamente na Rua dos Andradas. Como a melhor churrascaria de Porto Alegre, a &lt;a href="http://www.churrascariagalpaocrioulo.com.br/"&gt;Galpão Crioulo&lt;/a&gt; estava fechada, vou até a &lt;a href="http://www.churrascariarodadecarreta.com.br/"&gt;Roda de Carreta&lt;/a&gt; no &lt;a href="http://pt.wikipedia.org/wiki/Centro_de_Tradi%C3%A7%C3%B5es_Ga%C3%BAchas"&gt;Centro de Tradições Gaúchas&lt;/a&gt; degustar um autêntico churrasco gaúcho, com direito a shows de boleadeiras e danças típicas. Embora o ambiente fosse ótimo, infelizmente o churrasco deixou um pouco à desejar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-8087276168844013043?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/8087276168844013043/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=8087276168844013043' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/8087276168844013043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/8087276168844013043'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2010/02/carnaval-argentino-iii.html' title='Carnaval Argentino III'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-5802512770549309940</id><published>2010-02-22T05:54:00.000-08:00</published><updated>2010-02-22T08:30:10.174-08:00</updated><title type='text'>Carnaval Argentino II</title><content type='html'>Me chamou a atenção como os cordobeses, bem diferente dos brasileiros, não ligam a mínima para a estética de seus carros. &lt;a href="http://listado.mercadolibre.com.ar/auto_OrderId_ANT"&gt;Amassados, sujos e antigos&lt;/a&gt;. Muitos Peugeots, Wolkswagens e Fiats, entre eles vários 147s. A cidade não me pareceu ser um lugar pobre, portanto, acredito ser uma questão cultural. E, mais estranho ainda, nenhum Fusca. Descobri depois, pesquisando na Internet, que o Fusca é raridade na Argentina. Devia ter vendido o meu por lá.&lt;br /&gt;&lt;br /&gt;Conversando com o motorista do taxi, nos dirigindo ao nosso &lt;a href="http://www.cordobahostel.com.ar/home.html"&gt;primeiro hostel&lt;/a&gt; na Rua Ituziangó 1070, onde uma cama em quarto compartilhado custava 35 pesos, percebi que meu portunhol ia deixar na mão, pois a comunicação era lenta e sofrida. Após o taxista ir embora com nosso troco, descobrimos que deveríamos ter pedido "câmbio" ou "vuelta".&lt;br /&gt;&lt;br /&gt;Às 3:00am do domingo, após preenchermos nosso "nombre" e "apelido" (sobrenome) no Hostel, em um bairro badalado cheio de bares e "boliches" (baladas argentinas, não é o jogo de pinos), facilmente confirmamos a beleza das mulheres argentinas. Após saborear uma refrescante Quilmes Stout, paramos em um bar próximo, tomamos uma Heineken de litro acompanhado de um excelente &lt;a href="http://en.wikipedia.org/wiki/Cr%C3%AApe"&gt;crepe argentino&lt;/a&gt;. Foi muito útil saber que "propina" significa gorjeta, pois fomos alertados por um argentino na mesa vizinha que a garçonete merecia. Enfim nos rendemos à poucas porém profundas horas de sono.&lt;br /&gt;&lt;br /&gt;10:00am. Fechamos o hostel e subimos a pé pelo centro de Cordoba. As antigas arquiteturas nas fachadas exibiam com as tradicionais cores verde piscina e rosa desbotado os diversos serviços e comércios: "gomaria" (borracharia), "motociclos", "flete" (frete) entre outros, em meio à tranquilidade de uma manhã de domingo. Em uma "panadaria", tomamos "hugo de naranja" (suco de laranja) e "pan con jamón e queso" (pão com presunto e queijo). Perguntamos por "baño" (banheiro) no Mercado Municipal de Cordoba, mas estava fechado.&lt;br /&gt;&lt;br /&gt;Fomos recebidos, na Av. Jujuy 341, no &lt;a href="http://www.hostelcentro.com.ar/"&gt;Hostel Centro&lt;/a&gt; pelo Pablo, que nos acomodou em ótimas instalações por 45 pesos a noite. Ficamos os 3 em um quarto com 3 beliches, ventilador de teto, lockers particulares e banheiro compartilhado. Conheci a Patricia, colega de hostel, uma brasileira estudante de Espanhol de Bagé-RS, que gentilmente interrompeu seu café da manhã para me ajudar na comunicação a fim de traçarmos nosso roteiro de domingo. Ansioso para conhecer as belezas naturais da Cuesta, à oeste de Cordoba, escolhemos como destino, remexendo fotos e mapas, &lt;a href="http://www.rioceballos.com/"&gt;Rio Ceballos&lt;/a&gt;, 30km à norte e &lt;a href="http://www.carlospazturismo.gov.ar/"&gt;Carlos Paz&lt;/a&gt;, 30km à oeste.&lt;br /&gt;&lt;br /&gt;Do "terminal chico" (mini rodoviária), próximo ao Hostel saem ônibus de 30 em 30 minutos para ambos os destinos. 6.50 pesos cada um e embarcamos ao norte para Rio Ceballos. Uma cidadezinha pequena e confortável, com pontes sobre riozinhos, pontos de ônibus adornados e, para minha felicidade, um casino! Andamos por mais de 2 horas nos dirigindo ao &lt;a href="http://es.wikipedia.org/wiki/Embalse_del_Dique_La_Quebrada"&gt;"Dique La Quebrada"&lt;/a&gt;, uma represa enorme que fornece água potável para a cidade. Construção em arco, ao estilo da represa de Nevada, em Las Vegas. Infelizmente a água não era muito convidativa para um mergulho, e não estávamos no pique de caminhar mais 1 hora para alcançar a cachoeira que disseram haver à frente.&lt;br /&gt;&lt;br /&gt;De volta à Rio Ceballos fomos ao pequeno casino 87RIO, com máquinas de slot, mesas de craps, poker, blackjack e roleta. O Igor e o Luiz jogaram umas moedas nos slots, e eu, obviamente, perdi 100 pesos na roleta e no poker contra a mesa, pois eu só ficava olhando para a linda crupiê, nem prestava atenção nas cartas. Foi o prejuízo mais divertido que já tive. No casino conseguimos comprar pesos com cartão VISA, com um câmbio mais barato do que os pesos comprados no Brasil.&lt;br /&gt;&lt;br /&gt;Como não havia ônibos direto de Rio Ceballos para Carlo Paz, tivemos que abortar o segundo destino e voltar para o Hostel. Antes, passamos no &lt;a href="http://www.betos.com.ar/"&gt;Beto's&lt;/a&gt; da Av. San Juan "Parrilla Diente Libre" (churrascaria rodízio), porém as carnes de lá não me agradaram muito, embora as empanadas e as "papas com huevos" (batata frita com ovos) estavam boas, sem falar nos vinhos, que eram muito baratos. Chegando no Hostel, Pablo havia sido substituído por Gastón e Bruno, dois cordobeses que tocam a hospedaria de uma forma bem mais animada. Uma "parrillada" (churrascada) esfumaceava todo o ambiente, acompanhado de "cervezas" Quilmes e pebolim com jogadores "amarillo y azul" (amarelo e azul) do Boca Jr.&lt;br /&gt;&lt;br /&gt;Sendo nossa única noite em Cordoba, voltamos à Ituziangó para conhecer as baladas, porém domingo a noite já não havia a mesma badalação de sábado, todos os "boliches" estavam "cerrados" (fechados). Encontramos uma certa badalção em um pequeno bar no estilo garagem, com muito rock'n roll argentino e quadros de personalidades locaais pelas antiquadas paredes. Nos chamou a atenção o patriotismo e a empolgação dos jovens presentes, que entoavam as letras músicas na maior animação, parecendo ser som ao vivo. Após um par de Quilmes de litro por 18 pesos, voltamos ao Hostel.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-5802512770549309940?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/5802512770549309940/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=5802512770549309940' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/5802512770549309940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/5802512770549309940'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2010/02/carnaval-argentino-ii.html' title='Carnaval Argentino II'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-589258768308301179</id><published>2010-02-22T05:45:00.000-08:00</published><updated>2010-02-22T05:51:55.878-08:00</updated><title type='text'>Carnaval Argentino I</title><content type='html'>Após 30km de transito tranquilo e R$ 90,00 desembolsados para um motorista da &lt;a href="http://eco-radio-taxi.br.telelistas.net/vct/taxi-taxi-24h/sao-paulo/128350919.htm"&gt;Eco Radio Taxi&lt;/a&gt;, chegamos ao &lt;a href="http://www.infraero.gov.br/aero_prev_home.php?ai=43"&gt;Aeroporto Internacional de Guarulhos&lt;/a&gt; partindo do Paraíso, zona sul de São Paulo, à 01:00am do sábado, 13/02/2010. Assim começa nossa epopéia da fuga do popular e barulhento carnaval brasileiro. Eu, &lt;a href="http://www.flickr.com/photos/igorpuorro/"&gt;Igor&lt;/a&gt; e &lt;a href="http://www.flickr.com/photos/luizfumes/"&gt;Luiz&lt;/a&gt;, meus dois brothers de SP, fotógrafos e recém apaixonados pelo &lt;a href="http://www.couchsurfing.org/"&gt;Couch Surfing&lt;/a&gt; embarcamos no vôo &lt;a href="http://www.voegol.com.br/"&gt;GOL&lt;/a&gt; 1743 rumo à &lt;a href="http://pt.wikipedia.org/wiki/C%C3%B3rdoba"&gt;Cordoba, Argentina&lt;/a&gt;, com escala de 1 dia em Porto Alegre.&lt;br /&gt;&lt;br /&gt;Aterrisamos no Aeroporto &lt;a href="http://www.infraero.gov.br/aero_prev_home.php?ai=37"&gt;Salgado Filho&lt;/a&gt; na capital farroupilha às 7:30am, onde, em poucas horas o sol gaúcho martelaria impiedosamente nossas cabeças com um calor de 35 graus. Através de uma van gratuita da Infraero e do metrô de Porto Alegre, chegamos ao &lt;a href="http://www2.portoalegre.rs.gov.br/mercadopublico/"&gt;Mercado Municipal&lt;/a&gt;, onde fizemos o desejejum com um &lt;a href="http://br.answers.yahoo.com/question/index?qid=20060911120207AAaUBsH"&gt;cacetinho&lt;/a&gt; (confira o link, paulistano de mente poluída!).&lt;br /&gt;&lt;br /&gt;Tomamos um taxi, que lá são cores de &lt;a href="http://colunistas.ig.com.br/curioso/files/2008/10/taxipoa.jpg"&gt;tomates meio maduros&lt;/a&gt; rumo à Praça Garibaldi, onde um camarada do Luiz gentilmente nos recebeu em seu apartamento e nos acompanhou em um ótimo chopp e uma deliciosa culinária, girando em torno de &lt;a href="http://perso.wanadoo.es/e/elcongrio/webs/imagenes/congrio2.jpg"&gt;iscas de côngrio&lt;/a&gt; à milanesa, filés de truta e picanha em um ambiente extremamente agradável e excelente atendimento no &lt;a href="http://www.margs.rs.gov.br/pag_bistro.php"&gt;Bistrô do MARGS&lt;/a&gt;, confirmando a fama de comida boa e barata de Porto Alegre.&lt;br /&gt;&lt;br /&gt;Caminhamos pelo &lt;a href="http://pt.wikipedia.org/wiki/Porto_de_Porto_Alegre"&gt;porto desativado&lt;/a&gt;, à beira do interminável &lt;a href="http://pt.wikipedia.org/wiki/Lago_Gua%C3%ADba"&gt;Rio Guaíba&lt;/a&gt;, com direito à água de côco nas barraquinhas em torno da &lt;a href="http://pt.wikipedia.org/wiki/Usina_do_Gas%C3%B4metro"&gt;Usina do Gasômetro&lt;/a&gt;. Após uma triste inesquivável passagem por um decadente trio elétrico carnavalesco na bohêmia Rua República com a &lt;a href="http://pt.wikipedia.org/wiki/Rua_da_Praia"&gt;Andradas&lt;/a&gt;, arrumamos nossa bagagem e retornamos ao aeroporto para enfim cruzarmos a fronteira rumo à Argentina.&lt;br /&gt;&lt;br /&gt;O Boeing da Gol responsável pelo vôo 7468 nos aguardava ansiosamente às 00:00 horas do domingo 14/02 para cruzar a fronteira, e nos mostrar o quão desagradável é rasgar as nuvens sob uma chuva pesada à 800km/hora. Só para lembrar que nós humanos somos seres terrestres, não fomos feitos para voar. Após um excelente pouso, com direito à ovação por parte dos passageiros, enfim respiramos ares argentinos, e, ansiosamente, coloquei meus pesos argentinos na carteira e ganhamos a portaria principal do aeroporto &lt;a href="http://www.aeroportosdomundo.com/americadosul/argentina/aeroportos/cordoba.php"&gt;Pajas Blancas&lt;/a&gt; de Cordoba.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-589258768308301179?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/589258768308301179/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=589258768308301179' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/589258768308301179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/589258768308301179'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2010/02/carnaval-argentino-i.html' title='Carnaval Argentino I'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-1770151473950917187</id><published>2009-12-04T11:12:00.001-08:00</published><updated>2009-12-04T11:12:47.913-08:00</updated><title type='text'>Apache Proxy</title><content type='html'>Geralmente, todo servidor de aplicação vem com um servidor HTTP embutido.&lt;br /&gt;Por exemplo, se vc subir um Tomcat, na porta 8080, ele por si só vai responder HTTP.&lt;br /&gt;&lt;br /&gt;O que acontece é que o Apache é mais rápido para servir conteúdo (cache, etc) portanto, muitos utilizam colocar o Apache na frente dos servidores HTTP dos aplications servers, servindo conteúdo estático (html, js, css, etc) diretamente, e somente redirecionando para o app server quando necessario.&lt;br /&gt;&lt;br /&gt;Nesse caso, o Apache atua como um proxy, interceptando todas as conexões TCP na porta que estiver ouvindo, e encaminhando para a porta TCP do application server:&lt;br /&gt;&lt;br /&gt;CLIENT ---- &lt;http&gt; ---- APACHE ----- &lt;http&gt; ----- APP SERVER&lt;br /&gt;&lt;br /&gt;Segue um exemplo abaixo, à ser aplicado dentro de um &lt;virtualhost&gt; do Apache, redirecionando todas as URLs para um aplication server rodando na propria maquina, na porta 8080:&lt;br /&gt;&lt;br /&gt;RewriteEngine on&lt;br /&gt;RewriteLogLevel 1&lt;br /&gt;RewriteLog /logs/rewrite.log&lt;br /&gt;RewriteRule /(.*)$ &lt;a href="http://127.0.0.1:9123/$1" target="_blank"&gt;http://127.0.0.1:8080/$1&lt;/a&gt; [P,L]&lt;br /&gt; ProxyRequests Off&lt;br /&gt;ProxyVia Block&lt;br /&gt;ProxyPreserveHost On&lt;br /&gt;ProxyTimeout 10&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-1770151473950917187?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/1770151473950917187/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=1770151473950917187' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/1770151473950917187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/1770151473950917187'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2009/12/apache-proxy.html' title='Apache Proxy'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-36086666299337639</id><published>2009-08-13T14:55:00.000-07:00</published><updated>2010-05-26T20:08:20.927-07:00</updated><title type='text'>Represando execução de métodos Java através de Reflection</title><content type='html'>A Reflection API é um poderoso recurso da JVM que torna possível invocação de métodos de objetos em memória através de forma programática.&lt;br /&gt;Quando bem utilizado, esse recurso pode executar tarefas extremamente arrojadas.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Requisito:&lt;br /&gt;&lt;br /&gt;Represar todos os métodos DAOs em uma sessão web, e executá-los todos de uma vez dentro de uma transação ao final da sessão&lt;br /&gt;JVM 5 + Spring + Jetty 1.6&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Solução:&lt;br /&gt;&lt;br /&gt;Interceptando todas as chamadas dos métodos DAOs, armazeno uma sequência de invocações em uma Collection em um Statefull Session Bean, de forma que fiquem represados em memória.&lt;br /&gt;&lt;br /&gt;StatefullBeanInterface:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;addCallStack(Object target, String methodName, Object... args);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ExampleDAO:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;@Transactional(propagation = Propagation.MANDATORY)&lt;br /&gt;addUser(User user) {&lt;br /&gt;  // real persistence operation&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;addUser(StatefullBean s, User user) {&lt;br /&gt;  // interceptor operation&lt;br /&gt;  s.addCallStack(this, "addUser", user);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Ao final da sessão, o usuário confirma a execução dos métodos. Agora entra em ação a Reflection.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;@Transactional(propagation = Propagation.REQUIRES_NEW)&lt;br /&gt;public void execCallStack() throws CallStackException {&lt;br /&gt;&lt;br /&gt;  for (Object o : callStack.keySet()) {&lt;br /&gt;&lt;br /&gt;    List&amp;lt;MethodCall&amp;gt; call = callStack.get(o);&lt;br /&gt;&lt;br /&gt;    for (MethodCall method : call) {&lt;br /&gt;&lt;br /&gt;      Object[] args = method.getArgs();&lt;br /&gt;      Method[] allMethods = o.getClass().getDeclaredMethods();&lt;br /&gt;&lt;br /&gt;      for (Method m : allMethods) {&lt;br /&gt;&lt;br /&gt;        if (m.getName().equals(method.getMethodName()) &amp;amp;&amp;amp; m.getGenericParameterTypes().length == args.length) {&lt;br /&gt;          try {&lt;br /&gt;            m.invoke(o, args);&lt;br /&gt;            break;&lt;br /&gt;          } catch (Exception e) {&lt;br /&gt;            throw new CallStackException(e);&lt;br /&gt;          }&lt;br /&gt;        }&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Passo a passo:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;@Transactional(propagation = Propagation.REQUIRES_NEW)&lt;br /&gt;public void execCallStack()throws CallStackException {&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Solicitamos ao container que crie uma nova transação ao iniciar a execução dos métodos DAO represados.&lt;br /&gt;Os métodos são anotados com propagação de transação mandatória (Propagation.MANDATORY). Dessa forma, se forem invocados foram de uma transação, uma exceção será gerada.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;for (Object o : callStack.keySet()) {&lt;br /&gt;  List&amp;lt;MethodCall&amp;gt; call = callStack.get(o);&lt;br /&gt;  for (MethodCall method : call) {&lt;br /&gt;    Object[] args = method.getArgs();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Estamos percorrendo a Collection com os objetos alvo da invocação, o nome dos métodos e seus respectivos argumentos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;    Method[] allMethods = o.getClass().getDeclaredMethods();&lt;br /&gt;    for (Method m : allMethods) {&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Aqui começa a reflection. getDeclaredMethods retorna todos os métodos de uma classe. A classe Method encapsula suas declarações, como argumentos, exceções, encapsulamento, entre outros.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;if (m.getName().equals(method.getMethodName()) &amp;&amp; m.getGenericParameterTypes().length == args.length) {&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Procuramos o método correspondente através do nome e a quantidade de argumentos, para minimizar eventuais problemas com sobrecarga.&lt;br /&gt;Checagens adicionais podem ser feitas, porém no caso acima não houve necessidade.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;m.invoke(o, args);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Finalmente o método invoke executa o código. O primeiro argumento é uma instância Object que implemente a Classe alvo, e o segundo argumento é um vetor com os métodos.&lt;br /&gt;A CallStackException é uma exceção Runtime criada especificamente para essa situação, para efetuar o rollback das operações em banco em caso de algum método falhar.&lt;br /&gt;&lt;br /&gt;Mais informações:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/reflect/"&gt;http://java.sun.com/docs/books/tutorial/reflect/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://static.springsource.org/spring/docs/2.0.x/reference/transaction.html"&gt;http://static.springsource.org/spring/docs/2.0.x/reference/transaction.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-36086666299337639?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/36086666299337639/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=36086666299337639' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/36086666299337639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/36086666299337639'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2009/08/represando-execucao-de-metodos-java.html' title='Represando execução de métodos Java através de Reflection'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-8346539225373733140</id><published>2009-03-13T05:44:00.000-07:00</published><updated>2009-03-13T05:45:16.775-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='metrificação usabilidade testes framework'/><title type='text'>GOMS - Metrificação de usabilidade</title><content type='html'>Para se medir qualquer coisa, é necessário uma métrica adequada.&lt;br /&gt;Para metrificação de usabilidade, gostaria de apresentar padrão &lt;a href="http://en.wikipedia.org/wiki/GOMS"&gt;GOMS&lt;/a&gt;, e gostei muito dos resultados, principalmente no quesito "mostrar ao cliente".&lt;br /&gt;Na prática, funciona assim:&lt;br /&gt;&lt;br /&gt;1) Estabelecer custos para determinadas ações de usabilidade:&lt;br /&gt;&lt;br /&gt;Mover o ponteiro do mouse até determinado ponto = 1&lt;br /&gt;Clicar e arrastar um item = 4&lt;br /&gt;Localizar um botão = 2&lt;br /&gt;Tomar uma decisão booleana = 3&lt;br /&gt;Preencher um form aprox 10 campos = 10&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;2) Listar os casos de uso seu sistema&lt;br /&gt;&lt;br /&gt;Cadastrar um usuário&lt;br /&gt;Preencher uma nota fiscal&lt;br /&gt;Alterar dados de um usuário&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;3) Para cada caso de uso, pontue o custo de acordo com a primeira tabela&lt;br /&gt;&lt;br /&gt;Dessa forma, você terá como identificar e aprimorar a usabilidade de seu sistema, utilizando uma metrificação numérica.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-8346539225373733140?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/8346539225373733140/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=8346539225373733140' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/8346539225373733140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/8346539225373733140'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2009/03/goms-metrificacao-de-usabilidade.html' title='GOMS - Metrificação de usabilidade'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-4338303983469424913</id><published>2009-03-03T04:27:00.000-08:00</published><updated>2009-03-03T17:24:01.926-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java cookie criptografia hexa base64'/><title type='text'>Criptografia de cookies</title><content type='html'>Criptografia de cookies é um requisito de segurança quando se armazenam informações críticas nos navegadores dos clientes de seu portal.&lt;br /&gt;Em Java, os algorítimos de criptografia populares (AES, DES3) trabalham com vetores de bytes, o que demanda certa atenção no momento de convertê-los para uma String para se salvar em um cookie, em relação à codificação de caracteres (UNICODE UTF-8 e URLEncode).&lt;br /&gt;Pode-se utilizar Base64 para converter a informação binária para String, porém é possível encarar problemas de padding de bytes.&lt;br /&gt;A melhor solução encontrada foi a codificação dos bytes em Hexadecimal. Fica um pouco maior que o Base64, porém, totalmente bugfree, pois o output só terá caracteres "naturais", de 0 a 9 e A a F. Nada de / = + e outros caras estranhos pra quebrar a codificação de sua string. O pacote Apache Commons Codec implementa ambas as conversões.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/javase/technologies/security/"&gt;http://java.sun.com/javase/technologies/security/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://pt.wikipedia.org/wiki/Base64"&gt;http://pt.wikipedia.org/wiki/Base64&lt;/a&gt;&lt;br /&gt;&lt;a href="http://commons.apache.org/codec/"&gt;http://commons.apache.org/codec/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-4338303983469424913?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/4338303983469424913/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=4338303983469424913' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/4338303983469424913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/4338303983469424913'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2009/03/criptografia-de-cookies.html' title='Criptografia de cookies'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-1540486269151970240</id><published>2008-11-21T06:10:00.001-08:00</published><updated>2010-10-18T09:55:40.509-07:00</updated><title type='text'>Curriculum</title><content type='html'>MARCIO HENRIQUE GHIRALDELLI&lt;br /&gt;--------------------------------------&lt;br /&gt;Brasileiro, solteiro, nascido em 1979&lt;br /&gt;Residente em São Paulo-SP Pinheiros&lt;br /&gt;marcio.gh@gmail.com (11) 8473-0200&lt;br /&gt;&lt;br /&gt;OBJETIVO: Arquiteto / Desenolvedor Senior&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SÍNTESE DE QUALIFICAÇÕES&lt;br /&gt;--------------------------------------&lt;br /&gt;&lt;br /&gt;Liderança e iniciativa;&lt;br /&gt;Auto-didata;&lt;br /&gt;Fácil adaptação em diferentes ambientes;&lt;br /&gt;Visão sistêmica e focada em processos;&lt;br /&gt;Inglês fluente;&lt;br /&gt;&lt;br /&gt;Java JEE (Struts / Hibernate / Weblogic / NetBeans Tomcat / JPA / EJB / BPM / Spring / Maven / Selenium / Junit)&lt;br /&gt;SGDBs relacionais (Oracle / MySQL / Firebird)&lt;br /&gt;PHP 5 OO&lt;br /&gt;Flash / ActionScript 3&lt;br /&gt;XML / XHTML / CSS&lt;br /&gt;Linux (Apache / Qmail / Bind / Bash / Perl)&lt;br /&gt;Controle de versão (CVS / SVN)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;EXPERIÊNCIA PROFISSIONAL&lt;br /&gt;--------------------------------------&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;ANALISTA/DESENVOLVEDOR SENIOR &lt;/strong&gt;- UOL  (12/2008 - atual)&lt;br /&gt;- Arquitetura de sistemas de alta disponibilidade (+200 acessos/segundo)&lt;br /&gt;- Liderança de projeto da nova central de anunciantes, veiculação e relatórios home do UOL&lt;br /&gt;- Desenvolvimento e manuteção de sistema de ROI de publicidade para apoio à equipe de negócios.&lt;br /&gt;- JBoss / Jetty / Perl / Oracle / SAP BW&lt;br /&gt;&lt;br /&gt;DESENVOLVEDOR PLENO - B2W / ACCURATE SOFTWARE (4/2008 a 12/2008)&lt;br /&gt;- Americanas.com e Shoptime.com - Evolução contínua no carrinho de compras (Weblogic)&lt;br /&gt;- Integração das listas de casamento Java da Americanas.com com Submarino.com (Weblogic - ambiente SOA)&lt;br /&gt;- Padrões ITIL (chamados/service desk/SLA) e XP (Extreme Programming)&lt;br /&gt;- Referência: Thiago Buchler buchler@gmail.com&lt;br /&gt;&lt;br /&gt;DIRETOR DE TECNOLOGIA - KAÉREA AGÊNCIA DE INTERNET (9/2006 a 3/2008)&lt;br /&gt;- Administração executiva e análise de negócios&lt;br /&gt;- Desenvolvimento de CMS - Sistema de Gerenciamento de Conteúdo &lt;/thiago.salgado@accurate.com.br&gt;(PHP)&lt;thiago.salgado@accurate.com.br&gt;, gerando oportunidades de negócios com agências de publicidade, manutenção de conteúdo&lt;br /&gt;- Desenvolvimento e gestão de ERP e CRM próprios (PHP)&lt;br /&gt;- Integração de conteúdo dinâmico com aplicações em Flash ActionScript / PHP)&lt;br /&gt;- Treinamento de programadores (PHP e ActionScript)&lt;br /&gt;- Referência: André Cupini andre.cupini@kaerea.com.br&lt;br /&gt;&lt;br /&gt;COORDENADOR DE TECNOLOGIA - NEOBIZ TECNOLOGIA DA INFORMAÇÃO (7/2000 a 9/2006)&lt;br /&gt;- Desenvolvimento de aplicações web&lt;br /&gt;- Coordenação e treinamento de programação JEE (Struts/Hibernate) e PHP&lt;br /&gt;- Implantação e administração de redes VPN e wireless&lt;br /&gt;- Desenvolvimento de aplicativo Java para equipamento portátil para leitura e emissão de cointa água (LIES/Correios) - conexões sockets com backend, interface com usuário e regras de negócio da concessionária de água.&lt;br /&gt;- Integração web para CRM, e desenvolvimento de framework próprio de persistência de dados ORM em PHP&lt;br /&gt;- Membro do comitê de implantação NBR ISO9001:2000&lt;br /&gt;- Referência: Airton Caetano airton.caetano@neobiz.com.br&lt;br /&gt;&lt;br /&gt;WEBDESIGNER - NETALFA TECNOLOGIA DA INFORMAÇÃO (1/1999 a 9/2000)&lt;br /&gt;- Desenvolvimento e vendas de websites&lt;br /&gt;- Referência: Mauricio mauricio@netalfa.com.br&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FORMAÇÃO ACADÊMICA&lt;br /&gt;--------------------------------------&lt;br /&gt;&lt;br /&gt;SUPERIOR COMPLETO (1/2000 a 12/2004)&lt;br /&gt;Ciência da Computação - UNIP Universidade Paulista&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CURSOS ADICIONAIS / CERTIFICAÇÕES&lt;br /&gt;--------------------------------------&lt;br /&gt;&lt;br /&gt;Sun Certified Enterprise Architect 5 (I, II, III)&lt;br /&gt;1.o semestre 2010&lt;br /&gt;&lt;br /&gt;Curso Oratória e Apresentação&lt;br /&gt;Mantovani 1.o semestre 2006&lt;br /&gt;&lt;br /&gt;Curso Programação Java&lt;br /&gt;Mygra Informática 2.o semestre 2005&lt;br /&gt;&lt;br /&gt;Curso Gerenciamento da Tecnologia da Informação&lt;br /&gt;Intel / NextG 2.o semestre 2004&lt;br /&gt;&lt;br /&gt;Palestra Engenharia de Software&lt;br /&gt;UNESP, 1.o Semestre 2004&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-1540486269151970240?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/1540486269151970240/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=1540486269151970240' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/1540486269151970240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/1540486269151970240'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2008/11/curriculum.html' title='Curriculum'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-1928940522596324751</id><published>2008-11-21T06:09:00.000-08:00</published><updated>2010-10-18T09:55:57.144-07:00</updated><title type='text'>Curriculum EN</title><content type='html'>MARCIO HENRIQUE GHIRALDELLI&lt;br /&gt;--------------------------------------&lt;br /&gt;Brazilian, Single, born at 1979&lt;br /&gt;Living at São Paulo-SP, near Congonhas Airport&lt;br /&gt;marcio.gh@gmail.com +55 (11) 8473-0200&lt;br /&gt;&lt;br /&gt;OBJECTIVE: IT Architect / Senior Developer&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;QUALIFICATIONS&lt;br /&gt;--------------------------------------&lt;br /&gt;&lt;br /&gt;Leadership and initiative;&lt;br /&gt;Self-learn;&lt;br /&gt;Easy adaptation on differentes enviroments;&lt;br /&gt;Sistematic view and focused in proccess;&lt;br /&gt;English speaking;&lt;br /&gt;&lt;br /&gt;Java JEE (Struts / Hibernate / Weblogic / NetBeans Tomcat / EJB / BPM / Spring)&lt;br /&gt;Oracle / MySQL / Firebird&lt;br /&gt;PHP 5 OO&lt;br /&gt;Flash / ActionScript 3&lt;br /&gt;XML / XHTML / CSS&lt;br /&gt;Linux (Apache / Qmail / Bind / Bash / Perl)&lt;br /&gt;Versioning System (CVS / SVN)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PROFESSIONAL EXPERIENCE&lt;br /&gt;--------------------------------------&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;SENIOR PROGRAMMER &lt;/strong&gt;- UOL  (12/2008 - actual)&lt;br /&gt;- Architecture of high-availability systems (+200 access/second)&lt;br /&gt;- Development and &lt;span dir="ltr" id=":2d0"&gt;maintenance&lt;/span&gt; of ROI publicity system for business staff support.&lt;br /&gt;- JBoss / Jetty / Perl / Oracle / SAP BW&lt;br /&gt;&lt;br /&gt;PROGRAMMER - ACCURATE SOFTWARE (4/2008 - 12/2008)&lt;br /&gt;- B2W Inc JAVA WebLogic development - Americanas.com Submarino.com Shoptime.com&lt;br /&gt;- ITIL and XP (Extreme Programming) Standards&lt;br /&gt;- Reference: Thiago Salgado &lt;thiago.salgado@accurate.com.br&gt;&lt;br /&gt;&lt;br /&gt;IT MANAGER - KAÉREA AGÊNCIA DE INTERNET (9/2006 at 3/2008)&lt;br /&gt;- CEO and Business Analyst&lt;br /&gt;- Development of CMS - Content Management System (PHP)&lt;br /&gt;- Development and management of ERP e CRM (PHP)&lt;br /&gt;- XML Integrations (PHP and ActionScript)&lt;br /&gt;- Programmers training (PHP and ActionScript)&lt;br /&gt;- Reference: André Cupini &lt;andre.cupini@kaerea.com.br&gt;&lt;br /&gt;&lt;br /&gt;IT COORDINATIOR - NEOBIZ TECNOLOGIA DA INFORMAÇÃO (7/2000 at 9/2006)&lt;br /&gt;- Development of web applications&lt;br /&gt;- Coordination and training of Java web programming (JEE/Struts/Hibernate) and PHP&lt;br /&gt;- Deployment and administration of VPN and Wireless nets&lt;br /&gt;- Mobile Solution (Java J2ME) for reading and account of residencial water and eletricity consuption (LIES / Correios)&lt;br /&gt;- Development of CRM solutions and persistence ORM (PHP)&lt;br /&gt;- Member of NBR ISO9001:2000 development and deployment&lt;br /&gt;- Reference: Airton Caetano &lt;airton.caetano@neobiz.com.br&gt;&lt;br /&gt;&lt;br /&gt;WEBDESIGNER - NETALFA TECNOLOGIA DA INFORMAÇÃO (1/1999 at 9/2000)&lt;br /&gt;- Websites development&lt;br /&gt;- Reference: Mauricio &lt;mauricio@netalfa.com.br&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ACADEMIC FORMATION&lt;br /&gt;--------------------------&lt;br /&gt;&lt;br /&gt;GRADUATED (1/2000 a 12/2004)&lt;br /&gt;Computer Science - UNIP Universidade Paulista&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ADITIONALS COURSES / CERTIFICATIONS&lt;br /&gt;-----------------------------------------------&lt;br /&gt;&lt;br /&gt;Sun Certified Enterprise Architect 5 (I, II, III)&lt;br /&gt;1.o half 2010&lt;br /&gt;&lt;br /&gt;Oratory and Presentations&lt;br /&gt;Mantovani 1.o half 2006&lt;br /&gt;&lt;br /&gt;Java Programmer&lt;br /&gt;Mygra Informática 2.o semestre 2005&lt;br /&gt;&lt;br /&gt;IT Tecnology Management Intel / NextG&lt;br /&gt;2.o half 2004&lt;br /&gt;&lt;br /&gt;Software Engineering&lt;br /&gt;Palestra Engenharia de Software&lt;br /&gt;UNESP, 1.o half 2004&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-1928940522596324751?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/1928940522596324751/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=1928940522596324751' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/1928940522596324751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/1928940522596324751'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2008/11/curriculum-en.html' title='Curriculum EN'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-963959662381560783</id><published>2008-09-12T12:21:00.000-07:00</published><updated>2008-09-12T12:30:17.639-07:00</updated><title type='text'>Eclipse TPTP</title><content type='html'>Através de um plugin do Eclipse é possível coletar dados runtime de uma aplicação Java (um dominio WebLogic por exemplo) e monitorar a utilização de memória por instâncias de objetos, timing de execução de threads entre outras informações, dando a informação precisa do que está acontecendo com uma aplicação, ajudando a localizar vazamentos de memórias e gargalos de processamento.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Eclipse Test &amp;amp; Performance Tools Platform Project&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eclipse.org/tptp/"&gt;http://www.eclipse.org/tptp/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tutorial&lt;br /&gt;&lt;br /&gt;Baixando pacotes&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eclipse.org/tptp/home/downloads/?ver=4.5.0"&gt;http://www.eclipse.org/tptp/home/downloads/?ver=4.5.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;TPTP all-in-one package&lt;/span&gt; - Eclipse Ganymede + Todos os plugins TPTP ou All TPTP plugins - Somente os plugins para instalar em seu Eclipse (O plugin precisa de um SDK &gt;= 1.5)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Agent Controller&lt;/span&gt; - Servidor TCP para coleta de dados de profile - Descompactar o pacote: - copiar os bin/*.dll para o diretório bin/ da JRE da JVM à ser monitorada - executar o bin/RAServer.exe (ficará ouvindo em uma porta TCP)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Configurando o WebLogic&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Configurar &lt;span style="font-style: italic; font-weight: bold;"&gt;startWebLogic.cmd&lt;/span&gt; para conectar no &lt;span style="font-weight: bold; font-style: italic;"&gt;RAServer.exe&lt;/span&gt; no startup: Adicione o argumento &lt;span style="font-weight: bold; font-style: italic;"&gt;-XrunpiAgent:server=enabled&lt;/span&gt; na linha de comando do WebLogic&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Monitorando dados&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Com o RAServer e sua aplicação Java rodando (WebLogic), inicie o Eclipse com o plugin, mude para o Workspace Profiling. Configure um novo profile buscando localhost, e ative os dados à serem coletados.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-963959662381560783?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/963959662381560783/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=963959662381560783' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/963959662381560783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/963959662381560783'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2008/09/eclipse-tptp-atravs-de-um-plugin-do.html' title='Eclipse TPTP'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-4291497160354186248</id><published>2008-06-06T09:47:00.000-07:00</published><updated>2010-05-26T20:11:30.956-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java Calendar Date'/><title type='text'>Adicionando e removendo data no Java</title><content type='html'>A API Java Calendar oferece maneiras práticas para manipulação de datas.&lt;br /&gt;Quando precisamos adicionar meses ou anos em uma determinada data, podemos utilizar o método Calendar.add, que recebe como parâmetros a unidade desejada (dia do mês, ano, semanas, etc) e a quantidade à adicionar.&lt;br /&gt;Segue um exemplo abaixo:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;Calendar cal;&lt;br /&gt;SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");&lt;br /&gt;for (int i = 0; i &amp;lt; 10; i ++) {&lt;br /&gt;  cal =  Calendar.getInstance(); // seta cal na data atual&lt;br /&gt;  cal.add(Calendar.MONTH, i); // adiciona meses na data&lt;br /&gt;  System.out.println(df.format(cal.getTime()));&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;A saída desse código, supondo que hoje seja 06/06/2008 é:&lt;br /&gt;06/07/2009&lt;br /&gt;06/08/2009&lt;br /&gt;...&lt;br /&gt;06/11/2008&lt;br /&gt;06/12/2008&lt;br /&gt;06/01/2009&lt;br /&gt;06/02/2009&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note a virada do ano. Sem gambiarras no código.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-4291497160354186248?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/4291497160354186248/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=4291497160354186248' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/4291497160354186248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/4291497160354186248'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2008/06/adicionando-e-removendo-data-no-java.html' title='Adicionando e removendo data no Java'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-6941382959621819299</id><published>2008-05-19T04:57:00.001-07:00</published><updated>2008-05-19T04:57:57.292-07:00</updated><title type='text'>Hibernate Search com Apache Lucene</title><content type='html'>O evento Falando em Java 2008 [1] apresentou temas como metotologia SCRUM, Domain Driven Design, efeitos em Ajax.&lt;br /&gt;&lt;br /&gt;O ponto alto da apresentação foi a palestra do Emmanuel Bernard, um dos criadores do Hibernate, participante da nova especificação JPA 2.0 e líder do projeto Hibernate Search [2]&lt;br /&gt;&lt;br /&gt; O novo Hibernate Search utiliza o motor do &lt;b&gt;Apache Lucene &lt;/b&gt;para realizar buscas "full text", escondendo do desenvolvedor a complexidade da atualização de índices. Utiliza eventos JPA (delete, update, insert) enviando mensagens JMS assincronas para atualização do índice agrupadas por blocos de commits, e soluciona o problema da clusterização utilizando um índice master replicados aos slaves utilizando algorítimos de transmissão de arquivos parciais (como o rsync, se não for o próprio)&lt;br /&gt;&lt;br /&gt;Para os nerds, como no comercial da Kaiser: "Isso que é tecnologia"&lt;br /&gt;&lt;br /&gt;[1] http://www.caelum.com.br/falando-em-java&lt;br /&gt;[2] &lt;a href="http://search.hibernate.org/" target="_blank"&gt;http://search.hibernate.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-6941382959621819299?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/6941382959621819299/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=6941382959621819299' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/6941382959621819299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/6941382959621819299'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2008/05/hibernate-search-com-apache-lucene.html' title='Hibernate Search com Apache Lucene'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-8259316847967811171</id><published>2008-05-07T06:31:00.000-07:00</published><updated>2008-05-07T06:35:33.538-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse jdk jre oracle'/><title type='text'>Erro na versao da JRE Eclipse 3.1</title><content type='html'>Quando se instala Oracle e Eclipse na mesma máquina, é possível que o Eclipse apresente o seguinte erro na inicialização:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;I am getting the following error: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Eclipse Required java version 1.4.1 Available 1.3.1_01&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Por alguma razão desconhecida, o Eclipse busca a JRE que vem junto com o Oracle para inializar, ignorando a variavel de ambiente JAVA_HOME e JDK_HOME.&lt;br /&gt;&lt;br /&gt;Para resolver, localize o diretório JRE dentro da instalação do Oracle (ex.: C:\Program Files\Oracle\jre), e o inutilize, renomeando para outro nome.&lt;br /&gt;&lt;br /&gt;Após, confirme em Meu Computador / Avançado / Variaveis de Ambiente:&lt;br /&gt;JAVA_HOME=c:\j2sdk\&lt;br /&gt;JDK_HOME=c:\j2sdk\&lt;br /&gt;&lt;br /&gt;E, no PATH, certifique-se que o BIN do JAVA esteja antes de todas as outras variáveis, para ter certeza que ela será utilizada:&lt;br /&gt;PATH=%JAVA_HOME%\bin;...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-8259316847967811171?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/8259316847967811171/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=8259316847967811171' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/8259316847967811171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/8259316847967811171'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2008/05/erro-na-versao-da-jre-eclipse-31.html' title='Erro na versao da JRE Eclipse 3.1'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-2350469588601676971</id><published>2008-04-25T05:50:00.000-07:00</published><updated>2008-04-25T06:01:17.663-07:00</updated><title type='text'>Javascript getElementById e taglibs Beehive NetUI</title><content type='html'>&lt;span style="font-weight: bold;"&gt;NetUI &lt;/span&gt;são taglibs do pacote MVC do &lt;a href="http://beehive.apache.org/"&gt;&lt;span style="font-weight: bold;"&gt;Apache Beehive&lt;/span&gt;&lt;/a&gt; utilizadas em JSP's que geram diversos componentes de visão, entre eles, formulários HTML.&lt;br /&gt;Em uma estrutura HTML, tipicamente utiliza-se o atributo ID para se identificar unicamente um objeto em uma estrutura DOM, prática comumente utilizada em Javascript.&lt;br /&gt;Por definição W3C, não se pode ter dois nodes com o mesmo ID em um mesmo HTML.&lt;br /&gt;&lt;br /&gt;O &lt;span style="font-weight: bold;"&gt;NetUI &lt;/span&gt;encapsula o ID de cada componente de forma que um vários portlets em um mesmo HTML não utilizem o mesmo ID e invalidem a estrutura.&lt;br /&gt;Todo componente &lt;span style="font-weight: bold;"&gt;NetUI &lt;/span&gt;aceita o atributo &lt;span style="font-weight: bold;"&gt;tagId&lt;/span&gt;, o qual gerará um ID único no HTML, associando o nome do portlet e/ou JSP, mais o nome informado.&lt;br /&gt;Para recuperar o nome real, é disponibilizada uma função Javascript:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;getNetuiTagName("foo", this)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Onde "foo" é a ID informada no TagId, e this é a instância atual do portlet que você está trabalhando.&lt;br /&gt;Essa função retorna uma string com o ID real renderizado no HTML. Pode se usar a estrutura form ou então diretamente o getElementById. Confira exemplo na documentação [1] do &lt;span style="font-weight: bold;"&gt;BEA WebLogic&lt;/span&gt;, que utiliza o &lt;span style="font-weight: bold;"&gt;Beehive &lt;/span&gt;como estrutura MVC.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;[1] http://edocs.bea.com/workshop/docs81/doc/en/core/index.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-2350469588601676971?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/2350469588601676971/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=2350469588601676971' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/2350469588601676971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/2350469588601676971'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2008/04/javascript-getelementbyid-e-taglibs.html' title='Javascript getElementById e taglibs Beehive NetUI'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-5121628633471169097</id><published>2008-04-18T16:47:00.000-07:00</published><updated>2008-06-25T16:16:48.246-07:00</updated><title type='text'>Igor Puorro ianfp.eti.br</title><content type='html'>Parceiro profissional na área de Tecnologia da Informação.&lt;br /&gt;Me ajudou com dicas de hospedagens e colocation em servidores no exterior, e me ajudou na configuração e tunning do meu servidor de emails &lt;strong&gt;&lt;a href="http://marcio-gh.blogspot.com/2007/07/bill-shupp-qmail-patch.html"&gt;qmail&lt;/a&gt;&lt;/strong&gt; e &lt;strong&gt;&lt;a href="http://marcio-gh.blogspot.com/2007/09/vpopmail-5418.html"&gt;vpopmail&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Valew, Igor!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ianfp.eti.br/"&gt;&lt;span style="font-size:180%;"&gt;http://ianfp.eti.br&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-5121628633471169097?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/5121628633471169097/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=5121628633471169097' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/5121628633471169097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/5121628633471169097'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2008/04/igor-puorro-ianftpetibr.html' title='Igor Puorro ianfp.eti.br'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-7896662432087891346</id><published>2008-04-08T12:25:00.000-07:00</published><updated>2008-04-08T12:26:36.316-07:00</updated><title type='text'>Grafo Internet para negócios</title><content type='html'>&lt;h2&gt;Decisões, praticidade e confiabilidade&lt;br /&gt;A sua empresa no próximo nível&lt;/h2&gt;A &lt;a href="http://www.grafo.com.br"&gt;&lt;strong&gt;Grafo Internet para negócios&lt;/strong&gt;&lt;/a&gt; oferece à você e sua empresa consultoria em tecnologia e Internet voltada para negócios.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Seja o desenvolvimento de seu &lt;strong&gt;website &lt;/strong&gt;até implantação &lt;strong&gt;soluções avançadas em Internet&lt;/strong&gt;, oferecemos tecnologia adequada às suas necessidades.&lt;br /&gt;&lt;br /&gt;Nossa &lt;strong&gt;missão &lt;/strong&gt;é agregar valor ao seu negócio, utilizando a tecnologia de maneira eficiente, através de uma parceria na prestação de serviços à médio e longo prazo.&lt;br /&gt;&lt;br /&gt;Consulte a lista de servços prestados e veja como podemos levar sua empresa ao próximo nível.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-7896662432087891346?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/7896662432087891346/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=7896662432087891346' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/7896662432087891346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/7896662432087891346'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2008/04/grafo-internet-para-negcios.html' title='Grafo Internet para negócios'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-5772246159974583959</id><published>2008-03-10T14:11:00.002-07:00</published><updated>2008-03-10T14:12:01.892-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache SSL vhost-alias vhost_alias mod_vhost_alias'/><title type='text'>Compilar Apache com SSL + mod_vhost_alias</title><content type='html'>Nunca acho esse comando no Google quando preciso:&lt;br /&gt;&lt;br /&gt;./configure --enable-ssl --enable-vhost-alias&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-5772246159974583959?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/5772246159974583959/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=5772246159974583959' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/5772246159974583959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/5772246159974583959'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2008/03/compilar-apache-com-ssl-modvhostalias.html' title='Compilar Apache com SSL + mod_vhost_alias'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-3412809461606599534</id><published>2008-01-24T03:55:00.000-08:00</published><updated>2008-03-24T11:20:31.155-07:00</updated><title type='text'>Curriculum</title><content type='html'>Informações Pessoais&lt;br /&gt;&lt;br /&gt;  Nome:        Marcio Henrique Ghiraldelli&lt;br /&gt;  Nascimento:    24/02/1979, solteiro&lt;br /&gt;Contato:    marcio.gh@gmail.com&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Habilidades:&lt;br /&gt;&lt;br /&gt;  Liderança e iniciativa;&lt;br /&gt;  Auto-didata;&lt;br /&gt;  Fácil adaptação em diferentes ambientes;&lt;br /&gt;  Visão sistêmica e focada em processos;&lt;br /&gt;  Inglês fluente;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Informação Acadêmica:&lt;br /&gt;&lt;br /&gt;  Bacharelado em Ciência da Computação&lt;br /&gt;  Graduado em 2004, UNIP Bauru-SP/Brasil&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cursos e Especializações:&lt;br /&gt;&lt;br /&gt;  Oratória e Apresentação&lt;br /&gt;  Mantovani 1.o semestre 2006&lt;br /&gt;&lt;br /&gt;  Programação Java&lt;br /&gt;  Mygra Informática 2.o semestre 2005&lt;br /&gt;&lt;br /&gt;  Gerenciamento da Tecnologia da Informação&lt;br /&gt;  Intel / NextG, 2.o semestre 2004&lt;br /&gt;&lt;br /&gt;  Engenharia de Software&lt;br /&gt;  UNESP, 1.o Semestre 2004&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ultimas Experiências Profissionais:&lt;br /&gt;&lt;br /&gt;  - Kaérea Agência de Internet 09/2006 - até então&lt;br /&gt;  Cargo: Diretor de Tecnologia (PJ)&lt;br /&gt;  Atribuições e realizações:&lt;br /&gt;&lt;br /&gt;  - Administração executiva&lt;br /&gt;  - Liderança de equipe de programadores PHP e Flash AS 2&lt;br /&gt;  - Administração de servidores Linux&lt;br /&gt;  - Desenvolvimento de sistemas web&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  - NeoBiz Tecnologia da Informação 07/2000 - 09/2006&lt;br /&gt;  Cargo: Coordenador de Tecnologia (CLT)&lt;br /&gt;  Atribuições e realizações:&lt;br /&gt;&lt;br /&gt;  - Desenvolvimento de aplicações web&lt;br /&gt;  - Coordenação e treinamento de programação web em Java (JEE/Struts/Hibernate) e PHP&lt;br /&gt;  - Implantação e administração de redes VPN e wireless&lt;br /&gt;  - Solução móvel (Java J2ME) para leitura de água e energia elétrica residenciais e comerciais (LIES/Correios)&lt;br /&gt;  - Desenvolvimento de soluções CRM, e sistema próprio de persistência ORM em PHP&lt;br /&gt;  - Membro do comitê de implantação NBR ISO9001:2000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Projetos publicados:&lt;br /&gt;&lt;br /&gt;  FF-MVC2&lt;br /&gt;  Agosto de 2007&lt;br /&gt;&lt;br /&gt;  - Desenvolvimento de arquitetura própria Modelo-Visão-Controle em PHP&lt;br /&gt;  www.phpclasses.org/browse/package/3715.html&lt;br /&gt;&lt;br /&gt;Referências:&lt;br /&gt;&lt;br /&gt;  Kaérea Agência de Internet&lt;br /&gt;  info@kaerea.com.br&lt;br /&gt;  (14) 3227-0392&lt;br /&gt;&lt;br /&gt;  NeoBiz Tecnologia da Informação&lt;br /&gt;  info@neobiz.com.br&lt;br /&gt;  (14) 3234-6898&lt;br /&gt;&lt;br /&gt;  Marcos Gales - Empresa: InfoClick&lt;br /&gt;  gales@infoclick.com.br&lt;br /&gt;  (14) 4009-0101&lt;br /&gt;&lt;br /&gt;  Sergio Motta - Emrpesa: Cisne Calçados&lt;br /&gt;  sergio@cisne.com.br&lt;br /&gt;  (14) 3222-4023&lt;br /&gt;&lt;br /&gt;  Mauricio Rochi - Empresa: NetAlfa&lt;br /&gt;  mauricio@netalfa.com.br&lt;br /&gt;  (14) 3234-4400&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-3412809461606599534?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/3412809461606599534/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=3412809461606599534' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/3412809461606599534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/3412809461606599534'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2008/01/curriculum.html' title='Curriculum'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-8719167098694004760</id><published>2008-01-17T04:57:00.000-08:00</published><updated>2008-01-17T05:08:49.109-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flash combobox no text parent child external swf'/><title type='text'>Combobox no Flash em SWF externos</title><content type='html'>O componente ComboBox do flash apresentam alguns problemas quando utilizados em SWF externos.&lt;br /&gt;&lt;br /&gt;Consegui isolar os dois comportamentos:&lt;br /&gt;&lt;br /&gt;1) O componente espera que na raiz da biblioteca exista importado o componente ComboBox, portanto, é necessário que ele exista na lib do SWF raiz, ou então, no SWF que está sendo carregado, exista o código _lockroot = true&lt;br /&gt;&lt;br /&gt;2) FocusManager. Esse cara contola o sistema de foco e broadcast de eventos do combo. Quando carregando um SWF externo, é preciso desabilitá-lo APÓS o combo ser carregado. Um timeout bem colocado resolve isso:&lt;br /&gt;&lt;br /&gt;function lock() {&lt;br /&gt;    _level0.focusManager = false;&lt;br /&gt;}&lt;br /&gt;setTimeout(this, "lock", 100);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-8719167098694004760?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/8719167098694004760/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=8719167098694004760' title='6 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/8719167098694004760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/8719167098694004760'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2008/01/combobox-no-flash-em-swf-externos.html' title='Combobox no Flash em SWF externos'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-8373991850668378192</id><published>2008-01-08T02:20:00.001-08:00</published><updated>2008-01-08T02:20:42.291-08:00</updated><title type='text'>IE7 Javascript Library</title><content type='html'>&lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://code.google.com/p/ie7-js/" target="_blank"&gt;http://code.google.com/p/ie7&lt;wbr&gt;-js/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;IE7 is a JavaScript library to make Microsoft Internet Explorer behave&lt;br /&gt;like a standards-compliant browser. It fixes many HTML and CSS issues&lt;br /&gt;and makes transparent PNG work correctly under IE5 and IE6.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-8373991850668378192?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/8373991850668378192/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=8373991850668378192' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/8373991850668378192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/8373991850668378192'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2008/01/ie7-javascript-library.html' title='IE7 Javascript Library'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-6062544286393655475</id><published>2007-12-27T09:17:00.000-08:00</published><updated>2007-12-27T09:25:25.086-08:00</updated><title type='text'>Pizza</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_VakfO9VowcE/R3Pfn6cRYYI/AAAAAAAAACQ/xZarBTQG7ws/s1600-h/pizza.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_VakfO9VowcE/R3Pfn6cRYYI/AAAAAAAAACQ/xZarBTQG7ws/s320/pizza.jpg" alt="" id="BLOGGER_PHOTO_ID_5148704675810337154" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;Receita da minha famosa massa caseira:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Coloque em uma bacia (preferencialmente de inox) meio tablete de fermento biológico e duas colheres de sopa rasas de sal. O fermento vai dissolver e virar líquido, após 5 minutos.&lt;br /&gt;Adicione uma colher de azeite, uma xícara de farinha branca. Opcionalmente, adicione melhorador de farinha para dar mais elasticidade [1].&lt;br /&gt;Jogue  por cima uma xícara e meia de leite morno (não quente!).&lt;br /&gt;Mexa até dissolver tudo. Depois, vá adicionando farinha integral e mexendo até formar uma massa que você consiga encostar o dedo e tirar sem grudar.&lt;br /&gt;Forme uma bola e deixe crescendo em algum lugar untado com margarina, coberto com um pano molhado por uns 50 minutos. Após, opcionalmente, sove a massa na pia com farinha branca.  Agora é só abrir, fazer a borda e rechear!&lt;br /&gt;O primeiro ingrediente da cobertua preferencialmente é o molho de tomate.&lt;br /&gt;&lt;br /&gt;[1]  &lt;a href="http://www.falecomfleischmann.com.br/culinaria/default.asp?page=http://www.falecomfleischmann.com.br/culinaria/produtos/produto_linha.asp?id=483"&gt;Melhorador de pizza Fleischmann&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-6062544286393655475?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/6062544286393655475/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=6062544286393655475' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/6062544286393655475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/6062544286393655475'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2007/12/pizza.html' title='Pizza'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_VakfO9VowcE/R3Pfn6cRYYI/AAAAAAAAACQ/xZarBTQG7ws/s72-c/pizza.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-2805972749693697909</id><published>2007-12-11T11:33:00.000-08:00</published><updated>2007-12-27T09:27:22.091-08:00</updated><title type='text'>Saudosista MSX</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_VakfO9VowcE/R3Pgb6cRYZI/AAAAAAAAACY/BLwDspIgBso/s1600-h/hotbit.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_VakfO9VowcE/R3Pgb6cRYZI/AAAAAAAAACY/BLwDspIgBso/s320/hotbit.jpg" alt="" id="BLOGGER_PHOTO_ID_5148705569163534738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Para os saudosistas que viveram na época do MSX, com seus vastos 8bits de processamento, e incrível som de 3 canais.&lt;br /&gt;No meu caso, um HB8000, da EPCOM.&lt;br /&gt;&lt;br /&gt;Um emulador dos melhores joguinhos online, em Java Applet&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.geocities.com/andre_nho/jmsx/"&gt;http://www.geocities.com/andre_nho/jmsx/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-2805972749693697909?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/2805972749693697909/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=2805972749693697909' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/2805972749693697909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/2805972749693697909'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2007/12/saudosista-msx.html' title='Saudosista MSX'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_VakfO9VowcE/R3Pgb6cRYZI/AAAAAAAAACY/BLwDspIgBso/s72-c/hotbit.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-7984645555437263446</id><published>2007-10-29T03:56:00.001-07:00</published><updated>2007-10-29T04:00:27.845-07:00</updated><title type='text'>PHP 5 e o horário de verão brasileiro</title><content type='html'>Quem trabalha na área de tecnologia que não adora o horário de verão brasileiro? :)&lt;br /&gt;&lt;br /&gt;Após alterar a data do meu servidor Linux, notei que o PHP continuava exibindo o horário anterior (uma hora atrasado)&lt;br /&gt;&lt;br /&gt;Pesquisando no Google, encontrei este post &lt;a href="http://www.eustaquiorangel.com/blog/show/308"&gt;http://www.eustaquiorangel.com/blog/show/308&lt;/a&gt; que explica perfeitamente o que se passa:&lt;br /&gt;&lt;br /&gt;O PHP (assim com o Java) vem com um banco de dados próprio de timezones. Como a regra do horário de verão do Brasil é totalmente imprevisível, é necessário manter esse banco de dados atualizado.&lt;br /&gt;&lt;br /&gt;O repositório PECL disponibiliza esse banco: &lt;a href="http://pecl.php.net/package/timezonedb"&gt;http://pecl.php.net/package/timezonedb&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Para instalar, basta utilizar os comandos shell PECL:&lt;br /&gt;&lt;br /&gt;pecl install timezonedb&lt;br /&gt;&lt;br /&gt;e depois inserir a extensão no php.ini:&lt;br /&gt;&lt;br /&gt;extension=timezonedb.so&lt;br /&gt;&lt;br /&gt;O horário se ajusta automaticamente. Problema resolvido (pelo menos nesse ano)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-7984645555437263446?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/7984645555437263446/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=7984645555437263446' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/7984645555437263446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/7984645555437263446'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2007/10/php-5-e-o-horrio-de-vero-brasileiro.html' title='PHP 5 e o horário de verão brasileiro'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-5924366463631529631</id><published>2007-10-23T03:25:00.000-07:00</published><updated>2007-10-23T03:27:24.101-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WCAG'/><category scheme='http://www.blogger.com/atom/ns#' term='e-PING'/><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><category scheme='http://www.blogger.com/atom/ns#' term='e-GOV'/><title type='text'>Usabilidade, acessibilidade e inclusão digital na Internet</title><content type='html'>Ao final do ano passado, escrevi um artigo apresentando algumas tecnologias e padrões mundiais e nacionais referente à acessibilidade, usabilidade e inclusão digital na Internet.&lt;br /&gt;&lt;br /&gt;http://extranet.kaerea.com.br/artigo/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-5924366463631529631?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/5924366463631529631/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=5924366463631529631' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/5924366463631529631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/5924366463631529631'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2007/10/usabilidade-acessibilidade-e-incluso.html' title='Usabilidade, acessibilidade e inclusão digital na Internet'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-595661133261721529</id><published>2007-10-08T13:42:00.001-07:00</published><updated>2007-10-08T13:45:07.089-07:00</updated><title type='text'>Stuck pixel em LCD</title><content type='html'>Recentemente adquiri um LCD SyncMaster 732NW 17" Widescreen, e, após 4 dias de uso, ele apresentou um Stuck Pixel &lt;a href="http://en.wikipedia.org/wiki/Dead_pixel"&gt;http://en.wikipedia.org/wiki/Dead_pixel&lt;/a&gt;&lt;br /&gt;Antes de acionar a garantia, quis saber mais sobre o problema. Na Wikipedia é apresentado dois métodos "populares" de tentar resolver. Um deles é "exercitando" o pixel trocando rapidamente as cores primárias, mais branco e preto, na tentativa de "resetar" o pixel.&lt;br /&gt;Não tive sucesso.&lt;br /&gt;Uma outra solução é "massagear" gentilmente a tela do LCD com um pano macio, e, por incrível que pareça, esse método resolveu. O Stuck Pixel saiu como se fosse uma sujeirinha na superfície.&lt;br /&gt;&lt;br /&gt;Incrível.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-595661133261721529?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/595661133261721529/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=595661133261721529' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/595661133261721529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/595661133261721529'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2007/10/stuck-pixel-em-lcd.html' title='Stuck pixel em LCD'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-4381248360974888253</id><published>2007-09-10T05:07:00.000-07:00</published><updated>2007-09-10T05:09:38.580-07:00</updated><title type='text'>Vpopmail 5.4.18</title><content type='html'>Que legal. O vdominfo -d do Vpopmail 5.4.18, que, segundo o help deveria retornar o diretório de um domínio agora também mostra informações de alias:&lt;br /&gt;&lt;br /&gt;#vdominfo -d bsh.com.br&lt;br /&gt;/home/vpopmail/domains/bshinternational.com&lt;br /&gt;alias: bsh.com.br&lt;br /&gt;&lt;br /&gt;Quebrou todos os meus scripts... maravilha. O tipo de alteração irresponsável. Se -d é para informar o diretório, informa o diretório apenas! Se eu quero saber de alias, eu pergunto, PÔ.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-4381248360974888253?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/4381248360974888253/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=4381248360974888253' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/4381248360974888253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/4381248360974888253'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2007/09/vpopmail-5418.html' title='Vpopmail 5.4.18'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-6747268720926363531</id><published>2007-08-26T09:38:00.000-07:00</published><updated>2007-08-26T10:12:20.036-07:00</updated><title type='text'>Microsoft Internet Explorer - Bug de cache em imagens dinâmicas</title><content type='html'>Sempre que se desenvolve uma aplicação Ajax existe a preocupação da funcionalidade CrossBrowser.&lt;br /&gt;&lt;br /&gt;O Internet Explorer tem um problema sério com criação de imagens dinâmicas. Ao criar elementos img, seja por innerHTML ou DOM (createElement, appendChild), o Internet Explorer &lt;span style="font-style: italic; font-weight: bold;"&gt;esquece &lt;/span&gt;de verificar em seu cache local a presença da imagem, fazendo um GET ao servidor para cada elas.&lt;br /&gt;&lt;br /&gt;Ou seja, se você carregar uma árvore dinâmica por Ajax, cheia de ícones de pastas, o Internet Explorer demorará a uma eternidade para renderizar tudo.&lt;br /&gt;&lt;br /&gt;A Microsoft descreve esse problema, segundo eles "by design". (ótimo)&lt;br /&gt;&lt;a href="http://support.microsoft.com/?scid=kb%3Ben-us%3B319546&amp;x=8&amp;amp;y=8"&gt;http://support.microsoft.com/?scid=kb%3Ben-us%3B319546&amp;x=8&amp;amp;y=8&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A solução, apesar de extremamente deselegante, é simples:&lt;br /&gt;&lt;br /&gt;Faça um preload de TODAS as imagens à serem criadas dinamicamente, através de uma DIV com display none:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;div style=""&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;img src="http://www.blogger.com/%27/img/folder.gif%27" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;img src="http://www.blogger.com/%27/img/folderOpen.gif%27" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Depois, dê um tempo para o Internet Explorer fazer o cache das imagens, daí sim proceda com a criação das tags dinâmicas:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;window.setTimeout('addImgs()', 1000);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;O grande problema aqui é que o timeout sempre terá que ser maior do que o tempo que o cliente levará para baixar as imagens, e como cada um tem uma conexão diferente, você obrigatoriamente terá que prejudicar os mais rápidos...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-6747268720926363531?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/6747268720926363531/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=6747268720926363531' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/6747268720926363531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/6747268720926363531'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2007/08/microsoft-internet-explorer-bug-de.html' title='Microsoft Internet Explorer - Bug de cache em imagens dinâmicas'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-4473844642503650604</id><published>2007-08-06T13:42:00.000-07:00</published><updated>2007-08-06T14:00:26.899-07:00</updated><title type='text'>Novo PHP MVC 2.0</title><content type='html'>Acabo de disponibilizar a nova versão 2.0 de minha implementação de MVC 2 para PHP.&lt;br /&gt;Me baseei na implementação Struts 2.0 do Java JEE, trazendo as funcionalidades básicas de organização de código e separação entre design e programação, quesitos fundamentais em uma boa agência de Internet.&lt;br /&gt;&lt;br /&gt;As grandes novidades da versão 2.0 é o arquivo de configuração do controlador em XML (muito semelhante ao do Struts) e suporte para Friendly Urls, deixando os sites com links visualmente mais agradáveis e fáceis de implementar.&lt;br /&gt;&lt;br /&gt;Quem quiser experiementar, os fontes estão disponibilizados no PHP Classes.&lt;br /&gt;Críticas &lt;span style="font-weight: bold; font-style: italic;"&gt;CONSTRUTIVAS &lt;/span&gt;são bem vindas!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.phpclasses.org/browse/package/3715.html"&gt;http://www.phpclasses.org/browse/package/3715.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-4473844642503650604?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/4473844642503650604/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=4473844642503650604' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/4473844642503650604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/4473844642503650604'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2007/08/lanado-mvc-20.html' title='Novo PHP MVC 2.0'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-6742787610949114995</id><published>2007-08-03T05:36:00.000-07:00</published><updated>2007-08-03T05:42:24.356-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tcp'/><category scheme='http://www.blogger.com/atom/ns#' term='auditoria'/><category scheme='http://www.blogger.com/atom/ns#' term='ip'/><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='networking'/><title type='text'>Auditoria de rede - ARGUS</title><content type='html'>&lt;span class="standardText"&gt;&lt;b&gt;&lt;/b&gt; &lt;b&gt;Argus&lt;/b&gt;, the network                &lt;b&gt;A&lt;/b&gt;udit &lt;b&gt;R&lt;/b&gt;ecord &lt;b&gt;G&lt;/b&gt;eneration and &lt;b&gt;U&lt;/b&gt;tilization &lt;b&gt;S&lt;/b&gt;ystem.&lt;br /&gt;&lt;br /&gt;Um excelente pacote para Linux que permite extrair qualquer tipo de informação de utilização de rede, na camada 4 (serviços, TCP).&lt;br /&gt;O daemon argus gera log de todo o tráfego de rede (em um PIPE ou arquivo). Através de ferramentas Argus Clients (ra, Read Argus), em conjunto com a biblioteca RRDTool, geração de gráficos PNG (a mesma do MRTG), permite extrair gráficos de utilização de cada host de sua rede interna, de qualquer serviço TCP em específico, etc.&lt;br /&gt;A imaginação é o limite.&lt;br /&gt;&lt;br /&gt;Atenção! O rapgraph (script em perl para gerar gráficos a partir do log da Argus) solicita geração de GIF ao RRD, que não é mais suportado. É necessário alterar os fontes para gerar PNG.&lt;br /&gt;&lt;br /&gt;Confira:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.qosient.com/argus/"&gt;http://www.qosient.com/argus/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="standardText"&gt;&lt;/span&gt;&lt;a href="http://oss.oetiker.ch/rrdtool/"&gt;http://oss.oetiker.ch/rrdtool/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-6742787610949114995?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/6742787610949114995/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=6742787610949114995' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/6742787610949114995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/6742787610949114995'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2007/08/auditoria-de-rede-argus.html' title='Auditoria de rede - ARGUS'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-1601494751717137941</id><published>2007-07-27T13:16:00.000-07:00</published><updated>2007-07-27T13:18:15.015-07:00</updated><title type='text'>Administração DNS e afins</title><content type='html'>Uma ótima ferramenta online para testar vários aspectos de seu servidor DNS. No site também existem várias outras ferramentas, como checagem em TODAS as lista negras de SPAM de um determinado IP, tempo de resposta de DNS, ping, traceroute entre outros.&lt;br /&gt;Uma ótima pedida para adminstradores de servidores Intenet:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dnsstuff.com"&gt;http://www.dnsstuff.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Por apenas US$ 3 ao mês, acesso ilimitado. Estou considerando seriamente em fazer uma assinatura!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-1601494751717137941?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/1601494751717137941/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=1601494751717137941' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/1601494751717137941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/1601494751717137941'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2007/07/administrao-dns-e-afins.html' title='Administração DNS e afins'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-4116219645254456731</id><published>2007-07-24T07:37:00.001-07:00</published><updated>2007-07-24T07:40:41.224-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wireless 5ghz radio link ethernet'/><title type='text'>Wireless 5Ghz</title><content type='html'>Para links wireless outdoor onde a qualidade e disponibilidade são quesitos necessários (VPN's), o ideal é utlizar enlaces de 5Ghz, ao invés do 2.4Ghz (WiMAX), que deveriam ser apenas utilizados em ambientes indoor.&lt;br /&gt;Aqui no Brasil presenciei a aquisição e instalação de equipamentos Terabeam, com sucesso. Recomendo.&lt;br /&gt;O Terabeam Marquee é um módulo único que engloba antena, roteador, NAT, QOS, segurança e proteção elétrica (surge protector). Sua alimentação é através de POE (Power Over Ethernet), facilitando ainda mais a instalção. A BrazilianSat é um dos distribuidores nacionais:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.terabeam.com"&gt;http://www.terabeam.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.braziliansat.com.br/portal/index.php"&gt;http://www.braziliansat.com.br/portal/index.php&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.braziliansat.com.br/portal/modules/Produtos/marquee60.html"&gt;http://www.braziliansat.com.br/portal/modules/Produtos/marquee60.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-4116219645254456731?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/4116219645254456731/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=4116219645254456731' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/4116219645254456731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/4116219645254456731'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2007/07/wireless-5ghz.html' title='Wireless 5Ghz'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-3927085964675394803</id><published>2007-07-17T11:57:00.000-07:00</published><updated>2007-07-17T12:00:04.167-07:00</updated><title type='text'>Bill Shupp Qmail Patch</title><content type='html'>Para um servidor de e-mail robusto e com todos os patchs necessários, uma ótima dica:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.shupp.org/"&gt;http://www.shupp.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bill Shupp além de ter disponibilizado um ótimo patch, oferece também um how-to completo para instalação de todos os pacotes necessários para um servidor de e-mail.&lt;br /&gt;O atendimento comercial (instalação e suporte) também é de qualidade!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-3927085964675394803?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/3927085964675394803/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=3927085964675394803' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/3927085964675394803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/3927085964675394803'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2007/07/bill-shupp-qmail-patch.html' title='Bill Shupp Qmail Patch'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-7742668828399972802</id><published>2007-07-13T05:26:00.000-07:00</published><updated>2007-07-17T12:00:22.399-07:00</updated><title type='text'>Search Engine-Friendly URLs</title><content type='html'>Friendly URLs acabam com URLs cheias de "?" e "&amp;amp;" deixando-as mais agradáveis e amigáveis, tanto para pessoas quanto para mecanismos de buscas.&lt;br /&gt;&lt;br /&gt;Ótimo artigo que me ensinou à usar isso de maneira fácil e prática, com o Apache: &lt;a href="http://www.sitepoint.com/article/search-engine-friendly-urls/1"&gt;http://www.sitepoint.com/article/search-engine-friendly-urls/1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-7742668828399972802?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/7742668828399972802/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=7742668828399972802' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/7742668828399972802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/7742668828399972802'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2007/07/search-engine-friendly-urls-timo-artigo.html' title='Search Engine-Friendly URLs'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-3404646962304854559</id><published>2007-07-13T04:27:00.000-07:00</published><updated>2007-07-13T04:32:24.985-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pop'/><category scheme='http://www.blogger.com/atom/ns#' term='smtp'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fetchmail'/><title type='text'>Fetchmail</title><content type='html'>&lt;span style="font-family:courier new,monospace;"&gt;Exemplo prático de utilização de Fetchmail:&lt;br /&gt;&lt;br /&gt;Pega todos os e-mails do usuário &lt;span style="font-weight: bold;"&gt;&lt;a href="mailto:teste@kaerea.com.br" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;teste@dominio.com.br&lt;/a&gt;&lt;/span&gt; em &lt;span style="font-weight: bold;"&gt;&lt;a href="http://pop.kaerea.com.br/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt; pop.dominio.com.br&lt;/a&gt;&lt;/span&gt;, entrega para &lt;span style="font-weight: bold;"&gt;&lt;a href="mailto:marcio.gh@kaerea.com.br" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;marcio.gh@dominio.com.br&lt;/a&gt;&lt;/span&gt;, usando o SMTP &lt;span style="font-weight: bold;"&gt;localhost:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; fetchmail -v -p POP3 -k -S localhost --smtpname "&lt;a href="mailto:marcio.gh@kaerea.com.br" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;marcio.gh@dominio.com.br&lt;/a&gt;" -u "&lt;a href="mailto:teste@kaerea.com.br" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;teste@dominio.com.br&lt;/a&gt;" &lt;a href="http://pop.kaerea.com.br/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt; pop.dominio.com.br&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;  o "-k" é pra manter as mensagens no servidor pop&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-3404646962304854559?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/3404646962304854559/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=3404646962304854559' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/3404646962304854559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/3404646962304854559'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2007/07/fetchmail.html' title='Fetchmail'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1136213054088206441.post-269418627328870181</id><published>2007-07-13T04:23:00.000-07:00</published><updated>2007-07-17T12:00:41.328-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='e-commerce'/><category scheme='http://www.blogger.com/atom/ns#' term='correios'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='sedex'/><title type='text'>Cálculo de frete pelos Correios</title><content type='html'>Cálculo de Sedex online pelo site dos Correios, via XML:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.correios.com.br/encomendas/precos/calculo.cfm?resposta=xml&amp;servico=40010&amp;amp;cepOrigem=17012-350&amp;cepDestino=01102-000&amp;amp;peso=0.31" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://www.correios.com.br&lt;wbr&gt;/encomendas/precos/calculo.cfm&lt;wbr&gt;?resposta=xml&amp;servico=40010&lt;wbr&gt;&amp;amp;cepOrigem=17012-350&amp;cepDestino&lt;wbr&gt;=01102-000&amp;amp;peso=0.31 &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Mão na roda!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1136213054088206441-269418627328870181?l=marcio-gh.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcio-gh.blogspot.com/feeds/269418627328870181/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1136213054088206441&amp;postID=269418627328870181' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/269418627328870181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1136213054088206441/posts/default/269418627328870181'/><link rel='alternate' type='text/html' href='http://marcio-gh.blogspot.com/2007/07/clculo-de-frete-pelos-correios.html' title='Cálculo de frete pelos Correios'/><author><name>Marcio Ghiraldelli</name><uri>http://www.blogger.com/profile/04265117983401981299</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_VakfO9VowcE/SS6xQ-1LtpI/AAAAAAAAAGQ/FS7zp_wo2Yg/S220/marcio_gh.jpg'/></author><thr:total>1</thr:total></entry></feed>
