Moving is hard, but we're happy we did it

Moving

Since we moved to Germany in March 2021, we’ve changed flats three times. When we arrived in BER airport for the first time, we rented a temporary, furnished flat for six months. Then we moved to a permanent, unfurnished flat so that we could start personalising our living space. Five years later, we’ve moved again, this time into a flat of our own.

The first two moves were relatively easy. When we arrived at BER airport, we had only four big pieces of luggage. After six months, when we moved to the new unfurnished flat, we’d bought only a few things. Due to COVID, we were exposing ourselves to the outside world only when necessary. This time, however, was different. We had bought a lot of different things. We basically had everything we had before migrating to Germany, plus a lot of new stuff for Nika, our daughter.

It took us more than two weeks to move everything. At first, I thought I could do it myself, just like the first time. This time was a bit different, though, because we had a car. So I decided to start taking things over bit by bit every day after work, and for the bigger stuff, I would take an XXL Miles car.

After doing this for five days, I faced reality: we had much more stuff than I had expected. So, I hired one of those moving companies that brings its own transporter to move the rest. It took them eight hours to move everything that day.

After we moved, I thought everything was finally finished and that I could get back to normal life. However, it was only the beginning.

The flat we moved into is brand new. This is great, but it also means that we have to buy a lot of things for it. For example, we needed new lighting for every single room. In addition, small things such as toilet paper holders and bathroom mirrors had to be installed, and we had to find a new internet provider, among many other things.

As I’m writing this, we’ve been living here for two weeks, and there are still a lot of these small things that need to be done.

Change of address

This is probably one of the most underrated things you need to do after relocating to a different place in Germany. You need to change your address with almost every service you use. I knew this had to be done, so I started preparing a list:

  • DHL
  • PayPal
  • Mobile phone service provider
  • The company I bought my car from
  • Liability insurance company
  • Berufsunfähigkeitsversicherung provider
  • Google
  • Netflix
  • Spotify
  • Car insurance company
  • Apple
  • Deutsche Bahn
  • Rundfunk (public radio and TV in Germany)
  • Deutsche Bank
  • Revolut
  • N26
  • IKEA
  • Hausverwaltung (property management company)
  • Amazon
  • Anmeldung (official address registration in Germany)
  • Car registration
  • The company I work for
  • Miles
  • Health insurance company
  • The company I buy my domains from

The funny thing is that while writing this list, a few new items came to mind that I had to add to it.

Handing over the previous flat

If you’re single or a couple without children, this part should be relatively straightforward. With kids, however, it’s a bit different.

When we moved into our previous flat, Nika was only 3.5 years old. She’s now nine. In Germany, you’re generally expected to return a rented flat in the condition in which you received it. This can include things such as walls and painting.

There were a lot of small spots that we had to clean up in almost every room. We’ve already fixed many of them, but as I’m writing this, there are still a lot of things that need to be done.

One easy option is to hire a painter to do it for you, but obviously, that costs a lot of money. For our 76sqm flat, we were quoted around €1,000 by a painter to do the work. The wall paint and all the equipment we needed cost less than €100. As a result, we decided to do it ourselves.

We’re hoping that once we’ve fixed everything, we’ll be able to get our deposit back in full. There are a lot of stories on the internet about landlords charging their tenants for every small thing, so it makes us a bit worried.

But we’re super happy about it

Everything I’ve mentioned above is about the pain points and the ton of work we had to do. Honestly, my body aches as I’m writing this because of all the work. But I think it’s important to mention that we’re super happy with the final result.

Me sitting in our flat as we received it

First of all, we’re moving into a home of our own. We still make a monthly payment, but now it’s to the bank rather than to a landlord. Every mortgage payment is, at least in part, an investment in something that belongs to us.

Second, the flat we’ve moved into has three bedrooms instead of one. Given that we have only one child, one of the rooms can be used as a home office and gym. This gives us a lot more flexibility and convenience.

After a lot of work and effort, we’ve finally reached our sweet spot. And I think this is, in many ways, what life is about.

The things that matter most rarely come easily. They require time, effort, frustration, and sometimes a lot of physical pain. But when you finally get there, you look back and realise that all that effort was worth it.

