Over the past few weeks, updating Obsession Du Jour and the Patreon has more or less fallen by the wayside as I found myself too busy with my day job and other activities to spend an hour at a time on writing text. While occasionally something like an illness happens that prevents me from working on my projects, my main problem is that I have too many different things going on for the amount of time that I have after work. So naturally the sane approach to solving this problem would be to look at my existing problems and cull them remorselessly, right?
I guess it would be but that’s not what I’m doing. My mind has been very restless lately and I keep finding new projects to start, and while I don’t actually have time for them, I’m also fed up with delaying things because I’m already blocked with other stuff. So I’m just letting the new projects come to me as they want. Most of them are a bit geeky and so they scratch an itch that working on a webcomic cannot; but there are also webcomic projects in the queue.
The first thing that I’m doing is actually a continuation of an existing project. About a year and a half ago, I got my old iBook that I bought in 2005 back from my parents, who had used it for a while but had left it sitting in a cabinet for a few years at that time. I wanted to do something with it, and decided to make it a study machine that I could put a free OS on so I could brush up on my Linux/UNIX skills. I used to use Linux as a daily driver, but it’s been a while since and it had started to bother me that I had forgotten so much. To upgrade a 12-year-old laptop, I ordered a 1 GB memory stick from America, which I installed immediately when it arrived, and a SSD drive, which is still waiting to be installed because apparently that is a procedure that can take multiple hours and a bit of skill. I don’t trust myself to do that.
I quickly learned that Linux on PPC has dwindling support, though several distributions still offer it, there is still development work being done on porting Linux apps to PPC systems and there’s a lively community on Facebook, spun off from the Low End Mac group: Linux on PowerPC Macs. I also learned that it was very easy to fill up my hard drive with dependencies I don’t need, and that there was a lot of PPC-specific effort involved for me for little practical benefit, including turning the machine on in the first place! So it went on the back burner. But I still want to maintain and improve my Unix-ish skills.
So a few weeks ago, Ubuntu 19.4 came out and I wanted to try it, but I didn’t want to go back to the iBook. Instead, I decided to look into virtual machines. I installed Virtualbox on my MacBook and built a virtual machine with Ubuntu 19.4. It was easy – and boring! But while I was tinkering with virtual machines, I also decided to build one with OpenBSD.
This is what Ubuntu 19.4 looks like in my Virtualbox:
My impression was that (unlike what runs on the iBook), this would be immediately useful if my current laptop died and I needed a production system quickly – it ships with LibreOffice and there’s a faux App Store that will help you get your other software running quickly. It is pleasing to the eye in a bland, corporate way and… it just doesn’t float my boat. Whereas when you boot up the OpenBSD system that is installed as standard, and log in, you get this:
Now that takes me back. I’ve worked on Unix systems on and off since 1994, and this looks like some of the earliest Unix systems I’ve ever worked with. It is not at all pleasing to the eye, but it’s ugly in a way that inspires me much more than the ready-to-go working environment that Ubuntu 19.4 offers. This is not a system I can use. But it’s a system I can learn, while setting it up manually the way I like it. So that’s what I’m going to do: follow some instructions to configure it in a way that meets my needs, make it practical but pretty and also different enough from my existing systems that it’s interesting to use. Then I take what I’ve learned and apply it to the iBook. My plan for that system is to create a keyboard-driven system for distraction-free writing and coding (more on coding later).
None of this is intended as a slight against Linux in general or Ubuntu 19.4 in particular. I’m really glad that it exists and that if I do have a catastrophic breakdown of my existing computer systems, I have something available to get back on my feet quickly.
Like I said, I don’t actually have time for this project and I’m doing it by snagging 15 minutes here and there, whenever they’re available. For the past two weeks, I’ve done no work on it and I’m in danger of forgetting not just what I learned, but also where I found it. I’m using the following resources:
- OpenBSD on a Laptop by Cullum Smith. Recommended to me by Matthew Graybosch, author and long-term OpenBSD user.
- OpenBSD 6.4: Installing a Seriously Underrated OS in a Virtual Machine by Frederik Kreijmborg (Medium link). Applies to OpenBSD 6.5 as well
- Create OpenBSD VM in VirtualBox by Roman Zolotarev
- Roman Zolotarev’s website, Mastering the Web in general
As if this wasn’t enough of a time sink, I’ve started some other geeky projects at the same time: I am trying to learn more about Jekyll and I’ve started learning/using Emacs Org Mode. My reasons for studying these things are closely related: I want to stop using a CMS for my webcomics and deploy them in the form of static pages instead. The CMS I’m using, WillowCMS, is great, but it’s had some issues relating to updates in the language it’s written in, PHP, lately, and it’s a one-person project that isn’t being updated much because the one person has her own things going on. In addition, like all CMSes, it has multiple attack vectors for hacks and spam. Finally, I barely use most of the features it offers, including some that I asked for. I have stopped caring much about comments and started caring much more about speed and safety. I think static pages can offer that speed and safety, but I don’t want to go back to hand-coding every webcomic page individually like I did in 2000. So I need a system that can spit them out based on information I input. Jekyll is one option and while talking about it, I got in touch with a webcartoonist from Belgium, Yncke, who had created a webcomic template and page generator for Jekyll for themself and has been very helpful in adapting it to something that can meet my needs as well.
Emacs Org (or Org-mode) was suggested to me by Matthew Graybosch and others as a way to manage workflows and create templates as well, which may be used to generate HTML pages directly or fed to Jekyll for further processing. It also offers a simple Markdown-like markup language plus to-do lists, time tracking and other things I can use while working on projects. I am interested in using it also because it’s another thing that I want to relearn. 20 years ago, I was reasonably proficient at using Emacs, but I’ve forgotten most of it. Integrating it into my work process will help me bring some of those lost skills, and more, back. Of the three geeky side-projects, this is actually progressing best: I’ve been using Org for my to-do lists and am in fact writing this blog post in it, as well as a new White House in Orbit story.
As far as structured learning is concerned, I’m still in the beginners’ tutorial, but thanks to the greater discoverability that Aquamacs allows, I’ve been able to try a few things outside the tutorial structure as well and those have already been useful. There is also a tutorial for making Org and Jekyll work together, though that is not the only way to do it: multiple plugins exist.
In the longer term, I would like to learn a programming language, probably Ruby, but that’s not currently an active project at all. I have too many!