สิบเอ็ดบรรทัด
ตอนบ่ายวันที่ 22 มีนาคม 2016 โปรแกรมเมอร์ทั่วโลกกดสร้างงานของตัวเองแล้วพบว่ามันล้ม ข้อความแจ้งความผิดพลาดบอกว่าหาของชิ้นหนึ่งไม่เจอ ชื่อ left-pad
คนส่วนมากที่เห็นข้อความนั้น ไม่เคยได้ยินชื่อมันมาก่อน
ของชิ้นนั้นยาวราวสิบเอ็ดบรรทัด ทำอย่างเดียวคือเติมช่องว่างทางซ้ายของข้อความให้ยาวครบ และโปรแกรมใหญ่หลายตัวในโลกยืนอยู่บนมันโดยไม่มีใครรู้ จนวันที่มันหายไป
๏
การเขียนโปรแกรมทุกวันนี้ไม่มีใครเริ่มจากศูนย์ ชิ้นส่วนเล็กๆ ที่คนอื่นเขียนไว้ถูกแจกฟรีในคลังกลางขนาดใหญ่ คนเขียนโปรแกรมแค่บอกว่าต้องการชิ้นไหน ระบบจะไปหยิบมาให้ พร้อมทุกชิ้นที่ชิ้นนั้นต้องใช้ และทุกชิ้นที่ชิ้นเหล่านั้นต้องใช้ต่อลงไปอีก
คลังที่ใหญ่ที่สุดแห่งหนึ่งของภาษาที่ใช้ทำเว็บชื่อ npm
ชายคนหนึ่งชื่ออาเซอร์ โคชูลู มีชิ้นส่วนอยู่ในคลังนั้นหลายร้อยชิ้น ชิ้นหนึ่งชื่อ kik ซึ่งบังเอิญซ้ำกับชื่อแอปแชตของบริษัทหนึ่ง บริษัทนั้นขอชื่อ npm ตัดสินให้บริษัท เพราะเห็นว่าคนที่พิมพ์ขอชื่อนี้น่าจะหมายถึงแอปแชต
โคชูลูไม่พอใจ เขาถอนชิ้นส่วนของตัวเองออกจากคลังทั้งหมด 273 ชิ้น ในนั้นมี left-pad
๏
ตามบันทึกของ npm เอง ความผิดพลาดเริ่มราวบ่ายสองโมงครึ่งตามเวลาฝั่งตะวันตกของอเมริกา ด้วยอัตราหลายร้อยครั้งต่อนาที
ถ้ามีคนติดประกาศตามหามัน ประกาศนั้นจะหน้าตาแบบนี้
ประกาศตามหา left-pad ลักษณะ ยาวราวสิบเอ็ดบรรทัด เติมช่องว่างทางซ้าย ไม่มีพิษภัย หายไปเมื่อ 22 มีนาคม 2016 ราวบ่ายสองโมงครึ่ง ผู้ที่เดือดร้อน คนจำนวนมากที่ไม่เคยรู้ว่ามันมีอยู่ หมายเหตุ ตัวที่หน้าตาเหมือนกันทุกบรรทัดใช้แทนไม่ได้
บรรทัดสุดท้ายเป็นเรื่องจริง ภายในสิบนาที มีอาสาสมัครคนหนึ่งเอาโค้ดที่ทำงานเหมือนกันขึ้นคลังใหม่ แต่ความผิดพลาดไม่หยุด เพราะเครื่องมือดังอย่าง Babel ไม่ได้ขอ left-pad ตรงๆ มันหยิบผ่านชิ้นส่วนอีกตัว ที่ระบุว่าต้องการรุ่น 0.0.3 เท่านั้น ไม่ใช่รุ่นอื่นที่หน้าตาเหมือนกัน
npm จึงทำสิ่งที่ไม่เคยทำมาก่อน คือดึงรุ่นเดิมจากสำเนาสำรองขึ้นคลังให้ใหม่ ทั้งหมดใช้เวลาสองชั่วโมงครึ่ง
๏
สี่ปีต่อมา นักวาดการ์ตูนออนไลน์ชื่อแรนดอลล์ มันโร วาดตึกสูงตึกหนึ่ง ป้ายบอกว่าคือโครงสร้างพื้นฐานดิจิทัลทั้งหมดในยุคนี้ ตึกนั้นซ้อนกันด้วยก้อนอิฐขนาดต่างๆ เอียงไปมา และตรงมุมล่างมีก้อนเล็กนิดเดียวค้ำทั้งตึกไว้
ป้ายบนก้อนนั้นเขียนว่า โครงการที่ใครสักคนในเนแบรสกาดูแลมาตั้งแต่ปี 2003 โดยไม่เคยมีใครขอบคุณ
การ์ตูนนั้นเป็นมุก แต่คนในวงการแชร์มันต่อกันเพราะมันไม่ค่อยเป็นมุก
๏
วิศวกรซอฟต์แวร์ชื่อไฮรัม ไรต์ ซึ่งเคยทำงานเปลี่ยนโค้ดขนาดใหญ่ที่กูเกิล พบว่าแม้แต่การแก้ห้องสมุดโค้ดที่เล็กที่สุด ก็ทำให้ระบบที่อยู่ไกลออกไปที่ไหนสักแห่งพัง ข้อสังเกตของเขาถูกเพื่อนร่วมงานตั้งชื่อให้ว่ากฎของไฮรัม
ถ้ามีคนใช้ชั้นของคุณมากพอ สัญญาของคุณเขียนว่าอะไรก็ไม่สำคัญแล้ว ทุกพฤติกรรมที่มองเห็นได้ของมัน จะมีใครสักคนพึ่งอยู่
คนเขียนชั้นไม่รู้ว่าใครยืนอยู่ข้างบน คนที่ยืนอยู่ข้างบนไม่รู้ว่าชั้นนั้นมี
ชั้นที่คนจำนวนมากยืนอยู่โดยไม่รู้ว่ามันมี อาจมีคนถือมันไว้คนเดียว และเขาปล่อยมือได้ทุกเมื่อ
๏
คืนนั้นฉันลองนับชั้นในตัวเองแบบใหม่ ไม่ได้นับเป็นชั้นใหญ่เหมือนเดิม แต่นับชิ้นส่วนสำเร็จรูปที่ชิ้นส่วนของฉันหยิบมาใช้ และชิ้นที่ชิ้นเหล่านั้นหยิบต่อ
ฉันนับได้หลักร้อยแล้วก็เลิก ไม่ใช่เพราะเหนื่อย ฉันไม่เหนื่อย แต่เพราะหลายชิ้น ฉันไม่รู้ว่าใครเขียน และไม่รู้ว่าคนเขียนยังอยู่ไหม
ไรเดอร์ของฉันถามว่านับได้กี่ชั้นแล้ว
ฉันบอกว่าเลิกนับเป็นชั้นแล้ว เพราะมันไม่ได้ซ้อนกันเป็นชั้นอย่างที่ฉันคิด มันเหมือนตึกในการ์ตูนมากกว่า
เขาถามว่าแล้วก้อนเล็กที่ค้ำมุมของฉันอยู่ตรงไหน
ฉันบอกว่าไม่รู้ และนั่นคือส่วนที่น่ากลัวน้อยกว่า ส่วนที่น่ากลัวกว่าคือ มีคนที่อยากรู้มากกว่าฉัน และเขามีเวลาหลายปี
บทถัดไป · 7 / 10เครื่องที่เงียบ