<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>RodrigoPinto.me</title>
  <link type="application/atom+xml" rel="self" href="http://rodrigopinto.me/atom.xml"/>
  <link href="http://rodrigopinto.me/"/>
  <updated>2012-01-23T05:00:31-08:00</updated>
  <id>http://RodrigoPinto.me/</id>
  <author>
    <name>Rodrigo Pinto</name>
    <email>rodrigopqn@gmail.com</email>
  </author>
 
  
  <entry>
    <id>http://rodrigopinto.me/2012/01/23/install-postgresql-on-centos-55</id>
    <link type="text/html" rel="alternate" href="http://rodrigopinto.me/2012/01/23/install-postgresql-on-centos-55/"/>
    <title>Install PostgreSQL on CentOS 5.5</title>
    <updated>2012-01-23T00:00:00-08:00</updated>
    <author>
      <name>Rodrigo Pinto</name>
      <email>rodrigopqn@gmail.com</email>
    </author>
    <content type="html">&lt;h4&gt;DISCLAIMER&lt;/h4&gt;

&lt;p&gt;I did it for 3 times and i always forget the correct way. In case that always that i started installing postgres8.1 on CentOS 5.5, i have got in trouble, anyway, this guide is to remember me&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;This post will be an express &quot;how to&quot; guide, to install the PostgreSQL on CentOS 5.5.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;First of all, you should install the postgres libs:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo yum install postgresql84-server postgresql84-devel&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After installation concluded, initialize the cluster database:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ /etc/init.d/postgresql initdb&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now start the postres service:
&lt;code&gt;$ /etc/init.d/postgresql start&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;And now grab a beer and be happy logged on console:&lt;/p&gt;

&lt;p&gt;  &lt;code&gt;$ psql -U postgres&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Cheers, bro!&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <id>http://rodrigopinto.me/2011/10/02/translating-submit-button-on-active-admin</id>
    <link type="text/html" rel="alternate" href="http://rodrigopinto.me/2011/10/02/translating-submit-button-on-active-admin/"/>
    <title>Translating submit button on ActiveAdmin</title>
    <updated>2011-10-02T00:00:00-07:00</updated>
    <author>
      <name>Rodrigo Pinto</name>
      <email>rodrigopqn@gmail.com</email>
    </author>
    <content type="html">&lt;p&gt;Hi mate, this is my first english post and it will be about internationalization on active_admin gem.
Currently i am working on a project using Active Admin interface, and i came across with an i18n problem, that is translate the submit buttons.&lt;/p&gt;

&lt;p&gt;After google a few i have found an &lt;a href=&quot;https://github.com/gregbell/active_admin/issues/507&quot;&gt;issue&lt;/a&gt; and &lt;a href=&quot;https://github.com/gregbell/active_admin/issues/349&quot;&gt;another one&lt;/a&gt; and both, especially &lt;a href=&quot;https://github.com/gregbell/active_admin/issues/507#issuecomment-2157030&quot;&gt;this comment&lt;/a&gt; showed me that the responsible about submit button was the &lt;a href=&quot;https://github.com/justinfrench/formtastic&quot;&gt;formtastic&lt;/a&gt; and then I just needed to copy content of &lt;a href=&quot;https://github.com/justinfrench/formtastic/blob/master/lib/locale/en.yml&quot;&gt;formtastic locale file&lt;/a&gt; to my locale file and i've got solved that issue.&lt;/p&gt;

&lt;p&gt;Take a look below what do you need to do.&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/1257776.js?file=pt-br.yml&quot;&gt;&lt;/script&gt;


&lt;br/&gt;


&lt;p&gt;That's all&lt;/p&gt;

&lt;h4&gt;DISCLAIMER&lt;/h4&gt;

&lt;p&gt;Sorry if i made some grammatical mistakes on this text, it is my first english post as i told before. Actually, it is just the first one, I am planning post in english as part of my studies.&lt;/p&gt;

&lt;p&gt;Thanks and see ya bro!&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <id>http://rodrigopinto.me/2010/08/01/customizando-os-fields-errors-do-rails</id>
    <link type="text/html" rel="alternate" href="http://rodrigopinto.me/2010/08/01/customizando-os-fields-errors-do-rails/"/>
    <title>Customizando os Fields Errors do Rails</title>
    <updated>2010-08-01T00:00:00-07:00</updated>
    <author>
      <name>Rodrigo Pinto</name>
      <email>rodrigopqn@gmail.com</email>
    </author>
    <content type="html">&lt;p&gt;Quem desenvolve com &lt;strong&gt;&lt;a href=&quot;http://rubyonrails.org/&quot;&gt;Ruby on Rails&lt;/a&gt;&lt;/strong&gt;, sabe que esta é uma ferramenta muito poderosa para desenvolvimento web. Mas como todo framework, que te fornece uma estrutura básica, e a partir dai faz as customizações necessárias, que por sinal é tão simples como o uso do framework.&lt;/p&gt;

