Ask HN: What can we learn from TempleOS?

22 points by charmides ↗ HN
The late Terry Davis's TempleOS has been widely praised in spite of its idiosyncratic features. Could other operating systems stand to benefit from some of Terry's ideas?

11 comments

[ 3.0 ms ] story [ 34.2 ms ] thread
With all due respect to Terry, his ideas were more along the lines of aesthetic choices than original concepts (i.e. language-machines, relative addressing, minimal protection, etc).

In his own words, he wanted a modern day Commodore 64. And God bless him for it!

Other operating systems certainly could. Work from the minimum set of tools you need to create the OS, and allow users to either build those tools they need or have them ready to build quickly. Keep the resolution small and the color depth shallow so that you learn to do more with less, rather than trying to always reach for the newest, latest, and greatest. Build for the oldest possible machine first, and make newer machines to reach back into the shadows of the past. There is nothing on this Earth worth doing which requires the processing power we now possess in our pockets. If you can't do it in 64Kb, I assure you, it isn't worth doing.

There's also something here which Microsoft used to know in the 9x days and has since forgot (because it's not immediately profitable to remember in the current paradigm). The needs of a single-user system are different from the needs of a network terminal. Since Windows 2000, every Windows PC is a network terminal. Since OSX, every Apple PC is a network terminal. Unix-derived OSes have always been targeted at network terminals. In a network terminal, the machine might be used by more than one user; therefore, you can't allow too much customization. The data on that terminal might be needed by another user on the network; therefore you must protect a significant amount of that data and must prioritize system operation over user desire at every turn.

Oh, and one more thing. Stop worrying about profit and trying to hamstring the user. Either create a good, working, product that you stand behind with every fiber of your being... or don't create a product in the first place.

> There is nothing on this Earth worth doing which requires the processing power we now possess in our pockets. If you can't do it in 64Kb, I assure you, it isn't worth doing.

BS. Applications in scientific research easily blow that ridiculous limit out of the water. Your point about single vs multi user is good, but you do yourself no favors by starting off with a bad premise. And lest you say you're talking about personal OS only, that's not what you wrote at all.

Part of the problem with research as it stands is that the software tools have become bloated, and are doing too much at once by having to be "commercial" and profit-motivated. If the tools were being made to do one thing well within a single discipline - or even better, to fit the needs of a single experiment, it is my belief that the processor and RAM loads would drop precipitously. They could go even further down if the tool didn't need to be pretty enough to sell to non-scientists, both in terms of money and of mentality, but rather that these research tools were focused entirely on simplicity of raw data input and clarity of data output without interpretations.

Even in sciences where it shouldn't be the norm, we tend to have "dumb" people reliant on smart computers for interpretation of results, instead of smart people using dumb computers as tools to aid computation.

Frankly, even if you still believe there's reason that certain research scientists would need that kind of processing power and storage at times, that doesn't excuse the fact that the OS should not be taking up that time. An OS should exist to load user programs, allow data access by users and programs, provide a platform for peripheral connections as needed, and otherwise get out of the way with a bare minimum load.

>They could go even further down if the tool didn't need to be pretty enough to sell to non-scientists, both in terms of ... [focusing] entirely on simplicity of raw data input and clarity of data output without interpretations.

Most tools within the sciences that require vast computation power aren't pretty, nor output data in a nice, readable form. What do you think university supercomputers are for? They run extremely stripped-down operating systems[0] designed for a single application & single user.

I'm at a research university (as a student) and I guarantee that most home-grown tools here are not user-friendly, but exist to get the job done. This data is then interpreted in other, more user-friendly programs/environments like Tableu/Matlab/Julia/whatever.

[0]https://en.wikipedia.org/wiki/INK_(operating_system)

I think most of the, informed, praise is for the fact that he did it rather than than for what he did, if that makes sense. As a solo effort it's impressive and made more so because of his illness.

Having said that, I think the two main areas that I've seen praised are the "coding the image" approach he took which has its predecessors in Lisp machines and Smalltalk. Also the pervasive hypertext and embedded media.

Of course, those things aren't especially original and it's not obvious to me that he took them in directions that are especially novel.

On a purely speculative level, what might catch on (though I give it a very small probability) is that TempleOS is a deliberately un-networked OS that gives complete control to the user. It's not inconceivable that, as paranoia becomes the sensible default, more folk will decide that that's a good place to be. I doubt it but you never know.

That creating your own redundant Linux distro based on an existing one for bragging rights is not the only option!
Davis demonstrated that it is possible to build a complete system from scratch that expresses your own philosophy and preferences, no matter how eccentric. He showed you can build a complete system just for yourself with no compromises arising from dependencies on other systems. There is some similarity in motivation with Wirth et al's Oberon system and Kay et al's Smalltalk and VPRI systems, but unlike them Davis was working entirely without professional or institutional connections, all the while beset by demons most of us cannot imagine. Davis showed that almost anyone starting out with modest technical skills and few resources, but enormous focus and motivation and time available, can do what Wirth et al and Kay et al can do.

Davis' work shows the way to a completely different path than the prevailing hegemonic trend to try to build this or that system that everyone will use, that will take over the world. Maybe everyone deserves their own completely idiosyncratic and personalized system that can keep on working for them despite whatever the industry behemoths do. Perhaps an interesting research project might be to try to find ways to enable ordinary developers or even ordinary people to make such personalized stand-alone systems with no dependencies, without requiring years of fanatical single-minded effort.