Arte e Ciência da Computação – de volta aos primórdios

Muitas pessoas me perguntaram qual foi o resultado da minha defesa de mestrado e
qual avaliação que a banca fez. Nós tínhamos uma câmera filmando a defesa, mas a fita acabou (#fail) justamente um pouco depois de a banca começar a argumentar sobre a dissertação. Somente as pessoas que estavam presentes tiveram o privilégio de saber qual foi o impacto que essa defesa teve no Instituto de Matemática e Estatística da USP. Digo isso não para me gabar do meu trabalho, mas porque o fato foi realmente EMOCIONANTE e, sem brincadeira, teve gente que até chorou!

Continue reading

“Para Todos” Release

I’d like to announce the release of my first book, PARA TODOS.
It’s a poetry book and there will be a small party with autographs and wines at Livraria Cultura in Shopping Villa Lobos. In the party, Trio Dellaz will sing for one hour and I will read some poetry of the book.

Everybody is welcome to this great moment!

Refactoring Paintings

Refactoring is a well known technique in software development. In short terms, refactoring is to execute a sequence of small well defined steps with the intention to let your code base more clear, more beautiful, more elegant. The result of a continuous refactoring practice is a simpler and easier to maintain software project. There many times also when refactoring takes the programmer to create new abstractions and code generalizations.

Let’s go to a simple example: suppose we are programming a Person entity class. This class contains attributes like name, weight, age, gender, spoken language. After some time, I find out that I need to insert cats in my system for some reason. Continue reading

#QCON – Functional Programming, Music and Art

Last month, at QCON, I was in a great talk about functional programming languages (like Haskell) and their benefits to the Art world. The title of the talk was “How Functional Programmers can
Help, Inspire, or even Be Artists”. First of all I’d like to emphasize that all good programmers are artists, and as Richard Gabriel said 6 years ago, we programmers should be trained like artists. This is the major problem of our Computer Science Courses.

We all know artificial intelligence and computer tools are getting better and better. Right know we can easily produce things like this video:

Continue reading

Padrões Para Introduzir Novas Idéias

Participei hoje do primeiro tutorial na QCON San Francisco 2008. O tutorial foi sobre o assunto que eu venho estudando há algum tempo: Padrões para Introduzir Novas Idéias. Em termos de conteúdo, não vi nada muito novo. Mas o que mais me impressionou foi a presença de espírito da Linda Rising. Foi um enorme prazer estar com ela todo esse dia e ouví-la falar sobre os padrões. A sua fala é tranqüila, clara e perfeita. Nunca tinha vista alguém da área da computação se expressar de forma tão maravilhosa. Me sinto privilegiado de ter participado de um tutorial ao lado de uma das mulheres que seja talvez um dos maiores nomes da computação atual.

Para compartilhar o momento com todos, filmei alguns momentos. Linda propôs que, para aprender melhor sobre os padrões do livro Fearless Change, algumas pessoas fizessem encenações de um script escrito por ela. São pequenas sketches que ilustram momentos de personagens como o Inovador, o Evangelista e outros. Espero que todos gostem!

Clique no link “YouTube” acima para ver os outros vídeos relacionados

Dojo, feedback e teatro fórum

Há um tempo tivemos na empresa um treinamento sobre Feedback. Uma das atividades da tarde foi criarmos encenações onde o líder deveria conversar com um subordinado e dar feedback sobre um determinado acontecimento (i.e. não cumprimento de meta, comportamento inadequado, etc.). Duas coisas estavam sendo trabalhadas: de um lado o “ator” no papel de líder estava simulando uma situação real e aprendendo a lidar com situações difíceis do dia-a-dia de forma lúdica. Do outro estava a platéia, que podia (se) observar de fora. Continue reading

Um passeio pelo Falando em Agile

Acabo de voltar do Falando em Agile! O evento foi muito bom, com a participação de grandes nomes do movimento Ágil. Tentei levantar os principais pontos do evento.

David Anderson fez o Keynote de abertura levantando pontos importantes sobre agilidade:

  • Manter qualidade alta em tudo que for feito. Para isso muitas vezes temos que fazer as coisas com calma e ter o tempo certo para fazer a coisa certa.
  • Tentar limitar o WIP (work-in-progress) usando kanban
  • Equilibrar a demanda com a saída, ou seja, não colocar mais trabalho do que a equipe é capaz de produzir (de novo, kanban, processo pull e não push)
  • Aprender a priorizar, alinhado com o plano estratégico

O Danilo Sato e o Francisco Trindad, da ThoughtWorks lembraram o cuidado que devemos ter em querer sempre manter a velocidade do time. Continue reading