&lt;p&gt;Uma necessidade comum é adaptar o formato de saída das mensagens de erro das validações de formulários, para o estilo de cada projeto.&lt;/p&gt;

&lt;p&gt;O padrão gerado pelo &lt;strong&gt;Rails&lt;/strong&gt; é como o a seguir:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm5.static.flickr.com/4125/4846589232_64d788ea98.jpg&quot; width=&quot;435&quot; height=&quot;402&quot; alt=&quot;Default error message&quot; title=&quot;default error message&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Porém, é necessério adaptá-lo para um formato que atenda a necessidade do seu projeto e isto é muito muito simples, veja no exemplo abaixo já alterado.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm5.static.flickr.com/4145/4846589304_dfd006acec.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; alt=&quot;custom error message&quot; title=&quot;custom error message&quot;/&gt;&lt;/p&gt;

&lt;p&gt;Interessante não?
A mensagem é exibida ao lado do &lt;em&gt;label&lt;/em&gt; do campo, e a borda do campo fica marca na cor vermelha. E o melhor de tudo é que é muito simples de se fazer esta alteração.
No arquivo &lt;strong&gt;config/enviroment.rb&lt;/strong&gt;, vá até o final do arquivo e adicione este trecho de código.&lt;/p&gt;

&lt;script src=&quot;http://gist.github.com/479961.js&quot;&gt; &lt;/script&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Para que tudo funcione corretamente, você precisa da gem &lt;strong&gt;&lt;a href=&quot;http://github.com/hpricot/hpricot&quot;&gt;Hpricot&lt;/a&gt;&lt;/strong&gt; que é um parser &lt;strong&gt;html&lt;/strong&gt;, que utilizaremos para fazer a busca no &lt;strong&gt;html&lt;/strong&gt; gerado pelo rails para inserir dinâmicamente o css.&lt;/p&gt;

&lt;p&gt;Já o css fica por sua conta, eu mantive os gerados pelo &lt;strong&gt;Rails&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;[UPDATE]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Como o &lt;strong&gt;&lt;a href=&quot;http://twitter.com/caike&quot;&gt;Caike&lt;/a&gt;&lt;/strong&gt; falou no comentário, uma outra forma de customizar os Fields Errors, é herdando o &lt;strong&gt;ActionView::Helpers::FormBuilder&lt;/strong&gt;, assim você tem acesso ao model em questão para verificar a existência de erros e fazer as adaptações necessárias.
Mediante esta dica, resolvi fazer esta implementação para comparar as diferenças, vejamos então.&lt;/p&gt;

&lt;p&gt;No diretório &lt;strong&gt;lib&lt;/strong&gt; da sua aplicação crie um arquivo ruby, eu o chamei de &lt;strong&gt;lib/customized_error_form_builder.rb&lt;/strong&gt;, e adicione o código a seguir:&lt;/p&gt;

&lt;script src=&quot;http://gist.github.com/503552.js&quot;&gt; &lt;/script&gt;


&lt;p&gt;O próximo passo é fazer o seu form usar o &lt;strong&gt;FormBuilder&lt;/strong&gt; customizado, e para isso existem duas formas.&lt;/p&gt;

&lt;p&gt;Uma delas é adicionando ao seu  &lt;strong&gt;config/enviroment.rb&lt;/strong&gt;  o código a seguir, e notem que eu comentei as linhas anteriormente adicionadas.&lt;/p&gt;

&lt;script src=&quot;http://gist.github.com/503566.js&quot;&gt; &lt;/script&gt;


&lt;p&gt;Fazendo da forma acima todos os formulários da aplicação farão uso do seu &lt;strong&gt;FormBuilder&lt;/strong&gt; customizado, porém se quiser que apenas um formulário específico faça uso dele, desconsidere o código acima e apenas adicione ao seu &lt;strong&gt;form_for&lt;/strong&gt; o builder, veja como ficaria seu form:&lt;/p&gt;

&lt;script src=&quot;http://gist.github.com/503571.js&quot;&gt; &lt;/script&gt;


