I did not publish much last year, but I still want to keep this review. New Year holidays are already over, and this article is only now turning from a draft into something publishable. Time to open last year’s plans and compare them with what actually happened.
Looking Back on 2024
Reading and English Learning - Done
My book list did not really shrink. I even added a few new titles. But I also read books that were not on the list at all: gifts, paper books I already had, and things I wanted to finish so I would not carry them around forever.
While moving notes from Obsidian to Anytype, I cleaned the list up. It is now down to 87 books. I remember it being around 100 at the beginning of the year, so technically this still counts as progress.
English went better than expected. I read more than five books in English and added new words from those books into separate Anki decks, so the progress is easy to see.
Spanish Language - Partial
I took a one-month Spanish course and learned some basic vocabulary and grammar. Then I accepted the obvious: learning two languages at the same time is not a great idea for me. I will focus on one language first and maybe come back to Spanish in a year or two.
Upgrading to ARM - Done
I had to upgrade to a 16-inch MacBook Pro with M3 Max earlier than planned. My old MacBook had a power module failure on the motherboard. I tried replacing the battery myself, but that did not help. In the end, the official service center fixed it by replacing the board.
I bought the M3 only a couple of weeks before the M4 release, but I do not regret it. The laptop is much nicer than the old one: cooler, quieter, with a better camera and microphones. QEMU on ARM is also a real upgrade for testing and development.
The only odd detail is the Spanish keyboard layout. It was the only model in the store. I type without looking and mostly use an external keyboard, so it turned out to be fine.
Two Open Source Side Projects - Partial
gopkgview - https://github.com/grishy/gopkgview
This one happened, at least partly. I made gopkgview, a small tool for visualizing Go dependencies. It took a couple of evenings and turned out better than expected.
I plan to add more features if it reaches 100 stars on GitHub. That would be a good signal that someone besides me is using it.
Example usage:
Workflow Engine - Not Public
I also worked on a private workflow engine. It started as Go + HTMX + Alpine.js, then moved to Go + Svelte because the UI became more complex than I expected.
It is not open source yet because I still have a few product ideas around it. Maybe I will open it later. Right now it is about 20-30% done.
Design and Typography - Done
This summer I redesigned the blog and rebuilt the generator. It became a fully static site built with TypeScript, Bun, and SQLite for caching. It is fast enough that I do not even need a complicated dependency graph. I tried starting from Parcel, but it was too hard to bend to my needs. A full rebuild, excluding images, is quick enough that rebuilding everything on every change is fine.
I still want to write about this, mostly for myself. If I write more often this year, I will probably add a few small blog features and document the process.
Storing Notes Locally - Done
I moved from Notion and Obsidian to self-hosted Anytype. One of my upcoming side projects is about making this easier for other people too. I had to dig into how Anytype works because all my self-hosted services are managed with Ansible. I even wrote Python modules for installation and config generation. Now updates are mostly a matter of changing Docker image tags and running the playbook.
Only work-related material stayed in Notion, and I back it up separately. The main reason for moving was speed. Notion used to feel slow, and Obsidian never felt great on iOS. Anytype works well on both iOS and macOS.
The self-hosted version still needs polish, though. It pulls in a lot of components for something that feels simple from the user’s side, and setting it up is not exactly friendly.
So far I moved everything from Notion and about half of my Obsidian notes. I am not rushing the rest. I move notes when I actually need to edit them.
Making a Game in Rust - Not Started
The game idea quietly died. It was going to take a lot of time, and the goal was not clear enough. If I had unlimited free time, I would probably try it, but I do not regret skipping it.
I still wrote some Rust this year, just in a more practical place: a couple of load-testing projects at work.
What Else Happened in 2024
TravelLab - Small Changes
TravelLab, my portable self-hosted computer, did not change much. I added one useful mode: it can now work as a desktop machine connected to an external monitor. That became very handy when my laptop broke.
The main update was moving from Gitea to Forgejo. Forgejo added built-in CI, so I migrated the repositories and settings there. CI still runs on Drone for now, but I want to remove Drone when I do the next bigger infrastructure cleanup.
I also added Anytype for a small group of users. It works well, but it is heavy for a single-server setup. Some modules make sense for distributed deployments, like node coordination and MinIO-based storage, but on one machine they mostly add noise. Right now Anytype is the busiest service on my server: the most logs, the most file changes, and the clearest footprint in btrfs snapshots.
I also added a travel router: Beryl AX with OpenWrt. I use it when local Wi-Fi is unreliable, even for LAN work. It was especially useful for the Kobo Libra 2 project below.
Anki and English
With some breaks, I reviewed Anki cards on 76.71% of days over the last year. That is good enough for me. It could be better, but in the summer I got tired of doing cards every morning, paused for a while, and then came back. That seems healthy. Sometimes switching context is the right move.
I also started using LLMs and other models to make cards from the books I read.
At the end of each year, I usually take a vocabulary test. In November 2024, the result was between 9,303 and 10,450 words. I tested several times, hence the range. In 2023 it was around 6,401 words, so the progress is real.

