ทำไมมนุษย์ถึงพิมพ์“ gimme gimme gimme” เวลา 00:30?


1625

เราได้สังเกตเห็นว่าการทดสอบอัตโนมัติบางส่วนของเราล้มเหลวเมื่อทำงานเวลา 00:30 น. แต่ทำงานได้ดีตลอดวัน พวกเขาล้มเหลวด้วยข้อความ "gimme gimme gimme" ใน stderr ซึ่งไม่คาดคิด เหตุใดเราจึงได้รับผลลัพธ์นี้


5
เชื่อมโยงใน: unix.stackexchange.com/questions/226716/…
Jeff Schaller

54
ฉันไม่เข้าใจ ทำไมสคริปต์ทดสอบของคุณโทรหาคนที่ควรจะล้มเหลว
Joshua

19
@Joshua เพราะเราต้องการ "manpath" - 'man -w' ดูคำตอบ
Jaroslav Kucera

67
เพื่อประโยชน์ของประวัติศาสตร์ทำไมคุณต้องทำ 'คน -w' ทุกนาที? คุณกำลังทดสอบอะไรจริงๆ
Olivier Dulac

22
@OlivierDulac มันถูกเรียกใช้เพียงครั้งเดียวในการทดสอบ เราได้จัดลำดับการทดสอบอีกครั้งและข้อผิดพลาดนี้เกิดขึ้นทันทีเมื่อมีการเรียกใช้เมื่อเวลา 00:30 น. ...
Jaroslav Kucera

คำตอบ:


2146

เรียน@colmmacuaitฉันคิดว่าถ้าคุณพิมพ์ "man" ที่เวลา 0001 ชั่วโมงควรพิมพ์ "gimme gimme gimme" #abba @marnanel - 3 พฤศจิกายน 2554

เอ่อนั่นคือความผิดของฉันฉันแนะนำมัน ขอโทษ

เรื่องราวทั้งหมดอยู่ในความมุ่งมั่น ผู้ดูแลมนุษย์เป็นเพื่อนที่ดีของฉันและวันหนึ่งเมื่อหกปีก่อนฉันพูดติดตลกกับเขาว่าถ้าคุณเรียกคนหลังเที่ยงคืนมันควรจะพิมพ์ " gimme gimme gimme " เพราะเพลง Abba เรียกว่า " Gimme gimme gimme a man" หลังเที่ยงคืน ":

ดีเขาไม่จริงใส่ไว้ ใน มีคนไม่กี่คนที่ขบขันที่จะค้นพบมันและเราส่วนใหญ่ลืมไปจนถึงวันนี้

ฉันไม่สามารถพูดกับ Colได้อย่างชัดเจน แต่ฉันไม่ได้คาดหวังว่าสิ่งนี้จะทำให้เกิดปัญหาใด ๆ : การทดสอบประเภทใดที่จะแยกวิเคราะห์ผลลัพธ์ของมนุษย์โดยไม่มีการระบุหน้าเว็บ ฉันคิดว่าฉันไม่ควรแปลกใจที่ในที่สุดจะมีคนกลับมา แต่ใช้เวลาหกปี

( ข้อความคอมมิชชันเรียกฉันว่าโทมัสซึ่งเป็นชื่อทางกฎหมายของฉันแม้ว่าฉันจะไม่ได้ใช้ออนไลน์มากนัก)

ปัญหานี้ได้รับการแก้ไขด้วยความมุ่งมั่น84bde8 : Running man ที่man -wจะไม่ทำให้เกิดไข่อีสเตอร์นี้อีกต่อไป


361
อ๊ะ! มันไม่เคยตั้งใจจะส่งผลกระทบต่อกรณีที่ไม่ใช่ข้อผิดพลาด ผมไม่ได้ใช้บัญชีของนี้เมื่อฉันดำเนินgit.savannah.gnu.org/cgit/man-db.git/commit/... แก้ไขในต้นแบบ: git.savannah.gnu.org/cgit/man-db.git/commit/ …
Colin Watson

3
ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
terdon

13
ความคิดเห็นมีไว้เพื่อขอคำชี้แจงและ / หรือพูดคุยประเด็นทางเทคนิคของคำตอบ หากคุณต้องการที่จะหารือเกี่ยวกับประโยชน์ของไข่อีสเตอร์โปรดใช้มันในการแชท
terdon

8
Mamma mia ตอนนี้ฉันรู้แล้วจริงๆ!
Enrico Maria De Angelis

3
บางทีมนุษย์อาจต้องการพารามิเตอร์ --seriously
Patrick Taylor

423

นี่คือไข่อีสเตอร์manค่ะ เมื่อคุณรันmanโดยไม่ระบุหน้าเว็บหรือ-wมันจะส่งเอาต์พุต "gimme gimme gimme" ไปที่ stderr แต่เฉพาะเวลา 00:30:

# date +%T -s "00:30:00"
00:30:00
# man -w
gimme gimme gimme
/usr/local/share/man:/usr/share/man:/usr/man

รหัสออกคือ 0 เสมอ

ผลลัพธ์ที่ถูกต้องควรเป็น:

# man -w
/usr/local/share/man:/usr/share/man:/usr/man
# echo $?
0
# man
What manual page do you want?
# echo $?
1

สตริง "gimme gimme gimme" สามารถพบได้ใน RHEL, OpenSUSE, Fedora, Debian และอื่น ๆ อีกมากมายดังนั้นจึงไม่เจาะจงเฉพาะเจาะจง คุณสามารถไบนารีgrepของคุณmanเพื่อตรวจสอบ

