Skip to content

Writing

Things I wrote

And what the fix actually was. Mostly Laravel, TypeScript and the tooling around them.

Filter by topic Javascript

The jscrambler npm hack drops a stealer that hunts your AI tool keys

jscrambler 8.14.0 shipped a preinstall hook that runs a Rust infostealer during npm install. It goes after AWS, wallets, and your Claude/Cursor/MCP config. What to do.

12 Jul 2026 · Javascript · 8 min read

Is "dumb HTML" really killing React? The honest case for HTMX

HTMX is 16KB that lets HTML talk to the server and swap in the reply. One company cut 67% of their React code with it. Here's when it wins and when it burns you.

6 Jul 2026 · HTML · 6 min read

Astro 7 is here, and it's all about build speed

Astro 7 rewrote the compiler in Rust, moved Markdown to a Rust pipeline, and shipped Vite 8. Builds are 15 to 61 percent faster. Here's what to upgrade now.

23 Jun 2026 · Rust · 2 min read

TypeScript 7 is written in Go now. Here's what it means for your stack

TypeScript 7.0 RC is here, rewritten in Go and about 10x faster than 6.0. What's actually new, whether you should upgrade, and the one migration gotcha to plan for.

21 Jun 2026 · Typescript · 6 min read

The C iceberg: surprising facts every C beginner should know

A beginner-friendly tour of C's weirdest corners: pointers, array decay, the stack and heap, struct padding, octal literals, and why a byte isn't always 8 bits.

9 Jun 2026 · C++ · 5 min read

openapi-typescript: stop hand-writing your API types

Hand-written API types drift from the real API and ship bugs. openapi-typescript generates them from your OpenAPI schema so the compiler catches mismatches.

9 Jun 2026 · Javascript · 11 min read

CSS can now animate between pages

Cross-document view transitions let plain links fade, slide, and morph between separate HTML pages, no JavaScript framework needed. Here is how to set them up and what to watch for before you ship.

6 Jun 2026 · CSS · 7 min read

Rust-inspired TypeScript: 4 habits that kill whole classes of bugs

Four habits borrowed from Rust that make TypeScript stricter and safer: discriminated unions, result types, boundary validation, and local mutations. With code.

2 Jun 2026 · Typescript · 7 min read

One email when the next one lands

No sequence, no course, no webinar. Leave from any email.