بایگانی برچسب: s

رفتگر دبیان و اصلاح خودکار حدود ۶۰ هزار مشکل ریز در پکیج‌ها

رفتگر دبیان یا همون دبیان جنیتور سیستم اتوماتیکی است برای حل مشکلات ریز در بسته‌هایی که برای مدیر بسته دبیان درست می شن؛ یعنی همون dpkg. این رفتگر به شکل خودکار پیشنهادهای اصلاح رو بررسی می‌کرد و اونهایی که برای نرم افزار هم واضح بودن رو قبول می‌کرد اما حالا یه قدم جلوتر رفته: شخصا مشکلات رو پیدا می‌کنه و بعدش هم اصلاح (:

این سیستم برای بررسی اینکه باید روی کدوم پکیج‌ها کار کنه، اول خروجی lintian رو می‌بینه و بسته‌هایی رو انتخاب می‌کنه که مشکلات بیشتر و حادتری دارن که حلش از عهده خودش برمیاد. وقتی پکیج انتخاب شد، اونو توی رپوزیتوری کلون می‌کنه و بعد لینتین براش رو روش اجرا می‌کنه. این سیستم شامل یکسری اصلاح کننده است که می‌تونن برای مشکلات مختلفی نوشته و اجرا بشن.

این اصلاح کننده ها یا فیکسرها، در واقع یکسری کد هستن که روی یک چک آوت تمیز بسته اجرا می‌شن و می‌تونن توش تغییر ایجاد کنن. اکثرا با شل یا پایتون نوشته شدن ولی چون فایل اجرایی هستن، می تونن هر چیزی باشن. اگر فیکسر با استتوس غیرصفر بیرون اومد، حساب می کنه که به مشکل خورده ولی اگر خروجی اش صفر بود، باید گزارشش رو روی خروجی بنویسه. به عنوان یک نمونه از فیکسر این رو ببینین:

#!/usr/bin/python3

from debmutate.control import ControlEditor
from lintian_brush.fixer import report_result, fixed_lintian_tag

with ControlEditor() as updater:
    for para in updater.paragraphs:
        if para.get("Priority") == "extra":
            para["Priority"] = "optional"
            fixed_lintian_tag(
                para, 'priority-extra-is-replaced-by-priority-optional')

report_result("Change priority extra to priority optional.")

این سیستم تا حالا حدود ۶۰هزار اصلاح روی پکیج های دبیان زده که به نوبه خودش اتفاق خیلی بزرگی است که قبلا با دست و در مقیاسی بسیار کمتر و کندتر و پر خطاتر انجام می‌شد. این نمونه‌ای است از اینکه چطوری می شه کدها رو اتوماتیک کرد و کارهای دستی رو به ماشین ها سپرد. نگرانی خاصی هم برای «از دست رفتن شغل برنامه نویسی» نیست چون همیشه با اینجور پیشرفت ها، افق های جدیدی باز می شن که ما هنوز توشون لازمه کار کنیم. در واقع در اینجور موارد همون اتفاقی می‌افته که با اختراع تراکتور افتاد. آدم ها بیکار نشدن بلکه کشاورزی راحتتر شدن و بقیه رفتن سراغ چیزهای دیگه (:

البته بذارین دو نکته رو هم بگم:

۱. این توضیح در مورد همه اختراعات نیست. واقعا شاید برسیم به جایی که ماشین ها کار کنن ما بخوابیم یا صاحب هامون بخوابن و ما تو خرابه ها دنبال غذا بگردیم (:

۲. اصطلاح رفتگر اصطلاح قشنگی است. الان مد شده بعضی ها می گن «پاکبان»‌ چون ظاهرا احساس می کنن رفتگر توهین آمیزه. رفتگری هم یه شغله و لازم نیست اگر فکر می کنیم تحقیر کننده است، اسمش رو عوض کنیم که راحت بشیم. اگر فکر می کنین رفتگرها زندگی سختی دارن، بهتره آشغال کمتری روی زمین بریزین، بهشون خوراکی های باحال بدین، باهاشون سلام علیک کنین و … عوض کردن اسم چیزها مشکلی رو حل نمی کنه (: مگر اینکه بخوایم بگیم پاکبان شمول بیشتری از رفتگر داره (: که قبوله.

چطوری حرفه ای بشیم؟ آر اف سی رو بخونین و بنویسین؛ نمونه بیس۶۴

من همیشه توی صحبت ها می گم خوبه در چیزهایی که دوست دارین عمیق تر بشین. یکی از روش های این عمیق شدن، خوندن دقیق داکیومنت هایی است که باعث شدن ابزارهای اطراف من و شما ممکن بشم. مثلا در مورد اینترنت منظور RFCها هستن.

بر خلاف ظاهر اولیه، این داکیومنت ها معمولا خیلی هم پیچیده نیستن و حتی «باید» و‌ «شاید» و … رو هم بالاشون تعریف کرده و انتظار می ره نه فقط کاملا قابل فهم، که قابل پیاده سازی هم باشن. مثلا اگر شما می خواین بدونین ftp چطوری کار می کنه یا تورنت چطوریه، بهترین کار اینه که به جای دیدن ده تا ویدئوی دنبال لایک و صد نفر که با پنج مدل افکت و دوربین سعی می کنن «همه آنچه باید در مورد فلان بدانید» رو بهتون آموزش بدن، برین و داکیومنت اصلی ماجرا رو بخونین؛ که پروتکل رو تشریح می کنه. قول می دم اگر برنامه نویسی دوست داشته باشین و هول هم نباشین و واقعا از یاد گرفتن لذت ببرین، نوشتن همون پروتکل از روی آر اف سی حتی اگر یک ماه هم طول بکشه، کلی کلی بهتون حال می ده و کلی هم چیز یاد میگیرین.

من توی این ۲ تا ویدئو، همین کار رو با بحث Base64 کردم. شیوه ای که توش می تونیم اطلاعات باینری رو تبدیل به اطلاعات متنی (اَسکی) بکنیم. خودم لازمش داشتم و آر اف سی رو خوندم و بعد فکر کردم نوشتنش، این بحث رو بازتر می کنه. پس با من باشین … یا هر طور که دوست دارین.

قسمت اول:‌ درک بیس۶۴ و دیدن آر اف سی و تشریحش (روی آپارات و یوتیوب)
قسمت دوم: نوشتن با سی و توضیح کاربرش برای هکرها (روی آپارات و یوتیوب)

رادیوگیک ۱۰۰ – جهان تغییر خواهد کرد

در رادیو گیک صد، با نگاهی اجتماعی و فنی به اخبار نگاه می‌کنیم. از هکرهایی که امسال دور هم جمع نمی شن میگیم و لو رفتن سورس کدها و حتی بیرون کشده شدن اطلاعات از کامپیوترهایی که به نظر می رسه مطلقا هیچ خروجی ای ندارن. شاید هم به همه یه حقوق پایه بدیم تا ببینیم دنیا چطور جایی می شه! با ما باشین تا سیاره‌مون رو هک کنیم!

با این لینک‌ها مشترک رادیوگیک بشین

اخبار

عمومی شدن سورس کد ماشین های هوشمند مرسدس بنز

ماشین های ون مرسدس بنز یه مدار Onboard Logic Unit دارن که رابط سخت افزار و نرم افزار خودرو است و ماشین ها رو به کلاود وصل می کنه و حتی اجازه می ده که تردپارتی ها (شخص ثالث؟! شخص؟! ثالث؟!) بتونه به خودرو وصل بشه و دیتا رد و بدل کنه. چیزهایی مثل بررسی وضعیت خودرو در جاده یا وضعیت اجزای خودرو و این چیزها. حالا ظاهرا این کد که توسط Daimler AG نوشته شده، به طور کامل لو رفته؛ بیشتر از ۵۸۰ تا گیت رپوزیتوری. چطوری؟ نگو به من… شرکت معظم دایملر ای جی که این کدها رو برای مرسدس می نوشته، اونها رو روی یک گیت روی وب هاست می کرده که … بگو چی؟ آفرین. امکان رجیستر شدن اکانت جدید توش باز بوده. این محقق امنیتی کارش همینه که دنبال سرورهایی بگرده که گیت لب روشون نصب است و درست تنظیم نشده.. ولی خب رسیدن به رپوزیتوری سورس کد بنز واقعا دیگه… [توضیحات در مورد خطرات نصب دیفالت یا فقط راه انداختن یه چیزی با سعی و خطا]. اوه طرف کل این رپوزیتوری رو چند جا آپلود کرده که شامل چیزهایی مثل ایمیج های رزبری، سورس کد، ایمیج سرورها‌، کامپوننت های کنترل ریموت OLUها، داکیومنت ها و غیره هستن و بعد از بررسی شون به نظر می رسه حتی توکن های API و پسورد و غیره سرور هم توشون پیدا می شه.

خارج اطلاعات ار کامیپوتر air gapped با فن پاور

اینجور خبرها زیادن می بینن که در خبر هم اومدن نه اعماق. دیگه عادی شده تقریبا ولی یادآوری اش مهمه هنوز. [مفهوم کامپیوتر air gapped] و محققی نشون داده که می تونه اطلاعات تایپ شده روی کامپیوتری که نه انیترنت داره نه وای فای نه بلوتوث نه حتی اسپیکر رو بخونه روی یک گوشی نشون بده. چطوری؟ با تنظیم کردن سرعت فن ! در نهایت یک چیزی داره صفر و یک به بیرون می فرسته و این چیز می تونه سرعت فن و صداش باشه که یه موبایل می تونه اونو به شنود خوبی تبدیل کنه. معلومه که این لا یه بدافزار هم لازمه ولی شاید براتون جالب باشه که بعضی ها حتی این ملورها رو از حفظ تایپ می کنن.. کمی توضیح و اینکه واقعا عملی است.

مونیخ هم به استراتژی «پول عمومی؟ کد عمومی!» پیوست

اعتلاف حزب سوسیالیست دموکرات و حزب سبز در مونیخ انتخاب شدن و یکی از تصمیم های خوبشون رو گرفتن: پول عمومی؟ کد عمومی! مساله اینه که تولید نرم افزار گرونه، آموزشش گرونه و از اون مهمتر بسته بودنش رانت میاره. در استراتزی پول عمومی؟ کد عمومی گفته می شه که اگر چیزی با پول عمومی…

دف کان امسال هم غیر حضوری برگزار می شه

خودش که خبر عظیمی نیست ولی هر وقت بحث دفکان باشه خوبه که در موردش حرف بزنیم. دفکان تقریبا بزرگترین گردهمایی هکرهای دنیا است که معمولا همه منتظرش هستیم تا حداقل فیلم هاش رو ببینیم. از ۱۹۹۳ شروع شده و از متخصصین امنیت و هکرها تا حقوق دان ها و این روزها پلیس ها هم توش هستن (:‌ معمولا کلی کارگاه داره. از باز کردن قفل فیزیکی تا رباتیک تا برنامه هایی مثل فتح پرچم تا موسیقی و پول پارتی های شبانه اش. در ضمن badgeهاش هم خیلی معروفه. اوه ایده روستاها هم خیلی خوبن. مثلا اگر من به بیوهک علاقمند هستم یا IoT می تونم برم روستای مرتبط و اونجا با آدم های مشابه گپ بزنم. یه جور میز در سطح خیلی بزرگ. تاثیرش توی فرهنگ هکرها هم زیاده. اگر علاقمندین سرچ کنین و چیز بخونین و ببینین. مثلا توی مستر ربات سیزن ۳ الیوت و دارلین به یه تورنمنت مقدماتی فتح پرچم دفکان سر زدن. خلاصه اینکه امسال نیست (:

وی پی ان قانونی ایران

طبق معمول ایران هیچ کس نمی فهمه این قوانین چیه. میان و می رن و همه هم مدعی هستن که «ما که قدرتی نداریم.. برین از بقیه بپرسین». به هرحال منتظرن که وزیر به اصطلاح ارتباطات ساز و کارش رو فراهم کنه تا رسته های خاص شغلی – بخونین دوستامون – بتونن وی پی ان قانونی داشته باشن و اینترنت سانسور شده بمونه برای من و شمایی که دم تکون نمی دیم. حالا اینکه چطوریه که باید از مالیات ما خرج کنن و ابزار سانسور بخرن و ما رو فیلتر کنن بعد به یکسری مجوز بدن که در مقابل پول بتونن این چیزهای فیلتر شده رو بخونن دیگه یه بحث دیگه است ((: فرمودن هم که به محض اجرایی شدن وی پی ان قانونی، با وی پی ان های غیرقانونی (بخونین روش های رسیدن ما به ایننرت) مبارزه بیشتری صورت خواهد گرفت.

هاوینگ بیت کوین
چهار سال یکبار. مثل ورزش. توضیح اینکه چیه. بیخیال قیمت بشین. به تکنولوژی عشق بورزین (: و در اولین تنظیم مجدد سختی شبکه هم ۶٪ پایین اومده.

مدیر مایکروسافت قبول کرده که قبلا در مورد بازمتن اشتباه می کردن

مایکروسافت در گذشته بسیار با برنامه های آزاد و بازمتن بد بودن. در حدی که در موردش از عبارت سرطان استفاده کرده بودن و FUDهای دیگه. اما حالا برد اسمیت رییس مدیرمایکروسافت پذیرفته که این استراتژی و برخورد اشتباه بوده. البته از نظر فنی هم چند وقت است که شعار MS Loves Linux واقعیت پیدا کرده و می بینیم با خرید گیت هاب و دادن Windows Sybsystem for Linux و vSCode و بقیه موارد واقعا مایکروسافت داره به سمت بازمتن میاد. حالا هم برد اسمیت توی مصاحبه اش گفته که «مایکروسافت قبلا در سمت اشتباه تاریخ ایستاده بودیم. اما خبر خوب این است که زندگی به اندازه کافی طولانی است و می تونین چیزهای جدید یاد بگیرین و تغییر کنین. امروزه مایکروسافت به تنهایی بزرگترین مشارکت کننده در پروژه های بازمتن است .. وقتی صحبت از بیزنس باشد». نکته خوبیه دیگه!

خبر بامزه؟ برنامه نویس جوونی که برنامه ماشین خودران آزاد رو وصل کرده به ماشین های GTA

هاها.. ماشین خودران هنوز چیز خفنی حساب می شه. البته هکر مشهوری به اسم خورخه هوتز یا همون geohot یه پروژه شروع کرده به اسم comma.ai که میتونه به خیلی خودروها وصل بشه و اونها رو تا حد قابل قبولی خودران کنه.. البته بدون تضمین (: خلاصه اگر خواستین خودران ملی بزنین،‌ کار دو سه روزه (: با احترام به کسانی که واقعا سعی می کنن پروژه رو بهتر کنن (: اما حالا یه هکر ۱۵ ساله به اسم لئون هیلمن نرم افزار آزاد رانندگی خودکار رو برداشته و وصلش کرده به Grant Theft Auto V که ذاتا کار جالبی است. تقریبا دو هفته طول کشیده و دو تا کامپیوتر هم می خواین که یکیش کنترل کننده ایکس باکس بهش وصله با ویندوز و اون یکی اوبونتوی ۱۶.۰۴ است که اوپن پایلوت رو با یه وبکم متصل می کنه به comma.ia . جذابیتش برای آینده؟ اینکه شاید بشه نرم افزار رو از طریق رانندگی در بازی بهتر و بهتر کرد (:

در اعماق

کرونا و اینترنت

مشکلات ایران و برنامه هایی که قراره کلا آموزش و پرورش رو به سمت یه چرندی ببرن که .. و امکان اینکه استادها کلا به اشتراک گذاشته بشن و .. و البته در خارج و تا حدی ایران بحث اینکه واقعا ظرفیت هست.. فقط نمی خواستن بفروشن. و البته خبر جالبی که اتوبوس های مدرسه روزی چند ساعت در مناطق محرومتر آمریکا توقف می کنن و اینترنت وای فای رایگان می دن. برای اینکه بچه هایی که قبلا می اومدن سوار اتوبوس می شدن می رفتن مدرسه حالا بتونن بیان بشینن توش یا اطرافش و از اینترنت رایگان امکان وصل شدن به معلم و مدرسه شون رو پیدا کنن. این اتوبوس ها در تگزارش حدود ۶۰ متر برد دارن و از ۸ صبح تا ۲ در مناطق مسکونی مستقر می شن. بحث دیگه کرونا و اینترنت هم بحث های اتصال از راه دور بود که کلی شرکت سبز شدن و تو ایران اکثرا با نصب برنامه های آزادی مثل big blue button و البته برنامه های قفل شکسته و از اونطرف شرکت های بیشتر و بیشتری به سراغ شنود و زیر نظر گرفتن کارمندان رفتن و البته حتی خیلی جاها در سطح شهر هم این سیستم های ۱۹۸۴ی راه افتادن … که امیدوارم بعد از کرونا از بین برن.. هرچند که نمی رن به این راحتی ها (: خبرهای کرونایی یکیش هم بحث کار از خانه است. کلی از خونه کار کردیم و چقدر مثبت بوده (: جک دورسی از توییتر گفته که توییتر اجازه می ده کارمندانش تا وقتی که دلشون می خواد و حتی تا ابد، از خونه کار کنن. تا وقتی کارشون رو می کنن منظم و مرتب. تحقیقات متنوعی هم نشون می دن که بهره وری بالاتر بوده (: برای خیلی ها هم خیلی عجیبه بازم برگردن به دفترهای ناراحتی که همه چیزش از خونه بدتره و لازمه براشون ۱ ساعت از روز رو هم حروم کنیم در رفت و امد. و البته کرونا نتایج غیر انیترنتی هم داشته، از جمله کم شدن ۱۷درصدی Carbon Emission (: اوه اوه همین الان فیسبوک هم گفت که بعد از کرونا هم ریموت رو جدی تر نگه می داره (: کوین بیس و شاپیفای هم گفتن در حد من و داریوش و ابی رو کجا می برین (: و البته قصه رد شدن یکسری آدم هم بود چون گوشی های جدیدشون با HEIC عکس می گیرن که پرتال ها نمی شناسنشون.

رمزارزها و TON و بلاکچین و سانسور

از این نظرها هم جهان پر تلاطم بود. بیشتر از ۲ سال قبل تلگرام اعلام کرد قراره یه رمزارز به اسم TON بده. کلی آدم باهاش انواع کلاه برداری ها رو کردن. از نصب پوسته های تقلبی تلگرام به اسم اینکه بلاکچین است (یعنی چی اصلا؟!) تا عضو شدن تو گروهی به اسم بانک ملی چون رییس تلگرام شخصا قول داده اگر اعضاش به ۱ میلیون برسه به همه پول بده ((: مهملات. حالا توی یه بیانیه رسمی تلگرام اعلام کرد که پروژه TON رو متوقف می کنه و کسی دیگه حق نداره از این اسم استفاده کنه. و این حرفها. صحبت اصلی اش هم اینه که قاضی ای مشکلات حقوقی براش درست کرده. این پیچیدگی عمومی رمزارزها و دولت ها است که سعی می کنن کنترلش کنن. تو ایران هم قانون عجیبی داشتیم که رمزارز رو برابر بقیه ارزها دونسته و نیازمند مجوز صرافی (: خلاصه که … هرکسی از ظن خود شد یار من و بدون اینکه اصلا بفهمه مساله روِ، قانونی تصویب می کنه یا حرفی می زنه. بین خودمون باشه فکر کنم تو تلگرام هم بحث فقط هیجانی راه افتاد. از بحث ضد فیلتر بودن تا پروکسی های خود تلگرام تا رمزارزش (: [ مفهوم کردیت متفاوته و می تونه خیلی هم خوب باشه و البته مشکلاتش با ایران و بازم دردسر پول نبودنش در ایران در حالی که در جهان به عنوان پول استفاده می شه این کردیت]. تو این بحث هستیم بحث تکون دادن ۴۰ تا بیت کوین ۲۰۰۹ رو هم بگم که در روز ۳۷م شروع ماین شده بود

یه برنامه نویس همه ملودی های ممکن رو به شکل میدی ساخته تا جلوی شکایت های چرت رو بگیره

شاید از سریال سیلیکون ولی یادتون باشه [کمی توضیح]. حالا یه وکیل به و یه برنامه نویس دست به دست هم دادن و کار جالبی کردن تا دیگه هیچ موسیقی دانی به خاطر موسیقی ای که ساخته مورد شکایت قرار نگیره. اونها با یه الگوریتم هر ملودی ای که ممکنه رو تولید کردن و نتیجه رو به شکل یه فایل MIDI نوشتن ( Musical Instrument Digital Interface و کمی توضیح. رابط است و چیزی شبیه اینکه نت ها رو با دستگاه های مختلف نوشته و اجرا کنین). بعد اومدن گفتن طبق قانون میدی یک فرمت اجرا شده است و قابل کپی رایت کردن. پس کپی رایت کردن و گفتن دیگه کسی اجازه نداره مدعی بشه چیزی که در این مجموعه است، کپی رایت اونه. کل کار رو هم به شکل creative commons zero منشتر کردن؛ در واقع هیچ چیزی رو برای خودشون نگه نداشتن. نمونه اخیر شکایت tom Petty از Sam Smith بود که توش مدعی بود بخشی از موزیک Stay with me سم به موزیک I wont back down اون شباهت داره. اما حالا که این الگوریتم همه ترکیب های ممکن ۸ نوت از ملودی های ۱۲ بیت رو درست کرده، تکرار این مساله منطقا باید ممنوع باشه. معلومه که قصد این دو نفر نشون دادن داغون بودن وضعیت کپی رایت است. قوانینی که الان خیلی قدیمی هستن و شدیدا نیاز به توسعه و تغییر دارن. درست شدن که خلاقیت رو حفظ کنن و جامعه رو به پیش ببرن ولی … [توضیحات خودم]. راستی. کل الگوریتم روی گیت هاب قابل پیدا شدن است. دنبال allthemusic.info بگردین.

گوگل گلس آپگرید شده به بچه های اوتیستیک اجازه می ده احساسات رو «ببینن»

حالاکه داریم از سریال ها می گیم متوجه بیگ بنگ تئوری هم باشیم دیگه. توش شلدون درجاهای زیادی در تشخیص احساسات مشکل داره و نمی فهمه طرف خوشحاله یا غمگین یا شوخی می کنه یا چی. این می تونه واقعا مشکل درست کنه. تصور کنین جیمی که ۱۱ سالشه گرسنه شده و موقع شام است. میاد بیرون و به سمت اشپزخونه . مادرش میز رو چیده و داره غذا رو میاره ولی جیمی که اتویسم داره، با دیدن ظرف های روی میز تصمیم میگیره اونها رو مرتب کنه و یکی یکی همه قاشق ها و چنگال ها و بشقاب ها رو دقیق می ذاره سرجاشون توی قفسه ها. اون ناگهان یه صدای جیغ می شنوه که می گه «جیمی چیکار می کنی؟!». بر میگرده و مامانش رو می بینه ولی نمی دنه چی شده. البته اگر یک گوگ لگلس ۲۰۱۳ آپگرید شده به چشمش باشه، وضع فرق می کنه. این گوگل کلس شروع می کنه به چشمک زدن در کنار صورت و می گه یه صورت کشف کرده و کافیه جیمی یک ثانیه دیگه به مادرش نگاه کنه تا با نشون دادن یه اسمایلی عصبانی، به جیمی یادآوری کنه که مادرش از یک چیزی عصبانی است! مساله ای که خود جیمی نمی تونسته بفهمه! این نتیجه ۶ سال کار یه تیم توی دانشگاه استنفرد است و حالا نیازمد تاییدیه FDA برای عرضه شدن به عنوان یه ابزار سلامت واقعی. و البته برای فان کردن قضیه بازی هایی هم بهش اضافه شدن. مثلا «لبخند رو پیدا کن» یا «احساسات رو حدس بزن» (: یعنی دقیقا خود شلدون بازی (:‌ چیزی که از این خبر صرف مهمتره، توانایی هوش مصنوعی است در دادن اطلاعات دقیق تر به مغز ما برای تصمیم هاش. به فروشنده ای فکر کنین که دوربین روی چشمش داره بهش می گه شما از کجای حرفش خوشتون نیومده یا مشکوک شدین و هدفون توی گوشش می گه باید به شما چی بگه که … یا بدتر از اون.. کاندیدای ریاست جمهوری که …

‏Universal Basic Income ظاهرا به نفع زندگی بهتر است

این اصطلاح «درآمد عمومی سرتاسری» یا چنین چیزی بحث جالبیه. ایده اینه که‌آیا اگر به همه مردم حداقل های زندگی / یک درآمد نیمه آبرومند رو بدیم چه اتفاقی می افته. معلومه که دوستان راست و طرفدار سرمایه داری سریعا استرس می گیرن که «نه… دیگه هیچکی کار نمی کنه» و «وای اقتصاد به فنا می ره» و «انگیزه های از بین می ره» و «رقابت مهمترین انگیزه بشری است» و «این کمونیستمه!» و … اما ظاهرا تجربیاتش مثبته. همونطور که تجربه چیزهایی مثل بیمه بیکاری و داشتن حق درمان و تحصیل و غذا و … نتایج بهتری داده. در گسترده ترین تحقیقی در این مورد که تا به حال بوده در فنلاند در دو سال یعنی ۲۰۱۷ و ۲۰۱۸ هر ماه به ۲۰۰۰ نفر بین ۲۵ تا ۵۸ سال حقوق ماهانه ای داد بدون اینکه ازشون چیزی بخواد. حقوق فقط ۵۶۰ یورو بود و سعی شد نمونه های معقولی از کل جمعیت کشور انتخاب بشن و وضعیتشون با ۱۷۳هزار نفری که از طریق بیمه بیکاری زندگی می کردن مقایسه شد. ظاهرا طبق نتایج، این افراد بیشتر از افرادی که بیمه بیکاری می گرفتن کار کردن و اطرافیانشون هم بیشتر سر کار رفتن و رفاه کلی بیشتری هم داشتن، همینطور سلامت روانی و کارکردهای ادراکی شون بالاتر بود و امیدشون به آینده هم بهتر بود. گفته می شه ایده درآمد حداقلی عمومی می تونه در مقابله با شرایطی مثل کرونا هم مثبت عمل کنه چون به آدم ها امنیت روانی و مالی می ده. همچنین طبق آمار این شکل از درآمد عمومی بلاشرط تاثیری روی عدم علاقه آدم ها به کار کردن نداشته. محقق ها می گن با اینکه پول مهمه ولی ظاهرا پول تاثیری روی علاقمندی آدم ها به کار کردن و نکردن نداره. در نهایت شعار اینه که انتظار می ره هر کس مستقل از شغل ، رنگ ، جنس، جنسیت، دین، قومیت و هر چیز دیگه، به میزان کافی از از مسکن، آموزش، بهداشت، حمل و نقل و غذا دسترسی داشته باشه.

نامه ها

تقبیح ها و تشویق ها

موسیقی

  • علی دی جی . قدرت تریاک
  • دوباره – شاعر همیشه با کلت
  • جالبوت – فهمت ببر بالا
  • پالت و ماکان اشکواری – پس چرا تفنتگارو گرفتی سمت من
  • کی ناز – منم یه روز میرم یه جایی که مردمش اهل حالن

تنظیم ادیتور ویم برای برنامه نویسی [پایتون]

توی قسمت های اول و دوم گفتم چرا ویم خوبه و به چه دلایلی ازش استفاده می‌کنیم. شاید برای بعضی ها یه اجبار گاه گداری باشه، برای بعضی ها شبیه من یه فان باحال و یکی از ادیتورهای برنامه نویسی و برای بعضی ها بهترین ادیتور دنیا. توی این قسمت سعی می کنیم با استفاده از پلاگین ها و دیدن چند ترفند باحال ادیتور ویم، سیستم رو بهینه کنیم برای برنامه نویسی،‌ بخصوص پایتون. پایه اصلی این نوشته این مطلب است با تغییراتی و اضافه‌ها و کم هایی بر اساس چیزی که من باهاش راحتم و استفاده می‌کنم.

لینک تنظیم ادیتور ویم برای برنامه نویسی در آپارات و یوتیوب.

نصب خود ویم

توی قسمت های قبلی که با ویم کار کردیم پس منطقا نصب شده (: اما بحث اینه که انتظار می ره ویم شما نسبتا جدید باشه، حداقل بالاتر از ۷.۳.

➜  ~ vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Apr 12 2020 17:46:58)

اگر روی مک هستین و ورژن شما پایینتر است، شاید با brew update و brew install vim بتونی وضع رو بهتر کنین. روی لینوکس ها احتمالا به اندازه کافی به روز هستین.

پلاگین‌‌های ویم

ویم الان یه شبیه یه پلتفرم شده که روش کلی پلاگین نصب می کنین و کارهایی رو می کنه که شما دوست دارین. نصب پلاگین‌های از طریق مدیراکستنش‌ها انجام می‌شه که یکی از مرسوم‌هاش Vundle است. نصبش ساده است. واندل رو کلون می کنینش توی تنظیمات پلاگین های ویم؛ یه چنین چیزی:

git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

حالا برای شروع تنظیمات کافیه یه فایل به اسم .vimrc توی هوم درست کنین:

touch ~/.vimrc

و توش تنظیمات واندل رو اضافه کنین:

set nocompatible              " required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'

" add all your plugins here (note older versions of Vundle
" used Bundle instead of Plugin)

" ...

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required

set encoding=utf-8

بقیه کارها واضحه: اضافه کردن پلاگین ها و تنظیم کردن چیزها و یاد گرفتن شورتکات ها.. الان اگر برین توی ویم و این دستور رو اجرا کنین، واندل پلاگین هایی که بهش گفتین رو براتون نصب یا به روز می کنه.

:PluginInstall

حالا وقتشه که قدم به قدم پیش بریم.

استفاده خوب

قبلا هم گفتم. خوبه فیچرهای چیزهایی که ازشون استفاده می کنین رو بگیریم. معمولا آدم ها به شکل تجربی یکسری فیچر اولیه رو یاد می گیرن تا کارشون راه بیافته و بعد حرفه ای تر نمی شن. خوبه اگر از چیزی استفاده می کنین، کم کم فیچرهای مناسبش رو یاد بگیرین. مثلا در مورد ویم، استفاده کمتر از ماوس یا استفاده بیشتر از :sp و :vs و کامندهایی که حرفشون رو زدیم مثل بافرها و ..

تا کردن کد

تا کردن؟ انگلیسی ها می گن fold. در حالت عادی با za فولد می شد ولی خیلی ها می ذارن روی space.

" Enable folding
set foldmethod=indent
set foldlevel=99

البته دقت کنین که فولد بر اساس ایندنت انجام می شه. برای پیشرفته‌تر کردن با درک زبان و … SimpylFold رو سرچ کنین.

فرمت بهتر فایل برای پایتون

برای ایندنت کردن بر اساس پپ۸، اینها رو اضافه کنین:

au BufNewFile,BufRead *.py
    \set tabstop=4
    \set softtabstop=4
    \set shiftwidth=4
    \set textwidth=79
    \set expandtab
    \set autoindent
    \set fileformat=unix

و برای ایندنت خوب اتوماتیک:

Plugin 'vim-scripts/indentpython.vim'

و چنین چیزی برای مشخص کردن اسپیس های اضافی

au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
 highlight BadWhitespace ctermbg=red guibg=darkred

اتوکامپلیت

اتوکامپلیت ایده ها و شکل های مختلفی داره. مثلا ممکنه فانکشن های اصلی رو بدونه یا ممکنه متغیرها رو زیر نظر بگیره و … گزینه اصلی خیلی ها برای مجموعه ای از زبان‌ها ِYouCompleteMe است که باید مستقل نصبش رو پیش برین. با این به واندل اضافه اش کنید:

Bundle 'Valloric/YouCompleteMe'

و بعد از نصبش چند تا تغییر ریز هم بدیم:

let g:ycm_autoclose_preview_window_after_completion=1
map g  :YcmCompleter GoToDefinitionElseDeclaration

ویرچوال انوها

معلومه که ویم درکی از ویرچوال انوها نداره. برای ایجاد کردن این درک می تونیم اینکار رو بکنیم:

"python with virtualenv support
py << EOF
import os
import sys
if 'VIRTUAL_ENV' in os.environ:
  project_base_dir = os.environ['VIRTUAL_ENV']
  activate_this = os.path.join(project_base_dir, 'bin/activate_this.py')
  execfile(activate_this, dict(__file__=activate_this))
EOF

چک کردن سینتکس

پلاگین داریم دیگه...

Plugin 'vim-syntastic/syntastic'
Plugin 'nvie/vim-flake8'
let python_highlight_all=1
syntax on

تنظیم رنگ ها

یک نگاه خودتون بندازین... سخته انتخاب کرده و من هی عوض می کنم. ولی در نهایت با

colorscheme desert

درخت فایل ها

اوه اوه.. بعضی ها عاشق اینن بعضی ها نمی دونن اصلا چرا هست! نرد تری مرسمترین است:

Plugin 'scrooloose/nerdtree'
Plugin 'jistr/vim-nerdtree-tabs'
let NERDTreeIgnore=['\.pyc$', '\~$'] "ignore files in NERDTree

می تونین با :NERDTree فعالش کنین ، با o در بافر جدید باز کنین. با t در تب جدید، با i در اسپلیت افقی و با s در معودی. p می ره دایرکتوری بالا و r ریفرش می کنه. بقیه اش؟ ? (: بستن؟ :NERDTreeClose

قرتی بازی های آخر

مثلا

set number
set showmatch
set history=1000
set undolevels=1000
set wildignore=*.swp,*.bak,*.pyc
set visualbell
set noerrorbells

و پلاگین هایی مثل

Plugin 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'}

کتاب رایگان رد هت برای پترن دیزاین‌های کوبرنتیس

توی این چند سال، شاهد بعضی تغییرهای بنیادین در روش های توسعه، طراحی و ساخت و نگهداری نرم افزارهایی هستیم که از اول برای اجرا شدن در کلاود طراحی می شن. بحث‌هایی مثل میکروسرویس‌ها که از یکطرف مد شدن و از یک طرف هم توی سیستم‌های بزرگ کاربرد دارن. خیلی وقت‌ها داریم از داکر و کوبرنتیس برای بالا آوردن این سرویس های حساس استفاده می کنیم که خب خیلی وقت ها فقط مبتنی بر تجربه خودمون و اطرافیان و اتفاقاتی است که پروژه رو هدایت کردن.

برای غلبه به این ماجرا و ایجاد روشی برای طراحی نرم افزارهای بزرگ مبتنی بر ابر که قراره رو کوبرنتیس اجرا بشن، شرکت ردهت یه کتاب رایگان ۲۶۰ صفحه ای منتشر کرده که سعی می کنه تجربیات متنوع رو جمع کنه و ایده‌هایی برای طراحی به ما بده. این کتاب سعی می کنه الگوهای طراحی اش رو در پنج لایه طبقه بندی کنه: زیرساختی، رفتاری، ساختاری، تنظیمی و پیشرفته.

اگر شما هم علاقمند هستین سواد کوبرنتیس خودتون رو ارتقاء بدین، کتاب دیزاین پترن های کوبرنتیس ردهت حسابی توصیه می شه. البته همیشه لازم به تکرار است که «شما گوگل نیستین» (: اگر گوگل چیزی رو توسعه می ده معنی اش این نیست که شرکت ما هم حتما باید استفاده کنه (: چیزی مثل میکروسرویس کلی دردسر داره و کلی پیچیدگی اضافه درست می کنه و تصمیم رفتن به سمتش باید مستقل از بحث های مد روز باشه، ولی اگر کوبرنتیس کار هستین و طراح نرم افزار، خوندن یا حداقل تورق این کتاب رو حسابی توصیه می کنم.

هوش مصنوعی مایکروسافت که با دقت ۹۷٪ باگ‌های امنیتی رو تشخیص می ده

مایکروسافت مدعی شده که سیستمی رو توسعه داده که می‌تونه یک باگ امنیتی رو از یک باگ غیرامنیتی تشخیص بده، اونم با دقت ۹۹٪، همچنین این سیستم می‌تونه در ۹۷٪ مواقع، بحرانی بودن یک باگ رو هم مشخص کنه. گفته شده که این سیستم در طول چند ماه آینده بازمتن خواهد شد تا بقیه هم بتونن ازش استفاده کنن.

می‌شه حدس زد که یکی از پایه‌های رسیدن به این مساله، خریدن گیت هاب توسط مایکروسافت در ۲۰۱۸ و دسترسی مستقیم به حجم عظیمی از کد و ایشوهای مرتبط با اونها بوده. مایکروسافت می‌گه این سیستم بر اساس ۱۳ میلیون نمونه قبلی کار می کنه و احتمالا همراه خوبی خواهد بود در انسان‌هایی که می‌خوان باگ‌های رو دسته بندی کنن. ادعا می‌شه هر برنامه نویس در هر ۱۰۰۰ خط تقریبا ۷۰ باگ تولید می‌کنه و بنا به تخمین، حل یک باگ ۳۰ برابر بیشتر از نوشتن یه خط کد زمان می‌خواد. در حال حاضر گفته می‌شه که آمریکا به تنهایی ۱۱۳ میلیارد دلار هزینه کشف و حل مشکلات نرم‌افزاری می‌کنه.

مدلی که مایکروسافت توسعه داده، بر اساس دیتاهای لیبل خورده کار می کنه و در دو سطح: اول تشخیص امنیتی بودن باگ و بعد تعیین سطح اون. سیستم بر اساس الگوریتم فراوانی وزنی TF-IDF کار می کنه و به گفته مایکروسافت در داخل شرکت در حال استفاده است. این سیستم باگ های وارده رو نگاه می کنه و سعی می کنه اونهایی که از نظر امنیتی مهم هستن رو مشخص کنه تا بشه زودتر سراغشون رفت. چیزی که وقت زیادی از نیروهای انسانی شرکت ها رو به خودش اختصاص می ده و در نهایت هم بازدهی کمتری از این سیستم ایجاد می‌کنه.

این حضور هوض مصنوعی در دنیای نرم افزار، روند رو به رشدی است و قبلا هم کدگوروی آمازون سعی می کرد نرم افزارهای داخلی این شرکت رو از نظر مشکلاتی مثل لینک منابع بررسی کنه و حالا یه نسخه پیش نمایش عمومی ازش وجود داره یا مثلا SapFix فیسبوک هم سعی می کرد کار مشابهی رو برای این یکی غول بکنه.

جادی تی وی – نوشتن یه رمز کننده فایل به زبان سی

من که نوجوون بودم تنها فرمت تصویری مرسوم، گیف بود. که البته صاحبش بهش می گه جیف. در نتیجه ما باید فایل های گیف خودمون رو جایی مخفی می کردیم. من فلاپی هاش رو می ذاشتم لای یه سررسید که توش با تیغ جای فلاپی در آورده بودم ولی خود فایل ها رو هم باید مخفی می کردم – جو هکری (: . یه برنامه نوشته بودم که اینکار رو می کرد.. بیاین بازنویسی اش کنیم و کمی پیش تر بریم تا درک بهتری از فایل ها، اینکه سیستم چطوری می فهمه این یه عکسه و اعداد جادویی و ایکس اور و … پیدا کنیم.

ویدئوی رمز کننده فایل گیف توی آپارات و یوتیوب

نوشتن برنامه «بازی زندگی» با زبان سی، به یاد کانوی و اتوماتای سلولی

جان کانوی از کرونا مرد. ریاضی دانی که «بازی زندگی» رو در حوزه اتوماتای سلولی طراحی کرد و بخشی از نوجوونی منو به خود مشغول کرد. توی این ویدئو کمی در مورد مفهوم و این بازی «صفر بازیکنه» توضیح می دم و بعدش با سی، پیاده سازی اش می کنیم و به نتایج شگفت انگیزش خیره می شیم. اینقدر خیره که یادم می ره تابع رندم رو با زمان سید کنم (:

آپارات و یوتیوب.

این یه شاخه باحالی از کامپیوتر بود که امروزه زیر سیطره «هوش مصنوعی» و «یادگیری ماشین» ازش کمتر می شنویم؛ به اسم «حیات مصنوعی» (: