2 คะแนน โดย GN⁺ 2024-09-23 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Brainfuck Enterprise Solutions (BES) เป็นองค์กรบน GitHub ที่มีคอนเซ็ปต์ในการแก้ปัญหาความซับซ้อนของการพัฒนาซอฟต์แวร์สมัยใหม่ด้วย สภาพแวดล้อมซอฟต์แวร์ที่ใช้ Brainfuck เป็นฐาน
  • จัดวางตั้งแต่ระบบปฏิบัติการ โปรแกรมแก้ไขข้อความ meta-circular evaluator ไปจนถึงไลบรารีสตริง เป็น ชุดผลิตภัณฑ์ที่มี Brainfuck เป็นศูนย์กลาง ในรูปแบบคล้ายโซลูชันระดับองค์กร
  • เปิดเผยเอกสารภายในและ style guide ด้วย โดยให้ทั้ง bf.doc และ bf.style เพื่อแพ็กเกจแนวทางการดูแลโค้ดเบส Brainfuck
  • รายการ repository มี public repository 9 รายการ โดย repository หลักเขียนด้วย Brainfuck หรือ M4 และบางรายการระบุไลเซนส์ WTFPL หรือ CC0-1.0
  • ยังประกาศล่วงหน้าถึง asynchronous web server, key-value store และ machine learning framework ขยายรูปแบบการแนะนำผลิตภัณฑ์องค์กรแบบจริงจังให้เป็นมุก Brainfuck

ชุดผลิตภัณฑ์ BES ที่สร้างด้วย Brainfuck

  • Brainfuck Enterprise Solutions (BES) คือทีมที่ชูภาษาโปรแกรม Brainfuck และสภาพแวดล้อมซอฟต์แวร์ว่าเป็น “เครื่องมือที่ดีที่สุดในตลาด”
  • อธิบายว่าชุดผลิตภัณฑ์นี้กำลังรันอยู่แล้วบน blade server ที่ปรับแต่งสำหรับ Brainfuck ภายในบริษัท
  • ไลน์อัปผลิตภัณฑ์ที่เปิดเผย:
    • OS.bf: ระบบปฏิบัติการประสิทธิภาพสูงรุ่นถัดไปที่เน้น resilience ระดับองค์กร
    • ed.bf: IDE และโปรแกรมแก้ไขข้อความแบบรวมศูนย์ที่ปรับแต่งได้อย่างไร้ขีดจำกัด
    • meta.bf: meta-circular evaluator แบบฝังตัวสำหรับ Brainfuck และถูกแนะนำว่าเป็นแกนหลักของ blade server ที่มี resilience
    • str.bf: ไลบรารีจัดการสตริงประสิทธิภาพสูงที่จินตนาการขึ้นใหม่ด้วย Brainfuck

โปรเจกต์ที่ประกาศล่วงหน้าและเอกสารชุมชน

  • รายการที่เตรียมเปิดเผยในอนาคตประกอบด้วย asynchronous web server ที่เขียนด้วย Brainfuck, key-value store ที่ชูความน่าเชื่อถือระดับ “nine nines” และ machine learning framework
  • ยังมีการตั้งฉากว่าได้เปิดเผยเอกสารภายในและ style guide เพื่อการดำเนินงานของชุมชนด้วย
    • bf.doc: คู่มือเอกสารและรูปแบบมาร์กอัปอเนกประสงค์สำหรับโค้ดเบส Brainfuck
    • bf.style: style guide สำหรับ repository ขนาดกลางถึงใหญ่และทีมวิศวกรที่หลากหลาย

Repository หลักที่ปักหมุดไว้

  • os.bf: repository ภาษา Brainfuck แสดงดาว 93 ดวง และ fork 2 รายการ
  • ed.bf: repository ภาษา Brainfuck แสดงดาว 128 ดวง และ fork 1 รายการ
  • meta.bf: repository ภาษา M4 แสดงดาว 15 ดวง
  • str.bf: repository ภาษา Brainfuck แสดงดาว 13 ดวง
  • bf.doc: รูปแบบเอกสารสำหรับโค้ดเบส Brainfuck ซึ่งเดิมใช้ภายใน BES แสดงดาว 7 ดวง
  • bf.style: repository ภาษา Brainfuck แสดงดาว 12 ดวง

Public repository และโครงสร้างไลเซนส์

  • องค์กร GitHub แสดง public repository 9 รายการ
  • นอกจาก repository หลักแล้ว ยังมี repository ต่อไปนี้รวมอยู่ด้วย
    • bf-enterprise-solutions.github.io: เว็บไซต์ BES, repository ภาษา HTML
    • .github: repository โปรไฟล์ของ Brainfuck Enterprise Solutions
    • bfosix: ข้อกำหนดพื้นฐานและเอกสาร whitepaper มาตรฐานเปิดสำหรับ Brainfuck OS และสภาพแวดล้อมการเขียนโปรแกรม
  • บาง repository แสดงไลเซนส์ WTFPL และ bfosix แสดงไลเซนส์ CC0-1.0

