First Step

The website is online. The edges are rough, but the basic layout is there. There for anyone to randomly stumble upon.

Great, you put some HTML online, but why?

Let me warn you: the following is going to get rambly

Why?

This is an appropriate moment to tell you I like computers. Maybe you're smart, and figured someone who's stubborn enough to start a personal website in 2021 is probably some kind of enthusiast, nerd or geek. I guess that's more or less right. I want to reclaim the internet as a space for individual people, and call out the hermetic siloes into which the GAFAMs of this world are throwing people in order to farm them. I want an internet which is for the people, respects their rights and promotes their wellbeing, not the addiction machines which erode civil rights and endanger democracy.

Along this vein I would like to write about the following things:

If you want the extra rambly version of how I ended up wanting to make my own website, have a look at the timeline section further down this page. It's a sort of timeline of my relation to computers and technology. Otherwise, skip that part, it's extra rambly.

Personal website criteria

Putting together a website has been on my todo for a while. There were several criteria I wanted it to fulfill.

The first was to be self-hosted. That means running on my own hardware within an environment I am fully in control of. This not only makes it easier to troubleshoot problems by giving me as much control as reasonably possible, but also simplifies packing it up and moving things elsewhere, as I know how the pieces fit together.

The second was making it lean and mean. Well, maybe not mean but as lean as possible. I had been eying up some static site generators including hugo, jekyll and pelikan which all seemed good in the eye candy department. But when I asked myself whether they were really necessary, I didn't find any must-have advantages. Sure, they automatically fill in your RSS feed based on your blog posts, but I can also just copy over the html of a newly written post by hand. Of course, you can quickly get a nice looking site without learning about all this HTML and CSS stuff, but I thought it would be fun to learn something new. I didn't need any fancy features either, so figured it would stay simple. I can recommend htmldog if you want a step-by-step guide to HTML and CSS. Otherwise, just reading the beginner HTML lesson on htmldog and using other sites as inspiration works equally well. Have a look at the Links section for some examples of blogs to get your inspiration going.

The End result

It's staring you right in the face. It's made of simple HTML/CSS that is written by hand. All of it is hosted on one of my server boards: an Olimex Lime2 , a Cubox i4 or a Cubietruck. Out of the four, the olimex is my favourite because it's open hardware. On the software side all of these boards use Armbian. I had used Arch previously, but a php upgrade broke wallabag. After a year of compiling an older LTS version of PHP to make it work, I thought that maybe something Debian-based would be more suitable. All of this is managed with ansible and occasionally a custom-made debian package.

RSS is still missing from the site. But based on what I've seen from other site's feed.xml or similar, it shouldn't be too hard doing this by hand too. Basically copy across the html body, add a title, date and do some formatting.

Timeline of how I got here

File-sharing

I honestly can't remember what the year was. I wasn't in high school yet. The coolest thing involving computers was Flight Simulator, I think? And then p2p file-sharing started and wow, all of a sudden the computer was the uplink to not only news, but music, movies, games, books, comics, anything you could think of. It felt like the gateway to the entirety of human knowledge and culture. The "in" thing to do was hang out on MSN messenger with Winamp playing that freshly downloaded tune, and it showing up as an advertisement to all your other MSN contacts. Kind of self-centered like the instagram posers of today, but it was really, really cool to my friends and me at the time.

Online gaming

Saving my own money was now possible, and my first big purchase was my own desktop computer. Finally, I didn't have to share the gateway to the internet with anyone else. And I threw myself into video games, disappearing into my room which now had a brand new desktop with internet access fast enough to play online games. MMORPGs were the biggest attraction for me at the time (apparently some of them have continue to be playable thanks to community efforts. I even remember it was a controversial issue then because I needed to ask for my parent's credit card to pay the monthly subscription. After years of buying physical copies of games, they were initially reluctant of having to pay every month forever to play the same game.

This lasted a few years and then I got bored of video games, and moved on to other things. Eventually going to university.

My laptop is too slow, enter GNU/Linux

