همه‌ی نوشته‌های محمد مرادی شهمیری

درباره محمد مرادی شهمیری

امسال کنکور دادم. ان شا الله بعدا اینجا خواهم نوشت: دانشجوی مهندسی برق دانشگاه ... !

سی و هفتمین دوره مسابقات ACM بین‌المللی [به‌روزرسانی: نتایج نهایی اعلام شد]

در حال حاضر، سی و هفتمین دوره مسابقات ACM بین‌المللی در ورزشگاه جوبیلی در سنت پترزبورگ روسیه در حال برگزاری است.

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

مسابقه از ساعت 10:30 صبح امروز به وقت تهران آغاز شده و پس از پنج ساعت، در ساعت 15:30 پایان خواهد یافت.

در این لحظه تیم saboon از دانشگاه صنعتی شریف در رتبه 31ام قرار دارد (با یک حلّ درست). تیم دانشگاه امیرکبیر (Deadly Army of AUT) با یک حلّ درست رتبه 79ام را دارد. )%R}VR?: از دانشگاه تهران هم در رتبه 86ام قرار دارد (بدون حلّ درست). آمار این پست تا پایان مسابقه به‌روز نخواهد شد. برای مشاهده آمار به‌روز می‌توانید از پیوندهای زیر استفاده کنید:

اسکوربرد رسمی مسابقه

یک اسکوربرد غیررسمی

یک اسکوربرد غیررسمی دیگر از احمدعلی (این بنده خدا ربطی به احمدعلی شفیعی نداره و هندی هم هست!)

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

پس از پایان مسابقه این پست به‌روز خواهد شد. 

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

به‌روز رسانی دوم: نتایج نهایی معلوم شد. تیم saboon از دانشگاه شریف 30ام و تیم Deadly Army of AUT از دانشگاه امیرکبیر 67ام شد. از تیم دانشگاه تهران خبری ندارم، ولی ظاهراً هیچ سوالی حل نکرده.

اعضای تیم saboon: آقایان حامد صالح، علیرضا فرهادی و سعید ایلچی؛ مربّی: آقای کامران باور

اعضای تیم Deadly Army of AUT: آقایان رضا حسینی آشتیانی، علی فیوج نوملی و مهدی کاظمی؛ مربّی: آقای پوریا علیمیرزایی

پنج تیم برتر جهان از دانشگاه‌های روسیه، چین، ژاپن و تایوان بودند.

توضیحی در مورد رتبه‌‌ها: در مسابقات این‌چنینی معمولاً شرکت‌کننده‌ها بر اساس شمار سوال‌های حل‌‌شده مرتّب می‌شوند. سپس تیم‌هایی که شمار پرسش‌هایی که حل کرده‌اند، برابر است، بر اساس عکس ترتیب پنالتی مرتّب می‌شوند. پنالتی یک تیم برابر است با مجموع زمان‌هایی که صرف حلّ سوالات گوناگون کرده. علاوه بر آن، برای هر ارسال غلط نیز مقداری به پنالتی اضافه می‌شود. به همین دلیل است که با وجود تعداد سوالات حل‌شده‌ی برابر، تیم saboon بالاتر از Deadly Army of AUT قرار گرفته‌است.

جلد کتاب دایی جان ناپلئون

معرفی کتاب: دایی جان ناپلئون

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

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

جلد کتاب دایی جان ناپلئون
جلد کتاب دایی جان ناپلئون

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

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

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

ایرج پزشکزاد
ایرج پزشکزاد

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

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

پی‌نوشت: لطفاً پای همین پست بنویسید که ترجیح می‌دهید کتاب‌هایی که انتخاب می‌شوند، فارسی باشند یا انگلیسی یا هردو. اگر پیشنهاد دیگری هم دارید، بنویسید (مثلا در مورد موضوع و ژانر کتاب). نظراتتان بر پست‌های (احتمالیِ!) بعدی اثر خواهد گذاشت.

سیاهچاله

چرا اینترنت زمان شما را مانند یک سیاه‌چاله می‌مکد!

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

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

