In response to girrodocus’s question: #PersonalWebsite creators… what’s your rationale for deciding when to use a subdomain or a subdirectory?

I usually prefer to put sections in subdirectories. That makes it possible to make the entire site portable (depending on authoring tools, anyway). Ideally, I want something that could be zipped up and moved. Or sent to Archive Team. (One of the downsides of dynamic site generators is that you can’t do this.)

When I use subdomains, it’s typically because I want some sort of isolation between the content, or the server apps, etc. But in those cases I’m as likely to use another domain entirely.

I put my main blog in a subdirectory (/journal), but if I set up my own git repository or something like that, I’d probably put it in a subdomain.

That said, I’m currently trying to sort out what I want to keep at the domain I’ve had for the last 20 years and what to move to my IndieWeb identity site.

IndieWeb and Identity

It took 4 or 5 years from me discovering IndieWeb to actually building support into my website(s), because, named after a fictional place, felt like a digital home, but not an identity. So I set up as my digital identity instead.

I’ve been considering several approaches:

  • New stuff on KVibber, leave old stuff where it is.
  • Professional stuff on KVibber, fun stuff on Hyperborea.
  • Original work on KVibber, fandom stuff on Hyperborea.

I might move my scenic and nature photos over to KVibber but leave the funny and comic-con photos on Hyperborea, or move my tech articles over but leave the personal posts.

I’m also planning to put together a light microblog, probably on KVibber, to be the canonical location for short posts on Mastodon/Twitter/etc that I want to keep, but don’t feel big enough for a full blog entry. That’ll probably go on KVibber, even though it’ll blur the pro/fun and original/fan distinctions.

Originally on (and a followup post).

Update September 2022: I guess I’ve tabled the whole question at this point. For now, I’m just using KVibber as a profile page and putting everything else on Hyperborea, like I was doing before.

That took a lot longer than I intended.

But I’ve finally made all of run over HTTPS.

It’s been possible to view the whole site over HTTPS ever since I turned it on for the admin area of this blog years ago, but I left HTTP as the canonical URL and didn’t redirect anything until I updated the Les Mis section, and later this blog. Now, any page you visit on this entire site should load over an encrypted connection.

(Well, any page except for the old Dillo RPMs page, since that minimalist web browser still only has experimental HTTPS support.)

The problem is when you have decades of hand-crafted web pages to go through, it can take a while to make sure everything embeds only secure or same-origin content. Every image, every script, every video. I had to update lots of absolute links, remove some widgets and ads, update other widgets, embedded videos and metadata…and just a bit at a time in my spare time.

Finally I switched on the redirects this morning. Even that took longer than expected, because I’d forgotten that mod_rewrite rules in a directory override any parent directory’s rules, so I had to copy the HTTP-to-HTTPS rewrite rule to each folder that had its own rewrite rules. Then I had to fix the interaction between mod_rewrite and ErrorDocument that was causing custom errors to redirect to the error template instead of loading it behind the scenes.

The free TLS certificate provider Let’s Encrypt automates the request-and-setup process using the ACME protocol to verify domain ownership. Software on your server creates a file in a known location, based on your request. The certificate authority checks that location, and if it finds a match to your request, it will grant the certificate. (You can also validate it using a DNS record, but not all implementations provide that. DreamHost, for instance, only uses the file-on-your-server method.)

That makes it really simple for a site that you want to run over HTTPS.

Redirected sites are trickier. If you redirect all traffic from Site A to Site B, Let’s Encrypt won’t find A’s keys on B, so it won’t issue (or renew!) the cert. You need to make an exception for that path.

On the Let’s Encrypt forums, jmorahan suggests this for Apache:

RedirectMatch 301 ^(?!/\.well-known/acme-challenge/).*$0

That didn’t quite work for me since I wanted a bit more customization. So I used mod_rewrite instead. My rules are a little more complicated (see below), but the relevant part boils down to this:

RewriteEngine On
RewriteBase /

# Redirect all hits except for Let's Encrypt's ACME Challenge verification to
RewriteCond %{REQUEST_URI} !^.well-known/acme-challenge
RewriteRule ^(.*)$1 [R=301,L]

These rules can go in your server config file if you run your own server, or the .htaccess for the domain if you don’t.

Continue reading

The recent approval by the EU of’s trademark on the words of their own title “Candy Crush Saga” for use in game and app titles, and the resulting flurry of infringement allegations, is of particular interest to me. Not as a CCSaga player, although I am one. (Level 491, used to comment on my levelup posts with helpful advice for other players, have accidentally spent real money but never won a level by using purchased powerups.) Not because I think it’s ridiculous, although I do. Not because I’m outraged about one more case of the big guy going after the little guy (“All Candy Casino Slots – Jewels Craze Connect: Big Blast Mania Land” excepted and notwithstanding), although I am. Not because I think CCSaga has used underhanded tricks to winkle money out of its players, or because I dislike the deliberate manipulation of addiction mechanisms by game developers, or because I resent the social gaming model for making participation as much a responsibility to your friends as a pastime for yourself. All relevant and true, but the real reason I’m following this story is that I’ve been involved with since before CCSaga existed. I know where it came from, I’ve been watching its evolution, and I’m interested to see what this episode does for (or to) the company as a whole. Continue reading

Some recent linkblogging. (Thank you, StumbleUpon)



Scott Pilgrim