<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های Root</title><link>https://virgool.ir/feed/@m_40621999</link><description>دلنوشته های یک برنامه نویس جوان نقد بررسی هر چیزی که به صفر و یک ختم میشه</description><language>fa</language><pubDate>2026-11-11 19:12:06</pubDate><image><url>https://files.virgool.ir/upload/users/4807491/avatar/dV1mNK.png</url><title>Root</title><link>https://virgool.ir/@m_40621999</link></image><item><title>بازی زندگی کانوی چطور چهار قانون ساده می‌توانند یک جهان پیچیده بسازند؟</title><link>https://virgool.ir/@m_40621999/بازی-زندگی-کانوی-چطور-چهار-قانون-ساده-می-توانند-یک-جهان-پیچیده-بسازند-xglabivuqvpl</link><description>از بازی زندگی کانوی تا گلایدرها، ماشین تورینگ و این سؤال که پیچیدگی واقعاً از کجا می‌آیدبعضی وقت‌ها برای ساختن یک سیستم پیچیده، لازم نیست از اول همه‌چیز را پیچیده طراحی کنیم. شاید کافی باشد چند قانون ساده داشته باشیم و اجازه بدهیم بارها و بارها اجرا شوند؛ نتیجه ممکن است چیزی باشد که انتظارش را نداریم.یکی از مثال‌های جالب این موضوع، بازی زندگی کانوی است؛ آزمایشی ریاضی که جان کانوی طراحی کرد و مارتین گاردنر در اکتبر ۱۹۷۰ در مجله‌ی Scientific American معرفی‌اش کرد. با وجود قوانین بسیار ساده‌اش، به یکی از مثال‌های شناخته‌شده در مطالعه‌ی پیچیدگی، اتوماتای سلولی و محاسبات تبدیل شد.اما چیزی که برای من جالب است صرفاً خود بازی نیست؛ این سؤال است که چطور از چند قانون ساده، رفتارهایی به وجود می‌آیند که در نگاه اول بسیار پیچیده‌تر از خود قوانین به نظر می‌رسند.بازی‌ای که واقعاً بازی نیستصفحه‌ای شطرنجی و بسیار بزرگ را تصور کنید که هر خانه‌اش یکی از دو حالت را دارد: زنده یا مرده. هر خانه هشت همسایه دارد: افقی، عمودی و مورب.قوانین بازی:خانه‌ی زنده با دو یا سه همسایه‌ی زنده، زنده می‌ماند؛ در غیر این صورت می‌میرد.خانه‌ی مرده با دقیقاً سه همسایه‌ی زنده، زنده می‌شود؛ در غیر این صورت مرده می‌ماند.همین. نه هوش مصنوعی، نه یادگیری ماشین، نه الگوریتم پیچیده. در هر نسل، وضعیت همه‌ی خانه‌ها از روی نسل قبل محاسبه می‌شود و این فرایند تکرار می‌شود.ولی همین چند قانون ساده قرار است چه بسازند؟وقتی چند مربع سیاه شروع به حرکت می‌کنندبعضی الگوها برای همیشه ثابت می‌مانند؛ مثل مربعی از چهار خانه‌ی زنده. بعضی بین چند حالت جابه‌جا می‌شوند؛ مثل سه خانه‌ی متوالی که میان وضعیت عمودی و افقی نوسان می‌کند (نوسان‌گر).اما جالب‌ترین‌ها الگوهایی‌اند که انگار روی صفحه حرکت می‌کنند. معروف‌ترینشان گلایدر است: الگویی کوچک که پس از چهار نسل، یک خانه به‌صورت مورب جابه‌جا می‌شود — نه چون کسی دستور حرکتش را نوشته، بلکه به‌خاطر تعامل همان خانه‌ها با قوانین بازی.حتی الگویی به نام تفنگ گلایدر گاسپر وجود دارد که مداوم گلایدر تولید می‌کند؛ بدون اینکه قانونی به نام «حرکت کن» یا «گلایدر بساز» به بازی اضافه شده باشد.آیا یک صفحه‌ی شطرنجی می‌تواند کامپیوتر باشد؟اینجا ماجرا جالب‌تر می‌شود: بازی زندگی از نظر محاسباتی جهان‌شمول است؛ یعنی می‌توان با آرایش‌های مهندسی‌شده‌ی خانه‌ها، محاسبات یک ماشین تورینگ را شبیه‌سازی کرد.البته نه با چند مربع تصادفی؛ باید الگوهایی طراحی کرد که اطلاعات را منتقل کنند و عملیات محاسباتی انجام دهند. بااین‌حال نتیجه شگفت‌انگیز است: قوانینی که ظاهراً فقط درباره‌ی زنده ماندن چند خانه‌اند، می‌توانند بستر محاسبات عمومی باشند.این صرفاً برداشت فلسفی نیست؛ جهان‌شمولی محاسباتی بازی زندگی مطالعه شده است و حتی مقاله‌ای در ۲۰۲۵ مسئله‌ی محاسبه‌ی وضعیت‌های قبلی آن را بررسی کرده. هرچند توانایی انجام محاسبات عمومی با این واقعیت فرق دارد که یک الگوی خاص واقعاً دارد محاسبه می‌کند.پس پیچیدگی از کجا می‌آید؟به نظرم این مهم‌ترین بخش ماجراست.ما معمولاً تصور می‌کنیم پشت هر سیستم پیچیده باید قوانین پیچیده یا طراحی دقیقی برای همه‌ی حالت‌ها باشد. ولی بازی زندگی مثال نقض جالبی است: قوانین محلی و ساده‌اند، هیچ خانه‌ای کل صفحه را نمی‌بیند و هیچ مرکزی تصمیم نمی‌گیرد گلایدر کجا برود.بااین‌حال وقتی همین قوانین روی هزاران خانه و در نسل‌های متوالی اجرا می‌شوند، رفتارهایی در مقیاس بزرگ شکل می‌گیرند که از نگاه به یک خانه به‌تنهایی دیده نمی‌شوند. به این می‌گویند رفتارهای نوظهور (Emergence): رفتارهایی که از تعامل اجزا به وجود می‌آیند.این موضوع در پژوهش‌های سیستم‌های پیچیده هم بررسی شده؛ مثلاً مقاله‌ای در Nature (۱۹۸۹) رفتار بلندمدت بازی زندگی را از دید خودسازمان‌دهی مطالعه کرد. البته باید مراقب بود: شباهت یک مدل ریاضی به طبیعت به این معنی نیست که جهان واقعی دقیقاً با همین قوانین کار می‌کند.اگر قوانین مشخص‌اند، نتیجه هم مشخص نیست؟از نظر ریاضی، با دانستن وضعیت اولیه و قوانین، همه‌ی نسل‌های بعدی تعیین شده‌اند؛ هیچ تصادفی در کار نیست.اما مشخص بودن قوانین به معنی ساده بودن تحلیل نتیجه نیست. برای یک الگوی کوچک شاید بتوان نتیجه را پیش‌بینی کرد، ولی برای یک ساختار محاسباتی پیچیده ممکن است لازم باشد خود فرایند را اجرا و بررسی کنیم.نکته‌ی مهم: پیچیدگی نتیجه الزاماً به معنی پیچیدگی قوانین نیست. (و البته نه هر سیستم پیچیده‌ای غیرقابل‌پیش‌بینی است، نه هر سیستم غیرقابل‌پیش‌بینی‌ای پیچیده.)آیا این یعنی داریم زندگی را شبیه‌سازی می‌کنیم؟اسم بازی کمی گمراه‌کننده است. «زنده» و «مرده» فقط دو حالت تعریف‌شده در مدل‌اند؛ خبری از سلول واقعی، سوخت‌وساز یا ژنتیک نیست.بااین‌حال رفتارهای جالبی دیده می‌شود: ساختارهای پایدار، الگوهای متحرک و تعامل میان آن‌ها. بهتر است بازی زندگی را نه شبیه‌سازی کامل حیات، بلکه آزمایشی ببینیم برای این سؤال: چطور اجزای ساده با تعامل محلی، ساختارهای پیچیده‌تری می‌سازند؟این تفاوت جزئی به نظر می‌رسد اما مهم است؛ نمی‌گذارد از یک شباهت جالب، نتیجه‌ای بزرگ‌تر از شواهد بگیریم.چیزی که از بازی زندگی برای برنامه‌نویسی می‌ماندجذابیت بازی زندگی برای من فقط الگوهای متحرک یا محاسبات نیست؛ فاصله‌ی میان قوانین سیستم و رفتار نهایی آن است.در پروژه‌های بزرگ گاهی وسوسه می‌شویم همه‌ی رفتارهای آینده را از ابتدا طراحی کنیم، ولی در بعضی سیستم‌ها بخش مهمی از رفتار از تعامل اجزایی می‌آید که هرکدام وظیفه‌ی کوچکی دارند.البته این به معنی کنار گذاشتن طراحی مهندسی نیست؛ برای رسیدن به الگوهای خاص گاهی به طراحی اولیه‌ی بسیار دقیقی نیاز است. اما نکته این است: برای فهمیدن یک سیستم، شناختن تک‌تک اجزا کافی نیست؛ باید دید چطور با هم تعامل می‌کنند.این موضوع برای الگوریتم‌ها، سیستم‌های توزیع‌شده، هوش مصنوعی و مدل‌سازی پدیده‌های طبیعی هم ارزشمند است.در نهایت، بازی زندگی ما را به پرسشی می‌رساند که پاسخش ساده نیست: چطور از قواعدی ابتدایی، ساختارهایی به وجود می‌آیند که در سطح بالاتر، رفتاری متفاوت از انتظار اولیه نشان می‌دهند؟ برای من این یکی از جذاب‌ترین بخش‌های علوم کامپیوتر است: گاهی برای ساختن چیزی پیچیده، لازم نیست پیچیدگی را در تک‌تک اجزا بگذاری؛ گاهی باید قوانین مناسبی تعریف کنی و ببینی تعامل اجزا به کجا می‌رسد.دوست دارم بدانم شما بازی زندگی کانوی را بیشتر یک سرگرمی ریاضی می‌بینید، یک مدل برای مطالعه‌ی سیستم‌های پیچیده یا نمونه‌ای از قدرت محاسباتی سیستم‌هایی با قوانین ساده؟</description><category>Root</category><author>Root</author><pubDate>Tue, 03 Nov 2026 07:52:53 +0330</pubDate></item><item><title>آیا موج اوپن‌سورس می‌تواند جایگزین Adobe و نرم‌افزارهای تجاری شود؟</title><link>https://virgool.ir/@m_40621999/آیا-موج-اوپن-سورس-می-تواند-جایگزین-adobe-و-نرم-افزارهای-تجاری-شود-kybak3dct2av</link><description>از هزینه‌ی واقعی بازنویسی ابزارهای ادوبی تا نیاز به مرکزیت، استاندارد و تعهد در توسعه‌ی متن‌بازآیا داریم به سمت دوران اوپن سورس بودن می رویم، شاید خبر بازنویسی برنامه های مشابه ادوبی رو شنیدید، ولی بیاید بدون فکر به این اینکه یه شرکت داره محصولات دارای اشتراک میفروشه، پس اگه اون برنامه اوپن سورس باشه خیلی خوبه، چون شرکت های سودجو (آپدیت :اینو براساس دید افرادی که میگن همه چیز باید اوپن سورس باشه، و هیچ شرکت مرکزی نباشه دارم میگم) نمیتونه از شما پول بگیره. و یک برنامه رایگان دارید که مردم توسعه میدن.ولی آیا هزینه ای که برای ساخت نسخه های مشابه ضعیف ادوبی شده چندین برابر خرید اشتراک برنامه هست. و آیا این برنامه های اوپن سورس ادامه خواهند یافت. یعنی توسعه دهندگان بعد از آرام شدن موج مخزن گیت هاب بازم به توسعه ادامه میدن چند سال. و آیا چند شاخه شدن یک برنامه مفیده. یعنی هرکس با agent و وایب کدینگ برنامه های ادوبی رو بازنویسی کرده. در اون صورت استانداردی وجود دارد. فرمت هایی که برنامه باز میکنه و تولید میکنه چی هست. چه قابلیت هایی دارند. هرکس باید چندین نسخه از برنامه ها آشنا باشه. و ما نیاز به مرکزیت و توسعه پایداری و تعهد نسبت به پروژه داریم. که دوباره با چی حاصل میشه. اتفاق نظر روی یک شاخه خاص برنامه. و دادن توکن یا کمک مالی به توسعه دهندگان وایب کدر. یعنی این تغییر خیلی کم هزینه با پرفورمنس بالا و صرفا از چاله میفتیم توی چاه.من وقتی با دوستانم راجب این موضوع حرف میزنم سریع به سمت لینوکس و ویندوز میریم. که بحث اشتباهی هست. قیاس یک سیستم عامل با برنامه های کاربردی. و اینکه دوباره در توسعه لینوکس یک مرکزیت داریم. که این همه سال اجازه ورود ++C نمیداد. که کار درسته بود. ولی یک مرکزیت یک استاندارد داریم. که افراد متعهد به توسعه سیستم هستن. که ما یک هسته داریم. که از آن چیزایی که میبینیم اوبونتو و کالی و این موارد خروجیش هست. این‌ها توسط چند توسعه‌دهنده ناشناس که فقط کدهای تولیدشده با هوش مصنوعی را کنار هم گذاشته‌اند ساخته نشده‌اند؛ پشت آن‌ها سال‌ها تجربه، تصمیم‌گیری مهندسی، استاندارد مشخص و افرادی وجود دارند که می‌دانستند چه می‌خواهند بسازند و چطور باید به آن برسند.دوست دارم نظر شما هم بدونم، اگر نظر مخالف یا تکمیل کننده ای دارید خوشحال میشم بشنوم.</description><category>Root</category><author>Root</author><pubDate>Tue, 03 Nov 2026 07:44:41 +0330</pubDate></item><item><title>Hermes(دستیار شخصی )</title><link>https://virgool.ir/@m_40621999/hermesدستیار-شخصی-ftykby13byel</link><description>Hermes؛ دستیار شخصی مبتنی بر هوش مصنوعی برای خودکارسازی کارهای روزمرهHermes یک دستیار شخصی مبتنی بر هوش مصنوعی است که به شما اجازه می‌دهد بخشی از کارهای روزانه و فرایندهای تکراری خود را به آن بسپارید. از مدیریت وظایف روزانه گرفته تا بررسی ایمیل‌ها، پیگیری اعلان‌ها و اجرای فعالیت‌های زمان‌بندی‌شده، هدف اصلی Hermes کاهش زمان صرف‌شده برای کارهای روتین و افزایش تمرکز روی فعالیت‌های مهم‌تر است.ایکون برنامه Hermesاما منظور از یک «دستیار هوشمند» دقیقاً چیست؟ تصور کنید هر روز مجموعه‌ای از وظایف مشابه را انجام می‌دهید؛ بررسی ایمیل‌های جدید، مرور وضعیت پروژه‌ها، دنبال کردن گزارش‌ها، نظارت بر سرویس‌های مختلف یا حتی جمع‌آوری اطلاعات از چند منبع متفاوت. انجام این کارها به‌صورت دستی شاید زمان زیادی از شما نگیرد، اما تکرار مداوم آن‌ها در طول هفته و ماه، بخش قابل‌توجهی از انرژی و تمرکز شما را مصرف می‌کند.Hermes تلاش می‌کند این فرایند را ساده‌تر کند. شما وظایف، قوانین و جریان‌های کاری موردنظر خود را تعریف می‌کنید و دستیار آن‌ها را به‌صورت خودکار اجرا می‌کند. به بیان دیگر، به‌جای اینکه هر روز مجموعه‌ای از کارهای تکراری را شخصاً انجام دهید، می‌توانید آن‌ها را به سیستمی بسپارید که به‌صورت مداوم و بدون نیاز به نظارت دائمی فعالیت می‌کند.یکی از ویژگی‌های جالب این رویکرد، امکان اجرای Hermes روی یک سرور ابری است. این موضوع باعث می‌شود دستیار حتی زمانی که سیستم شخصی شما خاموش است نیز به فعالیت خود ادامه دهد. در چنین حالتی، Hermes به یک سرویس همیشه‌فعال تبدیل می‌شود که می‌تواند وظایف زمان‌بندی‌شده را اجرا کند، رویدادهای جدید را بررسی کند، به تغییرات واکنش نشان دهد و گزارش‌های موردنیاز را در اختیار شما قرار دهد.برای توسعه‌دهندگان، این قابلیت‌ها جذاب‌تر نیز می‌شوند. Hermes می‌تواند با سرویس‌های مختلف، APIها، پایگاه‌های داده، ابزارهای مدیریت پروژه و سایر سیستم‌های نرم‌افزاری یکپارچه شود. در نتیجه، این دستیار تنها یک رابط گفتگو با هوش مصنوعی نیست، بلکه می‌تواند نقش یک عامل نرم‌افزاری مستقل را ایفا کند؛ عاملی که قادر است اطلاعات را دریافت کند، آن‌ها را تحلیل کند و بر اساس منطق تعریف‌شده اقدامات مشخصی انجام دهد.در واقع، مفهوم Agentهای مبتنی بر هوش مصنوعی فراتر از تولید متن یا پاسخ‌گویی به پرسش‌هاست. این سیستم‌ها به سمت اجرای وظایف واقعی حرکت می‌کنند؛ وظایفی که پیش از این نیازمند حضور و دخالت مستقیم کاربر بودند. به همین دلیل، بسیاری از افراد آینده نرم‌افزارهای بهره‌وری را در ابزارهایی می‌بینند که نه‌تنها اطلاعات ارائه می‌دهند، بلکه می‌توانند بخشی از کارها را نیز به‌طور مستقل انجام دهند.البته طراحی چنین سیستمی تنها به اتصال یک مدل زبانی به چند ابزار محدود نمی‌شود. موضوعاتی مانند امنیت، مدیریت دسترسی‌ها، ثبت فعالیت‌ها، کنترل خطاها و امکان نظارت بر عملکرد دستیار، از جمله بخش‌های مهمی هستند که باید در نظر گرفته شوند. هرچه این زیرساخت‌ها دقیق‌تر طراحی شوند، دستیار هوشمند قابل‌اعتمادتر و کاربردی‌تر خواهد بود.در نهایت، Hermes را می‌توان گامی در مسیر تبدیل هوش مصنوعی از یک ابزار صرفاً تعاملی به یک همکار دیجیتال دانست؛ سیستمی که می‌تواند بخشی از بار کاری روزانه را بر عهده بگیرد و به کاربران اجازه دهد زمان و انرژی خود را روی تصمیم‌گیری، خلاقیت و حل مسائل پیچیده‌تر متمرکز کنند.اگه میخواید بیشتر از اخبار تکنولوژی بدونید به کانال تلگرام من سر بزنید https://t.me/AICodalyn</description><category>Root</category><author>Root</author><pubDate>Wed, 01 Jul 2026 15:12:59 +0330</pubDate></item><item><title>برنامه نویسی چیست</title><link>https://virgool.ir/@m_40621999/برنامه-نویسی-چیست-rlez1cbf4pwb</link><description>تکدی به زبان پایتونبرنامه نویسی انجام کار های روزمره به صورت اتوماسیون و محاسبات البته اگه بخوایم خیلی مسئله رو تقلیل بدیم در اصل من کاری که میخوام کامپیوتر انجام دهد رو به زبان برنامه نویسی که انسان میتونه بفهمه مینویسم بعد اون طی پروسه ای تبدیل به زبان ماشین یعنه کد باینری میشه و محاسبه و کار من اول به زبان انسان سپس زبان برنامه نویسی و بعد به کد ماشین تبدیل میشهمراحل تبدیل کد ما به زبان ماشینمن خودم هنوز تعریفی واحدی برای برنامه نویسی پیدا نکردم نه میشه گفت که همیشه با کامپیوتر در ارتباط چون میشه با استفاده از دو ساز و نوت ها دو کامپیوتر به هم وصل کرد(احتمالا به زودی درباره این بنویسم ) و اگر شما با زیست شناسی آشنا باشید وضایف سلول های بدن از الگوریتم و دستور های خاص پیروی میکنه این هم یک نوع برنامه نویسی محسوب میشه و حتی کسایی که توی فرانت اند کار میکنند خودشون رو بهعنوان برنامه نویس می بینند خب پس از بحث تعریف بگذریم حالا به سوال اصلی میرسیم از کجا شروع کنیم خب مطمئن باشید از اسکرچ شروع نمی کنید خیلی ها اینجا به شما بگید اول باید حوزه موردعلاقه ای که دوست دارید زبان مناسب اون رو یاد بگیرید ولی اگه شما بخواید شروع کنید اصلا نمی دونید که به کدوم حوزه علاقه دارید و اگر هم داید شناخت ندارید مثلا همه فکر میکنند متخصص امنیت کار باحالی است ولی نه خیلی کار سخت و پر استرس مثل فیلم ها جالب نیست خب پس چیکار کنیم از من میپرسید پایتون یاد بگیرید حالا میگید چرا پایتون چون هر حوزه ای که فکر میکنید پایتون هست میخواید هوشمصنوعی کارکنید پایتون پیخواید برید سمت وب پایتون میخوای ناسارو هک کنید پایتونکلا مهم نیست با چه زبانی شروع چون وقتی به طور کامل بهش مسلط بشید ذهن برنامه نویس شما شکل میگیره و نباید در شروع خیلی وسواس و کمال گرا باشید بنظرم من توی سال اول امتحان کردن حوزه های مختلف شبکه ،هک و امنیت،وب،هوشمصنوعی خوبه چون هم باعث آشنایی میشه و هم درست حوزه مورد نظر رو پیدا میکنید من خودم برنامه نویسی رو با دوره درک برنامه نویسی استاد جادی میرمیرانی شروع کردم بنظرم شروع خوبیهدوره جامع پایتون استاد جادی میرمیرانیhttps://maktabkhooneh.org/course/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D9%85%D9%82%D8%AF%D9%85%D8%A7%D8%AA%DB%8C-mk346/لینک دوره استادو باید بدونید که ما باید از طول مسیر لذت ببریم البته اگه بشه و استاد جادی یک دوره پایتون جامع داره که پیشنهاد میکنم اون هم ببینید اگه تلگرام باز بشه دوره ها رو کانال ها میزارن و وقتی واردش بشید جزوه و کتاب دانلود کنید ویدیو مختلف ببینید خودتون کمکم وارد میشید پس بیشتر دیگه نگم  موفق باشید.</description><category>Root</category><author>Root</author><pubDate>Thu, 30 Apr 2026 15:02:20 +0330</pubDate></item><item><title>هک چیست(به معنای مفهوم کلمه)</title><link>https://virgool.ir/@m_40621999/هک-چیستبه-معنای-مفهوم-کلمه-xe3prcqnhxjs</link><description>یک هکر خیالی که با کد html داره ناسا رو هک میکنهشاید با دیدن تیتر فیلم های هکری و هک کامپیوتر و موبایل به ذهن شما رسید ولی لغت هک به ۷۶ سال قبل در دانشگاه MITکه واژه “هک” روش های ابتکاری برای حل مسایل پیچیده درسی بود با گذشت زمان این واژه تغییر به چیزی که با خم کردن قوانین شناخته می شود نه قانون شکنی بلکه هک در لبه ای قرار میگیره که قوانین رو خم میکنه نه اینکه بشکنه به طور مثال افرادی که میخواهند فرار مالیاتی کنند درآمد که دارن رو توی خیریه ها میزارن این یک نوع هک قانون یعنی قانون شکنی نکرده ولس مالیات هم نمیده پس مفهوم حک همیشه یک مفهوم کامپیوتری نیست بلکه یعنی استفاده از قوانین سیستم به نفع خودت که در مباحث الکترونیک استفاده از باگ های روز صفر(بعدا یه پست راجبش میزارم) هست پس شما نمیتونید با خرید یا خوندن کتاب چطور هکر بشین بتونید این کارو بکنید باید ذهنیت استفاده از قوانین سیستم به نفع خودتون رو داشته باشید البته که گیگ ها به کسی با این کار ها آسیب نمیزنند ۱</description><category>Root</category><author>Root</author><pubDate>Wed, 29 Apr 2026 15:11:27 +0330</pubDate></item></channel></rss>