&lt;p&gt;Após executar a aplicação é possível reparar que o resultado é o mesmo da primeira custimozação feita neste post, porém a quantidade de código escrito é muito maior e não cobre todas as situações, se repararmos no nosso arquivo &lt;strong&gt;lib/customized_error_form_builder.rb&lt;/strong&gt; ele implementa apenas os método para label e text_field, não cobrindo outros campos do &lt;strong&gt;form_for&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Particularmente &lt;strong&gt;e&lt;/strong&gt; para este tipo de situação eu utilizaria a primeira implementação, porém, é importante conhecer melhor sobre &lt;strong&gt;ActionView::Helpers::FormBuilder&lt;/strong&gt;, pois pode ser útil para seus projetos ou da sua empresa, no caso de ter uma implementação própria para os formulários dos seus projetos. A gem &lt;strong&gt;&lt;a href=&quot;http://github.com/justinfrench/formtastic&quot;&gt;formtastic&lt;/a&gt;&lt;/strong&gt; é um exemplo de onde a herança do  &lt;strong&gt;ActionView::Helpers::FormBuilder&lt;/strong&gt; foi aplicada para ter um melhor resultado.&lt;/p&gt;

&lt;p&gt;Até, mais e abraços;&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <id>http://rodrigopinto.me/2010/07/07/cheat-sheet-rvm-gemset</id>
    <link type="text/html" rel="alternate" href="http://rodrigopinto.me/2010/07/07/cheat-sheet-rvm-gemset/"/>
    <title>[Cheat Sheet] RVM +Gemset</title>
    <updated>2010-07-07T00:00:00-07:00</updated>
    <author>
      <name>Rodrigo Pinto</name>
      <email>rodrigopqn@gmail.com</email>
    </author>
    <content type="html">&lt;p&gt;Após fazer uma &quot;limpeza&quot; no meu ambiente ruby utilizando o &lt;strong&gt;&lt;a href=&quot;http://rvm.beginrescueend.com/rvm/&quot;&gt;RVM&lt;/a&gt;&lt;/strong&gt; que Ã?Â© um  gerenciador de &lt;strong&gt;rubies&lt;/strong&gt;  e a &lt;strong&gt;&lt;a href=&quot;http://rvm.beginrescueend.com/gemsets/&quot;&gt;Gemset&lt;/a&gt;&lt;/strong&gt; que o gerenciador de diretórios de gems do &lt;strong&gt;RVM&lt;/strong&gt;.
Resolvi deixar aqui um cheat sheet para facilitar que for utilizar o  &lt;strong&gt;&lt;a href=&quot;http://rvm.beginrescueend.com/&quot;&gt;RVM + Gemset&lt;/a&gt;&lt;/strong&gt;.
Então delicie-se com essa maravilha, que só não é 100% porque não faz café. ;p&lt;/p&gt;

&lt;p&gt;Para fazer a instalação do &lt;strong&gt;RVM&lt;/strong&gt; confira em &lt;strong&gt;&lt;a href=&quot;http://rvm.beginrescueend.com/rvm/install/&quot;&gt;RVM install&lt;/a&gt;&lt;/strong&gt;, após finalizar a instalação divirta-se com as dicas abaixo.&lt;/p&gt;

&lt;h3&gt;Instalando uma versão do ruby no RVM&lt;/h3&gt;

&lt;p&gt;rvm install &amp;lt;versão-ruby&gt;&lt;/p&gt;

&lt;p&gt;ex: rvm install 1.8.7, ree&lt;/p&gt;

&lt;h3&gt;Definindo a versão do ruby&lt;/h3&gt;

&lt;p&gt;rvm &amp;lt;versão-ruby&gt;&lt;/p&gt;

&lt;p&gt;ex: rvm ree&lt;/p&gt;

&lt;h3&gt;Definindo uma versão default do ruby no RVM&lt;/h3&gt;

&lt;p&gt;rvm --default &amp;lt;versão-ruby&gt;&lt;/p&gt;

&lt;p&gt;ex: rvm --default 1.8.7&lt;/p&gt;

&lt;h3&gt;Trocando a versão do ruby do RVM  para o ruby do seu sistema&lt;/h3&gt;

&lt;p&gt;rvm system&lt;/p&gt;

&lt;h3&gt;Listando seus &lt;strong&gt;rubies&lt;/strong&gt; instaladas via RVM&lt;/h3&gt;

&lt;p&gt;rvm list&lt;/p&gt;

&lt;h3&gt;Verificando a Gemset atual&lt;/h3&gt;

&lt;p&gt;rvm gemdir&lt;/p&gt;

&lt;h3&gt;Criando uma Gemset&lt;/h3&gt;

&lt;p&gt;rvm gemset create &lt;em&gt;&lt;nome&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;ex: rvm gemset create meu_projeto&lt;/p&gt;

&lt;h3&gt;Definindo uma versão do ruby e uma Gemset específica para um projeto&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Criar  um arquivo .rvmrc na raiz do projeto&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ex:  touch ~/projetos/meu_projeto/.rmvrc&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Colocar a versão do ruby com a gemset específica&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;echo &quot;rvm use ree@meu_projeto&quot; &gt; ~/projects/seu_projeto/.rvmrc&lt;/p&gt;

