I see the 9front guys still love flirting with "nazi for laughs and giggles" esthetic...
olivierestsage 14 hours ago [-]
Their front page is literally covered with anti fascist stuff so I think this criticism is probably misplaced
andai 19 hours ago [-]
Stairway to gulag for you!
nylonstrung 19 hours ago [-]
A lot of the aesthetic and the "9" in a circle seems inspired by Death in June, who have similar Nazi-adjacent imagery, sans-serif text over reappropriate historical photos and use "6" as an icon similarly
It seems really weird and misplaced for OSS
serf 18 hours ago [-]
mentally I associate all that stuff with the punk/hardcore/post-punk thing rather than nazis anyway -- but all those groups were known for copying nazi aesthetic in a mocking tone.
pil, 7 seconds, dead kennedies, black flag, husker du, bad religion, bad brains, off, crass -- everyone in the 70s and 80s had a band logo that would've looked just fine on a red arm band.
thinking about it, kinda sucks the nazi got the branding and aesthetic permanently attributed to them , the punks have been employing it for way longer -- and I like them.
bitwize 17 hours ago [-]
The 9 in a circle was inspired by a meme about Cirno of Touhou fame; in the manual for Phantasmagoria of Flower Garden, she is labeled "⑨ バカ", hence the memes about her being kind of stupid and having the ⑨ as her personal symbol.
BSDobelix 19 hours ago [-]
[flagged]
moody__ 17 hours ago [-]
When did you get the idea that we're trying to please anyone? The type of people to scream about "wokerism" are not the folks we want in our community, conversely the people who scream that we're not sufficiently sanitized for them to put on their corporate website are also not who we want. The system is working as designed, we take no pain in 9front not being for you.
rf15 15 hours ago [-]
Why 9front humor (and indifference) attracts so much confusion and hate on HN I'll never understand
15 hours ago [-]
15 hours ago [-]
BSDobelix 17 hours ago [-]
>When did you get the idea that we're trying to please anyone?
Ah, I see. Those footer flags and icons are there for ironic reasons, to poke fun at these ideas while also shining a critical spotlight on them? I see, that's the dark humor I like.
>sufficiently sanitized for them to put on their corporate website are also not who we want.
I'm pretty sure it's possible in Silicon Valley, but only for one month of the year. It's just performative AF.
But at least you split the Ukrainian in half and exchange it with the US one, again....that's the really dark humor i like.
nozzlegear 7 hours ago [-]
Being woke is being evidence-based.
Arodex 16 hours ago [-]
[flagged]
BSDobelix 11 hours ago [-]
Coward's ;-)
BSDobelix 15 hours ago [-]
[flagged]
stephenbez 19 hours ago [-]
I got “402 PAYMENT REQUESTED”
iberator 22 hours ago [-]
What is it? Some hobby operating system or what?
lproven 21 hours ago [-]
9front is the community fork of the OS that the creators of UNIX and C did next.
This is what Dennis Ritchie and Ken Thompson did to fix the faults in the Unix design.
Linux, FreeBSD, NetBSD, OpenBSD, and all the other FOSS Unix-like OSes are community recreations of the flawed AT&T Unix.
9front is the continuation of the OS that came next.
So that would be 'rio'?[0] I can find screenshots but haven't found much that explains how or why it's different -- what I've read explains it's not how it looks so much as how it functions, eg, each process genuinely own a console or mouse rather than getting events from the OS as you might in, say, Windows. I can't tell if I am understanding this correctly, of course.
I do know that in Plan9, 'everything is a file' is literally correct. So owning a mouse would mean reading from /path/to/mouse. But what I've also read is that every process can do so believing they own it - it's theirs exclusively?
For anyone reading this comment in future please do not trust it, I don't know what I'm talking about, except that standard references I've found don't fully explain.
> I do know that in Plan9, 'everything is a file' is literally correct.
Almost correct. There are also shared memory segments via segment(3). You segattach(2) to a segment from a user space process then read/write that memory as a file from a user space process [1]. Drivers can expose memory mapped IO (e.g. PCI cards) using a physical segment and segattach to that from a user space process. The vga(8) program does this to do low level register tweaking. Sometimes, a file server is either too tedious, or not the right abstraction. It also enables memory sharing between processes and user space programs. You can share it over the network with rexport(1) but it gets weird (networked PCI/RAM out of the box...)
> So owning a mouse would mean reading from /path/to/mouse. But what I've also read is that every process can do so believing they own it - it's theirs exclusively?
Rio and other window managers like Lola, multiplex it [2]. This is how each window only sees the mouse when the cursor is within its border window. If I open two windows and run 'cat /dev/mouse' in each window then move the mouse around, cat only outputs data when the mouse is over the window it's running in.
What I think you're referring to is, every process has its own view of the file system. So you can control what a process has access to simply by controlling what the file tree visible to it looks like. The upshot of this is that each process talking to rio can open a file called '/dev/draw' if it wants to draw to its window, but each process sees its own '/dev/draw' and can thereby only draw to its own window! This can't be done very well in a POSIX OS, for which the file system namespace is global; extensions like Linux containers are a (shitty) workaround for this flaw.
vintagedave 16 hours ago [-]
That is a very nice explanation. Thankyou!
lproven 20 hours ago [-]
I knew this about Pike, but not Ritchie. Thanks.
I think, though, that one of the vastly underestimated aspects of Plan 9/9front is its simplified C.
AIUI one of the biggest differences is that a file is not allowed to `#include` anything that has already been #included in a parent project. You are not allowed to nest #includes.
The result is vastly reduced compile times. I have read claims of over 1000x fewer lines of code going through the compiler.
(Sure, disk caching helps a lot, but it still has to go through CPU.)
Cleaning up a codebase is a massive PITA but it's a one-time job and I have read comments that once you learn this, it quickly becomes habit.
Imagine if that was put into C29 as an advisory.
Decades and centuries of compute-time saved.
This is standard in Go, which is of course Pike's more recent baby.
ANSI C let you get away with this, which sounds like one of the more epic mistakes:
If only Go were as simple as the Plan 9 compilers it is derived from. Go is so big it is used as a disk thrashing benchmark for the new 9front gefs disk file system. In addition to disk thrashing it also helped shake out some deep kernel bugs. It also frequently breaks, most recently the bootstrap, likely stack corruption issues. Go also keeps threatening to drop Plan 9. Go: The good, the bad and the ugly - Plan 9 edition. Last time I built it, it took forever (like 15-20 min) vs rebuilding ALL of 9front from source, kernel included (see below.)
Plan 9 C is wonderful to work in. I really enjoy its simplicity and how the system design has trimmed away a lot of the ugly API's (select and poll, thank god they're gone...) and replaced them by modern multi-process solutions like thread(2) and ioproc(2). Plan 9 was designed ground up for multi-processor machines and it's all channels (if Go were an OS...)
> Decades and centuries of compute-time saved.
Rebuild all of 9front user space from source: 'cd /sys/src; mk clean; time mk install' - 51.48u 36.14s 51.23r mk install. almost 51.5 seconds, under a minute on a measly quad core i5-6500T CPU @ 2.50GHz - a Dell micro desktop with a SATA SSD.
9front amd64 PC kernel build: 'cd /sys/src/9/pc64; mk clean; time mk' - 5.38u 1.16s 4.19r mk. FIVE FUCKING SECONDS. Same machine as above. Time to build the Arm64 Pi kernel: 4.66u 0.83s 3.99r mk. About one second faster. Edit, I should add the kernel sizes: 9pc64 - 5,412,046 bytes, 9pi3 - 4,443,400 bytes. About a second per megabyte of executable machine code generated.
pjmlp 17 hours ago [-]
Additionally, the end stop was Inferno and not Plan 9.
Rob Pike also acknowledged that leaving GC out of Alef and going back to C was a mistake, speaking of which the Plan 9 C compilers continued to be their own thing instead of blindly following the new language standard.
pram 20 hours ago [-]
That XTerm readme is pretty funny
"Abandon All Hope, Ye Who Enter Here"
scoot 20 hours ago [-]
It's a quote from Dante's Inferno
2b3a51 20 hours ago [-]
All true, but I can't help pointing out that the code name for this new OS came from Plan Nine from Outer Space, a film (which I gather the gang went to watch and found hilarious, although it appears that the film was mainly shown on TV by the 1980s) by Ed Wood.
I heard there was some inside joke on the "IX" suffix of UNIX as a Roman numeral, and the 9 in Plan 9.
xelxebar 19 hours ago [-]
I daily drive 9front.
The historical emergence answers here are fine as far as they go, but they're a bit like saying that Linux is an OS developed by Linus to help him learn x86.
IMO 9front is an exposé of what an OS can look like when it's written for and by hackers with a focus on simplicity. The YouTube channel adventuresin9[0] parades some nice examples of what real world usage looks like.
For example, since everything is just a file, you tunnel traffic with a simple bind mount. Since everything is just text, small regexes suffice to route mouse clicks to UI actions. Since windows are just buffers, grepping history is grepping the window's text buffer; taking a screenshot is just cp-ing the window's draw buffer.
Oh, and 9front C diverges from the standard intentionally in some nice ways: evaluation of function args is sequenced, anonymous unions like
struct {
int a;
union {
uint i;
int j;
};
}
do what you want, the libc is a lot leaner and cleaner, etc.
C99 added designated initializers and compound literals, and C11 added anonymous structs and unions of the kind you showed above. These are 3 of the biggest features Plan 9 added to C, and they were adopted relatively quickly. But there's another type of anonymous struct/union Plan 9 added; using a bare tag name, e.g. `struct foo { union bar; };` to implicitly define the members. And Plan 9 C will also automagically coerce (and adjust the pointer offset) a struct reference to a reference to a typed anonymous member when calling a function that takes the latter. And now that I think about it, this seems like the obvious predecessor to Go's duck typing.
> Unofficial development for the system also continues on the 9front fork, where active contributors provide monthly builds and new functionality. So far, the 9front fork has provided the system Wi-Fi drivers, audio drivers, USB support and built-in game emulator, along with other features.
MisterTea 21 hours ago [-]
To be fair drivers for all that existed already but support was very very narrow in terms of variety. e.g. there was wifi support for like one or two cards but handled on a per card basis - kinda hacky. 9front now has a clean portable wifi interface that spans all the architectures so the Pi and PC have the same wifi infrastructure despite having different interfaces and chips. Same with PCI, it was refactored to be portable among all supported platforms, e.g. the Pi 4 and PC.
ricardobeat 22 hours ago [-]
I like this section included in the release PDF:
0.1.3 − Is Plan 9 a cult run by scam artists?
From a newcomer's perspective, it feels like dealing with a cult run by scam artists. It seems someone wants to profit from me by selling books on Amazon, like a multi-level marketing group. People say others here are on a spectrum, but it feels more like psychosis, with a loss of contact with reality. I really feel like I'm being gaslighted. I might seem like a troll, but you don't understand how you appear to others.
nailer 16 hours ago [-]
It seems unnecessary to vote this down. I'm familiar with Plan9, but it wasn't obvious from the front page:
> 9FRONT.ORG THE PLAN FELL OFF
that this had anything to do with the post-Unix OS. It looks more like a chan site.
ladax72707 22 hours ago [-]
lol
BSDobelix 22 hours ago [-]
Why not research it yourself instead of asking others? Am I the only one who thinks this is becoming increasingly common?
Cthulhu_ 22 hours ago [-]
No, this kind of comment and the "I misread it as xyz" / "I thought this was about abc" comments are getting really annoying.
1. Search engines, LLMs and the homepages of these sites are right there
2. Why would you announce your first thoughts to the world instead of actually engage with what was posted in the right context?
drcongo 21 hours ago [-]
In defence of parent, I clicked around through several pages and still couldn't work it out. The image on the linked page made me think it was a game.
znpy 21 hours ago [-]
> Am I the only one who thinks this is becoming increasingly common?
Yeah, and it’s an awful attitude.
Honest questions are hardly ever an issue.
BSDobelix 20 hours ago [-]
>Yeah, and it’s an awful attitude.
I had a conversation with some 'educated' people about the war in Ukraine. After about ten minutes,
I told them if we please can stop and if we could change the topic.
They were incredibly uneducated,
I would even say disinterested in the history as we ~know it.
They saw everything in black and white, with no shades of grey.
Long story short, I told them to please educate themselves on what happened from 2013/14 until today and make their own observations (just so they can sprinkle a little grey to their world view, NOT change it just add some nuances to it).
>>From searching to asking: knowledge and authority in the age of Generative AI
3. Cognitive consequences:
The difference lies in how the information is encountered. Search-based learning requires effort. Users must sift through multiple sources, evaluate relevance, and integrate partial information into a coherent whole. These activities promote deeper cognitive processing.
Suzuran 22 hours ago [-]
"We" don't research it ourselves because we are increasingly taught that we are either too stupid to conduct our own research or not qualified to understand the results, and we must rely on someone else who represents a position of authority. Preferably politicians/influencers/marketing departments/AI models/etc. which can then direct us to make purchasing decisions of benefit to our masters.
perching_aix 21 hours ago [-]
Society is hierarchical, and there are people who are closer to various fires, and thus do have more authoritative insight, than others.
I don't see merit to discounting this, even though cheap deflections to authority do bother me too.
Suzuran 21 hours ago [-]
The problem is not that society is hierarchical, the problem is that position in the hierarchy rarely maps to expertise or trustworthiness. Instead it usually maps to whoever is best at exploiting and then destroying others to raise their position in the hierarchy.
Edit for clarity: The biggest part of the "You're too stupid..." thing I mentioned is that we are being led to believe we can't even determine who is and isn't credible in any given field, so we must solicit claimed authority and then blindly obey whoever shows up first. Sometimes this solicitation is in the form of a post, but increasingly it's an AI-generated "web" search response where the index/training data has been torqued to direct people toward economic outcomes desired by the AI/search engine's owners.
https://analognowhere.com/_/tcrxsm/
I see the 9front guys still love flirting with "nazi for laughs and giggles" esthetic...
It seems really weird and misplaced for OSS
pil, 7 seconds, dead kennedies, black flag, husker du, bad religion, bad brains, off, crass -- everyone in the 70s and 80s had a band logo that would've looked just fine on a red arm band.
thinking about it, kinda sucks the nazi got the branding and aesthetic permanently attributed to them , the punks have been employing it for way longer -- and I like them.
Ah, I see. Those footer flags and icons are there for ironic reasons, to poke fun at these ideas while also shining a critical spotlight on them? I see, that's the dark humor I like.
>sufficiently sanitized for them to put on their corporate website are also not who we want.
I'm pretty sure it's possible in Silicon Valley, but only for one month of the year. It's just performative AF.
But at least you split the Ukrainian in half and exchange it with the US one, again....that's the really dark humor i like.
This is what Dennis Ritchie and Ken Thompson did to fix the faults in the Unix design.
Linux, FreeBSD, NetBSD, OpenBSD, and all the other FOSS Unix-like OSes are community recreations of the flawed AT&T Unix.
9front is the continuation of the OS that came next.
Recently, Pike commented that he designed Plan 9 so he could build the windowing system he wanted. (edit: oops, link) https://9fans.topicbox.com/groups/9fans/T4fec171fec7e3845-M2...
I do know that in Plan9, 'everything is a file' is literally correct. So owning a mouse would mean reading from /path/to/mouse. But what I've also read is that every process can do so believing they own it - it's theirs exclusively?
For anyone reading this comment in future please do not trust it, I don't know what I'm talking about, except that standard references I've found don't fully explain.
[0] https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs#Graphica...
Almost correct. There are also shared memory segments via segment(3). You segattach(2) to a segment from a user space process then read/write that memory as a file from a user space process [1]. Drivers can expose memory mapped IO (e.g. PCI cards) using a physical segment and segattach to that from a user space process. The vga(8) program does this to do low level register tweaking. Sometimes, a file server is either too tedious, or not the right abstraction. It also enables memory sharing between processes and user space programs. You can share it over the network with rexport(1) but it gets weird (networked PCI/RAM out of the box...)
> So owning a mouse would mean reading from /path/to/mouse. But what I've also read is that every process can do so believing they own it - it's theirs exclusively?
Rio and other window managers like Lola, multiplex it [2]. This is how each window only sees the mouse when the cursor is within its border window. If I open two windows and run 'cat /dev/mouse' in each window then move the mouse around, cat only outputs data when the mouse is over the window it's running in.
1. https://man.9front.org/3/segment 2. https://man.9front.org/3/mouse (2nd to last paragraph)
I think, though, that one of the vastly underestimated aspects of Plan 9/9front is its simplified C.
AIUI one of the biggest differences is that a file is not allowed to `#include` anything that has already been #included in a parent project. You are not allowed to nest #includes.
The result is vastly reduced compile times. I have read claims of over 1000x fewer lines of code going through the compiler.
(Sure, disk caching helps a lot, but it still has to go through CPU.)
Cleaning up a codebase is a massive PITA but it's a one-time job and I have read comments that once you learn this, it quickly becomes habit.
Imagine if that was put into C29 as an advisory.
Decades and centuries of compute-time saved.
This is standard in Go, which is of course Pike's more recent baby.
ANSI C let you get away with this, which sounds like one of the more epic mistakes:
https://go.dev/talks/2012/splash.article#TOC_5.
Plan 9 C is wonderful to work in. I really enjoy its simplicity and how the system design has trimmed away a lot of the ugly API's (select and poll, thank god they're gone...) and replaced them by modern multi-process solutions like thread(2) and ioproc(2). Plan 9 was designed ground up for multi-processor machines and it's all channels (if Go were an OS...)
> Decades and centuries of compute-time saved.
Rebuild all of 9front user space from source: 'cd /sys/src; mk clean; time mk install' - 51.48u 36.14s 51.23r mk install. almost 51.5 seconds, under a minute on a measly quad core i5-6500T CPU @ 2.50GHz - a Dell micro desktop with a SATA SSD.
9front amd64 PC kernel build: 'cd /sys/src/9/pc64; mk clean; time mk' - 5.38u 1.16s 4.19r mk. FIVE FUCKING SECONDS. Same machine as above. Time to build the Arm64 Pi kernel: 4.66u 0.83s 3.99r mk. About one second faster. Edit, I should add the kernel sizes: 9pc64 - 5,412,046 bytes, 9pi3 - 4,443,400 bytes. About a second per megabyte of executable machine code generated.
Rob Pike also acknowledged that leaving GC out of Alef and going back to C was a mistake, speaking of which the Plan 9 C compilers continued to be their own thing instead of blindly following the new language standard.
"Abandon All Hope, Ye Who Enter Here"
https://en.wikipedia.org/wiki/Plan_9_from_Outer_Space
A theme in the film is the waking of the undead, and I'm wondering if this is a message from the original gang.
https://upload.wikimedia.org/wikipedia/commons/a/ab/PlanNine...
The historical emergence answers here are fine as far as they go, but they're a bit like saying that Linux is an OS developed by Linus to help him learn x86.
IMO 9front is an exposé of what an OS can look like when it's written for and by hackers with a focus on simplicity. The YouTube channel adventuresin9[0] parades some nice examples of what real world usage looks like.
For example, since everything is just a file, you tunnel traffic with a simple bind mount. Since everything is just text, small regexes suffice to route mouse clicks to UI actions. Since windows are just buffers, grepping history is grepping the window's text buffer; taking a screenshot is just cp-ing the window's draw buffer.
Oh, and 9front C diverges from the standard intentionally in some nice ways: evaluation of function args is sequenced, anonymous unions like
do what you want, the libc is a lot leaner and cleaner, etc.[0]:https://www.youtube.com/channel/UC7qFfPYl0t8Cq7auyblZqxA
> Unofficial development for the system also continues on the 9front fork, where active contributors provide monthly builds and new functionality. So far, the 9front fork has provided the system Wi-Fi drivers, audio drivers, USB support and built-in game emulator, along with other features.
> 9FRONT.ORG THE PLAN FELL OFF
that this had anything to do with the post-Unix OS. It looks more like a chan site.
1. Search engines, LLMs and the homepages of these sites are right there
2. Why would you announce your first thoughts to the world instead of actually engage with what was posted in the right context?
Yeah, and it’s an awful attitude.
Honest questions are hardly ever an issue.
I had a conversation with some 'educated' people about the war in Ukraine. After about ten minutes, I told them if we please can stop and if we could change the topic.
They were incredibly uneducated, I would even say disinterested in the history as we ~know it.
They saw everything in black and white, with no shades of grey.
Long story short, I told them to please educate themselves on what happened from 2013/14 until today and make their own observations (just so they can sprinkle a little grey to their world view, NOT change it just add some nuances to it).
Their answer? No time, also not that interested.
I was a little bit sad to say at least.
Maybe has something todo with that:
https://www.frontiersin.org/journals/human-dynamics/articles...
>>From searching to asking: knowledge and authority in the age of Generative AI
3. Cognitive consequences:
The difference lies in how the information is encountered. Search-based learning requires effort. Users must sift through multiple sources, evaluate relevance, and integrate partial information into a coherent whole. These activities promote deeper cognitive processing.
I don't see merit to discounting this, even though cheap deflections to authority do bother me too.
Edit for clarity: The biggest part of the "You're too stupid..." thing I mentioned is that we are being led to believe we can't even determine who is and isn't credible in any given field, so we must solicit claimed authority and then blindly obey whoever shows up first. Sometimes this solicitation is in the form of a post, but increasingly it's an AI-generated "web" search response where the index/training data has been torqued to direct people toward economic outcomes desired by the AI/search engine's owners.