80 comments

[ 4.6 ms ] story [ 148 ms ] thread
I'm not sure I understand what's going on there ?
(comment deleted)
it's a very deep rabbit hole
Funny you put it that way. There is a good youtube video about it.

https://www.youtube.com/watch?v=UCgoxQCf5Jg

I would advise against supporting the author of this video in any way.

Maybe he is not consciously doing this, but these "down the rabbit hole" videos put a giant target in socially awkward or "unstable" people who are then flooded with trolling or abuse from some of the people who watch them. I'm sure that this video was a reason for the torrent of trolls that started engaging with Terry Davis before the end of his life and contributed to his deterioration.

Youtube Terry Davis. There's a thin line between insanity and a genius.
you could say they often overlap
I suppose one could say that, but it would not be supported by evidence. This is just visibility bias. Sane geniuses aren't loud.
I really miss reading Terry's comments here. He was the single reason I turned on showdead - they weren't always insightful and were often offensive, but they were always an interesting view into his mind.
You can find them here: https://news.ycombinator.com/threads?id=TerryADavis

(small warning: he was very rasist, but because of his illness it is hard to tell if he could do something about this)

It only goes back to 2015, and replies on his oldest comments seem to imply he was known on HN before then[1]. Was there another account?

[1] https://news.ycombinator.com/threads?id=TerryADavis&next=926...

I've never seen evidence he was racist or homophobic.

I never saw any evidence he used nigger or faggot against black or gay people, or was using it because he thought less of black or gay people.

See more on Wiki, and quite frankly it would mess with the language identification programs the 3 letter agencies will be running on HN -

https://en.wikipedia.org/wiki/Terry_A._Davis

This has been discussed many times in the past [1].

tl;dr: The creator was a brilliant programmer who experienced a psychotic break late in his life, which led to chronic and severe schizophrenia. He killed himself in 2018.

[1] https://news.ycombinator.com/from?site=templeos.org

IIRC he was an active reddit user as well, so there are many discussions over there as well
Oh, I wasn't aware of his passing . . .

According to his Wikipedia page #1) He passed away August 11, 2018, just the same day he posted his last video on YouTube (the same as included on his TempleOS home page): https://youtu.be/oH41gGBVpkE

His Wikipedia #1) page says the following about his passing: "Investigators could not determine whether his death was suicide or accidental, although the train engineer believed his death to be a suicide. The police report stated that Davis was walking with his back toward the train and that he turned around before the moment of impact".

Bless his soul!

#1) https://en.wikipedia.org/wiki/Terry_A._Davis

Here are (some of?) his HN accounts: https://news.ycombinator.com/threads?id=TerryADavis, https://news.ycombinator.com/user?id=TempleOS

Warning: not for the faint of heart - banned for obvious reasons.

>Warning: not for the faint of heart - banned for obvious reasons.

I lived through it - on 4chan, reddit , and HN.

It's still not obvious to me why he'd be banned, I don't think you should hand wave it that easily.

The guy had mental issues, but he had some amazing lucidity at times.

If I owned a movie theatre or restaurant I surely wouldn't ask someone with vocal tourettes to leave the establishment, and if I did i'd be ostracized all over the media and community -- so it's not as clear to me as you seem to think it should be why he was treated the way he was on the various forums.

I get that he said abrasive and racist comments routinely; but I think there is something to be said about the fact that his voice was routinely listened to and considered on 4chan's /g/, and routinely sequestered and removed on HN and reddit. 4chan turning their attention to him wasn't a good thing, nor is it usually ever, but that forum did give him a place to talk without fear of bannings, karma struggle, deaded comments, whatever.

Treating someone as good as they are treated on 4chan is a low bar. Back then the HN method of constant deading and shadowbanning felt heavy handed and unneeded; we're supposed to be adults who are aware that mentally ill individuals exist in real life and here on HN, but the way it was dealt with was by silencing an already schizophrenic person so that the 'normal' crowd could go on with business as usual.