How to calculate how much memory Google Chrome actually uses

Google Chrome is the most popular browser in the world according to recent statistics. It’s also well known for consuming a significant amount of memory. The other day, I became curious about how much memory Chrome was actually using. When I opened Activity Monitor (or htop), I saw something like this:

Chrome usage in Activity Monitor

With only six tabs open, there were already more than twenty Chrome-related processes running on my machine. That made me wonder: How much memory is Chrome actually using? So I decided to write a small shell script to calculate the total memory usage of all Chrome processes.

Note: This script sums the RSS (Resident Set Size) of all Chrome processes. RSS is a useful approximation of an application’s memory footprint, but it is not a perfect representation of the total memory used because some memory pages are shared between processes.

The script

Although tools such as macOS Activity Monitor and the popular htop make it easy to inspect running processes, Unix-like operating systems also provide a powerful built-in utility called ps.

If you run ps without any additional arguments, it shows a snapshot of the processes associated with your current terminal session. However, running man ps quickly reveals just how powerful this tiny utility really is. You can customise almost every aspect of its output, including which columns are displayed. That’s exactly what we’ll take advantage of.

The first thing we need is a list of every running process on the machine, not just those belonging to the current terminal session. We can achieve this with the -e option. Since we also need specific columns instead of the default output, we’ll use -o to specify the fields we want:

ps -eo pid,rss,comm,args

Next, we need to filter the list to only include Chrome-related processes. To keep things simple, we’ll search for the word chrome. Nothing beats grep when it comes to searching text from the command line:

ps -eo pid,rss,comm,args | grep -iE "chrome"

There’s one small issue, though. Since we’re using grep to search for chrome, the grep process itself also appears in the results:

45801   1376 grep             grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox --exclude-dir=.venv --exclude-dir=venv -iE chrome

A common Unix idiom is to filter that line out using another grep:

ps -eo pid,rss,comm,args | grep -iE "chrome" | grep -v grep

Now we have a list of all Chrome-related processes. The only thing left is to sum their RSS values (reported in KB).

There are many ways to process the output, extract the RSS values, and calculate their sum. To keep everything within a shell script, I decided to use awk, a small but incredibly powerful text-processing language.

The AWK is “a scripting language designed for text processing and typically used as a data extraction and reporting tool”. It reads input one line at a time, automatically splits each line into space-separated fields ($1, $2, $3, …), and lets you run code against those fields.

Since the RSS value is the second column in our ps output, we need $2. I also wanted to know how many Chrome processes were running, so I kept track of both the total memory (sum) and the number of processes (count). Finally, I converted the total from KB into MB and GB to make the output easier to read.

awk '
{
    sum += $2
    count++
}
END {
    if (count == 0) {
        print "No Chrome processes found."
        exit 1
    }

    printf "Chrome processes found: %d\n", count
    printf "Total RSS memory: %d KB (%.2f MB / %.2f GB)\n", sum, sum/1024, sum/1024/1024
}'

Now we have everything we need. Let’s put the pieces together:

#!/bin/bash

ps -eo pid,rss,comm,args | grep -iE "chrome" | grep -v grep | awk '
{
    sum += $2
    count++
}
END {
    if (count == 0) {
        print "No Chrome processes found."
        exit 1
    }

    printf "Chrome processes found: %d\n", count
    printf "Total RSS memory: %d KB (%.2f MB / %.2f GB)\n", sum, sum/1024, sum/1024/1024
}'

Running the script produces output similar to the following:

Chrome processes found: 34
Total RSS memory: 7191920 KB (7023.36 MB / 6.86 GB)

I found the results surprisingly interesting. During one of my meetings, Chrome’s RSS memory usage climbed to almost 9 GB, which I wasn’t expecting. It was also surprising to see that Chrome had more than 30 processes running at the same time.

If you’re curious about your own numbers, simply copy the script above into a file—for example, chrome_processes.sh—make it executable, and run it:

chmod +x chrome_processes.sh
./chrome_processes.sh

I’m curious to know what numbers you get. Feel free to let me know in the comments.

Productive Procrastination

Procrastination by reading

