<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های معین حسینی منش</title>
        <link>https://virgool.io/feed/@moein7tl</link>
        <description>علاقه‌مند به بیگ‌دیتا، برنامه‌نویسی، تاریخ و سیاست</description>
        <language>fa</language>
        <pubDate>2026-06-18 07:14:56</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/11397/avatar/avatar.png?height=120&amp;width=120</url>
            <title>معین حسینی منش</title>
            <link>https://virgool.io/@moein7tl</link>
        </image>

                    <item>
                <title>جایگزینی کارمزد تراکنش چیست؟</title>
                <link>https://virgool.io/@moein7tl/%D8%AC%D8%A7%DB%8C%DA%AF%D8%B2%DB%8C%D9%86%DB%8C-%DA%A9%D8%A7%D8%B1%D9%85%D8%B2%D8%AF-%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4-%DA%86%DB%8C%D8%B3%D8%AA-l7y96pmyip3l</link>
                <description>هنگامی که شخصی پولی را در بیت‌کوین ویا اتریوم به شخص دیگری انتقال می‌دهد، یک تراکنش ساخته می‌شود. این تراکنش زمانی کامل شده و می‌توان از انتقال وجه اطمینان داشت که در زنجیره بلوکی اصلی ثبت شده و حداقل ۶ بلوک از ثبت آن در زنجیره گذشته باشد. ساخت بلوک‌ها وظیفه ماینرهاست. ماینر یابنده هر بلوک به میزان مشخصی جایزه (مثلا در شبکه فعلی بیت‌کوین این میزان ۱۲.۵ BTC است) دریافت می‌کند. علاوه بر جایزه کارمزد تراکنش‌های ثبت شده در آن بلوک نیز به ماینر می‌رسد.برای مثال فرض کنید که ۱۰۰۰ تراکنش در شبکه بیت‌کوین ارسال شده‌است، ۱۰۰ تراکنش با کارمزد0.1 BTC و بقیه با کارمزد 0.01 BTC. ماینر برای به حداکثر رساندن سود خود، سعی در قرار دادن تراکنش‌هایی با کارمزد بالاتر می‌نماید. به همین دلیل ممکن است تراکنشی ارسال شده و بعد از گذشت مدت زیادی نیز به زنجیره بلوکی اضافه نگردد.هرچه میزان کارمزدی که در تراکنش برای ماینر در نظر گرفته شده بیشتر باشد، احتمال در زنجیره بلوکی قرار گرفتن تراکنش نیز بالاتر بوده و زودتر در زنجیره قرار خواهد گرفت. برای مثال (در زمان نگارش این مقاله) برای تایید تراکنش در ۱۰ دقیقه نیاز به کارمزد 16.3 دلاری است. جهت مشاهده کارمزد پیشنهادی می‌توانید به سایت bitcoinfees سر بزنید.اما اگر تراکنشی با کارمزد پایین در شبکه ارسال کردیم که بعد از گذشت مدتی در زنجیره قرار نگرفت، چه باید کرد؟ این موضوع در فوروم bitcointalk مطرح شد و شخصی جایزه‌ای ۵۰۰ دلاری برای کسی که راه حل این موضوع را پیاده‌سازی کند در نظر گرفت. راه حل این موضوع replace-by-fee یا جایگزینی کارمزد تراکنش نام دارد. در صورتی که تراکنش ارسال شده در زنجیره بلوکی ثبت نشده باشد (zero confirmation)، فرستنده می‌تواند کارمزد تراکنش را اصلاح کرده تا ماینرها به قرار دادن این تراکنش در زنجیره بلوکی ترغیب گردند.</description>
                <category>معین حسینی منش</category>
                <author>معین حسینی منش</author>
                <pubDate>Tue, 26 Jun 2018 10:37:54 +0430</pubDate>
            </item>
                    <item>
                <title>اگر اقتصادمان بر پایه ارز رمزپایه بود، چه می‌شد؟</title>
                <link>https://virgool.io/@moein7tl/%D8%A7%DA%AF%D8%B1-%D8%A7%D9%82%D8%AA%D8%B5%D8%A7%D8%AF%D9%85%D8%A7%D9%86-%D8%A8%D8%B1-%D9%BE%D8%A7%DB%8C%D9%87-%D8%A7%D8%B1%D8%B2-%D8%B1%D9%85%D8%B2%D9%BE%D8%A7%DB%8C%D9%87-%D8%A8%D9%88%D8%AF-%DA%86%D9%87-%D9%85%DB%8C%D8%B4%D8%AF-qvr3odq6qscn</link>
                <description>بیت‌کوین، اتریوم و ... اسم‌هایی هستند که این روزها زیاد می‌شنویم. من هم به واسطه درس و علاقه مدتی هست که در رابطه با تکنولوژی‌ های ارزهای رمزپایه تحقیق می‌کنم. اجازه بدید یک تئوری را باهم بررسی کنیم. اگر اقتصادمان بر پایه ارزهای رمزپایه بود و تحریم می‌شدیم، چه اتفاقی برای ما می‌افتاد؟هدف بیت‌کوین به عنوان یک سیستم مالی، تمرکز زدایی بود. یعنی قدرت اصلی از دست بانک‌ها و سیستم‌های مالی قدیمی بیرون بیاد و این قدرت به‌صورت نامتمرکز بین افراد (ماینرها) توزیع بشه. با فرض بر اینکه اگر ۵۰٪ + ۱ از توان محاسباتی توسط افراد راستگو کنترل بشه، این ارز مطمئن خواهد بود. اما این اتفاقی واقعا عملی شد؟نمودار هش‌ریت ۲۴‌ ساعته شبکه‌ی بیت‌کویننمودار بالا نشان دهنده توان محاسباتی ماینرهای بیت‌کوین در ۲۴ ساعت گذشته است. همونطور که پیداست بیش از ۵۰٪ از توان محاسباتی توسط سه pool کنترل می‌شوند. سه پول اصلی BTC.com ، AntPool و BTC.top. شاید براتون جالب باشه که هر ۳تا pool چینی هستند.حالا فرض کنید که اقتصادمان بر پایه بیت‌کوین بود و تمام مبادلات ارزی خارجی و داخلیمون رو بر این اساس رقم می‌زدیم، آیا تحریم روی ما اثر می‌گذاشت؟احتمالا اگر این سوال رو از کسی که شیفته ارزهای دیجیتال باشه بپرسید، خیلی خوشبینانه به شما جواب بده نه! چنین اتفاقی نمی‌افتاد. این حرف درسته ولی با یک فرض اولیه! ۵۰٪ از توان شبکه درستکار باشند. اینجا بازهم پای Big Brother به قضیه باز میشه و اعمال نفوض به فقط ۳ تا از pool های اصلی می‌تونه کاری کنه که هیچ کدام از تراکنش‌هایی که قصد واریز وجه به حساب ایران رو داشتند در blockchain قرار نگیرند و یا حتی بدتر از اون مسیر اصلی blockchain منحرف بشه تا حتی تراکنش‌های قبلی هم از مسیر منحرف بشند (البته مورد دوم بدبینی زیادی نسبت به بیت‌کوین میاره و ارزش اون رو پایین میاره، به همین دلیل بعید به نظر می‌رسه که این اتفاق می‌افته).این اتفاق قبلا هم افتاده و یکی از همین pool ها با توان پردازشی زیادی که کاربرها در اختیارش قرار دادند، مسیر زنجیره بلوکی اصلی یکی از فورک‌های بیت‌کوین رو منحرف کرده بود و عملا باعث نابودی یک ارز شده بود. </description>
                <category>معین حسینی منش</category>
                <author>معین حسینی منش</author>
                <pubDate>Sat, 23 Jun 2018 13:43:22 +0430</pubDate>
            </item>
                    <item>
                <title>داستان تولد پول</title>
                <link>https://virgool.io/@moein7tl/%D8%AF%D8%A7%D8%B3%D8%AA%D8%A7%D9%86-%D8%AA%D9%88%D9%84%D8%AF-%D9%BE%D9%88%D9%84-gayklwshpjs2</link>
                <description>پول هرچیزی است که بتوان آن را به‌صورت عمومی به‌ازای بهای کالا یا خدمتی به دیگران پرداخت کرد.این موجودیت با‌ارزش راهی طولانی را طی کرده است تا خود را به شکل‌های متفاوت در جهان نمایش دهد و انسان را برای به‌دست آوردن مقداری بیشتری از آن به‌تکاپو وا دارد. شاید میزان دارایی هر شخص را بتوان معادل توانایی وی در رفع اکثر نیازهای مادی دانست. اما به‌راستی چگونه ارزهای مختلف خلق شده‌اند؟مبادله کالا‌به‌کلادر ایام قدیم و قبل از تولد پول، هر شخص بنا به شغل خود، مجبور به مبادله محصولی که تولید کرده بود با تولیدات دیگران بود. به عنوان مثال کشاورزی که نیازمند داس بود، باید به ازای دادن مقداری سیب به پیشه‌ور دیگر، صاحب آن داس می‌شد. اما این نوع تجارت مشکلاتی را به‌همراه داشت.اولین مشکل، نیازمند بودن هر دو شخص به کالای تولیدی یکدگیر بود. مثلا اگر کشاورز نیازمند داس بود، ولی آهنگر داستان به خوردن سیب علاقه‌ای نداشت، چگونه باید معامله می‌کردند؟ این مشکل با نام  Needs of double coincidence of wants شناخته می‌شود.دومین مشکل مربوط به تقسیم ناپذیری برخی از کالاها بود. به‌طور مثال اگر دامداری می‌خواست از کشاورز مقداری سیب بخرد، چطور باید مقداری از یک دام را به کشاور پرداخت می‌کرد؟پول کالاییمردم به مشکلات مبادله کالابه‌کالا آگاه شدند و برای غلبه بر آن پول کالایی اختراع شد. در هر منطقه بنا بر اقتصاد و جغرافیا، کالایی به عنوان پول انتخاب و از آن به عنوان جایگزینی برای مبادله کالابه‌کالا استفاده می‌شد. در یونان قدیم گاو نر، در سریلانکا فیل و در برونئی جمجمهٔ انسان به‌عنوان واحد پول پذیرفته شدند. به‌مرور زمان این کالاها جای خود را به طلا و نقره دادند. طلا و نقره ضرب شده ویژگی قابل حمل بودن و تقسیم‌پذیری را به‌همراه داشتند.در برخی از شهرهای ساحلی، از صدف‌ها به‌عنوان پول استفاده می‌شده‌است.استفاده از سکه ضرب شده به شکل شیر به‌عنوان پولدر برخی مناطق از سنگ، آهن و دیگر اشیا نیز استفاده‌ می‌شده‌است.تولد بانک‌ها و اسکناسحمل و ذخیره طلا و سکه خطرآفرین بود و برای صاحبان ثروت ترس آفرین. این مشکل جرقه تولد بانک را در ذهن انسان شعله‌ور کرد. مکانی که افراد طلا و سکه‌ی خود را ذخیره و در مقابل سندی از بانک دریافت می‌کنند. این سند بهایی معادل طلا و نقره‌ای دارد که توسط فرد به بانک سپرده شده‌است. ابتدا قرار بود این سند نشان‌دهنده مالکیت شخص نسبت به سپرده‌ی وی نزد بانک باشد و بانک تنها یک امانت‌دار، ولی کم کم مردم اقدام به معامله از طریق این سند‌ها کردند. اینگونه بود که پول به شکل فعلی متولد شد.چینی‌ها اولین کسانی بودند که از اسکناس به‌شکل فعلی استفاده کردند.اولین اسکناس مدرن چاپ شده. ۱۶۶۶ میلادی، استکهلم پول بی‌پشتوانه (Fiat Money)در گذر زمان دولت‌ها قدرت اصلی بانک‌ها را در دست گرفتند و اقدام به چاپ پول بدون پشتوانه نمودند. در این نوع پول، بدون توجه به ذخیره‌ی طلا یا کالای با ارزش دیگری دولت مرکزی اقدام به چاپ پول می‌کند و ارزش ذاتی پول تنها وابسته به اعتماد عمومی نسبت به قدرت دولت است. در پول‌های با پشتوانه، ارزش طلا و اسکانس چاپ شده همیشه یکسان بودند، در صورتی که پول بدون پشتوانه فاقد این ارزش یکسان است. از دیگر مشکلات این پول افزایش نقدینگی، ایجاد تورم، بدهی ملی و بعضا بحران‌های اقتصادی است. در حال حاضر اکثر ارزهای جهان از جمله دلار، یورو و ریال از نوع بدون پشتوانه، یا پول دستوری هستند. https://www.aparat.com/v/Fa9nS تولد بیت‌کوینپول بدون پشتوانه زمانی متولد شد که مرجعی قدرتمند همانند دولت‌ها اختیار نظام پولی و بانکی را در دست‌گرفتند. در صورت ورشکستی یک‌دولت، ارزش پول کاهش می‌یابد و به‌طور کلی اندوخته اکثر افراد جامعه نابود می‌گردد. راه حل این مشکل پولی بود که در آن سطح اعتماد از یک نهاد به اکثریت جامعه منتقل شود (۵۰٪ + ۱ از جامعه) و تمام ویژگی‌های قبلی پول از جمله قابل حمل بودن،  تقسیم پذیری، جلوگیری از دوبار خرج کردن و سختی (غیر ممکن بودن) در جعل را به‌همراه داشته باشد.</description>
                <category>معین حسینی منش</category>
                <author>معین حسینی منش</author>
                <pubDate>Sat, 23 Jun 2018 02:20:50 +0430</pubDate>
            </item>
                    <item>
                <title>ساکنان جزیره Yap، خالقان بیت‌کوین</title>
                <link>https://virgool.io/@moein7tl/%D8%B3%D8%A7%DA%A9%D9%86%D8%A7%D9%86-%D8%AC%D8%B2%DB%8C%D8%B1%D9%87-yap-%D8%AE%D8%A7%D9%84%D9%82%D8%A7%D9%86-%D8%A8%DB%8C%D8%AA%DA%A9%D9%88%DB%8C%D9%86-vxpjqlveml39</link>
                <description>اساس بیت‌کوین توافق حداکثر افراد جامعه بر صحت یا اشتباه بودن یک ادعاست. فرض کنید بابک قصد انتقال ۲ کوین از یکی از حساب‌های خود به جاوید را دارد. برای این کار بابک باید یک تراکنش بسازد و با کلید خصوصی حساب خود، آن را امضا کند. در صورتی که ۵۰٪+۱ از توان پردازشی شبکه بیت‌کوین بر صحت این تراکنش توافق داشته باشند، این تراکنش در زنجیره بلوکی ذخیره می‌شود و این مقدار به حساب جاوید تعلق می‌گیرید. یعنی بیشتر توان پردازشی شبکه بر این مساله توافق داشته باشند که امضای تراکنش صحیح است (واقعا بابک دستور پرداخت را صادر کرده) و بابک پول ادعا شده را در آدرس حساب خود داشته است.در سیستم اقتصادی فعلی، اعتماد تمامی افراد به بانک‌ها، موسسات مالی و دولت‌هاست. وقتی با استفاده از کارت‌خوان مغازه‌ای خریدی انجام می‌دهیم، اعتماد فروشنده به بانک است که ما پول ادعا شده را در حساب خود داریم و آن‌را به فروشنده انتقال داده‌ایم. راه حل بیت‌کوین برای حل مشکل اعتماد به نهاد سوم، اعتماد جمعی‌است.ساحل جزیره‌ی Yapاما این ایده، ایده جدیدی نیست. ساکنان جزیره Yap مدت‌ها از این روش به عنوان سیستم پولی خود استفاده کرده‌اند. در ساحل این جزیره‌ی واقع در اقیانوس آرام، تعدادی سنگ بزرگ قرار گرفته که هر شخص مالک بخشی از تعدادی سنگ بوده‌است. به عنوان مثال بابک نیمی از سنگ اول و کل سنگ چهارم را دارد و ساکنان جزیره از این موضوع آگاه هستند. حال بابک قصد خرید قطعه زمینی به ارزش ۳/۴ یک سنگ از جاوید را دارد. در این هنگام ساکنان جزیره گردهم می‌آیند و اعلام می‌شود که از این به بعد ۳/۴ از سنگ چهارم متعلق به جاوید و زمین متعلق به بابک است. در صورتی که اکثر افراد موافق باشند که حداقل ۳/۴ سنگ متعلق به بابک بوده‌، پس قبول می‌کنند که از این به بعد این مقدار متعلق به جاوید خواهد بود و این خرید با موفقیت انجام می‌شود.</description>
                <category>معین حسینی منش</category>
                <author>معین حسینی منش</author>
                <pubDate>Sat, 23 Jun 2018 01:13:03 +0430</pubDate>
            </item>
                    <item>
                <title>آپاچی کافکا چطور کار می‌کند؟</title>
                <link>https://virgool.io/@moein7tl/%D8%A2%D9%BE%D8%A7%DA%86%DB%8C-%DA%A9%D8%A7%D9%81%DA%A9%D8%A7-%DA%86%D8%B7%D9%88%D8%B1-%DA%A9%D8%A7%D8%B1-%D9%85%DB%8C%DA%A9%D9%86%D8%AF-obifxi8uiqb1</link>
                <description>کافکا ابزاری قدرتمند برای پیاده‌سازی معماری Publish/Subscriber است که برای pipeline کردن داده‌ها و Stream Processing  استفاده می‌شه. که تمام اینها در کنار مقیاس‌پذیر بودن و fault-tolerant بود اون رو به یکی از ابزارهای اصلی در کلان‌داده‌ها تبدیل کرده.معماری Pub/Subفرض کنید تعدادی سرویس نیاز دارند که با همدیگه صحبت کنند و همدیگر رو مستقیما call می‌کنند. پیچیدگی فنی زیاد میشه، کوچکترین تغییری رو به سختی باید در همه سرویس‌ها دنبال کرد و پیاده‌سازی back pressure هم که خودش داستانی جدا برای هر سرویس داره. در نهایت این یک بدهی فنیه که باید پرداخت بشه. یکی از معماری‌ها برای حل این مشکل، Pub/Sub است. سرویس‌ها داده‌هایی رو Publish می‌کنند و کسایی که به اون داده‌ها نیاز دارند Subscribe می‌کنند. اوایل معرفی از کافکا به عنوان کامیت‌لاگ توزیع‌شده اسم برده می‌شد، چیزی که این‌ روزها به بستر استریمینگ توزیع‌شده  تغییر پیدا کرده. اطلاعات نوشته شده در کافکا به‌ترتیب هستند و روی دیسک ذخیره می‌شند.تاپیک‌ها و پارتیشن‌هاپیام‌های نوشته شده در کافکا توسط topic دسته‌بندی می‌شند. شاید topic را بشه معادل یک جدول در بانک اطلاعاتی دونست.  هر topic به تعدادی partioion تقسیم می‌شه که از منطق append only پیروی می‌کنند و هر پیام در هر partiotion یک id یکتا بهش اختصاص پیدا می‌کنه. وقتی تولید کننده پیام (producer) قصد نوشتن در یک topic رو داره، می‌تونه partition رو صریحا اعلام کنه (این پیام رو در پارتیشن شماره ۳ بنویس) یا اینکار بر اساس هش از کلید پیام انجام بشه.در مقابل producer ها، consumer ها قرار میگیرند که شروع به خوندن اطلاعات از kafka می‌کنند و بر اساس اون کاری رو انجام می‌دهند. consumer ها بر اساس کاری که انجام می‌دهند به گروه‌های مختلفی تقسیم بندی می‌شند که بهش consumer group گفته می‌شه و هر partition حداکثر به یک consumer از هر گروه اختصاص پیدا می‌کنه. یعنی اگر شما تعداد پارتیشن‌ها رو ۱۰ تا انتخاب کنید و ۲۰ تا consumer داشته باشید، ۱۰ تا از consumer هاتون عملا بی‌کارند. پس یکی از موراد مهم در طراحی انتخاب تعداد پارتیشن مناسب هست. به مصرف‌ کننده‌ی شماره ۵ هیچ پارتیشنی اختصاص پیدا نکرده. این به معنی حداکثر توان پردازش اندازه ۴تا از مصرف کننده هاست.بروکر و کلاستربه هر سرور کافکا Broker گفته میشه. هر سرور می‌تونه حاوی چندین topic و به ازای هرکودوم هم حاوی چندین partition باشه. طراحی Broker ها به‌نحویه که بتونند به‌عنوان یک خوشه (cluster) کار کنند.  در این مواقع یکی از سرورها به عنوان controller انتخاب میشه و وظیفه داره مشخص کنه که کدام partition به کدوم بروکر اختصاص داره، همینطور وظیفه health check و مانیتور کردن بقیه سرورها هم بر عهده controller هست. بر اساس تنظیمات ممکنه یک partition به بیش از یک سرور اختصاص پیدا کنه که به معنی replication است. فرض کنید پارتیشن X از تاپیک Y به ۳تا سرور A,B و C اختصاص داره. یکی از این ۳تا سرور به عنوان leader برای این partition انتخاب می‌شند و دوتای دیگه replicate های اون هستند. این کار کمک می‌کنه تا در صورت از دست دادن leader چندین copy از اطلاعات اون وجود داشته باشه تا consumer ها بعد از re-balance شدن به‌کار خودشون ادامه بدند.کافکا طراحی نشده که همزمان روی چندین دیتاسنتر اجرا بشه، یعنی یکی از بروکر‌های کلاسترمون رو دیتاسنتر A باشه و دیگری روی دیتاسنتر B. ولی ممکنه ما نیاز داشته باشیم که اطلاعاتمون رو چندین دیتا سنتر باشند. چرا؟ امنیت، isolation و disaster recoveryبرای اینکار کافکا ابزاری داره به اسم Mirror Maker که مثل یک consumer/producer عمل می‌کنه. یعنی عملا از یکی از کلاسترها می‌خونه و در یکی دیگه می‌نویسه.  پاک کردن اطلاعات از کافکا اینطوری نیست که بگیم فلان id رو پاک کن! بلکه بر اساس استراتژی خاصی اطلاعات از کافکا پاک می‌شند.۱) بر اساس زمان: من اطمینان دارم که حداکثر ۷ روز طول می‌کشه تا اطلاعات پردازش بشند، پس به کافکا می‌گم که اطلاعاتی که قدیمی‌تر از ۷ روز هستند رو پاک کنه. چطوری این اتفاق می‌افته؟ خوب کافکا اطلاعات هر پارتیشن رو فایل به فایل می‌نوسه. مثلا بهش میگیم حجم هر فایل ۱ گیگ بشه، اطلاعات به پارتیشن X می‌رسند و شروع به نوشتن در فایل T1P1F1 می‌کنه (یک اسم فرضی، یعنی Topic اول، Partition اول و فایل اول) . وقتی به حجم فایل ۱ گیگ شد، این فایل رو می‌بنده و میره سراغ فایل بعدی. حالا این فایل مقدار modified at داره و در صورتی که این تاریخ قبل از ۷ روز پیش باشه، پاک میشه. برای همین ممکنه آخرین پیام نوشته شده مربوط به ۵ روز پیش باشه و اولین مربوط به ۱۰۰ روز پیش. خوب فایل پاک نمیشه و ما هنوز امکان دسترسی به اطلاعات قدیمی‌تر از ۷ روز رو هم داریم (در این پارتیشن)۲) بر اساس حجم: من ۱ ترا حجم حجم به کافکا اختصاص دادم و بهش می‌گم حجم اطلاعاتت رو روی ۸۰۰ گیگ نگاه‌دار. در این‌جور مواقع در صورتی که ۸۰۰ گیگ رد بشه، کافکا قدیمی‌ترین فایل رو پاک می‌کنه. این مدل قابل ترکیب با مدل زمانی هست. هر کودوم زودتر اتفاق بیفته، بر اساس اون سیاست حذف انجام میشه.۳) فشرده (compact): در این حالت از هر partition به عنوان key-value استفاده میشه و هر پارتیشن فقط آخرین پیام رو نگاه می‌داره. از این روش برای نگاه‌داشتن index مکانی که consumer ازش خونده استفاده میشه. یعنی اگر consumer به هر دلیل reset شد و نمی‌دونست تا کجا خونده، این پیام رو می‌خونه و از اونجا به بعد رو شروع به پردازش می‌کنه. (تاپیک‌ها متفاوت هستند)</description>
                <category>معین حسینی منش</category>
                <author>معین حسینی منش</author>
                <pubDate>Sat, 23 Jun 2018 00:59:06 +0430</pubDate>
            </item>
                    <item>
                <title>چطور مقالات علمی را درست انتخاب کنیم، بخوانیم و متوجه شویم؟</title>
                <link>https://virgool.io/@moein7tl/%DA%86%D8%B7%D9%88%D8%B1-%D9%85%D9%82%D8%A7%D9%84%D8%A7%D8%AA-%D8%B9%D9%84%D9%85%DB%8C-%D8%B1%D8%A7-%D8%AF%D8%B1%D8%B3%D8%AA-%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8-%DA%A9%D9%86%DB%8C%D9%85-%D8%A8%D8%AE%D9%88%D8%A7%D9%86%DB%8C%D9%85-%D9%88-%D9%85%D8%AA%D9%88%D8%AC%D9%87-%D8%B4%D9%88%DB%8C%D9%85-tnb0sn52ghvh</link>
                <description>احتمالا شما هم مثل من به خوندن بلاگ پست‌ها، دنبال کردن فیدها و ... معتاد شده باشید. من یاد گرفتم چطور یک تکنولوژی جدید رو یاد بگیرم، یاد گرفتم چطور و چقدر از یک کتاب مرجع رو بخونم ولی بلد نبودم چطور درست مقالات علمی رو بخونم (البته هنوزم هم بلد نیستم). این مورد آخر در دوره ارشد خیلی من رو اذیت کرد. از افراد زیادی پرسیدم که شما چطور مقاله می‌خونید و  تحقیق می‌کنید. هر کسی بنا به تجربه قبلی خودش و آزمون و خطاهایی که کرده بود روشی رو پیشنهاد می‌کرد ولی نقطه مشترک همه این بود که &quot;ما هم درست نمی‌دونیم&quot;. برای همین تصمیم گرفتم ببینم بزرگترها چی‌کار می‌کنند:)چطور یک مقاله خوب انتخاب کنیم؟(این بخش مفهومی از نوشته‌های دو دانشجوی دکتری MIT است)خلاصه مقاله را بخون، اگر جذبت کرد به شکل‌ها، تصاویر و نمودارها یک نگاهی بینداز و نتیجه‌گیری رو بخون. مقاله خوبی به نظر میاد؟ برو بخش بعد وگرنه برو مقاله بعدیاگر در این حوزه تخصص داری بخش Methods رو بخون، در غیر اینصورت Introduction رو هنوز هم فکر می‌کنی مقاله خوبیه؟ پس مقاله درستی رو انتخاب کردی. مقاله خوب رو باید خوب خوند!چطور یک مقاله خوب را خوب بخوانیم؟(این بخش هم مفهومی است از مقاله چطور مقاله بخوانیم از یکی از استادهای دانشگاه واترلو)خوندن هر مقاله رو می‌شه به سه فاز تقسیم کرد. ایده کلی، فهمیدن کلی و فهم دقیقایده کلی: (حدود ۱۰ دقیقه)عنوان مقاله، خلاصه و Introduction رو بخونید، بعد به سراغ عنوان‌ها و زیر عنوان‌ها برید و در نهایت نتیجه‌گیری رو بخونید. به مراجع مقاله نگاه کنید و ببینید کدوم یکی را تا حالا خوندید. الان باید بتونید بگید این مقاله در چه حوزه‌ای هست، چه زمینه‌ای داره، چه کسایی اون رو نوشتند و اصلا مقاله‌ای هست که برای خوندن نوشته شده باشه (well-written)؟ فهمیدن کلی: (حدود یک ساعت)مقاله رو با دقت بالا ولی بدون جزئیات (مثلا اثبات‌ها) بخوان و کنار اون‌ حتما حاشیه‌نویسی انجام بده.به اشکال، جدول‌ها، نمودارها و ... دقت ویژه‌ای کنمراجع مرتبط رو برای خوندن علامت‌گذاری کنبعضی وقت‌ها در این مرحله مقاله رو متوجه نمی‌شیم، چرا؟ موضوع جدیدمقاله‌ای که بد نوشته شدهخسته‌ایمحالا چی‌کار کنیم؟بیخیال مقاله می‌شیم، به امید خدا که بهش احتیاج نداریمبعد از خوندن background این زمینه به سراغ مقاله میایمبا قدرت میریم سراغ مرحله بعدفهمیدن دقیق: (از ۱ ساعت تا ۵-۶ ساعت)در این مرحله باید مقاله رو روی کاغذ برای خودتون پیاده کنید، با جزئیات کامل و فرضیات نویسنده. مقاله و نویسنده رو به چالش بکشید. چرا این فرض رو در نظر گرفته؟ این کار چه نوآوری داشته؟ اگر من بودم چطور این‌کار رو انجام می‌دادم؟ سعی کنید به خطاهای نویسنده پی‌ ببرید و به ایده‌های جدیدی در این مورد برسید.چطور یک مقاله خوب را خوب بفهمیم؟(این بخش هم ترجمه آزادی است از نوشته یکی از اساتید دانشگاه تگزاس)الف) چه کسی و از کجا مقاله را نوشته است؟ب) معنی هر کلمه‌ای که نمی‌دانی بنویس، خواندن متن علمی با تست Reading کنکور متفاوت است۱) مقدمه - Introduction - را بخوان. (دکتر قنبری از اساتید دانشگاه تهران هم روی این موضوع تاکید دارند که به جای Abstract حتما Introduction رو اول بخونید)۲) سوال اساسی: این مقاله چه مشکلی را در زمینه خود حل می‌کند؟ (باید مشکل را فهمید نه زمینه را!)۳) کارهای قبلی: چه‌کارهایی انجام شده؟ چه محدودیت‌هایی داشتند؟ باعث می‌شه درک بهتری از مقاله داشته باشی۴) سوال تخصصی: دقیقا بفهم که نویسنده می‌خواسته چه مشکلی را حل کند. (چرا کارهای قبلی در حل این موضوع ناتوان بوده‌اند؟)۵) نویسنده چه رویکردی برای حل مساله داشته؟ از چه روشی برای حل مساله استفاده کرده؟ (مثلا از الگوریتم X برای حل مساله Y)۶) حالا بخش Methods رو بخون. به طور شماتیک کاری که انجام شده رو رسم کن، تا به صورت کلی این بخش رو نفهمیدی به سراغ بقیه بخش‌ها نرو۷)Result رو بخون. برای هر شکل، جدول و تصویر چند خط بنویس که نشان‌گر چه چیزی بوده است.۸) آیا Result مقاله به سوالات پاسخ می‌ده؟  داده ها و نتایج رو بدون توجه به مقاله تفسیر کن. (این مرحله وقت‌گیر ولی ارزشمنده)۹) حالا بخش نتیجه‌گیری رو بخون. اینکه نویسنده چطور داده‌ها رو تفسیر‌ کرده.۱۰) فک کنم وقتش باشه که Abstract رو خوند.۱۱ و ۱۲) این مراحل اختیاریه، ولی خوبه که انجام بشوند. نظر دیگران رو در مورد مقاله بخون‌ و نگاهی به مراجع مقاله بنداز.پ.ن: به جز Google Scholar چندین سایت و ابزار مفید دیگه هم هست که میشه در این موارد ازشون استفاده کرد.اگر کامپیوتری هستید حتما به سایت های scimagojr.com و csrankings.com یک نگاهی بندازید و در هر صورت از mendely استفاده کنید.اگر فرصت کافی دارید حتما مقاله چطور در آزمایشگاه هوش مصنوعی MIT تحقیق کنیم رو بخونید. کمی قدیمی هست ولی بسیار جالب و فرهنگ‌ساز. و در نهایت اگر این نوشته رو مفید می‌دونید اون رو به اشتراک بگذارید و ابزارها و سایت‌های دیگه‌ای که فکر می‌کنید مفید هستند رو در کامنت‌ها به دیگران معرفی کنید.</description>
                <category>معین حسینی منش</category>
                <author>معین حسینی منش</author>
                <pubDate>Fri, 22 Jun 2018 23:14:04 +0430</pubDate>
            </item>
                    <item>
                <title>حفاظت از دموکراسی با رمزنگاری و توابع درهم‌ساز</title>
                <link>https://virgool.io/@moein7tl/%D8%AD%D9%81%D8%A7%D8%B8%D8%AA-%D8%A7%D8%B2-%D8%AF%D9%85%D9%88%DA%A9%D8%B1%D8%A7%D8%B3%DB%8C-%D8%A8%D8%A7-%D8%B1%D9%85%D8%B2%D9%86%DA%AF%D8%A7%D8%B1%DB%8C-%D9%88-%D8%AA%D9%88%D8%A7%D8%A8%D8%B9-%D8%AF%D8%B1%D9%87%D9%85%D8%B3%D8%A7%D8%B2-oqk96vn1unim</link>
                <description>محتوی این نوشته برای اسفند ۱۳۹۴ است که به دلیل انتقال وبلاگم به ویرگول دوباره بازنشر می‌کنم.مدت‌ها بود خبرهای زیادی در مورد الکترونیکی شدن انتخابات می‌شنیدیم، اتفاقی که در نهایت با مخالفت شورای نگهبان اتفاق نیفتاد. فکری که ذهن من‌ رو مشغول کرده بود تضمین صحت و سلامت چنین انتخاباتی و یا در حالت کلی‌تر هر مدل از انتخابات‌ها بود، طوری که امکان هرگونه دستکاری در نتیاج و داده‌سازی از بین بره و حتی کسی نتونه ادعا کنه به شخص دیگه‌ای رای داده و رای‌ش عوض شده. تا اینکه یک روز سر یک کلاس خواب‌آور تصمیم گرفتم یک روش براش پیدا کنم و در نهایت جواب داد (با تشکر از استاد که حرف‌های تکراری می‌زد)قبل از گفتن روش بگذارید کمی در مورد رمزنگاری و هش بگم. به طور کلی الگوریتم‌های رمزنگاری به دو دسته تقسیم می‌شند، متقارن و نامتقارن. رمزنگاری متقارن: الگوریتم‌های این نوع رمزنگاری از یک کلید برای رمزگذاری و رمزگشایی استفاده می‌کنند، مثلا من و شما توافق می‌کنیم که پیام‌هامون رو با الگوریتم AES و کلید 123456789 رمز کنیم و برای هم بفرستیم، امنیت این روش به امنیت الگوریتم و دونستن کلید برمیگرده. یعنی هر کس دیگه‌ای که بدونه کلید پیام‌های ما 123456789 است می‌تونه پیام‌ها رو بخونه.رمزنگاری نامتقارن: این الگوریتم‌ها از دو کلید استفاده می‌کنند، یکی برای رمزکردن و یکی برای رمزگشایی. نمونه معروف این نوع الگوریتم‌ها RSA است.  فرض کنید شما دوتا کلید به اسم A و B دارید، به طور استاندارد در این نوع الگوریتم‌ها قراره اگر پیامی با کلید A رمز شد، فقط با کلید B باز بشه و اگر با کلید B رمز شد، فقط با کلید A باز شه. (البته نمونه‌هایی هم هستند که فقط با یکی رمز و با یکی رمزگشایی می‌شند)وقتی شما می‌خواهید از این الگوریتم‌ها استفاده کنید، دوتا کلید می‌سازید به اسم کلید عمومی و کلید خصوصی، کلید عمومی رو به همه می‌دید و کلید خصوصی رو پیش خودتون نگه می‌دارید.کلید سبز رنگ کلید عمومی و کلید قرمز رنگ، کلید خصوصی است.فرض کنید قراره من برای شما یک پیام محرمانه بفرستم، شما کسی هستید که دوتا کلید خصوصی و عمومی رو می‌سازید (کسی که کلید سبز و قرمز رو داره)، در اینجا کلید سبز نشون دهنده کلید عمومی و کلید قرمز نشون دهنده کلید خصوصی است. شما کلید عمومی رو برای من می‌فرستید (یا برای کل دنیا، اصلا مهم نیست که چه کسی این کلید رو داشته باشه)، من متن (تصویر، فایل، ایمیل، ...) که قراره برای شما بفرستم رو با کلید سبز رمز می‌کنم، حالا این متن رمزشده فقط با کلید قرمز رنگ باز میشه، یعنی فقط شما می‌تونید محتوی اصلی رو ببینید.  (محرمانگی)ولی یک حالت دیگه هم وجود داره، من قراره مطمئن بشم که یک محتوی از سمت شما برای من میاد، مثلا می‌خوام مطمئن بشم که شما یک ایمیل رو فرستاید. شما متن رو با کلید قرمز رنگ رمز می‌کنید، این موقع من یا هر کس دیگه‌ای که کلید سبز رو داشته باشه مطمئن میشه که این محتوی رو واقعا خود شما فرستاید. نکته مهم اینکه شما نمی‌تونید منکر این موضوع بشید که فرستنده این محتوی نیستید. از این قضیه (رمزگذاری با کلید خصوصی) برای عدم انکار و امضای دیجیتال استفاده می‌شه. حتی در کشورهایی مثل آمریکا برای امضای قراردادها استفاده می‌شه و کاملا حقوقیه.هش (Hash): هش یعنی توابع یک‌ طرفه، یعنی وقتی یک ورودی به یک تابع هش داده می‌شه خروجی ای تولید می‌کنه که با دونستن اون نمیشه به ورودی رسید. مثلا خروجی تابع md5 (یکی از توابع معروف هش) به ورودی Moein Hosseiniمیشه ca6e1e3c12c635146943e1c11c1502ae که یک‌طرفست، یعنی با دونستن ca6e1e3c12c635146943e1c11c1502ae نمیشه به Moein Hosseini رسید. به جز اینکه یک جدول بزرگ از همه ورودی‌ها درست کنید و هش اون‌ها رو حساب کنید (Rainbow table) که البته برای اینکه این‌هم سخت و تقریبا غیر ممکن بشه بهش چیزی به اسم salt اضافه میشه، یعنی من یک مقدار رندوم و به ورودی تابع هش اضافه می‌کنم، یعنی این‌سری Moein Hosseini s*2js1Je رو هش می‌کنم که باعث میشه ساخت Rainbow table خیلی بزرگ و غیر ممکن بشه.خوب بریم سراغ دموکراسی، برای این روز این اصول رو داریم:نکته: منظور از دولت برگذار کننده انتخابات است.۱- رای هیچ کس نباید مشخص بشه (حتی برای دولت)، یعنی حریم خصوصی هر شخص باید حفظ بشه.۲- دولت موظفه همه رای‌ها رو در یک جدول منتشر کنه، به‌صورتی که فقط شخص رای دهنده متوجه بشه کودوم سطر جدول متعلق به خودشه. (مثلا من بدونم اون سطری که خونه A اون برابر فلان هش است، رای منه)یک نمونه از جدول انتشاری در دولت۳- در صورت دستکاری نتایج، شخص بتونه اثبات کنه۴- در صورتی که سطر مربوط به شخص منتشر نشد، بتونه اثبات کنه که رای داده۵- شخص نتونه به صورت دروغین ادعا کنه که به کس دیگه‌ای رای داده و در جدول رای دیگه‌ای براش ثبت شدهحالا برای اینکه به موارد بالا برسیم، از راه حل زیر استفاده می‌کنیم.روش تضمین عدم تقلب در انتخابات قبل از شروع انتخابات دولت یک کلید خصوصی و عمومی برای انتخابات درست می‌کنه و کلید عمومی رو در اختیار همه قرار می‌ده، این یعنی اگر هر چیزی با کلید خصوصی رمز شد حتما توسط دولت رمز شده و دولت نمی‌تونه انکار کنه که این رو من رمز نکردم.برای رای دادن هر شخص یک مقدار که فقط خودش می‌دونه انتخاب می‌کنه (مثل پسورد)، حالا از کد ملی و اون مقدار هش می‌گیره، بعد از اون هش و رای خودش ({hashValue:Vote}) رو برای دولت می‌فرسته.دولت چیزی رو که دریافت کرده رو با کلید خصوصی انتخابات رمز می‌کنه و برای رای‌دهنده ارسال می‌کنه، رای دهنده مقدار دریافتی رو با کلید عمومی انتخابات رمزگشایی می‌کنه و مطمئن می‌شه که این مقدار توسط دولت ارسال شده و رای اون به درستی ثبت شده و مقدار دریافتی رو پیش خودش نگه می‌داره.حالا بعد از انتشار جدول توسط دولت، در صورتی که رای کسی عوض شده باشه، شخص با ارائه مقدار رمزشده دریافتی از دولت می‌تونه اثبات کنه رای اون چیز دیگه‌ای بوده (چون با کلید خصوصی انتخابات رمز شده، دولت نمی‌تونه منکر بشه که اون رای رو دریافت نکرده)اگر رای داده باشه و رای اون در جدول نباشه هم می‌تونه با ارائه همون متن رمزشده توسط دولت ادعا کنه که رای داده و دولت رای اون رو دریافت کردهرای‌دهنده هم نمی‌تونه به دروغ بگه به شخص دیگه‌ای رای داده و تقلب شده، چون باید یک متن رمزشده با کلید خصوصی انتخابات داشته باشه که وقتی با کلید عمومی باز‌ میشه رای شخص در اون موجود باشه.با مقدار هش موجود در جدول هم که هر شخص منحصرا هش خودش رو می‌دونه، حریم خصوصی اشخاص حفظ می‌شه.پ.ن۱: بعد از نوشتن این پست متوجه شدم که الگوریتم‌های خیلی زیاد و خوبی برای این کار ارائه شده</description>
                <category>معین حسینی منش</category>
                <author>معین حسینی منش</author>
                <pubDate>Fri, 22 Jun 2018 21:56:09 +0430</pubDate>
            </item>
                    <item>
                <title>کارشناسی ارشد، خوب یا بد؟</title>
                <link>https://virgool.io/@moein7tl/%DA%A9%D8%A7%D8%B1%D8%B4%D9%86%D8%A7%D8%B3%DB%8C-%D8%A7%D8%B1%D8%B4%D8%AF-%D8%AE%D9%88%D8%A8-%DB%8C%D8%A7-%D8%A8%D8%AF-y8ebvdm2sbmj</link>
                <description>محتوی این نوشته برای مهر ۱۳۹۴ است که به دلیل انتقال وبلاگم به ویرگول دوباره بازنشر می‌کنم.همیشه در مورد اینکه دانشگاه مفید هست یا نه خیلی بحث میشه، تو محیط‌های کاری، جمع‌های دوستانه و فضای مجازی. این قضیه از وقتی که استارتاپ نقل همه مجلاس شده بیشتر شنیده میشه و خوب اکثرا هم دلایلی دارند برای اینکه دانشگاه چیز مفیدی نیست و وقت آدم رو تلف می‌کنه. من سال پیش کنکور کارشناسی ارشد دادم و امسال دوباره رفتم دانشگاه. تقریبا تا ۷ ماه قبل از کنکور مطئنم بودم که قرار نیست درس بخونم و قراره جدی‌تر کار کنم یا حتی استارتاپ بزنم، ولی بعد از یکم فکر و مشورت و ... تصمیم گرفتم کنکور بدم. خروجی کار اون چیزی شد که خودم از اول دوست داشتم (تجارت الکترونیک - امیرکبیر) که شاید بعدا در موردش بنویسم. ولی فعلا می‌خوام از نگاه خودم دلایل این انتخاب رو بگم. فکر کنم بخش اصلی این تصمیم رو مدیون ایمیل یه دوست (هادی بنایی عزیز) هستم که ازش اجازه گرفتم تا بخش‌هایی از ایمیلش رو در این پست بیارم.ورودی دانشگاه امیرکبیربیشتر افراد دانشگاه رو با کار کردن ویا استارتاپ زدن مقایسه می‌کنند، من هم در خیلی از بخش‌ها سعی کردم با این دوتا مقایسه کنم و بگم چرا اونقدری هم که تبلیغ میشه یادگیری در یک محیط آکادمیک افتضاح نیست. (به نظرم یک زمانی به‌صورت افراطی تبلیغ مفید بودن دانشگاه شده و الان داره عکس اون اتفاق می‌افته)۱- ایمیل تاثیرگذارارشد خوندن چقدر زمان میگیره از آدم؟نسبت به کارشناسی زمان بیشتری میگیره یا کمری؟بسته به جاش و استادت فرق می‌کنه، ولی من دوران ارشدم رو هفته‌ای دو روز می‌رفتم دانشگاه و بقیه‌اش رو شرکت بودم. کارم تو شرکت بزینسی و مدیریتی نبود، بنابراین گیر نبودم، اما به‌جاش خیلی چیز یاد گرفتم. در کنارش اما به‌شدت خوشحالم که تو فصای آکادمیک بودم هنوز. حتما ارشد کمتر از کارشناسی وقت می‌گیره یا حداقل وقتت تلف نمی‌شه و چیز یاد می‌گیری (فکرکنم :ي)چقدر دانشی که توی ارشد خوندید جالب و هیجان انگیزه؟مثلا کارشناسی اونقدر چیز جالبی نبود، این قضیه توی ارشد عوض میشه که خیلی تخصصی بشه دانش؟ارشد یه کم بهتره از کارشناسی، به‌شرطی که دوست داشته باشی فیلد رو و البته اهل درگیر شدن با مساله باشی (که می‌دونم هستی). منظورم این نیست که حالت خسته‌کننده‌ی بحث‌های علمی بیاد تو ذهنت. ارشد به‌نظرم جاییه که خودت می‌تونی قالب کاریش رو تعریف کنی و توش جولان بدی. مثلا از استاد راهنمات بخوای رو تزی کار کنی که خودت می‌خوای :)به شخصه از مسیر آکادمیک که رفتید راضی اید یا اگه جای من بودید راه دیگه رو انتخاب می کردید؟به‌شخصه راضی‌ام. الان که اپلای کردم و اومدم سوئد هم بیشتر راضی‌ام. ببین نگران دنیای بازار کار نباش. تو توش قرار می‌گیری (اگه دور نشی ازش). ولی حیفه دنیای آکادمیک رو ترک کنی. بمون خودت اون جوری که می‌خوای بسازش. دیگه تو ارشد قرار نیست چیزی بهت دیکته بشه (به‌جز یه چند تا کورس) بقیه‌اش مطالعه و تحقیقیه که خودت پر و بالش می‌دی.علاقه من به تولید چیزهای جدید و خلاقانه ای است که بشه به پول تبدیلشون کرد، ادامه دانشگاه چقدر این مسیر رو هموار می کنه؟( از لحاظ اعتبار، لینک ها، دانش و چیزهای دیگه)حتما ادامه‌ی دانشگاه همه‌ی فرصت‌های ایده‌پردازی، خلاقیت و تولید رو بالا می‌بره. ببین اگه نگاهت اینه که بیای خارج از ایران به طور حتم این تحصیلاته که می‌تونه برای تو فرصت، فضا و امکان ورود به دنیای خلاقانه‌ی بازار آی‌تی رو فراه کنه. من دوستای خفنی داشتم تو ایران که خوره‌ی این‌شکل کارا بودن، حوب بعد کارشناسی رفتن یه شرکتی و یا هزار ایده‌ی خوابیده و خاک خورده. پس برای تویی که مست ایده‌ها و کارای این‌شکلی هستی حتما درس خوندن سکوی پرتابه.ببین کلا نکته‌ای که شاید من دیدم تو دوستام و تجربه کردم اینه که برای ورود به بازار کار (تمام وقت، با همه‌ی بحث‌های بزینسی‌اش) هیچ‌وقت دیر نیست. اما برای تجربه کردن و فهمیدن علمی و آکادمیک علوم کامپیوتر شاید فرصتش از دست بره. یعنی ممکنه جوری درگیر کار بشی که فلسفه‌ی دوست‌داشتنی پشت علوم کامپیوتر رو یاد نگیری، یا وقت نکنی که باهاش درگیر شی. این نگاه آکادمیکیکه می‌گم مستقل از اینه که مثلا لایه‌های شبکه رو تو دانشگاه یاد بگیری یا خودت توی شرکت اپلایش کنی یا تو یه فروم تو خونه بخونیش (که منم قبول دارم فرم دانشگاه چرته) . ولی این دانشگاه و درگیری با مباحث پایه است که بهت درست فکر کردن و ایده زدن اصولی و الگوریتمیک رو یاد می‌ده.۲- کارآفرینی و دانشگاه (همون استارتاپ زدن در مقایسه با درس خوندن)اول از همه این جو کارآفرینی که هست جالبه، به‌شرطی که درگیر نمایش‌ و برندسازی‌های شخصی دیگران نشیم. راحت‌ترین اتفاق برای اینکه بهمون بگند سردار کارآفرینی ایران برگزاری همایش هست. صحبت کردن با چندتا شرکت برای اسپانسر شدن، درست کردن سایت برای ثبت‌نام و پول گرفتن و در نهایت وبلاگ نویسی و ترجمه کردن چندتا مقاله زرد در مورد کارآفرینی. فکر نمی‌کنم کسی که مصداق کارآفرین باشه فرصت چنین کارهایی رو داشته باشه.پ.ن۱: البته بی‌انصافیه همه رویدادهایی رو که هست اینطوری ببینیم، مثلا استارتاپ‌گرایند یکی از اونایی که ارزش رفتن رو دارهپ.ن۲: اکثر رویدادهایی که برای خودم خروجی خوبی داشته رایگان بوده، مثل جلسه‌های لاگدوتا از دیالوگ‌هایی که خودم زیاد در موردش شنیدم یا خوندم رو در ادامه آوردم:۳۳٪ از کارآفرین‌ها تحصیلات دانشگاهی ندارنداین یکی از دیالوگ‌هایی که خیلی شعارگونه برای تبلیغ کارآفرینی گفته میشه، نمی‌دونم چرا کسی به این نکته نگاه نمی‌کنه که پس ۶۶% از کارآفرین‌ها تحصیلات دانشگاهیی دارند و اگه این نکته رو هم مد نظر بگیریم که تو خود کالیفرنیا هم فقط ۹٪ از دانش‌آموزها میرند دانشگاه، ارتباط اینکه چقدر احتمال کارآفرینی با دانشگاه رفتن بیشتر میشه رو درک می‌کنیم.دانشگاه چیزی برای یاد دادن نداره، استادها بی‌سوادند و هرچیزی که لازم باشه یاد بگیرم تو اینترنت هستاین قضیه تا حدی درسته و تا حدی غلط. من توی محیط کار دارم از AngularJS استفاده می‌کنم، دلیلی نداره استاد دانشگاه در موردش بدونه. این بر می‌گرده به تفاوت بین علم و تکنولوژی. ما تو محیط کار از تکنولوژی پول می‌سازیم، ولی دانشگاه قراره علم رو یاد بده و علم تولید کنه، مثلا برای خود من دونستن اینکه کامپایلر چطور کار می‌کنه خیلی هیجان انگیزتر از دونستن سینتکس یک زبون برنامه نویسی جدیده. (البته صرفا دونستن این چیزها هم خیلی مسخرست، ولی وقتی داری کد می‌زنی و می‌فهمی که چه اتفاقی داره‌ می‌افته خیلی لذت بخش تره)یک نکته دیگه که در مورد استارتاپ‌ها به‌نظرم می‌رسه عوض شدن فضای کلی اون‌هاست. به‌نظرم کم‌کم عمر مدل استارپاپ‌هایی که تجارت رو فقط آنلاین می‌کنند داره تموم می‌شه و به یک فضای اشباع شده‌ای رسیده(البته نه در ایران)، و هر روز استارتاپ‌ها علمی‌تر از قبل می‌شند، یعنی سعی می‌کنند نه فقط یک تجارت رو آنلاین کنند، بلکه خیلی قسمت‌هایی که به هوش نیاز داشته رو به هوش مصنوعی یا ... بسپارند. مثلا تسلا یا spaceX و هزارتا از استارتاپ‌های دیگه‌ای که هر روز قوی‌تر می‌شند خیلی علمی‌تر از یک فروشگاه اینترنتی یا سایت آپلود ویدئو و عکسه.یک ماه گذشته دانشگاه برای خود من بسیار جذاب بوده، چیزهای زیادی یاد گرفتم که می‌تونستم بیرون از دانشگاه هم یاد بگیرم، ولی احتمالا هیچ وقت سراغش نمی‌رفتم یا خیلی سخت پیداشون می‌کردم. حالت بهینه‌ای که الان فکر‌ می‌کنم درسته یک حالت میانه بین تکنولوژی و علمه. یعنی صرفا نه یک آدم آکادمیک باشم نه کسی که فقط دنبال مقایسه AngularJS و EmberJS باشه. اگر شما کسی باشید که علم رو به تکنولوژی تبدیل کنید، احتمالا بتونید استارتاپ خوبی بزنید یا تکنولوژیتون رو بفروشید یا در شرکت فوق‌العاده کار کنید.پ.ن۳: احتمالا بعدا هم ادامه این پست رو بنویسم، فعلا همین هم خیلی طولانی شد.پ.ن۴:این پست صرفا نظرات شخصی من بود، هیچ اثبات ریاضی‌ای نیست براش و شاید در آینده نظرم عوض شد و گفتم اشتباه می‌کردم!پ.ن۵: حدود دو سال بعد از این نوشته نظرم در موردش کاملا متفاوته! </description>
                <category>معین حسینی منش</category>
                <author>معین حسینی منش</author>
                <pubDate>Fri, 22 Jun 2018 21:39:51 +0430</pubDate>
            </item>
                    <item>
                <title>حریم خصوصی و قبض تلفن همراه</title>
                <link>https://virgool.io/@moein7tl/%D8%AD%D8%B1%DB%8C%D9%85-%D8%AE%D8%B5%D9%88%D8%B5%DB%8C-%D9%88-%D9%82%D8%A8%D8%B6-%D8%AA%D9%84%D9%81%D9%86-%D9%87%D9%85%D8%B1%D8%A7%D9%87-vwagtlbzdr4b</link>
                <description>محتوی این نوشته برای مرداد ۱۳۹۴ است که به دلیل انتقال وبلاگم به ویرگول دوباره بازنشر می‌کنم.حریم خصوصی یک موضوع کاملا جدی برای اکثر آدم هاست،هر کسی بخش های از زندگیش هست که به هیچ عنوان دوست نداره بقیه در مورد اطلاع داشته باشند.اینکه من به چه کسایی ایمیل ، تلفن و یا sms زدم یک مساله خیلی خصوصی برای من هست.یادمه وقتی دبیرستان بودم کتابی می خوندم که یکی از فصل هاش در مورد جنگ سال ۱۹۴۸ بین اعراب و اسرائیل بود. قضیه از این قرار بوده که اسرائیل می دونسته قراره بهش حمله بشه،ولی از زمان دقیق خبر نداشته.برای همین یکی از جاسوس های اسرائیل خونه رو جلوی وزارت دفاع سوریه اجاره می کنه و هر شب تعداد اتاق هایی که چراغشون روشن بوده رو می شمرده.یک شب که تعداد چراغ های روشن خیلی بیشتر از بقیه شب ها میشه متوجه نزدیکی حمله میشه و ...عکس از ویکی‌پدیاحالا قضیه قبض موبایل هم همینطوره،شاید چیز خیلی خصوصی ای نباشه،ولی به هر حال داره اطلاعات زیادی از تحرکات اشخاص میده،اینکه قبض میان دوره و یا پایان دوره هر کس چقدر بوده. یک مدتی هست که سرویس های USSD راه افتادند،نمونه هاش هم کم نیستند، مثلا #780* یا #733* یا #724* و ... و همه این سرویس ها هم پرداخت قبض دارند که میشه با وارد کردن شماره موبایل هر شخصی قبض میان دوره و پایان دورش رو دید.راه حل منطقی ( البته اگر برای شما هم مثل من این قضیه چیزی زیر مجموعه حریم خصوصی حساب میشه ) اینکه هر کس بتونه فقط با شماره ای که به USSD متصل میشه قبض همون شماره رو مشاهده و پرداخت کنه و یا اینکه از خط های اعتباری استفاده کنیم.از ۷۳۳ برای گرفتن قبض میان دوره و پایان دوره یه بنده خدایی که نمی شناسمش و دو عدد آخر شماره تلفنش رو هم خط خطی کردم.
