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

- Repositories
- 103
- GitHub stars
- 723
- Articles
- 42
- 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.
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.
Independent bitcoin full node in Rust
sites/artifacts alternative
Randflake ID: a distributed, uniform, unpredictable, unique random ID generator.
Golang implementation of an x402 payment facilitator
From the blog
Deep dives written by GoSuda members.

Het Git Monorepo heroverwegen: een CAS-native architectuur voor mensen en coding agents
Hoe bouw je een zero-daemon, CAS-native monorepo op standaard Git met behulp van parentless trunk-snapshots, geïsoleerde workspace-referenties, in-memory merge trees, hiërarchische OWNERS en O(delta) mirror-synchronisatie.

gosuda.org/zstd: Drop-In DataDog/zstd-compressie zonder CGO en met crashisolatie
CGO_ENABLED=0 Go-bibliotheek voor Zstandard die de upstream C-bibliotheek libzstd 1.5.7 uitvoert in een worker met gedeeld geheugen, met een API die compatibel is met DataDog/zstd, herbruikbare contexten en bulkbatchverwerking.

gosuda.org/sqlite3: CGO_ENABLED=0 database/sql-stuurprogramma via gedeeld-geheugen-IPC
Drop-in database/sql-stuurprogramma voor SQLite 3.54.1 in Go met CGO_ENABLED=0, HQQ-geheugenisolatie tussen workers via gedeeld geheugen, batchgewijze vooraflezing van rijen van 64 KiB en SLSA-geattesteerde binaire bestanden.

HQQ: C-bibliotheken isoleren van Go via gedeeld geheugen op cachelijnniveau
Zero-cgo IPC-runtime, IDL-compiler (hqq-bindgen) en geverifieerde procesbewaker die native C11-bibliotheken uitvoeren in geïsoleerde workerprocessen via gedeelde-geheugenringbuffers.

Schottky: Zero-Allocation, Order-Preserving Byte-Key Encoding voor Go
Bibliotheek voor Go zonder geheugentoewijzingen die samengestelde tupels codeert naar door memcmp geordende bytesleutels, met onafhankelijke sortering ASC/DESC, labels voor NULL-plaatsing en grenzen voor prefix-scans.

Portalite: een lichtgewicht Portal Go SDK met multi-relaybinding en een standaard net.Listener-implementatie
Een lichtgewicht Portal-client en CLI die het standaard net.Listener-interface van Go ondersteunt, gelijktijdige binding aan meerdere relays, end-to-end-encryptie (E2EE) en automatisch herstel van sessies.

Go 1.27, of hoe ik leerde mij geen zorgen meer te maken en generieke methoden te omarmen
Generieke methoden, encoding/json/v2, een standaardpakket voor uuid en een goroutine-lekdetector die daadwerkelijk werkt. Een rondleiding door Go 1.27 met voorbeelden die allemaal daadwerkelijk zijn uitgevoerd.

Analyse van de AMD64-assemblycodegeneratie en branch-instructies voor de Go-voorwaardelijke instructie (if)
Dit artikel vergelijkt het proces waarin de Go-compiler if-else-voorwaardelijke instructies vertaalt naar AMD64-machinecode-branchinstructies zoals CMPQ, JGE en JMP, met de branchcodegeneratie van de C-compiler (-O2).

Analyse van de runtimestructuur van beheerde talen en de AMD64-assembly van Go-binaries
Dit document vergelijkt de uitvoeringsmodellen van beheerde (managed) en onbeheerde (unmanaged) talen, en analyseert via AMD64-assembler die is geëxtraheerd met go tool objdump de stackcontroles en de structuur van runtimefunctieaanroepen in Go-binaries.

AI-native ontwikkelmethodologie: bidirectionele contextcirculatie die verder gaat dan toolgebruik
Dit document vergelijkt de structurele beperkingen van AI-afhankelijke ontwikkeling en de fase van eenvoudig toolgebruik, en definieert een AI-native ontwikkelproces waarin ontwerpintentie en organisatorische context in beide richtingen worden opgebouwd.

Portal Tunnel: Lokale Services Blootstellen via Gedecentraliseerde Publieke Relays
Stel lokale HTTP-diensten beschikbaar op het publieke internet met één curl-opdracht via multi-relay, permissionless Portal-tunnels, zonder accounts of installatie van een binair bestand.

Shannons kanaalcapaciteitsgrens en de structuur van op AI gebaseerde semantische communicatie (Semantic Communication)
Dit onderdeel bespreekt de fysieke kanaalcapaciteitsgrenzen van de Shannon-Hartley-stelling en behandelt semantische communicatie, waarin via een gedeelde kennisbasis en semantische encoders/decoders transmissiedata wordt gecomprimeerd op basis van betekenis in plaats van bit voor bit.

