Archive for May, 2005

A cobra vai fumar!

Posted in Gimme my category back, you hippies! on May 28th, 2005

No dia em que meus exércitos marcharem sobre as ruínas da última cidade que ainda resistia, e meu nome for aclamado com admiração e terror nos quatro quadrantes do planeta, e registros históricos forem alterados para eternizar minha conquista de um extremo ao outro do tempo, e o som retumbante das minhas botas significar submissão imediata e incondicional como a única alternativa a uma eternidade de sofrimento, e a sombra do meu reinado inconteste pesar como chumbo sobre cada ação e mesmo cada pensamento de todo ser vivo, e a palavra “Deus” for esquecida como um sinônimo desnecessário e não à altura do meu nome, não terei clemência.

Os tolos que se deixarem capturar vivos não terão suas cabeças cortadas com foices cegas, ou seus corpos trespassados por bastões farpados. Não serão esquartejados, suas feridas não serão esfregadas com sal ou álcool, nem serão jogados nus em fossos com chão em brasa e paredes cobertas de lâminas. Seus membros, à exceção de uma das mãos, não serão emparedados em concreto em uma sala em chamas, com apenas uma serra manual ao alcance. Suas famílias não serão amarradas com chagas abertas à mercê de ratos famintos, suas crianças não serão violentadas por soldados e animais.

Não, aos prisioneiros desta guerra sem esperança eu reservo a verdadeira dor.

Passarão o resto dos seus dias separando feijão. Os que deixarem passar um grão furado sequer terão ainda de fazer as compras do mês. Pra aprender.

Sobre Python

Posted in Garoto de programa! on May 27th, 2005

Bem, este post era pra falar sobre o PyConDay Brasil (renomeado pra “PyCon”, pro ano que vem), um evento sobre Python que aconteceu nos dias 28 e 29 de Abril, no Centro de Computação
da Unicamp. Mas acabei enrolando pra terminar de escrever e agora a coisa meio que perdeu o sentido. Então fica só a introdução que escrevi, comentando sobre Python:

Para os não-geeks (ou os que ainda não descobriram que são), Python é uma linguagem de programação. Segundo seu criador, o nome é uma homenagem ao Monty Python. Só isso já deveria ser motivo o bastante para qualquer um (bem, qualquer um que tenha algum interesse ou necessidade em programação - mas leia mais abaixo) ir dar uma olhada na linguagem. Mas, fora isso, ela tem algumas características, principalmente relacionadas a clareza e certa rigidez de expressão, que a tornam uma excelente primeira linguagem (e, sem dúvida, uma excelente linguagem em qualquer ponto, mas tem um atrativo especial para quem está aprendendo a programar). Tenho alguns poréns com ela e com alguns aspectos externos à linguagem em si (como sua documentação, por exemplo), mas tenho usado com freqüência (zzbot, nnebs etc) e estou cada vez mais convencido de que, das linguagens que conheço, ela é a mais adequada para ensino de programação, pois sua sintaxe e organização visual se intrometem pouco entre o aluno e a lógica do programa.

Como ilustração, um dos palestrantes do PyConDay era um doutorando em Biologia, que precisava de um software para fazer algumas manipulações e análises em dados biomoleculares. As opções existentes ou eram muito simples e incompletas, ou completas mas muito complicadas. Ele nunca havia programado antes, não é da área de computação. Aprendeu Python e fez
um belíssimo programa, o MPAlign, usando o PyGTK (uma das possibilidades de se fazer um programa com interface gráfica). Ficamos todos muito impressionados!

Tenho planos malignos de dar um micro-curso de programação em Python para os meus amigos não programadores que estiverem interessados. Vamos ver quando vou conseguir colocar isto em prática :)

Bem, é isso. O post ficou com uma cara meio incompleta, né? É que não era mesmo pra ser sobre isso :P

Bão dia!

Posted in Death, Bizarro Universe and Plagiarism on May 24th, 2005

Depois de anos, décadas até, ouvindo Beatles sem parar, uns meses atrás tive uma epifania: a animada música “Good Morning, Good Morning”, do Sgt. Pepper’s, que inclusive empresta uma frase ao título deste blog, começa com alguém sendo informado de que vai morrer!

“Nothing to do
to save his life
call his wife in.”

Ou, em Português e numa ordem menos enganosa, “Nada a fazer pra salvar sua [dele] vida, [o médico] pede para a esposa entrar”.

E continua:

“Nothing to say,
but what a day!
How’s your boy been?”

Outra mini-epifania, enquanto escrevo este texto! Anteriormente, eu lia esta linha como: “Nada a dizer, mas que dia! Como tem passado o seu garoto?”. Mas agora vi que ela pode ser melhor interpretada como “Nada a dizer, exceto ‘Que dia! Como tem passado o seu garoto?’”.

E ainda joga mais uma pra esposa. Eutanásia?

“Nothing to do,
it’s up to you.”

“Nada a fazer, agora [a escolha] é com você.”

(Bem, “it’s up to you” não necessariamente faz referência a uma escolha, ele pode querer dizer “agora [o fardo] é com você”, o que também não é lá muito animador)

Finalmente,

“I’ve got nothing to say
but it’s ok.”

“Não tenho nada a dizer, mas tudo bem”.

E, já que foi uma manhã divertida, tudo na paz, há um coro desejando a todos, em meio a uma gigantesca polifonia,

“Good morning!
Good morning!
Good morning, yeah!”

Simplesmente “ouvir” Beatles nem arranha a superfície :)

PS: Por outro lado, cuidado com interpretações (a acima inclusive). Diz a lenda que o John Lennon, ao saber que professores de uma determinada escola passavam uma música sua para os alunos interpretarem, escreveu “I Am The Walrus” e disse “Quero ver interpretarem isto!”

Nhéééum!

Posted in Death, Bizarro Universe and Plagiarism on May 19th, 2005

O resto eu ainda estou assimilando :)

Trema!

Posted in I don't believe in categories on May 18th, 2005

Nunca entendi o motivo de um certo “acordo ortográfico” de 1990 (se não me engano) ter abolido o uso (ou a obrigatoriedade) do trema. Parece que este acordo ainda não entrou em vigor (nem se sabe se vai), mas, ainda assim, pelo menos aqui no Brasil o pobre trema é cada vez menos usado. E, no entanto, é um acento extremamente simples e consistente. Quando você precisa evitar ambigüidade (olha ele aí) da pronúncia, usa. Quando não, não.

Pra usar o exemplo que (sem querer) acabei de apresentar: “ambigüidade”. Você fala o “güi” como em “guitarra” ou como em “lingüiça”? Se for da primeira forma, não vai trema; da segunda, vai (no caso, obviamente, vai, ou ficaria “ambiguidade”, parece algo relacionado a umbigo!). Simples. O mesmo vale pra “gue” (guerra) versus “güe” (enxágüe) e para os equivalentes com ‘Q’: “que” (queijo) versus “qüe” (aqüeduto) e “qui” (quinta) versus “qüi” (exeqüível). As outras combinações simplesmente não têm ambigüidade (por exemplo, você nunca vai ler “qua” como “ca”), portanto não vai trema.

Baba. Mas ainda assim o pobre trema continua rejeitado, qüoitado…

Interlúdio

Posted in Run to the hills! on May 18th, 2005

Urru! Segundo a classificação “não-oficial” do Caloi Adventure Camp (levando em conta equipes que não passaram por todos os PCs, que não fizeram vertical etc), ficamos em 38º lugar, contra 87º na corrida passada!!

Parabéns e obrigado de novo, equipe e apoio! Estou orgulhosíssimo e muito animado pra próxima etapa (começo de Julho, em Brotas)! Vamos treinar pra continuar progredindo!! :)

/me slaps you around with a large trout!

Posted in Gimme my category back, you hippies! on May 17th, 2005

Alguém se lembra disso? Não éramos inocentes, não fazíamos sentido, e sabíamos… :)

PS: Do alto de anos de sabedoria acumulada desde então, será que isto surgiu como referência ao “Fish-slapping dance“, do Monty Python? Tenho quase certeza de que o peixe com que o John Cleese acerta o Michael Palin é mesmo uma truta :)

UPDATE

Caramba, achei que aqui eu encontraria gente das antigas de IRC!! Mas, pelo jeito, ninguém entendeu, então segue uma explicação:

Bem, qualquer um que usou um pouco de IRC (em qualquer época) sabe que “/me” faz com que a frase em seguida apareça como uma ação. Por exemplo, digitar “/me diz bla bla bla” faz aparecer pra todo mundo “rbp diz bla bla bla” (se meu nick for rbp).

Agora, “/me slaps you around with a large trout!” era uma frase que acabou ficando comum, uma certa época, e que sempre me chamou a atenção por ser deliciosamente “non-sense” (se for mesmo originária do Monty Python, tá explicado :)). Podia ser usada em situações de “agressão bem-humorada” (por exemplo, você fica chamando alguém e a pessoa não responde, daí você bate nele com uma grande truta), ou, na verdade, em qualquer situação em que você quisesse arrancar um sorriso das outras pessoas no canal. Comigo sempre funcionou :)

Inclusive quando vi a referência (ligeiramente modificada, mas isso também era comum) no Joy Of Tech :)

As hilariantes desventuras de Érre nas corridas de aventura

Posted in Run to the hills! on May 17th, 2005