I can't think of a more head-in-the-sand response, and I'm not even saying that it wasn't a required action to keep the forum discourse on some level of civility , but boy does what happened to Terry make me feel nauseous -- the same kind of feeling I get in the pit of my stomach that is usually a sign for me that I am witnessing something morally uneven. I don't know the solution, nor do I claim to. I just feel bad about what happened.

As someone who chatted in emails with him after his bannings, I still feel bad about his treatment and demise, and I miss him and his technical insights immensely. I think he got a poor run of life, and I wish that more people had been supportive of him, able to filter out the profane for the insight -- especially since he became fascinatingly technically capable and astute when spoken to personally with your 'vocabulary filter' on.

Terry was an individual by which most mistook his trees for the forest -- and I'm glad to read in this thread that I'm not the only one with that positive sentiment towards him and his memory.

Please don't say he killed himself when it wasn't confirmed
(comment deleted)
AFAIK, TempleOS seems to be the only operating system running everything in supervisor mode.

I wonder what would happen if we can find a way to build software protection in supervisor mode, ditching user mode and associated context switches.

MS-DOS did the same, as do most embedded OS's today. Separate address spaces are definitely needed these days in order to avoid Spectre vulnerabilities, but that's only an information disclosure concern.

Ideally, OS's would explicitly support information protection domains (after all, this is already a feature in some niche, specialized OS's) and only sensitive info/data would be protected by a switch to a different protection domain. Most user tasks which deal entirely with non-critical data could simply run in a shared address space.

> Separate address spaces are definitely needed these days in order to avoid Spectre vulnerabilities

That's nonsense! Separate address spaces have nothing to do with hardware vulnerabilities. The MMU uses address spaces to isolate processes from each other, which is required for proper multi-tasking.

If you don't use process isolation, every task can overwrite the heap and stack of every other running task (including the OS kernel and drivers!). Information disclosure (in this context) is only relevant in virtual environments, where multiple tenants have to be strictly isolated from each other and affects (hardware) VM supervisors.

It's a different topic entirely.

> If you don't use process isolation, every task can overwrite the heap and stack of every other running task (including the OS kernel and drivers!).

This is not a concern if all code is rigorously checked for memory safety which is quite feasible in principle, and possibly already the case for some uses of WASM/WASI. (Native binary code would need to be annotated with low-level proofs, to be checked by the OS.)

Right. That's why no sandbox has ever been broken... So no. WASM relies on process isolation like every other system.

It's impossible to automatically check memory safety at compile time as that implies solving the Halting Problem.

Runtime checks would need to rely on the compiler enforcing these checks in the RTL. This, however, can easily circumvented using return-oriented programming (remember: you don't want the MMU to protect stack spaces).

No amount of software-based sandboxing or compile-time checks can effectively prevent non-isolated processes from accessing and corrupting each other's state. That's exactly why MMU were introduced in the first place.

Experiments using Software-Isolated Processes like Microsoft's Singularity [1] rely on complete toolchains from OS kernel to "safe" languages and runtimes and are not suitable for every requirement (e.g. hard real-time becomes near impossible).

The SIP concept also just shifts the burden of proving correctness from app and system developers to compiler and toolchain developers and we all know that those guys never make mistakes ;)

[1] https://www.microsoft.com/en-us/research/wp-content/uploads/...

I agree that current sandboxes and even current compilers/toolchains do not provide these rigorous guarantees, as of yet. WASM/WASI is however quite simple, and could thus be up to the challenge. It's certainly simpler than MS's Singularity approach.
Singularity just was a PoC, though. I'm not saying it can't be done, it's just not practical for every use case.
> It's impossible to automatically check memory safety at compile time as that implies solving the Halting Problem.

For the general case, yeah. And while I agree that I would not remove process isolation, I think they have a point about "almost guaranteed to be safe" languages could be potentially used without isolation (not with zero risk, of course).

> If you don't use process isolation, every task can overwrite the heap and stack of every other running task

We have a lot of modern languages that are memory safe at least in theory. However quite a few rely on the OS using these safety features in the background. For example the Java Runtime uses segfaults to catch null pointers instead of actively checking for them, at least as far as I remember.

Agree this is interesting, and user mode looks like legacy for some major domains.

