My dotfiles

Finally I created a repository with my dotfiles.

Dotfiles are configurations files, usually with their names beginning with a dot (hidden files) and located in your home directory (~/).

The repository is: https://github.com/lucascaton/dotfiles

Check the instructions in the link above, in order to get the dotfiles.

The dotfiles are focused on the Ruby language, but there’s also Git and PostgreSQL configuration files. I’ve included files as .bash_profile, .gitconfig, .irbrc (using pry), .pryrc, .psqlrc and .rvmrc. There is also a list of ruby gems (file “default.gems”).

My vimfiles can be found at: https://github.com/lucascaton/vimfiles

I have tested it only in OSX 10.7, but it should work in any *nix without problems.

Regex to match Youtube URLs (using Ruby)

I created a regular expression in order to match Youtube URLs.

Currently, the most common URLs from Youtube are http://youtube.com and http://youtu.be:

/(?:https?:\/\/)?(?:www\.)?youtu(?:\.be|be\.com)\/(?:watch\?v=)?(\w{10,})/

This regex will match:

  • http://youtube.com/watch?v=1234567890
  • https://youtube.com/watch?v=1234567890
  • http://www.youtube.com/watch?v=1234567890
  • https://www.youtube.com/watch?v=1234567890
  • http://youtu.be/1234567890
  • https://youtu.be/1234567890
  • http://www.youtu.be/1234567890
  • https://www.youtu.be/1234567890
  • http://www.youtube.com/watch?v=1234567890&feature=context&context=G2de15aaFAAAAAAAAAAA
  • www.youtube.com/watch?v=1234567890
  • youtube.com/watch?v=1234567890
  • youtu.be/1234567890

And won’t match:

  • youtube.com
  • youtube.com/
  • youtube.com/watch
  • youtube.com/watch/
  • youtu.be
  • youtu.be/

Novos desafios

Próximo de completar um ano que me mudei pra São Paulo, recebi um convite que acabou mudando as coisas mais uma vez. Passei quase um ano trabalhando na Bio Ritmo, onde tive uma experiência única de trabalhar com toda a equipe de tecnologia, onde fiz grandes amigos e onde aprendi muito.

Há mais ou menos um mês atrás, recebi um convite para trabalhar em um tipo de empresa que até então eu não havia trabalhado: uma empresa de consultoria. Foi um convite que acompanhou uma decisão bastante difícil. Mas eu acreditava que era hora de mudar algumas coisas. E foi assim que eu comecei a trabalhar na Codeminer42.

Hoje completo uma semana lá. E acredito ter tomado a decisão correta. Os desafios são grandes, os projetos são bacanas, o ambiente é descontraído e a equipe é muito boa e unida. Uma ótima forma de você aprender bastante é trabalhando com pessoas melhores que você e lá estou tendo esta oportunidade.

Uma coisa interessante é que em uma consultoria você trabalha em vários projetos (não necessariamente em paralelo) e isso permite que você use diferentes ferramentas e aprenda qual a melhor para cada tipo de problema (“there is no silver bullet”). Ou ainda, testar diferentes ferramentas para uma mesma solução.

Um obrigado especial ao Rinaldi Fonseca (@rinaldifonseca), responsável por eu estar trabalhando com esse ótimo time.

Hora de seguir em frente nessa nova empreitada!

Como aprendi a fazer Dojo com o pessoal da Lambda3

Tive o prazer de participar em janeiro de um Coding-Dojo com o pessoal da empresa Lambda3, organizada pelo grande Rafael Rosa Fu!

Embora exista mais de uma forma de fazer, acho que o jeito que fizemos funcionou muito bem. Vou explicar como fizemos:

Seleção de problemas

O organizador seleciona 3~5 problemas de alguma lista de problemas de programação (como o Ruby Quiz, por exemplo). Quando começar o Dojo, ele apresenta um resumo dos problemas e faz uma votação para escolher um problema.

Foco!

Apenas um computador é necessário, isso ajuda a manter todos focados no problema. A pessoa mais próxima do computador começa sendo o “piloto”, escrevendo o código inicial. A pessoa à esquerda do “piloto” será o “co-piloto” e sua função é ajudar o “piloto”.

Troca de posições

A cada 7 minutos (ou algum outro tempo pré-determinado que for adequado), todos trocam de lugar: a pessoa à esquerda do “co-piloto” se torna o novo “co-piloto”, o “co-piloto” agora começa a “pilotar” (programar) e o atual “piloto” entra no final da fila. Isso se repete até o final do Dojo.

TDD / BDD

Todo o desenvolvimento é orientado à testes, avançando através de baby steps. Quando testes estiverem falhando (“fase vermelha”), ninguém pode comentar nem sugerir nada, exceto o “co-piloto”. Obviamente, quando os testes estiverem passando (“fase verde”) todos podem comentar e sugerir implementações e refatorações.

Retrospectiva

No final, é interessante fazer uma retrospectiva, onde todos os desenvolvedores escrevem em post-its verdes coisas boas que aconteceram durante o Dojo e coisas ruins em post-its vermelhos.

O organizador recolhe os post-its e os cola num quadro, separado por tipo/cor. Depois de ler em voz alta todos os post-its, é interessante reservar uma área “Discussões” no quadro, para anotar discussões que ocorrerem durante e no final do Dojo.

Isso tudo é importante para não repetir os erros do Dojo atual num próximo Dojo e deixar claro o que foi acertado.

Referências

Segue um link dos slides do Serge Rehen sobre Coding-Dojo: http://www.slideshare.net/serge_rehem/coding-dojo-em-5-minutos.

Minha palestra sobre Ruby on Rails no “Café com Java”

Ontem aconteceu mais um encontro do evento “Café com Java”, na Caelum, organizado pelo Eduardo Bregaida. Eu palestrei sobre Ruby on Rails, com um ligeiro foco para o pessoal do Java.

Um obrigado especial à minha namorada Aline Nepomuceno, por filmar minha apresentação! :-)

Seguem os slides e o vídeo da palestra:

(Se não conseguir ver os slides, clique aqui)

(Se não conseguir ver o vídeo, clique aqui)

E algumas fotos:

O 1º encontro oficial do [self SP]; foi um sucesso!

Depois de quatro meses de vida, conseguimos realizar o primeiro encontro oficial do [self SP];, graças ao @fer_bass (que organizou quase tudo), à PoisonLabs (que patrocinou o CoffeBreak), à Caelum (que liberou o auditório para o evento) e ao Hugo Borges (que gravou o evento todo).

Obrigado a todos os palestrantes e aos participantes, foi realmente muito bacana!

Seguem algumas fotos (e os títulos das palestras):


“OpenGL com GLKit” (xissburg)



“CoreGraphics Performance” (Glenn Marcus)



“Conhecendo e entendo o ARC” (Ferbass)



“Testes automatizados para sua aplicação iOS” (Ricardo Valeriano)



“Funcionalidades dinamicas do Objective-C” (Diego Chohfi)