A creator campaign escaped into a globally cached homepage module. The session cookie could not be read, but every authenticated request the injected script made still carried it.
Read the full noteA notebook, kept open.
Andrew’s notes on code, systems, and following the loose threads.
Showing 22 notes.
A mobile app's link-preview endpoint followed one redirect into localhost, reached an internal screenshot service, and turned a blocked SSRF into remote command execution.
Read the full noteI signed a SAML login for one test workspace and arrived as an administrator in another. Every cryptographic check passed. The application had forgotten to ask which company trusted the key
Read the full noteI fine-tuned a 6.7B language model without changing the 6.7B parameters. LoRA turned behavior into a tiny patch — and made the dataset look uncomfortably like source code.
Read the full noteA fictionalized writeup of the best bug I ever found: an 'export to PDF' feature that, five hops later, was running my code inside someone else's cluster. Target anonymized, chain real-in-spirit.
Read the full noteChatGPT is ten days old, a million people signed up in five, and my mother has opinions about it. Some notes from someone who's been poking this exact bear since 2020 — on what's actually new, what I got right, and the miss I want on the record.
Read the full noteThe weights are public, my GPU is warm, and I spent three weekends on a tiny game where one model writes the rooms and another draws them. The hard part isn't generation. It's agreement.
Read the full noteA daydream. Today I can ship a physics toy where you fling yourself up a tower. But I keep sketching the game I can't build yet — the one where the characters actually understand you
Read the full noteGPT can't actually hold a hidden word in mind — so I built the version of twenty questions where that's not cheating, it's the rules. John Wheeler got here first.
Read the full noteDon't give the model hands — give it a pen. A pipeline where GPT writes Kubernetes and Terraform changes as PRs that must survive a mechanical gauntlet before a human ever sees them
Read the full noteI built a living-room game over the holidays — everyone answers a question, one answer is a language model, find it. Tuning the bot to survive taught me what 'sounding human' actually means
Read the full noteWiring davinci between Alertmanager and Slack — six weeks of a language model reading my logs at 3am, with a built-in lie detector
Read the full noteGPT-3 API access finally arrived, so the commit-message benchmark of exactly one silly task gets its rerun
Read the full noteA guide to building small production systems where every upgrade is a swap, not a rewrite
Read the full notePutting the whole stack in Terraform, then proving it by deleting the server — plus the difference between Terraform and Kubernetes everyone glosses over
Read the full noteMigrating my little stack from Swarm to lightweight Kubernetes, and the mental model that finally made K8s click
Read the full noteReading the GPT-3 paper, waiting for API access, and rethinking what fine-tuning is even for
Read the full noteThe GPT-2 commit hook failed exactly as promised, so I turned it around
Read the full noteFine-tuning GPT-2 small on 3,000 of my own git commit messages, with predictable results
Read the full noteRunning OpenAI's GPT-2 locally with the Hugging Face transformers library
Read the full noteConfigure Docker Swarm and run image from AWS ECR
Read the full noteBuilding a React App as a widget using WebPack
Read the full noteThe beginning of the notebook.
Hi, I’m Andrew.
A developer, systems tinkerer, and curious breaker of things. I write about AI, infrastructure, security, and the experiments that help me understand them.