הפודקאסט עושים היסטוריה

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

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


רשימת תפוצה בדואר האלקטרוניאפליקציית עושים היסטוריה (אנדרואיד) | פייסבוק | טוויטר

דף הבית של התכנית | iTunes | RSS Link


באג 2000 ובאג 2038

כתב: רן לוי

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

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

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

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

"עוד בשנת 1992, קולגה שלי בחדר אמר לי – 'תראה, אריה, יש פה איזו ידיעה מוזרה שבנקים משקיעים מיליארדים בנושא [באג 2000].' הרי הבנקים היו הראשונים שגילו את הנושא וידעו שהולכת להיות בעיה. אמרתי – 'מה? יש בעיות כל כך קשות וכבדות, ובזה משקיעים מיליארדים?'. זה עורר את סקרנותי. קולגה שלי בעבודה, ד"ר אבנר אנגר, זה גם עורר את סקרנותו, ואמרנו – בוא נכתוב על זה ספר."

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

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

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

באג 2000

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

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

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

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

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

הקושי בתיקון הבאג

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

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

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

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

"כדי ללמוד על הנושא, הלכתי לכנסים. הלכתי לכנס שבו הציגו כמה חברות, ביניהן גם חברות חשמל. כל חברה הייתה צריכה להצהיר על עצמה שהיא Y2K-Compliant, דהיינו תאימות לשנת אלפיים. אם אני מייצר מוצר כלשהו, איך אני יודע אם אני תואם לשנת אלפיים? אני צריך לוודא שגם הרכיבים שאני קניתי הם בעצמם תואמים לשנת אלפיים. אם יצרן הרכיבים הצהיר שהרכיבים תואמים לשנת אלפיים, והתוכנה שלי נבדקה בהתאם, אני יכול להצהיר שאני תואם שנת אלפיים.
ואז מישהו בקהל שאל את נציג חברת החשמל: 'אתה מדבר על תאימות לכולם – אבל אתם בעצמם, תואמים לשנת אלפיים?'. אז הוא [נציג חברת חשמל] השיב – 'תשאל אותי בהפסקה.' עבדך הנאמן לא יכול היה לוותר על ההזדמנות הזו, וניגשתי אליו בהפסקה. שאלתי אותו מה יהיה, והוא השיב – 'יהיו בעיות..' חברת חשמל חוזה שלא תהיה קטסטרופה, אבל יהיו הפסקות חשמל של שש שעות, משהו כזה. כך עדכנתי גם את התחזיות שלי. וזה עוד איש חברת חשמל, שאומר לכולם להתכונן!…"

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

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

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

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

ערב המיליניום

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

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

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

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

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

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

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

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

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

אחר כתב:

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

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

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

אמון ותלות בטכנולוגיה

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

בחודשים שקדמו לאחד בינואר, 2000, אנשים רבים שאלו את עצמם עד כמה הרחקנו לכת בתלות שפיתחנו כלפי הטכנולוגיה שלנו. זו שאלה שתלויה באוויר כבר עשרות שנים, ובדרך כלל צצה ועולה במדע הבדיוני. הסופר אדוארד מורגן פורסטר (Forster), למשל, כתב כבר ב-1909 סיפור קלאסי בשם 'The Machine Stops' ('המכונה נעצרת', בתרגום חופשי) – ובו הוא מתאר עולם עתידני שבו בני האדם חיים מתחת לפני הקרקע בחדרים מבודדים ומנותקים זה מזה, ותלויים במכונה מתוחכמת וכל-יכולה המספקת את כל צרכיהם. כשתקלה משביתה את המכונה, בני האדם חסרי הישע מתים ברעב. הסיפור של פורסטר מרתק כיוון שהוא משרטט מערכת דמויית-אינטרנט, עשרות שנים לפני שהומצא המחשב: התקשורת בין בני האדם בסיפור נעשית באמצעות מסרים מידיים ושיחות וידאו, ובאמצעות המכונה ניתן לעשות קניות שאחר כך מגיעות אל דלת החדר של המזמין – כמו המשלוחים מאמאזון ו-eBay בימינו. פורסטר מתאר את הנוחות שמציעה המכונה שהופכת לתלות מוחלטת, אשר בסופו של דבר מתנקמת באנושות.

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

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

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

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

איום לא רציונלי?

