Well, I guess it wasn't feature complete after all. Easy to forget when you're mostly running on the treadmill. Once the hills come around, though, you know you need to log and display elevation gain, or climbing.
So now my workout log does that.
You can see this in the summary section of today's run. As you can see, I climbed 140 metres. If you want to know the actual elevation profile, you can click on the elevation tab. This is just a little extra data point to give context to that visualisation.
For new readers, if you want to know more about how I went about putting the workout log together, I've covered the process extensively in these three posts:
Andreas in Emulating old OS X versions with QEMU:
It's weird, because I never used these systems back when they were new, and yet I feel somehow nostalgic for them. I don't know why, but there's just something about the look of them. The colour palette, the skeuomorphism, the fonts and the overall design are just beautiful, and I wouldn't mind using an OS with this kind of look and feel today.
The early versions of Mac OS X were unequivocally better designed and a preferable user experience than the bastardised offspring that today's MacOS has become. My experience started with Tiger (10.4) and I would love to go back. In fact, if someone put together a Linux distro that closely emulates the early OS X aesthetic and UX, I would finally be forced to switch.
If you want to experience the old OS X versions yourself, Andreas' post guides you through the process.
A while ago, I came across a haiku by Basho by way of a two decades old post by Jason Kottke. The poem in question was ‘the whole family’ and goes like this:
the whole family
all with white hair and canes
visiting graves
It resonated deeply and sent me down a rabbit hole. I began my making a note of it. This to ensure I didn't forget the poem. The lines made me want to read more by Basho. Upon discovering that he was Japanese, I was reminded of the quote by the tourist towards the end of the movie Paterson:
Poetry in translations is like taking a shower with a raincoat on.
That got me thinking. Ideally I should learn Japanese to truly get a feel for Basho's work. But that was not a journey I was willing to begin at the moment. Nevertheless, I thought that instead of reading English translations, it would probably be one step up if I could instead find Norwegian translations. Poetry never came easy to me. Reading in my native tongue would probably be my best chance of ‘getting it’.
I then began searching for first hand translation. Translated poetry is bad enough. I certainly didn't want to spend my time reading AI-generated Norwegian translations based on English translation. Eventually I ended up discovering Fra duggens verden at the National Library of Norway's website.
The full title of the book is ‘Fra duggens verden: Basho i norsk gjendiktning (1644-1694)’. It translates to something like ‘From the dew's world: Basho re-created in Norwegian’ and the title made me confident that the author — of whom I knew nothing — had translated the works based on the originals. That it was released in 1985 made me reasonably certain they weren't AI-generated.
My next order of business was getting a hold of the book. Yes, I could technically read the book scans, in my browser, through the National Library's website. But that's no way to read a book! Of this particular book, I wanted a physical copy. That was easier said than done. My search eventually led me to the website of a local art gallery and antiquarian bookshop which claimed to have for sale. I emailed the owner that I wanted to buy the book, and a short while later it arrived in the mailbox outside my house.
At this point I still had no idea about what kind of book this was. My idea was that it contained translated haiku poems. To my surprise, the first half or so turned out to be a biography of Basho and his struggles to become founder of what's today know as haiku poetry.
Great stuff! I love getting more than I'd bargained for.
Basho's story was a fascinating one. His frequent pilgrimages throughout Japan to get away from ‘modern society’ of Japan in sixteen hundreds and live a more modest life to connect with nature rang familiar. Dørumsgaard doesn't hide his disdain for the contemporary society of the 1980s. He wonders what Basho would think of the lives we lead today. Which in turn made me wonder what both Basho and Dørumsgaard and would make of the world as it is in 2026. As I read this book in parallel with Letters from a Stoic, it struck me that perhaps this struggle to get back to natural world must be a universal human experience.
Despite Basho's poems and Dørumsgaard formal, almost to the point of heavy, and opinionated recounting of his live, the best part of this book to me was something else entirely: The smell. There is a certain, characteristic smell of old books and this book has it in spades. The smell brings me back to my life as a boy, sitting in the attic of my grandparents' house trying to find something interesting to read after ploughing through the Donald Duck comics I'd brought for entertainment. The sensation is so visceral that, for a tiny sliver of a moment, I feel as if I've been transported through time and space. Despite having finished the book, I still keep it on the side table next to my chair, only to pick it up towards my nose and flicker through the pages.
Sometimes you get way more than you bargained for.
As for Basho's poetry and Dørumsgaard's re-creations, well, they certainly are first hand translations. Dørumsgaard has included a sizeable sections of notes on his reasoning for the translations. And while I've gained newfound appreciation for both poetry as an art form, and haiku in particular, not a single other of the poems included in this book hit me as much as that first one I came across which pushed me down this rabbit hole. Dørumsgaard's Norwegian re-creation goes as follows:
Slektens siste
Alle med stokker
og hvite i håret
rusler de stille omkring mellem graver.
I guess that's poetry for you. It resonates when the most when you expect it the least. For instance when clicking a link to a twenty two year old blog post lamenting that the work of sorting and categorising has overshadowed the work itself. Nevertheless, here are some of my other favourites. I challenge you to find them recreated in whichever language you're the most comfortable reading poetry.
Tid og evighet
Hvor vis den mann som ikke tenker
«flyktig er livet»
ved synet av lyn.Silhuet
En kråke
På en vissen gren
i høstens skumring…Cikaden
Den sang sig
ut av livet –
tomt ligger skallet igjen.Lede
Ofte føler jeg at de dødes rike
må være lik en ensom kveld
ved høst.«L'etang mort»
En gammel dam –
en frosk som sprang:
et skvulp.
Years ago, when I was in college, I had one of those friends who never quite had it together. You know the type; I'm talking lost a debit card and took three months to get a new one because of some sort of "mixup" with the credit union that I think consisted mostly of not calling them for three months.
So apparently rsync is slop now. When I heard, I wanted to drop a quick note on my blog to give an alternative: tar. It doesn’t do everything that rsync does, in particular identifying and skipping up-to-date files, but tar + ssh can definitely accomodate the use case of “transmit all of these files over an SSH connection to another host”.
Consider the following:
tar -cz public | ssh example.org tar -C /var/www -xz
This will transfer the contents of ./public/ to
example.org:/var/www/public/, preserving file ownership and permissions and so
on, with gzip compression.
I’m turning 40 in a month or so, and at 40 years young, I’m old enough to remember as far back as December 11 2025, when Disney and OpenAI “reached an agreement” to “bring beloved characters from across Disney’s brands to
Mat Duggan in Markdown Ate The World:
Markdown doesn't do most of what those formats do. You can't set margins. You can't do columns. You can't embed a pivot table or track changes or add a watermark that says DRAFT across every page in 45-degree gray Calibri. Markdown doesn't even have a native way to change the font color.
And none of that mattered, because it turns out most writing isn't about any of those things. Most writing is about getting words down in a structure that makes sense, and then getting those words in front of other people. Markdown does that with less friction than anything else ever created. You can learn it in ten minutes, write it in any text editor on any device, read the source file without rendering it, diff it in version control, and convert it to virtually any output format.
Informative and well-written post from Mat on Markdown's rise to prominence over the past few years. Lots of fascinating information in the backstory detailing the .doc and .docx formats about which I knew next to nothing. I just realised a few years ago that plain text was the way to go, and Markdown was the obvious choice at that point. Now I know more about why that was the case.
Vim is important to me. I’m using it to write the words you’re reading right now. In fact, almost every word I have ever committed to posterity, through this blog, in my code, all of the docs I’ve written, emails I’ve sent, and more, almost all of it has passed through Vim.
My relationship with the software is intimate, almost as if it were an extra limb.
Hi! If you like this piece and want to support my independent reporting and analysis, why not subscribe to my premium newsletter? It’s $70 a year, or $7 a month, and in return you get a weekly newsletter that’s usually anywhere from 5000 to 18,000
It's that time of the year again. Spring is in the air, and runners are gearing up for Norway's biggest running event and, according to themselves, the biggest relay event in the world: Holmenkollstafetten. This road running relay race goes through the heart of Oslo and has taken place almost every year since 1923!
75.000 runners representing more than 4.500 teams line up to run the relay, and Oslo is absolutely packed to the brim with people sharing the joys of physical activity. Though some might say that the festivities that typically follow the race is the highlight of the day. I might be inclined to agree.
Teams comprise all sorts of groups of people: Friends, running clubs, businesses, charities and whatever else that bind people together. Many businesses use this as an excuse to get their employees to enjoy physical activity followed by social bonding afterwards. That is true for my employer. They pay the entry fees and book a great location in the heart of Oslo. It is the base before runners venture out to their starting points across the city. And after the race there is a banquet with great food, entertainment and all around good vibes.
Inspired by other businesses, our running group last year took the initiative to establish an "Elite Team" where the aim is to run the relay as quickly as possible.1 The selection process is simple. A tryout race consisting of a 1000 metre time trial to compete for ten long stage spots and a 400 metre time trial to compete for five short stage spots.
As I ran the tryouts last year as well as this year, I thought it would be fun to analyse and compare the stats from each years time trial.2 Given that I'm a slow twitch runner, and a marathoner by heart, even a 1000 metre race is a full on sprint for me. Safe to say that a short stage is off the table for me. My one and only shot of a spot on the team was running the 1000 metre race.
I run with a Stryd footpod/power meter (an old version referred to as "Stryd Wind"). The power and pace charts below are both from the web version of their running tracker log data analysis software thing called Powercenter. The heart rate chart comes from the magnificent Intervals.icu, which is my go-to platform for advanced workout data analysis. I've, of course, also linked to the individual entries in my personal workout log.
Last year's race took place on 25 March. It was a cold and crisp day, with the sun peeking out and next to no wind.
Last year I ran the 1000 metres in 3 minutes and 1 second. For the imperialists out there, that is roughly 4:51 per mile pace.

