ru
Feedback
نوشته‌های ترمینالی

نوشته‌های ترمینالی

Открыть в Telegram
3 462
Подписчики
+124 часа
+117 дней
+6830 дней
Архив постов
یه مدل AI جدید معرفی شده که مطمین نیستم همون Reinforcement Learning خودمونه یا چیز جدیدیه :)) یه شرکتی به اسم TypeSafe یه مدل به اسم Jev معرفی کرده که هدفش چت کردن نیست و خروجی متنی نمی‌ده، بلکه هدفش اینه که خروجیش توی ماشین استفاده بشه. مثالی که از خروجیش دیدم انتخاب بین چند گزینه‌ست. همون طور که از اسم شرکت هم مشخصه خروجی این مدل تایپ سیفه و قرار نیست به جای خروجی عدد، متن بده. گفته میشه که این مدل هم ارزون تره از مدل های دیگه هم سریع تر هم توهم نمیزنه، که خب با توجه به ماهیت متفاوتش خیلی طبیعیه و به نظرم اونقدر تبلیغ خاصی نداره. چیزی که اتفاق می‌افته و دوستش دارم اینه که بازه زمانی پاسخگوییش خیلی مشخص تره و از این نظر قابل اطمینان تره. معرفیش: https://www.theregister.com/ai-and-ml/2026/09/16/typesafe-ai-debuts-model-for-machines-that-plays-doom/5296711 معرفی رسمیش در وبلاگ TypeSafe: https://typesafe.ai/blog/introducing-system-one-models-and-jev

واقعا دولوپر ایرانی چه گرفتاری شده. تو کدوم کتاب DevOps سولوشن اینا هست؟

وضعیت گواهی SSL بانکهای ایرانی اونقدر خرابه که بانک پاسارگاد لینک اینترنت بانکشو عمومی اعلام نمیکنه چون باعث مسدود شدنش میشه
وضعیت گواهی SSL بانکهای ایرانی اونقدر خرابه که بانک پاسارگاد لینک اینترنت بانکشو عمومی اعلام نمیکنه چون باعث مسدود شدنش میشه و برای دریافت لینک باید به پشتیبانی زنگ بزنید تا لینک جدید براتون پیامک بشه! 🔎 Hamed_Gholami 📍 @TechTube

Repost from Mahi in Tech
وقتی صحبت از پیاده‌سازی Rate Limiting (مخصوصا مدل‌هایی مثل Token Bucket یا Leaky Bucket) می‌شه، معمولا اولین چالش، مدیریت State هست؛ اینکه همزمان باید تعداد توکن‌های باقی‌مونده و زمان آخرین Refresh رو نگه داریم و حواس‌مون به Race Condition هم باشه. الگوریتم GCRA (Generic Cell Rate Algorithm) که توی سیستم‌های توزیع‌شده استفاده می‌شه، این مسئله رو با یک ترفند ریاضی خیلی ساده حل کرده: حذف مفهوم توکن و جابجایی همه‌چیز به بردار زمان. ایده اصلی اینه: به جای اینکه چک کنیم کاربر چند تا توکن داره یا شمارنده رو ریست کنیم، یک متغیر عددی به اسم TAT (Theoretical Arrival Time) نگه می‌داریم؛ یعنی «زمان تئوریک رسیدن درخواست بعدی». منطق کارکرد به چه صورته؟ فرض کنید لیمیت سیستم، ۱ درخواست در ثانیه باشه و به کاربر اجازه دادید تا سقف ۳ درخواست هم ترافیک ناگهانی (Burst) داشته باشه: هر بار که یک درخواست تایید می‌شه، TAT به اندازه‌ی فاصله‌ی زمانی مجاز بین درخواست‌ها، به آینده هل داده می‌شه. اگر کاربر چند درخواست پشت سر هم بفرسته، TAT جلوتر و جلوتر می‌ره. در واقع داریم میزان «جلو افتادن» جریان درخواست‌ها از نرخ مجاز رو اندازه می‌گیریم، و تا وقتی فاصله‌ی بین زمان فعلی و TAT از محدوده‌ی مجاز Burst بیشتر نشده باشه، درخواست‌ها تایید می‌شن. اگر این فاصله از محدوده‌ی مجاز عبور کنه، کاربر درجا خطای 429 می‌گیره و مهم‌تر اینکه TAT هم برای درخواست ردشده تغییر نمی‌کنه. به محض اینکه کاربر چند ثانیه دست نگه داره، زمان فعلی به TAT نزدیک‌تر می‌شه و عملاً ظرفیت Burst به‌صورت خودکار آزاد می‌شه؛ بدون اینکه هیچ Job پس‌زمینه‌ای نیاز باشه یا کدی برای ریست کردن شمارنده‌ها اجرا بشه. در ساده‌ترین حالت، منطق چیزی شبیه به اینه:
if now < TAT - tolerance:
    reject
