A Week with Plan 9
thedorkweb.substack.com
thedorkweb.substack.com
I don't know if the Go releases are still done on Plan 9, but it seems likely that's still an active use of the OS.
Iirc Russ Cox ported Plan9 userspace to Linux when he moved to google, somehow out of frustration. Thanks for that, using acme on Unix is like a hot summer late afternoon fresh beer. Or whatever fresh beverage of your fancy.
p9p acme does introduce multi-line tag displays, though, which is hugely convenient when I want to keep track of lots of line numbers or hold a bunch of Edit commands.
If I had a need for it, or could justify the cash, I'd get one just to play around!
In the end, the workstation was so completely fused to the printer I'd end with a car-sized workstation.
It pre-dates Go by a bit for sure, and Go was already underway at Google with Rob Pike before Russ came over (per my recollection).
That said, I too use plan9port, on my mac, for Acme mainly.
Russ just fixed up the thread library so it works more uniformly (and correctly) on all platforms - including Apple Silicon.
For one thing it's extremely mouse-driven, which is already disqualifying in my book but to each their own.
The whole "anything can be a tag and you can execute it by clicking the middle mouse button" can seem novel and exciting if you've never used Emacs, which did the whole "everything is configurable and scriptable" a long time ago and IMO better.
Then the lack of syntax highlighting is pure elitism in my book. I tried to give that a chance but when you listen to the arguments of its proponents it often boils down to "colors are childish" and "books are black on white and we read those just fine" which makes complete sense unless you think about it for two seconds.
I genuinely don't get it. When I first read a Vi(m) tutorial it seemed esoteric, complicated and weird, but I understood why some people found it more efficient that way. Watching somebody explain acme reminds me of TempleOS, filled with weird idiosyncrasies of dubious usefulness while lacking super basic features.
Now I wanna see a B&W syntax highlighting setup that uses all the tools available to a book. Font sizes, bold/italics, the use of display fonts here and there, including Comic Sans to highlight Really Bad Ideas...
I dropped syntax highlighting a few years ago. My thoughts on it are not "colors are childish" and "books are black on white and we read those just fine." I don't like the computer trying to convey what is important in my text files to me via color. What I think is important and what the computer thinks is important is often different. Then why don't I configure my syntax highlighter to agree with me? It's just another configuration file to keep in sync on the computers I use, and :syntax off is right there... It's the nuclear option for being annoyed that comments are shown in light gray.
Now sam…that’s an editor I just can’t figure out how to be productive in.
Simple anecdote: many terminal emulators highlight what they recognize as an URL, then make them clickable. Acme allows to make any text clickable and set the selection to a plumber, for action. A path, a git hash, a time stamp, whatever. This is so much better. Some terminal enulators can be used like that, foot natively on wayland, st with patches and urxvt with Perl extensions.
That might be true.
When you get past the snark, there is a strong argument against syntax highlighting in Plan 9. If your desk is too messy to find anything, tidy it up; if your code is too messy to read, ditto. Syntax highlighting, from this perspective, is like bringing in a mechanical excavator when the answer is to stop digging. If you look at the Plan 9 code, they practiced what they preached.
But that perspective is an elite one, that of research programmers at Bell Labs, where the code is the product.
Basically my opinion regarding using UNIX CLI + vim and emacs.
Go still builds. It's just difficult to build it out of the box on 9 because of bootstrap issues. Though not sure if the latest 9 build bug was squashed.
Yes, they moved into Inferno, and implemented Alef ideas in Limbo.
http://www.vitanuova.com/inferno/
The forgotten legacy from Plan 9 authors, and influence on Go original design.
No to 9front, 9legacy AND Inferno.
Nor are they in Inferno anymore, but one big name Forsyth in 2017
Plan 9 and Inferno are done, historical OSes to learn from and apply in new OS designs.
No they are not, Inferno is still maintained and so is 9front, and Coraid for example uses Plan9 as embedded firmware (EthOS).
The VM is called dis (https://en.wikipedia.org/wiki/Dis_(Divine_Comedy))
The language is Limbo - https://en.wikipedia.org/wiki/Limbo
The protocol is Styx - https://en.wikipedia.org/wiki/Styx
The Divine Comedy all over the place.
they even had a inferno-applet demo, which was a full VM in an activeX(?) container running on the browser.
Every professor other than mine taught Linux, but he made us learn Inferno. (One of the best learning experiences of my time there!)
If you're interested in the inner workings of Inferno he literally wrote the, only(?), book on it. There are a couple free excerpts available on his site.[0]
I'd love to see an apple-silicon aarch64 version, or even an amd64 version (386 32 bit only I guess...)
There's a bit of Limbo in go for sure (or alef, or just plan9port libthread channels)
-rob
rob pike discussing the design of plan9 on the 9fans mailing list back in 2003.
I always thought Plan9 should have had a comeback as part of the "Internet of Things" given its deep support for networking and its modest hardware requirements (it was designed in the 90s.)
We even managed to get arm64 support on the Raspberry pi before Ubuntu. :)
- 64-bit, journaled, UTF-8 capable, extended attributes: things that are standard today but novel at the time
- It had "live queries" meaning feeds into file changes. AFAIK only NTFS has that today with https://en.wikipedia.org/wiki/USN_Journal. Inotify is a hack: have you tried monitoring your root folder ?
There’s also Mezzano which is a relatively new, from scratch Common Lisp implementation on bare metal: https://github.com/froggey/Mezzano
Finally, if you know where to look, it’s possible to setup a Symbolics VM on Linux, which is somewhat interesting to poke around in (all the manuals available out of the box are pretty interesting to read through.)
It just seems really cumbersome and that is a shame, because it seems so worth to take a look at it.
No, TempleOS was a fringe operating system.
Plan 9 was a legitimate research operating system developed by computer scientists who had a key role in the development of UNIX and other highly-regarded pieces of software.
Plan 9-based technologies are a part of most, if not all, operating systems today (even Windows!).
But, a fun article, and I'm always happy to see Plan 9 crop up from time to time. It's at risk of being forgotten, but shouldn't be.
9p is indeed a great technology—I would have also thrown in utf-8—but most of plan9's ideas remain quite fringe. I would pay a ton of money for an OS with both bind and browser support. Plumber is still leagues better than anything offered by macs/linux/windows.
That said, I don't see "fringe" as being mutually exclusive with "legitimate". TempleOS had some features that other OS's could use, too—its use of hyperlinking is actually really cool.
If you want to see what doldoc and plumbing in one system might look like, check out Oberon[1].
Not by HN at least. It comes up fairly regularly in one context or another. Though usually when someone is bemoaning some aspect of POSIX or Linux.
What the actual fuck. At first I thought this was some joke in poor taste by the blog post, but in fact he is referring to the use of Nazi death camp imagery in the documentation. That's not cool.
My family is full of holocaust survivors. My grandmother passed through Auschwitz. 10 of her 12 siblings did not.
I am fairly heavily involved in 9front. I have never had any issues with anyone in that project -- certainly none to do with antisemitism.
From what I hear /g/ was a decent place to talk technology around 2010 or whenever and this is where the gross chan culture supposedly comes from.
Generally speaking, 4chan types read it as an endorsement, which sucks. More recently, people who are not assholes have also begun to read it as an endorsement, which is even more unfortunate.
I had a conversation on Mastodon with the author, where I explained some of this, but the author's followers filled my client with Nazi (and more) accusations, and then the author started demanding names of responsible parties and I didn't really feel like he was engaging in good faith. Probably could have gone better, but here we are.
This whole sort of thing has led to much confusion, which is why over the years the project home page has sprouted explicit anti-Nazi and Black Lives Matter links. As far as I am aware, there are no anti-semites (or other brands of racist) involved in the project.
and an edit: A couple of replies here ask the reasonable question: "why not just remove the image?" Bluntly, if we removed everything that confused or angered people, it would be a full-time job. It's more likely that we'll include some version of the above in order to further clarify our rejection of Nazi values and provide the context that was missing.
Besides, if we just delete the damn thing then the next message will be "9front devs are secret Nazis, look at archive.org" -- we've been down this road before with other contentious content.
Kurt, so good to see you again! As I said in: https://mastodon.social/@stevelord/105510076754785649
> Was it Uriel that committed that section? I could kind of understand not wanting to remove it if it was. If that's the case then context in the FQA might be helpful for people who stumble across it.
That's hardly demanding names, unless you're referring to somewhere else in the convo. In that case please feel free to point it out.
The whole vibe just felt like it was more about who did what than what any of it was supposed to mean, which isn't really how we operate in general.
Sure, I can see that and thanks for raising that. It wasn't intended that way but I can see how it came across. Some mediums are just poor for discussion and text is always poor for expressing context.
> The whole vibe just felt like it was more about who did what than what any of it was supposed to mean, which isn't really how we operate in general.
I got that sense from you at the time. I get that you've all been attacked heavily at different points. I don't think there's any way you couldn't have felt that vibe. I've seen people call you guys out to me since on a scale that I've not seen elsewhere.
The bit I didn't know is the how you operate in general. As an outsider that's just not info I have.
I genuinely had links and samples for Appendix L's C section - if you look at the post you'll see the drawing screenshot and references to building blocks. Not knowing how you guys worked, I perhaps wrongly assumed that this might've been welcome, but wasn't comfortable putting it in with that image there. I genuinely wasn't trying to gotcha you.
I'm sure you can imagine how I received that: "we don't care what you actually believe, we only care about appendix L of the documentation."
People have been calling us Nazis since day one -- we have several German developers so we make VW and BMW jokes about 'German engineering' and of course all the early-cold-war German rocket scientists. It's the reason we've got the photo of Bowie at Victoria Station -- photographed while waving to the crowd, he had to repeatedly deny being a Nazi afterward, because it sure looked like a Nazi salute in the photo.
Once the actual Nazis started showing up we had to get more explicit in our condemnation of their evil, and that's okay -- rejecting hate is the easy part. Defending ourselves against the people we agree with is much harder.
Yeah I can see that now. Thanks. I guess once you process the first bit that way the rest drops off.
By the no nazis bit not meaning anything what I meant there was that with everything else it can be hard to tell what's intentional on the site and what isn't.
I honestly don't care who calls you guys nazis or not. Even if I wanted to (which I don't, I gain nothing by doing so) I wouldn't need to. There are plenty of people doing that already. The harder thing to do is to try to understand without pre-judging. Thanks for clearing a lot of this up.
EDIT: I noticed this in another subthread:
> I do think the image should be provided with context.
I'm editing here because I don't want to add to the pile-on in the other thread. You mentioned this above:
> Once the actual Nazis started showing up we had to get more explicit in our condemnation of their evil
If you want to keep the picture, what would your thoughts be on a log of that condemnation linked from somewhere in the FQA? Not necessarily Appendix L. No skin off my nose either way but I thought I'd mention it in case nobody had thought of it.
Edit to respond to your edit: please can you commit to removing or changing anything else in your documentation that confuses or angers people? I think you have an understanding that having good quality, accessible documentation is important. So why not commit to having that? It's entirely what documentation writers are supposed to do. It doesn't have to be a full time job unless someone wants it to be, you can do the process of improving things slowly, one step at a time with everyone chipping in. Do you really want things to stop here where some of your documentation pages look like a twitter feed?
And I say this because I think it's somewhat of an inevitability -- over time, someone has to remove the memes and in-jokes. There is no way a newcomer is ever going to understand what they all mean. Yes people can look in archive.org but that's less important than what's actively on the website.
I am not 'ignoring this.' I am addressing it right here, and on Mastodon. I enjoy it when Internet people make throwaway accounts to accuse me of cowardice, but I'm confused about which 'guts' I'm lacking. Is it the one where I did something, took responsibility for it, explained my actions, and then engaged in conversation with people who were concerned about my motives?
If I rephrase it as "Let's keep the Nazi pictures that confuse and anger people because it would be too much work to remove them", does that help you understand why people aren't happy with your decision?
What a stupid cop-out. If you can't see how uniquely offensive this particular thing is, well, there's words to describe you.