รหัสนี้เป็นผู้รับผิดชอบต่อการส่งออกเพิ่มโดยการกระทำนี้ :

src/man.c-1167- if (first_arg == argc) {
src/man.c-1168-   /* 
http://twitter.com/#!/marnanel/status/132280557190119424 */
src/man.c-1169-   time_t now = time (NULL);
src/man.c-1170-   struct tm *localnow = localtime (&now);
src/man.c-1171-   if (localnow &&
src/man.c-1172-       localnow->tm_hour == 0 && localnow->tm_min == 30)
src/man.c:1173:     fprintf (stderr, "gimme gimme gimme\n");

ฉันได้ติดต่อฝ่ายสนับสนุน RHEL เกี่ยวกับปัญหานี้แล้ว

สตริงมาจากเพลง ABBA ที่รู้จักกันดีGimme! Gimme! Gimme! (คนหลังเที่ยงคืน)


นักพัฒนาของคน-DB, โคลินวัตสันตัดสินใจว่ามีความสนุกสนานมากพอและเรื่องที่จะไม่ได้รับลืมและออกไข่อีสเตอร์อย่างสมบูรณ์

ขอบคุณโคลิน!


147
บนแพลตฟอร์มที่มีfaketimeให้คุณสามารถลองได้โดยไม่จำเป็นต้องเปลี่ยนเวลาของระบบ: faketime '00:30:00' man(Debian 8)
roaima

5
@rrauenza มีตั๋ว buzilla คือ: bugzilla.redhat.com/show_bug.cgi?id=1515352
Jaroslav Kucera

38
ผู้เขียนได้ในขณะนี้รัดกุมไข่อีสเตอร์ให้ทำงานเฉพาะในmanไม่man -w: git.savannah.nongnu.org/cgit/man-db.git/commit/src/...และความคิดเห็นของโคลินใน Confessio
Martijn Pieters

21
มาพูดถึงความมุ่งมั่นเริ่มต้นที่เกิดขึ้นตอน 12:01 น การคอมมิชชันการติดตามเปลี่ยนไปเป็น 12:30 น. ด้วยข้อความบันทึกการคอมมิต "ครึ่งเวลาสิบสองเที่ยงคืน" ซึ่งถูกอ้างอิงอีกครั้งจากเพลงเดียวกัน
egmont

6
@ 0x90 man -wพิมพ์เส้นทางการค้นหาหน้าคู่มือปัจจุบันซึ่งเป็นประเภทของสิ่งที่คุณอาจใช้เป็นหน่วยการสร้างสำหรับสิ่งอื่นเช่นถ้าสิ่งที่คุณกำลังทำการติดตั้งหรือทดสอบหน้าด้วยตนเองโดยอัตโนมัติ
โคลินวัตสัน

364

หลังจากสะท้อนบางอย่างผมได้ลบออกไข่อีสเตอร์นี้ มันจะหายไปใน man-db 2.8 ที่จะเกิดขึ้น

ฉันดีใจที่มันทำให้บางคนยิ้มซึ่งหลังจากนั้นเป็นจุดประสงค์ทั้งหมดของมันและการแจ้งเตือน Twitter ของฉันและอื่น ๆ ในวันนี้แนะนำว่าคนส่วนใหญ่คิดว่ามันน่าขบขันมากกว่าน่ารำคาญ ถึงกระนั้นบางคนก็พบว่ามันน่ารำคาญและหกปีที่ผ่านมาดูเหมือนจะเป็นเรื่องที่ค่อนข้างดีสำหรับสิ่งนั้น มันอาจจะไม่ได้รับการเปิดเผยที่ดีขึ้นอย่างมีนัยสำคัญกว่าที่คาดไว้โดยทางคำถามนี้ เวลาใส่ก็เข้านอน


121
ฉันเสียใจจริงๆที่คุณตัดสินใจ IMO มีคนจำนวนมากเกินไปที่จะออกไข่อีสเตอร์
เซท

36
ฉันจะไม่ออกกฎเพิ่มสิ่งที่แตกต่างในอนาคตแม้ว่าจะมีความระมัดระวังมากขึ้น! มันเริ่มแย่ไปหน่อยและอารมณ์ขันต้องมีความแปลกใหม่
โคลินวัตสัน

31
ฉันต้องเห็นด้วยกับ @Seth มันเป็นเรื่องน่าเศร้าที่เห็นอะไรบางอย่างที่ทำให้พวกเราส่วนใหญ่ยิ้มเราต้องการมากกว่านั้นจริง ๆ ในโลกนี้
Videonauth

189
ฉันหวังว่านี่จะไม่ทำลายเวิร์กโฟลว์ใด ๆxkcd.com/1172
Lakshay Garg

73
@ColinWatson ฉันคิดว่าการปิดการใช้งานในโฟลว์เริ่มต้นเป็นความคิดที่ดีดังนั้นจึงไม่ทำให้เวิร์กโฟลว์ของใครขัดข้อง แต่ในเวลาเดียวกันมันเป็นความอัปยศที่ต้องเอางานชิ้นเอกออกไป คุณสามารถเพิ่มธงพิเศษเช่นman -abbaและเมื่อไล่ออกหลังเที่ยงคืนจะให้ไข่อีสเตอร์
Bartlomiej Skwira
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.