2 puan yazan GN⁺ 2024-10-05 | 3 yorum | WhatsApp'ta paylaş

Soru

  • Belirli bir saatte otomatik testlerin neden başarısız olduğuna dair bir soru gündeme geldi. Testler 00:30'da başarısız oluyor ve stderr'e beklenmedik şekilde "gimme gimme gimme" mesajını yazdırıyordu.

Yanıt 1

  • Bu sorun, man komutundaki bir easter egg nedeniyle ortaya çıkıyordu.
  • man komutu 00:30'da çalıştırıldığında "gimme gimme gimme" mesajı yazdırılıyordu.
  • Bu easter egg, ABBA'nın "Gimme! Gimme! Gimme! (A Man After Midnight)" şarkısından geliyordu.
  • Sorun 84bde8 commit'i ile çözüldü. Artık man -w çalıştırıldığında bu easter egg tetiklenmiyor.

Yanıt 2

  • Bu easter egg, man komutunun kaynak koduna dahil edilmişti ve yalnızca belirli bir saatte çıktı veriyordu.
  • RHEL, OpenSUSE, Fedora, Debian gibi birçok dağıtımda bulundu.
  • Easter egg, man-db geliştiricisi Colin Watson tarafından kaldırıldı.

Yanıt 3

  • Bu easter egg'in man-db 2.8.0 sürümünde kaldırılması planlanıyordu.
  • Easter egg birçok kişiyi güldürdü, ancak bazıları için rahatsız ediciydi.
  • Colin Watson, gelecekte farklı türde easter egg'ler ekleme olasılığını açık bıraktı.

GN⁺ Özeti

  • Bu yazı, man komutundaki bir easter egg nedeniyle ortaya çıkan bir sorunu ele alıyor. Easter egg, ABBA'nın şarkısından esinlenerek eklenmişti ve yalnızca belirli bir saatte çalışıyordu.
  • Sorun, man-db geliştiricisinin easter egg'i kaldırmasıyla çözüldü. Böylece otomatik test ortamlarında beklenmedik hataların önüne geçildi.
  • Yazı, yazılım geliştirme ve test ortamlarında easter egg'lerin nasıl sorun çıkarabileceğini gösteren iyi bir örnek. Benzer bir özelliğe sahip başka bir proje olarak info komutu verilebilir.

3 yorum

 
tribela 2024-10-07

Böyle türden bir easter egg ekleyecekseniz, standart giriş/çıkışın TTY olup olmadığını bir kez kontrol etmek de iyi bir yöntemdir. Shell script ise [[ -t 1]] ile doğrulanabilir.

 
y15un 2024-10-05

man erkek olarak çevrilmiş demek ki, haha

 
GN⁺ 2024-10-05
Hacker News yorumu
  • Geçmişte bir teletıp web uygulaması geliştirirken, hastaların çevrimiçi anket doldurup yanıtlarını doktora gösteren bir özellik uygulamıştım. Her sağlık sisteminin bölümüne göre soruların farklı mantıkla gösterilmesi gerekiyordu. Hata ayıklama sürecinde yanlışlıkla bıraktığım "I SEE YOU!!!" mesajı bir psikiyatri hastası tarafından fark edildi. O zamandan sonra hata ayıklama işaretçisi olarak aaa ve 111 kullanmaya başladım

  • Yazılım ücretsizse ve bakımını yapan kişi maaş almıyorsa, birkaç easter egg küçük bir bedeldir. Bir şirkette bir geliştirici, kullanıcıların ruhlarını şirkete devrettiğini söyleyen bir maddeyi T&C'ye eklemişti. Amaç, yönetimin T&C'yi gerçekten gözden geçirip geçirmediğini kontrol etmekti

  • Kod yazmak eğlenceli olmalı; açık kaynağın fazla ciddileşmesinin sebebi şirketler. Ben de kişisel olarak program yazarken, kullanıcılara işin insani tarafını hatırlatmak için easter egg'ler ekliyorum

  • man-db'nin geliştiricisi Colin Watson, easter egg'leri tamamen kaldırdı. Bunun nedeni, bunların kullanıcılara zarar verebilme ihtimaliydi

  • FreePBX'i yapılandırırken 666 dahili numarasına Michael Jackson'ın Thriller'ındaki Vincent Price kahkahasını eklemiştim. Ancak sistem hatası yüzünden tüm aramalar 666'ya yönlendirildi ve bu durum iş arkadaşlarını rahatsız etti

  • QNAP Celeron NAS'e Ubuntu kurmuştum ama belirli bir saatte kernel panic yaşanıyordu. Bunun nedeni J1900 cihazlarındaki silikon bozulması hatasıydı

  • man komutunun neden argümansız çağrıldığını test eden bir kontrol için bir varsayıma ihtiyaç var. Bu, man'in kurulu olup olmadığını doğrulamak için olabilir