Tudo novo, de novo

Esse blog estava realmente abandonado nos últimos meses. Parte por causa das novidades e o trabalho insano e completamente envolvente na Giran e, claro, boa parte pela velha e boa arte de procrastinar. Um pequeno descuido e caímos no ciclo viciante da procrastinação: procrastinadores, os líderes amanhã!

Mas enfim, resolvi sair (de novo) da zona de conforto e colocar o blog em movimento outra vez. Aproveitei o embalo pra tirar um milhão de plugins inúteis que só serviam pra aumentar a lerdeza do wordpress em algumas ordens de grandeza e, principalmente, remover o tema e deixar o tema padrão. Não sei se era só comigo, mas toda atualização do wordpress bagunçava alguma coisa no tema, cansei disso e deixei o tema padrão mesmo, ele tem uma tipografia boa e é azul (cor que eu gosto).

Já que era hora de trabalhar resolvi fazer um trabalho na configuração do .htaccess pra deixar as coisas mais arrumadas. O domínio desse blog era www.jeveaux.com/blog ou www.jeveaux.com.br/blog. Casa de ferreiro… Enfim, acreditem ou não, a coisa era meio arcaica. Agora tudo irá cair em jeveaux.com e este é agora o endereço oficial do meu blog, mas não se preocupe que qualquer outro endereço (com /blog, ou .com.br, etc) continuarão funcionando, porém redirecionando sempre para jeveaux.com – pode clicar nos links anteriores pra ver :)

Agora é tirar a poeira de alguns drafts, apagar algumas dezenas de outros e escrever o meme dos 7 itens do ambiente de desenvolvimento que a Loiane me passou.

E é isso. Se alguém encontrar qualquer coisa de errada ou não funcionando, me avise por favor.


RailsRumble 2010 Review

No último final de semana participei do RailsRumble 2010, uma competição onde um time com no máximo 4 pessoas tem 48 horas para desenvolver uma aplicação usando Ruby on Rails.

Meu time desenvolveu o Mittun, um gerenciador de eventos. Fazendo uma rápida retrospectiva (só do meu ponto vista, não fizemos uma retrospectiva do time ainda):

+ Conseguimos definir em pouco tempo as principais tarefas e funcionalidades do produto. Isso ajudou muito a andarmos com um objetivo claro até o final do projeto
+ Conseguimos preparar nosso ambiente de produção/deployment (Ubuntu, MySQL, Ruby, Rails, Apache e Passenger) em menos de uma hora com deployment automatizado com capistrano. Isso nos tirou uma grande preocupação e nos permitiu focar no desenvolvimento do produto.
+ Voltar a ter um contato forte com Rails foi energizante.
+ Fizemos a busca de eventos com paginação, tudo bonitinho …
… mas esquecemos de coloca-la no produto
Como muitos outros projetos, não conseguimos deixar claro qual o objetivo do produto na sua página principal, quando um novo usuário entra no site ele não consegue saber de cara qual o propósito da ferramenta.
Infelizmente dormimos uma noite, pois é. Trabalhamos 24 horas direto, da sexta-feira a noite até o sábado a noite, direto, sem parar para dormir nenhum minuto. Então dormimos a noite de sábado e voltamos às 12 últimas horas do domingo.
Foi meio chato não ter ficado entre os 20, acho que todos os times devem ter um pouquinho desta sensação, afinal todos se esforçaram muito. Mas esse não era nosso objetivo principal, então vamos em frente.

O Rumble foi extremamente importante pra mim, por muitos motivos e muitas razões. Há todo o desafio de ter que desenvolver uma aplicação em 48 horas, o que, em qualquer linguagem já é um grande desafio. Some ainda o fato de ter que lidar com todas as dificuldades de um projeto real, definir e alinhar objetivos, deixa-los claros e evidentes o tempo todo, priorizar funcionalidades mais importantes, abrir mão de algumas outras e manter o andamento do trabalho visível. E mais um pouco: definir a visão da produto, layout (só dou pitacos nessa parte), comportamentos, funcionalidades e, principalmente, desenvolver o produto. Tudo em 48 horas!

Mas pra mim, pessoalmente, o mais importante foi o que consegui vivendo este projeto, que foi ter de volta um pouco de alegria e motivação para desenvolver novas aplicações e resolver problemas, trabalhar com coisas simples e eficientes, ver os resultados acontecerem, o produto andando e crescendo, isso não tem preço :) Eu estava há algum tempo sem ter um contato forte com Ruby on Rails e o Rumble foi muito legal nesse ponto e me ajudou bastante.

Mas claro, tudo isso só foi possível graças ao meu time (blastoooooooise), que foi formado por pessoas – literalmente – excepcionais: Makoto, Cabral e Roberto Soares, os quais devo muitos agradecimentos. E também ao apoio da Giran, que nos proporcionou um ambiente muito bacana. Enfim, foram as 48 horas mais divertidas e com maior aprendizado dos últimos meses, talvez até deste ano.

E foi isso, muita diversão e aprendizado. Não conseguimos ficar entre os 20 este ano, mas tentaremos de novo no ano que vem! Blastooooooise!