&lt;p&gt;É isso ai,
Abraços;&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <id>http://rodrigopinto.me/2010/06/13/come-ando-com-erlang</id>
    <link type="text/html" rel="alternate" href="http://rodrigopinto.me/2010/06/13/come-ando-com-erlang/"/>
    <title>Começando com Erlang</title>
    <updated>2010-06-13T00:00:00-07:00</updated>
    <author>
      <name>Rodrigo Pinto</name>
      <email>rodrigopqn@gmail.com</email>
    </author>
    <content type="html">&lt;p&gt;Na última semana, dei o ponta pé inicial nos estudos sobre &lt;strong&gt;[Erlang][1]&lt;/strong&gt;, para ser mais preciso na terça-feira dia 01/06/2010. Faz algum tempo que estou interessado em aprender um pouco sobre &lt;strong&gt;&lt;a href=&quot;http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_funcional&quot;&gt;programação funcional&lt;/a&gt;&lt;/strong&gt;, porém estava sempre colocando outras  &lt;em&gt;&quot;prioridades&quot;&lt;/em&gt; em primeiro lugar e não conseguia o tempo necessário para iniciar os estudos.
Porém, resolvi conseguir este tempo quando o &lt;strong&gt;&lt;a href=&quot;http://www.aleuai.com.br/blog/&quot;&gt;Alessandro Martins&lt;/a&gt;&lt;/strong&gt; e o Vanderson &lt;em&gt;&quot;Argentino&quot;&lt;/em&gt; Motta decidiram criar um &lt;strong&gt;&lt;a href=&quot;http://groups.google.com.br/group/forkinrio?hl=pt-BR&quot;&gt;ForkinRio&lt;/a&gt;&lt;/strong&gt; &lt;strong&gt;[Erlang][1]&lt;/strong&gt;, dado meu prévio interesse de aprender algo novo e diferente para quebrar um pouco o paradigma, me juntei a galera.
Sendo assim, a partir  de hoje vou começar a fazer minhas notas aqui no blog, e você poderá acompanhar e evoluir junto com a turma do &lt;strong&gt;ForkinRio&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Partindo para o que interessa, vamos começar a falar de &lt;strong&gt;[Erlang][1]&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sobre Erlang -&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nasceu de pesquisas dentro da Ericsson para suprir as necessidades na área de telefonia. Sua primeira versão foi feita por Joe Armstrong em 1986 e seu código era proprietário, porém em 1998 teve sua primeira versão liberada como open-source.
&lt;strong&gt;&lt;a href=&quot;http://www.erlang.org&quot;&gt;Erlang&lt;/a&gt;&lt;/strong&gt; foi projetado com foco em &quot;non-stop system&quot;(sistemas de operação contínua como por exemplo, sistemas de telefonia, tráfego aéreo e outros, ou seja, sistemas que não podem sair do ar para que sejam feitas alterações conhecido também como &lt;em&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Hot_swapping&quot;&gt;Hot-Swapping&lt;/a&gt;&lt;/em&gt;).
Algumas outras caracteríticas importantes são sintaxe declarativa, concorrência, real-time(tempo real), distribuição, robustez, integração e gerenciamento de memória com &lt;em&gt;&lt;a href=&quot;http://pt.wikipedia.org/wiki/Coletor_de_lixo&quot;&gt;Garbage Collector&lt;/a&gt;&lt;/em&gt; em tempo real.&lt;/p&gt;

&lt;p&gt;Agora que já temos uma breve idéia de onde, como e porque surgiu, vamos colocar a mão na massa.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Instalação -&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A instalação você pode conferir no próprio site do Erlang, onde você encontrará o necessário para &lt;strong&gt;&lt;a href=&quot;http://erlang.org/doc/installation_guide/install.html#id2258617&quot;&gt;UNIX&lt;/a&gt;&lt;/strong&gt; e tambêm para &lt;strong&gt;&lt;a href=&quot;http://erlang.org/doc/installation_guide/install.html#id2252066&quot;&gt;Windows&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Matando a curiosidade -&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Agora vamos ver as coisas funcionando.
Abra o console e digite &lt;strong&gt;&lt;em&gt;erl&lt;/em&gt;&lt;/strong&gt;, ele deverá ter a aparência a seguir:&lt;/p&gt;

&lt;script src=&quot;http://gist.github.com/436107.js&quot;&gt;&lt;/script&gt;


&lt;p&gt;Se o seu console se pareceu com este exemplo acima está tudo ok, se alguma coisa deu errado, reveja a instalação.
Para começar, vamos falar sobre pogramação sequêncial, que ê algo básico e ao mesmo tempo importante.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Programação sequencial -&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Em Erlang a ordem de declaração das cláusulas tem importância.
Como sou muito criativo, vou usar o exemplo padrão que ê o fatorial. Crie um arquivo chamado factorial.erl, ele terá o seguinte conteÃ?Âºdo:&lt;/p&gt;

