1 คะแนน โดย GN⁺ 2024-06-01 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • จำเป็นต้องเก็บรักษาไฟล์บันทึกเสียงสั้น ๆ ที่ยังเหลืออยู่ใน Apple PowerBook Duo 280c รุ่นปี 1994 แต่ช่องทางเอาต์พุตเสียง ฟลอปปีดิสก์ เครือข่าย และอะแดปเตอร์ดิสก์ล้วนใช้ไม่ได้ จึงต้องใช้ การส่งแฟกซ์ เป็นทางอ้อม
  • เปิดไฟล์เสียงเป็นข้อความเลขฐานสิบหกด้วย hex editor ของ ResEdit แล้วคัดลอกไปวางใน Microsoft Word จากนั้นส่งผ่านฟังก์ชันแฟกซ์ในกล่องโต้ตอบการพิมพ์
  • ฝั่งรับใช้โมเด็มในตัวและแอปแฟกซ์ของ ThinkPad T60 ที่ติดตั้ง Windows XP และแทนที่จะเชื่อมแล็ปท็อปสองเครื่องด้วยสายโทรศัพท์โดยตรง จำเป็นต้องใช้วงจรจำลองสายโทรศัพท์ที่ใช้แบตเตอรี่ 9V
  • วิธีแปลงภาพแฟกซ์ TIF กลับด้วย OCR ทำให้เสียงมี เสียงแตกและเสียงป๊อป เพราะอ่าน 0/C, 9/4, 0/D ผิด รวมถึงมีข้อผิดพลาดแบบตกหล่นและแทรกเกิน
  • สุดท้ายจึงสร้างเครื่องมือ FaxToBinary ที่วิเคราะห์กริดตัวอักษรฟอนต์คงความกว้างเอง แล้วสอนรูปแบบตัวอักษรด้วยมือ จนกู้ไฟล์เสียงที่ตรงกับต้นฉบับแบบไบต์ต่อไบต์ได้

เส้นทางคัดลอกที่ถูกปิดตาย

  • อุปกรณ์เป้าหมายคือ PowerBook Duo 280c รุ่นปี 1994 และภายในมีไฟล์บันทึกเสียงสั้น ๆ หลายไฟล์ที่ต้องการเก็บรักษา
  • โชคดีที่แล็ปท็อปยังบูตได้ ฮาร์ดไดรฟ์ยังหมุนเมื่อเคาะเบา ๆ และไฟล์เสียงเล่นผ่านลำโพงในตัวได้
  • วิธีคัดลอกทั่วไปถูกปิดตายไปทีละทาง
    • ไม่มี แจ็กเสียง ทำให้คัดลอกแบบอนาล็อกคุณภาพดีได้ยาก
    • ฮาร์ดไดรฟ์ภายในใช้ SCSI ที่มีคอนเน็กเตอร์แปลก และยังไม่แน่ใจว่าระบบสมัยใหม่จะอ่านระบบไฟล์ HFS รุ่นเก่าได้ง่ายหรือไม่
    • เมื่อเชื่อมต่อไดรฟ์ฟลอปปีภายนอก คอมพิวเตอร์จะไม่ทำงาน และหาสาเหตุเสียไม่ได้
    • มีพอร์ต AppleTalk และแจ็กโทรศัพท์ แต่ไม่ได้ติดตั้งซอฟต์แวร์เครือข่ายไว้
  • HTTP เพิ่งสรุปมาตรฐานในปี 1996 และแล็ปท็อปเครื่องนี้ก็ไม่มีซอฟต์แวร์สำหรับการเชื่อมต่อแบบ dial-up ที่น่าจะใช้ได้ในยุคนั้น
  • แต่ยังมีตัวหมุนโทรศัพท์และ ซอฟต์แวร์แฟกซ์ เหลืออยู่ จึงสามารถใช้โมเด็มเป็นทางอ้อมได้

แปลงไฟล์ให้เป็นเอกสารแฟกซ์

  • บนแล็ปท็อปมี ResEdit โปรแกรมแก้ไข resource ติดตั้งอยู่พร้อมกับเกมต่าง ๆ และสามารถดูเนื้อหาดิบของไฟล์เป็นเลขฐานสิบหกด้วย hex editor ของเครื่องมือนี้ได้
  • ResEdit ไม่รองรับการพิมพ์ออก จึงต้องย้ายข้อความเลขฐานสิบหกไปยังแอปอื่น
  • ไฟล์เสียงตัวอย่างมีขนาด 37,928 ไบต์ และเมื่อแต่ละไบต์แสดงเป็นเลขฐานสิบหก 2 ตัวอักษร ข้อความที่แทนข้อมูลจึงยาวเป็นสองเท่า
  • มีข้อจำกัดด้านขนาดที่จัดการได้ในครั้งเดียว จึงแบ่งไฟล์คัดลอกเป็นส่วน ๆ โดยประมวลผลทีละ 12288 ไบต์ หรือ 0x3000 เพื่อให้จำ offset ได้ง่าย
  • ข้อความเลขฐานสิบหกที่คัดลอกไปยังคลิปบอร์ดสามารถวางลงในเอกสาร Microsoft Word ได้ตรง ๆ และ Word มีฟังก์ชันพิมพ์ออก
  • ไฟล์ทั้งหมดมีขนาดต่ำกว่า 100KB และความเร็วในการคัดลอกด้วยมือผ่านคลิปบอร์ดจาก ResEdit ไปยัง Word ประเมินว่าเฉลี่ยประมาณ 316 ไบต์/วินาที

