1 poin oleh GN⁺ 22 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Repositori Gleam yang berorientasi pada sistem yang aman secara tipe dan dapat diskalakan kini juga dapat digunakan di Tangled
  • Branch default hanya main, dengan sekitar 11.000 commit, 254 bintang, dan 2 fork
  • Kode repositori didominasi oleh Rust 92,9%, diikuti JavaScript 3,6%, Gleam 1,8%, dan lainnya
  • Dari compiler dan language server hingga compiler WASM, generator kode Erlang, formatter, dan proyek pengujian, semuanya dikelola dalam satu repositori
  • Gleam bukan milik perusahaan, melainkan proyek yang didukung sponsor, dan baik proyek maupun anggota inti tim dapat menerima dukungan

Struktur repositori

  • gleam.run/gleam adalah repositori Tangled untuk bahasa Gleam
  • Komponen utamanya adalah sebagai berikut
    • compiler-cli, compiler-core, compiler-wasm
    • language-server, erlang-generation, erlang-term-format
    • format, hexpm, gleam-bin
    • benchmark, dokumentasi, paket komunitas, dan proyek pengujian terkait compiler
  • main adalah satu-satunya branch sekaligus branch default, dan tidak ada tag publik

Proporsi bahasa dan cara clone

  • Proporsi per bahasa adalah Rust 92,9%, JavaScript 3,6%, dan Gleam 1,8%
  • HTML dan CSS masing-masing 0,4%, Erlang dan Shell masing-masing 0,3%, serta juga mencakup TypeScript, Makefile, Dockerfile, Elixir, dan PowerShell
  • Repositori dapat di-clone melalui HTTPS dan SSH, serta mendukung unduhan dalam format tar.gz dan .zip
  • Pada knot Tangled yang di-host sendiri, URL clone dapat berbeda tergantung konfigurasi

Pekerjaan pengembangan terbaru

  • Commit terbaru mencakup peningkatan performa pada formatter dan generator kode JavaScript, serta perbaikan kode hasil generasi Erlang untuk external dengan argumen yang sudah deprecated
  • Pada language server, diterapkan perubahan untuk menambahkan nama tipe pada judul code action pembuatan variant, serta menambahkan code action untuk konversi basis bilangan
  • Dukungan juga ditambahkan untuk angka negatif dengan basis berbeda, dan teks saran compiler serta pesan peringatan todo turut diperbaiki
  • Jika HEXPM_READ_API_KEY disetel, permintaan penelusuran dependensi Hex dan unduhan akan diautentikasi
    • Alih-alih pembatasan ketat per IP, akan berlaku batas permintaan per pengguna yang lebih tinggi

Operasional proyek

  • Gleam bertujuan membangun sistem yang dapat diskalakan dengan landasan keamanan tipe
  • Proyek ini tidak dimiliki perusahaan dan dijalankan berkat dukungan para sponsor
  • Di halaman sponsor Gleam, Anda dapat mendukung proyek atau anggota inti tim

