We build fast, honest Go tools in the open: networking, storage, runtimes and developer tooling. Your next commit belongs here.

- Repositories
- 105
- GitHub stars
- 715
- Articles
- 46
- Languages
- 23
Join in three steps
No sign-up. Everything happens on GitHub.
Pick a project
Find a repository that matches what you love to build, from relays to databases.
GoOpen an issue or PR
Report a bug, propose an idea or send a fix. Small pull requests are welcome.
GoWrite for the blog
Share what you learned. Every post is translated into 20+ languages automatically.
GoProjects looking for you
Our most starred repositories. Pick one and say hi.
Publishes localhost services to the agentic web through self-hostable, trustless relays.
Independent bitcoin full node in Rust
sites/artifacts alternative
Randflake ID: a distributed, uniform, unpredictable, unique random ID generator.
Human and machine friendly speedy open source coding harness. Our defaults. Your agent. dal is a minimal, pluggable coding agent; dalgona adds opinionated batteries. Make either yours with Starlark plugins, written by you or your agent.
Golang implementation of an x402 payment facilitator
From the blog
Deep dives written by GoSuda members.

Ausführen von Docker, docker build und docker compose ohne Root-Rechte oder User Namespaces
Wie man eine vollständige Docker Engine (dockerd, BuildKit, overlayfs und docker compose) sicher innerhalb einer isolierten gVisor-User-Space-Sandbox als unprivilegierter Benutzer ausführt, wenn root, sudo, unshare(CLONE_NEWUSER), mount(2) und /dev/fuse blockiert sind.

gvx: Ausführung von Linux-Containern, Docker und Kubernetes in einem einzigen unprivilegierten Prozess
Technische Übersicht zu gvx, einer sicherheitsgehärteten, plattformübergreifenden Container-Laufzeitumgebung und Go-SDK, die auf dem gVisor-Kernel im Benutzerraum aufbaut und Linux-Container, Docker-in-Docker sowie hochverfügbare Multi-Node-Kubernetes-Cluster innerhalb eines einzigen nicht privilegierten Prozesses sicher ausführt, und zwar unter Windows, macOS und Linux.

Schnelle isolierte Docker-Umgebungen für AI-Agent-RL-Rollouts mit gvx
Wie man hunderte parallele, stark isolierte, nicht privilegierte Docker- und Kubernetes-Umgebungen für SWE-bench- und Coding-Agent-Reinforcement-Learning-Rollouts sicher betreibt, mit 100-Millisekunden-Copy-on-Write-ext4lite-Volume-Resets.

Ausführen von Docker-in-Docker innerhalb von gVisor und verschachtelten Sandboxes mit gvx
Warum die Installation von docker.io oder die Verschachtelung von runsc innerhalb eines gVisor-Containers an modprobe, iptables-nft, overlay2, cgroups und seccomp EBUSY scheitert und wie gvx nested docker:dind sicher innerhalb eines isolierten User-Space-Kernels ohne --privileged ausführt.

Die Git-Monorepo neu denken: Eine CAS-native Architektur für Menschen und Coding-Agenten
Wie man ein daemon-freies, CAS-natives Monorepo auf Standard-Git aufbaut, unter Verwendung von parentless Trunk-Snapshots, isolierten Workspace-References, In-Memory-Merge-Trees, hierarchischen OWNERS-Dateien und O(delta)-Mirror-Synchronisation.

gosuda.org/zstd: Drop-In-Ersatz für DataDog/zstd mit Zero CGO und Crash-Isolation
CGO_ENABLED=0 Go-Zstandard-Bibliothek, die die upstream C-libzstd 1.5.7 in einem Worker mit gemeinsamem Speicher ausführt, mit einer DataDog/zstd-kompatiblen API, wiederverwendbaren Kontexten und Bulk-Batching.

gosuda.org/sqlite3: CGO_ENABLED=0 database/sql-Treiber über Shared-Memory-IPC
Drop-in-kompatibler database/sql-SQLite-3.54.1-Treiber für Go mit CGO_ENABLED=0, HQQ-Worker-Isolation über gemeinsamen Speicher, Batch-Zeilen-Prefetching mit 64 KiB sowie SLSA-attestierten Binärdateien.

HQQ: Isolierung von C-Bibliotheken gegenüber Go über cache-line-geteilten Speicher
Zero-cgo-IPC-Laufzeitumgebung, IDL-Compiler (hqq-bindgen) und verifizierter Prozess-Supervisor, die native C11-Bibliotheken in isolierten Worker-Prozessen über Shared-Memory-Ringpuffer ausführen.

Schottky: Zero-Allocation, Order-Preserving Byte-Key Encoding für Go
Zero-Allocation-Bibliothek für Go, die zusammengesetzte Tupel in memcmp-geordnete Byte-Schlüssel kodiert, mit unabhängiger ASC/DESC-Sortierung, NULL-Platzierungsmarkierungen und Präfix-Scan-Grenzen.

