Skip to main content

w/e 2022-07-10

My memories of Flying Ant Day in London are that it was a single day when, if you went outside, there were lots of large, slowly-flying ants in the air and on the ground.

We’ve had Flying Ant Week here but, while I haven’t noticed any outside, they have, as every year, been emerging into our lounge, from somewhere around the window. Every day we close the doors to other rooms, spray the area down with horrible fly spray, and later sweep up the corpses. Maybe today is the final day.


§ A couple of weeks ago I remembered how out of date my oddly first-person-plural company website was. Unfortunately, like everyone else who ever used a static site generator, the code to update the site no longer worked and I couldn’t remember how to update the static site generator itself.

After considering replacing the PHP-based library with a Python-based one (at least I’d remember how to update that code) I decided this was still overkill given the site is only four pages. It could be HTML files but, I thought, I might as well do it in PHP and use includes.

But macOS no longer includes PHP so I had to be reminded of MAMP, which I’ve never used, and set that up, and spend too long faffing with /etc/hosts and other settings wondering why things weren’t working, until I was finally able to type some HTML and SFTP the results to the server because, by this point, I had no patience remaining for trying to remember how to authorize connection to GitHub from the server.

Yes, we are definitely a professional website developer.


§ In a similar vein, I’ve got to the point with New Personal Project that I’ve been wondering where to host it, pondering the usual balance of cost vs easiness.

I started thinking of putting it on a $4-per-month Digital Ocean Droplet. Maybe, unlike last time I tried it, I’d use Docker too. I already use Docker for local development and I could “just” use that on the server too?

But, after a day or two of fiddling with Docker locally, I was reminded that, beyond a certain initial level of curiosity, I don’t enjoy this stuff. And the closer I get to actually using it for a live server, the less enjoyable it becomes. I don’t know what I’m doing and, with or without Docker, I have little confidence that I could securely set up a server.

So I guess I’ll default back to Heroku, where I already have a couple of sites running for $17-per-month each and I can copy their simple set-ups.

On the one hand it feels bad to pay more than four times the necessary cost for something (or more this time, because I’ll need a background worker process). And the extra cost starts to add up over time when you’re running a few sites.

On the other hand, maybe paying $13-20 more per month, per site, is worth it to make this hobby more enjoyable and less of the worrying chore that it would become if I had to spend ages learning how to configure servers badly.

Incidentally, given Heroku has, apparently, been a bit neglected by Salesforce, I keep thinking I should try something else. But I only want to learn something new if it’s likely to stick around for years, and I’m unsure if that’s the case for Render, Fly, or others. Digital Ocean’s App Platform looks pleasingly Heroku-like but every time I google things like how to run Celery on it I get the sense it’s not quite ready.

I’ve never quite understood why shared hosting providers – that were once the standard place for dabblers to host websites – still mostly focus on PHP/HTML sites, given how much more common Python/Ruby/Node/etc. sites have become. I pay a total of £6 ($7) per month to host several low-traffic PHP sites at the lovely Mythic Beasts but hosting a Python site is apparently a different kettle of ballgames.

Although this has reminded me about the also UK-based PythonAnywhere which maybe scratches this apparently very itchy itch of mine. Perhaps it’s time to give them a try.

If you have any related thoughts about this my brain, which, as you can tell, is constantly and annoyingly churning over this stuff, would be happy to read them.


§ We watched the first season of Slow Horses (Apple TV+) and loved it. Gary Oldman was super fun and the whole set-up (disgraced but unfireable MI5 agents dumped in a grotty office near the Barbican) is great.

The bits that were, relatively, least enjoyable were all the scenes that only featured the “baddies” because they felt like they could have been from any standard British spy/crime drama – there was less about those scenes that seemed different.

But overall, jolly good. The one-two of the opening dramatic sequence and the moment that immediately followed was [chef’s kiss].


§ That is apparently all. If it’s going to be as sunny where you are as it is here, I hope you’re able to enjoy it.


4 comments

  1. I have thoughts about Python web hosts ready for your churning brain! Tl;dr for the sort of thing you are talking about, I would probably give PythonAnywhere a try.

    Currently I have Django sites running on Render, PythonAnywhere and in a Docker Compose stack on AWS EC2 instances.

    Render is by far the best Devops experience, similar to but even more straightforward than Heroku. However, of the 3 setups, this is the one that has the most downtime. So wouldn't necessarily recommend for anything mission critical. Hoping this is going to improve.

    Docker Compose on EC2 is actually fine, if you already have it set up for local development. I use a heavily modified version of PyDanny's Cookiecutter project which does a lot of the heavy lifting on the Docker config needed for a production setup, but you still need to know your way around Docker, and AWS (or that corner of it).

    PythonAnywhere is somewhere in between the two. Quirky compared to other types of PAAS, but still pretty easy to use especially to the experienced Django/Flask hoster, and some very handy functionality available. They have been aquired by Anaconda recently, so not sure what effect that will have. I am hoping not too much will change. Generally reliable, although perhaps a little more scheduled downtime than other services.

  2. Thanks Ben!

    I hope Render improves its downtime as it sounds good.

    I have an allergic reaction to anything AWS-related – I'd like to get away from using S3 which is the only AWS service I currently use – so I shudder at the thought of using Docker on EC2.

    PythonAnywhere does sound worth a try. Fingers crossed the Anaconda acquisition is good, or only indifferent, news.

  3. Laravel Valet for a macOS MAMP CLI alternative (although it actually uses Nginx and you need to bring your own MySQL or MariaDB), assuming you know your way around Homebrew. laravel.com/docs/9.x/v…

    I swear by it now though.

  4. Thanks William. I've so far managed to avoid installing any databases on this laptop and am going to hold out as long as possible. Keeping everything in some kind of deletable app or container is satisfying.