The typographic scale

The typographic scale is the bedrock of modern typography, used for centuries to choose harmonious font sizes. But there are flaws in those historical values.

Logic as algebra

In classical propositional logic, proofs are often made using the rules of inference, or using the tableaux and resolution methods. However, there is another way to construct proofs: one that treats logic as algebra.

Approximate a circle with cubic Bézier curves

Bézier curves are often used to generate smooth curves because Bézier curves are computationally inexpensive and produce high-quality results. The circle can be closely approximated using a cubic Bézier curve that is constructed to minimize the radial deviation from a circle.

The egg problem

The egg problem is a classic programming challenge. However, there is a mathematical solution. You can solve this problem analytically, even in the general case with eggs.

Serialize a binary tree in minimal space

The natural way to serialize a binary tree requires bits to store a binary tree with nodes. However, it’s possible to reduce this to bits, with the help of the Catalan numbers. This is the minimal space needed to serialize an arbitrary binary tree with nodes.

Symmetric senary

Symmetric senary is a tiny numeral system which is intended for people to use in their everyday life. It is especially useful for dividing things up in practical ways, and easily estimating things like tips and mileage without ever needing a calculator.

Earth calendar

The Earth calendar is an almost perfectly-regular calendar that tracks the Earth’s climate and constellations more closely than the Gregorian calendar. The same calendar can be used year after year. Every month starts on the same day of the week, and the year is nearly evenly divisible into halves, thirds, quarters, sixths, and twelfths. The weekend comes a day early, without reducing your wages, and you get an extended weekend four times every year.

habjeyug@spencermortensen.com bbzeebbm AT spencermortensen DOT com aiqnqloe@spencermortensen.com alusaqfb@spencermortensen.com email email email moc.nesnetromrecneps@rzxfwviw ysoquums@spencermortensen.example.com