השאלה השנייה היא עד כמה נבעה ההיסטריה של באג 2000 מחששות אמתיים לגבי אמינות של מערכות המחשוב, וכמה מתוך פחד לא-רציונלי שקשור למעבר בין מיליניום אחד לשני? אחת התופעות המוכרות בסוציולוגיה היא זו של כתות מילנאריות (Millenarian): כתות שמאמינות שבעתיד הלא רחוק יתרחש אירוע קטסטרופלי כלשהו, שבעקבותיו העולם-כפי-שהוא-מוכר-לנו-כיום ישתנה מקצה אל קצה: השליטים הנוכחיים של החברה יופלו, ורק המאמינים האמיתיים יזכו לפרסים בדמות חיי נצח, עושר, אושר וכדומה. יש אינספור דוגמות לכתות שכאלה, והמוכרות שביניהן הן בדרך כלל אלה שמאמינות שיש לנקוט באלימות כדי לקרב את הארוע הקטסרופלי המדובר, כדוגמת Aum Shinrikyo, כת יפנית שפיזרה גז רעיל בשם 'סארין' ברכבת התחתית של טוקיו ב-1995.

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

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

באג 2038

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

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

במערכות הפעלה דמויות יוניקס – כגון לינוקס, למשל – המחשב אינו מחשב תאריכים לפי לוח השנה הגרגוריאני של ימים, חודשים ושנים, אלא סופר את מספר השניות שחלפו מרגע מסוים בהיסטוריה, שהוגדר באופן שרירותי לגמרי כ'יום ההולדת' של יוניקס. יום ההולדת הזה, או ‘Epoch’ כפי שהוא מכונה בעגה המקצועית, הוא שעת חצות באחד בינואר, 1970. המחשב סופר כל העת את מספר השניות שחלפו מאז אותו רגע מכונן בהיסטוריה, ולפיו מחשב את כל התאריכים והזמנים הנחוצים לו.

מספר השניות שחלפו מאז ה-Epoch מאוחסן במחשב בתוך ארבעה בייטים – אותן 'מגירות' שמחזיקות את המידע בזכרון. כפי שכבר ראינו, אותן מגירות יכולות להכיל כמות מוגבלת וסופית של מידע, ובמקרה זה המספר הגדול ביותר של שניות שניתן לאחסן בארבעה בייטים הוא 2,147,483,647 שניות. כשיגיע מונה השניות ל-2,147,483,648 שניות הוא יתאפס, ויתחיל לספור מאפס. זה יקרה ביום שלישי, ב-19 בינואר, 2038, בשעה שלוש בלילה, 14 דקות ושבע שניות – ובאותה השניה ניתקל שוב בכל אותן בעיות מוכרות פוטנציאליות שכבר ניתקלנו בהן בבאג 2000:
כל חישובי התאריכים במחשבים ישתבשו, חשבונות בנקים יימחקו, מטוסים יטוסו הפוך, האינטרנט יקרוס והעולם יגיע אל קיצו בקטסטרופה מפוארת של דם, אש וארנבות מבוהלות.

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

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

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

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

"באג 2000, עד כמה שזה יישמע מוזר, מתחיל ב-1890. לפי חוקת ארצות הברית, ייצוג מדינות בקונגרס נעשה לפי מספר בעלי זכות הבחירה בכל מדינה, ובכל עשר שנים צריך לעשות מפקד אוכלוסין. ב-1790 נערך מפקד האוכלוסין הראשון. ב-1890, זה כבר היה בלתי אפשרי לבצוע בצורה ידנית. בא אדם בשם הרמן הולריט והמציא את רעיון הכרטיס המנוקב. הוא אמר – לכל שאלה במפקד נעשה עמודה ושם ננקב חור. אם התשובה היא חיובית, יש חור – ואם התשובה שלילית, אין חור. המציאו שעון שכזה שיודע לקרוא את התשובות האלה: כאן, ב-1890, נולד באג 2000. ב-1924, הרמין מיזג את החברה שלו עם עוד שתי חברות, וייסד את חברת י.ב.מ. בכרטיסים היו 80 טורים. כשניקבו תאריכים, במקום לכתוב את התאריך המלא – ניקבו רק שתי ספרות. אם פלוני אלמוני נולד ב-1975, כתבו רק '75' כדי לחסוך את הטורים, לחסוך מקום ב-80 הטורים. כאן זה באג 2000."

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

