Hacker News new | past | comments | ask | show | jobs | submit login
9front “The Golden Age of Ballooning” Released (9front.org)
132 points by bitofhope on Nov 1, 2022 | hide | past | favorite | 76 comments



For those unfamiliar with Monty Python's Flying Circus, "The Golden Age of Ballooning" is the first episode of the fourth and final season, notable for being the first episode without John Cleese.[0]

No idea if 9front is intentionally referring to this.

[0] https://www.imdb.com/title/tt0650996/


It is one of my favorite episodes too! It’s got such a different feel than the rest of the series, it really sticks out conceptually. I find myself thinking of it from time to time.


Given the general tone of 9front, I would say the reference is intentional.


Yes.


It's a fork of Plan 9. Previously: https://news.ycombinator.com/item?id=12617036


Seems like they could say so somewhere at surface level.


I like the idea of moving past Unix, getting rid of the baud rate on your terminal and no longer just emulating a VT1000, new operating paradigms and overall saying no to legacy compatibility in favor of actually moving into the future.

I'm not convinced the mouse is the way to go. They're so limiting; I have a panel of switches in front of me that can do anything I want and it defaults to typewriter all of the time. Meanwhile i use one finger for everything except typing. That's a bit ridiculous.

Currently I'm convinced, a modular microkernel with a plain graphical environment built around keyboard and tiling windows is the way to go. You can get graphical composability with a tiling paradigm. You can't get it any other way IMO.

Behind the scenes, can we get rid of languages-as-APIs and all these convoluted libraries? I think a binary should be self contained besides interfacing with hardware and the operating environment.

A good approach to graphical computing environments is a standardized API for graphical applications that the environment plugs into and renders, rather than the application itself rendering itself graphically. This would enable graphical composability as well, two graphical applications can call each other via their API and interact easily.


Happy to see this getting updated, although it is bittersweet to realize it has a minuscule user base and that the UX will likely never change (the three-button mouse UX simply isn’t a good fit for today’s laptops).


I'd say the UI/UX actually isn't that good, period. "Everything is actually really a file this time", plumbing, acme and rio are all very cool and powerful concepts, as is the idea that we shouldn't have to care about silly old TTY intricacies and that the mouse should be a first class citizen in our tools.

However, the window management feels rather cumbersome and not offering decent keyboard navigation and shortcuts as a complement to chording is, to me, the single most annoying "feature", laptop or not.


Keyboard navigation is one of the features of this release. And it's fully scriptable via /dev/kbtap: you can write your own key bindings and compose them by piping the keyboard events through your scripts.

The usual program for it is http://man.9front.org/1/riow

Ktrans also uses it: http://man.9front.org/1/ktrans


Hey, cool! Gonna have to check this out. Can it be used for E.G. selecting/cutting/pasting/navigating text in Acme as well?


Probably. But not easily.


Is it an inherent flaw in 9front or could it be fixed with an input router?


The Plan 9 UI is deeply arcane. It's heavily inspired by the Oberon UI, which itself is equally arcane, if not even more so.

I have a play with Inferno in a VM some years ago. (I can't even find an ISO of it now, which is something that needs fixing badly, alongside a ready-to-run version for Linux on x86-64.)

Oberon, and thus Plan 9, spring directly from the era of the original Xerox PARC Alto. Their design comes from before Apple standardised the GUI in the early 1980s, with standardised menu bars, standard window controls in the title bar, the idea of dialog boxes, plus ones that have standard buttons in standard places.

(You know -- all the sort of stuff GNOME is busily removing again now.)

Microsoft mimicked this design in Windows 1 and 2, DR aped it in GEM, IBM in OS/2 1.x, etc. All later GUIs are informed by LisaOS and MacOS 1.

Oberon was before that and it has none of that stuff. Plan 9 loosely mimics Oberon and so it doesn't, either.

Result: it's very weird if all you know are post-1990s GUIs.

Inferno modernised the Plan 9 UI and it's quite usable by comparison. But Inferno is even more obscure than Plan 9.

FWIW, The A2 OS modernised Oberon and it's much more usable, too. Both are still weird but they're vaguely recognisable and you can just start clicking on stuff.


Inferno is not plan9, Inferno is based on what was learned while making/using plan9. They do not share a base.


Most importantly Inferno was meant to be a product while Plan 9 was a research system. A few things that were improved in Inferno were put back into Plan 9 3rd edition.


Only acme mimics Oberon. The rest is inspired only, as you said, by the original smalltalk GUI.


That is a good point, true.


I'm not sure what an input router is, but the concept of mouse chording is absolutely an inherent property of Plan 9/9front and Acme. To the best of my knowledge you cannot mark, cut, copy or paste text at all using the keyboard. Copying is especially cumbersome and involves a three-button chord in conjunction with some precision pointing (first to mark the text, then to where you want it pasted).

I'm sure this could be implemented using keystrokes as well and the source code is of course available. However, I doubt such a change would be accepted upstream. You could say it's a central point in the "Plan 9 philosophy".

https://plan9.io/sys/doc/acme/acme.html


What if you had a OCR overlay that had a DOM like structure along with coordinates? You could hit a key combo, and then the text dom could float over the page and you could select nodes of it using your keyboard modifiers of choice (vim, emacs, etc).

You could also read the process memory directly by a supervisory program, like a debugger, to extract or insert text directly. It would be like idea implantation.

Does that make sense?


OCR hardly needed. Just read /dev/text.

I don't think the mouse chording is that essential to Plan 9. It's how rio and acme work, but those programs can be replaced without throwing away most of the OS concepts. I think you could absolutely create a Plan 9 UI that, for example, uses vi-like key bindings to jump around windows and text. Nobody's just done it yet and hardcore users are happy enough with what they have for now.


I think it'd be easier to just implement better keyboard support in E.G. Acme and, to a lesser extent, the terminal. :)

Side note: Inserting text using a debugger shouldn't be necessary. Everything really is a file, including Acme's windows and their contents (which is pretty cool).


Ok, what if all the programs had an file, like a port, where it could read and write messages encoded in a high level dynamic language, maybe like Lua, or Arexx :) ?

