1 คะแนน โดย GN⁺ 2025-06-21 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Infinite Mac สามารถรัน Mac OS X รุ่นแรก ๆ ในเบราว์เซอร์ได้แล้ว โดยตอนนี้ 10.1 และ 10.3 เป็นเวอร์ชันที่รองรับได้ดีที่สุด
  • หลังจากเส้นทางเดิมที่ใช้ DingusPPC ติดอยู่กับ kernel panic และปัญหากราฟิก จึงเปลี่ยนทิศทางไปใช้ การพอร์ต PearPC ซึ่งสร้างขึ้นเพื่อจำลอง Mac OS X ในช่วงต้นทศวรรษ 2000
  • ประสิทธิภาพยังคงช้า โดย Mac OS X 10.2 ใช้เวลาเกือบ 2 นาที กว่าจะพร้อมใช้งานเต็มที่ และแม้การปรับแต่งก็ลดเวลาได้เพียงราว 15 วินาที
  • บั๊กที่พลาดการตรวจสอบบิต FP ในการประมวลผล floating point ของ PowerPC ทำให้เกิดปัญหาการเรนเดอร์ Dock และหน้าต่าง Finder และระหว่างการแก้ไขก็ช่วยปรับปรุง เสถียรภาพของ DingusPPC ด้วย
  • Infinite HD ถูกจัดโครงสร้างใหม่ให้รวมซอฟต์แวร์อินดี้และเครื่องมือจาก Developer CD ในยุค Mac OS X รุ่นแรก ๆ แต่ความแตกต่างระหว่าง HFS/HFS+ และความเข้ากันได้กับ .dmg เก่ายังคงเป็นข้อจำกัด

รัน Mac OS X รุ่นแรก ๆ ในเบราว์เซอร์

  • Infinite Mac สามารถรัน Mac OS X รุ่นแรก ๆ ได้แล้ว
    • Mac OS X 10.1 และ Mac OS X 10.3 เป็นเวอร์ชันที่รองรับได้ดีที่สุด
    • ความเร็วในการรันไม่ได้เร็ว แต่ความรู้สึกใกล้เคียงกับฮาร์ดแวร์จริงในยุคนั้น ซึ่งก็ไม่ได้ดีกว่ากันมากนัก
  • Infinite HD ที่มาพร้อมซอฟต์แวร์ตามยุคสมัย ก็ถูกจัดโครงสร้างใหม่โดยเน้นซอฟต์แวร์อินดี้ในช่วง Mac OS X รุ่นแรก ๆ

เปลี่ยนทิศทางไปพอร์ต PearPC

  • ตอนแรกพยายามรัน Mac OS X บน Infinite Mac ด้วย DingusPPC แต่ราวช่วงฤดูร้อนที่ผ่านมาไม่สามารถไปต่อจาก kernel panic และกราฟิกเพี้ยนได้
    • พยายามใช้โหมดการรันแบบ deterministic เพื่อลดขอบเขตปัญหา แต่ขั้นตอนถัดไปไม่ชัดเจน
  • จึงเลือก PearPC เป็นทางเลือก
    • PearPC ถูกสร้างขึ้นในช่วงต้นทศวรรษ 2000 เพื่อจำลอง Mac OS X บนเครื่อง x86 Windows และ Linux
    • หลังจากการเปลี่ยนผ่านไป Intel ความสนใจก็ลดลง และโดยพื้นฐานแล้วถูกมองว่าเป็น codebase ที่หยุดนิ่งไปแล้ว
  • จุดเริ่มต้นของการพอร์ตคือการที่ kanjitalk755 ได้ทำ branch ทดลองของ PearPC ที่ build และรันบน macOS สมัยใหม่ได้ไว้แล้ว
  • PearPC เป็น codebase แบบหลายแพลตฟอร์ม และไม่ได้ใช้แนวคิดที่พอร์ตยากอย่าง thread อย่างแพร่หลาย จึงย้ายไปยัง WebAssembly/Emscripten และ runtime ของ Infinite Mac ได้ง่าย
    • ใช้เวลาหลายวันในการทำให้ build ได้, แสดงผลวิดีโอ, โหลด disk image และเชื่อมต่อ input จากเมาส์กับคีย์บอร์ด
    • ผลคือสามารถรัน Mac OS X 10.2 ในเบราว์เซอร์ได้เสถียรกว่าเดิม