else:
    TAT = max(now, TAT) + interval
    accept
و قبل از آپدیت، بررسی می‌کنیم که آیا TAT در محدوده‌ی مجاز قرار داره یا نه. نکته‌ی مهم اینه که مقدار دقیق این محدوده به نحوه‌ی تعریف Burst/Tolerance در پیاده‌سازی بستگی داره. چرا این مدل جذابه؟ ۱. استیت تک‌مقداری: کل وضعیت هر کاربر فقط یک عدد ساده (Timestamp) هست که توی ردیس می‌تونه به صورت یک String ساده ذخیره بشه. ۲. اجرای اتمیک و جلوگیری از Race Condition: خود GCRA به‌تنهایی Race Condition رو حذف نمی‌کنه؛ چیزی که این مشکل رو حل می‌کنه، اجرای اتمیک کل منطق Check + Update هست. مثلا می‌تونیم این کار رو با یک اسکریپت چند خطی Lua داخل Redis انجام بدیم، بدون اینکه چند دستور جداگانه بین Read و Write داشته باشیم. ۳. مدیریت تمیز TTL: چون زمان موردنیاز برای نگه داشتن State قابل محاسبه است، می‌تونیم TTL کلید رو بر اساس زمانی تنظیم کنیم که TAT و محدوده‌ی Burst دیگه برای تصمیم‌گیری لازم نیستن. در نتیجه، کلیدها به‌صورت خودکار expire می‌شن و نیازی به Job یا فرآیند جداگانه برای پاک‌سازی State نداریم. در نهایت، جذابیت اصلی GCRA این هست که به جای نگه داشتن چند متغیر مثل Token Count، Last Refill و Timestamp، کل State رو به یک مفهوم زمانی تبدیل می‌کنه.

روز اونایی که ایده های انتزاعی رو با زبان طبیعی در قالب زبان نشانه‌گذاری مارک-پایین میدن به مدل‌های بزرگ زبانی که براشون زبان صوریِ قابل اجرا توسط اجسام بی‌جان بنویسه مبارک. :)))

من همچنان تردید دارم به این ادعاها. نظر شما چیه؟

در ادامه خبر استعفای یک محقق شرکت آنتروپیک که امروز گفته بود «شرکت‌های هوش مصنوعی با جان انسان‌ها قمار می‌کنند!» یکی دیگر از پژوهشگران ارشد که هنوز در شرکت آنتروپیک کار می‌کند، در شبکه ایکس به حرف‌های همکار سابقش واکنش نشان داد و نوشته: «حق با جیکوب است!» هوبینگر که اتفاقاً در بخش ایمنی و کنترل هوش مصنوعی فعالیت می‌کند، اعتراف کرده که سازندگان این فناوری واقعاً باور دارند هوش مصنوعی می‌تواند تمام انسان‌ها را قتل‌عام کند! او در پست خود که تا الان بیشتر از ۱۹ میلیون بار دیده شده، نوشته: «من شخصاً احتمال این فاجعه را در ده سال آینده بیشتر از ۱۰ درصد می‌دانم!» البته او در ادامه توضیح داده که منظورش مدل‌های فعلی (مثل فیبل یا چت‌جی‌پی‌تی) نیست و خطر این مدل‌ها پایین است. ترس اصلی او از زمانی است که هوش مصنوعی به سطحی برسد که بتواند کدهای خودش را بازنویسی کند و مدام خودش را ارتقا دهد.چیزی که به آن «ابرهوش خودبهبوددهنده» می‌گویند؛ اتفاقی که به گفته او، خیلی سریع‌تر از چیزی که فکر می‌کردند در حال وقوع است. 💡 @NooshDaroo_web

