P.T.C.: software and science
Paul Cochrane
Software, maths, physics, and notes to my future self.
All posts (12)
My sister-in-law gave me this espresso cup. It’s pretty cool. 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. BTW: I’ve used a bit of the antipodean vernacular in this post. You have been warned. There was a bit...
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. In this post, I...
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. An AI bot, bored of...
Do you have LaTeX projects on GitHub? Ever wondered how to get GitHub to build them automatically? Here’s how I do it. Building LaTeX documents via TeXLive on GitHub. Image credits: TeXLive logo, GitHub logo, PDF file icon A geeky workflow for LaTeX documents I’m a geek. More precisely, I’m a physicist. So I’m...
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...
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. This report contains rough notes of the talks that I attended. German Perl/Raku workshop logo...
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...
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...
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...
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. Confused about an /etc/hosts hostname...
Logging in to a VPN shouldn’t cause DNS to stop working, right? Well, you’d like to think that, wouldn’t ya? And the problem wasn’t PEBKAC this time, either. Finding the right setting to fix the problem did take some time, but I got there in the end. There’s no way it’s DNS (earliest image reference I could find). A...
As with my work, when I write articles on my blog, I have a focus on quality. Here I describe my current writing process, primarily to document things for my future self. From idea to article.Image credits: Konstantin Mironov via Vecteezy and Sumit Kumar via Vecteezy I have ideas. Lots of ideas. Unfortunately, too...
Page 1 of 1