2 pontos por GN⁺ 2024-10-05 | 3 comentários | Compartilhar no WhatsApp

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

 
tribela 2024-10-07

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]].

 
y15un 2024-10-05

man foi traduzido como homem mesmo, haha

 
GN⁺ 2024-10-05
Comentá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 debug

  • Se 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