Portalite: Ein leichtgewichtiges Portal-Go-SDK mit Multi-Relay-Bindung und standardkonformem net.Listener
Ein leichtgewichtiger Portal-Client und eine CLI, die das Go-Standardinterface net.Listener unterstützen sowie die gleichzeitige Bindung an mehrere Relais, Ende-zu-Ende-Verschlüsselung (E2EE) und die automatische Wiederherstellung von Sitzungen ermöglichen.

Go 1.27, oder wie ich lernte, mir keine Sorgen mehr zu machen und generische Methoden zu lieben
Generische Methoden, encoding/json/v2, ein Standardpaket für uuid und ein Goroutine-Leak-Detektor, der tatsächlich funktioniert. Eine Übersicht über Go 1.27 mit Beispielen, die allesamt tatsächlich ausgeführt wurden.

Analyse der Laufzeitstruktur verwalteter Sprachen und des AMD64-Assemblers von Go-Binärdateien
Dieser Abschnitt vergleicht die Ausführungsmodelle von verwalteten (managed) und nicht verwalteten (unmanaged) Sprachen und analysiert anhand des AMD64-Assemblers, der mit go tool objdump extrahiert wurde, die Stack-Prüfung und die Struktur der Laufzeitfunktionsaufrufe in Go-Binärdateien.

Analyse der AMD64-Assemblercodegenerierung und Verzweigungsbefehle für Go-Bedingungsanweisungen (if)
Dieser Abschnitt vergleicht den Prozess, in dem der Go-Compiler if-else-Bedingungsanweisungen in AMD64-Maschinenbefehle für Verzweigungen wie CMPQ, JGE und JMP übersetzt, mit dem Ergebnis der Verzweigungscodeerzeugung durch den C-Compiler (-O2).

AI-native Entwicklungsmethodik: Bidirektionale Kontextzirkulation jenseits der Werkzeugnutzung
Dieser Beitrag vergleicht die strukturellen Grenzen der Phase der AI-abhängigen Entwicklung mit denen der Phase der bloßen Nutzung von Werkzeugen und definiert einen AI-nativen Entwicklungsprozess, der Designabsichten und organisatorischen Kontext in beide Richtungen kumulativ erfasst.

Portal Tunnel: Lokale Dienste über dezentrale öffentliche Relays bereitstellen
Lokale HTTP-Dienste mit einem einzigen curl-Befehl über mehrstufige, genehmigungsfreie Portal-Tunnel über mehrere Relais öffentlich zugänglich machen, ohne Konten oder die Installation einer Binärdatei.

Grenzen der Kanalkapazität nach Shannon und Architekturen der KI-gestützten semantischen Kommunikation (Semantic Communication)
Dieser Text erörtert die physikalischen Kapazitätsgrenzen des Kanals gemäß dem Shannon-Hartley-Theorem und behandelt die semantische Kommunikation, bei der die zu übertragenden Daten nicht in Bit, sondern in Bedeutungseinheiten komprimiert werden, und zwar mithilfe einer gemeinsamen Wissensbasis sowie eines semantischen Encoders und Decoders.

Portal: Ein quelloffenes Relais mit Ende-zu-Ende-Verschlüsselung zur Weiterleitung lokaler Dienste in externe Netzwerke
Dieser Text beschreibt die Portal-Architektur, die einen lokalen Server über ein offenes, Ende-zu-Ende-verschlüsseltes (E2EE) Relay-Netzwerk im externen Internet verfügbar macht, ohne dass eine öffentliche IP-Adresse oder eine Cloud-Infrastruktur-Konfiguration erforderlich ist.

Direkte Linux-Systemaufrufe in reinem Go mit syscall.Syscall und unsafe.Pointer
Der direkte Aufruf von Linux-Kernel-Systemaufrufen wie SYS_SYSINFO aus reinem Go heraus, unter Verwendung von ABI-konformen Structs, unsafe.Pointer und des Standardpakets syscall ohne cgo.

Any ist nicht Any, aber Any ist Any
Dieser Text analysiert detailliert den Typ `any` der Sprache Go sowie dessen interne Struktur `EFace` und erläutert Methoden zur dynamischen Typverarbeitung unter Verwendung des Pakets `reflect` sowie von Typassertionen und Typ-Switches.

Struktur der FIPS 140-2- und FIPS 140-3-Implementierungen in der kryptografischen Standardbibliothek von Go
Dieser Beitrag analysiert die Grenzen der Anbindung externer C-OpenSSL-Provider und behandelt ausgehend von BoringCrypto (FIPS 140-2) den FIPS-140-3-Modus des nativen Go-Standardpakets crypto, die Fail-Fast-Verifikation, Hedged ECDSA sowie die DRBG-Architektur.

