<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0UGRXs4eip7ImA9WhRbGU0.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020</id><updated>2012-02-10T19:27:04.532-02:00</updated><category term="Twitter" /><category term="JavaEE" /><category term="Microsoft" /><category term="Seguranca" /><category term="English" /><category term="Lazer" /><category term="ApacheConUS08" /><category term="Heroes" /><category term="JustJava" /><category term="Acer" /><category term="Java" /><category term="Oi Velox" /><category term="JavaOne" /><category term="Protesto" /><category term="Web" /><category term="CouchDB" /><category term="Tomcat" /><category term="Censura" /><category term="CQC" /><category term="Linux" /><category term="Geral" /><category term="Wicket" /><category term="Tutoriais" /><category term="Software" /><category term="JSF" /><category term="Camel" /><category term="Apache" /><category term="ApacheCon" /><category term="Android" /><category term="Geek Stuff" /><title>B3</title><subtitle type="html">Blog do Bruno Borges</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.brunoborges.com.br/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.brunoborges.com.br/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>158</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/BlogDoBrunoBorges" /><feedburner:info uri="blogdobrunoborges" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" /><logo>http://creativecommons.org/images/public/somerights20.gif</logo><feedburner:emailServiceId>BlogDoBrunoBorges</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;DEIESHs7eyp7ImA9WhdVGEo.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-324820039804480712</id><published>2011-09-24T12:01:00.004-03:00</published><updated>2011-09-24T12:01:49.503-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-24T12:01:49.503-03:00</app:edited><title>Equilíbrio Financeiro e o Princípio 80/20</title><content type="html">Esta é uma tradução livre do artigo "&lt;a href="http://www.thesimpledollar.com/2011/09/20/financial-balance-and-the-8020-rule/"&gt;Financial Balance and the 80/20 Rule&lt;/a&gt;" que nos faz pensar e refletir a respeito de quanto gastamos, em termos financeiros e de tempo, com coisas desnecessárias no nosso dia-a-dia.&lt;br /&gt;
&lt;br /&gt;
Uma das coisas mais fascinantes que descobri foi a regra do 80/20, também conhecida como &lt;a href="http://pt.wikipedia.org/wiki/Princ%C3%ADpio_de_Pareto"&gt;Princípio de Pareto&lt;/a&gt;. Ela significa que 80% dos efeitos vem de 20% das causas.&lt;br /&gt;
&lt;br /&gt;
Talvez seja mais fácil explicar este princípio dando exemplos de como ele aparece na minha vida, dia após dia, e como posso usar meu entendimento sobre ele a meu favor.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;80% da conta do supermercado vem de 20% dos itens comprados.&lt;/b&gt; Seu eu pegar uma conta típica e olhar apenas para os itens mais caros, estes terão o custo de 80% do valor total da compra.&lt;br /&gt;
&lt;br /&gt;
Ou seja, &lt;b&gt;se eu quiser economizar dinheiro no supermercado&lt;/b&gt;, &lt;b&gt;eu devo controlar estes itens&lt;/b&gt;. Este produto caro é realmente necessário na minha lista?&lt;br /&gt;
&lt;br /&gt;
Você não economiza dinheiro reduzindo itens que custam menos de R$ 1,00. Você economiza dinheiro deixando de comprar (ou substituindo por um equivalente mais abrato) os itens acima de R$ 10,00.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Uso somente 20% das roupas que tenho para me vestir em 80% do tempo.&lt;/b&gt;&amp;nbsp;Eu geralmente rotaciono por 5 calças/bermudas e mais ou menos 8 camisetas, enquanto alguma peça não ficar totalmente desgastada. Se eu observar meu guarda-roupas, possuo muito mais roupas que isso.&lt;br /&gt;
&lt;br /&gt;
Então por que comprar? Por que possuir mais? 8 camisetas e 5 calças/bermudas me dão 40 combinações de vestimentas - e mais se eu combinar duas camisetas num estilo "dupla-camada".&lt;br /&gt;
&lt;br /&gt;
Ou seja, eu não compro roupa a não ser que estejam em liquidação. Se de qualquer forma eu pegar uma nova peça de roupa, esta irá aguardar para entrar na lista de roupas mais usadas até o dia que uma outra peça for jogada fora.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;80% do meu tempo em casa é gasto em somente 20% do espaço. &lt;/b&gt;Pense a respeito. Quanto tempo você gasta na sua cama? Quanto tempo você gasta na sua poltrona ou cadeira favorita? Para a maioria de nós, estes lugares gastam a maior parte do nosso tempo.&lt;br /&gt;
&lt;br /&gt;
Eu gasto a maior parte do meu tempo em casa sentado no escritório, dormindo na minha cama, ou no sofá da sala. Gasto pouquíssimo tempo nos outros cantos da casa.&lt;br /&gt;
&lt;br /&gt;
A única razão para ter uma casa maior é para ter mais espaço para guardar coisas.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;80% do meu lazer vem de 20% da minha coleção. &lt;/b&gt;Eu costumo reler meus livros favoritos, ouvir novamente minhas músicas prediletas, ou assistir outra vez aos meus filmes e séries de TV favoritos.&lt;br /&gt;
&lt;br /&gt;
Ter percebido isso me fez buscar formas gratuitas ou mais baratas de me expôr a novas mídias. Prefiro ir à biblioteca, assistir a vídeos online ou a ler capítulos grátis de livros digitais nos quais estou interessado.&lt;br /&gt;&lt;br /&gt;
Desta forma, não estou gastando dinheiro em algo que não está se conectando profundamente a mim.&lt;br /&gt;
&lt;br /&gt;
Colocando de outra forma, &lt;b&gt;a realidade do meu comportamento me leva à &lt;a href="http://reinehr.org/bem-estar/abecedario-da-vida-simples/frugalidade"&gt;frugalidade&lt;/a&gt;. &lt;/b&gt;Eu só preciso sentar, olhar para o que estou fazendo, e tomar decisões financeiras de acordo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-324820039804480712?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=jIhLO2IjnoY:Eau6nxwDYNA:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=jIhLO2IjnoY:Eau6nxwDYNA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=jIhLO2IjnoY:Eau6nxwDYNA:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=jIhLO2IjnoY:Eau6nxwDYNA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=jIhLO2IjnoY:Eau6nxwDYNA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/jIhLO2IjnoY" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=324820039804480712&amp;isPopup=true" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/324820039804480712?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/324820039804480712?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/jIhLO2IjnoY/equilibrio-financeiro-e-o-principio.html" title="Equilíbrio Financeiro e o Princípio 80/20" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2011/09/equilibrio-financeiro-e-o-principio.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEFSH4_eSp7ImA9WhdXFkk.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-617532520342999633</id><published>2011-08-29T15:46:00.000-03:00</published><updated>2011-08-29T15:46:59.041-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-29T15:46:59.041-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><title>Java 7 Release and the JIT compiler bug</title><content type="html">Quotation from Java Performance Tuning newsletter:&lt;br /&gt;
&lt;br /&gt;
"&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: arial, sans-serif; font-size: 13px;"&gt;Java 7 was released with a JIT compiler bug. This should not be an&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: arial, sans-serif; font-size: 13px;"&gt;issue for the Java performance community - if you have a performance&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: arial, sans-serif; font-size: 13px;"&gt;problem, you haven't been waiting for Java 7 to fix it for you,&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: arial, sans-serif; font-size: 13px;"&gt;you've been busy analysing and fixing it yourself; and if you&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: arial, sans-serif; font-size: 13px;"&gt;don't have any performance problems, you aren't about to upgrade&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: arial, sans-serif; font-size: 13px;"&gt;your productions systems to Java 7 on the very first release!&lt;/span&gt;"&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;So true&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-617532520342999633?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=oRqyb46thP4:co_3C1eE_X4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=oRqyb46thP4:co_3C1eE_X4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=oRqyb46thP4:co_3C1eE_X4:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=oRqyb46thP4:co_3C1eE_X4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=oRqyb46thP4:co_3C1eE_X4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/oRqyb46thP4" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=617532520342999633&amp;isPopup=true" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/617532520342999633?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/617532520342999633?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/oRqyb46thP4/java-7-release-and-jit-compiler-bug.html" title="Java 7 Release and the JIT compiler bug" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2011/08/java-7-release-and-jit-compiler-bug.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMFSX49fip7ImA9WhdQFUw.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-1213051396295255753</id><published>2011-08-16T15:13:00.000-03:00</published><updated>2011-08-16T15:13:38.066-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-16T15:13:38.066-03:00</app:edited><title>4MyFan: idéia excelente, de SCAM</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-4GtzCQjn9V8/TkqyonwfY8I/AAAAAAAAH0w/a_nqYwO1D44/s1600/4myfan-logo.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-4GtzCQjn9V8/TkqyonwfY8I/AAAAAAAAH0w/a_nqYwO1D44/s1600/4myfan-logo.png" /&gt;&lt;/a&gt;&lt;/div&gt;Um amigo me passou esse site, &lt;a href="http://www.4myfan.com/"&gt;4MyFan&lt;/a&gt;, que se diz ser uma &lt;i&gt;Rede Social Financeira. &lt;/i&gt;Isso me leva a crer duas coisas:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&amp;nbsp;o hype de redes sociais começou a ir longe demais&lt;/li&gt;
&lt;li&gt;tem imbecil pra tudo nesse mundo&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
Para cada amigo que você convidar, este deve pagar &lt;b&gt;US$ 10,00&lt;/b&gt;. Deste valor, você ganha &lt;b&gt;50%&lt;/b&gt;, ou &lt;b&gt;US$ 5,00&lt;/b&gt;. A outra metade fica para o site.&amp;nbsp;Sem contar que o &lt;i&gt;&lt;b&gt;PagSeguro&lt;/b&gt;&lt;/i&gt; ainda leva &lt;b&gt;7%&lt;/b&gt; do valor. Ou seja, você recebe no final das contas algo em torno de&lt;b&gt; US$ 4,50&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Minha sugestão a quem quer ser ajudado por amigos: coloquem num blog o número da conta de vocês, e peçam aos seus amigos para transferirem um trocado, algo como R$ 10,00.&lt;br /&gt;
&lt;br /&gt;
É ridículo dar dinheiro a um site, para que ele transfira 50% para um amigo seu, apenas para que você faça parte da "rede social financeira".&lt;br /&gt;
&lt;br /&gt;
O dono da idéia não sei quem é, mas o cara que registrou o domínio é esse:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Registrado por RedeHost&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Acesse: www.redehost.com.br&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Domain Name: 4MYFAN.COM&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Registrant:&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; -&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; Artenio Batista da Silva Junior &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(info@redehost.com.br)&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; rua 1132, 322, qD 242 B&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; marista&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; goiania&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; GO,74180110&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; BR&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; Tel. +55.6232418840&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Creation Date: 01-Feb-2011 &amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Expiration Date: 01-Feb-2012&lt;/span&gt;&lt;/i&gt;&lt;/blockquote&gt;&lt;div&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/9203187650123315020-1213051396295255753?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=jpooqjUkhnE:-p_y-mruyIg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=jpooqjUkhnE:-p_y-mruyIg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=jpooqjUkhnE:-p_y-mruyIg:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=jpooqjUkhnE:-p_y-mruyIg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=jpooqjUkhnE:-p_y-mruyIg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/jpooqjUkhnE" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=1213051396295255753&amp;isPopup=true" title="1 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/1213051396295255753?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/1213051396295255753?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/jpooqjUkhnE/4myfan-ideia-excelente-de-scam.html" title="4MyFan: idéia excelente, de SCAM" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-4GtzCQjn9V8/TkqyonwfY8I/AAAAAAAAH0w/a_nqYwO1D44/s72-c/4myfan-logo.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2011/08/4myfan-ideia-excelente-de-scam.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUERXczfCp7ImA9WhdRGU0.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-8508550283724572385</id><published>2011-08-09T12:01:00.001-03:00</published><updated>2011-08-09T12:03:24.984-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-09T12:03:24.984-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Wicket" /><title>Participações em eventos de 2011</title><content type="html">O ano de 2011 está agitado para mim.&lt;br /&gt;
&lt;br /&gt;
Já estive no &lt;b&gt;JustJava&lt;/b&gt;, no &lt;b&gt;The Developers Conference&lt;/b&gt; (edição São Paulo) e na próxima semana estarei presente no &lt;b&gt;TDC Florianópolis&lt;/b&gt;. Em Setembro ainda tenho o &lt;b&gt;QCon&lt;/b&gt;, evento do InfoQ-Caelum. E sobre o quê tenho falado? &lt;b&gt;Apache Wicket&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
O desenvolvimento Web em Java deixou de ser lento, e nestas minhas palestras, apresento uma proposta diferente. Programadores e Web Designers trabalhando em conjunto sem que um prejudique ao outro.&lt;br /&gt;
&lt;br /&gt;
Foi-se o tempo que a separação de camadas se dava apenas na programação. Chegou a hora de separar também o trabalho do designer e o do programador. Afinal, o web designer é quem entende bem de CSS, efeitos, &lt;i&gt;web fonts&lt;/i&gt; e UX. &amp;nbsp;No meu post "&lt;a href="http://blog.brunoborges.com.br/2011/07/what-are-web-frameworks-missing.html"&gt;What are web frameworks missing?&lt;/a&gt;" detalho melhor este tema.&lt;br /&gt;
&lt;br /&gt;
Mas voltando aos eventos, segue a programação para quem quiser saber mais:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The Developers Conference - edição Florianópolis&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Data:&lt;/b&gt; 20 de Agosto de 2011 - 13:10 na trilha Java&lt;br /&gt;
&lt;a href="http://www.thedevelopersconference.com.br/tdc/2011/florianopolis/trilha-java#programacao"&gt;saiba mais&lt;/a&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;b&gt;QCon&lt;/b&gt; - São Paulo&lt;br /&gt;
&lt;b&gt;Data:&lt;/b&gt; 10 de Setembro de 2011 - 18:10&lt;br /&gt;
&lt;a href="http://www.qcon.com.br/palestra/bruno-borges/java-mais-agil-que-nunca-no-desenvolvimento-web"&gt;saiba mais&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
E se quiser se aprofundar mais, confira o &lt;a href="http://www.cursodewicket.com/"&gt;Curso de Apache Wicket&lt;/a&gt; que lancei este mês. O curso começa no dia 4 de Setembro.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-8508550283724572385?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=nIyG6xAa_lA:V98LNmfhj9k:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=nIyG6xAa_lA:V98LNmfhj9k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=nIyG6xAa_lA:V98LNmfhj9k:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=nIyG6xAa_lA:V98LNmfhj9k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=nIyG6xAa_lA:V98LNmfhj9k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/nIyG6xAa_lA" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=8508550283724572385&amp;isPopup=true" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/8508550283724572385?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/8508550283724572385?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/nIyG6xAa_lA/participacoes-em-eventos-de-2011.html" title="Participações em eventos de 2011" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2011/08/participacoes-em-eventos-de-2011.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UGQn06eSp7ImA9WhdRGU0.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-1102799946999328838</id><published>2011-08-09T11:47:00.000-03:00</published><updated>2011-08-09T11:47:03.311-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-09T11:47:03.311-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Wicket" /><title>Curso de Apache Wicket</title><content type="html">Lancei ontem o &lt;b&gt;&lt;a href="http://www.cursodewicket.com/"&gt;Curso de Apache Wicket&lt;/a&gt;&lt;/b&gt;, para iniciantes e para aqueles que já utilizam. O curso será ministrado &lt;b&gt;online&lt;/b&gt;&amp;nbsp;através de uma ferramenta com compartilhamento de tela e chat. Serão ao todo 4 aulas com duração de 3 horas e meia.&lt;br /&gt;
&lt;br /&gt;
Durante o curso, os alunos construirão uma aplicação completa, integrada ao Spring, paginação e outras funções em Ajax. Os interessados podem se inscrever pelo site &lt;a href="http://www.cursodewicket.com/"&gt;www.cursodewicket.com&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Valor:&lt;/b&gt; R$ 389,00&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;4 de Setembro: &lt;/b&gt;9:30 - 13:00&lt;br /&gt;
&lt;b&gt;11 de Setembro:&amp;nbsp;&lt;/b&gt;9:30 - 13:00&lt;br /&gt;
&lt;b&gt;18 de Setembro:&lt;/b&gt;&amp;nbsp;9:30 - 13:00&lt;br /&gt;
&lt;b&gt;25 de Setembro:&amp;nbsp;&lt;/b&gt;9:30 - 13:00&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-1102799946999328838?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=VrHRCEmIuEg:Z5ufp9PgyZI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=VrHRCEmIuEg:Z5ufp9PgyZI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=VrHRCEmIuEg:Z5ufp9PgyZI:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=VrHRCEmIuEg:Z5ufp9PgyZI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=VrHRCEmIuEg:Z5ufp9PgyZI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/VrHRCEmIuEg" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=1102799946999328838&amp;isPopup=true" title="3 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/1102799946999328838?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/1102799946999328838?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/VrHRCEmIuEg/curso-de-apache-wicket.html" title="Curso de Apache Wicket" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2011/08/curso-de-apache-wicket.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EGQHo6cSp7ImA9WhdRF0U.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-2354399287065231440</id><published>2011-08-08T04:47:00.000-03:00</published><updated>2011-08-08T04:47:01.419-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-08T04:47:01.419-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><title>Run Activity with Intent without knowing the class</title><content type="html">I was having a problem this evening where I had to call an activity that I didn't want to know the class name.&amp;nbsp;My problem was exactly this: I have several activities, each with a String id. And in activity A I call goToScreen("b"); to load activity B.&lt;br /&gt;
&lt;br /&gt;
To make this work one need to do this:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;public void goToScreen(String id) {
  PackageManager pm = androidContext.getPackageManager();
  Intent intent = new Intent("com.myproject.screen."
    + id.toUpperCase());
  intent.addCategory(Intent.CATEGORY_DEFAULT);

  ResolveInfo ri = pm.resolveActivity(intent,
    PackageManager.MATCH_DEFAULT_ONLY);

  if (ri != null) {
   Intent i = new Intent();
   i.setClassName(ri.activityInfo.applicationInfo.packageName,
     ri.activityInfo.name);
   androidContext.startActivity(i);
  }
 }
