#1 tech recruiter in thailand

7 Software Bugs แปลก ๆ ที่เหล่า Developer เคยเจอมากับตัว

ไม่มีอะไรจะน่ารำคาญไปกว่า การที่คุณติดอยู่กลางคันระหว่าง Coding ด้วยความมุ่งมั่น และคลิก Run แล้วเห็น Errors ที่ไม่คาดคิดมากมายนับพัน หลังจากนั้นคุณสามารถตั้งสติ, หา Bug, แก้ไข แล้วลอง Run ใหม่อีกครั้ง แต่คุณก็ยังคงเจอ Bugs บางตัวอยู่ บางครั้งมันก็โผล่ขึ้นมาเอง หรือคุณอาจเจอ Error หลังจากที่คุณ Run เสร็จแล้ว และบทความนี้ก็เป็น 7 Software Bugs แปลก ๆ ที่เหล่า Developer เคยเจอมากับตัว

1. โทรออก 911 โดยไม่ได้ตั้งใจ เพราะ Bug

ในปี 1995 เหล่า Developer ได้เริ่มสร้าง Embedded System ที่มี Built-in Phone Dialer ที่ใช้ DTMF

DTMF Scheme มีการจัดเรียงตัวเลข 0 – 9, #, * (และ A-D) ในรูปแบบ 4×4 Matrix ที่มีความถี่ที่แตกต่างกันสำหรับแต่ละ Row และ Column

โดยพื้นฐานแล้ว แนวคิดก็คือ Firmware จะสร้าง Row Frequency ใน 1 GPIO และ Column Frequency ใน GPIO อื่น Hardware จะทำการ Mix เสียงและใส่ผลลัพธ์ไปยังสายโทรศัพท์

จากนั้น Developer จะเขียน Code สร้าง DTMF และทดสอบ Program ที่วนซ้ำตัวเลขตั้งแต่ 9 ถึง 0 จากนั้น 0 ถึง 9 จากนั้น 9 ถึง 0 เป็นต้น แต่เมื่อถึงเวลาทดสอบจริง ๆ ฝ่ายบริหารตัดสินใจละเลยการสั่งซื้อ Telco Simulator และลองใช้กับสาย POTS ที่ใช้กับเครื่อง Fax

Bug คือ Code ที่ถูกสร้างขึ้นเพื่อใช้บอกความถี่ที่ไม่ถูกต้องทั้งหมด ยกเว้น Column เดียวและ 2 Rows ที่สอดคล้องกับตัวเลข 1 และ 9 ดังนั้น การทดสอบ Program จึงกดโทรออก 9-1–1 ซ้ำแล้วซ้ำอีกเพื่อให้เกิดความแม่นยำมากที่สุด

แต่ 4 นาทีต่อมา ตำรวจก็ปรากฏตัวขึ้นที่หน้าบ้าน (ทำเสร็จแล้ว ก็ต้องทดสอบ จริงมั้ย)

2. ค่าไฟ 53,480,062 ปอนด์

สามีภรรยาคู่หนึ่งใน Lancashire ได้ติดตั้งมิเตอร์ไฟฟ้าใหม่ ช่างไฟฟ้าจาก Scottish Power ติดตั้งมิเตอร์ใหม่ที่บ้านของทั้งคู่ ช่างไฟฟ้าต่อสายไฟผิดทาง ซึ่งส่งผลกระทบไปถึงการคำนวณใบเรียกเก็บเงิน เมื่อทั้งคู่เห็นใบเรียกเก็บเงินของพวกเขา พวกเขาตกใจมาก เพราะใบเรียกเก็บเงินของพวกเขาเพิ่มขึ้นจาก 87 ปอนด์เป็น 53,480,062 ปอนด์

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

3. Clippy Bug

Developer กำลังทำงานใน Project ที่อนุญาตให้ประชาชนสามารถดำเนินคดีในศาลแพ่งได้ โดยประชาชนที่ต้องการใช้บริการจะต้องกรอก Web Form, Submit และทำการจ่ายเงิน จากนั้นถึงได้ยื่นฟ้องต่อศาล ซึ่ง User จะได้รับ PDF เกี่ยวกับปัญหาของพวกเขากลับไป

