<?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/"
	>

<channel>
	<title>PotHix &#187; Ruby</title>
	<atom:link href="http://pothix.com/blog/tag/ruby/feed" rel="self" type="application/rss+xml" />
	<link>http://pothix.com/blog</link>
	<description>class Blog &#60; PotHix; def initialize; super end end</description>
	<lastBuildDate>Fri, 06 Aug 2010 04:18:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Yahoo Open Hack 2010</title>
		<link>http://pothix.com/blog/events/yahoo-open-hack-2010</link>
		<comments>http://pothix.com/blog/events/yahoo-open-hack-2010#comments</comments>
		<pubDate>Mon, 29 Mar 2010 02:37:20 +0000</pubDate>
		<dc:creator>PotHix</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://pothix.com/blog/?p=930</guid>
		<description><![CDATA[Æ!! E ae galera esperta! Para quem ainda não soube, no final de semana passado rolou o Yahoo Open Hack Day 2010! O intuito do evento é juntar uma grande quantidade de Hackers para criar serviços úteis utilizando informações públicas e de preferência utilizar as API&#8217;s do Yahoo (havia premios para alguns hacks com elas). [...]]]></description>
			<content:encoded><![CDATA[<p>Æ!!</p>

<p>E ae galera esperta!</p>

<p>Para quem ainda não soube, no final de semana passado rolou o Yahoo Open Hack Day 2010! O intuito do evento é juntar uma grande quantidade de Hackers para criar serviços úteis utilizando informações públicas e de preferência utilizar as API&#8217;s do Yahoo (havia premios para alguns hacks com elas).</p>

<p>Uma das coisas legais do evento é que nada é proibido com relação aos Hacks, ou seja, você pode fazer um Hack com as ferramentas do Google (não vai concorrer aos premios, mas poderá apresentar lá e tudo mais), todas as linguagens de programação estão permitidas, não somente hacks web eram permitidos, o que deixou a criatividade ir longe. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<h4>Equipe e idéia</h4>

<p>Participei do evento juntamente com uma equipe que formamos no <a href="www.ikwa.com.br">Ikwa</a>, e chamamos a equipe de SleepyProgrammers.</p>

<p>Nossa idéia era fazer um site para marcar rolês fotográficos, e utilizaríamos para isso as API&#8217;s do Flickr, Meme, Weather e Maps.</p>

<p>Ao chegar no evento e ver a palestra sobre YQL nós já percebemos que não seria necessário aprender a usar essas várias API&#8217;s e apenas precisávamos aprender a usar o YQL e saber quais informações poderíamos retornar de qual serviço. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<h4>Metodologia e projeto</h4>

<p><a href="http://pothix.com/blog/wp-content/uploads/2010/03/4465519702_ba64cce5a7.jpg"><img src="http://pothix.com/blog/wp-content/uploads/2010/03/4465519702_ba64cce5a7.jpg" alt="" title="4465519702_ba64cce5a7" width="500" height="333" class="aligncenter size-full wp-image-942" /></a></p>

<p>Como já estamos acostumados a utilizar Scrum no <a href="www.ikwa.com.br">Ikwa</a> nós resolvemos fazer o mesmo para o nosso projetinho. Começamos com uma planning meeting logo na primeira hora para poder dar uma estimada no que pretendíamos fazer, e logo depois dividir as tarefas entre os membros da equipe.
Mais ou menos de 2 em 2 horas (ou um pouco mais) fazíamos umas stand-up meetings para manter todos atualizados. A noite percebemos que isso não estava sendo muito necessário por que estávamos em constante comunicação, mas mesmo assim resolvemos seguir o costume, afinal demorava apenas uns 4 minutos. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p>O projeto seguia bem, com layout legal e algumas buscas supostamente funcionando até mais ou menos as 9 da noite.</p>

<h4>Os problemas</h4>

<ul>
<li>Já percebemos que a nossa busca não estava retornando exatamente o que gostaríamos de receber, mas deixamos para dar uma refinada nisso no final do tempo, para não ficar muito tempo presos nisso.</li>
<li>Tivemos um programador a menos (<a href="http://twitter.com/_bojak">@_bojak</a>) que infelizmente estava usando Windows (acreditem se quiser) por que o netbook que ele comprou (exatamente para evitar ter que usar windows no notebook velho que ele tinha) não chegou a tempo do evento. Muitas das coisas que são simples de se instalar/fazer em um &#8220;Unix like&#8221; são uma grande dor de cabeça para se fazer no Windows, portanto o @_bojak teve tantos problemas que chegou uma hora que desistiu de colocar a mão em código.</li>
<li>Algum descuidado da equipe criou a pasta &#8220;Views&#8221; no famigerado Textmate (escrevi uma gracinha aqui e apaguei para não gerar flame de textmate), e assim bugou a aplicação na minha maquina Linux, e me deixou um tempinho procurando qual era o problema. #fail</li>
<li>O Heroku não colaborou para funcionar utilizando o bundler, e depois de muito tempo tentando nós abandonamos o bundler e utilizamos oldstyle mesmo.</li>
<li>O nosso outro programador (<a href="http://twitter.com/jorge_silveira">@jorge_silveira</a>) saiu (já tinha avisado que sairia) dizendo que voltaria e simplesmente deixou a equipe na mão (tem seus argumentos, mas essa é minha opinião&#8230;)</li>
</ul>

<h4>O fail do projeto</h4>

<p>Depois desse monte de problemas eu já estava desmotivado com o projeto e comecei a ficar com bastante sono, portanto tirei umas 3 horas para dormir (fora o tempo que dormi na mesa), enquanto só o <a href="http://twitter.com/_bojak">@_bojak</a> ficou trabalhando motivadão (usando o computador do <a href="http://twitter.com/rafaeltimbo">@rafaeltimbo</a> que tambem estava dormindo <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ).</p>

<p>Logo pela manhã sabendo que um programador tinha arregado (<a href="http://twitter.com/jorge_silveira">@jorge_silveira</a>), um estava impossibilitado de trabalhar com seu próprio computador (<a href="http://twitter.com/_bojak">@_bojak</a>) e nossa busca não estava retornando coisas legais para continuar, nós decidimos que esse projeto ficaria para depois do Open Hack Day.</p>

<p>No fim das contas fizemos uma retrospectiva bem legal, onde vimos grande parte dos problemas que tivemos e boa parte das soluções tambem, foi bem legal! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<h4>O evento</h4>

<p>Ok, nosso projeto não vingou mesmo, mas o evento valeu muito para mim! Aprendi coisas novas, revi amigos, conheci pessoas novas, conheci as API&#8217;s do Yahoo, comi e bebi de graça, descobri que não devo acreditar nas palavras de alguns, descobri que algumas pessoas com certeza estarão na minha equipe novamente se quiserem&#8230;. E mais várias outras coisas!</p>

<p>No fim das contas eu tenho uma coisa para recomendar para quem não foi&#8230; Quando tiver o próximo, não perca a oportunidade! O evento vale muito a pena! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p>Para quem quiser ver as fotos que eu tirei no evento pode dar uma olhada no meu <a href="http://picasaweb.google.com/Willian.molinari/Openhack?feat=directlink">album do Picasa</a>.</p>

<p>Há braços</p>
]]></content:encoded>
			<wfw:commentRss>http://pothix.com/blog/events/yahoo-open-hack-2010/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Crontab dentro da sua aplicação rails com whenever</title>
		<link>http://pothix.com/blog/development/crontab-dentro-da-sua-aplicacao-rails-com-whenever</link>
		<comments>http://pothix.com/blog/development/crontab-dentro-da-sua-aplicacao-rails-com-whenever#comments</comments>
		<pubDate>Wed, 02 Dec 2009 23:06:03 +0000</pubDate>
		<dc:creator>PotHix</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Gems]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://pothix.com/blog/?p=843</guid>
		<description><![CDATA[Æ!! Hoje estou aqui para falar de uma coisa que quando vi pela primeira vez ignorei por parecer uma coisa boba, mas olhando melhor eu percebi que é uma idéia bem interessante. O que a gem whenever faz é manter o seu crontab de uma forma mais Ruby, e melhor, dentro da sua aplicação! A [...]]]></description>
			<content:encoded><![CDATA[<p>Æ!!</p>

<p>Hoje estou aqui para falar de uma coisa que quando vi pela primeira vez ignorei por parecer uma coisa boba, mas olhando melhor eu percebi que é uma idéia bem interessante.
O que a gem whenever faz é manter o seu crontab de uma forma mais Ruby, e melhor, dentro da sua aplicação!</p>

<p>A principio parece estranho tentar manter o crontab dentro da sua aplicação, mas ganhamos muitas vantagens com isso:</p>

<ul>
<li>versionamento</li>
<li>menos acesso ao servidor</li>
<li>rapida atualização do crontab do servidor via capistrano</li>
<li>forma mais legível de ver o crontab</li>
</ul>

<p>E tudo isso não influi no crontab que você já possui ( e que muitas vezes tem muita coisa que não é relacionada com a aplicação ), pois o whenever cria uma seção que ele atualiza mantendo a seção antiga onde está.</p>

<p>Para instalar o whenever é a mesma facilidade de sempre:</p>


<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">   sudo gem sources -a &quot;http://gemcutter.org&quot;
   sudo gem install whenever</pre></div></div>


<p><strong>OBS</strong>: Lembrando que a primeira linha só é necessária uma vez, se você já tem o gemcutter no seu sources então ignore-a.</p>

<p>Depois disso execute:</p>


<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">   wheneverize .</pre></div></div>


<p>O comando acima vai gerar os arquivos necessários para a utilização do whenever ( básicamente o config/schedule.rb ).</p>

<p>E a partir de agora você já pode atualizar o seu crontab com as suas configurações feitas no config/schedule.rb executando o comando:</p>


<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">   whenever --update-crontab suaaplicacao</pre></div></div>


<p>Quando você passa como parametro a sua aplicação ele cria um bloco apenas para as configurações da sua aplicação no crontab.</p>

<p>Mas é claro que você não vai precisar acessar o servidor e executar esse comando toda vez que você alterar o arquivo de schedule, para isso você provavelmente deve estar usando o capistrano para ser mais DRY. Se estiver usando inclua algumas linhas no seu deploy.rb:</p>


<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">   after <span style="color:#996600;">&quot;deploy:symlink&quot;</span>, <span style="color:#996600;">&quot;deploy:update_crontab&quot;</span>
&nbsp;
   namespace <span style="color:#ff3333; font-weight:bold;">:deploy</span> <span style="color:#9966CC; font-weight:bold;">do</span>
      desc <span style="color:#996600;">&quot;Update the crontab file&quot;</span>
      task <span style="color:#ff3333; font-weight:bold;">:update_crontab</span>, <span style="color:#ff3333; font-weight:bold;">:roles</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#ff3333; font-weight:bold;">:db</span> <span style="color:#9966CC; font-weight:bold;">do</span>
         run <span style="color:#996600;">&quot;cd #{release_path} &amp;&amp; whenever --update-crontab #{application}&quot;</span>
      <span style="color:#9966CC; font-weight:bold;">end</span>
   <span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>


<p><strong>OBS:</strong> Se você tiver problemas no deploy com essa linha ( como se o comando whenever não existisse ), tente adicionar o path absoluto para o whenever.</p>

<p>E com isso a cada vez que você fizer um cap server deploy seu crontab será atualizado com as configurações contidas no config/schedule.rb.</p>

<p>Veja alguns exemplos do que pode ter no seu schedule.rb:</p>


<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">  every 4.<span style="color:#9900CC;">minutes</span> <span style="color:#9966CC; font-weight:bold;">do</span>
    rake <span style="color:#996600;">&quot;ts:in&quot;</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
  every 1.<span style="color:#9900CC;">day</span>, <span style="color:#ff3333; font-weight:bold;">:at</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'5:25 am'</span> <span style="color:#9966CC; font-weight:bold;">do</span>
    rake <span style="color:#996600;">&quot;bla_bla&quot;</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
  every <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:monday</span>, <span style="color:#ff3333; font-weight:bold;">:thursday</span><span style="color:#006600; font-weight:bold;">&#93;</span>, <span style="color:#ff3333; font-weight:bold;">:at</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'11:59 am'</span> <span style="color:#9966CC; font-weight:bold;">do</span>
    command <span style="color:#996600;">&quot;sudo rm -rf /&quot;</span> <span style="color:#008000; font-style:italic;"># claro!</span>
  <span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>


<p>Nada do que eu demonstrei aqui é uma grande novidade, você pode ver mais exemplos de como usar no <a href="http://www.railscasts.com">Railscasts</a> e na <a href="http://github.com/javan/whenever">própria página do plugin</a>.</p>

<p>Espero que seja útil para mais alguem como está sendo para mim.</p>

<p>Há braços</p>
]]></content:encoded>
			<wfw:commentRss>http://pothix.com/blog/development/crontab-dentro-da-sua-aplicacao-rails-com-whenever/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Dev In Sampa</title>
		<link>http://pothix.com/blog/events/dev-in-sampa</link>
		<comments>http://pothix.com/blog/events/dev-in-sampa#comments</comments>
		<pubDate>Wed, 02 Dec 2009 03:26:31 +0000</pubDate>
		<dc:creator>PotHix</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://pothix.com/blog/?p=826</guid>
		<description><![CDATA[Æ!! Nesse sábado, dia 28/11/2009 aconteceu aqui em São Paulo (obviamente! ) o Dev In Sampa! Um evento para desenvolvedores em geral, sem foco em uma determinada linguagem de programação, ou seja, um evento bem legal e pragmatico! Perdi um pouco a hora, portanto não assisti o começo da palestra do José Valim, que por [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://pothix.com/blog/wp-content/uploads/2009/12/logo_dev.jpg"><img class="aligncenter size-full wp-image-828" title="logo_dev" src="http://pothix.com/blog/wp-content/uploads/2009/12/logo_dev.jpg" alt="logo_dev" width="388" height="135" /></a>Æ!!</p>

<p>Nesse sábado, dia 28/11/2009 aconteceu aqui em São Paulo (obviamente! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  ) o Dev In Sampa! Um evento para desenvolvedores em geral, sem foco em uma determinada linguagem de programação, ou seja, um evento bem legal e pragmatico! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<p>Perdi um pouco a hora, portanto não assisti o começo da palestra do José Valim, que por sinal é um assunto que muito me interessa, portanto recorri aos vídeos do <a title="Hugo Borges" href="http://twitter.com/agaelebe">@agaelebe</a> para assistir o comecinho. Para quem quiser ver os vídeos confira no <a title="Blip Tv do agaelebe" href="http://agaelebe.blip.tv/">blip.tv do agaelebe</a>.</p>

<p>Agora vamos para  a programação e meus comentários:</p>

<h4>José Valim &#8211; Tópicos de machine learning: classificação de textos</h4>

<p>Como disse no começo do post, eu <span>perd</span>i o começo da palestra do Jose Valim por que eu me atrasei (<a title="Show do ACDC" href="http://pothix.com/blog/music/show-do-acdc"> foi por um bom motivo</a> ), mas compensei depois assistindo o vídeo.
A palestra foi muito boa, e abordou um dos tipos de tema que eu gosto, machine learning é bem interessante! Essa é uma das coisas que eu pretendo estudar só por diversão, por que parece ser bem legal.
O <a title="José Valim" href="http://twitter.com/josevalim">@josevalim</a> fez sua tese sobre classificação de textos, portanto conhece bem do assunto e foi muito interessante ver as pesquisas dele consolidadas e simplificadas em uma apresentação. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<h4>Rodrigo Yoshima &#8211; Design de Software: As técnicas esquecidas&#8230;</h4>

<p>O <a title="Rodrigo Yoshima" href="http://twitter.com/rodrigoy">@rodrigoy</a> fez uma palestra bem legal comentando sobre várias técnicas esquecidas sobre design de software, e muitos programadores que assistiram essa palestra devem ter se visto em várias situações por ele citadas ( eu fui um deles em alguns pontos ). Algumas das coisas citadas foram:</p>

<ul>
    <li>Design incremental
Nunca pense naquela história de &#8220;Preciso do pedido para poder fazer a tela de cadastro&#8221; sempre comece por aquilo que agrega mais valor.
Faça as coisas sempre usando um pensamento incremental, criando testes para que quando você resolva um bug não crie mais outros por não saber as consequências de suas modificações.
Sempre tomar cuidado com o design incremental para que ele não se torne um problema pelo mal crescimento da sua aplicação.</li>
</ul>

<ul>
    <li>Tomar cuidado com arquiteturas monolíticas / egípcias
Arquiteturas difíceis de refatorar, que usam componentes pesados, quem ninguém sabe como foi feita e etc.</li>
    <li>Separar a função de cada unidade, não deixando que o produto tenha que saber sobre vendas, por exemplo.</li>
    <li>É melhor um design ruim com testes do que um design bom sem testes por que com testes você pode refatorar, agora sem testes a situação já muda bastante.</li>
</ul>

<p>Entre outras coisas muito interessantes que eu não vou mencionar por que senão meu post vai ficar enorme, mas assista o vídeo e veja as dicas interessantes que ele dá.</p>

<p>Primeiro <strong>Coffee break</strong> para encontrar os amigos e bater papo! Tinha bastante gente do Guru-sp por lá ( <a title="Ricardo Almeida" href="http://twitter.com/almeidaricardo">@almeidaricardo</a>, <a title="Ricardo Yasuda" href="http://twitter.com/shadow11">@shadow</a>, <a title="Rafael Rosa" href="http://twitter.com/rafaelrosafu">@rafaelrosafu</a>, <a title="Thiago Scalone" href="http://twitter.com/scalone">@scalone</a>, <a title="bbcoimbra é o caramba! Esse é o sceadugenga" href="http://twitter.com/bbcoimbra">@bbcoimbra</a>, <a title="Nelson" href="http://twitter.com/nelsonmhjr">@nelsonmhjr</a>, <a title="Altair" href="http://twitter.com/_bojak">@_bojak</a>, <a title="Cassio Marques" href="http://twitter.com/cassiomarques">@cassiomarques</a>, <a title="Diego Carrion" href="http://twitter.com/dcreq">@dcreq</a> e mais um monte de gente! ), foi legal para bater um papo com os conhecidos. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> 
Só para constar, o Ronaldp Ferraz (<a title="Ronaldo Ferraz" href="http://twitter.com/rferraz">@rferraz</a>) veio falar comigo sem crachá e sem cavanhaque, e eu obviamente não conheci, tinha que se apresentar formalmente ( ou seja, com cavanhaque! O <a href="http://twitter.com/tinogomes">@tinogomes</a> já aprendeu! haha ). <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>

<h4>Ronaldo Ferraz &#8211; Criando sua própria linguagem de programação</h4>

<p>Palestra muito boa do <a title="Ronaldo Ferraz" href="http://twitter.com/rferraz">@rferraz</a>! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> 
O assunto foi bem denso, mas bem interessante, ele mostrou alguns conceitos e informações interessantes sobre como criar e brincar com a sua própria linguagem de programação de uma maneira não tão difícil usando Treetop e Ruby.
Como muitos já sabem o Ronaldo tem conhecimento infinito em linguagens de programação, portanto a palestra foi bem legal com vários exemplos em várias linguagens.</p>

<h4>João S. O. Bueno &#8211; Desenvolvimento de jogos com Python</h4>

<p>Puxa vida&#8230;Essa palestra foi um grande <strong>417</strong> ( Código de retorno do HTTP para<strong> Expectation Failed</strong> ), por que como muitos sabem eu adoro desenvolvimento de jogos, e fiquei muito feliz por ver uma palestra desse segmento nesse evento. Outra coisa que me entusiasmou bastante foi o fato de ser com Python, que assim como Ruby é uma linguagem que eu gosto bastante, mas em outra palestra que eu tinha visto ( no<strong> CONISLI 2008</strong> ) o palestrante não foi muito feliz com o conteúdo. Enfim,  e fui com muita vontade de ver essa palestra.</p>

<p>No início da palestra quando falaram o nome do palestrante e eu o vi, percebi que parecia familiar, e por incrível que pareça&#8230;Era o mesmo do CONISLI 2008&#8230; Mas até aí tudo bem, agora o nível do pessoal é diferente e já se passou mais de 1 ano desde a ultima palestra, ou seja, essa prometia ser bem melhor.</p>

<p>Como puderam ver pelo começo do post, foi um grande engano meu, apesar de o palestrante falar que ia focar mais em jogos já que o pessoal já conhecia Python, ele ficou muito em Python e no finalzinho mostrou alguns joguinhos feitos em PyGame, como se a idéia da palestra fosse mostrar que Python é legal (que nós já sabemos! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ) e dá para fazer jogos tambem.
Enfim&#8230;Me decepcionou&#8230; <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>

<h4>Intervalo para almoço</h4>

<p>O Almoço foi meio corrido por que o evento estava meio atrasado, mas mesmo assim deu para conversar bastante com a galera do Guru-sp no shopping ( não me pergunte qual ).</p>

<h4>Guilherme Silveira e Adriano Almeida &#8211; Do REST ao RESTFul</h4>

<p>Na volta do almoço tivemos uma palestra teórica sobre REST e RESTful, que por sinal abriu muito a mente sobre o assunto. Mesmo o assunto sendo teórico o Guilherme Silveira e o Adriano passaram muito bem a idéia e souberam conduzir bem a palestra para manter o conteúdo bem dinâmico.</p>

<h4>Nando Vieira &#8211; Escrevendo testes no JavaScript</h4>

<p>Aqui um assunto que vem me interessando cada vez mais, testes! E como eu sempre gostei de Javascript, a palestra foi bem relevante.
Infelizmente o Nando Vieira não conseguiu mostrar todos os exemplos que ele tinha planejado, mas foi bem interessante ver o live coding, e as amostras de testes para determinadas coisas.
Gostei bastante da syntax do JSpec, não sei como fica a integração dele com o prototype ( que é o que eu estou usando atualmente no trabalho, mesmo preferindo JQuery ), mas pretendo dar uma chance para ele assim que possível.</p>

<h4>Luis Cipriani &#8211; Web em tempo real com Ruby e XMPP</h4>

<p>Bem legal o case que o Cipriani mostrou sobre a sua aplicação da maratona de basquete, achei muito interessante as ferramentas que ele usou, e vi que ele soube passar bem as informações sobre o XMPP que foram necessárias.</p>

<h4>Coffee-break</h4>

<p>Agora sim um coffee break que deu um tempinho para conversar com uma outra galerinha como o <a title="Ronaldo Ferraz" href="http://twitter.com/rferraz">@rferraz</a>, a <a title="Thais Camilo" href="http://twitter.com/narwen">@narwen</a>, o <a title="Fabio Kung" href="http://twitter.com/fabiokung">@fabiokung</a> e mais outra galera.</p>

<h4>Ricardo Almeida &#8211; Buscas poderosas com Solr</h4>

<p>Estava curioso desde o ultimo post do <a title="Diego Carrion" href="http://twitter.com/dcreq">@dcrec</a> sobre o Solr, e a palestra do Ricardo foi o ponto para tirar as minhas dúvidas.
Vi muitas vantagens do Solr sobre o Sphinx e nenhuma do Sphinx sobre o Solr, acho que vale a pena tentar uma migração num futuro não tão distante.</p>

<h4>Radamés Ajna &#8211; Arduino &#8211; Computação Física</h4>

<p>A palestra do Radamés foi demais! Além do Arduino ser fantástico, o Radamés soube apresentar muito bem, mesmo com alguns problemas nos slides ele mostrou muito bem algumas coisas legais que dá para fazer com o Arduino, sempre com exemplos muito interessantes de coisas que já fizeram ou que ele pretende fazer.
A interface para mexer com arduino realmente não parece ser tão complexa, e eu gostaria mesmo de ter algum conhecimento em eletronica nesses momentos, mas quem sabe algum dia eu tiro um tempinho para dar uma brincada. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<h4>Fabio Kung &#8211; Cloud Computing. E eu com isso?</h4>

<p>Para fechar o evento tivemos uma palestra muito legal do Kung mostrando o que &#8220;ele acha&#8221; que é cloud computing, e os tipos de cloud computing que são oferecidos ( IaaS, PaaS e SaaS ).
Ele mostrou como funciona e por que são usados os cloud computings atualmente, e como estão as experiencias dele com cluod computing atualmente. Achei a palestra bem legal, e é interessante ver as opiniões e experiências de alguem que realmente está vivendo essa parte de cloud computing.</p>

<h4>Conclusão</h4>

<p>O evento terminou bem atrasado ( mais de 20:00 ), mas valeu muito a pena ter ido. Há tempos estava sentindo falta de um evento que não levasse em consideração apenas uma linguagem de programação, algo que fosse mais pragmático mas que fosse totalmente voltado a desenvolvimento.</p>

<p>Parabens a todos os organizadores do evento e espero ver vocês novamente na próxima edição! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<p>Há braços</p>
]]></content:encoded>
			<wfw:commentRss>http://pothix.com/blog/events/dev-in-sampa/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Rails Summit 2009</title>
		<link>http://pothix.com/blog/events/rails-summit-2009</link>
		<comments>http://pothix.com/blog/events/rails-summit-2009#comments</comments>
		<pubDate>Mon, 19 Oct 2009 01:54:06 +0000</pubDate>
		<dc:creator>PotHix</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://pothix.com/blog/?p=799</guid>
		<description><![CDATA[Æ!! Esse é um post para relatar como foi o Rails Summit Latin America desse ano! Já começo o post com um grande #win para a organização do #railssummit, por que eles tem tomadas para todos e wi-fi liberado para todos os participantes, o que ajuda para que pessoas como eu possam ficar postando no [...]]]></description>
			<content:encoded><![CDATA[<p>Æ!!</p>

<p>Esse é um post para relatar como foi o Rails Summit Latin America desse ano! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> 
Já começo o post com um grande #win para a organização do #railssummit, por que eles tem tomadas para todos e wi-fi liberado para todos os participantes, o que ajuda para que pessoas como eu possam ficar postando no blog durante o evento, <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> 
Vamos ao evento!</p>

<h4>Rails Insurgency &#8211; Chad Fowler</h4>

<p>A palestra foi muito interessante e o Chad Fowler falou sobre como é a dificuldade de implantar uma aplicação Rails em uma grande empresa quando você tem grandes gerentes que te enchem de perguntas do tipo: &#8220;Rails faz X?, &#8220;Rails faz Y&#8221; até que voc6e responda um não para que ele possa dizer: &#8220;Aháá! Então não podemos usar&#8221;. O Chad Fowler já foi um desses gerentes e decidiu passar a experiencia de um desses gerentes e por que eles pensam dessa maneira.</p>

<p>Uma outra coisa bem legal que o Chad comentou foi sobre fazer um modelo junto com o seu cliente na hora do planejamento, até por que você consegue fazer isso facilmente com o Rails e até mostrar uma pequena funcionalidade com um Scaffold sem muito transtorno, e seu cliente pode facilmente ver se é isso mesmo que ele está pensando.</p>

<h4>Gregg Pollack &#8211; Na vanguarda da performance em Rails</h4>

<p>O Greg Pollack falou sobre page scaling Rails, comentando sobre uma grande quantidade de plugins para medir e ajudar a corrigir alguns problemas de escalabilidade que são detectados. Foi apresentado ferramentas para melhorar performance de banco de dados, para verificar quais <span>queries</span> que podem ser melhoradas, onde podem ser incluídos índices e outras coisas bem interessantes.</p>

<p>No fim da palestra ele falou sobre o <a title="madmimi" href="http://madmimi.com/">madmimi</a> que ajuda a lidar com um dos grandes gargalos de aplicações, que é quando se tem que trabalhar com grandes listas de e-mails.</p>

<p>Para saber os outros assuntos que o Greg falou é só ver no blog do EnvyLabs: <a title="Blog do EnvyLabs" href="http://blog.envylabs.com/summit">http://blog.envylabs.com/summit</a></p>

<h4>Carlos Brando &#8211; Como o Rails funciona por dentro</h4>

<p>Agora começa o problema por que temos que escolher uma palestra e eu fiquei em dúvida entre a palestra do Ilya Grigorick e a do <a href="http://nomedojogo.com">Carlos Brando</a>, mas no fim das contas resolvi assistir a do Carlos.</p>

<p>O Carlos Brando falou sobre como o Rails funciona por dentro, usando a sua experiência na criação de um framework ( que ele está fazendo na nova empresa que está trabalhando ), ele falou um pouco sobre como o Rails trata as requisições, como utilizar as coisas certas de Rails quando se está fazendo um framework, e comentou um pouco sobre o framework que ele está criando como exemplo.</p>

<p>Achei a palestra muito superficial&#8230;Achei que o Carlos fosse pegar pesado mostrando bastante coisa do Rails, mas ele decidiu mostrar algo mais simples pois ao mostrar para algumas pessoas percebeu que elas estavam achando meio massante. Enfim, como ele mesmo disse, não dá para agradar a todos, mas na minha opinião a palestra foi fraca <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>

<h4>José Valim &#8211; Aprenda a customizar os geradores do Rails 3.0</h4>

<p>A palestra do José Valim foi bem legal! Ele falou sobre o Thor e sobre os geradores do Rails 3, como você poderá facilmente customiza-los e como o thor pode te ajudar em suas aplicações.</p>

<p>Ele mostrou um pouco do motivo de se trocar utilizar o thor, e por que os antigos geradores são ruins do jeito que estão. Um exemplo legal foi mostrar como um plugin tem que fazer para gerar coisas, tomando como exemplo o RSpec, que com um spec_model vai ter que gerar migrations tambem, sendo que não é do escopo do RSpec ter que se preocupar com migrations, mas do jeito que está atualmente ele apenas pode trocar o &#8220;script/generate model&#8221; pelo &#8220;script/generate rspec_model&#8221;. Utilizando o exemplo anterior como base foi mostrado como os novos geradores vão ajudar nas tarefas dos plugins a partir de agora.</p>

<p>Gostei da palestra e acho que o José Valim conseguiu passar bem o que ele queria. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<h4>David Chelimsky &#8211; RSpec e Cucumber alem do básico</h4>

<p>A palestra do chelimsky foi sobre o uso do <a title="RSpec" href="http://rspec.info/">RSpec</a> e do <a title="Cucumber page" href="http://cukes.info/">Cucumber</a>, que na minha opinião foi bem similar a palestra do ano passado, mas mesmo assim mostrou algumas boas práticas sobre RSpec que foram interessantes.</p>

<p>Eu ainda tive a chance de conversar com o Chelimsky no final da palestra para fazer umas perguntas sobre o Spork e como melhorar o tempo de execução dos meus testes que demoram muito para serem executados, tornando o desenvolvimento com o autospec não tão bom quando poderia ser.</p>

<h4>Fabio Akita &#8211; Agile, além do caos</h4>

<p>A palestra do Akita foi uma grande viagem de pensamentos aleatórios dele sobre a teoria do caos baseado nos estudos que ele tem feito nos últimos tempos. Eu achei que foi muita informação para um curto período de tempo para as pessoas, mas quem conseguiu abstrair muita coisa e entender qual foi a finalidade da palestra deve ter gostado bastante, por que a idéia central é bem interessante. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<h4>Matt Aimonetti &#8211; O Futuro do Ruby &amp; Rails</h4>

<p>O Matt falou sobre as novidades que virão no Rails 3, sobre o que poderá ser incorporado do merb e o quanto &#8220;plugável&#8221; o Rails 3 será.
Ele não falou apenas de Rails, mas falou tambem um pouco de Ruby e quais são as novidades em termos de velocidade.</p>

<h4>Desconferência</h4>

<p>E chegou a hora que muitos estavam esperando, a desconferência! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> 
Na ultima desconferência o Elomar deu show falando um pouco sobre grupos de estudo, e muita gente estava esperando coisas legais para esse ano.</p>

<p>Teve muita coisa interessante, mas infelizmente não pude ficar até o final por causa da minha faculdade, mas o que pude ver foi:</p>

<ul>
    <li>Pessoal do<a title="Guru-sp falando no Rails Summit" href="http://blip.tv/file/2728861"> Guru-sp apresentando o grupo e falando sobre o crescimento e futuras atividades</a> ( eu fui o primeiro a falar! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  )</li>
    <li>George Guimarães falando do Devise</li>
    <li>Aldo França contando sua história para aprender Rails e fazendo um blog em 15 minutos ( com 11 anos de idade )</li>
    <li>Guilherme Chapiewsky e Henrique Bastos falando sobre    os eventos e grupos que eles participam no Rio</li>
</ul>

<p><!--        @page { margin: 0.79in }        P { margin-bottom: 0.08in } -->Sei que teve muito mais coisas legais alem disso, mas essas foram as unias que eu pude ver e achei todas bem legais! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> 
Acho muito interessante essa idéia de desconferência, pois serve tanto para integrar o pessoal e dar risada quanto para apresentar projetos interessantes e muito úteis para alguns.</p>

<p>Sem contar que eu ganhei um Ipod nano da <a title="ThoughtWorks" href="http://www.thoughtworks.com/">ThoughtWorks</a> em um sorteio pouco antes da desconferência. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<h4>Manhã do primeiro dia</h4>

<p><!--        @page { margin: 0.79in }        P { margin-bottom: 0.08in } -->Agora vem a parte triste&#8230;Não pude estar no evento no segundo dia de manhã. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> 
O <a title="Ikwa Orientação Profissional" href="http://www.ikwa.com.br">ikwa</a> não liberou todos os programadores para ficar lá em tempo integral, portanto fizemos um revezamento, e para mim ficou o segundo dia de manhã.</p>

<p>Perdi duas palestras que eu gostaria muito de assistir. A primeira é do <a title="Carlos Vilela no Twitter" href="http://twitter.com/cv">Carlos Vilela</a> que falou sobre o uso do Ruby na ThoughtWorks e a segunda é do<a title="Simples Ideias - Por Nando Vieira" href="http://simplesideias.com.br/"> Nando Vieira</a> que estava falando do Ruby 1/9.</p>

<p>Uma coisa que me animou um pouco foi saber que as palestras eram simultâneas, portanto eu ia perder uma de qualquer jeito.</p>

<h4>Marcos Tapajós &#8211; CouchDB no Rails</h4>

<p>Como não pude estar no evento no segundo dia de manhã eu já cheguei direto para a palestra do <a title="Tapajós na improve-it" href="http://improveit.com.br/empresa/tapajos">Tapajós</a> sobre CouchDB, que por sinal foi bem interessante! O Tapajós mostrou um pouco de como é trabalhar com CouchDB e como deve ser a mudança de paradigma da saída de um banco relacional para ir para um banco orientado a documentos.</p>

<p>Como o próprio Tapajós disse, a idéia da palestra dele era dar um Overview do couchDB e depois abrir para perguntas para tirar as dúvidas do pessoal, e na minha opinião ficou muito bom! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<h4>Bruno Miranda &#8211; Rails não escala</h4>

<p>O <a title="Twitter do Bruno Miranda" href="http://twitter.com/brupm">Bruno Miranda</a> apresentou &#8220;juntamente&#8221; com o Jason Seifer (infelizmente o <a title="Jason Seifer" href="http://jasonseifer.com/">Jason Seifer</a> não pode estar no railssummit por problemas com a viagem, portanto apenas enviou vídeos da parte que ele ia falar) sobre &#8220;Rails não escala&#8221;, falando sobre a aplicação que está em baixo do canal de audio do MSN e como eles conseguem manter uma infra escalável usando Rails.</p>

<h4>Vinicius Teles &#8211; Do serviço ao produto</h4>

<p>Uma das melhores palestras do Rails Summit ( as palestras não técnicas são sempre as mais marcantes, por melhor que sejam as técnicas&#8230; ), onde o Vinícius contou sua história passando por bons e maus momentos com a sua empresa, começando com serviços e terminando em produto.</p>

<p>Coisas interessantes da palestra do Vinícius foi o grande enfoque em &#8220;reserva&#8221;, ou seja, sempre tenha uma reserva em caixa para segurar a sua empresa nos piores momentos ou ajudar quando vem aquela grande oportunidade. Apenas investir em passivo ( como carros por exemplo ) quando isso não for um grande empecilho, por que no começo um carro (por exemplo) só vai te trazer prejuízo com desvalorização e manutenção.</p>

<p>O Vinícius deu ótimas dicas para quem quer começar uma empresa, várias dicas de experiencias que ele passou, e me animou muito a preparar as coisas par a empresa que eu vou abrir no futuro. Acho que já posso começar a me preparar. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>

<h4>Obie Fernandez &#8211; Dominando a arte do desenvolvimento de aplicações</h4>

<p>Outra palestra no mesmo nível da palestra do Vinícius ( também não técnica ), portanto muito boa! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<p>O Obie Fernandez falou sobre como dominar o desenvolvimento de aplicações, e achei muito interessante os exemplos que ele passou sobre musica, comentando da quantidade de esforço de um grupo de músicos em termos de horas e o que isso implicava em seu nível. Ainda sobre o tempo de estudo, não é &#8220;apenas estudo&#8221; por que pratica não leva a perfeição,  &#8220;prática perfeita leva a perfeição&#8221;. Programação é como musica, é sempre bom pegar musicas dos outros para estudar, por que assim você pode aprender sutilezas para fazer a sua.</p>

<p>A palestra do Obie assim como a do Vinícius teve frases chave como:</p>

<ul>
    <li>Se eu estiver trabalhando e um dia descobrir que eu não estou feliz eu simplesmente saio</li>
    <li>Fuck the enterprize ( muito boa! haha )</li>
    <li>Pratica não leva a perfeição, pratica perfeita leva a perfeição</li>
</ul>

<p>Gostei bastante da palestra, e bateu certinho com algumas coisas que estou pensando para os meus estudos para os próximos tempos.</p>

<h4>#horaextra</h4>

<p>O #horaextra foi muito legal! Tivemos um problema com o primeiro bar que fomos por que não podiam entrar menores e nem com short, portanto o Mergulhão e o Aldo ficariam de fora, então o pessoal foi para outro bar, que ficava do lado desse e lotamos o lugar <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>

<p>Como o bar era pequeno para a quantidade de pessoas, as coisas demoravam um pouco para chegar, mas nada que uma boa conversa não pudesse ajudar você a relevar isso. A mesa era gigante, mas as pessoas que a voz alcançava eram:<a title="Carlos Brando" href="http://twitter.com/carlosbrando"> Carlos Brando</a>, <a title="Rafael" href="http://twitter.com/r4f4e1">r4f4e1</a>, <a title="Vinicius Baggio" href="http://twitter.com/vinibaggio">Vinícius Baggio</a>, <a title="Ricardo Yasuda" href="http://twitter.com/shadow11">Shadow</a> e <a title="Hugo Borges" href="http://twitter.com/agaelebe">Agaelebe</a>.</p>

<p>Batemos papo por um bom tempo, com participação de mais uma galera ( <a href="http://akitaonrails.com">Akita</a>, <a title="Rafael Rosa Fu" href="http://rafaelrosafu.com/">Rafael Rosa</a>, <a title="Thiago Scalone" href="http://twitter.com/scalone">Thiago Scalone</a> &#8230;. ), e acabei saindo de lá mais de 00:00.</p>

<p>Aqui chega o fim do evento e o que fica são os bons momentos passados por lá, o conhecimento adquirido e a vontade de participar novamente no ano que vem! Parabens aos organizadores ( e patrocinadores! ) do evento, por que ficou ótimo!</p>

<p>Se quiser ver as fotos que eu tirei no evento veja <a title="Album do Rails Summit no Picasa" href="http://picasaweb.google.com/Willian.molinari/20091013RailsSummit?feat=directlink">o album no meu picasaweb</a>.</p>

<p>Há braços</p>
]]></content:encoded>
			<wfw:commentRss>http://pothix.com/blog/events/rails-summit-2009/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instalando gems do GitHub manualmente</title>
		<link>http://pothix.com/blog/development/instalando-gems-do-github-manualmente</link>
		<comments>http://pothix.com/blog/development/instalando-gems-do-github-manualmente#comments</comments>
		<pubDate>Tue, 28 Jul 2009 03:39:08 +0000</pubDate>
		<dc:creator>PotHix</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Gem]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://pothix.com/blog/?p=699</guid>
		<description><![CDATA[Æ!! Esse vai ser um post rápido para relatar um problema que eu tive ( e ainda estou tendo ) para instalar gems do GitHub. Por algum motivo bizarro ( nem tanto assim, parece ser dns, mas já tentei opendns e nada ) a página http://gems.github.com não abre de maneira nenhuma, enquanto a navegação continua [...]]]></description>
			<content:encoded><![CDATA[<p>Æ!!</p>

<p>Esse vai ser um post rápido para relatar um problema que eu tive ( e ainda estou tendo ) para instalar gems do GitHub.</p>

<p>Por algum motivo bizarro ( nem tanto assim, parece ser dns, mas já tentei opendns e nada ) a página http://gems.github.com não abre de maneira nenhuma, enquanto a navegação continua normal sem nenhum problema&#8230;A consequência disso é que eu não consigo colocar o source do github nas minhas configurações do Rubygems. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>

<p>Tendo em vista que eu não conseguiria utilizar gem install para nenhuma gem que vinha do GitHub tive que dar um jeito de instalar manualmente. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p>O que fiz foi acessar a página do GitHub referente a gem que eu queria instalar, que no caso é a <a title="Kitabu" href="http://github.com/fnando/kitabu/tree/master">kitabu</a> do <a title="Nando Viera" href="http://github.com/fnando">fnando</a>, pegar o link de clone e clonar:</p>


<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">$ git clone git://github.com/fnando/kitabu.git</pre></div></div>


<p>Mas ae que está o lance que eu demorei para encontrar ( noob ), para uma gem ser instalada localmente ela precisa estar empacotada, e no GitHub você baixa direto o código fonte. Para empacotar:</p>


<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">$ gem build kitabu.gemspec</pre></div></div>


<p>Agora sim eu tenho o arquivo kitabu-0.3.3.gem que eu posso utilizar para instalar localmente! Para instalar é só utilizar o gem install padrão informando o arquivo a ser instalado:</p>


<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;"># gem install kitabu-0.3.3.gem</pre></div></div>


<p>E pronto! Lá está a minha gem instalada!
Espero que isso seja útil para mais alguem que precise empacotar as suas gems. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p>Há braços</p>
]]></content:encoded>
			<wfw:commentRss>http://pothix.com/blog/development/instalando-gems-do-github-manualmente/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Encontro de numero 5 do Guru-sp</title>
		<link>http://pothix.com/blog/events/encontro-de-numero-5-do-guru-sp</link>
		<comments>http://pothix.com/blog/events/encontro-de-numero-5-do-guru-sp#comments</comments>
		<pubDate>Tue, 21 Jul 2009 02:55:23 +0000</pubDate>
		<dc:creator>PotHix</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://pothix.com/blog/?p=667</guid>
		<description><![CDATA[Æ!! Nesse sábado aconteceu o quinto encontro do Guru-sp! O encontro estava marcado para as 10 da manhã com uma seção para iniciantes e começou as 10:30 ( sempre atrasa um pouquinho né? hehe ), já com um bate papo legal coordenado pelo @rafaelrosafu após uma breve apresentação de todos os participantes. Rails para iniciantes [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://pothix.com/blog/wp-content/uploads/2009/07/dpp-0026.jpg"><img class="size-medium wp-image-674 alignleft" title="dpp-0026" src="http://pothix.com/blog/wp-content/uploads/2009/07/dpp-0026-300x199.jpg" alt="dpp-0026" width="300" height="199" /></a></p>

<p>Æ!!</p>

<p>Nesse sábado aconteceu o <a title="Quinto encontro do Guru-sp" href="http://guru-sp.com/index.php/Quinto_Encontro">quinto encontro do Guru-sp</a>! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p>O encontro estava marcado para as 10 da manhã com uma seção para iniciantes e começou as 10:30 ( sempre atrasa um pouquinho né? hehe ), já com um bate papo legal coordenado pelo <a title="Rafael Rosa" href="http://www.rafaelrosafu.com">@rafaelrosafu</a> após uma breve apresentação de todos os participantes.</p>

<h4>Rails para iniciantes</h4>

<p>Nessa primeira seção tiveram muitas conversas interessantes sobre algumas filosofias Rails, como <a title="Don't Repeat Yourself" href="http://en.wikipedia.org/wiki/Don%27t_repeat_yourself">DRY</a>, <a title="REST" href="http://pt.wikipedia.org/wiki/REST">REST</a>, <a title="TDD" href="http://en.wikipedia.org/wiki/Test-driven_development">TDD</a>, Test all the Fucking Time, Skynny Controllers and Fat Models e mais algumas outras coisas bem interessantes que fomentaram uma ótima discussão sobre quais os melhores padrões para se seguir quando se constrói uma aplicação Rails ( sim, falamos tomando como base uma aplicação Rails ), como utilizar plugins como o <a title="ResourceController on GitHUb" href="http://github.com/giraffesoft/resource_controller/tree/master">ResourceController</a> ( que tem seus prós e contras ), manter seus scripts num lugar diferente da pasta scripts, que é a pasta padrão para scripts &#8220;internos&#8221; do Rails e tentar centralizar em uma pasta dentro de lib, além de usar Rake sempre que possível para essas tarefas ficarem organizadas e de fácil acesso.</p>

<p>Uma parada rápida para o almoço no Shopping e lá se vão mais de 20 programadores para comer a bater papo! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<h4>DataMapper</h4>

<p>Após o almoço tivemos a palestra sobre <a title="DataMapper" href="http://datamapper.org/doku.php">DataMapper</a> do  <a title="Rafael Rosa" href="http://www.rafaelrosafu.com">@rafaelrosafu</a> ( olha ele aí novamente! ) que explicou muito bem dando várias referências sobre o seu blog pessoal e como ele fez para utilizar o DataMapper ao invés do Active Record. O Rails é mais difícil de se sair do padrão, mas ficará mais simples de se escolher um ORM quando chegarmos ao Rails 3. Aproveitando o gancho de DataMapper eu falei um pouco de Sinatra dando alguns pitacos na condução do Rafael.</p>

<h4>Git</h4>

<p>Após a palestra de DataMapper passamos para uma palestra de Git com o Douglas ( qmx ), que foi muito interessante e participativa! Pegamos uma galera do grupo para fazer um scaffold e commitar no projeto para começar a ver coisas diferentes, como merges, rebases, mudanças de commit, e algumas outras coisas legais, como usar tags, procurar por um código em meio aos commits e outras coisas interessantes! =)</p>

<p>Levantamos a idéia de participar do Rails Rumble, aproveitando que o Diego Carrion estava conosco e comentou que a GoNow estava patrocinando 3 equipes para o evento, mas não conseguimos ter uma idéia legal para propor para o concurso.</p>

<h4>Coding Dojo</h4>

<p><a href="http://pothix.com/blog/wp-content/uploads/2009/07/dpp-0025.jpg"><img class="size-medium wp-image-673 alignright" title="dpp-0025" src="http://pothix.com/blog/wp-content/uploads/2009/07/dpp-0025-300x199.jpg" alt="dpp-0025" width="300" height="199" /></a>E finalmente como ultima coisa do dia tivemos o nosso coding dojo, que era uma das coisas que eu mais estava esperando nesse econtro! O Vinicius Baggio  &#8220;se ofereceu&#8221; ( com um empurrãozinho meu&#8230;hahah ) para ficar com o notebook ligado no datashow e conduzir o código. O dojo foi muito divertido com participação de todos da sala, o que sempre trazia novas idéias para fazer um código melhor e agregava conhecimento para todos. Fizemos TDD para construir umas classes simples de usuário. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<h4>Conclusão</h4>

<p>Gostaria de agradecer ao André e o pessoal da Voice Technology por todo o apoio ao evento e ao grupo, com local, organização, fotos e mais várias outras coisas! Guys you Rock! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<p>Infelizmente algumas pessoas não puderam aparecer, e outras apareceram por pouco tempo ( o Marcelo Castellani ), por motivos pessoais, mas espero que estejam presentes no próximo! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p>O evento realmente valeu a pena e aprendi muita coisa por lá, alem de conhecer muita gente interessante tambem! Agora é marcar os próximos e esperar que o grupo cada vez cresça mais e podemos fortalecer as amizades e conhecimentos!</p>

<p>Há braços</p>
]]></content:encoded>
			<wfw:commentRss>http://pothix.com/blog/events/encontro-de-numero-5-do-guru-sp/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Começando a falar de Ruby</title>
		<link>http://pothix.com/blog/development/comecando-a-falar-de-ruby</link>
		<comments>http://pothix.com/blog/development/comecando-a-falar-de-ruby#comments</comments>
		<pubDate>Mon, 13 Apr 2009 07:08:34 +0000</pubDate>
		<dc:creator>PotHix</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://pothix.com/blog/?p=316</guid>
		<description><![CDATA[Æ!! Se você já conhece Ruby, ignore esse post! A idéia do post é mostrar um pouco da linauagem Ruby para pessoas que não conhecem nada sobre ela. Eu, claro, acho muito bizarro interessante que muita gente por aí ainda não conhece Ruby, mesmo com a grande popularização do Rails, e eu chego a ouvir [...]]]></description>
			<content:encoded><![CDATA[<p>Æ!!</p>

<p>Se você já conhece Ruby, ignore esse post! A idéia do post é mostrar um pouco da linauagem Ruby para pessoas que não conhecem nada sobre ela.</p>

<p>Eu, claro, acho muito <span style="text-decoration: line-through;">bizarro</span> interessante que muita gente por aí ainda não conhece Ruby, mesmo com a grande popularização do Rails, e eu chego a ouvir coisas assim:</p>

<blockquote>&#8220;Não é você que programa naquela linguagem esquisita?&#8221;</blockquote>

<p>Cheguei a ouvir do meu &#8220;professor de algoritmo&#8221; ( perdeu meu respeito ):</p>

<blockquote>&#8220;Gostei desse algoritmo que você fez nessa linguagem esquisita aqui&#8221;</blockquote>

<p>Há muitas pessoas que já ouviram falar em algo relacionado a Ruby apenas quando leram alguma coisa na Info falando de RubyOnRails. Portanto, resolvi escrever alguns posts sobre a linguagem para passar para esse pessoal que ainda não conhece nada. Pretendo que esse seja o post introdutório de vários capítulos passando por partes interessantes da linguagem. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<h2>Então&#8230;Vamos falar de Ruby! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </h2>

<p>Ruby é uma linguagem interpretada, criada pelo japonês <a href="http://www.rubyist.net/%7Ematz/">Yukihiro “matz” Matsumoto</a> e liberada publicamente em 1995. Desde lá o Ruby vem aparecendo bastante no mundo de tecnologia, sendo que a partir de 2006 teve um grande boom de comentários, ainda mais com o maior aparecimento do <a title="RubyOnRails" href="http://rubyonrails.org/">Rails</a>.</p>

<p>Uma coisa que me irrita bastante é as pessoas associarem diretamente Ruby com Rails, portanto preciso deixar isso claro&#8230;<span style="color: #ff0000;"><span style="text-decoration: underline;"><strong>Rails não é Ruby!</strong></span></span>
Rails é um framework para desenvolvimento web que <strong>utiliza</strong> a linguagem Ruby para o tal.  O Ruby tem bem mais coisas legais do que só o Rails. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<p>Como o Ruby é uma linguagem interpretada, podemos facilmente fazer um Hello World em Ruby:</p>


<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">'Hello World'</span></pre></div></div>


<p>Isso aí! Apenas uma linha! Uma linguagem totalmente orientada a objeto e você não precisa necessáriamente criar uma classe, um método ( public static void main&#8230; ) e escrever mil comandos Hierarquicamente para escrever algo! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<p>O interessante do Ruby é que tudo é um objeto, ou seja, se você escreve o numero 10 ele já é um objeto, tendo seus próprios métodos, como por exemplo:</p>


<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">10.<span style="color:#9900CC;">times</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">'Vou estudar Ruby'</span> <span style="color:#006600; font-weight:bold;">&#125;</span></pre></div></div>


<p>No caso acima usamos um dos métodos do 10 ( que é da  Classe Fixnum ) que é o método times, que faz um loop 10 ( ou qualquer outro numero Fixnum que estivesse aqui ) vezes fazendo o que está dentro do bloco, no caso, imprimir &#8220;vou estudar Ruby&#8221;. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p>No Ruby você consegue modificar métodos em tempo de execução! Uma classe que não possuía nenhum método pode possuir 10 em tempo de execução bastando que seu código os inclua lá, e isso é uma coisa muito legal!</p>

<p>A sintaxe da linguagem foi feita para ser simples, você tem vários métodos facilitadores, inclusive com uso de &#8220;?&#8221; ( interrogação ) para alguns métodos, como por exemplo para descobrir se a variável está não retorna nada:</p>


<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">variavel.<span style="color:#0000FF; font-weight:bold;">nil</span>?</pre></div></div>


<p>Aqui temos uma pergunta explícita, que você olhando isso intuitivamente lhe vem duas respostas: Sim ou não ( nem me venha com talvez <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  ),o que mostra que você olha um código Ruby e facilmente distingue muita coisa.</p>

<p>E tem bem mais <a title="Sobre o Ruby" href="http://www.ruby-lang.org/pt/sobre-o-ruby/">coisas</a> <a title="Artigo sobre Ruby na Wikipedia" href="http://pt.wikipedia.org/wiki/Ruby_(linguagem_de_programa%C3%A7%C3%A3o)">interessantes</a>!</p>

<h2>Tá&#8230;E por que diabos eu deveria usar Ruby</h2>

<p>Aí que está! É aí que entram as coisas legais, como:</p>

<h4>Rails</h4>

<p style="padding-left: 30px;">Agora sim você pode usar esse cara aí em cima para desenvolver aplicações bem legais usando todas as facilidades que o Ruby pode te oferecer</p>

<h4>Shoes</h4>

<p style="padding-left: 30px;">Uma biblioteca bem interessante para desenvolvimento desktop multiplataforma, onde você consegue fazer muita coisa legal.</p>

<h4>JRuby</h4>

<p style="padding-left: 30px;">Olha que legal, se você gosta bastante do Java, você pode rodar programas Ruby em cima da maquina virtual Java, o que é bem legal, até por que, a velocidade do JRuby, já passou a do MRI ( Matz Ruby Interpreter, ou a versão core oficial do Ruby, feita pelo Matz ).</p>

<p style="padding-left: 30px;">Inclusive você pode importar várias bibliotecas do Java e tudo mais. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<h4>Iron Ruby</h4>

<p style="padding-left: 30px;">Você usa a plataforma .NET da Microsoft? Então procure por esse cara! Eu não tenho muito a comentar por que não uso .NET.</p>

<p>É claro que não existem só esses aí em cima, apenas estou citando algumas coisas legais, mas se você procura por desenvolvimento web você pode escolher <a title="Sinatra" href="http://www.sinatrarb.com/">Sinatra</a>, <a title="Merb Official Home Page" href="http://merbivore.com/">Merb</a> ( ainda não se fundiu com o Rails, mas isso vai acontecer na versão 3 do Rails ), ou outros.</p>

<p>E se você apenas pensa em desenvolver para Desktop, alem do Shoes, você pode escolher, o <a title="RubyGTK" href="http://www.rubyist.net/~slagell/gtk/">RubyGTK</a>, o <a title="MacRuby" href="http://www.macruby.org/">MacRuby</a> ( para usuários MAC ) ou até o <a title="FXRuby Official Page" href="http://www.fxruby.org/">FXRuby</a>!</p>

<p>Se você não é programador, e trabalha com administração de sistemas, por que não utilizar Ruby para automatizar as tarefas? É fácil, tem manutenção simples, vem padrão em várias distribuições Linux&#8230;Não tem desculpa! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>

<p>Meu foco nesse post não é abordar a fundo nenhuma das ferramentas que eu citei acima, e sim apenas dar um overview de tudo que você pode fazer usando essa linguagem.</p>

<h2>Puxa, gostei! Como usar?</h2>

<p>Moleza! Está no Linux né?  Se estiver usando Ubuntu só dê os comandos mágicos:</p>


<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">sudo apt<span style="color:#006600; font-weight:bold;">-</span>get install ruby irb rdoc</pre></div></div>


<p>Não está no Linux? Humm&#8230;No Windows é fácil tambem, baixe o executável e instale. Não tive muito contato com um mac ainda para instalar coisas e tudo mais, mas me parece fácil.</p>

<p>Basta clicar <a title="Ruby download" href="http://www.ruby-lang.org/pt/downloads/">aqui</a> e pegar os arquivos necessários para a instalação! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<h2>Vixe&#8230;Instalei, e agora?</h2>

<p>Agora é hora de brincar um pouco com a linguagem para saber como ela funciona! Eu recomendo você a entrar no <a title="Interactive Ruby Shell at Wikipedia" href="http://en.wikipedia.org/wiki/Interactive_Ruby_Shell">IRB</a> ( <strong>I</strong>nteractive <strong>R</strong>u<strong>b</strong>y Shell ) e começar a brincar!</p>

<p>Para acessar o irb é aquela moleza de sempre, apenas entre no terminal e chame por irb ( acho que funciona assim no Windows tambem )! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<p>Lá você pode tentar executar uns códigos, inclusive os poucos exemplos que eu postei aqui, é muito legal para você conhecer a linguagem, descobrir uns métodos e tudo mais.</p>

<h2>Já estou no IRB, mas eu não sei fazer nada&#8230;</h2>

<p>Bem, agora é partir para as cabeças! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<ol>
    <li>Eu recomendo você a começar lendo o <a title="Tutorial de Ruby do TaQ" href="http://eustaquiorangel.com/downloads/tutorialruby.pdf">tutorial de Ruby do TaQ</a> que é um material bem legal para começar.</li>
    <li>Se seu ingles é bom ( não precisa ser fluente, mas você precisa saber ler e enteder ) eu aconselho firmemente você a participar de algum curso Core do <a title="Rubylearning.org" href="http://rubylearning.org/class/">Rubylearning.org</a>, e lá você vai aprender bastante coisa, alem de se divertir bastante.</li>
    <li>Leia alguns dos livros gratuitos que estão disponíveis na web gratuitamente e  em português! Eu recomendo o <a title="Aprenda a programar traduzido pela comunidade" href="http://aprendaaprogramar.rubyonrails.pro.br/">Aprenda a Programar</a> e o <a title="O (comovente) guia de Ruby do Why traduzido pela comunidade" href="http://why.nomedojogo.com/">(comovente) guia de Ruby do Why</a>. ( obrigado pela dica <a title="Blog do Abraão" href="http://blog.abrcoelho.net/">Abraão</a> )</li>
    <li>Participe de Grupos de usuários para aumentar seus conhecimentos e conhecer pessoas que tambem estão interessadas na linguagem e sempre estudando! Se você está em São Paulo eu recomento fortemente você a participar do <a title="Grupo de usuários Ruby de São Paulo" href="http://guru-sp.org">GURU-SP</a>! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
    <li>Fique de olho aqui no blog que eu pretendo começar a postar umas coisas básicas, mas não espere somente por mim e já inicie seus estudos! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
</ol>

<p>Bem, com isso você já tem uma pequena base do que é o Ruby ( e sabe que o Rails é apenas um framework feito em Ruby ) e já pode começar a se divertir com ele! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<p>Há braços</p>
]]></content:encoded>
			<wfw:commentRss>http://pothix.com/blog/development/comecando-a-falar-de-ruby/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Translated Rubylearning presentation</title>
		<link>http://pothix.com/blog/english/translated-rubylearning-presentation</link>
		<comments>http://pothix.com/blog/english/translated-rubylearning-presentation#comments</comments>
		<pubDate>Fri, 10 Apr 2009 03:19:40 +0000</pubDate>
		<dc:creator>PotHix</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Presentation]]></category>
		<category><![CDATA[Rubylearning]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[rubylearning]]></category>

		<guid isPermaLink="false">http://pothix.com/blog/?p=463</guid>
		<description><![CDATA[Æ!! As i promise, here goes my presentation! Finally i finished to translate all the presentation! Watched the video a lot of times, pausing and playing to write all i said translating to english. Fortunately i have a big help from my friend Victor Goff, that correct all my grammar errors and typos. I&#8217;m posting [...]]]></description>
			<content:encoded><![CDATA[<p>Æ!!</p>

<p>As i promise, here goes my presentation! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p>Finally i finished to translate all the presentation! Watched the video a lot of times, pausing and playing to write all i said translating to english. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p style="text-align: left;">Fortunately i have a big help from my friend <a title="The Red Gem of programming" href="http://vgoff.blogspot.com/">Victor Goff</a>, that correct all my grammar errors and typos.</p>

<p style="text-align: left;">I&#8217;m posting below all i have about the presentation, slides from <a title="Presentation at Slideshare" href="http://www.slideshare.net/PotHix/what-is-and-how-does-work-rubylearningorg-1257258">Slideshare</a>, <a title="Video at Blip.tv" href="http://agaelebe.blip.tv/file/1969241/">Video from Blip.tv</a>, and a translation pasted here, but you can find the <a title="Translated Speach at Google Docs" href="http://docs.google.com/Doc?id=dgd96k6n_45fkh4q5g9">translation at Google Docs</a> too. <strong>Enjoy!</strong> <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<div id="__ss_1257258" style="margin: 0pt auto; width: 425px; text-align: left;"><object width="425" height="355" data="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentation-090406210653-phpapp02&amp;rel=0&amp;stripped_title=what-is-and-how-does-work-rubylearningorg-1257258" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentation-090406210653-phpapp02&amp;rel=0&amp;stripped_title=what-is-and-how-does-work-rubylearningorg-1257258" /><param name="allowfullscreen" value="true" /></object>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/PotHix">PotHix</a>.</div>
<object width="425" height="338" data="http://blip.tv/play/AfjnLpKlUg" type="application/x-shockwave-flash"><param name="src" value="http://blip.tv/play/AfjnLpKlUg" /><param name="allowfullscreen" value="true" /></object></div>

<h2><strong>First Words</strong></h2>

<p>My name is Willian Molinari as Marcelo said, I participated of 3rd Batch of
Rubylearning at the beginning of the last year. Since the finish of the
course I was an Assistant Teacher, and i&#8217;m a Mentor since the beginning of
this year.
I attempt to show to you a bit of what Rubylearning is and how does it
work, what is the course idea.  It is a short presentation, you will see that
I&#8217;ll &#8220;run&#8221; with the content, but the presentation idea is to show you a
bit of what RubyLearning courses are.</p>

<h2><strong>Slide1</strong></h2>

<p>Fist, lets start with &#8220;What is Rubylearning?&#8221; The course itself is
Rubylearning.org, and Rubylearning is divided into Blog, Website and
courses.
Blog is where Satish post some of his interviews with Ruby
community guys like Matt of Merb project or Dr. Nic. And on blog have other
cool posts too.
On Website Satish maintain a Ruby tutorial, a Ruby Book and post other ruby
contents.
And on Rubylearning.org the course happens.</p>

<h2><strong>Slide2</strong></h2>

<p>To answer the question &#8220;What is Rubyleraning.org&#8221; I was helped by the other
teachers of Rubylearning. One of the good answers was made by George
Thompson, this guy that you see in the large photo. After telling a
funny joke, saying that Rubylearning is for everything since it will &#8220;allow you to grow wings to fly&#8221; and will &#8220;help you in the bedroom&#8221;
He gives these topics to speak about.
The first thing is that Rubylearning is for everyone that has an interest in
Ruby, if you are a experienced professional, or just learning now, Rubylearning is here to help you.
It is a framework to your first steps with Ruby, so you will not depend just
from Google or online tutorials, on Rubylearning you will have more people
to help you to participate and discuss your answers and so on&#8230;
Rubylearning is not just for who are starting with Ruby. If you work with
Ruby for a long time, you can participate to help the students that are
starting, returning to the community what you received. And you can participate
with other Rubylearning intermediate courses (Rubylearning doesn&#8217;t have just
the Core course, we have other courses for those who already have
knowledge of Ruby)
And of course&#8230;Rubylearning is a place to have fun! To code for fun, to
know different people of other countries, or maybe of your country, and you
didn&#8217;t know that this person was programming on this language.</p>

<h2>Slide3</h2>

<p>Rubyleraning is based on Moodle, as you can see, the image is strange
here, but the first screenshot is the screen after you sign up, and you
can see all the courses that you can subscribe to, and below you can see the
screen inside the course, all the material is divided by blocks, the forums and so on.</p>

<h2>Slide4</h2>

<p>More interesting informations about Rubylearning:
We are the declared winner of shorty awards in education category.
Unfortunately we couldn&#8217;t participate of ceremony in USA because only Satish
can participate in the ceremony, and the price to travel from India (Satish is Indian ) to USA could not cover the
costs&#8230;But anyway, we are the winners!
The number of participants get over 7200 mark, and maybe now we already pass
the 7500 mark, because this information is from 1 month ago, more or less.
Another cool thing, more than 40% of Rubylearning participants are from
Brazil, so you don&#8217;t have arguments to say: &#8220;I can&#8217;t participate, because
the course have people that from other countries and i don&#8217;t speak english
very well&#8221;, because always you will find a Brazillian to help you there.</p>

<h2>Slide5</h2>

<p>And who is the main teacher? Who is behind Rubylearning?</p>

<h2>Slide6</h2>

<p>Satish Talim, as i said, lives in India. He is a programmer, teacher,
consultant, working on some companies at India and USA, is speaker and has
more than 30 years of experience with I.T. He has these two domains:
Rubylearning.org and rubylearning.com. On .org domain we have the course
and on Rubylearning.com is his site. And he have a personal website domain, too.</p>

<h2>Slide7</h2>

<p>Ok, if Satish is behind Rubylearning, who are these guys that help on
forums? So&#8230; I asked to Satish by e-mail, because I didn&#8217;t know about how he divide us.
The assistant teachers are people that come from the core course and
enjoyed the course, so they are invited to help, and whomever accept comes as
assistant teachers of the next core course to help on foruns, answering the
students that are having doubts and helping on other things.
Mentors are experieced professionals that are working with I.T for a long
time and more time on Rubylearning, too. They help not only on Core course,
but on the other courses ( intermediate courses ) too.
The Patrons, this guys are on Rubylearning since rubylearning is coming to
be international, on the 2nd batch more or less, on the last months of
2007, and they have more time on rubylearning, so the way that Satish has
to classify teacher is time on rubylearning.</p>

<h2>Slide8</h2>

<p>For who is this course appropriate? Well&#8230;Our focus is the people that
already know something about programming, some other language and wants to
know Ruby, and not those people that do not know how to program and want to
learn on Rubylearning, This is not our focus. Our focus is to teach Ruby for
who those have a notion about programming.</p>

<h2>Slide9</h2>

<p>How does Rubylearning work? Well&#8230;The course is slotted into weekly study
material blocks. Every Saturday, Satish posts different sudy material with
important notes, so you can review quickly all you already read; Some
exercises, 10 or 5 exercises depending on how extensive is the material,
for you to solve and post on forums, to view the answers of teachers too.  For
example, you have a method and you are using return to return the variable
on the PHP style for example, but can be other language, so somebody replies
to you saying that you don&#8217;t need to specify this return because the Ruby
language returns the last statement by default, and so on&#8230;
The Quiz, is for your own benefit, so you can see if you learn all the
content.
And the Extras! The extras take to you some good material as links to good
content, a screencast related to the weekly study material, and others!</p>

<h2>Slide10</h2>

<p>How do quizzes work? As i said, Quiz is for your own benefit. A lot of
people are questioning me about the importance of quizzes on the course
participation, &#8220;if we don&#8217;t answer the quiz, are we kicked out of the
course&#8221; or we don&#8217;t receive the certificate. The quiz idea is auto-validation,
so after you read all the content, you will know with the quiz if you really
learn all you need to learn about that content, if you got a good result
with the quiz, you probably really learned this weeks content.</p>

<h2>Slide11</h2>

<p>Is necessary be active on Foruns? Humm&#8230;Yes! The main focus of
Rubylearning is the participation of everybody, so, if you really want to
get the best of the course you must to post your exercise answers, to
receive from more experienced people feedback about your solution. If you
don&#8217;t participate so much.. it&#8217;s okay too&#8230;You just lost the chance to learn more and
more.</p>

<h2>Slide12</h2>

<p>This is one of the things that everybody speaks about&#8230;&#8221;Ohhh&#8230;The course
is in english, from India, i will talk nonsense words, i don&#8217;t speak
english, my english is bad&#8221;&#8230;Humm&#8230;My personal English, i&#8217;m a assistant
teacher, is not so good, but i can communicate with others! If you can
communicate with other people is good enough! You will read and understand
the content and post your code on forums, if you are not comfortable to
write english, you can just post your code, somebody will reply to you, you
will understand the reply and it is good enough to your learning. If you
can talk is really better, because you can help on discussions, but the
english is not a big barrier to participate of Rubylearning.</p>

<h2>Slide13</h2>

<p>How is the course pace? As i said, Satish does weekly content posts on
forums&#8230;Not forums&#8230;the study materials. You don&#8217;t need to follow this
weekly pace, if you decide to view all the course in the last week you can,
but we recommend you to follow weekly because you can talk with other
people that are studying the same lesson and you have more focus on your
studies making it easy to learn different things.</p>

<h2>Slide14</h2>

<p>What topics the course cover? Well&#8230;We cover all the Beginning with Ruby,
from Ruby installation through&#8230;</p>

<h2>Slide16</h2>

<p>basic classes like numbers, blocks, variable scopes, constants, methods,
manipulation of text files, Regular Expressions, but only the basis of
Regular Expressions, how to work with RE with Ruby, working with classes,
inheritance, exceptions&#8230; We can&#8217;t cover tests ( the Ruby test/Unit class)</p>

<div>on the core course just a bit of it, we want to create a course just to
cover test/unit itself, so it is not a core part of Ruby in this course.
<h2>Slide17</h2>
Other questions that are often made to me when I recommend Rubylearning
couse is: &#8220;I will receive a certificate?&#8221;. The important thing on the
Rubylearning course is how much you can learn with the course, the
certificate is not the course focus, but&#8230;The answer is YES!
<h2>Slide18</h2>
This is my certificate from 3rd Batch that i participated, really
beautiful, signed by Satish, you receive in PDF, is not received in paper,
but you can print and store.
<h2>Slide19</h2>
As i said, Rubylearning is not made of only the Core course, we have a
lot of other courses that we call the &#8220;Intermediate courses&#8221;, and is
appropriate to who that already have a notion of what is Ruby core, if you
know core, you can move on to these other courses.
<h2>Slide20</h2>
The merb course, now merb team are joining Rails team, maybe this course
will be extinct, but this is one of our courses for now.
Git / GitHub is a course of one week. Git is not directly connected with
ruby, but all the Ruby community are using it, so we decided to prepare
a course about it.
Ruby with database, using MySql and sqlite, you learn on how to use
activerecord to manipulate a database from a script Ruby.
FXRuby as Marcelo said in another speech.
Sinatra for web development, maybe will get the Merb course place, because
Merb and Rails will be one.
Shoes, as Marcelo said too, for Desktop development, very interesting.
Ruby and Twitter, is a course that will be released now, i don&#8217;t know when
it will start, maybe april 14th or 16th, for who those already have a ruby
knowledge, will be very interesting. They will show how to play with
&#8220;Twitter API&#8221; and make some interesting things with it.
And Rails 3, Satish promised that when Rails 3 is comming out he will
create a course about it to everybody.
<h2>Slide21</h2>
This is some screenshots of shoes course. The application of the screenshot
on the Right was made by Satoshi, that was the main teacher of Rubylearning
shoes course, and is is a clock that show all the assistant teachers and
mentors timezone on the world, all teacher have a photo placed on with their
timezone.
I asked Satoshi to send a message to all of you, and he sent to me a
message with a &#8220;Google translation&#8221; Phrase in portuguese saying &#8220;Oi todo
mundo&#8221; that probably is &#8220;hello everybody&#8221;, and he says that you don&#8217;t need
to care about your english because we can communicate with Ruby, and he
wants to see you on Rubylearning Forums. Here you can see other screenshot
of a little game that they do with shoes, each student have your own game,
you can see a &#8220;questions and answers&#8221; game on the next screenshot. Very
interesting and a lot of fun!
<h2>Slide22</h2>
Here you have a message from Satish Talim, i asked to him to send one, and
he is saying thanks to all Brazilian friends, Locaweb and Fabio Akita,
that are sponsors of the course, the locaweb is a Sponsor of the core
course, and saying thanks to you that are helping to spreading ruby around
the world.
<h2>Slide23 &#8211; Questions</h2>
My presentation idea is to be very quick, just to show to you a bit of
what is Rubylearning and how you can participate, what you will learn and
so on&#8230;
Somebody have some question?

<strong>Hugo:</strong> This courses that you show, all of them are free? Or have some paid
courses too?
<strong>Willian:</strong> Yes, the core course is free. The other courses you need to pay to
get in, but the cost is very low, something like 5 dollars, 3 or 5 dollars,
just to maintain the website, Satish put a lot of his time on Rubylearning,
so he need a way to maintain all of this, and he is making it with this
paid courses and some sponsors, but is not high price, just 3 or 5 dollars
with paypal.
Some other question? I trampled some content because i have little time?

<strong>Marcelo:</strong> Lets thank Willian, no more questions now&#8230;
<h2>slide23</h2>
Thanks! =)</div>

<p>Cheers,</p>
]]></content:encoded>
			<wfw:commentRss>http://pothix.com/blog/english/translated-rubylearning-presentation/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Rails X Django</title>
		<link>http://pothix.com/blog/development/rails-x-django</link>
		<comments>http://pothix.com/blog/development/rails-x-django#comments</comments>
		<pubDate>Wed, 08 Apr 2009 07:03:14 +0000</pubDate>
		<dc:creator>PotHix</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://pothix.com/blog/?p=352</guid>
		<description><![CDATA[Æ!! Como todos sabem eu sou do mundo Ruby/Rails ( Não sou xiita mas é o que mais gosto ) e de vez em quando começo a brincar com coisas diferentes para poder formar a minha própria opinião sobre o assunto. No mes de fevereiro me surgiu um projeto bem interessante para trabalhar, pessoas legais, [...]]]></description>
			<content:encoded><![CDATA[<p>Æ!!</p>

<p>Como todos sabem eu sou do mundo Ruby/Rails ( Não sou xiita mas é o que mais gosto ) e de vez em quando começo a brincar com coisas diferentes para poder formar a minha própria opinião sobre o assunto.
No mes de fevereiro me surgiu<a title="Projeto de fevereiro" href="http://pothix.com/blog/development/projeto-de-fevereiro"> um projeto bem interessante para trabalhar</a>, pessoas legais, oportunidade legal, bem interessante! O projeto seria feito em Python/Django, e achei bem interessante a idéia de poder comparar várias coisas do Rails com o Django.</p>

<p>Bem&#8230;Vamos as minhas comparações:</p>

<p><strong>Pontos fortes</strong></p>

<ul>
    <li>Como primeiro argumento, e incontestável para mim, tenho que dizer  que o admin do Django é muito legal! Você consegue fazer coisas bonitinhas e funcionais com uma facilidade espantosa! Sei que no Rails podemos fazer um scaffold ( ou até usar o ActiveScaffold, mas não é tão bom ) e criar facilmente um CRUD para mexer nos dados, mas isso não é um admin pronto, é apenas uma forma fácil de se manipular os dados. Penso eu que com o Rails seja mais facil de se criar um admin personalizado, com Design próprio, mas gostei  bastante da solução a curto prazo do Django.</li>
</ul>

<ul>
    <li>Achei bem interessante como podemos fazer a divisão de trabalhos com o nosso HTML(er) / JavaScript(er), por que o Django dá pouquíssima liberdade para o template com relação a código, ou seja, você define na sua view as query&#8217;s que vão ser mandadas para o template e no template ele vai usar apenas o que você pode mandar, e não vai poder consultar ou fazer maiores alterações no conteúdo, portanto, quem deve cuidar de como o conteúdo vai chegar ao template são os programadores que vão enviar os dados para quem vai fazer a integração com o layout.</li>
</ul>

<p><strong>Pontos fracos</strong></p>

<ul>
    <li> Não encontrei uma padronização / centralização para os plugins do Django&#8230;Você encontra vários modos de instalação para determinados plugins, alguns vem com setup.py, outros falam para você jogar na pasta do Python. Não tem algo centralizado como as gems do Rails ou os próprios plugins para jogar na pasta vendor/plugins, ou usar um script/plugin install &#8230;</li>
</ul>

<ul>
    <li> Não cria uma estrutura de pastas, deixando que você faça o que bem entender com a estrutura, ao invés de usar uma convenção sobre configuração.</li>
    <li>Talvez seja a inexperiencia, mas eu não achei legal o que tivemos que fazer com o settings, pois cada um precisava colocar uma configuração diferente de diretórios de imagens, ou algumas configurações referentes aos plugins ( filebrowser no caso ), portanto cada um tinha que ter um settings.py diferente, informando o settings.py quando vamos executar alguma coisa.</li>
</ul>

<ul>
    <li>Não me acostumei muito bem com o esquema de indentação do Python&#8230;Não que seja ruim, mas como estavamos trabalhando em sistemas operacionais diferentes de vez em quando aparecia um indentation error por causa de conversões de tabs em espaços e tal.  Sei que esse argumento vai ser facilmente contestado com um: &#8220;É só configurar o seu editor de texto&#8221; ou &#8220;usa um editor de texto multiplataforma&#8221;, mas mesmo assim&#8230;A idéia da indentação é legal, mas ainda me atrapalha um pouco.</li>
</ul>

<p>Bem, é isso! Essas foram as minhas primeiras impressões do Django, como disse, não tinha experiência com o framework e muitas coisas poderiam ser evitadas mais facilmente, ou feitas de um modo bem melhor.</p>

<p>Continuo gostando bastante do Rails, mas achei muito legal várias idéias do Django, e acho que tem aplicações legais dependendo do projeto que você for usar. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<p>Há braços</p>
]]></content:encoded>
			<wfw:commentRss>http://pothix.com/blog/development/rails-x-django/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Colocando sua aplicação Rails na Dreamhost</title>
		<link>http://pothix.com/blog/development/colocando-sua-aplicacao-rails-na-dreamhost</link>
		<comments>http://pothix.com/blog/development/colocando-sua-aplicacao-rails-na-dreamhost#comments</comments>
		<pubDate>Wed, 25 Mar 2009 04:59:49 +0000</pubDate>
		<dc:creator>PotHix</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Deploy]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://pothix.com/blog/?p=357</guid>
		<description><![CDATA[Æ!! Estou fazendo um pequeno site em Rails e como tinha que mostrar o andamento para um colega, aproveitei para testar como seria o Deploy desse projeto na DreamHost ( mesmo sabendo que o provedor final não será lá ), e achei  muito fácil de se fazer, portanto resolvi escrever um pouco sobre o processo. [...]]]></description>
			<content:encoded><![CDATA[<p>Æ!!</p>

<p>Estou fazendo um pequeno site em Rails e como tinha que mostrar o andamento para um colega, aproveitei para testar como seria o Deploy desse projeto na DreamHost ( mesmo sabendo que o provedor final não será lá ), e achei  muito fácil de se fazer, portanto resolvi escrever um pouco sobre o processo. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<p>Primeiramente, você precisa ter acesso SSH na sua conta. Se você ainda não tiver esse acesso apenas faça o seguinte procedimento:</p>

<ul>
    <li>Acesse o menu <strong>Users &gt; Manage Users</strong></li>
    <li>Clique em <strong>Edit</strong> no user que você vai usar para o acesso SSH</li>
    <li>Marque a opção <strong>Shell account &#8211; allows SFTP/FTP plus ssh access.</strong></li>
</ul>

<p>A partir daí você pode acessar por SSH assim como acessava por FTP, com esse usuário e senha. <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p>Agora que temos acesso SSH a conta, vamos colocar nossa aplicação lá! Se ela estiver no GitHub você pode fazer um clone da sua aplicação facilmente:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">git<span style="color: #000000; font-weight: bold;">@</span>github.com:usuario<span style="color: #000000; font-weight: bold;">/</span>projeto-qualquer.git</pre></div></div>


<p>Se não estiver no GitHub você pode fazer um pacote tar.gz e enviar facilmente por scp:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tar</span> cvf app.tar.gz aplicacao-quaquer<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">scp</span> usuario<span style="color: #000000; font-weight: bold;">@</span>xxx.xxx.xxx.xxx:<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>da<span style="color: #000000; font-weight: bold;">/</span>applicacao app.tar.gz</pre></div></div>


<p>*Sendo que o xxx é o endereço IP ou Nome da sua maquina na Dreamhost</p>

<p>Com nossa aplicaçào lá, vamos criar o nosso domínio ou sub-domínio no <a title="Painel de controle da Dreamhost" href="https://panel.dreamhost.com/">painel de controle da DreamHost</a> , pelo menu <strong>domains &gt; manage domains </strong>Geralmente seu domínio demora um pouco para começar a funcionar, mas você não precisa esperar que ele esteja totalmente funcional para que você continue o processo <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<p>O que você precisa fazer é?</p>

<ul>
    <li> Ativar o <strong>Ruby on Rails Passenger (mod_rails)</strong></li>
    <li>Apontar o <strong>Specify your web directory</strong> para o diretório public da sua aplicação</li>
</ul>

<p>Agora que temos o nosso domínio criado e validando ( lembre-se que não é instantâneo ), podemos configurar o nosso banco de dados!</p>

<p>Acesse o <a title="Manage Mysql" href="https://panel.dreamhost.com/index.cgi?tree=goodies.mysql&amp;">Manage Mysql</a> pelo menu <strong>Goodies &gt; Manage Mysql</strong> e preencha o formulário que está logo abaixo dos bancos de dados já existente ( se houver ) para criar um novo banco.</p>

<p>Com o novo banco de dados criado, vamos adaptar nossa aplicação para usá-lo! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<p>Vá no arquivo <strong>config/database.yml</strong> e altere as informações da seção <em>production</em> para o que foi configurado no painel..</p>

<p>Agora com tudo configurado, vamos rodas as nossas migrations para as configurações de produção:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">RAILS_ENV</span>=production rake db:migrate</pre></div></div>


<p>Com isso você já terá seu projeto funcionando assim que o domínio se propagar!</p>

<p>Foi bem mais simples do que eu pensava, como eu deixei o repositório com Git lá, basta eu fazer as alterações localmente e dar um push que já terei minha aplicação alterada lá! <img src='http://pothix.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p>É isso aí, espero que seja útil para vocês.</p>

<p>Há braços</p>
]]></content:encoded>
			<wfw:commentRss>http://pothix.com/blog/development/colocando-sua-aplicacao-rails-na-dreamhost/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
