-
USENIX PEPR 2023
🌶️ -
Vinyl
Collecting records -
Delegated Domain Verification
How CDNs use CNAMEs to automate certificate renewal -
Domain Verification using DNS
Best Practices for doing domain verification using DNS -
April 1, 2021 RFC
🚨 Establishing the Protocol Police. -
Running Jekyll locally on MacBook M1
Fixing Jekyll architecture issues. -
FLoCBlock
Chrome extension to prevent Federated Learning of Cohorts aka 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 @ IETF 104
IETF 104 was last week, and I've been trying to find the time and (mental-)space to do a mind-dump about it. -
2018 - a review
This year was interesting. -
Radio
Short rant on radios. -
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. -
Moxie
Today I got an email from Moxie Marlinspike. Even if it was just an email saying they don’t hire interns, it made my week.
-
Boingo HotSpot security loophole
TL;DR: Illustratory/educational post showing how I was able to tweak the URL to get unlimited Wi-Fi at a Boingo HotSpot at John F. Kennedy International Airport.
-
HackMcGill
I recently published HackMcGill’s inaugural post on Medium. Check it out.
-
Finding min and max in MongoDB with null fields
If looking for the minimum value for a field in MongoDB, use this command:
-
aliasify
Laziness. -
PrettyPrintGmail
Many months back, Deepanjan and I worked on this small Chrome Extension to print emails in Gmail prettily i.e. without unnecessary cruft like the Gmail logo, etc.
-
FrontPageOfScience
Last night I realized I had completely forgotten how to use Heroku.
-
Authentication Certificate Rejected Locally error while trying to connect to wifi on Chromebook
While trying to connect to McGill’s wifi recently on my Chromebook I ran into an “Authentication Certificate Rejected Locally” error. Given that there is zero support for Chromebooks on the McGill IT pages, it took me a while to figure it out.
-
HashMaps
TL;DR: I made HashMaps, a Chrome Extension to search Google Maps from your address bar.
-
Running a script in ChromeOS
I was trying to run a script in order to circumvent inane rules that my country comes up with on my Chromebook, but for some reason I wasn’t able to do the regular
-
Editing Read-Only files on Chromebook
Whilst playing around with my Chromebook, I had occasion to want to use Google’s Public DNS instead of my ISP’s, because my ISP just went insane and blocked GitHub. I kinda need GitHub (kinda), so I wanted to change the DNS settings on my Chromebook.
-
Running Chrome Remote Desktop service on waking up host
I use Chrome Remote Desktop service to connect from my Chromebook to my main laptop. However, there is a problem: whenever I put my laptop to sleep, I need to restart the service manually.
-
Sending email from your McGill email using Gmail
This post is targeted towards McGill students.
-
First post from my Chromebook
Hey hey hey!
-
Connecting to a Linux box using Chrome Remote Desktop
As mentioned in the previous post, I recently got a Chromebook for Christmas. The plan was to use it for general browsing and writing blog posts, and connecting to my main (heavy) laptop for more serious developmental work. I was looking at Chrome Remote Desktop as a way of doing that.
-
How to install Tuareg Mode on Emacs without needing a hair transplant
Over last semester, I was introduced to OCaml via a class on Functional Programming. The class was fantastic; if you’re at McGill and have any say in your curriculum (aka you’re not in Engineering), I highly recommend taking it ASAP. And try taking it with Brigitte Pientka.
-
New Post script
I recently began working with Jekyll, and I love it. It’s the elusive Goldilocks blend of technical vs non-so, Convention Over Configuration vs The Other Way Around. I’ve liked it so much that I’ve even installed a Sublime Text package called MarkdownEditing which I now use for all my writing (it’s so pretty!).