Now I could use my own laptop for looking at handouts during lectures. I didn't want to spend more than strictly necessary. After all, the only functionality I needed was looking at pdfs, checking my e-mail, and browsing the web. I got a lightweight, small laptop the size of an A4 sheet of paper. I think it was a Packard Bell dot u. Look at that beautiful tone of red. But Windows was so damn slow on this thing. Spinning hard drives were all I was getting with my tight budget, so I started looking elsewhere for improving the speed of this machine.

Then I came across ubuntu somehow, and bam! never looked back. That annoyingly slow laptop suddenly became my precious darling. Faster startup, faster shutdown, no annoying crashes, longer battery life. I had this great little mobile machine with all the lecture handouts and exercises on it. I didn't need to laboriously print out every single lecture slide and carry around all that weight with me. And in a jiffy I could check e-mail for any updates with the same machine. I had it about 5-6 years before I lost it abroad somewhere. I felt stupid for loosing this do-it-all, super-mobile, magic machine but ultimately ended up replacing it with something similar.

Phones with apps

Hold up, hold up. You're telling me all the things we did with computers we can now do on a phone that fits in your pocket? Ok, maybe not all the things, but a good chunk of them that it seems seriously worthwile. I remember getting a Motorola Milestone for the keyboard. Every morning on the train I would check and answer my e-mails. I was still a cheapskate, so I didn't even have a mobile data plan. But there was internet access at home and at university, so I didn't bother.

Written in small legalese: you have now signed over your digital life to Google, welcome to the new and improved internet!

Raspberry pi

Hey, check out this awesome looking tiny computer. It can do quite a few things and is insanely cheap. Hey, you remember all those videos you've been collecting? Connect a pi to your TV and enjoy the polish of Kodi - still my favorite media center to this day. No more getting your laptop, connecting the charger and the HDMI cable. Just leave the pi connected to the TV and sit back in the couch.

Why is my calendar for sale?

Remember that "agreement" you "agreed" to when setting up that Android phone a few years ago? Well, your calendar and anything else you entered into that phone is now for sale to whoever wants to shell out for it. Ehm... what? Like even my location? Where I've been, for how long and with who? Yeah, that's also in the contract. Can you stop doing that? Well you can stop using that fancy computer in your pocket any day you want.

Ok, that's too much creepines, how do I get the hell out with my data? You remember that cheap pi you bought a while back? It can do a lot of things, here checkout owncloud, you can put your calendar and contact book there instead of with big brother G.

Great, that solved the calendar and contacts syncing issue. What about the rest of my phone? And so began a slow move away from the empire that Google's spyware had become. Over the years, android was replaced by cyanogenmod, then lineageos, and the play store with f-droid.

XMPP, please save us!

One ingredient missing from all this is communicating with other people. Moving data like calendar, contacts, pictures to a different service is relatively easy. It only involves you. You don't need to ask permission or convince other people. When it comes to communication services, this is way more complicated. Today, the mainstream communication platforms are designed like hermetic data silos, you can't communicate between them. If you decide to use service X to communicate with your buddies, any friends on service Y will be left out.

This means that if you want to change the chat service you use with your friends, you'll have to convince each and every one of them to switch. The usefulness of a chat service is directly dependent on how many of your friends use it. Who are you going to talk to if you're the only one using chat service X? The way the GAFAMs and other distasteful actors have combined this network effect with their hermetic silos is intended to create a strong vendor lock-in. This is why communication services are so critical. To protect the privacy and digital rights of their users they should be interoperable, self-hostable and ultimately in the hands of the people, not a handful of profit-driven companies.

Looking at what other chat solutions were out there is how I came across XMPP. It ticked most of the boxes:

Matrix has also gotten a lot of good press lately. But in my view it doesn't tick the 'Community governed' and 'Lightweight' boxes. I'm also not sure if it's really a good idea to indefinitely keep chat history, which I understand is the default setup.

Host all the things!

First it was media, then calendar/contacts, then XMPP. Today, if it's not possible to host a service yourself, I try to avoid it.

One service I still don't host myself is e-mail . It's on my list of to-do's and will surely be featured in another blog post at some point...

I keep a list of some of my favourite self-hostable software in the links section.