بایگانی ماهیانه: آگوست 2017

ظهر دیتابیس‌های مبتنی بر جی پی یو

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

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

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

فریب «هر کی تلاش کنه موفق می شه» رو نخورین

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

راستش بهتره به جای نقد جملات ایشون در مورد خودم حرف بزنم.

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

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

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

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

فهرست کتاب های پیشنهادی وای-کامبنیتور برای این تابستون

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

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

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

چرا بیت کوین دو شاخه شد و این دو شاخه شدن چه اهمیتی داره

سه شنبه بخشی از کاربران و گردانندگان بیت کوین، شاخه خودشون رو از بیت کوین اصلی جدا کردن! در اصل یک کپی از تمام تراکنش ها و بلاک چین (blockchain) گرفتن و باهاش یک بیت کوین جدید راه انداختن! کاری عجیب ولی از نظر اونها لازم. این شاخه جدید با شاخه قبلی ناسازگار است و از اینجا ما با دو روند مختلف توی بیت کوین مواجه خواهیم بود. کسانی که شاخه رو جدا کردن، اسمش رو Bitcoin Cash گذاشتن. این دو شاخه از سه شنبه در کنار همدیگه ولی مستقل از همدیگه در حرکت هستن.

پیچیدگی اونجاست که اگر شما قبل از دو شاخه شدن بیت کوین داشتین، حالا چه وضعی دارین. خبر خوب؟ شما الان همونقدر که بیت کوین داشتین، بیت کوین کش هم دارین! اطلاعات رمزنگاری اینها با هم یکی است ولی حداقل در حال حاضر اختلاف قیمتشون با هم زیاده. در حال حاضر بیت کوین ۲۷۵۰ دلاره و بیت کوین کش حدود ۴۵۰ دلار. هرچند که مطمئنا این مقادیر به سرعت تغییر خواهند کرد.

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

اما چرا

تقریبا یکسال بود که بیت کوین مشکلی جدی داشت؛ یک مشکل مرتبط با محدودیتی که برنامه نویس های اولیه اعمال کرده بودن. هر بلاک از بلاک چین بیت کوین محدود ۱ مگابایت است. این محدودیت باعث شده که در حال حاضر تراکنش های کل شبکه بیت کوین محدود به تقریبا ۷ تراکنش در ثانیه باشه که با توجه به شهرت و کاربرد این شبکه، دردسرساز شده.

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

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

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