โบราณวัตถุแห่งอินเทอร์เน็ต
(neal.fun)- เอกสารนี้อธิบายคำศัพท์เฉพาะและบริบททางวัฒนธรรมที่มีต้นกำเนิดจาก กลุ่มแฮ็กเกอร์
- มีทั้งคำนิยาม ตัวอย่างการใช้งานของ คำศัพท์แฮ็กเกอร์สำคัญ และเกร็ดเล่าเกี่ยวกับที่มา
- คำบางคำแฝง อารมณ์ขัน ความประชด และการเสียดสี ซึ่งสะท้อนค่านิยมเฉพาะของแฮ็กเกอร์
- รวมคำที่สืบทอดมาจาก ระบบสำคัญในประวัติศาสตร์คอมพิวเตอร์ (เช่น MIT, CMU, Stanford ฯลฯ) ไว้จำนวนมาก
- คำเหล่านี้ยังคงส่ง อิทธิพลต่อวัฒนธรรมการพัฒนาซอฟต์แวร์และภาษาของชุมชน มาจนถึงปัจจุบัน
ภาพรวมของพจนานุกรมแฮ็กเกอร์ (The Hacker's Dictionary)
- เอกสารนี้รวบรวมรายการคำศัพท์และสำนวนเฉพาะที่ใช้บ่อยใน กลุ่มแฮ็กเกอร์ พร้อมคำนิยามและภูมิหลังการใช้งานไว้อย่างเป็นระบบ
- มีการอธิบายที่มาของคำ ตัวอย่างจากบทสนทนาจริง‧ในโค้ด และนัยของแต่ละคำ ทำให้เข้าใจได้มากกว่าพจนานุกรมธรรมดา
สรุปคำศัพท์เด่นและความหมาย
-
@BEGIN / @END : คำสั่ง SCRIBE ที่ใช้เน้นบริบทหรือเจตนาของข้อความบางส่วน และมักถูกอ้างถึงแบบขำ ๆ ในวัฒนธรรมแฮ็กเกอร์
-
ANGLE BRACKETS (วงเล็บมุม) : หมายถึงอักขระ "<" และ ">" เป็นคำที่ใช้กันบ่อยที่ MIT
-
AOS: มาจากคำสั่ง PDP-10 ที่แปลว่า "เพิ่ม" ใช้พูดแบบติดตลกว่าเป็นการเพิ่มค่าหรือสถานะบางอย่าง
-
ARG (อาร์ก) : ใช้เรียก argument ของฟังก์ชัน และถูกใช้บ่อยจนกลายเป็นคำเดี่ยวในตัวเอง
-
AUTOMAGICALLY: (อัตโนมัติ+เวทมนตร์) เป็นสำนวนเชิงเสียดสีที่ใช้เมื่อบางอย่างทำงานอัตโนมัติ แต่กลไกซับซ้อนเกินกว่าจะอธิบายหรือขี้เกียจอธิบาย
-
BAGBITER: คำใช้เรียกฮาร์ดแวร์หรือซอฟต์แวร์ที่ชอบพังเป็นพัก ๆ ในเชิงดูหมิ่น และมีรูปคำคุณศัพท์ว่า BAGBITING
-
BARF: ใช้ในงานเขียนโปรแกรมเพื่อสื่อถึงความน่าขยะแขยง หรือข้อผิดพลาดจากการประมวลผลอินพุต
-
BELLS AND WHISTLES: หมายถึงฟีเจอร์เสริมที่ไม่จำเป็นต่อโปรแกรม แต่มีประโยชน์หรือสนุก
-
BIGNUMS: คำที่ใช้เรียกจำนวนเต็มหรือค่าตัวเลขที่ใหญ่มากผิดปกติในเครื่องคิดเลข การเขียนโปรแกรม ฯลฯ
-
BINARY/BIN: หมายถึง object code หรือไฟล์ไบนารีของโปรแกรม และมีชื่อเรียกหลากหลายตามแต่ละระบบ
-
BIT BUCKET: สถานที่ในจินตนาการที่ข้อมูลซึ่งถูกลบหรือเข้าถึงไม่ได้อีกแล้วไหลไปตกลงไป โดยมีความหมายว่ามัน "หายไปแล้ว"
-
BUG: ข้อบกพร่องของโปรแกรมที่ไม่ต้องการหรือไม่ได้ตั้งใจ เดิมเป็นคำที่ยืมมาจากความขัดข้องของสายโทรศัพท์
-
CANONICAL: ใช้บรรยายสภาพที่เป็น "มาตรฐาน" หรือ "แบบแผนที่ถูกต้อง"
-
CROCK/CRUFTY: ใช้เรียกการออกแบบหรือการเขียนที่ไม่สง่างามหรือหยาบ ๆ ในเชิงดูแคลน
-
DAEMON/DEMON: (เดมอน/ดีมอน) คือโปรแกรมหรือโปรเซสเบื้องหลังที่ทำงานตามเงื่อนไขบางอย่างโดยผู้ใช้ไม่ต้องเรียกเองโดยตรง
-
DEADLOCK/DEADLY EMBRACE: ภาวะติดตายที่หลายโปรเซสรอกันเองจนไม่มีอะไรเดินหน้าต่อได้ โดยในยุโรปนิยมใช้คำว่า DEADLY EMBRACE
-
DWIM: ย่อจาก "Do What I Mean" เป็นคำล้อเล่นที่หวังให้ระบบทำงานตามเจตนาของผู้ใช้ และยังเป็นชื่อฟังก์ชันจริงในบางระบบด้วย
-
FENCEPOST ERROR: ตัวอย่างคลาสสิกของความผิดพลาดเรื่องเงื่อนไขขอบเขตในลูปโปรแกรม มีที่มาจากการคำนวณจำนวนเสารั้วสำหรับรั้ว n ช่องผิด
-
FROB/FROBNICATE/TWIDDLE/TWEAK: เป็นสแลงใช้ในชีวิตประจำวันเพื่อแยกแยะการไปยุ่งกับเครื่องจักร โค้ด หรือค่าต่าง ๆ แบบไม่มีแบบแผน หรือการปรับแต่งเล็กน้อย
-
HACK/HACKER: หมายถึงการจัดการเครื่องมือและโค้ดอย่างสร้างสรรค์หรือเฉพาะหน้า รวมถึงคนที่ชำนาญและมีความหลงใหลในสิ่งนั้น ครอบคลุมทั้งความหมายเชิงบวก ความขี้เล่น ความเป็นช่างฝีมือ และอารมณ์ขันแบบแฮ็กเกอร์
คำอธิบายรายละเอียดรายคำ
@BEGIN / @END
- ใช้ระบุบริบทหรือการเน้นย้ำของบล็อกข้อความเฉพาะ
ANGLE BRACKETS (วงเล็บมุม)
- เป็นคำที่ใช้เรียก "<" และ ">" และพบได้ในชุมชนแฮ็กเกอร์สำคัญอย่าง MIT, Stanford เป็นต้น
ARG
- ชื่อย่อที่ใช้เรียกพารามิเตอร์ของฟังก์ชัน พบได้บ่อยในบทสนทนาและเอกสารของนักพัฒนา
AUTOMAGICALLY
- ใช้พูดแบบขำ ๆ ว่าบางอย่างเกิดขึ้นเองโดยอัตโนมัติโดยไม่อธิบายหลักการ
- สืบเนื่องมาจากการขยายความหมายของคำว่า 'MAGIC'
BAGBITER
- เป็นคำดูหมิ่นสำหรับอุปกรณ์หรือซอฟต์แวร์ที่ก่อให้เกิดความล้มเหลวเป็นพัก ๆ หรือรุนแรง
- ใช้ในความหมายใกล้กับ "LOSER" และ bagbiting system ก็เป็นฉายาของระบบที่มีชื่อเสียงในทางเสีย
BAR
- ใช้ร่วมกับ FOO เป็นชื่อตัวแปรสมมุติหรือคำตัวอย่างแบบสุ่ม (เช่น FOOBAR)
BARF/BLETCH
- ใช้สื่อถึงความน่าขยะแขยง ข้อผิดพลาดของเครื่องเวลาอ่านอินพุต หรือสถานการณ์ที่ไม่น่าดูในเชิงสุนทรียะ
BELLS AND WHISTLES
- หมายถึงฟีเจอร์เสริมที่ไม่จำเป็นของโปรแกรม (เช่น UI ที่มีลูกเล่น ข้อความ TGIF สนุก ๆ เป็นต้น)
BIGNUMS
- เป็นคำรวมสำหรับตัวเลขขนาดใหญ่มากที่จัดการได้ยากในงานคำนวณเชิงตัวเลขหรือการทำหน่วยความจำว่าง
- El Camino BIGNUM เป็นสแลงที่ใช้พูดถึงระยะทางหรือวัตถุที่ยาวมากแบบขำ ๆ
BIN/BINARY
- หมายถึงไฟล์ไบนารี, object code และยังมีชื่อเฉพาะตามระบบต่าง ๆ เช่น DMP, SAV, SHR เป็นต้น
BIT/ BITBUCKET
- คือหน่วยข้อมูลที่เล็กที่สุด และ 'bit bucket' คือปลายทางในจินตนาการของข้อมูลที่สูญหายจากการมีอยู่
BUG/FEATURE
- อธิบายทั้งข้อบกพร่องของโปรแกรมที่ไม่ได้ตั้งใจ (บั๊ก) และผลลัพธ์จากการหาเหตุผลเข้าข้างหรือบันทึกมันไว้เป็นเอกสาร (ฟีเจอร์)
CANONICAL
- หมายถึงรูปแบบที่เป็น 'คำตอบมาตรฐาน' หรืออุดมคติที่สุดของปัญหาหรือการนำไปใช้จริง
CROCK/CRUFTY
- เป็นสแลงเชิงวิจารณ์สำหรับการออกแบบที่งุ่มง่ามหรือซับซ้อนเกินไป โดย crufty บางครั้งยังหมายถึงโค้ดที่ถูกแก้ไขต่อ ๆ กันมาจนยุ่งเหยิง
DAEMON/DEMON/DRAGON
- DAEMON: คำอธิบายของโปรแกรมเบื้องหลังที่ตอบสนองต่อเหตุการณ์ของระบบปฏิบัติการโดยอัตโนมัติ
- DEMON: สำนวนเรียกซับรูทีนภายในโปรแกรมที่รับหน้าที่ตอบสนองตามเงื่อนไข
- DRAGON: โปรแกรมช่วยเชิงยูทิลิตีที่ระบบปฏิบัติการใช้โดยตรง
DEADLOCK/DEADLY EMBRACE
- สถานการณ์ที่สองโปรเซสขึ้นไปต่างรอกันเอง โดยยุโรปใช้คำว่า Deadly Embrace ส่วนอเมริกาใช้ Deadlock
DWIM
- ฟังก์ชันแบบ "ความหวัง" ที่พยายามเดาเจตนาของผู้ใช้จากอินพุตที่ไม่ชัดเจนแล้วแก้ไขหรือเติมเต็มให้ ซึ่งมีใช้จริงใน LISP interpreter บางตัว
FROB/TWIDDLE/TWEAK
- ใช้แยกความหมายของการเปลี่ยนค่าแบบไร้เป้าหมาย การปรับแบบหยาบ ๆ และการปรับอย่างละเอียดตามลำดับ
FENCEPOST ERROR
- อธิบายความผิดพลาดเรื่องเงื่อนไขขอบเขตที่เกิดขึ้นบ่อยในลูปและกรณีคล้ายกัน
HACK/HACKER/HACKISH
- การแฮ็กมีความหมายครอบคลุมถึงวิธีแก้ปัญหาอย่างสร้างสรรค์ การด้นสด การมุ่งหาประโยชน์ ความขี้เล่น และจิตวิญญาณของช่างโปรแกรม
- แฮ็กเกอร์ถูกพรรณนาว่าเป็นคนที่ศึกษาภูมิหลัง ขุดลึก และทุ่มเทกับภารกิจอย่างจริงจัง
- สิ่งนี้เป็นรากฐานให้กับการสื่อสารแบบเชิงบวก มีไหวพริบ และน่าสนใจของวัฒนธรรมแฮ็กเกอร์
บริบททางวัฒนธรรมเพิ่มเติม
- คำศัพท์ในเอกสารนี้ถูกทำให้เป็นระบบอย่างชัดเจนภายในกลุ่มแฮ็กเกอร์ของมหาวิทยาลัยสำคัญในสหรัฐฯ ช่วงทศวรรษ 1960–80 (โดยเฉพาะ MIT, Stanford, CMU เป็นต้น)
- แต่ละคำบรรจุทั้งที่มา เหตุการณ์จริง คำพูดล้อเล่น และวัฒนธรรมที่เชื่อมโยงกับแนวปฏิบัติการเขียนโค้ดอย่างชัดเจน
- คำบางคำแพร่กระจายออกไปสู่ชุมชนดิจิทัลทั้งหมด จนกลายเป็นสำนวนที่นักพัฒนาซอฟต์แวร์ทั่วไปคุ้นเคย
- พจนานุกรมแฮ็กเกอร์ยังสะท้อนการใช้ภาษาสร้างสรรค์ของโลกที่เน้นฟังก์ชัน วิธีดำเนินชุมชนแบบเปิด และวัฒนธรรมอารมณ์ขันเชิงถากถางตนเองและวิจารณ์ตนเองมาจนถึงปัจจุบัน
2 ความคิดเห็น
ดูเหมือนว่าจะมีเนื้อหาเกือบจะเหมือนกับ Jargon file เลยนะ
ความคิดเห็นบน Hacker News
คนรุ่นใหม่อาจมองว่าไม่น่าดู มีประโยชน์น้อย และโล่ง ๆ ว่าง ๆ ซึ่งก็ถูกอยู่บ้าง
แต่สำหรับผม ทุกครั้งที่เลื่อนไปยังรายการถัดไป มันคือ ความคิดถึงอันบริสุทธิ์ เหมือนได้เปิดอัลบั้มรูปเก่า ๆ ที่ลืมไปแล้วดู ข้อเท็จจริงที่น่าสนใจคือ เดิมที เว็บไซต์ Space Jam ยังคงอยู่เหมือนเดิมจนถึงปี 2021
https://web.archive.org/web/20210105185246/https://www.spacejam.com/
https://www.spacejam.com/1996/
สิ่งที่ทำให้ผมคิดถึงที่สุดคือวินาทีที่ได้เห็น โลโก้อุกกาบาตของ Netscape Navigator
พอลองค้นต่อก็เจอลิงก์ที่คล้ายกันอีกอย่าง ตรงที่ทุกวันนี้เวอร์ชันที่ยังใช้งานได้ก็พบเห็นได้ยาก
https://erynwells.me/blog/2023/08/netscape-meteors/
ผมยังจำได้ว่าตอนอยู่มัธยมต้น พี่น้องของผมที่เรียนเอกวิทยาการคอมพิวเตอร์อธิบายเรื่องคดีผูกขาด ‘IE4 vs. Netscape’ อย่างตื่นเต้นให้ฟัง พอรวมกับ คดีผูกขาดของ Microsoft ที่ตามมาไม่นาน ก็น่าจะเป็นหนึ่งในประเด็นใหญ่ที่สุดของชุมชนเทคโนโลยีในตอนนั้น
ช่วงต้นทศวรรษ 2000 เมื่อ Netscape เริ่มเสื่อมความนิยม ก็เปิดทางให้ Mozilla Firefox และเท่าที่ผมเข้าใจ Firefox ยุคแรกก็เริ่มจากโค้ดเบสของ Netscape ที่กำลังจะปิดตัว แล้วเดินสู่เส้นทางโอเพนซอร์ส Navigator เวอร์ชันสุดท้ายที่ผมใช้ น่าจะเป็น v6.1 ที่อยู่ในชุดผลิตภัณฑ์ Netscape Communicator
ที่น่าสนใจคือ ตอนจะติดตั้งครั้งแรกมีข้อความประมาณว่า “ตรวจพบว่า Netscape เวอร์ชันหนึ่งกำลังทำงานอยู่แล้ว” โผล่ขึ้นมา ซึ่งก็เป็นเพราะอย่างที่บอกว่า Firefox ใช้โค้ดเบสของ Netscape คำอธิบายใน “About” เป็นดังนี้
Mozilla/5.0 (Windows; U; Windows NT 6.2; en-US; rv:1.0.2) Gecko/20030208 Netscape/7.02
[0] ผมลองเวอร์ชันเก่ากว่านี้ด้วย แต่ทุกเวอร์ชันพยายามดาวน์โหลดไฟล์ติดตั้งแบบเต็มจากไซต์ FTP ที่ไม่ตอบสนองอีกต่อไปแล้ว
http://www.textfiles.com/underconstruction/netscape/
ยอดเยี่ยมจริง ๆ และทำให้นึกถึงครั้งแรกที่ได้ฟัง mp3
ตอนนั้นเป็นฤดูใบไม้ร่วงปี 1997 ผมอยู่ปีหนึ่งมหาวิทยาลัย และจะฟังเพลงได้ก็จาก CD หรือวิทยุเท่านั้น ตามทฤษฎีแล้วสามารถดาวน์โหลดไฟล์ .wav ของเพลงได้ แต่แม้ในเครือข่ายมหาวิทยาลัยที่เร็วก็ยังช้ามาก และไฟล์ก็ใหญ่จนฮาร์ดดิสก์สมัยนั้นเก็บไว้ได้ไม่มาก
วันหนึ่งมีหลายเพลงดังออกมาจากห้อง แต่ไม่ใช่เพลงที่ผมหรือรูมเมตมีเป็น CD และเพลงก็เปลี่ยนเร็วโดยไม่มีโฆษณา จึงไม่ใช่วิทยุแน่ ๆ ผมยังจำได้ชัดว่าเคยคิดว่า “เดี๋ยวนะ ทำได้ยังไง? ไม่น่าจะมีเพลงพวกนั้นนี่!”
ผมสงสัยว่าเทคโนโลยีแบบไหนจะทำให้ลูก ๆ ของผมช็อกแบบนั้น
ความทรงจำดี ๆ ถูกถ่ายทอดไว้อย่างงดงาม และนำเสนอได้ไร้ที่ติตามมาตรฐานที่คาดหวังจาก Neal ผมหวังว่าจะมี Million Dollar Homepage รวมอยู่ด้วย และก็ไม่ผิดหวัง
สงสัยว่ามีใครสังเกตไหมว่าเมื่อไปหน้าถัดไป เสียงจะหยุด แต่ zombo.com เป็นข้อยกเว้นเดียว
วัตถุโบราณที่เกี่ยวข้อง: “Here comes another bubble” - https://youtube.com/watch?v=SvmNDym6CvQ (กระแสบูมของสตาร์ทอัพดอตคอม), BonziBUDDY - https://en.wikipedia.org/wiki/BonziBuddy (ส่วนขยายเบราว์เซอร์เชิงล่าเหยื่อที่ปลอมตัวเป็นเพื่อน), Digg - https://en.wikipedia.org/wiki/Digg (บรรพบุรุษของ reddit), RuneScape - https://en.wikipedia.org/wiki/RuneScape / https://play.runescape.com/, Ultima Online - https://en.wikipedia.org/wiki/Ultima_Online / https://uo.com, Demoscene - https://en.wikipedia.org/wiki/Demoscene, Warez - https://en.wikipedia.org/wiki/List_of_warez_groups
คงยังมีปรากฏการณ์เด่น ๆ ที่ตกหล่นไปอีกมาก เลยอยากรู้ว่าพลาดอะไรไปบ้าง
ในฐานะเว็บไซต์และในฐานะคลังข้อมูล ถือว่ายอดเยี่ยมจริง ๆ และวิธีโหลดที่เลียนแบบอินเทอร์เน็ตยุคเก่าก็น่าประทับใจ แล้วถึงได้รู้ว่าเป็น neal.fun
Neal.fun ทำของแบบนี้ออกมาได้สุดยอดเสมอ
ผมเข้าไปดูหน้า Wikipedia ของบล็อกเกอร์ยุคแรก Justin Hall แล้วลองค้นดูว่าช่วงนี้เขาทำอะไรอยู่ คิดว่าน่าจะอ้างสถิติได้อีกอย่างหนึ่ง: ช่องว่างที่ยาวที่สุดระหว่างการจดโดเมนกับการนำมาใช้เริ่มธุรกิจจริง
“ในเดือนกันยายน 2017 Hall เริ่มทำงานในฐานะผู้ร่วมก่อตั้งและ CTO ของ bud.com ซึ่งเป็น California benefit corporation ด้านการจัดส่งกัญชาเพื่อสันทนาการ โดยอิงจากชื่อโดเมนที่เขาจดไว้ตั้งแต่ปี 1994”
กล่าวคือเขานำชื่อโดเมนส่วนตัวของตัวเองมาใช้ซ้ำเป็นผลิตภัณฑ์ตรง ๆ
https://orkut.com/
https://en.wikipedia.org/wiki/Orkut
ถ้าพูดถึง “You Wouldn't Steal a Car” นอกจากเรื่องน่าขันที่เพลงโฆษณาถูกนำไปใช้โดยไม่ได้รับอนุญาตจากผู้สร้างแล้ว ไลเซนส์ฟอนต์ ก็ไม่ได้จัดการให้ถูกต้องเช่นกัน
ไม่เคยเห็นมีใครพูดถึงมันนอกจากในเชิงล้อเลียนและเยาะเย้ย
เจ๋งมาก ส่วนของ Heaven's Gate ก็น่าสนใจ
ตอนเหตุการณ์นั้นเกิดขึ้นผมยังเด็ก และจำได้ลาง ๆ ว่าเคยเห็นในนิตยสาร Time เป็นภาพตัดขวางของอาคารที่ระบุคนที่นอนอยู่บนเตียงในแต่ละห้อง
แม้อ่าน Wikipedia แล้วก็ยังไม่ค่อยเข้าใจว่าคนที่ในปี 1975 “นอนในเต็นท์และถุงนอน และขอทานตามถนน” กลายมาเป็นคนที่ในปี 1976 “หยุดรับสมัครและเก็บตัว” ได้อย่างไร และพอถึงกลางทศวรรษ 90 ก็ซื้อที่ดิน เช่าบ้านเดือนละ 7,000 ดอลลาร์เป็นเงินสด และดำเนินบริษัทออกแบบเว็บล้ำสมัยได้อย่างไร
แบบนั้นก็อธิบายได้ด้วยว่าทำไมจู่ ๆ ถึงเก็บตัว ผู้นำคงไม่อยากให้คนที่มีเงินสัมผัสกับโลกภายนอก
ผมคิดว่า Digg ถือเป็นบรรพบุรุษโดยตรงของ Reddit ได้เลย ถ้าจำไม่ผิด มันอาจยังได้รับความนิยมมากกว่าจนถึงราวปี 2010 ด้วยซ้ำ
https://www.cnet.com/tech/computing/digg-is-dead-twitter-killed-it-and-google-helped-bury-the-corpse/
แบรนด์อินเทอร์เน็ตยุคแรกหลายรายกำลังรีแบรนด์/รีลอนช์ และรวม ๆ แล้วกำลังถูกแบรนด์ว่าเป็นอินเทอร์เน็ตแห่งความคิดถึง ตัวอย่างเช่น Napster, Limewire, Digg, GeoCities เป็นต้น
ไม่แน่ใจว่ารู้จัก Hacker News จากที่ไหน แต่น่าจะเป็นลิงก์จาก Reddit
ไม่มี AltaVista เหรอ?
https://en.wikipedia.org/wiki/AltaVista
แถม Astalavista ก็สนุกดีเหมือนกัน :) https://en.wikipedia.org/wiki/Astalavista.box.sk
ตอนนั้นดูเหมือนว่าในที่สุดทั้งโลกก็ออนไลน์พร้อมกันผ่าน dial-up PPP ซึ่งต่างจากก่อนหน้านั้นที่ใช้อินเทอร์เน็ตผ่านเกตเวย์ของ BBS หรือการเข้าถึงเชลล์แบบ dial-up ของห้องสมุดท้องถิ่น/ISP
ถ้าตอนนั้นอยู่ในแคมปัสมหาวิทยาลัย ก็คงรู้สึกว่าสถานการณ์ต่างออกไปไม่น้อย