Archive for junho \25\UTC 2010

Estamos loucos!

junho 25, 2010

Estou ainda na metade do livro do Ricardo Semler “Você está louco!”, mas já foi possível perceber que realmente estamos loucos.

Costumamos ser 8 ou 80 no que se diz respeito ao pensar. Pensamos pouco ou quase nada e tomamos atitudes idiotas/erradas ou pensamos muito e perdemos o tempo e até a paciência para agir.

Vivemos num mundo pseudo-democrático, pseudo pois não sabemos fazer bom uso dessa democrácia. E isso se estende desde a nossa casa até a presidência da república.

Hoje mais do que nunca as pessoas gostam de falar, até porque há muitos meios para isso, desde um scrap até um tweet. Mas sobra blá-blá e falta ação.

Conversamos e conhecemos muitas pessoas, mas na hora que precisamos de alguém para ajudar em algo, é difícil encontrar uma pessoa capaz de ajudar.

Somos acomodados por natureza, e muitos se aproveitam disso para fazerem corpo mole, se preocuparem só com o próprio umbigo. Um pena, uma vez que hoje com a Internet somos capazes de grande ações e mobilizações, mas preferimos mandar CALA BOCA, ao invés, de mandar BAIXAR OS SALÁRIOS DOS LADRÕES DE BRASÍLIA.

A Terra é um lugar complexo sem dúvidas, principalmente porque muitos já perderam a fé no ser humano. Eu ainda tenho um pouco de fé nele, mas confesso que às vezes, é difícil.

Acredito que o Brasil, o mundo, poderia ter muito mais Ricardos Semler do que tem, o ser humano tem uma capacidade enorme para agir, mas muitos fazem sub-uso dessa capacidade, ou pior, usam de forma errada.

Não seremos capazes de virar a nossa própria mesa, até o momento que tivermos preocupados com a mesa dos outros.

Precisamos usar melhor a nossa capacidade e entender que todos nós somos capazes, basta para isso aprender (o Semler tinha metas de leitura de 80 a 100 livros por ano!), agir (aos 22 anos ele já estava num processo de compra de uma empresa a beira da falência), correr atrás (herdeiro da Semco, ele poderia ter ficado sentado esperando o pai passar a empresa para ele) e unidos (o Ricardo Semler não seria tudo que ele é hoje, sem a ajuda de pessoas de confiança e amigos).

Anúncios

Escola – Fábrica de Pessoas, parecida com a de Software

junho 20, 2010

O Fabrício me emprestou o livro Você Está Louco, do Ricardo Semler. As palestras que já havia visto dele na internet são muito boas, o cara é sensacional. Mas, o tempo passava e eu nunca lia o livro dele, até que ele veio parar na minha mesa. Não vou falar muito mais sobre o livro, vou falar de um aspecto que ele levantou quando falava de escola e do projeto Lumiar, e que tem muito a ver com software.

No mundo de software, muito dinheiro, estudo e tempo foram gastos tentando trazer o conceito de linha de montagem para o software. O paralelo era claro: se entra ferro e sai um carro, pode muito bem entrar uma idéia e sair um software, é só cada um ter sua atividade muito bem definida, sem bem específico. O final da história todos conhecem: este modelo vem fracassando com o passar do tempo e as pessoas têm ido em busca de algo mais humano, que valorize o indivíduo e a interação entre eles.

Até aí nada de novo e o que tem a escola a ver com isso? Vejam a observação que ele faz no livro e que está transcrita abaixo:

Pós-revolução industrial, o importante era fazer transitar massas de crianças pela escola, para alimentar o dragão do mercado de trabalho. Assim, emulou-se a linha de montagem nas escolas, com carteiras fixas, professor para 20 ou 30 alunos (40 ou mais até), estruturar modular de 55 minutos e disciplinas verticalmente construídas.

É… realmente parecia que este modelo estava fadado ao sucesso, muito bem pensado. Assim conseguimos ganhos extraordinários construindo carros. Mas as coisas ficaram mecânicas demais e esqueceu-se de levar em conta que não era só chegar e despejar conteúdo para alunos que são chamados pelo número. É necessário despertar o prazer de ler, aprender, descobrir coisas novas. Você não está despejando conteúdo, está formando a pessoa.

Além disso, assim como na fábrica de software, praticamente não aproveitamos a interação entre diferentes matérias. Existem algumas tentativas em projetos conjuntos, mas as coisas são bem separadas.

Recuperando o contato pessoal

