Skip to content

Ciprian Mandache

Mostly writing code that does stuff…

Menu
  • Coding
    • Golang
    • Python
    • PHP
    • Bash
    • MQL
  • AI
    • Assistants
    • Agents
    • Tooling
    • Opinion
  • Containers
  • Hardware
    • Embedded
    • Mobile
  • Radio
  • Trading
  • Art
    • Music
    • Painting
    • Poetry
  • Links

ctxerrors

go-asyncapi: load AsyncAPI 3 specs in Go
Golang

go-asyncapi: load AsyncAPI 3 specs in Go

go-asyncapi reads AsyncAPI 3 documents in Go and hands you servers, channels, operations and messages as plain structs, with every $ref on the way to them followed across files, every …

Why am I still hand-typing WebSocket structs from an AsyncAPI spec?
Golang

Why am I still hand-typing WebSocket structs from an AsyncAPI spec?

You shouldn’t be, because the AsyncAPI spec already says exactly what every message looks like and a machine can retype it better than you. I wrote gen-asyncapi so an AsyncAPI …

ctxscope: Stop Threading request_id Through Every Function Signature
Golang

ctxscope: Stop Threading request_id Through Every Function Signature

Here’s the code everybody writes. A request comes in, you generate an id, and something a few calls down needs to log it: func handleOrder(ctx context.Context, requestID string, o Order) …

slogging: Delete Twenty Lines of slog Boilerplate With One Blank Import
Golang

slogging: Delete Twenty Lines of slog Boilerplate With One Blank Import

Go 1.21 shipped log/slog and it’s good. What it doesn’t ship is any way to configure it, so every service starts with a version of this: var level slog.Level switch …

slog-configurator: Same Zero-Config Logging, Now on the Standard Library
Golang

slog-configurator: Same Zero-Config Logging, Now on the Standard Library

Update, August 2026: this package moved. slog-configurator is now github.com/psyb0t/slogging, where the configurator lives at slogconf/ alongside two handlers it always belonged next to: the searchable in-memory ring at handlers/logring/ …

ctxerrors: Because Go’s Error Handling Doesn’t Have to Be Complete Shit
Golang

ctxerrors: Because Go’s Error Handling Doesn’t Have to Be Complete Shit

Look, I’m gonna be straight with you. Go’s error handling is fucking verbose, and debugging without context is like trying to find your keys in a pitch-black room while drunk. …

wrench
Golang

gonfiguration 🔧: The Ultimate Golang Config Chaos

If you’re tired of writing the same env var parsing bullshit over and over, gonfiguration handles all the annoying shit for you. It’s got reflection-based mapping, supports all the types …

Latest Music

devourer_of_time_and_space
a1800269911_16 (1)
space_rocker
the_funeral_march
HardAssFuX_cover-800×800
Music release cover
Music release cover
Music release cover
Music release cover
Notes