I vaguely remember chilling in an afternoon class, trying to stay awake. My hand steadily sketched out notes as the professor rambled about computer algorithms or something. Then, randomly, the professor charged us to work with a neighbor to examine a problem just scribbled on...

The Tower of Hanoi is a mathematical puzzle, often introduced to undergraduate college students. At face value, the puzzle seems pointless. You are simply moving discs around. Yet, something is interesting about the puzzle's nature. After careful inspection, it turns out we can...

Everybody hates recursion. Well, maybe I'm exaggerating but the technique is often dismissed as useless and complicated. You may be thinking: "I'll just keep my loops please." And there's nothing wrong with that. In many situations, loops or higher-order functions are...

This blog post is a summary of Vaclav Smil's paper Eating Meat: Evolution, Patterns, and Consequences. Although I eat meat, it should be noted that I am not an expert in meat. Thus, please take this summary with a grain of salt. As with any scientific article, the information may...

For this post, I am assuming you already have some programming skills, but feel stuck. There is a lot of stuff you could potentially learn. Yet, this diversity of options makes decision making difficult. What will give you the best bang for your buck, so to speak? Well, I am...

Recently, I implemented the state space algorithm in Racket. It's a simple algorithm that can find a goal state in n-dimensional Euclidean space. All one needs is a computable function, a starting domain, and a goal value. How does it work? For example, let's say we want to find...