1 komentar

 
GN⁺ 22 jam lalu
Komentar Hacker News
  • Tulisan ini sangat membutuhkan lebih banyak penjelasan konteks. Dalam kondisi sekarang, hanya orang yang memang sudah tidak perlu penjelasan yang bisa langsung memahaminya
    https://knowyourmeme.com/memes/curtains-for-zoosha

    • Gleam adalah bahasa yang populer di kalangan orang yang menyukai Erlang atau Elixir, dan semuanya berbasis mesin virtual BEAM
      Tangled adalah alternatif GitHub terdesentralisasi yang dibangun di atas ATProto, seperti Bluesky
    • Ironisnya, halaman yang ditautkan mengubah satu twit biasa yang diposting ulang menjadi beberapa layar “konten”, sehingga justru terbaca seperti artikel berita hiburan
    • Kalau begitu, mungkin kita juga perlu mulai dengan menjelaskan apa itu situs ini, yaitu HN (Hacker News)
  • Saya baru pertama kali mencoba Tangled dan mendaftar, tetapi pengalaman pengguna baru perlu dipoles. Saya memasukkan email, melewati verifikasi, lalu membuat nama pengguna, tetapi tidak bisa login langsung dengan nama itu, dan harus mempelajari protokol URL sosial yang asing
    Dalam proses autentikasi, saya diarahkan ke layar dan URL yang tampak milik proyek tersebut, tetapi branding dan warnanya sama sekali berbeda, sehingga password manager tidak bisa mengaitkannya. Saya memang sangat sensitif terhadap friksi saat mendaftar, tetapi proyeknya sendiri menarik, jadi semoga masukan ini membantu

    • Proses daftar/login saya hanya “klik login → masukkan handle Bluesky yang sudah ada → masukkan kata sandi di layar login domain bsky → klik setujui”. Pada tahap ini, jalur itu tampaknya lebih dioptimalkan
      Karena aplikasi dan identitas tidak digabungkan erat, mereka menyiapkan infrastruktur terpisah, tetapi sepertinya belum banyak waktu dicurahkan untuk mematangkan tampilannya. Saya tidak membuat akun mereka sendiri, jadi kalau tidak bisa login dengan nama pengguna, saya penasaran harus memakai apa
    • Dalam kasus saya malah lebih buruk; hanya muncul error Failed to complete sign up. Try again later.
  • Gleam adalah bahasa menarik yang berorientasi pada desain kecil dan rapi. Baru-baru ini saya bertemu tim Gleam di Ubuntu Summit, dan mereka menyampaikan dengan sangat baik filosofi desain untuk tetap kecil dan dibangun dengan hati-hati dalam presentasi mereka
    Giacomo mengatakan ia menganimasikan sendiri semua transisi layar, dan menurut saya presentasinya sendiri juga dibuat kecil dan teliti sehingga makin memperkuat pesan utamanya
    https://youtu.be/E6_JqYMeNqs
    https://discourse.ubuntu.com/t/gleam-and-the-value-of-small/...
    https://en.wikipedia.org/wiki/Gleam_(programming_language)

  • Saya pernah menjalankan server Knot sendiri di Tangled; repositori memang berhasil dibuat di Knot, tetapi perubahan setelahnya tidak muncul di Tangled
    Knot punya koneksi IPv6, tetapi agar berjalan stabil saya harus mengaktifkan beberapa NAT IPv4 dan bahkan membuat dummy A record; ini masalah yang sudah diketahui: https://tangled.org/tangled.org/core/issues/494

  • Saya penasaran mengapa mereka memilih Forge berbasis pendanaan ventura alih-alih Codeberg. Rasanya juga kurang cocok dengan klaim sebagai “bahasa yang ramah”

    • “Ada di Tangled” pada dasarnya berarti menerbitkan record ATProto sh.tangled.*. Ini bukan struktur yang membuat Anda bergantung pada perusahaan bermodal ventura di balik web app tangled.org; aplikasinya hanya membaca repositori Git yang dipublikasikan lewat protokol dan menampilkannya dengan antarmuka yang nyaman
      Aplikasi ATProto lain yang membaca record yang sama juga dapat mengakses informasi yang sama. Repositorinya sendiri juga tidak harus berada di Tangled; bisa di-host langsung di server yang mendukung Git, SSH, HTTP, dan WebSocket
    • Saya tidak menyukai cara pendanaan Tangled, tetapi menurut saya ATProto punya potensi besar untuk memperbaiki internet. Di komunitas Gleam juga ada minat tinggi terhadap protokol ini, jadi saya menilai ini cocok untuk meng-host mirror repositori Gleam
    • Gleam masih tetap ada di GitHub. Ini bukan migrasi resmi, hanya tambahan keberadaan di Forge berbasis ATProto
    • Tampaknya besar kemungkinan itu merupakan syarat dukungan finansial, dan akhirnya meninggalkan kesan pahit bahwa nilai intinya adalah uang, bukan komunitas. Saya lebih baik fokus memakai Elixir dalam proyek saya
  • Saya baru pertama kali mencoba Tangled, tetapi tampaknya terlalu banyak bug sampai sulit dipakai sungguhan. Saya membuat repositori, tetapi muncul 404 sehingga tidak bisa dilihat, dan login gagal beberapa kali meskipun saya menyalin dan memasukkan handle ATProto yang sama setiap kali
    Meski begitu, senang melihat lebih banyak tim mengembangkan alternatif hosting Git

    • Di masa awal GitHub pun hal yang sama terjadi karena repositori dibuat secara asinkron lalu pengguna langsung diarahkan ke sana. Setelah beberapa detik dan refresh, repositorinya muncul; seingat saya kemudian mereka menambahkan layar perantara yang menunggu lalu mengarahkan otomatis
  • Saya sudah cukup lama mencari layanan Git terdesentralisasi dan mulai meng-host sendiri juga, tetapi fitur sosialnya kurang. Saya ingin tahu lebih banyak tentang Tangled

    • Radicle sedikit lebih dekat dengan tujuan itu dan memungkinkan self-hosting serta federasi. Namun sulit menemukan alternatif dengan gravitasi sosial seperti GitHub, dan masih belum jelas apakah unsur ini bisa dipisahkan dari Forge atau harus disediakan bersama-sama
    • Saat ini tampaknya antarmuka dan API-nya sendiri belum bisa di-self-host. Server Git bernama Knot dan runner CI bernama Spindle bisa dijalankan, tetapi layanan keseluruhannya masih agak tersentralisasi, dan pekerjaan untuk mengubah hal itu sedang berjalan
    • Selain fakta bahwa perusahaannya terdaftar di Finlandia, sulit menemukan siapa yang mengoperasikannya dan bagaimana pendanaannya
  • Saya bersedia mencoba menaruh satu proyek di Tangled, tetapi rangkaian fitur untuk menutup jarak dengan layanan yang sudah ada masih punya jalan panjang. Terutama gangguan GitHub yang terjadi bahkan saat hanya melihat repositori sudah sangat menghambat

    • Saya penasaran, alih-alih memilih Tangled hanya karena nuansa ATProto, mengapa tidak memakai Codeberg yang lebih matang, atau Forgejo/Gitea yang bebas dan open source
    • Keluhan soal gangguan GitHub membuat saya benar-benar mulai mencari layanan lain
  • Saya penasaran apa bedanya Tangled dengan Codeberg, dan seperti apa proses migrasinya

    • Saya memakai keduanya, dan Tangled masih belum punya fitur penting seperti repositori privat dan protected branch. Sebaliknya, antarmuka Tangled terasa lebih nyaman, sementara Codeberg cukup lambat di lingkungan saya
      Saya tidak memakai CI/CD jadi tidak tahu sampai proses migrasi yang rumit, tetapi mendorong repositori ke Knot yang di-host sangatlah mudah. Menjalankan Knot sendiri juga tidak sulit, dan saya suka bahwa setidaknya salah satu server tempat saya mengirim kode dimiliki sendiri
    • Perbedaan utama Tangled adalah, tidak seperti Forgejo atau Codeberg, ia dibangun di sekitar protokol federasi ATProto
  • Sulit memahami apa itu Tangled dan Gleam mana yang dimaksud

    • Ini terlihat seperti tulisan yang hanya dimengerti orang dalam. Bahkan saat membuka tautannya, hampir tidak ada isi yang tampak terkait dengan Tangled, dan ini termasuk parah bahkan di antara posting HN yang audiensnya terbatas
      Petunjuk bahwa URL-nya adalah Tangled begitu samar sampai baru saya sadari setelah membuka untuk ketiga kalinya, dan halaman kunjungannya praktis tidak menjelaskan apa itu Tangled