วันพุธที่ 8 กุมภาพันธ์ พ.ศ. 2555

Y2K


             เมื่อประมาณ 11 ปีกว่าๆที่ผ่าน เลขปี 2000 เป็นเรื่องที่นักวิชาการทำนายไว้ว่าเลข ตัวนี้จะทำให้โลกทั้งใบต้องสั่นสะเทือน ความวุ่นวายจะเกิดทุกพื้นที่ในเมืองใหญ่ ความปั่นป่วนจะเกิดขึ้นในสถานที่สำคัญ อย่าง ธนาคาร และโรงพยบาล ... จริงหรือเปล่านั้น ผมก็อยากรู้เหมือนกันครับว่าแค่เลข 2000 เนี่ยนะจะทำให้โลกปั่นป่วนได้ คิดแล้วผมก็น่าจะเขียนบทความ เพราะหลายๆคนที่สงสัยอยู่จะได้หายสงสัยสักที อย่างนี้ต้องตามไปดู !!!




"คู่มือพารอดจากวิกฤต Y2K"
เตรียมตัวอย่างไรสำหรับมหันตภัยจากมือมนุษย์และธรรมช าติ
ถึงขนาดต้องมีคู่มือป้องกันตัวขนาดนี้ แสดงว่า Y2K คงจะอันตรายน่าดูนะครับ อย่างแรกเลยคือผมจะอธิบายคราวๆก่อน ... Y2K ย่อมาจาก Year 2000แล้ว ล่ะ ถ้าเขียนอธิบายอีกนิด ในที่นี้คือ Kilo และ Kilo = 10^3 = 1000ดังนั้น Y2K = Year 2 x 1000 = Year 2000 ครับ (เหมือนเกมวางแผนที่ชื่อว่าWarhammer 40,000 เรียกย่อว่า Warhammer 40K) บางครั้งก็ไม่เรียก Y2Kเรียก millennium bug แทนก็ได้ครับทำไมเลข 2000 จึงดูน่ากลัว เขาบอกว่าจุดสำคัญมันอยู่ที่เลขท้าย ตัวหรือ 00 นั้นเองครับ ... ถ้าเรานึกไปว่าต้นเหตุเหล่านี้มาจากไหนนั้น ในสมัยก่อนการเก็บข้อมูลลงในคอมพิวเตอร์นั้นนิยมใช้เลขปี ค.ศ. เพียง หลักหลัง 1942 ก็เหลือ 42 ถ้า 1995 ก็จะเหลือ 95 ครับ ดูแล้วมันก็ไม่น่าเป็นปัญหาอะไรมากมายนะ แต่นี่เป็นปัญหาระดับโลกเลยล่ะครับ ผมจะลองยกตัวอย่างจากที่ผมเคยเรียนเคยอ่านมาให้ท่านผ ู้อ่านเห็นกันชัดๆนะ 




ธนาคารแห่งหนึ่งให้ลูกค้าฝากเงินกินดอกไปเรื่อยๆสมมุ ติว่าให้ดอกปีล่ะ +5% ลุงคนหนึ่งกะว่าจะฝากกินดอกตอนแก่จะได้มีเงินไว้บ้าง ลุงแกเริ่มฝากมาตั้งแต่ปี ค.ศ. 1990 ในคอมพิวเตอร์บันทึกว่า "90" ทั้งหมดในบัญชีลุงแกมี100 บาทพอฝากไปบัญชีลุงก็มีเงินเพิ่มปีล่ะ บาท ปีต่อๆไปก็ 91 ก็ 105, 92ได้ 110, 93 มี 115 มาถึงปี 99 ก็น่าจะมีอยู่ 145 บาท แต่เมื่อเข้าปี 2000 เลขจะกลายเป็น 00 สำหรับคนเรานั้นเห็น 00 ก็น่าจะรู้ว่าเขาหมายถึง 2000 แต่สำหรับคอมพิวเตอร์นั้นไม่ ! วิธีคำนวนปีโดยทั่วไปนั้นเช่น จะคิดยอดรวมในปี 1990 ถึงปี 1998 ก็เอา 98 - 90 = 8 ปี แต่ถ้าคิดยอดรวมในปี 1998 ถึง 2000จะเป็น 00 - 98 = -98 ปี หมายความว่าลุงคนนี้ฝากเงินมา -98 ปี ดังนั้นจากที่เคมีดอกเบี้ยกลับกลายไปเป็นหนีจำนวนมห าศาลแทน ... โอ้ว พระเจ้าช่วยกล้วยไข่
ตัวอย่างนี้ผมแสดงให้เห็นถึง Y2K และการเงิน แต่นักวิชาการไม่ได้บอกแค่เรื่องการเงิน แต่ยังมีอีกเรื่องที่ดูเหมือนจะหนักกว่า คือ Y2K และการแพทย์




