1 คะแนน โดย GN⁺ 2024-08-30 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • One Million Checkboxes (OMCB) เป็นเว็บไซต์ที่ใครก็ได้สามารถเปลี่ยนเช็กบ็อกซ์ 1 ล้านช่องชุดเดียวกันแบบเรียลไทม์ และระหว่างการเปิดให้ใช้งานก็มีการค้นพบรูปแบบ URL ที่ซ่อนอยู่ในฐานข้อมูล จนเผยให้เห็นความร่วมมือที่ไม่คาดคิด
  • หลังเปิดตัวเมื่อวันที่ 26 มิถุนายน 2024 ตลอด 2 สัปดาห์มีผู้ใช้ 500,000 คน สลับสถานะเช็กบ็อกซ์มากกว่า 650 ล้านครั้ง ทำให้การทดลองง่าย ๆ กลายเป็นการละเล่นอินเทอร์เน็ตขนาดใหญ่
  • เนื่องจากโครงสร้างที่เก็บสถานะเช็กบ็อกซ์ด้วย 1 บิต ทำให้เช็กบ็อกซ์ 8 ช่องเท่ากับ 1 ไบต์ และผู้ใช้บางคนก็อาศัยจุดนี้ซ่อนอักขระ ASCII และ URL เป็นข้อความไบนารี
  • URL ที่ซ่อนอยู่เชื่อมไปยังเซิร์ฟเวอร์ Discord ซึ่งผู้เข้าร่วมได้เรนเดอร์เช็กบ็อกซ์ 1 ล้านช่องเป็นภาพ 1000×1000 แล้วทดลองสร้าง QR code, ข้อความ base64, แอนิเมชัน และการแสดงสี
  • บอตอาจทำลายประสบการณ์ของผู้ใช้ทั่วไปได้ แต่กระบวนการที่ผู้เข้าร่วมหลบเลี่ยงข้อจำกัด สำรวจระบบ และทิ้งร่องรอยไว้ ก็ยังคงเป็นตัวอย่างของความร่วมมือเชิงสร้างสรรค์บนอินเทอร์เน็ต

วิธีการทำงานของ One Million Checkboxes

  • One Million Checkboxes (OMCB) เป็นเว็บไซต์ที่เปิดตัวเมื่อวันที่ 26 มิถุนายน 2024 โดยมีเช็กบ็อกซ์แบบ global จำนวน 1 ล้านช่อง
    • เมื่อผู้ใช้เปิดหรือปิดเช็กบ็อกซ์ สถานะเดียวกันนั้นจะสะท้อนไปยังผู้ใช้ทุกคนที่กำลังเข้าเว็บไซต์อยู่ทันที
    • ผู้ดูแลคาดว่าจะมีคนไม่กี่ร้อยคนกดกันคนละไม่กี่พันครั้ง แต่ความจริงคือใน 2 สัปดาห์มีผู้ใช้ 500,000 คนสลับสถานะเช็กบ็อกซ์มากกว่า 650 ล้านครั้ง
  • เว็บไซต์แพร่กระจายกว้างจนไปปรากฏใน New York Times, Washington Post, Know Your Meme และ Wikipedia
  • เทคโนโลยีการสเกลของ OMCB ถูกอธิบายในบทความแยกต่างหาก ส่วนเรื่องนี้โฟกัสไปที่ข้อความลับที่ถูกค้นพบระหว่างการเปิดใช้งาน

ข้อจำกัดที่ทำให้การวาดภาพเป็นเรื่องยาก

  • OMCB ถูกออกแบบให้ วาดภาพอย่างอิสระ ได้ยาก เพราะบนอินเทอร์เน็ตสาธารณะคาดเดาได้ยากว่าผู้ใช้จะวาดอะไร
  • จำนวนเช็กบ็อกซ์ที่แสดงในแต่ละบรรทัดจะเปลี่ยนตามความกว้างหน้าต่างเบราว์เซอร์
    • ต่อให้สร้างคำอย่าง “EXAMPLE” ได้ในความกว้างหนึ่ง แต่ถ้าความกว้างเบราว์เซอร์เปลี่ยน การตัดบรรทัดก็จะเปลี่ยนและข้อความจะหายไป
    • รอยขีดเขียนที่วาดบนโทรศัพท์จะไม่เห็นเป็นรูปทรงเดียวกันบนโน้ตบุ๊ก และจะมองเห็นตรงกันเฉพาะผู้ใช้ที่มีความกว้างการแสดงผลเท่ากันเท่านั้น
  • ข้อจำกัดนี้ทำงานอย่าง แนบเนียน มากจนผู้ใช้จำนวนมากไม่ทันสังเกตว่าข้อความที่ตัวเองเขียนไว้อาจมองไม่เห็นสำหรับคนอื่น
  • มีผู้ใช้จำนวนมากขอให้ “แก้” เพื่อให้วาดภาพได้ แต่พฤติกรรมแบบนี้เป็นการออกแบบโดยตั้งใจ

วิธีที่เช็กบ็อกซ์ถูกเก็บเป็นข้อมูล

  • OMCB แทนสถานะของเช็กบ็อกซ์ 1 ล้านช่องด้วย 1 บิต ต่อช่อง เพื่อให้เก็บและส่งข้อมูลได้อย่างมีประสิทธิภาพ
    • ช่องที่ถูกเช็กจะเก็บเป็น 1 ส่วนช่องที่ไม่ถูกเช็กจะเก็บเป็น 0
    • 1 ล้านบิตเท่ากับ 125,000 ไบต์ หรือ 125KB
  • ข้อมูลถูกเก็บไว้ใน Redis และเมื่อส่งไปยังไคลเอนต์จะใช้ base64 encoding
  • เนื่องจากเช็กบ็อกซ์ 8 ช่องสามารถรวมกันเป็น 8 บิต หรือ 1 ไบต์ได้ จึงกลายเป็นพื้นฐานสำหรับการสร้างข้อความที่ซ่อนอยู่

