A Technical Look Inside TempleOS
jones_supa writes: TempleOS has become somewhat of a legend in the operating system community. Its sole author, Terry A. Davis, is a special kind of person, who has a tendency to appear in various places with a burst of strange comments. Nevertheless, he has spent the past 12 years creating a new operating system from scratch, and has shipped a functional product. An article takes a constructive technical look at the internals of TempleOS: installation, shell, file explorer, hypertext system, custom HolyC programming language, and interaction with hardware. The OS ships with a suite of several tools and demos as well. To see the sheer amount of content that's been written here over the years, to see such effort expended on a labor of love, is wonderfully heart-warming. In many ways TempleOS seems similar to systems such as the Xerox Alto, Oberon, and Plan 9; an all-inclusive system that blurs the lines between programs and documents.
This guy hangs out on hackernews, he's... well frankly he's a bit of a religious nut, but he doesn't preach at you or anything (unless you ask). Definitely a work of passion.
Liberty - Security - Laziness - Pick any two.
OS FirstTimer TempleOS
I like that, that's a very polite way of saying it.
Will this operating system be completely free of daemons?
Keep in mind this guy has schizophrenia, the word salads and bursts of inappropriate language are literally part of his illness, so try to focus on his technical achievements rather than take offence to his language.
systemd??
- Prof told me to write an OS and I wrote Linux.
- God told me to write an OS and I wrote TempleOS.
- Devil told me to write an OS and I wrote Windows.
TempleOS has always struck me very similar to the ancient LISP machines, the ones that everyone loves so much. It's such a shame that the OS will forever be held back by its author, as well as some of its more practical limitations (*cough* no sound support *cough*), because it has some very good ideas. It particular, the indexing and documentation system are just overall fantastic; Java is widely lauded for its excellent documentation features, but it doesn't have anything compared to this. The shell is another really awesome idea; a multimedia shell is something that I've actually never considered, to be totally honest, it never crossed my mind. Imagine a shell you could just live in; one in which you could browse your system, listen to music, do your email, etc. all without ever having to leave your coding environment. I know emacs exists, but it's not quite on this level - I wish other operating systems like FreeBSD or Linux had an equivalent.
"Set a man a fire, he'll be warm for the rest of the night. Set a man afire, he'll be warm for the rest of his life."
But why....?
Or is this a different bit of publicity than this?
Is this to be a semi-annual thing?
Lost at C:>. Found at C.
"blurs the lines between programs and documents"
Yeah. So do Word macro viruses and Outlook email exploits.
"...a special kind of person. You know, in that short-bus way."
LISP 1.5 too!
Maybe he just likes calling people niggers?
Only the State obtains its revenue by coercion. - Murray Rothbard
Maybe the WhatWG or W3C could learn a thing or three.
Relevant quote from article, stating that everything in TempleOS runs in ring 0, has no concept of users or permissions:
It's a good thing TempleOS has no network drivers because the system would be laughably insecure on any network.
It's really interesting how people jump in the bandwagon of bashing this because of it's author. But this article really points out things that I wanted to see but I missed from running templeOS, which are the interesting part that it's author created.
It's wonderful to see how when freeing a developer of current constraints of accepted programming practices it can come up with crazy but interesting and admittedly cool ideas.
The DolDoc was particularly interesting for me, mostly in a world where we have HTML everywhere plugged to a VM, DolDoc seems like a different approach (which I'm sure has plenty of flaws) to be considered at least as food for thought for future solutions.
And last but not least, I really respect someone who can do this kind of stuff. Even if I may not agree with his ideas, I'm glad that he spends time in actually creating stuff which is more that I can say about a lot of people.
Yep, that's what we need: more intolerant religion in our lives. Fortunately, we have had Jesux for a number of years now.
In: redneck, US-type religious nutcase. Out: redneck religious nutcase OS.
Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
of how ill this guy actually is. Poor bugger.
Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
An OS, written and supported by one programmer, not a great start. But with a custom programming language? Oh hell no. I've seen what happens when you create a custom C-like language for a system, and I was glad I didn't have to support the legacy project that used it.
GP wishes the existing standardisation bodies would do a better job with their standards. I agree.
... some of what his OS does is miles^Wlightyears ahead of the big boys.
No, I wouldn't want to depend on his system for my daily getting around with the digital needs. But that doesn't change that it's a pretty cool thing, perhaps moreso for having been written by a "redneck religious nutcase".
No memory protection, run everything in ring 0?
Great, assuming I am a perfect programmer, and only ever run my own code.
This only works at all because there is no networking support and no third party applications.
So, looking at the list of "What can we learn if we are only willing to listen?"
Installation - Installation is quick and easy. Boot completes in a second.
Because there's no hardware support, there's little to initialize. Since everything runs at ring 0 (essentially, in the kernel) there's very little to process management. Calling this a plus is kind of like saying cutting off your legs is a great way to lose weight.
You can make an argument that feature-bloat is a bad thing, and that simplification would be valuable to users, but this is not that argument.
Shell/File Explorer - why would I *want* a custom, c-like, language for my shell? The shell is where I launch things, or do quick and dirty scripting at the most. If I want to develop applications, I'm happy to open a separate dev environment, if it means I don't have to apply C syntax to every command I run.
Hypertext - It looks like a reinvention of
Hardware and Security - none and none. You cannot spin this into a positive.
This really looks like one of the earlier versions of Smalltalk: everything available from top level, no memory protection, lean over too far and you'll fall off... It all feels almost exactly the same.
If UNIX were written in Smalltalk-80, this is what it would look like.
> " * God said 640x480 16 color graphics is a covenant like circumcision. Children will do offerings."
I wonder exactly what type of "offerings" children will do?
And the word "circumcision" used in an OS' technical documentation... Yikes!
Are we taking about nibbles and bytes of bits of hard drives and SCSI ports?
Political correctness is really just herd psychology pushed by insecure people who desperately seek social conformity.
This is the new name of Losetheos.
(As in, "Lose the Operating System").
Kriston
Yep, that's what we need: more intolerant religion in our lives. Fortunately, we have had Jesux for a number of years now.
Heretic! I demand you run Jesuix instead!
First I have to say I'm pretty disappointed in Slashdot commenters today. I was hoping to have a nice discussion of some very cool ideas, reminiscences of work with smalltalk or LISP, but sadly most people are just talking about the man and his illness. Too bad. Few of us, inspired by God or not, could have coded something as complete as this is. Temple OS's concepts really make me think. When I was a teenager I dreamed of an OS that would blur the line between code, programs, and data. In some ways I envisioned a system just like he designed. Where code is live as you write it. Instead of programs, you'd have just data, and code to operate on the date. Just like his idea of embedding pictures in anything I thought why not treat all forms of data that way. Instead of a word processor, you just have frameworks that operate on text objects already native to the system.
Some of these ideas are similar to, I believe it's called, squeak, which is a smalltalk environment that is completely live and modifiable.
In some ways TempleOS (if it could be adapted and modernized) could be the learning tool to really get young hackers excited about building things on their computers. Having a live compiler jit'ing code on the fly as I type it sounds very cool, especially since it accesses the whole system, and becomes a part of the system as you code. And his programming language looks very interesting.
As cool as it is, I think it would never fly in the real world because almost all people don't want computers to work that way. They don't want to create abstractly with them, but just use them as appliances to do some task. Which is sad but understandable.
and i hate hate hate that because of it, when a program installs, it has to send cruft all over the freaking drive instead of, in a nice and orderly fashion, just pack all of itself into one self contained folder. i would literally fall to my knees and fellate myself if i never ever had to wonder where a config or settings file was stored ever again.
especially these days, computing is cheap. i daresay that those who have to share the computer with a household is outnumbered by those for whom the computer is genuinely PERSONAL.
and other reasons for putting .dll and files everywhere, like to save disk space by sharing resources... gah - disk drive storage is ludicrously cheap.
howabout we chew through some resources so that we can have a sane, intuitive computing environment?
The sexual preference of the cake doesn't matter because no matter its beliefs, you cannot have it and eat it too.
Sounds like you didn't actually read the article, or understand what it said. Of course the OS is not for you. You're either not a programmer, or else you're not a programmer who's been exposed to some of the really cool ideas of the past like Smalltalk and its IDE, or LISP machines. Perhaps you would not think of anything to learn from them either.
From a programmer's point of view a shell/file explorer that's integrated the way TempleOS's is is way cool, even if it's not useful for normal users. Sure C is awkward as a shell expression language. But it's still a super cool idea (even if impractical for most computer use today).
No, his hypertext format is definitely not a reinvention of docx. Reread the article. It's more like a more flexible version of the old MS .doc format actually, which was just a serialization of in-memory OLE structures, which was part of why doc files have always been so hard to read since the OLE objects themselves were always changing as MS worked on Office.
Actually, as it presently stands, his OS is very secure indeed. It's literally impervious to remote exploits, and you'll never run any insecure software on it because odds are if you ran it its only his software or your own. Sure if it ever became network-oriented it would be a huge problem. That's not the point, though.
You're absolutely right that TempleOS will ever find its way into any sort of mainstream use, obviously. But that's not the point of the article. The point is that this is a monumental work for one person, and that there are some really cool ideas that maybe we could learn from. Such as the blurring of a text-mode shell (a la bash) and something more graphical. The idea of embedding diagrams and documentation hyperlinks in source code is genius (and automatic ones at that), as are his annotations for struct members. Having a living coding environment is also very good. I would guess that if an environment like Visual Studio implemented this (kind of like Quick Basic 4.5 had back in the day; it compiled on the fly), programming in C or C++ would be almost as fast as Python since you could test and tweak individual functions as you wrote them. They would become live and callable as soon as you syntactically completed them.
So I think you missed out on a few things that we really can learn from TempleOS. If TempleOS had a few more features and dropped the VGA-only interface, it could be a very fun learning platform for programming and system concepts. In fact I think TempleOS could itself be made into a standalone, self-contained application for teaching programming. Would be similar to Squeak or Logo. Limited in scope but a good teaching tool.
It may not be popular with the fans, but the idea that an OS should be built on the idea that everything is a byte stream (like Plan 9 or Unix) is a pretty poor concept. Byte streams are completely unstructured and give nothing to various apps to use a a common baseline for functionality. No wonder everyone installs a relational database to make real use of a computer. Now if an OS was built on something like an object database, now THEN you'd have in interesting basis for an experimental OS.
There's nothing inherently wrong with wanting or needing medical benefits; no one is getting anything for free. It's paid for -- or not -- by insurance. The insurance company can set rules about what they'll pay for, of course. Usually what happens is that one either sees a therapist and gets a letter certifying the condition, or you can sign a waiver that says essentially, "I understand the consequences of what I'm doing," and get a prescription for hormone therapy from a doctor (who can of course refuse to give such a thing). There are guidelines for gender therapists, published by an organization called WPATH, and I believe said documents are available online. Insurance companies can have further restrictions on what they'll pay for under what conditions, but hormone therapy is not appreciably more expensive than birth control.
There are fewer laws about gender than you seem to think, and the concept of gender equality has led to a trend of eliminating these distinctions. It's not illegal to be male, female, transsexual, or a polka dotted leprechaun. The biggest legal issues currently are with public restroom access. Clearly all males would run rampant raping restroom users if unisex bathrooms existed, but perhaps we can work on a system of highly visible tattoos to work out who gets to go into which bathroom.
There has been serious research and argument about criteria for transsexualism, but it hasn't really come to much. The WPATH guidelines are closest, but studies are hard to do for a number of reasons.
Transsexualism clearly wars with your ideas about gender. There's very little about how our society treats each gender that is in any sense logical, and fundamentally gender isn't something amenable to logic. We don't have to have a legal standard to cover someone's weird ideas about gender, we just have to have gender equality. Our societies haven't been terribly good at that to date; your confusion is normal. However, the fundamental issue is, if someone is going to stand up and say that they are a certain gender (and go through a kind of hell that I am beginning to doubt you can imagine (no offense intended) to be treated that way), then who are you to tell them differently? If you're not planning on having sex with some person, does it really matter what equipment they have or how they think of themselves?
The good news is, no one is interested in having people hurt themselves, and essentially the "safety check" you want exists. Further good news is the legal situation is not terribly complicated either. Between gay marriage and Title IX, we've been heading that direction anyway. And you may be pleased to hear that the therapies aren't terribly expensive either, even expensive plastic surgery (which would generally be paid for privately) pales in comparison to, say, cancer treatments. I think that probably with enough news stories like the ones you mention making people aware that the issue exists, things will probably work themselves out, with gender neutral public restroom facilities becoming more common over the next hundred years or so.
For the record, gender identification disorder aka gender dsyphoria is in the DSM, so it probably counts as a pathology, but the consensus is that the only morally and medically accepted treatment is hormone therapy.
Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.