</description>
                <category>معین حسینی منش</category>
                <author>معین حسینی منش</author>
                <pubDate>Fri, 22 Jun 2018 17:49:07 +0430</pubDate>
            </item>
                    <item>
                <title>تجربیات من از بازار بورس - بخش دوم</title>
                <link>https://virgool.io/@moein7tl/%D8%AA%D8%AC%D8%B1%D8%A8%DB%8C%D8%A7%D8%AA-%D9%85%D9%86-%D8%A7%D8%B2-%D8%A8%D8%A7%D8%B2%D8%A7%D8%B1-%D8%A8%D9%88%D8%B1%D8%B3-%D8%A8%D8%AE%D8%B4-%D8%AF%D9%88%D9%85-a8zpqhylxzww</link>
                <description>محتوی این نوشته برای اسفند ۱۳۹۲ است که به دلیل انتقال وبلاگم به ویرگول دوباره بازنشر می‌کنم.خیلی وقت بود که دوست داشتم بخش دوم رو بنویسم، ولی اصلا فرصتش نمی شد چون درگیر دانشگاه، محل کار و یه پروژه بودم و به همه اینها باید رفت و آمد تهران-کرج رو هم اضافه کرد که واقعا عذاب آوره!تحلیل ها:دو نوع تحلیل در بورس وجود داره، تحلیل بنیادی و تحلیل تکنیکال. تحلیل بنیادی بر اساس منطق کار می کنه و تحلیل تکنیکال یه جورایی بر اساس آمار و ریاضیات.در کل تحلیل هایی که بر اساس رابطه علت و معلول استوار هستند رو بنیادی می گند،مثلا با توجه به افزایش نرخ خوراک پتروشیمی ها، پس باید سهام اونها افت داشته باشه و از این دست تحلیل ها. در صورتی که کسی اطلاعات کاملی از مدل اقتصادی و … و همینطور اطلاعات بروزی از اوضاع فعلی اقتصادی، سیاسی و اجتماعی داشته باشه می تونه خیلی خوب این نوع تحلیل رو انجام بده.تحلیل تکنیکال بیشتر بر اساس ریاضیات، نمودارها و تجربیات قبلی بورسی ها هست، مثلا نوعی نمودار به اسم نمودار شمعی هست که مثل اینکه اختراع قدیمی یک ژاپنی هست برای اینکه بفهمه قیمت برج چطور میشه. مثلا جایی که چکش وارونه تشکیل بشه انتظار تغییر جهت قیمت میره. تحلیل تکنیکالخوب مسلما هر دو نوع تحلیل خیلی کاملتر از این چیزی هست که من گفتم و من هم خیلی کمتر از چیزی که یک حرفه ای اقتصادی بلده، بلدم.سایت های ارائه دهنده تحلیل و …سایت های زیادی هستند که تحلیل ارائه می کنند و می گند فلان چیز رو بخرید و نخرید و ….من این اشتباه رو انجام دادم و دو بار از تحلیل یکیشون استفاده کردم که هم تحلیل تکنیکال ارائه می کرد و هم تحلیل بنیادی برای سبد سهام. معمولا تحلیل ها و … این گروه از دوستان درست از آب در نمیاد، چون اگر مطمئن بود با اون میزانی که میگه سوددهی داره سبد سهام، مطمئن باشید فرش زیر پاش رو هم می فروخت و سهام می خرید و هیچ وقت هم به من و شما تحلیل ارائه نمی کرد. البته خوندن تحلیلشون خوبه و شاید آدم رو حرفه ای تر کنه.نفتی ها:در کل چیزی که من در بورس توجه من رو خیلی جلب کرد، سهام نفتی ها بود. نفت چیزیه که اقتصاد یک کشور روش بنا شده، پس می شه گفت یک سهام کم خطره چون حمایت دولت رو هم داره.به نظر من اگر یک سهام رو می خواهید برای بلند مدت نگه دارید حتما روی نفتی ها فکر کنید، چون بنیه خوبی دارند.دیگر مطالب:نزدیک ونک ، خیابانی که به سمت دانشکده مکانیک خواجه نصیر میره ( اسم خیابان رو بلد نیستم ) یک فروشگاه کتاب هست که فقط کتاب های اقتصادی و … می فروشه، من فرصت نشده برم، ولی حتما قبل از عید یک سری می زنم و ازش چندتا کتاب خود برای تحلیل های بورس می خرم.فکر می کنم مطالب سایت تالار مجازی بورس ایران خیلی خوب و مفید باشه،هم مطالبش و هم سطل شن سایت که به شما ۱۰ میلیون تومان اعتبار مجازی میده و شما با توجه به خرید و فروش های اون روز شروع به بازی می کنید و در آخر می بیند که سود کردید یا نه!همینطور در مورد فلسفه بورس و ... هم انیمیشن های خیلی خوبی داره.</description>
                <category>معین حسینی منش</category>
                <author>معین حسینی منش</author>
                <pubDate>Fri, 22 Jun 2018 17:42:16 +0430</pubDate>
            </item>
                    <item>
                <title>تجربیات من از بازار بورس - بخش اول</title>
                <link>https://virgool.io/@moein7tl/%D8%AA%D8%AC%D8%B1%D8%A8%DB%8C%D8%A7%D8%AA-%D9%85%D9%86-%D8%A7%D8%B2-%D8%A8%D8%A7%D8%B2%D8%A7%D8%B1-%D8%A8%D9%88%D8%B1%D8%B3-%D8%A8%D8%AE%D8%B4-%D8%A7%D9%88%D9%84-ak0uvknp04ob</link>
                <description>محتوی این نوشته برای آذر ۱۳۹۲ است که به دلیل انتقال وبلاگم به ویرگول دوباره بازنشر می‌کنم.ده روز پیش یک پست در مورد پولدار شدن تصاعدی گذاشتم، اونجا نوشتم که اگر من یک میلیون تومان داشته باشم و بتونم هرماه ۱۰٪  به سرمایه ماه قبلم اضافه کنم در مدت ۱۰ سال یک میلیون من تبدیل میشه به ۹۲ میلیارد     !      WoooooooWخوب این ایده وقتی به ذهنم رسید که واقعا تونستم روی یک میلیون تومان در یک ماه صد هزارتومان سود کنم، پس من حساب کردم که اگر هر ماه بتونم این کارو تکرار کنم ۱۰ ساله دیگه چقدر پول دارم؟بعد از چند روز کلنجار رفتن با خودم تصمیم گرفتم که این نوع معامله و پول درآوردن رو بذارم کنار. از نظر سرمایه گذاری در بورس با بورس بازی خیلی متفاوته، چیزی که من رو اذیت می کرد ماهیت بورس بازی بود و نه سرمایه گذاری در بورس. برای اینکه دلایلم رو توضیح بدم اول می خوام کمی در مورد خود بورس، نحوه سرمایه گذاری و … توضیح بدم.هدف اصلی بورس  جمع کردن پول در حجم های مختلف از افراد مختلف برای یک کار تولیدی مفید و امکان تقسیم و کم کردن ریسک در سرمایه گذاری هست. به خودی خود این قضیه خیلی مفیده، پول های خورد وارد بازار تولید میشه،نقدینگی پایین میاد به طبعش شغل ایجاد میشه ، تورم میاد پایین و به طبع همه این ها کلی اتفاق مثبت دیگه می افتد و شاید اتفاق مهمش سود خوب اون در صورت سرمایه گذاری درست هست. ( هیچ بانکی یک میلیون تومن من رو در عرض یک ماه نمی تونست تبدیل به یک میلیون و صد هزار تومان کنه )خوب اینهمه چیز خوب، پس چرا سرمایه گذاری توی بورس اینقدر کمه؟ به نظرم چون اطلاعات خوب و راحتی در موردش نیست! موقعی که می خواستم شروع به سرمایه گذاری در بورس کنم واقعا نتونستم اطلاعات خوبی پیدا کنم در مورد اینکه چطور باید شروع کرد! مشکل در شروع کار هست و خیلی هم کم از ترس از دست دادن سرمایه، همین باعث میشه که خیلی پول ها به سمت خرید سرازیر بشند یا در بهترین حالت پول ها به سمت بانک رونه می شند.(بانک ها هم که دلال های بزرگ این روزگارند)خوب من اول توضیح می دم که چطور میشه در بورس خیلی راحت سرمایه گذاری کرد، بعد در مورد اینکه چرا سرمایه گذاری در بورس خوبه، ولی بورس بازی (دلالی بورسی) خوب نیست توضیح می دم. اگر فکر کنم این پست می تونه مفید باشه برای اینکه پول ها به سمت بازار بورس رونه بشند حتما از یکسری تجربیات خودم می گم در مورد اینکه چطور سهام پور سودتری رو انتخاب کنیم و روش سرمایه گذاری کنیم.شروع بازار بورس:بورس در حقیقت چیزی نیست جز یک برنامه کامپیوتری که یکسری اولویت رو برای خرید و فروش رعایت می کنه، ولی بگذارید بهتر توضیح بدم.یک سازمانی وجود داره به بانک سازمان بورس اوراق بهادار، هر شخصی که می خواد سرمایه گذاری کنه یک کد بورس دریافت می کنه و در بانک اطلاعاتی سازمان بورس همه اطلاعات شما هست، تاریخچه معاملات، دارایی های فعلی بورسی و …نکته ای مهمه اینکه شما نمی تونید مستقیم در خود بازار بورس خرید و فروش کنید، یک واسطه ای این وسط هست به اسم شرکت کارگزاری که ناظر هست بر معاملات شما. در کل فکر می کنم حدود ۱۴ شرکت کارگزاری وجود داره، شما با یکی از این شرکت ها قرارداد می بندید، اون شرکت مشخصات شما رو به بورس اعلام می کنه و براتون کد بورسی دریافت می کنه.موقع خرید یا فروش هم این شرکت های کارگزاری هستند که در خواست خرید یا فروش شما رو در سیستم بورس ثبت می کنند.?تابلو بورساون تابلوهای بزرگی که می بینم و قیمت رو نشون میدند دارند مظنه خرید،فروش و قیمت آخرین معامله رو نشون می دند، بعد سرمایه گذار (شما) در خواست می دید که یک سهام رو بخرید یا بفروشید. در ایام قدیم تر شما برای خرید باید وجهتون رو به حساب کارگزار واریز می کردید، بعد شماره فیش رو اعلام می کردید و پول شما می شد اعتبارتون پیش کارگزار.بعد از اون برای خرید یا فروش یک برگه پر می کردید که به کارگزار اعلام می کردید قصد دارید چه سهامی رو با چه قیمتی و چه تعدادی بخرید یا بفروشید.کارگزار درخواست شما رو در سامانه ثبت معاملات آنلاین بورس ثبت می کرد. البته این روش هنوز هم هست و بعضی ها اینطوری معامله می کنند.راه دیگه خرید و فروش در بورس معاملات تلفنی هست، یعنی شما یک رمز گویا دریافت می کنید، بعد با کارگزار تماس میگیرد و با اعلام اون کد (که میشه پسورد شما) درخواست خرید یا فروش یک سهام رو می دید تا کارگزار اون رو ثبت کند.خرید حدودا ۰.۵ درصد و فروش ۱ درصد کارمزد داره که البته بخشی کارمزد است، بخشی مالیات و ….راه بهتر:راه حل بهتری برای خرید و فروش نوع آنلاین اون هست ، یعنی خیلی راحت اینترنتی شما درخواستتون رو ثبت می کنید و همون لحظه ارسال میشه از طرف کارگزار به بورس و خرید یا فروش خیلی راحت تر انجام میشه.خوب این ماهیت و چگونگی کار کردن بورس بود، برای اینکه شما کد بورسی دریافت کنید اول باید بریم سراغ یک کارگزار، قرارداد ببندید و بعد از اون هم بقیه کارها رو کارگزار انجام میده.من با کارگزاری مفید کار کردم، چون از لحاظ خدمات آنلاین خیلی خوب هست ، حتی برای اندروید هم نرم افزار موبایل تریدر داره که میتونید با گوشی خرید و فروشتون رو انجام بدید. ثبت قرارداد هم خیلی راحت هست توی کارگزاری مفید، اینترنتی ثبت نام می کنید، قرارداد رو دانلود می کنید، پرینت میگیرید ، امضا می کنید و می برید یکی از دفترهاشون، در صورتی که بخواهید بصورت آنلاین خرید و فروش کنید یک امتحان ده سوالی ازتون میگیرند که سطح سوادتون در مورد بازار بورس رو بدونند، البته اصلا مهم نیست و برای من رو که اصلا صحیح نکردند.حدود یک هفته بعد تمام اطلاعات مورد نیاز برای خرید و فروش رو بهتون ایمیل می کنند ( username و password هارو ) . حالا موقع خرید و فروشه!!!برای خرید شما می تونید حسابتون رو شارژ کنید، مثل موقعی که یک خرید اینترنتی انجام میدید، مثل موقعی که پول رو میریزید به حساب کارگزار،بعد شماره فیش اون رو ثبت می کنید یا یک حساب در بانک ملت یا سامان باز کنید، یک جوری سطح دسترسی خاص به کارگزار(مفید) میدید، موقعی که درخواست یک خرید رو میدید پول در حساب شما میمونه، ولی بلوکه میشه، در صورتی که خرید انجام شه ، اون پول از حسابتون کسر میشه، در غیر اینصورت پول بلوکه شده آزاد میشه.فکر می کنم برای شروع بس باشه، اگر خواستید از مفید استفاده کنید سایتش هستwww.emofid.com برای ثبت نام و …حالا بخش دوم، چرا بورس بازی رو دوست ندارم:سرمایه گذاری در بورس واقعا مفیده، از خرید و فروش روزانه هم میشه خوب پول درآورد و یا خوب پول از دست داد، این همون دلیلی که من دوستش ندارم، وقتی من دارم پولم رو میبرم به بازار بورس ، من دارم سرمایه گذاری می کنم، ولی وقتی دارم با اون پول مدام یکسری سهام رو می خرم و یا می فروشم عملا کاری نمی کنم جز شرط بستن روی قیمت یک سهام.این دقیقا به این معنی هست که امروز من سهامی رو خریدم، فردا با قیمت بالاتری می فروشم، مسلما کسی که دیروز این سهام رو به من فروخته ناراحته و من خوشحالم که سود کردم، برعکس این حالت هم هست، این یعنی به ازای خوشحال شدن شخصی،شخص دیگه ای ناراحت میشه، در حقیقت من از سرمایه گذاری پول در نمی یارم، بلکه درصدی به پولم از جیب شخص(اشخاص) دیگه اضافه می کنم  یا یک پولی رو به این صورت از دست می دم. نکته مهم و بد این اتفاق اینکه من هیچ کار مفیدی انجام ندادم!وقتی قیمت دلار رفت بالا یکسری پیشمون بودند که چرا دلار نخریدند، یکسری خوشحال بودند و یکسری دیگه ناراحت که چرا دلار هارو فروختند ، در بورس بازی هم دلار جای خودش رو به بورس دادهمن این نوع پول درآوردن رو دوست ندارم، هرچند هم راحت هست و هم پر سود.ولی باور کنید اونقدر پولش نچسب بود که یک اصفهانی تونسته ازش بگذره.</description>
                <category>معین حسینی منش</category>
                <author>معین حسینی منش</author>
                <pubDate>Fri, 22 Jun 2018 17:39:43 +0430</pubDate>
            </item>
                    <item>
                <title>بافر و کش در لینوکس</title>
                <link>https://virgool.io/@moein7tl/linux-buffer-cache-eoz1fka3ldll</link>
                <description>محتوی این نوشته برای مرداد ۱۳۹۴ است که به دلیل انتقال وبلاگم به ویرگول دوباره بازنشر می‌کنم.خواندن اطلاعات از دیسک سخت (به طور معمول هارد دیسک) از حافظه رم کندتره و بنابر اصل دسترسی محلی احتمال دسترسی به بخشی که تازه مورد دسترسی بوده بسیار بیشتر. پس سیستم عامل سعی می کنه بلاکی که به تازگی مورد دسترسی قرار گرفته در دیسک سخت رو در حافظه رم کش کنه.اسم این کار بافر کردن دیسک و به فضایی که در رم میگیره بافر کشمی گند. چون فضای بافرکش رو نمیشه خیلی زیاد در نظر گرفت،باید قسمت هایی که جدید بهشون دسترسی نداشتیم رو حذف کنیم و در اختیار بلاک های جدید بگذاریم.تا اینجا ما فقط قصد داشتیم از فضای بافر کش بخونیم،ولی ممکنه روی اون بنویسم. موقعی که دستور write کردن روی فضای هارد به سیستم عامل داده میشه،ممکنه از نظر کاربر این نوشتن انجام شده باشه،ولی واقعا چیزی روی دیسک سخت نوشته نشده باشه.این به معنی اینکه سیستم عامل تصمیم گرفته برای بهبود کارایی روی فضای بافر کش در رم تغییرات رو انجام بده و بعدا بصورت یکجا برای نوشتن به سراغ دیسک سخت بره. وقتی اطلاعات روی بافرکش و دیسک سخت (هارد) یکی نباشند،به بافر کش ،بافرکش کثیف می گند.به این روشwrite-back می گند.البته ممکن بصورت همزمان هم تغییرات روی هارد نوشته شه،که بهش write-through می گند که کارایی کمتر داره،ولی در صورت وجود خطا (مثلا قطع برق،خاموش کردن سیستم بدون سیستم عامل و ... ) اطلاعاتی که ذخیره کردیم نابود نمی شند.freeroot@Moein:~# free -m
             total       used       free     shared    buffers     cached
