44 (2025)

44 (2025)

Russia is still trying to conquer Ukraine, and Ukraine still fights back. I don't see how it can end anytime soon. I would very much like Russians to stop and go home, but until then:

Here is how you can help Ukrainians

- There are many pets in the fighting area whose owners were killed or displaced. They need food and medical care. uanimals.org does a great job helping them.

- I know motohelp.ua from my motorcycle life in Ukraine. They were saving lives then and do the same now.

- hospitallers.life are risking lives saving others on the front line.

- Most importantly, all of that does not make much sense if the army of Ukraine does not have enough rounds, warm clothes, vehicles, etc. prytulafoundation.org does an excellent job helping with that.

#Intro

The end of 2025 was quite busy for me, and I did not manage finish this article in December as usual. On the other hand, every year I wrote a year-end article, I thought it made more sense to tie it to my birthday rather than to a year-end.

Here we go:

#What I did while I was 44.

#Iceland

This year, one of my dreams came true, we visited Iceland. What a land! The last time I was so excited about a travel destination was when I visited Thailand, where I end up living for a few years. I do not see it coming, but it would be cool if we ended up living in Iceland for a few years.

#France Crossing

1000 km on a bicycle. Through mountains, rivers, sea, croissants, cheese, and broken ribs. It was sporty and beautiful, especially the alpine section.

#Music

I released two singles, Unusual Proximity and Tannhäuser Gate, this year. In the 2025-09-11 Roll, I said that I hope to release a new album soon. But I still don't feel that it is ready. Maybe next year.

#Software

One of the things I really like about software development is that it is a constant source of dopamine. I can get my dopamine by building a working prototype quite fast. Then, receive more dopamine by improving that piece of software later.

#Yamd

YAMD is markdown-like markup language parser library.

New features and improvements:

  • Support of emphasis node.
  • Serialization to string
  • Serde is an optional dependency now

#img2text

A library and CLI app that gets prompt, temperature, and a list of images (URL or local path) and runs it through the moondream model. It will download the model from HuggingFace on the first run. On macOS, it uses Metal. Everywhere else, it uses the CPU. At this point, adding CUDA support should be trivial, but I do not have a device to test it. It has two output formats: JSON for machines and an ASCII table for humans. Here is a write-up: Notes on running LLM locally, about the initial version.

#gpxtools

A library and CLI app with the following features:

  • Join multiple gpx files into one.
  • Get statistics from the GPX file. For now, it's only distance and gained elevation.
  • Plot the route. It will use a user-defined map tile server to fetch map tiles, plot the route on them, and save the result as a PNG image with the provided dimensions.

#BAR

BAR is a static site generator, that I use to build this website.

New features and improvements:

  • New “article” subcommand. It creates an empty yamd file with frontmatter. At some point, I want to add template support.
  • Alt text generation by using img2text library.
  • GPX rendering using the gpxtools library.
  • Improved error messages. Further Improvements depend on a new version of YAMD parser, which I am working on.
  • Simplistic cache layer.

#Stages

I needed a video for Tannhäuser Gate and built an app for it. Here is a write-up about the first version of Stages. Since then, a few new features have been added, but I did not have the time/inspiration to write about them.

It was fun adventure. I have a few ideas where to go from here. But most probably, I will start with rewrite as a standalone app. Video rendering in browser is far from ideal.

#Serve

Serve is a simple HTTP(S) server that I use to serve static files (this website).

  • This year, I found the time to read about how certbot works and added HTTP to HTTPS redirect. So yeah! Finally, there is no need to restart the server on certificate update. Would be cool to find the time for ACME implementation.
  • Log to file with filerotate. The log format will definitely change, maybe even become configurable at some point.
  • Config file. At some point, I got tired of typing all the options on the command line and added support for a TOML file.

#Books

  1. How to Build a Motorcycle: A Nut-and-Bolt Guide to Customizing Your Bike by Gary Inman and Gilbert Adi
  2. Endurance: Shackleton's Incredible Voyage by Alfred Lansing
  3. Unfinished Tales by J.R.R. Tolkien and Christopher Tolkien
  4. The Nature of Code by Daniel Shiffman
  5. The non-objective world by Kasimir Malevich
  6. All Systems Red by Martha Wells
  7. Learning Domain-Driven Design by Vlad Khononov
  8. Discworld 1-6 by Terry Pratchett

That's seven (7!) books more than the previous year. I am on fire. All of them are interesting in their own way, but if someone ask me to choose only one book from that list, it would be Endurance: Shackleton's Incredible Voyage by Alfred Lansing.

#Work-related stuff.

Starting from September, I am leading a new project in Check24. We are making good progress, and I am optimistic about the future of that project.

#Favorite pictures

#Outro

Those birthday (year end) articles look like a brag list because they are. This is my way of feeling productive. I like that feeling and hope that next year will be at least as productive as this one.

2024 recap

2024 recap

That was a productive year.

2025-09-11 Roll

2025-09-11 Roll

Summer is over😭