#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

Two Big Changes

I’d like to use this post to announce 2 big changes in my life. The first one is that since now I will post here in English instead of Portuguese. With this, I’d like to make my blog more understandable outside Brazil. I’m not sure I’m ready to write everything I think in a foreign language, but the only way to find it out is to begin writing and see what happen. So, here I am. For the practice I will also write some poetry in English, in my poetry blog.

The second change in my life is that 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

Sem Medo

Transforme a resistência à nova idéia em algo a seu favor. Toda inovação, no fundo, rompe com algo. Logo, a resistência é bem vinda. Precisamos da resistência para testar nossas idéias e convicções. Os céticos são um presente. Eles nos dão informações sobre o caminho que estamos seguindo e sobre como podemos adaptar nossa abordagem.

Talvez o ponto mais essencial da mudança é a nossa forma de lidar com o medo. Num processo de mudança existe medo de dois lados: quem está sendo mudado quer evitar a dor de ter que, talvez, perder algo; quem está promovendo a mudança tem medo de que sua idéia esteja errada. Quando esses dois lados entram em choque surge um impasse. Continue reading

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

Agilcast – Padrões para Introduzir Novas Idéias

Foi publicado hoje no site da Agilcoop o podcast sobre Padrões para Introduzir Novas Idéias. Pode ser baixado diretamente na página de podcasts da Agilcoop ou diretamente nesse link. O podcast discute alguns padrões e conta o caso em que eles foram usados para introduzir métodos ágeis dentre de uma organização. No final, o som da cantora Daniella Alcarpe

Palestra: Padrões para Introduzir Novas Idéias na Industria de Software

Data: Segunda-feira, 8 de Setembro de 2008.
Horário: 13h
Local: Instituto de Matemática e Estatística (IME/USP)
Sala: 254 Bloco A

Novas Idéias: novas formas de gestão, novos métodos de desenvolvimento de software, novas soluções técnicas, novas arquiteturas de sistemas. Com um mercado de software cada vez mais competitivo e agressivo, boas idéias se perdem e são desperdiçadas no meio de tanta informação e novidades tecnologias.

Neste seminário apresentaremos uma forma eficaz de convencer as pessoas a adotar uma idéia. São vários padrões que foram criados para facilitar a aceitação de uma nova idéia dentro de uma corporação. Quais são as forças nas empresas que aceleram ou freiam mudanças e como plantar as sementes da mudança para que abracem suas idéias e que elas sejam implantadas até o fim com sucesso.

Ser humano acima de tudo


Esse é um trecho que escrevi em abril de 2003, refletindo sobre o absurdo de se comparar o ser humano com o computador

Opiniões de muitos cientistas renomados por todo o mundo ajudam a confirmar a idéia de que a ciência é muitas vezes, arrogante ao colocar com veemência certas afirmações que estão bem longe de serem verdade. A postura científica é a de basear-se na idéia de que tudo pode ser explicado matematicamente ou fisicamente. A questão é: a ciência tem um conhecimento limitado da ”verdade” e isso induziu ao longo da história (e ainda induz) a erros grotescos.

Cientistas de Inteligência Artificial afirmam absurdos, baseados apenas em elocubrações mentais. Eles muitas vezes ignoram a grandeza da mente humana ao supor que um computador pode pensar como o homem. Continue reading

Criação, Padrões e Arte

Uma ótima maneira de aprender a fazer alguma coisa é fazendo. Os livros de português e gramática estão aí e ajudam muito no ensino da escrita, mas para aprender a escrever é preciso escrever. Assim como para aprender a fazer software é preciso programar. Só se aprende a meditar meditando. São atividades cujo aprendizado vem da prática, não da teoria.

Estou relizando um trabalho que aborda prática, não as teorias. Recomendo a ação e a arte. Arte é ação, é criação. Do dicionário:

cri.a.ção sf (lat creatione)

  1. Ação ou efeito de criar, de tirar do nada.
  2. Totalidade dos seres criados.
  3. O universo visível.
  4. Produção, obra, invento.
  5. Estabelecimento, formação, fundação, instituição.
  6. Amamentação de uma criança.
  7. Educação.
  8. Animais domésticos que se criam para alimento do homem.
  9. Propagação da espécie.
  10. Alvenaria de pedras miúdas e argamassa que serve de enchimento aos vãos deixados pelas pedras mais volumosas.
  11. Nas agências de publicidade, o conjunto formado pelos departamentos de redação e de arte.


Alguns significados da palavra criação são óbvios (1,4,5). Continue reading

Práticas que vão bem com o plano de iterações

Joca Torres defendeu nesse post algumas vantagens de usar métodos ágeis, do ponto de vista do gerente de produtos. O design incremental e o uso de iterações permite que o cliente veja mais rapidamente aquilo que já está pronto. A partir do momento que o cliente está usando nosso software, ele começa a PAGAR e a ter benefícios (e nós também!).

Porém, do ponto de vista do time de desenvolvimento, existem alguns cuidados que precisam ser tomados para que o software se torne “modificável” para atender as necessidades do cliente. Para entregar funcionalidade de forma incremental, você precisa ter um ambiente de desenvolvimento e uma base de código que facilite e permita essas entregas iterativas.

As práticas de XP são um guia para isso. O gerente de produtos tem muito contato com as práticas de planejamento (histórias, iterações, velocidade etc) mas em software não basta planejar. Continue reading