&lt;/pre&gt;&lt;br /&gt;
This code will call an activity mapped on AndroidManifest.xml like this:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;lt;activity android:label="@string/app_name" android:name=".AvisoActivity"&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp;&amp;lt;intent-filter&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;action android:name="com.myproject.screen.AVISO" /&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;category android:name="android.intent.category.DEFAULT" /&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/intent-filter&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;lt;/activity&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
The DEFAULT category is not optional, as one may think. If you don't put both references (Java and XML) of the category, this code won't work. I don't know if it's a bug at Android or just a non-documented feature (which is a bug to me, anyway).&lt;br /&gt;
&lt;br /&gt;
Also, don't forget to call &lt;b&gt;resolveActivity&lt;/b&gt;&amp;nbsp;with &lt;b&gt;MATCH_DEFAULT_ONLY&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
This is all for tonight and this blog post is more like of a reminder to myself. =)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-2354399287065231440?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=O_kf26s0GVk:daOc3I3g5Nc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=O_kf26s0GVk:daOc3I3g5Nc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=O_kf26s0GVk:daOc3I3g5Nc:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=O_kf26s0GVk:daOc3I3g5Nc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=O_kf26s0GVk:daOc3I3g5Nc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/O_kf26s0GVk" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=2354399287065231440&amp;isPopup=true" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/2354399287065231440?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/2354399287065231440?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/O_kf26s0GVk/run-activity-with-intent-without.html" title="Run Activity with Intent without knowing the class" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2011/08/run-activity-with-intent-without.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMARX47eip7ImA9WhdRFUw.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-5222232131577963364</id><published>2011-08-05T01:27:00.000-03:00</published><updated>2011-08-05T01:27:24.002-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-05T01:27:24.002-03:00</app:edited><title>Bug maldito</title><content type="html">&lt;span class="Apple-style-span" style="color: #111111; font-family: Arial, sans-serif; font-size: 20px; line-height: 30px;"&gt;Bug&amp;nbsp;maldito,&amp;nbsp;bug&amp;nbsp;maldito&lt;br style="outline-color: initial; outline-style: none; outline-width: initial;" /&gt;Ajuda&amp;nbsp;o&amp;nbsp;sistema&amp;nbsp;a&amp;nbsp;travar&lt;br style="outline-color: initial; outline-style: none; outline-width: initial;" /&gt;Nunca&amp;nbsp;desiste,&amp;nbsp;nunca&amp;nbsp;descansa&lt;br style="outline-color: initial; outline-style: none; outline-width: initial;" /&gt;Escondido!&lt;br style="outline-color: initial; outline-style: none; outline-width: initial;" /&gt;Ainda&amp;nbsp;vou&amp;nbsp;ter&amp;nbsp;que&amp;nbsp;encontrar&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #111111; font-family: Arial, sans-serif; font-size: 20px; line-height: 30px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #111111; font-family: Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 20px; line-height: 30px;"&gt;&lt;a href="http://www.youtube.com/watch?v=X3yGSJE53kU&amp;amp;feature=player_profilepage"&gt;original&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-5222232131577963364?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=XN8Nyg1KCw4:sUwsHX-3D60:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=XN8Nyg1KCw4:sUwsHX-3D60:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=XN8Nyg1KCw4:sUwsHX-3D60:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=XN8Nyg1KCw4:sUwsHX-3D60:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=XN8Nyg1KCw4:sUwsHX-3D60:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/XN8Nyg1KCw4" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=5222232131577963364&amp;isPopup=true" title="1 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/5222232131577963364?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/5222232131577963364?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/XN8Nyg1KCw4/bug-maldito.html" title="Bug maldito" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2011/08/bug-maldito.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQAR3s6fip7ImA9WhdTFEQ.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-2342834984250836615</id><published>2011-07-12T13:52:00.002-03:00</published><updated>2011-07-12T15:12:26.516-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-12T15:12:26.516-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Wicket" /><title>What are web frameworks missing?</title><content type="html">First of all: there's no perfect web framework. And it doesn't matter what technology, language or platform. But I finally have come to one thing that is really important. Something most web frameworks are missing, and something I believe, as many other developers that have already blogged about, is the future of the Web.&lt;br /&gt;
&lt;br /&gt;
Let's start with the consequence of the problem: the infinit fight between Web Designers and Web Developers. Designers and developers have been fighting for years within web development. And this happens because the work done by designers usually is "destroyed" by developers when they have to inject dynamic/logical code into the HTML, converting it to something like JSP, PHP, RHTML or a mix of Python and HTML. It doesn't matter the language.&lt;br /&gt;
&lt;br /&gt;
The problem is clear: what the designer did goes away. If he must update the design, even if the data structure won't change, most certainly you will have problems. He might break some logics, some code, and you will have to fix it. Then, you might also break some layouts and he will have to fix it. And you might go into a loop for a couple of days because of something that should be done in about hours.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 20px;"&gt;&lt;a href="http://sixrevisions.com/infographs/web-designers-vs-web-developers/" style="color: #006699; text-decoration: none;" target="_blank"&gt;&lt;img height="200" src="http://images.sixrevisions.com/2010/11/11-01_webdesigners_vs_webdevelopers_ld_img.jpg" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px;" width="550" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
We all talk about separating layers. But when it comes to designers vs developers, we really don't care about because we are trying to push an idea of programmers that are able to design just like designers, or designers able to code as programmers. That just won't happen. You may find one or two excellent professionals like that, but is not easy. Developers and designers have different way of thinking. The former has artistic creativity while the later has logical criativity. So if we, developers, are always saying "let's use the right tool for the right job", what's happening with the designer? His work is not being done in the right tool. I've seen designers with IDEs installed on their Macs because they have to run the project to see how it's looking like.&lt;br /&gt;
&lt;br /&gt;
What if he could simply use Coda or Dreamweaver or TextMate as he does but then just preview the damn HTML in the browser, which is the right tool for him? What if he could simply preview the code that will actually be send to the client? What if he could... do his work with the best tools available? The best tool for his&amp;nbsp;job.&lt;br /&gt;
&lt;br /&gt;
I believe in and code with a Web Framework that helps both Developers and Designers to execute their tasks with the best tools they know. A developer should concern on data, on logic, on security. A designer should concern on layout, design, colors, UX. And what one does should not break the work done by the other.&lt;br /&gt;
&lt;br /&gt;
Without mixing dynamic code with HTML, or even worse, replacing HTML elements with Tag Libraries (JSP, JSF and others), the designer can just open the HTML in the browser and see how is the prototype.&lt;br /&gt;
&lt;br /&gt;
You know that prototype your designer has worked on for a week to get approval from your customer? You can just use that with minimal changes, and the prototype can still be statically functional and also run in the server. If you get an email asking for a change in the layout, no problem. Ask your designer to change the HTML, he will preview in the browser, get approval from the customer, and your developer won't have to change a line.&lt;br /&gt;
&lt;br /&gt;
This is what Web Frameworks are missing.&amp;nbsp;This is what I'd like to see implemented in&amp;nbsp;&lt;b&gt;any&lt;/b&gt;&amp;nbsp;Web Framework.&amp;nbsp;This is what &lt;a href="http://wicket.apache.org/"&gt;Apache Wicket&lt;/a&gt; is providing.&lt;br /&gt;
&lt;br /&gt;
The rest is just scaffolding, templates and code generation.&lt;br /&gt;
&lt;br /&gt;
The future is of course static HTMLs, JavaScript and REST+JSON. Web frameworks are dead.&lt;br /&gt;
But until the future comes, let's just improve the web development process a little bit, shall we?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-2342834984250836615?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=noxBgPDHnJs:WhV-vKXQMzI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=noxBgPDHnJs:WhV-vKXQMzI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=noxBgPDHnJs:WhV-vKXQMzI:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=noxBgPDHnJs:WhV-vKXQMzI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=noxBgPDHnJs:WhV-vKXQMzI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/noxBgPDHnJs" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=2342834984250836615&amp;isPopup=true" title="4 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/2342834984250836615?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/2342834984250836615?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/noxBgPDHnJs/what-are-web-frameworks-missing.html" title="What are web frameworks missing?" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2011/07/what-are-web-frameworks-missing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAERX04fip7ImA9WhZaFEk.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-1285694344614595941</id><published>2011-06-30T11:16:00.001-03:00</published><updated>2011-06-30T11:21:44.336-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-30T11:21:44.336-03:00</app:edited><title>Google+ Huddle vs Kik Messenger</title><content type="html">Group messaging has never been so easy to use as with the new Google+ Huddle launched this week. The tool is well-coupled with Google+ Circles and all of your contacts which makes it easy to start chatting with specific groups of people you can relate based on the subject of your messages.&lt;br /&gt;
&lt;br /&gt;
We've already seen apps like this before. Kik Messenger is one of them, if not the most used one, specially for iPhone users. The adoption however within mobile users was low. Facebook didn't even tried to do that but failed because its Facebook Groups is not as good as Google+ Circles.&lt;br /&gt;
&lt;br /&gt;
And why will Huddle succeed where Facebook and Kik Messenger failed before? First because Google is Google, and everybody has a Google account. To start a group chat on Kik, all of your friends must sign up first, hence the problem with adoption. Something Google don't have to worry about. Second, because Facebook wants - &lt;i&gt;needs&lt;/i&gt;&amp;nbsp;- to have all information its users publish be public available.&lt;br /&gt;
&lt;br /&gt;
The Huddle app, although very similar to Kik Messenger, has greater potential.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-CJq16k_WVAY/TgyD7UaEbFI/AAAAAAAAGPU/QNg5aZ9rXWo/s1600/huddle-kik-icons.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-CJq16k_WVAY/TgyD7UaEbFI/AAAAAAAAGPU/QNg5aZ9rXWo/s1600/huddle-kik-icons.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;i&gt;Icons&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-WXbB28HR_8I/TgyD8mD2OjI/AAAAAAAAGPY/Z8odTVQtAW8/s1600/huddle-kik-chats.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="119" src="http://3.bp.blogspot.com/-WXbB28HR_8I/TgyD8mD2OjI/AAAAAAAAGPY/Z8odTVQtAW8/s320/huddle-kik-chats.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Group chats&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-gWefiekFSdM/TgyD-uVYeRI/AAAAAAAAGPc/z4J5FqxB7BI/s1600/huddle-kik-chat-message.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="266" src="http://3.bp.blogspot.com/-gWefiekFSdM/TgyD-uVYeRI/AAAAAAAAGPc/z4J5FqxB7BI/s320/huddle-kik-chat-message.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;i&gt;A chat&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;div&gt;&lt;b&gt;UPDATE: &lt;/b&gt;It seems Huddle is not a new project from Google. Actually, they came with this back in 2008 and it almost killed &lt;b&gt;37signals&lt;/b&gt;' group messaging tool &lt;a href="http://www.campfirenow.com/"&gt;&lt;b&gt;Campfire&lt;/b&gt;&lt;/a&gt;. &lt;a href="http://www.businessinsider.com/2008/4/google-to-37signals-sorry-we-sort-of-stole-your-app"&gt;Read the article&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-1285694344614595941?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=bjGPbO39Zqg:2YR0ClPKNFg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=bjGPbO39Zqg:2YR0ClPKNFg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=bjGPbO39Zqg:2YR0ClPKNFg:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=bjGPbO39Zqg:2YR0ClPKNFg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=bjGPbO39Zqg:2YR0ClPKNFg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/bjGPbO39Zqg" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=1285694344614595941&amp;isPopup=true" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/1285694344614595941?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/1285694344614595941?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/bjGPbO39Zqg/google-huddle-vs-kik-messenger.html" title="Google+ Huddle vs Kik Messenger" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-CJq16k_WVAY/TgyD7UaEbFI/AAAAAAAAGPU/QNg5aZ9rXWo/s72-c/huddle-kik-icons.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2011/06/google-huddle-vs-kik-messenger.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQASH44fip7ImA9WhZVF0U.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-4794213365222643005</id><published>2011-05-30T16:20:00.001-03:00</published><updated>2011-05-30T16:22:29.036-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-30T16:22:29.036-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Twitter" /><title>Twitter email notification</title><content type="html">Today was the last time I complained about Twitter's email notification design for, at least, direct messages. The position of username and avatar calls for my attention and everytime I look at it, I find myself searching for the message one has sent to me.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;The actual design&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-S7hRmO68mW4/TePtEJccfeI/AAAAAAAAGLQ/E1rClT6Z_aQ/s1600/twitter-old-dm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="297" src="http://3.bp.blogspot.com/-S7hRmO68mW4/TePtEJccfeI/AAAAAAAAGLQ/E1rClT6Z_aQ/s400/twitter-old-dm.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Look at all that whitespace. Sure there's nothing can do about it? At first look, one will look at the avatar, and suddenly, will have to go backwards to find what that person had sent you.&lt;br /&gt;
&lt;br /&gt;
So, I've made one little change.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;The new design&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-LeElULTY1Rw/TePtnc1BD7I/AAAAAAAAGLU/mNhk4Oq3AMo/s1600/twitter-new-dm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="316" src="http://3.bp.blogspot.com/-LeElULTY1Rw/TePtnc1BD7I/AAAAAAAAGLU/mNhk4Oq3AMo/s400/twitter-new-dm.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Now this design has a better flow of information and still takes advantage of space for long messages and names.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Please Twitter, fix it.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
You are &lt;b&gt;killing&lt;/b&gt; my eyes one DM at a time...&lt;br /&gt;
&lt;br /&gt;
Thank you.&lt;br /&gt;
Bruno Borges&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-4794213365222643005?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=9A3A0EMBALg:bnebUxF3r4c:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=9A3A0EMBALg:bnebUxF3r4c:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=9A3A0EMBALg:bnebUxF3r4c:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=9A3A0EMBALg:bnebUxF3r4c:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=9A3A0EMBALg:bnebUxF3r4c:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/9A3A0EMBALg" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=4794213365222643005&amp;isPopup=true" title="2 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/4794213365222643005?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/4794213365222643005?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/9A3A0EMBALg/twitter-email-notification.html" title="Twitter email notification" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-S7hRmO68mW4/TePtEJccfeI/AAAAAAAAGLQ/E1rClT6Z_aQ/s72-c/twitter-old-dm.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2011/05/twitter-email-notification.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIDR3s6cSp7ImA9WhZTF04.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-3116383897124575745</id><published>2011-03-21T16:59:00.002-03:00</published><updated>2011-03-21T16:59:36.519-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-21T16:59:36.519-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Tomcat" /><title>Apache Tomcat 7: Bibliotecas Compartilhadas</title><content type="html">Publiquei no Lado Servidor uma dica boa pra quem usa Tomcat 7.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://goo.gl/WDIPb"&gt;Confere lá&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-3116383897124575745?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=LrnZBpBgPtk:LkEF9mDX3L8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=LrnZBpBgPtk:LkEF9mDX3L8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=LrnZBpBgPtk:LkEF9mDX3L8:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=LrnZBpBgPtk:LkEF9mDX3L8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=LrnZBpBgPtk:LkEF9mDX3L8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/LrnZBpBgPtk" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=3116383897124575745&amp;isPopup=true" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/3116383897124575745?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/3116383897124575745?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/LrnZBpBgPtk/apache-tomcat-7-bibliotecas.html" title="Apache Tomcat 7: Bibliotecas Compartilhadas" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2011/03/apache-tomcat-7-bibliotecas.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkAEQno_cSp7ImA9Wx9VFkQ.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-8485289832026246213</id><published>2011-02-02T22:58:00.000-02:00</published><updated>2011-02-02T22:58:23.449-02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-02T22:58:23.449-02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Acer" /><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft" /><title>Microsoft does it again</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_9SiSmlCW-48/TUn9aNldvkI/AAAAAAAAGGU/Lwksphn3FqQ/s1600/gates-ballmer-acer-slash-keyboard.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_9SiSmlCW-48/TUn9aNldvkI/AAAAAAAAGGU/Lwksphn3FqQ/s1600/gates-ballmer-acer-slash-keyboard.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Yeap, by &lt;a href="http://www.twitter.com/brunoborges"&gt;@brunoborges&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-8485289832026246213?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=2gzz2NlcZkg:ABRrISfReU4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=2gzz2NlcZkg:ABRrISfReU4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=2gzz2NlcZkg:ABRrISfReU4:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=2gzz2NlcZkg:ABRrISfReU4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=2gzz2NlcZkg:ABRrISfReU4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/2gzz2NlcZkg" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=8485289832026246213&amp;isPopup=true" title="2 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/8485289832026246213?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/8485289832026246213?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/2gzz2NlcZkg/microsoft-does-it-again.html" title="Microsoft does it again" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_9SiSmlCW-48/TUn9aNldvkI/AAAAAAAAGGU/Lwksphn3FqQ/s72-c/gates-ballmer-acer-slash-keyboard.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2011/02/microsoft-does-it-again.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QMSHk7cSp7ImA9Wx9VFUU.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-774535245184378121</id><published>2011-02-01T14:59:00.008-02:00</published><updated>2011-02-01T16:36:29.709-02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-01T16:36:29.709-02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><title>BlocoDroid: Carnaval de Rua Rio 2011</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_9SiSmlCW-48/TUg64dmpugI/AAAAAAAAGGI/xYanrZWki1Y/s1600/snap20110201_143740.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_9SiSmlCW-48/TUg64dmpugI/AAAAAAAAGGI/xYanrZWki1Y/s320/snap20110201_143740.png" width="192" /&gt;&lt;/a&gt;&lt;/div&gt;Hoje estréia no Android Market, minha primeira aplicação para Android. O &lt;b&gt;BlocoDroid&lt;/b&gt;&amp;nbsp;é um guia da programação do Carnaval de Rua 2011 do Rio de Janeiro, com a lista de todos os blocos anunciados no Diário do Rio.&lt;br /&gt;
&lt;br /&gt;
Útil para os folióids que não querem perder de vista os melhores blocos do Rio, mas também útil para aqueles que querem escapar dos engarrafamentos e bagunças causadas nessa época do ano. :-)&lt;br /&gt;
&lt;br /&gt;
Para baixar o aplicativo, use o Barcode Scanner para instalar o programa no seu celular, com o QR Code acima. Ou pesquise por &lt;b&gt;BlocoDroid &lt;/b&gt;no seu Android Market.&lt;br /&gt;
&lt;br /&gt;
E bom Carnaval pra você!!&lt;br /&gt;
&lt;br /&gt;
&lt;div id='app30' class='appbrain-app'&gt;&lt;a href='http://www.appbrain.com/app/blocodroid/br.com.jawsys.mobile.blocodroid' style='font-size: 11px; color: #555; font-family: Arial, sans-serif;'&gt;BlocoDroid for Android on AppBrain&lt;/a&gt;&lt;/div&gt;&lt;script type='text/javascript' language='javascript' src='http://www.appbrain.com/api/api.nocache.js'&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-774535245184378121?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=aCni4hu8lE0:yG_yJbeW3nM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=aCni4hu8lE0:yG_yJbeW3nM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=aCni4hu8lE0:yG_yJbeW3nM:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=aCni4hu8lE0:yG_yJbeW3nM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=aCni4hu8lE0:yG_yJbeW3nM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/aCni4hu8lE0" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=774535245184378121&amp;isPopup=true" title="4 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/774535245184378121?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/774535245184378121?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/aCni4hu8lE0/bloco-droid-carnaval-de-rua-rio-2011.html" title="BlocoDroid: Carnaval de Rua Rio 2011" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_9SiSmlCW-48/TUg64dmpugI/AAAAAAAAGGI/xYanrZWki1Y/s72-c/snap20110201_143740.png" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2011/02/bloco-droid-carnaval-de-rua-rio-2011.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAMQ3s4cSp7ImA9Wx9REEk.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-2784739837460353149</id><published>2010-12-11T02:55:00.003-02:00</published><updated>2010-12-11T03:03:02.539-02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-11T03:03:02.539-02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="JavaEE" /><category scheme="http://www.blogger.com/atom/ns#" term="Wicket" /><category scheme="http://www.blogger.com/atom/ns#" term="JSF" /><category scheme="http://www.blogger.com/atom/ns#" term="JavaOne" /><title>Top 10 reasons why I don't like JSF</title><content type="html">At this JavaOne Brasil, there was a great discussion about Java Web Frameworks, with folks from &lt;a href="http://www.caelum.com.br/"&gt;Caelum&lt;/a&gt;, &lt;a href="http://www.glocalcode.com.br/"&gt;GlobalCode&lt;/a&gt; and &lt;a href="http://www.oracle.com/"&gt;Oracle&lt;/a&gt;. &lt;a href="http://twitter.com/arungupta"&gt;Arun Gupta&lt;/a&gt;, &lt;a href="http://twitter.com/maiko_rocha"&gt;Maiko Rocha&lt;/a&gt;, &lt;a href="http://twitter.com/vsenger"&gt;Vinicius&lt;/a&gt; and &lt;a href="http://twitter.com/yarasenger"&gt;Yara Senger&lt;/a&gt;, and many others who came to participate.&lt;br /&gt;
&lt;br /&gt;
The discussion went mostly around what companies and developers should do before choosing a Web Framework. Although I was willing to move the discussion to another level (eg, poiting these 10 reasons), I decided to just take it easy. And as I stated: &lt;b&gt;there's no perfect Web Framework. But there's a perfect web framework for your case.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
But now I think it is the right time and place to share my thoughts. Here are my top 10 reasons (mostly non-technical) on why I don't like JSF.&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;b&gt;Extra step when defining a project's architecture &lt;/b&gt;&lt;br /&gt;
People insist on comparing JSF with other frameworks. They should stop doing that. You can compare MyFaces to RichFaces to Tapestry to Vaadin to GWT. JSF is a specification, not a final product.&lt;br /&gt;
&lt;br /&gt;
Vendors too insist on marketing JSF as a Web Framework. But they forget to mention that you will be locked-in to their implementation because of lots and lots of non-standard components. It ain't cool.&lt;br /&gt;
&lt;br /&gt;
You spend a week comparing *one* JSF implementation with other frameworks, and if you chose JSF, you then realize you have an extra step: you have to pick a vendor, an implementation, and then goes another week of POCs, tests and evaluations. And you'll be locked. It is not easy to move from one to another. Specially when you have to use those non-standard components to turn your project on something really functional.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Fragmented Community&lt;/b&gt;&lt;br /&gt;
Now, let's say you, developer, works on a project for 6 months, on top of RichFaces. Then you move to another project built on top of MyFaces. Yes, you will have to sign in to another mailing list. To another forum. Different from other products, JSF has no centralized community. If you are working with Wicket, you go to users@wicket.apache.org. If you are working with VRaptor, you go to their Forum. If you are working with JSF, you will need to sign up for at least 3 different mailing lists, sign up for 3 forums and probably, tens of blogs.&lt;br /&gt;
&lt;br /&gt;
It is not easy to ask for help on a fragmented community. If you face a problem with RichFaces, when you were used to work with ICEFaces, you might end up asking something stupid, and probability is you will be told of a different solution to the same problem.&lt;br /&gt;
&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Fragmented Documentation&lt;/b&gt;&lt;br /&gt;
If community is important, imagine documentation. You must have bookmarks of all JSF implementations. If you work with GWT, you need only one. If you work with SpringMVC, just go to springframework.org. Also there's the problem of non-standard components. Let's say you are working with Seam, and you have to bind some component to some RichFaces component. Where will you find a documentation about that? There's no such thing. If you are luck, you might find some blog post on Google. Odds you won't find. You will discover by yourself after hours of debugging and tracing, and in the end, you will not blog about that too. You will just move on.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Component Incompatibility&lt;/b&gt;&lt;br /&gt;
Well, there's not much to say on this. JSF 2.0 address some issues, but not all of them. Component interoperability between different components can't be easily documented because of JSF's nature. This (documentation) also happens on some non-standard frameworks, but there are others that the core architecture helps a lot the developer to just don't care about this. Wicket is one of them. Components are grained and independent. If you want to interoperate different components, you simply share a Model or deal with events.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Caveats on some scenarios because of different implementations&lt;/b&gt;&lt;br /&gt;
This one I heard from a JSF developer. He said RichFaces fires rendering updates in a different way to MyFaces Trinidad. If the developer must be aware of that, odds are you won't find proficient JSF developers. &lt;br /&gt;
&lt;br /&gt;
I pointed about this one at the Web Frameworks discussion at JavaOne. It is not easy to find a Wicket developer, or a Vaadin developer. But when you find them, probability is they will be proficient, or at least above regular web developers.&lt;br /&gt;
&lt;br /&gt;
With JSF, which has tons and tons of job offers around the world, but lots of implementations and caveats, probability is that you will easily and quickly find a JSF developer to hire, but he or she won't be proficient. They will be regular developers. I'm not saying this is 100% true. Of course it is possible to find a proficient JSF developer. But with different implementations, it is hard to find one that knows all about of their tricks, tips, issues and secrets.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Designers and developers roles mixed&lt;/b&gt;&lt;br /&gt;
Oracle said it has set up JDeveloper or some other inside tool with JSF support to their web designers. Now, this is cool. You teach web designers to define templates, UIs, using the Java IDE. In the end you have the view done and all JEE devs need to do is to bind, code and run.&lt;br /&gt;
&lt;br /&gt;
This is one way of doing it. But usually, it is not the case. Most companies have Web Designers working on Mac, with Photoshop and Dreamweaver or some other WYSIWYG editor. They are great designers partly because of great tools. &lt;br /&gt;
&lt;br /&gt;
With JSF, designers and developers mix their work. Designers spend their time templating. Developers spend most of their time fixing broken templates after mixing them with JSF components. Now this, ain't cool at all.&lt;b&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Does not improve usual web development process&lt;/b&gt;&lt;br /&gt;
Like I said before, companies are still working with a development process based on: design, template, inject dynamic code, fix design issues, release.&lt;br /&gt;
&lt;br /&gt;
That's how Java Web development works. If you disagree, please comment on that. But I've been developing web applications for almost 8 years and that's how I see it.&lt;br /&gt;
&lt;br /&gt;
All frameworks that mix dynamic code on the HTML or some layer that outputs it, doesn't improve the common web development process. Which sucks, IMO. You have Web Designers to do all the prototype. Sometimes, your company pays to a Design shop to do that. And in the end, you have business developers fixing design issues because a pixel here or there is not correctly aligned with that right border.&lt;br /&gt;
&lt;br /&gt;
Now, there are some frameworks that address this issue quite well. Tapestry is one of them, if not the first. Then there's Wicket, which of course the best practice is to componentize the UI, but it is possible to work only with the prototype. With JSF, you have Facelets. It helps a lot, and I'm sure improves *a bit*. But the development process is beyond working with pure HTMLs and prototypes.&lt;br /&gt;
&lt;br /&gt;
With JSF, the developer does a lot of SOP - String Oriented Programming. If you are not working with a great JSF-supported IDE, you will end up doing a lot of copy-paste of Strings of method names, property names and bean names.&lt;br /&gt;
&lt;br /&gt;
Some may argue that Wicket replaces JSTL with Java. It is true. But consider this: if you are working with Wicket and you've already binded your UI, you don't have to look to your HTML again. With JSF, you must look at your ManagedBean and your page to make sure everything is correctly binded. On Wicket, new properties and methods can be added without modifying the UI, and still with JSF you must edit two files to do that. It is one approach, I know. But that does not changes neither improves the development process if you compare to Struts. GWT improves that, just as Wicket, IMO.&lt;br /&gt;
&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Non-functional prototype&lt;/b&gt;&lt;br /&gt;
Ok, not a big deal. But it sucks a lot when your web designer changes the UI and you must merge those changes. What if you had a functional prototype you can share with your Web Designer? Some frameworks do that. Tapestr and Wicket for example. The output is HTML, your are building HTML, your designer gives you HTML, so why not take advantage of that work done on a previous stage?&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Performance&lt;/b&gt;&lt;br /&gt;
Just Google for benchmarks comparing JSF with any other Java Web Framework. The lifecycle is just huge.... :-(&lt;br /&gt;
&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Web is fast, standards are slow&lt;/b&gt;&lt;br /&gt;
Let's take JPA for example. How old is SQL? Since 1974. Hibernate was build based on something that it was already a standard. So it was JPA. It is reasonable to have a specification for that, and totally acceptable to work with. JPA developers won't have problems dealing with different implementations, at least if they do their job right. What about XML frameworks? Mid 90's. My point is. Some specifications are build based on something with limited scope, even though generic, or on something that is already a standard and well-know by the market.&lt;br /&gt;
&lt;br /&gt;
Now let's take the Web. Although HTML is a specification, and old, it definitely has an unlimited scope. And because of its nature, it is open to innovation and creativity. How to standardize that?! HTML5 is almost there, and we are still waiting for a specification that really improves the Web Development Process. Again, JSF2 is a huge step forward, but too late, and just like to what happened with EJB, people are now afraid of it because its previous version. And that's why people started to choose Rails, Python, GWT and other frameworks.&lt;br /&gt;
&lt;br /&gt;
Long learning curve. Slow improvements (thanks to JCP). Everything the Web does not need. Everything Agile methodologies are against to.&lt;/li&gt;
&lt;/ol&gt;I did work with JSF before, and I love to be a Java developer. I have my work done with it, and I'm paid because of it. But I felt like being left behind while looking at friends building cool apps, quickly and with good quality, with other languages, other platforms. And if I want to deliver solutions with performance, quality AND &lt;b&gt;speed&lt;/b&gt; to my customers, I will think twice before choosing JSF.&lt;br /&gt;
&lt;br /&gt;
Sure it has scenarios or business strategies where JSF is the best option. If there wasn't, Oracle/Sun, IBM, Red Hat and others would not put money on that. For companies that want to make sure they will easily and quickly find a developer to replace another, to keep the work on a JSF project, then, it's a business decision.&lt;br /&gt;
&lt;br /&gt;
Now, from a developer perspective, I prefer to do my projects with something non-standard, while the Web is not standardized, and my customers are not worried about that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-2784739837460353149?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=CKzK-qr62Yc:7qfAOjIunf0:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=CKzK-qr62Yc:7qfAOjIunf0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=CKzK-qr62Yc:7qfAOjIunf0:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=CKzK-qr62Yc:7qfAOjIunf0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=CKzK-qr62Yc:7qfAOjIunf0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/CKzK-qr62Yc" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=2784739837460353149&amp;isPopup=true" title="35 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/2784739837460353149?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/2784739837460353149?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/CKzK-qr62Yc/top-10-reasons-why-i-dont-like-jsf.html" title="Top 10 reasons why I don't like JSF" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>35</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2010/12/top-10-reasons-why-i-dont-like-jsf.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4FQnc6eCp7ImA9Wx5aGEU.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-5079897164161481918</id><published>2010-11-16T02:15:00.000-02:00</published><updated>2010-11-16T02:15:13.910-02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-16T02:15:13.910-02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Wicket" /><category scheme="http://www.blogger.com/atom/ns#" term="Tutoriais" /><category scheme="http://www.blogger.com/atom/ns#" term="Apache" /><title>Tutorial: Começando com Apache Wicket (Parte I)</title><content type="html">Já que não tem Apache Wicket no JavaOne Brasil, vai um tutorial de Apache Wicket, entitulado "&lt;a href="http://bit.ly/dhIB44"&gt;Começando com Apache Wicket (Parte I)&lt;/a&gt;" publicado no &lt;a href="http://www.ladoservidor.com/"&gt;Lado Servidor&lt;/a&gt;, com o apoio do Paulo Jerônimo e da &lt;a href="http://www.wdev.com.br/"&gt;wdev&lt;/a&gt;, que contribuíram para minha participação no The Developers Conference 2010, em Florianópolis. O bacana desse tutorial é que produzi um video também, para acompanhar (sem cortes) o desenvolvimento da aplicação de exemplo.&lt;br /&gt;
&lt;br /&gt;
Curioso em saber como ficou o resultado? Então vai logo ver.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://bit.ly/dhIB44"&gt;Tutorial: Começando com Apache Wicket (Parte I)&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
E se você perdeu a &lt;a href="http://www.thedevelopersconference.com.br/tdc/2010/floripa/trilha-web"&gt;Trilha Web do TDC 2010&lt;/a&gt; e não viu minha palestra, confira ao menos os slides.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.slideshare.net/brunoborges/apache-wicket-derruba-o-padro-jsf"&gt;Apache Wicket derruba o padrão JSF&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
[]'s&lt;br /&gt;
Bruno&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-5079897164161481918?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=tcim0Qh7UUI:SnCiGlaYbcc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=tcim0Qh7UUI:SnCiGlaYbcc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=tcim0Qh7UUI:SnCiGlaYbcc:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=tcim0Qh7UUI:SnCiGlaYbcc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=tcim0Qh7UUI:SnCiGlaYbcc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/tcim0Qh7UUI" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=5079897164161481918&amp;isPopup=true" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/5079897164161481918?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/5079897164161481918?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/tcim0Qh7UUI/tutorial-comecando-com-apache-wicket.html" title="Tutorial: Começando com Apache Wicket (Parte I)" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2010/11/tutorial-comecando-com-apache-wicket.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIFQXc7cCp7ImA9Wx5aFU8.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-1832240817436334246</id><published>2010-11-12T00:21:00.000-02:00</published><updated>2010-11-12T00:21:50.908-02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-12T00:21:50.908-02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="JavaOne" /><category scheme="http://www.blogger.com/atom/ns#" term="Apache" /><title>Errar, corrigir, committar - Sobre o JavaOne Brasil</title><content type="html">Um programador quando encontra um erro, automaticamente, como que por instinto, sente vontade de corrigí-lo e mandar para o repositório, para ter segundos após, a sensação de um trabalho bem feito. Um orgulho de sí próprio. Às vezes, queremos fazer a mesma coisa na vida real. Com os erros do dia-a-dia, com os erros que envolvem pessoas.&lt;br /&gt;
&lt;br /&gt;
Aproximadamente 3 semanas atrás, me empolguei com uma mensagem da &lt;a href="http://twitter.com/#!/yarasenger"&gt;Yara Senger&lt;/a&gt;, e submeti para o comitê do &lt;a href="http://www.oracle.com/br/javaonedevelop/index.html"&gt;JavaOne Brasil&lt;/a&gt;, 3 palestras relacionadas à &lt;a href="http://www.apache.org/"&gt;Apache Software Foundation&lt;/a&gt;. Soube ao mesmo tempo do &lt;a href="http://www.thedevelopersconference.com.br/"&gt;The Developers Conference&lt;/a&gt; 2010, em Florianópolis, onde meu amigo &lt;a href="http://twitter.com/#!/rcandidosilva"&gt;Rodrigo Cândido&lt;/a&gt;, participara da organização. Não hesitei e sugeri à &lt;a href="http://www.wdev.com.br/"&gt;Wdev&lt;/a&gt;, cuja empresa agora faço parte, que levasse ainda mais conteúdo para este grande evento. Levamos palestras interessantes. Uma sobre &lt;a href="http://www.slideshare.net/fmcypriano/desenvolvendos-apps-para-ipad-tdc-2010"&gt;Desenvolvimento para iPad&lt;/a&gt;, do &lt;a href="http://twitter.com/#!/fmcypriano"&gt;Felipe Cypriano&lt;/a&gt;, e outra sobre &lt;b&gt;Integração Contínua,&lt;/b&gt; do Marcelo Behera. Além das minhas duas palestras sobre projetos Apache (&lt;a href="http://www.slideshare.net/brunoborges/apache-wicket-derruba-o-padro-jsf"&gt;Wicket&lt;/a&gt; e &lt;a href="http://www.slideshare.net/brunoborges/redes-sociais-ensinam-apache-camel-e-eips"&gt;Camel&lt;/a&gt;); as mesmas que havia submetido para o JavaOne Brasil.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;No dia 3 de Novembro, recebi um e-mail do Sharat Chander agradecendo minhas submissões, mas que infelizmente o conteúdo não foi aprovado para o &lt;i&gt;JOBra&lt;/i&gt;. Sem razões, sem explicações. E também disse que não é comum enviarem notificações desse tipo. Geralmente o pessoal fica no vácuo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Ao mesmo tempo, no meio de todos estes eventos, a &lt;a href="http://www.theregister.co.uk/2010/11/01/oracle_hits_google_with_code_copying_claims/"&gt;Oracle com seu processo contra o Google&lt;/a&gt;, blogs começam a dizer que a Apache copiou código para dentro do projeto &lt;a href="http://harmony.apache.org/"&gt;Harmony&lt;/a&gt;. Ela &lt;a href="https://blogs.apache.org/foundation/entry/read_beyond_the_headers"&gt;esclareceu&lt;/a&gt;, mas não encerrou o assunto. De fato, iniciou uma &lt;a href="https://blogs.apache.org/foundation/entry/statement_by_the_asf_board1"&gt;guerra contra a Oracle&lt;/a&gt;, em defesa do Software Livre.&lt;br /&gt;
&lt;br /&gt;
Por fim, no dia 8 de Novembro&amp;nbsp;saiu a &lt;a href="http://www.oracle.com/ocom/groups/public/@ocom/documents/webcontent/185173_ptb.pdf"&gt;programação&lt;/a&gt; do JavaOne Brasil. &lt;a href="http://twitter.com/#!/fabianenardon/statuses/1709063670857728"&gt;Anunciada pela Fabiane Nardon&lt;/a&gt;. E obviamente fui conferir a grade, atrás de palestras interessantes e palestrantes a serem prestigiados. Entretanto ao ler o conteúdo, me decepcionei. Por 3 fatores:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;(&lt;a href="http://twitter.com/#!/brunoborges/statuses/293487450783745"&gt;tweet&lt;/a&gt;, &lt;a href="http://twitter.com/#!/brunoborges/statuses/1743873218969600"&gt;tweet&lt;/a&gt;, &lt;a href="http://twitter.com/#!/brunoborges/statuses/1818482987507712"&gt;tweet&lt;/a&gt;) Falta de conteúdo relacionado à Apache Software Foundation&lt;/li&gt;
&lt;li&gt;Conteúdos repetidos (alguns assuntos, com mais de 2 palestras)&lt;/li&gt;
&lt;li&gt;(&lt;a href="http://twitter.com/#!/brunoborges/statuses/1740210979217408"&gt;tweet&lt;/a&gt;, &lt;a href="http://twitter.com/#!/brunoborges/statuses/1744718056656896"&gt;tweet&lt;/a&gt;) Metade dos analistas de conteúdo vão palestrar&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;O que mais me chateou mesmo, foi o primeiro item, e em seguinda o segundo. Com assuntos sendo apresentados mais de uma vez, não seria o caso de pensar melhor na escolha das palestras, e evitar repetição, abrindo espaço para expôr outros projetos? Considerando a Apache com principal fornecedora de projetos Open Source para a plataforma Java?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Claro que fiquei chateado por não ter sido aprovado a participar do JavaOne. &lt;b&gt;Mas frente ao o que está acontecendo, constatei que, não apenas minhas palestras, mas toda e qualquer outra&amp;nbsp;&lt;/b&gt;&lt;b&gt;associada à Apache&lt;/b&gt;&lt;b&gt;&amp;nbsp;que tenha sido submetida, foi rejeitada, ao que parece, propositalmente. E isso é o que me deixou realmente chateado.&lt;/b&gt;&amp;nbsp;E por favor alguém me corrija se eu estiver errado. Seria muito bom saber os reais motivos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Não reconhecer a Apache, e não incentivar a comunidade brasileira a participar da ASF é ir contra o Software Livre. A falta de palestrantes e palestras entusiasmados com projetos da Apache no evento, ao que parece, é reflexo dos desejos da Oracle.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;Pedido de desculpas aos palestrantes&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Com toda a minha chateação, e sem refletir bem a respeito, acusei amigos injustamente. É fato que metade dos analistas de conteúdo vão palestrar. Mas como muitos outros eventos, isso é normal. Eu mesmo, por causa da minha amizade com algumas pessoas, obtive espaço no TDC2010. Não bastasse uma palestra, levei duas. E ainda abri espaço para dois outros profissionais.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Acusei amigos injustamente por algo que eu mesmo havia feito alguns dias antes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Alguns dos analistas são amigos, outros são conhecidos. E muitos outros que irão palestrar, também são meus amigos, de empresas que trabalhei anteriormente.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Que fique claro: &lt;b&gt;todos os palestrantes selecionados merecem estar lá.&lt;/b&gt;&amp;nbsp;Tenho certeza que a escolha foi difícil, e com critérios como +assunto, +técnica, +histórico e +mérito, os melhores palestrantes foram selecionados. Jamais disse algo contrário.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Por fim, peço desculpas ao &lt;a href="http://twitter.com/#!/brjavaman"&gt;Bruno&lt;/a&gt;, com quem aprendi muito. À &lt;a href="http://twitter.com/#!/yarasenger"&gt;Yara&lt;/a&gt; que me incentivou muito para submeter conteúdo ao JavaOne e me deu total apoio no TDC2010. Ao Vinicius (que ironicamente &lt;a href="http://twitter.com/#!/vsenger/statuses/1985575800274944"&gt;retweetou&lt;/a&gt; meu desabafo), Paulo, Guilherme, Bruno Ghisi, Fabiane e Fabio Velloso.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;Vocês são excelentes palestrantes e há muito tempo contribuem com a comunidade. Com certeza, estão no evento por mérito&lt;/b&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;Um excelente JavaOne Brasil a todos.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Um alô para o Liaw Mike e principalmente ao Michael Nascimento, que me ajudou a enxergar o bug. :-)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-1832240817436334246?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=Bd1CvK21JcU:yEV1n1Fd0SA:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=Bd1CvK21JcU:yEV1n1Fd0SA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=Bd1CvK21JcU:yEV1n1Fd0SA:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=Bd1CvK21JcU:yEV1n1Fd0SA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=Bd1CvK21JcU:yEV1n1Fd0SA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/Bd1CvK21JcU" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=1832240817436334246&amp;isPopup=true" title="1 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/1832240817436334246?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/1832240817436334246?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/Bd1CvK21JcU/errar-corrigir-committar-sobre-o.html" title="Errar, corrigir, committar - Sobre o JavaOne Brasil" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2010/11/errar-corrigir-committar-sobre-o.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMNRnc7eyp7ImA9Wx5aEko.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-4489892546295721381</id><published>2010-11-09T02:54:00.000-02:00</published><updated>2010-11-09T02:54:57.903-02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-09T02:54:57.903-02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Wicket" /><category scheme="http://www.blogger.com/atom/ns#" term="Camel" /><category scheme="http://www.blogger.com/atom/ns#" term="Apache" /><category scheme="http://www.blogger.com/atom/ns#" term="ApacheCon" /><title>ApacheCon Brazil and why we need it?</title><content type="html">&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;I'm not sure if this mailing list is the right one to write about this, but I'm gonna take the risk. I suppose "Community" means anything related to it. And this is definitely about community.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;Before anything, I'd like to share my history with ASF. (skip if you want... :D)&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;When I started to get involved with the Apache Software Foundation in a deeper level, I was still just a user, downloading Tomcat and using it. I guess most Java developers for the Web environment still do that.&lt;div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;5 years a go, I joined the Apache&amp;nbsp;&lt;a href="http://wicket.apache.org/"&gt;Wicket&lt;/a&gt;&amp;nbsp;community and then my relationship with ASF has born.&amp;nbsp;And for the last 5 years I've been speaking about it in Brazil, either in JUG&amp;nbsp;&lt;a href="http://blog.brunoborges.com.br/2008/07/palestra-sobre-wicket-no-riojug.html"&gt;meetings&lt;/a&gt;&amp;nbsp;or at&amp;nbsp;&lt;a href="http://www.thedevelopersconference.com.br/tdc/2010/floripa/trilha-web"&gt;conferences&lt;/a&gt;&amp;nbsp;around the&amp;nbsp;&lt;a href="http://www.slideshare.net/brunoborges/jj-wicket-2008-presentation"&gt;country&lt;/a&gt;&amp;nbsp;and sharing everything I wanted to share on my&amp;nbsp;&lt;a href="http://blog.brunoborges.com.br/search/label/Wicket"&gt;blog&lt;/a&gt;.&amp;nbsp;I've even created a Google Groups for that, called&amp;nbsp;&lt;a href="http://groups.google.com.br/group/wicket-ptbr/"&gt;Wicket pt_BR&lt;/a&gt;. With my contributions as an "evangelist" I gave birth to friendships with great people like Martijn Dashorst, Jeremy Thomerson, Eelco Hillenius and others from the Wicket community.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Then, in 2008 I heard about the Apache TAC and, thanks to ASF, I could meet them in person during ApacheCon @ New Orleans. It was better than anything I've ever experienced. Considering how close I was to great people, professionals and friends, and how easy I could start chatting about anything to them, I thought that was the best conference it could ever exist. I thought: "ApacheCon is the best. I got free beer!". That was cool. Every conference I go here in Brazil, I wish someone put some beers instead of Coke. Until now... only #fail&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Then, right after I came back from New Orleans,&amp;nbsp;I started to play with the SOA stack (&lt;a href="http://camel.apache.org/"&gt;Camel&lt;/a&gt;,&amp;nbsp;&lt;a href="http://cxf.apache.org/"&gt;CXF&lt;/a&gt;,&amp;nbsp;&lt;a href="http://servicemix.apache.org/"&gt;ServiceMix&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://activemq/"&gt;ActiveMQ&lt;/a&gt;). I also became friend of great people like Bruce Snyder, Claus Ibsen, Hadrian Zbarcea and Debbie Moynihan.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Last year, 2009, when I heard about ApacheCon in San Francisco, I took the chance to apply again to the Apache TAC (no, I wasn't bargaining; it really is expensive to fly from Brazil to the USA, specially SF). I just applied for the tickets, and for&amp;nbsp;accommodation I was safe with&amp;nbsp;&lt;a href="http://couchsurfing.org/"&gt;CouchSurfing&lt;/a&gt;&amp;nbsp;friends I already knew.&amp;nbsp;Also, I really wanted to help the organization. It was when I met Nick Burch, Ross Gardler and Noirin Shirley.&amp;nbsp;Could not forget my latin friends Amelia Blevins and Carlos Sanchez. Other names like Jesse McConnell, David Blevins and Yeliz Eseryel are also in my good memories of ApacheCon 2009. Unfortunately this year, because of personal reasons (not because of TAC rules), I couldn't be present at ApacheCon.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;With the help of Bruno Souza, I discussed with some people, including Sally Khudairi, the idea of&amp;nbsp;&lt;b&gt;bringing ApacheCon to South America.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;div&gt;What I saw on ApacheCon '08 and '09 was something&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif;"&gt;amazing. Perfect for South America. Perfect for Brazil. The Apache Way is something that must be shared with everyone.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif;"&gt;A few months a go, I went to Brasilia (country's capital) to talk about the ASF in general, not on an specific project. It's amazing how people are unaware of what the ASF really is. And how people limit their knowledge to only what the big players show to them. Still, they all know Struts and Tomcat.&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif;"&gt;It seems that South America is a big user of Apache projects rather than truly contributors.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif;"&gt;Now this year, with &lt;a href="http://www.oracle.com/br/javaonedevelop/index.html"&gt;JavaOne&lt;/a&gt; going to happen in Brazil, and the sessions that were scheduled, I believe it is now the time to drive ApacheCon south. There's no single talk about anything related to the Apache Software Foundation in this South American version of JavaOne. And I feel really sad about that. Sad that people that are behind the organization had the opportunity to accept papers (I myself proposed Wicket and Camel - papers I have been presenting since 2008 for rooms of 30~40 attenders).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;And I'm sure everyone will use &lt;a href="http://maven.apache.org/"&gt;Maven&lt;/a&gt;, &lt;a href="http://ant.apache.org/"&gt;Ant&lt;/a&gt; or &lt;a href="http://tomcat.apache.org/"&gt;Tomcat&lt;/a&gt; to demonstrate something.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;I don't know if this happened because of recent issues between Oracle and Apache, or just because of Java standards (like JSF, JavaFX, EJB) are more important than non-standard projects. It doesn't matter. I'm sure there was room.&amp;nbsp;On my count, there are at least 3 subjects with more than 1 submission approved.&amp;nbsp;&lt;a href="http://www.oracle.com/br/javaonedevelop/javaone-tracks-br-172664-ptb.html"&gt;Look at JavaOne track&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Now, if the &lt;a href="http://jcp.org/en/whatsnew/elections"&gt;ASF, the most voted JCP EC member&lt;/a&gt; (with 95% votes), has no space on JavaOne Brazil, the country who have been participating in the Open Source movement, giving birth to the OpenJDK thanks to Javali project, and Bruno Souza, than we should start considering other alternatives. Alternatives to standards, like Wicket or Camel.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;We already have ApacheCon Europe and North America. I'm sure we can do ApacheCon South America.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Let's do this happen. Let's do it the Apache way.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Bruno Borges&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-4489892546295721381?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=fHfQr-4zmLc:jJ3fqlGXZbI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=fHfQr-4zmLc:jJ3fqlGXZbI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=fHfQr-4zmLc:jJ3fqlGXZbI:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=fHfQr-4zmLc:jJ3fqlGXZbI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=fHfQr-4zmLc:jJ3fqlGXZbI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/fHfQr-4zmLc" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=4489892546295721381&amp;isPopup=true" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/4489892546295721381?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/4489892546295721381?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/fHfQr-4zmLc/apachecon-brazil-and-why-we-need-it.html" title="ApacheCon Brazil and why we need it?" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2010/11/apachecon-brazil-and-why-we-need-it.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIHSHg-fip7ImA9Wx5bGU4.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-2908892477002132387</id><published>2010-11-05T02:58:00.002-02:00</published><updated>2010-11-05T03:05:39.656-02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-05T03:05:39.656-02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Wicket" /><title>Apache Wicket ainda mais divertido: Parte 1</title><content type="html">Este é o primeiro de uma série de artigos para mostrar o Wicket à comunidade brasileira. Cada artigo que eu ler sobre JSF, Facelets e afins que achar interessante e me questionar: "seria ainda mais divertido fazer isso com Wicket", vou fazer um "fork" do artigo e codificá-lo com o Apache Wicket.&lt;br /&gt;
&lt;br /&gt;
Para começar, vou &lt;i&gt;forkar&lt;/i&gt;&amp;nbsp;o artigo do &lt;a href="http://twitter.com/edermag"&gt;Eder Magalhães&lt;/a&gt;&amp;nbsp;sobre como tornar um trecho de código Facelets em um componente reutilizável, chamado "&lt;a href="http://blog.globalcode.com.br/2009/10/facelets-ainda-mais-divertido-parte-ii.html"&gt;Facelets ainda mais divertido! Parte II&lt;/a&gt;".&lt;br /&gt;
&lt;br /&gt;
[início do fork]&lt;br /&gt;
Neste post vou comentar sobre a criação de componentes usando somente&amp;nbsp;&lt;b&gt;HTML simples e Java puro&amp;nbsp;&lt;/b&gt;- na minha opinião o grande diferencial do Wicket. O cenário é um formulário de manutenção de registros de funcionários, e o protótipo é simples:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_9SiSmlCW-48/TNN3ghVb85I/AAAAAAAAGDc/ZT4zvWORmas/s1600/O_Wicket_Contra-ataca_Page_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_9SiSmlCW-48/TNN3ghVb85I/AAAAAAAAGDc/ZT4zvWORmas/s1600/O_Wicket_Contra-ataca_Page_1.png" /&gt;&lt;/a&gt;&lt;/div&gt;É comum um protótipo ser entregue por Web Designers, e o nosso trabalho está em adaptar aquele protótipo para processar informações dinâmicas. A página acima se chama &lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;CadastroFuncionarios.html&lt;/span&gt;&lt;/b&gt; e a seguir, o código que o Web Designer entregou:&lt;br /&gt;
&lt;br /&gt;
&lt;script class="brush: html" type="syntaxhighlighter"&gt;
&lt;![CDATA[
&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;Wicket&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
   &lt;form&gt;
     &lt;h2&gt;Cadastro de Funcionarios&lt;/h2&gt;&lt;br&gt;
     Nome: &lt;input type="text" /&gt;
     CPF : &lt;input type="text" /&gt;
     Fone: &lt;input type="text" /&gt;
     &lt;input type="submit" value="Salvar" /&gt;
     &lt;input type="submit" value="Excluir" /&gt;
     &lt;input type="submit" value="Cancelar" /&gt;
   &lt;/form&gt;  &lt;/body&gt;
&lt;/html&gt;
]]&gt;
&lt;/script&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;CadastroFuncionarios.html&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Mas é comum ter trechos de telas que são repetitivos. Como os botões de ações deste formulário. Então é interessante tornar isso um componente para ser reutilizado e quando exigir modificação, que seja apenas uma vez, em um único lugar.&lt;br /&gt;
&lt;br /&gt;
No Wicket, páginas são componentes, e funcionam em pares (Java e HTML). Como queremos construir um componente com os botões, precisamos de um painel, para ser reutilizado em outras páginas. O primeiro passo é criar a classe e um HTML exclusivo para o painel, contendo somente os componentes de botão.&lt;br /&gt;
&lt;br /&gt;
Para criar um novo painel para agrupar componentes, existe a classe &lt;a href="http://wicket.apache.org/apidocs/1.4/org/apache/wicket/markup/html/panel/Panel.html"&gt;Panel&lt;/a&gt;. Vamos criar uma subclasse dela e especializá-la:&lt;br /&gt;
&lt;br /&gt;
&lt;script class="brush: java" type="syntaxhighlighter"&gt;
&lt;![CDATA[package com.example.qswicket;

import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.panel.Panel;

public class BarraBotoes extends Panel {

 public BarraBotoes(String id) {
  super(id);
  setRenderBodyOnly(true);
  add(new Button("salvar") {
   public void onSubmit() {BarraBotoes.this.salvar();}
  });
  add(new Button("excluir") {
   public void onSubmit() {BarraBotoes.this.excluir();}
  });
  add(new Button("cancelar") {
   public void onSubmit() {BarraBotoes.this.cancelar();}
  });
 }

 public void salvar() {}
 public void excluir() {}
 public void cancelar() {}
}
]]&gt;
&lt;/script&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;BarraBotoes.java&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Por se tratar de um painel de botões, deixei implementado 3 métodos associados 1 para cada botão. Quem utilizar este componente, poderá facilmente sobrescrever estes métodos para adicionar funcionalidades por ação. Outra vantagem aqui está na documentação gerada automaticamente, se o programador preencher o Javadoc.&lt;br /&gt;
&lt;br /&gt;
Para finalizar o componente (segunda etapa), é preciso o HTML do painel, chamado de BarraBotoes.html&lt;br /&gt;
&lt;br /&gt;
&lt;script class="brush: html" type="syntaxhighlighter"&gt;
&lt;![CDATA[&lt;html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"&gt;
  &lt;head&gt;
    &lt;title&gt;Wicket&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;form&gt;
      &lt;h2&gt;Cadastro de Funcionarios&lt;/h2&gt;&lt;br&gt;
      Nome: &lt;input type="text" /&gt;
      CPF : &lt;input type="text" /&gt;
      Fone: &lt;input type="text" /&gt;
      &lt;wicket:panel&gt;
        &lt;input type="submit" wicket:id="salvar" value="Salvar" /&gt;
        &lt;input type="submit" wicket:id="excluir" value="Excluir" /&gt;
        &lt;input type="submit" wicket:id="cancelar" value="Cancelar" /&gt;
      &lt;/wicket:panel&gt;
    &lt;/form&gt;&lt;/body&gt;
&lt;/html&gt;
]]&gt;
&lt;/script&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;BarraBotoes.java&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
A tag &lt;b&gt;wicket:panel&lt;/b&gt; é uma das poucas tags especiais (carregadas pelo DTD). Aqui ela serve para delimitar o que representa o painel, sem prejudicar as ferramentas WYSIWYG. Deixei propositalmente o restante do código HTML por fora da tag para representar um protótipo, que pode ser visto pelo designer e ajustado por ele próprio, caso queira mudar folhas de estilo. A vantagem é que ele pode avaliar se estas mudanças atenderão os requisitos de design. Ou seja, o protótipo continua funcional. Também foi feito o binding entre os componentes no HTML e os componentes em Java através do atributo &lt;b&gt;wicket:id&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
A partir desse momento, o painel pode ser reutilizado. &lt;b&gt;Nenhuma outra configuração é necessária.&lt;/b&gt; Exceto um import da classe em outras páginas. :-)&lt;br /&gt;
&lt;br /&gt;
Agora precisamos ajustar a página que conterá o painel. Abaixo, o novo HTML da página CadastroFornecedores.html já com os ajustes para binding com Wicket:&lt;br /&gt;
&lt;br /&gt;
&lt;script class="brush: html" type="syntaxhighlighter"&gt;
&lt;![CDATA[&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;Wicket&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
   &lt;form wicket:id="form"&gt;
     &lt;h2&gt;Cadastro de Funcionarios&lt;/h2&gt;&lt;br&gt;
     Nome: &lt;input type="text" wicket:id="nome" /&gt;
     CPF : &lt;input type="text" wicket:id="cpf" /&gt;
     Fone: &lt;input type="text"  wicket:id="fone"/&gt;
     &lt;div wicket:id="barraBotoes"&gt;[botoes de acao]&lt;/div&gt;   &lt;/form&gt;  &lt;/body&gt;
&lt;/html&gt;
]]&gt;
&lt;/script&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;CadastroFuncionarios.html&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
E o código Java para a página:&lt;br /&gt;
&lt;br /&gt;
&lt;script class="brush: java" type="syntaxhighlighter"&gt;
&lt;![CDATA[package com.example;

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.TextField;

public class CadastroFuncionarios extends WebPage {

 public CadastroFuncionarios() {
  Form form = new Form("form");
  form.add(new TextField("nome"));
  form.add(new TextField("cpf"));
  form.add(new TextField("fone"));
  form.add(new BarraBotoes("barraBotoes") {
   public void salvar() {
    System.out.println("salvando dados do form");
   }
  });
  add(form);
 }
}]]&gt;
&lt;/script&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;CadastroFuncionarios.java&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Para implementar uma ação, o programador precisa somente sobrescrever os métodos que lhe for necessário. Agora que a página está pronta, e utilizando o componente, o próximo passo é melhorar a inteligência do componente, com zero de alterações nos HTMLs, poucos ajustes na classe do painel BarraBotoes, e uma linha de alteração na classe da página.&lt;/wicket:panel&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Apresentar o botão excluir de forma condicional, com base em um boolean&lt;/li&gt;
&lt;li&gt;Botão cancelar deve sempre abortar o formulário onde estiver contido&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Caso seja de interesse do programador acrescentar mais lógica no componente, para que por exemplo os botões tenham visibilidade condicional, ajustes na classe BarraBotoes devem ser feitos. E somente nela. No HTML nada precisa ser alterado. Abaixo, o código da classe com lógica de visibilidade condicional de botões:&lt;br /&gt;
&lt;br /&gt;
&lt;script class="brush: java" type="syntaxhighlighter"&gt;
&lt;![CDATA[package com.example;

import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;

public class BarraBotoes extends Panel {

 public BarraBotoes(String id, final Model&lt;boolean&gt; excluirVisible) {
  super(id);
  setRenderBodyOnly(true);
  Button salvar = new Button("salvar") {
   public void onSubmit() { BarraBotoes.this.salvar(); }
  };
  Button cancelar = new Button("cancelar") {
   public void onSubmit() { BarraBotoes.this.cancelar(); }
  };

  cancelar.setDefaultFormProcessing(false);

  Button excluir = new Button("excluir") {
   public void onSubmit() { BarraBotoes.this.excluir(); }
   public boolean isVisible() {
    return excluirVisible.getObject().booleanValue();
   };
  };

  add(salvar);
  add(excluir);
  add(cancelar);
 }

 public BarraBotoes(String id) {
  this(id, new Model&lt;boolean&gt;(Boolean.TRUE));
 }

 public void salvar() {}
 public void excluir() {}
 public void cancelar() {}
}]]&gt;
&lt;/script&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;BarraBotoes.java&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
A primeira acao foi adicionar um construtor que recebesse um Model (assunto para outro post), do tipo Boolean, e associar este Model como condicional para o método &lt;b&gt;isVisible()&lt;/b&gt; do botão &lt;b&gt;excluir&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
A segunda ação foi ajeitar o construtor padrão para continuar funcionando como anteriormente, e mantendo assim compatibilidade com páginas que sempre mostram o botão excluir. Novas páginas poderão utilizar o novo construtor e condicionar a exibição do botão, se quiserem.&lt;br /&gt;
&lt;br /&gt;
A terceira ação foi cancelar o processamento dos dados do form quando o botão cancelar for clicado. Para isto, a propriedade &lt;b&gt;defaultFormProcessing&lt;/b&gt; deve ser desabilitada.&lt;br /&gt;
[fim do fork]&lt;br /&gt;
&lt;br /&gt;
A grande vantagem do Wicket está em jogar para o lado Java toda a programação da interface, deixando o protótipo limpo, estático, e mesmo assim permitindo o programador manipular com uso inteligente da orientação a objetos, os componentes de tela.&lt;br /&gt;
&lt;br /&gt;
O que mais você gostaria de saber sobre o Wicket?&lt;br /&gt;
&lt;br /&gt;
Abraço,&lt;br /&gt;
Bruno&lt;br /&gt;
&lt;br /&gt;
PS: mock de tela feito no &lt;a href="http://app.mockflow.com/mockflow/"&gt;Mockflow&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-2908892477002132387?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=jlC1cOtPwQ0:G4bS2jZO8fM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=jlC1cOtPwQ0:G4bS2jZO8fM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=jlC1cOtPwQ0:G4bS2jZO8fM:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=jlC1cOtPwQ0:G4bS2jZO8fM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=jlC1cOtPwQ0:G4bS2jZO8fM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/jlC1cOtPwQ0" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=2908892477002132387&amp;isPopup=true" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/2908892477002132387?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/2908892477002132387?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/jlC1cOtPwQ0/apache-wicket-ainda-mais-divertido.html" title="Apache Wicket ainda mais divertido: Parte 1" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_9SiSmlCW-48/TNN3ghVb85I/AAAAAAAAGDc/ZT4zvWORmas/s72-c/O_Wicket_Contra-ataca_Page_1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2010/11/apache-wicket-ainda-mais-divertido.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcNRH04fyp7ImA9WxFaEk4.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-8465960947597388630</id><published>2010-07-15T19:31:00.001-03:00</published><updated>2010-07-15T19:31:35.337-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-15T19:31:35.337-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Seguranca" /><title>Dicas para uma senha segura</title><content type="html">&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica; font-size: 12px; line-height: 20px;"&gt;Senha. A porta de entrada para qualquer coisa na era digital. Uma senha fraca e você perde seu perfil no Orkut. Uma senha comum e seu servidor é&amp;nbsp;&lt;i&gt;hackeado&lt;/i&gt;. Os riscos são enormes quando não utilizamos uma senha adequada, mas também podemos perder o acesso se não nos lembrarmos dela.&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica; font-size: 12px; line-height: 20px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica; font-size: 12px; line-height: 20px;"&gt;Leia mais deste meu post sobre &lt;a href="http://blog.ladoservidor.com/2010/07/dicas-para-uma-senha-segura.html"&gt;Dicas para uma senha segura&lt;/a&gt; em &lt;a href="http://blog.ladoservidor.com/"&gt;Lado Servidor&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-8465960947597388630?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=DHl80VTtma8:1_jN4Bnw3Dk:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=DHl80VTtma8:1_jN4Bnw3Dk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=DHl80VTtma8:1_jN4Bnw3Dk:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=DHl80VTtma8:1_jN4Bnw3Dk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=DHl80VTtma8:1_jN4Bnw3Dk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/DHl80VTtma8" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=8465960947597388630&amp;isPopup=true" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/8465960947597388630?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/8465960947597388630?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/DHl80VTtma8/dicas-para-uma-senha-segura.html" title="Dicas para uma senha segura" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2010/07/dicas-para-uma-senha-segura.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UHSH45cCp7ImA9WxFbGUo.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-8782836351288302850</id><published>2010-07-12T21:00:00.002-03:00</published><updated>2010-07-12T21:00:39.028-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-12T21:00:39.028-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Protesto" /><category scheme="http://www.blogger.com/atom/ns#" term="Geral" /><category scheme="http://www.blogger.com/atom/ns#" term="Censura" /><title>A bruxa está solta em Floripa</title><content type="html">&lt;span class="Apple-style-span" style="font-family: arial; font-size: small;"&gt;Eu já estou acompanhando o caso há muito tempo, mas agora finalmente saiu na mídia nacional:&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.conversaafiada.com.br/politica/2010/07/12/policia-tucana-de-s-catarina-tem-um-estupro-para-esclarecer/"&gt;http://www.conversaafiada.com.br/politica/2010/07/12/policia-tucana-de-s-catarina-tem-um-estupro-para-esclarecer/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.conversaafiada.com.br/politica/2010/07/12/policia-tucana-de-s-catarina-tem-um-estupro-para-esclarecer/"&gt;&lt;/a&gt;&lt;a href="http://www.conversaafiada.com.br/politica/2010/07/11/%E2%80%9Cheroi%E2%80%9D-do-mosquito-vai-aconselhar-serra-em-santa-catarina/"&gt;http://www.conversaafiada.com.br/politica/2010/07/11/“heroi”-do-mosquito-vai-aconselhar-serra-em-santa-catarina/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.conversaafiada.com.br/politica/2010/07/11/%E2%80%9Cheroi%E2%80%9D-do-mosquito-vai-aconselhar-serra-em-santa-catarina/"&gt;&lt;/a&gt;Como já disse ao meu pai, que juntamente com todo o resto da minha família e outros familiares, ainda vivem em Florianópolis: "A Ilha da Magia é o paraíso não-fiscalizado de políticos do PSDB (e aliados)".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;O atual prefeito é itinerante (foi prefeito por 8 anos em São José, e não esperou 4 anos para ser prefeito em Florianópolis).&amp;nbsp;&lt;/div&gt;&lt;div&gt;Roubou quase R$ 5 milhões de reais no último reveillon, com uma árvore de natal superfaturada e um no-show de um cantor italiano que faria a cerimônia dos fogos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;O governador Pavan vive enrolado em casos e descasos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;O irmão do prefeito é, ironicamente, atual prefeito em São José, a cidade vizinha, que junto com Florianópolis forma 80% da economia da Grande Florianópolis.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;A RBS (filial Globo) não noticiou um caso de estupro, e quando o fez, nada detalhou e ainda se defendeu atrás do ECA. Motivo? O estuprador é da família sócio-majoritária do Grupo RBS.&amp;nbsp;Com as fortes brigas entre Globo e Record, esta última aproveitou a oportunidade para deitar o cacete.&amp;nbsp;http://tinyurl.com/2clnp2d&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Até o momento, nenhum canal de notícias que tenha qualquer vínculo direto ou indireto com a Globo/RBS fez uma reportagem sobre o caso do estupro.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Na internet, se encontra muito sobre o que aconteceu no Barraco de Sorocaba (#Sorocabarraco), assim como sobre o caso do estupro. Entretanto o Fantástico ontem preferiu fazer a matéria sobre o barraco.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Não bastasse tudo isso, ainda não se viu na mídia nacional qualquer exposição às frequentes manifestações de estudantes na cidade a respeito do último reajuste de ônibus, elevando a tarifa ao valor de R$ 2,95, sem aumento de frota, horários ou qualquer melhoria no precário sistema desintegrado de transporte.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;É a Ilha da Magia, voltando aos tempos de bruxaria.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-8782836351288302850?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=iOm2Sc-73i8:3CVvWuClsIU:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=iOm2Sc-73i8:3CVvWuClsIU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=iOm2Sc-73i8:3CVvWuClsIU:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=iOm2Sc-73i8:3CVvWuClsIU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=iOm2Sc-73i8:3CVvWuClsIU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/iOm2Sc-73i8" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=8782836351288302850&amp;isPopup=true" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/8782836351288302850?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/8782836351288302850?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/iOm2Sc-73i8/bruxa-esta-solta-em-floripa.html" title="A bruxa está solta em Floripa" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2010/07/bruxa-esta-solta-em-floripa.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UBSHsycCp7ImA9WxFUGEg.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-2042917530274564392</id><published>2010-06-29T15:44:00.002-03:00</published><updated>2010-06-29T19:40:59.598-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-29T19:40:59.598-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Protesto" /><category scheme="http://www.blogger.com/atom/ns#" term="Oi Velox" /><title>Oi é investigada por invasão de privacidade</title><content type="html">&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://www.cadusilva.com/wp-content/imagens/OiNavegadoreainvasodeprivacidade_A9B5/tchau.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://www.cadusilva.com/wp-content/imagens/OiNavegadoreainvasodeprivacidade_A9B5/tchau.gif" width="163" /&gt;&lt;/a&gt;&lt;/div&gt;O Dep. de Proteção e Defesa do Consumidor (DPDC) do Ministério da Justiça &lt;a href="http://tecnozilla.info/blog/invasao-de-privacidade-voce-confia-na-oi/"&gt;investiga&lt;/a&gt; possível invasão de privacidade dos usuários Velox, graças ao uso de uma ferramenta de monitoramento, chamada &lt;i&gt;&lt;b&gt;Webwise&lt;/b&gt;&lt;/i&gt;. &lt;br /&gt;
&lt;br /&gt;
Em Dezembro de 2009 eu já havia mencionado que a Oi, assim como muitos outros provedores, já praticam invasão de privacidade graças a natureza da tecnologia envolvida no acesso à Internet.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://blog.brunoborges.com.br/2009/12/oi-velox-invade-privacidade-do-usuario.html"&gt;Invasão de Privacidade no Oi Velox para controle de velocidade&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
É possível, sem instalar qualquer programa nos computadores dos usuários, identificar quais sites os usuários estão acessando. &lt;b&gt;O programa Webwise &lt;/b&gt;na verdade &lt;b&gt;é um complemento para cruzar informações.&lt;/b&gt; Esta investigação do DPDC deveria se extender a uma análise técnica dos roteadores e servidores utilizados pela Oi, e por outros servidores.&lt;br /&gt;
&lt;br /&gt;
Identificar quais sites são acessados pelo usuário não é difícil para a Oi. Ela&lt;a href="http://blog.brunoborges.com.br/2009/12/oi-velox-invade-privacidade-do-usuario.html"&gt; &lt;b&gt;já faz isso&lt;/b&gt;&lt;/a&gt;. Difícil é obter informações como &lt;b&gt;tempo gasto&lt;/b&gt; e &lt;b&gt;programas&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color: blue;"&gt;*** Atualização ***&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
Enviei o e-mail abaixo à Sra.&amp;nbsp;Laura Schertel Mendes, coordenadora geral de Supervisão e Controle do DPDC, exigindo que nesta investigação com relação ao uso do software BT Webwise, também fosse feito um trabalho para auditoria dos servidores e roteadores da Oi, assim como de outros provedores que praticam Traffic Shaping.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;table border="0" cellpadding="0" cellspacing="0" style="font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;Bruno Borges &lt;bruno.borges@gmail.com&gt;&lt;/bruno.borges@gmail.com&gt;&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;Tue, Jun 29, 2010 at 7:26 PM&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan="2"&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;To: laura.mendes@mj.gov.br&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan="2" style="font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;table border="0" cellpadding="12" cellspacing="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Boa noite Laura,&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Acompanho os movimentos da Oi com relação ao Webwise desde Dezembro de 2009, quando&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;a href="http://blog.brunoborges.com.br/2009/12/oi-velox-invade-privacidade-do-usuario.html" target="_blank"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;apontei em meu blog&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;que a empresa já praticava invasão de privacidade em seus usuários Velox remotamente, ao identificar em seus servidores/roteadores o conteúdo acessado com o propósito de limitar a velocidade dos usuários. Ao ver o recente anúncio da investigação oficial contra o BT Webwise, gostaria de em primeiro lugar, parabenizar pelo trabalho, e em segundo lugar, pedir que esta investigação não se limitasse somente ao uso do BT Webwise nos computadores dos usuários, mas também a uma auditoria e investigação nos servidores/roteadores da Oi, e de outros provedores de Internet. O motivo é o Traffic Shaping ilegal.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;A técnica de&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;a href="http://pt.wikipedia.org/wiki/Traffic_shaping" target="_blank"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Traffic Shaping&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;praticada pela Oi é invasiva, pois restringe somente conteúdos de vídeos. Não bastasse a invasão nos dados trafegados entre servidores e o computador do cliente para identificar que se trata de vídeos, a Oi ainda pratica ilicitamente, um limite de velocidade para não prejudicar sua má dimensionada infraestrutura.&amp;nbsp;Os planos oferecidos pela empresa não condizem com a sua infraestrutura, além de induzirem usuários a contratarem planos mais caros (e supostamente mais velozes) ao encontrarem lentidão em suas conexões.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Fica evidente&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;a href="http://www.youtube.com/watch?v=bQYaXCu-taU" target="_blank"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;neste vídeo que gravei&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;, que a Oi utiliza técnicas avançadas de Traffic Shaping para dificultar a constatação da prática abusiva de limites de velocidades.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Assim como a Oi induziu usuários do Velox a instalarem o BT Webwise, ocorre também uma indução à contratação de planos mais velozes para solucionar os problemas de velocidades derivados da prática do Traffic Shaping.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Gostaria se possível, de alguma forma participar, como cidadão e usuário, destas investigações ou ao menos receber uma confirmação de que haverá algum trabalho para analisar as constatações levantadas por mim neste e-mail.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Atenciosamente,&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Bruno &lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;a href="http://blog.brunoborges.com.br/" target="_blank"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;blog.brunoborges.com.br&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
+55 21 76727099&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;b&gt;Tchau!&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-2042917530274564392?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=JBQ0POqZ7vk:4nhZVbH57rA:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=JBQ0POqZ7vk:4nhZVbH57rA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=JBQ0POqZ7vk:4nhZVbH57rA:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=JBQ0POqZ7vk:4nhZVbH57rA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=JBQ0POqZ7vk:4nhZVbH57rA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/JBQ0POqZ7vk" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=2042917530274564392&amp;isPopup=true" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/2042917530274564392?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/2042917530274564392?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/JBQ0POqZ7vk/oi-e-investigada-por-invasao-de.html" title="Oi é investigada por invasão de privacidade" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2010/06/oi-e-investigada-por-invasao-de.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkECRHk6cCp7ImA9WxFWEEg.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-6268415890742592537</id><published>2010-05-28T11:57:00.000-03:00</published><updated>2010-05-28T11:57:45.718-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-28T11:57:45.718-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Protesto" /><title>Em Floripa, manézinho virou otário</title><content type="html">Quem é Manezinho da Ilha, pode se ajoelhar agora, erguer as mãos pro céu e gritar: "&lt;i&gt;eu sou otário!&lt;/i&gt;". Sim, você mané, é um otário. E nem vou pedir desculpas pois, você é um boca-mole, um bundão, um frouxo sem coragem de lutar pelos seus direitos. Você fica em casa almoçando de frente para a TV, à espera do Jornal do Almoço para ver o que o Roberto Alves tem a dizer sobre o último jogo do Avaí ou do Figueirense. Você é um medroso, que assiste a Cacau Menezes fazer propaganda de suas festas; que você passa meses economizando para comprar a camisa da Feijoada. Você é um acomodado que se contenta em reclamar e concordar junto, da sua casa sentado no seu sofá, dos comentários do Luiz Carlos Prates. &lt;b&gt;Você manézinho da ilha, virou um otário.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
Você assiste da sua TV comprada no Koerich, &lt;a href="http://www.clicrbs.com.br/diariocatarinense/jsp/default2.jsp?uf=2&amp;amp;local=18&amp;amp;source=a2907463.xml&amp;amp;template=3898.dwt&amp;amp;edition=14711&amp;amp;section=134"&gt;Dário Berger ser eleito de forma &lt;b&gt;ilegal&lt;/b&gt;&lt;/a&gt; e ainda ajudar a colocar &lt;a href="http://www.clicrbs.com.br/diariocatarinense/jsp/default.jsp?uf=2&amp;amp;local=18&amp;amp;section=Pol%C3%ADtica&amp;amp;newsID=a2353165.htm"&gt;seu irmão na prefeitura da cidade-irmã São José&lt;/a&gt;. Sua mulher não se importa com isso, pois está feliz da vida com o anel que você comprou na Quevedo. E seus filhos estão ocupados demais no Playstation 3 para poderem compartilhar com você essas notícias.&lt;br /&gt;
&lt;br /&gt;
Você mané que virou otário, assiste dia após dia, o Grupo RBS (TV, DC, CBN) trazer a você, através de um monopólio de informações, somente aquilo que interessa a eles. Você não se importa com o transporte público pois você tem carro. Mas &lt;b&gt;você é tão otário&lt;/b&gt;, que reclama do trânsito todo dia na hora de atravessar a ponte. Reclama que tem carro demais na cidade e que se o transporte fosse bom, até usaria. Mas não usa porque é caro. Que carro compensa. Então você segue essa vida de reclamações, e de submissão. Você se submete ao que os burgueses da cidade te impõem. &lt;b&gt;Você mané, virou otário.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
Só não é otário quem está ganhando dinheiro com tudo isso: políticos e empresários. Você mané, é assalariado. É funcionário público. É estudante. &lt;b&gt;Você mané, é otário.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/HAE0IRzzlag&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/HAE0IRzzlag&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-6268415890742592537?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=mw9LyjIZrUw:KyHyADX4XaY:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=mw9LyjIZrUw:KyHyADX4XaY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=mw9LyjIZrUw:KyHyADX4XaY:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=mw9LyjIZrUw:KyHyADX4XaY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=mw9LyjIZrUw:KyHyADX4XaY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/mw9LyjIZrUw" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=6268415890742592537&amp;isPopup=true" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/6268415890742592537?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/6268415890742592537?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/mw9LyjIZrUw/em-floripa-manezinho-virou-otario.html" title="Em Floripa, manézinho virou otário" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2010/05/em-floripa-manezinho-virou-otario.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYGSX86cCp7ImA9WxFXEU4.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-4448363824905619323</id><published>2010-05-17T18:52:00.000-03:00</published><updated>2010-05-17T18:52:08.118-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-17T18:52:08.118-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Protesto" /><title>II Guerra do Contestado: em Florianópolis</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Bandeira_monarquiacelestial.gif/200px-Bandeira_monarquiacelestial.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Bandeira_monarquiacelestial.gif/200px-Bandeira_monarquiacelestial.gif" /&gt;&lt;/a&gt;&lt;/div&gt;É o que devem querer os atuais governantes de Florianópolis. Uma briga entre os "caboclos", ou nas atuais circunstâncias, os "estudantes" e a população em geral contra o poder do Estado e o setor privado (o que acabam sendo as mesmas pessoas). &lt;b&gt;A &lt;/b&gt;&lt;a href="http://pt.wikipedia.org/wiki/Guerra_do_Contestado"&gt;&lt;b&gt;Guerra do Contestado&lt;/b&gt;&lt;/a&gt;&lt;b&gt; do século 21&lt;/b&gt; renasceu graças a três principais acontecimentos na última década, e se prepara para alcancar seu momento mais delicado na próxima &lt;b&gt;Quinta-feira, dia 20 de Maio de 2010&lt;/b&gt;.&amp;nbsp;Anote esta data. Na Sexta-feira, você vai facilmente associar este texto com as notícias do dia:&lt;br /&gt;
&lt;blockquote&gt;&lt;i&gt;[...]&amp;nbsp;&lt;/i&gt;&lt;i&gt;Originada nos problemas sociais, decorrentes principalmente da falta de regularização do transporte público&amp;nbsp;&lt;s&gt;da posse de terras&lt;/s&gt;, e da insatisfação da população hipossuficiente, numa região em que a presença do poder público era pífia [...]&lt;/i&gt;&lt;/blockquote&gt;Sim, fiz um ajuste no trecho publicado na Wikipedia, apenas atualizando-o para os dias de hoje. Não muda muita coisa. &lt;a href="http://www.suapesquisa.com/historiadobrasil/guerra_contestado.htm"&gt;Veja este resumo&lt;/a&gt;, caso você não se lembra, ou ainda não estudou a Guerra do Contestado.&lt;br /&gt;
&lt;br /&gt;
Talvez se associarmos a batalha atual com o que aconteceu entre 1912 e 1916, o movimento ganhe maior apoio da população.&amp;nbsp;Caso você não se recorde dos eventos desta última década que estão impulsionando para este fim, assista ao vídeo abaixo. Se você se recorda, refresque a sua memória.&lt;br /&gt;
&lt;br /&gt;
&lt;object height="413" width="551"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11639619&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=11639619&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="551" height="413"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;a href="http://vimeo.com/11639619"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Democracia Militar&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; from &lt;/span&gt;&lt;a href="http://vimeo.com/user3777275"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Vinicius Possebon (Moscão)&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; on &lt;/span&gt;&lt;a href="http://vimeo.com/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Vimeo&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Dez anos se passaram, e a&lt;b&gt; causa contra o abuso do poder ganha força&lt;/b&gt;. Existe uma diferença entre defender a ordem pública e atacar estudantes em manifestações pelas ruas. Afinal, não fossem &lt;a href="http://www.youtube.com/watch?v=nzbNh0sHt4o"&gt;essas &lt;b&gt;manifestações&lt;/b&gt;&lt;/a&gt;, você não estaria vivendo numa &lt;a href="http://www.youtube.com/watch?v=xL4poBI9zxU&amp;amp;feature=related"&gt;&lt;b&gt;democracia&lt;/b&gt;&lt;/a&gt; neste exato momento. Talvez nem tivesse Internet na sua casa e se tivesse, seria censurada.&lt;br /&gt;
&lt;br /&gt;
O dia &lt;b&gt;20 de Maio de 2010&lt;/b&gt; antecede meu aniversário. E eu gostaria de acordar na Sexta-feira com a notícia de que nada aconteceu. De que a população não se rebelou contra o Estado. De que a &lt;b&gt;II Guerra do Contestado&lt;/b&gt; não aconteceu. Mas só terei certeza disso se antes eu ver a notícia de que o prefeito de Florianópolis cancelou o reajuste das tarifas de ônibus.&lt;br /&gt;
&lt;br /&gt;
Ao acordar e ver que o prefeito não defendeu os interesses do povo, vou ficar feliz ao ver no noticiário fotos e vídeos de estudantes, trabalhadores, mães e crianças com as&amp;nbsp;&lt;b&gt;caras pintadas&lt;/b&gt;, com faixas, cartazes, camisetas e megafones,&amp;nbsp;&lt;b&gt;protestando&lt;/b&gt;&amp;nbsp;&lt;b&gt;contra este abuso.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Quinta-feira, 20 de Maio de 2010&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;II Guerra do Contestado&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-4448363824905619323?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=2UOLxY9w4t0:pgPhBkoEUnE:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=2UOLxY9w4t0:pgPhBkoEUnE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=2UOLxY9w4t0:pgPhBkoEUnE:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=2UOLxY9w4t0:pgPhBkoEUnE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=2UOLxY9w4t0:pgPhBkoEUnE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/2UOLxY9w4t0" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=4448363824905619323&amp;isPopup=true" title="4 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/4448363824905619323?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/4448363824905619323?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/2UOLxY9w4t0/ii-guerra-do-contestado-em.html" title="II Guerra do Contestado: em Florianópolis" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2010/05/ii-guerra-do-contestado-em.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQGRH8yfyp7ImA9WxFXEU4.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-4070097539567152497</id><published>2010-05-17T01:36:00.002-03:00</published><updated>2010-05-17T18:55:25.197-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-17T18:55:25.197-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Protesto" /><title>7 passos para destruir Florianópolis</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_9SiSmlCW-48/S_DHk_uzTKI/AAAAAAAAF7A/Vyzl3sp9hA4/s1600/floripa_1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_9SiSmlCW-48/S_DHk_uzTKI/AAAAAAAAF7A/Vyzl3sp9hA4/s320/floripa_1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;** UPDATE ** &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://bit.ly/9eKqQF"&gt;&lt;b&gt;II Guerra do Contestado&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&amp;nbsp;(em 20/05/2010)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Há 5 anos, em 2005, quando saí de Florianópolis meses antes da segunda &lt;a href="http://pt.wikipedia.org/wiki/Revolta_da_Catraca"&gt;Revolta da Catraca&lt;/a&gt;, já tinha certeza que a cidade estava caminhando para problemas sérios de transporte. Conheci naquela época, o transporte coletivo de cidades de São Paulo, Rio de Janeiro, Belo Horizonte e ainda cidades internacionais como Roma, Barcelona e Paris. Cheguei à conclusão que para destruir uma cidade, torná-la insuportável, basta você destruir o transporte coletivo. Como eu &amp;nbsp;me arrisco a dizer: &lt;b&gt;&lt;i&gt;o meio de transporte é o sangue de uma cidade, transportando vida em um organismo delicado.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Florianópolis&lt;/b&gt; mais uma vez enfrenta reajustes de tarifas. Pesquise no Google, ou visite alguns dos sites indicados no final deste artigo. Neles você vai encontrar muito mais informação, mas resumo: é um dos menos eficazes, e o mais caro do Brasil (R$ 2,95). O que quero mostrar aqui, são os &lt;b&gt;7 passos&lt;/b&gt; que um prefeito, como o Dário Berger, deve seguir &lt;b&gt;para destruir o transporte coletivo&lt;/b&gt; da cidade, &lt;b&gt;e&lt;/b&gt; consequentemente, &lt;b&gt;a&lt;/b&gt; &lt;b&gt;cidade em sí&lt;/b&gt;.&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;b&gt;Ofereça&amp;nbsp;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;um&lt;/span&gt; &lt;span class="Apple-style-span" style="font-size: x-large;"&gt;único meio&lt;/span&gt; de &lt;span class="Apple-style-span" style="font-size: x-large;"&gt;acesso&lt;/span&gt; à cidade que fica numa ... &lt;span class="Apple-style-span" style="font-size: x-large;"&gt;ilha&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
Sim, pois barcas e pontes em outros extremos são eficientes, e isto com certeza facilitaria a vida do povo. O Rio que nem ilha é, decidiu colocar uma pequena&amp;nbsp;&lt;a href="http://www.ponte.com.br/"&gt;ponte&lt;/a&gt; ligando-se a Niterói, e um serviço de &lt;a href="http://www.barcas-sa.com.br/"&gt;barcas&lt;/a&gt;. Total falta de bom senso dos governantes.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Não invista em transportes sobre trilhos, eles não são poluentes&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Para destruir uma cidade, é importante não abraçar causas ambientais. Transportes sobre trilhos, como trêns, metrôs e bondes não emitem poluentes. Melhor manter estas tecnologias longe dos planos de desenvolvimento da cidade! Nova York &lt;a href="http://www.autoblog.com/2009/05/26/report-cars-officially-banned-from-new-yorks-time-square/"&gt;cometeu uma loucura&lt;/a&gt; ao proibir inclusive, carros em Manhattan. O ar está melhorando. Absurdo!&lt;/span&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Dificulte o uso de bicicletas na sua cidade&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Afinal, bicicletas não ocupam espaço, não emitem poluentes, não causam engarrafamento e são baratíssimas. &lt;a href="http://en.wikipedia.org/wiki/Bicycle_sharing_system"&gt;Compartilhar bicicletas&lt;/a&gt; na cidade nem pensar. Isso com certeza iria diminuir o número de automóveis no Centro, indo totalmente contra &lt;a href="http://farm4.static.flickr.com/3470/3760279599_c73036a632.jpg"&gt;os planos&lt;/a&gt; do prefeito.&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Evite sistemas eficazes de integração de ônibus&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Prefeito bom, tem que parecer inteligente. E tudo que é &lt;a href="http://www.yeshua-do.com/jom/images/stories/einstein_tongue.jpg"&gt;inteligente&lt;/a&gt;, é &lt;a href="http://greenlanternpress.files.wordpress.com/2008/12/einstein-l.jpg"&gt;complicado&lt;/a&gt;. Então ele deve complicar. O &lt;a href="http://www.setuf.com.br/index.php?secao=mapa.php"&gt;sistema de transporte público deve ser confuso&lt;/a&gt;, sem integração em algumas áreas, favorecendo cobrança adicional de tarifas, ou preços diferenciados. Deve irritar o passageiro, deixá-lo transtornado e depressivo, por saber que no dia seguinte terá que entrar nesse sistema novamente, até o fim da sua vida.&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Dificulte (e cobre mais caro) o pagamento para usuários desavisados&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Cobre uma multa dos usuários que não buscaram informação para obter o cartão-cidadão. Cobre uma multa dos turistas por não terem tempo hábil para conhecer o sistema complicado e a cobrança diferenciada. Cobre inclusive, mais caro na primeira vez que um novo usuário quiser comprar o cartão-cidadão. Afinal para obter o cartão ele deve se dirigir até o Terminal Central.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Mantenha um quadro de horários pobre de ônibus e itinerários&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;O passageiro deve ter que esperar dezenas de minutos, por um &lt;a href="http://documentotupiniquim.com/wp-content/uploads/2008/02/lotado.jpg"&gt;ônibus cheio&lt;/a&gt;. Deve se irritar com a pequena quantidade de ônibus trafegando na hora em que ele mais precisar. Os motoristas devem ser treinados para passarem batidos em alguns pontos-de-ônibus.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Por fim, aumentar a tarifa anualmente, com taxas superiores à inflação&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;O passageiro deve entender que é ele quem pagará por todo o sistema. Então se a inflação subir, o passageiro deverá cubrir o aumento de salário dos motoristas e cobradores, e o &lt;i&gt;gap&lt;/i&gt;&amp;nbsp;no lucro das empresas de ônibus, afinal "&lt;i&gt;alguem tem que pagar a conta&lt;/i&gt;".&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;Seguindo estes passos, a consequência é simples: &lt;b&gt;caos&lt;/b&gt;. O prefeito deve então ficar feliz, por ter alcançado seu objetivo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Trânsito&lt;/span&gt;&amp;nbsp;fica mais&amp;nbsp;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;caótico&lt;/span&gt;&amp;nbsp;para todos&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/brunoborges/status/14138514511"&gt;Comentei no Twitter&lt;/a&gt; que um negócio que será em breve rentável em Floripa, é o transporte ilegal. Vans, moto-táxis, caroneiros e lotações em geral. No Brasil já temos inúmeros exemplos. Podemos facilmente entender porque ele [transporte ilegal] nasce, e &lt;a href="http://noticias.uol.com.br/especiais/transito/2009/03/12/ult5848u48.jhtm"&gt;o que isso ocasiona&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium; font-weight: normal;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Transporte ilegal&lt;/b&gt; significa mais carros nas ruas, para suprir a necessidade do povo: transporte coletivo eficiente a um preço justo. Entenda eficiente como "traçando uma rota que agrada mais, e mais horários". Aqui no Rio as vans custam em grande maioria, R$ 2,00. E veja que as passagens de ônibus custam em grande maioria, R$ 2,35. O motivo de se usar a van, é para chegar mais rápido e economizar um dinheiro que para muita gente, é muita grana. No mês, pode chegar a R$ 21,00. O que dá para comprar leite para uma semana.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Com transporte legalizado ineficiente, as vans vão nascer e crescer rapidamente. E os ônibus ficarão ainda mais caros, pois afinal, passageiros irão migrar e o faturamento diminuir. Com poucos passageiros, "alguem precisa pagar a conta", e serão aqueles que invariavelmente &lt;b&gt;precisam&lt;/b&gt;&amp;nbsp;do transporte mas não podem, ou não querem, migrar para as vans.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Mais vans: mais trânsito. &lt;b&gt;Se você usa carro&lt;/b&gt; &lt;b&gt;e acha que não será afetado, se iludiu&lt;/b&gt;. Você deveria também estar batalhando contra os reajustes abusivos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Florianópolis&lt;/span&gt; terá tarifa de&lt;span class="Apple-style-span" style="font-size: x-large;"&gt; R$ 4,50&lt;/span&gt; em &lt;span class="Apple-style-span" style="font-size: x-large;"&gt;2012&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Essa é a minha aposta. Por quê? Vans, poucos passageiros, mais carros. Menos ônibus e serviço mais caro.&amp;nbsp;&lt;/div&gt;&lt;div&gt;A cidade está à caminho da destruição. E somente você, cidadão, tem o poder de impedir.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;Pule você também!&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11754231&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=11754231&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://vimeo.com/11754231"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Quem não pula quer tarifa&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; from &lt;/span&gt;&lt;/i&gt;&lt;a href="http://vimeo.com/user3820095"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Doc Dois&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; on &lt;/span&gt;&lt;/i&gt;&lt;a href="http://vimeo.com/"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Vimeo&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;div style="text-align: left;"&gt;&lt;i&gt;Saiba mais:&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://tarifazero.org/"&gt;TarifaZero.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://reinventarfloripa.blogspot.com/"&gt;Reinventa Floripa&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;&lt;a href="http://twitter.com/#search?q=%23porumavidasemcatracas"&gt;#porumavidasemcatracas&lt;/a&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://twitter.com/#search?q=%23contraoaumento"&gt;#contraoaumento&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://twitter.com/lataofloripa"&gt;@lataofloripa&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-4070097539567152497?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=yQdMmOupNOc:VR_nuKPO9Eo:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=yQdMmOupNOc:VR_nuKPO9Eo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=yQdMmOupNOc:VR_nuKPO9Eo:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=yQdMmOupNOc:VR_nuKPO9Eo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=yQdMmOupNOc:VR_nuKPO9Eo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/yQdMmOupNOc" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=4070097539567152497&amp;isPopup=true" title="3 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/4070097539567152497?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/4070097539567152497?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/yQdMmOupNOc/7-passos-para-destruir-florianopolis.html" title="7 passos para destruir Florianópolis" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_9SiSmlCW-48/S_DHk_uzTKI/AAAAAAAAF7A/Vyzl3sp9hA4/s72-c/floripa_1.jpg" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2010/05/7-passos-para-destruir-florianopolis.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcASXw9eip7ImA9WxFQF0U.&quot;"><id>tag:blogger.com,1999:blog-9203187650123315020.post-4346278721780078585</id><published>2010-05-13T18:06:00.005-03:00</published><updated>2010-05-13T18:27:28.262-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-13T18:27:28.262-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Protesto" /><title>Campanha #BoaDario</title><content type="html">&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Como o Dário irá destruir Florianópolis?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Dê sugestões no &lt;a href="http://twitter.com/home?status=Transformando+Floripa+em+%22Rio+de+Janeiro+do+Sul%22+%23BoaDario"&gt;Twitter&lt;/a&gt;, &lt;a href="javascript:(function(){var%20d=document,l=d.location,e=encodeURIComponent,u='http://promote.orkut.com/preview?src=bkmrklt&amp;amp;v=1&amp;amp;nt=orkut.com&amp;amp;du='+e(l.href)+'&amp;amp;tt='+e(d.title),s='&amp;amp;rdrinl=1';if(!window.open(u,'','height=575,width=700,directories=0,location=1,menubar=0,resizable=0,scrollbars=1,status=1,toolbar=0'))l.href=u+s;})();"&gt;Orkut&lt;/a&gt; ou &lt;a name="fb_share" type="icon_link" share_url="http://blog.brunoborges.com.br/2010/05/campanha-boadario.html" href="http://www.facebook.com/sharer.php"&gt;Facebook&lt;/a&gt;&lt;script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"&gt;&lt;/script&gt;. Utilize a tag!&lt;/span&gt;&lt;br /&gt;
Idéias, passos, feitos e objetivos de &lt;b&gt;Dário Berger&lt;/b&gt; rumo à &lt;s&gt;destruição&lt;/s&gt; transformação de Floripa. Planejando a próxima Cidade Maravilhosa(mente cheia de problemas).&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Abrace essa campanha!&lt;/span&gt;&lt;br /&gt;
&lt;blockquote style="text-align: center;"&gt;&lt;i&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Transformando Floripa em "Rio de Janeiro do Sul" #BoaDario&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9203187650123315020-4346278721780078585?l=blog.brunoborges.com.br' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=jGM_qDb8CEU:9GveIlWlrDI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=jGM_qDb8CEU:9GveIlWlrDI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=jGM_qDb8CEU:9GveIlWlrDI:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?a=jGM_qDb8CEU:9GveIlWlrDI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BlogDoBrunoBorges?i=jGM_qDb8CEU:9GveIlWlrDI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BlogDoBrunoBorges/~4/jGM_qDb8CEU" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9203187650123315020&amp;postID=4346278721780078585&amp;isPopup=true" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/4346278721780078585?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9203187650123315020/posts/default/4346278721780078585?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BlogDoBrunoBorges/~3/jGM_qDb8CEU/campanha-boadario.html" title="Campanha #BoaDario" /><author><name>Bruno Borges</name><uri>https://profiles.google.com/112626245189993000679</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-VSsjzcs6Dz8/AAAAAAAAAAI/AAAAAAAAGNw/ZbJ9w-Dx9mI/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.brunoborges.com.br/2010/05/campanha-boadario.html</feedburner:origLink></entry></feed>

