• OPENDEV HUB V1.0• API STATUS: 100% OPERATIONAL• CLIENT ENGINE: LOADED & CACHED• TRENDING TECH: TAILWIND V4, NEXT.JS 16, RUST, GO• ZERO AUTH REQUIRED
OPENDEVHUB

Command Palette

Search for a command to run...

DEVELOPER RELEASES

DEVELOPER NEWS STREAM

Direct logs, engine updates, and framework notifications parsed from curated RSS feeds and announcements, updated hourly.

Go Packages and Modules explained
go2026-06-11
Fer RiosFer Rios

Go Packages and Modules explained

What is a package? In Go, every Go program is made up of packages. A package is a...

SyncFTP - sync fast local to prod or dev environment.
devops2026-06-13
DatabaseDatabase

SyncFTP - sync fast local to prod or dev environment.

🚀 Introducing syncFTP — a blazing-fast, SHA256-based FTP deployment tool built in Go. No git. No...

AI assistants lie about citations. Here's how to catch them.
ai2026-06-13
Zohar BabinZohar Babin

AI assistants lie about citations. Here's how to catch them.

In 2023, a New York lawyer submitted a brief citing six cases that didn't exist. ChatGPT had...

Testing Hexagonal Go: Fakes at the Port, Not Mocks Everywhere
go2026-06-13
Gabriel AnhaiaGabriel Anhaia

Testing Hexagonal Go: Fakes at the Port, Not Mocks Everywhere

Hand-written in-memory fakes at the port beat mock frameworks for the domain. Plus one contract test that keeps the fake honest.

Beyond "Up" or "Down": Engineering Graceful Degradation in Go
go2026-05-09
Serif COLAKELSerif COLAKEL

Beyond "Up" or "Down": Engineering Graceful Degradation in Go

In This article, we'll explore graceful degradation and resilience in Go. We'll cover the core...

Give Your Agent a Budget: Cost Ceilings That Stop Runaway Loops
ai2026-06-13
Gabriel AnhaiaGabriel Anhaia

Give Your Agent a Budget: Cost Ceilings That Stop Runaway Loops

Per-run dollar and token ceilings, a hard step cap, and a kill switch every agent loop needs before it ever sees production traffic.

How to Build a Telegram Crypto Checkout in Go (And Avoid Going Insane with Manual Checks)
go2026-06-13
qzbxwqzbxw

How to Build a Telegram Crypto Checkout in Go (And Avoid Going Insane with Manual Checks)

We've all built that one MVP. You know the flow: Your bot spits out a USDT address. You ask the...

Domain Events in Go Without a Framework
go2026-06-13
Gabriel AnhaiaGabriel Anhaia

Domain Events in Go Without a Framework

Plain-struct domain events, an in-process dispatcher, and a transactional outbox. No event bus library, no message broker required.

Table Tests, Subtests, and t.Parallel(): The Go Testing Trifecta
go2026-06-13
Gabriel AnhaiaGabriel Anhaia

Table Tests, Subtests, and t.Parallel(): The Go Testing Trifecta

Table tests, t.Run subtests, and t.Parallel done right in 2026: loop-var semantics, shared state, and cleanup ordering that bites everyone.

Your Repository Is Not Your ORM: Hexagonal Persistence in Go
go2026-06-13
Gabriel AnhaiaGabriel Anhaia

Your Repository Is Not Your ORM: Hexagonal Persistence in Go

A repository is a domain port, not an ORM wrapper. Keep SQL at the edge with sqlc and pgx, map rows to aggregates, and keep the core clean.

Go Slice Aliasing: 3 Bugs That Survive Code Review
go2026-06-13
Gabriel AnhaiaGabriel Anhaia

Go Slice Aliasing: 3 Bugs That Survive Code Review

Three Go slice aliasing bugs that pass tests and ship to prod: re-slice mutation, shared sub-slices, and append capacity surprises.

Ports and Adapters in Go: The Folder Layout That Survives Year Two
go2026-06-13
Gabriel AnhaiaGabriel Anhaia

Ports and Adapters in Go: The Folder Layout That Survives Year Two

Your Go folder layout is your architecture. Use internal/ and the import graph to keep domain, app, and adapters from drifting by year two.

sync.OnceFunc vs init(): Lazy Initialization Done Right in Go
go2026-06-13
Gabriel AnhaiaGabriel Anhaia

sync.OnceFunc vs init(): Lazy Initialization Done Right in Go

init() runs at import time, hides errors, and breaks tests. Here is when to reach for sync.OnceFunc and OnceValue instead.

Stop Smuggling Request Data Through context.Value
go2026-06-13
Gabriel AnhaiaGabriel Anhaia

Stop Smuggling Request Data Through context.Value

context.Value turns into a hidden global the moment you put real data in it. Here is the line between context and explicit params, and how to do request scope right.

errors.Join in 2026: The Multi-Error Pattern Most Go Devs Still Hand-Roll
go2026-06-13
Gabriel AnhaiaGabriel Anhaia

errors.Join in 2026: The Multi-Error Pattern Most Go Devs Still Hand-Roll

errors.Join shipped in Go 1.20 and still gets reinvented. How to join, unwrap, match with Is/As across a join, and when to aggregate vs fail fast.

I let my OpenAPI spec do the work: one contract for Go, Flutter, and the LLM
openapi2026-05-09
tkodetkode

I let my OpenAPI spec do the work: one contract for Go, Flutter, and the LLM

There was a period on a Django project where a simple question of "is this field actually used on the...