Loading...

Tag trends are in beta. Feedback? Thoughts? Email me at [email protected]

Web-based cryptography is always snake oil

The Demise of the Mildly Dynamic Website

The demise of the mildly dynamic website (2022)

Netheads vs. bellheads redux: the victory of SIP over the teleph (2023)

The Bootstrapping Exam: Escaping from “Trusting Trust”

I hacked a train toilet

Adventures in reverse engineering Broadcom NIC firmware

Computers are an inherently oppressive technology (2022)

Mitigating the Hetzner/Linode XMPP.ru MitM interception incident

Why the AGPL is often unenforceable (2015)

Why even let users set their own passwords?

The problem with federated web apps

Web-based cryptography is snake oil

Writing a KVM hypervisor VMM in Python

Modern CPUs have a backstage cast

Binary formats and protocols: LTV is better than TLV

Patterns in register map design

Memoirs from the old web: IE's crazy content rating system

Client certificates aren't universally more secure

Memoirs from the old web: The KEYGEN element

Memoirs from the old web: server-side image maps

The i.MX8 cannot be deblobbed

Against risk-based authentication (or, why I wouldn't trust Google Cloud)

Netheads vs. bellheads redux: the strange victory of SIP over the telephone

Producing HTML using string templates has always been the wrong solution

Memoirs from the old web: The GateKeeper access control system

Let's Encrypt now supports ACME-CAA: closing the DV loophole

On Nexuses: An underrecognised utility in computing

The Talos II, Blackbird POWER9 systems support tagged memory

Computers are an inherently oppressive technology

More →