2 पॉइंट द्वारा GN⁺ 2024-10-05 | 3 टिप्पणियां | WhatsApp पर शेयर करें

प्रश्न

  • एक सवाल उठा कि किसी खास समय पर automated test क्यों fail हो रहा है। टेस्ट 00:30 पर fail होता था और stderr पर अप्रत्याशित रूप से "gimme gimme gimme" संदेश प्रिंट करता था।

उत्तर 1

  • यह समस्या man कमांड के एक easter egg की वजह से थी।
  • man कमांड को 00:30 पर चलाने पर "gimme gimme gimme" संदेश प्रिंट होता था।
  • यह easter egg ABBA के गाने "Gimme! Gimme! Gimme! (A Man After Midnight)" से लिया गया था।
  • यह समस्या commit 84bde8 के जरिए हल की गई। अब man -w चलाने पर भी यह easter egg ट्रिगर नहीं होता।

उत्तर 2

  • यह easter egg man कमांड के source code में शामिल था और केवल एक खास समय पर प्रिंट होता था।
  • यह RHEL, OpenSUSE, Fedora, Debian जैसी कई distributions में पाया गया।
  • इस easter egg को man-db के developer Colin Watson ने हटा दिया।

उत्तर 3

  • इस easter egg को man-db 2.8.0 version में हटाया जाना तय था।
  • इस easter egg ने कई लोगों को हँसाया, लेकिन कुछ लोगों के लिए यह असुविधाजनक भी था।
  • Colin Watson ने भविष्य में किसी दूसरे रूप के easter egg जोड़ने की संभावना खुली रखी।

GN⁺ का सार

  • यह लेख man कमांड के easter egg की वजह से पैदा हुई समस्या पर है। यह easter egg ABBA के गाने से प्रेरित होकर जोड़ा गया था और केवल एक खास समय पर काम करता था।
  • man-db के developer द्वारा easter egg हटाए जाने के बाद यह समस्या हल हो गई। इससे automated test environment में होने वाली अप्रत्याशित errors को रोका जा सका।
  • यह लेख एक अच्छा उदाहरण है कि software development और test environment में easter egg किस तरह समस्या पैदा कर सकते हैं। इसी तरह की functionality वाला एक दूसरा project info कमांड है।

3 टिप्पणियां

 
tribela 2024-10-07

अगर आप इस तरह के Easter egg जोड़ने वाले हैं, तो यह एक बार जाँच लेना भी अच्छा तरीका है कि standard input/output TTY है या नहीं। अगर यह shell script है, तो [[ -t 1]] से इसकी जाँच की जा सकती है.

 
y15un 2024-10-05

man का अनुवाद पुरुष के रूप में हो गया है, हाहा

 
GN⁺ 2024-10-05
Hacker News टिप्पणियाँ
  • पहले जब टेलीमेडिसिन वेब ऐप विकसित कर रहा था, तब एक फीचर लागू किया था जिसमें मरीज़ ऑनलाइन प्रश्नावली भरते थे और उनके उत्तर डॉक्टर को दिखाए जाते थे। हर मेडिकल सिस्टम के विभाग के हिसाब से अलग लॉजिक के साथ सवाल दिखाने पड़ते थे। डिबग के दौरान गलती से छोड़ा गया "I SEE YOU!!!" संदेश एक मनोरोग मरीज़ को दिख गया। उसके बाद डिबग मार्कर के लिए aaa और 111 का उपयोग करने लगा

  • अगर सॉफ़्टवेयर मुफ़्त है और मेंटेनर को वेतन नहीं मिलता, तो कुछ easter eggs उसकी छोटी-सी कीमत हैं। एक कंपनी में एक डेवलपर ने T&C में यह जोड़ दिया था कि उपयोगकर्ता अपनी आत्मा कंपनी को सौंप देता है। इसका मकसद यह देखना था कि प्रबंधन वास्तव में T&C की समीक्षा करता है या नहीं

  • coding मज़ेदार होनी चाहिए, और open source के बहुत ज़्यादा गंभीर हो जाने के पीछे कंपनियाँ ज़िम्मेदार हैं। मैं व्यक्तिगत रूप से जब प्रोग्राम लिखता हूँ, तो easter eggs जोड़ता हूँ ताकि उपयोगकर्ताओं को याद रहे कि इसके पीछे इंसान हैं

  • man-db के डेवलपर Colin Watson ने easter eggs पूरी तरह हटा दिए थे। वजह यह थी कि वे उपयोगकर्ताओं को नुकसान पहुँचा सकते थे

  • FreePBX सेट करते समय 666 extension नंबर पर Michael Jackson के Thriller से Vincent Price की हँसी जोड़ी थी। लेकिन सिस्टम त्रुटि की वजह से सभी कॉल 666 पर जाने लगीं और सहकर्मियों को यह अप्रिय लगा

  • QNAP Celeron NAS पर Ubuntu इंस्टॉल किया था, लेकिन एक निश्चित समय पर kernel panic होने लगा। यह J1900 डिवाइस के silicon degradation bug की वजह से था

  • इस बात पर एक परिकल्पना चाहिए कि man कमांड को बिना arguments के कॉल करने वाला टेस्ट क्यों है। हो सकता है यह जाँचने के लिए हो कि man इंस्टॉल है या नहीं