Blog · page 11
Notes on engineering, design, and everything in between.
CSS is getting functions and conditionals: @function and if()
Two new pieces of CSS — custom functions and inline conditionals — remove the copy-paste that every component accumulates. Neither is Baseline yet, but both are worth reading early.
HTTP finally has a safe method with a body: QUERY
GET cannot carry a body and POST cannot be retried safely, so query endpoints have been stuck between two wrong options for twenty years. The IETF QUERY draft adds a third: safe, idempotent, and able to carry content.

Internet Exchange Points: Where Traffic Changes Hands
Your packets leave your home line, cross a few networks, and change hands at an exchange point. Here is what an IXP is, how peering differs from transit, and why exchanges set bandwidth prices.
No-guess Minesweeper: making every board solvable by reasoning alone
The worst part of Minesweeper is not hitting a mine, it is hitting one that could only be avoided by luck. Here is how a generator guarantees the whole board is deducible.
Post-quantum TLS is already in your handshake, but it only solves half the problem
Browsers and CDNs now negotiate hybrid key exchange like X25519MLKEM768 by default, which closes the harvest-now-decrypt-later gap. The signature half is still open.
text-box-trim is usable now: cut the dead space around headings
Line boxes are always taller than the glyphs, so that half-leading above a heading used to be fixed with negative margins. text-box-trim does it properly.