การปรับแต่งประสิทธิภาพและคอขวดที่ยังเหลือ

  • PearPC รัน Mac OS X 10.2 ได้เสถียรกว่า แต่รู้สึกช้ากว่า DingusPPC
  • ย้าย benchmark harness ของ DingusPPC ไปยัง PearPC และนำงานปรับแต่งเดิมของ DingusPPC มาทำซ้ำกับ PearPC ด้วย
    • emulator ทั้งสองตัวเป็น pure interpreter ที่ใช้ lookup table เป็นหลัก จึงทำงานได้ค่อนข้างตรงไปตรงมา
    • ลดเวลาบูต Mac OS X 10.2 ได้ประมาณ 15 วินาที
  • แม้หลังปรับแต่งแล้ว ก็ยังใช้เวลาเกือบ 2 นาที กว่าจะอยู่ในสถานะที่ใช้งานได้เต็มที่
    • เพิ่มข้อความแจ้งใน UI ของ Infinite Mac ว่าการบูต Mac OS X อาจช้า
  • คอขวดใหญ่ที่สุดคือ PearPC ไม่มี MMU cache
    • ทุก load/store ต้องผ่านการคำนวณ address ที่ซับซ้อน ทำให้มีต้นทุนสูง
    • DingusPPC มี hierarchical cache ที่ mature กว่าและดูมีประสิทธิภาพ
  • PearPC อาจเสถียรกว่า DingusPPC ในการรัน 10.2~10.4 แต่ codebase มีความเป็นระบบน้อยกว่า
    • ใช้ firmware และ video driver แบบ custom
    • implement เฉพาะคำสั่ง PowerPC บางส่วนที่ Mac OS X ต้องใช้
    • ระยะยาวคาดหวังว่า DingusPPC จะกลายเป็นตัวเลือกที่เร็ว เสถียร และแม่นยำ

การตรวจสอบบิต FP และบั๊กการเรนเดอร์

  • ระหว่างนำแนวทาง “ตารางถอดรหัสแบบรวม” ไปใช้กับ interpreter ของ PearPC แยกตามตระกูล opcode เกิด regression จากการเปลี่ยนแปลงด้าน floating point operation
    • เกิด glitch ในการเรนเดอร์ Dock
    • หน้าต่าง Finder ไม่เปิด
  • การ dispatch ของ opcode group 59 และ 63 ไม่ควรเป็นเพียง lookup ธรรมดา แต่ต้องตรวจบิต FP ของ Machine State Register ก่อน
    • หากไม่ได้ตั้งบิต FP จะโยน exception “floating point unavailable”
  • ชิป PowerPC ที่ใช้ใน Mac ตอนนั้นมี FPU แต่ระหว่างเริ่มต้น Mac OS X จะเกิด exception นี้บ่อย
    • ใน ซอร์สของ kernel xnu ในยุคนั้น มีตำแหน่งที่ล้างบิต FP และมี exception handler
    • ดูเหมือนเป็น optimization เพื่อเลี่ยงการ save/restore register ของ FPU ตอน context switch
  • เมื่อ implement การตรวจสอบ FP แบบเดียวกันใน dispatch code ที่ปรับแต่งแล้ว ปัญหาการเรนเดอร์ก็หายไป
  • บั๊กเดียวกันยังคงอยู่ใน DingusPPC ด้วย
    • DingusPPC ไม่ตรวจบิต FP และปล่อยให้คำสั่ง floating point ผ่านเสมอ
    • เมื่อแก้แบบเร็วให้เกิด exception ปัญหา glitch การเรนเดอร์ของ Mac OS X ก็หายไป
    • หลังจากนั้นมี implementation อย่างเป็นทางการ และการแก้เพื่อหลีกเลี่ยง performance regression ทำให้เสถียรภาพของ DingusPPC ดีขึ้นมาก
  • การผสมผสาน emulator สองตัวทำให้ขอบเขตของ Mac OS X รุ่นแรก ๆ ที่รันได้กว้างขึ้น
    • DingusPPC สามารถรัน 10.1 ได้เสถียร
    • PearPC ไม่สามารถรัน 10.1 ได้เสถียร
    • 10.0 ยังไม่เสถียร และ Public Beta จะเกิด kernel panic ทันที

