- ตอนนี้สามารถใช้งาน คลังเก็บ Gleam บน Tangled ได้แล้ว ซึ่งมุ่งสู่ระบบที่ปลอดภัยด้านชนิดข้อมูลและขยายต่อได้
- สาขาหลักมีเพียง
mainสาขาเดียว และมีประมาณ 11,000 คอมมิต, ดาว 254 และฟอร์ก 2 - โค้ดในคลังเก็บประกอบด้วย Rust 92.9% เป็นหลัก ตามด้วย JavaScript 3.6%, Gleam 1.8% เป็นต้น
- ดูแลองค์ประกอบตั้งแต่คอมไพเลอร์และ language server ไปจนถึงคอมไพเลอร์ WASM ตัวสร้างโค้ด Erlang ตัวจัดรูปแบบ และโปรเจกต์ทดสอบไว้ในคลังเก็บเดียว
- Gleam เป็น โครงการที่ได้รับการสนับสนุนจากผู้สนับสนุน ไม่ได้เป็นของบริษัท และสามารถสนับสนุนได้ทั้งตัวโครงการและสมาชิกทีมหลัก
โครงสร้างคลังเก็บ
- gleam.run/gleam คือคลังเก็บบน Tangled ของ ภาษา Gleam
- องค์ประกอบหลักมีดังนี้
compiler-cli,compiler-core,compiler-wasmlanguage-server,erlang-generation,erlang-term-formatformat,hexpm,gleam-bin- benchmark, เอกสาร, แพ็กเกจชุมชน และ โปรเจกต์ทดสอบ ที่เกี่ยวข้องกับคอมไพเลอร์
mainเป็นทั้งสาขาเดียวและสาขาหลัก และยังไม่มีแท็กที่เผยแพร่
สัดส่วนภาษาและวิธีโคลน
- สัดส่วนตามภาษาได้แก่ Rust 92.9%, JavaScript 3.6%, Gleam 1.8%
- HTML และ CSS อย่างละ 0.4%, Erlang และ Shell อย่างละ 0.3% และยังมี TypeScript, Makefile, Dockerfile, Elixir, PowerShell รวมอยู่ด้วย
- สามารถโคลนผ่าน HTTPS และ SSH ได้ และรองรับการดาวน์โหลดแบบ
tar.gzและ.zip - บน Tangled knot ที่โฮสต์เอง URL สำหรับโคลนอาจแตกต่างกันได้ ตามการตั้งค่า
งานพัฒนาล่าสุด
- คอมมิตล่าสุดรวมถึง การปรับปรุงประสิทธิภาพ ของตัวจัดรูปแบบและการสร้างโค้ด JavaScript รวมถึงการแก้โค้ดสร้าง Erlang สำหรับ external ที่มีอาร์กิวเมนต์ที่เลิกใช้แล้ว
- ฝั่ง language server มีการเปลี่ยนแปลงให้ใส่ชื่อชนิดข้อมูลในชื่อ code action สำหรับการสร้าง variant และเพิ่ม code action สำหรับแปลงฐานของตัวเลข
- ยังรองรับจำนวนลบในฐานที่ต่างกัน และปรับปรุงข้อความคำแนะนำของคอมไพเลอร์กับข้อความเตือน
todo - เมื่อตั้งค่า
HEXPM_READ_API_KEYจะใช้การยืนยันตัวตนกับคำขอค้นหาและดาวน์โหลด dependency ของ Hex- ทำให้ใช้ ขีดจำกัดคำขอต่อผู้ใช้ที่สูงขึ้น แทนการจำกัดต่อ IP แบบเข้มงวด
การดำเนินโครงการ
- Gleam มุ่งสร้างระบบที่ขยายต่อได้บนพื้นฐานของ ความปลอดภัยด้านชนิดข้อมูล
- โครงการนี้ไม่ได้เป็นของบริษัทและดำเนินงานด้วยการสนับสนุนจากผู้สนับสนุน
- สามารถสนับสนุนตัวโครงการหรือสมาชิกทีมหลักได้ที่ หน้าสนับสนุน Gleam
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
โพสต์นี้ต้องการ คำอธิบายบริบท มากกว่านี้มาก ในสภาพตอนนี้มีแต่คนที่ไม่ต้องให้เกริ่นนำอยู่แล้วเท่านั้นที่จะเข้าใจได้ทันที
https://knowyourmeme.com/memes/curtains-for-zoosha
Tangled เป็นทางเลือกแบบกระจายศูนย์ของ GitHub ที่สร้างอยู่บน ATProto เช่นเดียวกับ Bluesky
เพิ่งรู้จัก Tangled เลยลองสมัครดู แต่ ประสบการณ์ผู้ใช้ใหม่ ยังต้องขัดเกลาอีกพอสมควร ผมกรอกอีเมล ยืนยันตัวตน แล้วสร้างชื่อผู้ใช้ แต่กลับล็อกอินด้วยชื่อนั้นตรง ๆ ไม่ได้ และยังต้องไปทำความเข้าใจ social URL protocol ที่ไม่คุ้นเคยอีก
ระหว่างขั้นตอนยืนยัน ระบบพาไปยังหน้าและ URL ที่ดูเหมือนเป็นเจ้าของโดยโปรเจ็กต์เดียวกันแต่แบรนดิ้งกับสีกลับไม่เหมือนกันเลย ทำให้ตัวจัดการรหัสผ่านจับคู่ไม่ได้ ผมค่อนข้างไวกับแรงเสียดทานตอนสมัครใช้งานเป็นพิเศษ แต่ตัวโปรเจ็กต์น่าสนใจ จึงหวังว่าฟีดแบ็กนี้จะเป็นประโยชน์
ดูเหมือนพวกเขาจัดโครงสร้างพื้นฐานแยกไว้เพราะแอปกับตัวตนไม่ได้ผูกกันแน่น แต่ยังไม่ได้ใช้เวลาขัดเกลาหน้าจอมากนัก ถ้าไม่ได้สร้างบัญชีของตัวเองไว้ ก็สงสัยว่าถ้าล็อกอินด้วยชื่อผู้ใช้ไม่ได้แล้วควรใช้อะไร
Failed to complete sign up. Try again later.เท่านั้นGleam เป็นภาษาที่น่าสนใจซึ่งมุ่งไปที่ การออกแบบเล็กแต่ประณีต ไม่นานมานี้ผมได้เจอทีม Gleam ที่งาน Ubuntu Summit และพวกเขาถ่ายทอดปรัชญาการออกแบบเรื่องการคงความเล็กและค่อย ๆ สร้างอย่างรอบคอบออกมาได้ดีมากในงานนำเสนอ
Giacomo บอกว่าเขาทำแอนิเมชันการเปลี่ยนหน้าทั้งหมดเอง และผมรู้สึกว่าตัวงานนำเสนอเองก็ทำมาอย่างเล็ก ๆ แต่ใส่ใจรายละเอียด จึงช่วยตอกย้ำสารหลักได้ดียิ่งขึ้น
https://youtu.be/E6_JqYMeNqs
https://discourse.ubuntu.com/t/gleam-and-the-value-of-small/...
https://en.wikipedia.org/wiki/Gleam_(programming_language)
ผมลองรัน เซิร์ฟเวอร์ Knot ของตัวเองบน Tangled แต่แม้ว่าจะสร้าง repository บน Knot ได้ตามปกติ การเปลี่ยนแปลงหลังจากนั้นกลับไม่ปรากฏบน Tangled
Knot มีการเชื่อมต่อ IPv6 แต่กว่าจะให้ทำงานเสถียรได้ต้องเปิด IPv4 NAT หลายตัวและทำ dummy A record ด้วย ซึ่งเป็นปัญหาที่ทราบกันอยู่แล้ว: https://tangled.org/tangled.org/core/issues/494
ผมสงสัยว่าทำไมถึงเลือก Forge ที่พึ่งเงินลงทุนจาก venture capital แทน Codeberg มันดูไม่ค่อยสอดคล้องกับคำอ้างเรื่องเป็น ‘ภาษาที่เป็นมิตร’ ด้วย
sh.tangled.*โครงสร้างนี้ไม่ได้ผูกติดกับบริษัทที่ได้เงินทุนจาก venture capital ที่อยู่เบื้องหลังเว็บแอป tangled.org และตัวแอปก็แค่แสดง Git repository ที่เปิดเผยผ่านโปรโตคอลให้อ่านง่ายขึ้นแอป ATProto อื่นที่อ่าน record เดียวกันก็เข้าถึงข้อมูลเดียวกันนี้ได้ และตัว repository เองก็ไม่จำเป็นต้องอยู่บน Tangled ด้วยซ้ำ เพราะสามารถโฮสต์ตรงบนเซิร์ฟเวอร์ที่รองรับ Git, SSH, HTTP, WebSocket ได้
เพิ่งลองใช้ Tangled ครั้งแรก แต่ดูเหมือนจะมี บั๊กเยอะมาก จนใช้งานจริงลำบาก ผมสร้าง repository แล้วเจอ 404 จนเปิดดูไม่ได้ และแม้จะคัดลอก ATProto handle เดิมมาใส่ทุกครั้ง ก็ยังล็อกอินล้มเหลวหลายรอบ
ถึงอย่างนั้นก็ยังดีใจที่มีทีมมากขึ้นที่กำลังพัฒนาทางเลือกสำหรับ Git hosting
ช่วงหนึ่งผมหา บริการ Git แบบกระจายศูนย์ และเริ่ม self-host เองด้วย แต่ยังขาดฟีเจอร์ด้านโซเชียล อยากรู้ข้อมูลเกี่ยวกับ Tangled เพิ่มเติม
ผมยินดีจะลองย้ายโปรเจ็กต์หนึ่งไปไว้บน Tangled แต่ชุด ฟีเจอร์ ยังต้องไปอีกไกลกว่าจะไล่ทันบริการเดิม โดยเฉพาะปัญหา GitHub downtime ที่เกิดขึ้นแม้แค่ตอนดู repository ก็รบกวนมากเกินไป
ผมสงสัยว่า Tangled ต่างจาก Codeberg อย่างไร และขั้นตอนย้ายเป็นแบบไหน
ผมไม่ได้ใช้ CI/CD เลยไม่ทราบเรื่องขั้นตอนย้ายที่ซับซ้อนนัก แต่การ push repository ไปยัง Knot ที่โฮสต์ไว้ทำได้ง่ายมาก การรัน Knot เองก็ไม่ยาก และผมชอบที่อย่างน้อยมีเซิร์ฟเวอร์หนึ่งในบรรดาเซิร์ฟเวอร์ที่ส่งโค้ดไปนั้นเป็นของผมเอง
ยากที่จะรู้ว่า Tangled คืออะไร และหมายถึง Gleam ตัวไหนกันแน่
กว่าผมจะสังเกตว่า URL เป็นเบาะแสว่าเกี่ยวกับ Tangled ก็ต้องเปิดเป็นลิงก์ที่สามแล้ว และในหน้า landing page เองก็แทบไม่มีคำอธิบายว่า Tangled คืออะไร