Skip to main content
Five Drupal modules just got marked “unsupported” — the contrib abandonment tax
drupal

Five Drupal modules just got marked “unsupported” — the contrib abandonment tax

On July 22 the Drupal security team shipped ten contrib advisories — five with no fix, just 'uninstall it.' What 'unsupported' actually means (including why they all read 'Critical' regardless of real severity), why it keeps happening, and the audit I now run on my own composer.json.

2026-07-29 / 04 min
Stop sending email from your VPS — I checked my own DNS and even I got it wrong
engineering

Stop sending email from your VPS — I checked my own DNS and even I got it wrong

Gmail and Outlook now hard-bounce unauthenticated mail instead of junking it. Sending straight from a VPS is a reputation treadmill you lose. The fix is to relay but keep your own SPF/DKIM/DMARC — which is exactly where I found my own footgun: a live 'v=spf1 -all' with no relay include, my newsletter surviving on DKIM alone. Here's what each record does and how to not do what I did.

2026-07-27 / 05 min
Drupal's rough summer: when the thing that stops SQL injection is the SQL injection
drupal

Drupal's rough summer: when the thing that stops SQL injection is the SQL injection

Three core security advisories in a month, including a highly critical SQL injection in the database abstraction layer itself — exploited in the wild, anonymous, PostgreSQL-only. My blog runs MariaDB so I dodged it, but the JSON:API object-injection pair hit closer to home. What actually happened, and why serialized fields plus unserialize() are a bomb you keep in the building.

2026-07-27 / 04 min
I pointed Claude Code at my Coolify box. Deploying by sentence is a bit too easy.
ai

I pointed Claude Code at my Coolify box. Deploying by sentence is a bit too easy.

Coolify shipped a first-party MCP server in v4.1.0, so I wired Claude Code to the VPS that runs this blog and deployed by asking. It works, which is the worrying part. What the tools actually do (no rollback), the thin confirmation model, and how I scope tokens so an agent can't restart prod off a misread sentence.

2026-07-24 / 04 min
I Wired My Coding Agent Into a Live Drupal Site via MCP
drupal

I Wired My Coding Agent Into a Live Drupal Site via MCP

Field notes on connecting a coding agent to a running Drupal install through the AI module's MCP server, and the governance gaps of letting it build content types and run actions.

2026-07-11 / 04 min
Enkryptify: field notes on a solo dev's secrets manager
security

Enkryptify: field notes on a solo dev's secrets manager

Honest notes on Enkryptify, an EU-based secrets manager that injects your .env at runtime. What I liked, how the encryption actually works, and the lock-in I'd weigh.

2026-07-10 / 04 min
Subscribe to Security