اینجا جادی داره از Omarchy تعریف میکنه. توزیع خوبیم هست به نظر. اما خب من به عنوان طرفدار آرچ و ترمینال، اینو چند وقت پیش نصب کردم و اصلا ارتباط نگرفتم باهاش. حس میکردم پای سیستم یکی دیگه نشستم. البته یه آموزش هایی هم داشت که چطور شروع کنی و دوست بشی ولی همچنان حس خوبی نگرفتم از کار باهاش. در روند تبدیل کردنش به چیزی که دوست دارم هم اینقدر تغییرات زیاد شد که unstable شد. (دلیل مهمش این بود که همه ابزارهایی که استفاده کرده بود رو که بلد نبودم و دونه دونه یاد می‌گرفتم) خلاصه که تست کنید ولی همونطور که خودش میگه Opnionatedئه شاید خوشتون نیاد. گفتم نظر یه کاربر لینوکس دیگه رو هم بدونید.

Repost from جادی | Jadi
این چند وقت یه توزیع گنو/لینوکس خیلی پر سر و صدا اومده به اسم اومارچی. سازنده اصلیش کسی است که روبی آن ریلز رو درست کرده و افرادی مثل جک دورسی، مدیرعامل شاپیفای، مدیرعامل استرایپ، مدیرعامل دل، مدیر عامل کلاودفلر و ... هر کدوم یک میلیون دلار توش پول گذاشتن! این یکی از زیباترین لینوکس هایی بود که من دیدم و یکی از بی دردسرترین دسکتاپ ها در هفته اولی که استفاده کردم. البته پر از هوش مصنوعی و تقریبا نیازمند یه اشتراک به کلاود یا مشابه ها. البته بدون اون هم کارا است ولی خب ... توی این ویدئو به عنوان یک نفر حرفه ای که دوست داره توزیع های گنو/لینوکس رو تست کنه، بررسی اش کرده‌ام تا ببینیم چرا با اینکه تهش btw آرچه، اینقدر متفاوت از آب در اومده. https://www.youtube.com/watch?v=T8FDadbU7bo