Then you could send it a message

    GET /text_repr?encoding=json


Durée has something like that http://durden.arcan-fe.com/


This whole stack blows my mind. What kind of wizardry is this?


I know! They have a shell that is pretty insane too.


With regard to laptop, you need a thinkpad. it caught me off-guard when I picked up mine many years ago, because I was not looking for three buttons on a laptop. but it quickly became my favorite feature.

As an X11 user, I think that select/single button paste is one of the better features of the platform. I miss it terribly when on windows.


I have two Lenovos and a MacBook Pro here in front of me.

Believe me, when I say Plan9/9front/rio has a crap UX on laptops, it isn't due to lack of trying. Even when I ran an Plan9 "terminal" on a Pi with a three-button mouse, the UX was bad.


> As an X11 user, I think that select/single button paste is one of the better features of the platform. I miss it terribly when on windows.

As a compulsive text-highlighter, I've always found it useless. Between that and not being able to copy-and-replace with it, I'd say I've used it by accident at least as often as I've used it on purpose. And I've been using X-window systems since before 3-button (no scrollwheel) mice went all-but extinct, so I should have been able to get used to it if I was ever going to.


I can see that would be annoying, however for me...

Imagine if every time you hit ctrl+c or ctrl+v a dialog opened up asking if you are sure you want to copy or paste. a bit annoying, breaks your train of thought, and doubles your keypresses.

That is what it feels like to go from x11 to windows.


I don’t know how people use trackpads for anything but causal use anyway, even on a Mac I find them to be a constant strain on my psyche compared to using my mouse- I always have one on me if I have my laptop


By contrast, I don't know how people put up with mice. I discovered a cirque touchpad in the mid-90s and i've preferred them ever since.

Of course, nothing's worse than the weirdos who like trackballs.


You wrist-movers just can't handle the way we shine wondrously with our bright reds and blues, how we glide smoothly and graciously across the screen with the tiniest motion of a single finger, using a trackball is the closest a man comes to godliness.


Clickpads are horrible, but touchpads aren't so bad when they have tactile buttons. That's why I always print some for mine.


*Tries to imagine what the STL for a clickable button would look like*



ooooh, I see. I was imagining some kind of complex clicky mechanism - of course that's not necessary here, the touchpad has one built-in, I didn't realize. Thanks for the clarification.


Practice. Put enough time into an input device and it becomes second nature.


>UX simply isn’t a good fit for today’s laptops

Maybe you just have the wrong laptops ;)


As said above, I have two Lenovos and a MacBook Pro here in front of me.


But is it a thinkpad with 3 buttons? ;)


X1 Carbon Gen 6, top of the line. The 3 button UX is still atrocious regardless of any way you try to defend it...


>The 3 button UX is still atrocious regardless

Speak for yourself...


Members of the 9front dev-community have recommended the MNT Reform.


And various thinkpads.


The UI and UX have been evolving. Looks like riow is part of the mainline now, bar(1) was added. Not to mention zuke and some other great programs written in the last year or two by ftrvxmtrx, who's doing a lot of heavy lifting. There's a video player added, and lots of other new cool stuff. See shithub.us for more.


> UX will likely never change (the three-button mouse UX simply isn’t a good fit for today’s laptops).

Patches welcome.


I use a five button mouse...(6 if include scroll wheel)


