1 คะแนน โดย GN⁺ 2023-10-16 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • บทความเกี่ยวกับการพอร์ต Lotus 1-2-3 ซึ่งเป็นซอฟต์แวร์อายุ 30 ปี มายัง Linux
  • ผู้เขียนซึ่งเป็นแฟนตัวยงของ Lotus 1-2-3 ดูแลไดรเวอร์เพื่อให้ซอฟต์แวร์ทำงานได้ดีบนระบบสมัยใหม่
  • Lotus 1-2-3 ถูกออกแบบให้ขยายความสามารถได้ด้วยปลั๊กอินหรือ "add-in" แต่คอมไพเลอร์และ SDK ของ LPL ซึ่งเป็นภาษาพิเศษที่ใช้เขียน add-in เหล่านี้ได้สูญหายไป
  • ผู้เขียนพบสำเนา SDK จาก sysop ในแวดวง BBS ยุค 90 และใช้มันสร้างปลั๊กอินตัวอย่างบางส่วน
  • ผู้เขียนพบสำเนา Lotus 1-2-3 สำหรับ UNIX ซึ่งเคยเชื่อว่าสูญหายไปแล้ว และตัดสินใจพอร์ตมันมาสู่ Linux
  • กระบวนการพอร์ตต้องฝ่าฟันความท้าทายทางเทคนิคหลายอย่าง เช่น system call ที่เข้ากันไม่ได้ระหว่าง UNIX กับ Linux, ฟังก์ชันที่เข้ากันไม่ได้, และ termios ที่ซับซ้อน
  • ผู้เขียนใช้ GNU objcopy เพื่อแปลงไฟล์อ็อบเจ็กต์ COFF เป็น ELF ซึ่งเป็นฟอร์แมตที่ Linux ใช้ และสร้างเครื่องมือชื่อ coffsyrup สำหรับลบสัญลักษณ์ COFF
  • ผู้เขียนต้องข้ามการตรวจสอบไลเซนส์ เนื่องจากซอฟต์แวร์จะปฏิเสธการทำงานหากไม่มีไลเซนส์
  • ตอนนี้ Lotus 1-2-3 ที่พอร์ตแล้วสามารถใช้งานบน Linux ได้ครบ 100% แม้ยังมีปัญหาบางอย่างที่ต้องแก้ไข
  • ผู้เขียนได้เผยแพร่โค้ดทั้งหมดบน GitHub สำหรับทุกคนที่อยากลองทำตาม

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

 
GN⁺ 2023-10-16
ความเห็นจาก Hacker News
  • บทความกล่าวถึงการกู้คืนชุดพัฒนาซอฟต์แวร์ (SDK) จากเทปสำรองของระบบ BBS เก่า ซึ่งเน้นให้เห็นความสำคัญของซอฟต์แวร์เถื่อน
  • ผู้ใช้คนหนึ่งเล่าประสบการณ์การใช้ LibreOffice แปลงไฟล์ Lotus 123 เก่าเป็นไฟล์ ODF/ODS ทำให้พ่อของเขาสามารถเข้าถึงข้อมูลสำคัญทางออนไลน์ได้
  • ผู้ใช้อีกคนหนึ่งรำลึกถึงตอนเด็กที่ได้รับคอมพิวเตอร์ 286 ซึ่งมี Lotus 123 ติดมาด้วยแทน Nintendo และมันชวนให้เกิดความคิดถึง
  • ผู้ใช้รายหนึ่งกำลังทำโปรเจกต์คล้ายกัน โดยย้อนวิศวกรรมบางส่วนของโปรแกรมจากไฟล์ออบเจ็กต์ และได้แชร์ proof of concept ร่วมกับลิงเกอร์ของ Atari Jaguar
  • บทความลิงก์ไปยังการสนทนาในเดือนพฤษภาคม 2022 และบทความที่ชวนให้หวนคิดถึงอดีต
  • ผู้ใช้คนหนึ่งแสดงความประหลาดใจที่ไบนารีของ Lotus 123 ยังคงทำงานบน Linux ได้ แม้ว่าจะเก่ามากแล้วก็ตาม
  • บทความประกาศการมาถึงของสเปรดชีตแบบเทอร์มินัล และแสดงความหวังว่าจะถูกพอร์ตไปยัง Mac และ Windows
  • บทความลิงก์ไปยังการสนทนาและบทความก่อนหน้าเกี่ยวกับ Lotus 1-2-3 สำหรับ Linux ซึ่งแสดงให้เห็นถึงความสนใจต่อหัวข้อนี้อย่างต่อเนื่อง