------------------------------------------------------------
Retro OS/Technology, (sdf.org), 10/11/2018
------------------------------------------------------------
Adventures and misadventures with plan9 continue[1][2]. As I
wrote my last post, I was quite turned off by the tone that
I was encountering in a few places, whilst looking for help
and info on plan9. After I blew off some steam writing on
gopher and attempting to compile a gopher client for plan9,
I spent some more time (well, the better part of the day I
guess) getting to know the system at a user level. I'm more
pleased with the system than I am with the people who
apparently represent it. That's life.
Arbitrarily, I setup a few very tasks that I wanted to
complete when I started this:
1. Boot and install the OS, learn to shutdown properly. This
went fairly smoothly with just a few pointers found via
google. VirtualBox worked just fine, there were no hiccups.
I believe fshalt from rc shell is all that is required for
shutdown; in any case, it's all I've done.
2. In rc, learn to navigate the filesystem, start and stop
programs, open and close rc instances. First, there were
some behaviors that I didn't find intuitive. You can
right-click the desktop and select "new" to start a new rc
window; but, you're presented with a cross-hair pointer and
no other indicator. I assumed that I would click where I
wanted a window, and that produced nothing. I learned that
you must click and drag to produce the window you desire.
I'm not sure why a normal click couldn't produce a window of
a default (or user defined) size.
Second, the lack of scrolling took some getting used to. I
enjoy pagers, but the de facto pager was a bid awkward for
me at first.
Third, I did get stuck in a few programs, as exiting a
program is not standardized in any way that I could figure
out. The acid debugger wanted CTRL+D, acme and abaco wanted
a middle-click on the word "Exit", mothra wanted a
right-click and select "Exit" then hover just right to
confirm... some programs would exit with the "DEL" key,
others would capture that keypress. It was, I felt, all over
the board.
3. Edit a text file. The more I use retro systems, the more
I regret that I never really learned ed. Seriously, there's
some for of ed on every stinkin' system out there.
Thankfully, 9front ships with sam and acme, and something
called hold. Sam, I think, is akin to ed, so I ignored it.
Hold didn't do much, but I managed to create a file (though,
I had trouble editing it later.)
Acme was so amazing it deserves it's own paragraph. I fired
it up, quickly realized I was lost, and went looking for
help. I found an intro to acme that was quite good[3].
Normally I'm not a big fan of video learning, but this was
worth a watch. If you don't know anything about acme, watch
the video on that page and see how a master handles their
editor (well, work environment.)
Following along, I did manage to have some fun with acme.
One thing that wasn't in the video, but was in the man page,
was the process for getting a shell in acme (which he used
extensively in the video.) In plan9, it's a simple matter of
typing 'win' somewhere and right-clicking on it. It's wacky,
but you can just type it, anywhere, and boom; the same is
true for about anything. What an astoundingly flexible
and extensible program.
4. Connect to the outside world. I managed to connect to sdf
via telnet and ssh (though, I didn't work on getting the
terminal settings right, so the experience was poor.) I used
hget to download a few things, and the two web browsers,
with a preference for abaco. I didn't learn how to download
files directly in the browser, I just used hget. That was
the extent of my external world stuff, and I was satisfied
enough with it.
5. Compile something. I wanted to do something dev-ish.
Since there was no apparent gopher client included, I
searched floodgap and found one called agopher[4]. I made
it a gz (didn't know if plan9 had bz2) and got it over to
plan9 using hget (dropped it on an http server).
Decompressed it, and ran mk from within acme. Got a compile
time error, which I right-clicked on; the file opened up
right to the line of the error (man, acme, you're powerful!)
Quickly lost interest and gave up... maybe I'll get back to
it at some point.
6. Play a game. In my poking around, I did find /bin/games.
There was a doom engine in there, so I hgot a wad file,
which worked. Ran through that first level on the easiest
setting and shot a few bad guys. Good wholesome fun. Also
saw the nes emulator in there, downloaded smb2.nes and
played for a minute or two. Both ran flawlessly (though, I
didn't try anything like increasing the window size, etc, I
just played them as the loaded.)
7. Get a BASIC interpreter running. I failed. Maybe there is
one there already, or one out there, but I gave up after
only a cursory search. I guess I'm tired.
CONCLUSION
I started this whole thing out of a sort of bitterness about
missing out on the SDF plan9 bootcamps. They seemed like an
exotic experience, always just out of reach. When I missed
the last one, I tried installing plan9 and failed; it was
time to try again.
Going in, I wanted to enjoy plan9. My enjoyment was tainted
by the snark I encountered, but I gave the whole thing a
fair shake, I feel. In the end, I did enjoy myself. I like
plan9 well enough; it's the sort of operating system that
one could certainly learn to use and love, with the right
motivation, time, and energy. I'm not at all sorry to have
learned a bit of acme.
If anyone out there is sad they missed the bootcamp, I'd
suggest having a go solo. With a few google searches (ddg's
results were not quite there on this one) you'll have all
you need to get it done.
[1]
gopher://sdf.org:70/0/users/tfurrows/phlog/2018/aeq_plan9.txt
[2]
gopher://sdf.org:70/0/users/tfurrows/phlog/2018/aep_pain9.txt
[3]
https://research.swtch.com/acme
[4]
gopher://kamalatta.ddnss.de:70/9/misc/gopher/agopher.tar.bz2