This in the front page's legend made me snicker:

"Only two remote holes in the default install, in a heck of a long time!"

Now, what does that remind me of? :)


The number is randomly-generated BTW :)


Can Acme be made to provide code-completion / Intellisense type features, similar to what Java and C# programmers expect? Can it provide a decent REPL, like iPython?


Yes. There's [acme-lsp](https://github.com/fhs/acme-lsp) for providing language server integration and things like "jump to definition", "show hover-help" and so on.

I personally use `autokey` on Linux and `sxhkd` on macOS for adding a key binding for `acme-lsp`'s `Lcomp` command which performs completion.

There's also [Watch](https://pkg.go.dev/9fans.net/go/acme/Watch) for monitoring a directory of files for changes and running a command in a persistent Acme window. I use that for continuously running unit tests while I edit some piece of code, or for automatically running `go generate` and such.

For your REPL needs, there's the `win` command that implements a basic dumb terminal as an Acme window. This provides a few goodies like letting you edit the terminal buffer with Acme's `Edit` command and its embedded Sam command language, as well as adding "snippets" that can be executed with one click of the middle mouse button.

Acme by itself is already plenty useful (`win` is part of the "standard distribution" so to speak, in that it is part of the various Plan9 forks and of plan9port), and a lot of extra stuff can be built rather quickly by hooking into its 9p interface:

For example, my tool to add commonly used tools to the tag (the blue line at the top of each text window that contains the file name and commands that act on the window) is a handful of lines of shell script that parse entries in acme's `acme/log` file and select the appropriate tools to add based on the name of newly opened files.

My Git integration is a thin wrapper around `win` and `git commit --interactive` that pops open a window that allows me to author a Git commit similar to (but a lot simpler than) magit for emacs and fugitive for Vim work.

Even if you're not in Plan9 (or one of the forks), I encourage you to give [plan9port](https://github.com/9fans/plan9port)'s Acme a spin.

(FWIW, this post was written in an Acme window because it's a lot more intuitive to use after some getting used to than regular ol' GTK text boxes used by Firefox.)


When Plan9 gets posted to HN, the feelings are complex. I love you guys, I really do, but plan9 might have been passed up on by the segment of the hn audience who'd have loved it most.

Plan9 is a project that does things very differently on purpose. A lot of things don't make sense at first, like the 3 finger mouse paradigm, plumbing, mainframe mentality. What I fear is that the more people from HN are introduced to it from a standpoint of "Hey look at this novelty, it just got a new release" the more people will find it, love it as I did, but then ignoring context, completely hold the community hostage with the curse of popularity to change everything we know and love about it to make it the same OS they left for plan9.

Younger devs with terrible ideas are capable enough now to implement things themselves, and I worry that with the miniscule amount of devwork it would take to make huge waves in the plan9 community, I can only hope that people with very shitty ideas dont jump in and make a splash because it'll be hard for the community to say no.

Plan9 is very unapologetic, has lots of rough edges, and 9 front specifically can ruffle some feathers with regard to content and imagery, like the copy of Mein Kampf being in every copy of the source code, im not saying it meant something, but that was our joke, and new people hated that. It could have been a goosebumps book but it'd meant the same. We're already seeing that being tamped down by those who don't understand the spirit behind it. You'll know I'm right if the only replies to this comment will be on the inflammatory parts, not the revolutionary parts.

So like I said. It's complicated seeing it on HN. On one hand I want the world to know this technology that sadly we left behind and seem hellbent on reinventing. On the other hand, a lot of you guys suck now, and are too capable for the limited amount of forethought you have.

I guess all I'm trying to say is, treat my baby right. I'm trusting you guys to enjoy it like the rest of us did.

Also please take this as gracefully as possible, but a lot of you have the worst ideas... like the absolute worst most misinformed, heart aint even in the right place, no forethought, just terrible ideas. The rest of you are fine. I'll take my downvotes in a to-go box, as usual.


> So like I said. It's complicated seeing it on HN. on one hand I want the world to know this technology that sadly we left behind and seem hellbent on reinventing. On the other hand, a lot of you guys suck now, and are too capable for the amount of forethought you have.

First of all, as interesting and divergent as Plan 9 was, I think you overestimate it's potential for popularity, No doubt due to your seemingly fetishistic regard for it. I think the particular brand of HN user you are "worried" about is probably never going to be interested in contributing to the Plan 9 ecosystem, so you can relax knowing your "baby" will likely be left alone.

Secondly, I've been in a lot of hobbyist communities that have all gone through their respective changes over the years. It's this particular brand of high and mighty "you lack the necessary taste to appreciate this" kind of attitude that I have found most distasteful and counter-productive to these communities. The thing that kills these communities is business types trying to capitalise, and sanctimonious die-hards, not a bunch of newbies.