URL น่าสงสัยที่ถูกพบในฐานข้อมูล

  • ไม่กี่วันหลัง OMCB เปิดตัว แบ็กเอนด์ถูกเขียนใหม่ด้วย Go เพื่อรองรับโหลด และมีการ dump raw bytes ที่เก็บใน Redis ออกมาในรูปแบบ ASCII
  • ใน dump นั้นปรากฏ URL ที่เชื่อมไปยัง catgirls.win ซึ่งตอนแรกถูกมองว่าฐานข้อมูลอาจถูกแฮ็ก
    • มีการตรวจสอบ access logs และโค้ด แต่ไม่พบร่องรอยการบุกรุก
    • เพราะคิดว่าในฐานข้อมูลควรมีแค่ 0 กับ 1 จึงดูเหมือนมีสตริงปะปนอยู่
  • เมื่อตรวจสอบตำแหน่งเช็กบ็อกซ์ที่ตรงกับ URL สาเหตุที่แท้จริงก็เริ่มชัดเจน
    • อักขระ h หนึ่งตัวมีขนาด 1 ไบต์ และ 1 ไบต์มี 8 บิต ซึ่งใน OMCB ก็เท่ากับเช็กบ็อกซ์ 8 ช่อง
    • มีรูปแบบซ้ำเป็นชุดละ 8 ช่องที่สอดคล้องกับ URL และเมื่อเปลี่ยนเช็กบ็อกซ์ไปหนึ่งช่อง รูปแบบเดิมก็จะกลับมาอีกแทบจะทันที
  • ฐานข้อมูลไม่ได้ถูกแฮ็ก แต่มีใครบางคนกำลังใช้การสลับเช็กบ็อกซ์เพื่อเขียน ข้อความไบนารี

ข้อความไบนารีที่อ่านออกมาเป็น ASCII

  • เมื่อ Redis แสดงข้อมูลเป็น ASCII มันจะอ่าน raw data ทีละ 1 ไบต์ หรือ 8 บิต
  • แต่ละไบต์จะถูกแปลงเป็นตัวเลขตั้งแต่ 0 ถึง 255
    • ถ้าค่าอยู่ในช่วงอักขระ ASCII ที่พิมพ์ได้คือ 32~127 ก็จะแสดงเป็นอักขระนั้น
    • ถ้าไม่ใช่ก็จะแสดงเป็นเลขฐานสิบหกอย่าง \x00
  • ผู้ใช้ที่สร้างข้อความนี้เปิดและปิดเช็กบ็อกซ์เพื่อเปลี่ยนบิต แล้วทำให้บิตเหล่านั้นประกอบกันเป็นตัวเลข ตัวอักษร และสุดท้ายเป็น URL
  • รูปแบบนี้ยังคงอยู่ได้แม้อยู่ในสภาพแวดล้อมที่มีผู้ใช้อีกหลายพันคนกำลังเล่นเว็บไซต์พร้อมกัน

ทางลับที่พาไปสู่ Discord

  • URL ที่ซ่อนอยู่ https://catgirls.win/omcb เชื่อมไปยังเซิร์ฟเวอร์ Discord ชื่อ Checking Boxes
    • ตัว Discord เดิมถูกปิดในภายหลัง และ URL ก็เปลี่ยนไปชี้ที่อื่น
  • ผู้เข้าร่วมใน Discord ดาวน์โหลดข้อมูลเช็กบ็อกซ์ทั้งหมดของ OMCB แล้วเรนเดอร์เป็นภาพกริด 1000×1000
    • ช่องที่ไม่ถูกเช็กแสดงเป็นสีขาว ส่วนช่องที่ถูกเช็กแสดงเป็นสีดำ
  • ในภาพนี้มีข้อความอยู่หลายรูปแบบ
    • noise แบบซ้ำ ๆ ด้านล่างคือข้อความไบนารีที่ถูกค้นพบ
    • เหนือขึ้นไปคือข้อความเดียวกันในเวอร์ชัน base64
    • ทางซ้ายมี QR code ที่ใส่การแก้ไขข้อผิดพลาดไว้
    • ทั้งหมดล้วนเป็นข้อความที่ชี้ไปยัง Discord
  • ผู้เข้าร่วมมองว่าคนที่น่าจะสร้างบอตอาจเห็นได้อย่างใดอย่างหนึ่งระหว่างข้อมูล base64, ข้อมูลไบนารี หรือภาพ 1000×1000 จึงใช้หลายเส้นทางพร้อมกัน
  • ขนาดของ Discord ตอนที่เข้าร่วมยังมีไม่ถึง 20 คน และเพิ่มเป็นมากกว่า 60 คนเมื่อเว็บไซต์ปิดตัวลง

บอต ภาพวาด และการทดลองแอนิเมชัน

  • ผู้เข้าร่วมใน Discord ค่อย ๆ สร้างระบบวาดภาพที่ดีขึ้น และ reverse engineer rate limit ของ OMCB จนทำภาพที่ซับซ้อนขึ้นเรื่อย ๆ
    • ผู้ดูแลเคยเสนอว่าจะบอกข้อมูล rate limit ให้ แต่ผู้นำของ Discord เลือกที่จะหาคำตอบเองมากกว่า
  • เมื่อเวลาผ่านไป ก็เริ่มมีการทดลองทั้งแอนิเมชันและโปรโตคอลการแสดงสี
    • ตัวอย่างหนึ่งคือการมองเซลล์ที่อยู่ติดกันเป็นช่องสีแดง เขียว น้ำเงิน เพื่อวาดสีลงบนกริดที่เล็กลง
  • หนึ่งวันก่อนเว็บไซต์ปิด ผู้ดูแลได้ลบ rate limit ทั้งหมดออกหลังจากเตือนล่วงหน้า เพื่อดูว่าระบบจะรับทราฟฟิกได้แค่ไหน และผู้เข้าร่วมจะสร้างอะไรได้บ้าง
  • ช่วงนั้นมีแอนิเมชันหลายชิ้นถูกสร้างขึ้น และหนึ่งในตัวอย่างคือแอนิเมชัน Rickroll

ความสองด้านของบอต

  • มีเสียงไม่พอใจเรื่องบอตใน OMCB มากพอสมควร และมีข้อความวิจารณ์บอตส่งเข้ามาหลายร้อยครั้ง
  • บอตที่ผู้ใช้ทั่วไปคุ้นเคยมักเป็นสิ่งที่ดูเห็นแก่ตัวและไม่ยุติธรรม เช่น บอตซื้อบัตรไปขายต่อ หรือบอตจองร้านอาหาร
  • ใน OMCB เองก็มีบอตที่อาจมองได้ว่าเป็นพฤติกรรมต่อต้านสังคม
    • ผู้ใช้บางคนสร้าง JavaScript บอตขนาดเล็กที่คอยยกเลิกเช็กทุกช่องที่เป็นไปได้ แล้วประกาศเรื่องนี้ออกมา
    • มีผู้ใช้ที่บอกว่าพฤติกรรมแบบนี้ทำลายประสบการณ์ของเว็บไซต์
  • ผู้เข้าร่วมใน Discord ตั้งกติกาบางอย่างเกี่ยวกับตำแหน่งที่ควรใช้บอต และผู้ดูแลก็ขอให้ลดความรุนแรงลงบ้างเป็นบางครั้ง
  • การใช้บอตอาจทำให้ประสบการณ์ของผู้ใช้ทั่วไปแย่ลง แต่ในอีกด้านหนึ่งมันก็เป็นตัวอย่างของการสำรวจระบบภายใต้ข้อจำกัดและสร้างผลงานเชิงสร้างสรรค์ไปพร้อมกัน

