Blog
Medium
Robbing Houses with Dynamic Programming
Feb 2020
Dynamic programming sounds fancier than it is. At its core, it is an optimization method. Let’s take a look at a problem from the…
Medium
Lowest Common Ancestors and Variations
Feb 2020
The lowest common ancestor (LCA) is the question where given two nodes and the root of the tree. Write a function to determine the first…
Medium
Combinations and Permutations with an Intro to Backtracking
Mar 2019
Combinations and Permutations are a common set of interview problems that require generating various sequences based on rules.
Tips and Tutorials
Setup SSL on Heroku with letsencrypt and Rails
November 26, 2016
So this weekend I had some time to help out on a opensource project manage by some awesome Toronto folks. The steps are as follows: figure…
Trigger Lambda on Instance Termination.
July 11, 2016
Introduction So going on call, we had autoscaling groups that will terminate instances when they fail ELB health checks. By the time that we…
Vim Save as Sudo
July 07, 2016
Have you ever had one of those days where you were trying to edit a config file and you realized that you were not sudo? Vim-Save Vim-Save…
Thinking about Recursion in Stacks
December 26, 2014
Recursion is one of the most common topics in interviews. Recursive solutions usually consist of less code than an interative solution (but…