สร้างสายโทรศัพท์จำลองระหว่างแล็ปท็อปสองเครื่อง

  • คอมพิวเตอร์ฝั่งรับคือ ThinkPad T60 ที่มีโมเด็ม dial-up ในตัว และแอปแฟกซ์ของ Windows XP สามารถบันทึกแฟกซ์ขาเข้าเป็นภาพ TIF หลายหน้าได้
  • วิธีเชื่อมแล็ปท็อปสองเครื่องเข้าด้วยกันโดยตรงด้วยสายโทรศัพท์ล้มเหลว
    • PowerBook โทรออกได้ แต่ ThinkPad ไม่รับสาย
    • ตัวเลือก “Ignore Dial Tone” ก็ไม่ช่วย
  • แรงดันไฟฟ้าที่เครือข่ายโทรศัพท์พื้นฐานจริงจ่ายให้มีความสำคัญต่อการทำงานของโมเด็ม และแก้ปัญหานี้ด้วย วงจรจำลองสายโทรศัพท์
  • วงจรนี้สร้างได้ด้วยชิ้นส่วนอิเล็กทรอนิกส์ทั่วไปและ แบตเตอรี่ 9V โดยทำหน้าที่เป็นสายโทรศัพท์จำลองระหว่างแล็ปท็อปสองเครื่อง
  • การส่งแฟกซ์จำเป็นต้องมีหน้าปกตามข้อกำหนดของ FCC และเมื่อเพิ่มหน้าปกแล้ว การส่งก็เริ่มดำเนินการได้
  • ตอนแรกหลัง rasterize แล้วคาดว่าจะใช้เวลาส่ง 24 นาที แต่เมื่อปรับขนาดฟอนต์ให้เล็กลง เหลือ 6 หน้าและ 7 นาที และ ThinkPad รับแฟกซ์ที่ความเร็ว 14400bps

ข้อผิดพลาดที่ยังเหลือจาก OCR

  • แฟกซ์ที่ ThinkPad ได้รับเป็นภาพ TIF และเพื่อแปลงกลับเป็นไฟล์ไบนารี จึงลองแปลงเป็น PDF และใช้ OCR ก่อน
  • ภาพแฟกซ์ดูเหมือนเหมาะกับ OCR
    • ข้อความสร้างจากคอมพิวเตอร์ จึงมีการจัดแนวและรูปทรงสม่ำเสมอ
    • ตัวอักษรที่ใช้มีเพียง 16 แบบ คือ 0-9 และ A-F
    • ใช้ฟอนต์คงความกว้างยอดนิยมอย่าง Courier
  • สามารถเลือกข้อความผลลัพธ์จาก OCR คัดลอกไปยัง hex editor แล้วบันทึกเป็นไฟล์ไบนารีได้
  • Audacity ประเมินรูปแบบเสียงของไฟล์ผลลัพธ์ว่าเป็น unsigned 8-bit PCM, little-endian, 22050Hz, mono และแสดง waveform ได้ด้วย
  • การเล่นกลับโดยรวมใช้ได้ แต่ dip ที่เกิดขึ้นฉับพลันใน waveform ฟังเป็นเสียงแตกหรือเสียงป๊อปจากข้อผิดพลาดในการถอดข้อความของ OCR
  • แม้ลอง OCR หลายโปรแกรม รวมถึงเปลี่ยนขนาดฟอนต์และฟอนต์ ก็ยังไม่ถึงความแม่นยำ 100%
    • สับสนระหว่าง 0 กับ C, 9 กับ 4, 0 กับ D
    • บางครั้งตกหล่นตัวอักษรหรือแทรกตัวอักษรใหม่เข้ามา

กู้คืนระดับไบต์ด้วย FaxToBinary

  • เนื่องจากข้อความในภาพแฟกซ์สร้างด้วย ฟอนต์คงความกว้าง จึงสามารถมองทั้งเอกสารเป็นกริดตัวอักษรที่มีระยะห่างคงที่ได้
  • เมื่อปรับจุดเริ่มต้น, offset ของตัวอักษร และระยะห่างบรรทัดให้ตรง ก็สามารถจับภาพและวิเคราะห์ตัวอักษรแต่ละตัวแยกกันได้
  • เครื่องมือที่สร้างเองให้ตรวจสอบผ่านพรีวิวด้านซ้ายว่าพารามิเตอร์ขนาดและ offset ถูกต้องหรือไม่ และหากเลื่อนตัวอักษรหรือขึ้นบรรทัดใหม่แล้วไม่เกิด drift ก็เริ่มประมวลผลได้
  • การรู้จำตัวอักษรทำงานด้วยวิธีสอนด้วยมือแบบเรียบง่าย
    • ทุกครั้งที่พบรูปแบบเฉพาะที่ยังไม่เคยเห็น ผู้ใช้จะระบุว่ามันคือตัวอักษรใด
    • จากนั้นเมื่อพบตัวอักษรรูปเดียวกันอีก ก็จะจำคำตอบเดิมมาใช้ซ้ำ
  • ซอร์สของเครื่องมือมีให้เป็น FaxToBinary.zip
  • หลังสอนด้วยมือเล็กน้อย เครื่องมือก็ส่งออกไฟล์ได้ เสียงเล่นได้อย่างราบรื่นโดยไม่มีเสียงป๊อป และกลายเป็นสำเนาที่ ตรงกับต้นฉบับแบบไบต์ต่อไบต์
  • หลังจากกู้ไฟล์แล้ว ยังสามารถรัน DOOM บน PowerBook เครื่องนั้นได้ด้วย

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

 
kayws426 2024-06-01