ประสบการณ์ที่หลงเหลือเป็นการหยอกเล่นอย่างสร้างสรรค์

  • ผู้ดูแลเล่าว่าสมัยมัธยมเคยสร้างกฎเมลแบบ recursive เพื่อแกล้งเพื่อนด้วยการส่งข้อความหลายล้านฉบับ และเคยทำให้เซิร์ฟเวอร์อีเมลของโรงเรียนล่มโดยไม่ได้ตั้งใจหลายครั้ง
  • ตอนนั้นผู้ใหญ่รอบตัวไม่ได้โกรธมากนัก แค่บอกให้หยุด และยังทำเสื้อยืดให้ด้วย
  • ข้อความลับ เครื่องมือ และภาพวาดที่ผู้เข้าร่วมใน Discord สร้างขึ้นจาก OMCB กลายเป็นผลลัพธ์เชิงสร้างสรรค์ที่เหนือความคาดหมาย
  • ผู้ดูแลมองว่าการได้เห็นและให้กำลังใจสิ่งเหล่านี้แบบเรียลไทม์เป็นประสบการณ์ที่มีความหมาย และรู้สึกภูมิใจทั้งที่ Discord มอง OMCB ว่าเป็นของเล่นที่น่าลอง และกับสิ่งที่พวกเขาสร้างขึ้นมา

