April 16th, 2008Running Java 6 on a Mac

Following the recent trends on Planet TW, George and I decided to share our homage to those who, like us, miss (or don’t) running Java 6 on a Mac :-)

 

Running Java 6 on a Mac

 

Post to Twitter

April 7th, 2008Git tip for Brazilians

While working with Git on my current project, my pair and I noticed a source of waste when synchronizing with the master repository: in Portuguese “Puxe” means pull, which sounds exactly like push, but with the opposite meaning. Push in Portuguese is “Empurre”. Because of that, it always take me a few seconds before figuring out which command to execute. Since we are all for eliminating waste, here’s the visual solution in our pairing station… :-)

 

Git push or pull?

 

Post to Twitter

August 2nd, 2007Propaganda Ágil

Geralmente eu gosto de compartilhar notícias interessantes no meu “Shared Feeds” do Google Reader, mas essa eu acho que vale um post especial: o pessoal da Version One, do Google e da InfoQ estão apoiando um concurso de comerciais ágeis, que serão apresentados na Agile 2007 (esse ano, infelizmente, eu não vou)! Vale a pena conferir! Separei alguns dos meus favoritos:

Musical da ThoughtWorks UK:

Drama da ThoughtWorks UK:

Estilo “Mac vs. PC”, da OutSystems:

Post to Twitter

Finalmente tomei vergonha na cara nesse fim de semana e fiz os trackbacks do meu blog funcionarem. \o/ Ainda está em fase experimental, mas fiz uns testes internos e parece que está ok.




Aproveitando que o assunto é diversão, parece que o Settlers fez sucesso! Por falar nisso, estou devendo marcar umas partidas com algumas pessoas. Se você é uma delas, deixe um comentário para me cobrar. Se não for, mas tiver interesse em conhecer o jogo, deixe um comentário também. Na pior das hipóteses podemos jogar uma partida online :-)

Post to Twitter

Para fechar essa série de posts sobre o FISL, resolvi falar um pouco sobre algumas das curiosidades da minha viagem a Porto Alegre:

1-1 = 3 ?

O hotel em que ficamos era um tanto curioso. Em primeiro lugar, nosso quarto tinha, além dos usuais 2 quartos e banheiro, uma cozinha gigante, uma sala de TV, uma área de serviço e até campainha! Com certeza era um prédio de apartamentos que virou hotel. O quarto do pessoal do BCC 2005 ficava na cobertura e tinha 2 andares! Muito chique. Mas o mais engraçado era o que tinhamos que fazer para chegar no nosso quarto, 501B. A recepção ficava no prédio “A”, no andar 1. O andar térreo era onde ficava a passagem para o nosso prédio “B”. Então tínhamos que descer um andar para atravessar de um prédio para o outro. Até aí tudo bem. O mais engraçado era que saíamos do térreo do prédio “A” e, andando em linha reta, chegávamos ao terceiro andar do prédio “B”! Sim, 1 – 1 = 3! A última parte do percurso era fácil: só subir mais 2 andares para chegar no quinto. Que confusão!

Churrascarias e taxistas

No primeiro dia todo o pessoal do IME foi jantar numa das melhores churrascarias de Porto Alegre (pelo menos segundo a propaganda e as indicações de algumas pessoas). Fomos todos de táxi e, segundo relatos do pessoal que foi antes, alguns dos motoristas de táxi ganhavam comissão para levar as pessoas nas churrascarias “conveniadas”. Ou seja: ele tentava te empurrar outra churrascaria e, na pior das hipóteses, te levava na conveniada dizendo que era a outra. :-) Não vou nem comentar muito sobre o que aconteceu na volta para o hotel mas, aparentemente, o convênio dos motoristas de táxi não se limita às churrascarias, mas também a outros estabelecimentos noturnos da cidade (com direito a escolher 1 entre 3 opções sem pagar a corrida!). Essa foto foi tirada pelo Guilherme:

Pessoal do IME na churrascaria gaúcha

No terceiro dia, fui encontrar com uma amiga que estudou comigo e fomos jantar numa churrascaria uruguaia. A comida era muito boa. O Julian não se conteve e teve que pedir um “Tapa no Quadril” de janta. Sim, picanha tem esse nome naquele restaurante. Tinha até a opção “Tapa no Quadril – Gaúcho”. Imaginem ele pedindo para a garçonete: “Por favor, eu gostaria de um Tapa no Quadril”. Foi engraçado. :-)

Google

Conforme já comentei, no último dia, tivemos que ralar para conseguir ganhar brindes no stand do Google. A protagonista da cena engraçada do dia foi a Mari: depois de ensinar eu e o Julian a resolver o Cubo Mágico, uma outra menina pediu para aprender. A Mari, já cansada de ficar em pé, puxou a cadeira do stand do Google e começou a explicar para sua nova aprendiz. Depois de um tempo ensinando os movimentos e as etapas para chegar na solução, a menina conseguiu terminar. Foi então que a Mari me tira um chaveiro do Google do bolso e dá para a menina, como prêmio por ter resolvido o cubo. Ha ha ha.. A menina até perguntou se ela trabalhava no Google. Enquanto eu dava risada o pessoal do Google estava inconformado com a cena (e rindo também).

Settlers

Tirando o fiasco que foi minha participação no jogo do primeiro dia,
uma frase ficou marcada: no meio das negociações eu ouço alguém pedindo “Eu quero uma madeira” (você vai ter que ler em voz alta para entender a graça… ou não). Ok, essa nem foi tão engraçada, podia ter terminado sem essa. :-)

Assim termino essa série de posts sobre o FISL 2007 e espero encontrá-los por lá no ano que vem!

Post to Twitter

Para quem ainda não sabe, eu toco piano/teclado desde pequeno. Acontece que fui chamado para cobrir um tecladista de última hora e vou me apresentar hoje tocando Rush cover no Led Slay. O bar fica na Zona Leste, Av. Celso Garcia, 5765 e tem um mapa para os perdidos (assim como eu). O preço é R$1,00 até as 22:00hs e R$5,00 depois das 22:00hs. Devemos tocar por volta das 00:00hs. Se conseguir fotos/vídeos eu publico aqui depois.

Post to Twitter

October 20th, 2006Novo Vício

Ultimamente me dei conta que estou cada vez mais dependente dos serviços do Google para realizar minhas tarefas mais básicas no trabalho, na faculdade e em casa. Meu novo vício é ler notícias no novo leitor RSS, o Google Reader



Esses dias percebi que tem um link “all my services »” no GMail que mostra a lista de serviços do Google associados à minha conta. Resolvi clicar para ver e descobri que eles sabem muito sobre a minha vida: e-mail, agenda, acessos ao meu site, orkut, listas de discussão, GTalk e não acaba mais… Dá até medo pensar o que eles podem fazer com tudo isso de informação.

Acontece que, mesmo assim, eu continuo me rendendo aos novos serviços.
Por um lado, ainda não acho tão viável fazer documentos e planilhas na web. A idéia é ótima e dá até gosto ver essas aplicações rodando no browser, mas o Firefox ainda não é um bom gerenciador de janelas. Ficar colocando aplicações em tabs não é muito organizado. Ainda mais quando eu já costumo deixar um monte de links abertos em tabs para ler quando chegar em casa (já ia me esquecendo, também uso o serviço de sincronização de browser). Por outro lado, é tão bom ter esses serviços de graça e com tanta qualidade que fica difícil de resistir.

