<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2portuguesefull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>VidaGeek.net</title>
	
	<link>http://vidageek.net</link>
	<description>Linux, Open-source, Programação e Produtividade</description>
	<pubDate>Wed, 01 Jul 2009 10:00:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/</creativeCommons:license>
		<image><link>http://vidageek.net</link><url>http://vidageek.net/public/images/escherCube.png</url><title>VidaGeek.net</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/VidaGeek" type="application/rss+xml" /><feedburner:emailServiceId>VidaGeek</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FVidaGeek" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/VidaGeek" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FVidaGeek" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FVidaGeek" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Como funciona o Wii Remote</title>
		<link>http://feedproxy.google.com/~r/VidaGeek/~3/m5qkmvsLbt4/</link>
		<comments>http://vidageek.net/2009/07/01/como-funciona-o-wii-remote/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 10:00:00 +0000</pubDate>
		<dc:creator>Luiz</dc:creator>
		
		<category><![CDATA[Diversão]]></category>

		<category><![CDATA[GeekStyleOfLife]]></category>

		<category><![CDATA[Jogos]]></category>

		<category><![CDATA[bluetooth]]></category>

		<category><![CDATA[camera]]></category>

		<category><![CDATA[curiosidades]]></category>

		<category><![CDATA[imagens médicas]]></category>

		<category><![CDATA[infravermelho]]></category>

		<category><![CDATA[interface]]></category>

		<category><![CDATA[wii]]></category>

		<guid isPermaLink="false">http://vidageek.net/?p=918</guid>
		<description><![CDATA[<p><img src="http://vidageek.net/wp-content/uploads/2009/06/nunchuk.jpg" alt="Wii Remote e Nunchuk" title="Wii Remote e Nunchuk" width="200" height="258" class="alignright size-full wp-image-921" align="right" /><br />
Esse post eu devo ao Marcos Bonci Cavalca, aluno de iniciação científica orientado pelo mesmo orientador que eu (<a href="http://www.ime.usp.br/~mjack">prof. Marcel Jackowski</a>). O Marcos está pesquisando interfaces para programas de imagens médicas e pretende usar o Wii Remote na interface que&#8230;</p>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/6NbcbQtDyi9vp8xSW-EYdg5_I-0/0/da"><img src="http://feedads.g.doubleclick.net/~a/6NbcbQtDyi9vp8xSW-EYdg5_I-0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/6NbcbQtDyi9vp8xSW-EYdg5_I-0/1/da"><img src="http://feedads.g.doubleclick.net/~a/6NbcbQtDyi9vp8xSW-EYdg5_I-0/1/di" border="0" ismap="true"></img></a></p><p><img src="http://vidageek.net/wp-content/uploads/2009/06/nunchuk.jpg" alt="Wii Remote e Nunchuk" title="Wii Remote e Nunchuk" width="200" height="258" class="alignright size-full wp-image-921" align="right" /><br />
Esse post eu devo ao Marcos Bonci Cavalca, aluno de iniciação científica orientado pelo mesmo orientador que eu (<a href="http://www.ime.usp.br/~mjack">prof. Marcel Jackowski</a>). O Marcos está pesquisando interfaces para programas de imagens médicas e pretende usar o Wii Remote na interface que está desenvolvendo. Com as reuniões periódicas do grupo de pesquisa, eu acabei aprendendo um pouco também e resolvi contar aqui.</p>
<p>O Wii Remote tem dois sensores: uma câmera, que captura a luz infravermelha emitida por dois pontos na sensor bar, e acelerômetros, que permite obter a aceleração do controle nos três eixos (vertical, lateral e profundidade). A câmera encontra as fontes de infravermelho (lembrando: o Sol é uma, então jogar Wii a céu aberto num dia ensolarado não é uma boa) e emite as coordenadas dos pontos para o console. Com isso, dá para calcular a orientação do controle com relação ao chão e a direção para a qual você está apontando na tela. Já o Nunchuk, se não me engano, tem um acelerômetro só. Todos os dados são enviados via bluetooth para o Wii.</p>
<p><strong>Uma curiosidade</strong>: Não sei se todo mundo sabe mas eu, pelo menos, descobri há pouco tempo. Vale não só para a sensor bar do Wii Remote, como para a maioria dos emissores de infravermelho usados em controles remotos. As webcams e (não testado) câmeras mais baratas e simples capturam infravermelho. Assim, você pode testar se seu controle remoto está funcionando apontando-o na direção de uma webcam ligada. A fonte de luz infravermelha vai aparecer branca na imagem.</p>
<p align="center"><strong>Acompanhe-nos também via <a href="http://twitter.com/blogvidageek" target="_blank">Twitter</a>.</strong><br>Veja como ter um desconto no <a href="http://vidageek.net/dreamhost/">Dreamhost</a>: um excelente servidor web.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VidaGeek?a=m5qkmvsLbt4:-60OZSAKBc4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=m5qkmvsLbt4:-60OZSAKBc4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=m5qkmvsLbt4:-60OZSAKBc4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=m5qkmvsLbt4:-60OZSAKBc4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=m5qkmvsLbt4:-60OZSAKBc4:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=m5qkmvsLbt4:-60OZSAKBc4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=m5qkmvsLbt4:-60OZSAKBc4:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VidaGeek/~4/m5qkmvsLbt4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vidageek.net/2009/07/01/como-funciona-o-wii-remote/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/br/</creativeCommons:license>
	<feedburner:origLink>http://vidageek.net/2009/07/01/como-funciona-o-wii-remote/</feedburner:origLink></item>
		<item>
		<title>Como remover os malditos .svn</title>
		<link>http://feedproxy.google.com/~r/VidaGeek/~3/BFU6RtjbRGI/</link>
		<comments>http://vidageek.net/2009/06/29/como-remover-os-malditos-svn/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 08:00:57 +0000</pubDate>
		<dc:creator>Jonas Abreu</dc:creator>
		
		<category><![CDATA[Dicas]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Programacao]]></category>

		<category><![CDATA[find]]></category>

		<category><![CDATA[metadata]]></category>

		<category><![CDATA[rm]]></category>

		<category><![CDATA[svn]]></category>

		<category><![CDATA[xargs]]></category>

		<guid isPermaLink="false">http://vidageek.net/?p=867</guid>
		<description><![CDATA[<p>Uma das coisas que mais me atrapalhava com o svn era quando eu queria gerar um snapshot do que tinha no repositório, mas sem os .svn .</p>
<p>Um one-liner bash que faz isso:</p>
<pre><code>
	find . -iname .svn &#124; xargs rm -fr
</code></pre>
<p>Explicação:</p>
<ol>
<li>
		<strong>find&#8230;</strong></li></ol>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/U-pTl5us-lXWHlYq6tdtl9TRgS8/0/da"><img src="http://feedads.g.doubleclick.net/~a/U-pTl5us-lXWHlYq6tdtl9TRgS8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/U-pTl5us-lXWHlYq6tdtl9TRgS8/1/da"><img src="http://feedads.g.doubleclick.net/~a/U-pTl5us-lXWHlYq6tdtl9TRgS8/1/di" border="0" ismap="true"></img></a></p><p>Uma das coisas que mais me atrapalhava com o svn era quando eu queria gerar um snapshot do que tinha no repositório, mas sem os .svn .</p>
<p>Um one-liner bash que faz isso:</p>
<pre><code>
	find . -iname .svn | xargs rm -fr
</code></pre>
<p>Explicação:</p>
<ol>
<li>
		<strong>find . -iname .svn</strong>: Encontra todos os arquivos ou diretórios que se chamem .svn
	</li>
<li>
		<strong>xargs rm -fr</strong>: O xargs é um programa que executa o que vier depois dele pra cada linha que ele receber como entrada. Por isso apaga todos os .svn.
	</li>
</ol>
<p align="center"><strong>Acompanhe-nos também via <a href="http://twitter.com/blogvidageek" target="_blank">Twitter</a>.</strong><br>Veja como ter um desconto no <a href="http://vidageek.net/dreamhost/">Dreamhost</a>: um excelente servidor web.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VidaGeek?a=BFU6RtjbRGI:JCb4VKOE3RY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=BFU6RtjbRGI:JCb4VKOE3RY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=BFU6RtjbRGI:JCb4VKOE3RY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=BFU6RtjbRGI:JCb4VKOE3RY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=BFU6RtjbRGI:JCb4VKOE3RY:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=BFU6RtjbRGI:JCb4VKOE3RY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=BFU6RtjbRGI:JCb4VKOE3RY:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VidaGeek/~4/BFU6RtjbRGI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vidageek.net/2009/06/29/como-remover-os-malditos-svn/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/br/</creativeCommons:license>
	<feedburner:origLink>http://vidageek.net/2009/06/29/como-remover-os-malditos-svn/</feedburner:origLink></item>
		<item>
		<title>FISL 10: Scaling Rails</title>
		<link>http://feedproxy.google.com/~r/VidaGeek/~3/4GMm0pbgaZY/</link>
		<comments>http://vidageek.net/2009/06/27/fisl-10-scaling-rails/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 12:00:53 +0000</pubDate>
		<dc:creator>Luiz</dc:creator>
		
		<category><![CDATA[Eventos]]></category>

		<category><![CDATA[Fisl]]></category>

		<category><![CDATA[Google]]></category>

		<category><![CDATA[OpenSource]]></category>

		<category><![CDATA[Programacao]]></category>

		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[busca textual]]></category>

		<category><![CDATA[caching]]></category>

		<category><![CDATA[escalabilidade]]></category>

		<category><![CDATA[Rails]]></category>

		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://vidageek.net/?p=914</guid>
		<description><![CDATA[<p>Na segunda palestra que assisti (na verdade terceira, mas a primeira não conta porque, infelizmente, dormi :P), Sylvestre Mergulhão deu continuidade à palestra do Fabio Akita e falou sobre escalabilidade utilizando Rails no site <a href="http://redeparede.com.br/">RedeParede</a>, um site de classificados com&#8230;</p>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/Z_Y3Xji-YEFwyCwG03SSmw7Y1sY/0/da"><img src="http://feedads.g.doubleclick.net/~a/Z_Y3Xji-YEFwyCwG03SSmw7Y1sY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Z_Y3Xji-YEFwyCwG03SSmw7Y1sY/1/da"><img src="http://feedads.g.doubleclick.net/~a/Z_Y3Xji-YEFwyCwG03SSmw7Y1sY/1/di" border="0" ismap="true"></img></a></p><p>Na segunda palestra que assisti (na verdade terceira, mas a primeira não conta porque, infelizmente, dormi :P), Sylvestre Mergulhão deu continuidade à palestra do Fabio Akita e falou sobre escalabilidade utilizando Rails no site <a href="http://redeparede.com.br/">RedeParede</a>, um site de classificados com versões para toda a América Latina.</p>
<p>Sylvestre começou falando da performance do site e o sistema de indexação do Google (o Googlebot). Falou que o Googlebot afetava perceptivelmente a performance do site quando estava indexando e era responsável por aproximadamente metade das requisições. Levantou também algumas teorias sobre o Googlebot (parte que achei mais interessante na palestra):</p>
<ol>
<li>Sitemap em XML => mais visitas</li>
<li>Rank também é determinado por capacidade do site de receber visitas</li>
<li>Queda de serviço => menos indexação por um bom tempo</li>
<li>Mais atualizações => mais indexação</li>
</ol>
<p>Depois disso, Mergulhão falou um pouco sobre a estrutura física dos servidores do site. São seis máquinas atrás de um balanceador de carga, cada uma com cinco instâncias rodando atrás do NGINX. Falou também um pouco do memcached, utilizado para fazer cache de qualquer string, que está sendo utilizado em massa pelo site. Segundo ele, é uma biblioteca fácil de usar, apesar de pouca documentação. Deu também exemplos de configuração e de uso. Falou mais um pouco sobre problemas com caching (página muda de acordo com usuário) e sobre outros tipos de caching: de página (falou que era melhor usar o cache de HTTP com ETags), de ações (muito interessante: permite guardar o resultado de uma ação no cache; dobrou a capacidade de processamento do servidor deles) e de fragmentos (para guardar pedaços de páginas).</p>
<p>Por fim, falou um pouco sobre o ganho de performance e de tempo de desenvolvimento (por não ter que usar mais SQL) com o uso do <a href="http://www.sphinxsearch.com/">Sphinx</a>.</p>
<p>O começo da palestra foi interessante, mas minha impressão final é de que o palestrante não ficou muito feliz com o resultado da migração do site, antes em PHP, para Rails. Outro comentário que posso fazer é que já trabalhei num projeto em Rails com Sphinx e a equipe não gostou muito; acabamos mudando para o <a href="http://lucene.apache.org/solr/">Solr</a>.</p>
<p align="center"><strong>Acompanhe-nos também via <a href="http://twitter.com/blogvidageek" target="_blank">Twitter</a>.</strong><br>Veja como ter um desconto no <a href="http://vidageek.net/dreamhost/">Dreamhost</a>: um excelente servidor web.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VidaGeek?a=4GMm0pbgaZY:FOpt9rlrtas:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=4GMm0pbgaZY:FOpt9rlrtas:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=4GMm0pbgaZY:FOpt9rlrtas:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=4GMm0pbgaZY:FOpt9rlrtas:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=4GMm0pbgaZY:FOpt9rlrtas:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=4GMm0pbgaZY:FOpt9rlrtas:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=4GMm0pbgaZY:FOpt9rlrtas:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VidaGeek/~4/4GMm0pbgaZY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vidageek.net/2009/06/27/fisl-10-scaling-rails/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/br/</creativeCommons:license>
	<feedburner:origLink>http://vidageek.net/2009/06/27/fisl-10-scaling-rails/</feedburner:origLink></item>
		<item>
		<title>FISL 10: Agilidade e Qualidade de Projetos com Ruby on Rails</title>
		<link>http://feedproxy.google.com/~r/VidaGeek/~3/DZpvLqFlt_U/</link>
		<comments>http://vidageek.net/2009/06/27/fisl-10-agilidade-e-qualidade-de-projetos-com-ruby-on-rails/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 10:00:27 +0000</pubDate>
		<dc:creator>Luiz</dc:creator>
		
		<category><![CDATA[Agile]]></category>

		<category><![CDATA[Dicas]]></category>

		<category><![CDATA[Eventos]]></category>

		<category><![CDATA[Fisl]]></category>

		<category><![CDATA[OpenSource]]></category>

		<category><![CDATA[Programacao]]></category>

		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[Tutoriais]]></category>

		<category><![CDATA[fisl 10]]></category>

		<category><![CDATA[Rails]]></category>

		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://vidageek.net/?p=910</guid>
		<description><![CDATA[<p>Ontem, <a href="http://akitaonrails.com">Fabio Akita</a> deu uma palestra no FISL 10 sobre Ruby on Rails. Foi uma palestra lotada e divertida.</p>
<p>A palestra começou com uma breve introdução ao arcabouço, um outline da palestra. O Fabio falou de como surgiu o arcabouço, qual era&#8230;</p>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/lzGaXt-JbcPc9kgBAoHB55-C6gk/0/da"><img src="http://feedads.g.doubleclick.net/~a/lzGaXt-JbcPc9kgBAoHB55-C6gk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/lzGaXt-JbcPc9kgBAoHB55-C6gk/1/da"><img src="http://feedads.g.doubleclick.net/~a/lzGaXt-JbcPc9kgBAoHB55-C6gk/1/di" border="0" ismap="true"></img></a></p><p>Ontem, <a href="http://akitaonrails.com">Fabio Akita</a> deu uma palestra no FISL 10 sobre Ruby on Rails. Foi uma palestra lotada e divertida.</p>
<p>A palestra começou com uma breve introdução ao arcabouço, um outline da palestra. O Fabio falou de como surgiu o arcabouço, qual era seu objetivo inicial, falou das atuais versões de Ruby, de Rails e do JRuby e da importância da comunidade para o projeto.</p>
<p>Em seguida, na parte mais divertida da palestra, o Akita mostrou alguns dados sobre a performance da máquina virtual de Ruby. Mostrou, por exemplo, o ganho de velocidade da versão 1.8 para a versão 1.9 da máquina virtual &#8220;padrão&#8221; de Ruby por meio de um jogo muito interessante chamado &#8220;<a href="http://github.com/FooBarWidget/rubystein/tree/master">Rubystein</a>&#8221; que eu, pelo menos, não conhecia nessa versão&#8230; hehehe). O jogo, aliás, utiliza uma biblioteca para acessar o <em>hardware</em> diretamente para fazer o desenho 2D: <a href="http://code.google.com/p/gosu/">Gosu</a>.</p>
<p>Depois da demostração de ganho de velocidade realmente impressionante da nova máquina virtual, falou um pouco da importância da comunidade para se aprender e divulgar Ruby on Rails. Citou, inclusive, alguns sites muito bons para ficar por dentro das últimas novidades sobre o projeto:</p>
<ul>
<li><a href="http://peepcode.com/">Peepcode</a></li>
<li><a href="http://railsenvy.com">railsenvy.com</a> (podcasts)</li>
<li><a href="http://railscasts.com">railscasts.com</a> (vídeo podcasts de how-to&#8217;s)</li>
<li>Outros&#8230;</li>
</ul>
<p>Em seguida, Fabio falou de alguns recursos que já vem embutidos no Rails mas que nem todo mundo lembra, motivo pelo qual, segundo ele, algumas pessoas xingam Rails sem motivo. Dentre essas funcionalidades, vale destacar o suporte a autenticação HTTP básica, Atom, internacionalização (i18n para os íntimos), XML, JSON, e-mail e caching.</p>
<p>Para terminar, o Akita fez uma demonstração de algumas funcionalidades incrementando o já famoso blog de 15 minutos. Criou uma área de administração com login, colocou caching, um editor de texto mais incrementado e suporte a upload de arquivos, para citar as mais legais.</p>
<p>Enfim, aprendi algumas coisas novas com essa palestra; gostei! E acho que também agradou a quem não conhecia quase nada de Rails. Parabéns, Akita. Mas faltou alguma coisa de metodologias ágeis na palestra (pelo título).</p>
<p>O código que ele mostrou na palestra está no <a href="http://github.com/akitaonrails/fisl_10_demo/tree">GitHub</a> e os slides, no <a href="http://www.slideshare.net/akitaonrails/fisl-10">SlideShare</a>.</p>
<p>Assim que der tempo falo sobre as outras três palestras que assisti ontem, apesar da visita do nosso presidente ter atrapalhado um pouco o andamento do evento&#8230;</p>
<p align="center"><strong>Acompanhe-nos também via <a href="http://twitter.com/blogvidageek" target="_blank">Twitter</a>.</strong><br>Veja como ter um desconto no <a href="http://vidageek.net/dreamhost/">Dreamhost</a>: um excelente servidor web.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VidaGeek?a=DZpvLqFlt_U:ZOIrpI7l3vg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=DZpvLqFlt_U:ZOIrpI7l3vg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=DZpvLqFlt_U:ZOIrpI7l3vg:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=DZpvLqFlt_U:ZOIrpI7l3vg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=DZpvLqFlt_U:ZOIrpI7l3vg:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=DZpvLqFlt_U:ZOIrpI7l3vg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=DZpvLqFlt_U:ZOIrpI7l3vg:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VidaGeek/~4/DZpvLqFlt_U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vidageek.net/2009/06/27/fisl-10-agilidade-e-qualidade-de-projetos-com-ruby-on-rails/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/br/</creativeCommons:license>
	<feedburner:origLink>http://vidageek.net/2009/06/27/fisl-10-agilidade-e-qualidade-de-projetos-com-ruby-on-rails/</feedburner:origLink></item>
		<item>
		<title>FISL 10: Seaside versus Rails</title>
		<link>http://feedproxy.google.com/~r/VidaGeek/~3/DiUbqOPUaNk/</link>
		<comments>http://vidageek.net/2009/06/27/fisl-10-seaside-versus-rails/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 03:45:57 +0000</pubDate>
		<dc:creator>Luiz</dc:creator>
		
		<category><![CDATA[Discussões]]></category>

		<category><![CDATA[Eventos]]></category>

		<category><![CDATA[Fisl]]></category>

		<category><![CDATA[OpenSource]]></category>

		<category><![CDATA[Opiniao]]></category>

		<category><![CDATA[Programacao]]></category>

		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[fisl 10]]></category>

		<category><![CDATA[Rails]]></category>

		<category><![CDATA[seaside]]></category>

		<category><![CDATA[smalltalk]]></category>

		<guid isPermaLink="false">http://vidageek.net/?p=908</guid>
		<description><![CDATA[<p>Na primeira palestra da qual participei (e a primeira que dei num evento público), falei, junto com o grande <a href="http://fabiokung.com">Fabio Kung</a>, sobre <a href="http://www.seaside.st">Seaside</a>, um arcabouço para desenvolvimento de aplicações para a Web escrito em <a href="http://vidageek.net/2008/08/27/linguagens-de-programacao-smalltalk/">Smalltalk</a>. O Kung, é claro, falou&#8230;</p>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/xOGK6DwmujYo6pcDUREilQkMU9Q/0/da"><img src="http://feedads.g.doubleclick.net/~a/xOGK6DwmujYo6pcDUREilQkMU9Q/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/xOGK6DwmujYo6pcDUREilQkMU9Q/1/da"><img src="http://feedads.g.doubleclick.net/~a/xOGK6DwmujYo6pcDUREilQkMU9Q/1/di" border="0" ismap="true"></img></a></p><p>Na primeira palestra da qual participei (e a primeira que dei num evento público), falei, junto com o grande <a href="http://fabiokung.com">Fabio Kung</a>, sobre <a href="http://www.seaside.st">Seaside</a>, um arcabouço para desenvolvimento de aplicações para a Web escrito em <a href="http://vidageek.net/2008/08/27/linguagens-de-programacao-smalltalk/">Smalltalk</a>. O Kung, é claro, falou de Rails.</p>
<p>O objetivo da palestra era mostrar que Seaside é muito melhor que Rails, mas o Kung não deixou (brincadeira!). Na verdade, o objetivo da palestra era mostrar coisas que são legais em ambos os arcabouços, e que um poderia aprender com o outro. É claro que nem tudo poderia ser copiado, já que as raizes dos dois tem algumas fortes divergências, como a aceitação do protocolo imposto pela Web (stateless) versus a subversão total dessa ideia (stateful, implementada pelo Seaside). Existem motivações para ambos: stateless, para respeitar a Web e ser mais escalável; stateful, para ser mais fácil de desenvolver e mais reutilizável.</p>
<p>Mostramos muito pouco de cada um dos arcabouços. A ideia era mostrar tópicos bem mais avançados. No fim, quase que não deu tempo de mostrar como criar um componente do Seaside.</p>
<p>Fiquei devendo uma resposta no meio da palestra. Quando falei que Seaside era baseado em componentes, inspirado no desenvolvimento para desktop, o <a href="http://plentz.org/">Diego Plentz</a> me provocou falando que era que nem VB; aliás, que VB era melhor porque, pelo menos, tinha uma interface gráfica para desenvolver componentes. Eu, com toda minha sagacidade, não consegui responder na hora :P. Mas a resposta é: <del datetime="2009-06-27T03:26:40+00:00">VB não é linguagem</del> o Seaside é baseado em componentes porque é fácil programar a interface pensando assim (senão o VB não era a linguagem inicial de tantos programadores por aí) e o Seaside melhora isso usando uma linguagem muito legal no lugar de VB.</p>
<p>As críticas que ficam a cada um dos arcabouços:</p>
<ul>
<li><em>Rails</em>: tem muita complicação no sistema de arquivos; para quê tantos arquivos e diretórios? Para que tantos arquivos de configuração? Por que a dependência do banco de dados, por padrão? Tudo bem, o escopo de Rails é bem pequeno, mas talvez as convenções estejam um pouco complicadas demais.</li>
<li><em>Seaside</em>: faltam pacotes para acrescentar algumas tarefas comuns ao Seaside. Faltam, também, arcabouços de teste mais atualizados e com melhor documentação (não há um &#8220;Cucumber&#8221; e a documentação do <a href="http://www.squeaksource.com/SSpec/">SSpec</a>). Por fim, o Smalltalk praticamente impõe uma IDE para você e impede o uso dos recursos utilizados em outras linguagens (SVN, pastebin, etc.)</li>
</ul>
<p>Bom, é isso. Eu espero que as pessoas que compareceram a palestra tenham gostado e que eu tenha a oportunidade de dar novamente uma palestra no FISL. Foi uma experiência muito legal.</p>
<p align="center"><strong>Acompanhe-nos também via <a href="http://twitter.com/blogvidageek" target="_blank">Twitter</a>.</strong><br>Veja como ter um desconto no <a href="http://vidageek.net/dreamhost/">Dreamhost</a>: um excelente servidor web.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VidaGeek?a=DiUbqOPUaNk:Y1UX_qxSYvA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=DiUbqOPUaNk:Y1UX_qxSYvA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=DiUbqOPUaNk:Y1UX_qxSYvA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=DiUbqOPUaNk:Y1UX_qxSYvA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=DiUbqOPUaNk:Y1UX_qxSYvA:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=DiUbqOPUaNk:Y1UX_qxSYvA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=DiUbqOPUaNk:Y1UX_qxSYvA:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VidaGeek/~4/DiUbqOPUaNk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vidageek.net/2009/06/27/fisl-10-seaside-versus-rails/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/br/</creativeCommons:license>
	<feedburner:origLink>http://vidageek.net/2009/06/27/fisl-10-seaside-versus-rails/</feedburner:origLink></item>
		<item>
		<title>FISL 10: Primeiro dia, organização e dojo</title>
		<link>http://feedproxy.google.com/~r/VidaGeek/~3/eeaqhwBfUds/</link>
		<comments>http://vidageek.net/2009/06/25/fisl-10-primeiro-dia-organizacao-e-dojo/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 14:56:07 +0000</pubDate>
		<dc:creator>Cecilia Fernandes</dc:creator>
		
		<category><![CDATA[Dicas]]></category>

		<category><![CDATA[Eventos]]></category>

		<category><![CDATA[Fisl]]></category>

		<category><![CDATA[OpenSource]]></category>

		<category><![CDATA[Daniel Cukier]]></category>

		<category><![CDATA[dojo]]></category>

		<category><![CDATA[Fábio-Kung]]></category>

		<category><![CDATA[fisl 10]]></category>

		<category><![CDATA[Organização]]></category>

		<category><![CDATA[Rails]]></category>

		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[seaside]]></category>

		<category><![CDATA[smalltalk]]></category>

		<guid isPermaLink="false">http://vidageek.net/?p=906</guid>
		<description><![CDATA[<p>A décima edição do FISL começou ontem, na PUC-RS, em Porto Alegre. A localização não é novidade, mas a data terrível atrapalhou bastante as caravanas das universidades públicas. A citar, o IME-USP que, no ano passado, foi a maior caravana&#8230;</p>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/-joJ504Jd9AvHFOOkOrh2rhklm0/0/da"><img src="http://feedads.g.doubleclick.net/~a/-joJ504Jd9AvHFOOkOrh2rhklm0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/-joJ504Jd9AvHFOOkOrh2rhklm0/1/da"><img src="http://feedads.g.doubleclick.net/~a/-joJ504Jd9AvHFOOkOrh2rhklm0/1/di" border="0" ismap="true"></img></a></p><p>A décima edição do FISL começou ontem, na PUC-RS, em Porto Alegre. A localização não é novidade, mas a data terrível atrapalhou bastante as caravanas das universidades públicas. A citar, o IME-USP que, no ano passado, foi a maior caravana do FISL com mais de 50 pessoas, teve meras 14 pessoas vindo de ônibus conosco.</p>
<p>Após uma sugestão (muito mal recebida) de mover o FISL para uma cidade que ofereça mais recursos, como Curitiba, houve promessas de, no ano que vem, termos um lugar melhor para realizar esse evento. Disseram que a governadora do Rio Grande do Sul estaria aqui, ontem, na abertura do evento. Não vi, mas não duvido. No horário da abertura, ocorria um Coding Dojo organizado pela galera do <a href="http://groups.google.com/group/dojo_sp/">DojoSP</a> no estande da Locaweb - ontem foi em Python, hoje, segundo o <a href="http://agileandart.blogspot.com/">Daniel Cukier</a> da Locaweb, será em Ruby.</p>
<p>Se você não sabe o que é um coding dojo, apareça na sessão hoje, às 13h na sala MSL-PR, ou dê uma olhada nos posts:</p>
<p><a href="http://vidageek.net/2008/04/19/fisl-90-coding-dojo/">FISL 9.0: Coding Dojo</a><br />
<a href="http://vidageek.net/2009/02/06/screencast-do-coding-dojo">Screencast do Coding Dojo</a></p>
<p>O Jonas assistiu uma palestra com um desembargador brasileiro e o senador que escreveu o projeto de lei que rege sobre crimes virtuais. Mais tarde, ele vai escrever um post completo contando o conteúdo em detalhes. Parece que foi bastante interessante.</p>
<p>Pena, que a organização do FISL impediu que os palestrantes respondessem uma pergunta bastante pertinente sobre o que o  Governo tem em mente para impedir a interpretação errônea da lei, que poderia prejudicar pessoas. Impediu, porque, depois de a pergunta ser feita, o coordenador de mesa declarou que o tempo acabou. O palestrante pediu para responder apenas essa pergunta (que é extremamente pertinente) e recebeu um claro &#8220;Não.&#8221; na cara. Feio, organização do FISL, muito feio.</p>
<p>Mais feio ainda impedir palestrantes de entrar na sala VIP (sala dos palestrantes) no final da tarde de ontem porque &#8220;a sala está reservada para as autoridades da abertura&#8221;. Palestrantes contam com a sala também para fazer coisas pertinentes ao FISL - terminar sua palestra, por exemplo!</p>
<p>Que era o caso do <a href="http://vidageek.net/autores/">Luiz</a>, aqui do Vidageek, e do <a href="http://fabiokung.com/">Fabio Kung</a>. Eles vão se degladiar numa palestra hoje, às 16h na sala fisl6 (41-E), comparando os frameworks de desenvolvimento web Rails (Ruby) e Seaside (Smalltalk). <b>Atenção no horário e local!</b> A programação mudou e não alteraram na grade - é no espaço que parece estar vazio às 16h de hoje.</p>
<p>Aliás, falando na grade de palestras&#8230; organização, se tem gaps vazios em algumas salas de palestras, por que não passaram mais algumas palestras inscritas e refutadas &#8212; muitas vezes, sem nem notas, nem comentários ou razões reais para não terem passado. Ouvi de um palestrante que passou na &#8220;segunda chamada&#8221; que ele tinha 4 aceitações fortes, uma rejeição fraca e não passou. Bizarro, hein? Outros nem receberam as notas ainda.</p>
<p>Um grupo de pessoas da USP sugeriu trocar o sistema pobre de submissão e avaliação de palestras que se usa atualmente pelo sistema que é usado na organização todas as conferências mundiais da Debian. A organização disse que era tarde de mais pra isso - e a submissão de palestras não estava aberta ainda.</p>
<p>Muitos por quês e muitas críticas. Fica uma sugestão: colocar mais pessoas de outros Estados na organização. Muita gente está achando que a organização está regionalista de mais. E isso é, provavelmente, a parte mais fácil de resolver.</p>
<p align="center"><strong>Acompanhe-nos também via <a href="http://twitter.com/blogvidageek" target="_blank">Twitter</a>.</strong><br>Veja como ter um desconto no <a href="http://vidageek.net/dreamhost/">Dreamhost</a>: um excelente servidor web.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VidaGeek?a=eeaqhwBfUds:J0gZ958p1gk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=eeaqhwBfUds:J0gZ958p1gk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=eeaqhwBfUds:J0gZ958p1gk:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=eeaqhwBfUds:J0gZ958p1gk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=eeaqhwBfUds:J0gZ958p1gk:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=eeaqhwBfUds:J0gZ958p1gk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=eeaqhwBfUds:J0gZ958p1gk:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VidaGeek/~4/eeaqhwBfUds" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vidageek.net/2009/06/25/fisl-10-primeiro-dia-organizacao-e-dojo/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/br/</creativeCommons:license>
	<feedburner:origLink>http://vidageek.net/2009/06/25/fisl-10-primeiro-dia-organizacao-e-dojo/</feedburner:origLink></item>
		<item>
		<title>USP - nova flashmob anti-greve dia 25/06</title>
		<link>http://feedproxy.google.com/~r/VidaGeek/~3/3QcBSIK4wSo/</link>
		<comments>http://vidageek.net/2009/06/22/usp-nova-flashmob-anti-greve-dia-2506/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 08:00:56 +0000</pubDate>
		<dc:creator>Cecilia Fernandes</dc:creator>
		
		<category><![CDATA[Eventos]]></category>

		<category><![CDATA[anti-greve]]></category>

		<category><![CDATA[flashmob]]></category>

		<category><![CDATA[greve]]></category>

		<category><![CDATA[usp]]></category>

		<guid isPermaLink="false">http://vidageek.net/?p=901</guid>
		<description><![CDATA[<p>Começo esse post pedindo desculpas aos nossos leitores que não fazem parte da USP, mas algumas causas exigem que mesmo quem não gosta de se manifestar em questões políticas faça algo a respeito.</p>
<p>A Universidade de São Paulo é uma instituição&#8230;</p>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/NGDGeHQXZhjO7U3TWXum-V--v5w/0/da"><img src="http://feedads.g.doubleclick.net/~a/NGDGeHQXZhjO7U3TWXum-V--v5w/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/NGDGeHQXZhjO7U3TWXum-V--v5w/1/da"><img src="http://feedads.g.doubleclick.net/~a/NGDGeHQXZhjO7U3TWXum-V--v5w/1/di" border="0" ismap="true"></img></a></p><p>Começo esse post pedindo desculpas aos nossos leitores que não fazem parte da USP, mas algumas causas exigem que mesmo quem não gosta de se manifestar em questões políticas faça algo a respeito.</p>
<p>A Universidade de São Paulo é uma instituição reconhecida internacionalmente em produção científica e, nos últimos tempos, reconhecida nacionalmente por ter se tornado palco de conflitos. Conflitos gerados por um pequeno grupo de pessoas que se diz representar os funcionários, docentes e estudantes da USP - e não representam, como mostram os resultados da pesquisa online criada pelo estudante Anderson, atualmente da EACH ( http://greveuspresultado.dnsalias.com/ )</p>
<p>Na tentativa de mostrar, de forma pacífica, aos grevistas que eles são a minoria, foi realizado um Flashmob na última sexta-feira, na prainha da ECA. Apesar da pouca divulgação, várias pessoas apareceram por lá e foram recebidos com gritos de &#8220;Facista&#8221; e &#8220;filho de banqueiro&#8221; pelo Sintusp. Mais do que isso, vídeos no YouTube mostram grevistas empurrando os manifestantes que apenas olhavam para o carro de som - o que mais choca é que esses que partiram para a agressão são &#8220;estudantes&#8221; da USP, os funcionários se mostraram mais civilizados.</p>
<p>http://www.youtube.com/watch?v=47XB5R4XCow<br />
http://www.youtube.com/watch?v=MOTY3_LCPlg</p>
<p>No mesmo dia, mais à noite na Praça do Relógio, outra flashmob pacífica se reuniu por um breve período e, quando começou a se dispersar, pessoas anti-greve sofreram novamente agressões, primeiro verbais dos grevistas. A sequência foi narrada no Orkut (<a href="http://www.orkut.com.br/Main#CommMsgs.aspx?cmm=35362&amp;tid=5349161641509978921&amp;na=1&amp;nst=1">link</a>) por um rapaz que levou cuspe e chutes de grevistas. Recomendo a leitura. Para quem não usa Orkut, o texto foi transcrito aqui:</p>
<p>http://blogdotom.wordpress.com/2009/06/20/o-estado-de-violencia-na-usp-so-tende-a-piorar/</p>
<p>Pela recepção violenta da parte dos grevistas e, claro, para mostrarmos, apenas pela presença pacífica na reunião, nossa opinião sobre a tal da greve da USP, propôs-se um novo Flashmob:</p>
<p><strong><br />
Dia: 25/06/2009 quinta-feira<br />
Horário: 12:30<br />
Local: Em frente à FEA<br />
</strong>(<a href="http://www.orkut.com.br/Main#CommMsgs.aspx?cmm=35362&amp;tid=5349430734103718728&amp;na=1&amp;nst=1">página no Orkut</a>)</p>
<p>É importante ressaltar a pacificidade da reunião. A intenção é mostrar o número de pessoas anti-greve na USP, não é fazer bagunça, não é ofender ninguém, mas sim mostrar nossa representatividade.</p>
<p>Sei que muitos estudantes anti-greve não poderão participar, já que muitos de nós usa cada minuto extra do tempo para estudar, fazer trabalhos ou escrever teses de mestrado/doutorado - ou se desdobra para estudar e trabalhar. E exatamente isso é o que torna importante fazer um esforço para estar presente nesse flashmob. Se você tem esse tempinho na hora do almoço, passe lá para mostrar sua opinião - mostrar quem é maioria.</p>
<p>Obrigado pela atenção e, novamente, peço desculpas aos leitores que não deveriam precisar ser expostos a isso. Infelizmente, se faz necessário.</p>
<p align="center"><strong>Acompanhe-nos também via <a href="http://twitter.com/blogvidageek" target="_blank">Twitter</a>.</strong><br>Veja como ter um desconto no <a href="http://vidageek.net/dreamhost/">Dreamhost</a>: um excelente servidor web.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VidaGeek?a=3QcBSIK4wSo:uoME0150oWo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=3QcBSIK4wSo:uoME0150oWo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=3QcBSIK4wSo:uoME0150oWo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=3QcBSIK4wSo:uoME0150oWo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=3QcBSIK4wSo:uoME0150oWo:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=3QcBSIK4wSo:uoME0150oWo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=3QcBSIK4wSo:uoME0150oWo:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VidaGeek/~4/3QcBSIK4wSo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vidageek.net/2009/06/22/usp-nova-flashmob-anti-greve-dia-2506/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/br/</creativeCommons:license>
	<feedburner:origLink>http://vidageek.net/2009/06/22/usp-nova-flashmob-anti-greve-dia-2506/</feedburner:origLink></item>
		<item>
		<title>Como descobrir todos que commitaram em um repositório SVN</title>
		<link>http://feedproxy.google.com/~r/VidaGeek/~3/0s-N3GPZjAQ/</link>
		<comments>http://vidageek.net/2009/06/15/como-descobrir-todos-que-commitaram-em-um-repositorio-svn/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 08:00:00 +0000</pubDate>
		<dc:creator>Jonas Abreu</dc:creator>
		
		<category><![CDATA[Dicas]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Programacao]]></category>

		<category><![CDATA[bash]]></category>

		<category><![CDATA[grep]]></category>

		<category><![CDATA[log]]></category>

		<category><![CDATA[sed]]></category>

		<category><![CDATA[sort]]></category>

		<category><![CDATA[svn]]></category>

		<category><![CDATA[uniq]]></category>

		<category><![CDATA[usuario]]></category>

		<guid isPermaLink="false">http://vidageek.net/?p=861</guid>
		<description><![CDATA[<p>Recentemente escrevi um post sobre <a href="http://vidageek.net/2009/06/08/como-migrar-de-svn-para-git/" >como migrar seu repositório svn para o git</a>. Em um dos passos falo pra você criar uma lista de mapeamento dos seus usuários do svn para os do git. O único problema disso é descobrir&#8230;</p>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/_Tcs09LxXHF5zmQLY-p47xkw5g8/0/da"><img src="http://feedads.g.doubleclick.net/~a/_Tcs09LxXHF5zmQLY-p47xkw5g8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/_Tcs09LxXHF5zmQLY-p47xkw5g8/1/da"><img src="http://feedads.g.doubleclick.net/~a/_Tcs09LxXHF5zmQLY-p47xkw5g8/1/di" border="0" ismap="true"></img></a></p><p>Recentemente escrevi um post sobre <a href="http://vidageek.net/2009/06/08/como-migrar-de-svn-para-git/" >como migrar seu repositório svn para o git</a>. Em um dos passos falo pra você criar uma lista de mapeamento dos seus usuários do svn para os do git. O único problema disso é descobrir quem são eles. Aqui vai um one-liner de bash que resolve isso :)</p>
<pre><code>
svn log | grep "^r[0-9]" | \\
sed -E "s/^.*\|(.*)\|.*\|.*$/\1/" | \\
sort | uniq > seu_arquivo_com_os_usuarios
</code></pre>
<p>Explicação da bizarrice acima:</p>
<ol>
<li>
		<strong>svn log</strong>: Exibe todo o log de commits feitos naquele repositório.
	</li>
<li>
		<strong>grep &#8220;^r[0-9]&#8220;</strong>: Pega todas as linhas iniciadas com r seguido por um número (header de cada commit do svn)
	</li>
<li>
		<strong>sed -E &#8220;s/^.*\|(.*)\|.*\|.*$/\1/&#8221;</strong>: Roda o monstro chamado sed em modo estendido e captura o nome dos usuários (conte o número de pipes)
	</li>
<li>
		<strong>sort</strong>: Ordena a lista com os usuários que comitaram.
	</li>
<li>
		<strong>uniq</strong>: elimina todas as duplicatas deixando apenas uma cópia de cada usuário (só funciona em listas ordenadas. Por isso o sort anterior).
	</li>
</ol>
<p>Tentei fazer usando o comando <strong>cut</strong> no lugar do sed, mas o cut desistia no meio do caminho por causa de caracteres estranhos.</p>
<p align="center"><strong>Acompanhe-nos também via <a href="http://twitter.com/blogvidageek" target="_blank">Twitter</a>.</strong><br>Veja como ter um desconto no <a href="http://vidageek.net/dreamhost/">Dreamhost</a>: um excelente servidor web.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VidaGeek?a=0s-N3GPZjAQ:BLmvDzGi_SM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=0s-N3GPZjAQ:BLmvDzGi_SM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=0s-N3GPZjAQ:BLmvDzGi_SM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=0s-N3GPZjAQ:BLmvDzGi_SM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=0s-N3GPZjAQ:BLmvDzGi_SM:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=0s-N3GPZjAQ:BLmvDzGi_SM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=0s-N3GPZjAQ:BLmvDzGi_SM:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VidaGeek/~4/0s-N3GPZjAQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vidageek.net/2009/06/15/como-descobrir-todos-que-commitaram-em-um-repositorio-svn/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/br/</creativeCommons:license>
	<feedburner:origLink>http://vidageek.net/2009/06/15/como-descobrir-todos-que-commitaram-em-um-repositorio-svn/</feedburner:origLink></item>
		<item>
		<title>Como migrar de SVN para GIT</title>
		<link>http://feedproxy.google.com/~r/VidaGeek/~3/NKWsYKGEN-Y/</link>
		<comments>http://vidageek.net/2009/06/08/como-migrar-de-svn-para-git/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 08:00:44 +0000</pubDate>
		<dc:creator>Jonas Abreu</dc:creator>
		
		<category><![CDATA[Dicas]]></category>

		<category><![CDATA[OpenSource]]></category>

		<category><![CDATA[Programacao]]></category>

		<category><![CDATA[git]]></category>

		<category><![CDATA[github]]></category>

		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://vidageek.net/?p=853</guid>
		<description><![CDATA[<p>Sei que tem um monte de tutoriais por aí de como migrar de svn para git, mas não achei nenhum com tudo que eu precisasse e em português. Então aqui vai o meu :)</p>
<p>WARNING!!!! Se você tem um repositório svn&#8230;</p>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/6m5jf1L4-LtgwukQWS3Sx0Ils_U/0/da"><img src="http://feedads.g.doubleclick.net/~a/6m5jf1L4-LtgwukQWS3Sx0Ils_U/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/6m5jf1L4-LtgwukQWS3Sx0Ils_U/1/da"><img src="http://feedads.g.doubleclick.net/~a/6m5jf1L4-LtgwukQWS3Sx0Ils_U/1/di" border="0" ismap="true"></img></a></p><p>Sei que tem um monte de tutoriais por aí de como migrar de svn para git, mas não achei nenhum com tudo que eu precisasse e em português. Então aqui vai o meu :)</p>
<p>WARNING!!!! Se você tem um repositório svn público e vai migrar para o <a href="http://github.com" target="_blank">github</a>, use o script de migração que ele te oferece quando você cria um repositório lá.</p>
<ol>
<li>
		Primeiro você deve instalar o git-svn. Não sei como instalar via apt, mas com o macports é um simples <strong>sudo port install git-core +svn</strong> (talvez você precise desinstalar o git-core antes de conseguir instalar. Se for o caso, sudo port uninstall git-core)</p>
</li>
<li>
			Crie um arquivo mapeando os <a href="http://vidageek.net/2009/06/15/como-descobrir-todos-que-commitaram-em-um-repositorio-svn/" target="_blank">usuários do svn</a> para os do git. Algo como: </p>
<pre>
jonas = Jonas Abreu &lt;jonas@vidagek.net&gt;
usuario_svn = Nome Usuario &lt;email@usuario.net&gt;
</pre>
<p>			Dê o nome que quiser para o arquivo.
	</li>
<li>
		Faça checkout com o git svn</p>
<pre>
mkdir repo_temp
cd repo_temp
git svn init URL_DO_SEU_REPOSITORIO_SVN --no-metadata
git config svn.authorsfile ARQUIVO_DE_MAPEAMENTO
git svn fetch
</pre>
<p>		É bem importante não esquecer do &#8211;no-metadata. Isso vai evitar que ele traga um monte de lixo (.svn, se não me engano) para sua máquina.
	</li>
<li>
		Limpe a sujeira que o git svn colocou no seu repositório git local clonando ele.</p>
<pre>
cd ..
git clone repo_temp repo_final
</pre>
</li>
<li>
		Altere a url da origem do seu repositório local:</p>
<pre>
cd repo_final
<SEU_EDITOR_FAVORITO> .git/config
</pre>
<p>		 Troque a url:</p>
<pre>
[remote "origin"]
      url = repo_temp
</pre>
<p>		 pela url do seu repositório git:</p>
<pre>
[remote "origin"]
       url = URL_DO_SEU_REPOSITORIO
</pre>
</li>
<li>
		Envie os dados para o seu servidor remoto:</p>
<pre>
git push origin master
</pre>
</li>
</ol>
<p>Pronto. Seu repositório acabou de ser migrado de svn para git. Simples, fácil e rápido (a não ser que você tenha uns 10k commits. Aí vai demorar bastante. No meu caso demorou cerca de 4 horas o processo completo.)</p>
<p align="center"><strong>Acompanhe-nos também via <a href="http://twitter.com/blogvidageek" target="_blank">Twitter</a>.</strong><br>Veja como ter um desconto no <a href="http://vidageek.net/dreamhost/">Dreamhost</a>: um excelente servidor web.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VidaGeek?a=NKWsYKGEN-Y:rVhYY6vXy_0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=NKWsYKGEN-Y:rVhYY6vXy_0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=NKWsYKGEN-Y:rVhYY6vXy_0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=NKWsYKGEN-Y:rVhYY6vXy_0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=NKWsYKGEN-Y:rVhYY6vXy_0:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=NKWsYKGEN-Y:rVhYY6vXy_0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=NKWsYKGEN-Y:rVhYY6vXy_0:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VidaGeek/~4/NKWsYKGEN-Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vidageek.net/2009/06/08/como-migrar-de-svn-para-git/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/br/</creativeCommons:license>
	<feedburner:origLink>http://vidageek.net/2009/06/08/como-migrar-de-svn-para-git/</feedburner:origLink></item>
		<item>
		<title>Mirror 1.4 release</title>
		<link>http://feedproxy.google.com/~r/VidaGeek/~3/0fOjjoouKs8/</link>
		<comments>http://vidageek.net/2009/06/06/mirror-14-release/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 05:50:36 +0000</pubDate>
		<dc:creator>Jonas Abreu</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[News]]></category>

		<category><![CDATA[OpenSource]]></category>

		<category><![CDATA[1.4]]></category>

		<category><![CDATA[dsl]]></category>

		<category><![CDATA[getter]]></category>

		<category><![CDATA[mirror]]></category>

		<category><![CDATA[release]]></category>

		<category><![CDATA[setter]]></category>

		<guid isPermaLink="false">http://vidageek.net/?p=891</guid>
		<description><![CDATA[<p>Acabei de fazer o release da versão 1.4 do <a href="http://projetos.vidageek.net/mirror-pt" target="_blank">Mirror</a>, do qual <a href="http://vidageek.net/2008/11/16/mirror-dsl/">já falei por aqui.</a></p>
<p>Essa nova versão vem com alguns bugfixes, uma forma melhor de trabalhar com getters e setters e uma pequena mudança na forma de uso.</p>
<p>Essas e&#8230;</p>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/aN7dQYgC_lxH-Xqi21Ups4_Nsyc/0/da"><img src="http://feedads.g.doubleclick.net/~a/aN7dQYgC_lxH-Xqi21Ups4_Nsyc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/aN7dQYgC_lxH-Xqi21Ups4_Nsyc/1/da"><img src="http://feedads.g.doubleclick.net/~a/aN7dQYgC_lxH-Xqi21Ups4_Nsyc/1/di" border="0" ismap="true"></img></a></p><p>Acabei de fazer o release da versão 1.4 do <a href="http://projetos.vidageek.net/mirror-pt" target="_blank">Mirror</a>, do qual <a href="http://vidageek.net/2008/11/16/mirror-dsl/">já falei por aqui.</a></p>
<p>Essa nova versão vem com alguns bugfixes, uma forma melhor de trabalhar com getters e setters e uma pequena mudança na forma de uso.</p>
<p>Essas e outras mudanças podem ser vistas em <a href="http://projetos.vidageek.net/mirror-pt/projeto/release-notes" target="_blank">http://projetos.vidageek.net/mirror-pt/projeto/release-notes</a>.</p>
<p>Todo feedback é bem vindo.</p>
<p align="center"><strong>Acompanhe-nos também via <a href="http://twitter.com/blogvidageek" target="_blank">Twitter</a>.</strong><br>Veja como ter um desconto no <a href="http://vidageek.net/dreamhost/">Dreamhost</a>: um excelente servidor web.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VidaGeek?a=0fOjjoouKs8:9yIo-BhcHfQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=0fOjjoouKs8:9yIo-BhcHfQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=0fOjjoouKs8:9yIo-BhcHfQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=0fOjjoouKs8:9yIo-BhcHfQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=0fOjjoouKs8:9yIo-BhcHfQ:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/VidaGeek?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/VidaGeek?a=0fOjjoouKs8:9yIo-BhcHfQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/VidaGeek?i=0fOjjoouKs8:9yIo-BhcHfQ:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VidaGeek/~4/0fOjjoouKs8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vidageek.net/2009/06/06/mirror-14-release/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/br/</creativeCommons:license>
	<feedburner:origLink>http://vidageek.net/2009/06/06/mirror-14-release/</feedburner:origLink></item>
	</channel>
</rss>