Lebendige Bitmap
Von den Grundlagen des Bitmap-Index in Datenbanken über die Funktionsweise von Roaring Bitmaps bis hin zur Anwendung in der Programmiersprache Go. Es werden Bitmap-Optimierungen zur effizienten Verarbeitung großer Datensätze untersucht.

Politik und Computer
Politik und Informatik, zwei auf den ersten Blick verschiedene und doch verwandte Disziplinen, werden daraufhin untersucht, wie sie gesellschaftliche Probleme lösen können und wie Entwickler zu neuen Gesetzgebern werden.

Funktionsweise von Go-Goroutinen: 2-KB-Stacks mit variabler Größe und der M:N-GMP-Scheduler
Es werden die Unterschiede zwischen Nebenläufigkeit (Concurrency) und Parallelität (Parallelism) erläutert, anschließend der initiale, dynamisch wachsende Stack von 2 KB einer Goroutine, das Kontextwechsel-Verfahren auf Benutzerebene (User-Level Context Switching), GOMAXPROCS sowie das Laufzeit-Scheduling-Modell GMP (Goroutine-Machine-Processor).

Datenbankserver und eingebettete Datenbanken: Vergleich von Architektur und E/A-Merkmalen
Dieser Beitrag vergleicht prozessunabhängige, auf Prozessen basierende RDBMS mit eingebetteten In-Process-Datenbanken wie SQLite, RocksDB, BadgerDB und PebbleDB hinsichtlich der E/A-Latenz von NVMe-SSDs, der Datenisolation in MSA-Architekturen sowie der Bereitstellungsstruktur.

Konfiguration eines eingebetteten NATS-Servers in Go-Anwendungen und Struktur der prozessinternen Kommunikation
Dieser Beitrag behandelt die Konfiguration eines NATS-Brokers (nats-server/v2), der direkt im Go-Prozess eingebettet und ausgeführt wird, sowie den Entwurf einer auf InProcessConn basierenden In-Memory-Kommunikation und einer vom Konsumenten definierten Schnittstelle.

Go-Schnittstellen und Struktureinbettung: Unterschiede zur Klassenvererbung und kompositionsbasiertes Design
Dieser Text vergleicht die Klassenvererbung in Java/C++ mit dem strukturellen Typisieren von Go-Interfaces und erläutert anhand von Codebeispielen das Kompositionsmuster (Composition) unter Verwendung von Struktur-Embedding und Methodendelegation.

5 Designmerkmale der Programmiersprache Go aus der Perspektive der Systemtechnik und des Backend-Engineerings
Dieser Text fasst die Gestaltungsphilosophie von Go zusammen, mit Schwerpunkt auf schneller nativer Kompilierung und Ausführungsleistung, einer Standardbibliothek, die ohne Framework funktioniert (net/http, database/sql), dem M:N-Goroutine-Scheduler und der Garantie der Abwärtskompatibilität.

Die Muße einer Tasse grünen Tees, die die Go-Laufzeitumgebung uns entziehen wird: GreenTea GC
Der neue GreenTea GC von Go verbessert die Leistung, indem er die Effizienz der Garbage Collection für kleine Objekte auf Basis von Speicherspans steigert. Es werden die Probleme des bisherigen GC und die Vorteile des GreenTea GC erläutert.

Verkürzung der Antwortzeit beim Datei-Upload per Go HTTP: Implementierung einer kanalbasierten asynchronen Worker-Queue
Die Struktur trennt in dem Datei-Upload-Handler von net/http das Empfangen temporärer Dateien und die Übertragung in Incus-Container durch einen gepufferten Channel und einen Worker-Pool aus Goroutinen, wodurch die Antwortlatenz des Endpunkts reduziert wird.

Analyse der Verhaltensänderungen in encoding/json/v2 unter Go 1.25 und der Kompatibilitätsschicht zu v1
Dieser Vergleich untersucht die Groß- und Kleinschreibung bei der Zuordnung, die geänderte Semantik von omitempty und omitzero, die Serialisierung von nil-Slices und nil-Maps sowie die Optionen von encoding/json/v2, das in Go 1.25 als Experiment (goexperiment.jsonv2) eingeführt wurde.

Injektion von Variablen zur Kompilierzeit in Go: Verwendung von go build -ldflags -X
Dieser Beitrag behandelt, wie man zur Kompilierzeit Werte in Go-Zeichenkettenvariablen einbringt, und zwar ohne externe .env-Datei, indem man den Linker-Flag `-ldflags "-X"` von `go build` zusammen mit dem vollqualifizierten Symbolpfad des Pakets verwendet.

HTTP-Fehler bequemer behandeln + RFC7807
Nervt dich die Fehlerbehandlung in Go-APIs? Mit RFC 7807 lässt sie sich einfacher und klarer gestalten.

