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
wishing well with coins

Another bearish take on crypto

Note: The following post is not financial advice. It is for informational purposes only. Popularity of Crypto The following data, primarily from 2024, provides perspective on crypto’s popularity: Global Crypto Adoption (2025): Users, Rates & Country Data $3.5 trillion estimated crypto market value. 9.9% Crypto adoption rate globally. Over 13k cryptocurrencies. Bitcoin has 40% of the market share in Crypto. Especially considering Bitcoin’s impressive adoption, why doesn’t it serve as a reliable currency or investment? For a currency, broad acceptance and stability are essential, but volatility remains a major issue. As an investment, it should have economic value, yet it lacks intrinsic value. ...

November 21, 2025 · 7 min
tv showing static

Why I switched to a Static Site Generator

Static Site Generators (SSGs) pre-generate all site pages at build time, producing plain HTML files that load almost instantly for users because there is no need for server processing. In contrast, Server-Side Rendering (SSR) renders each page on demand with every user request, which requires a running server (of course) and will lead to slower load times when the page isn’t cached. To add further contrast, Client-Side Rendering (CSR) usually causes the slowest initial load time because even when a page is cached, all dynamic content will need to be fetched and rendered by the client’s (your) computer. ...

November 1, 2025 · 2 min
a message in a bottle sitting on the beach

What Happens When You Send a Text Message?

This is quite a rabbit-hole that started when a message ended up getting lost, and I wondered why that tends to happen with text messages and not apps like messenger. TLDR: the difference is that text messages (SMS/MMS/RCS) are only forwarded from one phone to another, while apps like messenger centrally stores the data in a server. Below is an overview of the main messaging service types: SMS/MMS, RCS, and Messaging Apps. ...

March 17, 2025 · 4 min