<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Muito Nerd!&#187; Desenvolvimento</title>
	<atom:link href="http://www.muitonerd.org/category/desenvolvimento/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.muitonerd.org</link>
	<description>As coisas mais nerd's da internet!!!</description>
	<lastBuildDate>Fri, 04 Nov 2011 03:56:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<copyright>2006-2007 </copyright>
	<managingEditor>diogo.kamioka@muitonerd.org (Muito Nerd!)</managingEditor>
	<webMaster>diogo.kamioka@muitonerd.org (Muito Nerd!)</webMaster>
	<image>
		<url>http://www.muitonerd.org/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
		<title>Muito Nerd!</title>
		<link>http://www.muitonerd.org</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>As coisas mais nerd's da internet!!!</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &#38; Culture" />
	<itunes:author>Muito Nerd!</itunes:author>
	<itunes:owner>
		<itunes:name>Muito Nerd!</itunes:name>
		<itunes:email>diogo.kamioka@muitonerd.org</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://www.muitonerd.org/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<item>
		<title>Rubyconf Brasil 2011</title>
		<link>http://www.muitonerd.org/desenvolvimento/rubyconf-brasil-2011/</link>
		<comments>http://www.muitonerd.org/desenvolvimento/rubyconf-brasil-2011/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 03:56:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>

		<guid isPermaLink="false">http://www.muitonerd.org/?p=451</guid>
		<description><![CDATA[Prólogo: Ok&#8230; dois anos e 4 meses se passaram. Caramba, o tempo passa rápido. Cada vez mais rápido a medida que se fica velho. Jovens&#8230; (se é que tem alguém aqui que se considera assim&#8230; ou qualquer um que não se sinta como falei acima serve também) aproveitem seu tempo (ok, piegas eu sei) pois [...]]]></description>
			<content:encoded><![CDATA[<p>Prólogo:</p>
<p>Ok&#8230; dois anos e 4 meses se passaram.</p>
<p>Caramba, o tempo passa rápido. Cada vez mais rápido a medida que se fica velho.</p>
<p>Jovens&#8230; (se é que tem alguém aqui que se considera assim&#8230; ou qualquer um que não se sinta como falei acima serve também) aproveitem seu tempo (ok, piegas eu sei) pois afinal, 2012 está aí! =D</p>
<p>Bom para falar a verdade, já tenho alguns posts semi-escritos aqui, datando do ano passado, tem um do Toshiba também do ano retrasado&#8230; mas não foram publicados então vou considerar 2 anos e 4 meses mesmo. Esse post aqui é em homenagem à um amigo, o Odirlei, que se você conhece talvez seja o mesmo afinal existem poucos &#8220;Odirlei&#8217;s&#8221; por aí, acho eu.</p>
<p>Ele twittou algo sobre voltar a ler esse blog, e bom, já tenho um assunto para falar mesmo e bem relacionado à esse blog, portanto acho que o Universo conspirou para isso. Mentira, eu sei que o Universo não conspira, aliás nem é um personagem ou entidade com consciência&#8230; aliás&#8230; nem sei porque escrevi com inicial maiúscula&#8230; mas deixa para lá. (vai que eu estou errado)</p>
<p>Fim do prólogo, se quiser saber mais clica aí.</p>
<p><span id="more-451"></span></p>
<h1>RubyConf 2011</h1>
<p>Hoje participei da maior conferência sobre a linguagem de programação Ruby do país, a <a target="_blank" href="http://www.rubyconf.com.br">Rubyconf</a>.</p>
<p>Por que participei? Alguns motivos pessoas e profissionais, dos profissionais posso dizer:</p>
<ul>
<li>Estou trabalhando na mapaBRASIL, como gerente de tecnologia e nossa equipe inteira trabalha com Ruby;</li>
<li>Além disso 99% do nosso desenvolvimento é baseado em Ruby, dentro desse percentual existe uma boa porcentagem rodando em <a target="_blank" href="http://rubyonrails.com.br/">Ruby on Rails</a>.</li>
<li>A empresa patrocinou 100% da inscrição (que diga-se de passagem não é barata);</li>
<li>E liberou nossa equipe <strong>inteira</strong> para os dois dias de evento.</li>
<li>Ah, esqueci! Ganhamos ainda da empresa uma camiseta com o símbolo da empresa para irmos &#8220;uniformizados&#8221;. Foi legal.</li>
</ul>
<div>O que posso dizer?</div>
<p>Apesar de todos os pesares que qualquer empresa tem, principalmente as pequenas e médias, é um puta incentivo.</p>
<p>Tá certo que fiquei (tentei ficar, mais para frente explico&#8230;) online quase que o tempo todo para resolver assuntos e requisições da empresa, mas mesmo assim, muito legal!!!</p>
<h2>Agora o que é exatamente a Rubyconf?</h2>
<p>Bom, vocês podem clicar no link e ir ao site direto ou&#8230; resumindo:<br />
Um conjunto de palestras sobre diversas utilizações (principalmente casos reais) do Ruby em diversas situações e assuntos ligado ao <a target="_blank" href="http://manifestoagil.com.br/">desenvolvimento ágil</a> em geral. Para você, que não conhece Ruby, isso poderia render um outro artigo inteiro, mas eu só digo uma coisa:</p>
<blockquote><p>Se você está procurando alguma linguagem que esteja <strong>ativamente</strong> crescendo, mudando, atualizando-se, uma boa pedida é o Ruby. E isso porque a comunidade (principalmente a brasileira) é <strong>muito forte.</strong></p></blockquote>
<p>Antes que você se empolgue, e vá procurar estudar e etc e vir me xingar aqui depois, já vou deixar bem claro: <strong>Ruby é uma linguagem interpretada.</strong> Sim. Isso que você leu, seu programador com mais de 25 anos, preconceituoso! Sim, você que se formou não fazem nem dois anos em faculdades prestigiadas e tradicionais, com forte embasamento acadêmico, apesar de começarem agora e focar no mercado&#8230; Ruby é interpretada.</p>
<p>Eu mesmo era contra linguagem interpretadas. Eu mesmo achava palhaçada, desde que aprendi Visual Basic&#8230; e essas coisas&#8230; como explicar&#8230; hmmm non-l33t.</p>
<p>Bom, vou voltar à esse assunto em outro artigo. Vamos continuar com a <strong>Rubyconf 2011</strong></p>
<h3>A partir de agora, um Feedback pessoal e sincero.</h3>
<p>Hoje estive lá, e posso dizer que achei que foi um repeteco do ano passado. Em todos os pontos positivos e nos negativos também&#8230; Vou listar também os pontos meio a meio&#8230; o que são? Pontos que podem ser considerados positivos mas também negativos ao mesmo tempo&#8230;</p>
<p>Vou tentar separar em listas:</p>
<ul>
<li>Pontos Positivos
<ul>
<li>Galera engajada e animada;</li>
<li>Networking;</li>
<li>Trocar idéia com figurinhas carimbadas da comunidade e cenário ruby/rails;</li>
<li>Palestrantes internacionais;</li>
<li>Casos reais, problemas enfrentados no mercado e suas soluções adotadas;</li>
<li>Sonorização e iluminação;</li>
<li>Organização do Evento;</li>
<li>Espaço para carregar notebooks e etc;</li>
<li>Murais para deixar recados engraçados e personalizados (com canetão);</li>
<li>Stands das empresas mais influentes em Ruby/Rails no saguão;</li>
<li>Tinha um Stand com venda de livros técnicos (tinha até um &#8220;Aprendendo BD em Mangá&#8221; ahahaha rachei!)</li>
<li>Coffe Break muito bom!!! Excelente eu diria.</li>
<li>Modelos ajudando no evento&#8230; com certeza um colírio <img src='http://www.muitonerd.org/wp-includes/images/smilies/icon_wink.gif' alt="icon wink Rubyconf Brasil 2011" class='wp-smiley' title="Rubyconf Brasil 2011" /> </li>
</ul>
</li>
<li>Pontos Negativos
<ul>
<li>Com certeza: Wi-Fi (não funcionava direito, repeteco do ano anterior);</li>
<li>Espaço entre as cadeiras muito apertado;</li>
<li>Superlotação de algumas palestras (não tinha lugar para todos sentarem);</li>
<li>Superlotação no saguão em horários de pico (coffe break por exemplo)</li>
</ul>
</li>
<li>Pontos Meio a Meio.
<ul>
<li>Projetor exibindo Tweets da galera online;
<ul>
<li>Legal: Interatividade</li>
<li>Zuado: Sempre tem uns tonto querendo se engraçado. E ainda mais sem respeito com o palestrante;</li>
</ul>
</li>
<li>Tradução Simultânea
<ul>
<li>Legal: Parece o Oscar! ;P</li>
<li>Zuado: Ainda teve quem reclamou da tradução, não sei porque não utilizei os fones distribuídos&#8230; Reclamaram principalmente da tradução de termos técnicos&#8230;</li>
</ul>
</li>
<li>Duas opções de palestras em paralelo
<ul>
<li>Legal: Se você não se interessava pela palestra passando na sala 1, poderia ter uma outra opção na sala 2;</li>
<li>Zuado: Se você se interessava pelas duas&#8230; terá que escolher apenas uma! ;(</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>Bom, como podem ver tinha a programação paralela&#8230; e ainda mais não consegui assitir tudo porque tive que sair uma hora para realizar uma entrega de um job para a empresa&#8230; então a programação que segui ficou mais ou menos assim:</p>
<table cellspacing="0" cellpadding="0" width="980">
<tbody>
<tr>
<td>08:00 &#8211; 09:00</td>
<td colspan="3"><a target="_blank" href="http://rubyconf2011.akitaonrails.com/br#">Credenciamento (cheguem cedo!)</a></td>
</tr>
<tr>
<td>09:00 &#8211; 09:20</td>
<td colspan="3"><a target="_blank" href="http://rubyconf2011.akitaonrails.com/br#">Abertura</a></td>
</tr>
<tr>
<td>09:20 &#8211; 10:10</td>
<td colspan="3"><a target="_blank" href="http://rubyconf2011.akitaonrails.com/br/talks/david-a-black-146.html">Ruby é Fácil?</a></p>
<p>(David A. Black)</td>
</tr>
<tr>
<td>10:10 &#8211; 10:40</td>
<td colspan="3"><a target="_blank" href="http://rubyconf2011.akitaonrails.com/br#">Intervalo para Café</a></td>
</tr>
<tr>
<td>10:40 &#8211; 11:30</td>
<td><a target="_blank" href="http://rubyconf2011.akitaonrails.com/br/talks/ricardo-bernardelli-125.html">Multitenancy em Rails: Cortando custos e aumentando capacidade</a></p>
<p>(Ricardo Bernardelli / Fernando Hamasaki)</td>
<td></td>
<td></td>
</tr>
<tr>
<td>11:30 &#8211; 12:20</td>
<td><a target="_blank" href="http://rubyconf2011.akitaonrails.com/br/talks/nick-sutterer-7.html">Hypermedia &#8211; O Ingrediente Perdido do REST</a></p>
<p>(Nick Sutterer)</td>
<td></td>
<td></td>
</tr>
<tr>
<td>12:20 &#8211; 13:40</td>
<td colspan="3"><a target="_blank" href="http://rubyconf2011.akitaonrails.com/br#">Livre para Almoço</a></td>
</tr>
<tr>
<td>13:40 &#8211; 14:30</td>
<td colspan="3"><a target="_blank" href="http://rubyconf2011.akitaonrails.com/br/talks/konstantin-haase-48.html">Rack em Tempo Real</a></p>
<p>(Konstantin Haase)</td>
</tr>
<tr>
<td>14:30 &#8211; 15:20</td>
<td></td>
<td>Não consegui assitir nenhuma =[</td>
<td></td>
</tr>
<tr>
<td>15:20 &#8211; 16:10</td>
<td>Também não consegui assitir&#8230; =[</td>
<td></td>
<td></td>
</tr>
<tr>
<td>16:10 &#8211; 16:40</td>
<td colspan="3"><a target="_blank" href="http://rubyconf2011.akitaonrails.com/br#">Intervalo para Café</a></td>
</tr>
<tr>
<td>16:40 &#8211; 17:30</td>
<td></td>
<td></td>
<td><a target="_blank" href="http://rubyconf2011.akitaonrails.com/br/talks/ivan-acosta-rubio-52.html">Replicando objetos ActiveRecord para MongoDB</a></p>
<p>(Ivan Acosta-Rubio)</td>
</tr>
<tr>
<td>17:30 &#8211; 18:20</td>
<td></td>
<td></td>
<td><a target="_blank" href="http://rubyconf2011.akitaonrails.com/br/talks/rodrigo-franco-caffo-145.html">Suba da Nível na sua aplicação usando bigdoor e outras gems de game-ficação</a></p>
<p>(Rodrigo Franco (Caffo))</td>
</tr>
</tbody>
</table>
<p>Amanhã, não sei ainda o que vou assitir&#8230; vou decidir lá na hora&#8230; se quiserem ver a programação está disponível <a target="_blank" href="http://rubyconf2011.akitaonrails.com/br/schedule.html">aqui</a>.</p>
<p>Abraços!!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.muitonerd.org/desenvolvimento/rubyconf-brasil-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows CMD &#8211; Going Beyond</title>
		<link>http://www.muitonerd.org/util/windows-cmd-going-beyond/</link>
		<comments>http://www.muitonerd.org/util/windows-cmd-going-beyond/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 01:44:57 +0000</pubDate>
		<dc:creator>MACSkeptic</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Util]]></category>
		<category><![CDATA[CMD]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.muitonerd.org/?p=362</guid>
		<description><![CDATA[Salve salve meu caro amigo geek, nerd, otaku, jedi, ou qualquer outra raça &#8211; afinal, não importa quem você seja, o que importa é ler o muitonerd.org &#8230; Estava eu aqui, perdido neste domingo pré feriadão de carnaval (no qual provavelmente vou trabalhar), pensando em que colocar no script para uma aula introdutória de rails [...]]]></description>
			<content:encoded><![CDATA[<p>Salve salve meu caro amigo geek, nerd, otaku, jedi, ou qualquer outra raça &#8211; afinal, não importa quem você seja, o que importa é ler o muitonerd.org <img src='http://www.muitonerd.org/wp-includes/images/smilies/icon_wink.gif' alt="icon wink Windows CMD   Going Beyond" class='wp-smiley' title="Windows CMD   Going Beyond" /> &#8230;</p>
<p>Estava eu aqui, perdido neste domingo pré feriadão de carnaval (no qual provavelmente vou trabalhar), pensando em que colocar no script para uma aula introdutória de rails quando me veio a necessidade de criar um arquivo vazio. <a href="http://www.muitonerd.org/wp-content/uploads/2009/02/cmd.jpg"><img src="http://www.muitonerd.org/wp-content/uploads/2009/02/cmd.jpg" alt="cmd Windows CMD   Going Beyond" title="cmd" class="alignright size-full wp-image-363" /></a></p>
<p>Meus editores favoritos bizonhamente não aceitam você simplesmente clicar com o botão direito em um diretório e escolher &#8220;New File&#8221; / &#8220;Add File&#8221; / &#8220;Create File&#8221; ou qualquer coisa do gênero&#8230; E nisso estão inclusos: o todo poderoso Ultra Edit (e mesmo a versão mais power: UEStudio), Notepad++, PSPad (sugerido pelo Fálico), e Textpad.</p>
<p>Um absurdo! Um absurdo ter que escolher &#8220;New File&#8230;&#8221; utilizando o menu, e depois escolher um diretório , um processo burocrático e ineficiente. Se estivesse usando uma IDE (Eclipse/RadRails, Netbeans, RubyMine&#8230;) até conseguiria clicar direto no diretório, mas ao pedir para criar um novo arquivo com certeza apareceria algum Wizard frescurento &#8211; Tudo em nome da produtividade (sic).</p>
<p>Como para trabalhar com rails, saber utilizar bem o shell da sua plataforma é fundamental (e as opções para Windows &#8211; MSYS e CygWin são bem problemáticas em alguns pontos), saí à caça&#8230;</p>
<p>Bom, se estivesse no linux, seria muito mais fácil e mais rápido executar o comando:</p>
<blockquote><p>touch nome_do_arquivo.txt</p></blockquote>
<p>Isso criaria um arquivo vazio automaticamente (ou modificaria o &#8220;last modified date&#8221; se o arquivo já existisse).</p>
<p><span id="more-362"></span></p>
<p>No [fraquíssimo] CMD do [ótimo] Windows é um pouco mais difícil conseguir isso. Cheguei a pensar em algumas alternativas, a que chegou mais próxima foi:</p>
<blockquote><p>echo a > nome_do_arquivo.txt</p></blockquote>
<p>Isso foi quase o equivalente, já que criou um arquivo com um caractere. Mas, não foi o suficiente para me deixar satisfeito. Tentei então algumas variações:</p>
<blockquote><p>echo &#8220;&#8221; > nome_do_arquivo.txt</p></blockquote>
<blockquote><p>echo &#8221; > nome_do_arquivo.txt</p></blockquote>
<p>Porém, o resultado foi a impressão das aspas no arquivo, e não um arquivo vazio. Outra tentativa seria apenas:</p>
<blockquote><p>echo > nome_do_arquivo.txt</p></blockquote>
<p>Porém o resultado disso é o conhecido:</p>
<blockquote><p>ECHO is on.</p></blockquote>
<p>Pesquisando um pouco, descobri a existência de um dispositivo especial no Windows, apelidado de &#8220;black-hole&#8221;, pois tudo que é enviado para ele se perde. Junto com ele, veio a maracutaia para criar o saudoso arquivo vazio:</p>
<blockquote><p>copy NUL > nome_do_arquivo.txt</p></blockquote>
<p>Isso, &#8220;NUL&#8221; é o nome dado para o dispositivo &#8220;black-hole&#8221; no Windows.</p>
<p>Aliás, os dispositivos no Windows tem algumas propriedades curiosas. Você não pode criar um arquivo com o nome de nenhum deles. Duvida? Tente criar um arquivo qualquer com um desses nomes:</p>
<ul>
<li>CON</li>
<li>PRN</li>
<li>AUX</li>
<li>NUL</li>
<li>COM1</li>
<li>COM2</li>
<li>COM3</li>
<li>COM4</li>
<li>COM5</li>
<li>COM6</li>
<li>COM7</li>
<li>COM8</li>
<li>COM9</li>
<li>LPT1</li>
<li>LPT2</li>
<li>LPT3</li>
<li>LPT4</li>
<li>LPT5</li>
<li>LPT6</li>
<li>LPT7</li>
<li>LPT8</li>
<li>LPT9</li>
</ul>
<p>Para finalizar, mais algumas dicas bem úteis para o CMD (testadas apenas no XP):</p>
<p>Se você quiser abrir uma sessão do Windows Explorer no diretório corrente de trabalho, basta utilizar o comando:</p>
<blockquote><p>start .</p></blockquote>
<p>Outra coisa bem precária é a funcionalidade de copy/paste com o botão direito, que, a priori, não existe &#8211; sendo necessário utilizar o menu &#8220;Edit > Copy&#8221; ou &#8220;Edit > Paste&#8221;.</p>
<p>Para melhorar isso, podemos customizar algumas coisas. Primeiro, acesse as propriedades do CMD:</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2009/02/properties.jpg"><img src="http://www.muitonerd.org/wp-content/uploads/2009/02/properties.jpg" alt="properties Windows CMD   Going Beyond" title="properties" class="aligncenter size-full wp-image-364" /></a></p>
<p>Depois, na aba &#8220;Options&#8221;, marque as opções &#8220;Insert Mode&#8221; e &#8220;Quick Edit&#8221;:</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2009/02/options.jpg"><img src="http://www.muitonerd.org/wp-content/uploads/2009/02/options.jpg" alt="options Windows CMD   Going Beyond" title="options" class="aligncenter size-full wp-image-365" /></a></p>
<p>&#8220;Insert Mode&#8221; apenas diz se caracteres inseridos no meio do texto irão sobreescrever os já existentes ou não, ligá-la quer dizer que ao inserir um caractere no meio do texto, todo o texto é deslocado para a direita para comportá-lo.</p>
<p>&#8220;Quick Edit&#8221; permite que você selecione texto na tela a qualquer momento sem precisar escolher &#8220;Edit > Mark&#8221;, após selecionar o texto é possível copiar e colar utilizando o botão direito apenas.</p>
<p>Ao clicar em OK, diga que você quer que essas opções se apliquem a todas as janelas que você abrir daqui pra frente.</p>
<p>Uma dica final é que você pode arrastar um arquivo ou pasta direto do Windows Explorer para o CMD, e automaticamente será inserido o caminho completo para este arquivo ou pasta.</p>
<p>[ ]&#8216;s</p>
<p>Se alguém conhecer mais alguma maracutaia do CMD, por favor contribua =).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.muitonerd.org/util/windows-cmd-going-beyond/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows on Rails?</title>
		<link>http://www.muitonerd.org/uncategorized/windows-on-rails/</link>
		<comments>http://www.muitonerd.org/uncategorized/windows-on-rails/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 04:07:47 +0000</pubDate>
		<dc:creator>MACSkeptic</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Util]]></category>
		<category><![CDATA[autohotkey]]></category>
		<category><![CDATA[bundles]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[textmate]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.muitonerd.org/uncategorized/windows-on-rails/</guid>
		<description><![CDATA[Esta semana participei de um curso de Ruby On Rails na Caelum (RR11), ministrado pelo Fabio Kung. Dada a minha conhecida história nada feliz com cursos, aulas, palestras e afins, minha expectativa era de perder meu tempo, mais uma vez. Porém, foi uma experiência supreendentemente agradável e informativa. Recomendo pra todo mundo que quiser aprender [...]]]></description>
			<content:encoded><![CDATA[<p>Esta semana participei de um curso de Ruby On Rails na Caelum (RR11), ministrado pelo <a target="_blank" href="http://fabiokung.com/" target="_blank">Fabio Kung</a>.</p>
<p>Dada a minha conhecida história nada feliz com cursos, aulas, palestras e afins, minha expectativa era de perder meu tempo, mais uma vez. Porém, foi uma experiência supreendentemente agradável e informativa. Recomendo pra todo mundo que quiser aprender algo novo =) (ao contrário de um curso de java EE que fiz há alguns meses [em outro lugar] que me deixou sem palavras baixas o bastante para descrevê-lo).</p>
<p>Já havia dado uma boa mexida com esse tão falado Ruby on Rails, queria entender se é verdade mesmo, e de onde sai a &#8220;magia&#8221; por detrás da tão falada eficiência N vezes maior. De magia já havia percebido que não tem nada, é apenas um conjunto de ótimas idéias, em cima de uma linguagem super flexível e poderosa.</p>
<p>Porém, o curso me mostrou um lado ainda mais interessante do que há por trás do rails, a beleza e as infinitas possibilidades que o ruby oferece. Confesso que os famosos pequenos detalhes, a Syntax Sugar, o <strong>poder</strong> que a linguagem te dá (afinal, felicidade é &#8220;a sensação de que o poder aumenta&#8221; [Nietzsche]), o caráter totalmente OO (de verdade, nada de static, nada de interfaces fora de classes), aquele dinamismo lembrando os bons tempos de php e smarty, o caráter meio funcional lembrando as melhores coisas do bom e velho LISP, tudo isso me deixou maravilhado. Os helpers para AJAX então, nem se fala, nunca tinha visto tamanha facilidade para realizar as hoje indispensáveis chamadas assíncronas da web 2.0.</p>
<p>Bom, chegando em casa, era a hora de botar um pouco do que fôra aprendido em prática. Ruby/Rails é famoso hoje por algumas coisas, a principal delas talvez seja que todo cara que lida com isso tem um bendito MacBook. Pois é, o TextMate é um editor fantástico mesmo e tudo mais. Mas, bem, eu sou um cara <strong>Microsoft</strong>, todo mundo que me conhece sabe que meu negócio é <strong>Windows</strong> e ponto final. Porque eu gosto de jogar (o que já é justificativa mais do que suficiente), porque eu odeio muitas idéias por detrás do linux (que não vem ao caso entrar em detalhes agora), e porque eu não tenho $$$ pra comprar um MacBook.</p>
<p>Instalar o ruby, rails, rspec, etc etc etc não foi problema, já tem muita coisa boa sobre isso na internet, e um trabalho bem legal com o &#8220;one click installer&#8221; pro ruby &#8211; que resolve todos os seus problemas. Bom&#8230; QUASE todos&#8230; ainda falta encontrar um bom editor.</p>
<p><span id="more-353"></span></p>
<p>Ruby é uma linguagem dinâmica, com isso é praticamente impossível criar uma IDE como é o Eclipse pra Java(argh!) ou o Visual Studio pra C#. O que governa o desenvolvimento na linguagem é mesmo o uso de bons editores de texto, como era/é com o PHP.</p>
<p>No Mac é praticamente unanimidade: TextMate na cabeça.</p>
<p>No Linux há alguma discórdia entre as wannabe-IDE&#8217;s NetBeans e Aptana RadRails e os lendários Vi/Vim e Emacs. Vi/Vim e Emacs são poderosos o bastante nas mãos certas pra programar eficientemente em qualquer linguagem, então é relativamente bem tranquilo usá-los pra quem sabe. Não vou entrar no mérito de qual é melhor que qual porque sei muito pouco dos dois, mas sei reconhecer a infinidade de possibilidades que eles oferecem pra quem manja do negócio.</p>
<p>No Windows, bom, no Windows é um problema. Vamos às opções:</p>
<p>Temos as wannabe-IDE&#8217;s NetBeans e Aptana RadRails também.</p>
<p><span style="text-decoration: underline;"><strong>NetBeans</strong></span></p>
<p>O NetBeans é o NetBeans, não precisa falar muito mais do que isso pra se convencer a não chegar nem perto &#8211; eu sei, eu sei, ele melhorou bastante e bla bla bla, eu cheguei a usar quando estava começando a mexer com ruby (ainda sem rails) resolvendo uns probleminhas do projecteuler e ele foi útil pela facilidade para executar e tal &#8211; mas o veredito é: muito peso, muito consumo de recurso, pra pouca vantagem.</p>
<p><span style="text-decoration: underline;"><strong>Aptana &#8211; RadRails</strong></span></p>
<p>O Aptana não é nada além de um Eclipse customizado, o que já é um ótimo começo &#8211; afinal, ainda está por surgir algo que supere a &#8220;mágica&#8221; de um CTRL SHIFT R ou CTRL SHIFT G (ou CTRL ALT H &#8211; Java(argh!) only). Se você desativar o moooonte de coisa desncessária que vem junto com ele, limpar a perspectiva do rails e tiver paciencia de ajeitar algumas configurações, ele fica leve (consumo médio de 25 mb de memória aqui), abre rápido, e tem um editor de código simplesmente sensacional (afinal, é o Eclipse). Não compensa fazer as rake tasks e os script/generates de dentro dele, pra isso acaba sendo melhor no CMD mesmo. Nessa configuração seria o ideal, ele ainda mostra o RDoc dos métodos da API que você chama. Porém, pelo menos comigo, trava numa frequência muito maior que o aceitável, o que me fez perder a paciência.</p>
<p>O que restou? Bom, temos alguns bons editores no Windows &#8211; como o edit, o notepad, o wordpad . . . ok, ok, brincadeiras à parte, minhas opções iniciais eram, respectivamente: E-Text e UltraEdit.</p>
<p><strong><span style="text-decoration: underline;">E-Text</span></strong></p>
<p>Baixei um trial do E-text do site do fabricante para ver como é aquele que promete o &#8220;poder do TextMate no Windows&#8221; e quão grande não foi minha surpresa ao perceber que o link que ele oferece para os &#8220;bundles&#8221; (vulgo plugins) é um svn, cheio de arquivos cujo nome o Windows não aceita! Procurei, procurei, e procurei na grande rede uma alternativa para os bundles mas não encontrei, tudo aponta para aquele bendito SVN com arquivos contendo : * &gt; &lt; e todos aqueles caracteres que o Windows adora. Como que isso funciona no Windows então? Bom, eu sinceramente não consegui descobrir.</p>
<p><strong><span style="text-decoration: underline;">UltraEdit</span></strong></p>
<p>Ahhh o UltraEdit, a sensação de &#8220;voltar pra casa&#8221;. Tenho uma licensa do ultra edit há algum tempo. Ele sempre foi meu all-purpose editor, e parece que novamente é nele que a coisa vai acontecer. Porém, como ser eficiente sem os code snippets, sem os atalhinhos mágicos do TextMate, os comandos mirabolantes do Vi e Emacs, ou o editor de código super confortável do Eclipse? O UltraEdit é sim bom o bastante para <strong>escrever</strong> código, e consegui arquivos de syntax highlight tanto para .rb quanto para .erb. Porém, para <strong>gerar</strong> código (ou ao menos ajudar), teria que ter muito trabalho com macros pra conseguir algo decente.</p>
<p>Foi aí que veio a idéia: <a target="_blank" href="http://www.autohotkey.com" target="_blank">AutoHotkey</a>. Era isso que precisava, com um pouco de criatividade, tudo se resolve. Usando as teclas de atalho e o conceito de &#8220;hotstrings&#8221;, consegui mapear os atalhos de snippets mais conhecidos do todo poderoso TextMate para serem usados não só no ultraedit, mas até mesmo no Notepad (!!!), ou até mesmo no Edit (é, aquele mesmo dos tempos do DOS, que roda no CMD do Windows). Basta digitar um ase[TAB] e lá está &#8220;assert_equals expected, actual&#8221;.</p>
<p>Vou disponibilizar o script <a target="_blank" href="http://www.muitonerd.org/wp-content/uploads/2009/02/ruby_on_rails.ahk" target="_blank">aqui</a> para quem quiser experimentar. Os atalhos são baseados nessa &#8220;<a href="http://pragmaticstudio.com/rails/RailsTextMateCheats.pdf" target="_blank">cola</a>&#8221; (TAB é, naturalmente, a tecla TAB):</p>
<table border="1" cellspacing="0" cellpadding="2" width="641">
<tbody>
<tr>
<td width="200" valign="top"><span style="color: #00ffff;"><strong>Trigger</strong></span></td>
<td width="439" valign="top"><span style="color: #00ffff;"><strong>Snippet</strong></span></td>
</tr>
<tr>
<td width="200" valign="top">WINDOWS + L</td>
<td width="439" valign="top">=&gt;</td>
</tr>
<tr>
<td width="200" valign="top">WINDOWS + P</td>
<td width="439" valign="top">params[:id]</td>
</tr>
<tr>
<td width="200" valign="top">WINDOWS + J</td>
<td width="439" valign="top">session[:user]</td>
</tr>
<tr>
<td width="200" valign="top">WINDOWS + X</td>
<td width="439" valign="top">&lt;% %&gt;</td>
</tr>
<tr>
<td width="200" valign="top">WINDOWS + Z</td>
<td width="439" valign="top">&lt;%= %&gt;</td>
</tr>
<tr>
<td width="200" valign="top">habtmTAB</td>
<td width="439" valign="top">has_and_belongs_to_many :things</td>
</tr>
<tr>
<td width="200" valign="top">hmaTAB</td>
<td width="439" valign="top">has_many :things, :as =&gt; :polymorphic</td>
</tr>
<tr>
<td width="200" valign="top">hmTAB</td>
<td width="439" valign="top">has_many :things</td>
</tr>
<tr>
<td width="200" valign="top">btTAB</td>
<td width="439" valign="top">belongs_to :something</td>
</tr>
<tr>
<td width="200" valign="top">btpTAB</td>
<td width="439" valign="top">belongs_to :something, :polymorphic =&gt; true</td>
</tr>
<tr>
<td width="200" valign="top">defTAB</td>
<td width="439" valign="top">def method_name<br />
end</td>
</tr>
<tr>
<td width="200" valign="top">vpTAB / vpoTAB / presenceTAB</td>
<td width="439" valign="top">validates_presence_of :something</td>
</tr>
<tr>
<td width="200" valign="top">numberTAB / numerTAB / vnTAB / vnoTAB</td>
<td width="439" valign="top">validates_numericality_of :something</td>
</tr>
<tr>
<td width="200" valign="top">formatTAB / vfTAB / vfoTAB</td>
<td width="439" valign="top">validates_format_of :something, :with =&gt; /regex/</td>
</tr>
<tr>
<td width="200" valign="top">eachTAB</td>
<td width="439" valign="top">each do |element|<br />
end</td>
</tr>
<tr>
<td width="200" valign="top">each{TAB</td>
<td width="439" valign="top">each { |element| &#8230; }</td>
</tr>
<tr>
<td width="200" valign="top">mapTAB</td>
<td width="439" valign="top">map do |element|<br />
end</td>
</tr>
<tr>
<td width="200" valign="top">map{TAB</td>
<td width="439" valign="top">map { |element| &#8230; }</td>
</tr>
<tr>
<td width="200" valign="top">forinTAB</td>
<td width="439" valign="top">for element in collection</td>
</tr>
<tr>
<td width="200" valign="top">ifTAB</td>
<td width="439" valign="top">if condition</td>
</tr>
<tr>
<td width="200" valign="top">ifelseTAB</td>
<td width="439" valign="top">if condition<br />
else<br />
end</td>
</tr>
<tr>
<td width="200" valign="top">unlessTAB</td>
<td width="439" valign="top">unless condition</td>
</tr>
<tr>
<td width="200" valign="top">kvTAB</td>
<td width="439" valign="top">:key =&gt; &#8220;&#8221;</td>
</tr>
<tr>
<td width="200" valign="top">flashTAB</td>
<td width="439" valign="top">flash[:notice] = &#8220;&#8221;</td>
</tr>
<tr>
<td width="200" valign="top">aeTAB</td>
<td width="439" valign="top">assert_equal expected, actual</td>
</tr>
<tr>
<td width="200" valign="top">raTAB</td>
<td width="439" valign="top">render :action =&gt; &#8220;&#8221;</td>
</tr>
<tr>
<td width="200" valign="top">rpTAB</td>
<td width="439" valign="top">render :partial =&gt; &#8220;&#8221;</td>
</tr>
<tr>
<td width="200" valign="top">mctTAB</td>
<td width="439" valign="top">create_table &#8220;&#8221;</td>
</tr>
<tr>
<td width="200" valign="top">mccTAB</td>
<td width="439" valign="top">table.column :name, :type</td>
</tr>
<tr>
<td width="200" valign="top">recTAB</td>
<td width="439" valign="top">redirect_to options &#8230;</td>
</tr>
<tr>
<td width="200" valign="top">licTAB</td>
<td width="439" valign="top">&lt;%= link_to options &#8230; %&gt;</td>
</tr>
<tr>
<td width="200" valign="top">eforinTAB</td>
<td width="439" valign="top">&lt;% for item in @items &#8230; %&gt;</td>
</tr>
<tr>
<td width="200" valign="top">ftTAB</td>
<td width="439" valign="top">&lt;%= form_tag options &#8230; %&gt;</td>
</tr>
</tbody>
</table>
<p> </p>
<p>Para fazer funcionar, basta instalar o <a target="_blank" href="http://www.autohotkey.com" target="_blank">AutoHotkey</a> clicar 2x <a href="http://www.muitonerd.org/wp-content/uploads/2009/02/ruby_on_rails.ahk" target="_blank">neste arquivo</a> (no Windows, é claro), deve aparecer um ícone verde lá perto do relógio indicando que ele está rodando, por ali dá pra finalizá-lo ou editá-lo.</p>
<p>Com isso, creio que fechei meu ambiente de desenvolvimento para rails no Windows:</p>
<p>- Editor: UltraEdit (pago =/)<br />
- Shell: MINGW/MSYS (free, logs com os caracteres coloridos) e beeem mais leve que o CygWin</p>
]]></content:encoded>
			<wfw:commentRss>http://www.muitonerd.org/uncategorized/windows-on-rails/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Muito mais que uma lenda, um projeto de CG</title>
		<link>http://www.muitonerd.org/games/muito-mais-que-uma-lenda-um-projeto-de-cg/</link>
		<comments>http://www.muitonerd.org/games/muito-mais-que-uma-lenda-um-projeto-de-cg/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 00:06:48 +0000</pubDate>
		<dc:creator>MACSkeptic</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Inutil]]></category>
		<category><![CDATA[CG]]></category>
		<category><![CDATA[Computação Gráfica]]></category>
		<category><![CDATA[computacao]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[GC]]></category>
		<category><![CDATA[Graphic]]></category>
		<category><![CDATA[Graphic Computing]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Gráfica]]></category>
		<category><![CDATA[Zelda]]></category>

		<guid isPermaLink="false">http://www.muitonerd.org/?p=296</guid>
		<description><![CDATA[Completando o clima de saudosismo e reverência ao zelda, vou deixar aqui algo que marcou minha passagem pela UFSCar, o projeto final de computação gráfica (sou bacharel em ciência da computação, tendo ingressado em 2004). Os requerimentos para este projeto eram mais ou menos esses: Nada de ferramentas de modelagem (C4D, 3DSMAX, Maya, Blender, enfim&#8230;) [...]]]></description>
			<content:encoded><![CDATA[<p>Completando o clima de saudosismo e reverência ao zelda, vou deixar aqui algo que marcou minha passagem pela UFSCar, o projeto final de computação gráfica (sou bacharel em ciência da computação, tendo ingressado em 2004).</p>
<p>Os requerimentos para este projeto eram mais ou menos esses:</p>
<ul>
<li>Nada de ferramentas de modelagem (C4D, 3DSMAX, Maya, Blender, enfim&#8230;)</li>
<li>Nada de objetos já prontos, apenas sendo importados</li>
<li>Deve-se usar curvas de Hermite para alguma coisa (sugestão: movimento da câmera ou controle de aceleração de objetos)</li>
<li>Devem ser renderizados pelo menos N (se não me engano N eram 2) objetos definidos por vértices.
</ul>
<p>E eis o resultado:</p>
<p><object width="660" height="525"><param name="movie" value="http://www.youtube.com/v/bqFxv1BOeSE&#038;hl=en&#038;fs=1&#038;color1=0x3a3a3a&#038;color2=0x999999&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/bqFxv1BOeSE&#038;hl=en&#038;fs=1&#038;color1=0x3a3a3a&#038;color2=0x999999&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="660" height="525"></embed></object></p>
<p>O projeto foi desenvolvido utilizando C#, com o port de openGL <a target="_blank" href="http://csgl.sourceforge.net/" target="blank">CsGL</a>. O CsGL foi descontinuado, hoje a melhor opção para quem quer usar openGL com C# é o <a target="_blank" href="http://www.taoframework.com/" target="blank">TAO Framework</a>.</p>
<p>Esse foi um dos pouquíssimos trabalhos que não passou pelo controle de qualidade infalível do Jedi (Vinicius Pereira) &#8211; o cara que acha (pelo menos) um bug nas páginas do Terra por semana, mas felizmente deu tudo certo.</p>
<p>Devem ser dados os devidos créditos a:</p>
<ul>
<li>Jackson Borsatto: por descobrir como funciona o esquema das texturas e dos sons</li>
<li>Nintendo: leia o <a href="http://www.muitonerd.org/games/mais-do-que-um-jogo-uma-lenda/" target="blank">post anterior</a> <img src='http://www.muitonerd.org/wp-includes/images/smilies/icon_wink.gif' alt="icon wink Muito mais que uma lenda, um projeto de CG" class='wp-smiley' title="Muito mais que uma lenda, um projeto de CG" /> </li>
</ul>
<p><span id="more-296"></span></p>
<p>Bom, quem me conhece sabe que a minha passagem pela Universidade Federal de São Carlos não foi das coisas mais felizes que aconteceram na minha vida. Um tanto de expectativa frustrada, um momento emocional nada favorável, e uma penca de professores que adoram nivelar o pessoal por baixo&#8230; Pode se dizer que dos 3 anos inteiros que passei lá, foram aproveitáveis, no máximo, 2 ou 3 mêses (se juntar tudo) &#8211; o resto foi tempo literalmente jogado fora mesmo.</p>
<p>Mas, críticas ao modelo educacional medíocre à parte, tudo começou no começo da disciplina de computação gráfica. O professor titular não daria a matéria (não me lembro por qual razão), e veio um substituto, que não era especialista no assunto.</p>
<p>A primeira aula foi teórica, muitas matrizes, muitas multiplicações de matrizes, muito número, muito cálculo na mão, muitas pessoas dormindo. Depois da segunda aula, que foi um pouco mais prática eu estava &lt;sarcasmo&gt; SUPER MOTIVADO!!! &lt;/sarcasmo&gt; Lembro que foi passado um trabalho (&lt;sarcasmo&gt;oba!&lt;/sarcasmo&gt;), algo relacionado a desenhar um cubo usando openGL, em C/C++ (&lt;sarcasmo&gt;o que me deixou ainda mais feliz&lt;/sarcasmo&gt;). Era um grupo de quatro pessoas, quando nos reunimos eu basicamente fiquei longe do computador, sentado num puff dando palpite e expressando meu amor e carinho por aquilo tudo.</p>
<p>No fim do dia, com o trabalho teoricamente finalizado, voltei pra casa e dei uma olhada no código&#8230; aquilo ali era matemática, e programação. Apesar de ser código nojento de C/C++, tinha lá a sua beleza. Consegui ver algumas possibilidades&#8230; Quando encontrei o CsGL então, programar em C#? Agora sim!</p>
<p>Foi quando eu disse, no dia seguinte, ao resto do grupo: &#8220;vou fazer um baú nesse negócio, e dele vai sair a triforce&#8221;. O que eu recebi como resposta foram risadas, que eu já esperava. Mas eu estava falando sério&#8230; Passei o próximo fim de semana lendo o <a target="_blank" href="http://fly.cc.fer.hr/~unreal/theredbook/" target="blank">red book</a> e desenvolvendo a primeira parte do plano.</p>
<p>Na aula seguinte, já no laboratório, mostrei o que tinha feito para o restante do grupo. Rolou um certo silêncio, e a gente resolveu mostrar aquilo pro professor. Primeiro ele não acreditou que tinha sido algo feito por nós &#8211; o que me forçou a explicar o código. O que deixou ele feliz, o que fez com ele nos deixasse em paz para jogar Winning Eleven durante as aulas (o Jedi levava inclusive um gamepad pra rolar uns 1&#215;1).</p>
<p>Ao longo do semestre o negócio foi ficando mais elaborado &#8211; cada semana com um objeto novo, até que em um certo ponto tínhamos quase tudo modelado e com texturas, só faltava fazer alguma coisa com aquilo tudo. À essa altura a especificação do trabalho final já tinha sido anunciada, e só não estavamos cumprindo a curva de Hermite.</p>
<p>O resto do pessoal do grupo colaborou fazendo boa parte os projetos idiotas que o professor pedia como trabalhos semanais &#8211; o tipo de coisa que eu definitivamente não colocaria minha mão.</p>
<p>Bom, depois que o Jackson me mostrou como funcionava o esquema dos sons, passei um dia todo brincando de diretor, pensando nos keyframes e nos deslocamentos de câmera (usando a bendita curva de hermite). No fim do dia eu lembro que não conseguia mais olhar pra cara daquele negócio &#8211; de tantas vezes que re-passei a cena para controlar as equações dos keyframes.</p>
<p>Mas o resultado foi bastante satisfatório, acho que deve ter sido a matéria mais produtiva e divertida (indiretamente) que eu tive na faculdade (tirando, é claro, as optativas de filosofia com o Wolfgang Leo Maar &#8211; uma das poucas figuras que tinha o perfil que eu esperava encontrar nos professores da faculdade). Foi algo que me deixou orgulhoso.</p>
<p>Pra quem se interessar (não custa tentar né?), pode baixar o código <a target="_blank" href="http://shev.com.br/ProjetoFinalDeCG.rar">aqui</a>. É uma solution de .net 2.0 (não tinha saído o 3.0/3.5 na época), mas com o wizard de conversão ela compila em 3.5 sem problemas. Todas as dependências estão inclusas, e tem um binário pronto também. O tamanho é isso tudo porque só colocamos as texturas e sons de última hora, e só encontramos uma API para &#8220;bmp&#8221; e &#8220;wav&#8221;.</p>
<p>Ah, só pra completar o post, fica aí uma dica, o &#8220;Dark Sage&#8221;, animação criada pelo Coloniser, no YouTube, é imperdível pra quem gosta de Zelda. A qualidade do curta é incrível:</p>
<p><object width="660" height="525"><param name="movie" value="http://www.youtube.com/v/Hp8dQhyJRBs&#038;hl=en&#038;fs=1&#038;color1=0x3a3a3a&#038;color2=0x999999&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Hp8dQhyJRBs&#038;hl=en&#038;fs=1&#038;color1=0x3a3a3a&#038;color2=0x999999&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="660" height="525"></embed></object></p>
<p>[ ] &#8216;s</p>
]]></content:encoded>
			<wfw:commentRss>http://www.muitonerd.org/games/muito-mais-que-uma-lenda-um-projeto-de-cg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Look</title>
		<link>http://www.muitonerd.org/internet/new-look/</link>
		<comments>http://www.muitonerd.org/internet/new-look/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 16:20:27 +0000</pubDate>
		<dc:creator>MACSkeptic</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[Cascading]]></category>
		<category><![CDATA[Cascading Stylesheet]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Estilo]]></category>
		<category><![CDATA[Formatação]]></category>
		<category><![CDATA[Internal]]></category>
		<category><![CDATA[Layout]]></category>
		<category><![CDATA[Matrix]]></category>
		<category><![CDATA[muitonerd]]></category>
		<category><![CDATA[Nerd]]></category>
		<category><![CDATA[Style]]></category>
		<category><![CDATA[Stylesheet]]></category>
		<category><![CDATA[Visual]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.muitonerd.org/?p=250</guid>
		<description><![CDATA[Salve salve prezado leitor do muitonerd.org, Como já deve ter percebido, estamos implantando algumas mudanças de visual aqui no blog. Ainda não é nada definitivo, e a coisa está meio que em live beta &#8211; aguardando a aprovação dos outros editores pro meu saturday morning code =). Ainda não consegui domar o wordpress pra me [...]]]></description>
			<content:encoded><![CDATA[<p>Salve salve prezado leitor do muitonerd.org,</p>
<p>Como já deve ter percebido, estamos implantando algumas mudanças de visual aqui no blog.</p>
<p>Ainda não é nada definitivo, e a coisa está meio que em live beta &#8211; aguardando a aprovação dos outros editores pro meu saturday morning code =).</p>
<p>Ainda não consegui domar o wordpress pra me permitir inserir um CSS alternativo, queria deixar a página com essa cara <a target="_blank" href="http://shev.com.br/muitonerd/pagina_expandida.html">aqui</a>. Naturalmente, por mais que seja um efeito legal, não é algo pra ser o tema padrão porquê é pesado e cansativo. Mas, se descobrir como adicionar estilos alternativos com certeza este será um deles.</p>
<p>Uma feature que já está de pé é o sistema de avatares nos comentários.</p>
<p>Para ter o seu, basta associar seu e-mail a uma imagem <a target="_blank" href="http://en.gravatar.com/">neste site</a> e pronto.</p>
<p>Pra quem não cadastrou o e-mail lá&#8230; é gerada uma imagem aleatória com base no hashcode do seu e-mail. Ou seja, mesmo que não tenha sido realizado o cadastro, sempre que você postar com o mesmo e-mail, terá o mesmo avatar =).</p>
<p>[]&#8216;s</p>
]]></content:encoded>
			<wfw:commentRss>http://www.muitonerd.org/internet/new-look/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8216;Cause uncle Ben was so f*cking right</title>
		<link>http://www.muitonerd.org/util/cause-uncle-ben-was-so-fcking-right-2/</link>
		<comments>http://www.muitonerd.org/util/cause-uncle-ben-was-so-fcking-right-2/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 01:15:31 +0000</pubDate>
		<dc:creator>MACSkeptic</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Fail]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Util]]></category>
		<category><![CDATA[argh]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[compatibilidade]]></category>
		<category><![CDATA[developer tools]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox 3]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[IE8]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[internet explorer 8]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[mozilla firefox]]></category>
		<category><![CDATA[Nintendo]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[wii]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[xna]]></category>

		<guid isPermaLink="false">http://www.muitonerd.org/?p=235</guid>
		<description><![CDATA[Como muitos dos poucos de vocês que lêem este blog sabem &#8211; e sabem muito bem, pois faço questão de lembrá-los diariamente &#8211; sou um grande fan da Microsoft. Defendo o OS, as tecnologias, sou grande entusiasta do WPF e do Silverlight 2.0 (que espero ver ainda desbancando o flash(argh²) algum dia) [aliás tem vários [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.muitonerd.org/wp-content/uploads/2008/12/imagem_internet_explorer8_small.jpg"><img class="alignright size-medium wp-image-233" title="imagem_internet_explorer8_small" src="http://www.muitonerd.org/wp-content/uploads/2008/12/imagem_internet_explorer8_small.jpg" alt="imagem internet explorer8 small Cause uncle Ben was so f*cking right"  /></a></p>
<p>Como muitos dos poucos de vocês que lêem este blog sabem &#8211; e sabem muito bem, pois faço questão de lembrá-los diariamente &#8211; sou um grande fan da Microsoft. Defendo o OS, as tecnologias, sou grande entusiasta do WPF e do Silverlight 2.0 (que espero ver ainda desbancando o flash(argh²) algum dia) [aliás tem vários podcasts na MSDN - for free - sobre isso pra quem se interessar... o material é bom para começar], pra não mencionar todo o framework .net e o XNA.</p>
<p>Pra mim, a Microsoft, assim como a Google e a Nintendo, são algumas das empresas mais importantes para a minha vida. Estimo que 90% das minhas atividades diárias (descontando-se o tempo que estou dormindo) são diretamente ligadas aos produtos destas empresas.</p>
<p><span id="more-235"></span></p>
<p>Tudo começou durante mais um dia de trabalho em uma grande empresa de hospedagem. Tudo começou em um chamado aberto quando o usuário, ao utilizar um sistema web interno, viu que um campo simplesmente estava inacessível, como se estivesse desabilitado.</p>
<p>Ao testar o mesmo sistema, para as mesmas condições, em diversas máquinas, percebemos que não havia problemas. A hipótese número 1 foi: java(argh)script desativado no browser &#8211; esta logo foi refutada ao verificar que estava tudo ligado na máquina onde ocorrera o problema.</p>
<p>O que percebemos ao checar a hipótese mencionada acima foi que, nesta máquina, estava instalado o internet explorer 8 &#8211; beta 2. Para tirar a prova, decidimos usar minha máquina como cobaia para instalar o novo browser e ver se o treco quebra&#8230;</p>
<p>Aí começa isso aqui:</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2008/12/1_google_toolbar.png"><img class="alignnone size-thumbnail wp-image-221" title="1_google_toolbar" src="http://www.muitonerd.org/wp-content/uploads/2008/12/1_google_toolbar.png" alt="1 google toolbar Cause uncle Ben was so f*cking right"  /></a></p>
<p>Ok ok&#8230; Google toolbar&#8230; qual a utlidade disso? Tirando algumas developer tools que o Chrome tem built-in&#8230; nada demais. É perdoável vai, quebrar um produto da maior rival em internet.</p>
<p><span style="color:red"><del datetime="2008-12-18T23:11:50+00:00">INFELIZMENTE, tive um problema com o editor do WordPress que se recusa a fazer thumbnails das minhas imagens em png&#8230; como elas são muito grandes, vou colocar apenas o link aqui, clique à medida em que lê, ok?</del></span></p>
<p><span style="color:red">Ok, fiz na mão mesmo&#8230;</span></p>
<p>Mas chega um certo ponto em que se começa a passar dos limites&#8230; Lembrando que minha motivação inicial para instalar o IE8 beta era verificar se um dado sistema web estava quebrando especificamente neste browser. Mas, como nós temos muito tempo a perder&#8230;</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2008/12/2_discovery_channel.png" target="blank"><br />
<img src="http://www.muitonerd.org/wp-content/uploads/2008/12/2_discovery_channel.png" alt="2 discovery channel Cause uncle Ben was so f*cking right" width="600" height="300" title="Cause uncle Ben was so f*cking right" /></a></p>
<p>Imagino o que eu vou descobrir, ainda não tive tempo de testar&#8230; mas será que se entrar em java.sun.com ele vai me fazer descobrir o SLOW.org e TooMuchPointlessHype.org ? e se eu entrar no muitonerd.org, vou descobrir o TehBestFreakingBlagOnTehInt4rweb.org? Se bem que pra isso não precisa de nenhum algoritmo fodástico né? =P.</p>
<p>Anyway&#8230; respondi que sim para ver quais maravilhas a nova feature irá me reservar <img src='http://www.muitonerd.org/wp-includes/images/smilies/icon_wink.gif' alt="icon wink Cause uncle Ben was so f*cking right" class='wp-smiley' title="Cause uncle Ben was so f*cking right" /> .</p>
<p>Continuando&#8230;</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2008/12/3_almost_dun_make_me_5.png" target="blank"><br />
<img src="http://www.muitonerd.org/wp-content/uploads/2008/12/3_almost_dun_make_me_5.png" alt="3 almost dun make me 5 Cause uncle Ben was so f*cking right" width="600" height="300" title="Cause uncle Ben was so f*cking right" /></a></p>
<p>Estamos quase lá??? Mesmo??? Não me faça 5 (5 -&gt; 101 -&gt; lol).</p>
<p>E você me dá duas opções:</p>
<ul>
<li>Deixe que eu configure tudo (<strong>errado</strong>) pra você</li>
<li>Configure tudo você mesmo</li>
</ul>
<p>Sinceramente, qual você acha que alguém que escreve neste blog escolheria?</p>
<p>Continuando&#8230; lembre-se que você me disse que estamos <em>quase lá</em>&#8230;.</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2008/12/4_search_provider.png" target="blank"><br />
<img src="http://www.muitonerd.org/wp-content/uploads/2008/12/4_search_provider.png" alt="4 search provider Cause uncle Ben was so f*cking right" width="600" height="300" title="Cause uncle Ben was so f*cking right" /></a></p>
<p>Não, eu n-ã-o quero o windows live search, o Google é infinitamente melhor&#8230;</p>
<p><span style="font-size: large;">Quase lá</span>&#8230;</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2008/12/5_accelerate_urself_b_tch.png" target="blank"><br />
<img src="http://www.muitonerd.org/wp-content/uploads/2008/12/5_accelerate_urself_b_tch.png" alt="5 accelerate urself b tch Cause uncle Ben was so f*cking right" width="600" height="300" title="Cause uncle Ben was so f*cking right" /></a></p>
<p>Interessante, você vai autocompletar o que eu digito e bla bla bla? Pena que o chrome e o firefox já fazem isso né?</p>
<p>Meu sistema continua sem testar e continuamos &#8220;<span style="font-size: x-large; color:yellow">quase lá</span>&#8220;&#8230;</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2008/12/6_smart_what.png" target="blank"><br />
<img src="http://www.muitonerd.org/wp-content/uploads/2008/12/6_smart_what.png" alt="6 smart what Cause uncle Ben was so f*cking right" width="600" height="300" title="Cause uncle Ben was so f*cking right" /></a></p>
<p>Yeah Yeah, whatever&#8230; se você recomenda&#8230; se eu discordar é capaz de tentar me convencer com mais 50 telas.</p>
<p><span style="font-size: xx-large; color:blue">Quase lá</span>&#8230;</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2008/12/7_heck_nooooo.png" target="blank"><br />
<img src="http://www.muitonerd.org/wp-content/uploads/2008/12/7_heck_nooooo.png" alt="7 heck nooooo Cause uncle Ben was so f*cking right" width="600" height="300" title="Cause uncle Ben was so f*cking right" /></a></p>
<p>Eu continuo precisando <strong>usar</strong> a internet <img src='http://www.muitonerd.org/wp-includes/images/smilies/icon_wink.gif' alt="icon wink Cause uncle Ben was so f*cking right" class='wp-smiley' title="Cause uncle Ben was so f*cking right" /> . So&#8230; no thanks!</p>
<p>Bom, como obviamente eu não fiz este post durante o trabalho, aqui teremos uma quebra na nossa história. Lembram-se, o sistema que parece quebrado no IE8? No fim das contas realmente o IE8 tem muitos problemas, como veremos a seguir e resolvemos habilitando o modo &#8220;comporte-se como IE7&#8243;.</p>
<p>O fato é que, já em casa, minha prioridade foi testá-lo com o maior e melhor mega-ultra-super-giga-tera portal muito nerd da int4rweb. Para minha surpresa, as sugestões de links que ele ofereceu não poderiam ser melhores &#8211; aliás eu recomendo <strong>fortemente</strong> que visitem esse link da imagem todos os dias <img src='http://www.muitonerd.org/wp-includes/images/smilies/icon_wink.gif' alt="icon wink Cause uncle Ben was so f*cking right" class='wp-smiley' title="Cause uncle Ben was so f*cking right" /> .</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2008/12/8_suggestions.png" target="blank"><br />
<img src="http://www.muitonerd.org/wp-content/uploads/2008/12/8_suggestions.png" alt="8 suggestions Cause uncle Ben was so f*cking right" width="600" height="300" title="Cause uncle Ben was so f*cking right" /></a></p>
<p>Logado, indo pra velha e boa dashboard do wordpress&#8230;</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2008/12/9_dashboard_ok.png" target="blank"><br />
<img src="http://www.muitonerd.org/wp-content/uploads/2008/12/9_dashboard_ok.png" alt="9 dashboard ok Cause uncle Ben was so f*cking right" width="600" height="300" title="Cause uncle Ben was so f*cking right" /></a></p>
<p>Até aqui, tudo bem \o/.</p>
<p>Ok, vamos fazer um post sobre o IE8 então&#8230;</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2008/12/10_new_post_wtf_1.png" target="blank"><br />
<img src="http://www.muitonerd.org/wp-content/uploads/2008/12/10_new_post_wtf_1.png" alt="10 new post wtf 1 Cause uncle Ben was so f*cking right" width="600" height="300" title="Cause uncle Ben was so f*cking right" /></a></p>
<p>Ooooops!</p>
<p>Continuando, o restante da tela&#8230;</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2008/12/11_new_post_wtf_2.png" target="blank"><br />
<img src="http://www.muitonerd.org/wp-content/uploads/2008/12/11_new_post_wtf_2.png" alt="11 new post wtf 2 Cause uncle Ben was so f*cking right" width="600" height="300" title="Cause uncle Ben was so f*cking right" /></a></p>
<p>O título aparece em uma grande caixa de texto não clicável. Sensacional&#8230;</p>
<p>Quer mais uma?</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2008/12/ie8vschrome.jpg"><img class="alignnone size-thumbnail wp-image-232" title="ie8vschrome" src="http://www.muitonerd.org/wp-content/uploads/2008/12/ie8vschrome.jpg" alt="ie8vschrome Cause uncle Ben was so f*cking right"  /></a></p>
<p>Ok ok, é um beta&#8230; mas que está com uma cara de alfa&#8230; isso está.</p>
<p>Ano após ano a Microsoft abusa do seu poder como líder inquestionável do mercado, cujo browser é utilizado pela esmagadora maioria dos internautas do mundo todo (em grande parte por aqueles que não deveríam ser permitidos de chegar sequer perto de um computador) e re-inventa a forma como o html, css e javascript são interpretados e renderizados.</p>
<p>O resultado? Um pesadelo sem fim para desenvolvedores e morons&#8230; erm&#8230; usuários.</p>
<p>Ninguem pensa em escrever uma classe em java(argh) começando com letra minúscula, pensa? Ou uma propriedade em C# começando com letra minúscula? Um pouquinho de pesquisa e temos lá um padrão tão bem aceito pela comunidade, que não há quaisquer motivos para se desviar e criar caos desnecessário.</p>
<p>Qual a dificuldade de se entrar em um acordo e finalmente todo mundo renderizar a borda pra fora do width (ou pra dentro)? De se definir margens e paddings padrões?</p>
<p>Como já dizia uncle Ben&#8230;</p>
<blockquote><p>Com grandes poderes, vêm grandes responsabilidades</p></blockquote>
<p>Se o lider do mercado decidisse aderir de vez a um padrão (W3C), sob pena de assumir que algumas práticas de versões passadas estavam erradas&#8230; a tendência talvez seria que chegássemos a um consenso (por mais que o html e css não sejam linguagens descritas em sua completude, dando margem a este tipo de discrepância) muito mais facilmente.</p>
<p>Ah sim, o IE8 parece mais rápido, melhor que a carroça que é Firefox 3 (que tem decaído muito no meu conceito). Mas ainda assim nada que chegue aos pés do Chrome.</p>
<p>Pra finalizar, sobre o super wizard que é mostrado nas opções customizadass de instalação (&#8230;):</p>
<ul>
<li>Usuários que se sentiriam confortáveis com o nível e a &#8220;profundidade&#8221; das explicações que vieram nas telas seguintes <strong>jamais</strong> clicariam em &#8220;opções customizadas&#8221;. Estes seríam mais do tipo que tem até medo da palavra &#8220;options&#8221;.</li>
<li>Usuários que clicaríam em &#8220;opções customizadas&#8221; se sentiríam ofendidos com a inutilidade e a falta de detalhes das descrições sobre as opções do browser. E ficaríam, sem dúvida, muito mais contentes em acessar as opções do navegador de forma manual &#8211; o que seria bem mais eficiente</li>
</ul>
<p>O que se tira disso? IE8 beta 2 <a target="_blank" href="http://failblog.org/" target="blank">FAIL</a> nonetheless.</p>
<p>Esperemos pela versão final.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.muitonerd.org/util/cause-uncle-ben-was-so-fcking-right-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>O Manifesto Ágil</title>
		<link>http://www.muitonerd.org/metodologias/o-manifesto-agil/</link>
		<comments>http://www.muitonerd.org/metodologias/o-manifesto-agil/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 02:11:36 +0000</pubDate>
		<dc:creator>MACSkeptic</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Metodologias]]></category>
		<category><![CDATA[Agil]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Agile Manifesto]]></category>
		<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Manifesto]]></category>
		<category><![CDATA[Manifesto Agil]]></category>
		<category><![CDATA[Metodologia]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://www.muitonerd.org/?p=198</guid>
		<description><![CDATA[Distintos (e poucos) leitores deste blog&#8230; Encontramo-nos inseridos em um cenário onde os profissionais de TI são, muito provavelmente, os mais importantes e imprescindíveis na nossa sociedade e na nossa vida de um modo geral. O dinheiro que entra e sai de sua conta, cada telefonema realizado, a partida dada no carro ou a passagem [...]]]></description>
			<content:encoded><![CDATA[<p>Distintos (e poucos) leitores deste blog&#8230;</p>
<p>Encontramo-nos inseridos em um cenário onde os profissionais de TI são, muito provavelmente, os mais importantes e imprescindíveis na nossa sociedade e na nossa vida de um modo geral.</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2008/12/web-applications-desktop-software.jpg"><img class="alignright size-medium wp-image-200" title="web-applications-desktop-software" src="http://www.muitonerd.org/wp-content/uploads/2008/12/web-applications-desktop-software.jpg" alt="web applications desktop software O Manifesto Ágil"  /></a></p>
<p>O dinheiro que entra e sai de sua conta, cada telefonema realizado, a partida dada no carro ou a passagem de um billhete único no metrô&#8230; tudo depende de um software rodando, seja ele pequeno, médio ou grande. Por detrás de cada pequena &#8220;mágica&#8221; que passa desapercebida no nosso dia a dia &#8211; lá está ele!</p>
<p>O que eu venho dizer aqui hoje é bastante relacionado com isso &#8211; e creio que esteja dentro do escopo deste blog (dado o público alvo, afinal, muito nerd, que é muito nerd, programa nem que seja por hobby).</p>
<p>Com a evolução da ciência e tecnologia ao longa da história, foram surgindo os grandes modelos de produção&#8230; do &#8220;Fordismo&#8221; e &#8220;Taylorismo&#8221; ao &#8220;Toyotismo&#8221; (que futuramente deu origem ao &#8220;Lean&#8221;). O mesmo é válido para o desenvolvimento de software.</p>
<p><span id="more-198"></span></p>
<p>A princípio, devido à própria origem dos desenvolvedores primordiais (em sua maior parte advindos de engenharias), a idéia era regrar e estruturar o máximo possível o processo de desenvolvimento &#8211; com fases bem definidas e sequenciais. Conceitos claramente aplicáveis e ideais para a construção de uma ponte, por exemplo &#8211; primeiro se desenha, se planeja, se calcula à exaustão&#8230; e só então se começa a realmente construir algo.</p>
<p>Tendo esta visão, surgiu aquele que foi o primeiro grande modelo dominante (e ainda perdura até os nossos dias em grande parte do mercado): o modelo Cascata (Waterfall).</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2008/12/waterfall_model.jpg"><img class="alignnone size-medium wp-image-201" title="waterfall_model" src="http://www.muitonerd.org/wp-content/uploads/2008/12/waterfall_model.jpg" alt="waterfall model O Manifesto Ágil"  /></a></p>
<p>Este modelo segue o mesmo princípio definido anteriormente para a construção de uma ponte, e é consideravelmente intuitivo e natural de se pensar. De fato, parece excelente o foco que este propicia em planejamento, cálculo, e na capacidade de mensurar tudo <em>a priori</em>.</p>
<p>Só que neste caso temos um grande problema. Ao contrário de um projeto para uma ponte, que por mais que demore anos para ficar pronta, dificilmente mudará &#8211; visto que a física não muda, a matemática (especialmente esta) não muda. Um software é outra história.</p>
<p>[Por mais que o universo acabe um dia... 1 + 1 continuará resultando em 2 (em um cálculo não vetorial)]</p>
<p>Um software reflete uma necessidade bem mais pessoal e subjetiva de um cliente (seja este uma pessoa ou empresa), e está sujeito a mudanças de escopo devido ao mercado e à evolução constante da tecnologia. De que adianta desenvolver um mega portal por 1 ano e, ao término, perceber -se que a internet mudou tanto neste meio tempo que as tecnologias utilizadas estão obsoletas e não atendem aos usuários?</p>
<p>De que adianta produzir pilhas e pilhas de documentação fadada a tornar-se rapidamente desatualizada com cada nova idéia de seu cliente? De que adianta sacrificar as necessidades verdadeiras de um cliente, obrigando-o, por força contratual, a não ter novas idéias até que o software solicitado (que já não lhe serve mais) seja entregue?</p>
<p>É claro que não podemos ser radicais. Documentação, contratos, processos, são coisas excelentes &#8211; mas devem ser seguidos apenas até o ponto em que passam a atrapalhar mais que ajudar.</p>
<p>Com essa visão, grandes figuras influentes do mundo do desenvolvimento elaboraram o &#8220;Manifesto Ágil&#8221;.</p>
<p><a href="http://www.muitonerd.org/wp-content/uploads/2008/12/agile.jpeg"><img class="alignnone size-full wp-image-199" title="agile" src="http://www.muitonerd.org/wp-content/uploads/2008/12/agile.jpeg" alt=" O Manifesto Ágil"  /></a></p>
<p>Traduzindo:<br />
Indivíduos &gt; Processos/Metodologias/Ferramentas<br />
Software funcionando &gt; Documentação completa<br />
Colaborar &gt; Contratar<br />
Abraçar as mudanças (evoluir) &gt; Se prender ao plano inicial</p>
<p>As grandes metodologias ágeis presentes no mercado hoje são originadas também de uma metodologia de produção de fábrica &#8211; o Lean.</p>
<p>O princípio básico das metodologias surgidas do Lean, de um modo geral, gira em torno de desenvolver (ou produzir) o menor pedaço de software (ou lote, ou produto) possível que tenha algum valor para o cliente. Nada de grandes entregas a cada 2, 3 meses (ou grandes estoques e produção em massa exacerbada).</p>
<p><strong>Scrum</strong></p>
<p>Uma das alternativas ágeis mais aceitas atualmente é o Scrum. Scrum é um termo que vem de &#8220;scrummage&#8221; &#8211; uma expressão vinda do Rugby &#8211; que diz respeito à reunião rápida dos jogadores para decidir o que vai ser feito para re-colocar a bola em jogo e qual será a estratégia para avançar o máximo possível na próxima jogada.</p>
<p>O Scrum defende bem claramente os princípios do manifesto ágil &#8211; priorizando entregas pequenas e constantes, e a COLABORAÇÃO entre cliente e desenvolvedores.</p>
<p>A cada sprint (jornada de desenvolvimento do Scrum &#8211; costuma variar de 1 a 4 semanas) a equipe de Scrum entrega pequenos &#8220;pedaços&#8221; de software funcionando que possuem valor claro e bem definido para o cliente.</p>
<p>A cada dia, a equipe se reúne <em>por não mais que 15 minutos</em>, para discutir o que foi feito por cada um no dia anterior, o que será feito hoje, e se há algo atrapalhando o time de alguma forma.</p>
<p>Quaisquer fatores que estejam prejudicando o andamento da equipe devem ser resolvidos o quanto antes pelo Scrum Master &#8211; mantendo o restante da equipe com foco total no desenvolvimento.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="405" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/gDDO3ob-4ZY&amp;hl=en&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;border=1" /><embed type="application/x-shockwave-flash" width="500" height="405" src="http://www.youtube.com/v/gDDO3ob-4ZY&amp;hl=en&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Como resumo disso tudo temos:<br />
- Os métodos ágeis são muito mais &#8220;humanos&#8221; do que os métodos convencionais;<br />
- Os métodos ágeis focam mais nas pessoas e menos nos processos; (o que não é necessariamente bom, nem ruim)<br />
- Os métodos tradicionais focam mais nos processos e menos nas pessoas; (o que não é necessariamente bom, nem ruim)</p>
<p>Como opinião pessoal, fica:<br />
- Em um modelo cascata, a própria metodologia defende que a necessidade de capacitação individual decresce á medida em que se &#8220;desce&#8221; um nível &#8211; o que não é de todo verdade;<br />
- Não há processo nesse mundo que gere qualidade sem pessoas suficientemente boas;<br />
- Não há processo nesse mundo que não gere qualidade com pessoas suficientemente boas;<br />
- Processos rígidos tendem a nivelar melhor as equipes, ajudando aqueles abaixo da média &#8211; e atrapalhando aqueles acima;<br />
- Desenvolvimento de software é uma arte, não uma ciência exata e &#8220;morta&#8221; (como as engenharias) &#8211; portanto requer esforço intelectual e criativo em todas as fases (não só no design e requisitos &#8211; como o modelo cascata defende);<br />
- Métodos ágeis dependem mais da honestidade e colaboração entre as pessoas &#8211; o que, de um modo geral, está longe de ser a realidade quando se trata de seres humanos;<br />
- Métodos ágeis não são para todos, pois necessitam de COOPERAÇÃO do cliente. Se o seu cliente não tem esse perfil, o mais correto é partir para um contrato super restritivo, cascata, e esfregar na cara dele a cada nova idéia que ele tiver <img src='http://www.muitonerd.org/wp-includes/images/smilies/icon_wink.gif' alt="icon wink O Manifesto Ágil" class='wp-smiley' title="O Manifesto Ágil" /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.muitonerd.org/metodologias/o-manifesto-agil/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

