1 คะแนน โดย GN⁺ 2024-11-18 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • James Gleick's CHAOS: The Software เป็นรีลีสที่เปิดให้ใช้งานฟรีทั้งซอร์สโค้ด คู่มือ และไฟล์ปฏิบัติการของโปรแกรม Autodesk สำหรับ DOS จากปี 1991
  • โปรแกรมนี้สร้างโดย Josh Gordon, Rudy Rucker และ John Walker โดย Rudy Rucker เขียนอัลกอริทึมส่วนใหญ่ และอัลกอริทึม Fractal Landscapes เขียนโดย John Walker
  • โปรแกรมถูกสร้างขึ้นโดยหารือกับ James Gleick เกี่ยวกับหนังสือ Chaos: Making a New Science ของเขา และการเผยแพร่ครั้งนี้แจกจ่ายภายใต้ GNU license
  • สามารถรันได้บนแทบทุกแพลตฟอร์มผ่าน DOSBox และ Release 1.1 มีไฟล์ปฏิบัติการ ไฟล์พารามิเตอร์ คู่มือผู้ใช้ และซอร์สโค้ดรวมอยู่ด้วย
  • งานปรับปรุงหลักที่ยังเหลืออยู่คือการเพิ่มความละเอียดการแสดงผลหรือขนาดพิกเซล และการเลิกพึ่งพาโปรแกรม DOS TSR รุ่นเก่า metashel.exe ที่ใช้กับกราฟิก

การเปิดให้ใช้งานฟรีของโปรแกรม DOS จากปี 1991

  • James Gleick's CHAOS: The Software เป็นรีลีสที่เปิดให้ใช้งานฟรีทั้งซอร์สโค้ด คู่มือ และไฟล์ปฏิบัติการของโปรแกรม Autodesk สำหรับ DOS จากปี 1991
  • ผู้สร้างซอฟต์แวร์คือ Josh Gordon, Rudy Rucker และ John Walker
    • Rudy Rucker เขียนอัลกอริทึมส่วนใหญ่
    • อัลกอริทึม Fractal Landscapes เขียนโดย John Walker
    • Josh Gordon รับผิดชอบอินเทอร์เฟซและการนำโค้ดอัลกอริทึมไปใช้งานเป็นจำนวนมาก
  • โปรแกรมนี้ถูกสร้างขึ้นโดยหารือกับ James Gleick เกี่ยวกับหนังสือ Chaos: Making a New Science
  • การเผยแพร่ครั้งนี้แจกจ่ายภายใต้ GNU license

การดาวน์โหลดและการรัน

  • รายการดาวน์โหลด Release 1.1 มีสามส่วน
  • โปรแกรม Chaos สามารถรันได้บนแทบทุกแพลตฟอร์มภายใน DOS shell ที่ชื่อ DOSBox
  • รายละเอียดการรันเพิ่มเติมอยู่ที่ Releases page

การเปลี่ยนแปลงโค้ดและงานปรับปรุงที่ยังเหลือ

  • ผู้ใช้สามารถแก้ไข Chaos code และอัปโหลดเวอร์ชันใหม่ได้
  • ยังสามารถนำอัลกอริทึมไปต่อยอดเป็นโปรแกรมขนาดเล็กกว่าได้
  • โค้ดออนไลน์ดูได้ที่ Chaos GitHub repository
  • มีผู้สมัครเป็นงานอัปเกรดสำคัญที่ยังไม่ถูกแก้ไขอยู่สองข้อ
    • เพิ่มความละเอียดการแสดงผลหรือขนาดพิกเซล
    • เลิกใช้ DOS TSR เก่าของ MetaGraphics Software Corporation หรือโปรแกรมแบบ “terminate and stay resident” ชื่อ metashel.exe
  • Chaos ใช้การเรียก metashel เพื่อจัดการกราฟิก

