I create a lot of little static websites for friends and family and want them to have some level of reliabilty and ease in updating. Back in 2015 I moved this personal blog to AWS using a mixture of S3, CloudFront, and Route53. At the time there wasn’t a lot of players in the easy static site hosting space, but these days I’d recommend purpose built services like Netlify. I mostly stick with my current setup to avoid the hassle of migrating so many projects or having two separate pipelines running.
Often I stumble upon articles but don’t have time to read them at work, or maybe they’re longform and I don’t want to spend that much time looking at text on an emissive screen. To solve this issue I decided to build a solution that would wrap these articles up and deliver them to my Kindle to browse at my leisure.
I was partially inspired by “reader mode”, a common feature in many browsers that lets you strip away anything that isn’t directly related to the article you’re reading.
I recently discussed my network attached storage server yet again, and it made me think about what the future holds for this device. I did some brainstorming and settled on the following areas of potential changes and upgrades.
Permissions Currently the NAS is open, a trust model that has been fine in all the living situations I’ve used it. Everyone on the network has read/write guest access to the network file share componenets and although the FreeNAS web interface does have a username and password it is still shared with a limited group.
For a long while now I’ve loved the idea of computing using devices with less capability. My six year old Macbook Pro (dual core i5, 8GB RAM) chugs when opening and browsing Facebook on Chrome. The way I use Facebook, it’s not doing anything different for me compared to how I used it six years ago when I got it, so why should it (or Chrome, or the underlying OS) start performing so badly?
If you’ve got a single ingress IP, perhaps a NAT situation with various services behind a router on a private network, and you want to route different domains to different backends, you can do it with HAProxy. If you want to use HTTP and HTTPS without using SSL termination on the HAProxy host that’s possible too and what we’ll explore here.
What you will need is:
One host with HAProxy, with all TCP traffic on ports 80 and 443 being routed to it.
A new year lies ahead in all it’s glory, and I want to spend at least some of this year being more aware of how I approach information, communication, and technology. While ICT is often seen as a staid descriptor, I think it perfectly encapsulates the areas that I want to be more conscious about.
It helps to define what I mean by “more conscious about” in this context. I decided to reduce my focus to the following pillars:
As part of my VoIP adventure game, I need to set up a VoIP number, but thankfully my ISP (iiNet) provides a free VoIP number to NBN customers, so that was covered. Next up I needed a virtual PBX, I went with Asterisk. This was an easy install on Ubuntu 18.04, just:
sudo apt install asterisk Of course, installing software is much different from configuring it for use, so let me just preface this with describing some of my experience:
First on Gopher, then in LaTeX, it started becoming apparent that I have a predilection towards short, one-shot Choose Your Own Adventure-style stories on strange mediums. So in that vein, I decided to make another one, but this time played via a phone call made to a VoIP (Voice over Internet Protocol) number attached to a virtual PBX.
To do this, I firstly needed a VoIP number. Thankfully my ISP (iiNet) provides a free VoIP number to NBN customers, so that was covered.
A few months back I built a tool to cross-compile my Hugo blog into one that can be accessed via the Gopher protocol.
More recently, I built a CI/CD pipeline on my GitLab* instance which automatically compiled and uploaded my website to AWS. I won’t cover that here, but I found a wonderful and perfect guide for it.
Sometime yesterday I decided to take this all one step further and integrate my hugogopher into that CI/CD pipeline.
Not long after the passing of Terry Pratchett, revered author of the Discworld series (and many other excellent works!), people everywhere wanted to find ways of memorialising him in their own ways. One great solution was based around adding headers to web requests. The “clacks” sempahore system in Terry Pratchett is a form of low-tech, distributed, packet-switched network much like the internet and so it seemed fair to modify our systems to carry on his legacy.