Although I didn’t publish many posts last year, I still want to capture the highlights of 2024. The New Year’s celebrations are behind us, and all I have is a rough draft for this article. It’s time to look back at what I planned for last year and compare it with what I actually achieved.

Looking Back on 2024

Reading and English Learning – Done ✅

My book list didn’t shrink—in fact, I even added a few new titles. I ended up reading many books that weren’t on my original list — the ones gifted to me or already in physical form—since I didn’t want to lug them around all the time. While transferring my notes from Obsidian to Anytype, I also cleaned up the list. I now have 87 books listed, down from roughly 100 at the beginning of the year.

My progress in English is clear — I managed to read over five books in English. I tracked my progress by adding new vocabulary from these readings into separate Anki decks, making it easy to see my learning curve.

Spanish Language – Partially 🔁

I attended a month-long Spanish course and picked up some basic vocabulary and grammar. However, I soon realized that studying two languages simultaneously isn’t ideal. I’ve decided to focus on one language at a time and may return to Spanish in about a year and a half.

Upgrading to ARM – Done ✅

I had to upgrade to a 16-inch MacBook Pro with the M3 Max sooner than planned. My old MacBook developed a power module issue on the motherboard; despite trying to replace the battery, nothing worked until the service center replaced the faulty component.

Even though I bought the new M3 model just a couple of weeks before the M4 was released, I couldn’t be happier. The new laptop runs perfectly — it's cooler, quieter, and its camera and microphones are much improved. Plus, QEMU on ARM has made testing and development noticeably faster.

One minor drawback is that the laptop came with a Spanish keyboard layout (it was the only one available at the store), but since I type without looking and use an external English keyboard, it hasn’t been an issue.

Two Open-Source Pet Projects – Partially 🔁

Below is the focused, polished translation of the "Два Open-Source Pet Projects - Частично" section:


Two Open-Source Pet Projects – Partially

gopkgview – https://github.com/grishy/gopkgview

I partially completed this project by creating gopkgview, a tool for visualizing dependencies in Go. I spent just a couple of evenings on it, and it turned out quite well. I plan to add new features once the project earns over 100 stars on GitHub, so I'll know that someone besides me is actually using it.

Example usage:

Workflow Engine – Not Public

I also worked on a pet project initially built with Go, HTMX, and Alpine.js, which I later migrated to a Go and SvelteJS stack. As the project grew more complex, I felt the need for a change in technology.

I haven’t released it as open source yet due to emerging ideas for monetization, but I hope to open the code and complete the project in the future. Right now, it's roughly 20–30% finished.

Design and Typography – Done ✅

This summer, I sat down and created a brand-new design for the blog — a completely static site built with TypeScript (using Bun) and SQLite for caching. Everything runs incredibly fast; I don’t even need to construct a dependency tree to determine which parts require rebuilding. I initially started with Parcel, but found it too inflexible. The full rebuild (excluding images) is so speedy that I simply rebuild everything with every change.

I plan to write a post about this process — mainly for my own reference — so I don’t forget the details. Perhaps later this year, if I publish more posts, I’ll add a few new features to the blog and share the update.

Storing Notes Locally – Done ✅

I’ve completely transitioned from using Notion and Obsidian to a self-hosted version of Anytype. Incidentally, one of my upcoming pet projects is focused on simplifying this process for others. I had to dive deep into how Anytype works since everything I host is managed via Ansible. I even wrote Python modules to handle installation and configuration generation. Now, I only need to update the Docker image tags periodically and restart the Ansible playbook.

I left only my work-related materials in Notion, which I back up weekly, though I’ve already switched to monthly backups for the rest. The move to local storage was primarily driven by performance issues — Notion used to be sluggish, and Obsidian didn’t work well on iOS. Anytype, on the other hand, runs smoothly on both iOS and macOS. That said, the self-hosted version needs some refinement — it currently includes a lot of extra components for simple functions, and setting it up almost requires a doctoral-level effort.

So far, I’ve migrated everything from Notion and about half of my Obsidian notes. I’m taking it slow, transferring notes to Anytype as needed when I update them.

Making a Game in Rust – Not Started ❌

The idea of developing a game seemed too time-consuming, and the goal wasn’t very clear. My enthusiasm simply faded. If I had infinite time, I’d probably take it on, but I don’t regret not diving into it. Instead, I ended up working on a couple of load-testing projects at work using Rust.


