Pistachio Musings?
About
  • Dec 26, 2024

    📝 2024 Wrapped

    Reflections on the year.
  • May 1, 2024

    📚 Book review: Victory City

    A review of Salman Rushdie's latest novel.
  • Jan 28, 2024

    🍿 Movie review: Valley of Saints

    A review of 2012 film Valley of Saints set in Kashmir.
  • Jan 26, 2024

    📣 What they talk about when they talk about Privacy Engineering

    The 5 privacy engineer archetypes hired by companies.
  • Dec 2, 2023

    🔒 Trust issues

    My essay from the Meatspace Press book 'Eaten by the Internet'.
  • Nov 30, 2023

    🇨🇦 Vancouver → 🌉 San Francisco

    Bye, Canada!
  • Sep 15, 2023

    🌶️ USENIX PEPR 2023

    Annual conference on privacy engineering.
  • Aug 5, 2023

    🎵 Vinyl

    Collecting records for our new record player.
  • May 7, 2023

    📟 Delegated Domain Verification in DNS

    How CDNs use CNAMEs to automate certificate renewal.
  • Apr 16, 2023

    📟 Domain Verification using DNS

    Best Practices for doing domain verification using DNS.
  • Apr 26, 2021

    🚨 April Fools' Day RFC, 2021

    Establishing the Protocol Police.
  • Apr 21, 2021

    💻 Running Jekyll locally on MacBook M1

    Fixing Jekyll architecture issues.
  • Apr 21, 2021

    ❌ FLoCBlock

    Chrome extension to prevent FLoC ad-targeting code from running in Chrome.
  • Feb 21, 2021

    🧮 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.
  • Sep 2, 2020

    📍 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.
  • May 15, 2020

    😷 Consent in contact tracing

    Arguably the most fundamental principle when it comes to automated contact tracing
  • May 8, 2020

    🏥 Contact Tracing vs. Exposure Notification

    Some musings on the differences between (assisted) contact tracing and exposure notification.
  • Mar 4, 2020

    🗺️ Naming map variables

    Mapping meaning to names is hard.
  • Dec 30, 2019

    🤗 Keeping in touch

    Current strategy for keeping in touch with friends & family.
  • Apr 7, 2019

    PEARG at IETF 104

    Recovering from IETF 104.
  • Feb 4, 2019

    📝 2018 - a review

    This year was interesting.
  • Jul 30, 2018

    📻 Radio

    Short rant on how cool radios are, inspired by the book All The Light We Cannot See.
  • Jul 26, 2018

    Privacy and consent in the age of browsers: The question of WebRTC

    Examining browser-based user consent using WebRTC as a case study.
  • Mar 21, 2018

    Ethereum scam on Brian Acton's #deletefacebook tweet

    A scammer impersonating Brian Acton posted an 'Ethereum giveaway' on his #deletefacebook tweet.
  • Jul 14, 2017

    How to figure out why users hate your Chrome Extension

    Get user feedback through Google Forms.
  • Jul 3, 2017

    Zero-length arrays in C have to go at the end of the struct

    Why C makes me appreciate the other things in life.
  • Mar 1, 2017

    Brief intro to NFA, DFA and regexes

    Some notes on automata theory.
  • Feb 18, 2017

    TheNews

    Read the latest headline every time you open a new tab.
  • Jan 7, 2017

    Typewriter

    Generate pretty typewriter-style images from text.
  • Dec 7, 2016

    🖥️ 'Clean your desk' : My Amazon interview experience

    The normalization of privacy violation.
  • Oct 6, 2016

    Redirect loops and Wi-Fi login pages: Getting around VIA Rail's stupid network configuration

    Spoofing MAC addresses for fun and profit.
  • Sep 30, 2016

    git fresh

    Git alias to quickly start developing new feature.
  • May 18, 2016

    Writing a compiler for a DSL in Haskell using Parsec

    This winter, I took Compiler Design with Prof Laurie Hendren.

  • Dec 14, 2015

    Markdown to PDF in Vim

    An exercise in yak-shaving.
  • Nov 3, 2015

    Boingo HotSpot security loophole

    URL hacking to get unlimited Wi-Fi at a Boingo HotSpot at JFK.
  • Oct 14, 2015

    HackMcGill

    I recently published HackMcGill’s inaugural post on Medium. Check it out!.

  • Jul 21, 2015

    Finding min and max in MongoDB with null fields

    Command to look for the minimum value for a field in MongoDB.
  • Jun 28, 2015

    aliasify

    Tiny script to automate bash alias.
  • Jun 10, 2015

    PrettyPrintGmail

    Chrome extension that adds a bunch of print tools to Gmail.
  • Mar 15, 2015

    FrontPageOfScience

    Chrome extension that changes New Tab page to show news.
  • Mar 4, 2015

    Authentication Certificate Rejected Locally error while trying to connect to wifi on Chromebook

    Enterprise wifi, ugh.
  • Feb 28, 2015

    HashMaps

    Chrome extension to search Google Maps from your address bar.
  • Jan 7, 2015

    Running a script in ChromeOS

    More ChromeOS shenanigans...
  • Jan 6, 2015

    Editing Read-Only files on Chromebook

    Hacking around Chromebook's restrictions.
  • Dec 30, 2014

    Running Chrome Remote Desktop service on waking up host

    Script to run on wake.
  • Dec 29, 2014

    Sending email from your McGill email using Gmail

    Say goodbye to Outlook.
  • Dec 28, 2014

    Connecting to a Linux box using Chrome Remote Desktop

    Chromebooks as thin clients.
  • Dec 26, 2014

    How to install Tuareg Mode on Emacs without needing a hair transplant

    Emacs is kinda cool.
  • Dec 26, 2014

    New Post script

    Automating blog post creation.
  • ShivanKaul
  • shivan_kaul

My thoughts on topics in the power set of {software, engineering, privacy, writing}.