QConSP 2010 eu fui, e foi show!

Este ano eu não participei de todos os eventos que eu queria ter participado, e depois do Agile Brazil – que teve um show de organização e programação – eu não estava esperando outro evento tão bacana pra esse ano, mas confesso que fiquei extremamente surpreso e feliz com o QConSP, valeu muito a pena ter ido. A Caelum – que merece sinceros parabéns – mandou super bem em tudo relacionado à organização e execução do QConSP e, definitivamente, colocou o Brasil numa posição de respeito no cenário de eventos internacionais de altíssima qualidade.

Imagine um evento onde não falta coffee break, ou melhor, onde não sobra pouco coffee break, sempre sobrou muito. Onde toda a equipe de organização e execução está em completa sinergia e comunicação, pensando em todos os detalhes possíveis (até para guardar a mala do pessoal) e cuidando de todos os participantes. Onde os palestrantes e palestras são de altíssimo nível e competência. Um local bonito e com muitas tomadas. Pessoas de todo o Brasil e alguns gringos. Pois é, esse evento foi o QConSP, foi show! E eu fui :D

Como todo grande evento houveram algumas apresentações que não foram perfeitas, mas mesmo essas foram muito melhores do que as que eu havia achado ‘mediana’ em outros eventos. Definitivamente as apresentações e o público de alto nível foram um enorme diferencial para o QConSP, coisa que não se encontra em qualquer evento por aí. Se você não quis ou não conseguiu ir, se vire e vá no próximo, você não vai se arrepender.

Conhecer muita gente boa que eu só conhecia de twitter ou listas de e-mail, além de re-encontrar grandes (e velhos) amigos é, sem dúvida, a melhor parte pra mim. O networking e os contatos que um evento como este proporcionam são impagáveis e não tem preço. Também foi muito legal ver alguns amigos nerds casados, mudando de visual, namorando, engordando, emagrecendo, programando em outras linguagens e por aí vai, só mesmo nestes eventos para encontra-los todos juntos =P

Eu também fiz uma apresentação no QConSP, junto com o Gabriel Benz (oi, tudo benz?), aqui da Giran. Foi um case sobre um dos nossos projetos e já está aqui blog e no slideshare.



Safari 5 plugin: SaveTo Social Bookmarks

Logo quando o suporte a desenvolvimento de extensões no Safari foi lançado eu corri e fiz um pequeno plugin, muito mais com a finalidade de testar do que qualquer outra coisa. Mas como sempre preciso de alguma coisa eu fiz logo algo que eu estava querendo ter, que era um botão para salvar no Delicious. Foi uma experiência legal e super simples, muito simples.

Entretanto, após usar o plugin eu notei que não estava legal: o comportamento de abrir uma nova aba, salvar o favorito e manter a aba aberta não ficou legal, não estava bom. Mas a sandbox do Safari não me permitia fazer muita coisa, e nem pouca coisa também: window.open e window.close, por exemplo, são duas que não funcionam dentro da sandbox de extensões do Safari.

A solução foi usar a injeção de scripts e estilos do próprio Safari para fazer algumas coisinhas com JavaScript, como abrir ou fechar uma janela. Aproveitei a oportunidade para fazer um novo plugin, diferente e mais afrescalhado completo, esse cara foi o SaveTo.

SaveTo permite enviar a página atual para o Delicious, igual ao plugin anterior, mas ele faz isso abrindo uma nova janela que é fechada automaticamente logo após o favorito ser gravado, as diferenças: 1) agora são necessários dois cliques para salvar o favorito, antes só precisava de um; 2) além do Delicious coloquei os atalhos para outros serviços (que escolhi entre os que eu uso com mais frequência).

Para quem tiver interesse em baixar, a distribuição está disponível aqui. E o código fonte aqui no meu github.

Lembrando que antes de instalar o plugin é preciso ativar as extensões no Safari, siga esses passos:

– Menu: Safari > Preferences

– Guia: Avançado > Mostrar menu de desenvolvedor

– Menu: Desenvolvedor > Ativar Extensões


Agile Brazil 2010: Rumo a POA

Daqui a pouco partirei rumo a Porto Alegre para participar do Agile Brazil 2010, que na minha humilde opinião deverá ser um dos melhores evento sobre agilidade do ano :)

Estamos saindo aqui da Giran numa mini caravana: Eu, Léo Hackin e Oscar Makoto e vamos tentar aproveitar o máximo possível os dois dias de palestras do evento, enquanto isso faremos – ou tentaremos fazer – alguma cobertura no twitter.

É meio nonsense, mas na sexta o evento vai parar para transmitir o jogo do Brasil-sil-sil e teremos que assistir ao futebol ao invés de aprender sobre Agile, deixando nossos políticos fazerem a festa enquanto o rebanho se diverte.

E claro, o networking certamente será um dos melhores do ano, além de conhecer pessoalmente muitos novos amigos das listas, blogs e discussões quero muito rever os velhos amigos gaúchos ainda do saudoso tempo de PortalJava :)