I have had a website since the mid-90s. I started with a simple HTML page hosted by a non-profit community organization.
Back in the day, everything was static HTML and the folks at the organization were full-on Linux nerds. Then I moved to GeoCities, which was fun but limited in terms of customization.
None of these options survived, since either the service went out of business or I terminated the service myself.
You will still find some other fragments of my online presence scattered around various University pages, where some admin forgot to take them down.
Pains of Self-Hosting
I moved to an AWS-hosted WordPress site in 2020. Having dealt with years of Linux systems, getting PHP, Lighttpd, and Postgres running was not a big deal. It was great at the start, but then the security maintenance crept in, moderating spam comments, and the constant need to update plugins and the WordPress core. While I managed to pull off hosting on AWS with a shoestring budget, the recurring monthly cost of about $5 started to nag. When AWS decided to include virtual network charges for the primary domain, this became more painful for a mostly static site.
So I have been thinking of going back to a static site. Being incredibly cheap (except for the domain registration fee), the best viable option that stood out was GitHub Pages. I have been using GitHub for years to host my code, but until now it did not occur to me to use it for hosting a website.
What makes it attractive is that you can host up to 1GB for free as long as you make the underlying repository public.
This also gets philosophically interesting when you think of digital remains. I have crossed to the wrong side of 40 a few years ago, and if I get hit by a bus tomorrow, or overdo my Karate sparring and get inadvertently killed, I want my digital remains to be accessible. Yes, you guys still have to see this ugly text-mode website!
So bye bye AWS bloodsuckers and hello GitHub. Jeff, take the money to entertain your trophy wife and testosterone replacement therapy from someone else.
Hello SvelteKit
The deployment of a static site is easy. The second problem was to make a site that looks decent. WordPress makes this reasonably easy with plug-ins, having oodles of layouts (though I customized my last one heavily to make it look simple). So I needed a framework that is easily customizable and contains less BS. The solution I found is SvelteKit. While this at first looks like a full-blown JavaScript framework with a required server-side backend, it can also be used to generate static sites. It is easy to set up and has a vibrant community.
While I was traditionally hostile to JavaScript frameworks, I have to admit that SvelteKit is quite nice. And if you still want to maintain a grudge against JavaScript, you can write everything in TypeScript too.
So I decided to take the Svelte & SvelteKit Course. I highly recommend it. It is well-structured and quite eye-opening for me, who mostly spends time in the embedded field and is a literal fossil when it comes to user interfaces.
I also discovered Josh Collinsworth’s SvelteKit Blog Starter template. It looks like a great starting point for the blog. I am also planning to work with TuiCss, which was so painful to hammer into WordPress, in that framework.
By the time you read this, I will have migrated all my old posts from the WordPress site to the new SvelteKit site.
The Survival Engineer Blog Migration
I got an email a while back from the University of Waterloo admin that I no longer work there and that they want to
take my eng website down. The trouble is, a lot of code examples and downloadable files are still hosted there.
I have been meaning to move this stuff for a while, but never got around to it. While Blogger was great for SEO (in 2015),
the main drawback is that it could not host non-image files. So I had to host the code examples on my University webspace and
could not keep them in a single place, like here.
Published: 2025-04-08
Updated : 2025-10-01
Not a spam bot? Want to leave comments or provide editorial guidance? Please click any
of the social links below and make an effort to connect. I promise I read all messages and
will respond at my choosing.