For example, if you are building a grid computer, you don't need mechanisms that were designed to protect university students from one another. Consider if everything is driven from a single codebase. Your type system can provide protections that have traditionally been done by the kernel.

I am currently playing with this. Have a boot loader up, and a handoff to c++. Today I am looking at page-management.

There are some interesting trade-offs that come from unconventional approaches like this. For example, I have read that if you make SIMD registers available to the kernel, it hurts the performance of context-switching. (https://os.phil-opp.com/minimal-rust-kernel/)

A mitigation I am considering: do all interrupt handling on one core, and then have all other cores for work-processing. Use channels to communicate between the burnt interrupt core and the worker cores. Downside of this: worker cores would need to poll for new messages. In low-activity periods, I could slow the poll interval. I would be interested to hear from anyone who has gone deep on this, or knows of papers.

Technologies such as DPDK are designed to get the kernel out of the way. For some applications it has no reason to play a part once the system has booted, it's just an overhead.

For what you're doing I recall reading about IncludeOS[1] which seems to have similar goals

[1] https://www.includeos.org

Thanks for the reference to includeos. They do seem to have built something in the spirit of what I have been looking into.
Rest in piece King Terry you'll always be the king of the.... CIA and the cattles. You will always be the best
I didn't realize he died. It's a real shame that his illness had control of him.
He didn't die because of his Schizophrenia in case you think so. He got hit by a train because he was walking on train tracks and didn't see it.
It was indirect cause though, if it wasn't for his schizophrenia, he probably wouldn't have become homeless and aimlessly wandering through the states which is when that happened.
Was that sarcasm? A person without schizophrenia usually does not walk on train tracks and in case they do, they usually are aware that trains can pass by. So now while also other people sometimes get hit by trains, in his case his mental condition might be related.
So why was he walking on a train track? Is this uncorrelated to his diagnosis?
Some time ago I published four small articles[1] about templeOS. Unfortunately I had less time to deal with this OS. I can only guess that you should have a look at this OS. If you ignore all the religious information you can experiment a lot. Even though Terry was very ill, I have an incredible respect for what he did. There are not many people who have put their own OS on its feet and even implemented very unusual ideas of their own. All this running on ring 0 is pretty exciting.

[1] https://alligatorbrowser.github.io/voidnill.github.io/a/a32....

Oh, cool. I saved this to my templeOS notes.

I've been thinking about writing a technical analysis of TempleOS, in the style of the the Xinu OS textbook [1]. No strong reason for doing so, though it is curious how much more one could learn about him by identifying patterns in the code and OS structure.

It will probably take me a while to recover from my current burnout to look at a holy-influenced C dialect, though. A venture into the library of babylon requires preparation. So, I'm just passively collecting writings that already exist, and the likes, like you just posted. I'm on the #templeos IRC on irc.rizon.net, if you would like to chat sometime. It's pretty inactive, with sprinkles of relevant conversation occasionally.

1: https://xinu.cs.purdue.edu/#textbook

I can totally understand why this is a constant source of fascination for programmers. It's a one possible answer to the question "What would I do if I was stranded on a deserted island with a working computer but no OS?". We use all this software developed by other people, and many of us wonder how much of that we could make ourselves, given enough time.
There are many great ideas in his OS and programming language.

One idea I miss very often while programming: embed info like pictures in your code (as comment).

It would be great to add flowcharts, diagrams, screenshots into code as comments (an IDE could collapse this as needed).

Does anyone know if there are languages that also can do this?

I sometimes embed plantuml diagrams in comments; your IDE of choice might have a plug-in to render the diagram (Jetbrains IDEs do)
Ah wow, I never heard of this. Just installed PlantUML into Jetbrain's Rider and it works great.
Seems like this could be achievable in any language with a special doc comment notation that supports image references similar to Markdown.
Doc comment notation is not a language concern. You could simply start writing Markdown with image references and if your documentation generator supports it and can resolve these refs, they'll be included. A different approach is to use a literate programming tool like NoWEB in which case the code is included as part of the documentation, and extracted separately.
You could probably embed images in language comments as base64 and then have a plugin for your favorite text editor that renders those (which would probably be easily achievable with Electron-based editors, not so much in others). Even then, that would be a bit of a pain in the ass since other people would just see long strings. I don't think I can name a single language/technology that does it out of the box though.
This actually exists in Racket and the DrRacket IDE for it. You could actually even use images as variable names, so back in school there was a funny lesson where the professor used the image of a sailboat as a variable name everywhere and joked "why wouldn't you be able to?"
I think this is an extension of the idea behind "literate programming," whereby the program code is just a part of a larger text designed for reading by humans in the first place. (This is opposite to embedding comments in code.)
I think there's a real lesson to learn from Terry which was perhaps magnified by both his personality and this community. The truth is that there are people all around us that suffer from various degrees (and types) of mental illness. Some are undiagnosed while others feel they need to hide their diagnosis due to shame and/or public stigma. I appreciated that Terry didn't hide who he was, nor did he shy away from saying what he thought. As pointed out elsewhere on this thread, some of his comments could be offensive while others could be brilliant. What we can learn from Terry's contribution here is that, we don't know what demons others here are fighting and sometimes tolerance can be a very charitable gift - not tolerance of abhorrent comments but rather tolerance of the individual.

RIP Terry!

IMO your comment (and others) show to me why privacy is such an important thing.

Shame is one thing, and IMO already reason enough to want privacy but one could argue that it's debatable.

Being bullied, however, (as stated in another comment) really shows why privacy is needed. Even if you get all the praise in the world, if you get too much negativity, one can die from it (most likely indirectly). I find it very harsh and unfortunate to say, but this seems to be the case. While everything is debatable, I could imagine that not everyone thought about this particular reason (I haven't nor have I ever read this from privacy advocates) and find it a more compelling reason to uphold privacy.

The most sad part of Terry's death is that he became the object of fascination and obsession of a forum of internet trolls who actively worked to make his life worse. I think he was off his medication and homeless at the end of his life, due in part to the goading of the trolls.

I was interested reading Terry's posts and thoughts, and spent some time playing with TempleOS. Unfortunately some people couldn't leave him alone.

I personally interviewed Terry and delivered a care package for him in '18.

I am Kenneth from the BBC interview: https://www.bbc.co.uk/programmes/m000b4r3

Things were pretty much on a downward spiral after 4chan funded his drum set: Terry got kicked out, and then Terry's van got impounded along with $1000 of a lot of electronics. Once he was homeless living in CA, people thought (and rightfully so) that he would die on the streets. It's such a shame what happened, honestly. 15+ years of social isolation and events in his past ultimately led to his downfall. His death made me very distraught, especially after meeting him in person months prior. Meeting him left a profound effect on me because he was so appreciative and seemed mentally sharp when he engaged with me.

I read and watched a lot about the story since this post.

It's a very sad story on many aspects and likely controversial (giving him publicity, contacting authorities, ignoring him, banning him, etc); all these actions had consequences and forged his mind this way.

I wish more people would support him and his family instead of encouraging him in his dementia.

This software is certainly good food for thoughts, not just about computers, but life in general, so it could be worth including it in some sort of museum.

What happened with the drum set?
People from 4chan donated money for a drumset. He got the drumset and then his parents kicked him out because of the noise.
Make sure to check out Shrine (based on TempleOS) that adds networking and many other things.

Website: https://shrine.systems/

Source code: https://github.com/minexew/Shrine

I ask out of curiosity, not dismissiveness: What is the goal of this project?

Without context, it strikes me as somewhat akin to adding details to a Picasso. The reason I'd use TempleOS is to get a peek into Terry Davis's mind, so what happens when someone else adds networking support?

Is it seen as a research project? Just something fun to play with?

I don't know, I'm not the author, just something I remember seeing related to TempleOS, I'd guess just a hobby kind of thing, we're on _Hacker_ News after all, so tinkering with technology just for the fun of it should be the priority.
I kind of get it. TempleOS seems like a pretty cool project, and making it into something suitable for actual modern use sounds fun and ambitious.
(comment deleted)
(comment deleted)
I was just wondering what happened to this guy since I rarely saw his comments anymore. Didn't realize he was well known outside of this forum
Rest in peace Terry, you were gods programmer.