اینجا می‌نویسم که کمی از بارِ RAM مغزم کم کنم.

درانکلین

چرا به Zen Browser مهاجرت کردم؟!
19 May 2026
##مرورگر #zen #فایرفاکس#ابزار_متن‌باز

چرا به Zen Browser مهاجرت کردم؟!

Zen Browser برای من فقط یک مرورگر جدید نبود؛ تلاشی بود برای داشتن محیطی آرام‌تر، متمرکزتر، و کم‌حواس‌پرت‌تر در دنیایی که همه‌چیز برای گرفتن توجه ما طراحی شده است.

This Is for Everyone — وقتی خالق وب از رویایش می‌گوید
25 Apr 2026
#حریم‌خصوصی#مالکیت‌داده#کتاب

This Is for Everyone — وقتی خالق وب از رویایش می‌گوید

Tim Berners-Lee وب رو اختراع کرد، patent نگرفت، و به همه هدیه‌ش داد. حالا داره می‌بینه که چی شده و نگرانه. این یه نگاه صادقانه‌ست به کتابش: چی رو درست می‌گه، کجا ایده‌آلیسمش کم میاره، و چرا هر developerی باید بخونتش.

28 Dec 2025
#لینوکس#مدیریت_سیستم

کرنل‌های لینوکس؛ وقتی اسم‌ها زیاد می‌شوند و مفهوم گم!

این پست به‌صورت مفهومی تفاوت کرنل‌های مختلف لینوکس مثل Mainline، LTS، Zen، Hardened و همچنین WSL2 را توضیح می‌دهد. هدف این است که نشان دهد این کرنل‌ها انتخاب‌های هم‌سطح نیستند و هرکدام برای یک سناریوی مشخص طراحی شده‌اند؛ بنابراین انتخاب درست کرنل به این بستگی دارد که لینوکس را کجا و برای چه کاری اجرا می‌کنید.

21 Dec 2025
#برنامه‌نویسی#راست#مدیریت-خطا، راست-غیرامن

unsafe Rust از جایی شروع می‌شود که Rust دیگر امنیت را تضمین نمی‌کند

این مقاله توضیح می‌دهد که unsafe در Rust واقعاً چه معنایی دارد و چرا اصلاً وجود دارد. unsafe امنیت را خاموش نمی‌کند، بلکه مسئولیت را از کامپایلر به برنامه‌نویس منتقل می‌کند. با مثال‌های واقعی می‌بینیم raw pointerها چطور کار می‌کنند، Undefined Behavior چیست و چرا از panic بسیار خطرناک‌تر است. در نهایت، مقاله نشان می‌دهد که استفاده‌ درست از unsafe چگونه است: محدود، کنترل‌شده و پنهان پشت یک API امن، با invariantهای مشخص که بقیه‌ کد را امن نگه می‌دارند.

10 Dec 2025
#لینوکس#برنامه‌نویسی

ساختن کوچک‌ترین لینوکس شخصی من (از کرنل تا Lua)

توی این پروژه از صفر یک لینوکس ۶۴ بیتی خیلی مینیمال می‌سازم: اول با tinyconfig و چند تنظیم دستی، یک کرنل کوچک برای x86_64 می‌سازم و توی QEMU بوت می‌کنم تا به خطای no working init found برسم. بعد، یک init فوق‌ساده با Rust + اسمبلی می‌نویسم (بدون std و libc) که مستقیماً با system callها کار می‌کند و نقش PID 1 را می‌گیرد. در آخر، Lua را استاتیک کامپایل می‌کنم، همراه با init داخل یک initramfs می‌گذارم، و با ابزارهای خود کرنل یک ISO قابل بوت می‌سازم که می‌تواند Lua را روی این دنیای خیلی کوچک لینوکسی اجرا کند. هدف، ساخت یک دیستروی روزمره نیست؛ هدف این است که کوچک‌ترین لینوکسی را بسازم که واقعاً می‌فهمم از درون چطور کار می‌کند.

04 Dec 2025
#حریم‌خصوصی#مالکیت‌داده

وقتی دسکتاپ تبدیل به محصول می‌شود: مایکروسافت، valve و نبرد آرام برای آزادی کاربر

در این پست، تفاوت میان رویکرد محدودکننده و تجاریِ ویندوز با رویکرد باز و کاربرمحور valve را بررسی می‌کنیم. توضیح می‌دهیم که چطور ویندوز ابزارهای پایه را به محصولات وابسته به AI و cloud تبدیل کرده، در حالی که valve با SteamOS و Steam Machine و پروژه‌های متن‌باز آزادی و کنترل را به کاربر برمی‌گرداند. همچنین نشان می‌دهیم که رشد لینوکس فقط نتیجهٔ پیشرفت خودش نیست، بلکه به‌خاطر محدودتر شدن جایگزین‌ها هم هست. در نهایت این پست آیندهٔ دسکتاپ را انتخابی میان کنترل و آزادی تصویر می‌کند

03 Dec 2025
#غیرهمزمانی#برنامه‌نویسی#راست#مدیریت-خطا

مدیریت خطا در Rust غیرهمزمان — از سطح تجربه تا عمق معماری

یک پروژه کوچک در Rust نشان می‌دهد چطور چند درخواست را هم‌زمان اجرا کنیم، برای هرکدام timeout بگذاریم، panic را جدا کنیم و خطاها را شفاف دسته‌بندی کنیم. هدف فقط سرعت نیست؛ ساختن هم‌زمانی قابل‌پیش‌بینی و معنادار در دنیای واقعی است. فهم async یعنی ساختار دادن به کارهای هم‌زمان، نه فقط نوشتن کد.

1 / 2