I also built a Python + Alpine.js tool that generates cards from Cambridge Dictionary and Yandex.Translate. In 2023 this was just a Python script without a UI. Now it is much nicer to use.

New Devices
Kobo Libra 2

I bought it because I wanted to try alternative reading apps with my own dictionary. It also looked like a fun platform to build for. In the end, it became a very convenient way to read non-technical books. I have already finished around 15 books on it.
I even built a small app in Rust and Slint that runs directly on the device and renders to the framebuffer. It was mostly an experiment. Day to day, I use KOReader and have also tried Plato. My experiment was based on Plato.
iPad Pro 11

I bought it for drawing and for technical PDFs with lots of images. So far I use it less than expected. For technical reading, the computer often wins because it is faster to search, copy, and look things up.
Garmin Venu 3

This watch has been excellent: long battery life, no subscription just to see your own data, and data export from the website. That is why I skipped the Apple Watch, which barely lasts a day, and the fitness bands that hide useful features behind subscriptions. I even found scripts for exporting Garmin data.
Travel
This year I visited quite a few places in Spain and Germany. These are the ones I still remember most clearly.
🇪🇸 Valencia, Spain

The best focaccia I have ever tried was in Valencia. In some places it is almost as big as your face, but you can order half. The oranges are also exactly as good as you expect.
Agua de Valencia did not impress me. It is a cocktail with alcohol and orange juice, but the alcohol is too obvious for my taste. Tinto de verano was much closer to what I wanted: light, cold, and simple.
🇪🇸 Alicante, Spain

Alicante won me over with its weather, friendly people, and slower pace. I spent a lot of time there, and the food surprised me most: Japanese ramen, Italian gelato, pizza ready in 2-3 minutes, Argentine steaks, Chinese spices and dumplings, even Venezuelan food, which was a bit too sweet for me.
For the beach, it is better to take the tram to the neighboring beaches. They are bigger and quieter than the central one.
I tried a lot of restaurants, from simple places to Michelin-starred ones. Almost everything was good; only a couple of places disappointed me. The city feels like it is always half on holiday and really wakes up after 8 p.m.
It is a good place for a slower life or for families with kids. At local gyms, people just called me Sergio Ruso.
🇪🇸 Barcelona, Spain

Barcelona has the most interesting and experimental architecture I have seen in Spain, maybe anywhere. The renovated districts are great for slow summer walks in the shade. There are coffee shops, tours, and hidden courtyards with swimming pools.
I really liked a Chinese tea place called Charlie’s Tea. The seaside train route from Alicante to Barcelona was also beautiful.
Barcelona is stylish and lively. It reminds me a little of Saint Petersburg, only with beaches and sun. If Madrid feels like Moscow to me, Barcelona feels like Petersburg.
🇪🇸 Madrid, Spain

Madrid is the main transport hub in the center of Spain. Every high-speed rail line seems to pass through it. Sometimes it is faster to travel through Madrid than to go directly. It is huge, busy, and has almost everything.
I mostly used Madrid for practical reasons: picking things up, shopping, or catching flights. Usually I stayed overnight between trains and planes and met friends. I liked it most in autumn, when the leaves turned yellow. The infrastructure is impressive, including underground passages that let you cross parts of the city center without going outside.
🇪🇸 San Sebastián, Spain

This city sits between the ocean and the mountains. The ocean feels completely different from the sea: bigger, calmer, and more serious than Alicante. It is also a food capital, with a ridiculous number of Michelin-starred restaurants for its size.
What impressed me most was how much infrastructure a relatively small city can have. They say this is where Basque cheesecake was invented. I tried it at the “original” place, at least according to the internet, but honestly liked a chain version more. The best sunsets of the year were here too.
🇪🇸 Granada, Spain

