[עושים היסטוריה] 164: באג 2000, או – האפוקליפסה של הארנבות

בחודשים שלפני המילניום החדש הזהירו טורי הפרשנות בעיתונים מתקלת תוכנה שעלולה לפגוע בכמעט כל המחשבים בכדור הארץ, ומאיימת לפגוע באורח אנוש בתשתיות בהן אנו תלויים. נבואות זעם אלה לא התגשמו – אך האם פירוש הדבר שסכנה דומה לא צפויה לנו בעתיד? ייתכן ותופתעו לגלות את התשובה. האם אתם מוכנים ל"באג 2038"?…


הורד את הקובץ (mp3)
הרשמה לפודקאסט: רשימת תפוצה במיילiTunes | אפליקציית 'עושים היסטוריה' לאנדרואיד | RSS Link | פייסבוק | טוויטר

 

 

באג 2000 ובאג 2038


כתב: רן לוי

לא פעם שואלים אותי מאזינים כיצד אני בוחר את הנושאים לפרקים של עושים היסטוריה. אין לי תשובה מוחלטת לשאלה זו: כל פרק הוא סיפור קצת שונה. את הפרק על ההיסטוריה של ביג-בן כתבתי אחרי תוכנית מעניינת שראיתי בטלוויזיה. בהזדמנות אחרת ביקרתי בנושאת מטוסים אמריקנית בקליפורניה, שהסתבר לי שהייתה הספינה שאספה את האסטרונאוטים של אפולו 11 כשחזרו מהירח. ארמסטרונג, אלדרין וקולינס 'בילו' שלושה שבועות בבידוד בבטן הספינה, כדי לוודא שלא הביאו עימם חיידקים מהירח. הביקור הזה הביא לי את ההשראה לפרק שעסק ב'חזרות קשות מטיסות לחלל'. בקיצור, רוב הנושאים לפרקים הם דברים שמעניינים אותי באותו הרגע.

אבל זה לא יהיה מדוייק לומר שהבחירות שלי הן קפריזיות לחלוטין. יש עקרון מסוים שעליו אני מקפיד עוד מהפרק הראשון של התוכנית: הנושא הנבחר צריך להיות 'על-זמני'. דהיינו, הפרק צריך להיות רלוונטי לא רק בעוד שבועיים – אלא גם בעוד שנתיים, חמש שנים, עשר שנים ואפילו יותר. אני לא כותב על פוליטיקה או על הגאג'דט האחרון שיצא לשוק בשבוע שעבר, אלא על רעיונות ותאוריות שישארו רלוונטיים ומעניינים גם בעתיד. באופן זה אני מאריך את 'חיי-המדף' של הפרקים, ומבטיח שגם מאזינים שעדיין לא שמעו על התוכנית כיום, או אפילו מאזינים שהם היום צעירים מכדי להאזין לה – יוכלו להנות מהפרקים בעתיד.

להמשך קריאה: באג 2000 ובאג 2038

יצירות אשר הושמעו בפרק:

https://www.youtube.com/watch?v=jUmM8MD8oI0

https://www.youtube.com/watch?v=EhaoaZ2WxQE

https://www.youtube.com/watch?v=fZt8w5LH12E

You may also like...

