The road to wisdom/Well, it’s plain/And simple to express:
Err/And err/And err again/But less/and less/and less. — Piet Hein
As a child, I obsessively devoured books on the history of science and technology. They all lied to me. The lie, of course, was a subtle and almost certainly unintentional one. These books painted a picture of a ‘wheel of progress’ which could be counted on to turn strictly forward, however slowly. Except for a token mention of the Dark Ages, none of them let on just how wobbly the ratchet on that wheel really is. I formed the impression that knowledge could never be truly lost, except in cataclysmic upheavals like the ancient barbarian victories or a future thermonuclear war.
I was not fully cured of this illusion until I became interested in programming computers. Like many others, I spent many years immersed in the Microsoft universe and eventually broke free. My escape, like that of others, led me to Linux and a fascination with the ‘Unix Way.’ For several years, I believed that personal computing has languished in a decades-long Dark Age, and that the work of Torvalds and the GNU project were the beginning of a new enlightenment. Then I discovered that software could be capable of a lot more than simply not being Microsoft. And so my quest began.
I am not fascinated with the past for its own sake. It is of interest solely because disturbingly good ideas are buried within it. I have gathered them, mixed in some of my own, and am now ready to cook something delicious.
The Loper OS Project aims to remake computing. I am aware that others have tried and failed. Laughing? The job is not nearly as difficult as it sounds. Much of the complexity found in modern systems software is accidental, rather than inherent. A large portion of my thinking has gone into figuring out what parts of an operating system are non-axiomatic – vestiges from a computational Stone Age which could safely be swept away.
The project has now consumed a nearly year-long stretch of my free time, and I intend to see it through to victory. I have no funding, other than the income from my day job. I have no helpers. And yet I think that I can produce a working demo, in the very near future.
Right now I have very little working code. This is because I have spent much of my time so far developing an understanding of the Lisp Machine systems which inspired Loper, and of the X86-64 architecture – the only consumer-market CPU sufficiently capable for my purposes.
This blog exists mostly for my own eyes. It is intended as a diary, and happens to be public solely because there is no good reason to hide it. Progress on the project has been slow but steady. However, most of it has been confined to the inside of my head. Periodically I peek at my empty repository and suffer a spell of pessimism. The (hopefully at least daily) updates will remind me that the work is inching forward.
If Loper eventually gets off the ground, these notes will serve as a chronicle of my work. If it dies like every other similar effort has, they will sit patiently and wait for someone to pick up the torch.