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.
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.
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.
I just wasted one hour and five minutes, dealing with two of these opaque, unexpected, and almost undiagnosable showstopper roadblocks that Hugo will throw your way - much too often, in my opinion.
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.
I recently came across a collection of old (1990s) “programming challenges”. I thought it might be amusing to tackle one of these challenges using technologies from the period in which they were posed, and compare the solution to one using contemporary techniques. In other words, do the same problem in C and Python.
When doing research to get this website up and running, I came across the following two truly inspiring examples:
The most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka!” (I found it!) but “That’s funny…".
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).
I have compiled my various write-ups on the Hugo site generator into a single, consecutive guide.
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?