แต่อยู่มาวันหนึ่ง Platform ดันไม่ทำงาน พวกเขามี Server อื่นสำรอง และชี้ Traffic ไปที่นั้น ทำให้ Developer ใช้เวลาเกือบ 2 สัปดาห์ในการค้นหาว่าเกิดอะไรขึ้น และพบว่า Website ได้ Launched COM Components บางส่วน ซึ่งทำให้มันหยุดทำงานและไม่กลับมาอีก

COM Components มี Dependency บน Word และใช้ Word COM บางส่วน เพื่อแปลง XML เป็น RFT ก่อนที่จะแปลงเป็น PDF

COM Components ทำงานในบริบทของ Windows Service ซึ่ง Developer ก็พยายามทำทุกวิถีทางให้สามารถเข้าสู่ Desktop ได้ ซึ่งในที่สุดมันก็ออกมาเป็น Clippy Bug ที่อยู่ในนั้นเพื่อรอการ Response กลับจาก User

4. ภาพ Selfie ถูกส่งไปผิดคน!

ในปี 2010 หนึ่งใน Bugs ของ Smart Phone ที่แปลกประหลาดที่สุดได้เกิดขึ้นใน Default ของ Android Messaging Application โดย User ได้แจ้งปัญหาการส่ง SMS ผิดพลาดไปยังบุคคลอื่น ซึ่งไม่ใช่บุคคลที่พวกเขาต้องการจะส่งให้

มันจะน่าผวาแค่ไหนที่ข้อมูลส่วนตัว หรือข้อมูลที่ Sensitive มาก ได้ไปปรากฏให้กับคนแปลกหน้า!

การแก้ไขต้องใช้เวลานาน เนื่องจากไม่ใช่เหตุการณ์ที่เกิดขึ้นบ่อย และในที่สุด ในปี 2011 ปัญหานั้นก็ได้ถูกแก้ไข

5. โดน Disconnected ทุกครั้งที่ Run Report

ย้อนกลับไปในยุค 80 มี User รายหนึ่งบ่นว่า เธอมักจะถูก Disconnected จาก Server เมื่อเธอ Run Report แต่ก็ไม่ใช่ทุกครั้ง ซึ่งเธอสามารถ Run Report อื่น ๆ ได้โดยไม่มีปัญหา ในขณะที่คนอื่น ๆ กลับสามารถ Run Report ที่เป็นปัญหาของเธอได้ โดยไม่มีปัญหาอะไรเลย แม้ว่าเธอจะเป็นหนึ่งใน Users ไม่กี่คนที่ใช้ Dial-in Connection

Operations Support ได้แก้ไขปัญหาในทุกวิถีทางที่จะเป็นไปได้ และสุดท้ายด้วยความหงุดหงิด พวกเขาจึงขอให้เธอ Run Report ในขณะที่พวกเขาก็สังเกต Server อยู่ด้วย

สุดท้ายก็พบว่า ในขณะที่เธอ Run Report ทำให้หัวดิสก์เคลื่อนที่ด้วยความถี่สะท้อน ทำให้ Box สั่นสะเทือนไปด้วย สายโทรศัพท์สำหรับ Dial-in Users เส้นหนึ่ง ถูกพันไว้ที่ด้านหน้าของ Box จนแน่นพอที่จะทำให้ Connection หลุดได้โดยไม่ต้องถอดปลั๊ก

6. App Crash เพียงแค่ ดื่มโค้ก!

Programmer ทำงานร่วมกับ Project Team หลังจากส่งมอบ Application แล้ว Helpdesk ได้รับปัญหาจากลูกค้า ซึ่ง End-User ได้อธิบายปัญหาที่พบมา ว่า “มัน Crash ทุกครั้งที่ฉันดื่มโค้ก”

เมื่อ Programmers ได้ทราบ ก็คิดว่ามันเป็นแค่เรื่องตลก และตอนแรกพวกเขาก็เพิกเฉยต่อประเด็นนี้ แต่เมื่อ User บ่นอีกครั้ง และครั้งถัดไปเขาบอกว่า App ใช้ได้ดีตอนเขาดื่มกาแฟ แต่มัน Crash ขณะดื่มโค้กเท่านั้น