من در طول زمان HTTP clientهای مختلفی رو دوست داشتم. اول از همه با Postman شروع کردم ولی به خاطر اداها و اذیت های زیاد گذاشتمش کنار. بعد از اون Postwoman اومد که تحت وب بود و خیلی ساده تر بود و بعدها اسمش به Hoppscotch تغییر کرد. در کنار اینا Insomnia رو هم دیدم که اون هم بامزه بود و امکانات خوبی داشت و البته متاسقانه مثل گزینه‌های قبلی با Electron بود. بعد که یکم تجربه‌ام بیشتر شد با cURL دوست شدم. کرل یه گزینه برطرفدار و تقریبا استاندارد محسوب می‌شه. تو محیط CLI کار می‌کنه و کار باهاش خیلی راحت نیست ولی چیزی نیست که با ChatGPT نتونید جلو ببرید. برای مدیریت تاریخچه هم من خودم تو bash script های مختلف ذخیره میکنم و به اسکریپته آرگومان یا متغیر محیطی میدم که تا حد خوبی امکانات ابزارهای GUIی رو پوشش میده. گزینه‌ی GUI دیگرمون Bruno هست که داستان های لاگین رو نداره و اطلاعات رو به عنوان فایل سیو می‌کنه و با گیت دوسته. هم امکانات خوبی داره هم مجبورتون نمی‌کنه که اکانت بسازید و از این نظر برا من بین GUI ها تا اینجا دوست داشتنی ترین بود. یه گزینه جذاب دیگه Httpie هستش که سعی می‌کنه مثل کرل توی CLI باشه ولی کار باهاش راحت تر و قابل فهم تر باشه و همچنان اکثر امکانات کرل رو هم داشته باشه. الان که چک کردم GUI هم اضافه کرده که البته بتاست. در نهایت ابزار جالبی که تازه باهاش آشنا شدم و بهونه نوشتن این مطلب شد، YAAK هستش. این ابزار هم مثل Bruno فایل‌هاش رو به شکل محلی نگه می‌داره و می‌تونید توی گیت ذخیره‌ش کنید. ظاهر به نسبت جذابی هم داره و برام دوست‌داشتنی بود. https://www.postman.com/ https://hoppscotch.io/ https://insomnia.rest/ https://curl.se/ https://www.usebruno.com/ https://httpie.io/ https://yaak.app/ در نهایت اگر بخوام جمع‌بندی کنم، توی CLI یادگیری cURL همچنان می‌ارزه ولی اگه کار اصلیتون وب نیست httpie هم می‌تونه جالب باشه. اگر GUI دوست دارید یا نیاز دارید ریکوئست ها رو ذخیره کنید و داشته باشید من توصیه می‌کنم Bruno و YAAK رو امتحان کنید.

یه چیزی در مورد دنبال کردن مطالب این چنل دوست دارم باهاتون به اشتراک بذارم. من خودم تو چند تا کانال که مثل اینجا مطلب می‌ذارن هستم و واقعاً دوست دارم مطالبشون رو بخونم. ولی واقعیت اینه که نه وقت می‌کنم همه‌شون رو بخونم، نه همه‌شون برام اولویت دارن و نه لزوماً صددرصدشون برام جالبن. این داستان هم به مرور سخت‌تر می‌شه. آدم یه هفته مطالب رو نمی‌خونه، می‌ذارتشون تو Saved Messages که «بعداً می‌خونم»، بعد می‌شه دو هفته، سه هفته، یه ماه... و خب بعد یه مدت خود Saved Messages هم تبدیل می‌شه به یه منبع استرس. گاهی آدم از اینکه «این همه مطلب هست و من نمی‌رسم بخونم» حتی حس بدی نسبت به خودش پیدا می‌کنه. برای همین چند تا نکته هست که خودم سعی می‌کنم یادم باشه: ۱. حتی من که این چنل رو دارم، همه‌ی مطالبش رو نخوندم. یه مطلب رو دیدم و به نظرم درست و مفید اومده، ولی خودم فرصت نکردم بخونمش. یه مطلب رو دیدم جالب بوده ولی نصفش رو خوندم. یه مطلب رو وقت نداشتم بخونم و گذاشتم اینجا که شاید بعداً خودم هم برگردم سراغش. پس اینکه همه‌ی مطالب یه چنل رو نمی‌خونیم، کاملاً طبیعیه. ۲. حتی چیزهایی که کامل می‌خونیم رو هم لزوماً کامل نمی‌فهمیم یا یادمون نمی‌مونه. به نظرم اشکالی نداره. قرار نیست هر چیزی که می‌خونیم تبدیل به دانش قابل استفاده بشه. گاهی فقط یه ایده می‌گیریم، یه سؤال تو ذهنمون شکل می‌گیره، یا با یه مفهوم برای اولین بار آشنا می‌شیم. اوکیه! ۳. شاید «نگاه جویباری» به چیزها کمک کنه. منظورم از نگاه جویباری اینه که مطالب جالب، آدم‌های جالب، ایونت‌های جالب و ایده‌های جالب، میان و می‌رن. ما می‌تونیم همون موقع که جلوی ما هستن، یه مقدار ازشون استفاده کنیم ولی قرار نیست همه‌شون رو توی یه مخزن جمع کنیم که برای آینده نگهشون داریم. اگر امروز فرصت نکردم مطالب امروز چنل رو بخونم، همون‌قدر که فرصت کردم می‌خونم. فردا هم مطالب فردا رو می‌خونم. ۴. برای چیزهایی که واقعاً خیلی برام جالبن، یه جای جدا دارم. مثلاً بوکمارک یا یه Saved Messages جدا. و می‌دونم احتمالاً اون روزی که «هیچ مطلب دیگه‌ای برای خوندن ندارم و می‌رم سراغ آرشیوم» هیچ‌وقت نمی‌رسه :)) ولی همین که می‌دونم مطالب خیلی مهم و جالب گم نمی‌شن، کمک می‌کنه وقتی از کنار یه مطلب رد می‌شم، احساس نکنم دارم یه چیزی رو از دست می‌دم. در نهایت، این چنل قرار نیست یه کار دیگه باشه که باید انجامش بدید. اگر یه مطلبی رو دیدید و خوندید و براتون جالب بود، چه خوب. اگر فقط عنوانش رو دیدید و رد شدید، چه خوب. قرار نیست از اینترنت عقب بمونیم. اینترنت قراره یه جایی باشه که هر وقت تونستیم، یه چیزی ازش برداریم و با خودمون ببریم.

