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

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

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

PishShomare.ir

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

سوال جواب: توسعه چند پلتفرمی

مسعود پرسیده:

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

پس من یک زبان می خوام که نیازی به نصب برنامه اضافی توسط کاربرا نداشته باشه مثل جاوا ! امکان خروجی گرفتن برای ویندوز ، ویندوز فون ، iOS ، اندروید رو داشته باشه و بشه باهاش یک سایت راه انداخت! که منبع اطلاعات همگی از یک سرور باشه! نظر خود من روی پایتونه با فریموورک های Kivy و Django ه! ولی فریموورک های معروف دیگه ای رو هم شنیدم مثل phonegap یا Haxe که به نظر میاد خوب باشن مخصوصا haxe که خودش یه زبان مجزاش و شما یه برنامه باهاش مینوسی و چند تا خروجی متفاوت برای پلتفرم های مختلف بهت میده!

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

آیا کمپین هواپیمایی قطر واقعی است؟ چند تجربه

qatar

اگر در اینترنت ایران باشین به احتمال ده درصد، با کمپین هواپیمایی قطر برخورد کردین که از شما می خواد با ثبت نام یک فرم ساده سه بلیت بیزنس کلس به مقصد دلخواه با این هواپیمایی برنده بشین و شانس من رو هم زیاد کنین ([یا از اینجا برین و شانس منو اضافه نکنین (: [(http://winwithqatarairways.com)… و فراموش نشه که هواپیمایی قطر سال ها است که رتبه اول در رنکینگ بهترین هواییمایی های جهان رو داره.

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

مشکلات هویتی

مثل هر کار موفق و مثل هر کار مشکوک، تعداد زیادی آدم دارن تذکر می دن که آیا این کمپین واقعا مال هواپیمایی قطر است؟ اگر واقعا مال اون هواپیمایی است پس چرا اسم دامین به اسم کس دیگه ای ثبت شده بود؟ چرا از سایت رسمی هواپیمایی قطر هیچ لینکی به این کمپین داده نشده و …

درس: هویت رو تصدیق کنید

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

jadi@funlife:~> whois winwithqatarairways.com

Whois Server Version 2.0
Domain Status: ok
Domain Status: clientTransferProhibited
Registry Registrant ID: 
Registrant Name: Azin Ebrahimian
Registrant Organization: Qatar Airways
Registrant Street: Sayeh Tower , Valiasr Ave
Registrant City: Tehran
Registrant State/Province: Tehran
Registrant Postal Code: 1967713639
Registrant Country: IR
Registrant Email: aebrahimian@ir.qatarairways.com

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

آپدیت: هواپیمایی قطر از سایت رسمی اش به کمپین لینک داد.

مشکلات فنی

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

درس: برای حداکثر برنامه ریزی کنید و تست بار بگیرید

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

تجربه کاربری

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

درس: تجربه کاربری یک تخصص است

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

جمع بندی

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

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

gold_quest

پیشینه

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

جواب صحیح

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

انتخاب شرکت کنندگان در قرعه کشی نهایی و وزن دهی

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

بحث شیرین اسپانسرها

اسپانسرهای عزیز این مسابقه عالی هستن!

faarex capchi
اسپانسر اول ما شرکت کاندوم فارکس است که قبول کرده برای برنده اول یکسال کاندوم مجانی (۶ بسته ۱۲ تایی)، برای برنده دوم سه ماه کاندوم مجانی (دو بسته دوازده تایی) و برای برنده سوم یک هفته کاندوم مجانی (یک بسته دوازده تایی) از محصولاتش رو تقدیم کنه. اسپانسر دوم ما با افتخار و خوشحالی برای ما شرکت چاپ روی چیزهای باحال چاپچی است که قبول کرده برای نفر اول و دوم و سوم، ماگ هایی با لوگوی برنده سایت ارسال کنه! این شرکت یکی از جاهایی است که من مشتری دائمش هستم و امیدوارم همکاری مون ادامه داشته باشه.

فهرست راه یافتگان مرحله نهایی

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

cut -f 1 -d, herami_condom.results | shuf | head
Hamid, comments
Amir, comments
Fattah, comments
Mostafa, comments
Mostafa,https://github.com/redknight/jadi-herami,Paramertic
Sekobo, comments
Bluedream,http://bludream.github.io/pyramid-problem/,great web based
Bluedream,http://bludream.github.io/pyramid-problem/,great web based
Bluedream,http://bludream.github.io/pyramid-problem/,great web based
Bluedream,http://bludream.github.io/pyramid-problem/,great web based
Bluedream,http://bludream.github.io/pyramid-problem/,great web based
Bluedream,http://bludream.github.io/pyramid-problem/,great web based, greap web based presentation
Ali CMP, java and android
Ali CMP, java and android
Ali CMP, java and android
Amir Rasouli, python
Arashbm, https://gist.github.com/arashbm/c6ee1d706df1463b2b5e
Arashbm, https://gist.github.com/arashbm/c6ee1d706df1463b2b5e, ruby & graphs with gp
Salman,https://gitlab.com/akfoss/heram,
Salman,https://gitlab.com/akfoss/heram,Fun lang and good math with Octave
Shahab, Good math
AmirKarimi,https://github.com/AmirKarimi/jadi-herami
EsaHekmat, https://github.com/esahekmat/PyramidSystem, good graph
EsaHekmat, https://github.com/esahekmat/PyramidSystem, good graph
Esfandani, https://github.com/esfandani/gold_quest
Esfandani, https://github.com/esfandani/gold_quest, participated in previous round!
Vahid Ranaei, java
Farhad Fard, https://www.dropbox.com/sh/usn5drfcuo7s761/AABr6OP8zHnLceytVqnJgMrNa?dl=0
Farhad Fard, https://www.dropbox.com/sh/usn5drfcuo7s761/AABr6OP8zHnLceytVqnJgMrNa?dl=0, C++ and graphs
Ali Ghafoori, http://www.alighafoori.com/herami/ & https://github.com/alighafoori/herami
Ali Ghafoori, http://www.alighafoori.com/herami/ & https://github.com/alighafoori/herami, web based
SirSaleh, R & https://github.com/SirSaleh/pyramid_jadi, 
HassanHeydariNasab, https://github.com/HassanHeydariNasab/pyramid_system
Farhad Dalirani, C++
H-Ghadiriani, https://github.com/H-Ghadirian/Pyramid
Hooshmand, http://pentest.ugig.ir/test.php
Hooshmand, http://pentest.ugig.ir/test.php, for zombie methaphor
kasravi,https://github.com/kasravi/GQ,
kasravi,https://github.com/kasravi/GQ,
kasravi,https://github.com/kasravi/GQ,
kasravi,https://github.com/kasravi/GQ,geekiest! A kenel module!
Arash Jafari,https://github.com/arashrj/Gold-Quest-Calculator
Arash Jafari,https://github.com/arashrj/Gold-Quest-Calculator, Windows with a graph
Ahmad Hashemi, https://github.com/sahmmad/Herami
Ahmad Hashemi, https://github.com/sahmmad/Herami
Ahmad Hashemi, https://github.com/sahmmad/Herami, objectiv C for iphone
Deldutt,https://github.com/deldutt/herami,C
moein7tl,https://github.com/moein7tl/herami
moein7tl,https://github.com/moein7tl/herami,wolfram alpha
moein7tl,https://github.com/moein7tl/herami,good maths
Mohsen97, https://github.com/Mohsen97/herami, 
Mohsen97, https://github.com/Mohsen97/herami, clean graphs but not with the main program 
nixoeen, git://git.nixoeen.com/pyramid-scheme

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

اجرای قرعه کشی

برای پیشگیری از هر شکی، ساعت هشت شنبه شروع به قرعه کشی کردم و نتیجه اش فیلم زیر بود:

و دادا داددام! .. برنده های ما عبارت هستن از سه نفر یونیک خروجی دستور زیر:

jadi@funlife:/tmp$ shuf  herami_condom.results | head
Farhad Fard, https://www.dropbox.com/sh/usn5drfcuo7s761/AABr6OP8zHnLceytVqnJgMrNa?dl=0, C++ and graphs
kasravi,https://github.com/kasravi/GQ,
Farhad Fard, https://www.dropbox.com/sh/usn5drfcuo7s761/AABr6OP8zHnLceytVqnJgMrNa?dl=0
AmirKarimi,https://github.com/AmirKarimi/jadi-herami
Bluedream,http://bludream.github.io/pyramid-problem/,great web based
Ali CMP, java and android
Mohsen97, https://github.com/Mohsen97/herami, 
Fattah, comments
Ahmad Hashemi, https://github.com/sahmmad/Herami
Vahid Ranaei, java

یعنی

  • فرهاد فر
  • کسروی
  • امیرکریمی

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

پس برندگان نهایی و جوایزشون عبارت هستند از

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

حالا در این حالت به این شش نفر جایزه ای برابر می دیم که شامل ** ۲ بسته ۱۲ تایی کاندوم فارکس و یک ماگ یادگاری مسابقه از ماگ های چاپچی**‌ است:

  1. فرهاد فر با پیاده سازی سی پلاس پلاس از برنامه مسابقه و نمایش گراف
  2. کسروی با پیاده سازی یک ماجول کرنل برای محاسبه نتایج
  3. امیرکریمی با پیاده سازی اسکالا که می تونه به شکل چند هسته ای هم مساله رو حل کنه
  4. بلودریم به عنوان منتخب هیات گیک های گیر کرده در اینترانت ملی به خاطر نوشتن برنامه به شکل یک ماجول کرنل
  5. Esa به عنوان تنها زوجی که شرکت کرده بودن برای تشویق کارهای گروهی و ترکیب گیک و خانواده و به خاطر نمودار خوب
  6. محسن کیهانی به خاطر اینکه نمودارش رو استفاده کردم در نوشتن این مطلب و درک خوب از ریاضیات مساله و به امید موفقیتش در کنکور امسال

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

شاد باشین.

اگر زبان های برنامه نویسی تفنگ بودند – کارتون

تعریفی تصویری از زبان های سی، سی پلاس پلاس،پرل، جاوا، اسکالا، جوا اسکریپت، گو، راست، بش،‌ پایتون، روبی، پی اچ پی، متمتیکا، سی شارپ، پرولوگ، لیسپ.

if programming languages were weapons

توی ناین گگ دیدم و الان با تعجب دیدم که هیچ کسی ترجمه نکرده و ترجمه راحتی کردم.

مرتبط
اگر زبان های برنامه نویسی کشتی بودند
آیا موفقیت زبان های برنامه نویسی با ریش و سبیل سازنده نسبت دارد؟

پاسخ: ایا برنامه نویسی، شبکه و .. علم است؟

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

سلام احسان عزیز.

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

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

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

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

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

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

مغز، کیبورد و کمپایلر به خط! مسابقه برنامه نویسی پولدارها و بی پول‌های سیستم‌های هرمی

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

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

صورت مساله مسابقه برنامه نویسی هرمی

فرض کنید در یک سیستم هرمی کار با یک نفر شروع می‌شود؛ هر یک از اعضاء در هرماه دو نفر را وارد سیستم می‌کند و پس از شش ماه کار را متوقف و بعد از آن عضو جدیدی وارد سیستم نمی‌کند. زمان لازم برای عضویت تمام جمعیت ایران (۷۰ میلیون نفر*) در درون سیستم به گونه‌ای که باقی‌مانده‌ای وجود نداشته باشد را محاسبه کنید. همچنین محاسبه کنید چه کسانی در این مدت به درآمد خواهند رسید (کسی به درآمد خواهد رسید که برای بیشتر از چهار ماه دست‌کم ۶ نفر زیرشاخه داشته باشد).

نکته: ایده اولیه شبیه سازی گولد کوئست بوده. احتمالا من الگوریتم رو اشتباه گفته ام. اگر کسی الگوریتم دقیقتری از گولد کوئست داره بگه که اینجا بیارم

شرایط مسابقه

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

انتخاب برنده

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

جوایز

دقت کردین که این مسابقه روز جمعه اعلام شده؟ واقعیت اینه که براش اسپانسر داریم! جوایز سه نفر اول به شرح زیر هستن:

  • نفر اول مصرف یکسال کاندوم رایگان بعلاوه ماگ قهرمان برنامه نویسی
  • نفر دوم مصرف یک ماه کاندوم رایگان بعلاوه ماگ قهرمان برنامه نویسی
  • نفر سوم مصرف یک هفته کاندوم رایگان بعلاوه ماگ قهرمان برنامه نویسی

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

روش شرکت

می تونین کدها به همراه نتایج و اگر لازمه روش اجرا رو به jadijadi+herami@gmail.com ایمیل کنید یا کامنت بذارین یا رو گیت هاب آپلود کنین و بهم بگین و هر روش دیگه ای که دوست دارین (:‌ مسابقه دورهمی است برای آگاه سازی عمومی و دست گرمی برنامه نویسی و داشتن یکسال کاندوم رایگان (:

نکته مهم

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

شروع کنین

چون یک هفته بیشتر وقت ندارین. تا جمعه هفته بعد.

با یک خط جاوا اسکریپت و چند تمرین، اوباما به اولین رییس جمهوری آمریکا تبدیل شد که برنامه نویسی کرده

obama

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

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

moveForward(100);

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

اینم اضافه کنم که اوباما اصولا فضای برنامه نویسی رو دوست داره و تبلیغ می کنه و در یک ویدئو گفته بود که آمریکایی ها باید در اینکار پیشرفت کنن و به طور خاص این جمله اش خیلی مشهور شد که

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