به گفته آی.بی.ام، کامپیوترهای کوانتومی رمزنگاری‌های ما رو در هم خواهند کوبید، خیلی هم زود

به گفته مدیر تحقیقات IBM کامپیوترهای کوانتومی با توجه به سرعت رشدشون، به زودی خواهند تونست رمزنگاری‌هایی که ما الان باهاشون اطلاعات حساسمون رو امن می‌کنیم، بشکنن. به گفته آرویند کریشنا، این اتفاق تقریبا در ۵ سال آینده خواهد افتاد. و «هرکسی که می‌خواد اطلاعاتش رو بیشتر از ۱۰ سال امن نگه داره، باید از تکنولوژی‌های جدیدتر رمزنگاری استفاده کنه».

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

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

البته بحث فقط هم سر رمزنگاری نیست. بحث انرژی هم هست. به گفته آی بی ام، کامپیوترهای کوانتومی مصرف برق بسیار کمتری خواهند داشت و جوابی خواهند بود به مشکلاتی که الان با چیزهایی مثل بیت کوین داریم: مصرف برق بسیار عظیم و در حال رشد. البته کریشنا (مدیر تحقیقات‌ای بی ام) گفته که هنوز همه مسائل حل نشدن و هرچند آی بی ام داره تلاش می کنه یک سیستم تجاری مبتنی بر کوانتوم بده (عکس بالا به اسم ای بی ام کیو)، هنوز نیاز به پیشرفت‌های علمی دیگه ای هم هستیم اما به هرحال قدم در راه گذاشته‌ایم. توی همین پنل یک روش رمزنگاری به Lattice Field هم اسم برده شد که انتظار می ره در مقابل حملاتی که توسط کامپیوترهای کوانتومی انجام می‌شه، مقاوم است (اگر خواستین سرچ کنین، من براتون کردم).

انگلیس رکورد عدم استفاده از زغال سنگ رو زد: ۵۵ ساعت متوالی سبز

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

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

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

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

شرکتی که رسما اکسپلویت‌ها و زیرودی‌های سیستم‌های پزشکی و نظامی رو می‌فروشه

شرکت گِلِگ در مسکو، شرکت کوچیکی است که کارش ساختن، جمع کردن و فروختن اکسپلویت‌ها است. اونم نه اکسپلویت‌ها و زیرو دی های معمولی بلکه پک‌هایی برای نرم‌افزارهای نظامی، نرم افزارهای پزشکی، اسکادا و غیره. یعنی حساسترین برنامه‌های ممکن. اولین پک این شرکت در ۲۰۰۴ منتشر شد و حالا طبق ادعای خودشون بیشتر از ۵۰ تا دیتابیس ماجول رو می‌فروشن و محصولی که بخرین هم هر ماه آپدیت می شه، با ماجول‌های Zero Day جدید.