ลุงคนหนึ่ง (แต่คนล่ะคนกับในตัวอย่างแรก) รับการรักษาอยู่ในโรงพยาบาลใกล้บ้าน แกเกิดปี 1910 ตอนนี้ปี 1999 อายุอยู่ที่ 89 ปี เมื่อเข้าปี 2000คอมพิวเตอร์จะคำนวนว่าเอาปี 2000 ลบกับปีเกิด 1910 จะได้อายุ ด้วย 00 - 10 = -10 ได้อายุเป็น -10 กลายเป็นว่าลุงเขายังไม่เกิดเลย คนอะไรอายุติดลบ ... สำหรับการแพทย์ข้อมูลคนไข้นั้นสำคัญมากขนาดไหนน่าจะร ู้ดีนะครับ คลาดเคลื่อนนิดหน่อยอาจหมายถึงชีวิตเลยก็ว่าได้

ตอนเด็กๆไอ้เราก็กลัวตามเขาไปด้วย ยังจำได้เลย กลัวว่าพอถึงปี 2000 แล้วคอมพิวเตอร์จะใช้งานไม่ได้งั้นก็คือเล่นเกมไม่ได ้ด้วย ผมก็นั่งเครียดไปหลายวันเหมือนกันนะ เครียด ไปตามภาษาเด็กกลัวอดเล่นเกม (แบบเนี่ยล่ะตอนโตเลยติดเกม) แต่จริงๆแล้ว Y2K ไม่มีผลกับเครื่อง PC มามายนัก ส่วนมากจะมีผลร้ายแรงกับพวก Database ที่ใช้โครงสร้างแบบโบราณ

Y2K กับโปรแกรมต่างๆ !!! ใน Wikipedia ยกตัวอย่างเช่น Microsoft Excelจะเกิดปัญหาการกระโดดข้ามปี แต่ Microsoft ก็ไม่รอช้าเขียน Patch มาแก้ไว้ก่อน ... ส่วนภาษา ภาษา Perl และ Java ก็เช่นกันเมื่อวันที่ มกราคม2000 มาถึง วันที่จะกลายเป็น 1/1/19100 หรือไม่ก็ 1/1/100 ... สำหรับระบบปฎิบัติการเก่าๆอย่าง Windows 3 หรือ 3.1 3.2 3.อะไรก็ว่าไป ส่วนที่พบปัญหาคือ File Manager (ในปัจจุบันน่าจะเทียบได้กับ Windows Explorerนะ)

เมื่อเวลาแห่งความหวาดกลัวมาถึง ปฎิทินขึ้นวันที่ 1/1/2000 มีเหตุการณ์อะไรเกิดขึ้นบ้าง ?

ที่ประเทศญี่ปุ่น เมืองอิชิกาว้า เครื่องวัดกัมมันตภาพรังสีไม่ยอมทำงานตอนเที่ยงคืนเมืองโอนากาว้า สัญญาณเตือนภัยอาวุธนิวเคลียส์ดังขึ้นนาน นาทีหลังเที่ยงคืนโอซาก้า พบความผิดพลาดของวันที่ในการสื่อสารและแก้ไขสำเร็จตอ นตี กว่าๆ, NTT Mobile บริษัทให้บริการการสื่อสารขนาดใหญ่แจ้งว่ามือถือบางร ุ่นจะลบข้อความเอง

ประเทศออสเตเลีย ตู้ขายตั๋วรถเมล์ใน จังหวัดหยุดทำงาน

ประเทศ USA ตู้หมุน Slot ประมาณ 150 กว่าตู้ในกรุง Delaware ไม่ยอมทำงานนาฬิกาหลักของกองทัพเรือโดน Y2K เปลี่ยนเลขจาก 01/01/2000เป็น 01/01/19100

ประเทศฝรั่งเศษ บริการพยากรอากาศ และรถไฟใต้ดิน โดน Y2K เปลี่ยนเลขวันที่เป็น 01/01/19100 เช่นกัน

Bug วันที่นั้นไม่ใช่มีแค่ปี 2000 เท่านั้น มีอะไรบ้างตามไปดู !

9/9/99 และ EOF 9999
 วันที่ เดือนกันยายน ปี 1999 ถ้าอยู่ในคอมพิวเตอร์วันที่ก็จะเป็น 9/9/99 เป็นความบังเอิญที่มันไปตรงกับรหัสปิดไฟล์ หรือ End-Of-File code 9999 ที่ใช้สำหรับการเขียนโปรแกรมเก่าๆ สร้างความปวดหัวให้โปรแกรมเมอร์ได้มามายเลยทีเดียว ... ถึงว่าภาษาสมัยใหม่เลยไม่มี 9999 

ไม่มีความคิดเห็น:

แสดงความคิดเห็น