1 Punkte von GN⁺ 1 일 전 | 1 Kommentare | Auf WhatsApp teilen
  • Das Gleam-Repository, das auf typsichere und skalierbare Systeme abzielt, ist nun auch auf Tangled verfügbar
  • Der Standard-Branch ist allein main; das Repository verzeichnet rund 11.000 Commits, 254 Stars und 2 Forks
  • Der Repository-Code besteht überwiegend aus Rust 92,9 %, gefolgt von JavaScript 3,6 %, Gleam 1,8 % und weiteren Sprachen
  • Von Compiler und Language Server über den WASM-Compiler, den Erlang-Codegenerator und Formatter bis hin zu Testprojekten wird alles in einem einzigen Repository verwaltet
  • Gleam ist kein unternehmenseigenes Projekt, sondern ein von Sponsoren unterstütztes Projekt; sowohl das Projekt als auch die Mitglieder des Kernteams können unterstützt werden

Repository-Struktur

  • gleam.run/gleam ist das Tangled-Repository der Programmiersprache Gleam
  • Die wichtigsten Bestandteile sind:
    • compiler-cli, compiler-core, compiler-wasm
    • language-server, erlang-generation, erlang-term-format
    • format, hexpm, gleam-bin
    • Benchmarks, Dokumentation, Community-Pakete und Compiler-bezogene Testprojekte
  • main ist der einzige und zugleich der Standard-Branch; veröffentlichte Tags gibt es nicht

Sprachanteile und Klonen

  • Die Anteile nach Sprache betragen Rust 92,9 %, JavaScript 3,6 % und Gleam 1,8 %
  • HTML und CSS liegen jeweils bei 0,4 %, Erlang und Shell jeweils bei 0,3 %; außerdem sind TypeScript, Makefile, Dockerfile, Elixir und PowerShell enthalten
  • Das Repository kann per HTTPS und SSH geklont werden; Downloads im Format tar.gz und .zip werden ebenfalls unterstützt
  • Auf selbst gehosteten Tangled-Knoten können sich die Clone-URLs je nach Konfiguration unterscheiden

Jüngste Entwicklungsarbeiten

  • Zu den jüngsten Commits gehören Performance-Verbesserungen beim Formatter und bei der JavaScript-Codegenerierung sowie Korrekturen am generierten Erlang-Code für Externals mit veralteten Argumenten
  • Im Language Server wurden Änderungen übernommen, die den Typnamen in den Titel der Code-Action zur Variant-Erstellung aufnehmen und eine Code-Action für die Basisumwandlung von Zahlen hinzufügen
  • Außerdem werden negative Zahlen in unterschiedlichen Zahlensystemen zugelassen, und die Vorschlagstexte des Compilers sowie die Warnmeldungen für todo wurden verbessert
  • Wenn HEXPM_READ_API_KEY gesetzt ist, werden Anfragen zur Ermittlung und zum Download von Hex-Abhängigkeiten authentifiziert
    • Statt strikter IP-basierter Limits gilt dann ein höheres benutzerbezogenes Anfragekontingent

Projektbetrieb

  • Gleam zielt auf den Aufbau skalierbarer Systeme auf Grundlage von Typsicherheit ab
  • Das Projekt gehört keinem Unternehmen und wird durch die Unterstützung von Sponsoren betrieben
  • Auf der Gleam-Sponsorenseite kann entweder das Projekt oder ein Mitglied des Kernteams unterstützt werden

