Overview
News
Salaries
Products
People
Growth
Offices
Financials

Overview

P.T.C.: software and science About Me Talks Courses Blogroll T-Shirts Categories Pollenflug Links Reading List Year Archive Terms Paul Cochrane Versatile software developer, physicist and geek Germany Email Mastodon GitHub GitLab LinkedIn Hi!

News

Blog 4 months ago
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.
Read more
Report
Blog 6 months ago
Computational physics with Python: tool setup
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, th
Read more
Report
Blog 6 months ago
I think the bots don't like me anymore
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 th
Read more
Report
Blog 6 months ago
Building LaTeX documents on GitHub
Do you have LaTeX projects on GitHub? Ever wondered how to get GitHub to build them automatically? Here's how I do it.
Read more
Report
Blog 6 months ago
Finding a fisherman's fastest path from shore to boat
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 interesti
Read more
Report
Blog 7 months ago
German Perl/Raku Workshop 2026 (Berlin): a report
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.
Read more
Report
Blog 7 months ago
Avoiding empty strings in non-nullable Django string-based model fields
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 tim
Read more
Report
Blog 7 months ago
StreetComplete: Pokémon Go for map geeks
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 trackin
Read more
Report
Blog 8 months ago
Forwarding a Vagrant-based Jekyll dev server to its host
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 thi
Read more
Report
Blog 8 months ago
Changing a hostname in Debian seems harder than necessary
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
Read more
Report
Show more news