2 Punkte von GN⁺ 2024-10-05 | 3 Kommentare | Auf WhatsApp teilen

Frage

  • Es wurde die Frage aufgeworfen, warum ein automatisierter Test zu einer bestimmten Uhrzeit fehlschlägt. Der Test schlägt um 00:30 fehl und gibt unerwartet die Meldung „gimme gimme gimme“ auf stderr aus.

Antwort 1

  • Dieses Problem liegt an einem Easter Egg im Befehl man.
  • Wenn der Befehl man um 00:30 ausgeführt wird, wird die Meldung „gimme gimme gimme“ ausgegeben.
  • Dieses Easter Egg stammt von ABBAs Song „Gimme! Gimme! Gimme! (A Man After Midnight)“.
  • Das Problem wurde mit Commit 84bde8 behoben. Jetzt tritt dieses Easter Egg auch bei der Ausführung von man -w nicht mehr auf.

Antwort 2

  • Dieses Easter Egg war im Quellcode des Befehls man enthalten und wurde nur zu einer bestimmten Uhrzeit ausgegeben.
  • Es wurde in mehreren Distributionen gefunden, darunter RHEL, OpenSUSE, Fedora und Debian.
  • Das Easter Egg wurde vom man-db-Entwickler Colin Watson entfernt.

Antwort 3

  • Dieses Easter Egg sollte in Version 2.8.0 von man-db entfernt werden.
  • Das Easter Egg hat viele Menschen zum Lachen gebracht, war für manche aber auch störend.
  • Colin Watson ließ die Möglichkeit offen, künftig andere Formen von Easter Eggs hinzuzufügen.

Zusammenfassung von GN⁺

  • Dieser Artikel behandelt ein Problem, das durch ein Easter Egg im Befehl man verursacht wurde. Das Easter Egg wurde von ABBAs Song inspiriert und funktionierte nur zu einer bestimmten Uhrzeit.
  • Das Problem wurde gelöst, indem der Entwickler von man-db das Easter Egg entfernte. Dadurch werden unerwartete Fehler in automatisierten Testumgebungen vermieden.
  • Der Artikel ist ein gutes Beispiel dafür, wie Easter Eggs in Softwareentwicklung und Testumgebungen Probleme verursachen können. Ein anderes Projekt mit einer ähnlichen Funktion ist der Befehl info.

3 Kommentare

 
tribela 2024-10-07

Wenn man solche Easter Eggs einbaut, ist es auch eine gute Methode, einmal zu prüfen, ob die Standard-Ein-/Ausgabe ein TTY ist. In einem Shell-Skript kann man das mit [[ -t 1]] überprüfen.

 
y15un 2024-10-05

man wurde wohl als „männlich“ übersetzt, haha.

 
GN⁺ 2024-10-05
Hacker-News-Kommentare
  • Als ich früher eine Telemedizin-Web-App entwickelte, implementierte ich eine Funktion, bei der Patienten einen Online-Fragebogen ausfüllten und ihre Antworten dem Arzt angezeigt wurden. In jeder Abteilung der jeweiligen medizinischen Systeme mussten Fragen nach einer anderen Logik angezeigt werden. Beim Debugging wurde versehentlich die Nachricht "I SEE YOU!!!" stehen gelassen, die ein psychiatrischer Patient entdeckte. Danach wurden aaa und 111 als Debug-Markierungen verwendet

  • Wenn Software kostenlos ist und der Maintainer kein Gehalt bekommt, sind ein paar Easter Eggs ein kleiner Preis. In einem Unternehmen fügte ein Entwickler den AGB hinzu, dass der Nutzer seine Seele an das Unternehmen abtritt. Damit sollte geprüft werden, ob das Management die AGB überhaupt überprüft

  • Programmieren sollte Spaß machen, und dass Open Source zu ernst wird, liegt an Unternehmen. Wenn ich persönlich Programme schreibe, füge ich Easter Eggs hinzu, um Nutzer an die menschliche Seite zu erinnern

  • Colin Watson, der Entwickler von man-db, hat Easter Eggs vollständig entfernt. Der Grund war, dass sie Nutzern schaden könnten

  • Beim Einrichten von FreePBX wurde der Erweiterungsnummer 666 Vincent Prices Lachen aus Michael Jacksons Thriller hinzugefügt. Wegen eines Systemfehlers wurden jedoch alle Anrufe an 666 weitergeleitet, was bei Kollegen Unbehagen auslöste

  • Auf einem QNAP-Celeron-NAS wurde Ubuntu installiert, doch zu einer bestimmten Zeit trat ein Kernel Panic auf. Ursache war ein Bug durch Siliziumdegradation bei J1900-Geräten

  • Es wird eine Hypothese dafür benötigt, warum es Tests gibt, die den man-Befehl ohne Argumente aufrufen. Eine Möglichkeit ist, dass damit geprüft werden soll, ob man installiert ist