1 ความคิดเห็น

 
GN⁺ 2024-08-30
ความคิดเห็นจาก Hacker News
  • ผู้เขียนเองครับ :)
    ในบรรดาเรื่องราวที่ผมเจอระหว่างดูแลไซต์ นี่เป็นเรื่องที่ผมชอบที่สุด และอาจเป็นเรื่องที่ดีที่สุดที่ผมเคยมีส่วนร่วมด้วยก็ได้ ปกติผมไม่ใช่คนร้องไห้ง่าย แต่ตลอด 2 เดือนที่ผ่านมา เวลานึกถึงเรื่องนี้และพยายามเขียนออกมา ผมร้องไห้ไปหลายครั้ง แน่นอนว่าทั้งกระบวนการค้นพบเอง และ กระบวนการที่เปลี่ยนจากความหวาดกลัวเป็นความตื่นเต้น ก็แทบจะบ้าบออยู่เหมือนกัน
    สิ่งที่ผมชอบเป็นพิเศษคือความเชื่อหลักอย่างหนึ่งที่ผมมีตอนสร้างของแบบนี้ได้รับการพิสูจน์แล้วว่าเป็นจริง นั่นคือเราจำเป็นต้องมีข้อจำกัดไว้สำหรับคนไม่ดีส่วนน้อย แต่โดยรวมแล้ว คนที่มาเล่นบนอินเทอร์เน็ตเป็นคนดีและมีความคิดสร้างสรรค์มาก และจะเอาข้อจำกัดเหล่านั้นมาเป็นของเล่นเสียเอง

    • เมื่อไม่นานมานี้ผมเถียงกับเพื่อนอย่างหนัก เพื่อนผมเชื่อมั่นว่าอินเทอร์เน็ตเต็มไปด้วยการโทรลและคอมเมนต์ประสงค์ร้าย และโซเชียลมีเดียจะทำร้ายเด็ก ๆ ส่วนจุดยืนของผมคือ ถ้ามองแค่ที่อย่าง X หรือ Facebook มันอาจดูเหมือนนรกได้ แต่ อินเทอร์เน็ตมีความเป็นไปได้มากกว่านั้นอีกมาก
      บทความนี้เป็นหนึ่งในตัวอย่างที่ดีที่สุดที่แสดงให้เห็นเรื่องนั้น และผมชอบมากที่คุณสร้างไซต์ขึ้นมา เฝ้าดูว่าผู้คนใช้มันอย่างไร แล้วแบ่งปันประสบการณ์นั้น อ่านแล้วมีความสุขมาก และตั้งใจจะแชร์ต่อเยอะ ๆ
    • ในบรรดาบทความเกี่ยวกับอินเทอร์เน็ตที่ได้อ่านหลังจากไม่ได้อ่านมานาน ความรู้สึกของการเล่น และเรื่องราวนี้เป็นสิ่งที่ผมชอบที่สุด
      ตอนนี้ผมอยู่ในสภาพหมดไฟอย่างชัดเจน เลยเริ่มคิดว่าควรสร้างอะไรสักอย่างที่เบา ๆ และดูไร้ประโยชน์ขึ้นมา นึกถึงเรื่องของ Richard Feynman ที่ซึมเศร้าอยู่ราว 10 ปีก่อนและหลังสงคราม แล้วกลับมาพบความสุขอีกครั้งจากฟิสิกส์ของจานที่หมุนตอนมื้อกลางวัน และสามารถวางงานก่อนหน้านั้นลงชั่วคราวได้
    • บทความนี้น่ารักและอบอุ่นมาก อยากให้อินเทอร์เน็ตถูกใช้งานแบบนี้บ่อยขึ้น
    • ทั้งบทความและวิดีโอเล่าเรื่องได้ยอดเยี่ยมมาก ดีใจที่ได้เฉลิมฉลองให้กับคนที่ทำอะไรบางอย่างสำเร็จในแบบที่ทำให้พวกเราได้เรียนรู้อะไรมากมาย
    • ทั้งบทความนี้ บทความเรื่องการสเกล และงานโดยรวมยอดเยี่ยมมากและให้แรงบันดาลใจอย่างมาก
      ผมเห็นด้วยเต็มที่กับคำพูดที่ว่าคนส่วนใหญ่เป็นคนดีและมีความคิดสร้างสรรค์ ผมทำโคลนของ OMCB ขึ้นมา เพราะถูกไอเดียนี้ครอบงำจนต้องเอาขึ้นออนไลน์ และวันถัดมาก็มีคนไม่ดีอยู่บ้าง แต่ก็มีใครบางคนวาด The Great Wave ของ Hokusai ขนาดยักษ์ลงไป เวอร์ชันของผมใช้แคนวาสเลื่อนขนาดใหญ่ที่มีความกว้าง/สูงคงที่ เลยเห็นได้ทันที และความรู้สึกตอนเห็นมันดีและสนุกมากจริง ๆ
  • อ่านบทความนี้แล้วน้ำตาซึมนิดหน่อย ตอนมัธยมต้นผมเรียนวิศวกรรมซอฟต์แวร์ เพราะอยากสร้างโปรแกรมทำการบ้านให้ เนื่องจากผมไม่เก่งคณิตศาสตร์ หลังจากนั้นก็ทำอะไรหลายอย่างต่อมาเรื่อย ๆ แค่เพราะมันสนุก เช่น LAN chat, HTTP server, antivirus
    มันสนุก ท้าทาย คุ้มค่า และน่าทึ่ง แต่พอเริ่มทำงาน ใจผมก็เริ่มด้านชาเพราะเทคโนโลยีใหม่ ๆ ที่ถาโถมมาไม่รู้จบ การถกเถียงแบบ “X เป็นอันตราย”, “J ดีกว่า K” และการถูกสิ่งใหม่ ๆ โจมตีไม่หยุด
    ความสุขของงานวิศวกรรมไม่รู้สึกเหมือนท้องฟ้าสีครามอีกต่อไป มันอาจยังเป็นสีครามอยู่ก็ได้ แต่สำหรับ ดวงตาที่ถูกชะล้างด้วยเงิน ทุกสิ่งดูเป็นสีเทา
    การได้อ่านเรื่องนี้ทำให้ความรู้สึกตอนเด็ก ๆ ที่เริ่มเรียนซอฟต์แวร์กลับมาอีกครั้ง มันยังสนุกได้ และผมยังสร้างอะไรบางอย่างเพื่อตัวเองได้ ไม่ใช่เพื่อ exit หรือ SaaS ใหม่แวววาวอะไรสักอย่าง มันให้ แสงแห่งความหวัง ว่ายังสนุกได้อยู่

    • สำนวน “สำหรับดวงตาที่ถูกชะล้างด้วยเงิน ทุกสิ่งดูเป็นสีเทา” งดงามมาก ดีใจที่คุณรู้สึกมีความหวังว่าจะฟื้นความรู้สึกแบบนั้นกลับมาได้
      คุณอาจรู้อยู่แล้ว แต่นี่คือ อาการหมดไฟ และคนที่รู้สึกคล้ายกันควรจริงจังกับมัน ก่อนหน้านี้ผมเคยช่วยคนคนหนึ่งในที่ทำงานที่กำลังเรียน Python และเขาดีใจมากตอนเข้าใจรูปแบบไฟล์ไบนารี ตอนนั้นผมถึงตระหนักว่าผมไม่ได้รู้สึกแบบนั้นมาหลายปีแล้ว และไม่นานหลังจากนั้นก็รู้ว่าผมเหนื่อยเกินกว่าจะทำงานตำแหน่งนั้นต่อไป และต้องใช้เวลาดูแลสุขภาพจิตของตัวเอง
    • ผมเองก็เคยสูญเสียความสุขในการเขียนโค้ดไปช่วงหนึ่ง แต่ก็หามันกลับมาได้
      หัวใจสำคัญคือ ถ้าไม่จำเป็นจริง ๆ ก็เมินการ เรียนรู้เทคโนโลยีใหม่ แล้วโฟกัสแค่การสร้างของใหม่ สำหรับผม สิ่งที่เริ่มทำให้นึกขึ้นได้อีกครั้งว่า coding สวยงามได้แค่ไหน น่าจะเป็นวิดีโอของ Sebastian Lague
      [https://youtu.be/X-iSQQgOd1A?si=aqriiWmcqqphOiuI]
    • ผมก็เป็นเหมือนกัน นึกถึง “Calling All Hackers” [1] จาก Phrack ฉบับล่าสุด และเกิดความหวังว่า จิตวิญญาณแฮกเกอร์ จะยังคงอยู่ในคนรุ่นใหม่ต่อไป ถ้าเราไม่พยายามกดมันไว้ แต่ช่วยส่งเสริมมัน
      มันทำให้นึกถึงช่วงวัยรุ่นที่เขียนโค้ดไม่ใช่เพราะจำเป็น แต่เพราะอยากเขียน ผมใช้ทักษะนั้นไปกับเรื่องดี ๆ ด้วย แต่ก็ใช้ไปกับเรื่องโง่ ๆ อย่างการแฮก “คู่แข่ง” ด้วย ซึ่งตอนนี้รู้สึกละอายใจ ถึงอย่างนั้นโดยรวมแล้วประสบการณ์นั้นก็หล่อหลอมให้ผมเป็นผมในวันนี้ และผมดีใจที่คนรุ่นถัดไปยังคงพบความสุขจากการ coding อยู่
      [1] https://news.ycombinator.com/item?id=41306128
    • “สำหรับดวงตาที่ถูกชะล้างด้วยเงิน ทุกสิ่งดูเป็นสีเทา” เป็นประโยคที่ยอดเยี่ยมจริง ๆ สงสัยว่าเป็นสำนวนอยู่แล้วหรือคุณคิดขึ้นเอง
    • บางครั้งการถอยออกมาหนึ่งก้าวแล้วทำอะไรสุ่ม ๆ ก็เป็นเรื่องดี ลองทำ Advent of Code แบบไม่แข่งขัน ไม่ต้องสนใจ best practices อะไรทั้งนั้น ใช้ภาษาอะไรก็ได้ แค่ทำให้มันรันได้ก็พอ
      จะหยิบ pico-8 มาทำเกมหรือสคริปต์ห่วย ๆ ก็ได้ แบบไม่มีทั้งพื้นที่และแรงจูงใจพอจะตั้งชื่อตัวแปรยาว ๆ อย่าง longDescriptiveVariableNames เลยใช้ชื่อตัวแปรสองตัวอักษรแทน เล่นเกมอย่าง TIS-100 หรือ Shenzen I/O ก็ได้ และจะยิ่งดีถ้าพิมพ์คู่มือออกมา ใส่แฟ้มเก่าที่สุดที่มี แล้วทำกาแฟหกใส่ด้วย
  • ส่วนนี้สำคัญมากจริง ๆ:
    “ผู้ใหญ่ในชีวิตผมส่วนใหญ่ไม่ได้โกรธผม พวกเขาบอกให้เลิกทำ แต่ก็ยังทำเสื้อยืดให้ด้วย ถ้าไม่ได้รับกำลังใจแบบนั้นในตอนนั้น ผมคงไม่ได้ทำงานที่ทำอยู่ตอนนี้”
    วัยรุ่นต้องการ พื้นที่ที่สามารถเล่นซนได้พอประมาณ พื้นที่ที่มีผลลัพธ์ทางสังคมจริงอยู่บ้าง แต่ก็มีขอบเขตและความช่วยเหลือเพื่อไม่ให้เลยเถิดเกินไป และพวกเขายังต้องการผู้ใหญ่ที่มีความสามารถเจ๋ง ๆ ในสิ่งที่เด็ก ๆ อยากเรียนรู้ มากกว่าผู้ใหญ่ที่วางตัวเป็นผู้มีอำนาจ

    • ตอนอยู่มัธยมปลายในปี 1999 เคยเล่นแผลง ๆ แบบโง่ ๆ แต่ไม่เป็นอันตรายกับคอมพิวเตอร์ของโรงเรียน
      ผมทำสไลด์นำเสนอสองหน้า ทั้งสองหน้าเป็นพื้นหลังสีดำ ตัวอักษรสีเทา เลียนแบบเซสชัน DOS ที่ดูเหมือน Windows ถูกลบไปแล้ว และหน้าหนึ่งมีขีดล่างตรงพรอมป์ต์ ตั้งให้สลับอัตโนมัติทุก 1 วินาทีและเล่นวน ก็เลยดูเหมือนเคอร์เซอร์กะพริบ มันดูเหมือนคอมพิวเตอร์เสีย แต่แค่กด Escape ก็ออกได้ แน่นอนว่าคอมพิวเตอร์พวกนั้นเป็น Mac จึงไม่มีทั้ง DOS หรือ Windows อยู่แล้ว
      ครูเห็นเข้าแล้วคิดว่าผมแฮ็กหรือทำคอมพิวเตอร์พัง จึงส่งตัวไปหาครูใหญ่ ครูใหญ่ไม่ได้มองว่าเป็นเรื่องตลก และลงโทษให้ผมใช้ช่วงครึ่งหลังของพักกลางวันตลอด 2 สัปดาห์ถัดไปอยู่กับเจ้าหน้าที่ IT ของโรงเรียนเพื่อดูความเสียหายต่อทรัพย์สินที่เขาต้องเจอ แต่ทันทีที่เจ้าหน้าที่ IT เห็นว่าผมทำอะไร เขาก็หัวเราะหนักมาก และคิดว่าการปฏิบัติกับมันราวกับผมทำคอมพิวเตอร์พังนั้นไร้เหตุผล หลังจากนั้น แม้การลงโทษจะจบแล้ว ผมก็ยังไปที่ออฟฟิศของเขาบ่อย ๆ เพื่อคุย หรือเดินไปด้วยกันเพื่อซ่อมคอมพิวเตอร์
    • ตอนมัธยมปลายเคยมีเรื่องคล้ายกัน ผมทำ ไวรัสเวอร์ชันดัดแปลง ที่ทำให้คอมพิวเตอร์หลายเครื่องติดและก่อปัญหา จึงถูกห้ามเข้าห้องปฏิบัติการจนถึงปีถัดไป ตอนนั้นเป็นปลายเดือนกันยายน เลยไม่ได้เป็นเรื่องใหญ่ขนาดนั้น
      ปีถัดมา ผมถามครูว่าขอเข้าถึง PC ได้ไหม เพราะมีบางอย่างอยากลองเล่น เขาให้สิทธิ์ใช้ห้องเรียนบัญชีหลังเลิกเรียน ให้พื้นที่เก็บข้อมูลเพิ่มบนไดรฟ์เครือข่าย และให้อิสระเกือบเต็มที่ภายใต้เงื่อนไขว่าจะไม่ทำอะไรพัง ดังนั้นผมจึงไม่ทำอะไรพัง และปล่อยให้ Tierra ทำงานบนเครื่องหลายเครื่องข้ามคืน ดูมันทำงานอย่างยอดเยี่ยม แล้วตอนเช้าก็เข้ามาบันทึกและรีบูต สิ่งนั้นกลายเป็นรากฐานสำคัญในอนาคต ผมไม่อยากฆ่าห่านที่ออกไข่ทองคำ จึงไม่ทำลายมัน
    • ที่โรงเรียนมัธยมปลายของเรา มีคลาสเขียนโปรแกรมเบื้องต้นที่สอน VB6 ในห้องคอมพิวเตอร์ และมีความเป็นอิสระสูงมาก จึงมีพื้นที่ให้ลองทำอะไรได้เต็มที่
      PC ในห้องปฏิบัติการช้ามาก และมีแกล้งกันดัง ๆ ว่าถ้ากด Win+E ค้างไว้ จะมีหน้าต่าง Explorer หลายร้อยหน้าต่างเด้งขึ้นมาจน PC ค้าง ผมเลยทำโปรแกรม VB6 เล็ก ๆ ชื่อ “DoraTheExplorer.exe” ที่เมื่อคลิกแล้วจะทำสิ่งเดียวกัน แล้วอัปโหลดไปไว้ในไดรฟ์แชร์ของโรงเรียน
      ตอนแรกก็ได้ผล แต่คนเริ่มหลบได้ด้วยการกด Alt+F4 ปิดอย่างรวดเร็ว ผมจึงทำให้มันรันตัวเองใหม่เมื่อถูกปิด แต่นั่นก็ยังถูกหยุดได้ด้วยการรัว Alt+F4 สุดท้ายผมทำ ไฮดรา ที่ทุกครั้งที่ปิดจะเปิดเพิ่มอีกสองตัว และมันก็กลายเป็น ICBM แห่งสงครามแกล้งด้วย Explorer จนต้องประกาศยอมแพ้
      ผู้ดูแลระบบรู้ตั้งแต่แรกแล้ว แต่โดยรวมค่อนข้างสบาย ๆ เขาบอกชัดเจนว่าถ้ามีใครสูญเสียงานหรือเกิดความเสียหาย ก็ต้องรับผิดชอบ แต่ทุกคนรู้ว่า dora.exe ทำอะไร จึงไม่เกิดเรื่องแบบนั้น คนตั้งใจกดมันเองเพื่อทำให้ PC ล่มแบบโง่ ๆ แล้วดูว่าจะหนีทันไหม
    • ผมเองก็ทำเกือบเหมือนกันที่โรงเรียน ใช้สคริปต์ VB6 เขียนไฟล์ข้อความลงในที่เก็บข้อมูลบนเครือข่ายแบบไม่สิ้นสุดจนทำให้ระบบล่ม แล้วโรงเรียนส่งจดหมายไปหาแม่ของผม กล่าวหาผมว่าเป็น การก่อการร้าย
      ตอนนั้นผมก็คิดว่ามันไร้เหตุผลและไม่ยุติธรรม โชคดีที่แม่ก็เห็นด้วย ตอนนี้เมื่อมองย้อนกลับไปด้วยสายตาผู้ใหญ่ ผมรู้สึกว่านั่นเป็นท่าทีต่อการเลี้ยงดูเด็กที่ไร้ความรับผิดชอบแทบจะถึงขั้นเป็นอาชญากรรม มันคับแคบและน่าสมเพชอย่างเหลือเยียวยาจริง ๆ และพอคิดว่ายังมีเด็ก ๆ ที่เติบโตในสภาพแวดล้อมแบบนั้น และเรียนรู้จากคนแบบนั้นอยู่ ผมก็โกรธขึ้นมา
    • วิธีแบบนี้ช่างอ่อนโยนจริง ๆ ผมคิดว่าผมน่าจะตอบสนองต่อมันได้ดีกว่าสิ่งที่ผมได้รับตอนโตมามาก
  • “โดยเฉพาะสำหรับคนที่ไม่ได้เขียนโปรแกรม วิธีทั่วไปที่พวกเขาเจอบอตก็มักเป็นพวกบอตกว้านซื้อตั๋วหรือบอตจองร้านอาหาร เป็นบอตที่ให้ความรู้สึกเห็นแก่ตัว ไม่ยุติธรรม และต่อต้านสังคม”
    พอเห็นส่วนนี้ก็ทำให้นึกถึงตอนที่สกีรีสอร์ต Palisades Tahoe เมื่อฤดูหนาวที่แล้วเริ่มใช้ระบบ จองที่จอดรถ สำหรับวันหยุดสุดสัปดาห์ ซึ่งฟรีแต่มีจำนวนจำกัด ที่นั่นเป็นหนึ่งในจุดหมายปลายทางเล่นสกีที่ได้รับความนิยมที่สุดจาก Bay Area จึงแน่นอนว่ามีคนสร้างบอตขึ้นมา ทุกครั้งที่มีที่ว่างใหม่เปิดออกมา ก็หายไปภายในไม่กี่วินาที เห็นได้ชัดว่าเป็นบอต ดังนั้นผมเองก็เลยจำใจสร้างขึ้นมาหนึ่งตัว
    บอตของผมแค่แจ้งเตือนผ่าน Pushover เมื่อมีที่ว่างจากการยกเลิก ไม่ได้จองเองโดยตรง แต่สำหรับผมกับเพื่อนร่วมทริปก็เพียงพอแล้ว บน Reddit คนที่ไม่ได้สร้างบอตบอกว่าบอตดูดที่ไปหมด และผมเองก็รู้สึกว่ามันค่อนข้างต่อต้านสังคมเหมือนกัน แต่จริง ๆ แล้วไม่มีทางเลือก

    • สิ่งที่น่าเสียดายคือวิธีแก้นั้นเรียบง่ายมาก แค่เปิดให้ลงทะเบียนแสดงความสนใจเป็นระยะเวลานานพอ เพื่อให้ทุกคนสมัครได้อย่างไม่เร่งรีบ แล้วเมื่อหมดช่วงเวลานั้นก็ใช้การ จับสลาก ผู้ที่ได้รับเลือกอาจได้รับอีเมลพร้อม magic link เพื่อให้มีโอกาสซื้อ และถ้าไม่ตอบกลับก็สุ่มคนอื่นแทน
      ไม่อย่างนั้นแทนที่จะมอบทรัพยากรให้คนที่ยอมจ่ายมากที่สุด มันจะกลายเป็น “การประมูล” ที่มอบให้คนที่เขียนโปรแกรมเก่งที่สุด แล้วคนเหล่านั้นก็สามารถเอาไปขายต่อให้คนที่ยอมจ่ายมากที่สุดได้อีก การเขียนโปรแกรมเป็นทักษะเฉพาะทาง และในบริบทที่ตั้งแต่แรกก็ไม่ยอมรับการให้ของกับคนที่จ่ายเงินมากที่สุดอยู่แล้ว แบบนี้ค่อนข้างไม่ยุติธรรม เท่าที่รู้ บางส่วนของวงการรองเท้าสนีกเกอร์/แฟชั่นใช้วิธีแบบนี้อยู่
    • ช่วงโควิด ผมจำใจต้องสร้าง บอตจอง เพื่อจองเลนว่ายน้ำที่สระในพื้นที่ ที่ว่างจะเปิดตอนเที่ยงคืนล่วงหน้าสองวัน แต่คนที่อยากว่ายน้ำอย่างสม่ำเสมอตอน 7 โมงเช้ามักไม่ใช่คนที่มีนิสัยตื่นอยู่จนถึงเที่ยงคืน พอตื่นตอน 6 โมงเช้าก็มักถูกจองเต็มหมดแล้ว ผมเลยสร้างบอตขึ้นมา และมันทั้งสนุกและได้ผลอย่างน่าประหลาด
    • ผมใช้บอตจองที่พักกระท่อมบนภูเขาตามเส้นทางเดินเขายอดนิยมในประเทศเรา ทุกปีการจองออนไลน์จะเปิดตามเวลาที่กำหนด และไม่กี่วินาทีถัดมาก็หายหมด วิธีเดียวที่เชื่อถือได้ว่าจะได้สักที่คือ ใช้บอต
      ที่น่าสนใจคือทุกปีจะมีข่าวออกมาว่ามีการใช้บอตในการจองกระท่อมเหล่านี้หรือไม่ และผู้ให้บริการก็ปฏิเสธอย่างหนักแน่น แต่ผมรู้ว่าบอตของผมกำลังแข่งกับบอตอื่นอีกจำนวนมาก
    • ระบบจองบริการภาครัฐในบางพื้นที่ของยุโรปใต้ก็เจอเรื่องเดียวกัน กลุ่มที่จัดตั้งกันเป็นขบวนการผูกขาดระบบไว้ แล้วขายช่วงเวลานัดหมายต่อ
      เป็นความลับที่ใคร ๆ ก็รู้กันว่า คุณมีทางเลือกว่าจะสู้กับบอตเพื่อให้ได้คิวในอีก 6–12 สัปดาห์ หรือจ่าย 50 ยูโร ให้คนที่ถูกต้องแล้วได้คิวภายในไม่กี่วัน
    • ฤดูร้อนแรกของโควิด ผมต้องทำเรื่องคล้ายกันเพื่อเอาเรือของผมลง Lake Tahoe Lake Tahoe และทะเลสาบส่วนใหญ่ในแคลิฟอร์เนียกำหนดให้ตรวจเรือก่อนลงน้ำ โดยหลัก ๆ เพื่อป้องกัน การปนเปื้อนจาก Quagga ช่วงโควิดต้องจองการตรวจนั้นทางออนไลน์ และเหมือนกับการจองที่จอดรถ อุปสงค์กับอุปทานพอ ๆ กัน ผมเลยสร้างบอตที่แจ้งผ่าน Pushover เมื่อมีที่ว่าง
      หลังจองได้แล้ว ผมต้องลากเรือไป 9 ชั่วโมง และตลอดทางก็ได้แต่ภาวนาอย่าให้มีน้ำเหลืออยู่ในเรือแม้แต่หยดเดียว เพราะเจ้าหน้าที่ตรวจส่วนใหญ่ถ้าเห็นน้ำก็จะให้ไม่ผ่านแล้วส่งกลับทันที โชคดีที่ทีมตรวจหน้างานยอดเยี่ยมมาก และล้างเรือทั้งลำด้วยน้ำร้อน ซึ่งว่ากันว่าจะฆ่าลูกหอยหรือไข่อะไรทำนองนั้นของหอยแมลงภู่ Quagga ได้
  • ผมชอบบทความนี้มาก และมันทำให้นึกถึงสมัยเรียน Java ตอนมัธยม ผมเคยทำแอปที่ปิดทั้งหน้าจอด้วยตารางปุ่ม “x” แต่มีแค่ปุ่มเดียวเท่านั้นที่ปิดหน้าต่างจริง ๆ ถ้ามีใครลุกไปโดยไม่ล็อกคอมพิวเตอร์ เราก็จะใส่ฟลอปปีดิสก์ รันโปรแกรม แล้วเดินจากไป
    เจ้าหน้าที่ IT ของโรงเรียนมักถามเสมอว่าเรากำลังทำอะไรกัน และเราก็ตอบไปตรง ๆ เขาไม่ได้โมโหที่เราค้นพบวิธีรันเกมอย่าง Halo CE หรือ Starcraft บนเครือข่าย แต่ถ้าเราทำตัวเกินไป เขาก็จะบอกให้หยุด

    • เพื่อนผมจำ CD key ของ StarCraft ได้ขึ้นใจ เพื่อให้ติดตั้งใหม่ได้อย่างรวดเร็ว เป็นช่วงเวลาที่ดีจริง ๆ
      เรามี file share บนเครือข่าย เลยไม่ต้องใช้ฟลอปปี และมันง่ายมากที่จะไปยุ่งกับคอมพิวเตอร์ของทุกคน ผมเคยทำสคริปต์ที่อ่านชื่อหน้าต่างที่เปิดอยู่ แล้วปิดเว็บเกมยอดนิยมในตอนนั้นอย่าง free games.com เพราะไม่ควรเล่นเกมระหว่างเรียน แต่เพราะชื่อไฟล์ที่บันทึกไว้ มันไปปิดโปรแกรมทำโมเดล 3D บางตัวเข้า อันนั้นก็รู้สึกผิดนิดหน่อย
    • คอมพิวเตอร์สาธารณะในโรงเรียนของเราตามทฤษฎีแล้วถูกล็อกไว้ ถ้าต้องการสิทธิ์เข้าอินเทอร์เน็ตต้องได้รับอนุญาตจากเจ้าหน้าที่ IT ไม่อย่างนั้นก็ใช้ได้แค่ Word อะไรทำนองนั้น
      ผมหาวิธีเลี่ยงได้ คือเปิด Notepad แล้วไปที่กล่องโต้ตอบ Open File จากนั้นจำขั้นตอนถัดไปได้ไม่ชัด แต่ File Explorer จะเปิดขึ้นมา และถ้าใส่ URL ในแถบที่อยู่ มันก็จะกลายเป็น Internet Explorer แน่นอนว่าผมมี Linux ที่บูตจาก CD ได้ด้วย แต่นั่นสะดุดตาเกินไป
    • ผมค้นพบว่า Quake 2 รันได้โดยไม่ต้องมีสิทธิ์ผู้ดูแลระบบ เลยติดตั้งไว้ในคอมพิวเตอร์หลายเครื่องของโรงเรียน หลายคนติดกันงอมแงม แต่สุดท้ายก็โดนลงโทษหนัก ทั้งถูกพักการเรียนและเรียกผู้ปกครอง ด้วยเหตุผลว่า “ทำให้อินเทอร์เน็ตพัง”
      เจ้าหน้าที่ IT อ้างว่าเกมบนเครือข่ายกินแบนด์วิดท์ทั้งหมด และผม “แฮ็ก” คอมพิวเตอร์เพื่อได้สิทธิ์ผู้ดูแลระบบสำหรับการติดตั้ง รู้สึกเหมือนทุกคอมเมนต์จำนวนมากในเธรดนี้ต่างก็มีเรื่องของผมอยู่หนึ่งเรื่อง
  • ทำให้นึกถึงเรื่องในบทความของ New Yorker เกี่ยวกับ Reddit โดยเฉพาะส่วนที่อธิบาย r/Place:
    ในวัน April Fools’ Day ปีที่แล้ว แทนที่จะประกาศอะไรแบบล้อเลียน Reddit ได้เปิดตัวการทดลองทางสังคมของจริง ชื่อว่า r/Place เป็นสี่เหลี่ยมว่างขนาดหนึ่งพันพิกเซลคูณหนึ่งพันพิกเซล ตอนแรกพิกเซลทั้งหมดหนึ่งล้านพิกเซลเป็นสีขาว เมื่อการทดลองเริ่มขึ้น ใครก็ตามสามารถเปลี่ยนพิกเซลเพียงหนึ่งจุด ณ ตำแหน่งใดก็ได้บนตาราง ให้เป็นหนึ่งใน 16 สี ข้อจำกัดเดียวคือความเร็ว อัลกอริทึมกำหนดให้ผู้ใช้ Reddit แต่ละคนเปลี่ยนได้เพียงหนึ่งพิกเซลทุก ๆ 5 นาที “แบบนั้นคนคนเดียวจะยึดครองไม่ได้ เพราะมันช้าเกินไป” Josh Wardle ผู้จัดการผลิตภัณฑ์ของ Reddit ที่ดูแล Place อธิบาย “ถ้าจะทำอะไรให้ใหญ่ขึ้นมาได้ ก็ต้องร่วมมือกัน”
    https://www.newyorker.com/magazine/2018/03/19/reddit-and-the...

    • ตรงข้ามกับคำพูดที่ว่า “แบบนั้นคนคนเดียวจะยึดครองไม่ได้” ผู้ดูแลระบบ/ผู้ดูแลชุมชนของ Reddit กลับ เลี่ยงข้อจำกัดด้านเวลา และใช้ในทางที่ผิดด้วยการแต้มพิกเซลใน Place ได้มากเท่าที่ต้องการ
  • ผมก็เคยเป็นหนึ่งในคนที่เกลียดบอตเหมือนกัน บทความนี้เป็นสิ่งที่จำเป็น ผมเองก็เคยมีปัญหาเพราะสร้างโปรแกรมที่ไม่ควรสร้างที่โรงเรียน
    ถึงอย่างนั้น ผมก็จะขอบคุณครูคณิตศาสตร์ของผมไปตลอดชีวิต ที่ยอมให้ใช้โปรแกรมบน เครื่องคิดเลข TI-83+ ได้ โดยมีเงื่อนไขว่าต้องเป็นโปรแกรมที่ผมเขียนเอง และห้ามแชร์ให้คนอื่น

  • สมัยก่อนตอนดูแลฟอรัม vBulletin ผมเคยติดตั้งระบบอาร์เคดไว้ มันเป็นฟีเจอร์สนุก ๆ ที่ให้เล่นเกมแล้วหาเงินตราไร้สาระชื่อ “XMB Bucks” เอาไว้อวดกัน
    หลายเดือนต่อมา ผมพบว่าอาร์เคดนั้นมีฟีเจอร์ ซับฟอรัมที่ซ่อนอยู่ และมีคนจำนวนไม่น้อยใช้งานกันอย่างคึกคัก ดูเหมือนพวกเขาจะเลี่ยงหน้าลงทะเบียนของ vBulletin แล้วสมัครเข้าใช้ฟีเจอร์อาร์เคดลับนี้โดยตรง จากนั้นก็คุยกันเองอย่างขยันขันแข็ง ราวกับฝูงหนูที่อาศัยอยู่ใต้พื้นไม้

  • ตอนผมเข้ามหาวิทยาลัย WWW ยังเป็นของใหม่มาก ผมเรียนรู้ได้อย่างรวดเร็วว่าจะเปิดดูหน้าเว็บด้วย NCSA Mosaic ในห้อง CIP ได้อย่างไร แต่ไม่รู้เลยว่ามันทำงานอย่างไร ถึงอย่างนั้นก็อยากหาคำตอบให้ได้
    ผมอ่านเจอจากที่ไหนสักแห่งว่าถ้าอยากทำหน้าเว็บของตัวเองต้องมี “patchy server” เลยค้นหา Apache บน Altavista หลังจากแปลกใจอยู่ครู่หนึ่งที่ผลลัพธ์แรกไม่ได้เกี่ยวกับชนเผ่า ผมก็ค่อย ๆ ทำตามทุกคำสั่งอย่างระมัดระวัง ทั้งที่ไม่รู้ด้วยซ้ำว่ากำลังทำอะไรอยู่
    ผ่านไปพักใหญ่ ผมเห็นหน้าทดสอบใน Mosaic แล้วก็กลับบ้านอย่างดีใจ ตอนนั้นดึกและเหนื่อยแล้ว แต่ก็ยังลังเลว่าควรเปิดคอมพิวเตอร์ ต่อสายโทรศัพท์เข้าอินเทอร์เน็ต แล้วตรวจดูจากบ้านว่าหน้าเว็บของผมมองเห็นได้ไหม ผมยังไม่เข้าใจหลายอย่าง แต่คิดว่าถ้ามันเห็นได้จากบ้าน ก็แปลว่าคนทั้งโลกก็น่าจะเห็นได้
    ความคิดนั้นติดอยู่ในหัวไม่ยอมไปไหน สุดท้ายเลยลองทำดู และน่าทึ่งที่มันใช้ได้จริง[1] สำหรับคนที่โตมาในชนบทที่ไม่มีแม้แต่ห้องสมุด เหตุการณ์นั้นเป็นประสบการณ์ที่สั่นสะเทือนโลกทั้งใบ
    ประมาณ 2 สัปดาห์ต่อมา ผมได้รับแจ้งจากมหาวิทยาลัยว่าไม่ควรเปิดบริการบนทรัพยากรของมหาวิทยาลัยโดยไม่ได้รับอนุญาต จึงต้องปิดลง แต่นอกเหนือจากนั้นก็ไม่มีอะไรเกิดขึ้น และผมดีใจมากที่พวกเขาจัดการอย่างสมเหตุสมผล
    [1] ตอนนั้นคอมพิวเตอร์ของเรามี IP สาธารณะ และไฟร์วอลล์ยังมาไม่ถึง

    • แม้จะออกนอกประเด็นหลักไปนิด แต่ก็น่าสนุกที่นึกได้ว่า NAT ไม่ได้มีอยู่มาตลอด และเครือข่ายจำนวนมากเคยมีโครงสร้างที่พีซีมีที่อยู่อินเทอร์เน็ตสาธารณะโดยไม่มีไฟร์วอลล์ ตอนนั้น NetBIOS ก็ทำงานอยู่บนอินเทอร์เน็ตตรง ๆ แค่พิมพ์ \\x.x.x.x\c$ ก็มีโอกาสสูงทีเดียวที่จะเชื่อมต่อเข้าไปได้เลย
  • เป็นเรื่องเล่าที่ยอดเยี่ยม ช่วยเติมรสชาติให้มื้อเช้าอย่างเพลิดเพลิน นักพัฒนาวัยเยาว์นั้นเป็นอิสระจากเครื่องมือและกระบวนการสมัยใหม่ของโลกมืออาชีพ รวมถึงสิ่งต่าง ๆ ที่ไม่ได้ดีเสมอไป
    ผมกำลังสร้างแพลตฟอร์มคล้ายทางเลือกโอเพนซอร์สของ Roblox อยู่ และเด็ก ๆ ประเภทนี้ก็ถูกดึงดูดเข้ามา พวกเขาสร้างสรรค์มาก คอยแจ้งบั๊กและการแฮ็กที่อาจเป็นอันตรายให้รู้ และพยายามช่วยเหลืออยู่เสมอ

    • เป็นเรื่องที่ผมชอบที่สุดเรื่องหนึ่งที่ได้อ่านบน HN ในรอบนาน