------------------------------------------------------------ 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