Primeira etapa do Caloi Adventure Camp (20/02/2005): Eu e o Poka chegamos ao local do vertical (rapel), mas tivemos de esperar uns 20 minutos na fila (vertical é normalmente onde há concentração maior de gente, especialmente no “pelotão do meio”). Nesse meio tempo, descansamos, comemos, nos hidratamos e fomos planejando nossa saída triunfal, com idéias revolucionárias de já irmos nos desequipando durante a descida, darmos impulso contra o paredão pra cairmos no chão já mais perto do rumo pra onde teríamos de correr, sairmos correndo sem perder tempo e deixar todos os outros competidores comendo poeira (”MWAHUAHUAHUAUA” vem à mente). Tudo perfeito.

Chegando perto da nossa vez, nós já com o equipamento de rapel, descobrimos que precisamos colocar o colete salva-vidas (o rapel era numa cachoeira). Como o Poka estava à frente, eu o ajudei a tirar a mochila, já que o colete devia ser colocado por baixo da camiseta do evento. Nesse meio tempo, a menina do staff da competição verificou o equipamento dele (insira aqui piada fálica óbvia) e mandou que ele seguisse em frente. O Poka vestiu o colete, a camiseta, colocou a mochila de volta e foi fazer a descida. Daí, enquanto a menina verificava o meu equipamento (piada diferente, por favor), eu tirei a mochila e a camiseta, coloquei o colete, recoloquei a camiseta, a menina me deu o OK e eu fui em frente.

Se você não notou nada de errado até aqui, releia o último parágrafo e compare o que o Poka fez ao que eu fiz.

Bem, quando eu estava uns 2 metros já na descida, olhei pra baixo e vi que caiu uma garrafa da mochila de um sujeito abaixo de mim. Neste momento, pensei “Puxa, espero que não caia nada da minha mochi… MOCHILA!! ESQUECI DE COLOCAR A MOCHILA!!!”

E pra contar isso pro tio da competição que fica lá em cima?

“..~. ~ ~~….._____”
“HEIN??”
“eusqueciminhamochila…”
“HEIN???”
“Minha mochila… euesqueci…”
“HEIN?????”
“EU ESQUECI MINHA MOCHILA AÍ EM CIMA!!”
“…”

Quando ele conseguiu parar de rir (felizmente estava bem ancorado, porque quase caiu lá de cima, entre convulsões e choro), mandou que eu continuasse descendo e ele mandaria minha mochila pela corda, com um mosquetão. Bem, lá se foi nossa estratégica retomada de velocidade. Mas tudo bem. Com alguma sorte, o Poka estaria atarefado em retirar seu equipamento e este mico ficaria só entre o staff da competição e eu.

“Alguma sorte” é um conceito fictício. Exatamente neste local, de todos os locais e pontos de controle da prova, a Aline e a Frida (e, de quebra, a Marina, a Tânia (esposa do Godoy, nosso companheiro de equipe), e mais uma amiga delas) estavam nos esperando, até então orgulhosas de seus cônjuges e esperando nos ver em gloriosa ação!!

Fiquei sinceramente tocado por elas ainda terem conseguido balbuciar “boa sorte” entre as gargalhadas…

Segunda etapa do Caloi Adventure Camp (15/05/2005 - ontem!): fomos MUITO melhor que na corrida passada (passamos da nonagésima pra quadragésima-quinta colocação - pausa para meus sinceros agradecimentos à equipe e à melhor equipe de apoio do mundo, das nossas cônjuges). Glória e felicidade à parte, em uma certa parte da prova eu e o Poka chegaríamos a um local em que estariam as bicicletas dos outros dois componentes da equipe (o Godoy e o Serginho). Nós iríamos com elas até um local mais adiante, em que eles pegariam suas bicicletas e nós continuaríamos remando.

Enfim, eu e o Poka pegamos as bicicletas e fomos pedalando rumo ao nosso próximo objetivo. Isso devia ser lá pelas 11 da manhã, um sol de rachar. Eu já estava meio desconfortável (eufemismo? Alguém?), pois fiquei com a bicicleta do Serginho que tem, para dizer de modo delicado, um terço do meu tamanho. Mas tudo bem. A uma certa hora, já deveras cansado, resolvi botar em prática um plano que já vinha elocubrando há um bom tempo: peguei a “squeeze” (ou “caramanhola”, ou “garrafinha que fica na bicicleta”) e molhei as costas, depois a cabeça (pelo capacete) e a testa . Já refrescado, continuei pedalando. Um pouco depois, querendo um insumo de água mais volumoso do que o possível com um hidratador (pra quem não conhece, é a versão cool e esportiva da mamadeira), pequei novamente a squeeze e bebi uma bela golada. Só que… Ela estava… Doce! Gatorade!! Eu me molhei todo de Gatorade!!