1 Kommentare

 
GN⁺ 1 일 전
Hacker-News-Kommentare
  • Dieser Beitrag braucht viel mehr Kontext. In der jetzigen Form verstehen ihn auf Anhieb nur Leute, die ohnehin keine Erklärung mehr brauchen
    https://knowyourmeme.com/memes/curtains-for-zoosha

    • Gleam ist eine bei Leuten beliebte Sprache, die Erlang oder Elixir mögen, und alle basieren auf der BEAM Virtual Machine
      Tangled ist eine dezentrale GitHub-Alternative, die auf ATProto wie Bluesky aufbaut
    • Ironischerweise streckt die verlinkte Seite einen gewöhnlichen reposteten Tweet auf mehrere Scroll-Seiten „Content“, sodass sie am Ende eher wie ein Promi-News-Artikel wirkt
    • Dann müsste man vielleicht auch erst erklären, was diese Seite hier, also HN (Hacker News), überhaupt ist
  • Ich habe Tangled zum ersten Mal gesehen und mich angemeldet, aber die New-User-Experience muss noch deutlich verbessert werden. Ich habe meine E-Mail eingegeben, sie verifiziert und einen Benutzernamen erstellt, konnte mich damit aber nicht direkt anmelden und musste zusätzlich noch ein ungewohntes Social-URL-Protokoll verstehen
    Während der Verifizierung wurde ich auf eine Seite und URL weitergeleitet, die zwar offenbar zum Projekt gehörten, aber völlig anderes Branding und andere Farben hatten. Mein Passwortmanager konnte das nicht zusammenführen. Ich bin bei Reibung im Signup-Prozess ungewöhnlich empfindlich, aber das Projekt selbst ist interessant, daher hoffe ich, dass dieses Feedback hilfreich ist

    • Bei mir bestand der Anmelde- und Login-Prozess einfach aus „auf Login klicken → bestehenden Bluesky-Handle eingeben → auf der Login-Seite der bsky-Domain das Passwort eingeben → auf Bestätigen klicken“. In der jetzigen Phase scheint dieser Weg besser optimiert zu sein
      App und Identität sind nicht eng gekoppelt, deshalb wurde wohl separate Infrastruktur aufgebaut, aber in die Ausgestaltung der Oberflächen ist offenbar noch nicht viel Zeit geflossen. Wenn man kein eigenes Konto erstellt hat und sich dann nicht mit dem Benutzernamen einloggen kann, womit dann?
    • Bei mir lief es noch schlechter; ich bekam nur die Fehlermeldung Failed to complete sign up. Try again later.
  • Gleam ist eine interessante Sprache mit Fokus auf kleines, sorgfältiges Design. Ich habe das Gleam-Team kürzlich auf dem Ubuntu Summit getroffen, und ihr Vortrag hat diese Designphilosophie — klein bleiben und mit Bedacht bauen — hervorragend vermittelt
    Giacomo sagte, er habe alle Übergänge zwischen den Folien selbst animiert, und ich hatte das Gefühl, dass auch der Vortrag selbst klein und sorgfältig gemacht war und damit die Kernbotschaft noch stärker unterstrich
    https://youtu.be/E6_JqYMeNqs
    https://discourse.ubuntu.com/t/gleam-and-the-value-of-small/...
    https://en.wikipedia.org/wiki/Gleam_(programming_language)

  • Ich habe versucht, auf Tangled einen eigenen Knot-Server zu betreiben, aber obwohl das Repository auf Knot korrekt erstellt wurde, erschienen spätere Änderungen in Tangled nicht
    Knot hatte IPv6-Konnektivität, aber ich musste mehrere IPv4-NATs aktivieren und sogar einen Dummy-A-Record anlegen, damit es stabil funktionierte. Das ist bereits ein bekanntes Problem: https://tangled.org/tangled.org/core/issues/494

  • Ich frage mich, warum man statt Codeberg eine VC-finanzierte Forge gewählt hat. Das passt auch nicht besonders gut zur Behauptung einer „freundlichen Sprache“

    • „Auf Tangled sein“ bedeutet eigentlich nur, sh.tangled.*-ATProto-Records zu veröffentlichen. Man ist also nicht an die VC-finanzierte Firma hinter der Web-App tangled.org gebunden; die App liest lediglich die über das Protokoll veröffentlichten Git-Repositories und zeigt sie in einer gut lesbaren Oberfläche an
      Andere ATProto-Apps, die dieselben Records lesen, können auf dieselben Informationen zugreifen. Auch das Repository selbst muss nicht auf Tangled liegen; es kann direkt auf einem Server gehostet werden, der Git, SSH, HTTP und WebSocket unterstützt
    • Die Finanzierungsweise von Tangled gefällt mir zwar nicht, aber ich glaube, ATProto hat großes Potenzial, das Internet zu verbessern. Auch in der Gleam-Community gibt es viel Interesse an diesem Protokoll, daher erschien es passend, dort einen Mirror des Gleam-Repositories zu hosten
    • Gleam ist weiterhin auch auf GitHub. Das ist kein offizieller Umzug, sondern nur eine zusätzliche Präsenz auf einer ATProto-basierten Forge
    • Es wirkt sehr wahrscheinlich wie eine Bedingung finanzieller Unterstützung, und am Ende entsteht der bittere Eindruck, dass Geld wichtiger ist als die Community. Dann konzentriere ich mich lieber darauf, Elixir im Projekt zu verwenden
  • Ich habe Tangled zum ersten Mal benutzt, aber es scheint so viele Bugs zu geben, dass echte Nutzung schwierig ist. Ich habe ein Repository erstellt, bekam aber nur einen 404 und konnte es nicht ansehen. Außerdem schlug der Login mehrfach fehl, obwohl ich denselben ATProto-Handle jedes Mal kopiert und eingefügt habe
    Trotzdem ist es erfreulich, dass mehr Teams Alternativen für Git-Hosting entwickeln

    • Schon das frühe GitHub hatte dasselbe Problem, wenn Repositories asynchron erstellt und Nutzer sofort weitergeleitet wurden. Nach ein paar Sekunden und einem Reload waren sie da, und später kam meines Wissens ein Zwischenbildschirm dazu, der wartete und dann automatisch weiterleitete
  • Ich habe eine Zeit lang nach einem dezentralen Git-Dienst gesucht und auch angefangen, selbst zu hosten, aber es fehlten soziale Funktionen. Ich würde gern mehr über Tangled erfahren

    • Radicle kommt dem Ziel etwas näher und erlaubt Self-Hosting und Föderation. Allerdings ist es schwer, eine Alternative mit einer sozialen Gravitation wie GitHub zu finden, und es ist noch unklar, ob sich dieses Element von der Forge trennen lässt oder zusammen angeboten werden muss
    • Derzeit scheint man weder Oberfläche noch API selbst hosten zu können. Den Git-Server Knot und den CI-Runner Spindle kann man betreiben, aber der gesamte Dienst ist noch etwas zentralisiert, und daran wird offenbar gearbeitet
    • Außer dass die Firma in Finnland registriert ist, konnte ich kaum herausfinden, wer das betreibt oder wie es finanziert wird
  • Ich wäre bereit, ein Projekt auf Tangled zu stellen, aber beim Funktionsumfang, der die Lücke zu bestehenden Diensten schließen müsste, ist noch ein weiter Weg zu gehen. Besonders störend sind die GitHub-Ausfälle, die schon beim bloßen Betrachten von Repositories auftreten

    • Statt Tangled nur wegen des ATProto-Flairs zu wählen, frage ich mich, warum man nicht das reifere Codeberg oder das freie und Open-Source-Forgejo bzw. Gitea nutzt
    • Wegen der GitHub-Ausfälle habe ich definitiv begonnen, nach anderen Diensten zu suchen
  • Ich frage mich, wie sich Tangled von Codeberg unterscheidet und wie ein Umzug abläuft

    • Ich nutze beide, und Tangled fehlen noch wichtige Funktionen wie private Repositories und geschützte Branches. Dafür fühlt sich die Oberfläche von Tangled angenehmer an, während Codeberg in meiner Umgebung ziemlich langsam ist
      Ich nutze kein CI/CD, daher kenne ich keinen komplexeren Migrationsprozess, aber ein Repository auf ein gehostetes Knot zu pushen ist sehr einfach. Auch ein eigenes Knot zu betreiben ist nicht schwer, und mir gefällt, dass ich mindestens einen der Server, auf die ich Code schicke, selbst besitze
    • Der Kernunterschied ist, dass Tangled im Gegensatz zu Forgejo oder Codeberg um das ATProto-Föderationsprotokoll herum aufgebaut ist
  • Es ist schwer zu erkennen, was Tangled ist und welches Gleam gemeint ist

    • Das wirkt wie eine Art Beitrag nur für Eingeweihte. Selbst nach dem Öffnen des Links war kaum etwas zu sehen, das erkennbar mit Tangled zu tun hatte, und selbst für HN-Beiträge mit begrenzter Zielgruppe war das besonders extrem
      Dass die URL ein Hinweis auf Tangled ist, habe ich erst beim dritten Öffnen bemerkt, so subtil war es, und auf der Zielseite gab es praktisch keine Erklärung dazu