What Else Happened in 2024

TravelLab – Minor Changes

There weren’t many significant changes to TravelLab, my portable self-hosted computer. I did add the option to use it as a workstation connected to an external monitor, which proved invaluable when my laptop broke.

The most notable update was switching from Gitea to Forgejo, primarily because Forgejo introduced the ability to run CI pipelines directly within it. I migrated all my repositories and settings, although the CI currently still runs on Drone. I plan to phase Drone out once I make some major infrastructure changes.

I also added Anytype for a small group of users. It runs well, though it comes with hefty resource usage for modules that only matter under high-load, distributed deployments—like the module managing node communication and Minio for file storage. When you’re running a single server, these components can be more of a hindrance than a help. At the moment, Anytype is the most “resource-hungry” module on my server, generating the largest number of logs and file changes, as is evident in my btrfs snapshots.

Finally, I added a Travel Router — the Beryl AX (running OpenWrt). I sometimes use it when the local Wi-Fi is unreliable, even for LAN connections. For example, I needed it during a project I did for the Kobo Libra 2 (mentioned below).

Anki and English

Despite occasional breaks, I studied my Anki flashcards on 76.71% of the days over the past year, which I consider pretty good. Of course, it could be higher, but I got a bit tired of reviewing every morning during the summer. I took a break and then came back to it, which I think is perfectly fine — sometimes it helps to switch things up. In addition, I started using LLM and other models to create flashcards based on the books I read.

At the end of each year, I usually take a vocabulary test. In November 2024, my level ranged between 9,303 and 10,450 words (tested multiple times, hence the range). In 2023, it was about 6,401 words, which shows clear progress!

2024 Anki Statistics

I also developed a Python + Alpine.js system to generate flashcards based on the Cambridge Dictionary and Yandex.Translate. In 2023, it was just a simple Python script without a UI that only formatted the cards and added dictionary audio.

Anki Python WebUI

New Devices

Kobo Libra 2

Kobo photo from Unsplash site

I picked this up because I wanted to experiment with alternative reading apps that support my own custom dictionary. I was interested in testing and building something for this platform. It turned out to be a very convenient way to read non-technical books — I’ve already finished around 15 of them on it.

I even built a small application in Rust and Slint that runs directly on the device and renders on the framebuffer. It was mostly an experiment, though. I currently use KOReader and have also tried Plato. The app I built was actually based on Plato.

iPad Pro 11

iPad Pro Photo from Unsplash

I bought this model for drawing and reading technical PDFs that contain a lot of images. So far, I haven’t used it as much as I thought I would and haven’t read that many books on it. It turned out that reading on a computer is often more convenient because you can quickly look things up.

Garmin Venu 3

Garmin Watch Photo

These are fantastic watches — they have a long battery life and don’t require a subscription to view your data. That’s why I skipped the Apple Watch (which barely lasts a day) and other fitness bands that need subscription plans. Plus, it’s possible to export data from their website — I found a few scripts to help with that.

Travel

This year, I visited many places in Spain and Germany. Here are some of the highlights.

🇪🇸 Valencia, Spain

Photo by Jonny James on Unsplash

The most delicious focaccia (an elevated type of sandwich) I’ve ever tried was in Valencia (🇪🇸). In some places, it’s as big as your face, but you can always order half. And of course, the oranges are amazing.

On the other hand, Agua de Valencia didn’t impress me — it’s a cocktail with alcohol and orange juice, but you can really taste the alcohol, which isn’t what I want in a refreshing drink. Tinto de verano (a light drink made with wine, soda, and ice) was much more to my liking.

🇪🇸 Alicante, Spain

Photo by Sara Ruffoni on Unsplash

Alicante (🇪🇸) won me over with its weather, friendly people, and laid-back pace. I spent a lot of time there, and what surprised me most was the food scene: Japanese ramen, Italian gelato and pizza that will be ready in 2–3 minutes after order, Argentine steaks, Chinese spices and dumplings — even Venezuelan cuisine, which I found a bit too sweet.

If you’re heading to the beach, it’s best to hop on the Tram (the local streetcar) to the neighboring ones — they’re bigger and quieter, without the crowds of the central beach.

I tried countless restaurants, from simple eateries to Michelin-starred spots. Almost all were excellent; only a couple were disappointing. The city lives in a festive mode whole year — it really comes alive after 8 p.m.

