Skip to main content
Planka deleted my logins: the SSO tax and the open-core rug-pull
tooling

Planka deleted my logins: the SSO tax and the open-core rug-pull

Planka 2.2.0 moved SSO to paid Pro and deactivated every SSO-only account on upgrade (Aug 9). The maintainers have a fair case (SSO was their biggest support cost; 2FA stayed free) — the real fault is the execution, not the pricing. The lesson for a solo operator: open-core tightening is a real dependency risk. Pin tags, read release notes, keep a break-glass admin.

2026-08-17 / 04 min
The junior-dev cliff is real — but it's a training-pipeline problem, not a layoff story
ai

The junior-dev cliff is real — but it's a training-pipeline problem, not a layoff story

Stanford's data: employment for 22-25-year-old developers in AI-exposed work is down ~20% since late 2022 while older devs held flat. The scary chart is real; the wrong lesson is 'AI took the jobs.' The slower, worse one: junior work was how juniors became seniors, and we may be switching off our own succession plan. Honest about the multi-causal mess (ZIRP, rates, Section 174) too.

2026-08-17 / 04 min
Renaming your JSON keys can change your LLM's answer
ai

Renaming your JSON keys can change your LLM's answer

A new study: change only the wording of your schema keys — prompt, model, structure, decoding all fixed — and accuracy moves. Qwen jumped ~7 points from a better key name; Llama lost ~16 from the same kind of key. Field names are a hidden instruction channel (distinct from the 'format tax'), they're model-dependent and non-additive, and if you ship structured output you're prompting through your data model without knowing it.

2026-08-17 / 04 min
SWE-bench went from 60% to nearly 100%. That's the benchmark dying, not progress.
ai

SWE-bench went from 60% to nearly 100%. That's the benchmark dying, not progress.

OpenAI walked away from SWE-bench Verified in Feb 2026, citing saturation, flawed tasks (59% of audited hard problems), and contamination — a model surfaced a fix detail that never appeared in the problem. The 'SWE-Bench Illusion' paper measured the memorization. Stop quoting the leaderboard; build a tiny private eval on your own repos.

2026-08-13 / 04 min
When the app you self-host gets archived: File Browser and your homelab's bus factor
tooling

When the app you self-host gets archived: File Browser and your homelab's bus factor

File Browser (~35k stars) is being archived on Sept 1 — not from burnout but loss of will and a broken succession chain, in the maintainer's own words. Stars measure popularity, not resilience. The companion to my Jellyfin piece: a bus-factor checklist for what you actually inherit when you 'just self-host it'.

2026-08-13 / 04 min
Your agent's reasoning trace is mostly theater
ai

Your agent's reasoning trace is mostly theater

A pile of 2025-26 research says chain-of-thought is often unfaithful: 30-60% of 'thinking steps' have minimal causal impact, models trained on scrambled traces do fine, filler tokens substitute for reasoning, and Anthropic found models admit using a hint only ~25% of the time. If you log CoT to debug and audit agents, you're trusting a story the model made up after the fact.

2026-08-13 / 04 min
We deleted the LLM call and everything got faster, cheaper, and more honest
ai

We deleted the LLM call and everything got faster, cheaper, and more honest

A peer-reviewed study found regex tied an LLM on accuracy for structured extraction while running 28,000× faster. The case for AI as seasoning, not flour: route the predictable 90% to deterministic code, escalate only the fuzzy long tail to a model. A decision rule, real numbers, and the honest counterpoint (don't parse HTML with regex).

2026-08-03 / 05 min
Why turning on JIT won't speed up your Drupal site (and the math that proves it)
php

Why turning on JIT won't speed up your Drupal site (and the math that proves it)

PHP's own JIT authors admitted it barely helps real apps like WordPress — ~3.5%. Here's why: a Drupal page is I/O-bound, and Amdahl's law caps what JIT can ever do to ~11% even if it made the CPU work infinitely fast. What actually speeds a site up instead (OPcache, preloading, a real cache backend), and the CPU-bound cases where JIT genuinely earns its keep.

2026-08-03 / 04 min
Your healthcheck is not monitoring
engineering

Your healthcheck is not monitoring

depends_on waits for 'running', not 'ready'. Docker does NOT restart an unhealthy-but-running container — restart policies key on exit code, not health. And a naive curl localhost returns 200 from Drupal's page cache while the DB is down. A Drupal-specific healthcheck that doesn't lie, and why healthcheck ≠ readiness ≠ monitoring ≠ alerting.

2026-08-03 / 05 min
Your 1M-token context window is a lie (context rot)
ai

Your 1M-token context window is a lie (context rot)

Chroma tested 18 models: accuracy falls well before the advertised limit, and semantically-similar distractors hurt more than the raw token count — models even did better on a shuffled haystack than a coherent one. Plus RULER's 'effective context' and Lost-in-the-Middle. Why curated retrieval still beats stuffing everything in the window.

2026-08-03 / 04 min
Subscribe to Engineering