Na proposta de educação do projeto Lumiar, as crianças seriam acompanhadas por um tutor desde os primeiros anos de vida até se formarem. Este tutor cuida de cerca de 15 crianças e determina em conjunto com os pais e as crianças quais as aulas mais importantes para ela no momento. Simples e eficiente. Sem testes, mas sim, o tutor avaliando em conjunto com pais e aluno se ele está pronto para mais conhecimento.  Além disso, as aulas são dadas somente por pessoas que gostem muito do assunto. Faz todo sentido né ?

Educando uma criança, um grande projeto de escopo fechado

Por que ao entrarmos na escola, com cerca de 6 anos, já temos um cronograma definido do que vamos aprender até os 14? Os pais, o tutor ou alguém que acompanhe de perto o aluno e o próprio aluno poderiam definir o que é o mais apropriado para a criança aprender naquele momento, o que irá trazer mais valor para o cliente, no caso a criança.

Como disse o Ricardo Jordão no seu blog, porque raios eu tenho que decorar quem foi Mem de Sá? Está no Google e quando vou precisar disso, quantas vezes você precisou?

É ingenuidade minha, mas nunca havia pensado nas escola como um modelo de fábrica. É claro que tem escolas que tentam ser diferentes, mas achei interessante este paralelo do modelo convencional de escola, com o modelo convencional de software.

Ahh… e leiam o livro, nem é novo…  é muito bom!

VTLabs – Palpite na Copa pelo Twitter

junho 15, 2010

Pessoal,

Como parte de um projeto de pesquisa aqui na Voice, desenvolvemos o Palpite Certo, uma aplicação para coletar palpites para os jogos do Brasil na copa via Twitter.

Acessa lá http://bit.ly/palpitecerto, o ganhador ganhará uma camisa de uma seleção a sua escolha.

Update 18/06/10

Colocamos o projeto no GitHub, segue abaixo o link:

http://github.com/vtlabs/PalpiteCerto

Até mais,

André

Post.new(“HAML”, “Rails”)

junho 2, 2010

A vida de um desenvolvedor Ruby on Rails não é feita apenas de código Ruby. Sendo necessário também saber html e javascript por exemplo.

Quando falamos de html no ecossistema Rails, logo vem a cabeça os arquivos html.erb. Esses que contém a cara da nossa aplicação web e é uma mistura de html e Ruby, possível graças ao ERB, que é uma implentação do eRuby em Ruby.

No entanto, há outras alternativas ao uso do ERB e uma delas é o HAML (HTML Abstraction Markup Language – “Linguagem de marcação abstraída do HTML”).

Hello World!

Para trabalhar com o HAML no Rails, precisamos instalar a gem haml. Para isso execute o seguinte comando na pasta do seu projeto:

sudo gem install haml

Se preferi você pode também especificar a gem no seu arquivo environment.rb (o que é uma boa prática), adicionando a seguinte linha.

config.gem ‘haml’

E depois executar a rake task que irá instalar as gems especificadas no seu arquivo environment.rb.

rake gems:install

Instalada a gem já podemos começar a brincar. 🙂

No exemplo abaixo é apresentado um exemplo de um Hello World “parrudo”, primeiro utilizando ERB e depois utilizando o HAML.

Hello World!
<p>
  1+1 é:
  <b><%= 1 + 1 %></b>
</p>
<p>
  Contando de 1 a 5:
  <%for i in (1..5)%>
    <i><%= i %></i>
  <%end%>
</p>
<br/>
<table border="1">
    <th>
      Grupo G
    </th>
    <tr>
      <td>
        Brasil
      </td>
     </tr>
    <tr>
      <td>
        Coreia do Norte
      </td>
     </tr>
    <tr>
      <td>
        Costa do Marfim
      </td>
     </tr>
    <tr>
      <td>
        Portugal
      </td>
     </tr>
</table>

Agora o mesmo exemplo em HAML:

Hello World!
%p
  1+1 é:
  %b= 1 + 1
%p
  Contando de 1 a 5:
  - for i in (1..5)
    %i= i
%br
%table{:border => 1}
  %th
    Grupo G
  %tr
    %td
      Brasil
  %tr
    %td
      Coreia do Norte
  %tr
    %td
      Costa do Marfim
  %tr
    %td
      Portugal

E o resultado é o mesmo, tanto com o ERB quanto com o HAML.

Diferenças

A primeira diferença notada é a quantidade de linhas para escrever usando o HAML, menor que com o ERB, uma vez que foi preciso de 37 linhas com o ERB, enquanto com o HAML apenas 24 já bastaram. Outra diferença é a sintaxe menos verbosa do HAML.

