Blog

Medium

Robbing Houses with Dynamic Programming

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

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

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…

Copyright © 2019 Nick Ma.