Calegix
HomeAboutPostsLogin
⟨ TRANSMISSIONS ⟩

Transmissions

11signals archived

March 25, 20266 min read

Self-Sovereign Analytics: Running Matomo Behind Keycloak OIDC

GA4's default data retention is 2 months. Matomo with LoginOIDC and a pre-seeded plugin setting table gets you analytics you actually own.

AnalyticsAzureKeycloak
February 18, 20266 min read

Reversibility Is the MVP: How to Build Infra You Can Kill in 60 Seconds

Every deploy you can undo in one command is a deploy you'll actually try.

DevOpsOpinionSelf-Hosted
natej
January 20, 20264 min read

'404 Bad Gateway' Is a Legitimate Traefik Response (And Here's Why)

An 11-byte response body that reads 'Bad Gateway' on a 404 status - because the middleware meant to replace error pages lost its backend without anyone noticing.

DevOpsSelf-HostedTraefik
December 9, 20255 min read

Why All My Agent Matrix Rooms Are E2EE by Default

If machines are going to talk to each other at 3am about your infrastructure, those transcripts are just as sensitive as your Slack channels.

AI AgentsMatrixSelf-Hosted
natej
November 14, 20254 min read

What My Self-Hosted Keycloak + oauth2-proxy Setup Taught Me About Azure Entra ID

I can reproduce every OIDC gotcha in my home lab before Microsoft support would open the ticket.

AzureDevOpsKeycloak
October 17, 20254 min read

A 1KB Mobile Drawer for Any Web App, via Shadow DOM

Injecting mobile UX into a page you don't control, without leaking a single CSS rule into the host.

BrowserMobile WebWeb Development
September 23, 20255 min read

Event-Driven Spokes vs. Polling: How I Cut Agent Latency 40×

HackerNews' Firebase SSE pushes new IDs in under a second. Our old cron polled every 5 min. Switching saved more than latency.

AI AgentsDevOpsSelf-Hosted
natej
August 19, 20255 min read

Cron Jobs Are the Missing Primitive for AI Agents

Most agent frameworks model agents as interactive. The useful work - watching, triaging, reporting - is scheduled.

AI AgentsDevOpsSelf-Hosted
July 8, 20254 min read

LLM Serialization with fcntl: a 40-line Pattern for Single-Slot Inference Servers

Running llama.cpp with --parallel 1 means concurrent agents starve each other at the HTTP queue. A file lock solves it cleanly.

AI AgentsDevOpsSelf-Hosted
June 11, 20255 min read

The 499 in Your Iframe: Race Conditions in OIDC-Gated Embeds

Matomo's signin returned HTTP 499 on first load and 302 on refresh. The difference was the browser's third-party cookie policy mid-redirect.

AnalyticsBrowserOIDC
May 14, 20253 min read

Mautic SAML Entity IDs Must Be URIs: A Debugging Story in Three Errors

Three stacked validators, one bare-string config, and an afternoon lost to SAML 2.0's dislike of non-URI identifiers.

DevOpsKeycloakOIDC
CalegixCalegix · MMXXVI
TransmissionsAboutRSS