اگر به لینوکس علاقمند هستین، آخر این هفته می تونین دانشگاه امیرکبیر باشین و احتمالا هفته بعد (یا بعدش) هم خواجه نصیر. بهتون خوش بگذره (:

در دفاع از آزادی کیبرد
اگر به لینوکس علاقمند هستین، آخر این هفته می تونین دانشگاه امیرکبیر باشین و احتمالا هفته بعد (یا بعدش) هم خواجه نصیر. بهتون خوش بگذره (:


روز درختکاری در آمریکا نزدیکه و سایت استریم پورن پورنهاب گفته که برای مشارکت در این روز، به ازای هر صد ویدئویی که مراجعه کنندهها از مجموعه معرفی شده ببینن، یک درخت میکاره. این پرومشن (فقط صفحه اول امن برای محیط کاری است) فقط تا نیمه شب امشب به وقت آمریکا معتبره.
این تبلیغ که احتمالا کم هزینه هم نخواهد بود چون تا همین الان حدود ۱۵۰۰۰ درخت باید کاشته بشه، یکی از مجموعه تلاشهای پورنهاب برای تبلیغهای قابل پخش در شبکه های اجتماعی و محیطهای عمومی است اما جدای از این قضیه، نکته جالبش انگشت گذاشتن روی محیط زیست است و خود مفهوم موسسه آربر دی که چیزی است شبیه روز درختکاری ما اما به شکل یک موسسه غیرانتفاعی غیردولتی که افراد، سازمانها و شهرها رو به سبز بودن تشویق می کنه و گذران زندگی اش هم از کمکها و حمایتهای مالی است. در ضمن پورن هاب بعد از نیمه شب امشب، باید بره به سراغ انتخاب سازمانی که قراره اینهمه درخت رو بکاره. گزینههایی احتمالی خود آربر دی است، درخت برای آینده و موسسه جنگلهای آمریکا.
پیامش برای ما؟ اگر امروز پورن آنلاین استریمینگ می بینیم از پروژه پورن هاب ببینیم (صفحه اول امن برای محیط کار) و این رو بدونیم که اگر کشوری می خواد پیشرفت کنه، کارهاش رو می ده بخشهای خصوصی انجام بدن. بحث سوسیالیسم و سرمایه داری هم نیست. بحث اینه که اگر قراره واقعا شاهد خلاقیت یا پیشرفتی باشیم باید همه بازی داده بشن و اتفاقا بخش هایی که رانت دارن یا توان رقابت غیربرابر دارن (مثلا شهرداری هستن و ترافیک شهر رو فقط دست خودشون نگه می دارن) باید از ارائه مستقیم محصولات منع بشن. در مورد پروژههایی ه که لازمه واقعا دولت توشون دخیل باشه (مثلا ارائه حمل و نقل نزدیک به رایگان برای همه به همه جا، خدمات درمانی رایگان یا نزدیک به رایگان به همه، آموزش عمومی رایگان به همه و …) هم لازمه حکومت باید موظف باشه پول و اجرای پروژه رو به شکلی منصفانه به مناقصه بذاره یا بده به شرکتهای مستقلی که توانایی انجامش رو دارن. در این مورد بخصوص در دنیای نرم افزار بیشتر حرف خواهیم زد.
نکات همیشگی:
نکات خاص این شماره:
من همیشه میگم که یکی از مشکلات تکنولوژی در دوره ما اینه که سر درآوردن ازش برای تازهکارها راحت نیست. مثلا خیلی از ما یا می گیریم با PHP برنامه بنویسیم ولی نمی دونم اون پشت داره دقیقا چی می گذره یا با ویژوال بیسیک دگمه ها رو میچینیم و به توابع وصلش می کنیم اما درک نمی کنیم دقیقا کامپیوتر از اون دگمه و کدها چی می فهمه – افراد بسیار کمتری هستن که واقعا پشت این رابطهای راحت رو هم نگاه کنن و درک کنن اون پشت دقیقا چه خبره.
حالا به تلفن همراه فکر کنین ! کدوم یکی از ما به تنهایی می تونه یک تلفن همراه بسازه؟ دیوید هانت ظاهرا می تونه.. حداقل در سطح اینکه یک صفحه لمسی آدافروت رو به همراه یک ماژول Sim900 جی اس ام و جی پی آر اس به یک رزبریپای وصل کنه و با اضافه کردن یک باتری، یک تلفن هوشمند بسازه که می تونه باهاش زنگ بزنه.

مجموع هزینههای ۱۵۸ دلار بوده و نتیجه پروژه درک خیلی خوب یک آدم از شیوه ای است که اجزای یک تلفن همراه در کنار هم قرار میگیرن. معلومه که قرار نیست یک نفری کل الکترونیک و مخابرات رو دوباره اختراع کنیم اما بخش جذابش درک کردن اینه که اون چیزی که صبح تا شب دستمونه، از نظر فانکشنی چه اجزایی داره و چطوری به همدیگه وصل شدن. نکته جالب این طرح اینه که هیچ مداری براش درست نشده و کل سیستم فقط با وصل کردن اجزا به همدیگه و نوشتن برنامه براشون درست شدن.
قبلا بازیهای گیکی معرفی کردم. از ۲۰۴۸ تا هل بدین و به گنج برسین تا ایکس اوی گیکها تا نوشتههایی مثل چه کسی بازیهای کامپیوتری را کشت اما غیرقابل اعتماد یک چیز دیگه است! بازی رو سعید نجاتی معرفی کرد و من رو برای چند ساعت معتاد (: در این بازی کاملا ساده از نظر گرافیکی، شما یک کامپیوتر پیدا می کنین که چنین کدی رو اجرا می کنه:
/********************
* theLongWayOut.js *
********************
*
* Well, it looks like they're on to us. The path isn't as
* clear as I thought it'd be. But no matter - four clever
* characters should be enough to erase all their tricks.
*/
function startLevel(map) {
map.placePlayer(7, 5);
var maze = new ROT.Map.DividedMaze(map.getWidth(), map.getHeight());
maze.create( function (x, y, mapValue) {
// don't write maze over player
if (map.getPlayer().atLocation(x,y)) {
return 0;
}
else if (mapValue === 1) { //0 is empty space 1 is wall
map.placeObject(x,y, 'block');
}
else {
map.placeObject(x,y,'empty');
}
});
map.placeObject(map.getWidth()-4, map.getHeight()-4, 'block');
map.placeObject(map.getWidth()-6, map.getHeight()-4, 'block');
map.placeObject(map.getWidth()-5, map.getHeight()-5, 'block');
map.placeObject(map.getWidth()-5, map.getHeight()-3, 'block');
map.placeObject(map.getWidth()-5, map.getHeight()-4, 'exit');
}
و از طریقش دور شما یک حصار قرص و محکم می کشه:

و برای رسیدن به خروجی لازمه بخشهایی از این کد رو عوض کنین تا دیوارهای اطرافتون تغییر کنن و بتونین ازش بیرون برین و خودتون رو نجات بدین! در مراحل پیشرفتهتر تغییر کدها نیاز به دقت و هوش و تلاش بیشتری داره چون زندانبان لعنتی شروع می کنه به پیشرفت کردن و به شما اجازه ادیت بخش های کمتری از کد رو می ده و حتی لازم می شه API زندان رو چک کنین و …
معلومه این بازی به حداقلی از دانش برنامه نویسی / جاوااسکریپت نیاز داره و می تونه به راحتی به عنوان یک منبع آشنایی با جاوااسکریپت برای کسی که کلیت برنامه نویسی رو بلده هم نگاه بشه.
اگر من استاد دانشگاه بودم اصلا بعید نبودم این بازی غیرقابل اعتماد رو به عنوان امتحان آخر ترم به بچههام بدم.
در ادامه پروژه کتاب نارنجی

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

میلاد زنگنه این پروژه بامزه رو برام فرستاده:

یک برنامه صد خطی AWK بازمتن و آزاد که میتونه سرویس ترجمه گوگل رو صدا بزنه و از همون خط فرمان، جملههای شما رو ترجمه کنه. کافیه
فایل فشرده رو دریافت کنین و بازش کنین و نصبش کنین و صداش بزنین:
jadi@funlife:/tmp$ axel -q https://github.com/soimort/google-translate-cli/archive/master.tar.gz jadi@funlife:/tmp$ tar xf master.tar.gz jadi@funlife:/tmp$ ./google-translate-cli-master/translate "سلام گیک. حالت چطوره؟" Hi geek. How are you? jadi@funlife:/tmp$
البته قبلش باید بسته gawk رو نصب کرده باشین.

امروز ۲۰ آوریل یا همون ۴/۲۰ است و در سطح جهان روز جهانی گیاه کانابیس یا همون ماری جوانا است که یکی از محصولات جانبیاش میشه حشیش. این روز معمولا برای معرفی یک خرده فرهنگ که حول مصرف این ماده شکل گرفته شناخته می شه و علامت جهانی این ماده هم برگ گیاه کانابیس است.
نکته جالبش اما برای من روند غیرقانونی و بعد قانونی شدن این گیاهه. در گذشته این گیاه انواع کاربردها رو داشته ولی بعدا در غرب یک نگرانی پیش امد: موسیقی منحط جز و سویینگ که ناشی از ماریجوانا دونسته شد داشت موسیقی فاخر رو به عقب می روند و زنهای سفید پوست بیشتری با مردهای سیاه می خوابیدن که منطقا تنها دلیلش ممکن بود یک ماده مخدر خبیث به اسم ماریجوانا باشه! ادعایی که قانون وضع کردن بر اساسش از نظر ما کاملا مسخره است ولی فقط هفتاد سال پیش، همه قبولش کردیم.
با ادعای اینکه «موسیقی داره خراب می شه و زن های سفید علاقه پیدا کردن به مردهای سیاه بخوابن» علف یا گرس یا ماریجوانا یا جی یا هر چی که اسمش هست در غرب ممنوع شد در حالی که ضرری بسیار کمتر از الکل یا سیگار داشت و احتمالا کشته هاش قابل مقایسه با کشتههای چربی توی همبرگری که سر هر کوچه می شه خریدش نبود. حالا که این ادعا بسیار مسخره است، ایالت به ایالت و کشور به کشور دارن تبلیغ می کنن تا قانون عجیب رو بردارن.
روز جهانی علف مبارک اگر روزی باشه که به جای مصرف علف به این فکر کنیم که چقدر از عقاید ما مثل عقایدمون در مورد علف هستن.
نکته: این یک مطلب در دفاع از ماری جوانا نیست. این مطلب سعی می کنه به ما بگه چطور باید فکر کنیم و شدیدا مطلبی است در دفاع از نحوه استدلال صحیح. مثلا گفتن اینکه «یکی رو می شناسم که با ماری جوانا مرده» یا «منظورتون اینه که ماری جوانا باید آزاد بشه؟! دیگه چی؟» یک استدلال صحیح نیست (:
منابع برای مطالعه بیشتر:
– چی شد که ماری جوانا ممنوع شد. نگاهی به تاریخچه و تبلیغات و سخنرانی ها
– گفتگوی TED در این مورد