האחים הצעירים והמרושעים של באג 2000

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

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

1 בינואר 1999, המעבר ליורו, המטבע האירופי המשותף

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

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

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

22-21 באוגוסט, ,1999 התאפסות מונה השבועות של רשת הלוויינים העולמית (GPS)

המונה של הרשת מכויל לספור 1,024 שבועות בכל מחזור, ולהתחיל מחזור חדש מיד אחר-כך. המחזור הקודם החל ב-5 בינואר 1980, ויסתיים ב-22-21 באוגוסט, 1999.

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

9 בספטמבר, 199 8 בספטמבר, 201 "מלכוד התשיעיות"

בסופי קבצים תוכנות זקוקות לקוד סיום כלשהו בקבצי מחשב, על מנת שיוכלו לסגור אותם באופן בטוח. הסיומת 9999 משמשת כקוד כזה, וקיים חשש כי תוכנות רבות לא יידעו מה היכה בהן בתאריך 9.9.99. בעיה דומה קיימת גם באפליקציות יוניקס, שם משמש המספר 999,999,999 כקוד לסיום קובץ, מה שעלול לעורר בעיות בחישובי הזמן של מערכות יוניקס החל מסתיו 2001.

29 בפברואר, 2000, בעיית השנה המעוברת

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

איך יודעים אם שנה מסוימת היא שנה מעוברת? לפי שלושה כללים: 1. שנים שניתנות לחלוקה ב- 4הן שנים מעוברות. 2. שנים שניתנות לחלוקה ב-100 אינן שנים מעוברות. 3. שנים שניתנות לחלוקה ב-400 הן שנים מעוברות.

האם שנת 2000 היא שנה מעוברת? לכאורה, היא לא אמורה להיות כזו, מאחר שאינה עומדת בכלל 2 (וזאת למרות עמידתה בכלים 1 ו-3). אבל, צירוף מקרים אומלל במיוחד קובע כי שנת 2000 היא אחת מאותן שנים נדירות שבהן יש להתחשב ב"קצת" שבא אחרי הרבע, ולכן, בסופו של דבר היא שנה מעוברת.

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

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

2015 , בעיית עשר הספרות במספרי טלפון

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

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

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

19 בינואר, 2038, קטסטרופת היוניקס הגדולה

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

מערכות ההפעלה יוניקס שומרות תאריכים לפי מספר השניות שנספרו החל מתאריך 1 בינואר, 1970. שיטת האחסון הנהוגה ביוניקס, המבוססת על ארבע ספרות (שוב, מטעמי חיסכון בעלויות) תאפשר לספירה הקיימת להמשיך לרוץ עד 2,147,483,647 שניות, לפני שתתאפס ב-19 בינואר, 2038, בשעה 3:14:07, שעון ניו-יורק. לאחר ההתאפסות צפויות רוב מערכות היוניקס "לחשוב" כי התאריך הנוכחי הוא.. 1 בינואר 1970.

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

2015-2050, בעיית החלון

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

2078-2019, יכולת התיארוך של מוצרי מיקרוסופט

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

ובכן, תוכנת אקסל 95 של מיקרוסופט מצוידת ביכולות תיארוך המסתיימות בשנת 2019 (תאריכים של שתי ספרות) ובשנת 2078 (תאריכים של ארבע ספרות). תוכנת תכנון הפרויקטים של החברה מסוגלת לספור תאריכים עד 2049, ואילו מאגר הנתונים של אקס יכול לספור תאריכים לפי שתי ספרות רק עד 1999.

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


הכתבה מבוססת על מאמר בשם Dangerous Dates For Software Aplications, מאת קיפרס ג'ונס, יו"ר חברת Software Productivity Research. המאמר מופיע במלואו באינטרנט, והוא חומר קריאה מרתק, על אף אורכו (13,00 מלה). כתובת המאמר ברשת: www.comlinks.com/mag/ddates.htm