From time to time in conversation I mention stuff on the web I’ve found particularly thought provoking – sometimes I remember to follow up with a URL, sometimes I forget.

So this is an attempt to round all those links up into one place with an easy to write URL …

(updated whenever I think of something)


Computing History


Simplicity in Programming

Some time around the dawn of computing, Chuck Moore developed the Forth, a language so radically simple it’s hard to be sure it’s even real. He used Forth to develop some VLSI design tools for creating microprocessors. Normal VLSI tools are incredibly complicated and expensive, and can be used to design sophisticted CPUs like the Intel and ARM devices we’re used to.

Chuck’s Forth VLSI tools are too limited to be used to design a sophisticated CPU, but Forth doesn’t want or need those features anyway. If a CPU is capable of running the design tools which designed it, isn’t that enough?

From My history with Forth & stack machines:

To me, VLSI tools in 500 lines [of Forth] qualify as a superpower […] I showed Chuck Moore’s description of [his VLSI tools] to an ASIC hacker. He said it was very simplistic – no way you could do with that what people are doing with standard tools.

But Chuck Moore isn’t doing that, under the assumption that you need not to.

Simplicity begets simplicity, if you let it. What complexity are you introducing just to support other complexity?

More references:


Rats and Zombie Ants