Let the kids have fun, stop being a fuddy duddy.

> I'll take my downvotes in a to-go box, as usual.

Take this too, ruminating might be a refreshing change of pace for you.


Not the first time your entire argument has been made. You're probably right about me, but you're off the mark about the plan9 part. I've seen this happen repeatedly over the decades. Just off the top of the head, we've seen this in Linux multiple times, before that it was the WWW, and it will happen yet again in plan9. All I can say is "just watch" and hope to God above I'll be proven wrong.

In a world where we are currently reinventing the mainframe and thinclient model, it's not hard to imagine that like fashion, tech also is cyclical. We dont say mainframe, we say cloud, we don't say thinclient, we say mobile.

It sounds like a lot of dude-trust-me, but imagine that it is possible somebody out there, maybe a very passionate neckbeard on some forum might just have an intimate history with plan9 and have a reason to feel this way before you go refuting them with JUST enough facts about their tone and delivery to fool people into thinking you're right, because you're not. .. when it comes to plan9. You've pretty much nailed my personality though, im probably that person you're describing, which I should work on, thank you. I'll accept that.

The kids are everything that's wrong with this world, and it's not their fault, they're a product of our example. I can only hope they don't squelch the 1% among them from getting their oddball ideas and opinions out there, because that's how we got here.

Make a note, you have one coffee on me, should we cross paths. Though we disagree today I can tell you're alright.


> It sounds like a lot of dude-trust-me, but imagine that it is possible somebody out there, maybe a very passionate neckbeard on some forum might just have an intimate history with plan9 and have a reason to feel this way before you go refuting them with JUST enough facts about their tone and delivery to fool people into thinking you're right, because you're not.

While I made my points separately, together it does spin my argument as being "right" when the whole is perhaps not, I will concede that. I guess like you said, time will tell what's to come. I am also inclined to believe you are who you say you are.

I mainly take issue with gatekeeping, and I make a stink about it when I see it. The more positive variant I endorse is initiation. Instead of "you know nothing, go away" I'd rather see: "you know nothing, let me teach you the ways." Granted it's quite a feat to initiate an anonymous mass on the internet. Certainly not for the sane or faint of heart.

> Make a note, you have one coffee on me, should we cross paths. Though we disagree today I can tell you're alright.

You are too. I sympathise, I really do. The little corners we carve for ourselves are precious in their own way. Even when they change, perhaps for the better, we still grieve the past.


> like the copy of Mein Kampf being in every copy of the source code

It was an over the top political gag in response to the original labs people inserting a copy of the gettysburg address in /lib. It was removed as the gag was lost on most people.


I guess whoever inserted it probably didn't quite anticipate the rise in neo-nazism and the far-right in recent years? Like before 2016 it's an edgy joke that'd make most people roll their eyes at worst if they know the context. Afterwards, and particularly after Charlottesville, regardless of the intent it does look like a very particular and sinister kind of statement.


The submitter was indeed very young and naive. The offending text was removed well before 2016.


Unrelated to this topic, but tangential: I believe the first step in repeating history is to forget it happened. Being human is a continual process of error-driven development.


That moment may come in the future but I don’t think anyone in Europe or the USA is ignorant of what the Nazis did, and in fact the guys I mentioned (Charlottesville) seem to be pretty openly sympathetic towards nazi ideologies


They are. Those things have become a tabu. There are some "official" naratives about this and that's all. In the end, only the nazis have something to win.


Wasn't sure what this is, so I went to the homepage and noticed it has the line "Only X remote holes in the default install in a heck of a long time" where X changes on every page load.



This page does a horrible job of explaining what it's about.


It used to be better but the front fell off.


Probably because of the balloons.


No that was because of the Zeppelin and the Blackbird, so they changed to balloons:

BTW I absolutely love the style of the site and media, like cat-v and suckless.


It does, it took me a minute to click on the "fqa" (o; but I absolutely love the design, humour and aesthetic. The web needs more of this oddballness. Dare I say, odd balloon-ness


Pretty extensive! Sadly they stopped making fun of nazis:

http://fqa.9front.org/fqa1.html#1.3.0.1

Who told them it is bad taste?

> The web needs more of this oddballness.

Yups. This kind of websites give me nostalgia. HN too btw.


There was some imagery that compared using Ruby to going through Auschwitz. I think they did well by removing this one.

- Not a Ruby fan


People complained about Mein Kampf being included in the source code.


Baloons....it's written on top.


Notable changes few, minor changes numerous.


Depends on what you find notable. An IME for CJK languages, as well as some others, didn't make the list. (http://man.9front.org/1/ktrans)


if you know you know.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: