Arnt Gulbrandsen
About meAbout this blog

How to use Plusxome

Plusxome is a rewrite of loathxsome, which in turn is a rewrite of blosxom, which also spawned other rewrites, of which pybloxsom is/was the best known. The original purpose of my rewrite was to play around with C++11. I appear to have been running it in production for many years now, which implies that it's solid enough to warrant a user guide. The number of likely users suggests that a very short one is sufficient. But one should exist, because I do not approve of undocumented software.

Plusxome is the kind of program that's user-friendly and choosy about who its users are. This program is only for people who host their own blogs on linux, are happy compiling C++ and can write HTML.

First, git clone the source and build it. Second, write a template, or several. One of my templates is quoted below. Third, write some HTML that'll turn into a blog posting. Again, an example is below. Fourth, start plusxome using a command such as plusxome -base-directory /home/arnt/rant --home-template all.template (but see the -h option first). Fifth, join the tradition and rewrite it, or join the modern world and get a hosted blog at a SaaS company.

Here's a posting, more or less in blosxom format:

How to use Plusxome
meta: tags=rantg,plusxome

<p>Plusxome is a rewrite of <a href="https://github…

Whitespace matters for the first few lines, after that it's plain HTML. You may include whatever HTML you like. It'll be passed through HTML tidy and inserted into the right spot in the template, and comments will disappear. If you add a new blog posting, plusxome notices that at once and serves it as it should. Here's my all.template:

<!doctype html>
<meta name="viewport" content="width=device-width">
<meta name="robots" content="snippet,follow,archive">
<link rel=stylesheet type="text/css" href="/arnt.css">
<link rel=icon type="image/png" href="">
<link rel=alternate type="application/atom+xml" title="Arnt Gulbrandsen" href="">
<link rel=author href="">
<link rel=author href="">
<title>Arnt Gulbrandsen</title>
<div id=container>
<a href="" class="homelink">Arnt Gulbrandsen</a>
<div class=trivia>
<a href="">About me</a> •
<a href="">About this blog</a>
<div id="postings">
<div id="otherposts">
<h1>A few other posts</h1>

As you can guess, whitespace doesn't matter and comments are removed here too. I also have three more templates, -h lists the possibilities.

Plusxome does not support TLS. I run a web server that terminates TLS and forwards (some) requests to Plusxome via cleartext HTTP. (I also run Plusxome on my desktop, serving my blog's working directory, so that it shows the current working state, including unfinished and unpublished postings.)


There's a lot of hair on fire this week...

This blog, like my other websites, does not process your personal data (arguably my personal data constitute an exception). There are no cookies, no comment forms, no login, no third-party plugins or buttons or scripts, nothing, and that's the way I want it. There is a server log file with IP addresses, which I can't remember ever using and have no plans to use, either alone, by combining them with any other personal data, or by giving them to any third party. I don't actually know for how long those IP addresses are kept. Not at the time of writing and certainly not at the time of reading.

Have a nice day. Don't panic.

Why this is on IPv6 only

New IPv4 addresses are being allocated at a rate of 6-7 per second and there aren't very many left. In a while, we're going to run out. What then?

I think that when it happens, some people will try to buy other people's IPv4 addresses, but frankly I doubt that there'll be enough willing sellers to supply 6-7 addresses per second, so at least some people will have to make do with only IPv6 addresses. That's going to be painful.

That period will be less painful if a few people put web sites and other services on only IPv6 now, so that the transition starts sooner, with fewer victims, and ramps up later.

I'm not willing to do all that much. But this blog is unimportant, so I put that on IPv6. I could have used a name-based virtual host or used one of my free IPv4 addresses, but someone has to make a start.

Later, maybe I can put something other than a web site on IPv6.

The blogger and the blog

Postings to this blog represent the opinion of Arnt Gulbrandsen,, Schweppermannstraße 8, 81671 München, Germany. If something sounds more like fact than opinion, then it represents my understanding at the time of writing, no more.

Links to other sites worked as intended at the time of writing, but of course I cannot vouch for their accuracy or veracity at the time of reading.

There is no comment form here, because a) I wouldn't get any, so why bother, and b) German law effectively requires moderation, and that's a chore I hate more than most.

Please send me email if necessary.