It’s an ideal place for a relaxed lifestyle or for families with kids. It’s funny that at local gyms, everyone just called me Sergio Ruso 😁

🇪🇸 Barcelona, Spain

Photo by Logan Armstrong on Unsplash

Barcelona (🇪🇸) has the most interesting and experimental architecture I’ve seen in all of Spain—perhaps anywhere. The newly renovated districts are great for leisurely summer strolls in the shade. There are plenty of coffee shops, tours, and hidden courtyards with swimming pools.

I really liked a Chinese spot serving modern tea topped with cream—Charlie’s Tea. I also enjoyed the beautiful seaside train route from Alicante to Barcelona.

It’s a very stylish, lively city. It reminds me a bit of St. Petersburg, only with beaches and sun 🙂. If Madrid feels like Moscow to me, then Barcelona definitely feels like Petersburg.

🇪🇸 Madrid, Spain

Photo by Matthew hahn on Unsplash

It’s the main transport hub in the country’s center — every high-speed rail line goes through it. Sometimes, it’s even faster to travel via Madrid than to go directly. It’s huge and busy, like Moscow, and pretty much has everything.

I mostly used Madrid for practical reasons: picking things up, shopping, or catching flights. Usually, I’d stay overnight between trains and planes, meeting up with friends. I loved it most in the fall — when the leaves turned yellow and started falling. The city’s infrastructure is impressive; there are even underground passages beneath the center that let you traverse the city core.

🇪🇸 San Sebastián, Spain

Photo by Ion Flecha on Unsplash

This city sits between the ocean and the mountains. The ocean here feels completely different from the sea — it’s more majestic and calmer than in Alicante. It’s considered a gastronomic capital — there’s an incredible concentration of Michelin-starred restaurants per square meter.

What impressed me most is how a relatively small city can have such excellent infrastructure. They say this is where the famous Basque cheesecake was invented. I tried it at “the original spot” (based on online research), but honestly, I preferred the version from a popular chain. I also saw the most stunning sunsets of the year here.

🇪🇸 Granada, Spain

Photo by Angelo Ricci on Unsplash

It’s a mix of Arabic and European cultures. Although it’s in the south, its higher elevation makes the nights surprisingly cool.

The city itself is great, but accessing its main attractions — especially the Alhambra — and finding audio guides can be frustrating. Granada is as hilly as Tbilisi, and from the highest points, you get an awesome view of mountains with snow on them.

🇩🇪 Berlin, Germany

Photo by Valeriia Zaletaieva on Unsplash

Compared to Spain, it feels like a completely different world. It’s a huge city with unexpectedly lush greenery and countless contrasts. We stayed in a Turkish neighborhood, which felt like an entirely different city compared to the central areas. Building styles vary wildly, and the people, too. Some places look like upscale Scandinavian neighborhoods, while others feel almost abandoned. And these districts alternate — you don’t necessarily see a steady improvement as you move closer to the center.

Graffiti here is something special — it’s everywhere, with varying degrees of quality. Overall, Berlin is a city full of contrasts in every sense.

A funny situation happened — I stayed in an Airbnb with the host and his dog. Turns out, I get along great with dogs, but the challenge is figuring out where to keep them or how to bring them along. Still, it was a fantastic option if you miss having pets around.

🇩🇪 Erfurt, Germany

Photo by Peter Mammitzsch on Unsplash

A genuine Christmas wonder. It looks like something straight out of a holiday movie — everything is beautifully decorated and glowing. It’s a very cozy, peaceful little town. It might not seem extraordinary on the surface, but it does have its own unique atmosphere.

It’s perfect for leisurely walks, especially during the Christmas markets. By the way, I found some of the prettiest, highest-quality postcards here and ended up buying quite a few.

🇮🇱 Tel Aviv, Israel

Photo by Levi Meir Clancy on Unsplash

After being in Spain, the most striking thing here was the beach — the sand is softer, and the infrastructure is better. The city is constantly evolving to cope with the hot climate. I saw entire neighborhoods being transformed, closing off car traffic to make way for pedestrians. They’re even planning a tram instead of cars.

I was also shocked by the prices and variety in regular stores after Spain. On the upside, the bars here are among the coolest I’ve ever visited — some of them reminded me of those in Saint Petersburg.


Quick Highlights


2024 Summary

Plans for 2025


Work setup at the time of writing: Photo of working place

Thumbnail:
Font: Inter
Photo by Alexander Psiuk on Unsplash