จัดโครงสร้าง Infinite HD ใหม่

  • หนึ่งในเสน่ห์ของ Infinite Mac คือมี Infinite HD ซึ่งบรรจุซอฟต์แวร์ตามยุคสมัย mount มาพร้อมกัน
  • เพื่อรองรับ Mac OS X จึงสร้างเวอร์ชันแยกที่บรรจุซอฟต์แวร์ยุค Mac OS X รุ่นแรก ๆ นอกเหนือจากแอป classic Mac ช่วงยุค 80~90
    • นอกจากแอปที่ชอบเป็นการส่วนตัวแล้ว ยังรับข้อเสนอแนะเพื่อขยายรายการด้วย
  • disk image ถูกสร้างโดยขยายระบบ automation เดิม
    • ในยุค Mac OS X รุ่นแรก ๆ มีการใช้ disk image จำนวนมาก จึงเพิ่มฟีเจอร์นำ .dmg เข้ามาเป็นโฟลเดอร์เพิ่มเติมภายใน image ที่สร้างขึ้น
  • .dmg เก่า ๆ มีหลาย variant แม้นามสกุลจะเหมือนกัน จึงไม่ได้ mount ด้วย hdiutil ของ macOS สมัยใหม่ได้เสมอไป
    • สุดท้ายใช้ dmg2img เพื่อ extract raw partition ก่อน
    • จากนั้นใช้วิธี workaround โดยสร้าง disk image ใหม่ที่ macOS สมัยใหม่สามารถ mount และ copy ได้
  • ในการรวบรวมซอฟต์แวร์จริง พบว่าซอฟต์แวร์ Mac OS X ช่วงต้นถึงกลางทศวรรษ 2000 เป็นพื้นที่ตกสำรวจ
    • Macintosh Garden ก็มีบางส่วน แต่ไม่ได้ให้ความสำคัญสูงนัก
    • จากผู้ผลิตต้นทาง มักถูกนำลงไปแล้วเพราะเก่าเกินไป
    • ใช้ Wayback Machine เป็นอย่างมาก
  • ติดตั้ง Developer CD ที่มาพร้อมกับ Mac OS X แต่ละเวอร์ชันด้วย เพื่อให้ใช้เครื่องมืออย่าง Project Builder และ Interface Builder ได้

ระบบไฟล์และการ mount หลาย disk

  • กระบวนการ build disk เน้น HFS แต่ค่าเริ่มต้นของยุคนั้นคือ HFS+
    • HFS+ มีฟีเจอร์ขั้นสูงกว่า เช่น ชื่อไฟล์ที่ยาวขึ้นและรองรับอักขระ Unicode ใด ๆ
    • ไฟล์ disk image ที่พึ่งพาฟีเจอร์ของ HFS+ จะไม่สามารถแปลงได้โดยไม่สูญเสียข้อมูล
    • สำหรับซอฟต์แวร์ส่วนใหญ่ไม่ได้เป็นปัญหาใหญ่
  • เพื่อ mount drive ได้สูงสุด 3 ตัว ได้แก่ boot disk, Infinite HD และ Saved HD จึงยืมวิธีจาก fork ของ DingusPPC
    • ตอนเริ่มต้น จะสร้าง multi-partition disk image แบบ on-the-fly จาก partition image จำนวนใดก็ได้ที่ระบุไว้

โหมด Aqua และ UI ของไซต์

  • เพื่อให้การเพิ่ม Mac OS X สมบูรณ์ขึ้น จึงเพิ่ม โหมด Aqua ให้กับ control ของไซต์ Infinite Mac ด้วย
    • เดิมมีรูปลักษณ์แบบ classic, Platinum และ NeXT
  • เลือกสไตล์ Aqua แบบ 10.0/10.1
    • แม้จะชอบเวอร์ชันที่ดูเรียบกว่าใน 10.3 และ 10.4 มากกว่า แต่เห็นว่าฝั่ง 10.0/10.1 มีความชวนคิดถึงมากกว่า
  • เพื่อใช้ image asset เดียวกับ OS จึง extract resource ต้นฉบับแทนการใช้ screenshot
    • asset ของ Aqua ใช้องค์ประกอบกึ่งโปร่งใสจำนวนมาก ภาพ screenshot ธรรมดาจึงไม่เพียงพอ
    • ใช้ resource_dasm และ pxm2tga extract asset ต้นฉบับจาก Extras.rsrc

