18 Novembro 2009, 16:51 h
Existem desenvolvedores e desenvolvedores. Existem empresas e empresas. Apenas para efeitos ilustrativos deste post eu vou separar pelo menos dois tipos de empresa: onde tecnologia faz parte ou é o core business, onde o gasto relacionado a tecnologia é considerado de fato “investimento”; ou empresas onde tecnologia é apenas acessória, considerada meramente parte do “custo operacional”, onde apenas somente para suportar o negócio, que é muito do que chamamos de “backoffice”. Na falta de termos melhores, chamarei empresas onde tecnologia é core business de “empresas de tecnologia” e os outros de “enterpriseys” para facilitar.

Por que estou dizendo isso? Porque muitas decisões são tomadas fora desse contexto. Decisões que normalmente se encaixam bem em enterpriseys são tomadas em empresas de tecnologia e vice-versa. É um dos motivos de muitas discussões inúteis. Eu consigo entender porque um banco se sentiria incomodado de implementar hoje uma nova tecnologia, vamos chutar, trocar alguns de seus DB2 por um CouchDB por exemplo. Também consigo entender porque uma empresa médica ficaria relutante em trocar seus atuais programas embarcados de C, por exemplo, por .NET micro framework. Não quer dizer que nenhuma delas tenta, mas sim que não é o caso da maioria e nem que as tecnologias não funcionariam.
18 Novembro 2009, 11:46 h

Configuration Management is a tricky subject. For non-starters, when you’re a developer and you have few boxes to take care of, you can usually get away with just managing them manually. People are probably just used to pop in a CD, double-click the “install” program and click “next”, “next” until the end, then you manually log in to backup (when you remember it), and sometimes you do apply some security updates when you remember about them.
But then you have more than a dozen machines, things start to get uglier, you end up making more mistakes, forgetting important steps, and all of a sudden managing machines become a nightmare. You end up being woken up in the middle of the night because you forgot to install some crucial component, and so on and so forth.
The same way you need testing, continuous integration tools when you’re a developer, you also need automated, reliable and flexible tools for the system administrator role. That’s where tools such as Chef kick in to help.
From Opscode Inc., we have Adam Jacob (CTO) and Jesse Robbins (CEO) to talk about the new contender in the automated system administration field, Chef, already in use by many companies which are striving with the cutting edge to maintain their datacenters.
18 Novembro 2009, 11:45 h
Configuration Management is a tricky subject. For non-starters, when you’re a developer and you have few boxes to take care of, you can usually get away with just managing them manually. People are probably just used to pop in a CD, double-click the “install” program and click “next”, “next” until the end, then you manually log in to backup (when you remember it), and sometimes you do apply some security updates when you remember about them.
But then you have more than a dozen machines, things start to get uglier, you end up making more mistakes, forgetting important steps, and all of a sudden managing machines become a nightmare. You end up being woken up in the middle of the night because you forgot to install some crucial component, and so on and so forth.

The same way you need testing, continuous integration tools when you’re a developer, you also need automated, reliable and flexible tools for the system administrator role. That’s where tools such as Puppet kick in to help.
This time I’ve interviewed Luke Kanies, from Reductive Labs, former contributor to the famous CFEngine tool and creator of Puppet, one of the most acclaimed configuration management tool for 21st century datacenters.
16 Novembro 2009, 15:28 h
[Tradução] Três Contextos Implícitos em Ruby
A desenvolvedora japonês @yugui escreveu um grande complemento ao artigo anterior sobre metaprogramação do Yehuda, que traduzo logo abaixo:
Yehuda Katz escreveu um artigo sobre self e metaclass. Nesse artigo ele disse que Person.instance_eval associa a metaclass de Person para self para uma classe Person, mas isso é obviamente errado.
16 Novembro 2009, 14:56 h
Hoje o Yehuda Katz publicou um artigo muito didático sobre metaprogramação em Ruby que achei legal traduzir. Aí vai:
Depois de escrever meu último post sobre idiomas de plugins Rails, eu percebi que metaprogramação Ruby, no fundo, é na realidade bem simples.
10 Novembro 2009, 15:22 h
Last night I made available www.rubistas.com.br, a translation fork of the original Rubyists.eu. I thought it’s a great website because of its simplicity on the approach to group together communities and make them easier to find for everyone. But, I was careless. According to the Creative Commons License I failed to add proper attribution to Rock & Code and Rubyists.EU. So, Rock & Code contacted me. We talked and I agreed to cease and desist both my fork at github and the website. I was told ...
08 Novembro 2009, 18:50 h
Atualização: 20/11 Atualizei os vídeos pelas versões legendadas em português no Vimeo.
Atualização: 10/11 Acrescentei uma última seção sobre um assunto recente do Fred Brooks.
Nas minhas últimas palestras sobre organizações eu mostro um vídeo do experimento de Asch. Esse experimento demonstra como as pessoas entram em conformidade com um grupo, mesmo sabendo que o grupo pode estar errado. Mas por diversas razões, elas se conformam. Para nós agilistas, pense numa equipe realizando Planning Poker ou Retrospectiva. Quando a maior parte da equipe dá uma resposta, a minoria “tende” a ir com a opinião do grupo. Claro, alguns mantém sua posição mais firmemente, mas não é o normal. O normal é nos conformarmos, e isso deve ser levado em consideração. Assistam para entenderem:
Experimento da Conformidade de Asch from Fabio Akita on Vimeo.
Mais do que isso, nós funcionamos atualmente em organizações com estruturas antiquadas. Hierarquias, cargos, chefes, procedimentos, políticas. Tudo isso – como eu falo nas palestras – não funciona hoje em dia. Elas apenas limitam a organização como um todo. Trás resultados de curto prazo? Com certeza, por isso todos ainda usam. Em longo prazo, cria uma organização doente.
08 Novembro 2009, 16:05 h
Eu estou para escrever sobre isso faz alguns meses. Por acaso surgiu no Twitter
@AkitaOnRails, se você derrubar o avião twittando com esse 3G ligado, vai envergonhar o país inteiro! Rsrsrs!!!
É claro que foi uma piada :-) Mas de qualquer forma me motivou a finalmente escrever a respeito. Trata-se do comportamento das pessoas baseadas em premissas falsas.