Além disso, há outras diferenças importantes que é bom saber para não cometer erros:

  • O HAML utiliza marcações menos verbosas, utilizando porcentagem (%) e essas marcações não são fechadas como no HTML;
  • Ao transformar para HTML a gem haml sabe quando uma marcação termina pela identação;
  • A identação é super importante no HAML, e você irá perceber isso ao identar errado, pois irá dá erro de sintaxe;
  • Código Ruby é identificado colocando-se um traço (), e quando queremos exibir a saída do código, colocamos um igual (=), ao invés, do traço ();
  • É possível especificar as propriedades das marcações, utilizando chaves ({}) e informando a propriedade como um símbolo (ex.: :color) e atribuindo o valor como fazemos em Ruby, com a “seta” (=>);
  • Como não é necessário fechar a marcação, não é necessário colocar end, pois a gem haml irá saber do end, pela identação. E como o HAML segue o princípio DRY e utiliza da identação para reconhecer as marcações, ele não iria deixar você colocar um end, sendo que com a identação já é possível saber que aquele trecho de código possui um end.

Gerando scaffold em HAML

Legal, mas se utilizamos o scaffold para gerar as nossas views, iremos ter um trabalho do cão para alterar os arquivos para HAML, uma vez que o scaffold gera arquivos ERB.

Pensando nisso o Norman Clarke criou o haml-scaffold, cuja principal diferença para o scaffold é que ele gera as views em HAML, ao invés, de ERB. Para instalar essa gem, basta digitar:

sudo gem install haml_scaffold

A gem haml_scaffold tem algumas dependências a gem haml (que já temos), will_paginate e mocha.  Para instalar as dependências você pode especificar essas gems no environment.rb e rodar a rake task ou instalar da forma tradicional.

Abaixo, segue as duas formas.

Via rake gems:install

No arquivo environment.rb acrescente:

config.gem “will_paginate”

config.gem “mocha”

Salve o arquivo e execute na pasta do seu projeto:

rake gems:install

Via gem install

sudo gem install will_paginate mocha

Instalado agora teremos um novo gerador, o haml_scaffold. Um exemplo de uso segue abaixo:

script/generate haml_scaffold Post title:string content:text published:boolean

Você notará que todas as views foram geradas em HAML e já temos dois partials, que são usados na criação/edição e outro na listagem.

Conclusão

Utilizando HAML as nossas views ficam bem enxutas, com o tempo acostumamos com as novas marcações e acaba sendo mais produtivo e prazeroso usar o HAML. Além disso, somos forçados a identar corretamente o código, e erros de HTML acabam não mais acontecendo.

Além disso, acaba sendo muito mais fácil dá manutenção num código gerado com o HAML, do que com o ERB, uma vez que ele é mais curto, menos verboso e identado. 🙂

Espero que vocês tenham gostado de conhecer o HAML e como podemos utilizá-lo no Rails, qualquer dúvida sintam-se à vontade em colocar nos comentários.

Saiba mais:

Site oficial com vários exemplos e explicações:

http://haml-lang.com/

Post do Marcos Tapajós, comparando a performance do ERB X HAML:

http://tapajos.me/2010/01/05/haml-versus-erb

Ambiente utilizado

SO: Ubuntu 10.04

Rails: 2.3.8

Gems: haml (3.0.6), haml_scaffold (1.1.0), will_paginate (2.3.14) e mocha (0.9.8).

rake gems:install

Cobertura do evento “Ruby+Rails no mundo real 2010”

junho 1, 2010

Pessoal,

No sábado passado (29-05-10) Eu e o Fabrício Campos estivemos na segunda edição do evento “Ruby+Rails no mundo real 2010”, organizado pela Tempo Real Eventos em parceria com o GURU-SP (Grupo de usuários Ruby de São Paulo).

Para os interessados em saber quais foram as novidades mostradas nesse evento, eu escrevi uma cobertura do que aconteceu e um resumo de cada palestra no meu blog.

Quer conferir? Então acesse o link abaixo:

Minhas impressões – Ruby+Rails no mundo real 2010 – 29/05/10

No ano passado eu também escrevi a cobertura da primeira edição do evento (rs) e foi publicada aqui no Blog do Ensinar. Acesse o post pelo link abaixo:

Minhas impressões – Ruby + Rails no Mundo Real 2009 – 04/04/09

Acompanhe também as atualizações do pessoal que está postando no twitter acerca do evento!

Até mais e boa leitura a todos!