Archive for November, 2007

Saindo da Praia

Friday, November 30th, 2007

Desde que cheguei aqui na ThoughtWorks as coisas têm sido bem calmas. O primeiro dia eu fui recebido pelas pessoas e recebi meu infame MacBook Pro (eu pude escolher entre um Mac ou PC antes de vr pra Austrália, BAs pegam um MacBook comum, Devs pegam um MacBook Pro 2.2Ghz/2GB). Depois de ser resresentado ao Lotus Notes (essa porcaria que eu não usava desde 2005) eu fui para a beach.

main desk

Na ThoughtWorks, ‘beach’é quando você não está alocado em nenhum projeto. Você vai ao escritório todo dia com seu notebook e senta na “main desk”, uma graaaaaande mesa sem lugares marcados. O escritório possui tudo que você iria querer: coca-cola, sucos, frutas frescas, cereais, chocolates e doces em geral, água, café grátis (a TW tem um contrato com uma empresa tipo Starbucks), wii e… cerveja.

Na beach você faz basicamete o que quiser. A maioria das pessoas está sempre procurando sistemas para fazer e testar novos conhecimentos, a dupla Alex & Alex que costumam sentar próximos a mim arrumaram uns requisitos com a menina do RH para criar um sistema e treinar Rails. Um outro que é desenvolvedor .Net está fazendo um feed reader em GWT. Todo mundo conversa bastante e socializa, tem uma galera que, como eu, não era usuário de Mac e ficamos batendo a cabeça e chorando as pitangas juntos.

Durante meu tempo na beach eu aproveitei para brincar com o Antlr. No Fragmental.tw eu já falei uma vez que estou implementando um esquema de conectar DSLs via um barramento, eu tenho uma linguagem pronta e preciso das outras para continuar. Ainda não consigo fazer minha linguagem ser aceita pela gramática mas tá indo bem…

Outra coisa legal no escritório é que temos almoços corporativos. Serve para trazer pro escritório o pessoal que está alocado nos clientes pela cidade, ao contrário de consultorias que conheço por aí não é porque você está alocado que você não se relaciona mais com a TW, você simplesmnte é um TWer alocado. Esses almoços são dentro do escritório, aqui em Melbourne são terças e sextas. Hoje tivemos sushi.

E ontem houve também um dos eventos típicos: pelo menos uma vez por mês a TW fecha um bar ou pub e reúne todo mundo da empresa e alguns “clientes selecionados”(pessoas que trabalham nos clientes e possuem o espírito “cool”da TW).

Hoje foi meu último dia na beach, vou ser alocado em um projeto a partir de segunda. O legal é que o prédio do cliente é vizinho ao apartamento onde estou morando, literalmente à cinco minutos andando de casa.

Noticias de Down Under

Tuesday, November 27th, 2007

Apos trinta horas de cansativa viagem cheguei a Melbourne sexta-feira passada. A cidade eh linda, o povo amigavel.

Estou no finzinho do meu segundo dia na ThoughtWorks, no escritorio de Melbourne por enquanto. Ontem eu ganhei meu MacBook Pro (e isso explica porque este post nao tem acentos, nao sei usar isso direito) e ainda estou matando o backlog de uma semana sem computador decente. Mais em breve.

Problemas no WordPress…meio que corrigidos

Sunday, November 18th, 2007

