Miha Rekar bio photo

Miha Rekar

👨‍💻 Software Developer
🎙️ Podcaster
☕️ Home Barista
🏃 Runner
📷 Photographer
📖 Aspiring Stoic
🦄 Incurably Curious

Email Instagram Github LinkedIn

Time flies. Want proof? This is the 7th time I’m writing a year in review post. 😱

Sure, it started as a simple Instagram story in 2018, but it evolved into longer posts in 2019, 2020, 2021, 2022, and 2023. Each of them stands on its own, and even if no one reads them, I’m glad I write them. They’re such an amazing way to look back at the year and create a little time capsule. Also, every time I’m writing a new one, and I look back at the previous ones, I’m amazed at how much I’ve changed and how much I’ve done. So, let’s look back at 2024. 👀

Writing

Since I’m writing now, let’s start with writing. I still write a journal entry every day, with today being the 2,322nd day. It does get a bit repetitive, and there are definitely days when I’m struggling to write something meaningful. But that only forces me to think harder about what I’m doing with my life and making sure I’m still going in the right direction. So, for the millionth time, if you’re looking for a way to improve your life, I can not recommend journaling enough.

Reading the year in review post from last year, the Instagram trend definitely continued:

something changed. Whether it was the constant pushing of Reels, more algorithmic feed, more annoying ads, posts that felt overly polished, something else, or a combination of those, I don’t know. But I stopped enjoying it.

I actually reinstalled it during the year. I posted many stories while traveling, but certainly not as many daily ones as I used to. I even posted a new post after over a year. Eventually, I got sucked back into the Reel madness, and I deleted the app again. For the past several months, I’ve only been using the web version to check my messages. Even that one is now filled with algorithmic content and ads. I won’t be deleting my Instagram account, but I also don’t plan on using it much. Sad, really, given how much I used to enjoy it.

I believe the era of social media is over. The algorithmic content feed that TikTok popularized, and Instagram copied, is simply not the same thing. It’s no longer social. It’s only about keeping you engaged for as long as possible and show you as many ads as you will endure. The social interactions moved to group chats and Discord servers and the like. But that’s just the internet forums of the 90s reinvented poorly. And Twitter X? Oh boy. Between Threads, Mastodon, Bluesky, and whatever new alternative launched while I was writing this sentence, it’s become a comedy of fragmentation. And none of them are about socializing, they’re all trying to make you angry, so you’ll engage more, and watch more ads. Ugh. 🤢 1

As for technical posts, I wrote another guest post on Radan’s2 blog on how to replace Devise with native Rails Authentication. On this very page I wrote a post about my migration from Amazon SES to Postmark and how I abuse generates_token_for for list unsubscribe headers.

I also wrote a ton of posts over at Visualizer, and some are more than simple product updates. Like how I replaced Sidekiq with Solid Queue. And one3 that also concerns my other side project, European Coffee Trip Business was on how I moved from Fly.io to Hetzner with Kamal 2.

This last one is quite long and a full rollercoaster of a story, so if you’re even vaguely interested in (self-)hosting, I think you’ll enjoy reading it. Assuming you haven’t read it already. But then maybe read it again? I’m not telling you what to do. Or am I? 🤔

Side Projects

Speaking of Visualizer and ECT: they keep exceeding my expectations, and I keep pushing both of them with new features and experiments. Just recently, Visualizer even passed 100 stars on GitHub. I love having these 2 projects where I can play with new technologies and learn new things like the previously mentioned migration to Hetzner. Or having a chat with a friend about how she plans to use Large Language Models to generate nutrition labels for dog food, which sparked the idea of parsing coffee bag websites and importing their data into Visualizer.

Even though I’m mostly taking care of the business/backend side of ECT, I shipped the voting system for European Coffee Trip Awards, which was entirely consumer-facing. It was a huge success, and we’re already full of ideas for next year. But I also shipped a fun statistics feature entirely for café owners. It’s like a box of chocolates coffees with this project: you never know what’s coming next.

While LLMs4 were already a small part of my workflow the previous year or two with GitHub Copilot, I think they kicked in a completely new gear this year. I started using them more and more, especially for the stuff they’re good at, and I’m not: like JavaScript and (Tailwind) CSS. In a couple of hours of back-and-forths with Cursor, I was able to make a completely new year in coffee 2024. For comparison, take a look at what I was able to do by myself for 2023. You see what I mean? 🤯

Now, you should never trust an LLM to write all the code for you, and I don’t believe they’ll ever replace a seasoned developer. But they can be an incredibly powerful tool and a productivity multiplier when used correctly. And even though it feels like the rate of improvement stalled at GPT-4o / Claude 3.5 levels, I’m sure these tools are here to stay, so the sooner you start using them, the better you’ll be able to take advantage of them.