การรัน Classic, verbose mode และการค้นพบเล็ก ๆ

  • เนื่องจากสามารถ mount image หลายตัวได้ จึงสามารถวางพาร์ทิชัน Mac OS 9 ไว้ด้วยกันและเริ่ม สภาพแวดล้อมเข้ากันได้กับ Classic ได้
    • ฟีเจอร์นี้ทำงานเฉพาะใน 10.1
    • PearPC ไม่รองรับ Classic
    • ผลคือสามารถจำลองแอป classic Mac ภายใน Mac OS X ที่ถูกจำลองอยู่ในเครื่องเสมือน WebAssembly ได้
  • จาก image ของ Mac OS X ยังตรวจสอบการเปลี่ยนแปลงพฤติกรรมของ Calculator ได้ด้วย
    • จนถึง 10.3 ยังไม่มีพฤติกรรมกด = ซ้ำ
    • ใน 10.4 มีพฤติกรรมนั้นแล้ว
  • เนื่องจากการบูต Mac OS X ช้า จึงเปิด verbose mode เพื่อแสดงความคืบหน้าเพิ่มเติม
    • PearPC มีวิธีในตัวอยู่แล้ว
    • DingusPPC เพิ่มฟีเจอร์ระบุ Open Firmware variable ตอนเริ่มต้น
    • ในกล่องโต้ตอบ custom instance ของ Infinite Mac แสดงเป็นสวิตช์ “Debug Mode”
  • พยายามจดโดเมน macosx.app ด้วย แต่มีคนจดไว้แล้ว
    • โดเมนนั้น redirect ไปยังวิดีโอ YouTube บางรายการ
    • YouTuber ในวิดีโอตอบว่าตนไม่ได้เป็นคนจดโดเมนนั้น