دومین دلیلی که در این مقاله برشمرده می‌شود، لذّت‌هایی است که در آن وجود دارد. این لذّت‌ها عملاً کاربر را شرطی می‌کنند. اگر آزمایش معروف پاولف را به خاطر داشته‌باشید، می‌توانید چیزهایی مانند یک خبر جالب، یک عکس زیبا، یک ایمیل یا پیغام در شبکه اجتماعی و … را مانند غذا و دسترسی به اینترنت را مانند زنگ درنظر بگیرید. علاوه بر آن، انسان ذاتاً اجتماعی است. به همین دلیل، شما معمولاً از کارهایی مانند خواندن پست‌های وبلاگ و ایمیل‌های تازه و گشت و گذار در شبکه‌های اجتماعی لذّت می‌برید.

دلیل دیگر، که بیشتر به ناتوانی در ترک اینترنت مربوط است، محوبودن مرز میان کار مفید و اتلاف وقت است. در بسیاری از شرایط دیگر، مثلاً در بسیاری از مشاغلی که با اینترنت سر و کار ندارند، تفاوت محسوس و مشهوی وجود دارد میان زمانی که شخص کار می‌کند و زمانی که وقت تلف می‌کند. این مرز در اینترنت محو و مبهم می‌شود. بر اساس تحقیقات، به نظر می‌رسد که اراده مانند یک ماهیچه است: با کارکشیدن از آن می‎توان آن را تقویت کرد؛ ولی استفاده زیاد از آن می‌تواند سبب خسته‌شدنش نیز بشود. این اتفاق در اینترنت می‌افتد، چراکه کاربر مدام باید در حال مقاومت و ایستادگی در برابر اتلاف وقت باشد.

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

منبع


مسأله فرعی جالبی که حین نگارش این مقاله به ذهنم رسید، این است که چقدر ویژگی‌هایی که هزاران سال است در انسان نمود داشته‌اند، رنگ و بوی اینترنت و فناوری گرفته‌اند. شخصاً زیاد به این مسأله خوشبین نیستم، گرچه هنوز برای قضاوت زود است و باید صبر کرد. با این وجود، برخی از نتایج منفی این تغییرات همین امروز هم خود را نشان داده‌اند. افزایش معنادار نرخ چاقی و برخی اختلالات دیگر می‌تواند با این مسئله در ارتباط باشد.

گاهی اوقات می‌شونم که بزرگترها به شوخی به دهه شصتی‌ها می‌گویند “بچه‌های روغن‌نباتی”، روغن نباتی دستکم وجود فیزیکی داشت، نرم‌افزار تنها در حدّ برق جاری در مدارهای منطقی وجود فیزیکی دارد. وای به حال ما که “بچه‌های اینترنت” می‌شویم! به نظر شما، ما چه موجوداتی خواهیم شد؟!؟

یک ترانه‌ی زیبا

این آهنگ سنتی در اختتامیه‌ی نخستین مسابقه‌ی بین‌المللی برنامه‌نویسی بیان اجرا شد و واقعاً برای من جالب و تأثیرگذار بود.

متن ترانه:

من که فرزند این سرزمینم

در پی توشه‌ای خوشه چینم

شادم از پیشه‌ی خوشه‌چینی

رمز شادی بخوان از جبینم

قلب ما، بود مملو از شادی بی‌پایان

سعی ما، بود بهر آبادی این سامان

خوشه‌چین، کجا اشک محنت به دامن ریزد

خوشه‌چین، کجا دست حسرت زند بر دامان

ای خوشا، پس از لحظه‌ای چند، آرمیدن، همره دلبران خوشه‌چیدن

از شعف، گهی همچو بلبل، نغمه‌خواندن، گه از این سو به آن سو پریدن

قلب ما، بود مملو از شادی بی‌پایان

سعی ما، بود بهر آبادی این سامان

برپا بود جشن انگور، ای افسونگر نغمه‌پرداز

در کشور سبزه و گل، با شور و شعف نغمه کن ساز

قلب ما، بود مملو از شادی بی‌پایان

سعی ما، بود بهر آبادی این سامان

(متن ترانه از وبلاگ شاد باشید – دریافت آهنگ نیز از این صفحه از همان وبلاگ امکان‌پذیر است. )

گزارش اختصاصی از مسابقه‌ی برنامه‌نویسی بیان (ویرایش: عکس‌ها اضافه‌شدند)

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

بنر کانتست بیان
بنر کانتست بیان

