<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.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:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>WillianFernandes.com.br</title>
	
	<link>http://willianfernandes.com.br</link>
	<description>Blog pessoal onde compartilho minhas experiências com desenvolvimento web</description>
	<lastBuildDate>Mon, 01 Feb 2010 12:54:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/willian" /><feedburner:info uri="willian" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>Blog pessoal onde compartilho minhas experiências com desenvolvimento web</itunes:subtitle><geo:lat>-46.65206</geo:lat><geo:long>-23.56859</geo:long><item>
		<title>Como gerar validações client-side em projetos Rails usando jQuery Validator com ClientValidations</title>
		<link>http://feedproxy.google.com/~r/willian/~3/Ae27cntjXtc/</link>
		<comments>http://willianfernandes.com.br/como-gerar-validacoes-client-side-em-projetos-rail-usando-jquery-validator-com-clientvalidations/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 17:43:47 +0000</pubDate>
		<dc:creator>Willian Fernandes</dc:creator>
				<category><![CDATA[client-side]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[client_validations]]></category>

		<guid isPermaLink="false">http://willianfernandes.com.br/?p=136</guid>
		<description><![CDATA[Estou fazendo uma nova aplicação aqui na empresa e teremos muitos formulários. Para não precisar criar um script de validação para cada formulário, fui atrás de um plugin que gerasse as validação JavaScript automáticamente, com base nas validações do modelo.
Sem maiores problemas, encontrei o plugin Live Validations. Ele faz tudo o que preciso, quer dizer, [...]]]></description>
			<content:encoded><![CDATA[<p>Estou fazendo uma nova aplicação aqui na empresa e teremos muitos formulários. Para não precisar criar um script de validação para cada formulário, fui atrás de um plugin que gerasse as validação JavaScript automáticamente, com base nas validações do modelo.</p>
<p>Sem maiores problemas, encontrei o plugin <a href="http://github.com/augustl/live-validations/">Live Validations</a>. Ele faz tudo o que preciso, quer dizer, quase tudo. <img src='http://willianfernandes.com.br/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Alguns dos formulários dessa aplicação são <a href="http://railscasts.com/episodes/196-nested-model-form-part-1">Nested Model Form</a> e o <em>Live Validations</em> não suporta esse tipo de formulário.</p>
<p>Sendo assim, resolvi fazer meu próprio plugin, chamado <a href="http://github.com/willian/client_validations">Client Validations</a>. O que ele faz é basicamente ler as validações definidas no <em>Model</em> e traduzi-las para JavaScript usando <a href="http://willianfernandes.com.br/validacao-de-formularios-com-jquery/">jQuery Validator</a>.</p>
<h3>Instalação</h3>
<pre class="bash"><code>script/plugin install git://github.com/willian/client_validations.git</code></pre>
<p>Como o <strong><em>Client Validations</em></strong> depende do plugin <strong><em>Validation Reflection</em></strong>, preciaremos instalar ele também:</p>
<pre class="bash"><code>script/plugin install git://github.com/redinger/validation_reflection.git</code></pre>
<p>E por último basta instalar o jQuery e o jQuery Validator:</p>
<ul>
<li><a href="http://code.jquery.com/jquery-latest.min.js">http://code.jquery.com/jquery-latest.min.js</a></li>
<li><a href="http://ajax.microsoft.com/ajax/jquery.validate/1.6/jquery.validate.min.js">http://ajax.microsoft.com/ajax/jquery.validate/1.6/jquery.validate.min.js</a></li>
</ul>
<p>Não esqueça de carregar o jquery e o validator no seu HTML:</p>
<pre class="rails"><code>&lt;%= <span class="kw5">javascript_include_tag</span> <span class="st0">'jquery-latest.min.js'</span>, <span class="st0">'jquery.validate.min.js'</span> %&gt;</code></pre>
<p>Supondo que temos o modelo abaixo:</p>
<pre class="rails"><code><span class="kw1">class</span> Task &lt; <span class="re2">ActiveRecord::Base</span>
  <span class="kw5">validates_presence_of</span> <span class="re3">:name</span>
<span class="kw1">end</span>
&nbsp;</code></pre>
<p>E o formulário desse modelo:</p>
<pre class="rails"><code>&lt;% <span class="kw5">form_for</span><span class="br0">&#40;</span>@task<span class="br0">&#41;</span> <span class="kw1">do</span> |f| %&gt;
  &lt;%= f.<span class="me1">error_messages</span> %&gt;
&nbsp;
  &lt;p&gt;
    &lt;%= f.<span class="me1">label</span> <span class="re3">:name</span> %&gt;&lt;br /&gt;
    &lt;%= f.<span class="kw5">text_field</span> <span class="re3">:name</span> %&gt;
  &lt;/p&gt;
  &lt;p&gt;
    &lt;%= f.<span class="me1">submit</span> <span class="st0">'Create'</span> %&gt;
  &lt;/p&gt;
&lt;% <span class="kw1">end</span> %&gt;</code></pre>
<p>Tudo o que precisamos fazer para a validação client-side funcionar é adicionar o helper <strong><em>client_validations</em></strong> no formulário. Ficará assim:</p>
<pre class="rails"><code>&lt;% <span class="kw5">form_for</span><span class="br0">&#40;</span>@task<span class="br0">&#41;</span> <span class="kw1">do</span> |f| %&gt;
  &lt;%= f.<span class="me1">error_messages</span> %&gt;
&nbsp;
  &lt;p&gt;
    &lt;%= f.<span class="me1">label</span> <span class="re3">:name</span> %&gt;&lt;br /&gt;
    &lt;%= f.<span class="kw5">text_field</span> <span class="re3">:name</span> %&gt;
  &lt;/p&gt;
  &lt;p&gt;
    &lt;%= f.<span class="me1">submit</span> <span class="st0">'Create'</span> %&gt;
  &lt;/p&gt;
  &lt;%= f.<span class="me1">client_validations</span> %&gt;
&lt;% <span class="kw1">end</span> %&gt;</code></pre>
<p>Provavelmente você receberá a seguinte mensagem de validação:</p>
<pre><code>translation missing: en, activerecord, attributes, task, name can't be blank</code></pre>
<p>Para resolver esse problema, basta criar o arquivo de internacionalização em config/locales.</p>
<p>O plugin ainda está na versão 0.1.0 e muita coisa pode ser feita para melhorá-lo. Se tiver alguma sugestão, crie um comentário ou use a página do GitHub: <a href="http://github.com/willian/client_validations">http://github.com/willian/client_validations</a></p>
<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "client_validations";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->
<p><a href="http://feedads.g.doubleclick.net/~a/yz1kbpYF0R-EA37eUFGocWEjWmA/0/da"><img src="http://feedads.g.doubleclick.net/~a/yz1kbpYF0R-EA37eUFGocWEjWmA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/yz1kbpYF0R-EA37eUFGocWEjWmA/1/da"><img src="http://feedads.g.doubleclick.net/~a/yz1kbpYF0R-EA37eUFGocWEjWmA/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/willian?a=Ae27cntjXtc:pwZ2vdpepGw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/willian?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=Ae27cntjXtc:pwZ2vdpepGw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/willian?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=Ae27cntjXtc:pwZ2vdpepGw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/willian?i=Ae27cntjXtc:pwZ2vdpepGw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=Ae27cntjXtc:pwZ2vdpepGw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/willian?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://willianfernandes.com.br/como-gerar-validacoes-client-side-em-projetos-rail-usando-jquery-validator-com-clientvalidations/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<enclosure url="http://code.jquery.com/jquery-latest.min.js" length="70843" type="application/x-javascript" /><media:content url="http://code.jquery.com/jquery-latest.min.js" fileSize="70843" type="application/x-javascript" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>Estou fazendo uma nova aplicação aqui na empresa e teremos muitos formulários. Para não precisar criar um script de validação para cada formulário, fui atrás de um plugin que gerasse as validação JavaScript automáticamente, com base nas validações do mode</itunes:subtitle><itunes:summary>Estou fazendo uma nova aplicação aqui na empresa e teremos muitos formulários. Para não precisar criar um script de validação para cada formulário, fui atrás de um plugin que gerasse as validação JavaScript automáticamente, com base nas validações do modelo. Sem maiores problemas, encontrei o plugin Live Validations. Ele faz tudo o que preciso, quer dizer, [...]</itunes:summary><itunes:keywords>client-side, desenvolvimento, javascript, jquery, rails, client_validations</itunes:keywords><feedburner:origLink>http://willianfernandes.com.br/como-gerar-validacoes-client-side-em-projetos-rail-usando-jquery-validator-com-clientvalidations/</feedburner:origLink></item>
		<item>
		<title>Pair Programming – Por que e como usar?</title>
		<link>http://feedproxy.google.com/~r/willian/~3/KSBh6o_OaH4/</link>
		<comments>http://willianfernandes.com.br/pair-programming-por-que-e-como-usar/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 14:01:10 +0000</pubDate>
		<dc:creator>Willian Fernandes</dc:creator>
				<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[xp]]></category>
		<category><![CDATA[pair programming]]></category>
		<category><![CDATA[programação em par]]></category>

		<guid isPermaLink="false">http://willianfernandes.com.br/?p=120</guid>
		<description><![CDATA[Pair Programming é, para mim, a melhor forma de trabalhar em equipe. Facilita a comunicações e impede que o conhecimento de uma funcionalidade/lógica fique somente com um desenvolvedor.
Trabalhando em Pair foi fácil perceber a evolução das pessoas como profissionais. Um profissional Jr. rapidamente ganhava experiência, adquiria habilidades e virava fluente na linguagem, ou seja, treinar [...]]]></description>
			<content:encoded><![CDATA[<p><em><a href="http://en.wikipedia.org/wiki/Pair_Programming">Pair Programming</a></em> é, para mim, a melhor forma de trabalhar em equipe. Facilita a comunicações e impede que o conhecimento de uma funcionalidade/lógica fique somente com um desenvolvedor.</p>
<p>Trabalhando em <em>Pair</em> foi fácil perceber a evolução das pessoas como profissionais. Um profissional Jr. rapidamente ganhava experiência, adquiria habilidades e virava fluente na <a href="http://sledge.boo-box.com/list/page/cnVieStvbityYWlsc18jI19ib3hfIyNfdGFnZ2luZy10b29sLXdwXyMjXw==-60" class="bbli">linguagem<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>, ou seja, treinar a equipe usando <em>Pair</em> foi muito mais simples e barato para a empresa.</p>
<p>Mas, essa é minha opinião. Muita gente compartilha comigo esse mesmo sentimento, mas muita gente torce o nariz quando escuta as palavras <em>Pair Programming</em> juntas.</p>
<h3>Mas como começar com <em>Pair Programming</em>?</h3>
<p>Não adianta impor sua equipe a trabalhar assim. Mas antes de aceitar um não da equipe, é interessante testar e analisar a aceitação de todos.</p>
<p>Quando trabalhava na WebCo (<strong>Abril Dgital</strong>), resolvemos usar a <a href="http://sledge.boo-box.com/list/page/ZVh0cmVtZStQcm9ncmFtbWluZ18jI19ib3hfIyNfdGFnZ2luZy10b29sLXdwXyMjXw==-68" class="bbli">Programação em Par<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>. Foi fácil convencer todos, pois, no nosso caso, <del datetime="2010-01-18T13:02:41+00:00">todos</del> a maioria que torciam o nariz nunca tinham usado <em>Pair</em>, ou seja, não tinham argumentos.<br />
No começo havia discussões, stress, mas com o tempo todos foram percebendo os ganhos que estávamos tendo com a adoção e virou regra da empresa utilizar <em>Pair</em> 100% do dia. Quando entrevistávamos alguém, um dos requisitos era a pessoa não ter nada contra ao trabalho em equipe, principalmente ao <em>Pair</em>.</p>
<p>Mas isso tudo poderia ter sido um tiro no pé. Por isso precisamos estudar caso à caso.<br />
Hoje trabalho numa empresa que somente <strong>EU</strong> trabalhei com <em>Pair Programming</em>. Tive muitas barreiras para quebrar, principalmente dos gerente, mas felizmente consegui convencê-los e vou começar com <em>Pair</em> na minha equipe.</p>
<h3>Como uso Pair Programming</h3>
<p>Como uso Scrum para gerenciar o processo do desenvolvimento, ficou fácil dividir as duplas do <em>Pair</em>. No <em>Daily Meeting</em>, quando definimos o que faremos hoje, também definimos com quem faremos <em>Pair</em>. E durante o dia todo não trocamos de par, apenas revezamos, de tempos em tempos, o <em>driver</em> e o <em>navigator</em>. Esse revezamento pode ser feito marcando em um cronometro que avisará quando a troca ocorrerá, ou simplesmente quando a dupla julgar necessário (o que eu prefiro).</p>
<p>No dia seguinte, um das pessoas do par continua na história e a outra pessoa escolhe em qual história trabalhará e com quem fará par. O mesmo ocorre com os outros pares. Ou seja, assim conseguimos manter uma boa rotatividade. A idéia é que o maior número de pessoas possam trabalhar juntas durante o Sprint.</p>
<h4>A dinamica</h4>
<p><code><br />
História 1: Juca - Pedro<br />
História 2: Lucas - Thiago<br />
História 3: Maria - Carla<br />
</code><strong>1º Dia</strong></p>
<p><code><br />
História 1: Juca - Carla<br />
História 2: Lucas - Pedro<br />
História 3: Maria - Thiago<br />
</code><strong>2º Dia</strong></p>
<p><code><br />
História 1: Carla - Thiago<br />
História 2: Lucas - Juca<br />
História 3: Maria - Pedro<br />
</code><strong>3º Dia</strong></p>
<p>E assim por diante&#8230;</p>
<h3>Baby steps</h3>
<p>Como disse, hoje estou começando com <em>Pair</em> na minha equipe, ela será uma cobaia dentro da empresa. Tendo bons resultados, poderemos expor para as outras equipes também dotarem o uso do <em>Pair Programming</em>.</p>
<h3>Resumindo&#8230;</h3>
<p>Não adianta impor, de cara, que toda a empresa adote o uso do <em>Pair</em>, escolha uma equipe madura, pense pequeno e, dando tudo certo, vá expandindo até que isso vire uma cultura dentro da empresa.</p>
<p>Respeite a opinião dos outros, aceite a derrota e mude de empresa se for o caso. Mas não faça inimigos tentando evangelizar algo. Acredite, não vale a pena. Se for necessário, peça ajuda. Tem muita gente na internet usando <em>Pair</em>.</p>
<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "livro, xp";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->
<p><a href="http://feedads.g.doubleclick.net/~a/9ar93jDLkhtuwASSJP-iAtooxxQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/9ar93jDLkhtuwASSJP-iAtooxxQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/9ar93jDLkhtuwASSJP-iAtooxxQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/9ar93jDLkhtuwASSJP-iAtooxxQ/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/willian?a=KSBh6o_OaH4:wWnBvg_cqbY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/willian?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=KSBh6o_OaH4:wWnBvg_cqbY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/willian?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=KSBh6o_OaH4:wWnBvg_cqbY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/willian?i=KSBh6o_OaH4:wWnBvg_cqbY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=KSBh6o_OaH4:wWnBvg_cqbY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/willian?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://willianfernandes.com.br/pair-programming-por-que-e-como-usar/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://willianfernandes.com.br/pair-programming-por-que-e-como-usar/</feedburner:origLink></item>
		<item>
		<title>Programador Lento x Produtividade x Cultura</title>
		<link>http://feedproxy.google.com/~r/willian/~3/gX5rxrSisA0/</link>
		<comments>http://willianfernandes.com.br/programador-lento-x-produtividade-x-cultura/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 18:14:33 +0000</pubDate>
		<dc:creator>Willian Fernandes</dc:creator>
				<category><![CDATA[carreira]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[getting real]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://willianfernandes.com.br/?p=117</guid>
		<description><![CDATA[Hoje li o post do Rafael Lima e me deu vontade de falar sobre o assunto.
Conheço muita gente, incluindo donos de empresas de desenvolvimento, que confudem Programador Rápido com Qualidade/Produtividade. Além disso, essas pessoas costumam achar que quanto mais &#8220;Programadores Rápidos&#8221; forem contratados, mais rápidos seus projetos serão entregues, mais felizes seus clientes ficarão e [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje li o <a href="http://rafael.adm.br/p/programador-lento/">post do Rafael Lima</a> e me deu vontade de falar sobre o assunto.</p>
<p>Conheço muita gente, incluindo donos de empresas de desenvolvimento, que confudem <strong>Programador Rápido</strong> com <strong>Qualidade/Produtividade</strong>. Além disso, essas pessoas costumam achar que quanto <strong>mais &#8220;Programadores Rápidos&#8221; forem contratados, mais rápidos seus projetos serão entregues, mais felizes seus clientes ficarão e mais projetos poderão desenvolver</strong>.</p>
<p><strong><em>Isto é mentira!</em></strong></p>
<p>Essas pessoas se esquecem que quanto maior a equipe mais complicado fica o <a href="http://sledge.boo-box.com/list/page/Z2VyZW5jaWFtZW50bytkZStwcm9qZXRvc18jI19ib3hfIyNfdGFnZ2luZy10b29sLXdwXyMjXw==-76" class="bbli">gerenciamento<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>, que quanto <a href="http://sledge.boo-box.com/list/page/YWdpbGVfIyNfYm94XyMjX3RhZ2dpbmctdG9vbC13cF8jI18=-48" class="bbli">mais rápido<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a> um programador for mais bug este código terá. Sim, sim, eu também conheço muita gente boa que programa rápido e entrega código com qualidade, mas vamos concordar que infelizmente essa não é a realidade da grande maioria.</p>
<p>Como o <a href="http://rafael.adm.br">Rafael Lima</a> disse, antes de julgar e comparar um programador rápido com um lento, vamos ver se estão fazendo testes, se estão se preocupando com a qualidade antes de entregar o produto. Prefiro entregar um produto bom com alguns dias de atraso do que entregar na data e falhar quando o cliente for usar.</p>
<p>E por falar em testes, essas mesmas pessoas insistem em deixar <em>&#8220;5 horas&#8221;</em> no final do projeto para a equipe de QA. Pensam, ou fingem pensar, que isso é o bastante para garantir a qualidade do produto e o sucesso do projeto.</p>
<p>Vejo isso todos os dias e só lamento.</p>
<p>Essas pessoas precisam ler mais sobre <a href="http://gettingreal.37signals.com/">Getting Real</a>, <a href="http://pt.wikipedia.org/wiki/Desenvolvimento_%C3%A1gil_de_software">Gerenciamento de Projetos Ágeis</a> e <a href="http://pt.wikipedia.org/wiki/Gest%C3%A3o_de_Pessoas">Gestão de Pessoas</a>.</p>
<p>Concordo com o Rafael quando ele diz que prefere um programador lento do que o &#8220;rapidão da turma&#8221;.</p>
<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "xp";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->
<p><a href="http://feedads.g.doubleclick.net/~a/RrqGYz9yxKISZIuwW9RlEkNN6gI/0/da"><img src="http://feedads.g.doubleclick.net/~a/RrqGYz9yxKISZIuwW9RlEkNN6gI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/RrqGYz9yxKISZIuwW9RlEkNN6gI/1/da"><img src="http://feedads.g.doubleclick.net/~a/RrqGYz9yxKISZIuwW9RlEkNN6gI/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/willian?a=gX5rxrSisA0:cGdC3XuKqWY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/willian?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=gX5rxrSisA0:cGdC3XuKqWY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/willian?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=gX5rxrSisA0:cGdC3XuKqWY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/willian?i=gX5rxrSisA0:cGdC3XuKqWY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=gX5rxrSisA0:cGdC3XuKqWY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/willian?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://willianfernandes.com.br/programador-lento-x-produtividade-x-cultura/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://willianfernandes.com.br/programador-lento-x-produtividade-x-cultura/</feedburner:origLink></item>
		<item>
		<title>Ambiente de desenvolvimento Ruby on Rails no Mac OS Snow Leopard</title>
		<link>http://feedproxy.google.com/~r/willian/~3/PHpvp41rotg/</link>
		<comments>http://willianfernandes.com.br/ambiente-de-desenvolvimento-ruby-on-rails-no-mac-os-snow-leopard/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 03:01:11 +0000</pubDate>
		<dc:creator>Willian Fernandes</dc:creator>
				<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[vim]]></category>
		<category><![CDATA[gvim]]></category>
		<category><![CDATA[macvim]]></category>
		<category><![CDATA[mvim]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ror]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[ruby1.9]]></category>
		<category><![CDATA[snow leopard]]></category>
		<category><![CDATA[textmate]]></category>

		<guid isPermaLink="false">http://willianfernandes.com.br/?p=107</guid>
		<description><![CDATA[Recentemente atualizei meu Mac para o Snow Leopard e fui logo configurar meu ambiente de desenvolvimento.
Como alguns já sabem, programo em Python, mas atualmente estou afastado da linguagem, utilizando 100% Rails.
Uma das coisas que aproveitei quando resolvi instalar o Snow Leopard foi formatar todo o HD. Com o tempo fui acumulando alguns lixos, então juntei [...]]]></description>
			<content:encoded><![CDATA[<p>Recentemente atualizei meu Mac para o <a href="http://sledge.boo-box.com/list/page/U25vdytMZW9wYXJkXyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNf-56" class="bbli">Snow Leopard<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a> e fui logo configurar meu ambiente de <a href="http://sledge.boo-box.com/list/page/ZGVzZW52b2x2aW1lbnRvXyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNf-60" class="bbli">desenvolvimento<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>.</p>
<p>Como alguns já sabem, programo em <a href="http://sledge.boo-box.com/list/page/UHl0aG9uXyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNf-48" class="bbli">Python<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>, mas atualmente estou afastado da linguagem, utilizando 100% <a href="http://sledge.boo-box.com/list/page/UmFpbHNfIyNfYm94XyMjX3RhZ2dpbmctdG9vbC13cF8jI18=-48" class="bbli">Rails<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>.</p>
<p>Uma das coisas que aproveitei quando resolvi instalar o <a href="http://sledge.boo-box.com/list/page/U25vdytMZW9wYXJkXyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNf-56" class="bbli">Snow Leopard<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a> foi formatar todo o HD. Com o tempo fui acumulando alguns lixos, então juntei o útil com o agradável e fiz uma bela faxina.</p>
<p>Outra coisa: meu Vim estava todo bagunçado. Fiz uma cagada nele e estava difícil trabalhar com ele, então estava usando somente o <a href="http://sledge.boo-box.com/list/page/VGV4dE1hdGVfIyNfYm94XyMjX3RhZ2dpbmctdG9vbC13cF8jI18=-52" class="bbli">TextMate<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>. Adoro o TextMate, é um baita editor, mas não é meu <a href="http://sledge.boo-box.com/list/page/ZWRpdG9yK1ZpbV8jI19ib3hfIyNfdGFnZ2luZy10b29sLXdwXyMjXw==-56" class="bbli">Vim<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>. Com o Vim me sinto mais em casa e não sofro quando preciso programar em uma máquina que não seja meu <a href="http://sledge.boo-box.com/list/page/TWFjXyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNf-44" class="bbli">Mac<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>, afinal, o Vim é free e roda até no <a href="http://sledge.boo-box.com/list/page/V2luZG93c18jI19ib3hfIyNfdGFnZ2luZy10b29sLXdwXyMjXw==-52" class="bbli">Windows<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a> (eca!).</p>
<p>Bom, vamos lá!</p>
<h3>O Vim</h3>
<p>Para facilitar sua vida, criei um <a href="http://github.com/willian/willvim">repositório</a> do meu Vim, todo configurado, pronto para uso.</p>
<p>Para instalá-lo, basta fazer o clone:<br />
<code></p>
<pre>
$ git clone git://github.com/willian/willvim.git
</pre>
<p></code></p>
<p>Entre no diretório criado pelo comando acima e execute o comando abaixo:<br />
<code></p>
<pre>
$ chmod +x install.sh
$ ./install.sh
</pre>
<p></code></p>
<p>Os comandos acima baixam os repositórios dos plugins e faz a instalação dos arquivos no seu diretório <code>$HOME/.vim</code>.</p>
<p>ATENÇÃO: Esses comandos não funcionarão no <a href="http://sledge.boo-box.com/list/page/V2luZG93c18jI19ib3hfIyNfdGFnZ2luZy10b29sLXdwXyMjXw==-52" class="bbli">Windows<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>. Em breve configurarei isso.</p>
<h4>MacVim</h4>
<p>Gosto de usar o <a href="http://sledge.boo-box.com/list/page/TWFjVmltXyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNf-48" class="bbli">MacVim<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a> (ou o gVim quando estou no Linux), pois tem uma aparência melhor do que o Vim no terminal.</p>
<p>Entre na <a href="http://code.google.com/p/macvim/">página de download do MacVim</a> e baixe a versão mais nova. A versão <code>"stable"</code> até a data deste post é a <a href="http://macvim.googlecode.com/files/MacVim-7_2-stable-1_2.tbz">MacVim-7_2-stable-1_2.tbz</a>.</p>
<p>Se você está no <a href="http://sledge.boo-box.com/list/page/TGludXhfIyNfYm94XyMjX3RhZ2dpbmctdG9vbC13cF8jI18=-48" class="bbli">Linux<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a> e usa <a href="http://sledge.boo-box.com/list/page/VWJ1bnR1XyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNf-48" class="bbli">Ubuntu<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>, basta rodar o comando abaixo:<br />
<code></p>
<pre>
$ sudo apt-get install vim vim-gnome vim-full vim-python vim-rails vim-ruby
</pre>
<p></code></p>
<p>Agora basta rodar o comando <code>mvim</code> ou <code>gvim</code> (caso você esteja no Linux) no terminal para abrir o Vim no modo gráfico.</p>
<h3>Ruby on Rails</h3>
<p>Tanto a linguagem quando o framework já estão instalados no seu Mac, mas precisamos atualizá-los. Na verdade, você pode apenas atualizar o <a href="http://sledge.boo-box.com/list/page/UnVieStvbitSYWlsc18jI19ib3hfIyNfdGFnZ2luZy10b29sLXdwXyMjXw==-60" class="bbli">Rails<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>, e é exatamente isso que vou mostrar aqui.</p>
<h4>Atualizando o RubyGems</h4>
<p><code></p>
<pre>
$ sudo gem install rubygems-update
</pre>
<p></code></p>
<p>Esse comando instala a nova versão do <a href="http://sledge.boo-box.com/list/page/UnVieUdlbXNfIyNfYm94XyMjX3RhZ2dpbmctdG9vbC13cF8jI18=-52" class="bbli">RubyGems<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>. Para verificar a versão instalada, rode o comando abaixo:<br />
<code></p>
<pre>
$ gem -v
1.3.5
</pre>
<p></code></p>
<p>Até a data deste post a versão mais nova é a 1.3.5.</p>
<h4>Atualizando suas gems</h4>
<p><code></p>
<pre>
$ sudo gem update
</pre>
<p></code></p>
<h4>Atualizando o Ruby on Rails</h4>
<p>Nesse ponto a versão do Rails já deve estar atualizada, mas caso não esteja, rode o comando abaixo:<br />
<code></p>
<pre>
$ sudo gem install rails
</pre>
<p></code></p>
<h3>MySQL</h3>
<p>Apesar de poder rodar o Rails com o <a href="http://sledge.boo-box.com/list/page/U1FMaXRlXyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNf-48" class="bbli">SQLite<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>, gosto de usar o <a href="http://sledge.boo-box.com/list/page/TXlTUUxfIyNfYm94XyMjX3RhZ2dpbmctdG9vbC13cF8jI18=-48" class="bbli">MySQL<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a> no ambiente de desenvolvimento. Para isso, acesso a página de <a href="http://dev.mysql.com/downloads/">download do MySQL</a> e busque a versão mais nova. Na data de criação deste post a versão mais nova é a <code>MySQL 5.1</code>.</p>
<p>ATENÇÃO: Só fique atento à arquitetura escolhida. O <a href="http://sledge.boo-box.com/list/page/U25vdytMZW9wYXJkXyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNf-56" class="bbli">Snow Leopard<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a> roda com <a href="http://sledge.boo-box.com/list/page/NjRiaXRzXyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNf-48" class="bbli">64bits<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>, então baixe a versão <code>x86_64</code>.</p>
<p>Feito isso, hora de instalar a gem do MySQL:<br />
<code></p>
<pre>
$ sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
</pre>
<p></code></p>
<h3>Testando tudo</h3>
<p>Vamos criar um aplicação de teste para verificar se o Rails está rodando corretamente, incluindo o MySQL:<br />
<code></p>
<pre>
$ rails blog -d mysql
$ cd blog/
$ script/generate scaffold Post title:string body:string
$ rake db:create
$ rake db:migrate
</pre>
<p></code></p>
<p>Se não aparecer nenhuma mensagem de erro, os procedimentos acima foram executados corretamente e você agora tem um ambiente completo para desenvolver seus aplicativos com Rails.</p>
<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "ruby on rails";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->
<p><a href="http://feedads.g.doubleclick.net/~a/AvxHGhTM5kcK9LSjgymXKVhDXhs/0/da"><img src="http://feedads.g.doubleclick.net/~a/AvxHGhTM5kcK9LSjgymXKVhDXhs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/AvxHGhTM5kcK9LSjgymXKVhDXhs/1/da"><img src="http://feedads.g.doubleclick.net/~a/AvxHGhTM5kcK9LSjgymXKVhDXhs/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/willian?a=PHpvp41rotg:A_HSyf5sFuA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/willian?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=PHpvp41rotg:A_HSyf5sFuA:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/willian?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=PHpvp41rotg:A_HSyf5sFuA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/willian?i=PHpvp41rotg:A_HSyf5sFuA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=PHpvp41rotg:A_HSyf5sFuA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/willian?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://willianfernandes.com.br/ambiente-de-desenvolvimento-ruby-on-rails-no-mac-os-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://willianfernandes.com.br/ambiente-de-desenvolvimento-ruby-on-rails-no-mac-os-snow-leopard/</feedburner:origLink></item>
		<item>
		<title>Rails Summit 2009 – Eu vou!</title>
		<link>http://feedproxy.google.com/~r/willian/~3/ZbF4iZtEu4w/</link>
		<comments>http://willianfernandes.com.br/rails-summit-2009-eu-vou/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 14:25:09 +0000</pubDate>
		<dc:creator>Willian Fernandes</dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://willianfernandes.com.br/?p=102</guid>
		<description><![CDATA[Estou aqui somente para comunicar minha presença no Rails Summit 2009.
Não preciso dizer o quanto estou ansioso para que esse dia chegue. Serão dois dias de muito conteúdo bom, de conhecimento garantido!
Nos vemos lá!

]]></description>
			<content:encoded><![CDATA[<p>Estou aqui somente para comunicar minha presença no Rails Summit 2009.</p>
<p>Não preciso dizer o quanto estou ansioso para que esse dia chegue. Serão dois dias de muito conteúdo bom, de conhecimento garantido!</p>
<p>Nos vemos lá!</p>
<p><a href="http://www.railssummit.com.br?utm_campaign=Railssummit&#038;utm_source=banner_parceiros&#038;utm_medium=banner&#038;utm_content=vouParticipar_210x60"><img src="http://railssummit.com.br/images/banners/vouParticipar_210x60.jpg" alt="Rails Summit 2009"/></a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/PSxxiMUguE5V5k6M_R8S0KqcYWc/0/da"><img src="http://feedads.g.doubleclick.net/~a/PSxxiMUguE5V5k6M_R8S0KqcYWc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/PSxxiMUguE5V5k6M_R8S0KqcYWc/1/da"><img src="http://feedads.g.doubleclick.net/~a/PSxxiMUguE5V5k6M_R8S0KqcYWc/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/willian?a=ZbF4iZtEu4w:WiRuRc_D9Gc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/willian?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=ZbF4iZtEu4w:WiRuRc_D9Gc:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/willian?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=ZbF4iZtEu4w:WiRuRc_D9Gc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/willian?i=ZbF4iZtEu4w:WiRuRc_D9Gc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=ZbF4iZtEu4w:WiRuRc_D9Gc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/willian?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://willianfernandes.com.br/rails-summit-2009-eu-vou/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://willianfernandes.com.br/rails-summit-2009-eu-vou/</feedburner:origLink></item>
		<item>
		<title>Rails Summit Latin America 2009 – Eu NÃO VOU (Por enquanto… hehehe)</title>
		<link>http://feedproxy.google.com/~r/willian/~3/jfoL_4_a58w/</link>
		<comments>http://willianfernandes.com.br/rails-summit-latin-america-2009-eu-nao-vou-por-enquanto-hehehe/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 18:59:44 +0000</pubDate>
		<dc:creator>Willian Fernandes</dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://willianfernandes.com.br/?p=96</guid>
		<description><![CDATA[
Dias 13 e 14 de outubro acontecerá o Rails Summit 2009. Um mega evento com muita gente boa falando sobre Rails, Agile, Escalabilidade, Testes (TDD, BDD, entre outros) e muitos outros assuntos relacionados ao framework.
Infelizmente não irei nesse ano, por motivos de força maior (casamento consumindo toda grana) não estarei presente no event. Quer dizer, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.railssummit.com.br?utm_campaign=Railssummit&#038;utm_source=banner_parceiros&#038;utm_medium=banner&#038;utm_content=por_728x90"><img alt="" src="http://railssummit.com.br/imgs/43/original/728x90.gif" title="Rails Summit 2009" class="alignnone" width="728" height="90" /></a></p>
<p>Dias 13 e 14 de outubro acontecerá o Rails Summit 2009. Um mega evento com muita gente boa falando sobre Rails, Agile, Escalabilidade, Testes (TDD, BDD, entre outros) e muitos outros assuntos relacionados ao framework.</p>
<p>Infelizmente não irei nesse ano, por motivos de força maior (casamento consumindo toda grana) não estarei presente no event. Quer dizer, não estarei presente até que eu ganhe o ingresso do sorteio de amanhã.</p>
<p>Boa sorte para mim e bom evento à todos!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/eAee0fZeC6MHuImmkoTBahL7iWI/0/da"><img src="http://feedads.g.doubleclick.net/~a/eAee0fZeC6MHuImmkoTBahL7iWI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/eAee0fZeC6MHuImmkoTBahL7iWI/1/da"><img src="http://feedads.g.doubleclick.net/~a/eAee0fZeC6MHuImmkoTBahL7iWI/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/willian?a=jfoL_4_a58w:q-EJqrKjj64:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/willian?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=jfoL_4_a58w:q-EJqrKjj64:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/willian?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=jfoL_4_a58w:q-EJqrKjj64:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/willian?i=jfoL_4_a58w:q-EJqrKjj64:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=jfoL_4_a58w:q-EJqrKjj64:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/willian?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://willianfernandes.com.br/rails-summit-latin-america-2009-eu-nao-vou-por-enquanto-hehehe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://willianfernandes.com.br/rails-summit-latin-america-2009-eu-nao-vou-por-enquanto-hehehe/</feedburner:origLink></item>
		<item>
		<title>O que mudou no Ruby 1.9</title>
		<link>http://feedproxy.google.com/~r/willian/~3/bqsLjy64r7g/</link>
		<comments>http://willianfernandes.com.br/o-que-mudou-no-ruby-1-9/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 14:03:24 +0000</pubDate>
		<dc:creator>Willian Fernandes</dc:creator>
				<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[linguagens]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby1.9]]></category>

		<guid isPermaLink="false">http://willianfernandes.com.br/?p=92</guid>
		<description><![CDATA[Meu amigo Nando Vieira acabou de lançar mais um PDF da série HOWTO mostrando as mudanças do Ruby 1.9.
Por apenas R$ 10,00 você encontra um material completo e didático sobre as mudanças que ocorreram na nova versão do Ruby e as incompatibilidades que enfrentará ao migrar suas aplicações.
Além de ter sido escrito pelo Nando, o [...]]]></description>
			<content:encoded><![CDATA[<p>Meu amigo <a href="http://simplesideias.com.br/">Nando Vieira</a> acabou de lançar mais um PDF da série <a href="http://howto.simplesideias.com.br/">HOWTO</a> mostrando as <a href="http://howto.simplesideias.com.br/o-que-mudou-no-ruby-19">mudanças do Ruby 1.9</a>.</p>
<p>Por apenas R$ 10,00 você encontra um material completo e didático sobre as mudanças que ocorreram na nova versão do <a href="http://sledge.boo-box.com/list/page/UnVieStsaW5ndWFnZW1fIyNfYm94XyMjX3RhZ2dpbmctdG9vbF8jI184Njc=-60" class="bbli">Ruby<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a> e as incompatibilidades que enfrentará ao migrar suas aplicações.</p>
<p>Além de ter sido escrito pelo Nando, o material teve seu conteúdo todo revisado pelo <a href="http://lsdr.net/blog/">Luis Rocha</a>. Ou seja, o material é bom!</p>
<p>Acabei de receber o e-mail com meu PDF e estou lendo ansiosamente, mas não poderia deixar de divulgar este trabalho aqui antes de ler.</p>
<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "howto";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->
<p><a href="http://feedads.g.doubleclick.net/~a/za0T3cHSmfapOScUwOcQoJE5FM0/0/da"><img src="http://feedads.g.doubleclick.net/~a/za0T3cHSmfapOScUwOcQoJE5FM0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/za0T3cHSmfapOScUwOcQoJE5FM0/1/da"><img src="http://feedads.g.doubleclick.net/~a/za0T3cHSmfapOScUwOcQoJE5FM0/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/willian?a=bqsLjy64r7g:bK0Os4G_LeE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/willian?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=bqsLjy64r7g:bK0Os4G_LeE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/willian?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=bqsLjy64r7g:bK0Os4G_LeE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/willian?i=bqsLjy64r7g:bK0Os4G_LeE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=bqsLjy64r7g:bK0Os4G_LeE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/willian?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://willianfernandes.com.br/o-que-mudou-no-ruby-1-9/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://willianfernandes.com.br/o-que-mudou-no-ruby-1-9/</feedburner:origLink></item>
		<item>
		<title>Novos rumos, ou não…</title>
		<link>http://feedproxy.google.com/~r/willian/~3/neO-wppe4Mc/</link>
		<comments>http://willianfernandes.com.br/novos-rumos-ou-nao/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 18:02:45 +0000</pubDate>
		<dc:creator>Willian Fernandes</dc:creator>
				<category><![CDATA[carreira]]></category>
		<category><![CDATA[webco]]></category>

		<guid isPermaLink="false">http://willianfernandes.com.br/?p=87</guid>
		<description><![CDATA[2008 foi um ano fenomenal!
Pude participar de um puta time enquanto fiz parte da WebCo, um lugar onde adorei trabalhar. Nesse pouco mais de um ano que estive com eles aprendi muito e me diverti mais ainda. Obrigado galera, vocês são fodas!!!
Assim como o Lucas Húngaro, as mudanças que ocorrem com a WebCo me fizeram [...]]]></description>
			<content:encoded><![CDATA[<p>2008 foi um ano fenomenal!</p>
<p>Pude participar de um puta time enquanto fiz parte da WebCo, um lugar onde adorei trabalhar. Nesse pouco mais de um ano que estive com eles aprendi muito e me diverti mais ainda. <strong>Obrigado galera, vocês são fodas!!!</strong></p>
<p><a href="http://www.makemesimple.com/blog/2009/06/23/sobre-mudancas/">Assim como o Lucas Húngaro</a>, as mudanças que ocorrem com a WebCo me fizeram repensar meu papel na empresa e resolvi mudar de rumo, respirar novos desafios.</p>
<p>Voltei para a <a href="http://visie.com.br">Visie</a>, um lugar bem legal, com gente bacana e com vontade de trabalhar. Mas desta vez estou como Gerente de Desenvolvedores, ajudando o pessoal a implantar coisas bem bacanas, como: <a href="http://sledge.boo-box.com/list/page/U2NydW0rYWdpbGUreHBfIyNfYm94XyMjX3RhZ2dpbmctdG9vbF8jI184Njc=-60" class="bbli">Scrum<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>, migrar de <a href="http://sledge.boo-box.com/list/page/U3VidmVyc2lvbl8jI19ib3hfIyNfdGFnZ2luZy10b29sXyMjXzg2Nw==-56" class="bbli">Subversion<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a> para Git, <a href="http://sledge.boo-box.com/list/page/WFArYWdpbGVfIyNfYm94XyMjX3RhZ2dpbmctdG9vbF8jI184Njc=-52" class="bbli">Pair Programming<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>, <a href="http://sledge.boo-box.com/list/page/UnVieStvbitSYWlsc18jI19ib3hfIyNfdGFnZ2luZy10b29sXyMjXzg2Nw==-60" class="bbli">Ruby on Rails<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>, Integração Contínua, <a href="http://sledge.boo-box.com/list/page/VGVzdGUrZGUrU29mdHdhcmVfIyNfYm94XyMjX3RhZ2dpbmctdG9vbF8jI184Njc=-64" class="bbli">Testes<img src="http://boo-box.com/bbli" alt="[bb]" class="bbic" /></a>.</p>
<p>Está sendo uma experiência legal, muito diferente do que eu estava acostumado até então.</p>
<p>Valeu pessoal da WebCo, vivi bons momentos com vocês, momentos que jamais esquecerei&#8230;<br />
(sim, como o Lucas se declarou, fiquei com invejinha e me declarei também) <img src='http://willianfernandes.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "webco";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->
<p><a href="http://feedads.g.doubleclick.net/~a/LcnAbE7sYFc1hl6mAh949g6xD8o/0/da"><img src="http://feedads.g.doubleclick.net/~a/LcnAbE7sYFc1hl6mAh949g6xD8o/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/LcnAbE7sYFc1hl6mAh949g6xD8o/1/da"><img src="http://feedads.g.doubleclick.net/~a/LcnAbE7sYFc1hl6mAh949g6xD8o/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/willian?a=neO-wppe4Mc:EoaUiH70i9w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/willian?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=neO-wppe4Mc:EoaUiH70i9w:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/willian?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=neO-wppe4Mc:EoaUiH70i9w:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/willian?i=neO-wppe4Mc:EoaUiH70i9w:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=neO-wppe4Mc:EoaUiH70i9w:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/willian?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://willianfernandes.com.br/novos-rumos-ou-nao/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://willianfernandes.com.br/novos-rumos-ou-nao/</feedburner:origLink></item>
		<item>
		<title>Novo Servidor</title>
		<link>http://feedproxy.google.com/~r/willian/~3/fYi9b1I_kD4/</link>
		<comments>http://willianfernandes.com.br/novo-servidor/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 16:22:18 +0000</pubDate>
		<dc:creator>Willian Fernandes</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[locaweb]]></category>

		<guid isPermaLink="false">http://willianfernandes.com.br/novo-servidor/</guid>
		<description><![CDATA[O blog esteve fora do ar por alguns minutos devido à mudança de servidor que fiz.
Estou usando o serviço de Cloud da Locaweb e por enquanto estou gostando.
Agora tudo deve voltar ao normal!  

					
					bb_keywords = "locaweb";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";
					
					]]></description>
			<content:encoded><![CDATA[<p>O blog esteve fora do ar por alguns minutos devido à mudança de servidor que fiz.</p>
<p>Estou usando o serviço de Cloud da Locaweb e por enquanto estou gostando.</p>
<p>Agora tudo deve voltar ao normal! <img src='http://willianfernandes.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "locaweb";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->
<p><a href="http://feedads.g.doubleclick.net/~a/IukA6sLG-Xz0nSTS1XFL44FcI8g/0/da"><img src="http://feedads.g.doubleclick.net/~a/IukA6sLG-Xz0nSTS1XFL44FcI8g/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/IukA6sLG-Xz0nSTS1XFL44FcI8g/1/da"><img src="http://feedads.g.doubleclick.net/~a/IukA6sLG-Xz0nSTS1XFL44FcI8g/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/willian?a=fYi9b1I_kD4:vKNKlu6KuUk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/willian?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=fYi9b1I_kD4:vKNKlu6KuUk:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/willian?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=fYi9b1I_kD4:vKNKlu6KuUk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/willian?i=fYi9b1I_kD4:vKNKlu6KuUk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=fYi9b1I_kD4:vKNKlu6KuUk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/willian?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://willianfernandes.com.br/novo-servidor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://willianfernandes.com.br/novo-servidor/</feedburner:origLink></item>
		<item>
		<title>Morte ao IE6</title>
		<link>http://feedproxy.google.com/~r/willian/~3/Xtoo5fDgreM/</link>
		<comments>http://willianfernandes.com.br/morte-ao-ie6/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 12:55:15 +0000</pubDate>
		<dc:creator>Willian Fernandes</dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://willianfernandes.com.br/?p=80</guid>
		<description><![CDATA[Recebi o convite do DGmike e resolvi participar desta campanha.
O objetivo da campanha é tirar o Internet Explorer 6 do mercado de navegadores.
Acabei de inserir o script do iMaster neste blog e convido os desenvolvedores abaixo para participarem também:

Guilherme Rambo
Diego Eis
Manoel Netto
Tino Gomes
Luiz Rocha

]]></description>
			<content:encoded><![CDATA[<p>Recebi o <a href="http://dgmike.com.br/2009/02/ie6-time-to-die/">convite do DGmike</a> e resolvi participar desta campanha.</p>
<p>O objetivo da campanha é tirar o Internet Explorer 6 do mercado de navegadores.</p>
<p>Acabei de inserir o <a href="http://imasters.uol.com.br/crossbrowser/pt-br/">script do iMaster</a> neste blog e convido os desenvolvedores abaixo para participarem também:</p>
<ul>
<li><a href="http://www.screencaster.com.br/">Guilherme Rambo</a></li>
<li><a href="http://www.tableless.com.br/">Diego Eis</a></li>
<li><a href="http://tecnocracia.com.br/">Manoel Netto</a></li>
<li><a href="http://blog.tinogomes.com/">Tino Gomes</a></li>
<li><a href="http://lsdr.net/blog/">Luiz Rocha</a></li>
</ul>

<p><a href="http://feedads.g.doubleclick.net/~a/xfMMSeQd8JueQhwkJ2nC4XkHzTI/0/da"><img src="http://feedads.g.doubleclick.net/~a/xfMMSeQd8JueQhwkJ2nC4XkHzTI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/xfMMSeQd8JueQhwkJ2nC4XkHzTI/1/da"><img src="http://feedads.g.doubleclick.net/~a/xfMMSeQd8JueQhwkJ2nC4XkHzTI/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/willian?a=Xtoo5fDgreM:UfV0mISn0Pg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/willian?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=Xtoo5fDgreM:UfV0mISn0Pg:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/willian?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=Xtoo5fDgreM:UfV0mISn0Pg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/willian?i=Xtoo5fDgreM:UfV0mISn0Pg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/willian?a=Xtoo5fDgreM:UfV0mISn0Pg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/willian?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://willianfernandes.com.br/morte-ao-ie6/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://willianfernandes.com.br/morte-ao-ie6/</feedburner:origLink></item>
	<media:rating>nonadult</media:rating></channel>
</rss>