Sometimes procrastination doesn’t look like procrastination at all. It can disguise itself as something productive or even self-improvement. Here are a few examples:

  • Continuing your education when you know you won’t benefit from it or use it. For example, you already have a BS or MS degree, your career is going well, but you have spare time and money and don’t know what to do with them.
  • Writing RFCs for small features where the implementation would take less time than writing the RFC itself.
  • Scheduling meetings for next week when the discussion could easily happen asynchronously.
  • Buying additional devices or gadgets because you believe they’ll make you more productive, when in reality they only add more distractions.
  • Reading books. Yes, even reading can become procrastination if you’re reading just to avoid doing the work that actually matters.
  • Attending random conferences and meetups without a clear purpose.
  • Organising your notes or TODO list for the fifth time instead of starting the task.
  • Switching from one LLM to another, even though any of them could answer 90% of your questions.
  • Thinking about how to stop procrastinating instead of doing the thing you’ve been avoiding.

To me, the activity itself isn’t the problem. Learning, reading, writing, and networking are all valuable things. But I sometimes notice they become a form of procrastination when I use them to avoid something more important, difficult, or uncomfortable.

That reminds me of a quote I once heard:

Procrastination isn’t always avoiding work. Sometimes it’s choosing work that feels safer.

I'm not sure if I'm chatting with humans anymore

Interaction with a robot Photo by Photo by Katja Ano on Unsplash

Since the beginning of the year, the use of LLMs has increased significantly, not only in coding and software engineering but also in product management, consulting, and many other fields. From LLMs to agents to specialised AI skills, the technology is evolving at an incredible pace.

Unlike some people who worry that AI will take their jobs, I believe we should embrace these tools and use them to improve the quality of our work and our lives. AI has become an invaluable assistant, and I wouldn’t want to work without it anymore.

However, there is one area where I don’t want to rely on AI: human interactions.

The reason I’m bringing this up is because of a situation I’m currently facing with one of my colleagues. They work in a different department, and for the past four months, every Slack message they’ve sent me has ended with a “Sent with Claude” tag.

I’ve met them in person many times, and we’ve had plenty of authentic conversations in the office. They’re thoughtful, friendly, and easy to talk to. But our asynchronous conversations feel completely different. They no longer sound like the person I know.

The issue isn’t that they’re using Claude. I use AI every day myself. The issue is that I no longer know whether I’m reading their thoughts or an AI-generated response. Over time, it starts to feel less like a conversation between two people and more like an exchange between two assistants.

I believe AI should help us think, create, and get things done faster while producing higher-quality work. But when it comes to communicating with other people, I think we should establish sensible guardrails. Not every message has to be perfectly polished. Sometimes the imperfections, the writing style, and the personality behind a message are exactly what make it human.

Perhaps this is the future of work, and I’ll eventually get used to it. But today, I still value knowing that there’s a real person on the other side of the conversation.

What 40 Days Without Dopamine Taught Me

Freedom from Detox Photo by Grant Ritchie on Unsplash

During December 2025, I voluntarily started a detox challenge that I called Dopamine Detox December. For the entire month of December, I stopped:

  • Using social media of any kind (including platforms that some people don’t count as social media, such as LinkedIn)
  • Consuming news. I asked my wife to let me know if there was any urgent news I needed to know about.
  • Using video streaming services such as Netflix or Amazon Prime
    (I was still watching movies with my family, but we knew exactly which movie we wanted to watch and when.)
  • Playing video games of any kind

Contrary to what I was expecting, quitting social media was not the most difficult part. After about a week, everything felt normal, almost as if social media had never existed. That said, the first five days were very difficult.

I was also not a heavy consumer of video streaming services, so quitting them was relatively easy. Given that we were already watching movies only on Sunday afternoons, I barely felt their absence.

Avoiding news, however, was very challenging for me. Given everything that is happening in my country, it sometimes feels like destiny for Persians to be tied to news websites. Despite this, I tried very hard to “change the subject” every time my mind urged me to check the news.

Whenever I felt that urge, I went for a walk. This helped a lot, but it wasn’t enough on its own. What helped the most were my conversations with my wife during breakfast. Every day, she would tell me what had happened the day before. Some days there was complete silence and we talked about something else; on other days, it was all about politics.