از آنجا که بنده هم فرصت شرکت در این مسابقه‌ی برنامه‌نویسی (کانتست) را داشتم، تصمیم گرفتیم که در اینجا گزارشی از نحوه برگزاری و رویدادهای شنبه را بنویسم.

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

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

روند گزینش
روند گزینش شرکت‌کنندگان مرحله‌ی حضوری

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

  • گنادی کوروتکویچ (tourist) از بلاروس، دارنده‌ی 6 مدال طلای المپیاد جهانی کامپیوتر که دوتای آن‌ها را با حدّاکثر نمره‌ی ممکن کسب کرده است. همچنین نفر اوّل جهان در سایت Codeforces
  • میخاییل کِوِر (cerealguy)، نفر 24ام جهان در سایت Codeforces (مطمئن نیستم، ولی احتمالاً در ACM هم مقام آورده‌است)
  • ماکوتو سوجیما (rng_58) از ژاپن، نفر دوم جهان در سایت Codeforces
  • پیتر شیه (peter50216) از تایوان، نفر ششم جهان در سایت Codeforces
  • ایگور کولیکو (Egor) از روسیه، نفر پنجم جهان در سایت Codeforces

همچنین برنامه‌نویسان دیگری از چین، لهستان، ایالات متّحده و اوکراین نیز برگزیده‌شدند که در نهایت، برخی از آن‌ها در مرحله‌ی حضوری شرکت‌کردند.

فهرست شرکت‌کنندگان کانتست بین‌المللی و رتبه‌هایشان را در اینجا و فهرست شرکت‌کنندگان ایرانی و رتبه‌های آن‌ها را در اینجا می‌توانید ببینید.

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

امّا پس از این مقدمه‌ی طولانی، به اصل ماجرا و مرحله‌ی بین‌المللی مسابقه می‌رسیم.

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

چند نفر از شرکت کنندگان ایرانی در لابی هتل - Codeforces.com
چند نفر از شرکت کنندگان ایرانی در لابی هتل – Codeforces.com

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

فرزاد عبدالحسینی (مدال طلای کشوری المپیاد کامپیوتر) – سیّد حامد ولی‌زاده (مدال طلای جهانی المپیاد کامپیوتر و نفر سوم مسابقه بیان در ایران) – نمی‌شناسم – حامد صالح (مدال طلای کشوری المپیاد کامپیوتر) – علیزضا فرهادی (مدال نقره‌ی جهانی المپیاد کامپیوتر) – نمی‌شناسم

لابی هتل از بالا - Codeforces.com
یلابی هتل از بالا – Codeforces.com

در سمت راست تصویر، شرکت‌کنندگان خارجی قرار دارند. (آن‌هایی که تی‌شرت زرد پوشیده‌اند)

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

Egor, cerealguy, peter50216, liympanda, watashi, kelvin, Dmitry_Egorovanrieff, ivanromanov

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

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

در این مسابقه، شرکت بیان رایانه‌ای را به شرکت‌کنندگان ارائه نمی‌داد و همه با لپتاپ شرکت می‌کردند. به همین دلیل، برای تنظیم سیستم‌ها نیز زمانی در نظر گرفته‌شده‌بود. بر اساس برنامه، مسابقه باید در ساعت 10 صبح آغاز می‌شد؛ اما با تأخیر روبه‌رو شد و (پس از تحویل تی‌شرت‌ها و تنظیم سیستم‌ها) ساعت 12:32 دقیقه آغاز شد.

Codeforces.com
Codeforces.com

در این مسابقه، 7 سوال برای 3 ساعت درنظرگرفته‌شده‌بودند که یک ربع پیش از پایان این زمان، کانتست به مدّت نیم‌ساعت تمدید شد و در نهایت سه‌ساعت و نیمه برگزار شد. سوال‌ها سخت بودند، به گونه‌ای که بسیاری از شرکت‌کنندگان 0 تا 1 سوال حل کردند! طبق آماری که بعداً اعلام شد، نفر نخست جهان 4 سوال و نفر نخست ایران 2 سوال حل کرده‌اند. سوالات مسابقه هنوز در سایت بیان قرار نگرفته‌اند، ولی احتمالاً به زودی در آنجا قرار خواهند گرفت.

غرق در کانتست! - Codeforces.com
غرق در کانتست! – Codeforces.com

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

