ถาม HN: เรื่องราวแบบ "ถ้ามันได้ผล ก็ไม่ใช่เรื่องโง่" ของคุณคืออะไร?
(news.ycombinator.com)ความเห็นของ GN⁺
- บทความนี้ว่าด้วย "แฮ็กต้องสาป" ที่ใช้ซอฟต์แวร์และเทคโนโลยีอย่างสร้างสรรค์ และบางครั้งก็ผิดปกติ เพื่อให้ได้ผลลัพธ์ตามต้องการ
- สำหรับผู้หลงใหลในเทคโนโลยีและวิศวกรซอฟต์แวร์ แฮ็กแบบนี้มอบแรงบันดาลใจในการแสดงความคิดสร้างสรรค์ที่ก้าวข้ามข้อจำกัดของเทคโนโลยี
- หัวข้อนี้เน้นย้ำถึงความยืดหยุ่นของเทคโนโลยีและความสามารถของผู้ใช้ในการค้นหาวิธีแก้ปัญหาอย่างสร้างสรรค์ พร้อมชวนให้สนใจการสำรวจกรณีที่การใช้เทคโนโลยีในแบบที่ไม่ได้ตั้งใจไว้กลับนำไปสู่ผลลัพธ์ที่น่าทึ่ง
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
สตาร์ทอัพแห่งหนึ่งพัฒนาปลั๊กอินสำหรับ Microsoft Outlook และประสบความสำเร็จ ลูกค้าต้องการฟีเจอร์เดียวกันสำหรับ Outlook Express แต่ OE ไม่มีสถาปัตยกรรมปลั๊กอิน อย่างไรก็ตาม สามารถสร้างระบบแมโครได้ด้วยการใช้ Windows hooks และ DLL injection ระบบนี้มองเห็นทุกการกระทำบนหน้าจอ แต่ทำงานได้สมบูรณ์แบบ มีการล้อกันตอนพักเที่ยงว่าให้โน้มน้าวผู้ใช้ OE อย่ามองหน้าจอ แล้วไอเดียนี้ก็ใช้ได้จริง โดยจับภาพหน้าจอทั้งเดสก์ท็อปมาแสดงแบบเต็มจอ ซ่อนการควบคุม GUI รอให้ OE อัปเดตเสร็จ แล้วค่อยปิดโอเวอร์เลย์เต็มจอ
ในปี 1999 Eksi Sozluk แพลตฟอร์มโซเชียลยอดนิยมของตุรกีถูกสร้างขึ้นโดยใช้ไฟล์ข้อความเพียงไฟล์เดียวเป็นฐานข้อมูล เว็บไซต์นี้ถูกสร้างภายในเวลาแค่ 3 ชั่วโมงเป็นไฟล์ EXE ที่เขียนด้วย Delphi โดยไม่ใช้เว็บเฟรมเวิร์ก ปัจจุบันใช้ .NET/MySQL และแม้จะถูกทางการตุรกีสั่งแบนด้วยเหตุผลอย่าง "ความมั่นคงของชาติ" แต่ก็ยังได้รับความนิยม และแม้โดเมนจะถูกแบนก็ยังคงเป็นธุรกิจที่ถูกกฎหมาย จ่ายภาษี และยอมรับคำขอลบเนื้อหา
ตอนรับงานที่ปรึกษาให้ HBO ในยุค 90 มีการย้ายระบบจาก MS Mail on Mac server ไปเป็น MS Exchange on PC ปัญหาคือ MS Mail บน Mac ไม่มีฟีเจอร์ส่งออกสมุดที่อยู่ ทำให้ผู้ช่วยส่วนตัวต้องคัดลอกรายชื่อติดต่อทีละรายการ เพื่อแก้ปัญหานี้จึงทดลองใช้เครื่องมือ hotkey บนหน้าจอ และใช้เครื่องมือที่มีภาษาการเขียนโปรแกรมเต็มรูปแบบสร้างเครื่องมือที่แปลงรายชื่อติดต่อเป็นไฟล์ CSV โดยอัตโนมัติเพื่อนำเข้าไปยัง Exchange ได้
ในช่วงแรกของ Google Chrome มีหน้าที่ทำให้มันเข้ากันได้กับโปรแกรมอ่านหน้าจอของ Windows เนื่องจากการออกแบบของ Chrome ต่างจาก Firefox หรือ IE การทำให้ accessibility API ทำงานได้ถูกต้องจึงเป็นเรื่องท้าทาย พยายามให้มันทำงานกับหน้าเว็บแบบสแตติก แต่โปรแกรมอ่านหน้าจอไม่เปิดใช้ฟีเจอร์เฉพาะสำหรับเว็บใน Chrome สุดท้ายเมื่อเปลี่ยนชื่อไฟล์รันของ Chrome เป็น firefox.exe แล้วรัน ทุกอย่างก็เริ่มทำงาน หลังจากนั้นจึงติดต่อผู้ขายโปรแกรมอ่านหน้าจอเพื่อขอให้ปฏิบัติต่อ Chrome ในฐานะเว็บเบราว์เซอร์
เมื่อกว่า 15 ปีก่อน มีงานทำดัชนีข้อความระดับกิกะไบต์บน CPU มือถือ เนื่องจากตรรกะการ normalize คำทำงานช้ามาก จึงใช้แคชเพื่อเพิ่มความเร็วอย่างมาก ตอนพัฒนาตรรกะการล้างแคช บนเดสก์ท็อปซิมูเลเตอร์มันเร็วขึ้น แต่บนอุปกรณ์ฝังตัวกลับช้าลง สุดท้ายจึงออกของโดยใช้ตรรกะการลบที่ง่ายที่สุด
ฐานข้อมูลติดอยู่ในลูปบูตแล้วแครช และ innodb_history_list ของตารางหนึ่งเสียหาย เนื่องจากฐานข้อมูลแครชทันทีจึงเปิดเซสชันแล้วลบตารางไม่ได้ จึงเปิดเทอร์มินัลหลายหน้าต่างแล้วรัน
while true; do mysql -e 'drop table xyz;' doneและหลังจากพยายามหลายล้านครั้งก็เชื่อมต่อฐานข้อมูลสำเร็จตอนที่ไดรฟ์ CD ของคอมพิวเตอร์เครื่องแรกพัง ไม่มีเงินพอจะซื้อใหม่ จึงใช้ฟลอปปีดิสก์อยู่เกือบหนึ่งปี สุดท้ายจึงถอดไดรฟ์ออกมาดูจนพบปัญหา และใช้ kiełbasa ไส้กรอกโปแลนด์เป็นสารหล่อลื่นให้เฟืองจนซ่อมไดรฟ์สำเร็จ
เนื่องจากฮีตเตอร์ก๊าซธรรมชาติอายุ 30 ปีไม่รองรับสมาร์ตเทอร์โมสแตต จึงสร้างระบบที่ติดเฟืองพลาสติกเข้ากับปุ่มหมุนปรับอุณหภูมิ และใช้เซอร์โวที่เชื่อมกับ Raspberry Pi เพื่อควบคุมอุณหภูมิได้
ตอนทำงานในวงการค้าฟอเร็กซ์รายย่อย ลูกค้ามักโต้แย้งราคาที่พวกเขาเห็นกับราคาที่ป้อนคำสั่งซื้อ เพื่อแก้ปัญหานี้จึงพัฒนาโซลูชันที่บันทึกราคาเป็นล็อกเมื่อคลิกปุ่มซื้อขาย ไฟล์ล็อกนี้บันทึกองค์ประกอบ Java Swing GUI ในรูปแบบ ASCII art
ในบริการโปรดักชันแห่งหนึ่ง มีการ mmap SSD ทั้งลูกแล้ว cast เป็นโครงสร้างข้อมูล C++ โดยตรง SSD ลูกนั้นไม่มีไฟล์ซิสเต็ม และเก็บเป็นอาร์เรย์ขนาดมหึมาของ struct ที่อัดข้อมูลไว้โดยตรง หาก SSD พังต้องกู้ข้อมูลทั้งหมดจากแบ็กอัป แต่วิธีนี้เร็วและถูกอย่างน่าประหลาด