50 Responses

  1. יונתן הגיב:

    פרק טוב מאוד

  2. יונתן הגיב:

    אחלה פרק

  3. צביקה הגיב:

    קודם כל תודה, פרק מעולה.
    בהקשר הזה מעניין לציין את השגיאה שקרתה ב-YouTube, כאשר השיר Gangnam style עבר את ה-2147483647 צפיות,בעוד שגוגל הגדירו עבור מונה הצפיות משתנה מסוג Int.
    על שגיאה כזו אפילו המתכנתים של גוגל לא חשבו. 🙂

  4. אפרת הגיב:

    לרגל פסיקת ביהמ"ש האמריקאי לגבי נישואים בין בני-אותו-מין, נתקלתי בבדיחה נוספת:
    עכשיו צריך לעדכן את מסדי הנתונים כדי שיקבלו נישואין שהם לא רק בעל/אישה.
    זה באג y2gay !

  5. נועם הגיב:

    רציתי להוסיף שהראיון עם אריה רוקח מצויין, למרות שאני לא מכיר אותו אישית הוא נשמע מהימן והסיפורים שלו מעניינים ובעלי חוש הומור. טוב שהחלטת להשמיע את הראיון עצמו ולא להסתפק בציטוטים בלבד.
    בשנת 2000 הייתי בסטארט-אפ שלא סבלה מבאג 2000 🙂 אבל כמתכנת ראיתי הרבה קולגות שהועסקו בתיקון תוכנות טועות. ה"היסטריה" שסבבה את הבאג אולי הועילה בכך שדחפה את החברות (הגדולות לפחות) להשקיע הרבה כספים בתיקון, הרי שאם היו רואים את הסכנה כמינימלית יתכן והיו עושים שיקולי עלות/תועלת ומחליטים לעשות תיקונים קטנים בלבד.
    תודה על הפרק המצויין.

  6. אייל הגיב:

    בנוסף יש עוד באגים קטנים שקורים פעם בארבע שנים leap second – מוסיפים שנייה 60 ל23:59 ב30 ליוני כל ארבע שנים. המערכת שלנו למשל מתוכננת לסגור את עצמה לשלוש שניות כדי לא להיכנס לבלאגן של שנייה שהיא לא חוקית…

    • צפריר כהן הגיב:

      בשנת 2000 היה גם 29 בפברואר לא סטנדרטי: לפי הלוח היוליאני יש פעם בארבע שנים 29 ימים בפברואר. לפי הלוח הגרגוריאני זה קצת יותר מסובך: פעם בארבע שנים, אם לא מדובר על שנה שהיא כפולה של מאה. אבל אם מדובר על שנה שהיא כפולה של ארבע מאות, אז יש 29 בפברואר.

      החריג הזה הצליח לבלבל לא מעט תוכניות.

  7. רן הגיב:

    יש לי הרגשה שבסקר אתה הולך לגלות פילוח מדויק של אנשים שממש רוצים לדעת עוד על שייקספיר…

  8. יוני הגיב:

    לגבי החזרה לתאריך 1.1.1970 במערכת לינוקס,
    שימו לב לתאריך במערכת התגובות כאן:
    http://www.dtown.co.il/articles/3590.html

    טרי טרי הרבה לפני 2038… 🙂

    • צפריר כהן הגיב:

      לא. זוהי פשוט התוצאה של ערך 0 (או ברירת המחדל) בשדה התאריך. יש לתוכנה טבלה עם מידע על כל פוסט ולא הוזן לה מידע על התאריך. השעה 2 בלילה ולא חצות כי בחצות בגריניץ' (שעון חורף) השעה היא 2 בלילה לפי שעון ישראל.

  9. ליאור הגיב:

    יש לציין כי באג 2038 מתחיל להיות רלבנטי כבר כיום – תוכנות לחישוב משכנתאות למשל, שצריכות להסתכל 25 או 30 שנים קדימה, מתייחסות כבר היום לתאריכים שמעבר ל"קץ הזמן". אם הן לא כתובות נכון, הן יסבלו מהבאג כבר עכשיו.

    • צפריר כהן הגיב:

      ואכן מושקעים כבר היום מאמצים לתיקון הבעיה. לדוגמה, כבר לפני יותר משנה הכריזו מפתחי OpenBSD שהמערכת שלהם עמידה לבאג 2038:
      http://www.openbsd.org/55.html

      HP/UX הוא אחד היוניקסים המסחריים הפחות מתוחזקים הנה המצב שם:
      http://wiki-ux.info/wiki/Year_2038_limitation_on_HP-UX_and_recommended_steps

      בלינוקס המצב די דומה (אם כי לא צריכים "להוריד תיקונים). הנה משהו למי שלא מפחד מקוד בשפת C:
      http://lwn.net/Articles/643234/

      לכן סביר שתוכניות ברמה הבסיסית כבר יהיו מוכנות. כמובן שנשארו לא מעט תוכניות שצריך לתקן. בהרבה מקרים התיקון הוא פשוט בניה מחדש של התוכנית. במקרים אחרים התיקון מסובך יותר.

  10. משה אופניק הגיב:

    שכחתי להוסיף את הבדיחה הידועה (לא זוכר את מקורה המדוייק).
    בשנות ה90, מתכנת אחד שידע קובול על בוריה, קיבל הצעות עבודה רבות לתיקון תוכנות עתיקות, על מנת שיהיו מוכנות לשנת 2000.

    לאחר מספר שנות עבודה, בשנת 1999 הוא החליט שעליו להפסיק, שכן הוא עבד בטירוף ובריאותו וחיי המשפחה נפגעו מכך, והוא מעוניין להתעורר לאחר שנת 2000.
    הוא פונה לחברה שמתמחה בהקפאת אנשים, ומבקש להתעורר בשנת 2000, לאחר הטירוף. ואכן, לבקשתו גופו מוקפא.
    כאשר הוא מתעורר, ניגשים אליו מספר אנשים על חלוקים לבנים. הוא רואה רובוטים מסתובבים בכל מקום, ומהחלונות מכוניות מעופפות.
    מופתע הוא שואל "מה קורה? מתי אני?"
    המדענים פונים אליו ואומרים "אנחנו בשנת 9999. המכונה שהקפיאה אותך סבלה מבאג 2000, ולא הפשירה אותך במועד שביקשת.
    הפשרנו אותך, כי כתוב לנו שאתה יודע קובול, ואנחנו צריכים עזרה עם כמה מערכות."

  11. משה אופניק הגיב:

    אני הייתי בגיל תיכון בסוף שנות ה90, והייתי מתכנת להנאתי.. אמי עבדה בגוף ממשלתי בתור מפתחת ואחראית באגף שלה על ההכנות לבאג 2000. היא הייתה משתפת אותי בהתקדמות הפרוייקט, אנקדוטות שנתקלו בהן, בדיקות בהן החזירו את השעון לאחור ועוד.
    זה היה פרוייקט עצום, שלקח כ4 שנים, עד שהיו בטוחים שהכל יעבוד כמו שצריך.

  12. אלעד הגיב:

    בארגון שלי (מקום מאוד נחשב בתחום התוכנה) שמור הרבה מידע מאוד ישן (שנות החמישים והלאה). כמובן שפעם סימנו את השנה בשתי ספרות.

    כשמישהו החליט להסב את השדות הללו לארבע ספרות עבור מערכת חדשה, הוא לא ידע שיש מידע מלפני שנות ה-80, אז כל מידע מלפני שנות ה-80 'הוקפץ' למאה ה-21.
    אז מי שרוצה לדעת מה קרה ב-2074 מוזמן לשאול אותי.

    אפרופו תאריכים ובאגים:
    כל פעם שמחליפים משעון קיץ לחורף, יש מי שנשאר ער בלילה לבדוק ששום דבר קריטי לא נדפק. בשנה שעברה סביב הבלאגן של הארכת שעון קיץ היו שרתים שונים שחלקם שינו את השעה וחלקם לא, זה גרם לכמה שעות שחלק מהמערכות קרסו.

    וחידה למתכנתים, למה שמערכת תקרוס דווקא ב-13 לחודש?

    • משה אופניק הגיב:

      הלא זה ברור, מעבר מתאריך אירופי dd/MM/YYYY לתאריך אמריקאי MM/dd/YYYY.
      אם התאריך מגיע ממחשב בו התאריך הוא אירופי, למשל 13/01/2015, התאריך חוקי. אך אם מחשב שבו הגדרת התאריך היא אמריקאית ינסה לקרוא את התאריך הזה, הוא ייכשל, שכן מבחינתו זהו תאריך לא חוקי.
      לכן בכל מעבר מידע בין "תרבויות" שונות, יש לבצע המרה לפורמט מוסכם.

    • ליאור הגיב:

      לגבי החידה – כי מישהו החליף בין היום לחודש (פורמט תאריך אמריקאי במקום אירופאי) ואז ה-13 לחודש יחושב כאילו הוא החודש ה-13 שלא קיים.

    • אלעד הגיב:

      אכן בדומה למה שליאור ומשה אמרו,
      במערכות הפעלה של Windows יש אפשרות לשנות את התבנית לפי שפה. ההגדרה בעברית (כברירת מחדל) היא כמו האירופית, וההגדרה באנגלית (כברירת מחדל) היא כמו האמריקאית.

      לכן בכל ביצוע ToString לתאריך או Parse למחרוזת צריך לתת את הפורמט, כדי שלא תהיה תלוי בשרת. ואם לא, 13 בחודש יכול להיות תאריך מקולל…

      אגב, זה יכול להיות יותר מאתגר אם זה קורה בתחילת חודש ורוב החומר מגיע עם תאריך של יום יומיים האחרונים ומיעוט מהחומר מגיע מלפני מספר ימים.

      עכשיו לך ותשבור את הראש למה חומר שאדם מסוים שולח לך גורם לשגיאה, ואילו רוב החומר נכנס ללא בעיה…

      'מה שמתכנת טיפש אחד עושה, צריך עשרה מתכנתים חכמים כדי לתקן', (פתגם סיני עתיק 13.1.2053).

  13. טום הגיב:

    נושא מאוד מעניין.

    אשמח עם תעשה פרק שסוקר את המועדים שהיו ויהיו לסוף העולם, הרי כל כמה שנים צץ איום כזה או אחר להמשך העולם ולכל אחד סיבה משלו. זה נותן השקפה טובה יותר לשאלה האם יש אמת בסופי העולם (הרי אם יש חוקיות ל"בחירת" התאריכים אז סביר להניח שזו מעשיה, ואם התאריכים רנדומלים אז או שיש משהוא שמגריל תאריכים ומחפש סיבה להיותם סוף העולם או שיש אמת בדברים או לפחות בחלקים), והאם יש סוג מסוים של נושאים שהאנושות מפחדת מהם יותר מכל (כי הם חוזרים הרבה בסיבות לסוף העולם).

    • רן לוי הגיב:

      בהחלט, טום – אני מתכנן פרק שיעסוק בכתות 'סוף עולם' שכאלה, אני מניח מהזווית הפסיכולוגית בעיקר. צריך להיות נושא מרתק,
      רן

  14. יוביוב הירוק הגיב:

    15 שנים, ועדין מכעיס אותי לשמוע על טענות שהיה מדובר בסתם היסטריה. זה בערך כמו הטענות שהחיסונים לפוליו מיותרים, הרי כמעט אף אחד לא חולה בפוליו…

    כתוכניתן בשנות ה-80, אני וכווולם, השתמשנו בזוג ספרות ליצוג שנה (ולעיתים בסיפרה בודדת…). בעיני, החלק המדהים בסיפור אינו ההתרגשות שאפפה את העולם, אלא העובדה שאכן הצלחנו לצלוח את שנת 2,000 בשלום. שבאמת מצאו ותיקנו (כמעט) את כל הבאגים. *זה* הסיפור הגדול.

    אגב, במקום עבודתי (במערכת הבריאות), באג 2000 הרים את ראשו בשנת 2005, כאשר בוצע שינוי קל ולא קשור בתוכנה ותיקה, שגרר שיבושים רציניים בפריטים שנוצרו לפני שנת 2000.
    אנחנו עדין משתמשים באותה מערכת, ובמערכות נוספות שנולדו במאה הקודמת. אז עדין לא ניתן להרגע…

  15. משה קפיץ הגיב:

    לטעמי פרק באיכות נמוכה לעומת הרגיל…

  16. מאיר הגיב:

    פרק א' שלי בסיפור באג 2000

    בשנת 1988 מוניתי למנהל מחלקת עיבוד נתונים בחברת אירוספייס קנדית. כשעברתי עם המתכנתים על משימותיהם – הבכיר ביותר מהם אמר לי שהוא וחצי מהצוות עסוקים בפרויקט שיקח שנה שלמה: לשכתב את כל תוכנת הפיננסים של החברה מכיון שהיא כוללת רק בייט אחד עבור השנה. כל הבעיות שתוארו בפרק יקרו במעבר לשנת 1990: לא נשלם לספקים וחלקים בעלי תאריך תפוגה יוכרזו כפגי תוקף ויזרקו לאשפה.
    הוא אפילו הציע להתערב איתי שאותה תוכנה תשאר החברה והבעיה תחזור גם בשנת 2000 מפני שההנהלה לא מתעניינת בעתיד הלא מיידי.
    וכמו בסיפור שבפרק – הבעיה תוקנה באופן זמני והשמיים לא נפלו.

  17. אליהו הגיב:

    לרן לוי – בניושנל גי'אוגרפיק הייתה סדרה מרתקת על משפחות (בעיקר מארצות הברית) שמתכוננות " ליום הדין" ברצינות גמורה.לומדות השרדות וממציאות פטנטים מדהימים לחיים ללא מכונות.
    משפחות נורמטיביות לחלוטין שנראות לנו אולי מעט תמהוניות.
    בפרקים שבהם צפיתי לא היה להן רקע דתי קיצוני ( כמו הכת היפנית או הכת של דייויד כורש) והם מגדלות משק חי כמו תרנגולות וגידולי שדה,בונות מקלט מוגן בפני אטום וגם ממציאות תנור סולרי שעובד על שמש ומתקן לטיהור שפכים קומפקטי.

    • רן לוי הגיב:

      הי, אליהו,
      כן, ראיתי כמה פרקים של הסדרה הזו. אני לא קיצוני כמו חלק מהדמויות שם, אבל
      גם אני מהרהר מדי פעם בעניין ההשרדות האישית…סקרנות אישית, אני מניח 🙂 למשל,
      אני לומד איך לגדל ירקות בגינה – יכולת שלדעתי נחשבה בסיסית לחלוטין לפני 200
      שנה, נאמר – והיום אבדה לרובנו. מטריד אותי לחשוב שאין לי מושג איך לגדל עגבניה, אם צריך! 🙂
      רן

  18. עמוס הגיב:

    הערה קטנה. שפת התכנות קובול – שמה נהגה CObol ולא coobool.
    הדגמה: http://static.sfdict.com/staticrep/dictaudio/C05/C0597200.mp3

  19. עידו גנדל הגיב:

    יפה, וזו ההזדמנות להעלות מן האוב את הטור שלי מלפני שבע שנים כמעט, על אותו נושא בדיוק: http://net.nana10.co.il/Article/?ArticleID=593072

  20. אורי למד הגיב:

    טוענים שיש "באג 2000" חדש וקרוב בתחום הבנקאות, מסחר בבורסה וחברות הביטוח:
    "באג המינוס", כי לאחרונה בנק ישראל ביקש מהבנקים וחברות הביטוח להתכונן לריבית שלילית.
    הוספת מינוס לריבית למשל במקום 0.1% לרשום 0.1%- תדרוש כנראה עבודה רבה.
    אף גוף מסוג כזה לא שיער בנפשו שריבית יכולה להיות שלילית!

    • רן לוי הגיב:

      הי, אורי – לא שמעתי על הבאג הזה, מסקרן מאד…זה רק מחזק את הטענה
      שיש המון באגים כאלה שמסתתרים במערכות המחשוב שלנו, ואנחנו צפויים
      להתקל בהם בעתיד בכל פעם שהמציאות תוכיח לנו שהנחות יסוד בסיסיות
      הן לא תמיד מובטחות.. 🙂
      רן

  21. Zak הגיב:

    היה פרק פשוט נהדר, לטעמי מהטובים ביותר שהיו! מעניין איך מנושא שולי לכאורה אפשר למצוא תובנות כל כך מרתקות. אהבתי גם את העמימות שמסתמנת, כך שאפילו היום לא ברור אם באמת היתה בעיה חמורה, עד כמה הועילו המאמצים, אם נתקל בעתיד בבעיות דומות – מרתק לגלות שכנראה לעולם לא נדע.

    • רן לוי הגיב:

      תודה, זאק! אכן, קשה מאד להסיר את העמימות בשאלה הזו. כמעט כל המידע שנתקלתי
      בו הוא אנקדוטלי, ומעט מאד מחקרים 'אמיתיים' בשאלת הטיפול בבאג 2000.
      רן

  22. נתן פוזניאק הגיב:

    שתי ספרות לשנה ? ב- 1990 תיקנתי תוכנית בה הוקצבה ספרה אחת לציון השנה בתאריך. מי שכתב אותה לא האמין שהתוכנה תהיה פעילה מעל לעשור. מובן שתקנתי לשתי ספרות ולא לארבע. שנת אלפיים ? מי חשב עליה אז. אה ! אתם אומרים, ולקראת שנת 2000 תקנת שוב ? אז…לא. התוכנה הוצאה משימוש לפני כן.

    החיסכון במקום היה בכל סוגי הנתונים. תחזקתי תוכנת הנהלת חשבונות שעבדה מצויין עד לשנות השמונים. ואז היגיעה ההיפר אינפלציה (ב-1984 היו כמעט 445% אינפלציה) והשדות המסכמים נקצצו בגלל גודל הסכומים. נאלצנו לתקן ולהסב את התוכנה לשדות עם אורך מכסימאלי.

כתיבת תגובה

האימייל לא יוצג באתר.