แค่ความคิดเฉยๆ

  • น่าทึ่งที่มีการติดตั้ง Microsoft Word อยู่ใน PowerBook อายุ 30 ปี
  • ถ้าจะทำ OCR ก็ควรเป็นรูปแบบที่มีการให้ checksum มาด้วย ไม่ใช่ RAW-HEX code ฟอร์แมตง่ายๆ อย่าง ihex หรือ srecord ก็มี checksum ให้
  • ถ้าเป็นสาย Linux ก็คาดว่าน่าจะโทรออกแล้วส่งไฟล์อย่างปลอดภัยด้วย zmodem
 
GN⁺ 2024-06-01
ความคิดเห็นจาก Hacker News
  • เคยเจอปัญหาคล้ายกันตอนทำ OCR กับ hex dump จากนิตยสารคอมพิวเตอร์เก่า ๆ และแก้ได้ด้วยการทำเครื่องมือสำหรับตรวจสอบผลลัพธ์ OCR
    เมื่อนำผลลัพธ์ OCR เข้าไปแล้วแยกตัวเลขออก เครื่องมือนี้จะแสดงอักขระที่ตัดมาจากต้นฉบับแยกตามกลุ่ม ให้คนดูด้วยตาแล้วหาการจัดกลุ่มผิด เช่น “3” ที่หลุดเข้าไปอยู่ในกลุ่ม “8” ได้อย่างรวดเร็ว
    https://blog.qiqitori.com/2023/03/ocring-hex-dumps-or-other-...
    https://blog.qiqitori.com/2023/03/ai-day-in-retroland-prolog...
    ผมเขียนบทความที่เกี่ยวข้องไว้สองบทความ และมีลิงก์ไปยังเครื่องมืออยู่ในบทความด้วย อย่างไรก็ตาม ความใช้งานง่ายของเครื่องมือก็ดีกว่า sendmail เพียงนิดเดียวเท่านั้น
    ไม่แน่ใจว่าโน้ตบุ๊ก Apple รุ่นเก่ามีสภาพแวดล้อมสำหรับเขียนโปรแกรมหรืออะไรคล้าย Microsoft Word ในยุคนั้นหรือไม่ แต่คิดว่าน่าจะมีวิธีที่ดีกว่านี้โดยไม่ต้องแฮ็กฮาร์ดแวร์

    • สภาพแวดล้อมสำหรับเขียนโปรแกรมมีอยู่แน่นอน แต่ไม่ได้ติดตั้งมาในตัว และประเด็นสำคัญตรงนี้คือ ฟลอปปีไดรฟ์ภายนอกไม่ทำงาน
      วิธีที่ดีกว่าน่าจะเป็นการใช้พอร์ตอนุกรม แทนที่จะส่งแฟกซ์ผ่านพอร์ตโมเด็ม อะแดปเตอร์ serial-to-USB หาได้ง่าย
    • วิธีนี้ดูเหมือนจะปรับปรุงให้เป็นอัตโนมัติได้ด้วย บางทีมันอาจมีอยู่แล้วในงานวิจัยเมื่อ 40 ปีก่อน แต่ผมไม่รู้ชื่อก็ได้
      โดยพื้นฐานคือในรอบที่สอง หา outlier ของแต่ละกลุ่มอักขระ แล้วลองจัดกลุ่มใหม่ชั่วคราวไปยังกลุ่มอื่น หาก คะแนนความคล้ายคลึง ของกลุ่มที่เกี่ยวข้องดีขึ้นก็เก็บการเปลี่ยนแปลงไว้ จากนั้นทำซ้ำจนกว่าจะไม่ดีขึ้นอีก
      ตัวอย่างเช่น หา “เลข 3 ที่เหมือนเลข 3 ตัวอื่นน้อยที่สุด” แล้วลองย้ายไปไว้ในกลุ่ม “8” ชั่วคราว หากคะแนน “ชิ้นส่วนเลข 3 คล้ายกันแค่ไหน” และ “ชิ้นส่วนเลข 8 คล้ายกันแค่ไหน” ดีขึ้น ก็เก็บการเปลี่ยนแปลงนั้นไว้ได้
      แต่ถ้าในเอกสารมีหลายฟอนต์ปนกัน อาจให้ผลตรงข้ามได้ เช่น การเอา “3” จากคนละฟอนต์มารวมกันจนทำให้คะแนนความคล้ายของกลุ่มแย่ลง
    • อาจเลือกใช้ ชุดอักขระ 16 ตัว ที่หลีกเลี่ยงความสับสนของ OCR แล้วใช้ find/replace ของ Word ก็ได้
    • นึกถึงแอป OCR ที่เคยใช้ตอนแปลงซับไตเติล PGS เป็น SRT มันจะแสดงคำและตัวอักษรที่จัดกลุ่มไว้ แล้วให้ผู้ใช้อนุมัติหรือแก้ผลการแปล
  • โน้ตบุ๊กเครื่องนั้นไม่มี พอร์ตอนุกรม (COM) เหรอ? สมัยนั้นแทบจะเป็นมาตรฐาน และตามเว็บนี้ [1] บอกว่ามีอยู่สองพอร์ต
    ถ้าใช้ Zmodem ก็น่าจะง่าย และดูเหมือนว่าจะมีซอฟต์แวร์เทอร์มินัลอยู่แล้วด้วย
    [1] https://everymac.com/systems/apple/powerbook_duo/specs/mac_p...

    • ใช้ xmodem หรือ zmodem ได้ และส่งไฟล์ที่ต้องการไปมาได้ด้วย การเข้ารหัส macbinary
      แต่ฝั่ง PowerBook ต้องมีอะไรสักอย่างที่รับข้อมูลทางพอร์ตอนุกรมได้ ClarisWorks ทำได้แน่นอน และมีความเป็นไปได้สูงว่า Office ก็มีฟังก์ชัน “รับเอกสาร” แบบเดียวกัน
      หรือจะ “พิมพ์” ออกทางพอร์ตอนุกรมแล้วจับเอาต์พุตอนุกรมไว้ก็ได้ จริง ๆ แล้วเป็นการส่งข้อความทางเดียว แต่ก็เพียงพอสำหรับสิ่งที่ผู้เขียนต้องการทำ
      ถึงอย่างนั้น วิธีส่งแฟกซ์แล้วทำ OCR ก็ดูเท่ทีเดียว
    • ผมเป็นผู้เขียนเอง คำถามดี และน่าจะมีพอร์ตอยู่จริง แต่พูดตามตรง ผมไม่คุ้นกับ Zmodem
      ผมจำไม่ได้ว่ามีแอปเทอร์มินัลติดตั้งอยู่ในโน้ตบุ๊กหรือเปล่า แต่อาจเป็นเพราะผมหาไม่ละเอียดพอก็ได้
    • มีพอร์ตอยู่ เหมือนที่ Kevin McCallister ใน Home Alone โทรหาตำรวจได้ ผู้เขียนดูเหมือนจะเลือกให้มันเป็น เรื่องเล่าพิเศษ มากกว่าจะเลือกทางแก้ที่ง่ายที่สุด
    • Apple ใช้ คอนเน็กเตอร์ mini DIN 8 พิน สำหรับพอร์ตอนุกรม ดังนั้นผู้เขียนอาจไม่มีสายที่ตรงรุ่นก็ได้
  • ตอนแรกคิดว่าจะถ่ายรูปหน้าจอโน้ตบุ๊กเก่าแล้วทำ OCR แต่แนวทางที่ใช้จริงน่าสนุกกว่านั้นมาก
    ถึงอย่างนั้น การตั้งฟอนต์ให้ใหญ่แล้วใช้เวลา 24 นาทีในการส่ง อาจจะเร็วกว่าก็ได้ มีโอกาสสูงว่าการเขียนซอฟต์แวร์ OCR ที่ปรับปรุงแล้วจะใช้เวลามากกว่า 24 นาที
    แต่ถ้าทำแบบนั้นก็คงไม่สนุก

    • ผมเป็นผู้เขียนเอง แค่ทำ OCR ข้อความสะอาด ๆ ที่คอมพิวเตอร์สร้างขึ้นด้วยซอฟต์แวร์เชิงพาณิชย์ยังยากที่จะให้ผลลัพธ์เสถียร เมื่อดูจากตรงนั้น OCR จากภาพถ่าย ก็น่าจะยิ่งเชื่อถือได้ยากกว่า
      ในบทความผมตัดออกเพื่อให้กระชับ แต่จริง ๆ แล้วผมลองฟอนต์และขนาดตัวอักษรหลายแบบทีละหน้า และตรวจด้วยมือแล้ว แต่ไม่ได้ดีขึ้นมาก
    • เคยแก้ ปัญหา screen sharing บน Wayland ด้วยวิธีแบบนี้มาก่อน [0]
      [0] https://social.immibis.com/notice/AeWSRvyKlhBB2hANoe
    • โน้ตบุ๊กอายุประมาณนี้ควรมีพอร์ตอนุกรม แม้ในสภาพแวดล้อมอย่าง Win95 ก็ยังตั้ง null modem กับ TCP/IP แล้วคัดลอกไฟล์ผ่าน SMB ไปยัง OS ที่ค่อนข้างทันสมัยได้
    • ผู้เขียนบอกว่าได้ลองหลายขนาดตัวอักษรแล้ว
  • ตอนยังหนุ่ม เคยต้องดึงฐานข้อมูล dBase 2 ออกจาก เดสก์ท็อป CP/M ไปยังพีซีพกพา MS-DOS
    ตั้งค่าสายอนุกรม รัน PROCOMM บนพีซี แล้วตั้งพอร์ตทั้งสองฝั่งเป็น 9600/n/8/1 จากนั้นสั่งพิมพ์จาก dBase 2 ให้ PROCOMM บันทึกเซสชันเป็นไฟล์
    ถ้าปล่อยให้รันโดยไม่หยุดนานเกินไปเพื่อเขียนลงฟลอปปี ตัวอักษรจะหายไป จึงควบคุม flow จากฝั่ง CP/M ด้วย ctrl-s/q
    ตอนนั้นเหมือนจะไม่มีใครเคยคิดวิธีทำแบบนี้มาก่อน

    • ในกรณี MacBook นี้ ดูเหมือนปัญหาคือไม่มีซอฟต์แวร์ที่เหมาะสม
      ถึงอย่างนั้น ถ้ามีโมเด็มติดตั้งอยู่ ผมจำได้ว่าก็ควรจะมี ซอฟต์แวร์เทอร์มินัล ด้วย
  • AppleTalk น่าจะใกล้เคียงกับคำตอบที่ถูกที่สุด มีไดรเวอร์ในตัว และ Apple ก็รักษาความเข้ากันได้ย้อนหลังไว้ได้ดีเป็นเวลานาน
    ผมเคยเจอปัญหาคล้ายกันตอนย้ายไฟล์ระหว่าง IIGS กับอุปกรณ์สมัยใหม่ แม้จะใช้ฟลอปปีดิสก์อีมูเลเตอร์, SCSI หรือซีเรียลดิบก็ได้ แต่ถ้ามี Mac ที่มีทั้ง AppleTalk และอีเทอร์เน็ตคั่นกลาง ก็สามารถลากและวางโครงสร้างไฟล์ทั้งหมดระหว่างอุปกรณ์ปลายทางที่ใช้ AppleTalk กับแชร์อย่าง SMB ได้ จึงเรียบง่ายกว่า
    SCSI เองก็มักจะแปลงได้ไม่ยาก ถ้ารู้ชนิดและคอนเนกเตอร์ของไดรฟ์ และยินดีต่ออะแดปเตอร์หลายตัวเป็นลูกโซ่ จำได้ว่าไดรฟ์ SCSI ขนาด 2.5 นิ้วใช้คอนเนกเตอร์ตระกูล SCA และตราบใดที่ทำตามกฎ single-ended/differential ก็มีอะแดปเตอร์ SCSI ที่เชื่อมแทบทุกอย่างเข้าด้วยกันได้
    ปัญหาคือการหา OS หรือเครื่องมือที่จะอ่านระบบไฟล์ Mac รุ่นเก่าได้ แต่คงมีหนึ่งในยูทิลิตีที่อ่านอิมเมจดิบที่สามารถอ่านและเขียนดิสก์อิมเมจได้

    • ถ้าผู้เขียนให้รุ่น HDD กับรูป PCB และคอนเนกเตอร์มาด้วยก็คงดี
      เป็นไปได้มากว่างานต่อไปยังที่อื่นเพื่อคัดลอกข้อมูลนั้นค่อนข้างเรียบง่าย ผมทำงานในที่ที่ต้องจัดการฮาร์ดแวร์อายุกว่า 30 ปีแบบนี้อยู่บ่อย ๆ และหัวใจสำคัญคือการออกจากกรอบว่าเป็น วิธีแก้ด้วยซอฟต์แวร์
      นี่ไม่ใช่ปัญหาซอฟต์แวร์ และส่วนใหญ่ต้องใช้ความเชี่ยวชาญคนละแบบ
    • ผู้เขียนบอกว่าไม่ได้ติดตั้ง ซอฟต์แวร์เครือข่าย ไว้
      เรื่องการแปลง SCSI ผมก็คิดเหมือนกัน และผู้เขียนบอกว่าไม่แน่ใจว่าจะอ่านโวลุ่ม HFS ได้หรือไม่ แต่ Linux มีไดรเวอร์ HFS มาหลายสิบปีแล้ว
    • หากตัดปัญหาคอนเนกเตอร์ภายในออกไป โน้ตบุ๊ก Mac ส่วนใหญ่และ Mac สมัยใหม่ทุกเครื่องมี Target Mode ที่เปิดเผยฮาร์ดดิสก์ภายในให้เป็นเหมือนอุปกรณ์ SCSI, FireWire, Thunderbolt หรือ USB ภายนอก เพื่อให้คอมพิวเตอร์เครื่องอื่นเมานต์ได้
      กรณีนี้เป็น PowerBook Duo กับดิสก์ SCSI จึงต้องใช้อุปกรณ์อย่าง Duo Dock[2], อะแดปเตอร์แปลง HDI-30[3] และชุดสายเคเบิล·คอนเวอร์เตอร์·คอนโทรลเลอร์สำหรับเชื่อมอุปกรณ์ parallel SCSI เข้ากับระบบสมัยใหม่
      ถ้ามีเครื่องที่มีสล็อต PCI Express หรือ Thunderbolt PCI Express enclosure แนะนำอะแดปเตอร์ LSI Logic Ultra320 ที่หาได้ใน eBay ราคาต่ำกว่า 50 ดอลลาร์ ไดรเวอร์สำหรับ macOS, Linux และ Windows หาได้ง่าย
      เมื่อเตรียมพร้อมแล้ว ให้เชื่อม Mac เข้าด้วยกันด้วยสาย SCSI แล้วกด T ระหว่างบูต PowerBook เพื่อเข้าสู่ target disk mode จากนั้นถ้า OS ถามว่าจะฟอร์แมตดิสก์ที่อ่านไม่ได้หรือไม่ ให้ตอบว่าไม่อย่างเด็ดขาด
      สำหรับการเข้าถึงระบบไฟล์ HFS บน macOS วิธีที่ดูครบถ้วนและง่ายที่สุดคือสร้างอิมเมจดิสก์ดิบ สำรองไว้ แล้วติดตั้ง Mac OS 9 ใน qemu แนบอิมเมจเข้าไป ใช้ Alsoft PlusMaker แปลง HFS เป็น HFS+ แบบ inplace จากนั้นจึงเมานต์อิมเมจใน macOS ปัจจุบัน
      แถมยังได้ระบบ Mac OS 9 แบบอีมูเลตบน Mac สมัยใหม่ ที่สามารถรันแอปส่วนใหญ่จากฮาร์ดดิสก์ PowerBook เดิมได้ด้วย
      [1] https://developer.apple.com/library/archive/technotes/tn/tn1...
      [2] https://en.wikipedia.org/wiki/PowerBook_Duo#Docking_stations
      [3] https://www.amazon.com/dp/B0081SAIS2/
      [4] https://www.broadcom.com/support/download-search?pg=Legacy+P...
      [5] https://wiki.qemu.org/Documentation/GuestOperatingSystems/Ma...
      [6] https://www.macintoshrepository.org/19-plusoptimizer-plusmak...
      [7] https://www.macintoshrepository.org/809-stuffit-deluxe-1-5-x...
      [8] https://www.macintoshrepository.org/1724-toast-5-titanium
  • อันนี้ให้ความรู้สึกเหมือน ข้อสอบทฤษฎีสารสนเทศ ภาคสนาม เลยชอบ
    “จงส่งไฟล์ขนาด 32,000 ไบต์ผ่านช่องทางที่ต้องการ ทุกช่องทางล้วนห่วยไม่ทางใดก็ทางหนึ่ง คุณมีสมาร์ตโฟน พอร์ตอนุกรม และคอมพิวเตอร์ คอมพิวเตอร์ไม่มีคอมไพเลอร์ แต่ใช้ฟังก์ชันพื้นฐานอะไรก็ได้ วิธีแก้ที่ต้องป้อนจำนวนไบต์มากกว่าไฟล์ที่จะส่ง เช่น สคริปต์ ถือว่าตกรอบ ไม่มีจำกัดเวลา แต่วิธีที่เร็วที่สุดชนะ เริ่มได้”
    ถ้าเป็น Mac เก่า ๆ ก็ไม่รู้ว่าจะทำได้ดีกว่าคนเขียนหรือเปล่า แต่ถ้าสามารถแทนตัวอักษรที่ดูคล้ายกัน เช่น 3 กับ 8 ให้เป็นตัวที่แยกกันชัดมาก ๆ อย่าง 8→Z ได้ วิธีถ่ายหน้าจอด้วยสมาร์ตโฟนแล้วทำ OCR ก็ดูยั่วใจว่าอาจเร็วที่สุด
    เหมือนว่า System 7 มี AppleScript อยู่ ดังนั้นอาจทำขั้นตอนแทนที่แบบคล้าย sed ได้ก็ได้

    • ก่อนคิดถึงวิธีแก้ด้วยซอฟต์แวร์ ผมน่าจะถอดไดรฟ์ออกมาก่อนแล้วเสียบเข้ากับ อินเทอร์เฟซ XYZ-to-USB
      ติดตั้ง hfsprogs แล้วเมานต์ไดรฟ์ จากนั้นดึงไฟล์ที่ต้องการออกมาก็จบ
      คอนเนกเตอร์เฉพาะทางอาจเป็นปัญหา ต้องอ้อมด้วยการบัดกรีเฉพาะหน้าอะไรทำนองนั้น แต่โชคดีที่อุปกรณ์เก่า ๆ มักยังทำงานได้ค่อนข้างดีแม้ทำแบบนั้น
      พูดตามตรง นี่คือข้อได้เปรียบของคนสายฮาร์ดแวร์
    • OCR ด้วยกล้องสมาร์ตโฟนทำให้เกิดข้อผิดพลาดที่ตรวจพบและแก้ไขได้ยากได้ง่าย
      ดังนั้นคงมองหา การเข้ารหัส ที่ทำให้ข้อผิดพลาดเกิดน้อยมาก ๆ ถ้าต้องดัมป์ทั้งไดรฟ์ของแล็ปท็อป ผมว่าการเปิดแล็ปท็อปทิ้งไว้หนึ่งสัปดาห์ครั้งเดียว ยังดีกว่าวิธีที่เร็วกว่าแต่มีข้อผิดพลาด
      คำนวณง่าย ๆ ถ้าส่ง 320MB ในหนึ่งสัปดาห์ เท่ากับ 530 ไบต์ต่อวินาที ถ้าแสดงผลหน้าจอที่ 4Hz แล้วอัดวิดีโอด้วยสมาร์ตโฟน ก็น่าจะถือว่าไม่มีเฟรมหลุดหรืออาร์ติแฟกต์แปลก ๆ และจะได้ประมาณ 135 ไบต์ต่อเฟรม หรือ 1080 บิต
      ถ้าแบ่งหน้าจอ 8.4 นิ้ว 640×480 เป็นช่องสี่เหลี่ยม 16×16 พิกเซล จะได้ช่องประมาณ 1000 ช่อง ขนาดราว 0.5 ซม. ถ้าแสดงแต่ละช่องเป็นขาวดำเป็นเวลา 0.25 วินาที อาร์ติแฟกต์จากกล้องก็ไม่น่ากระทบข้อมูลมาก และแทบพอดีกับแบนด์วิดท์ที่ต้องการ
    • สงสัยว่าถ้าจะใช้ตัวแก้ไขเฮกซ์ป้อน โปรแกรมไบนารี ที่แสดงข้อมูลออกทางหน้าจอเป็นภาพขาวดำต่อเนื่อง คล้าย QR code แต่ไม่ใช่ QR ต้องใช้กี่ไบต์
      เพราะไม่ได้ OCR ตัวอักษร ปัญหาที่พูดถึงข้างบนจึงลดลง แต่ก็ต้องเอาโปรแกรมนั้นเข้าเครื่องให้ได้ก่อน
  • ส่วนที่บอกว่าฮาร์ดดิสก์ภายในเป็น SCSI ที่ใช้คอนเนกเตอร์แปลก ๆ เลยดูเหมือนต่ออะแดปเตอร์ได้ยาก จริง ๆ แล้วมีทางคือใช้ บัส SCSI
    SCSI เป็นโปรโตคอล bus mastering ที่ให้มาสเตอร์หลายตัวแชร์บัสกันได้ จึงเสียบคอมพิวเตอร์สองเครื่องเข้ากับบัส SCSI เดียวกันพร้อมกัน แล้วเข้าถึงอุปกรณ์ดิสก์ร่วมกันได้ ไม่ควรไว้ใจการเขียนไฟล์ซิสเต็มพร้อมกันก็จริง แต่ดิสก์ทั้งลูกในยุคนั้น สำหรับวันนี้ก็เป็นแค่ไฟล์ใหญ่ไฟล์เดียว ดัมป์ทั้งลูกไปเลยก็พอ
    ความไม่สอดคล้องของไฟล์ซิสเต็มที่เปิดอยู่ก็น่าจะอยู่ระดับเดียวกับการกู้คืนหลังแครช และคงไม่กระทบไฟล์ที่เก็บไว้นานแล้ว
    HFS รุ่นเก่าก็น่าจะเมานต์แบบลูปแบ็กบน Linux ได้ง่ายมาก ด้วยข้อดีสไตล์โอเพนซอร์ส/New Jersey
    ผมยังมีอิมเมจดิสก์ทั้งลูกของ Mac SE20 เก่าปี 1988 อยู่ และบางครั้งก็เอามาเมานต์ มันถูกดึงออกมาผ่านบัส SCSI เหมือนกัน 20 น่าจะหมายถึง MHz ของโปรเซสเซอร์ 68020 แต่บังเอิญว่ามีดิสก์ 20MB ติดมาด้วย และ SE30 ในปีถัดมาก็คล้ายกัน
    ส่วนที่ใช้ซอฟต์แวร์แฟกซ์ทำให้นึกถึงไอเดียที่เคยคิดไว้แต่ไม่ได้ลงมือทำ ถ้าใส่อะไรคล้าย QR code ขนาดใหญ่ที่เข้ารหัสรูปแบบ .DOC ของเอกสารไว้บนใบปะหน้าแฟกซ์ ก็น่าจะส่งผ่านเครื่องแฟกซ์ทั่วไปได้ และถ้าผู้รับเป็นโมเด็มคอมพิวเตอร์ ก็รับเอกสารในรูปแบบต้นฉบับแล้วใช้แฮนด์เชกหยุดการส่งแฟกซ์ส่วนที่เหลือได้
    น่าจะเป็นวิธีเปลี่ยนผ่านเทคโนโลยีแฟกซ์เก่า ๆ ได้อย่างนุ่มนวล

  • เมื่อไม่กี่ปีก่อน ผมใช้เวลาพอสมควรเพื่อส่งไฟล์ไปมาระหว่าง Macintosh Plus กับคอมพิวเตอร์สมัยใหม่
    ตอนนั้นใช้ไดรฟ์ ZIP 100MB สองตัว คือ SCSI สำหรับ Mac Plus และ USB สำหรับคอมพิวเตอร์สมัยใหม่ และภายหลังใช้การเชื่อมต่อพอร์ตอนุกรมด้วยซอฟต์แวร์เทอร์มินัล [1]
    ตอนนี้มีตัวเลือกที่ดีกว่าและถูกกว่าอย่าง BlueSCSI[2] แล้ว เป็นอีมูเลเตอร์ SCSI HDD ที่เมานต์ไฟล์ .img ที่เก็บอยู่ในการ์ด SD เป็นดิสก์ HDD ได้ และยังรองรับการจำลอง CD กับการ์ดเครือข่ายด้วย
    หลังจากคัดลอกไฟล์ไปยังไดรฟ์เสมือนแบบนี้แล้ว ก็สามารถดึงออกมาบนอุปกรณ์สมัยใหม่ด้วย HFS explorer หรืออีมูเลเตอร์ได้
    [1] https://blog.rekawek.eu/2016/12/08/mac-plus#hard-drive
    [2] https://bluescsi.com/

    • สมัยก่อนเคยฝันอยากได้ Zip drive ยังไม่ค่อยเข้าใจจนถึงตอนนี้ว่าทำไมมันถึงไม่กลายเป็นมาตรฐาน เหมือนที่ไดรฟ์ USB กลายเป็นมาตรฐานในภายหลัง
  • เป็นบทความที่น่าตื่นเต้นมาก และสำหรับความรู้คอมพิวเตอร์อันจำกัดของผมแล้วมันซับซ้อนเกินไป
    ราว ๆ ปี 1993~1994 ถ้านึกเรียงลำดับกับเหตุการณ์อื่น ๆ ผมเคยมีโอกาส “ซ่อม” โน้ตบุ๊ก IBM เครื่องหนึ่งที่บูตไม่ขึ้น มันหนา หนัก และใหญ่ แต่หน้าจอมีขนาดพอ ๆ กับฟลอปปีดิสก์ 3.5 นิ้ว
    ผมไม่เคยเห็นโน้ตบุ๊กแบบนั้นทั้งในรูปถ่ายหรือที่ไหนเลย เลยเดาว่าแม้ตามมาตรฐานในตอนนั้นก็น่าจะเป็นของที่เก่ากว่านั้นมาก ถ้ามีใครรู้ว่ามันคืออะไร ผมอยากเห็นรูป
    คุณลุงแถวบ้านที่เป็นทั้งเนิร์ดตกยุคและเหมือนเมนเทอร์ให้ผม เอามันมาให้ลองซ่อม และผมก็เอามันวางโชว์บนโต๊ะอยู่หลายวัน น่าจะซ่อมได้ด้วยวิธีโง่ ๆ ง่าย ๆ อย่างการแก้ AUTOEXEC.BAT แล้วโหลด WordStar สิ่งที่ต้องใช้ก็มีแค่ WordStar บน DOS เท่านั้น ไม่ใช่แม้แต่ Windows 3.x
    โน้ตบุ๊กเครื่องนั้นมีความเป็นไปได้สูงว่าได้มาจากมิชชันนารีคริสเตียนที่มาเยี่ยมโบสถ์ท้องถิ่นในบ้านเกิด
    ผมยังมีเรื่องซ่อมคอมพิวเตอร์อีกเรื่องหนึ่ง แต่ต้องนึกและเขียนรายละเอียดออกมาก่อน เป็นเรื่องที่ได้นอนในค่ายทหารบนภูเขา มีทหารยามติดอาวุธคุ้มกันตอนปัสสาวะ และได้กลับบ้านหลังช่วยดูแลหญิงตั้งครรภ์ด้วยรถพยาบาล “ภารกิจ” นั้นไปกับเพื่อนบ้านสมัยเด็ก แต่เขาเสียชีวิตแล้ว และคุณลุงผู้ผิดยุคผิดสมัยคนนั้นก็เสียชีวิตแล้วเช่นกัน ทั้งสองเรื่องไม่เกี่ยวข้องกัน

    • ดูเหมือน IBM Portable PC: https://en.wikipedia.org/wiki/IBM_Portable_Personal_Computer
      แต่หน้าจอน่าจะใหญ่กว่าฟลอปปีดิสก์ 3.5 นิ้วอยู่เล็กน้อย และไม่ได้รองรับฟลอปปีดิสก์ 3.5 นิ้ว มีแต่ 5.25 นิ้วเท่านั้น Osborne 1 หรือคอมพิวเตอร์พกพาช่วงต้นยุค 80 มีหน้าจอเล็กกว่านี้ แต่ไม่น่าจะรัน DOS
      อีกตัวเลือกหนึ่งคือ PC Convertible: https://en.wikipedia.org/wiki/IBM_PC_Convertible
  • ถ้ามี “ซอฟต์แวร์แฟกซ์” อยู่ ก็แทบจะแน่นอนว่าน่าจะมี เทอร์มินัลอีมูเลเตอร์ ด้วย และน่าจะส่งไฟล์แบบไม่เสียหายได้ด้วยอะไรอย่าง ZMODEM
    อ่านแล้วทรมาน เหมือนดูคนใช้มีดทาเนยแทนไขควงความละเอียดสูง