สถานะที่เห็นบนหน้า GitHub

  • บางส่วนของหน้าแสดงข้อความ ข้อผิดพลาดในการโหลด ว่า “There was an error while loading. Please reload this page.”
  • ในส่วนสมาชิกสาธารณะไม่มีสมาชิกสาธารณะขององค์กร และการตรวจสอบสมาชิกต้องใช้สิทธิ์สมาชิก
  • ส่วนภาษาหลักและหัวข้อที่ใช้บ่อยยังคงอยู่ในสถานะกำลังโหลดหรือแสดงข้อความผิดพลาด

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

 
GN⁺ 2024-09-23
ความคิดเห็นใน Hacker News
  • เมื่อก่อนเคยเดินสายทำ CPU ที่รันโค้ด Brainfuck แบบเนทีฟ ด้วยตัวเอง: https://youtube.com/watch?v=q8G2fWprwyo
    คงต้องลองทดสอบบางตัวที่อยู่ในนี้ดู
    • เป็นงานที่ถูกประเมินค่าต่ำไป น่าจะลองเอาไปโพสต์เป็นบทความแยกดู
    • ลองพอร์ต MIPS emulator มาลงในนี้เพื่อให้รัน Linux ได้เป็นไง
    • วิดีโอดีมากจนดูรวดเดียวเลย อยากให้ทำคอนเทนต์เพิ่มอีก
  • ของแบบนี้สดใหม่จริง ๆ มี กลิ่นอายแฮ็กเกอร์ แท้ ๆ
    ผมมองว่ามีมที่ดีที่สุดนั้นเหมือนงานแฮ็กเกอร์ที่ดีที่สุด คือใช้แรงทำเยอะ ตลกนิด ๆ แต่เกือบจะเป็นการเสียดสีแบบโจ่งแจ้ง ท้าทายทางเทคนิคพอสมควร และออกมาดูเหมือนโยนมาแบบไม่แคร์
    • Brainfuck แบบ idiomatic คืออะไร” รู้สึกเหมือนเป็นคำถามเชิงปรัชญาที่แทงใจแก่นของอาชีพเราเลย
  • BF อ่านยากนิดหน่อย และใกล้เคียงกับ Perl ที่เขียนมาดีมากกว่า
    ถ้าเป็นเอนเทอร์ไพรซ์จริง ๆ ก็ควรใช้ภาษาแบบ substitution อย่าง Ook! เพราะมีทั้งพลังของ Perl และความยืดยาวของ COBOL: https://esolangs.org/wiki/Ook!
  • ดีจนอยากเอาไปใช้ในอินฟราของเราเลย มีปัญหาเล็ก ๆ แค่อย่างเดียวคือทีมกฎหมายกังวลเรื่องชื่ออยู่หน่อย
    ลองเปลี่ยนชื่อ BF ดีไหม เช่นเป็น Brainfriend อะไรแบบนั้น
    • ปกติการเซ็นเซอร์จะเขียนเป็น b****fuck แค่นั้นก็น่าจะพอ
    • ถึงจะเป็นโพสต์ล้อเล่น แต่ในชีวิตจริง fck-nat ก็มีประโยชน์พอที่องค์กรที่เป็นผู้ใหญ่จะนำไปใช้ แม้ชื่อจะเป็นแบบนั้น
      เป็นตัวอย่างจริงของ “ซอฟต์แวร์ที่มีชื่อปนคำหยาบแต่มีประโยชน์จนข้ามกำแพงการใช้งานในองค์กรได้” และช่วยแก้ปัญหาที่มักเจอเมื่อมีค่าใช้จ่ายระดับองค์กรบน AWS ด้วย
    • จะใช้ pbrain ส่วนขยายค่อนข้าง silly ที่ผมทำไว้ก็ได้ มันเพิ่ม procedure ให้ brainfuck: https://parkscomputing.com/page/pbrain
      มองย้อนกลับไป ชื่อนี้ก็ค่อนข้างเหมาะดี และผมคงต้องอัปเดต .NET compiler เป็น .NET 8 แล้ว
    • BE เป็นไง Brain Excellence
      แล้วมี PowerPoint อธิบายวิธีตั้ง Center of Excellence ด้วยไหม
    • ด้วยเหตุผลตรงนี้เป๊ะ ๆ เลยมีภาษาชื่อ brainfudge อยู่ จริง ๆ ก็แทบเป็นอีกชื่อของ brainfuck
      หา brainfudge interpreter ได้เยอะบน GitHub
  • สำหรับนักพัฒนาส่วนใหญ่ Brainfuck แทบจะเป็นมุกตลก แต่ในงานวิจัยบางสายก็ถูก扱อย่างจริงจังพอสมควร เพราะ ทำ implementation ได้ง่าย
    งานวิจัยที่น่าสนใจที่สุดในกลุ่มนี้น่าจะเป็นอันนี้: https://arxiv.org/abs/2406.19108
    “ในบทความนี้ เราศึกษาซับสเตรตการคำนวณหลายแบบที่อิงกับภาษาโปรแกรมแบบเรียบง่ายและชุดคำสั่งเครื่องหลากหลาย เพื่อเข้าใกล้ความเข้าใจว่าผู้จำลองตัวเองเกิดขึ้นได้อย่างไรอีกก้าวหนึ่ง”
  • คนสติดีคนไหนจะเลือก brainfuck สำหรับโซลูชันเอนเทอร์ไพรซ์ ทั้งที่มี Befunge อยู่?
    • อย่ามองข้ามว่าต้องเติม pipeline การจ้างงานไว้ตลอดเพื่อทดแทนคนที่ RSU cliff จบแล้ว
      Befunge ก็เหมือน Rust คือจ้างคนไม่ได้เลยไม่มีใครใช้ พอไม่มีใครใช้ก็ไม่มีคนมีประสบการณ์ พอไม่มีคนมีประสบการณ์ก็จ้างไม่ได้ กลายเป็นตัวเลือกที่ไม่ดีสำหรับการใช้งาน ส่วน BrainFuck มีมาหลายสิบปีแล้ว และถ้าจ้างนักพัฒนาที่เก่งพอก็หลีกเลี่ยงปัญหาได้
    • ใช่ Befunge ไม่ได้มีเป้าหมายต่ำต้อยแค่ทำให้มนุษย์อ่านยาก แต่มีอุดมคติที่สูงกว่านั้นมาก
      “Befunge ซึ่งตั้งเป้าให้ คอมไพล์ยากที่สุดเท่าที่จะเป็นไปได้
    • พูดตามตรง เอนเทอร์ไพรซ์ที่ฉลาดเขาใช้ Malbolge กันอยู่
  • ตรงกับความต้องการผมพอดี บริษัทเราต้อง migrate ออกจาก INTERCAL และตอนนี้ผมมั่นใจแล้วว่า Brainfuck เหมาะกับงานนี้อย่างสมบูรณ์แบบ
    • หมายความว่าบริษัทต้อง COME FROM จาก Intercal งั้นเหรอ?
    • เคย ผสาน Brainfuck เข้ากับ codebase C++ legacy แล้วค่อนข้างสำเร็จ
      ขณะที่ทีมรับเอา pattern และ practice ของ C++ สมัยใหม่แบบ idiomatic มาใช้ เราพบว่า Brainfuck ใน https://github.com/tfc/cpp_template_meta_brainfuck_interpret... เข้ากับ C++ template metaprogramming ได้อย่างเป็นธรรมชาติและไร้รอยต่อ
    • ผู้ซื้อโปรดระวัง ในฐานะผู้ใช้เมนเฟรม legacy ที่ใช้ INTERCAL ขอแนะนำให้หลีกเลี่ยงบริการ migrate เมนเฟรมขึ้นคลาวด์แบบทั่วไปที่สัญญาว่าจะ ย้ายจาก INTERCAL ไป BF ภายในกำหนดเวลาตายตัว
      พวกเขาใช้เครื่องมือ AI แต่ไม่มีการทดสอบที่แข็งแรง ต่อให้สภาพแวดล้อมนักพัฒนาไม่ได้ดีที่สุด การอยู่กับ IBM แล้วเขียนโมดูลใหม่ด้วย Enterprise z/INTERCAL ยังดีกว่ามาก
  • คิดถึงบรรยากาศแบบนี้ในยุคอินเทอร์เน็ตแรก ๆ อย่าง Church of the SubGenius, IOCCC, Phrack Magazine, The Tao of Programming
    • ผมว่า POC||GTFO สืบทอดจิตวิญญาณยุคนั้นไว้ได้ในระดับหนึ่ง
  • หลังเปิดลิงก์ดูแล้วแปลกใจที่นี่ไม่ได้พูดถึง SharePoint
  • “เรามุ่งมั่นที่จะรักษาให้ชุมชน Brainfuck มีสุขภาวะที่ดี” เป็นประโยคที่ยอดเยี่ยมที่สุด