At the end of my previous article we had a fully featured stack machine that is Turing complete - meaning that it is capable of "universal computation". We already have an assembly language for our stack machine, but programmin

In my previous post I gave a brief history of stack machines, what they are and why they are relevant. The example I presented was little more than a RPN

In the early days of computing, before the time of standardized instruction sets - or standardized anything really - software was decidedly non-portable. If you wrote a piece of software on machine A, it more than likely would

Along with arrays and lists, trees are the one of the most fundamental data structures in computer science, if not THE fundamental structure. There are many, many different tree-based data structures tailored to all sorts of use cases.

In a previous article on quicksort, I called it a fast sorting algorithm with an achilles heal: for certain inputs quicksort slows waaaaaay down. This is quite unfortunate, because on most inputs quicksort is very fast.