Projects
View all (17)fineprint
Compare VPNs on logging, jurisdiction, audits and payment, with a source for every claim
tubespotting
Real-time London Underground map for live train locations
android-rom-compat
Which Android ROMs run on your phone, feature availability and bootloader unlock status
token-usage-dashboard
Dashboard for historical token usage for Claude, Codex and OpenCode
peng-top
A system monitor for your browser: CPU, memory, disks, network, sensors and processes
git-star-ranking
Where any GitHub user, organization or repo ranks by stars, updated every six hours
Writing
View all (28)- jsDelivr handed out the hijacked axios 940,000 times
- Why the Wayback keeps saving Anubis's bot check
- npm's worms ride a few big accounts, not your dependencies
- Ubuntu 24.04 gets kernel fixes two months after Debian
- Can the server you SSH into read your screen?
- Wikipedia dropped this UUID in 2014. Now it's everywhere
- Whoever takes your old GitHub name gets your MCP namespace
- VS Code remembers the commands you hid with a space
- Your local model can't phone home. Your chat UI can
- That tmux clipboard tip lets servers read your last copy
Security Research
View all (111)CVE-2026-117656Unverified Sign in with Apple callback parameter can override verified ID token claimsCVE-2026-118257sanitizeTranslatedHtml allows DOM XSS via iframe srcdocCVE-2026-106121JSONReader in the default JSON-RPC mapper never terminates on truncated input, causing DoSCVE-2026-102826RCE in simple-git 3.36.0 via customArgs include.pathCVE-2026-104845Memory exhaustion via unchecked TypedArray length in JSON deserializationCVE-2026-92091Quadratic key_ops duplicate check in JWK.import_key allows CPU-exhaustion DoSCVE-2026-84370SVGO: removeScripts allows executable links through namespace and control-character bypassesCVE-2026-75899fast-uri vulnerable to server-side request forgery via repeated hostname percent-decodingCVE-2026-104182JSONC parser re-scans the whole accumulated comment on every chunk, costing quadratic CPUCVE-2026-102990Quadratic-time CPU denial of service in the Client.list() Unix directory-listing parser