ویرایش: حاشیه‌ی جالب دیگر این بود که به ازای هر مسئله‌ای که یک نفر حل می‌کرد، بادکنکی با رنگی خاص (ویژه‌ی آن مسئله) جایزه می‌گرفت. این رسم مربوط به مسابقات ACM است. نویسندگان 2برنامه‌نویس قبلاً این رسم را در H2PL (لیگ برنامه‌نویسی راهنمایی حلّی 2)، KPL (همان لیگ که بعداً نامش تغییر کرد) و حلّی‌نت (مسابقه‌ی برنامه‌نویسی دبیرستان علّامه‌حلّی که سال گذشته پس از تأخیری چندین ساله برگزار شد و امسال برگزار نمی‌شود) دیده‌اند.

پس از این مسابقه و صرف نهار، چالش Funkoders (با k!) قرار بود برگزارشود که ماهیت آن را هنوز اعلام نکرده‌بودند، ولی شایعاتی وجود داشت مبنی بر آن که قرار است در این مسابقه، ایرانیان هم بتوانند در برابر رقبای خارجی قد علم کنند. در اصل، این برنامه هم یک کانتست با شیوه‌ی قضاوتی مشابه کانتست اصلی بود، ولی با این تفاوت که 15 سوال آسان و 42 دقیقه وقت داشت. البته در برنامه‌ی اصلی قرار بوده که این کانتست 2 ساعت به طول بینجامد؛ ولی به دلیل تأخیر در آغاز برنامه‌ی اصلی، زمان آن کاهش یافت.

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

مجسمه‌ها - Codeforces.com
مجسمه‌ها – Codeforces.com

این مجسمه‌ها واقعاً به خوبی از پس نقششان برآمدند؛ چراکه با وجود خنده‌ها و تلاش‌های مجدّانه‌ی بنده و دوستان، مرتکب هیچ اشتباهی نشدند!

مجسمه‌ها - nardebaan.ir
مجسمه‌ها – nardebaan.ir

 

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

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

  • پیتر شیه از تایوان نفر اوّل جهان شد و به او مدال طلا، سه سکّه‌ی تمام بهار آزادی و صنایع دستی ایرانی (یک کوزه که فکر می‌کنم میناکاری شده‌بود) تعلّق گرفت. 
  • میخاییل کِوِر نفر دوم جهان شد و مدال نقره، دو سکّه‌ی تمام بهار آزادی و صنایع دستی ایرانی برد.
  • بر خلاف انتظارات، ایگور کولیکو اوّل نشد و سوم شد و مدال برنز، یک سکّه‌ی تمام بهار آزادی و صنایع دستی ایرانی هدیه گرفت.
سه نفر اوّل جهان - nardebaan.ir
سه نفر اوّل جهان – nardebaan.ir

از راست به چپ: پیتر شیه، میخاییل کِوِر، ایگور کولیکو

 

علاوه بر آن، به نفرات برگزیده‌ی ایران نیز جوایزی اهدا شد:

  • سهیل احسانی نفر نخست ایران شد. به او مدال طلا و یک و نیم میلیون تومان وجه نقد تعلّق گرفت.
  • علی فیوج نوملی نفر دوم ایران شد و مدال نقره و یک میلیون تومان وجه نقد برد.
  • سید حامد ولی‌زاده نفر سوم ایران شد و مدال برنز و پانصدهزار تومان وجه نقد جایزه گرفت.
سه نفر برتر ایران - nardebaan.ir
سه نفر برتر ایران – nardebaan.ir

نتایج نهایی را در این نشانی می‌توانید ببینید. البته برخی شرکت‌کنندگان در این جدول حضور ندارند که احتمالاً هیچ سوالی حل نکرده‌اند. (من هم در این جدول حضور ندارم!) نکته جالب این که تمامی 5 نفر نخست ایران، 2 سوال حل کرده‌بودند! و تفاوت میان نفر سوم و چهارم ایران کمتر از یک نمره بود!

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

سخن پایانی

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

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

منبع: در نوشتن این مطلب، علاوه بر مشاهدات شخصی، از تصاویر و مطالب وبلاگ رسمی شرکت بیان و وبلاگ و سایت کانتست بیان نیز استفاده کردم. علاوه بر آن، از برخی مطالب موچود در سایت Codeforces، به ویژه بلاگ ایوان رومانوف، نیز استفاده کردم. برای عکس‌ها، علاوه بر این منابع، از سایت نردبان نیز استفاده‌شده‌است.

