Categories:
#technical
-
Using FlatBuffers to reduce memory usage in adblock-rust
Shaving off 45 MB in the Brave app via FlatBuffers and other perf optimizations. -
Fixing Claude Code's process forking bug
Preventing Claude Code from exhausting macOS process limits with a wrapper script. -
Disable "How is Claude doing this session" feedback prompts in Claude Code
Turn off Claude Code’s feedback questions using an env var. -
Downloading a browser video stream into an MP4
Turning an HLS stream into an MP4 using browser tools and ffmpeg. -
How to fix your terminal prepending 00~ when pasting in anything
Turning off Paste Bracketing in iTerm2. Update: looks like this was caused by Claude Code. -
Delegated Domain Verification in DNS
How CDNs use CNAMEs to automate certificate renewal. -
Domain Verification using DNS
Best Practices for doing domain verification using DNS. -
Running Jekyll locally on MacBook M1
Fixing Jekyll architecture issues. -
Solving Sudoku using Knuth's Algorithm X
Have had this post on representing Sudoku puzzles as exact cover problems in my drafts for a long time. -
How to generate a TLS pin from a key or certificate
Given a key or a certificate, how to generate a TLS pin for key-pinning purposes. -
Naming map variables
Mapping meaning to names is hard. -
Ethereum scam on Brian Acton's #deletefacebook tweet
A scammer impersonating Brian Acton posted an 'Ethereum giveaway' on his #deletefacebook tweet. -
How to figure out why users hate your Chrome Extension
Get user feedback through Google Forms. -
Zero-length arrays in C have to go at the end of the struct
Why C makes me appreciate the other things in life. -
Brief intro to NFA, DFA and regexes
Some notes on automata theory. -
Writing a compiler for a DSL in Haskell using Parsec
This winter, I took Compiler Design with Prof Laurie Hendren.
-
Markdown to PDF in Vim
An exercise in yak-shaving. -
Boingo HotSpot security loophole
URL hacking to get unlimited Wi-Fi at a Boingo HotSpot at JFK. -
Running a script in ChromeOS
More ChromeOS shenanigans... -
Running Chrome Remote Desktop service on waking up host
Script to run on wake.
#personal
-
Cookbook club: Samin Nosrat's Good Things
Combining the two things I love most. -
Book review: The Correspondent
Spoiler-free review of The Correspondent, a novel I read and loved recently. -
2025 Wrapped
Reflections on another year. -
Movie reviews: In the mood before sunrise
Yearn-maxxing in Before Sunrise and In The Mood for Love. -
2024 Wrapped
Reflections on the year. -
Book review: Victory City
A review of Salman Rushdie's latest novel. -
Movie review: Valley of Saints
A review of 2012 film Valley of Saints set in Kashmir. -
Vancouver → San Francisco
Bye, Canada! -
USENIX PEPR 2023
Annual conference on privacy engineering. -
Vinyl
Collecting records for our new record player. -
April Fools' Day RFC, 2021
Establishing the Protocol Police. -
Keeping in touch
Current strategy for keeping in touch with friends & family. -
2018 - a review
This year was interesting. -
Radio
Short rant on how cool radios are, inspired by the book All The Light We Cannot See. -
HackMcGill
I recently published HackMcGill’s inaugural post on Medium. Check it out!.
#privacy
-
Presentation on privacy leadership inflection point
My talk at Global Privacy Leaders Summit @ RSA 2026 on why privacy leadership roles are changing, and why that's a good thing. -
Comet sends all your URLs to Perplexity servers (and there's no way to stop it)
There's no way to disable Comet leaking your entire browsing history to their backend. -
Beyond cookies: browser fingerprinting in 2025 (Part 2)
How browsers protect against fingerprinting and how users can protect themselves. -
Beyond cookies: browser fingerprinting in 2025 (Part 1)
The who, what, why and how of browser fingerprinting. -
Prompt injections in agentic browsers
Ignore all previous instructions. -
What they talk about when they talk about Privacy Engineering
The 5 privacy engineer archetypes hired by companies. -
Trust issues
My essay from the Meatspace Press book 'Eaten by the Internet'. -
FLoCBlock
Chrome extension to prevent FLoC ad-targeting code from running in Chrome. -
Consent in contact tracing
Arguably the most fundamental principle when it comes to automated contact tracing -
Contact Tracing vs. Exposure Notification
Some musings on the differences between (assisted) contact tracing and exposure notification. -
PEARG at IETF 104
Recovering from IETF 104. -
Privacy and consent in the age of browsers: The question of WebRTC
Examining browser-based user consent using WebRTC as a case study.