Cache it

There’s something about running a website off of minimal resources that appeals to me. I love trying to find efficient ways to present the same amount of data. I host this site at home on a 3mbps down/0.5mbps up ADSL I have now moved it onto a VPS with Gandi. I’ve had to make sure this is fairly efficient bandwidth-wise as a result. It also needs to go easy on the backend side – my processing power is limited to what a Raspberry Pi 2 can do, which… is quite a lot to be honest, but it’s not exactly a super computer.

As it’s early days, I’ve not done much minimising or anything similar. Eventually I’ll write a website update deployment script (it’s a bit of a manual process at the moment) which will perform tasks such as compressing, minimising, etc.

When I first connected to the internet, it was on a 56k dialup modem. Data would download at 3KB/s, so a website with lots of images would take a long time to load. I can remember opening guides on GameFAQS.com and waiting minutes for them to load, and they were just text files – no images at all.

Things have sped up now, allowing for some really cool technology to exist, and that’s great. But there’s nothing wrong with simplicity, either!

However, nobody wants to wait ages to load some images on a simple website when they’re used to fast download speeds, so I’ve moved all of the images over to a virtual server hosted by Gandi.net whilst I haven’t got much on here. If I did it later I’d end up having to script it or manually move loads of files. Quicker to do it now!

The virtual machine it’s on is fairly low spec, but the pipes are much fatter than this ADSL. I could put the whole website on there, but I still want the challenge of creating an efficient website(s) on low spec hardware!

Moving the files over revealed a few things I need to work on.

Generally it’s not a good idea (for security reasons) to custom-write a CMS, but I’ve sort of done one here. It’s very simple, and doesn’t have many features at all, but I’m slowly building on it. One thing I have picked up on whilst making this cache change is that there’s some repetition in the backend code. I ended up needing to edit several parts of the code with the same thing. I’ll be patching this out in future versions for sure.

Chances are I won’t make this CMS public, there are so many better alternatives out there, but maybe one day.

UPDATE 2018-11-13: Due to the reasons outlined here I’ve actually moved this website over to WordPress on an external host. I’ve still got all the code for this CMS, but I can’t imagine I’d continue using it, though I will move back to using the Pi2 eventually.

Leave a Reply