Recent posts:
-
Virtualization and Deployment
A desirable thing in computer science is to decouple the program from its execution environment. Yet, a full abstraction of the low-level execution is likely impossible, so in practice the goal is more modest: to build deployment systems that provide consistent and predictable execution environments across different and potentially failing hardware machines. In concrete terms, the program needs CPU time, memory while it is executing, files and network connections, compatible libraries and configuration, and somewhere durable for the data that must outlive it. None of these is unlimited or inherently private. So how do we achieve reliable provisioning of these resources? Let's "re-derive" the current solution from the ground-up.
-
The Fundamental Theorem of Asset Pricing
What makes an uncertain promise worth something today? Is a price a forecast of the future, a measure of collective optimism, or an expression of how much we fear bad outcomes? Financial markets seem to bundle all of these forces into a single number. In that context the fundamental theorem of asset pricing is one of those deep theoretical results with enormous practical significance. It shows that, beneath that complexity, prices must obey a remarkably simple logic: consistent prices leave no room for a free lunch.
-
Grep and the Theory of Pattern Matching
grepis one of those small programs that expose a large idea. It can find symbols in codebases, locate failed requests in a log, filter pipelines, or test whether a configuration setting exists. The central problem is simple enough: we are given some text, and a description of what we want to find.grepis what solves this line by line. The newline is its default record separator, so the program can work incrementally: read a record, decide whether to emit or discard it based on the description, and continue. This small design choice is why it fits the Unix pipeline so well. Underneath, it hides interesting connections to formal languages, finite automata, compiler construction, and careful algorithm design. Let's explore.
-
The Wild Atlantic Way
This is the rightful conclusion to an epic trilogy of mighty roadtrips, full of vast green plains and breath-taking steep seaside cliffs. We previously did Scotland's NC500, then Iceland's Ring Road. Now it's time for Ireland's Wild Atlantic Way.
-
The Mechanics of the Global Oil Market
Every single day, the world consumes over 100 million barrels of oil. It's a resource that dictates everything from geopolitical power to the price of your groceries. This article explains how the oil industry works from the reservoir to the refinery, then from the refinery to the futures market and the broader economy. It's an important and timely topic, given its impact in the world economy and also in our lives.
Every subset of less than half the total number of vertices has a proportionally large boundary of edges.