- Varun เริ่มทำเว็บช่วงล็อกดาวน์ปี 2020 จาก Replit และพีซีส่วนตัว ก่อนสร้าง โฮมแล็บ เพื่อรันบริการและโปรเจกต์ทดลองเองที่บ้าน
- เมื่อบริการที่มีผู้ใช้จริงเพิ่มขึ้น เช่น Quickz เกมควิซแบบเรียลไทม์สำหรับโรงเรียน, แพลตฟอร์มโซเชียลมีเดียที่สร้างเอง และเครื่องมือสำหรับชุมชน Scratch ประสบการณ์ด้าน การดูแลระบบ self-hosting ก็เติบโตตามไปด้วย
- เซิร์ฟเวอร์เครื่องแรกที่เริ่มด้วย Windows 10 Pro เจอปัญหาอัปเดตและ downtime ก่อนย้ายไป Ubuntu Server ในเดือนพฤศจิกายน 2020 และเปลี่ยนมาใช้งานบน Linux, nginx และ Docker
- หลังข้อจำกัดด้านพื้นที่เก็บข้อมูลและประสิทธิภาพของ Dell OptiPlex เริ่มชัดเจน เขาซื้อ Dell PowerEdge R720XD มือสองในเดือนพฤษภาคม 2022 แล้วขยายเป็นโครงสร้าง Proxmox และ Ubuntu Server VM
- Dock’n’Roll ที่เขาสร้างเองจำลอง flow การ deploy อย่างรวดเร็วแบบ Replit บนฮาร์ดแวร์และโดเมนของตัวเอง แต่โฮมแล็บก็ยังมาพร้อมข้อจำกัดจริงอย่างเสียงดัง ค่าไฟ และการย้ายบ้าน พอ ๆ กับอิสระและการเรียนรู้
โฮมแล็บในห้องนอนและบริการที่กำลังรันอยู่
- Varun รันเซิร์ฟเวอร์สองเครื่องที่บ้าน
- Dell OptiPlex บนพื้น
- Dell PowerEdge R720XD บนโต๊ะกาแฟ IKEA ขนาดเล็ก
- เซิร์ฟเวอร์สองเครื่องเชื่อมต่อกันด้วยสาย Ethernet สีแดงและสีเหลือง
- บนโฮมเซิร์ฟเวอร์มีทั้งโปรเจกต์ทดลองและบริการที่มีผู้ใช้จริง
- แพลตฟอร์มโซเชียลมีเดียที่สร้างเองซึ่งมีผู้ใช้หลายพันคน
- เกมควิซแบบเรียลไทม์สำหรับโรงเรียน Quickz
- แพลตฟอร์มสร้างและแชร์แอนิเมชันสไตล์ flipbook ซึ่งเป็นอินสแตนซ์เดโมสำหรับ MYP Personal Project
- เครื่องมืออย่างเสิร์ชเอนจินสำหรับชุมชน Scratch
- เซิร์ฟเวอร์เกมสำหรับเพื่อน ๆ
- อินสแตนซ์ Plausible Analytics หลายตัว
- เครื่องมือคล้าย Replit สำหรับสร้างและโฮสต์โปรเจกต์ทดลอง
การ self-hosting ที่เริ่มต้นจากล็อกดาวน์ปี 2020
- จุดเริ่มต้นคือช่วงล็อกดาวน์ปี 2020 ตอนนั้น Varun อายุ 13 ปี
- แรกเริ่มเขาเริ่มทำเว็บจากเว็บไซต์ HTML แบบ static แล้วไม่นานก็เริ่มสร้างแอปที่ซับซ้อนขึ้นซึ่งต้องมี backend
- เว็บแอปช่วงแรก ๆ, บอต Discord และสคริปต์ automation ถูกโฮสต์บน Replit
- เซิร์ฟเวอร์ Minecraft ให้เพื่อน ๆ ใช้งานโดยเปิดคอมพิวเตอร์ส่วนตัวทิ้งไว้ตลอด
- เหตุผลที่เลือกเซิร์ฟเวอร์ที่บ้านแทน cloud ใกล้เคียงกับการ เรียนรู้ทั้ง stack มากกว่าการประหยัดค่าใช้จ่าย
- frontend ที่ผู้ใช้เห็น
- backend และฐานข้อมูล
- อยากเรียนรู้ด้วยตัวเองไปจนถึงการดูแลเซิร์ฟเวอร์ที่นำบริการขึ้นไปรันจริง
- เขามองว่าสำหรับขนาดของตัวเอง การใช้ cloud อาจคุ้มค่ากว่าด้วยซ้ำ
เซิร์ฟเวอร์เครื่องแรก: Dell OptiPlex และ Windows 10 Pro
- เขาซื้อ Dell OptiPlex ที่มี i7-3770S และ RAM 8GB จาก eBay
- ระหว่างการส่งจากสหรัฐฯ ไปสวิตเซอร์แลนด์ ผู้ขายส่งความจุ RAM มาผิดในตอนแรก และใช้เวลาหลายสัปดาห์กว่าจะแก้ปัญหาได้
- ตอนแรกเขายังคงใช้ Windows 10 Pro เป็นระบบปฏิบัติการเซิร์ฟเวอร์ เพราะคุ้นเคยอยู่แล้ว
- ที่บ้านมีที่อยู่ IPv4 แบบ static ทำให้การโฮสต์เว็บไซต์ง่ายและเสถียรกว่า
- ทุกบริการถูกวางไว้หลัง Cloudflare โดย Cloudflare จัดการ SSL, DNS และฟังก์ชันที่น่าจะเป็นการป้องกัน DDoS ให้ฟรี
การเปลี่ยนจาก Windows ไป Ubuntu Server
- ตอนนั้นการรันเซิร์ฟเวอร์ Windows 10 มีข้อดีหลายอย่างสำหรับ Varun
- คุ้นเคยกับ Windows อยู่แล้ว
- ทดสอบในสภาพแวดล้อมที่คล้ายกับเดสก์ท็อปส่วนตัวได้
- ที่บ้านสามารถใช้ RDP เชื่อมต่อได้รวดเร็วและคุณภาพดี
- บน Chromebook ที่โรงเรียนแจกให้ จำเป็นต้องเข้าถึงผ่านเว็บ จึงใช้ Chrome Remote Desktop ได้
- เมื่อ Windows Update ทำให้เกิด downtime และต้องจัดวางหน้าต่างใหม่ซ้ำ ๆ เขาจึงเปลี่ยนไปใช้ Ubuntu Server ในเดือนพฤศจิกายน 2020
- ก่อนเปลี่ยน เขากังวลว่าจะเสียความรู้สึกในการมองภาพรวมของทั้งระบบได้อย่างรวดเร็ว แต่เพราะเริ่มคุ้นกับ command line ระหว่างเขียนโค้ดบน Windows อยู่แล้ว จึงปรับตัวกับ Linux ได้เร็ว
- การตั้งค่า Linux ช่วงแรกเรียบง่าย แต่ก็มีความเสี่ยงอยู่ด้วย
- nginx ที่เปิดสู่ Internet รับทราฟฟิก HTTPS บนพอร์ต 443 ด้วยใบรับรองแบบ self-signed และปฏิเสธคำขอที่ไม่ได้มาจาก Cloudflare
- รันหลายโปรเจกต์ที่อยากให้ออนไลน์ตลอด 24 ชั่วโมง
- รันอินสแตนซ์ MongoDB เดียวที่หลายโปรเจกต์ใช้ร่วมกัน
- รันเซิร์ฟเวอร์ Minecraft Java หลายตัว
- เปิด webssh2 เพื่อเข้าถึงเซิร์ฟเวอร์จากโรงเรียน แต่เขาเองก็ยอมรับว่าเป็นไปได้มากว่าไม่ปลอดภัยนัก
- การติดตั้งซอฟต์แวร์ third-party ซับซ้อนขึ้นอย่างรวดเร็วจาก dependency และการเพิ่ม apt repository ทำให้ Docker กลายเป็นเครื่องมือที่ช่วยให้การติดตั้งและรันง่ายขึ้น
- ซอฟต์แวร์ third-party รันด้วย Docker
- โค้ดที่เขาเขียนเองรันโดยตรงบนเซิร์ฟเวอร์
ข้อจำกัดด้านพื้นที่เก็บข้อมูลและการนำ PowerEdge R720XD มาใช้
- ประมาณหนึ่งปีต่อมา เขาเริ่มดูแลโปรเจกต์ที่มีผู้ใช้จริง เช่น Quickz และแพลตฟอร์มโซเชียลมีเดียที่สร้างเอง
- ระหว่างอยู่ที่โรงเรียน เซิร์ฟเวอร์หยุดทำงาน เขาพยายาม SSH เข้าไป แต่หลังจากเกิด error ของดิสก์ สุดท้ายก็ถูกล็อกไม่ให้เข้า
- สาเหตุคือ พื้นที่เก็บข้อมูลไม่พอ และเมื่อกลับถึงบ้านเขาลบไฟล์บางส่วนเพื่อซื้อเวลา
- Dell OptiPlex เดิมที่มี RAM 8GB และ i7-3770S เริ่มรับปริมาณการใช้งานที่เพิ่มขึ้นได้ยาก
- ในเดือนพฤษภาคม 2022 เขาใช้เงินที่เก็บจาก bug bounty ซื้อ Dell PowerEdge R720XD มือสอง
- ไดรฟ์ 3TB จำนวน 3 ลูก
- DDR3 RAM 128GB
- CPU 2×E5-2690 ที่กินไฟมาก
- ก่อนซื้อ เขาไม่ได้พิจารณาเรื่องพื้นที่ เสียงดัง และการใช้ไฟอย่างเพียงพอ และลดปัญหาเสียงลงบางส่วนด้วยการใช้แฮ็กที่ไม่รองรับเพื่อกำหนดความเร็วพัดลม iDRAC ไว้ที่ 10%
- R720XD มี power supply, CPU และ NIC อย่างละสองชุด และยังมี iDRAC ซึ่งมีลักษณะเป็นมินิคอมพิวเตอร์ที่จัดการจากระยะไกลได้แม้เครื่องจะปิดอยู่
- ตอนแรกเขาวางเซิร์ฟเวอร์ไว้บนโต๊ะกาแฟข้างทีวีในห้องนั่งเล่น และ rack กับอุปกรณ์ติดตั้งมีราคาแพงกว่าเซิร์ฟเวอร์เอง
โครงสร้าง Proxmox และการเข้าถึงระยะไกล
- สำหรับเซิร์ฟเวอร์ใหม่ เขาตัดสินใจใช้ hypervisor และรัน Proxmox
- ทรัพยากรส่วนใหญ่ถูกจัดสรรให้ Ubuntu Server VM และตอนนี้ทุกบริการถูกจัดระเบียบให้รันอยู่ใน Docker
- โครงสร้างนี้ทำให้ยืดหยุ่นขึ้น เมื่อต้องย้ายบริการในภายหลังไม่จำเป็นต้องตั้งค่าทุกอย่างใหม่
- แยกต่างหาก เขารัน Xubuntu VM ชื่อ
backdoorและใช้ Chrome Remote Desktop- เข้าถึงพื้นที่ทำงานที่สะดวกภายในเครือข่ายที่บ้านได้จากทุกที่
- แม้จะตั้งค่า VPN อย่าง OpenVPN หรือ WireGuard ได้ แต่วิธีนี้ใช้งานได้แม้กับอุปกรณ์ที่มีข้อจำกัดอย่าง iPad และ Wi‑Fi สาธารณะของโรงเรียน
- เขามองว่าข้อดีอีกอย่างคือไม่ต้องกังวลเรื่องการ brute-force จากบอต
Dock’n’Roll ที่นำประสบการณ์ Replit มาสร้างเอง
- แม้จะมีเซิร์ฟเวอร์หลายเครื่องแล้ว เขายังรู้สึกเสียดาย flow การทดลองที่รวดเร็วของ Replit อยู่
- Replit เหมาะกับการเปิดแอปแยกสำหรับโปรเจกต์ใช้ครั้งเดียว การทดลอง และเดโมอย่างรวดเร็ว และจุดแข็งคือเขียนโค้ดในเว็บ IDE แล้วเผยแพร่ขึ้นเว็บได้ทันที
- Replit เคยฟรี แต่ได้นำฟีเจอร์เพื่อการสร้างรายได้เข้ามา และเขาเข้าใจว่า repl ที่ไม่ active จะถูกปิดใช้งานหากไม่มีผู้ใช้ อีกทั้งการโฮสต์เว็บไซต์ dynamic แบบสาธารณะฟรีก็ทำไม่ได้อีกต่อไป
- Varun สร้าง Dock’n’Roll ซึ่งเป็นโคลน Replit แบบ self-hosting บน Docker เพื่อใช้ฮาร์ดแวร์ของตัวเองและโดเมนที่ควบคุมเอง
- Dock’n’Roll เป็นบริการสำหรับผู้ใช้คนเดียว
- เขียนโค้ดเว็บแอปบนอินเทอร์เฟซส่วนตัว
dockn.varun.ch - ผลลัพธ์เข้าถึงแบบสาธารณะได้ทันทีภายใต้
*.varunbiniwale.com
- เขียนโค้ดเว็บแอปบนอินเทอร์เฟซส่วนตัว
- องค์ประกอบมีดังนี้
- control panel ที่ทำด้วย ExpressJS และเว็บอินเทอร์เฟซที่ใช้ Monaco Editor ของ VSCode
- ปุ่มเริ่มโปรเจกต์สั่ง Docker Engine API ให้ build image และรัน container
- metadata ของโปรเจกต์เก็บไว้ใน Redis
- พอร์ต 80 ของแต่ละ container ถูกเปิดอัตโนมัติเป็น
:project.varunbiniwale.comผ่าน OpenResty reverse proxy ที่คุยกับ Redis ด้วยปลั๊กอิน Lua - ไฟล์ใต้
/persisted/จะยังคงอยู่แม้ container restart และสามารถดู/แก้ไขได้จากเว็บอินเทอร์เฟซ - เว็บ admin interface ถูกป้องกันด้วย custom nginx auth proxy ที่สร้างเอง
- Dock’n’Roll ยังถูกใช้กับ bug hunting ด้วย
- โฮสต์เครื่องมือเฉพาะกิจที่ใช้ค้นหาช่องโหว่อย่าง blind SSRF และ XSS
- มีตัวอย่างการให้บริการรูปภาพที่สร้างอัตโนมัติที่
yourip.varunbiniwale.com
สถานะปัจจุบันของโฮมแล็บและข้อจำกัดในอนาคต
- Varun สรุปว่าโฮมแล็บของเขาอาจจะมากเกินไปเล็กน้อย แต่ก็เป็นสภาพแวดล้อมที่เขาเป็นเจ้าของเองและชื่นชอบ
- เขามองว่าเมื่อสักวันต้องย้ายออกไปเรียนมหาวิทยาลัยหลังจบการศึกษา มีโอกาสสูงที่จะไม่ได้นำเซิร์ฟเวอร์ติดไปด้วย และไม่อยากสร้างภาระให้พ่อแม่ต้องปล่อยให้ฮาร์ดแวร์รันต่อที่บ้าน
- self-hosting ไม่ใช่วิธีที่เหมาะกับทุกคน แต่ถ้าเป็นสาย tinkerer และพร้อมรับผลลัพธ์ที่ตามมา ก็น่าลองเริ่ม self-hosting เล็ก ๆ ดู
- การดูแลเซิร์ฟเวอร์เองทำให้เขาเรียนรู้หลายอย่าง และรู้สึกถึงอิสระจากการมีที่สำหรับรันเครื่องมือและโปรเจกต์ภายใต้การควบคุมของตัวเอง
- การตั้งค่านี้บางครั้งสร้างความเครียดและอาจไม่ใช่วิธีที่ใช้งานได้จริงที่สุด แต่ก็ทำให้เขาได้ทักษะมากมายที่คงเรียนรู้ได้ยากด้วยวิธีอื่น
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ฉันเองก็เป็นเด็กอายุ 16 ที่มี โฮมแล็บเล็ก ๆ :)
เมื่อก่อนฉันเอาทุกอย่างขึ้นคลาวด์ แต่พอที่บ้านได้เน็ต 1G/1G แล้วก็ไปเจอว่าร้านการกุศลขายอุปกรณ์องค์กรที่ถูกปลดระวางหรือฮาร์ดแวร์ที่เก็บมาจากหลุมฝังกลบในราคาถูก เลยตัดสินใจลองรันเซิร์ฟเวอร์จริงเอง
ตอนนี้ฉันรัน Proxmox บนเครื่อง 2 เครื่องกับ NAS 1 ตัว และดิสก์แบบหมุน 14 ลูก พร้อมโฮสต์ทั้งเซิร์ฟเวอร์ Minecraft, โปรเจกต์เขียนโปรแกรมส่วนตัว, ตัวสแกนช่องโหว่, บอต Telegram, VPS ให้เพื่อน, เครื่องเสมือนสำหรับบิลด์ Android และ macOS, ที่เก็บข้อมูล, โปรเจกต์แมชชีนเลิร์นนิงของโรงเรียนที่เพิ่งเพิ่ม 1050 Ti เข้าไป, รวมถึงโครงสร้างพื้นฐานสำหรับการแข่งขัน CTF ของโรงเรียน
เผื่อสงสัย ฉันอยู่ที่อิตาลี
หลังจากนั้นฉันเรียนฟิสิกส์ ต่อปริญญาเอก และทำโพสต์ด็อกด้านโครงข่ายประสาทเทียม แต่สิ่งที่ฉันรู้สึกว่าสำคัญที่สุดคือการสร้างแรงบันดาลใจให้คนรุ่นใหม่แบบที่ฉันเคยเป็น และตั้งแต่ปีนี้ฉันก็กลับมาอิตาลีเพื่อเป็น ครูมัธยมปลาย
ฉันกำลังเตรียมคอร์ส Python หลังเลิกเรียนอยู่ด้วย ถ้าคุณอยู่ไม่ไกลจาก Milan และอยากคุยกับนักเรียน ก็อาจลองพิจารณาดู ขอให้ไปได้สวยในอนาคต
ไม่งั้นก็คงต้องเรียนโรงเรียนเดียวกัน
ไม่ว่าแบบไหนก็ขอชื่นชมครอบครัวที่สนับสนุนความสนใจของคุณ
ตอนฉันอายุ 16 ในปี 2001 ฉันเอาเงินจากงานพิเศษช่วงหน้าร้อนไปซื้อ Herbert Schildt "Teach Yourself C", การ์ดจอ และ Sony Trinitron
พอใกล้จบบทที่ 5 Herb ก็เริ่มอธิบายเรื่องอาร์เรย์หลายมิติแบบแปลก ๆ แล้วพอเห็นว่าบทถัดไปคือเรื่องพอยน์เตอร์ ซึ่งดูเหมือนเวทมนตร์ล้วน ๆ และเต็มไปด้วยเรื่องไร้สาระ ฉันก็รู้สึกท่วมท้นและเปลี่ยนไปใช้แผน B แทน นั่นคือ การเป็นร็อกสตาร์ การเขียนโปรแกรมมันยากเกินไป
สิ่งที่ฉันเรียนมาเลยถูกเอาไปใช้กับการใส่โปรแกรมลงใน TI-82 เพื่อโกงสอบคณิต
หลายปีต่อมา ในเทอมแรกของมหาวิทยาลัย อาจารย์ที่ปรึกษาคนหนึ่งแนะนำให้ฉันเลื่อนการเลือกสาขาออกไปหนึ่งเทอม แล้วลองลงเรียนวิชาที่สนใจหลาย ๆ อย่าง ซึ่งมันช่วยไว้ได้จริง ๆ
ฉันซื้อหนังสือ Java เล่มแรกมาเริ่มอ่านอย่างจริงจัง แล้วพบว่ามันเข้าถึงง่ายกว่าหนังสือ C มาก พอไปเข้าคลาสแรก ฉันก็อ่านเนื้อหาจนจบขอบเขตวิชาไปแล้ว
นั่นคือจุดเริ่มต้นของการเดินทางที่ยาวนานกว่า 15 ปีมาจนถึงตอนนี้ บนเส้นทางที่ฉันเคยคิดว่าตัวเองล้มเลิกมันไปแล้ว
ทุกวันนี้ฉันยังเล่นกีตาร์และสนุกกับมันอยู่ แต่ก็รู้ว่าตัวฉันในฐานะนักดนตรีคงไม่มีวันพัฒนาไปได้ไกลเท่าตัวฉันในฐานะวิศวกร
ฉันยังจำได้เลยว่าตอนวัยรุ่นหัด C แหล่งเรียนรู้ทุกแห่งต่างเตือนว่าพอถึงเรื่องพอยน์เตอร์แล้วมันจะเริ่มแปลกและยาก
ตอนแรกมันดูเป็นเรื่องลึกลับไปหมด แต่ตอนนั้นเป็นช่วงปิดเทอมฤดูหนาว ฉันเลยตั้งใจว่าจะจับมันไว้จนกว่าจะเข้าใจ ไม่จำได้แล้วว่าใช้เวลาไปกี่ชั่วโมง กี่วัน หรือทั้งสัปดาห์ แต่พอถึงจังหวะที่มันเข้าใจขึ้นมาจริง ๆ มันให้ความพึงพอใจมหาศาล และหลังจากนั้นก็รู้สึกเหมือนจะทำอะไรก็ได้
ฉันเคยอ่านบทสัมภาษณ์ของ Hidetaka Miyazaki ผู้กำกับซีรีส์ Dark Souls ที่ขึ้นชื่อว่ายากมาก เขาพูดถึงประสบการณ์คล้ายกันตอนหัดเล่นกีตาร์และเรียน บาร์คอร์ด แล้วเอาความพึงพอใจจากการผ่านอุปสรรคใหญ่ ๆ นั้นใส่ลงไปในเกม
มันเป็นความรู้สึกที่ทรงพลังมาก
สุดท้ายพอฉันตระหนักได้ว่าพอยน์เตอร์ก็เป็นแค่ ที่อยู่หน่วยความจำ ความสับสนมากมายก็พังทลายลงเหลือเพียงแนวคิดง่าย ๆ อย่างเดียว ฉันยังจำความรู้สึกนั้นในหัวได้อยู่เลย
เพื่อนร่วมรุ่นรอบตัวฉันก็มีประสบการณ์คล้าย ๆ กันเยอะ และไม่ใช่ทุกคนที่จะผ่านมันไปได้
มันเลยทำให้ฉันสงสัยอีกครั้งว่าทำไมคนถึงเข้าใจพอยน์เตอร์ใน C ได้ยากกันนัก เป็นเพราะตัวแนวคิดเรื่องการอ้างอิงทางอ้อมหรือเปล่า หรือเป็นเพราะสัญลักษณ์
&กับ*หรือเพราะสัญกรณ์ที่ปฏิบัติต่ออาร์เรย์เหมือนพอยน์เตอร์ หรือมีเหตุผลอื่นก่อนเข้ามหาวิทยาลัย ฉันทุ่มเวลาไปมากกับการควบคุมชิป VIC และ SID ด้วยคำสั่ง
peekและpokeและเขียนแอสเซมบลี พอมาเจอ C ครั้งแรก พื้นฐานแบบนั้นก็ดูจะไม่เลวเลย ถึงตอนนั้นฉันอาจยังไม่เห็นความเชื่อมโยงทันทีในตอนแรกก็ตาม ฉันก็สงสัยเหมือนกันว่าสมัยนี้สิ่งที่เทียบเคียงกันได้คืออะไรตอนนั้นฉันพอมีสัญชาตญาณพื้นฐานเกี่ยวกับภาษาโปรแกรมอยู่บ้าง แต่ก็ยังแทบเป็นมือใหม่ และฉันถามไปว่าทำไมตัวพิมพ์อาร์กิวเมนต์ใน C ถึงพิมพ์
envpซึ่งเป็นอะไรที่ไม่เกี่ยวกับ(null)ออกมามีคนใจดีมากคนหนึ่งในแชนเนลนั้นค่อย ๆ ช่วยให้ฉันเข้าใจ พื้นฐานของพอยน์เตอร์ อย่างอดทน นั่นก็ราว 16 ปีก่อนแล้ว ฉันจำชื่อเขาไม่ได้อีกต่อไป แต่ก็ขอบคุณคนที่ช่วยฉันในตอนนั้น
mallocฉันทนเรียนพอยน์เตอร์ต่อเพราะมันจำเป็นต่อการเข้าใจ ลิงก์ลิสต์ แต่โครงสร้างข้อมูลแบบนั้น ฉันเคยใช้แค่ครั้งเดียวในยุค 1980 แล้วหลังจากนั้นก็ไม่เคยใช้อีกเลย
มันมีข้อดีชัดเจนต่อการทำความเข้าใจว่า CPU ทำงานอย่างไรในระดับล่างสุด แน่นอนว่าว่ามันจำเป็นต่อการเขียนโปรแกรมส่วนใหญ่ในปัจจุบันหรือไม่ ก็ยังเป็นเรื่องที่ถกเถียงกันได้
ชอบที่ตรงย่อหน้าซึ่งพูดถึงแร็กราคาแพง ดันมีเซิร์ฟเวอร์ตั้งอยู่บน โต๊ะ Ikea อยู่ข้าง ๆ สงสัยว่าเขารู้จัก Lack Rack ไหม: https://web.archive.org/web/20230131031301/https://wiki.eth0...
เกร็ดน่าสนใจอย่างหนึ่ง ตอนผมอายุ 16 การหา โฮมเซิร์ฟเวอร์ราคา 200 ดอลลาร์ ง่ายกว่าการหา Digital Ocean VPS ราคา 5 ดอลลาร์ มาก
ที่นี่มีบริการช็อปปิ้งออนไลน์ชื่อ Allegro ซึ่งโดยพื้นฐานแล้วก็เหมือนเอา Amazon กับ eBay มารวมกัน และยินดีรับชำระเงินแบบเก็บเงินปลายทางโดยเสียค่าธรรมเนียมเล็กน้อย
ถ้าจะสมัครอาจต้องอายุ 18 ปี แต่ในโปแลนด์ไม่มีใครสนใจกฎนั้นกันจริงจัง และก็ไม่มีการตรวจอายุด้วย
ในทางกลับกัน บริการคลาวด์ต้องใช้บัตรเดบิตหรือบัตรเครดิต ซึ่งถ้าไม่มีพ่อแม่เข้ามาเกี่ยวข้องก็ทำไม่ได้หรือแทบเป็นไปไม่ได้เลย
จะพูดในแง่ลบเกี่ยวกับ Bitcoin และคริปโตโดยรวมก็ได้มากมาย แต่ในมุมของ สิทธิของวัยรุ่น จะเน้นย้ำแค่ไหนก็ไม่เกินไป
และถ้ามีความยินยอมจากผู้ปกครอง เด็กอายุ 13 ปีก็เปิดบัญชีธนาคารฟรีที่มีบัตรเดบิตสำหรับจ่ายเงินออนไลน์ได้ เรื่องนี้ไม่ใช่ของใหม่ และเมื่อ 15 ปีก่อนผมก็มีแล้ว
เยี่ยมเลย รู้สึกว่าคนที่ได้เรียนรู้พื้นฐานของฮาร์ดแวร์และระบบปฏิบัติการ หรือบางครั้งลึกกว่าพื้นฐาน กำลังน้อยลงเรื่อย ๆ
ความรู้แบบนี้มีคุณค่ามากแม้ตอนทำงานกับ PaaS ตัวอย่างเช่น การเคยใช้ IIS มาตั้งแต่ยุค NT4 และ Apache มาตั้งแต่ยุค 1.x ช่วยได้มากเวลาวินิจฉัยปัญหาของ Azure Web Sites
ราว 10 ปีก่อนตอนผมทำงานในดาต้าเซ็นเตอร์ ต้องเปลี่ยนฮาร์ดแวร์อย่าง RAM ให้เซิร์ฟเวอร์เครื่องหนึ่ง หัวหน้าทีมที่ใช้เซิร์ฟเวอร์นั้นนั่งทำงานอยู่ห่างจากห้องเซิร์ฟเวอร์ประมาณ 50 หลา มาหลายปีแล้ว แต่กลับถามว่าขอดูตอนเปลี่ยนได้ไหม
เขาบอกว่าอยากรู้เพราะไม่เคยเห็นข้างในของเซิร์ฟเวอร์มาก่อน และฟังดูเหมือนว่าไม่เคยเห็นข้างในพีซีที่บ้านด้วยซ้ำ เรื่องนั้นทำให้ผมช็อกจริง ๆ
ตอนนั้นก็ไม่ได้มีขั้นตอนเข้มงวดอะไร ถ้าไปขอให้ใครสักคนจากหลายสิบคนพาชมในวันไหนก็ได้ ก็คงได้ดูโดยไม่มีใครถามอะไร เซิร์ฟเวอร์เองก็มีตั้งวางอยู่แถวคอกทำงานในออฟฟิศด้วยเหตุผลต่าง ๆ
แค่ก่อนวันนั้นเขาไม่เคยนึกจะดูเท่านั้นเอง
พีซีแบบนี้ก็ไม่ใช่แร็กเซิร์ฟเวอร์ระดับมืออาชีพ แต่ก็ใช้เป็นเซิร์ฟเวอร์ได้ และยังต้องตั้งค่าอยู่ดี
ความเข้าใจพื้นฐานและประสบการณ์การเรียนรู้ แบบนี้กำลังหายไปมาก เราเองก็คงอีกไม่นานจากการมีนักพัฒนาฝั่งฟรอนต์เอนด์ที่รู้แค่ React แต่แทบไม่รู้ HTML กับ CSS เลย
ตอนที่ผมไปเจอแร็กเมานต์เซิร์ฟเวอร์มือสอง ผมไม่ถึงกับอายุ 16 แต่ก็ยังเด็กอยู่ น่าจะราว 21
ในปี 2012 ผมทำงานแย่มากที่ Dallas, TX เงินปีละ 30,000 ดอลลาร์ ไม่มีประกันสุขภาพ แทบจะพอประทังชีวิต
ผมต้องการอะไรที่แรงกว่าแล็ปท็อปนิดหน่อยเพื่อทดลองเข้ารหัสวิดีโอ แต่ไม่มีเงินพอจะซื้อคอมพิวเตอร์ที่เร็วพอสำหรับงานที่อยากทำ จนราวอายุ 25 ผมก็แทบเก็บเงินไม่ได้เลย
ผมเลยเผลอค้นหาใน Craigslist ด้วยคำประมาณว่า “คอมพิวเตอร์เร็วและถูก” อยู่หลายแบบ แล้วสุดท้ายก็ไปเจอคำว่า “server”
จากนั้นก็พบว่าสามารถซื้อ แร็กเมานต์เซิร์ฟเวอร์ Dell เก่าแต่ยังใช้งานได้ในราคาแทบจะฟรี และมีคนขายอยู่รายหนึ่งเสนอ Dell แร็กเซิร์ฟเวอร์ 2 เครื่อง สเปก 16 คอร์ RAM 32GB ในราคาราว 250 ดอลลาร์
ผมพอมีเงินซื้อแบบเฉียดฉิว เลยขับรถไปรับมา และนั่นก็แทบจะกำหนดทิศทางอาชีพของผมตลอด 12 ปีหลังจากนั้น
โดยรวม Dell ก็โอเคกับผม แต่ก็มีครั้งที่ต้องเปลี่ยน backplane และชิ้นส่วนอื่นทันทีเหมือนกัน
https://en.wikipedia.org/wiki/Sun_Enterprise#Entry-level_ser...
ผมมี E450 ด้วย คล้ายกับตัวในลิงก์นี้: [https://en.wikipedia.org/wiki/File:SUN_Ultra_Enterprise_450....](https://en.wikipedia.org/wiki/File:SUN_Ultra_Enterprise_450.JPG)
นอกจากนี้ก็มีอุปกรณ์ชิ้นเล็กกับเวิร์กสเตชันอีกหลายตัว และถ้าจำไม่ผิด ผมก็เคยมี E220R อยู่ช่วงหนึ่งด้วย ไม่รู้เหมือนกันว่าของเก่าเหล่านั้นหายไปไหนหมดแล้ว
อย่างไรก็ดี มันมีประโยชน์มากสำหรับการเตรียมตัวสัมภาษณ์ก่อนพบลูกค้าที่อาจจ้างงาน หรือก็คือการกลับมาฝึกทักษะเฉพาะทางบางอย่างใหม่ รวมถึงเหมาะกับงานพัฒนาทั่วไปและงานแพ็กเกจด้วย
ถ้าไม่ได้ต้องการ I/O จำนวนมาก เช่น อุปกรณ์เก็บข้อมูล SAS/SATA หรือการ์ด PCIe รุ่นเก่า การหลีกเลี่ยงเซิร์ฟเวอร์ที่ใหญ่ เสียงดัง และกินไฟมากนั้นง่ายกว่าที่คิดมาก
โดยปกติแล้ว Mini/Micro form factor OEM PC ในช่วงราคาเดียวกันจะมาพร้อมฮาร์ดแวร์รุ่นใหม่กว่ามาก อาจหา i5 Gen 8 ได้แทน i7 Gen 3 และประสิทธิภาพโดยรวมก็ดีกว่ามาก
ทั้งการโฮสต์และการดูแลรักษาก็ง่ายกว่ามาก แค่เสียบไว้ใกล้โมเด็มของ ISP แล้วก็ลืมมันไปได้เลย
ใส่ไดรฟ์ 3.5 นิ้วได้สองตัวและไดรฟ์ 2.5 นิ้วได้อีกหนึ่งตัวโดยไม่ต้องดัดแปลงอะไร และด้วยโครงสร้างท่อลมที่ระบายความร้อน CPU ออกด้านหลังโดยตรง กับ PSU ประสิทธิภาพ 80 Plus Platinum มันจึงคุ้มค่ามากสำหรับเครื่องที่เปิดตลอดเวลา
ผมก็มีเซิร์ฟเวอร์เหมือนกัน แต่เป็นฟอร์มแฟกเตอร์ HP ML เลยเงียบกว่าแบบ pizza box มาก ECC ก็สำคัญพอสมควร และ hardware RAID แบบจริง ๆ ก็เป็นประสบการณ์การเรียนรู้ที่ดี
ผมมีอยู่กลุ่มเล็ก ๆ และถ้า 1) ปิดการใช้งาน CPU ตัวหนึ่ง 2) รัน CPU ที่เหลือแบบ undervolt และ 3) ทำตัวควบคุมพัดลมเองด้วย raw IPMI byte sequence พวกมันก็ไม่ได้เสียงดังหรือกินไฟมากอย่างที่คิด
มันเป็นหนึ่งในวิธีทำสตอเรจความจุสูงที่มีต้นทุนต่อ PB คุ้มที่สุด ผมก็มีทั้ง NUC และ single-board computer หลายตัวเหมือนกัน แต่การใช้งานคนละแบบชัดเจน
สักวันหนึ่งผมคิดว่าจะซื้อ Isilon cluster มือสองสักหนึ่งหรือสองชุดแล้วเข้าสู่ระดับของสตอเรจขนาดมหาศาลจริง ๆ เสียที ขี้เกียจไปสู้กับ Ceph ในเวลาว่าง
แต่สุดท้ายซื้อ Intel N100 micro computer แบบไร้พัดลมราคา 100 ดอลลาร์แทน มันกินไฟแค่ 7W และประสิทธิภาพก็แทบไม่ต่างกัน ค่าไฟที่ประหยัดได้ก็น่าจะคืนทุน
ทั้งที่ i5-6600K ก็ไม่ได้เป็นตัวที่กินไฟมากเป็นพิเศษอยู่แล้ว
หลังจากนั้นเปลี่ยนไปใช้ Pentium ยุค Skylake แล้วทำงานได้ดีกว่ามาก
ผมก็เคยเป็นเด็กแบบนี้มาก่อน สมัยนั้นผมมี PC ประกอบเองระดับท็อป ซึ่งถ้าจะให้เห็นภาพตามยุค มันราคาเกิน 6,000 ดอลลาร์[0] ไปมาก และใช้ 486DX50 ที่เพิ่งออกใหม่
ผมใส่ RAM บนเมนบอร์ดจนเต็ม น่าจะ 16MB ถ้าจำไม่ผิด แต่ก็เริ่มเลือน ๆ แล้ว มีทั้งการ์ดเสียง Turtle Beach Wave Table Synth และการ์ดจอที่ขับ 1152x1024 บน CRT 16 นิ้วได้
ผมรัน BBS แบบหลายโหนดด้วยโมเด็ม 9600 สองตัว และต่อมาก็เปลี่ยนเป็นโมเด็ม 16.8K สองตัว
ถ้าไม่ได้มีประสบการณ์คลุกคลีกับเครื่องนั้นและ 8088 อายุ 10 ปีที่มีมาก่อน ผมก็คงมีโอกาสสูงที่จะไม่ได้เป็นนักพัฒนาซอฟต์แวร์
ผมเคยประกอบเกมมิง PC ให้เด็กข้างบ้านคนหนึ่ง แล้วได้เห็นตลอด 4 ปีว่าเขาค่อย ๆ กลายเป็นเด็กเนิร์ดฝีมือดีมากโดยไม่รู้ตัว
พอพยายามปรับแต่งเพื่อรีดเฟรมเรตจากเกมให้ได้อีกนิด ต้องสู้กับเฟิร์มแวร์อัปเดต ไดรเวอร์การ์ดจอ ซอฟต์แวร์อัปเดต และความวุ่นวายทุกอย่างที่มากับคำว่า "อยากเล่นเกมบน PC" ความรู้ก็สะสมขึ้นมาโดยบังเอิญเยอะมาก
ผมไม่ได้คุยกับเด็กคนนั้นอยู่ 4 ปี ก่อนจะเพิ่งได้เจอกันอีกครั้งไม่นานนี้ แล้วก็ตกใจมาก สิ่งแรกที่เขาทำคือหยิบ Flipper Zero ออกจากกระเป๋าแล้วเล่าว่าเอาไปทำอะไรบ้า ๆ มาบ้าง
เขาเก่งพอ ๆ กับ admin ระบบเก่ง ๆ ทุกคนที่ผมเคยคุยด้วย แต่เจ้าตัวกลับไม่รู้ด้วยซ้ำว่าตัวเองมีทักษะพวกนี้
มันเป็นประสบการณ์ที่ดีมากจนผมซื้อเกมมิงโน้ตบุ๊กดี ๆ ให้ลูกชายเพื่อให้ย้ายมาจากคอนโซล และในช่วง 1 ปีที่ผ่านมาเรื่องแบบเดียวกันก็เกิดขึ้น
ปีนี้ลูกสาวที่อายุน้อยกว่าสองปีเริ่มตื้อขอเดสก์ท็อปแล้ว เพราะงั้นเธอก็น่าจะได้ทั้งคริสต์มาสที่ยอดเยี่ยมและหนึ่งปีเต็มของการเรียนรู้กับความหงุดหงิด :)
อ้อ แล้วปีนี้ครอบครัวเราก็ซื้อ Flipper Zero ด้วย จะปล่อยให้เด็กข้างบ้านสนุกอยู่คนเดียวไม่ได้
[0] ผมเก็บเงินก้อนนั้นมาจากการประกอบคอมให้คนอื่น
ในทีมปัจจุบันมี ไม่ถึงครึ่ง ด้วยซ้ำ ขณะที่ผมเป็นตัวประหลาดที่มีทั้งเกมมิง PC เกมมิงโน้ตบุ๊ก PC และ MBP ใช้งานทั่วไป นอกเหนือจากโน้ตบุ๊กทำงาน
ลูกชายผมก็มีประสบการณ์คล้ายกัน เขาไม่เคยสนใจเรียนรู้เรื่องคอมพิวเตอร์มากเป็นพิเศษ แต่ก็อยากช่วยประกอบ PC และตอนนี้กลายเป็นฝ่ายซัพพอร์ตเทคนิคให้เพื่อน ๆ ไปแล้ว
หลังจากเล่นกับ “homelab” ของตัวเองอยู่หลายปีด้วยการเดินสาย 10BASE2 coaxial cable ไปทั่ว ผมก็เริ่มตระหนักว่ามีคนยอมจ่ายเงินให้กับการเล่นของเล่นของผมจริง ๆ
แน่นอนว่าเงินนั้นก็ถูกเอากลับไปซื้อของเล่นใน homelab ต่อทั้งหมด
ตอนนี้ผมมีเพื่อนหลายคนที่มีลูก และบางคนก็เป็นวัยรุ่น ผมกังวลอยู่พักหนึ่งว่าเด็ก ๆ พวกนั้นมีความรู้ด้านเทคโนโลยีแค่ถามรหัสผ่าน Wi‑Fi แล้วก็เปิดแอปดูคลิปเล่น ๆ เท่านั้น
ถ้าถามว่าโตขึ้นอยากเป็นอะไร พวกเขาจะตอบว่า "อินฟลูเอนเซอร์" การกระทำที่เป็นเทคนิคที่สุดคือรีบูต "เราเตอร์" ตอนเน็ตใช้ไม่ได้ และขั้นตอนวินิจฉัยอันดับสองคือร้องบอกว่าอินเทอร์เน็ตไม่ทำงาน
พวกเขาเป็นเด็กที่ดีมากนะ ไม่ได้จะตำหนิอะไร แต่ผมก็กังวลว่าหลังจากคนรุ่นเราหายไปแล้ว จะยังมีใครคอยดูแลให้ไฟยังติดอยู่ไหม
สมัยของพวกเรา การใช้คอมพิวเตอร์และการต่ออินเทอร์เน็ตมีอุปสรรคในการเริ่มต้นสูง แต่ข้อดีก็คือมันทำให้เกิดคนเก่งสายเทคนิคเพิ่มขึ้นอย่างมหาศาล
เพราะงั้นการได้ยินว่ายังมีเด็กเนิร์ดที่ชอบเปิดดูข้างในอยู่อีกก็เป็นเรื่องน่ายินดีมาก
จากการพยายามเล่นเกมบนเครื่อง Gateway ของแม่ ผมก็ลงเอยด้วยการประกอบ PC เครื่องแรกด้วย Pentium D จากนั้นก็กลายเป็นงานอดิเรกในการซื้อขายฮาร์ดแวร์บน eBay แล้วเปลี่ยนชิ้นส่วนไปเรื่อย ๆ ก่อนจะต่อยอดไปถึง ปริญญาวิศวกรรมไฟฟ้า
ถ้าไม่มีวิดีโอเกม ไม่มีการเล่นกับ PC และการโอเวอร์คล็อก ก็ไม่มีปริญญาวิศวกรรมไฟฟ้าเหมือนกัน
ยินดีด้วย ตอนฉันอายุ 16 ฉันมีแค่ 486DX2-66, โมเด็ม 28.8K และ UPS
ถ้าวัยรุ่นคนอื่น ๆ และคนที่ใจยังเป็นวัยรุ่นอยากทำแบบนี้ ก็ไปหาซื้อเซิร์ฟเวอร์องค์กรมือสองใน eBay ได้เลย โดยปกติแบรนด์ที่เลือกกันได้ก็มี HP, Lenovo, Dell, Supermicro
ก่อนซื้อควรหาเอกสารสเปก ไดรเวอร์ และเฟิร์มแวร์ของรุ่นนั้น ๆ ก่อน เพื่อเช็กว่าของมันครบและใช้งานได้จริง หรืออย่างน้อยสามารถทำให้ครบได้ด้วยค่าใช้จ่ายที่สมเหตุสมผล
ถ้าคิดจะรันหลาย virtual machine ด้วย XenServer หรือ VMware ESXi ก็ควรเช็ก Hardware Compatibility List (HCL) ของระบบปฏิบัติการก่อนซื้อว่าใช้งานร่วมกันได้ไหม
ควรหลีกเลี่ยงเซิร์ฟเวอร์ 1U เพราะต้องใช้พัดลมที่เล็กและสั้นกว่ารุ่น 2U ขึ้นไปแล้วหมุนด้วยความเร็วสูงมาก จึงเสียงดังกว่า
CPU อย่างน้อยควรเร็วพอ ๆ กับคอมพิวเตอร์ที่คุณมี ไม่งั้นมันอาจกลายเป็นที่ทับกระดาษราคาแพง หรือ “Raspberry PI” เครื่องใหญ่ได้: https://www.cpubenchmark.net
มีจุดที่ต้องระวังคือ AMD CPU สำหรับเซิร์ฟเวอร์ Dell, Lenovo, HP บางรุ่นอาจติด vendor lock แต่บางครั้งผู้ขายก็ขาย CPU ที่ถูกล็อกไว้ในราคาถูกมากจนยังคุ้มอยู่
ECC RAM. ถ้าเป็นเพื่อนกันจริง คุณจะไม่ยัด RAM แบบ non-ECC ให้เพื่อนใช้: https://cr.yp.to/hardware/ecc.html
ควรใช้ SSD ดิสก์จานหมุนมีไว้เก็บข้อมูล ไม่ใช่สำหรับระบบปฏิบัติการ: https://web.archive.org/web/20110831080738/http://buyafuckin...
ถ้าเป็นไปได้ก็ควรหาเครื่องที่มีฟีเจอร์จัดการจากระยะไกลอย่าง iLO หรือ iDRAC และมีไลเซนส์มาให้แล้ว
พอได้รับมาแล้วมันก็น่าจะทั้งสกปรกและมีรอยขีดข่วน ดังนั้นควรเปิดออกข้างนอกบ้านแล้วใช้ลมอัดทำความสะอาด
คะแนนพิเศษ: โน้มน้าวพ่อแม่ให้ยอมติดตั้งแผงแพตช์ 19 นิ้วกับฮาล์ฟแร็กในโรงรถ :]
ฉันทำโฮมแล็บมานาน และใช้ระบบแร็กเมานต์ที่ประกอบจากชิ้นส่วนเดสก์ท็อปเก่ามาตลอด แทนที่จะไปซื้อหรือล่าฮาร์ดแวร์เซิร์ฟเวอร์มือสอง มันไม่ใช่ของจำเป็น
ECC RAM ก็มีประโยชน์ถ้าหาได้ราคาถูกและ CPU รองรับ แต่จากประสบการณ์ของฉัน ปัญหานี้มักถูกพูดให้ใหญ่เกินจริง
แต่ฉันเห็นด้วยกับการซื้ออุปกรณ์ 2U หรือ 3/4U เพราะใส่พัดลมใหญ่ได้มากกว่า เลยเงียบกว่ามาก
ตอนเป็นวัยรุ่นช่วงต้นยุค 90 สิ่งที่ทำให้ฉันช็อกที่สุดหลังได้คอมเครื่องแรกคือ คอมพิวเตอร์ทุกเครื่องคือเซิร์ฟเวอร์
คอมไม่จำเป็นต้องเป็นฟอร์มแฟ็กเตอร์แร็กหรือมีราคาแพงเลย แค่มี Winsock กับ TCP/IP ก็พอ และนั่นก็คือทั้งหมด คอมของฉันก็เป็นเหมือนคอมเครื่องอื่น ๆ บนอินเทอร์เน็ต
เพราะงั้นบทความนี้ก็ดีอยู่ แต่ฉันอยากให้เน้นฮาร์ดแวร์น้อยกว่านี้หน่อย เพราะการรันแอปที่สร้างบน Node แล้วเปิดให้บริการบนอินเทอร์เน็ตนั้นแทบไม่เกี่ยวกับฮาร์ดแวร์เลย
ไม่ต้องมี static IP ด้วยซ้ำ แค่หาวิธีใช้ dynamic DNS ให้เป็นก็พอ :)
เป็นบทความที่คนสร้างเขียนเอง ซึ่งเล่าว่าในยุค 90 แม้ Deutsche Bahn จะยังไม่ออนไลน์ แต่ข้อมูลเส้นทางมีอยู่ใน CD-ROM
มีคนเอาข้อมูลจาก CD-ROM นั้นมาทำเป็นเครื่องมือที่ตอบเส้นทางระหว่างสองสถานีเมื่อมีการถามเข้ามา
วิธีถามก็น่าสนใจมาก คือส่งอีเมลไปที่อีเมลมหาวิทยาลัยของเขา แล้ว “เซิร์ฟเวอร์” ซึ่งจริง ๆ ก็คือพีซีที่ตั้งอยู่มุมห้อง จะคอยดึงอีเมลทุก 5 นาที มาประมวลผลคำถาม แล้วส่งผลลัพธ์กลับทางอีเมล
น่าเสียดายที่ตอนนี้ทั้ง Google และ DDG ใช้งานหาประโยชน์ไม่ค่อยได้แล้ว ตอนครั้งล่าสุดที่ฉันพยายามหาเรื่องนี้ เลยเสียเวลาไปนานมาก
ทุกวันนี้แม้แต่คอมพิวเตอร์บอร์ดเดี่ยวสมัยใหม่ก็เป็นโฮมเซิร์ฟเวอร์ที่มีความสามารถเพียงพอได้ แถมเล็กกว่า เงียบกว่า ถูกกว่า และกินไฟน้อยกว่าเยอะ
ตอนแรกฉันลง FreeBSD แล้วภายหลังก็ลง Linux และการมี เครื่อง Unix ของตัวเองอยู่ที่บ้านมันน่าทึ่งมาก
มันไม่ได้แรง และไม่ได้มีแรมหรือพื้นที่เก็บข้อมูลมากมาย แต่เป็นของของฉันที่ฉันจะทำอะไรก็ได้
ฉันใช้มันรัน IRC bot และเปิดเว็บเซิร์ฟเวอร์ที่เอา Perl script ห่วย ๆ ที่ฉันเขียนเองขึ้นไปไว้ พอใส่การ์ดเครือข่ายเข้าไป มันก็กลายเป็นเราเตอร์ dial-up ของบ้านด้วย
ฉันเรียนรู้อะไรเยอะมากจากการนั่งเล่นกับเครื่องนั้น และฉันว่าความสามารถในการออกจาก vim ได้ก็คงต้องยกความดีให้มัน
ฉันเอาไปลงใน Freshmeat[1] แล้วก็นั่งกินข้าวเย็นบนโซฟาพร้อมดู Apache log เลื่อนผ่านหน้าจอ มันเป็นหนึ่งในความรู้สึกที่เจ๋งที่สุดในเส้นทางอาชีพของฉัน
[1] https://en.wikipedia.org/wiki/Freecode