No ConexãoJava eu fiz um apelo por alguém que soubesse PHP e, especificamente, WordPress para me ajudar. Nenhuma boa alma :’(

Partindo dia 21 para Melbourne eu estou sem computador, quase sem celular, sem telefone fixo e, por consequência, sem Internet. Aproveitei uma tarde na casa da minha sogra entre um forumlário preenchido e um apartamento para alugar procurado, baixei o putty no computador do meu cunhado e tentei resolver o problema.

O Google não me trouxe nada de útil além de milhares de sites com o mesmo problema. Quando eu tentava atualizar o WordPress recebia a mensagem:

1. WordPress
2.
3. WordPress database error: [Unknown column 'user_nickname' in 'field list']
4. SELECT ID, user_nickname, user_nicename FROM wp_users

Tentei remover todos os plugins. Nada. Remover temas. Nada. No final acabei tentando entender o upgrade.php e percebi que o problema certamente estava em uma variável que guarda a versão do banco de dados, a $wp_db_version. Ela deveria ser menor ou igual à 5183 e tinha valor 1! Não sei exatamente o que ocorreu mas certamente isso não era um estado válido.

Solução? Entrei no MySQL e rodei:

UPDATE `wp_options` SET `option_value` = '5183' WHERE `wp_options`.`option_id` =73 AND
`wp_options`.`blog_id` =0 AND CONVERT( `wp_options`.`option_name` USING utf8 ) = 'db_version' LIMIT 1 ;


Eu não tenho a menor idéia das consequências deste hack
mas por enquanto tudo funciona. Já fiz backup da minha base de dados, por via das dúvidas…

Tive também que deletar uns 3000 spams que foram postados como comentários neste tempo. O Plugin anti-spam parou de funcionar e eu quase enlouqueci!

Como Nasce um Framework Significativo?

Wednesday, November 7th, 2007

DHH responde:

In the beginning, there was no Rails, there was only Basecamp. After working on Basecamp for a while, though, I eyed the option of giving all the generic pieces a life of their own. But even then, I continued to work on Basecamp first. Which meant that all the functionality of Rails came as extractions of a real application, not of a “what somebody might need some day” fantasy, so prevalent in framework design.

Lembra…

Tuesday, November 6th, 2007

..daquele projeto? Pois é, tá no ar. Mais que um site, é uma plataforma de vídeos completamente integrada com todos os outros sistemas do portal. O site é apenas um catálogo de vídeos, o projeto GloboVideos 4.2 não era sobre site, era sobre disponibilizar serviços.

video.globo.com

Aconteceu de tudo neste projeto. O gerente responsável foi promovido e saiu do setor, o gerente de projetos foi pra outro projeto, não existia escopo definido, o analista responsável foi para o Japão treinar Aikido, tivemos que criar um framework porque nada no mercado faz o que precisamos, introduzimos uma plataforma de serviços, servidores novos, ambientes novos, enfrentamos um processo burocrático, frameworks e bibliotecas novos, migração de Oracle 8i para 10g, introdução da agilidade e até mesmo minha recente decisão em sair do Brasil.

Dadas as pessoas dedicadas e profissionais que temos eu tenho certeza que conseguiríamos entregar tudo. Já fizemos outras vezes. Mas só com um processo ágil conseguimos fazer com que o usuário saiba exatamente o que esperar deste projeto, eles já alteraram muita coisa no decorrer de todos os nossos 5 releases. E só com processos ágeis que uma janela de mudança de um site que costuma levar quase meio dia levou menos de uma hora.

Ainda temos muitos ajustes a fazer no sistema e no processo mas progredimos muito. Fico feliz de encerrar minha carreira global integrando um time de sucesso.

Parabéns a todos nós.

Second Life

Monday, November 5th, 2007

O G1 acabou com seu blog no Second Life. Ninguém liga mais para Second Life. Uma das coisas mais engraçadas sobre estes “novos” conceitos de Internet é ver um bando de gente das mais variadas áreas falando sobre os temas sem entender quase nada do assunto.

O que move a Internet desde sempre são as possibilidades derivadas do aspecto técnico. O curioso é que o programador não está pronto para lidar com isso, ele passou anos, décadas aprendendo a somente pegar as regras de negócio de alguém e transformá-las em código, quando temos um ambiente como a Internet onde quem sabe mais sobre o negócio é o programador ele simplesmente trava.

Enquanto você não colocar um arquiteto de informação lado a lado com um desenvolvedor você não vai ter nada que preste. É óbvio para alguém que entenda minimamente do que é feita a Internet que o Second Life não ia dar em nada simplesmente porque é uma plataforma de software muito pobre. Não falo dos recursos 3D mas sim da forma de distribuição.

“Não tem ninguém lá”, as pessoas reclamam. É óbvio que não vai ter, quem vai querer fazer o download, criar uma continha, um avatar e ter que abrir aquele programa enorme e lento toda hora para conversar com as pessoas? Pergunte a qualquer programador experiente e ele vai ter dizer que esse problema já matou diversas outras boas iniciativas, se você está querendo introduzir algo novo não obrigue as pessoas a usar algo só para isso.

É só olhar a história dos Instant Messengers. O ICQ é muito melhor que qualquer alternativa (eu acho que já usei todos) exceto o Jabber (que é um protocolo aberto e padronizado, outro nível) mas ainda assim não deu em nada. Quando o conceito de instant messaging ficou popular não foi através dele, foi com MSN, Yahoo! Messenger e agora o Google Talk. Instalar o ICQ e utilizá-lo numa conexão de 33kpbs era uma droga e quando a conexão ficou aceitável a Mirabilis já era passado.

Fale sobre FTP, Gopher,Finger ou qualquer outra coisa que não seja HTML entregue via HTTP que a maioria dos “profissionais de internet” não vai sequer entender. Fazendo uma versão do famoso bordão da comunidade Lisp: Aqueles que não conhecem de verdade a Internet estão fadados a repetir os erros que já foram cometidos.

Packin’

Saturday, November 3rd, 2007

Acho que vocês devam imaginar como estão as coisas: A casa cheia de caixas, a agenda lotada, formulários da receita federal, procurações, certidões, quebras de contrato, exame demissional… Previsão de embarque é, se tudo correr bem, dia 20/11 e temos muito pouco tempo para resolver tudo.

Meu perfil do LinkedIn já foi atualizado e acabo de saber que meu primeiro projeto será em Melbourne. Estávamos preparados para ficar direto em Sydney mas só vamos para lá depois de pelo menos 6 meses, que é o tempo estimado deste projeto.