Sure mate, buy me a bloody coffee
I don’t usually get involved in the internet reply-fest du jour, but this time I thought I’d give it a go. It involves coffee, just in case you wondered.
Software, maths, physics, and notes to my future self
I don’t usually get involved in the internet reply-fest du jour, but this time I thought I’d give it a go. It involves coffee, just in case you wondered.
Imagine you want to learn computational physics and Python as an advanced high-school student or undergraduate. Where to start? Assuming no prior programming experience, a quick introduction to programming concepts won’t go amiss. To get to that point, though, you’ll need to prepare some tools first.
After about five months of AI bots hungrily munching on my blog’s free training data, they seem to have abruptly stopped. It’s a good sign, but given they seem to be hammering most other sites on the web, it’s somewhat odd. Here, I have a quick look at the numbers to see what’s been happening.
Do you have LaTeX projects on GitHub? Ever wondered how to get GitHub to build them automatically? Here’s how I do it.
When tutoring high-school students in maths and physics, I sometimes stumble across interesting problems. In this scenario, a fisherman seeks to determine the fastest route from his location on the shore to his boat out in the water. What I find interesting here is the change of perspective that makes solving the problem easier.
Last week, the 28th edition of the German Perl/Raku Workshop took place in Berlin. It was great to see some familiar faces (as well as some new ones!) to discuss computing, our favourite Swiss army chainsaw, and much more.
Trying to save a null value to a non-nullable field in Django will raise an IntegrityError, right? Well, not always. It turns out that Django saves string-based model fields as the empty string into the database instead. Usually, this is ok. For those times that it isn’t, you’ll need to add a constraint. Here, I explain how the situation arises and how to avoid it, if you want to.
A few years ago, while recuperating from our at that time “favourite” dreaded lurgy,1 I stumbled across StreetComplete, an Android app to update OpenStreetMap data in a fun and easy way. It’s reminiscent of games such as Pokémon Go. But instead of tracking down Pikachu, you update the world’s largest open mapping system, thus contributing to the wider community. Yes, I mean Covid. Yes, I’m being…
Forwarding port 80 or 22 from Vagrant virtual machines to their host system is fairly simple. Piping non-privileged ports outside the VM–from, say, a development HTTP server–requires not much extra work. Yet, it’s not always obvious how to do this. In this post, I explain how a Jekyll development HTTP server running within a Vagrant VM can allow connections from its host and why the configuration…
Changing a host’s name in Debian1 is a two-step process, and there doesn’t appear to be a more direct method. This seems odd to me, somehow. Because I stumbled upon this issue and a confusing error while relying solely on sudo, I thought I’d write up how I worked around it. … and probably Linux in general, but I didn’t check.