Blogging Platforms
Jack Baty has a New Year’s resolution: Don’t change blogging platforms more than once a quarter. Say what? I don’t know about the rest of you but changing blogging platforms regularly seems to me like getting divorced and remarried regularly. What sensible person would want to do that? Baty’s excuse is that he likes to tinker and mostly blogs about tinkering so naturally changing blogging platforms seems to make sense to him.
For me, blogging is all about writing and sharing my discoveries. The last thing I want is to worry about is my blogging platform. I want it to be as transparent as possible so I don’t have to think about it. I just want to write my post in Org mode and push a button to publish it.
I started blogging with Blogger. It was easy and it wasn’t too hard to turn an Org mode file into a post. After a while I got my own domain, Irreal.org, and moved to WordPress. It’s not all that different from Blogger—except that Google isn’t lurking in the background deciding whether my posts are acceptable—and, like blogger, it’s easy to publish Org files as posts.
It’s been 14 years since I moved to WordPress and while it’s sometimes a pain, I’ve never seriously considered moving to something else.
There are, it seems to me, two type of blogging platforms: static and database-centric. Static blogs are simple and don’t require backups but they require more work on the front end. Database systems, like Blogger and WordPress, are more turnkey but are more susceptible to exploits and require you to backup the database periodically.
I don’t know which is the best—it probably depends on your inclinations—but once you’ve decided on a platform you should probably stick with it unless there are compelling reasons to change.
WordPress certainly isn’t perfect but it’s good enough. It allows me to concentrate on my writing and not worry about the details of publishing it. Unless things change drastically, I don’t see Irreal changing.
Engineering Rules
I wrote what was supposed to be today’s post last night but in the light of day I decided I didn’t like it and had to start over. Fortunately, I found this set of slides on Akin’s Laws of Spacecraft Design. They appear to be lecture notes from a course at the University of Victoria.
They are, as the title suggests, nominally about aeronautical engineering but the “laws” apply equally well to software engineering or, really, any type of engineering. The fact that they aren’t specialized to software engineering makes them seem more general and applicable because they do get into the weeds of a developer’s job.
Most Irreal readers are sure to find something they like in the slides. One of my favorites was
– Engineering is not a religion.
• Technical apostasy is perfectly acceptable.
On another note, it’s New Year’s eve so be safe and stay off the roads if you can. We here at the Irreal bunker want you back tomorrow.
Never Try Emacs
A couple of weeks ago, I wrote about Tsoding’s video on the annoying usefulness of Emacs. His conclusion was that you should stay away from Emacs because once you try it, you will never be able to break free.
Now Valigo has his own video up that reaches the same conclusion. For him, the main attraction of Emacs is it’s extensibility and customizability. The reason for that, of course, is that the Emacs executable is basically a Lisp image with the source code available from within that image. That means that you can, if needed, reach into the guts of Emacs and change just about any aspect of Emacs on the fly. The only exception is the small C core and even that has the source code available from within Emacs but you’d have to recompile Emacs to change it.
One telling example that Valigo gives is to ask Emacs for the definition of the j key. Because he has evil mode enabled, Emacs reports that j runs the command evil-next-line. Then he disables evil mode and repeats the experiment. This time Emacs reports that j runs the self-insert-command to add a j to the buffer. The point is that the help command adapts itself on the fly to reflect the current state of the system.
Because of all this customizability, Emacs use is addictive. Once you start, you can’t stop. Like Tsoding, Valigo says that Emacs is old and crufty but he can’t escape because nothing else is as useful.
I get that Tsoding an Valigo are probably writing tongue in cheek but really, if Emacs is so useful you can’t live without it, why are you complaining? You can, after all, change anything you don’t like.
Emacs Lisp Elements
Some time ago, Protesilaos Stavrou published a nice book on Emacs Lisp. The idea is to bring a “big picture approach” to Elisp so that every Emacs user can experience the joy of fine tuning Emacs to meet their exact needs.
Just recently, Stavrou has added EPUB and PDF versions. In a way, it doesn’t matter since he provides the Org mode source and you can export that to almost any format you want. Now, though, he has nice PDF and EPUB versions that you can simply download and read in your preferred format.
It’s nice having the book available as, for example, an Info file but apparently I’m old fashioned and prefer to read it as a PDF. Others may like EPUB or Info. Whatever your preferred format, Stavrou has you covered.
There aren’t that many books addressing Elisp and how to use it. Marcin Borkowski’s Hacking your way around in Emacs is one good example and there are some short tutorials but Stavrou’s and Borkowski’s books are the only ones I can think of off hand that address Elisp exclusively.
I’ve skimmed through the book and it seems like a good introduction. If you’re an Emacs user and want to advance, you really should learn a bit of Elisp. It’s not as daunting as it might seem since even adjusting the Emacs configuration is an exercise in using Elisp.
Sean Whitton
Good news for Emacsers. Sean Whitton has been appointed an Emacs maintainer by RMS. He joins a list of really excellent maintainers who devote untold hours of their time maintaining Emacs for our benefit. It’s hard to overstate the debt that we owe them.
Mostly, of course, they never hear from us except when there’s a complaint. That’s really unfortunate and we should all try to do better about thanking them for their selfless efforts.
I don’t know anything about Whitton except that he’s been active on the Emacs mailing list and has more than demonstrated his commitment to Emacs. Judging from his message on the mailing list, I feel certain that he’s going to be a real asset.
Join me in welcoming Sean and be sure to buy him a beer if you happen to find yourself in a bar with him.
The Power of C-x 8
I’m a long time user of Ctrl+x 8 Return for inserting arbitrary Unicode characters. I use it, for instance to insert the red meat character (🥩) for my Red Meat Friday posts.
For mundane accents like é, I use ivy-insert-org-entity that I stole from John Kitchin’s Scimax. It’s lighter weight and easier to use for spelling peoples’ names or using the occasional foreign accented word.
Even though I’ve been using Ctrl+x 8 Return for many years, I had no idea of how powerful the command is until I read this post from Rahul M. Juliato. It turns out that in addition to just using an existing Unicode character you can compose accented characters manually, combine multiple code points into a single glyph, and much more.
Juliato’s post is long and complicated so I won’t try summarize it here. You really need to take a look at the post itself. I had difficulty making some of his examples work but that was probably me doing something wrong or a shortcoming of my fonts. If you’re like me, you’ll probably never need all the power he describes but it’s nice to know it’s there if you do need it.
A Replacement For Diminish
Any serious Emacs user is apt to have a lot of minor modes active at any given time. That’s certainly true in my case. What we don’t need, though, is to see lighters for each and every one of them. It wouldn’t matter so much if they didn’t fill up the mode line and obscure other indicators that you might actually want to see.
The current way of dealing with this is Diminish that prevents any of the minor modes listed from putting their lighters on the mode line. I’ve found them difficult to get configured correctly but they do the job and I haven’t thought about the problem in years.
In a new post, Bozhidar Batsov reports that a new feature in Emacs 31 is the mode-line-collapse-minor-modes command. It turns out that I’ve written about this before but Batsov has more details. The difference from Diminish is that you list all the minor modes that you don’t want to see on the mode line (or even all of them) and Emacs compresses them into a single symbol, “…” by default.
If you’re living on the edge and building Emacs from Master, you can try this out now. Otherwise you’ll have to wait for the release of Emacs 31.
Merry Christmas
As I told a family member yesterday, no one except Santa should be working on Christmas Eve so—taking my own advice—I’m going to refrain from anything but minimal effort on today’s post and merely wish you all a Merry Christmas or if you don’t celebrate Christmas, Season’s Greetings.
Most Irreal readers—at least in North and South America and Europe—probably have the day off so I hope you enjoy your down time. Tomorrow, things start again and Irreal will be back with some semi-serious material.
Unix V4 Update
A month and a half ago, I wrote about the discovery of an original Unix V4 tape in a storeroom at the University of Utah. V4 was special because it was the first version of Unix to be largely written in C rather than PDP-11 assembly language. Until the discovery of the tape at the University of Utah, it was believed that Unix V4 had been lost except for parts of its manual.
At the time of the discovery it was uncertain if the tape could even be read. Magnetic tape is famously volatile and it had been sitting in an uncontrolled environment for years. Nevertheless the experts at the Computer History Museum were able to read the tape except for a couple of damaged blocks that they were able to reconstruct and verify correct with the CRC.
Hobbyists who care about old systems and Unix history have even been able to boot the system on a PDP-11 emulator. Diomidis Spinellis who maintains a git repository of Unix source code has a blog post about the V4 discovery and how it fits in with the larger Unix corpus.
That’s not a straightforward as you might think because there weren’t really any software version releases. Rather the version numbers refer to the manuals. The actual software that a recipient got was just what happened to be on the (sole) Unix research computer at the time the tape was cut and it was given the version number of the last manual.
You can read Spinellis’ estimate of where the software on the tape fits into the larger body of Unix code on his blog. For those who care about Unix history, this is a major find and a reason for celebration.
Journelly 1.3
Good news for Journelly users. Álvaro Ramírez has just released version 1.3 of Journelly. If you’ve been around Irreal for anytime at all, you know that I am a huge fan of Journelly. It’s one of my most used iOS apps. For those who don’t know, Ramírez advertises Journelly as a sort private Twitter app, meaning that your entries aren’t broadcast and are private to you. I use it as a memo book to record my daily activities so it gets a rigorous workout in the Irreal bunker.
The big news in version 1.3 is Markdown support. I’ve always thought of Journelly as an Emacs adjunct because of its tight integration with Org mode. In an effort to expand its usability, Ramírez has added the option to save its data in Markdown instead of Org mode. That’s important because you can opt to have the data saved in the cloud rather than on the device. That means you can access, read, and edit it from your computer. That’s a real win because it means you have access to your data on all your devices, iOS for not. If you’re not an Emacs user, now you can deal with that data in your preferred markup language.
For Org mode users, Ramírez has added support for rendering both code and quote blocks. If you use Journelly to capture code this is a very nice feature. There’s also expanded language support. Take a look at Ramírez’s announcement for all the improvements and their details.
If you have an iPhone and use it for anything more than making phone calls, you really should look into Journelly. It is, as I’ve said before, a shape shifter that easily adjusts itself for whatever logging-like activity you want to use it for. Highly recommended.