Há algumas semanas atrás, meu amigo Daniel, vulgo DC, me mostrou o novo leitor de RSS do Google, o Google Reader. Achei fantástico! Nos últimos tempos, havia tentado utilizar alguns produtos stand-alone e até extensões do Firefox para essa tarefa, mas eu sempre esquecia de ler e acabava acumulando um monte de coisas. Dava até desânimo perceber que tinha deixado passar tanta coisa interessante. Quando vi o Google Reader funcionando na web (na mesma tab que já está sincronizada e vive aberta em qualquer navegador que eu abro), e ainda por cima com gadgets para colocar na minha página incial do Google, foi amor a primeira vista.

Em primeiro lugar, exportar o OPML do antigo leitor para o novo foi tão fácil que não deu nem graça. Em segundos já tinha todos os meus sites de notícia funcionando no Google Reader. E as teclas de atalho ajudam muito! O que antes era clicar em vários ícones para abrir um outro programa e ficar clicando em cada RSS para ler, agora é só mudar de tab e apertar “j”.

Como se não bastasse tudo isso de legal, agora eu também posso compartilhar minhas notícias preferidas:

Add to Google

CUIDADO! Vocês também podem acabar se viciando como eu. Agora eu não consigo mais dormir sem deixar a “caixa de notícias” vazia.

Atualização (15/Dez): Eu e alguns amigos tivemos problemas com o Google Reader devido à forma como compartilhei o meu feed. Estava utilizando o Google Fusion com o ícone acima e ele estava com um bug, o que fazia com que minhas notícias no Google Reader ficassem marcadas como não-lidas e, o pior, ninguém conseguia remover meu RSS. Desculpem o inconveniente. Ontem (14/Dez) foi lançada uma nova release do Google Reader que permite a remoção da minha feed. Além disso, o Google Fusion não permite mais adicionar feeds ao Google Reader. Espero que eles consertem isso logo. Quem estiver interessado nas minhas notícias, ainda podem adicioná-la no próprio Google Reader, através da URL: http://www.google.com/reader/public/atom/user/06330148482348338208/state/com.google/broadcast

Post to Twitter

July 24th, 2006Agile 2006 – Dia 2

Segundo dia de conferência, e mais 3 sessões interessantes. Não é todo dia que você participa de uma palestra
com Jeff Sutherland, Ward Cunningham, Ron Jeffries e Michael Feathers.

Beyond the Manifesto: Readings for Agile Developers – Peter Coffee

Caminhamos até o hotel da conferência mais cedo para dar tempo de tomar café antes do Keynote com Peter Coffee.
A sessão estava cheia e ele basicamente recomendou 4 livros relacionados aos 4 valores do
Manifesto Ágil:

Após o Keynote, as sessões começaram pra valer: a programação estava cheia
de opções sobre os mais variados temas relacionados aos métodos ágeis. Decidi então começar o dia com o pé
direito.

Intro to the Agile Manifesto – Jeff Sutherland, Ward Cunnigham, Ron Jeffries e Michael Feathers