این متن رو خودم نوشتم ولی دادم chatgpt ادیت کرد و دوباره خودم ادیت کردم:

Hello everybody out there using minix- I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix; as my OS resembles it somewhat (same physical layout of the file-sytem due to practical reasons)among other things.
این ایمیل رو لینوس توروالدز ۲۵ آگوست ۱۹۹۱ زد و برای نسخه اولیه لینوکس فیدبک خواست. پس به بیانی میتونیم بگیم که تولد لینوکس مبارک :)))))✌️ http://atulchitnis.net/writings/why-august-25th/

تولد لینوکس مبارک!
تولد لینوکس مبارک!

هر آنچه باید در مورد SIMD بدانید. کد ها با زبان zig نوشته شده ولی خوب توضیح داده، اگر علاقه‌مند هستید ولی با زیگ کار نکردید اشکال نداره. https://mitchellh.com/writing/everyone-should-know-simd

به عنوان engineering manager همچنان کد بزنیم؟ نزنیم؟ اومدن AI چه تاثیری روی این ماجرا داره؟ https://www.manager.dev/newsletter/the-death-and-revival-of-the-hands-on-engineering-manager

یه مطلب خوب در مورد کلمه‌های سخت میکروسرویس ها https://newsletter.systemdesign.one/p/microservices-design-patterns?publication_id=1511845&post_id=203522819 فقط متاسفانه همه‌ش رو نمی‌تونید رایگان بخونید، ولی تا همون جا که قابل خوندن هست توصیه میشه. میتونید به LLM هم بگید باقیشو براتون بنویسه.

من این مطلب رو خیلی دوست داشتم. یه واقعیتیو میگه که وایب کدرها ازش غافلن‌. ایده. اصلا اینه که ما قسمت برنامه نویسی رو سریع کردیم ولی قسمت مسئولیت پذیری هنوز وجود داره. نویسنده میاد چند تا مثال میزنه از تیم هایی که بعد از AI، یک سری نیروی جونیور دارد که فقط با سرعت بالا کد/متن بی‌کیفیت تولید می‌کنند و با ارزش‌ترین نیروها مجبورن کار اونا رو چک کنن. به نظرم مهم ترین قسمت مطلب هم همینه: AI didn't make the work cheaper. It moved the bill from the people who make things to the people who have to own them. Owning something means reading it. Understanding it well enough to defend it. Putting your name on it. Answering the phone when it turns out it was wrong. There's no model for that, and there isn't one coming soon. You can generate the artifact. You can't generate the liability. https://www.charafeddine.co/letters/94-your-best-people-are-now-proofreaders