Vergleich von Sprachdesigns in LLM-gestützten Codegenerierungsumgebungen: Abstraktionskosten und die Explizitheit von Go
Die Analyse untersucht, wie objektorientierter Polymorphismus, syntaktischer Zucker und komplexe Modulbäume die Kosten der kontextuellen Inferenz bei LLMs erhöhen, und erörtert, warum Go mit seinem expliziten Kontrollfluss und seiner einfachen Syntax für die KI-gestützte Codegenerierung vorteilhaft ist.

Cilium-Geschichte: Wie eine kleine Codeänderung eine bemerkenswerte Verbesserung der Netzwerkstabilität bewirkte
Erfahren Sie im Detail, wie eine kleine Codeänderung im Cilium-Projekt die Stabilität der LRU-basierten NAT-Verbindungsverwaltung erheblich verbessert hat.

MCP-Host etwas genauer verstehen
Dieser Beitrag soll das Verständnis des MCP-Protokolls von Anthropic und des in Go implementierten MCP-Hosts (mcphost) erleichtern.

Ausprobieren, einen Go-Server skalierbar mit .NET Aspire auszuführen
Wie man Go-Server mit .NET Aspire skalierbar betreibt: Beispielkonfiguration für horizontale Skalierung und Automatisierung mit dem YARP-Reverse-Proxy.

Erfahrungsbericht zur Verwendung von MLDSA und MLKEM in der Programmiersprache Go
In diesem Beitrag wird die Verwendung der quantenresistenten Kryptographie MLDSA und MLKEM in der Programmiersprache Go erläutert, wobei die Merkmale der einzelnen Algorithmen sowie Codebeispiele bereitgestellt werden.

Go 1.24 Release Overview: Swiss-Table-Maps, ML-KEM, os.Root und testing/synctest
Technische Übersicht zu Go 1.24: Built-in-Maps auf Basis von Swiss Tables, crypto/mlkem (FIPS 203), TLS Encrypted Client Hello, runtime.AddCleanup, os.Root und testing/synctest.

Randflake ID: Verteilte 64-Bit-Generierung eindeutiger IDs mit der Blockchiffre Sparx64
Verteilter 64-Bit-Generator eindeutiger IDs, der einen 30-Bit-Zeitstempel, eine 17-Bit-Knoten-ID und einen 17-Bit-lokalen Zähler kombiniert und die Sparx64-ARX-Blockchiffre zur Erzeugung nicht erratbarer IDs einsetzt.

Verbesserung der Reaktionsfähigkeit durch clientseitiges Caching mit Redis
Verbesserung der API-Reaktionsfähigkeit durch den Redis Server Assisted Client Side Cache

Implementierung eines Bildbetrachters auf Basis einer Mehrfachdatei-Listbox mit Go und Tcl/Tk 9.0
Wir implementieren einen GUI-Bildbetrachter, indem wir in modernc.org/tk9.0 Tcl-Listbox-Befehlsbindungen und virtuelle Ereignishandler hinzufügen, sodass das Öffnen mehrerer Bilddateien, das Umschalten der Auswahl und das Löschen von Listenelementen möglich wird.

CGo-freies Go: Implementierung einer Tcl/Tk-GUI (modernc.org/tk9.0): Widget-Packing und Bildrendering
Die Implementierung von Fenstererstellung, Packen von Schaltflächen- und Menüleisten-Widgets sowie Rendering von SVG-, PNG- und ICO-Bildern in Go erfolgt mit der plattformübergreifenden Bibliothek modernc.org/tk9.0, die ohne CGo-Abhängigkeiten auskommt.

Go und das OpenAPI-Ökosystem
Dieser Beitrag stellt Bibliotheken und Strategien vor, die bei der Entwicklung von APIs auf OpenAPI-Basis mit der Programmiersprache Go eingesetzt werden können.

Go-Starterpaket für Nebenläufigkeit
Wir stellen verschiedene Werkzeuge und Techniken für die Verwaltung der Nebenläufigkeit in Go vor, darunter Goroutinen, Kanäle und Mutexe.

Warum Go explizite Fehlerrückgabe und panic-recover anstelle des Auslösens von try-catch-Ausnahmen wählt
Es werden die Grenzen von try-catch-Strukturen untersucht, die die Verantwortung für die Behandlung von Ausnahmen entlang des Aufrufstapels weitergeben, und das Designkonzept von Gos panic-recover erläutert, das sich auf explizite Fehlerbehandlung an der Aufrufstelle und auf nicht behebbare Zustände beschränkt.

KI-Dienstinfrastruktur in Go aufbauen: Nebenläufigkeit und API-Integration
Wie Go die Orchestrierung von Foundation-Model-APIs, nebenläufige Netzwerk-E/A, Streaming-Pipelines und die Bereitstellung cloudnativer Dienste handhabt.