Work

Where I left things in the 2023 post was not 100% truthful:

I’m also very excited about the future of the company, and I am looking forward to what we’ll be able to accomplish together.

A couple of weeks before this statement, the company was bought by a private equity firm. If you know anything about me and about the way American private equity firms work, you can probably guess I was starting to look for a new gig as soon as the announcement was made.

Job market was not great, but there was one job ad that immediately stood out. It sounded too good to be true, and I had flashbacks to the Better Stack experience of reading it with rose-colored glasses and not seeing the red flags. But I applied anyway and soon heard back that 2,139 (not a typo) people had applied, and I was one of 81 selected for a 5-minute interview with the founder. Already during the call, I was assured I made it to the next round, and indeed, a couple of days later I got an email saying I was one of 27 selected for a coding challenge.

This was unlike any other coding challenge I’ve done. It was a very simple task: review a Pull Request. And as soon as I saw it, I was baffled no one had thought of this before. It tests coding skills, seniority, noticing the common pitfalls, and, the one thing that matters most in a remote company: communication skills. I put on my very best PR review hat and hoped for the best. After a couple of reviews and feedbacks, I got an email saying I was one of 6 selected for the 4 interviews with various team members. Now things changed: this was no longer for me to gain, this was mine to lose. I lost several hours of sleep over it, and I was quite nervous before every interview, but all of them went great, and in May I joined Cliniko.

Over half a year later, I’m still incredibly happy, and apparently I wasn’t wearing rose-colored glasses. There are absolutely no red flags, the company really is amazing, and this year I’m a 100% sincere with all the words here. 😄

Another milestone this year: Innovatif, where my professional software development journey truly began in 2010, had its 20th anniversary. To celebrate the occasion, they invited every past employee to what turned out to be an unforgettable reunion. Seeing all these familiar faces and catching up with former colleagues was a powerful reminder of those past times. If Jože hadn’t taken a chance on me as a PHP script kiddie back then, I certainly wouldn’t be where I am today. Looking around that room, seeing how far we’ve all come from that small dark office in Ljubljana, was indeed special.

Traveling

I went to Asia for the first time in my life. Together with my girlfriend we went on a 3-week trip to Indonesia in July. As I mentioned previously, I didn’t post any Instagram posts, but I think there are still stories in my highlights on my profile. I planned to do a Polarsteps photo book after we came back, but late summer and early autumn were super busy and then I just sort of forgot about it. It’s definitely coming one day, if for no other reason, I’ll otherwise forget all the amazing things we saw.

Some highlights: Borobudur and Prambanan temples are stunning, the food is great, and the people are so nice. They just come up to you and start talking. No hidden agenda, just curiosity and friendliness. Bali was super crowded, and initially we were thinking of skipping it, but I’m glad we didn’t since the sights were worth it. That said, I had a typical Bali kiss experience by crashing on a scooter. Because of that I couldn’t snorkel around the 3 gilis, but they were beautiful and worth the visit nonetheless. Komodo dragons are massive and scary, but the Komodo island is filled with trash and locals couldn’t care less about that. Swimming with whale sharks was insane. The country is absolutely massive, and I’m sure we’ll go back. Highly recommend it! 🤩

In September, I went to Bosnia for the 2024 edition of EuRuKo. I haven’t been to EuRuKo for several years, and the first moment there I realized how much I’ve missed Ruby conferences. This community is so nice, and I still know so many people, but I’ve lost touch with most of them. It was great to see old friends and make some new ones, so I’m already planning my next Ruby conference.

In November, I returned to Asia for a 10-day team retreat in Thailand. Told you this company is amazing. 😅 While we spent most of the time in the incredible resort enjoying great food and bonding with coworkers and their families, I did take one day trip to the beautiful Phi Phi Island. The entire experience was absolutely incredible. 🥰

Photography

Unfortunately less action than I’d like. It became a vicious cycle: I don’t carry my camera as much, so people don’t recognize me as mister photo anymore, which makes me feel more self-conscious about carrying it, leading to even less nice photos. The same goes for to the drone. I love taking photos with a real camera and flying my drone, but I just don’t do it enough. I need to work on that this year. But then I said the same thing last year and look where we are. 😔

Running

Now back to positive things: According to my Strava, I ran 247 times with the total distance of 2,983 km (1,854 miles) and 24,035 m (78,855 ft) of elevation gain. Which is even less than last year. In fact, I haven’t run this little since 2018. 😂