Mem:          5890       3465       2424        393        139       1436
-/+ buffers/cache:       1889       4000
Swap:        11445          0      11445با استفاده از free میشه حافظه بافرکش مورد استفاده و آزاد رو دید.syncsync باعث نوشتن بافرکش ها روی دیسک سخت میشه،در unix هر ۳۰ ثانیه sync اجرا میشد که بعضی وقت ها به دلیل حجم زیاد write دیسک رو کند می کرده،در لینوکس از bdflush استفاده می شه که فرکانس صدا زدنش سریعتره.Vmtouchاز Vmtouch هم میشه برای کنترل و مشاهده بافرکش استفاده کرد،ولی بصورت پیش فرض نصب نیست و باید خودتون make کنید.root@Moein:/home/moein/Desktop# vmtouch -t .
           Files: 108
     Directories: 10
   Touched Pages: 87627 (342M)
         Elapsed: 8.8299 secondsالبته تعداد آرگومان های زیادی رو به عنوان ورودی میگیره که من خیلی در خوندنش دقیق نشدم.سیگنال دادن به کرنلبرای سیگنال دادن به کرنل در مورد سیاست هاش در کار با بافرکش باید در فایل  /proc/sys/vm/drop_caches نوشتن.سیگنال ۱:نوشتن صفحات کش شده و آزاد کردن حافظه بافر کشسیگنال ۲:نوشتن inode های کش شده و آزاد کردن حافظه بافر کشسیگنال ۳:نوشتن صفحات کش شده + نوشتن inode های کش شده و آزاد کردن حافظه بافر کشroot@Moein:~# free &amp;&amp; sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
             total       used       free     shared    buffers     cached
