2024 was, without a doubt, a rollercoaster of a year. I changed jobs not once but twice, traveled to some breathtaking places, gave talks at conferences, and met amazing people along the way. Oh, and I turned 33 this year—seven years away from the big 4-0. The countdown is on, and I plan to make these yearly recaps count!
TL;DR: Numbers, Numbers, Numbers
Here's the year at a glance:
- Countries visited: 7 (not counting Germany) 🌍
- Book chapters written: 6 (Docker and Kubernetes Security) 📚
- Articles published: 15 📝
- dev.to/aerabi: 11
- aerabi.medium.com: 4
- Conference/meetup talks delivered: 5 🎤
- Test in Production with Kubernetes and Telepresence @ 90 Days of DevOps
- Dockerizing Python Applications @ Python User Group Freiburg
- Create Your CV with GitHub + LaTeX @ TIL Conf
- Best Practices Developing a Web App @ Python User Group Freiburg
- How to Create New RxJS Operators @ DevFest Nuremberg
Around the World in 365 Days 🌏
This year took me to some incredible places. Each trip left me with stories, lessons, and—let's be honest—a few extra pounds from indulging in local cuisine. Some notable stops:
- Turkey 🇹🇷: Istanbul, Buyukada 🌊
- Portugal 🇵🇹: Algarve, Lisbon 🏖️
- Italy 🇮🇹: Riva del Garda, Bergamo, Milan 🏞️
- France 🇫🇷: Colmar, Paris 🥐
- Germany 🇩🇪: Stuttgart, Gelsenkirchen, Düsseldorf, Munich, Ludwigsburg, Nuremberg, Frankfurt am Main, Gengenbach 🍻
- Liechtenstein 🇱🇮: Vaduz, Schaan 🏰
- Switzerland 🇨🇭: Brienz, Lugano, Lauterbrunnen, Interlaken, Luzern, Uri, Zurich, Schaffhausen, Montreux 🏔️
- Iran 🇮🇷: Tehran, Bandar Abbas, Hormoz Island 🏝️
Fun facts:
- I attended KubeCon Europe in Paris, where Solomon Hykes gave a keynote on 10 years of Docker. It was in the very same city where he lived as a young developer and envisioned changing the world with containers.
- The word "Algarve" comes from the Arabic word "al-Gharb," meaning "the west." It was the most western part of the Arab world, and the name stuck.
- Talking of Portugal, the port city of Bandar Abbas (meaning "Port of Abbas") in Iran is named after Abbas I of Persia, who was the Shah of Persia from 1588 to 1629 and conquered for the first time the Portuguese colonies in the Persian Gulf and the Strait of Hormuz. The city was known as Gamrun before Abbas's reign.
- Liechtenstein is the sixth-smallest country in the world, and the capital, Vaduz, is the second-smallest in Europe. The country is known for its low corporate tax rates, so it's a popular destination for holding companies, and there are more companies registered than citizens.
- Liechtenstein is 2200 times smaller than Germany, and Iran is 4.6 times bigger.
Conferences and Meetups
In 2024 I had the opportunity to experience stage-fright a few times, but I also met some amazing people and learned a lot. Here are some highlights.
Creating Your CV with GitHub + LaTeX
At the TIL Conf, I presented a short talk on leveraging GitHub and LaTeX to create a professional CV. It was based on my own CV that is version-controlled on a public GitHub repository, and compiled using LaTeX through GitHub Actions. The result is published as an artifact on the repository's releases page.
aerabi / hacktoberfest-cv
Living CV built with LaTeX, GitHub Actions, and Overleaf
Oktoberfest CV
You can download the latest CV release as PDF by clicking badge. To access the older versions, navigate to the Releases section on the right.
This is the CV I created the first draft of, on Oktoberfest 2017.
I'd highly recommend having a look at my YouTube video on building your CV with Docker and GitHub Actions before you try to implement this on your own.
If you have any issues, you can create an issue and add the details there.
Table of Contents
LaTeX Compiling
Take your .tex
file that you have used to create your resume (either via Overleaf or in a local environment) and check if there are no errors in the file, and it compiles successfully.
💻 NOTE: If you do not want to setup a local environment for running your
How to Create New RxJS Operators
I delivered this talk once at DevFest Nuremberg and once before at WeAreDevelopers LIVE last year:
The talk was also accepted at the WeAreDevelopers World Congress in Berlin, but I couldn't make it due to my sickness.
Quick tips from the talk:
- You should try to be DRY (Don't Repeat Yourself) when using RxJS. If a piece of code is repeating, it's time to wrap it in a custom operator.
- RxJS operators to the reactive programming what functions are to the imperative programming. They are the building blocks of your reactive code.
- Create operators to make your code more readable and maintainable. It's easier to understand
source.pipe(customOperator())
than a long chain of low-level operators.
Dockerizing Python Applications
This is an interesting story. The Python meetup had its first event at JobRad's campus in Freiburg. I checked the Meetup page and saw that they were looking for speakers. I delivered a talk on Dockerizing Python Applications, and it was a great success—so much so that some people asked me on dates to become friends. I also organized a Docker meetup at JobRad next week.
At the Docker meetup, I let the head of SRE know that I was looking for a new job, and he offered me a coffee chat to talk about open positions. Long story short, by the next Python meetup, I was already working at JobRad.
Quick tips from the talks:
- PIP is a lousy package manager, and you should use Poetry instead, as it keeps your dependencies in a lock file, among other benefits.
- When Dockerizing an application, try
docker init
, and that might already be enough. - Generate SBOMs for your Docker images using Docker's SBOM CLI plugin:
docker sbom <image>
. Docker Scout also has a similar feature:docker scout sbom <image>
.
Next Year's Goals
As I wrap up 2024, I'm brimming with ideas and energy. Here are a few goals for next year:
- Prioritize health—less screen time, more gym time (or so I tell myself). 🏋️
- Dive deeper into my 9-to-5 and push the envelope at work. 🚀
- Visit one new country (suggestions welcome!). 🌴
- Finish and publish the Docker and Kubernetes Security book. 📖
- Start another book based on my Git Weekly series—perhaps something martial arts-themed? 🥋
2024 taught me to cherish growth, embrace challenges, and laugh at the curveballs life throws my way. Here's to making 2025 just as unforgettable—and maybe a tad less chaotic. Cheers! 🍻
Top comments (0)