شما از چنین کانتستی چه انتظاری دارید؟ آیا مسابقه‌ی امسال به نظر شما رضایت‌بخش بود؟

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

Ubuntu for Phone بر روی Galaxy Nexus

محصول جدید کانونیکال: Ubuntu for Phones

دیشب (13 دی، ساعت 21:30 به وقت ایران) شرکت کنونیکال رسماً از Ubuntu for Phones پرده برداری کرد. این نسخه از سیستم عامل اوبونتو برای اسمارت‏ فون‏ ها بهینه سازی شده است. البته هیچ گوشی مجهز به این سیستم عامل تا کنون تولید نشده و در مراسم معرفی نیز از Galaxy Nexus استفاده شد.

Ubuntu for Phone
Ubuntu for Phone

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

قابلیت جالب و کاربردی دیگر این سیستم عامل این است که هنگامی که به آن نمایشگر، موس و کیبرد وصل کنید، مانند یک PC اوبونتویی کامل کار می کند؛ یعنی می توانید از رابط کاربری و برنامه های دسکتاپ استفاده کنید. این قابلیت مشابه Ubuntu for Android است که پیشتر معرفی شده بود.

بدیهی است که مهم ترین عامل موفقیت یا شکست یک سیستم عامل گوشی هوشمند، اکوسیستم آن و اپ های موجود برای آن است. در این زمینه، امکان تبدیل برنامه های وب به برنامه های دسکتاپ (با امکان دسترسی به منابع سیستمی، مانند فایل ها و غیره) فراهم شده است. علاوه بر آن، امکان Port کردن آسان برنامه های اوبونتو برای اسمارت فون نیز فراهم شده است. با در نظر گرفتن برنامه های موجود در Software Center و پشتیبانی Valve  (یکی از بزرگترین ناشران بازی) که در حال افزوده شدن به اوبونتو است، می توان امیدوار بود که در این زمینه نیز کمبودی نباشد. با این وجود، باید منتظر ماند و دید که آیا این اکوسیستم به اندازه کافی رشد می کند یا خیر.

کمینه سخت افزار مورد نیاز برای اجرای اوبونتوی اسمارت فون شامل پردازنده یک گیگاهرتز، 512 مگابایت رم و 4 گیگابایت حافظه داخلی است. البته با این امکانات، قابلیت استفاده به عنوان PC وجود ندارد. سخت افزار پیشنهادی برای “سوپرفون” نیز شامل پردازنده 4 هسته ای ARM یا پردازنده اتم اینتل، 1 گیگابایت رم و 32 گیگابایت حافظه داخلی است. با توجه به امکانات سخت افزاری پیشنهادی، احتمالاً قیمت گوشی های اوبونتویی از 200$ یا 250$ دلار به بالا خواهد بود.

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

Ubuntu for Phone بر روی Galaxy Nexus
Ubuntu for Phone بر روی Galaxy Nexus

یک مسئله مهم این است که با وجود iOS و اندروید چه نیازی به یک سیستم عامل تازه است؟ پاسخی که به نظر من می رسد، این است که ارزش این سیستم عامل به این است که اولویت کنونیکال تصرف بازار نباشد. البته بدیهی است که یک شرکت تجاری تمایل به فروش و سود بیشتر دارد، ولی چیزی که اوبونتو را متمایز می کند، این است که تا حدّ امکان باز و آزاد است. البته از طرف برخی از بنیان گذاران و سردمداران Open Source و نرم افزار آزاد، مانند GNU، در این زمینه به اوبونتو انتقاد جدّی وارد است، به حدّی که GNU اوبونتو را به عنوان سیستم عامل باز به رسمیت نمی شناسد. نمونه ای از این انتقادها، گزینه نصب کدک MP3 است که در هنگام نصب اوبونتو دیده می شود. همان گونه که احتمالاً می دانید، MP3 کد بسته است و به همین دلیل، بسیاری از نرم افزارهای آزاد به شکل پیشفرض از آن پشتیبانی نمی کنند.