Power average for the race was 542 Watts, while peak power was 622 Watts.

Heart rate average was 181 beats per minute and I maxed out at 191! This is only four beats off my estimated max of 195 bpm.
This year's race was delayed due to the conditions and took place on 24 March. Almost to the day a year after last year's tryouts. The weather wasn't nearly as nice, with a grey and overcast sky and a little bit of wind.
This year I ran the 1000 metres in 3 minutes and 2 seconds. It is around 4:53 per mile pace.

Power average for the race was 543 Watts, while I peaked at 650 Watts.

Heart rate average was 177 beats per minute, and I maxed out at 188. Seven beats off my estimated max, and three beats lower than last year.
As I'd been ill for almost a week not two weeks back, I doubted my fitness. Because of this, I ran a much more conservative race. Whereas I reached peak power (622W) on the first bend last year, I ran more even this year before steadily increasing the power on the final straight hitting a significantly higher peak (650W) right on the finish line.
Today's time was a second slower. Looking at the data, I should've run faster. The heart rate charts hammer this point home. Last year I spent two full minutes in "the purple zone" (185+ bpm), while this year I only managed just shy of a minute in that same zone.
That tracks with how I felt throughout the race as well. Last year I felt like I was working at my max from the get go. That I couldn't increase the pace/power much the final 200 metres illustrates that I didn't have anything left in the tank. Conversely, today I felt like I was quite in control all the way up until I turned it on towards the end of the final bend, and was able to keep increasing the pace/power right up to the finish line. Even though I felt like I mechanically couldn't increase the pace further, I felt like I could've kept it up for a while yet.
My conclusion is that I'm significantly fitter today than I was last year, despite running slower. I should've run a little faster, and at least broken three minutes. I think I executed this year's race better, but I simply left it too late before turning it on. This is extra annoying because I almost caught a guy right before the finish line, but he held me off to beat me with two tenths of a second in the end!
At 69.5 kilograms today versus 68.2 kilograms on race day last year, I am 1.3 kilograms (1.9%) heavier this year. Knowing this going in, together with the recent illness and no race specific sessions to prepare this year, it played a part in making me think I wouldn't be able to defend last year's time. I should've trusted that my base fitness is significantly better this year.
Your fitness is determined by the work you've done over a longer time period, not just the last couple of weeks. And as my workout log shows, I put in much more work the first couple of months of 2026 than I did in 2025. And my total workload for 2025 was again much higher than what I managed in 2024. Even at 40 and at a higher weight, that translates to better fitness!
It's also interesting to note that now that my weight has gone up a little, the Stryd footpod appears to be more accurate. The estimated distance this year is spot on. Last year, it was 20 metres short. I ran both races in the same pair of shoes (only used once in-between) and on the same track. As the Stryd only utilises the user defined weight value to determine an air resistance coefficient and multiply the natively calculated Watts/kg to present an absolute power value, it makes sense that a weight change potentially estimates the calculations.
My weight setting for both races was 100 kg. It's impressive (and a little bit confounding, given the changes in estimated distance and pace) seeing that the average absolute watt levels are nearly identical (542W last year versus 543W this year) despite the weight change. It means that the pod's native watt/kg calculation picks up the weight change very well.
Last year I was a regular coffee drinker at the time of the race. I did my regular race day routine of supplementing my normal dosage (around 80 milligram) with an energy drink containing about 100 milligrams of caffeine 30-45 minutes before the race. If you'll recall, my adventures in quitting caffeine commenced shortly after.
An adventure it has been, and I should write about it some time. The long and the short of it though, is that going into today's race, I've been more or less caffeine free for the past four months. I was excited to discover how this would play out when trying to take advantage of caffeine as a performance enhancer. And make a difference it did!
Although it's clearly impossible to measure the performance effects, I can only say that I've never before in my adult life noticed anything like the effects that I got from ingesting caffeine today. I've used caffeine in similar dosages before every race I've run over the past decade. Today hit different. I was wired and alert and felt almost supercharged. In fact, five hours later, I still do. Which is why I'm just finishing up this post long past my bedtime. I'm convinced, perhaps even more so than the race execution, the caffeine high contributed to the fact that I never really felt tired throughout the race.
Caffeine is clearly a performance enhancing drug. There are studies that confirm this. But I'm now convinced that someone who doesn't consume it regularly will experience greatly increased effects compared to someone who's adapted to its effect through daily consumption. The obvious caveat being that there appears to be a genetically determined difference in how people respond to caffeine, so your mileage may vary.3
I'll continue to stay off caffeine in my daily life, and only turn to it when I'm in dire need of its effects. To ensure that I get max potency when needed, but also because regular consumption is not without downsides to me.
Last year, I did!
For this year, the final results aren't in yet. But I'll be sure to update this post when they are.
Update: The final results are in, and I made it Out of everyone that tried out for the men's team, my time had me in sixth place. A whopping three seconds clear of the cut off time!
The overall approach for most teams in the race is participation, and that's what makes it such a great occasion. It would be very boring in comparison if it was mainly a performance oriented race, and the city wasn't positively brimming with people. ↩
No, really, that is my idea of fun! ↩
This recently became very clear to me when I saw my wife quit caffeine cold turkey with absolutely no withdrawal symptoms. Whereas I'm completely debilitated for days when cutting similar dosages. ↩
Andreas in Can I hear a difference between MP3s and uncompressed audio?:
But modern MP3 encoders are much better than those from the past, and at a bitrate of 320kbit/s they deliver audio quality that in my opinion very few people will be able to tell apart from the uncompressed original.
Super interesting and well made post from Andreas, complete with samples where you can test for yourself. My hearing's so poor I couldn't even discern the artefact in the sample used to showcase what an artefact sounds like! I really need to enable to transcoding on my music server to save space and bandwidth.