Skip to content

Ciprian Mandache

Mostly writing code that does stuff…

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

Coding

hybrids3: S3-Compatible Object Storage That Doesn’t Require a PhD
AI / Containers / Python

hybrids3: S3-Compatible Object Storage That Doesn’t Require a PhD

Put nginx in front of MinIO at a path prefix and try to use presigned URLs. Go ahead, I’ll wait. The problem is AWS Signature V4. The signature covers the …

goenv: Three Functions, One Env Var, Zero Fucks Given
Golang

goenv: Three Functions, One Env Var, Zero Fucks Given

Every service I write needs exactly one piece of information before it does anything else: is this thing running in prod, or is some poor bastard (me, at 2am, half …

docker-planesnitch: Snitching on Every Aircraft That Dares Fly Near You
Containers / Python / Radio

docker-planesnitch: Snitching on Every Aircraft That Dares Fly Near You

I live under a flight path. Military cargo planes, government jets, police helicopters, the occasional emergency squawk — all of it flying over my head and I had no idea …

mt5-httpapi: MetaTrader 5 Running in Docker With a REST API Because MQL5 Can Go Fuck Itself
Containers / Python / Trading

mt5-httpapi: MetaTrader 5 Running in Docker With a REST API Because MQL5 Can Go Fuck Itself

MetaTrader 5 only runs on Windows. The official Python library only works on Windows. The MQL5 scripting language is a C++ knockoff from 2005 that makes you want to gouge …

docker-qwenspeak: Text-to-Speech Over SSH Because APIs Are Overrated
AI / Containers / Python

docker-qwenspeak: Text-to-Speech Over SSH Because APIs Are Overrated

Every cloud TTS service is the same story. Send text, get audio, pay per character, pray the API doesn’t change. Your audio goes to someone else’s servers. Your costs scale …

oapixconstgen: Make Your OpenAPI Spec the Source of Truth for Go Constants
Golang

oapixconstgen: Make Your OpenAPI Spec the Source of Truth for Go Constants

x-constants: int: defaultPageSize: &defaultPageSize 20 maxPageSize: &maxPageSize 100 uint: minPasswordLength: &minPasswordLength 8 float64: requestTimeout: &requestTimeout 30.5 string: defaultLocale: &defaultLocale “en-US” bool: enableCache: &enableCache true // Code generated by oapixconstgen. DO …

docker-stealthy-auto-browse: The Browser That Doesn’t Know It’s Being Automated
AI / Containers / Python

docker-stealthy-auto-browse: The Browser That Doesn’t Know It’s Being Automated

I’ve been automating browsers for years. Selenium, Puppeteer, Playwright — used them all, watched them all get caught. The arms race between bot detection and browser automation has been going …

PIrateRF: Turning a $20 Raspberry Pi Zero Into an RF TX Swiss Army Knife
Embedded / Golang / Radio

PIrateRF: Turning a $20 Raspberry Pi Zero Into an RF TX Swiss Army Knife

Remember when software-defined radio transmission required expensive hardware, complicated software, and a PhD to configure? Yeah, fuck that. I built PIrateRF to prove you can turn a $20 Raspberry Pi …

servicepack: The Go Framework That Actually Understands How Real Development Works
Golang

servicepack: The Go Framework That Actually Understands How Real Development Works

Look, I’ve built a lot of shit in Go. Worked on microservices that were basically just glorified HTTP handlers talking to each other across Docker networks. Debugged race conditions at …

gorpitx: Twelve Ways to Turn a Raspberry Pi Into a Broadcast Tower (and a Legal Problem)
Embedded / Golang / Radio

gorpitx: Twelve Ways to Turn a Raspberry Pi Into a Broadcast Tower (and a Legal Problem)

When I was building PIrateRF, I had two options. Option one: shell out to a pile of C binaries from rpitx every time I wanted to key up a transmitter, …

Posts navigation

Further back
More recent

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