Software is Sh*t

In which I rant about the state of modern OSS

March 27, 2017
blogging software usability

Software is sh*t

I’ve been trying to get back into blogging, the easy way. A minimal, static website, easy to publish stuff, no big overheads, control over what I write. I looked at hosting pages on github, which seemed like a good enough option. Github pages suggest something called Jekyll as a generator for the site – much better than manually coding everything up in HTML and linking stuff by hand.

It’s a nightmare.

Why, in 2017, is it harder to install some dinky piece of software than it was 20 years ago? Why do I need to download half the packages on the internet to resolve dependencies? And what do I do (as it invariably happens) when somthing falls over with a cryptic error message? It’s enough to turn you into a grumpy old man.

Then one of my twitter friends recommended Hugo. Installation was fine, only then github was confused. It is already well known that git is not exactly the pinnacle of usability, and it doesn’t help that it seems to become the default tool for any command-line job. I can see that a website can be modelled with a repository, and it’s probably a good idea, but git seems such an overkill for 90% of what you would want to do.

Several attempts and hours later I have a basic site running. But, no white space between the date and title of the blog post. And no idea how to fix that. Gah. Maybe it would have been better to just hand-code everything.

It is understandable that website generation is complex. This can easily be seen by the number of generators available for doing so. Everybody who tries to use one seems to find it complicated and illogical, and then writes their own. Which slowly grows into a behemoth that is complicated and illogical.

It might sound arrogant and elitist, but I think software engineering is harder than many people think. It’s always easier to start a new project than to maintain and curate an existing one. As a logical consequence we have a proliferation of software projects, mostly doing the same things in different ways. And few of them are of a high enough standard to be properly usable.

I really wanted to end this post on a constructive note, but I don’t think I’m able to.