-
📚 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. -
📣 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'. -
🇨🇦 Vancouver → 🌉 San Francisco
Bye, Canada! -
🌶️ USENIX PEPR 2023
Annual conference on privacy engineering. -
🎵 Vinyl
Collecting records for our new record player. -
📟 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. -
🚨 April Fools' Day RFC, 2021
Establishing the Protocol Police. -
💻 Running Jekyll locally on MacBook M1
Fixing Jekyll architecture issues. -
❌ FLoCBlock
Chrome extension to prevent FLoC ad-targeting code from running in Chrome. -
🧮 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. -
😷 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. -
🗺️ Naming map variables
Mapping meaning to names is hard. -
🤗 Keeping in touch
Current strategy for keeping in touch with friends & family. -
PEARG at IETF 104
Recovering from IETF 104. -
📝 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. -
Privacy and consent in the age of browsers: The question of WebRTC
Examining browser-based user consent using WebRTC as a case study. -
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. -
TheNews
Read the latest headline every time you open a new tab. -
Typewriter
Generate pretty typewriter-style images from text. -
🖥️ 'Clean your desk' : My Amazon interview experience
The normalization of privacy violation. -
Redirect loops and Wi-Fi login pages: Getting around VIA Rail's stupid network configuration
Spoofing MAC addresses for fun and profit. -
git fresh
Git alias to quickly start developing new feature. -
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. -
HackMcGill
I recently published HackMcGill’s inaugural post on Medium. Check it out!.
-
Finding min and max in MongoDB with null fields
Command to look for the minimum value for a field in MongoDB. -
aliasify
Tiny script to automate bash alias. -
PrettyPrintGmail
Chrome extension that adds a bunch of print tools to Gmail. -
FrontPageOfScience
Chrome extension that changes New Tab page to show news. -
Authentication Certificate Rejected Locally error while trying to connect to wifi on Chromebook
Enterprise wifi, ugh. -
HashMaps
Chrome extension to search Google Maps from your address bar. -
Running a script in ChromeOS
More ChromeOS shenanigans... -
Editing Read-Only files on Chromebook
Hacking around Chromebook's restrictions. -
Running Chrome Remote Desktop service on waking up host
Script to run on wake. -
Sending email from your McGill email using Gmail
Say goodbye to Outlook. -
Connecting to a Linux box using Chrome Remote Desktop
Chromebooks as thin clients. -
How to install Tuareg Mode on Emacs without needing a hair transplant
Emacs is kinda cool. -
New Post script
Automating blog post creation.