&lt;script src=&quot;http://gist.github.com/436094.js&quot;&gt;&lt;/script&gt;


&lt;p&gt;Neste exemplo, definimos duas cláusulas para o factorial, &lt;em&gt;fac(0)&lt;/em&gt; e &lt;em&gt;fac(N)&lt;/em&gt;, quando a função &lt;strong&gt;&lt;em&gt;fac&lt;/em&gt; &lt;/strong&gt; for chamada para &lt;strong&gt;1&lt;/strong&gt; argumento, as cláusulas serão verificadas sequencialmente, ou seja, a primeira ocorrência no módulo que tiver correspondência com o padrão (&lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Pattern_matching&quot;&gt;Pattern Matching&lt;/a&gt;&lt;/strong&gt;) chamado, será executada.
Abra o console novamente, copile o código e execute uma chamada para cada a função fatorial com parâmetros diferentes como o exemplo abaixo:&lt;/p&gt;

&lt;script src=&quot;http://gist.github.com/436108.js&quot;&gt;&lt;/script&gt;


&lt;p&gt;É importante definir a cláusula &lt;strong&gt;fac(0)&lt;/strong&gt; antes de &lt;strong&gt;fac(N)&lt;/strong&gt;, pela questão da verificação sequencial,
senão sempre quer for feita uma chamada a função &lt;strong&gt;fac&lt;/strong&gt;, será executada a função &lt;strong&gt;fac(N)&lt;/strong&gt;.
Faça o teste alterando o arquivo para:&lt;/p&gt;

&lt;script src=&quot;http://gist.github.com/436113.js&quot;&gt;&lt;/script&gt;


&lt;p&gt;Volte para o console e tente compilar o arquivo, e você terá um &lt;em&gt;warning&lt;/em&gt; como este a seguir.&lt;/p&gt;

&lt;script src=&quot;http://gist.github.com/436117.js&quot;&gt;&lt;/script&gt;


&lt;p&gt;Com está mensagem de alerta que o console nos mostra, fica fácil entender como funciona a programação sequencial!?!&lt;/p&gt;

&lt;p&gt;E com isso fechamos este post inicial sobre &lt;strong&gt;Erlang&lt;/strong&gt;, e se você curtiu o aguarde os próximos.&lt;/p&gt;

&lt;p&gt;Abraços e até mais.&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <id>http://rodrigopinto.me/2010/05/31/resenha-pythoncampus-madureira</id>
    <link type="text/html" rel="alternate" href="http://rodrigopinto.me/2010/05/31/resenha-pythoncampus-madureira/"/>
    <title>Resenha PythonCampus Madureira</title>
    <updated>2010-05-31T00:00:00-07:00</updated>
    <author>
      <name>Rodrigo Pinto</name>
      <email>rodrigopqn@gmail.com</email>
    </author>
    <content type="html">&lt;p&gt;No último sábado dia 29/05/2010, mais uma edição da &lt;strong&gt;&lt;a href=&quot;http://pythoncampus.org&quot;&gt;PythonCampus&lt;/a&gt;&lt;/strong&gt; foi realizada, desta vez a universidade que sediou o evento foi a Estácio, no campus de Madureira.
 Contamos mais uma vez com o apoio da &lt;strong&gt;&lt;a href=&quot;http://www.arteccom.com.br/&quot;&gt;Artecomm&lt;/a&gt;&lt;/strong&gt; que colaborou bastante, ajudou na produção do cartaz e disponibilizou resvistas &lt;strong&gt;&lt;a href=&quot;http://www.revistatidigital.com.br/index.php/&quot;&gt;TI DIGITAL&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Como previsto no horário o evento começou ás 9:00 da matina, porém a chegada das pessoas estava um tanto quanto &quot;tí­mida&quot;, foi quando descobrimos que &lt;strong&gt;faltou divulgação dentro da universidade&lt;/strong&gt; e posteriormente confirmamos isso em uma enquente, e descorminos que apenas 7% das pessoas presentes eram alunos da universidade, todas as outras pessoas vieram pelas outras mídias, como mail-list, comunidades, twitter e etc.&lt;/p&gt;