البته معلومه که خود شرکت مدعی می‌شه این پک رو برای کسانی که می‌خوان تست نفوذ انجام بدن می‌فروشه و مدعی است مشتریانش بین فورچون ۵۰۰ هستن اما کاملا می شه مطمئن بود که یکسری خریدار همیشگی هم کسانی هستن که اینها رو برای مقاصد مخفی‌ترین می‌خوان و برای من و شما دو تا نکته جالب هست:

  1. چقدر راحت یک نفر می تونه مشکلات امنیتی بیمارستانی که من توش بستری هستم رو بخره (:
  2. خیلی از کسانی که مدعی هک و غیره هستن، عملا کارشون دلالی این اطلاعات است

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

شبکه مش شورشی‌های ضد قدرت نیویورک؛ روشی برای دسترسی آزاد و ارزان به اینترنت

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

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

شبکه مِش، آلترناتیو آی اس پی‌های کلاسیک است. اونجا شما با کابل وصل هستین و اینجا با وای‌فای.

این شبکه اینترنت اصلی خودش رو از یک اینترنت اکسچنج پوینت میگیره، درست مثل بقیه آی اس پی‌ها. فلسفه پشتش هم اینه که اینترنت رایگان است و فقط دسترسی به اینترنت است که پولیه و پولی که آی اس پی ها در این مورد می گیرن زیادی گرونه و اگر آدم‌ها در یک شبکه مِش به همدیگه کمک کنن، دسترسی بسیار گسترده‌تر و ارزونتر خواهد شد. چنین شبکه ای شاید کم کم ای اس پی ها رو به افسانه‌ای قدیمی تبدیل کنه و از اونطرف کنترل شرکت‌ها و دولت‌ها بر اینکه ما در اینترنت حق داریم چه چیزی رو ببینیم و بشنویم رو از بین ببره و آدم‌ها به شکل مستقل بتونن برای زندگی خودشون تصمیم بگیرن. البته این هنوز در ابتدای راهه و بر خلاف آی اس پی‌های کلاسیک، افرادی که وارد مش می‌شن باید اطلاعات بیشتر و حوصله بیشتری برای متصل شدن به اینترنت داشته باشن. در حال حاضر نمونه‌های بزرگ چیزی مثل Guifi.net در اسپانیا است که با ۳۴هزار نود حدود ۵۰هزار کیلومتر مربع از منطقه کاتالونیا رو پوشش می‌ده. تا اینترنت ارزون رو به آدم هایی برسونه که به خاطر کم بودن آی اس پی‌ها در منطقه‌شون، باید هزینه‌ای بسیار گرونتر برای رسیدن به اطلاعات پرداخت می‌کردن.

چیزهایی که تو دانشگاه نمی‌گن: چجوری روت کاز آنالیز (RCA) تحویل بدیم؟

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

توی دنیای حرفه‌ای، اتفاق بعد می افته و تیم لایه اول ساپورت یا تکنیکال ساپورت لایه دوم و غیره لازمه با تمام سرعت ممکن مشکل رو برطرف کنن. مثلا اگر در سیستم استعلام جریمه رانندگی خراب بشه و درست کار نکنه، بر اساس قرار، مثلا توی چهار ساعت لازمه سرویس کاملا برگرده و درست کار کنه. شما ممکنه در این چهار ساعت سیستم رو ریبوت کنین یا کلا از مدار خارج کنین و سرویس دوم رو بالا بیارین و غیره و مساله از طریق یک workaround حل بشه اما فرداش لازمه مساله به شکل واقعی حل بشه. یعنی نوشتن و ارائه Root Cause Analysis یا همون RCA.

این یک داکیومنت است که توضیح می ده مشکل چرا پیش اومده بود و احیانا چطور می شه جلوی اتفاق مجددش رو گرفت. در واقع شما دارین علت ریشه ای رو تحلیل می کنین. یک مدیر خوب همیشه بعد از هر اتفاق باید از شما RCA بخواد تا ۱) بتونه بفهمه مشکل چرا پیش امده ۲) جلوش رو بگیره و ۳) دفعه بعدی مرجعی داشته باشه برای اینکه باید چیکار کنه.

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

  1. جمع کردن شواهد
  2. تشریح مساله
  3. تحلیل علت و معلول‌ها
  4. پیشنهاد راه حل‌ها
  5. نوشتن RCA

البته مساله همیشه هم به همین راحتی ها نیست و تکنیک هایی هست برای کشف اینکه مشکل کجا بوده. از ترابل شوتینگ سیسمتاتیک تا ۵ بار جواب دادن به این سوال که «چی شد که اینطوری شد؟» و غیره و غیره وجود داره. اما بازم مواردی هست که نمی شه بهش جواب داد. مثلا ممکنه فلان سرویس قطع شده باشه. جواب اول به «چی شد که اینطوری شد؟» اینه که «اپلیکیشن پایین بوده» و جواب بعدی به «چرا؟» این باشه که «چون دیتابیس کرش کرده» و بعد برسین به اینکه «دیتابیس ساعت ۴ کرش کرد» و در جواب به اینکه «چی شد که کرش کرد؟» بعدی جوابی نداشته باشین. حالا شاید بگین:

  1. دیتابیس زاپاس داشته باشیم
  2. لاگ بیشتر اضافه کنیم که ببینیم دیتابیس چرا ممکنه کرش کنه

اولی پر دردسر و گرون است و در واقع فقط فراموش کردن صورت مساله است و دومی یک پینشهاد برای داشتن RCA بهتر در صورت بروز مشکل مجدد.

برای اطلاعات دقیق تر در مورد شیوه نوشتن RCA پیشنهاد می کنم این داکیومنت سریع و راحت با عنوان «رییسم گفته آر سی ای بدم، حالا باید چیکار کنم رو ببینین یا جایی ذخیره کنین چون بدون شک همین که کار حرفه ای تری رو شروع کنین، دائما نیاز به مراجعه بهش خواهید داشت.

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

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

برای اینکار کتاب و غیره هست. یا حتی راهنماهای شروع ولی خب اگر فهرست کاملتری می خواین، پیشنهاد می‌کنم این فهرست با عنوان Every Programmer Should Know رو نگاه کنین. به نظرم خوبه این فهرست رو تگ کنین و هر وقت که بیکار بودین، یکیشون رو بخونین. بخصوص که بعضی‌هاش تازه اشاره‌ای است به فهرست‌های دیگه و البته برای ما متاسفانه بعضی‌هاش هم لینک است به کتاب‌های مختلف.

اگر دوست دارین برنامه نویس بهتری بشین، فهرست چیزهایی که هر برنامه نویس باید بدونه دوست شماست.