'העיוורון' שלנו לבעיות שיתרחשו במה שנתפס כעתיד הרחוק מאד הוא תופעה שקשה מאוד להתמודד מולה. למשל, באחד הפרקים העתיקים של עושים היסטוריה סיפרתי על ארגון בשם 'העכשיו הארוך' (Long Now Foundation), שחבריו מנסים לעודד מחשבה ותכנון ארוכי טווח. חברי העכשיו הארוך כותבים את התאריך בחמש ספרות – דהיינו, 02015 – כדי להיות מוכנים למעבר של שנת 9,999, שבה תתחלף השנה לחמש ספרות במקום ארבע. אבל אפילו הם, המעודדים תכנון ארוך טווח, מתעלמים מהבעיה של שנת 99,999, שבה תתחלף השנה לשש ספרות! אני מניח שאם אשאל מישהו מהם, הוא ודאי יאמר לי שבכל זאת, מדובר על עוד מאה אלף שנה, די הרבה זמן… והוא צודק, כמובן; אבל העיוורון הוא אותו העיוורון, בסופו של דבר. אם תיקון באג 2000, תוצאה של הזנחה בת כמה עשרות שנים, דרש מאיתנו השקעה של מאות מיליארדי דולרים – כמה כסף נצטרך להוציא כדי לתקן את באג 100,000, שיהיה תוצאה של הזנחה של עשרות אלפי שנים?… האם נוכל בכלל לתקן אותו?…

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

"אבל אז השתמשו גם בעוד טריק. בוא נגיד למחשב שעכשיו לא שנת אלפיים – עכשיו 1990. "נמתח את הקפיץ" אחורה למשך עשר שנים, וכך נחליק את הבעיה. אז בראשון לינואר 2010 אני קורא ידיעה מאד מוזרה ששלושה מיליון כספומטים בגרמניה נתקעו למשך שלושה ימים, ואף אחד לא יודע מה עושים ופה ושם… ובסוף איכשהו הצליחו [לתקן אותם]. למחרת, בשני בינואר, אני פוגש בטכניון מישהו שידע שכתבתי ספר יחד עם ד"ר אבנר אנגל, ושואל אותי מה אני אומר. בהבזק של הברקה אמרתי לו – 'זה באג 2000 המאוחר!'. אני הייתי היחיד, לעניות דעתי, שאמר את הדבר הזה. זאת אומרת, אני בעצם לא כזה מטורף שצריך לאשפז אותו מייד במחלקה סגורה, אפשר לדחות את זה מעט."

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

"הגישה הזו שחונכנו עליה תמיד, כאילו – ח'ברה, יש מישהו שיודע מה הוא עושה… אז אני, עבדך הנאמן, רוצה לבוא ולהגיד: לא כל כך בטוח."

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

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

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

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

תיקון:

זהר עמיהוד מתקן את דבריו של אריה לפיהן ספרו היה היחיד שיצא לאור בעברית בנושא זה. "הספר "מדריך הישרדות למשפחה באג 2000" בהוצאת הוד-עמי לספרי מחשבים יצא לאור בשנת 1999. 
הספר "משבר המיחשוב של שנת 2000" בהוצאת הוד-עמי לספרי מחשבים יצא לאור בשנת 1996." 
תודה, זהר 🙂


ביבליוגרפיה:

http://www.reddit.com/r/technology/comments/2acjwa/y2k_bug_resurfaces_and_sends_draft_notices_to/ciubwgx

https://clarotesting.wordpress.com/2015/01/19/fix-on-failure-a-failure-to-understand-failure/

http://www.themarker.com/wallstreet/1.546850

http://archive.wired.com/wired/archive/6.08/y2k_pr.html

https://books.google.co.il/books?id=4Ry6ar929bMC&pg=PA259&lpg=PA259&dq=y2k+trust+in+technology&source=bl&ots=wkvLP8oCwr&sig=AEK2hJb-fP_Xlbh7jUmNbN_3ys8&hl=en&sa=X&ei=yspgVcOiHMS5UciIgaAO&ved=0CDIQ6AEwBQ#v=onepage&q&f=false

http://computer.howstuffworks.com/y2k1.htm

http://www.religioustolerance.org/millenni.htm

http://www.nytimes.com/1999/07/17/nyregion/beliefs-millennial-fears-year-1000-apocalypse-then-apocalypse-now-apocalypse.html

http://en.wikipedia.org/wiki/Time_formatting_and_storage_bugs

http://tools.ietf.org/html/rfc2550

http://media.longnow.org/djlongnow_media/press/pdf/0200001-Smith-LessonsfromtheLongNow.org.pdf

http://www.mathpages.com/home/kmath200.htm

http://maul.deepsky.com/~merovech/2038.html

https://groups.google.com/forum/#!topic/net.bugs/ZGlqGwNaq3I

https://books.google.co.il/books?id=RF5yE2SU78sC&lpg=PA61&ots=57xyWWtV12&dq=y2k%20trust%20in%20technology&pg=PA60#v=onepage&q&f=false

http://www.transparencynow.com/the-machine-stops.htm


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

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

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

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

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

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

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

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

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

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

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

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

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

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

      הגב
  7. יש לציין כי באג 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/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      הגב
  11. נושא מאוד מעניין.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    הגב

להגיב על נתן פוזניאק לבטל