The Heilmeier Catechism

George H. Heilmeier, director of DARPA (the advanced-technology research agency of the US Defense Department) from 1975 to 1977, formulated a set of questions to help evaluate research proposals.

A Strictly Geometrical Proof of the Altitude Theorem

The Altitude Theorem or Geometric Mean Theorem is a result from high-school geometry. In a right triangle, the altitude $h$ on the hypotenuse divides the hypotenuse into two segments, $p$ and $q$. The theorem now states that $h^2 = pq$ or, equivalently, $h = \sqrt{pq}$: the altitude equals the geometric mean of the segments of the hypotenuse.

The content of this theorem is a bit surprising, because the altitude and the hypotenuse segments seem geometrically somewhat “unrelated”: it’s not clear how one could (geometrically) be transformed into the other. And although the theorem can be proven in many different ways, many of the proofs are at least partially algebraic, and therefore do not provide an intuitive, geometric sense why it is true. But it turns out that a very elegant, strictly geometric proof of this proposition can be constructed.

The Diamond-Square Algorithm for Terrain Generation

The Diamond-Square Algorithm for Terrain Generation

The Diamond-Square Algorithm is the natural first stop for generating artificial landscapes. The algorithm itself is beautifully simple (more details below, and on its Wikipedia page). But a casual implementation ended up not working at all, prompting me to look for an existing implementation to learn from. However, most implementations I found looked hideously complicated (or just hideous), not necessarily correct, and/or used out-of-date programming languages and styles. It therefore seemed like a good idea to create a clean, simple “reference” implementation of this algorithm, using a contemporary and widely known programming language and style.

"That's funny..."

The most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka!” (I found it!) but “That’s funny…".

Unix Tools Today

I learned Unix almost 30 years ago, while attending graduate school in the early 90s, from a now long-obsolete book entitled “Unix for the Impatient”.

Some of the tools and commands I learned back then have long since become irrelevant (ftp, telnet, cvs, biff — remember biff?). Others, although long in the tooth, continue to serve me well every day (emacs, tcsh, cc). And yet a third group seems to be more important than ever (such as tar, which is the basis for Docker images).

Book Review: Two Books on Analytic Number Theory

Analytic number theory is the application of methods from analysis to the study of integers, in particular primes. This may seem paradoxical: at the heart of analysis lie notions of continuity and differentiability — and what could be more discrete and discontinuous than the set of primes?