สมาชิกของ Project Team ได้ตัดสินใจที่จะตรวจสอบปัญหาและพบว่า Online Web Form มี Time-Out Feature ซึ่งเป็นสาเหตุที่ทำให้ Application ถูก Log Out เมื่อ Page ถูกปล่อยให้ไม่มีการใช้งานเป็นเวลานานกว่า 15 นาที ซึ่งปัญหานี้ไม่เคยถูกทดสอบ และมี Bug ที่ยังไม่ได้แก้ไข

ทีนี้มาดูกันว่าทำไม User ถึงคิดว่าสาเหตุมาจากการดื่มโค้กกัน เนื่องจากตู้จำหน่ายโค้ก อยู่ที่ชั้น 11 ดังนั้น User จึงใช้เวลามากกว่า 15 นาทีเพื่อไปที่นั่นแล้วกลับมา แต่เครื่องชงกาแฟอยู่ไม่ไกล แต่ห่างออกไปเพียงแค่ไม่กี่ก้าว

7. Bug กับ สาย Joystick

ประมาณ 30 ปีที่แล้ว Developer คนหนึ่งได้เขียนเกมสำหรับ Atari 800 ย้อนกลับไปในสมัยนั้น เกมดังกล่าวถูกสร้างในภาษา Assembly และการ เขียน การ Compile และการ Test ก็ไม่ใช่กระบวนการที่ทำได้ง่ายนัก

เช้าวันหนึ่ง เขาทำการเปลี่ยนแปลง 2 -3 อย่าง โดย Compiled Code และทำการ Test เกม แล้วพบว่า Joystick ไม่ทำงาน เขาปิดมัน แล้วทำการ Reloaded Source Code ใหม่ทั้งหมด และเริ่มค้นหา Bug

เขาพบกับ Errors เล็กน้อย และทำการแก้ไข จากนั้น Compile ใหม่และทำการ Test ครั้งแล้วครั้งเล่า แต่ Joystick ก็ยังคงไม่ทำงานอยู่ดี เขาจึงต้องกลับไปดูที่ Source Code อีกครั้ง

Memory มักทำงานได้สั้นใน 8-bit Machines ดังนั้น จึงเป็นไปไม่ได้ที่จะเก็บ Source Code, Assembler และ Target Program ทั้งหมดไว้ใน Memory ในเวลาเดียวกัน คอมพิวเตอร์ต้องถูก Reboot และทุกอย่างต้อง Reload จาก 5.25″ Floppy Disks

หลังจากที่เขาคิดวนไปวนมาหลายครั้ง เขาก็คิดว่า เขาพบปัญหาและทำการแก้ไขแล้ว แต่ทำไมยังเกิดปัญหา ในที่สุดเขาก็หงุดหงิดมากจนหยิบ Joystick ขว้างข้ามห้องไป ทำให้เขาเห็นว่า ปลายสาย Joystick ลอยอยู่ในอากาศ จังหวะนั้น เขาจึงได้รู้ว่า เขายังไม่ได้เสียบสาย Joystick เลย! จึงทำให้เกิด Bug ขึ้น!

และนี่ก็คือ 7 Software Bugs แปลก ๆ ที่เหล่า Developer เคยเจอมากับตัว แล้วคุณล่ะ เคยเจอ Bugs แปลก ๆ แบบไหนมาบ้าง สามารถมาแชร์ให้เพื่อนได้รู้กันได้ อาจจะตลกไม่แพ้ 7 ข้อในบทความนี้เลยก็ได้ หากคุณรู้สึกสนใจงานที่ได้พัฒนา Skills และอยากก้าวหน้าในสายงานไอที สามารถติดต่อ ISM Technology Recruitment และส่ง Resume ของคุณมาได้ที่ https://www.ismtech.net/submit-your-resume แล้วคุณจะพบว่า อนาคตและโอกาสก้าวหน้ากำลังรอคุณอยู่

ISM เชี่ยวชาญในธุรกิจ IT Recruitment & IT Outsourcing โดยเฉพาะ เปิดทำการมากว่า 30 ปี มีพนักงานทุกสายและทุกระดับทางด้าน IT ที่ได้ร่วมงานกับลูกค้าองค์กรใหญ่ที่มีชื่อเสียงและบริษัทข้ามชาติมากมาย

Source: https://javascript.plainenglish.io/

​​​

th