- Tür güvenli ve ölçeklenebilir sistemleri hedefleyen Gleam deposu artık Tangled üzerinden de kullanılabiliyor
- Varsayılan dal yalnızca
main; yaklaşık 11.000 commit, 254 yıldız ve 2 fork bulunuyor - Depo kodunun büyük bölümü %92,9 Rust; ardından %3,6 JavaScript, %1,8 Gleam geliyor
- Derleyici ve dil sunucusundan WASM derleyicisine, Erlang kod üretecine, biçimlendiriciye ve test projelerine kadar her şey tek bir depoda yönetiliyor
- Gleam, bir şirkete ait olmayan, sponsor destekli bir proje; hem proje hem de çekirdek ekip üyeleri desteklenebiliyor
Depo yapısı
- gleam.run/gleam, Gleam dilinin Tangled deposudur
- Başlıca bileşenler şunlardır
compiler-cli,compiler-core,compiler-wasmlanguage-server,erlang-generation,erlang-term-formatformat,hexpm,gleam-bin- Benchmark'lar, dokümantasyon, topluluk paketleri ve derleyiciyle ilgili test projeleri
main, tek dal ve varsayılan daldır; yayımlanmış etiket yoktur
Dil oranları ve klonlama yöntemi
- Dillere göre oranlar %92,9 Rust, %3,6 JavaScript, %1,8 Gleam şeklindedir
- HTML ve CSS ayrı ayrı %0,4; Erlang ve Shell ayrı ayrı %0,3 oranındadır; TypeScript, Makefile, Dockerfile, Elixir ve PowerShell de dahildir
- HTTPS ve SSH ile klonlanabilir;
tar.gzve.zipformatlarında indirme de desteklenir - Kendi barındırdığı Tangled knot üzerinde, ayarlara bağlı olarak klonlama URL'si değişebilir
Son geliştirme çalışmaları
- Son commit'lerde biçimlendirici ve JavaScript kod üretimi için performans iyileştirmeleri ile kullanımdan kaldırılmış argümanlara sahip external için Erlang üretim kodu düzeltmesi yer alıyor
- Dil sunucusunda, variant oluşturma kod eylemi başlığına tip adını ekleyen ve sayıların taban dönüşümü için kod eylemi ekleyen değişiklikler yansıtıldı
- Farklı tabanlardaki negatif sayılara izin verildi; derleyici öneri metni ve
todouyarı metni de iyileştirildi HEXPM_READ_API_KEYayarlandığında Hex bağımlılık arama ve indirme istekleri kimlik doğrulamalı yapılır- Katı IP bazlı sınır yerine daha yüksek kullanıcı bazlı istek limiti uygulanabilir
Proje yönetimi
- Gleam, tip güvenliği temelinde ölçeklenebilir sistemler kurmayı hedefler
- Bir şirkete ait değildir ve sponsorların desteğiyle yürütülür
- Gleam sponsorluk sayfası üzerinden projeyi veya çekirdek ekip üyelerini destekleyebilirsiniz
1 yorum
Hacker News yorumları
Bu yazının çok daha fazla bağlam açıklamasına ihtiyacı var. Şu haliyle yalnızca zaten duyuruya ihtiyaç duymayan kişiler hemen anlayabilir.
https://knowyourmeme.com/memes/curtains-for-zoosha
Tangled ise Bluesky gibi ATProto üzerine inşa edilmiş merkeziyetsiz bir GitHub alternatifi.
Tangled ile ilk kez karşılaşıp kaydoldum ama yeni kullanıcı deneyiminin elden geçirilmesi gerekiyor. E-posta girip doğrulamadan geçerek bir kullanıcı adı oluşturdum; ancak o adla doğrudan giriş yapamadım ve alışılmadık bir sosyal URL protokolünü de öğrenmem gerekti.
Doğrulama sırasında projeye ait gibi görünen ama markalama ve renkleri tamamen farklı bir ekrana ve URL’ye yönlendirildim; parola yöneticim de bunları ilişkilendiremedi. Kayıt sürtünmesine özellikle hassas biriyim ama projenin kendisi ilginç, umarım bu geri bildirim işe yarar.
Uygulama ile kimlik sıkı biçimde birleşik olmadığı için ayrı bir altyapı kurmuşlar; ancak ekranların son hâline henüz çok zaman harcanmamış gibi. Kendi hesabımı oluşturmadım; kullanıcı adıyla giriş yapılamıyorsa ne kullanılması gerektiğini merak ediyorum.
Failed to complete sign up. Try again later.hatası gösterildi.Gleam, küçük ve incelikli tasarımı hedefleyen ilginç bir dil. Yakın zamanda Ubuntu Summit’te Gleam ekibiyle tanıştım; küçük kalıp dikkatle inşa etme tasarım felsefelerini sunumda çok iyi aktardılar.
Giacomo tüm ekran geçişlerini bizzat animasyonlaştırdığını söyledi; sunumun kendisi de küçük ve özenle hazırlanmıştı, bu da ana mesajı daha da güçlendirdi diye hissettim.
https://youtu.be/E6_JqYMeNqs
https://discourse.ubuntu.com/t/gleam-and-the-value-of-small/...
https://en.wikipedia.org/wiki/Gleam_(programming_language)
Tangled üzerinde kendi Knot sunucumu çalıştırmayı denedim; depolar Knot’ta sorunsuz oluşturulsa da sonraki değişiklikler Tangled’da görünmedi.
Knot’un IPv6 bağlantısı vardı ama kararlı çalışması için birkaç IPv4 NAT’ı etkinleştirip sahte bir A kaydı bile oluşturmam gerekti; bu zaten bilinen bir sorun: https://tangled.org/tangled.org/core/issues/494
Codeberg yerine neden girişim sermayesi destekli bir Forge seçtiklerini merak ediyorum. “Dost canlısı dil” iddiasıyla da pek örtüşmüyor gibi.
sh.tangled.*ATProto kayıtları yayımlamak anlamına geliyor. tangled.org web uygulamasının arkasındaki girişim sermayeli şirkete bağımlı bir yapı değil; uygulama yalnızca protokol üzerinden yayımlanmış Git depolarını okuyup daha hoş bir arayüzle gösteriyor.Aynı kayıtları okuyan başka ATProto uygulamaları da aynı bilgilere erişebilir. Deponun kendisinin de Tangled’da bulunması gerekmez; Git, SSH, HTTP ve WebSocket destekleyen bir sunucuda doğrudan barındırılabilir.
Tangled’ı ilk kez kullandım ama gerçek kullanımını zorlaştıracak kadar hatalı görünüyor. Bir depo oluşturdum ama 404 verdiği için görüntüleyemedim; aynı ATProto handle’ını her seferinde kopyalayıp girmeme rağmen girişte birkaç kez başarısız oldum.
Yine de daha fazla ekibin Git hosting alternatifleri geliştirmesi sevindirici.
Bir süredir merkeziyetsiz Git servisi arıyordum ve kendi hosting’imi de başlattım; ancak sosyal özellikler eksikti. Tangled hakkında daha fazla bilgi merak ediyorum.
Bir projeyi Tangled’a koymaya niyetliyim ama mevcut servislerle aradaki farkı kapatacak özellik seti için daha gidilecek yol var. Özellikle depolara yalnızca bakarken bile yaşanan GitHub kesintileri çok büyük engel oluyor.
Tangled’ın Codeberg’den nasıl farklı olduğunu ve geçiş sürecinin nasıl olduğunu merak ediyorum.
CI/CD kullanmadığım için karmaşık geçiş sürecini bilmiyorum; ama hosted Knot’a depo push etmek çok basit. Kendi Knot’unu işletmek de zor değil; kodu gönderdiğim sunuculardan en az birine doğrudan sahip olma fikri hoşuma gidiyor.
Tangled’ın ne olduğunu ve hangi Gleam’den bahsedildiğini anlamak zor.
URL’deki Tangled ipucu, ancak üçüncü kez açtıktan sonra fark edilecek kadar belirsizdi; açılış sayfasında da Tangled’ı açıklayan neredeyse hiçbir şey yoktu.