فارسی
باز کردن در Telegram
PPublic Repository

Public Repository

@PublicRepository · کانال · ایندکس از 2026-10-06
24پست در ایندکس
Ata!
How Complex Systems Fail by Richard I. Cook (15 min) مطالعه‌ای در مورد این که چرا سیستم‌های پیچیده—از بیمارستان و سیستم ریلی گرفته تا سیستم‌های نرم‌افزاری توزیع‌شده—دچار اختلال و شکست می‌شن.
1 · 197 ·
GitHub Accident Postmortem by Jesse Newland (10 min) - 2012 GitHub.com suffered two outages early this week that resulted in one hour and 46 minutes of downtime and another hour of significantly degraded performance. This is far below our standard... گزارش قطعی ۲ ساعته‌ی گیت‌هاب تو سال ۲۰۱۲.
200 ·
A
Roblox Return to Service by Roblox engineering team (20 min) - 2022 Starting October 28th and fully resolving on October 31st, Roblox experienced a 73-hour outage.¹ Fifty million players regularly use Roblox every day. Roblox’s core infrastructure runs in Roblox data centers. We deploy and manage our own hardware, as well as our own compute, storage, and networking systems on top of that hardware. The scale of our deployment is significant, with over 18,000 servers and 170,000 containers. گزارشی جالب از روبلاکس در مورد قطعی سراسری ۷۳ ساعته‌ی سیستم‌هاش و اینکه چطور عیب‌یابی کردن و مشکل رو برطرف کردن. از ریست شدن پنجره دریافت TCP تا جزئیات سطح پایین BoltDB.
1 · 255 ·
Ata!
High Performance Browser Networking by Ilya Grigorik (10 hr) کتابی راجع به پروتکل‌های لایه اپلیکیشن در مرورگر. پیش‌نیازی نداره و مفاهیم رو از پایه توضیح می‌ده و برای هر مورد نکاتی رو می‌گه که می‌تونه پرفورمنس کلی برنامه رو بهبود بده. از کانفیگ کردن TCP در سیستم عامل سرور تا انتخاب پروتکل مناسب برای بازی‌های آنلاین.
273 ·
A
Package Managers Are Evil by Ginger Bill (5 min) JavaScript is great example of this [...] it results in the need for a package manager manager. نوشته‌ای کوتاه در باب نکوهش پکیج منیجرها به همراه نقل قول جالب از پرایم در مورد اثر فراموشی گِل-مان. پکیج منیجرها به دلیل اتوماتیک و راحت‌تر کردن پروسه‌ی اضافه کردن هزاران پکیج‌ به پروژه، توسط جینجر بیل پیشنهاد نمی‌شه و روش دستی رو بهتر می‌دونه تا آدم مجبور باشه که بدونه پروژه‌ش به چیا وابسته هست.
1 · 294 ·
A
Ata!
فایل
MapReduce.pdf · 186 KB · برای نمایش کلیک کنید
MapReduce: Simplified Data Processing on Large Clusters by Google Research (1 hr) - 2003 مقاله‌ای قدیمی ولی بسیار جذاب از بخش تحقیق و توسعه گوگل. سیستم‌های توزیع‌شده رو ما بیشتر برای ذخیره‌سازی می‌شناسیم. از سرویس‌های ابری مختلف گرفته تا دیتابیس‌های توزیع‌شده که بحثشون این چند سال داغ بوده ولی این مقاله در مورد توزیع پردازش هست (به عبارت ساده‌تر: بتونیم CPUهای توزیع شده رو به کار بگیریم برای انجام دادن یک تسک کلی). فقط دقت داشته باشین که مقاله برای سال ۲۰۰۳ هست و اعداد و ارقام و specها به شکل نجومی‌ای از اون زمان تا الان رشد کردن. پ.ن. می‌دونم تو آکادمیای امروز، اکثر دانشگاه‌ها به صورت کیلویی مقاله می‌دن و شما هم احتمالا دید بدی دارین نسبت به مقاله خوندن. ولی این یکی رو تضمین می‌کنم که کیفیت خیلی خوبی داره چون توسط کسانی نوشته شده که توی صنعت بودن و یه مشکل در سطح گوگل رو تونستن حل کنن. اینکه با خوندن این مقاله تونستم دنیا رو از دید اون آدمای خفن ببینم واقعا حال کردم.
2 · 240 ·
A
Ata!
Local-first software by Ink & Switch Labs (20 min) - 2019 برای ماهایی که زخم‌خورده‌ی قطعی اینترنت چند ماهه‌ی ایران هستیم، مقاله‌ی نسبتاً جالبی می‌تونه باشه. چند Open Question تحقیقاتی هم معرفی می‌کنه برای کسانی که دوست دارن تو حیطه‌ی سیستم‌های توزیع‌شده و همچنین تعامل انسان با کامپیوتر (HCI) کار کنن. درسته ۷ سال از زمان نگارش مقاله گذشته ولی تو قطعی اینترنت اخیر هم شاهد این بودم که چقدر کامیونیتی نرم‌افزار خارجی و حتی ایرانی نسبت به این موضوع بی‌خیاله. تقویم ویندوز رو باز می‌کنی کار نمی‌کنه، با تلگرام دسکتاپ کار داری باز نمی‌شه، سایتی که سرویس ورکر داره بصورت آفلاین کار نمی‌کنه. اگه فرصت کنم خودم در این مورد نظرم رو به صورت کامل‌تر می‌نویسم.
2 · 243 ·
A
Ata!
Naive Bayes Is About Asking Questions Your Data Can Answer by Ata! (15 min) - 2026 چند روز پیش قضیه بیز ساده رو توی مباحث یادگیری ماشین خوندم و فرمولش برام میک سنس نمی‌کرد. سعی کردم قضیه بیز رو توضیحش بدم تا مجبور بشم جاهایی که بلد نیستم رو بهتر یاد بگیرم. انگلیسیش رو خودم نوشتم و نسخه فارسی رو کلاود ترجمه کرده و من بررسی کردم. اگه خوندید حتماً فیدبک بدین!
3 · 209 ·
F
Faraz
AWS Builders' Library by AWS developers (10 - 30 min each) مجموعه‌ای از مقاله‌های مهندسی تیم AWS درباره‌ی مشکلات واقعی‌ای که در مقیاس خیلی بزرگ باهاشون روبه‌رو شدن. توی این مجموعه چیزهایی مثل مدیریت خطا در سیستم‌های توزیع‌شده، طراحی سیستم‌هایی که با وجود خراب شدن بعضی قسمت‌ها همچنان کار می‌کنن، retry کردن درخواست‌ها، timeoutها، جلوگیری از overload شدن سرویس‌ها و کلی جزئیات دیگه بررسی می‌شه. چیزی که جالبه اینه که اینا بیشتر شبیه تجربه‌ی پشت صحنه‌ی ساخت سرویس‌هایی مثل AWS هستن، نه آموزش تئوری. یعنی می‌بینی وقتی یک سیستم با میلیون‌ها کاربر داری، تصمیم‌های کوچیکی مثل اینکه چند بار retry کنی یا کی timeout بدی، چطور می‌تونن باعث نجات یا نابودی کل سیستم بشن.
1 · 197 ·
Ata!
Roy Fielding's Misappropriated REST Dissertation by Two-Bit History (5 min) - 2020 He warns, almost at the very beginning of the dissertation, that “design-by-buzzword is a common occurrence” brought on by a failure to properly appreciate software architecture. در مورد REST API به احتمال زیاد یه چیزایی شنیدید و احتمالا می‌دونید که برای توجیه کردنش، به مقاله‌ی سال ۲۰۰۰ روی فیلدینگ اشاره می‌کنن. این بلاگ نقد جالبی در این مورد انجام می‌ده. می‌گه کلاْ مسیر رو اشتباه رفتن و REST اصلاً در مورد اندپوینت‌های API نیست (هرچند که می‌شه یه سری ایده‌ها رو ازش استفاده کرد) و برای همین بهتر بود یه اسم دیگه‌ای براش می‌ذاشتن.
167 ·
A
Interview with Alan Kay by Dr. Dobbs (10 min) - 2012 Computing is pop culture. [...] Pop culture holds a disdain for history. Pop culture is all about identity and feeling like you're participating. It has nothing to do with cooperation, the past or the future — it's living in the present. I think the same is true of most people who write code for money. They have no idea where their culture came from. The Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made. When was the last time a technology with a scale like that was so error-free? The Web, in comparison, is a joke. The Web was done by amateurs.  اَلن کِی یکی از خفن‌ترین آدمای حیطه‌ی کامپیوتره که مفاهیمی مثل آبجکت‌ها، مسیجینگ بین آبجکت‌ها و واسط کاربری رو ابداع کرده. از طرز فکرش و اون میل باطنیش به excellency، واقعا لذت می‌برم و درس می‌گیرم. این بلاگ مبحث فنی‌ای قرار نیست بهتون یاد بده، صرفاً یه دیالوگ ساده با یه آدم خفن رو می‌خونید و دیدگاهشو راجع به دنیای tech سال ۲۰۱۲ رو می‌شنوید. البته بلاگ اصلی داکتر دابز مشکل فنی داره و لود نمی‌شه که میرورش رو قرار دادم.
2 · 201 ·
A
Ata!
I’m harvesting credit card numbers and passwords from your site. Here’s how. by David Gilbertson (15 min) - 2018 گزارش یه متخصص امنیت سایبری درباره‌ی اینکه چطور می‌شه اطلاعات کاربران رو با حمله به زنجیره تامین به دست آورد. منظور از زنجیره تامین اینه که به جای خود برنامه، به پکیج‌ها و کتابخونه‌هایی که اون برنامه استفاده می‌کنه نفوذ کنیم. برای همین مورده که وب‌سایت‌های حساس (وبسایت‌های درگاه پرداخت، بانک، اطلاعات مالی، پزشکی و غیره) نیازه از هیچ پکیجی سمت فرانت استفاده نکنن (بله حتی React). البته شرایط NPM بهتر شده و راحت‌تر می‌شه وریفای کرد کد دانلود شده واقعا همونی هست که روی گیت‌هابه یا نه ولی خب تضمین صد درصدی نیست.
1 · 188 ·
Ata!
Chrome's Dominance Isn't the Whole Story by Ata! (5 min) - 2026 اگه کنجکاوین که بدونین چند درصد مردم ایران از مرورگرهای سامسونگ اینترنت و مایکروسافت اج استفاده می‌کنن، این بلاگ می‌تونه به سوالتون جواب بده. و نکته‌ی مهم‌تر اینکه وب اپلیکیشن رو در نهایت باید بر اساس سناریویی که کاربر قراره طبقش پیش بره تست کنیم نه چیزی که خودمون به صورت پیش‌فرض تو ذهنمون داریم. نسخه فارسی.
1 · 177 ·
A
Good Tools Are Invisible by Ginger Bill (5 min) - 2026 I’ve had people tell me how “fun” it was to build a macro to handle some one-off text-refactoring problem. But when I looked at what they were doing and how long it took, my honest reaction was: I could have done that in Sublime in a minute with multiple cursors. “Highly configurable” is often just an excuse for shipping no opinion at all and calling the resulting work your problem. Good defaults are a form of respect for the user’s time: the toolmaker does the thinking once so a thousand users don’t each have to. بلاگ پستی در مورد اینکه بعضی‌ها در حدی تعصبی از vim و یا «لینوکس به عنوان دسکتاپ» و ابزارهای دیگه دفاع می‌کنن که دیگه نمی‌تونن عیب اون ابزارها رو ببینن :) خودم شخصاً شاهد این بودم که خیلی از کسایی که با vim کد می‌نویسن (که خفن دیده بشن) اگه با VS Code و میانبرهای اون کد می‌زدن خیلی سریع‌تر و بی‌دردسرتر پیش می‌رفتن ولی خب.
1 · 204 ·
A
Ata!
The Database at 550 Kilometers: What Orbital Computing Means for Distributed Databases by Cockroach Labs (10 min) - 2026 Einstein is not the problem. Newton is the problem. یکی از موضوعاتی که این روزها زیاد درباره‌اش می‌شنویم و تا همین ۱۰ سال پیش بیشتر شبیه داستان‌های علمی‌تخیلی بود، استفاده از دیتاسنترهای مستقر در مدار زمین برای انجام بخشی از پردازش‌هاست. تیم مهندسی CockroachDB توی این مطلب، امکان استفاده از دیتابیس‌های توزیع‌شده در دیتاسنترهای فضایی رو بررسی کرده. برخلاف اجرای سرویس‌های استیت‌لس (مثل ضرب ماتریس‌ها تو مباحث AI)، نگهداری داده در فضا چالش‌های متفاوتی داره. از اثرات بسیار کوچک نظریه نسبیت بر ساعت‌ها و نحوه همگام‌سازی اون‌ها گرفته تا محدودیت‌های حقوقی، ملاحظات اقتصادی و حتی این واقعیت که خود دیتاسنترها دائماً در حال حرکت هستن و مکان جغرافیاییشون عوض می‌شه.
1 · 241 ·
Ata!
پاسخMapReduce: Simplified Data Processing on Large Clusters by Google Research (1 hr) - 2003 مقاله‌ای قدیمی ولی بسیار جذاب از بخش تحقیق و توسعه گوگل. سیستم‌های توزیع‌شده رو ما بیشتر برای ذخیره‌سازی می‌شناسیم. از سرویس‌های ابری مختلف گرفته تا دیتابیس‌های توزیع‌شده که بحثشون این چند سال داغ بوده ولی این
فایل
GFS.pdf · 269 KB · برای نمایش کلیک کنید
The Google File System by Google Research (1 hr) - 2003 Component failures are the norm rather than the exception. Most files are mutated by appending new data rather than overwriting existing data. Random writes within a file are practically non-existent. فایل‌سیستم توزیع‌شده‌ی گوگل، مکمل مقاله‌ایه که بهش ریپلای زدم (MapReduce از GFS استفاده می‌کنه). این فایل‌سیستم سال ۲۰۰۳ طراحی و توسعه داده شده. فایل‌سیستم‌های توزیع‌شده‌ی دیگه‌ای هم اون زمان‌ها بودن ولی هیچکدوم نیازهای گوگل رو برآورده نمی‌کردن (read کردن مقدار خیلی زیادی از اطلاعات/اجرا شدن روی تجهیزات معمولی و ارزون/اینترفیس و امکانات خیلی ساده) و برای هم GFS رو طراحی کردن. تشخیص دادن نیازمندی‌ها و حل کردنشون به شکل مهندسی‌شده واقعا جالبه. پ.ن. گوگل بعدها Colossus رو طراحی کرد و جایگزین GFS کرد. پ.ن.۲. فایل‌سیستم توزیع‌شده‌ی هدوپ (HDFS) از ایده‌ی GFS استفاده کرده.
1 · 230 ·
A
یکی از دوستان پیشنهاد کرد که مطالب رو خلاصه‌تر کنم و قرار بدم (حالا یا خودم یا با notebook-lm و بقیه ابزارها). راستش من دنبال بهینگی مطالعه‌م نیستم و دوست دارم حداقل تو این مورد take my time کنم. زندگی‌ها امروزه از بس فست‌فودی شده، سر همه چیز عجله داریم و بنظرم این عجله‌ی بی‌دلیل کیفیت همه چیز رو میاره پایین و در مورد مطالعه‌ی چیزایی که بهشون علاقه دارم نمی‌خوام این اتفاق بیفته. من خودم هدفم اینه یه قسمت از مطالعه‌م خوندن متن فنی حوصله‌سر بر باشه. برخلاف دیدن ویدیو و شنیدن پادکست که هیچ تمرکزی از طرف مخاطب نمی‌خوان، خوندن متن نیاز به تمرکز فعالانه از جانب خواننده رو نیاز داره و بنظرم ۱) برای تمرین تمرکز تو این زندگی شتاب‌زده مناسبه ۲) یادگیری و intuition بهتر اتفاق میفته.
1 · 240 ·
A
Ata!
▶️ Creator of TypeScript: 10x Faster Typescript, Why AI Won't Replace SWEs by Andres Hejlsberg (1hr 5min) - 2026 مصاحبه با آندرس هلسبرگ، طراح زبان‌های توربو پاسکال، سی‌شارپ و تایپ‌اسکریپت. در مورد تاریخچه تایپ‌اسکریپت و اینکه چرا توی آخرین ورژن، خود کامپایلر رو به زبان گولنگ پورت کردن (و نه Rust و زیگ). چیزی که کسی بهش اشاره نمی‌کنه اینه که چطور این مرد تونسته کلی تصمیم درست پشت سر هم بگیره و تایپ‌اسکریپت رو به یکی از موفق‌ترین پروژه‌های مایکروسافت تبدیل کنه. - فیکس کردن JS عوض جایگزین کردنش (که باعث می‌شد داخل کامیونیتی JS قرار بگیرن) - سیستم تایپ TS که به شکل structural هست و انعطاف‌پذیری خیلی خوبی داره (در مقابل nominal در بقیه زبان‌ها) - پیروزی در رقابت با فلو (زبان رقیب TS که توسط فیسبوک توسعه داده می‌شد) - همکاری با تیم انگولار گوگل برای شناسوندن TS به بقیه - فیچرهایی که اضافه کردن مستقیما از نیاز توسعه‌دهندگان کتابخونه‌ها و برنامه‌ها بوده - تصمیم بر پورت کردن و انتخاب گولنگ و همین‌ تصمیم‌های درسته که باعث شده تایپ‌اسکریپت پراستفاده‌ترین زبان دنیا بشه.
1 · 188 ·
Ata!
Crafting Interpreters by Robert Nystrom این کتاب از رابرت نیسترام رو به شدت پیشنهاد می‌کنم. می‌خواستم بخش‌هایی از این کتاب رو قرار بدم تا بخونین ولی کلیت کتاب به قدری خوبه که به نظرم ارزش تایمتون رو داره که کامل مطالعه‌ش کنین. رابرت نیسترام توی تیم زبان دارت کار می‌کنه و این کتابی که نوشته، در دو بخش سعی می‌کنه زبانی به اسم Lox رو پیاده‌سازی کنه. توی بخش اول زبان لاکس رو با جاوا و به شکل پردازش مستقیم درخت AST و در بخش دوم با C به شکل VM (ترکیبی از کامپایل و تفسیر) پیاده‌سازی می‌کنه و در حین پیاده‌سازی در مورد مسائل طراحی زبان و چالش‌های این مسیر صحبت می‌کنه. حتی اگه فرصت پیاده‌سازی رو هم ندارید، خوندن محتوای کتاب باز هم کمکتون می‌کنه مفاهیم طراحی زبان و کامپایلر رو بهتر متوجه بشین. من خودم کتاب رو یه بار خوندم و همراه کتاب پیاده‌سازی کردم و الان برای بار دوم دارم با راست پیاده‌سازیش می‌کنم که هنوز ناقصه (لینک ریپازیتوری). علیرضا هم با گولنگ پیاده‌سازی کرده (لینک ریپازیتوری). خلاصه اینکه به شدت پیشنهاد می‌شه این کتاب.
4 · 127 ·
فایل
Crafting Interpreters.pdf · 13.5 MB · برای نمایش کلیک کنید
فایل کتاب رو هم قرار می‌دم تا آفلاین هم بتونین مطالعه‌ش کنین چون اینترنت ایران به استیبل بودنش معروف نیست.
4 · 157 ·
A
عکس
برای نمایش کلیک کنید
این چند مدت که کم‌تر فعال بودم، مشغول انجام مراحل پایانی پروژه‌ی کاری و مسائل دیگه بودم. در حال نوشتن گزارشی گذشته‌نگر در مورد تجربه‌های خودم هستم که هر وقت مطمئن بشم با دستبند نمیان بگیرنم، منتشرش می‌کنم. البته گزارش رو یه دور نوشتم ولی خوشم نیومد و پاک کردم. حس کردم خیلی وارد جزئیات شدم و باید حرفه‌ای‌تر بنویسمش. اگه نوشته‌های خوب این شکلی (در مورد تجربه‌های کاری در داخل ایران) می‌شناسین، لطفاً معرفی کنین تا از نوع نوشتنشون ایده بگیرم.
155 ·
A
Ata!
یکی از موضوعاتی که دائم توی صحبت‌ها و کلاسای درس و حتی کتابای رفرنس‌ می‌بینم به اشتباه بیان می‌کنن پیشوندهای یکا (همون کیلو و مگا و گیگا) تو دنیای کامپیوتره. مشکل از اینجا ناشی می‌شه که بقیه حیطه‌ها چون با اعداد ده‌‌دهی سروکار دارن، برای همین از توان معینی از ۱۰ استفاده می‌کنن تا کار کردن با اعداد بزرگ راحت‌تر بشه. مثلا کیلو یعنی ده به توان سه که می‌شه هزار. ولی توی دنیای دودویی کامپیوتر، برای راحتی ضرب و تقسیم، از توان‌های ۲ برای ساخت پیشوند استفاده می‌کنن. مثل دو به توان ده که میشه ۱۰۲۴ و به اشتباه به این عدد می‌گن کیلو (چون به هزار خیلی نزدیکه). اسمی که برای تمایز قائل شدن بین کیلو و این عدد بدست اومده استفاده می‌کنن «کیبی» عه و به جای K از نماد Ki استفاده می‌کنن. برای مثال یک گیگابایت معادل هزار مگابایته و یک گیبی‌بایت معادل ۱۰۲۴ میبی‌بایته. 1 GB = 1000 MB = 1,000,000 KB 1 GiB = 1024 MiB = 1,048,576 KiB تو کامنت هم یه مثال که هر روز شاهدش هستیم رو نوشتم😪
1 · 175 ·
A
Ata!
Saving another 100TB of RAM with math (and Rust) by Cloudflare Engineering (15mins) — 2026 We have thousands of servers all over the world with petabytes of RAM and millions of CPU cores, and all of it is pushed to the max. بلاگ جالب از تیم مهندسی کلاودفلر در مورد بهینه‌سازی یکی از سیستم‌های داخلی‌شون که در نهایت باعث شده ۱۰۰ ترابایت رم کم‌تر مصرف بشه. از توزیع یکنواخت و انتظار اشتباه ما از امید ریاضی و انحراف معیار اون تا تغییر دادن چند خط کد که باعث می‌شه به ازای هر استراکت، ۲ بایت کم‌تر حافظه مصرف بشه.
1 · 124 ·
.
.gg
The Only Two Markup Languages by Ginger Bill (15mins) — 2026 جینجر بیل، خالق زبان اودین، در مورد زبان‌های مارکاپ صحبت می‌کنه و به استفاده از XML، جیسون و YAML برای کانفیگ کردن برنامه، دیس سنگین می‌ده😅 و در آخر برای زبان اودین سینتکسی پیشنهاد می‌ده تا در آینده دستش رو برای مارکاپ کردنش باز بذاره.
75 ·
بایگانی به تفکیک ماه

فید عمومی باز از ایندکس جست‌وجو ChatCrawler — «Google برای Telegram عمومی»؛ با خزش انجمن به‌روز می‌شود. زمان‌ها به UTC است.

فقط محتوای عمومی، API رسمی Telegram. دربارهٔ ما · پرسش‌ها · محدودیت‌های ایندکس · حذف یک صفحه · کاتالوگ · جست‌وجو · روش محاسبهٔ ما