A Constructive Look At TempleOS
codersnotes
Links:
About Me<br>Who is this madman anyway.<br>Fiction<br>Sometimes I write things.<br>Technical Writings<br>In which I complain loudly about computers.<br>Very Sleepy<br>A C++ CPU profiler I helped make.
Follow me:
Subscribe (Fiction)
Subscribe (Technical)
Follow me at @grumpygiant
Recent posts:
Why Build?
Bitcoin
What The Hell Was The Microsoft Network?
Sandcastles
In Search Of The Lost Program
Anger That Burns Without
Something Rotten In The Core
Little Lightmap Tricks
Why Command And Vector Processors Rock
The Danger Of Opinions
The Nor'easter Rises
Disassembling Jak & Daxter
Converging Towards Disneyland
HumanCon
The Pixie Sleeps
Learning Via Bullshit
Beating The Compiler
The Illusion Of Controls
The Challenge Of Making Things
Untonemapping, and other stupid tricks
See the archives above for more.
A Constructive Look At TempleOS<br>June 8th, 2015
TempleOS is somewhat of a legend in the operating system community. Its sole author, Terry A. Davis, has spent the past 12 years attempting to create a new operating from scratch. Terry explains that God has instructed him to construct a temple, a 640x480 covenant of perfection. Unfortunately Terry also suffers from schizophrenia, and has a tendency to appear on various programming forums with a burst of strange, paranoid, and often racist comments. He is frequently banned from most forums.
This combination of TempleOS's amateurish approach and Terry's unfortunate outbursts have resulted in TempleOS being often regarded as something to be mocked, ignored, or forgotten. Many people have done some or all of those things, and it's understandable why.
TempleOS after it has booted up.
I'm reminded of a movie I once saw called Lars And The Real Girl, in which a man buys a RealDoll and treats her as his real girlfriend. Rather than laughing at him, the residents of his town instead band together and treat her as if she were a real person too. When I started watching it, I expected some Will Ferrell-esque comedy where this guy would be played only for laughs. Instead, I found an incredibly compassionate story within. The writer, Nancy Oliver, got the idea after thinking:
"What if we didn't treat our mentally ill people like animals? What if we brought kindness and compassion to the table?"
There are many bad things to be said about TempleOS, many aspects of it that seem poorly constructed or wouldn't work in the "real world". I'm going to ignore them here. It's very easy to be negative, but you will never learn anything new by doing so.
Many might consider TempleOS a waste of time, compared to more fully-featured OSs such as Linux, because it will never have the same success. Plan 9, developed by Bell Labs, was a research OS designed to be a successor to Unix. Despite some big names and big ideas, it was never any kind of commercial success. Was Plan 9 therefore a waste of time? Many would argue not, as some of its ideas have since found their way into other products.
Perhaps we should instead look at TempleOS as a research operating system: what can be accomplished if you're not locked into established thinking, backwards compatibility, and market demands.
What can we learn if we are only willing to listen?
Installation
Installation was incredibly painless. The supplied distribution acts as both a LiveCD and hard-disk installer. Hit 'Y' a couple of times and you've installed it. It installed faster than Ubuntu does.
Booting Windows this morning, I can't help but notice how long it takes. And even when Windows 'appears' to have booted, it doesn't actually become properly usable for perhaps another minute. If you listen, you can spot the point at which usability is declared because Windows plays the startup sound to indicate it.
TempleOS boots off hard disk in 1 second. There is no paging, so it is instantly usable.
Shell
TempleOS has its own programming language, HolyC. The whole operating system is written in it, except for x64 assembly in the lower-level parts. Perhaps unexpectedly, the same language is also used for the shell. That's right, you execute shell commands using a C-like language, and they go directly into the compiler.
Every filename printed in the shell is a hyperlink. You can right-click to get a context menu on each one.
There is no built-in calculator application, because the shell itself is one. Just enter 5+7 on the command line and you'll get the answer. You can even go further than this and use the shell as a REPL to build entire programs in.
You have a menu file which sits in your home directory, and it accessible at any time by hitting Ctrl-M. By editing this file, you can create any kind of launcher you wish. Most files auto-save on exit, but this one does not. This means you can also use it as a popup scratchpad.
TempleOS has system-wide autocomplete. You can hit Ctrl-F1 at any point and get a list of completable words. Not just filenames, but also symbol names. All...