I had a funny experience yesterday when I pushed my new website. Rather than import the theme into my existing github repo, I decided to point my manifest over to the repo where I was developing the new theme. I pushed it and everything updated, except for my home page, which still maintained the old theme.
It was absolutely baffling - there wasn’t any code from my old theme in the new repo and when I checked the public folder, sure enough my new index.html file had been built. Yet for some reason, my website was still displaying my old home page.
After saying “fuck”, “shit”, “ass” and “piss” several times, I started debugging it. In the end, I just ‘solved’ the problem by writing another article and pushing the code again. I’ll call it caching and try my best to forget the whole experience because the problem is solved, my new website is up and selective amnesia has been my key to a long career in startups.
The new website is visually different and there are some big changes to talk about.
The stack
The technologies are really simple - it’s the basic web technologies (HTML, Javascript and HTML) with some helpers to make things easier. For example, I use Hugo to generate static files, DigitalOcean’s App Platform to serve the files, Formimp to process the contact form and deliver it to a Slack channel, UIkit as a CSS framework and SCSS to make working with CSS suck less.
One thing I’ll note is that the web wasn’t this complicated in the 1990s. Technology is remarkably better today, but at the expense of startup hurdles. Back in the day, it took an FTP client and a text editor to deliver results at or near the levels of the world’s biggest tech companies. Now?
Now I have a build process and something like CI. It was all easy to set up and I’m happy with how my builds work, but I do this for a living. If I was a pimple faced teenager would I still be making crude websites about all my favourite bands? Or would the barriers to entry be such that I would be more inclined to make Tik Tok videos about all my favourite bands?
I have a good face for podcasting so let’s all be grateful I don’t have to make that decision nowadays.
It’s so big
I’m not trying out to write lyrics for Sabrina Carpenter, instead this site’s payload is much larger than my last site. As an example, when you visited my last home page by the time all the code was decompressed your browser had consumed 521kB of resources. When you visit my new home page, your browser consumes 772kB of resources.
My old website was 67% the size of my current. Or whereas my old website was roughly 22% of the original Doom my new website is 32%. That’s unacceptable and I will be working on it. The sheer size has helped create a few performance issues which I will also be addressing.
But it’s more accessible
My last website performed well but had disappointing accessibility scores. While it worked quite well with a screen reader some of the contrasts were too low and some people struggled. Since I reference Sabrina Carpenter last item, let’s just say “think I only want high contrast in my text.”
While my coolness just took a dramatic hit, this site’s accessibility scores are much better.
Django secret key generator
I actually enjoy writing code and mainly work in ops so I end up with a lot of tools and utilities. Some turn into products like Formimp or Siteimp. Others just sit on git forever. One of my goals for this incarnation of the website is to start making some of those smaller tools public as well.
Note - another one of my goals is to stop misspelling public.
The Django secret key generator is my first release. It started off because I’m comfortable using command line to generate keys, but not everyone is. And while there are other tools online, I have never found any good documentation how they work. And sicce secret keys are so important in Django, I think it’s important to know how my tools work. Hence the secret key generator. The code is written on the page and I’ll be writing a full article about it soon.
Lots of changes
There are a lot of changes coming up. I need to do some work on performance first, but I’ll be releasing new tools and writing new content about some of my adventures in training generative AIs. As always, let me know what you think or if you have any questions.