About

Exploring technology and science as tools for understanding the world.
Orange buoy floating in the water

Relaxation

Relax everyone, if you ever feel stuck just… no, that’s all, that’s the answer. If you ever feel stuck, relax. Constraints are often the first thing you should question, not the first thing you should obey. For example, imagine you’re optimizing an event seating chart based on the compatibility of people sitting next to each other. The real question is not “How do we compute the perfect seating chart?” It is “How do we reframe the problem so that we find the best solution for the things we actually care about?” ...

April 4, 2026 · 4 min
Multi-story parking lot nicely covered with ivy

Overfitting

Does nutrition feel too complicated? You start with a simple rule: mostly whole foods, enough protein, not too much junk. Then you keep adding just one more constraint until eating feels like a full-time job. This can be explained using a machine learning concept called overfitting. What’s Overfitting? Overfitting occurs when a machine learning model fits the training data too closely and fails to capture general patterns. It memorizes random noise, so while performance on training data looks great, results on new data suffer. Excessive flexibility makes the model fragile. ...

March 28, 2026 · 3 min
Calm body of water near a brown mountain under a white and gray sky

Prediction

Predicting the Future Everyone claims they can’t predict the future. But mathematically, we can do better than guessing. The real problem isn’t the lack of predictive tools, it’s that most people never learned to use them. Let’s say we’re trying to predict if it’ll rain tomorrow. Last year, during this same month it rained 5 out of 30 days. A simple way to calculate the probability is by dividing the rainy days by the non-rain days: ...

March 13, 2026 · Last updated on March 15, 2026 · 4 min
Aerial photography of concrete roads

Scheduling

Scheduling is an interesting optimization problem that we encounter every day. You schedule things like brushing your teeth, driving to work, and eating a meal, whether consciously or subconsciously. I’m sure most people (me included) don’t care to fully optimize their personal schedule in favor of adding a buffer between tasks. Someone who is trying to optimize their schedule is in for a monumental task. This type of scheduling problem is similar to an NP-hard problem in computer science, sometimes called the “Job-Shop Scheduling” problem. NP-hard problems are problems in which new inputs increase complexity combinatorially. In other words, adding a new task to your schedule would greatly increase the time required to fully optimize it. And that is the key piece of information here: fully optimize. What benefit do you actually get from having the most streamlined schedule if you have to schedule 2 hours a day optimizing your schedule tomorrow? ...

March 5, 2026 · 5 min
Inside a library

Caching

Caching involves storing frequently accessed data in a temporary storage location to improve performance and reduce the need to access slower storage systems. Deciding when to evict items from the cache when it reaches capacity is a key challenge. If important items are removed, performance can degrade. Some common cache eviction strategies are: Least Recently Used (LRU): Removes items accessed the longest time ago. Least Frequently Used (LFU): Removes items that have been accessed the least number of times. First in First Out (FIFO): Removes the items added the longest time ago. As a real-world example, a library “caches” books at the front that are frequently requested, so that patrons can access them quickly without having to wait for the book to be retrieved from the shelves. ...

February 10, 2026 · 2 min