Mem:       6031620    4197420    1834200     432396     148008    1869120
-/+ buffers/cache:    2180292    3851328
Swap:     11720700          0   11720700
             total       used       free     shared    buffers     cached
Mem:       6031620    2834956    3196664     431620       1284     746008
-/+ buffers/cache:    2087664    3943956
Swap:     11720700          0   11720700bdflushیک daemon سطح کرنله که مکرر sync و flush رو صدا می زنه.برای هر صفحه در حافظه بافر کش یک بیت به اسم بیت کثیف(dirty bit) وجود داره که با اولین نوشتن روی اون صفحه در بافر کش این بیت ۱ میشه. بعد از گذشتن عمر یک صفحه اون رو می نویسه،یعنی مدتی که بعد از گذشتن ۳۰ ثانیه از ۱ شدن بیت کثیف برای صفحه داده ها و گذشت ۵ ثانیه از ۱ شدن بیت کثیف برای صفحه فراداده ها(meta data).اعداد پیش فرض سیستم هستند و میشه تغییرشون داد.البته یک daemon دیگه هم از bdflush وجود داره که بعد از رسیدن به حد آستانه شروع به نوشتن صفحات در دیسک می کنه.باز هم بصورت پیش فرض ۶۰٪ از فضای بافرکش. و البته کل فضای بافرکش بصورت پویا توسط سیستم عامل و با توجه به فضایی مورد نیاز بقیه برنامه های در حال اجرا تعیین میشه.</description>
                <category>معین حسینی منش</category>
                <author>معین حسینی منش</author>
                <pubDate>Fri, 22 Jun 2018 17:33:50 +0430</pubDate>
            </item>
                    <item>
                <title>رمزنگاری DNS</title>
                <link>https://virgool.io/@moein7tl/dns-encryption-jmb7zg2nzui4</link>
                <description>محتوی این نوشته برای مرداد ۱۳۹۴ است که به دلیل انتقال وبلاگم به ویرگول دوباره بازنشر می‌کنم.چند وقت پیش متوجه شدم که آسیاتک داده های DNS رو دستکاری می کنه و خوب DNS هم اصلا امن طراحی نشده.جدای از مسائلی که آیا آسیاتک حق داره داده ها رو دستکاری کنه یا نه،قضیه امنیت اطلاعات من پیش میاد.چون ممکنه خیلی راحت از طرف خود ISP مورد فیشینگ قرار بگیرم.مثلا آدرس facebook.com به ip پیوندها ترجمه میشه،و اصلا مهم نیست که من از چه سروری درخواست ترجمه رو بکنم.$ nslookup facebook.com 8.8.8.8
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
Name:	facebook.com
Address: 10.10.34.34پروتکل DNS بصورت پیش فرض از رمزنگاری پشتیبانی نمی کنه،مگر اینکه خود شما دست به کار بشید.در حال حاضر من دارم از dnscrypto استفاده می کنم و سیستم خودم رو تبدیل به یک dns سرور می کنم.نرم افزار dnscrypto درخواست های dns رو بصورت کد شده از سرورهای خودش می خونه و چیزی که تحویل من میده یک dns سرور به عنوان خروجی است.بعد از کامپایل و نصب با دستور  dnscrypt-proxy --daemonize اجرا میشه و بعد باید در فایل  /etc/resolve.conf  nameserver اصلی رو به ۱۲۷٫۰٫۰٫۱ تغییر بدید.در نهایت حداقل خیالتون از dns ها راحته.nslookup facebook.com 127.0.0.1
Server:		127.0.0.1
Address:	127.0.0.1#53
 
