Introduction - and, Why Halp?

This is my new home on the Web, where I'll be blogging about aspects of my work and profession that I think will be of interest.

Some topics I'm planning to cover in the future include:

I've moved my personal stuff - projects, hobbies, photography, and mental meanderings - onto Gemini, at Gemini is more fun for personal stuff, and lets me create a clean separation between topics of interest to professional software developers and managers, and ... everything else 😀.

Why Halp?

You might have noticed that the new site layout is pretty spartan. Instead of a hamburger menu at the top, there's just a link to a menu in the footer ... and there, there's a link back up to the top of the page. This isn't my idea; I've shamelessly stolen it from Brad Taunt.

But the software running this site is my own. It's Free Software, written in Perl 5, and very much a work in progress. Currently it serves up Websites using a simple templating system, with generated RSS feeds. Soon it'll serve up my Gemini capsule, too, in a similar fashion. Once I've run it for a while, and I've tidied up and documented things sufficiently, I'll do an actual release.

The choice to write my own Web and Gemini server software might be seen as a little strange, as might my choice of language (especially given my love of Common Lisp). As I explain in the Halp README, I have several goals for the project:

  1. Long-lived. Ideally, it'll last me for at least a decade, maybe more.

  2. Highly portable. I don't want to be tied to the "big three" of macOS, GNU/Linux, and Windows - Plan 9 is still on my radar for the future.

  3. Safe. This means, e.g., not having to roll my own crypto or template libraries.

  4. Not a Google product.

This led me to a pretty short shortlist:

Having spent a few years as a professional C coder I'm reluctant to reach for it for any text-heavy task. rc is okay but I don't find it terribly easy to read - I struggled a bit with Werc. That left ... Perl!

Updated 2024-04-20: I wound up building Halp as a static generator, instead, after deciding that my time would be better spent not implementing a bunch of fun but time-consuming Web server features.