Granada is a mix of Arabic and European cultures. It is in the south, but the elevation makes the nights surprisingly cool.
The city itself is great, but the main attractions, especially the Alhambra, are not always convenient to access. Audio guides were also harder to sort out than I expected. Granada is as hilly as Tbilisi, and from the higher points you can see snowy mountains.
🇩🇪 Berlin, Germany

After Spain, Berlin felt like a different world. It is huge, green, and full of contrast. We stayed in a Turkish neighborhood that felt like a separate city from the central areas. Building styles change all the time. Some places look like expensive Scandinavian neighborhoods, others feel almost abandoned. And they alternate without a simple “closer to the center means nicer” pattern.
Graffiti is everywhere, with very mixed quality. Overall, Berlin is a city of contrasts in every sense.
One funny detail: I stayed in an Airbnb with the host and his dog. It turned out that I get along well with dogs. The hard part is not the dog; it is figuring out where to keep one and how to travel with one. Still, if you miss having a pet around, this kind of Airbnb is great.
🇩🇪 Erfurt, Germany

Erfurt is a proper Christmas town. It looks like it came from a holiday movie: decorations, lights, calm streets, and a cozy atmosphere. On paper it may not look extraordinary, but it has its own mood.
It is perfect for slow walks, especially during the Christmas markets. I also found some of the nicest postcards there and bought more than planned.
🇮🇱 Tel Aviv, Israel

After Spain, the beach was the first thing I noticed. The sand is softer, and the beach infrastructure is better. The city is also changing to handle the hot climate: entire neighborhoods are being redesigned, car traffic is being reduced, and there are plans for more tram routes.
Prices and supermarket variety shocked me after Spain. On the bright side, Tel Aviv has some of the best bars I have visited. A few reminded me of Saint Petersburg.
Quick Highlights
- Civilization VI is incredibly addictive but demands a huge time commitment. We only managed to play during New Year, and now we are waiting for the next installment.
- Honest Green is a fantastic place to grab a tasty meal and try something new. Very filling and affordable.
- It is amazing how different life can look in two cities within the same country. Berlin and Erfurt are a good example.
- I discovered that making jewelry is not as hard as I thought. I made a few rings during a workshop.
- Riding a Jet Ski is a blast, except when the waves are big.
- Making pizza under the guidance of a genuine Italian chef is both delicious and fun. I took a class where they recommended flour with more than 10g of protein per 100g.
- After tasting Basque cheesecake in San Sebastian, it is hard to find one equally good in other cities.
- Michelin-starred restaurants are not necessarily expensive, especially in Alicante. It felt like a normal restaurant price but with much better service and a more thoughtful menu.
- The ocean and the sea are two different worlds. The ocean feels so much larger, yet the water itself can be calmer.
- Germany is the kind of place where you can find an old CD player lying around without any security right next to a Starlink terminal in the same store.
2024 Summary
-
Travel
- Visited 3 countries: Spain, Germany, and Israel
- Stayed with pets in an Airbnb
- Compiled my own list of tasty dishes in various cities
-
Technology and Tools
- Migrated from Obsidian/Notion to a self-hosted Anytype environment
- Upgraded my setup: WezTerm, Fish, Zed (editor), Cursor (a VS Code alternative)
- Bought a new MacBook Pro M3
- Moved the blog from Gatsby.js to a TypeScript + SQLite stack
-
English Language
- Vocabulary of about 10,000 words
- Read 5 books in English
- Started watching TV series in the original language
- Added ~700 Anki flashcards based on books I read
-
Hobbies and New Skills
- Learned how to make authentic Italian pizza
- Played Civilization VI
- Tried a “Jet Ski” (PWC)
- Created jewelry at a workshop
- Discovered Michelin-starred restaurants
Plans for 2025
-
Side Projects
- Complete at least 3 projects:
- Anytype bundle for self-hosting (Go)
- Anki enrichment tool (Python/Rust + Svelte + LLM)
- Backup Travel Lab with btrfs to the cloud (Rust)
- Garmin backup (Python)
- Notion backup tool (Python)
- Complete at least 3 projects:
-
English Language
- Read 6 books in English
- Reduce the percentage of new Anki cards to 15% (currently 56%)
-
Blog and Media
- Write 3 articles in two languages
- Produce 2 project videos
-
Technology
- Upgrade my iPhone 11 to a newer model or switch to Android
- Explore the basics of cryptocurrencies and blockchain:
- Understand the technical aspects of how the network operates
- Perform transactions on the network
Work setup at the time of writing:

Thumbnail
Font: Inter
Photo by Alexander Psiuk on Unsplash
Join the mailing list
I'll send new posts to your inbox.