Non-authoritative answer:
Name:	facebook.com
Address: 173.252.110.27</description>
                <category>معین حسینی منش</category>
                <author>معین حسینی منش</author>
                <pubDate>Fri, 22 Jun 2018 17:29:30 +0430</pubDate>
            </item>
                    <item>
                <title>داکر چطور کار می کند؟</title>
                <link>https://virgool.io/@moein7tl/how-docker-works-s6ecowxoi3rv</link>
                <description>محتوی این نوشته برای تیر ۱۳۹۴ است که به دلیل انتقال وبلاگم به ویرگول دوباره بازنشر می‌کنم.یکی از تکنولوژی های جدیدی که خیلی لینوکسی ها در موردش صحبت می کنند و دوستش دارند داکره،من هم چند وقت پیش کمی در مورد اینکه واقعا چیه و چطوریه خوندم و فکر می کنم بد نباشه اینجا بنویسم. https://www.docker.com/ بطور خلاصه داکر یک مجازی سازی سبک وزنه،خیلی سبک وزن تر از محصولات قبلی مثل VMware و ...احتمالا نیگاه کردن به این اسلاید برای بحث بد نباشه و بتونید دلایل وجود چنین چیزی رو متوجه بشید.در اینکه مجازی سازی واقعا چجوری کار می کنه چیزهای فوق العاده ای هست،مثلا trap-and-emulate و اینکه چطوری بازده رو تا این حد بالا نگه می دارد.ولی در مورد داکر!یکی از دلایل کندی روش های مجازی سازی قبلی وجود کرنل سیستم عامل مهمان بود،مثلا من روی سیستم عامل Debian مجازی ساز نصب می کنم و سیستم مجازی کی درست می کنم از centos داره استفاده می کنه،خوب کرنل برای سیستم عامل مجازی هم load شده و همین باعث overhead میشه،راه حل استفاده از کرنل سیستم عامل میزبان هست.این کارو میشه با LXC انجام داد،یعنی مجازی سازی که از کرنل مشترک استفاده می کنه و پشتیبان های خوبی مثل گوگل و IBM و ... داره،ولی ممکنه LXC Container رو نشه همه جاهایی که LXC نصب باشه اجرا کرد، بعضی جاها کمی وابسته به محیط عمل می کنه.مشکلی که Docker حل کرده دقیقا همینجاست،یعنی طراحی یک نوع API که همه جا یکی و Docker Container رو میشه روی تمام سیستم هایی که Docker نصب هست اجرا کرد.نسخه های اولیه داکر از LXC استفاده می کردند،ولی مثل اینکه نسخه های فعلی با موتوری که خودشون توسعه دادند جایگزین شده.ولی اینکه دقیقا چطوری کار می کنه؟برای این قضیه با از قبل ۴ تا قابلیت رو در مورد لینوکس بدونیم.۱-Kernel Namespacesاین قابلیت باعث میشه فرضی که یک process از PID خودش داره با چیزی که واقعا هست متفاوت باشه،مثلا وقتی getid رو یک process صدا میزنه یک id بگیره،در صورتی که واقعا id متفاوتی در سیستم میزبان داره.بطور مثال PID پردازش /sbin/init همیشه باید ۱ باشه،ولی من می تونم یک process دیگه ازش اینجا کنم که PID مخالف ۱ داشته باشه،ولی خودش و تمام fork هایی که ایجاد می شند یا subprocess ها PID این پردازش رو ۱ بدونند.$ ps -eaf
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Jun24 ?        00:00:02 /sbin/init
root         2     0  0 Jun24 ?        00:00:00 [kthreadd]۲ - CGroupCGroup باعث میشه بتونیم میزان منابعی که به هر process اختصاص پیدا می کنه رو محدود کنیم،مثلا فلان پردازش حق استفاده از حداکثر ۱۰٪ توان CPU و ۵۰ مگابایت از حافظه رو داره.(شاید این جواب در stackoverflow بتونه مفید باشه)۳ - Chrootبا Chroot می تونیم بفهمونیم که پوشه ریشه رو برای یک پردازش و همه فرزندهاش کجا باشه،اینکار کمک می کنه که به بقیه فایل ها دسترسی نداشته باشه و فقط توی همون پوشه و زیرپوشه هاش به شن بازی مشغول باشه.(شاید این نوشته بهتر به فهمیدن chroot کمک کنه)۴ - AUFSفرض کنید بتوینم چندتا پوشه رو به یکجا mount کنیم و موقع confilict فایلی که جدیدتره یا دیرتر mount شده رو ببینیم،اینطوری می تونیم به حالت inceramental یا افزایشی یک فایل سیستم داشته باشیم،چیزی که دقیقا داکر داره استفاده میکنه.یعنی پوشه های f1,f2,f3,f4 رو یکجا mount می کنیم و موقع خواندن اگر چیزی که می خواستیم در f4 نبود میریم سراغ f3 ،اگر در f3 نبود،میریم سراغ f2 و به همین ترتیب.موقع نوشتن هم فقط روی لایه بالاتر یا همون f4 می نویسیم.اینطوری می تونیم خیلی راحت لایه هایی رو حذف یا اضافه کنیم.داکر دقیقا از AUFS استفاده می کنه و بعد با mount کردن layer ها یک image درست می کنه،بعد از اون یک لایه دیگه روی اون درست می کنه که تغییراتی که ما اعمال می کنیم،مثلا وقتی apt-get upgrade میزنیم،روی لایه آخر نوشته میشه و با commit کردن اون container باعث میشیم که اون layer ذخیره بشه.امیدوارم کمی مفید بوده باشه و هرجا اشتباه کرده بودم لطفا بهم اطلاع بدید.</description>
                <category>معین حسینی منش</category>
                <author>معین حسینی منش</author>
                <pubDate>Fri, 22 Jun 2018 16:42:37 +0430</pubDate>
            </item>
            </channel>
</rss>