Pergunta
- Foi levantada uma questão sobre o motivo de testes automáticos falharem em um horário específico. Os testes falhavam às 00:30 e imprimiam a mensagem inesperada "gimme gimme gimme" no stderr.
Resposta 1
- Esse problema ocorria por causa de um easter egg do comando
man.
- Ao executar o comando
man às 00:30, a mensagem "gimme gimme gimme" era exibida.
- Esse easter egg veio da música do ABBA "Gimme! Gimme! Gimme! (A Man After Midnight)".
- O problema foi corrigido pelo commit 84bde8. Agora, ao executar
man -w, esse easter egg não é mais acionado.
Resposta 2
- Esse easter egg estava incluído no código-fonte do comando
man e só era exibido em um horário específico.
- Ele foi encontrado em várias distribuições, como RHEL, OpenSUSE, Fedora e Debian.
- O easter egg foi removido por Colin Watson, desenvolvedor do
man-db.
Resposta 3
- Esse easter egg estava previsto para ser removido na versão 2.8.0 do
man-db.
- O easter egg fez muita gente rir, mas também causou incômodo para algumas pessoas.
- Colin Watson deixou em aberto a possibilidade de adicionar outros easter eggs no futuro, em outro formato.
Resumo do GN⁺
- Este artigo trata de um problema causado por um easter egg do comando
man. O easter egg foi adicionado com inspiração na música do ABBA e funcionava apenas em um horário específico.
- O problema foi resolvido quando o desenvolvedor do
man-db removeu o easter egg. Com isso, falhas inesperadas em ambientes de testes automatizados passaram a ser evitadas.
- Este artigo é um bom exemplo de como easter eggs podem causar problemas em ambientes de desenvolvimento de software e testes. Outro projeto com funcionalidade semelhante é o comando
info.
3 comentários
Se vão colocar esse tipo de easter egg, também é uma boa verificar se a entrada/saída padrão é um TTY. Em shell script, dá para validar com
[[ -t 1]].manfoi traduzido como homem mesmo, hahaComentários do Hacker News
No passado, ao desenvolver um web app de telemedicina, implementei uma função em que os pacientes preenchiam questionários online e as respostas eram mostradas ao médico. Cada departamento de cada sistema de saúde precisava exibir as perguntas com uma lógica diferente. Durante a depuração, uma mensagem
I SEE YOU!!!deixada por engano foi encontrada por um paciente de psiquiatria. Depois disso, passei a usar aaa e 111 como marcadores de debugSe o software é gratuito e o mantenedor não recebe salário, alguns easter eggs são um preço pequeno a pagar. Em uma empresa, um desenvolvedor adicionou aos T&C que o usuário cedia sua alma à empresa. Isso era para verificar se a gerência realmente revisava os T&C
Programar deveria ser divertido, e o open source estar ficando sério demais é culpa das empresas. Pessoalmente, quando escrevo programas, adiciono easter eggs para lembrar aos usuários do lado humano por trás deles
Colin Watson, desenvolvedor do man-db, removeu completamente os easter eggs. Isso porque eles podem causar dano aos usuários
Ao configurar o FreePBX, adicionei ao ramal 666 a risada de Vincent Price em Thriller, de Michael Jackson. Porém, por causa de um erro no sistema, todas as ligações eram conectadas ao 666, o que deixou os colegas incomodados
Instalei Ubuntu em um NAS QNAP Celeron, mas havia kernel panic em um horário específico. Isso acontecia por causa de um bug de degradação do silício em dispositivos J1900
É preciso uma hipótese para explicar por que existe um teste que chama o comando man sem argumentos. Pode ser para verificar se o man está instalado