This time, I have good excuses though: the entirety of July was almost no running because of the Indonesia trip. And while I did 3 runs in the 2 weeks in Thailand, they were very short and flat because of the humidity. Another big reason is that we started taking swimming lessons with my girlfriend. And my body simply can’t handle both running and swimming in a single day when days are this short. Maybe this’ll change once spring starts rolling in.

I’m super glad we started going to swimming school, though. It’s not like I can’t swim. It’s just that I had no lessons ever, so I was very slow and inefficient. About 4 months in, I can already see a massive difference, and I’m really looking forward to swimming even more this year. I’m not planning a triathlon (not yet anyway), but it’s great for my body to do something other than running.

I participated in only 2 races this year: Wings for Life went amazing: with 32.35 km I broke my personal record again. After the disastrous 24 km last year, I was doubting I’ll ever be able to break the previous record of 31.19 km or even run past 30 km ever again. But I did it while feeling fantastic the entire time. 🥳

Ljubljana Marathon was less great though. It started of good as I was pacing Radan to his PB. Then at 35k I started cramping and was forced to slow down and let Radan go. I finished with 3:34:44, which was both my 5th slowest and 5th fastest time as this was my 9th marathon. Not great, not terrible. But Radan managed to break his PB with 03:28:34, and my girlfriend also managed to go under 2 hours on the half-marathon for the first time with 1:56:16. So all in all, a good day. 🥰

Board games

Board games became a major hobby for us this year. While I’ve always enjoyed them, my girlfriend and I really dove deep into the hobby together. We expanded our collection significantly and spent many evenings playing both with just the two of us and with friends. Here are some of my favorites from all the games we played this year:

And specifically for 2 players:

You can’t go wrong with any of these.

Books

With less running, more swimming, board games, and other hobbies, I unfortunately didn’t read as much as I’d like. I also subscribed to even more podcasts, so that meant even less time for audiobooks. According to Goodreads, I finished only 8 books this year. And really there were only 3 I actually enjoyed:

San Fransicko by Michael Shellenberger

I was quite interested in this book since I was a huge fan of Shellenberger’s previous work Apocalypse Never. It goes against the popular beliefs, yet somehow makes perfect sense. Main idea of the book is that we should focus on treating mental illness, building as many shelters as possible, and cleaning up open-air drug markets. And now a long quote:

How and why do progressives ruin cities? They divert funding from homeless shelters to permanent supportive housing, resulting in insufficient shelter space. They defend the right of people they characterize as Victims to camp on sidewalks, in parks, and along highways, as well as to break other laws, including against public drug use and defecation. They intimidate experts, policy makers, and journalists by attacking them as being motivated by a hatred of the poor, people of color, and the sick, and as causing violence against them. They reduce penalties for shoplifting, drug dealing, and public drug use. They prefer homelessness and incarceration to involuntary hospitalization for the mentally ill and addicted. And their ideology blinds them to the harms of harm reduction, Housing First, and camp-anywhere policies, leading them to misattribute the addiction, untreated mental illness, and homeless crisis to poverty and to policies and politicians dating back to the 1980s.

The book could be about half the length, since I found many chapters repetitive. But still, I can recommend it.

Going Infinite by Michael Lewis

If you enjoyed Billion Dollar Loser or its TV adaptation WeCrashed, you’ll absolutely love this one. Michael Lewis is a master storyteller, and he manages to weave an incredibly engaging narrative about the rise and fall of FTX and Sam Bankman-Fried. The book reads like a thriller, yet it’s all true (well, as true as anything can be when SBF is involved).

Also don’t read 1-star reviews: they’re written by people who were burned by either FTX or SBF himself. Or they are effective altruists and thus delusional. 😂

Tidy First? by Kent Beck

If you’re a software developer, just get it. It’s short, it’s packed with great advice, and it’s from Kent Beck. No need to say more.

Wrapping up

Wow. That was a lot. And I’m sure there are plenty of things I forgot. But that’s life. Each year brings its own challenges and triumphs, and by reflecting on both, we can learn from the downs and make the ups even higher. 🏔️

Thank you for reading! Whether you’ve been following these posts since the Instagram story days of 2018 or if this is your first time here, I appreciate you taking the time to follow my journey. 🥰

Here’s to an amazing 2025! 🥂

May it bring even more adventures, learnings, and great coffee. ☕️

  1. This should have been a separate post, but no one would read it. 😂 

  2. Speaking of Radan, he just recently launched his first book Master Hotwire. If you’re at all interested in Hotwire, you should definitely check it out. 

  3. Yes, it’s another migration one. Sorry not sorry. 🙈 

  4. What most people call AI nowadays, but they’re not AI. They’re simply a very powerful auto complete. If you’re interested in basics of how they work, I recommend watching this video