• Begone plague!
    We are in the midst of a plague so I decided to finish this post about the mask I made to keep the miasma away. Well, not really – this mask won’t help protect you against this plague but it will help you get into an Edwardian Ball.
  • Cigar and a Drink
    I have been sitting on a photo that I took a while back but never got a chance to process and post. I was up late at night with a nice cigar I had bought on a bike ride earlier that day. Oh those Cuban cigars. I could spend an...
  • Hydrobattery attack
    The greater appearance of Russia on the world political stage combined with the Sino-American trade war, worsening relationships between European Union and the United States, the strange Russian-American “alliance”, and China’s growing and highly effective cyberwarfare force has led to the eventuality that is the current military conflict between Russia...
  • Installing Archlinux on Late 2015 iMac
    Recently, I had to install Archlinux on an iMac … again. It has never been an easy process but it was particularly annoying this time around. Thanks Obama!
  • Tarsnap and I
    TL;DR; Use tarsnap to make cheap, secure backups.
  • Simple Constant-time Conditional Swap
    During my internship at Cisco Meraki, I was implementing IKE (Internet Key Exchange) for our VPN and while reading up on some of the crypto involved, I found out that one of the requirements of a good multi-precision integer implementation is that it be able to do constant-time modular exponentiation...
  • Neat Nested Classes in C++
    TL;DR Nested classes are awesome. But write the implementations outside.
  • Dynamic Programming Algorithm for Permuting Strings
    Coded up a DP algorithm in python for computing all the permuations of the characters in a string. I know it’s not very space efficient but it can be made so because we only ever need the previous level of permutations.
  • Method and Object Serialization in Python
    While working on my personal general-purpose task distribution system, (antnest), I came across the problem of serializing the methods of the task units to be assigned to the slave nodes for them to work on. The purpose is to implement something similar to Remote Procedure Calls but without having to...
  • Website Redesign
    I recently changed my website from a bunch of hand-stiched webpages dynamically generated by python scripts to using Hyde.
  • Wikipedia Conjectures
    Here’s a list of conjectures about Wikipedia compiled from different sources or suggested by myself or friends.
  • Using Eduroam with Wicd
    This is the configuration for wicd to be used for eduroam at University of Waterloo (may or may not work with other eduroam networks). Create a file at /etc/wicd/encryption/templates/ and add the filename to the active file in the same directory:
  • Courses I Liked
    CO 487 An introductory course to crypto, drawbacks of old crypto methods, (very) basic crypto analysis, designing (very) basic crypto. A must especially if Alfred Menezes is teaching.