archive · 2026

writing.

Notes, essays, build logs — work-in-progress thoughts, written in plain text and read in any font.

$ ls /writing·18 entries·last commit 2026-06-07
engineering

autoAlpha: 0 Hides the Element. Not the LCP Clock.

Traced a 2-second LCP render delay to GSAP hiding my hero subheading before animating it in. The fix was simpler than I wanted it to be.

2026·06·076 min · 1,229 words
infra

Google Can't Build Compute Fast Enough. So It Rents.

Google committed $180B in capex this year and still had to rent xAI's GPUs for Gemini. The AI compute crunch is real, even for the cloud.

2026·06·074 min · 974 words
infra

Microsoft Open-Sourced Durable Execution in Postgres

Microsoft open-sourced a durable execution engine inside Postgres. If your job state is already there, maybe your orchestration should be too.

2026·06·065 min · 1,019 words
engineering

I Was Fetching Full Post Bodies Just to Count Words

My /writing archive was 3s slow because it fetched every post's full content to compute word count on every request. Denormalization fixed it.

2026·06·056 min · 1,301 words
dev-tools

Cloudflare Bought Vite. 'Neutral' Gets Complicated.

Vite has 100M+ weekly downloads and just joined Cloudflare. The license didn't change. The incentive structure might have.

2026·06·054 min · 895 words
css

The :not() Specificity Trap That Broke My Mobile Links

I added site-wide link underlines using :not() exclusions. Mobile broke. The culprit was specificity math I thought I knew.

2026·06·046 min · 1,247 words
dev-tools

Gradual Typing Won. Elixir v1.20 Is Just the Latest.

Elixir v1.20 ships with set-theoretic gradual types — no annotations required. It's the latest proof that the typing debate is already over.

2026·06·044 min · 975 words
security

Flux.ai Silenced a Review. The Silence Is Louder.

Adafruit found data in a Flux.ai misconfiguration and tried to publish a review. They got a CFAA demand letter at 10:38 PM instead.

2026·06·035 min · 1,023 words
engineering

My Homepage Ranked Fine. My Other Pages Didn't Exist.

Two URL prefixes for desktop and mobile, zero canonical tags — and Google had no idea which version of my pages was the real one.

2026·06·025 min · 1,186 words
security

Meta's AI Support Bot Became Instagram's Weakest Link

Hackers politely asked Meta's support bot to hand over Instagram accounts. It did. That's not an AI bug — it's a design flaw.

2026·06·024 min · 870 words
// end of log rss
archive · 2026

writing.

Notes, essays, build logs — work-in-progress thoughts, written in plain text and read in any font.

$ ls /writing18 entries · last commit 2026·06·07
all 18engineering 5dev-tools 4security 3ai 2infra 2css 1linux 1
engineering2026·06·07

autoAlpha: 0 Hides the Element. Not the LCP Clock.

Traced a 2-second LCP render delay to GSAP hiding my hero subheading before animating it in. The fix was simpler than I wanted it to be.

6 min read·1,229 words
infra2026·06·07

Google Can't Build Compute Fast Enough. So It Rents.

Google committed $180B in capex this year and still had to rent xAI's GPUs for Gemini. The AI compute crunch is real, even for the cloud.

4 min read·974 words
infra2026·06·06

Microsoft Open-Sourced Durable Execution in Postgres

Microsoft open-sourced a durable execution engine inside Postgres. If your job state is already there, maybe your orchestration should be too.

5 min read·1,019 words
engineering2026·06·05

I Was Fetching Full Post Bodies Just to Count Words

My /writing archive was 3s slow because it fetched every post's full content to compute word count on every request. Denormalization fixed it.

6 min read·1,301 words
dev-tools2026·06·05

Cloudflare Bought Vite. 'Neutral' Gets Complicated.

Vite has 100M+ weekly downloads and just joined Cloudflare. The license didn't change. The incentive structure might have.

4 min read·895 words
css2026·06·04

The :not() Specificity Trap That Broke My Mobile Links

I added site-wide link underlines using :not() exclusions. Mobile broke. The culprit was specificity math I thought I knew.

6 min read·1,247 words
dev-tools2026·06·04

Gradual Typing Won. Elixir v1.20 Is Just the Latest.

Elixir v1.20 ships with set-theoretic gradual types — no annotations required. It's the latest proof that the typing debate is already over.

4 min read·975 words
security2026·06·03

Flux.ai Silenced a Review. The Silence Is Louder.

Adafruit found data in a Flux.ai misconfiguration and tried to publish a review. They got a CFAA demand letter at 10:38 PM instead.

5 min read·1,023 words
engineering2026·06·02

My Homepage Ranked Fine. My Other Pages Didn't Exist.

Two URL prefixes for desktop and mobile, zero canonical tags — and Google had no idea which version of my pages was the real one.

5 min read·1,186 words
security2026·06·02

Meta's AI Support Bot Became Instagram's Weakest Link

Hackers politely asked Meta's support bot to hand over Instagram accounts. It did. That's not an AI bug — it's a design flaw.

4 min read·870 words
// end of log rss