لینک‌های شاد دوشنبه‌های آخر ماه آبان ۱۳۹۴

gooy

پروژه‌های کوچیک

پروژه‌های بزرگ

  • یکی از چیزهایی که تو ایران حسابی جاش خالیه،‌ یک فروشگاه گیکی است پر از برچسب، لیوان،‌ موشک کنترل از راه دور یو.اس.بی، کراوات هشت بیتی و ماسک بتمن و این تیپ چیزها. فروشگاه اینترنتی گیک شو شاید بتونه تا حدی این خلاء رو پر کنه. البته فعلا فقط برچسب داره و لیوان و امیدوارم کارشون بگیره و پیش برن.
  • اپلیکیشن Ace Charge یکی دیگه از کارهای خوبی است که تلاش کرده تو بازار جهانی قد علم کنه. سایت اصلی اش می‌گه این برنامه سعی می‌کنه با تنظیم صحیح سیکل شارژ و جلوگیری از گرم شدن باتری، عمر و قدرت اون رو حفظ کنه. حدس می‌زنم اپلکیشن جالبی باشه.
  • یک بازی آزاد هم داریم از Ssisakhti@ به اسم چیکیجا. می‌گن این بازی قبل از آفتابه ساخته شده اما بعد از اون ریلیز شده و شاهدش هم کسب جایزه امیرکبیر ۹۲ هست. تو کافه بازار در دسته بازی‌های برتر به انتخاب کافه‌باراز هست. با کمی تغییر مختصر گذاشتمش تو گیت‌هاب.
  • چه بامزه. من همیشه فکر می کردم این برنامه باید باشه (: ظاهرا هست! حساب‌یار با دیدن اسمس‌های بانک‌ها، خرج‌های شما رو نگهداری می‌کنه.
  • در صورتی که علاقمند به ارتباط با کارفرماها یا نیروهای کار هستین یا دنبال یک شرکت بخصوص یا حتی کوفاندر و غیره می‌گردین، یاراکار داره تلاش می‌کنه شما رو به هم وصل کنه (: باز کردن پروفایل توش ممکنه کمک خوبی به کسی باشه که توش سعی می کنه شما رو پیدا کنن و همچنین به شمایی که سعی می کنین اخبار شرکتی رو دنبال کنین.
  • پازلی هم روشی جالبه برای ساختن اپلیکیشن‌های اندرویدی به شکل آنلاین! ماجول‌هاتون رو انتخاب و تنظیم کنین و اونها رو با منوها و متن ها و فیدها و اکانت ها کنار هم بچینین و خروجی اپلیکیشن اندرویدی رو دانلود کنین! پازلی هیجان انگیزه.

کانال‌های تلگرام

اوه!‌ جادی دات نت هم یک کانال تلگرام غیر رسمی داره که مطالب و پادکست ها و غیره اونجا کپی می شن: https://telegram.me/jadinet

رویدادها

  • استارتاپ ویکند گرگان هم آخر این هفته برگزار می شه. یعنی 27 الی 29 آبان ماه. احتمالا برای ثبت نام دیره، شایدم نباشه؛ حتما تو سایتشون معلوم می شه

بازارکار

  • یک طراح وب حرفه ای تمام‌وقت که حداقل 3 سال سابقه کار مرتبط داشته باشد و مهارت خوبی در html، css و javascript داشته باشه، داشتن خلاقیت و روحیه کارتیمی برایمان مهم است. کسانی که این شرایط را دارند رزومه و نمونه کارهایشان را به ایمیل cv@irnux.ir ارسال کنند.

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

مبارزه دو شمشیرباز سطح بین‌المللی با لایت سیبر (شمشیرهای جنگ ستارگان)

دو شمشیرباز حرفه‌ای بدون هیچ گرافیک کامپیوتری با استفاده از لایت سیبرهای جنگ ستارگان با هم مبارزه می‌کنن – برای خوشحال کردن شما (:

معرفی چند لینوکس‌ کمتر دیده شده برای اوقات فراغت و تفریح و یادگیری شما

سینا می‌گه:

استاد سیستم عامل یکی از دوستان من پروژه ای داده بهشون و ازشون خواسته که یک سیستم عامل معرفی کنن و در موردش توضیح بدن.
‌ من بهش توزیع های لینوکس پیشنهاد کردم و استادشون گفته نباید توزیع معروفی باشه.خواستم از شما راهنمایی بگیرم که به نظر شما چه توزیع لینوکس برای پروژش انتخاب کنه که هم داکیومنت و اموزی براش باشه و هم اینکه خیلی معروف نباشه.

سوال جالبیه! من قبلا توی مطلب هر توزیع گنو/لینوکس در یک خط حدود ۳۱ توزیع رو سریع توضیح داده بودم. اون شاید مفید باشه. ولی خب لیست زیر هم جالبه.

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

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

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

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

باس کی برای ردیت

چی؟! اگر شما هم مثل من از تیتر چیزی نفهمیدین بهتره اول انگلیسی‌اش رو بگم و بعد توضیحش رو اضافه کنم. انگلیسی تیتر می شه: Boss Key for Reddit. ردیت که شناخته شده است براتون؛ یک سایت اجتماعی سرگرمی و خبر و بحث که از مراکز مهم فرهنگ اینترنت است و روزانه آدم‌های زیادی بهش سر می‌زنن.

اما باس کی یا کلید رییس یا چنین چیزی چیه؟ این بر می‌گرده به دورانی که ما در کامپیوترهای تحت داس بازی می کردیم و بعضی بازی‌ها یک کلید داشتن که اگر فشارش می‌دادی صفحه طوری می‌شد که انگار مشغول کار مهمی هستی. این دگمه برای بچه‌هایی که قرار بود با کامپیوتر درس بخونن ولی داشتن بازی می‌کردن استفاده می‌شد و همینطور به یک کارمند امکان می‌داد که وسط بازی اگر یکهو رییس وارد شد، کلیدهایی مثل ctrl+alt+b رو فشار بده و یک صفحه گسترده یا نامه اداری روی صفحه ظاهر بشه. حتی من در دورانی عکس بک گراند کامپیوترم برنامه ایمیل خوان شرکت بود و در نتیجه می‌شد به شوخی هر وقت رییس می‌یاد، فقط پنجره رو کوچیک کنم و به نظر برسه که مشغول ایمیل‌های شرکت هستم!

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

outlook

کامپیوترهای مکانیکی نیوزلند برای محاسبه احتمالات اسب‌دوانی در ۱۹۱۳

nz2

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

nz_2

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

سیزده پاسخ به اینکه «چرا سی نحس نیست؟»

Screenshot from 2015-11-08 10-03-33

سوال امروزمون اینه:

جادی من این ترم برنامه نویس گرفتم ++C ولی خیلی سخته و یه سوال این زبان برنامه نویسی به چه دردی میخوره وقتی مثلا #C هست چرا باید برنامه نویسی با اون یاد گرفت

اولین جواب که اینه «چون استادتون گفته» (: به هرحال یک جایی هستی که پذیرفتی اونجا باشی و استاد هم داره یک چیزی درس می ده و تو هم باید بخونی و امتحانش بد‌ی (: اما این همه جواب نیست و خیلی‌های دیگه که اصولا تو مدرسه و دانشگاه نیستن هم می‌پرسن که «چرا باید سی /سی پلاس پلاس یاد گرفت». بذار در چندین نگاه مختلف جواب بدم، البته با تکیه بر سی. منم خیلی سی پلاس پلاس کار نیستم.

  1. سی یک زبان پایه‌ است. پسرخاله من گیتار می‌زنه و دخترهای اطرافش حسابی از این مساله خوشحالن. بسیار هم خوب می‌زنه و خیلی هم سریع آهنگ‌های جدید رو یاد میگیره. اون یکی پسر خاله‌ام هم علاقمند شد همین مهارت رو داشته باشه و با تبلچرهای گیتار شروع به تمرین کرد ولی هیچ وقت خیلی خوب نشد. فرقشون چیه؟ اولی مدت‌ها گیتار کلاسیک زده و نت خونی و غیره بلده و دومی فقط با هدف کارهای باحال و نتیجه گرفتن سریع، با تبلچر پیش می ره. این فرق بین کسی که پایه‌ای مثل سی رو بلده و بعد با پایتون برنامه می‌نویسه و کسی که سعی می‌کنه با یاد گرفتن جانگو یک سایت باحال بسازه دیده می‌شه چه برسه به کسی که سی بلده و سی شارپ می‌نویسه و کسی که فقط سی شارپ بلده.
  2. سی زبانی سطح پایینتر از جاوا و پایتون و سی شارپ است که به شما یاد می‌ده سخت‌افزار و سی پی یو چطوری کار می‌کنن و حافظه به چه شکلی مدیریت می‌شه. اگر قراره از برنامه نویسی درک خوبی داشته باشین، دونستن این چیزها کمک بسیار زیادی بهتون می‌کنه.
  3. بعضی معتقد هستند اگر قراره توی برنامه نویسی پیشرفت کنین، لازمه آبسترکشنی یک لایه پایین‌تر از زبان اصلی‌تون رو درک کنین. مثلا اگر پایتون و جاوا و سی پلاس پلاس می نویسین خوبه سی بدونین. اگر سی شارپ می نویسین باید سی پلاس پلاس رو بلد باشین و اگر سی می‌نویسین باید اسمبلی بدونین. اینجوری شیوه کارکرد زبان برنامه نویسی خودتون رو درک می‌کنین. درست مثل کسی که اگر قراره رانندگی حرفه ای کنه باید بدونه کلیت موتور چطوری کار می‌کنه و اگر قراره طراح موتور باشه باید از فیزیک مکانیک هم درک داشته باشه و اگر قراره فیزیک مکانیک رو پیش ببره، لازمه در مورد لایه پایینی (مثلا کوانتوم) اطلاعات داشته باشه.
  4. سی سریع است. برنامه خوبی که به سی نوشته بشه تقریبا از نظر سرعت همه زبان‌های سطح بالاتر رو پشت سر می‌ذاره. اگر قراره چیزی بنویسیم که اولویت اصلی‌اش سرعت باشه، سی یک گزینه بسیار خوبه.
  5. سی بهینه است. اگر قراره برای یک یخچال، تلویزیون و … برنامه نویسی کنیم یا از سیستم‌های امبد استفاده کنیم یا میکروپروسسور‌ها رو کنترل کنیم، سی یکی از بهترین گزینه‌ها است. تقریبا هیچ زبون دیگه ای (به جز اسمبلی) نیست که بتونه با محدودیت‌هایی مثل «حافظه چهار کیلوبایت» کنار بیاد.
  6. سی تقریبا در همه جا حاضره. در حال حاضر محبوب‌ترین زبان‌ها به ترتیب جاوا، سی، سی پلاس پلاس و بعدش سی شارپ هستن. این شاخص هر ماهه آپدیت می‌شه و سی در طول پونزده سال گذشته رتبه‌اش هر ماه یا اول بوده یا دوم.
  7. هر چقدر کار جدی‌تر باشه، حضور سی پر رنگ‌تر است. بحث نوشتن یک سیستم عامل است؟ لینوکس، ویندوز و مک هر سه بیشترین کد سی رو دارن. بحث استک‌های اینترنت است؟ بسیاری از اونها با سی پیاده سازی شدن. حجم عظیمی از مهمترین برنامه‌ها، با سی هستن؛ همینطوره خیلی از بازی‌ها. یاد گرفتن سی به شما فرصت کار روی چیزهایی بیشتر از برنامه حسابداری فلان و برنامه حضور غیاب بهمان رو می ده.
  8. سی یک زبان مبتنی بر بلاک و فانکشن است بدون اینکه شما رو درگیر شی گرایی کنه. نظر شخصی من است ولی آبجکت اورینت پروگرمینگ بیشتر از اونی که لازم بود احاطه پیدا کرد و دنیای آینده ازش دورتر خواهد شد. البته این مساله رو در حال حاضر هم با زبان‌های جدید می‌بینیم.
  9. سی یک زبان سطح متوسط است. تقریبا هیچ زبان دیگه ای در این سطح نیست. شما یا با زبان‌های سطح پایین (مثل اسمبلی) درگیر هستین یا با زبان‌های سطح بالا که سخت افزار رو از شما پنهان می‌کنن. به همین دلیل شروع به نوشتن چیزی مثل یک درایور سخت افزاری با چیزی به جز سی به دلایل خیلی خوبی نیاز داره.
  10. سی پورتابل است. یک برنامه رو با سی بنویسین و تقریبا هر جایی که دوست دارین اجراش کنین.
  11. سی خیلی کم تغییر می‌کنه. یک برنامه رو به سی بنویسین و دهه‌ها اجراش کنین.
  12. سی قشنگ است. سینتکس سی بسیار ساده است و برنامه‌های نوشته به سی بسیار خوانا.
  13. سی در این روزها برنامه‌نویس‌های خوب کمی داره. بازار پر است از سی‌شارپ‌کارهای متوسط و اگر شما علاقمند هستین به یک ارتش ذخیره کار چند ده هزاری بپیوندین، سی شارپ یا دات نت بهترین گزینه است. در مقابل اگر شما حرفه‌ای در سی باشین فرصت‌های کاری بسیار جالبتری پیش روی شماست. فکر می‌کنین وقتی یک شرکت دنبال یک برنامه نویس حرفه‌ای سی می‌گرده چند نفر بهش مراجعه می‌کنن یا اصولا چند نفر هستن که به یک پروژه نوشته شده به سی کامیت‌های مثبت کنن و در سطح جهان دیده بشن؟

معلومه که نمی‌گیم زبان‌های دیگه خوب نیستن. نظر من همیشه اینه که توی هر چیزی خوب باشین وضعتون خوبه و این رو هم می‌پذیرم که خیلی‌ها دنبال یک شغل معمول و مرسوم هستن که خب معمول‌ترین و مرسوم‌ترین زبان برنامه بازار براش بهترین چیزه (: ولی خب.. اگر سوالتون اینه که «چرا سی» جواب‌های من اینها بودن. معلومه که دوستان می‌تونن در کامنت‌ها تکمیلش کنن.

مایکروسافت به زودی سرتیفیکیت‌های مبتنی بر SHA-1 رو غیرفعال می‌کنه، به دلیلی جالب

مایکروسافت در خبری نسبتا غیرمنتظره [اعلام کرده که احتمالا در زمانی به زودی جون ۲۰۱۶ سرتیفیک‌های TLSی که با الگوریتم هش SHA-1 درست شده باشن رو غیرفعال می‌کنه]. دلیل؟ تولید کالیژن (تصادم) در این شکل از رمزنگاری خیلی ارزون شده!

بذارین برای دوستان غیرفنی کمی به عقب برگردم. هش یا همون Hash الگوریتمی است که باعث می‌شه ما بتونیم از یک عبارت یا رشته یا فایل یا هر چیز دیگه که حاوی کمی اطلاعات باشه، به یک رشته برسیم. مثلا هش SHA1 اسم من این می‌شه:

$ echo -n "jadi" | sha1sum
6e2a6b79db87627480f48d9ebc06642b75c2a1d5  -

درست؟ حالا کافیه من به شما بگم «اسمم جادی است و هشش هم با ۶ شروع می شه و آخرش ۵ داره». شما اگر برین خونه و انواع مختلفی از اسم من رو بنویسیم و هش اونها رو حساب کنین، فقط در یک حالت به اون هشت که من بهتون دادم می رسین (اگر هش رو کامل بدم که بهترینه ولی معمولا بعیده دو رقم آخرش هم یکی در بیارد:

jadi@funlife:~$ echo -n "madi" | sha1sum
2ed1bf7f675c3e6a16ee159909348669980cc140  -
jadi@funlife:~$ echo -n "ladi" | sha1sum
423a605398fb490a7a7b583dc88974c2c46917d5  -
jadi@funlife:~$ echo -n "jady" | sha1sum
8d0136e02b2d142917a461130af21346d37c3f83  -
jadi@funlife:~$ echo -n "jaadi" | sha1sum
24dc889795b1aaf9845cd504606c62d3a968bb16  -
jadi@funlife:~$ 
jadi@funlife:~$ echo -n "jadi" | sha1sum
6e2a6b79db87627480f48d9ebc06642b75c2a1d5  -

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

تا اینجا درست؟ حالا آیا ممکنه یک هکر بیاد و فایلی درست کنه که ایزوی واقعی اوبونتو نیست ولی هش اون دقیقا با هش سی دی اوبونتو یکی بشه؟ این مساله از نظر ریاضی ممکنه (چون به هرحال طول هش SHA1 ثابته ولی طول ورودی می تونه متغیر باشه و در نتیجه حتما هش‌های تکراری داریم) اما از نظر عملی این امکان…

از نظر عملی درست کردن یک فایل که هش اون با هش مورد نظر ما دقیقا یکی بشه در سابق بسیار گرون بوده ولی از یک طرف با تلاش متخصص‌های رمزنگاری و ریاضی‌دان‌ها در پیدا کردن روش‌های سریعتر برای ایجاد تصادم و از اونطرف با اومدن کامپیوترهای پیشرفته تر و سریعتر و ارزونتر و بودن سرویس‌های ابری عظیم مثل EC2 آمازون که به آدم‌ها اجازه می ده با گرید کردن کامپیوترهای کوچیکتر به یک سوپرکامپیوتر برسن،‌ درست کردن یک هش تکراری با هش دلخواد هزینه‌اش حسابی پایین اومده، شاید چیزی در حدود ۷۵ تا ۱۲۰ هزار دلار که برای شکستن رمزهای TLS مبتنی بر SHA1 هزینه‌ای بسیار پایین به حساب می‌یاد.

در همراهی با مایکروسافت، موزیلا و گوگل کروم هم اعلام کردن که در زمانی نسبتا مشابه، سرتیفیکیت‌های تی ال اس مبتنی بر SHA1 رو غیرفعال خواهند کرد. کامپیوترها واقعا دارن پیشرفت‌ می‌کنن.