Alguns meses atrás, enquanto estava indo para mais um evento, eu – de propósito, como sempre – mantenho meu iPhone ligado. Normalmente coloco em Air Mode enquanto no ar para economizar bateria, mas antes da decolagem eu estava assintindo um video podcast. Aí uma senhora do meu lado resolveu encrencar comigo mandando eu desligar. Obviamente eu ignorei ela. Daí o que ela fez? Chamou um comissário de vôo. Afe.
Ela ainda soltou o que muitos ignoramentemente ainda acreditam: “este ‘senhor’ está arriscando a minha vida!” Imaginem minha vontade de soltar um “shut the fuck up!”, claro não soltei :-)
04 Novembro 2009, 19:21 h

Não é de hoje que todos sabem que eu sou um forte proponente contra certificações, especificamente na área de Informática. Apesar da intenção em si ser boa, o efeito prático é mais danoso que os benefícios. Como dizem, “de boas intenções o inferno está cheio.”
Porém, eu iria mais longe e colocaria um termo guarda-chuva. Na realidade eu sou totalmente contra “Credenciais”, em geral, particularmente fora de contexto. E além disso, eu também gosto de argumentar sobre argumentação. Não é de hoje que menciono sobre falácias sempre que posso. Estou muito longe de um entendimento mais amplo, mas estou sempre tentando expandir essa compreensão e acho que todos deveriam.
Um exemplo simples: eu adoro o trabalho de um Martin Fowler, ou de um Robert Martin. Acho que seus insights são muito valiosos, suas recomendações são excelentes. Com certeza são pessoas que se esforçam para serem acima da média. Porém – e aqui vem o problema – eles também são seres humanos e, como tais, tem defeitos. Isso é um fato, indiscutível, que precisamos assumir em toda argumentação. Simplesmente porque um Uncle Bob disse alguma coisa, isso não configura automaticamente verdade.

01 Novembro 2009, 22:17 h
Atualização: 03/11

Finalmente, depois de mais de 5 anos sem atividade física significativa, terminei minha primeira sessão de exercícios físicos aqui em casa. O equivalente a 6Km em corrida a passo médio no meu elíptico, depois uma sessão anaeróbica com halteres pros braços. Ainda estou suando.
Este último ano me deixou fisicamente e psicologicamente quebrado, quase sem eu perceber. Nunca fiz tanta pesquisa, e a parte frustrante de pesquisa é que para chegar a uma conclusão de um parágrafo, às vezes isso significa meses de noites mal dormidas, lendo, lendo, lendo.
Isso sem contar as dezenas de eventos que participei este ano. A grande maioria das minhas palestras – que não deixam de ser parte da minha pesquisa – consumiram quase todos os meus fins de semana e feriados. Foram alguns poucos dias que usei durante o horário comercial para terminá-las.
Com isso, meu ritmo diário ficou em torno de dormir diariamente lá pelas 4 da manhã, acordar lá pelas 9 ou 10 horas, 7 dias por semana. Sem contar os episódios de varar noite, que foram alguns durante o ano. Esse ritmo tem apertado bastante nos últimos 3 anos.