البته از آنجا که هدف اوبونتو بیشتر “سیستم عاملی برای انسان ها” است، این انتقاد بر آن وارد نیست؛ چرا که یک سیستم عامل برای انسان ها، باید بازی ها و نرم افزارهای پرطرفداری که به شکل بسته منتشر می شوند، را نیز داشته باشد. با این وجود، اوبونتو (دستکم تا کنون) تا حدّ امکان به آرمان هایش وفادار مانده و هنوز تا جایی که امکانش باشد، از نرم افزار Open Source استفاده می کند. به همین دلیل، با ورود این سیستم عامل به دنیای موبایل، عنوان “آزادترین سیستم عامل موبایل” بدون شک به آن تعلّق می گیرد.

علاوه بر آن، این سیستم عامل پس از ویندوز 8 و RT مایکروسافت، نخستین سیستم عاملی است که از Desktop به موبایل می رود و به همین دلیل، بیشتر قابلیت ها و کاربردهای PC را دارد.

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

اطلاعات بیشتر درباره ی Ubuntu for Phone را می توانید در سایت آن به نشانی ubuntu.com/devices/phone بیابید.

نظر شما درباره عضو جدید خانواده اوبونتو چیست؟ آیا می تواند موفق شود؟

 

فرهنگ!

امروز در مترو با یکی از دوستان در مورد فروش eBook در ایران بحث می‏ کردم. دوست مورد نظر علاوه بر این که کتاب خوان حرفه ای هست، یک eBook Reader هم دارد. به همین دلیل، گزینه مناسبی برای تبادل نظر در این باره بود.

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

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

در این لحظه آن دوست از من پرسید: «تو می خوای به این مردم یاد بدی eBook بخرند؟»

من:  :|

پی نوشت: میلاد امام موسی کاظم (ع) و شب یلدا مبارک!

کره زمین

کاربرانتان را بیابید – قسمت نخست: تشخیص موقعیت جغرافیایی به کمک HTML 5

هم زمان با توسعه استاندارد HTML 5، گوشی های هوشمند و تبلت مدرن نیز در حال گسترش هستند. یکی از ویژگی های این گجت ها این است که تقریباً تمامی آن ها مجهز به GPS (و در برخی موارد GLONASS) جهت یافتن مکان دستگاه، و کاربر، هستند. به همین دلیل، یکی از کاربردی ترین ویژگی هایی که در HTML 5 معرفی شده، تشخیص موقعیت جغرافیایی است که کاربرد آن را می توان در سایت هایی مانند Google Maps و Foursquare دید. در این مقاله روش یافتن موقعیت جغرافیایی کاربر به کمک HTML 5 مورد بررسی قرار می گیرد.لوگوی HTML 5

همان گونه که می دانید، مختصات هر نقطه ای بر روی زمین را می توان با طول جغرافیایی و عرض جغرافیایی آن نقطه نشان داد. از آنجا که GPS تنها موقعیت کاربر را پیدا می کند، خروجی GPS تنها شامل همین دو عدد است و به کمک HTML 5 نیز همین دو عدد را به دست می آوریم. از آنجا این اعداد به تنهایی کاربرد خاصی ندارند، در قسمت بعدی مقاله به روش تبدیل این اعداد به نقشه یا نام مکان خواهیم پرداخت. با این وجود، پایه تمام امکانات همین طول و عرض جغرافیایی است.

برای دستیابی به موقعیت کاربر در جاوااسکریپت از شئ navigator.geolocation استفاده می شود. برای اطمینان از این که مرورگر کاربر از Geolocation پشتیبانی می کند، می توانید کد زیر را به کار ببرید:

 

if (navigator.geolocation)
{
 //دریافت مختصات کاربر
}
else
{
 alert ("مرورگر شما از مختصات جغرافیایی پشتیبانی نمی کند. لطفاً مرورگر را به روز نمایید.");
}

فهرستی از مرورگرهایی که از geolocation پشتیبانی می کنند را می توانید در اینجا بیابید. به طور کلی، بیشتر مرورگرهای جدید از این ویژگی پشتیبانی  می کنند.

در صورتی که مرورگر از geolocation پشتیبانی کند، با استفاده از تابع geolocation.getCurrentPosition می توانید به مختصات کاربر دست پیدا کنید. برای استفاده از این تابع باید تابع دیگری را به آن بفرستید که یک ورودی بگیرد. پس از این که مختصات کاربر دریافت شد، getCurrentPosition مختصات را به آن تابع می فرستد. به عنوان مثال، کد زیر مختصات کاربر را دریافت کرده و نمایش می دهد:

function showGeolocation (position)
{
   // position.coords.latitude = عرض جغرافیایی کاربر
   // position.coords.longitude = طول جغرافیایی کاربر
   alert (position.coords.latitude + ", " + position.coords.longitude);
}

if (navigator.geolocation)
{
   navigator.geolocation.getCurrentPosition(showGeolocation);
}
else
{
   alert ("مرورگر شما از مختصات جغرافیایی پشتیبانی نمی کند. لطفاً مرورگر را به روز نمایید.");
}

برای آزمایش این ویژگی در مرورگر خودتان می توانید روی این دکمه کلیک نمایید:

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

کره زمین

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

احتمالاً برای شما این پرسش پیش آمده است که داشتن طول و عرض جغرافیایی کاربر به شکل 2 عدد خام چه کاربردی می تواند داشته باشد. پاسخ این است که با کمک APIهای موجود شما می توانید نام محل کنونی کاربر (مثل تهران – خیابان کارگر شمالی) را بیابید، محل کاربر را روی نقشه علامت بزنید و …   در این زمینه منتظر مقالات بعدی این سری باشید.

شما چه کاربردی را برای مختصات جغرافیایی کاربر پیشنهاد می دهید؟

معرفی سایت Instructables: خودتان بسازید

حتماً تا کنون برایتان پیش آمده‏ ­است که به وسیله­ ای نیاز داشته باشید و بخواهید خودتان آن را بسازید. این کار فواید زیادی دارد، مثل این که (در برخی موارد) هزینه تمام­ شده را کاهش می­ دهد، یا این که نمونه­ ای که شما می­ سازید از هر نظر شخصی­ سازی شده و مناسب شماست.

در چنین حالتی، می­ توانید دست به آزمون و خطا بزنید تا موفق شوید، یا از تجربه دیگران استفاده نموده و بدین ترتیب در زمان و هزینه صرفه­ جویی نمایید. سایت Instructables دقیقاً با همین هدف راه­ اندازی شده­ است.

لوگوی Instructables

 در این سایت، هر کسی می­ تواند به شکل رایگان عضو شود، دستورالعمل­ های دیگران را بخواند و برای آن­ ها نظر بگذارد و دستورالعمل­ های خودش را به اشتراک بگذارد. علاوه بر آن، گاهی کتاب­ های الکترونیکی از دستورالعمل­ های برگزیده منتشر می­ شوند که البته بیشتر آن­ها پولی هستند، ولی همه­ ی دستورالعمل­ های آن­­ها به شکل رایگان در دسترس است.

سایت Instructables

آیا سایت دیگری، به ویژه فارسی­ زبان، را می­ شناسید که کاز مشابهی انجام دهد؟

Collusion

در وب چه کسانی رفتار آنلاین شما را زیر نظر دارند؟!

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

 

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

با دریافت و اجرای این افزونه در فایرفاکس، محیطی مانند شکل زیر را مشاهده خواهید کرد:

Collusion

به تدریج که به وبگردی و مشاهده سایت ها و وبلاگ های گوناگون می پردازید، گرافی در این صفحه رسم می شود. در فیلم معرفی این افزونه، نشان داده می شود که چگونه در یک روز عادی، این گراف دارای بیش از 100 رأس می شود! در این گراف، رئوس آبی سایت هایی را نشان می دهند که از آن ها بازدید کرده اید و رئوس خاکستری سایت هایی را نشان می دهند که شما را ردیابی می کنند، ولی شما از آن ها بازدید نکرده اید. برای به دست آوردن اطلاعات بیشتر در مورد یک سایت می توانید روی رأس مربوط به آن کلیک کنید. برای مثال، هنگامی که پس از نصب این افزونه از 2برنامه نویس بازدید می کنید، این گراف به این شکل در می آید:

Collusion

 

برای آشنایی بیشتر، می توانید فیلم معرفی این افزونه توسط گری کُواکس (مدیرعامل موزیلا) را تماشا یا دریافت کنید:

تماشا در تد

دریافت فیلم (سرور تد)

 

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