Data Quality: Dimensions and Error Classes — the Theory Behind the SQL Checks

A lot gets written about data quality, and very little gets measured. The German-language practitioner’s standard reference alone lists sixty possible quality criteria — from timeliness to reliability —, and even the lean models still arrive at six to fifteen dimensions. Yet the core of the matter is surprisingly tangible: a data error caught during … Read more

The Agent Measures Where I Click — Debugging Postgres, Docker and a Swapping Server with a Coding Agent

A bug gets reported the way it feels: the message does not appear, the page barely responds, a tab no longer loads after a restart. A user can only describe what the interface shows, and the interface is the end of a long chain. A coding agent with access to the database, the container runtime … Read more

An EU Region Is Not an EU Provider — Vercel, Supabase and the GDPR Third-Country Question

“We host in Frankfurt, so we’re GDPR-compliant.” The sentence comes up in almost every conversation about Vercel and Supabase, and it is half the answer to a question that has two halves. The region answers where the data lives. It does not answer whose law applies to the companies that process that data. This article … Read more

One VPS, Four Environments, No Cookie Banner — How I Host a Next.js App with Self-Hosted Keycloak

For most web applications, the cookie banner question comes up too late. The application is built, an analytics script is in, the login page comes from a cloud service, and suddenly the very first page view needs a consent dialog that nobody planned for. The DI² project turned the question around. GDPR without a cookie banner was … Read more

Two Agents, One Working Tree — What Broke When I Ran Parallel Claude Code Sessions in One Git Repository

A Claude Code session opens a Git repository with no pending changes, works for half an hour and commits whatever has changed at the end. Run alone, that is correct. As soon as a second session or a human works in the same repository, the very same routine can pull someone else’s work into the … Read more

Agentic Coding from a User’s Perspective — Experience: The Work Doesn’t Disappear, It Shifts

Since spring 2026, two projects have been taking shape with the same coding agent: an ETL generator on Next.js and PostgreSQL, and this blog. The agent does not complete lines, it works through assignments in the repository. This article collects my agentic coding experience from a user’s perspective. I build databases, ETL processes and the … Read more

Why sqlfluff Can’t Lint Our SQL Conventions — and a 240-Line Script Can

The conventions were settled: procedure skeletons, DECLARE banners, file naming, forbidden constructs — all versioned in rule files, every rule with its rationale. The only open question was which tool should check the SQL conventions. And the first reflex was the same one that probably surfaces in every Postgres team with convention ambitions: “Just use … Read more

Three Severity Levels, Not Pass/Fail — and Why Severity Decides Where the Rule Lives

Most data quality systems don’t die of bad checks. They die of a missing field in the rule model: the severity. A missing country code in three out of 80,000 rows blocks the nightly load, someone switches the check off “temporarily”, and from that moment everything runs unchecked. Steering data quality with severity levels instead of binary … Read more

Deriving Data Quality Rules from the Schema — What the Metadata Already Knows

The rule “country_code is mandatory” lives in your database twice: once as NOT NULL in the target table’s schema, and once as a hand-typed row in the check configuration. On the next ALTER TABLE, only one of the two places changes, and the check silently goes wrong. With derived data quality rules you no longer type that repetition: the metadata already … Read more