6 โมดูลที่อยู่ใน Chaos

  • MANDEL: โปรแกรม Mandelbrot Set
    • รวม quadratic และ cubic Julia set
    • รวม quadratic และ cubic Mandelbrot set
    • รวม Rudy set ซึ่งเป็น cubic connectedness map
  • MAGNETS: โปรแกรม Pendulum and Magnets
    • แสดงการเคลื่อนที่ทางฟิสิกส์แบบโกลาหล
    • แสดง fractal attraction basin
  • ATTRACT: โปรแกรม Strange Attractors
    • แสดง Lorenz Attractor
    • แสดง Logistic Map
    • แสดง Yorke Attractors และ Henon Attractors
  • GAME: โปรแกรม Barnsley Fractals
    • แสดงแฟร็กทัลแบบ Iterated Function System เช่น fractal fern ที่มีชื่อเสียง
  • FORGE: โปรแกรม Fractal Forgeries
    • แสดงเมฆ แผนที่ เทือกเขา และดาวเคราะห์ที่สร้างจากแฟร็กทัลแบบสุ่ม
  • TOY: โปรแกรม Toy Universes
    • แสดง cellular automata

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

 
GN⁺ 2024-11-18
ความคิดเห็นจาก Hacker News
  • ตอนมัธยมปลาย ผมอ่านหนังสือเล่มนี้ และช่วงไล่เลี่ยกันก็ได้ดูการนำเสนอเกี่ยวกับ เซตแมนเดลบรอต
    คนที่นำเสนอแสดง z = z**2 + c พร้อมอธิบายว่าจำนวนเชิงซ้อนทำงานอย่างไร แล้วพอกลับบ้าน ผมก็ครุ่นคิดอย่างจริงจังว่าจะทำอย่างไรถึงจะแมปช่วงเล็ก ๆ ของเลขทศนิยมลอยตัวไปยังหน้าจอความละเอียดสูงของ Apple //e ได้
    สุดท้ายผมทำโปรแกรมที่รันได้สำเร็จ แต่พอลองรันดู มันแทบไม่คืบหน้าเลยจนถึงเวลาเข้านอน และผมก็ไม่รู้ด้วยว่าควรเปิดคอมพิวเตอร์ทิ้งไว้ทั้งคืนได้ไหม วันรุ่งขึ้นมาดู โปรแกรม BASIC ยังไปไม่ถึงตัวเซตหลักด้วยซ้ำ แค่วาดแถบริ้วรอบ ๆ อยู่เท่านั้น
    ผมจึงรู้สึกว่าต้องมีคอมพิวเตอร์ที่เร็วขึ้น เลยอัปเกรดเป็น เครื่อง DOS 80286 และคิดว่านั่นทำให้ผมรัน FRACTINT ได้ FRACTINT เป็นการปรับแต่งที่ชาญฉลาดมาก ใช้การคำนวณจำนวนเต็มกับกลเม็ดหลายอย่างเพื่อเรนเดอร์เซตให้เร็วขึ้น และช่วยให้ผมเรียนรู้ได้มากว่า optimization คืออะไร
    หนังสือเล่มนี้ รวมถึงหนังสืออย่าง K&R C และ Hackers ช่วยเปิดโลกความคิดของผมในช่วงมัธยมปลาย และพาผมไปสู่สายงานคอมพิวติ้งสมรรถนะสูง ระบบซับซ้อน และการจำลองสถานการณ์ ผลผีเสื้อยังมีบทบาทสำคัญในการทำความเข้าใจเรื่องเหตุและผลแบบคลาสสิกด้วย

    • FRACTINT ยังดาวน์โหลดได้อยู่: https://fractint.org/
      ตอนนั้นผมเรียน C จากการดูไฟล์ซอร์ส และก่อนหน้านั้นก็ใช้ Turbo Pascal ปนกับแอสเซมบลีอยู่ ต่อมาจึงต่อยอดไปเป็น C++ และกลายเป็นภาษาหลักตลอดช่วงสำคัญของอาชีพฟรีแลนซ์ ดีใจที่ได้หวนคิดถึงมันอีกครั้ง
  • ผมถูกเรียกไปห้องครูใหญ่ตอนมัธยมปลายเพราะหนังสือ Chaos ของ Gleick
    ผมหลงใหลแฟร็กทัลอย่างเต็มตัว แต่ที่บ้านมีแค่ IBM PC XT การเรนเดอร์เซตแมนเดลบรอตจึงช้าจนน่าทรมาน และพาเลตสีของ CGA ก็จำกัดมาก
    ช่วงนั้นผมกับผู้สมรู้ร่วมคิดค้นพบว่าเครื่อง 386 ในห้องสมุดแทบไม่ได้ถูกใช้ค้นหาแค็ตตาล็อกเลย จึงเอาเครื่องเหล่านั้นมาใช้เป็นฟาร์มเรนเดอร์แฟร็กทัล เราจะปิดโปรแกรมแค็ตตาล็อก ใส่ฟลอปปีดิสก์ที่มีเรนเดอเรอร์เวอร์ชันล่าสุด ตั้งให้เรนเดอร์การซูมลึก ๆ แล้วปิดจอไว้ไม่ให้เป็นที่สงสัย จากนั้นค่อยกลับมาตรวจดูในคาบถัดไป
    ผลลัพธ์น่าตื่นเต้นมาก และทำให้ผมสัมผัสได้ว่า การเข้าถึงทรัพยากรประมวลผล สร้างความแตกต่างได้มากแค่ไหน สุดท้ายก็จบแบบคุ้น ๆ คือถูกบรรณารักษ์จับได้และถูกรายงานว่าเป็น “การแฮ็ก”

  • หนังสือเล่มนี้เปลี่ยนชีวิตผม
    ตอนมัธยมปลาย ผมแย่คณิตศาสตร์มาก แต่พอมีความสนใจแบบอุ่น ๆ ต่อสายศิลปะอยู่บ้าง เลยคิดว่าอาจทำอะไรอย่างสถาปัตยกรรมได้ จึงเลือกเรียนคณิตศาสตร์ขั้นสูง ในระบบเกรดของอังกฤษ ผมได้ U ซึ่งเทียบกับ “Unmarked” หมายถึงทำได้แย่จนกระดาษคำตอบไม่คุ้มจะให้คะแนนด้วยซ้ำ
    ช่วงใกล้ ๆ กัน ระหว่างเดินไปเรื่อย ๆ ผมเห็นปกหนังสือที่มีกราฟิกแปลกและสวยที่สุดเท่าที่เคยเห็นมา แล้วคิดว่า “นี่มันอะไรกันแน่?” จึงหยิบขึ้นมา ภาพสีตรงกลางเล่มมีรูปที่คมชัดและชวนตะลึงยิ่งกว่าเดิม ผมจึงยืมหนังสือมาอ่านเพื่อหาคำตอบว่าภาพเหล่านั้นถูกวาดขึ้นมาได้อย่างไร
    สรุปคือผมกลายเป็นคนที่เก่งคณิตศาสตร์พอสมควร และแฟร็กทัล โดยเฉพาะแฟร็กทัลเชิงสถิติ ก็กลายเป็นหัวข้อสำคัญในงานวิจัยปริญญาเอกของผมด้วย บางครั้งผมก็คิดว่าชีวิตคงเป็นอย่างไรถ้าไม่ได้เห็นภาพประหลาดเหล่านั้น อย่างมากก็น่าจะได้เป็นสถาปนิกธรรมดามาก ๆ คนหนึ่ง

    • สำหรับผม หนังสือเล่มนั้นก็เปลี่ยนชีวิตเหมือนกัน
      ผมเคยคิดว่าวิทยาศาสตร์เป็นเรื่องของสถานะสุดท้าย เช่น ผสมสารเคมีสองชนิดแล้วได้ผลิตภัณฑ์ หรือแก้โจทย์คณิตศาสตร์แล้วได้คำตอบ
      แต่แนวคิดที่ว่าส่วนที่น่าสนใจไม่ใช่ผลลัพธ์ หากเป็น กระบวนการ นั้นเป็นวิธีมองโลกแบบใหม่อย่างสิ้นเชิง ผมได้พบเป็นครั้งแรกว่า iteration ที่เอาเอาต์พุตกลับไปป้อนเป็นอินพุตของฟังก์ชันอีกครั้ง ไม่ใช่แค่สัญญาณรบกวนจาก feedback ธรรมดา ๆ
      ชั่วชีวิตคนเราจะได้เจอการเปลี่ยนกระบวนทัศน์จริง ๆ สักกี่ครั้งกัน ผมคงได้เจอหนังสือที่ใช่ในวัยที่ใช่ และคนส่วนใหญ่ที่ทิ้งคอมเมนต์แบบนี้น่าจะอายุราว ๆ 50 ปีแล้วตอนนี้
      เพียงแต่ผมไม่เคยเก่งคณิตศาสตร์ขึ้นได้จริง ๆ
    • ถ้าจำไม่ผิด U ในเกรดของอังกฤษน่าจะย่อมาจาก “Ungraded” นะ นานมาแล้วเลยไม่แน่ใจ
    • เป็นหนังสือที่ยอดเยี่ยมจริง ๆ และเป็นหนังสือเล่มแรกที่ผมซื้อด้วยเงินตัวเองตอนมหาวิทยาลัย ทำให้คณิตศาสตร์น่าสนใจและเข้าถึงได้
  • การที่เอกสารนี้อยู่บน GitHub ของ Rudy Rucker ยิ่งเจ๋งเป็นสองเท่า
    ผมอ่านหนังสือ “Infinity and the Mind” ของเขา แล้วกลับไปเรียนมหาวิทยาลัยอีกครั้งเพื่อเรียนเอกคณิตศาสตร์ หนังสือเล่มนั้นเปลี่ยนชีวิตผมไปในทางที่ดี
    https://en.wikipedia.org/wiki/Rudy_Rucker

  • ตอนเป็นนักเรียนมัธยมปลายในปี 1987 ผมอ่าน Chaos แล้วก็ตกลงไปในโพรงกระต่ายทันที โดยเขียนโค้ดตัวดึงดูดลอเรนซ์บน Apple IIe ของโรงเรียน
    ผมทึ่งกับความจริงที่ว่าไม่ว่าจะซูมตรงไหน ก็มีรายละเอียดเพิ่มขึ้นเสมอ ผมสงสัยว่ามนุษย์เป็นผู้ประดิษฐ์คณิตศาสตร์ขึ้นมาเพื่อสร้างรูปทรงเหล่านี้ หรือมันดำรงอยู่เป็นอิสระที่ไหนสักแห่งในจักรวาล รอให้ถูกค้นพบกันแน่ ประสบการณ์นั้นทำให้ช่วงวัยรุ่นของผมมีบทสนทนาเชิงปรัชญาตามมาอย่างมากมาย
    โปรแกรม Applesoft BASIC ช้ามาก และผมเสียดายที่มันไม่ได้ผลักดันให้ผมเรียนแอสเซมบลี 6502

    • ตอนมัธยมปลาย ผมอ่านหนังสือเล่มนั้น แล้วได้รับแรงบันดาลใจจากคำอธิบายการทดลองวัดช่วงห่างของหยดน้ำ จึงพยายามทำซ้ำด้วย Apple IIe, เลเซอร์ และโฟโตไดโอด
      ผมได้ค่าที่วัดอยู่ และแทบจะเห็นอะไรคล้ายตัวดึงดูดแล้ว แต่ BASIC ช้าเกินไป ผมเลยต้องเรียนแอสเซมบลีเพื่อให้ได้การวัดที่ต้องการ
      สุดท้ายผมดูเหมือนจะหมดความสนใจในฟิสิกส์และคณิตศาสตร์ แล้วขุดลึกกับคอมพิวเตอร์อย่างเดียวต่อมา ผ่านไป 40 ปีจนถึงตอนนี้ก็ยังทำแบบนั้นอยู่
  • ตอนมัธยมปลาย ผมชอบหนังสือเล่มนี้มาก และยังกลับมาอ่านอีกตอนมหาวิทยาลัย มันมีอิทธิพลต่อผมมาก ผู้เขียนเป็นนักเขียนที่ถ่ายทอดนักวิจัยหลายคนได้ดี และมีความสามารถยอดเยี่ยมในการอธิบาย ทฤษฎีและแนวคิด

  • ถ้าคุณชอบสาขานี้ Complexity Explorer ก็เป็นแหล่งข้อมูลที่ยอดเยี่ยม
    https://www.complexityexplorer.org/

  • เป็นหนังสือที่ผมอ่านตอนเด็กและได้รับอิทธิพลมาก

  • เป็นหนึ่งในหนังสือและผู้เขียนที่ผมชอบที่สุด
    หนังสือเล่มนี้เปิดใจผม และหลังจากอธิบายว่ามันเชื่อมโยงโดยตรงกับแนวคิด “สร้างระเบียบจากความโกลาหล” ในวารสารศาสตร์ภาพถ่าย ผมก็มอบสำเนาของผมให้กับติวเตอร์ด้านวารสารศาสตร์ภาพถ่าย จากนั้นแนวคิดนี้ก็กลายเป็นสิ่งที่นำไปใช้ได้ตลอดชีวิตการทำงานของผม
    ตอนนี้คงต้องกลับไปค้นหนังสือเล่มอื่น ๆ ของเขาอีกครั้ง ซื้อเล่มนี้ใหม่อีกสักเล่ม และโคลน repository นี้ด้วย

  • ตอนเด็ก ๆ ผมเล่น ตัวสร้างแฟร็กทัล เยอะมาก และสนุกจริง ๆ ถ้าสนใจซอฟต์แวร์สมัยใหม่ที่คล้ายกัน ก็น่าดูรายการเหล่านี้
    XaoS ตัวสร้าง/ตัวดูแฟร็กทัลแบบเรียลไทม์: https://github.com/xaos-project/XaoS
    Apophysis 7X: https://github.com/xyrus02/apophysis-7x
    Chaotica: https://www.chaoticafractals.com