The Critical Section
About Posts Tags

Recent posts:

  • 19 Sep 2026 On AI Research, Academia, and Competition

    Research consumes scarce resources in exchange for uncertain knowledge. You commit time and effort to a promising scientific question, often with no upfront clarity on the potential discovery's utility and impact. What motivates such a choice? For an individual, curiosity and determination may be enough. However, here I'm more concerned with the institutional incentives that drive the research behavior of corporate and academic labs. Because whether the laboratory belongs to a university or a corporation, somebody must decide which questions deserve attention, somebody must pay, and somebody must judge the results. The recent AI boom, mixing both euphoric hype and fear of the technology, has been instrumental in amplifying the different mechanisms of corporate and academic research, enough so that the differences become evident.


  • 09 Sep 2026 Candlestick Tasseography

    Modern technical analysis has roots in Charles Dow's studies of market trends at the turn of the twentieth century. Since then, chart reading has expanded into a large collection of numerical indicators built from prices and trading volume. Their appeal is understandable: markets aggregate news, expectations, and trading decisions into a price history, and indicators offer a compact way to describe its trends, momentum, and volatility. Traders use these descriptions to inform timing, execution, and risk decisions. But the leap from describing yesterday's pattern to predicting tomorrow's return makes the subject controversial, as the apparent regularities often end up being stories fitted to noise. That tension makes the tools worth understanding. In this fun little article we'll examine a few widely used indicators, explain their arithmetic, and connect them to the trading mechanisms behind price movements.


  • 24 Aug 2026 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.


  • 30 Jul 2026 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.


  • 21 Jul 2026 Grep and the Theory of Pattern Matching

    grep is 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. grep is 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.


Expander Graph
Figure 1: An expander - a most curious sparse graph with strong connectivity properties.
Every subset of less than half the total number of vertices has a proportionally large boundary of edges.

  • The Critical Section
  • GitHub

A personal blog for artificial intelligence and similar topics.