A person who coding.

I Am the First Reviewer of My Own Pull Requests

About ten years ago, I started my career as a backend intern at a small company. Back then, the main product our team was working on was a multilingual hotel management software. After spending some time watching tutorials and practicing, the tech lead decided I was ready to contribute to the main project, so I officially joined the team. When I completed my first task, I nervously sent my pull request to my manager. Before even opening it, he asked, “Did you review it yourself?” I was a bit surprised and said no. He told me to go review my own code first, fix any issues that you found, and then send it back to me. He also suggested that I do these reviews before committing my code and introduced me to git diff for the first time. ...

February 15, 2025 · 2 min · Amin Rashidbeigi
An image of a desk with a laptop on it.

2024 in Review

The highlight of this year for me was moving to Germany (from Iran) and working for a new company. This simple sentence affected all aspects of my life: the language, relationships, workplace, and products I work on. It was an intense and chaotic year for me, and at the same time, it was full of new experiences. Language I was born and raised in a Kurdish family and environment. When I was 18, I moved to the capital of Iran, a Persian city, to start my bachelor’s at university. For 9 years, Persian was my main language in my daily life. This year, when I started my new job in Germany, I had a switch again. English became my main language for work and communication with colleagues, and German became my language for communicating with people in the city and a tool to integrate into the new society. ...

December 25, 2024 · 5 min · Amin Rashidbeigi
An image of a llama in a watercolor style

Run Llama 3 Locally

In the generative AI era and with large language models, they say the only limitation is your imagination. So, as maybe you, I had some ideas to implement with LLMs, but I didn’t want to spend a lot on testing and validating my prototypes. So, I decided to run Llama , the Meta open-source LLM, on my machine or a VM to implement my prototypes with a free and self-hosted LLM. ...

October 24, 2024 · 3 min · Amin Rashidbeigi
An image of a lock

When to Start Secret Rotation

Have you ever accidentally pushed a sensitive password and realized how difficult it is to ensure no one gains access to it? Or have you mistakenly logged an API token, and now it’s scattered across your logging system? In these cases, the first thing you’d do is change the secret. But what if you never caught the log in the first place? Or how can you be sure no one else has pushed sensitive data? This is where Secret Rotation comes in. ...

October 17, 2024 · 2 min · Amin Rashidbeigi
The cover image of Expedition Diaries: A Project to Learn.

Expedition Diaries: A Project to Learn

Some days ago, I received a final warning email about the expiry of the expedition-diaries.com domain. A few years ago, I set a challenge for myself to start a project and manage all its aspects like backend, frontend, and infrastructure on my own. I had experience in each of these areas separately but never had the chance to develop them together. Plus, I had different goals for each part: Backend (Go): I wanted to experiment with various libraries and architectures. Frontend (Vue.js): I wanted to refresh my knowledge. I also thought about giving React a try. Infrastructure: I was less experienced in this area and wanted to experience and learn some. Expedition Diaries One thing that mattered most to me was to create something useful, both for myself and others, and not just let it sit on my GitHub archive. ...

September 23, 2024 · 3 min · Amin Rashidbeigi

"Sorry", Is That Enough?

Introduction Work today is very different from what it used to be. In the past, people didn’t have to make so many decisions every day. But as time goes on, our work environments and the tools we use have become more complex and varied. With this complexity comes more uncertainty and ambiguity. For many of us, making decisions is a daily part of our job, even when the situation is unclear. Companies often pay the highest salaries and offer the best benefits to those who make the most ambiguous and riskiest decisions. However, our knowledge is always limited, and we rarely have all the information we need. In fact, if we did have all the data, companies wouldn’t need to hire so many experts at such high costs. ...

August 16, 2024 · 3 min · Amin Rashidbeigi
The cover image of thoughts on The Clean Coder book.

My Thoughts on The Clean Coder Book

Introduction Some time ago, I was searching for a book related to software but not purely technical, making it easier for me to read. I was looking for something I could enjoy even with a busy mind after work. After checking my Goodreads to-read list, I decided to read The Clean Coder and started right away. The book’s introduction hooked me, and I ended up reading it to the end. ...

June 20, 2024 · 5 min · Amin Rashidbeigi
A magnifier and some numeric values.

Vector Search: An Introduction

What Is Vector Search? We’ve come to understand searching as a job of comparing text. We grew up Googling things, looking up words in dictionaries, and finding book titles in libraries. But there are tons of other types of media packed with information we might need, like images, videos, and audio. What if you want to find a specific word in an audiobook, or you’re trying to locate a scene with a red Ferrari in action movies? That’s where vector search comes in. ...

April 14, 2024 · 3 min · Amin Rashidbeigi
A desk with a laptop on it emphasizes an overdue task.

Managing Overdue Tasks

Introduction Getting better at estimating how long tasks will take is a skill that develops as you gain more experience in your career, especially when working with a team or company for a long time. However, even with careful planning, unexpected challenges can pop up, causing delays and potentially missing deadlines. A Common Approach: Finish It at All Costs When faced with a deadline, the first solution many of us consider is to work extra hours or through the weekend. We might think that failing to complete the task on time means we’ve let others down, broken a promise, or even fear it could reflect negatively on our next performance review. ...

March 22, 2024 · 3 min · Amin Rashidbeigi
test double in go.

Go Test Doubles by Example

Introduction When writing tests for a program, we often need to consider dependencies and external APIs that we prefer not to call every time the test runs. Calling these external dependencies not only adds complexity to our tests but also incurs costs. To address this issue, we can use test doubles. What Are Test Doubles? Test doubles offer an alternative to real dependencies. While we commonly refer to all of them as mocks, there are various test doubles, each serving different purposes. ...

December 31, 2023 · 7 min · Amin Rashidbeigi