E à quarta vez, os Heisenbugs e Bohrbugs decidiram tomar conta da nossa demo. Heisen... Bohr... quê?
Heisenbugs, cujo nome é um trocadilho derivado do princípio da incerteza de Heisenberg, são situações erróneas em programas informáticos que desaparecem ou alteram as suas características quando tentamos observá-los e perceber a razão da sua existência. Na realidade estas situações estão mais ligadas ao princípio dos observadores do que ao princípio de Heisenberg, mas o termo Heisenbug é comummente utilizado para as descrever. Como deve dar para perceber, estas coisas são complicadas de resolver.
Bohrbugs, cujo nome vem do modelo do átomo de Bohr, são problemas que se manifestam sempre da mesma maneira perante um conjunto bem definido de condições, ainda que algumas destas não sejam conhecidas. Alguns destes são fáceis de resolver, mas aqueles cujas condições não são todas conhecidas podem dar dores de cabeça semelhantes às dos Heisenbugs.
Quando os problemas começaram a manifestar-se na quarta-feira ao final do dia e cerca das 23:00 de quinta-feira uma das partes fulcrais do sistema deixou de funcionar, deveríamos ter sabido interpretar os sinais que a Sexta-feira ia ser dura.
Como de costume, estivémos até à hora da demo a resolver problemas e a colar a funcionalidade de forma a termos mais qualquer coisa para demonstrar. Até aqui estávamos a trabalhar apenas com software pelo que as coisas se resolveram sempre com sucesso, mas esta semana começámos a integrar dispositivos reais. E claro, os problemas tinham de surgir tarde e a más horas.
A 5 minutos da demo começar percebemos que os nossos dispositivos que estavam ligados à corrente a medir a energia e o consumo dos nossos monitores não conseguiam comunicar com os computadores na sala da demo. Mau... OK, trazemos os dispositivos para a sala da demo e vamos ligá-los a qualquer coisa. E ligámos.
Começámos por demonstrar alguma da funcionalidade mais vistosa e tudo correu bem. Tentámos então demonstrar que estávamos a receber dados dos dispositivos, mas a nossa aplicação só mostrava um grande zero, e isto apenas depois de ter dado um erro que estivémos a manhã toda a corrigir... Zero era mesmo a leitura que vinha dos dispositivos, ou seja, o sítio onde os tínhamos ligado tinha um consumo tão pequeno que nem chegava para ser detectado pelo dispositivo... É sempre interessante dizer que algo a zero é efectivamente o que estamos a medir...
Faltava a segunda parte da demo, já que a primeira tinha sido completamente anulada por este momento a zero. Vamos a isso. Alguém pode abrir a porta da sala por favor, a ver o que acontece no nosso sistema? OK, não aconteceu nada. Ou pelo menos nada que esperássemos. Mais um erro que achámos que estava corrigido. Podem fechar a porta de novo, por favor? Pronto, vamos a reiniciar o sistema e fazer uma nova tentativa. Desta vez a coisa correu melhor quando abriram a porta e quando a voltaram a fechar. Mas a demo já se tinha irremediavelmente adicionado ao grupo das demos que não funcionaram neste dia.
Happy hour? Não. Em vez disso ficámos no escritório até às 20.00, perante o olhar atónito de todos os que foram saindo, a planear o que vamos fazer esta semana. Porque a demo não pode voltar a falhar, que isso é para todos nós inaceitável.
O diário de bordo do fim de semana será adicionado mais tarde. Não, não estivémos a trabalhar no fim de semana, mas eu estou demasiado cansado para escrever sobre isso às 23.00 de Domingo.



força nisso! tenho a certeza que foi isolado.. :)
ResponderEliminar