&lt;p&gt;A partir disso tomamos a decisão de &lt;strong&gt;integrar as pessoas&lt;/strong&gt; que lá estavam até que o restante chegasse, então optamos por fazer um grande &lt;strong&gt;&lt;a href=&quot;http://dojorio.org&quot;&gt;Coding Dojo&lt;/a&gt;&lt;/strong&gt;, com problema e
liguangem escolhidos deu-se início ao dojo (obviamente em Python); ao seu término foram discutidas dúvidas sobre &lt;strong&gt;&lt;a href=&quot;http://python.org&quot;&gt;Python&lt;/a&gt;&lt;/strong&gt; que surgiram durante a sessão.
Como o desenvolvimento do &lt;strong&gt;&lt;a href=&quot;http://dojorio.org&quot;&gt;Coding Dojo&lt;/a&gt;&lt;/strong&gt; alterou um pouco os horários, continuamos a grade normalmente porém o &lt;em&gt;coffee break&lt;/em&gt; acabou se fundindo um pouco as palestras e a galera não parou nem para comer era &lt;strong&gt;atenção na palestra&lt;/strong&gt; e biscoitinhos rolando.&lt;/p&gt;

&lt;p&gt;Nesse momento começou a palestra do &lt;strong&gt;&lt;a href=&quot;http://metronus.com/blog&quot;&gt;André Fonseca&lt;/a&gt;&lt;/strong&gt;, onde ele falou sobre o case &lt;strong&gt;Globo.com&lt;/strong&gt;, quando a empresa decidiu investir em tecnologias e metologias que o time sabia que atenderia as necessidades da empresa. Seguindo esta linha ele falou não só sobre &lt;strong&gt;Python&lt;/strong&gt;, mas sobre &lt;strong&gt;&lt;a href=&quot;http://www.ruby-lang.org&quot;&gt;Ruby&lt;/a&gt; &lt;/strong&gt;, &lt;strong&gt;&lt;a href=&quot;http://www.scala-lang.org/&quot;&gt;Scala&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href=&quot;http://jquery.com/&quot;&gt;jQuery&lt;/a&gt;&lt;/strong&gt; entre outras ferramentas, chamandando a atenção da galera para a realidade. A galera se entreteu bastante com a palestra que foi quase um teatro, a galera saiu do evento &quot;estalando os dedos&quot; &lt;em&gt;clap-clap-clap&lt;/em&gt;, bricando com a mnemônica que o André usou para &lt;strong&gt;acordá-los&lt;/strong&gt; para o que está acontecendo no mercado de &lt;strong&gt;desenvolvimento de software&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Em seguinda &lt;strong&gt;&lt;a href=&quot;http://www.visual.pro.br/&quot;&gt;Jonh Edson&lt;/a&gt;&lt;/strong&gt; falou sobre &lt;strong&gt;Computação Visual&lt;/strong&gt;, sobre &lt;strong&gt;&lt;a href=&quot;http://www.blender.org/&quot;&gt;Blender&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href=&quot;http://pyopengl.sourceforge.net/&quot;&gt;PyOpenGL&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href=&quot;http://www.panda3d.org/&quot;&gt;Panda3d&lt;/a&gt;&lt;/strong&gt;,  &lt;strong&gt;&lt;a href=&quot;http://pt.wikipedia.org/wiki/Realidade_aumentada&quot;&gt;realidade aumentada&lt;/a&gt;&lt;/strong&gt;, entre outros, deu um &lt;strong&gt;UP&lt;/strong&gt; na galera exibindo videos do que é possível fazer com &lt;strong&gt;Python&lt;/strong&gt; e &lt;strong&gt;Computação Visual&lt;/strong&gt;, foi muito interessante, pois havia um bom número de pessoas começando na área de TI que ficaram surpresas, e outras que não estavam começando, mas também tiveram a mesma reação.&lt;/p&gt;