Portal: een end-to-end versleutelde open relay die lokale diensten doorgeeft naar externe netwerken
Dit document beschrijft de Portal-architectuur, waarmee een lokale server zonder publiek IP-adres of cloudinfrastructuur via een open relaisnetwerk met end-to-end-versleuteling (E2EE) aan het externe internet kan worden blootgesteld.

Directe Linux-systeemaanroepen in puur Go met syscall.Syscall en unsafe.Pointer
Het rechtstreeks aanroepen van Linux-kernelsystemaanroepen zoals SYS_SYSINFO vanuit puur Go, met behulp van ABI-uitgelijnde structs, unsafe.Pointer en het standaardpakket syscall zonder cgo.

Any is niet Any, maar Any is Any
Dit document analyseert gedetailleerd het `any`-type van Go en de interne `EFace`-structuur, en beschrijft methoden voor dynamische typeverwerking met behulp van het `reflect`-pakket en type-assertions/type-switches.

Structuur van de FIPS 140-2- en FIPS 140-3-implementaties in de standaard cryptografiebibliotheek van Go
Dit document analyseert de beperkingen van de integratie met externe C OpenSSL Provider-implementaties en behandelt vervolgens de FIPS 140-3-modus van het native Go-standaardpakket crypto, de Fail-Fast-verificatie, Hedged ECDSA en de DRBG-structuur, te beginnen met BoringCrypto (FIPS 140-2).

Levendige bitmap
Van het concept van de bitmapindex in databases tot de werking van Roaring Bitmap en het gebruik ervan in Go. Dit onderzoekt bitmapoptimalisatie voor het efficiënt verwerken van grootschalige datasets.

Politiek en computers
Politiek en informatica, twee schijnbaar verschillende maar op elkaar lijkende vakgebieden, worden onderzocht op de manier waarop zij maatschappelijke vraagstukken kunnen oplossen en hoe ontwikkelaars tot nieuwe wetgevers kunnen worden.

Werkingsprincipe van Go goroutines: variabele stack van 2KB en de M:N GMP-scheduler
Er wordt uitgelegd wat het verschil is tussen concurrency en parallellisme, en vervolgens worden de initiële variabele stack van 2KB van goroutines, user-level context switching, GOMAXPROCS en het GMP-model (Goroutine-Machine-Processor) voor runtime-scheduling behandeld.

Databaseservers en embedded databases: vergelijking van architectuur en I/O-kenmerken
Dit document vergelijkt op RDBMS's gebaseerd op onafhankelijke processen en ingebedde databases die in hetzelfde proces draaien, zoals SQLite, RocksDB, BadgerDB en PebbleDB, vanuit het perspectief van NVMe SSD I/O-latentie, data-isolatie in MSA-architecturen en de deploymentstructuur.

Configuratie van de ingebouwde NATS-server in Go-applicaties en de structuur van inprocescommunicatie
Dit document behandelt de configuratie van een NATS-broker (nats-server/v2) die embedded binnen een Go-proces wordt gestart, alsmede het ontwerp van in-memory communicatie op basis van InProcessConn en een door de consument gedefinieerde interface.

Go-interfaces en structuurembedding: verschillen met klasse-overerving en compositieontwerp
Dit document vergelijkt het verschil tussen klasse-overerving in Java/C++ en het structurele typeringsmechanisme van Go-interfaces, en beschrijft het compositiepatroon met behulp van struct-embedding en methodedelegatie aan de hand van codevoorbeelden.

De vijf ontwerpkenmerken van de Go-taal vanuit het perspectief van systeem- en backend-engineering
Dit document beschrijft de ontwerpfilosofie van Go, met de nadruk op snelle native compilatie en uitvoeringsprestaties, een standaardbibliotheek die zonder frameworks werkt (net/http, database/sql), de M:N goroutine-scheduler en het garanderen van achterwaartse compatibiliteit.

Een kopje groene thee dat de Go-runtime je niet afneemt: GreenTea GC
Het nieuwe GreenTea GC van Go verbetert de prestaties door de efficiëntie van de GC voor kleine objecten te verhogen op basis van geheugenspans. Er worden de problemen van de bestaande GC en de voordelen van GreenTea GC besproken.

Verkorting van de responstijd bij HTTP-bestandsuploads in Go: implementatie van een asynchrone workerwachtrij op basis van channels
Deze structuur verlaagt de responsvertraging van het eindpunt door het ontvangen van tijdelijke bestanden en de overdracht naar Incus-containers te scheiden in een upload-handler van net/http, met behulp van een gebufferd kanaal en een pool van goroutine-workers.

Analyse van de gedragswijzigingen in encoding/json/v2 van Go 1.25 en de compatibiliteitslaag met v1
Dit vergelijkt de hoofdletterongevoelige en hoofdlettergevoelige matching, de gewijzigde semantiek van omitempty en omitzero, en de serialisatie van nil-slices en nil-maps alsook de bijbehorende opties van encoding/json/v2, dat in Go 1.25 als experimentele functie (goexperiment.jsonv2) is geïntroduceerd.