The most difficult habit to quit

I never thought video games would be this difficult to quit. I never considered myself dependent on games — I was playing maybe an hour a day. But what I realised during this detox was that video games produced the strongest dopamine stimulation for me.

Even now, I sometimes feel the urge to play something when I get stressed or bored. To create a barrier, I uninstalled all the games I was playing from my gaming console so that reinstalling them would take at least 30 minutes.

The type of game I was playing also played an important role. Games like ANNO are extremely addictive. So addictive, in fact, that there is a built-in mechanism that notifies the player to take a break every two hours.

Why is that? Because these games are endless. There is no real mission, and there is always something to improve. They give you control over building a city exactly the way you want, and when it comes to that, the possibilities are practically unlimited.

Besides willpower, deleting the games from my console helped a lot.

What really helped during my detox period?

Reading books and walking helped me the most during this period.

Reading is especially powerful because it releases dopamine slowly but steadily. I placed the book I was reading next to me instead of my phone, and I put my phone in a different room the moment I arrived home.

I already liked reading before the challenge, but during the detox month I managed to finish four books. My screen time before the detox wasn’t very high — around two and a half hours a day — but redirecting even two extra hours towards reading made a significant difference. I turned time I was essentially wasting into self-improvement.

Walking was another big help. Every day after work, I went for a 30-minute fast walk. Sometimes I went for a run, but during December, Berlin’s weather isn’t ideal for running, so I replaced it with walking.

It was important that during these walks I didn’t listen to anything. I often see people walking while listening to music or audiobooks. That’s not a bad thing, but the purpose of these walks was different: to reset my mind from work mode into family mode.

The brain needs time to “defrag” what happened during the day and put things in the right place — similar to what happens during sleep. During sleep, our brain organises the information it needs to remember and throws away what it doesn’t need.

My learnings

During December, I realised that I don’t need to know about other people’s lives through social media. I can live a happy life without binding myself to TV shows and endless YouTube videos. That’s exactly how people lived for millions of years. Streaming services are relatively recent inventions, yet suddenly we act as if we can’t live without them.

I also realised that human life depends on social interaction — but not through social media. It depends on real, meaningful communication. By “in-person”, I don’t necessarily mean meeting physically. Video calls can provide a similar level of satisfaction. For example, I noticed that I feel much better sending and receiving voice messages than text messages. Voice carries emotion in a way text doesn’t. Over the years, we’ve tried to compensate for that with emojis, but hearing someone’s voice — especially that of a loved one — is different.

Bad habits can be changed, even when they turn into addictions. There is usually a period during which we simply need to tolerate discomfort and wait. After that, things improve exponentially. What matters most is replacing bad habits with better ones.

Another important lesson for me was learning to deal with boredom. We should allow ourselves to be bored from time to time. In the past, there were moments when we had nothing to do — and we simply did nothing. That was normal. Today, there seems to be constant pressure to always be doing something. Doing nothing is often seen as being unproductive, but that’s wrong. We should give our brains time to catch up and our bodies time to relax.

Humans evolved to move, explore, and search for food — not to sit and stare at phones. For millions of years, we had no TVs, smartphones, or tablets, and many of humanity’s most important inventions came from those quieter times. When Newton was sitting under the apple tree, he wasn’t checking Instagram or X. Otherwise, he probably wouldn’t have discovered the law of gravity. Great ideas often come from boredom. It’s perfectly fine to sit in silence and do nothing — and doing so doesn’t mean you’re falling behind.

Probably the most important thing I realised during this challenge was how much healthier I felt overall — not just mentally, but physically as well. My resting heart rate improved, and my sleep schedule normalised. Without social media or FC 2026 before bed, my evenings slowed down. I was reading instead, and after about an hour my eyes would naturally get tired. Falling asleep no longer felt like a struggle. This change carried over into my work too. I stopped skimming Slack messages and RFCs. With a single focused read, I could actually comprehend what I was reading.

Nothing dramatic changed overnight. I didn’t suddenly become more productive or happier every single day. But life became quieter, more intentional, and more present — and that turned out to be enough.