Meu capacete fez “screeeeeetch” até o final da corrida, toda vez que eu o tirava.

E o sujeito que havia me mandado a mochila na prova passada estava cuidando do vertical novamente. A julgar pelo riso, ele tem a memória bem melhor que a minha…

Não é que funciona mesmo?

Posted in I don't believe in categories on May 13th, 2005

Segunda-feira: levei meu velho e troncho cadeado de mochila (daqueles que têm um cabo retrátil e que abre com senha), como sempre, pra academia, pra fechar o armário. Ele já está bem, digamos, “funcionalmente inadequado”, volta e meia não consigo fechar, tenho de ficar tentando um tempo até a trava soltar e eu conseguir encaixar o cabo (insiram aqui piadas fálicas óbvias). Na hora de ir embora, cadê que o cadeado abre? Depois de muito forçar, tentando em vão apertar o botão que libera a trava, consigo pelo menos puxar a extensão do cabo, liberando o bastante pra abrir a porta do armário (sem soltar o cadeado) e pegar minhas coisas lá. Fecho o armário de volta, vou pra casa, o cadeado fica lá.

Terça-feira: Chegando na academia, tento abrir o maldito cadeado, e nada. Caramba, ele não tava detonado? Deveria ser mais fácil que isso… Bem, fazer o quê? Estico o cabo, coloco minhas coisas lá e vou malhar. Na hora de ir embora, mais uma tentativa. Tento colocar tanta força quanto possível (afinal, tou fazendo academia pra quê?), bater o cadeado no armário, puxar o cabo com força, enrolando na mão pra não escorregar. Nada. Vou pra casa, passando na farmácia pra comprar um band-aid pra colocar na mão. Acho que o cabo não estava enferrujado, mas eu tomei anti-tetânica recentemente, de qualquer forma.

Quarta-feira: Tento dar meu olhar de ódio pro cadeado. Ele nem se mexe. Maldito, está jogando com a minha mente. Passo assoviando, como se fosse abrir outro armário. De repente, viro e puxo o desgraçado com toda a força! Ato contínuo, outras pessoas no vestiário vêm me ajudar a levantar de volta o armário. Tenho de novamente recorrer a esticar o cabo pra guardar minhas coisas. Malhando, a cada puxada de ferro visualizo minha mão esmagando o cadeado, suas entranhas espalhando-se pelo chão.

Quinta-feira: Li ontem à noite sobre psicologia reversa, tentei colocar minhas coisas em outro armário, pra ver se o cadeado abria sozinho. Ele é mais preparado do que eu imaginava. Tentei conversar com ele. Ele parece um cadeado inteligente, sem dúvida conseguiríamos chegar a um acordo. Acabo perdendo a paciência com sua impassividade e começo a esmurrá-lo e a ofender sua mãe (sem dúvida uma cadeada honrada, nada pessoal). Outros presentes no vestiário me arrastam pra fora, enquanto tento arrancar este jagunço do tinhoso de sua torre de marfim. Consigo ouvi-lo rindo de mim e contando a história a outros cadeados, enquanto meus captores perguntam se não seria melhor eu tomar uma água, talvez voltar pra malhar só amanhã.

Sexta-feira: Hoje seria o dia da vitória, exceto que não me deixaram entrar na academia com a banana de dinamite. Desanimado, evito olhar nos olhos do inominável (sim, grandes olhos vermelhos, que me seguem onde quer que eu vá), enquanto cuidadosamente estico o cabo pra guardar minhas coisas no armário. Meu instrutor pergunta porque estou contando “Um - cadeado. Dois - cadeado. Três - cadeado” enquanto faço minhas séries. Na hora de ir embora, vou lá desejar um bom fim de semana quando… Ué, há quanto tempo o cadeado está em “0000″? A senha não era “0042″?

Segunda-feira vou comprar um cadeado com chave.

Entrão!

Posted in Garoto de programa! on May 12th, 2005

Caramba, eu sou mesmo muito entrão (ou, como diz o daniduc, “cocky newbie”). Caso em questão: entrei na lista de discussão de Python há mais ou menos um mês. Uso a linguagem tem mais ou menos um ano. Não é lá muita coisa. Bem, já estou numa “discussão” (amigável) com o Niemeyer (da Conectiva, que é do grupo de core developers de Python) sobre um comportamento que considero inconsistente na linguagem.

Como também diz o daniduc (caramba, como fala!), um dia eu ainda morro disso (bem, não é exatamente a isso que ele se refere, mas a eu saber ser conscientemente irritante). Não vai ser desta vez, o Niemeyer é um cara legal e paciente, mas, um dia… :)