Jekyll-built static sites are public by default. However, have you ever wanted to create a private area where you can upload articles for review and keep them from the public eye until they’re ready? That was my use case recently. Here’s how I solved this particular puzzle.| P.T.C.
What’s the action of a simple harmonic oscillator? And how does this change depending upon the path? Some mates of mine and I worked through this recently. This is my write-up of that calculation.| P.T.C.
The solution of the differential equation describing simple harmonic motion is often presented as-is, or “handed down from above”. Usually, there is no attempt at justifying where the mathematical solution comes from. To me, this wasn’t good enough. Here, I try to provide some intuition for the solution’s form.| P.T.C.
An alternative form for the solution of a simple harmonic oscillator caused some short-lived confusion and consternation. Resolving the conflict turned out to be fairly straightforward.| P.T.C.
Printing statistics to the terminal or plotting data extracted from FIT files is all well and good. One problem is that the feedback loops are long. Sometimes questions are better answered by playing with the data directly. Enter the Perl Data Language.| P.T.C.
FIT files record the activities of people using devices such as sports watches and bike head units. Platforms such as Strava and Zwift understand this now quasi-standard format. So does Perl! Here I discuss how to parse FIT files and calculate some basic statistics from the extracted data.| P.T.C.
Last time, we worked out how to extract, collate, and print statistics about the data contained in a FIT file. Now we’re going to take the next logical step and plot the time series data.| P.T.C.
Last week I attended the German Perl/Raku workshop 2025 in Munich, Germany. This is a retrospective of my experiences there and a summary of the talks.| P.T.C.
In the previous post, we created a network close enough to reality so that finding routes between stations was possible and sufficiently interesting. In this final post in the series, we’re going to see how to handle indirect connections between stations.| P.T.C.
The previous post focused on adding more lines to the network and adding colour to those lines. This time, we’ll add another line, but now the map will better match reality. This will allow us to start finding routes between stations on the network.| P.T.C.
A real tram network is more like a web of interconnecting lines. Although more lines mean more complexity, they allow Map::Tube to better reflect reality and thus be more useful and interesting.| P.T.C.
Continuing our deep-dive HOWTO about building Map::Tube maps, we describe the structure of a Map::Tube map file, extend the map for the first tram line, and use a plugin to graph the network.| P.T.C.
Mohammad Sajid Anwar’s post in last year’s Perl Advent Calendar about his Map::Tube module intrigued me. I decided I wanted to build such a map for the tram network in the city where I live: Hannover, Germany. Along the way, I thought it’d be nice to have a detailed HOWTO explaining the steps needed to create a Map::Tube map for one’s city of interest. Since I enjoy explaining things in detail, this got … long. So I broke it up into parts.| P.T.C.
An article from last year’s Perl Advent Calendar gave me an idea. As is often the case, that idea spawned other ideas. One of those new ideas raised the question: “How do I get all tram lines and tram stops in Hannover, Germany from OpenStreetMap?”. Here’s my answer to that question, implemented–because reasons–in Python.| P.T.C.
Ever been staying at a hotel and gotten annoyed that you always have to open a browser to log in for wireless access? Yup, me too. A recent instance was particularly frustrating and I had to pull out my favourite Swiss Army chainsaw in order to make my life a bit easier.| P.T.C.