uScazima*


Retired: Stoker, Worker, Warehouseman, Musician...

Do The Math

Published: April 26, 2026

$$\huge S = \sum_{i=1}^{n} \frac{x_i}{N}$$

Above is a “fairness” equation. I will leave you to research that. Unsurprisingly, for a world that has turned out to be as unfair as ours is, it is not for a shortage of written words and mathematical formulae.

My coming point, is that software has “marked time” (remember the old SADF “keer die pas”?) for half a century. In a country where we wail about literacy and maths literacy, it should be scary that even the mighty USA, (the mighty China? We don’t know if they have come up with math-savvy HTML) and the mighty wherever else, have not advanced further than one man’s design for math typesetting in software. Almost everyone who tried seems to have ended putting a wrapper around LaTeX. Long ago, I thought that, Since math symbols come from Greek, UTF-8, would replace LaTeX, but it did not happen.

But, you may say, the equation above is rendered in HTML (I can hear Jeremy Clarkson’s voice asking “How hard can it be?”), but, actually it is not rendered in HTML. It is rendered by a procedure which uses Dondald Knuth’s TeX program to produce an image that HTML then claims for its own. Duh.

And now, you it should be clear where I am headed: a lot of what we call software progress is for consumers to do not much, although I agree it is very pleasant, and I am a very happy consumer. I would just like to stay real: and the reality always is revealed when we ask ourselves how our lives are improving.

WEB did not always mean World Wide Web. Rather, it meant ’literate programming’, which flipped ‘coding’ on its head. Traditional coders write code, scattering comments in to aid non-geek mortals to understand. Literate (WEB, not www) coders wrote prose and illustrated ideas with code, like this:

A module may contain one or several commands. As a consequence, the preceding and following examples of “programs” appear in the form of procedures (commands), and we will always assume that they are embedded in a module importing two service modules Texts and Oberon and containing the declaration of a writer W for output:


MODULE Pattern;
IMPORT Texts, Oberon;

VAR W: Texts.Writer;

PROCEDURE command*; (*such as Gcd*)
BEGIN … (*using W for output*) …
	Texts.Append(Oberon.Log, W.buf)
END command;

BEGIN Texts,OpenWriter(W)
END Pattern.

A few more comments concerning our Gcd example are in order.

The full version of that code could be compiled, right there in the text, by middle-clicking a moust on the first (MODULE) line of code. Meaninng, you did not (as with other coding practice) have to leave the written page to move to another window to compile. It was all on the same page.

Literate programming worked for Donald Knuth. He wrote TeX, the program powering LaTeX in Pascal, out of which came Oberon, and that was a living example of literate programming: writing illustrated with interspersed code. Without LaTeX there would not have been HTML, which is an still improving re-write of LaTeX, but for screens, not paper. It must have worked for him, because TeX is one of the few examples of a program without bugs. So much so, that Knuth famously offered to pay anyone a hex dollar for a bug. A hex dollar is 256 cents, or USD2.56.

While LaTeX is all that it is cracked up to be, it is not for everyone. It enables skilled people to finely typeset books manuscripts, maths and music to a standard that only very expensive Suites of subscribed-to programs have achieved, and it did it for no cost. Its creator was, in fact, against software patents. Like his contemporary, Niklaus Wirth, the creator of Pascal, still the best teaching language for computer programming that there ever was, Knuth liked simplicity, and his literate programming depended on Pascal. To prove that ‘simplicity’ point, the following plain text:

\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}

containing no special characters, renders in LaTeX as:

$$\huge \int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}$$

it is just plain text simple characters, passed through a programl

Neither HTML nor CSS can do that. Not without the help of Donald Knuth’s TeX program, written in 1978, long before there was an internet. Even today, there is nothing else other than LaTeX that can render this:

$$\huge \phi = 1 + \frac{1}{1 + \frac{1}{1 + \frac{1}{1 + \dots}}} $$

So, there we are: my point is: software,since Donald Knuth and Niklaus Wirth has been a digression. A very happy one, which we all enjoy, but the age that both Knuth and Wirth grew up in was that old world peacetime, where you worked hard enough, saved enough, and did well enough, to own a home, a car, and school your children to do better than yourself.

Mine have done better than me, but I hope things improve for my grandchildren.

Wikipedia says Knuth took time off the write TeX. Unsure whether or not this was paid or unpaid time off, I can relate: sometimes what is availabe is so poor that one is driven to just fix it at any cost. At 81, I have ’time off’, but I don’t know how much. Nevertheless, our current version of so-called democratic government is so compellingly useless, that I will begin re-designing civic systems in with the same aims as both Knuth and Wirth: bug free and simple. The journalist motto KISS, in design terms, is:

Among competing hypotheses, adopt the one with the fewest assumptions.

Good old Occams’ Razor!

Civil services nearly everywhere are true postal era systems. They worked, but the essential difference between people and computers is that computers do things 32000 times faster than a human can, especially reading and typing. But computers don’t dig ditches, drains, or build bridges, and those three things, properly done, are the basics of modern civilasation. You won’t find many of them in Alexandra Township, although it is in the borough of Sandton, which has lots of all three.

Why can’t we do the simple, obvious things?

Last note

LISP was the original AI language. It amuses me that the two software rock-stars I celebrate in this article have names ending in ’th’, the same two characters that lisping speakers pronounce when trying to pronounce the letter ‘S’, or the voiceless alveolar fricative (sibilant ‘c’).

The thweet thound of thuktheth.