นักพัฒนาใช้ Claude Code ย้ายไดร์เวอร์เก่าอายุเกิน 20 ปีมารันในลินุกซ์ใหม่ได้สำเร็จในเวลาแค่สองวัน
Body
Dmitry Brant วิศวกรของ Wikimedia Foundation รายงานถึงการใช้ Claude Code พอร์ตโค้ดไดร์เวอร์เคอร์เนลลินุกซ์ที่ถูกถอดออกจากเคอร์เนลไปแล้วถึง 20 ปีให้กลับมาใช้งานกับลินุกซ์ล่าสุดได้อีกครั้งโดยใช้เวลาแค่สองวัน
Brant มีงานอดิเรกเป็นการกู้ข้อมูลเก่าจากเทพป QIC-80 ระบบเทปสำรองข้อมูลที่มีใช้งานมาตั้งแต่ปี 1972 และใช้งานเป็นวงกว้างในช่วงปี 1990 โดยปัญหาอย่างหนึ่งคือไดร์เวอร์ของเครื่องอ่านเทปเหล่านี้คือโมดูล
คำสั่งแรกคือการพอร์ตโค้ดทั้งหมด Claude Code สามารถแก้ฟังก์ชั่นและ data structure มาเป็นเวอร์ชั่นใหม่ได้ทั้งหมด โดยต้องการการแก้ไขด้วยมือจริงๆ ไม่กี่จุด จากนั้นก็สั่งให้แก้โค้ดให้เป็น loadable kernel module (.ko) ที่สามารถโหลดเข้าเคอร์เนลที่รันอยู่ได้ Claude Code ทำได้เองแทบทั้งหมด แต่โมดูลกลับใช้งานจริงไม่ได้
การแก้ปัญหาหลังจากนั้นอาศัยการส่งข้อความเคอร์เนล
กระบวนการพอร์ตโค้ดไม่ได้อัตโนมัติทั้งหมด ตัว Byant เองเป็นโปรแกรมเมอร์ C อยู่แล้ว และเคยใช้เคอร์เนลโมดูลอยู่ก่อน การพอร์ตโค้ดจริงต้องคุยกลับไปมาหลายครั้ง แต่ Brant ก็พอร์ตโค้ดได้โดยไม่ต้องเรียนรู้การทำงานเคอร์เนลใหม่ทั้งหมด เขาแนะนำว่าควรสั่งงานให้เจาะจงที่สุดเท่าที่เป็นไปได้ และเรียนรู้ว่างานประเภทใดที่ LLM ทำงานได้ดี
Brant พบว่า LLM ช่วยลดเวลาการทำงานได้จริง แทนที่จะต้องศึกษาโครงสร้างโปรแกรมที่ใช้เวลาอย่างน้อยๆ หลายสัปดาห์ก็สามารถคุยกับ LLM เพื่อเริ่มงานได้ทันที และเขาพบว่าสามารถเขียนแอป Flutter ได้แบบเดียวกัน เครื่องมือเหล่านี้จึงช่วยลดเวลาเรียนรู้แล้วปล่อยให้โปรแกรมเมอร์ไปคุมระดับสถาปัตยกรรมแทนได้
ตัวเคอร์เนลโมดูลที่พอร์ตแล้วอยู่ใน GitHub
ที่มา - Dmitry Brant
ภาพเทป QIC-80 โดย Alecv
lew Tue, 09/09/2025 - 08:07
Continue reading...
Body
Dmitry Brant วิศวกรของ Wikimedia Foundation รายงานถึงการใช้ Claude Code พอร์ตโค้ดไดร์เวอร์เคอร์เนลลินุกซ์ที่ถูกถอดออกจากเคอร์เนลไปแล้วถึง 20 ปีให้กลับมาใช้งานกับลินุกซ์ล่าสุดได้อีกครั้งโดยใช้เวลาแค่สองวัน
Brant มีงานอดิเรกเป็นการกู้ข้อมูลเก่าจากเทพป QIC-80 ระบบเทปสำรองข้อมูลที่มีใช้งานมาตั้งแต่ปี 1972 และใช้งานเป็นวงกว้างในช่วงปี 1990 โดยปัญหาอย่างหนึ่งคือไดร์เวอร์ของเครื่องอ่านเทปเหล่านี้คือโมดูล
ftape
ที่เคยอยู่ในลินุกซ์สมัยเวอร์ชั่น 2.6 แต่ถูกถอดออกภายหลังเนื่องจากไม่มีผู้ดูแล ทำให้ Brant ต้องใช้ CentOS 3.5 มาบูตเพื่ออ่านไดร์ และเขาก็ตัดสินใจลองพอร์ตเคอร์เนลโมดูลมาลินุกซ์เวอร์ชั่นใหม่ๆ ดูคำสั่งแรกคือการพอร์ตโค้ดทั้งหมด Claude Code สามารถแก้ฟังก์ชั่นและ data structure มาเป็นเวอร์ชั่นใหม่ได้ทั้งหมด โดยต้องการการแก้ไขด้วยมือจริงๆ ไม่กี่จุด จากนั้นก็สั่งให้แก้โค้ดให้เป็น loadable kernel module (.ko) ที่สามารถโหลดเข้าเคอร์เนลที่รันอยู่ได้ Claude Code ทำได้เองแทบทั้งหมด แต่โมดูลกลับใช้งานจริงไม่ได้
การแก้ปัญหาหลังจากนั้นอาศัยการส่งข้อความเคอร์เนล
dmesg
จากเวอร์ช่ั่นที่ทำงานได้ ให้ Claude Code พยายามเทียบแล้วหาปัญหากระบวนการพอร์ตโค้ดไม่ได้อัตโนมัติทั้งหมด ตัว Byant เองเป็นโปรแกรมเมอร์ C อยู่แล้ว และเคยใช้เคอร์เนลโมดูลอยู่ก่อน การพอร์ตโค้ดจริงต้องคุยกลับไปมาหลายครั้ง แต่ Brant ก็พอร์ตโค้ดได้โดยไม่ต้องเรียนรู้การทำงานเคอร์เนลใหม่ทั้งหมด เขาแนะนำว่าควรสั่งงานให้เจาะจงที่สุดเท่าที่เป็นไปได้ และเรียนรู้ว่างานประเภทใดที่ LLM ทำงานได้ดี
Brant พบว่า LLM ช่วยลดเวลาการทำงานได้จริง แทนที่จะต้องศึกษาโครงสร้างโปรแกรมที่ใช้เวลาอย่างน้อยๆ หลายสัปดาห์ก็สามารถคุยกับ LLM เพื่อเริ่มงานได้ทันที และเขาพบว่าสามารถเขียนแอป Flutter ได้แบบเดียวกัน เครื่องมือเหล่านี้จึงช่วยลดเวลาเรียนรู้แล้วปล่อยให้โปรแกรมเมอร์ไปคุมระดับสถาปัตยกรรมแทนได้
ตัวเคอร์เนลโมดูลที่พอร์ตแล้วอยู่ใน GitHub
ที่มา - Dmitry Brant
ภาพเทป QIC-80 โดย Alecv
lew Tue, 09/09/2025 - 08:07
Continue reading...