Go-compileertijdvariabelen injecteren: gebruik van go build -ldflags -X
Dit artikel behandelt hoe je tijdens het compileren waarden voor Go-stringvariabelen kunt injecteren door de linkerflag van go build -ldflags "-X" te gebruiken en het symboolpad van het pakket op te geven, zonder een extern .env-bestand te gebruiken.

Het afhandelen van HTTP-fouten op een minder vervelende manier + RFC7807
Vindt u de foutafhandeling in uw Go API vervelend? Verwerk fouten dan eenvoudiger en duidelijker met RFC 7807.

Vergelijking van taalontwerp in LLM-gebaseerde codegeneratieomgevingen: abstractiekosten en de explicietheid van Go
Deze tekst analyseert hoe objectgeoriënteerd polymorfisme, syntactic sugar en complexe modulebomen de kosten van contextredenering van LLM's verhogen, en behandelt waarom Go, met zijn expliciete controlestroom en eenvoudige syntaxis, gunstig is voor AI-codegeneratie.

Cilium-verhaal: hoe een kleine codewijziging zorgde voor een opmerkelijke verbetering van de netwerkstabiliteit
Lees hieronder in detail hoe één kleine codewijziging in het Cilium-project de stabiliteit van LRU-gebaseerd NAT-verbindingsbeheer aanzienlijk heeft verbeterd.

MCP-host eens nader bekijken
Dit is een tekst die bijdraagt aan het begrip van het MCP-protocol van Anthropic en de MCP-host (mcphost) die in Go is geïmplementeerd.

Een schaalbare Go-server uitvoeren in .NET Aspire
Hoe u Go-servers schaalbaar kunt uitvoeren met .NET Aspire: een voorbeeldconfiguratie voor horizontale schaling en automatisering met de YARP-reverse proxy.

Ervaringen met MLDSA en MLKEM in de Go-taal
Leer hoe u de post-quantum cryptografische algoritmen MLDSA en MLKEM in Go kunt gebruiken, en bekijk de kenmerken van elk algoritme en voorbeeldcode.

Go 1.24 Overzicht van de release: Swiss Table Maps, ML-KEM, os.Root en testing/synctest
Technisch overzicht van Go 1.24: ingebouwde maps op basis van Swiss Table, crypto/mlkem (FIPS 203), TLS Encrypted Client Hello, runtime.AddCleanup, os.Root en testing/synctest.

Randflake ID: Gedistribueerde 64-Bit Unique ID-generatie met Sparx64 Block Cipher
Gedistribueerde 64-bits generator voor unieke ID's die een 30-bits tijdstempel, een 17-bits knoop-ID, een 17-bits lokale teller en het Sparx64 ARX-blokcijfer combineert voor onvoorspelbare ID's.

Verbeteren van de responsiviteit met een client-side cache in Redis
Verbetering van de responsiviteit van API's met behulp van Redis Server Assisted Client Side Cache

Implementatie van een op meerdere bestanden gebaseerde afbeeldingsviewer met een listbox in Go en Tcl/Tk 9.0
Er wordt een GUI-beeldviewer geïmplementeerd in modernc.org/tk9.0 door Tcl listbox-commando's, bindings en virtuele-gebeurtenishandlers toe te voegen, waarmee meerdere afbeeldingsbestanden kunnen worden geopend, selecties kunnen worden gewisseld en lijstitems kunnen worden verwijderd.

Implementatie van een Tcl/Tk-GUI in Go zonder CGo (modernc.org/tk9.0): widgetpacking en beeldweergave
Implementatie van venstercreatie, het plaatsen van knop- en menubalkwidgets, en het renderen van SVG-, PNG- en ICO-afbeeldingen in Go, met behulp van de cross-platform bibliotheek modernc.org/tk9.0, die geen CGo-afhankelijkheden heeft.

Go en het OpenAPI-ecosysteem
Dit introduceert bibliotheken en strategieën die kunnen worden gebruikt bij het ontwikkelen van OpenAPI-gebaseerde API's met de Go-taal.

Go-concurrentiestarterpack
Deze tekst introduceert diverse hulpmiddelen en technieken voor concurrency-beheer in Go, waaronder goroutines, kanalen en mutexen.

Waarom Go kiest voor expliciete foutretournering en panic-recover in plaats van try-catch-uitzonderingen
Dit onderzoekt de beperkingen van try-catch-constructies, waarbij de verantwoordelijkheid voor exception-afhandeling langs de aanroepstack wordt doorgeschoven, en beschrijft het ontwerp van Go's panic-recover-mechanisme, dat beperkt blijft tot onherstelbare toestanden, naast de expliciete error-afhandeling op het aanroeppunt.

AI-serviceinfrastructuur bouwen in Go: concurrency en API-integratie
Hoe Go omgaat met de orkestratie van foundation model-API's, gelijktijdige netwerk-I/O, streamingpijplijnen en de implementatie van cloud-native diensten.