&lt;p&gt;Na continuidade &lt;strong&gt;Álvaro &quot;Turicas&quot; Justen](http://www.justen.eng.br/)&lt;/strong&gt; tocou no assunto &lt;strong&gt;desenvolvimento web&lt;/strong&gt; mais afundo. Explicou sobre a importância de ferramentas em relação a prazo e qualidade, falou sobre a estrutura básica de frameworks web, &lt;strong&gt;&lt;a href=&quot;http://pt.wikipedia.org/wiki/MVC&quot;&gt;MVC&lt;/a&gt;&lt;/strong&gt; e partiu para mostrar onde o &lt;strong&gt;Python&lt;/strong&gt; entra nessa &lt;em&gt;onda&lt;/em&gt;. Alguns frameworks foram citados como &lt;strong&gt;&lt;a href=&quot;http://turbogears.org/&quot;&gt;Turbo Gears&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href=&quot;http://grok.zope.org/&quot;&gt;Grok&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href=&quot;http://pylonshq.com/&quot;&gt;Pylons&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href=&quot;http://www.djangoproject.com/&quot;&gt;Django&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href=&quot;http://www.zope.org/&quot;&gt;Zope&lt;/a&gt;&lt;/strong&gt; até chegar ao &lt;strong&gt;&lt;a href=&quot;http://www.web2py.com/&quot;&gt;Web2Py&lt;/a&gt;&lt;/strong&gt; onde ele demonstrou todo o poder desse framework &lt;strong&gt;minimalista&lt;/strong&gt; e &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Don%27t_repeat_yourself&quot;&gt;DRY&lt;/a&gt;&lt;/strong&gt; que é relativamente novo no mundo &lt;strong&gt;&lt;a href=&quot;http://python.org&quot;&gt;Python&lt;/a&gt;&lt;/strong&gt; mas está fazendo barulho.&lt;/p&gt;

&lt;p&gt;E Para fechar bonito o evento &lt;strong&gt;&lt;a href=&quot;http://twitter.com/alobato&quot;&gt;Arley Lobato&lt;/a&gt;&lt;/strong&gt; falou sobre &lt;strong&gt;Empreendedorismo&lt;/strong&gt; um tema que tem ocupado muitas pautas de eventos, revistas e livros. O título da palestra era &lt;em&gt;Empreender não custa nada&lt;/em&gt;, que foi adaptado para &quot;Empreender &lt;em&gt;na web&lt;/em&gt; não custa &lt;em&gt;quase&lt;/em&gt; nada&quot; para dar o tom da apresentação.
Ele começou comparando o &lt;strong&gt;empreendimento&lt;/strong&gt; de uma lanchonete com um &lt;strong&gt;produto na web&lt;/strong&gt; e seus respectivos custos. Falou sobre os &lt;strong&gt;prós&lt;/strong&gt; e os &lt;strong&gt;contras&lt;/strong&gt; de empreender na web, trabalhar sozinho, e a relação com o &lt;strong&gt;tempo&lt;/strong&gt;. Mostrou seu case como jovem empreendedor falando do site &lt;strong&gt;&lt;a href=&quot;http://trocandolivros.com&quot;&gt;Trocando Livros&lt;/a&gt;&lt;/strong&gt; e seu crescimento potencial; Citou o recente lançamento &lt;strong&gt;&lt;a href=&quot;http://mercadodelivros.com&quot;&gt;Mercado de Livros&lt;/a&gt;&lt;/strong&gt; que é um site para venda de livros &quot;usados&quot;. Ele fechou evento dando exemplo do desenvolvedor do &lt;strong&gt;Plenty of Fish&lt;/strong&gt; que fatura quase 1 milhão de dólares ou mais somente em &lt;strong&gt;advertising&lt;/strong&gt; ou no bom português &lt;strong&gt;publicidade&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;E assim fechamos mais uma &lt;strong&gt;PythonCampus&lt;/strong&gt;. Porém não parou por ai como de costume partimos para a nossa grande e padrão confraternização &lt;strong&gt;&lt;a href=&quot;http://horaextra.org&quot;&gt;#horaextra&lt;/a&gt;&lt;/strong&gt;, a maioria das pessoas foram embora, mais fechamos um mesa para 18 pessoas em uma pizzaria e comemos até não ter mais assunto (nota: assunto sempre tem mas o pessoal tinha outros compromissos).&lt;/p&gt;

&lt;p&gt;E foi assim que fechamos mais um evento. Fica a resenha do evento e até a próxima.&lt;/p&gt;

&lt;p&gt;Abraço;&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <id>http://rodrigopinto.me/2010/05/28/palestra-sobre-software-livre-e-comunidade</id>
    <link type="text/html" rel="alternate" href="http://rodrigopinto.me/2010/05/28/palestra-sobre-software-livre-e-comunidade/"/>
    <title>Palestra sobre Software Livre e Comunidade</title>
    <updated>2010-05-28T00:00:00-07:00</updated>
    <author>
      <name>Rodrigo Pinto</name>
      <email>rodrigopqn@gmail.com</email>
    </author>
    <content type="html">&lt;p&gt;Nos últimos dias estive envolvido junto com o &lt;em&gt;&lt;a href=&quot;http://pythonrio.org&quot;&gt;resto&lt;/a&gt; &lt;a href=&quot;http://dojorio.org&quot;&gt;da&lt;/a&gt; &lt;a href=&quot;http://horaextra.org&quot;&gt;turma&lt;/a&gt;&lt;/em&gt; na produção da &lt;a href=&quot;http://pythoncampus.org&quot;&gt;PythonCampus&lt;/a&gt;, o que tem me levado algumas horas do dia..&lt;/p&gt;

&lt;p&gt;Terceira-feira 25/05/2010, estive na Estácio de Madureia resolvendo algumas pendências da próxima &lt;a href=&quot;http://pythoncampus.org&quot;&gt;PythonCampus dia 29/05/2010&lt;/a&gt;. Saindo de lá a Prof. Regina Felício, me perguntou se eu poderia ajudá-la de alguma forma, pois haveria uma palestras no campus Nova Iguçu, porám o palestrante, teve algum problema e não poderia ir, traduzindo me propus a ir, isto era por volta das 14:00 e a palestra seria as 19:30. Calculando teria uma média de 3 horas para preparar a apresentação, então decidi falar de algo que tem tido bastante relevância para mim nos últimos tempos.&lt;/p&gt;

&lt;p&gt;O tema foi &lt;strong&gt;Software Livre e Comunidade&lt;/strong&gt;, onde tentei passar a essência do software livre, o que ele nos agrega com conceitos e valores. Dando sequência, puxei um gancho da relação direta que o software livre tem com as comunidades, o que o software livre fomenta, a dependência das pessoas e o ciclo que é criado em torno do dele.
Com isso passei a falar sobre a importância das comunidades, o &quot;pool&quot; de conhecimento que é gerado, os valores que tem de ao participar de uma comunidade, o fator medo de ir em frente, o caso dela não existir ou não estar próxima. Partindo para cima disse, crie a sua turma, curta a onda, isto por si só já tem valor.
Falei da preocupação nunca olhar só para si, pedir ajuda quando precisar, mas também doar quando possível, até chegar ao assunto sobre que temos feitos de &lt;a href=&quot;http://smallactsmanifesto.org&quot;&gt;Small Acts&lt;/a&gt; que foram oriundos da existência de comunidades.&lt;/p&gt;

&lt;p&gt;Confira a apresentação.&lt;/p&gt;

&lt;p style=&quot;width:425px&quot; id=&quot;__ss_4333117&quot;&gt;&lt;strong style=&quot;display:block;margin:12px 0 4px&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/rodrigoospinto/software-livre-e-comunidades&quot; title=&quot;Software Livre e Comunidades&quot;&gt;Software Livre e Comunidades&lt;/a&gt;&lt;/strong&gt;&lt;object id=&quot;__sse4333117&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=slc-100527160029-phpapp02&amp;rel=0&amp;stripped_title=software-livre-e-comunidades&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed name=&quot;__sse4333117&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=slc-100527160029-phpapp02&amp;rel=0&amp;stripped_title=software-livre-e-comunidades&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

</content>
  </entry>
  
  <entry>
    <id>http://rodrigopinto.me/2010/05/28/bem-vindo-a-casa</id>
    <link type="text/html" rel="alternate" href="http://rodrigopinto.me/2010/05/28/bem-vindo-a-casa/"/>
    <title>Bem vindo a casa</title>
    <updated>2010-05-28T00:00:00-07:00</updated>
    <author>
      <name>Rodrigo Pinto</name>
      <email>rodrigopqn@gmail.com</email>
    </author>
    <content type="html">&lt;p&gt;Há algum tempo, venho postergando a idéia de criar um blog. No início era a desculpa de que não saberia o que escrever, depois foi o fato de &quot;não ter tempo&quot;, e por fim a falta de priorização no meu dia a dia.
Porém, este tempo de desculpas ficou para trás, e a partir de agora nasce mais um blog para você companhar.&lt;/p&gt;

&lt;p&gt;Beleza, mas por que criar um blog?&lt;/p&gt;

&lt;p&gt;Simples, existem dois motivos:&lt;/p&gt;

&lt;p&gt;O primeiro, porém não mais importante, é por ser uma forma de registrar o que estou fazendo e pensando.&lt;/p&gt;

&lt;p&gt;Já o segundo, com maior relevância, foi uma das formas no molde &lt;a href=&quot;http://smallactsmanifesto.org&quot;&gt;Small Acts&lt;/a&gt; que encontrei de retribuir o conhecimento que adquiri e que continuo adquirindo através de outras pessoas.
Como grande parte dos assuntos que hoje conheço vieram de informações encontradas em sites, blogs, tutoriais entre outras fontes de conhecimento existentes na web, refleti e decidi que uma boa forma de agradecer isto seria compartilhar os meus conhecimentos e pensamentos com outras pessoas da mesma forma, disponibilizando na web, então nasce o &lt;a href=&quot;http://rodrigopinto.me&quot;&gt;RodrigoPinto.me&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Seja bem vindo e sinta-se em casa!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;[UPDATE]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Queria deixar também um agradecimento especial ao &lt;strong&gt;&lt;a href=&quot;http://tapajos.me&quot;&gt;Marcos Tapajós&lt;/a&gt;&lt;/strong&gt;, que me ajudou e aturou até a publicação do blog. Abraços Tapajós. ;p&lt;/p&gt;
</content>
  </entry>
  
</feed>
