Hi there 👋

My thoughts and ideas on life, universe, and everything

افکار پراکنده در مورد AI

در دو سه سال گذشته هوش مصنوعی از یه تب‌وتاب تکنولوژیک به یه واقعیت ملموس توی زندگی همه ما تبدیل شده. توی حرفه من یعنی برنامه‌نویسی، حضور AI از بقیه تخصص‌ها خیلی بیشتر حس میشه. بر اساس تجربه من، AI اگه درست هدایت بشه، بیش از حد خوبه. به جرئت می‌تونم بگم توی یک سال گذشته حتی یه خط کد هم ننوشتم. میشه گفت از یه برنامه‌نویس تبدیل شدم به یه راهنما برای AI. معمولاً موقع کار با هوش مصنوعی، Claude Code یا GitHub Copilot رو توی پلن‌مد میذارم و اون‌قدر با agent حرف می‌زنم تا به یه نقطه‌نظر مشترک برسیم. وسط این گفت‌وگوها، AI هم پیشنهاد میده، هم از ایده‌های من انتقاد می‌کنه، هم راه‌های مختلفی برای حل مسئله پیشنهاد میده. راه‌هایی که شاید به‌راحتی به ذهن من نمی‌رسیدن. چون AI agent به خاطر حجم عظیم داده‌ای که داره، تقریباً توی هر حوزه‌ای زاویه دید بازتری داره؛ زاویه‌ای که من لزوماً ندارم. ...

May 24, 2026 · 4 min · Saeed

وقتی برای «منِ آینده» تصمیم می‌گیرم

چند وقت پیش داشتم کتاب Stumbling Upon Happiness از Daniel Gilbert رو می‌خوندم. ایده‌ای که مطرح می‌کنه ساده‌ست، اما کمی هم آزاردهنده: ما وقتی برای آینده برنامه‌ریزی می‌کنیم، در واقع داریم برای کسی تصمیم می‌گیریم که خیلی هم نمی‌شناسیمش. همون «منِ آینده» که قراره از نتیجه‌ی این همه تلاش راضی باشه. مسئله اینه که از کجا معلوم اون آدم دقیقاً همون چیزهایی رو بخواد که منِ امروز فکر می‌کنم؟ ...

May 6, 2026 · 3 min · Saeed

Build a Read-it-Later App Using Only GitHub Actions and Pages

This is a little experiment: I wanted to see if I can build a read-it-later app using no backend, no database, no real frontend even — just GitHub Actions and GitHub Pages. Turns out, yes, you can. You save articles via a bookmarklet, a GitHub Action runs and extracts the content, then stores it as HTML in your repo. Your saved articles get served as a simple static site with GitHub Pages. ...

June 17, 2025 · 3 min · Saeed

Global .gitignore

I found myself adding .idea and .DS_STORE to .gitignore in every repository I’ve been working on, but then I realized I could take advantage of Git’s global .gitignore. ...

January 31, 2024 · 1 min · Saeed

Journey of Life

“Wherever you’re hoping to get to in life, the quality of the journey must be more important than those fleeting moments when you actually seem to arrive at your destination. Because most of your life is the journey, most of your life is a process of solving problems. It is not and never will be the condition of basking in the absence of all problems. You will always have something to do. So, the frame of mind in which you do these things will determine the quality of your life. Above all, there’s one mistake, you cannot afford to make, you can’t wait until you solve your problems to be happy.” ...

June 26, 2023 · 1 min · Saeed

Base64 implementation in Rust - Part 2: decoding

In the previous article, we explored how base64 encoding works and successfully implemented it in Rust. Now, let’s delve into the process of decoding a base64-encoded string. It is important to note that the implementations discussed here are primarily for educational purposes, and for production environments, it is recommended to employ well-established libraries. Theory Here are the steps to decode a base64-encoded string: Split the string into groups of 4 characters. Find the index of each character in the base64 character map. Convert each index into binary. Combine all the binaries in a group into one binary, resulting in 24 bits. Split the binary into groups of 8 bits, which correspond to characters in the ASCII table. These steps will enable us to successfully decode the base64-encoded string. ...

May 25, 2023 · 5 min · Saeed

Base64 Implementation in Rust - Part 1: encoding

I’ve been learning Rust on and off for quite a some time and every time I pick it up again I learn something new. A few days ago when I came back to it again, I was looking for a educational project to do and I decided to implement the Base64 algorithm in Rust. In this post, I will explain how to encode data to base64 in Rust. Decoding from base64 will be covered in a separate blog post, but it’s worth practicing by implementing it yourself. I’ll share the resources I used at the end of this post. ...

May 16, 2023 · 6 min · Saeed

Deploy Hugo on Github Pages with GitHub Actions

For the start, you will require two repositories: one to store your Hugo project, and the other to host the GitHub page with the static files generated by Hugo. Configuring GitHub Pages GitHub Pages is a straightforward solution for hosting a static website. You can find more information on how to set up your GitHub Pages in the relevant documentation. To give GitHub Actions permission to write to your GitHub Pages repository, you will need to create a secret key pair. Run the following command in your terminal: ...

February 7, 2023 · 3 min · Saeed

Today's Mantra

Let’s approach today differently. Let’s be mindful. Let’s not worry about the future. Whenever our minds wander, let’s bring them back to the present moment. Let’s love. Let’s smile.

February 1, 2023 · 1 min · Saeed

What Next

Steps towards a dream Since moving to Germany, I have struggled to find a long-term goal to guide my daily actions. My dream of living abroad, particularly in Germany, had been with me since my early twenties, but it wasn’t until my late twenties that I committed to making it a reality. To prepare for this move, I left my hometown and spent time in Tehran, where I gained valuable experience working in technology companies and tested my ability to live independently in a different city while dealing with the challenges that come with it. ...

January 29, 2023 · 7 min · Saeed