ตัวเลือกถัดไปและความเป็นไปได้ของ QEMU

  • ด้วยการรองรับ Mac OS X ทำให้ Infinite Mac มาถึงจุดที่ใกล้กับ macOS สมัยใหม่
    • หลังจากนี้ยังมีการเปลี่ยน CPU อีกสองครั้งและการเปลี่ยนแปลงเล็ก ๆ อีกหลายอย่าง
    • Tiger มีรูปแบบที่ผู้ใช้ macOS ปัจจุบันก็ยังจำได้โดยพื้นฐาน
  • สำหรับเป้าหมาย retro computing ที่ลึกกว่าหรือเฉพาะทางกว่า ยังมี A/UX, Lisa, Pippin และ Newton
    • A/UX เป็นระบบยุคเดียวกับ classic Mac OS และเป็นสิ่งที่น่าเทียบกับ NeXTStep
    • Shoebill รัน A/UX ได้ และ codebase ก็ดูเหมือนพอร์ตได้
    • Lisa, Pippin และ Newton ผ่าน Einstein ก็ยังเป็นตัวเลือก
  • ก่อนหน้านี้มองว่า QEMU เป็นโปรเจกต์ที่ใหญ่เกินไปสำหรับการพอร์ตไป WebAssembly และประสิทธิภาพของ qemu.js ก็ดูมีโอกาสใช้งานจริงต่ำ
  • เมื่อเร็ว ๆ นี้ qemu-wasm และการนำเสนอที่ FOSDEM ทำให้ได้เห็นความเป็นไปได้อีกครั้ง
    • ประสิทธิภาพของเดโม Linux guest น่ามีกำลังใจ
    • ใน benchmark เฉพาะหน้าที่คำนวณ MD5 checksum ของข้อมูล 100MB นั้น qemu-wasm ใช้เวลา 8 วินาที, DingusPPC ใช้ 13 วินาที, PearPC ใช้ 18 วินาที
    • ยังมีช่องว่างใหญ่มากเมื่อเทียบกับ Mac OS X ซึ่งเป็น guest แบบกราฟิก

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

 
GN⁺ 2025-06-21
ความคิดเห็นบน Hacker News
  • จริงอยู่ที่ PearPC ยืนหยัดมาได้ดีอยู่หลายปี แต่หลังจากผู้ดูแลหลักดั้งเดิม เสียชีวิตจากอุบัติเหตุรถไฟ ก็สูญเสียแรงขับเคลื่อนไปเกือบหมด
    ตอนนั้นผมเป็นผู้ใช้ตัวยงและเป็นสมาชิกชุมชน และทุกวันนี้พอนึกถึงก็ยังน้ำตาซึม
    https://www.wired.com/2004/07/pearpc-coauthor/

    • หลายครั้งที่นักพัฒนาเก่ง ๆ จากไปอย่างกะทันหัน ไม่มีแม้แต่ข่าวมรณกรรม และมีแค่นักพัฒนาอีกคนที่ดูเหมือนจะรู้อะไรบางอย่าง บางทีก็อยากเชื่อว่าเอเลียนเห็นว่าพวกเขาล้ำค่าเกินกว่าจะปล่อยไว้บนโลก เลยพาตัวไป
    • มีคนลอกงานของเขาไปขายในชื่อ cherryos
    • บทความนี้อยู่หลัง เพย์วอลล์
  • Infinite Mac คือคอลเลกชันของระบบและซอฟต์แวร์รุ่นต่าง ๆ ของ Macintosh คลาสสิกและ NeXT ที่ทำให้เข้าถึงได้ง่ายผ่านเว็บเบราว์เซอร์
    https://infinitemac.org/

    • ควรลิงก์ไปที่ Infinite Mac หรืออธิบายไว้ เพื่อให้เข้าใจบทความบล็อกได้ด้วยตัวเอง
    • ดีที่ลิงก์หน้านี้ไว้ให้ เป็นส่วนที่ผู้เขียนบล็อกพลาดไปอย่างมาก และถ้าไม่มีคอมเมนต์นี้ ก็คงหาเว็บดี ๆ นี้ไม่เจอ
  • หนึ่งในส่วนที่น่าสนใจที่สุดของบทความคือลิงก์ไปยัง อีมูเลเตอร์ PPC CPU ที่มีโค้ดน้อยกว่า 700 บรรทัด
    https://github.com/kwhr0/macemu/blob/master/SheepShaver/src/...
    ความกระชับแบบนี้เห็นได้ในอีมูเลเตอร์ 6502 แต่พบไม่บ่อยในสถาปัตยกรรมที่ค่อนข้างสมัยใหม่

    • เพราะเป็น RISC เลยไม่ได้แปลกมากนัก อีมูเลเตอร์ MIPS ก็มีขนาดประมาณนั้นเหมือนกัน
  • นึกไม่ออกเลยว่าคนรักเทคโนโลยีอายุ 20 ในตอนนี้จะรู้สึกอย่างไรเมื่อเจอ OS X 10.4 หรือ 10.5, 10.6
    อย่างขมขื่นก็ชวนให้นึกถึงคนในยุคมืดที่ยืนหน้ารูปสลักคลาสสิกแล้วคิดว่า “มนุษย์เคยสร้างอะไรแบบนี้ได้อย่างไรนะ?”
    แต่รสนิยมก็เปลี่ยนไป คนในยุคมืดจริง ๆ อาจคิดว่า “ความเสื่อมทรามแบบนอกรีตนี่คืออะไร?” และทุกวันนี้ก็อาจมองว่า “ไอคอนเหมือนภาพถ่ายนี่เชยจนน่าอาย!”

    • 10.4 โดยพื้นฐานแล้ว ดูและทำงานแทบจะเหมือนกัน กับ macOS รุ่นล่าสุดไม่ว่าจะเป็นรุ่นไหน แม้จะมี Liquid Glass ก็ยังทำงานคล้ายกัน
      การติดตั้งแอปก็ยังเป็นแบบ “ลากแอปออกจาก dmg สไตล์ IKEA” และบางครั้งก็มี zip หรือ pkg หน้าต่าง Finder ก็มีบุ๊กมาร์กในแถบด้านซ้ายอยู่แล้ว และ Dock ก็ทำงานเหมือนเดิม เคยผ่านช่วง Dock 3D แปลก ๆ อยู่ช่วงหนึ่ง น่าจะเป็น Leopard
      ไม่มี Mac App Store แต่ทุกวันนี้ก็แทบไม่มีใครใช้กันอยู่แล้ว และ Spotlight เพิ่งออกมาใน Tiger มันจำได้ง่ายกว่าความต่างระหว่าง Windows XP กับ 11 มาก XP ทำงานต่างจาก 11 พอสมควร
    • อายุ 20 และมีความทรงจำเลือน ๆ ว่าเคยใช้ 10.5 หรือ 10.6 ตอนเด็ก ๆ เลยรู้สึกคิดถึง
    • เริ่มเป็นนักพัฒนาในยุค 10.4/10.5 ตอนนั้นส่วนใหญ่ลองรันโน่นนี่และปรับธีม เพื่อให้มันดูเหมือน ดาร์กโหมด แบบครึ่ง ๆ กลาง ๆ
      ตอนนั้นการไปยุ่งกับโฟลเดอร์ระบบไม่ได้ซับซ้อนเท่าตอนนี้
    • ไม่แน่ใจว่า “ยุคมืด” หมายถึงอะไร มันน่าจะใกล้เคียงกับการที่ จักรวรรดิใช้เงินกับสิ่งหนึ่ง ส่วนอาณาจักรอิสระใช้เงินกับอีกสิ่งหนึ่ง มากกว่าการที่ความสามารถหายไป
      ช่วงต้นยุคกลางก็มีโบราณวัตถุและสถาปัตยกรรมที่สวยงามมากมาย แม้จะเหลืออยู่ไม่มาก แต่แค่ที่เคยเห็นเองก็มีตัวอย่างอย่างการฝังเรือที่ Sutton Hoo หรือโบสถ์แองโกล-แซกซอน
  • ภาพหน้าจอน่าทึ่งจริง ๆ โดยส่วนตัวคิดว่า Mac OS X ดูดีกว่า Mac OS ในปัจจุบันมาก
    มันชัดเจนและเป็นระเบียบ ให้ความรู้สึกว่า “ดีเลย สภาพแวดล้อมแบบนี้ทำงานได้แน่!”
    ส่วน Mac OS ตอนนี้ให้ความรู้สึกเหมือน “ช่วยด้วย ตกลงไปในถุงลูกกวาดแล้วจะออกยังไง?” อยากรู้ว่าคนอื่นรู้สึกแบบนี้ไหม

    • รู้สึกว่ากำลังกลายเป็นแฟนของ อินเทอร์เฟซสีเทา แบบเก่า ๆ (Windows 95, macOS 9) มันสบายใจเพราะ UI แบบนั้นให้ความรู้สึกเหมือนเครื่องมือ เหมือนเครื่องคิดเลขที่เป็นแค่เครื่องมือ
    • พูดตรง ๆ คือไม่รู้สึกแบบนั้น UI ที่เห็นและใช้งานจริง ๆ จำกัดอยู่แค่แถบเมนู จุดสามจุด และบางครั้งก็แถบ Spotlight
      Windows ก็เหมือนกัน แทบไม่ได้ทำงานกับตัวระบบปฏิบัติการโดยตรง แอปเนทีฟก็มีน้อย ส่วนใหญ่เป็นแอปบนเบราว์เซอร์ หรือแอปข้ามแพลตฟอร์มที่ใช้ดีไซน์ซิสเต็มของเธิร์ดปาร์ตี้
    • จริง ๆ แล้วไม่มีเหตุผลอะไรที่ macOS สมัยใหม่จะให้ รูปลักษณ์และความรู้สึก แบบนี้ไม่ได้ เหตุผลที่ชัดเจนก็คือการออกแบบซอฟต์แวร์ที่แย่และขาดความเป็นโมดูลาร์เท่านั้น
      เบื่อแล้วที่บริษัทซอฟต์แวร์ทำเหมือนว่าตัวเองสร้างซอฟต์แวร์ได้ดี
    • สิ่งที่ชอบที่สุดคือหน้าตาของ 10.3 Panther ที่ผสม Aqua กับบรัชเมทัล
      10.4 Tiger ก็คล้ายกัน แต่แถบเมนูด้านบนเป็นแบบมันวาว พอนานไปก็ไม่ค่อยชอบ 10.5 Leopard มี Dock 3D ที่หวือหวาแต่เชย แถบเมนูด้านบนโปร่งใส และเกรเดียนต์ที่ดูทันสมัยกว่า
      ตอนนั้นมันดูเท่ แต่เกรเดียนต์ไม่ได้เท่เท่าบรัชเมทัลกับ Aqua หลังจากนั้นทุกอย่างก็ค่อนข้างน่าเบื่อ
    • ลายเส้นบนหน้าต่างดูมากไปหน่อย และตอนที่มันหายไปก็รู้สึกดีใจทีเดียว
  • แปลกใจที่ทำสำเร็จด้วยโปรเจกต์ pearpc ซึ่งไม่มีคอมมิตล่าสุดมานานกว่า 10 ปีแล้ว: https://github.com/sebastianbiallas/pearpc
    ฟอร์กของเขาอยู่ที่ https://github.com/mihaip/pearpc
    เขาเพิ่มเป้าหมาย WebAssembly แต่ดูเหมือนว่ายังคงรองรับ x86-64 ด้วย
    นอกจากนี้ยังเขียนบล็อกเกี่ยวกับกระบวนการนำ NextStep เข้าไปใน Infinite Mac ด้วย: https://blog.persistent.info/2024/03/infinite-mac-nextstep.h...

  • ของพวกนี้ดีจริง ๆ สมัยนั้น Aqua เหมือนเป็นการเปิดโลกเลย

    • ตัวจัดการหน้าต่างของ Linux ทุกตัวมีธีม Aqua กันหมด Apple ได้ปล่อยระบบปฏิบัติการที่คนฝั่ง “ปีแห่งเดสก์ท็อป Linux” พยายามสร้างกันมาหลายปี และยังคงพยายามสร้างกันอยู่ ออกมาใช้จริงได้
      มันเป็น Unix กระแสหลักที่ใช้งานง่ายถึงขั้นคุณย่าคุณยายก็ใช้ได้ แถมยังรองรับแอปจากบุคคลที่สามรายใหญ่ ๆ อีก เรียกว่าตีโฮมรันเต็ม ๆ
    • Aqua ทุกวันนี้ก็ยังเหมือนเป็นการเปิดโลกอยู่ ความสามารถในการระบุปุ่มควบคุมหน้าต่างได้ในพริบตาถดถอยไปมาก
      หวังว่าใน Liquid Glass องค์ประกอบพวกนั้นบางส่วนจะกลับมา แต่พูดตรง ๆ Aqua ก็ยังดูดีอยู่
      สิ่งที่งานเลียนแบบอย่าง Windows Vista หรือธีม Linux พลาดไป คือความสม่ำเสมอและการใช้งานได้จริงของทุกอย่าง มันดูเท่ก็จริง แต่ที่สำคัญกว่านั้นคือมันทำงานได้ดีจริง ๆ
    • Steve Jobs เคยพูดว่า “ตลอด 18 เดือนที่ผ่านมา เราแอบออกแบบส่วนติดต่อผู้ใช้ใหม่ทั้งหมด และมันจะสืบทอดมรดกของ Apple ไปสู่ศตวรรษหน้า เราเรียก UI ใหม่นี้ว่า Aqua เพราะมันเหมือนของเหลว หนึ่งในเป้าหมายการออกแบบคือทำให้คุณเห็นแล้วอยากเลียทันที”
    • Liquid Glass ดูเหมือนจะทำให้นึกถึงยุคนั้นอีกครั้ง
  • ดีใจที่ได้เห็น UI ในความทรงจำ ประมาณ Platinum ในยุค Macintosh OS 8 และ UI MacOS X แสนชวนเลียแถว ๆ OS X 10.3 กับ 10.4 ชวนให้คิดถึง
    OpenLook ของ SunOS/Slowlaris, UI ของ NeXTStep/OpenStep, Microsoft Windows 2000 ที่เป็นจุดสูงสุดก่อน Winblows XP ซึ่งไม่ควรเอาสีส้มกับเขียวมาผสมกันเด็ดขาดก็ดี และยังนึกถึงความสนุกแบบ SGI IRIX กับสาย Motif ด้วย
    องค์ประกอบ UI แทบจะมองแยกออก เข้าใจได้ และสม่ำเสมออยู่เสมอ เมื่อใช้งานคอนโทรล UI มาตรฐาน ก็รู้ได้แน่ชัดตั้งแต่ก่อนกดว่าจะเกิดอะไรขึ้น และมันก็เกิดขึ้นตรงตามนั้นจริง ๆ
    แล้วผลลัพธ์ของการทำให้ปรับแต่งได้ ใส่ธีมได้ เปลี่ยนแทนได้ และทำให้ดูเท่ขึ้น ก็น่าจะเป็นสิ่งที่เรามีอยู่ในทุกวันนี้

  • ยุค OS X แรก ๆ คือ ยุคทอง ที่แท้จริงของ Mac ฮาร์ดแวร์แข่งขันกับ x86 ได้ค่อนข้างดี และระบบปฏิบัติการก็อยู่ในระดับดีที่สุดเท่าที่เคยมีมา
    สุดท้ายทั้งสองอย่างก็เริ่มสะดุด แต่ตอนนี้เป็นยุคทองครั้งที่สองของฮาร์ดแวร์ จึงยังพอฝันได้ว่าสักวันใกล้ ๆ นี้ Mac OS อาจกลับมายอดเยี่ยมอีกครั้ง
    อย่างไรก็ตาม แม้อยู่ในยุคทองฮาร์ดแวร์ใหม่นี้ ประสิทธิภาพอีมูเลชันในที่นี้บน M1 กับ Safari ก็แทบจะอยู่ในระดับใช้ไม่ได้

    • ผมไม่คิดว่า Mac OS กำลังมุ่งไปในทิศทางที่จะกลับมายอดเยี่ยมอีกครั้ง
    • เคยใช้รุ่น x86 ช่วงแรก ๆ ด้านราคาไม่ได้แข่งขันได้เลย และ OS X ก็ไม่ได้ดีอย่างที่คิด
      มี kernel panic ทุกวัน และ QuickTime มักจะตายด้วย segmentation fault ตอนดูวิดีโอ
      ถ้าจะเล่นไฟล์อย่าง wmv หรือ divx ก็ต้องออกเควสต์หาและติดตั้ง codec ที่ถูกต้อง
      แล้วยังมีปัญหาร้อนเกิน เพราะเพื่อให้เครื่องดูสวยเลยไม่ได้ใส่ช่องระบายอากาศสำหรับทางลมให้ดีพอ
    • ใช้มาแบบ Think Different™ ต่อเนื่องตั้งแต่ 68k ไป PPC, Intel จนถึง Silicon การเปลี่ยน CPU สองครั้งล่าสุดให้การเพิ่มประสิทธิภาพมากที่สุด ทั้งด้านประสิทธิภาพสัมบูรณ์และประสิทธิภาพต่อวัตต์
      M4 mini รุ่นเริ่มต้นพื้นฐานน่าทึ่งมาก คอมพิวเตอร์ทั้งเครื่องใช้พลังงานน้อยกว่า GPU x86 ตัวเดียวที่มีประสิทธิภาพใกล้เคียงกัน
    • ก็ปัญหาเดิม ๆ นั่นแหละ ฮาร์ดแวร์ ให้ประสิทธิภาพมา แล้ว ซอฟต์แวร์ ก็เอามันไปกิน
  • Dark Castle! ตอนเด็ก ๆ พ่อผมมี Apple Lisa อยู่ เครื่องนั้น Apple ให้มาอย่างใจดี เพราะพ่อกำลังพัฒนาชุดผลิตภัณฑ์บัญชีสำหรับ Apple
    ตอนนั้นผมมองเครื่องอันน่าทึ่งนี้เป็นของธรรมดา และใช้เล่นเกมกับ MacPaint เท่านั้น ในคอลเลกชันดิสก์ 3.5 นิ้วของพ่อมีดิสก์แผ่นหนึ่งเขียนว่า “Dark Castle” แต่ด้วยเหตุผลที่จำไม่ได้ มันใช้กับ Lisa ไม่ได้
    ผมเดาว่ามันคงเป็นเกม แต่เสียดายมากที่เล่นไม่ได้ และหลงใหลดิสก์ลึกลับแผ่นนั้น
    มาถึงปี 2025 ผมเปิดอีมูเลเตอร์ Infinite Mac System 7: https://infinitemac.org/1991/System%207.0
    ใจผมหล่นวูบ ในโฟลเดอร์ “Games” มี Dark Castle อยู่ตรงนั้นเลย
    ผ่านไป 30 ปี ในที่สุดผมก็ได้เล่นเกมนี้ กราฟิกมีเสน่ห์ และยังรู้สึกได้ถึงองค์ประกอบของเกมคลาสสิกจาก Sierra อย่าง King’s Quest กับ Prince of Persia
    https://en.wikipedia.org/wiki/Dark_Castle
    ตารางเย็นวันนี้ถูกกำหนดแล้วว่าต้องเป็นสิ่งนี้