Apesar de ser uma sessão de para iniciantes (“Begginer's Track”),
eu não pude resistir à tentação de assistir uma palestra com 4 nomes tão conhecidos:
Jeff Sutherland, um dos inventores do Scrum,
Ward Cunningham, invertor do Wiki,
Ron Jeffries, um dos principais ativistas de XP e
Michael Feathers, o autor do livro
“Working Effectively with Legacy Code”
(que eu já li e estou devendo um review aqui).

Cada um ficou responsável por falar sobre um dos itens do manifesto ágil. O primeiro a falar foi Jeff Sutherland,
sobre:

“Indivíduos e interações são mais importantes que processos e ferramentas”

Sob o ponto de vista do Scrum, Jeff mostrou dados muito interessantes a respeito do poder do trabalho em equipe. A diferença
de produtividade entre um programador brilhante e um programador normal pode chegar a 25:1. Porém, quando você leva em
consideração a produtividade de um time inteiro, a diferença pode chegar a 2098:1!! Estou para começar a ler o livro de
Scrum e entendi a importância do time ser responsável pela conclusão das tarefas, ao invés das tarefas serem atribuídas
por alguém (gerente de projeto ou cliente). O próximo foi Ward Cunningham, falando sobre:

“Software funcionando é mais importante que documentação completa e detalhada”

Esse foi provavelmente o melhor tópico. Ward conseguiu expressar em poucas palavras a importância de termos uma suite
de testes: armazenar conhecimento sobre o código. Quando estamos desenvolvendo, o código inevitavelmente vai
guardar um histórico de decisões que tomamos no meio do caminho e que com certeza iremos esquecer depois de um tempo.
Testes de unidade “falam” numa linguagem voltada para os programadores sobre as decisões tomadas durante a vida de
um sistema, enquanto os testes de aceitação falam numa linguagem que o cliente entende. Não posso deixar de ressaltar
uma frase que ele disse no meio da palestra (o homem é uma máquina de frases de impacto): “Refatorar é a
álgebra do seu código”
: você pega uma equação complexa e vai reduzindo até transformá-la em algo que
consiga entender. O próximo a falar foi Ron Jeffries, sobre:

“Colaboração com o cliente é mais importante do que negociação de contratos”

A negociação de contratos parte de uma premissa errada, de que não há confiança entre a equipe de desenvolvimento e o
cliente. Quando você diz que fará apenas o que o cliente assinou, ele fica com medo de perder funcionalidade e
demora para chegar a um acordo sobre o que deve ou não entrar no contrato. E o fato é: ninguém sabe o que irá acontecer.
Tentar escrever um contrato sobre algo que será construído depois de 1 ano é tentar prever o futuro e sabemos que os
seres humanos não são bons em previsões de longo prazo (muito menos quando o assunto é o escopo de um sistema
complexo). Por último, Michael Feathers falou sobre:

“Adaptação a mudanças é mais importante que seguir um plano inicial”

O ato de planejar é a única parte importante ao fazer um plano. Quantas vezes você já não fez planos sobre as coisas
que faria no próximo mês ou ano e não conseguiu cumprir? Michael Feathers falou muito bem sobre a forma com a qual
geralmente criamos nossos planos: nós tentamos impor condições sobre o futuro que não serão necessariamente
verdadeiras na hora de executá-lo. Um exemplo interessante que ele mostrou é sobre o planejamento urbano em
algumas cidades européias: Quando alguém define que devemos olhar para o farol para atravessar a rua e que o
carro deve parar antes da faixa para não atropelar os pedestres, está definitivamente fazendo um plano para evitar
acidentes de trânsito. Porém, o fato de colocar esses elementos como regra, faz com que desviemos nossa atenção
para o farol e para a faixa ao invés de olharmos para o que realmente importa. Na Europa, algumas cidades estão
construindo ruas onde não há distinção entre calçada e asfalto e com pouca sinalização, para fazer com que os
motoristas e pedestres estejam sempre atentos. O que ele quis mostrar com esse exemplo é que apesar da importância
do planejamento, é mais importante você focar nas coisas que estão acontecendo e se adaptar conforme conhece
mais o ambiente.

The Lego XP Game – Sam Newman, Dan North e Mike Hill

Essa foi definitivamente a sessão mais divertida até o momento. Sam e Dan são desenvolvedores da
ThoughtWorks e mostraram o jogo que eles usam para ensinar as principais
práticas de XP num curto período de tempo. Um jogo onde cada time recebe especificações sobre um animal e devem
construí-lo, iterativamente, usando peças de Lego! Genial! Meu time acabou perdendo desenvolvedores no break e tive
que mudar de equipe no meio do caminho, então acabei ficando com duas versões:

First Team

Second Team

É interessante como foi possível mostrar partes do Jogo do Planejamento,
do desenvolvimento iterativo-incremental e da importância de medir a velocidade do time em cada iteração, usando apenas blocos de Lego!

Post to Twitter


© 2007-2009 Danilo Sato | Powered by Wordpress

Page optimized by WP Minify WordPress Plugin