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

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

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

مساله اینه که بازی شب یلدای ای نتورک هم دقیقا اشتباه بازی سنگ کاغذ قیچی دلیون رو داره. این بازی هم کلاینت ساید است با متغیری به بامزگی winnings که مشخصه می‌کنه چند بار برنده شدین و ریکوئست هایی که بعد از یک تابع encrypt به سرور خبر می‌دن شما چی برنده شدین. این مساله رو سه چهار نفر از دوستان با ایمیل بهم گفتن و به شکل‌های مختلفی هم تونسته بودن مساله رو حل کنن.

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

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

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

شاید تنها تجربه‌های مثبت من در این موارد دوبار بوده. دفعه اول دلیون که اجازه داد فیلمش رو منتشر کنم و جایزه ها رو هم داد و دفعه دوم کسی که یک با هک یک دیتابیس قدیمی به ایمیل من رسیده بود و بهم خبر داد که اون سرویس که من نوشته ام هک شده (:

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

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

عکس العمل بد هاست ایران به مشکل احتمالی امنیتی‌اش

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

hostiran

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

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

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

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

hostiran403

و مطمئن شدم که هاست ایران در برخورد با این شرایط، از سطح انتظارم پایینتر بوده.

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

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

ماجراهای دیجی‌کالا و کالاهای دست دوم

digiktweet1

شرح ماجرا

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

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

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

خوشبختانه این‌بار به توصیه یک نفر در مورد قبلی عمل کردم: «اینبار حین باز کردن فیلم بگیر که مدرک باشه».

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

نتیجه؟ من بعد از یک هفته که از سفارش گذشت، یک پایه دارم بدون میکرووفن و پولم برگشته به حسابم (: من ناراضی هستم چون چیزی که می خواستم رو نگرفتم، دیجی کالا ناراضی است چون برای برندش خوب نیست، پیک ناراضیه چون دو سه بار اومده و یک جایی یک نفر داره سعی می کنه یک میکرووفن باز شده رو به یکی دیگه بفروشه.

ولی حرف‌هایی هست که باید زده بشه

  • کسی از دیجی‌کالا انتظار نداره پرفکت باشه. همه جا اشتباه پیش می‌یاد. ما بازار رو درک می‌کنیم و پیچیدگی کاری مثل کار دیجی کالا در ایران رو. چیزی که حساس است دو تاست.
  1. اولی اینکه اتفاق افتادن دو بار پشت سر هم این مساله برای من (و در کل سه محصول) از نظر آماری خیلی عجیبه. بخصوص که همه در مورد چیزهایی بودن که نسبتا گرون حساب می شن، فروشنده های خاص مشخص دارن و منطقا باید نظم بیشتری داشته باشن.
  2. دومین نکته هم اینه که دیجی کالا باید در این موارد فعال، جوابگو و مثبت باشه. هر دو مکالمه من نکته های منفی داشت. در مورد اول طرف چیزی مثل این ازم پرسید که آیا حالا با کالا مشکلی دارم یا نه. خب منطقا وقتی من می گم کالا دست دوم است دیگه این سوال جایی برای پرسیدن نداره. در مورد دوم خیلی دوستانه سعی شد بهم بگه که بهتره از مراجع مرسوم پیگری کنم و ناراحتی تلویحی داشت از اینکه چرا در توییتر بحث مطرح شده. تکرار می کنم که طرف بسیار دوستانه و محترم بود اما خب سعی کرد این حرف رو بزنه. از معدود دفعاتی که من ممکنه عصبانی بشم. جدی و عصبانی بهش توضیح دادم که اگر نگران برند هستن باید در مورد تحویل کالا دقت بیشتری بکنن یا مثلا جبران کنن اشتباه رو (چیزی بیشتر از پس گرفتن کالا و برگردوندن پول). اینکه بد باشه و ما نگیم، باعث خوب شدن اونها نمی شه بلکه پذیرفتن اشتباه و اصلاح اون است که باعث می شه چهره شون نه فقط بد نشه که حتی بهتر هم بشه. این مورد پر رنگ تر است در مورد آدم هایی که شاید تو توییتر نباشن و سعی می کنن با تلفن پیگیری کنن – حداقل در مورد من که تلفن بسیار کندتر بود و در جواب توییت من هم خیلی ها مشکلاتشون رو گفتن که ظاهرا به اندازه مورد من بهشون توجه نشده بود. بهتر کردن این تاثیری فوق العاده در وجهه دیجی کالا یا هر فروشگاه دیگه خواهد داشت.
  • طبق قانون عجیب ایران که کسانی می‌نویسنش که سواد کافی در این حوزه ندارن، هر کالای خریداری شده از اینترنت رو می تونین تا هفت روز پس بدین! ای مساله نه ربطی به دیجیکالا داره نه لطفی است به خریدار از طرف فروشنده. این یک قانون اشتباهه. من حق دارم لباس رو بخرم، بپوشم و بعد بدون ارائه دلیل پس بدم پولم رو پس بگیرم!‌ این قانون بدی است ولی خب وجود داره پس اینکه کالایی پس گرفته می شه، حق منه نه لطف فروشنده. مشکل این قانون اینه که هیچ حقی به فروشنده نداده و من می تونم اگر می خوام برم کوه یکسری کوله و کفش بخرم برم کوه بیام و بعد پس بدم. این قانون اینقدر یکطرفه و ناکارا نوشته شده که عملا دیگه رعایت نمی شه و فروشگاه هایی که کالاها فقط در صورتی که بپذیرن مشکل اونها است پس می گیرن هم فکر می کنن دارن لطف می کنن – یا حداقل اینطوری مدعی می شن. یک قانون درست و خوب در چنین وضعیتی به نفع همه ما خواهد بود.
  • اما گره اصلی ماجرا اینجاست که در اکوسیستم ایران هستیم. بحث اینه که در نهایت هر کالایی که باز می شه باید به همراهش پولی هم رد و بدل بشه. اینو اضافه کنین به حق من در پس دادن هر چیزی بدون دلیل! در یک کشور درست و درمون اگر کالایی به دلیل منطقی پس داده بشه، در نهایت به کارخونه تولید کننده می رسه و «ضرر» رو کارخونه می ده ولی تو ایران چی؟ توی ایران این میکروفون باز شده و براش پولی داده نشده. این پول رو بالاخره یکی باید بده. منطقا دیجی کالا برای من می فرسته شاید غر نزدم و پولش رو دادم و از دستش راحت شدن. بعد شاید پس بده به فروشنده و فروشنده سعی کنه اونو به یکی که رفته توی مغازه اش غالب کنه – با تکنیک «باز کردن» شرینک در زیر میز و بعد اوردن کالا روی کانتر. اگر اون نتونه بفروشه احتمالا می ده به همکارش تو مغازه بغلی که دوباره بفرسته دیجی کالا و … و در نهایت یک نفر باید پول این کالای باز شده رو بده چون امکان پس دادن اون به کار خونه Rode وجود نداره و وارد کننده هم اینو وارد نکرده حتی روی یکش هم یک قرون ضرر کنه (: این اکو سیستم همه رو مجبور می کنه که در نهایت این رو مثل یک اسکناس پاره اینقدر بچرخونن تا بالاخره یکی قبولش کنه.
  • برای حل مساله بالا امثال دیجی کالا می تونن نگه دارن هر کالا رو از کجا گرفتن و حداقل تو قرارداد جریمه بذارن براشون در مقابل چنین کاری یا دیگه ازشون نخرن. احتمالا خیلی زیاد کار نمی کنه چون به هرحال فروشنده ها هم همین ها هستن ولی خب … شاید بهتر بشه.. یا مثلا در مورد چیزی مثل تبلت سامسونگ بعیده براش جای معتبر و غیر دروغگو پیدا نشه. احتمالا مساله بیشتر وابسته است به فاکتورهایی که کسی مثل مامور خرید برای محل خریدش انتخاب می کنه.
  • و در نهایت.. من از دیجی کالا خریدم می کردم / می کنم برای اینکه مطمئن باشم درگیر اون کلاه برداری های توی مغازه هایی که کالای باز شده رو خودشون باز می کنن می دن دستم نباشم. در واقع تنها دلیل من برای اینکه از دیجی کالا – علی رغم گرونتر بودن نسبی اش – می خرم مطمئن بودن از اصالت و نو بودن کالا است. اگر قرار باشه هر بار ریسک کنم و اگر نو نبود محبور بشم بعد از یک هفته تلفن و پیک پولم رو پس بگیرم و در جای قبلی باشم و ذوقم از بین رفته باشه، ترجیح می دم بازم برم مغازه و مواظب باشم که حتما نو می خرم. من بازم به دیجی کالا فرصت می دم چون حس می کنم تلاششون رو می کنن اما خب پروسه فیلم گرفتن از «آنباکسینگ» رو ادامه می دم و انتظار هم دارم اونها هم برای خودشون در قبال چنین «اشتباهاتی» جریمه هایی در نظر بگیرن.

اگر اعتبار می خواین، به جای تلاش برای مخفی کردن اشتباهات، جرات معذرت خواهی و اصلاح داشته باشین

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

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

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

man

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

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

rohani

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

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

سایتی برای پیش شماره‌های استان‌های ایران

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

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

PishShomare.ir

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

ساخت سایت‌های دولتی در چه پروسه‌ای به کدوم شرکت‌ها داده می شه؟

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

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

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

و از اینجاست که تازه بحث خلاصه ما شروع می شه. مثلا من دیروز داشتم تلاش می کردم کشف کنم پیش شماره ۴۳۱ که به من زنگ زده و جواب ندادم از کجاست. سرچ منو می رسونه به سایت مخابرات استان تهران و این صفحه مهمل:

tct118

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

draft

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

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

و البته خوشبختانه شهرداری هنوز شرک خصوصی نشده (: و این سایتشه که چالیست عزیز برام فرستاده:

metro_site

که اگر طراحی وب بلد باشین می بیینین طراح محترم حتی نمی دونسته که float رو نمی شه اینطوری به td داد و به گفته چالیست «خیلی خیلی غم انگیزه. حس می کنم شاید بشه تو یه مطلب در موردش نوشت و تذکر داد به مترو. پولی که میدن به هرحال از جیب من و شما می ره».

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