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

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

 3 AliBehjati
 3 Mohammad
 3 Hesam
 1 Ehsan
 1 Amir1207
 1 Ali1217
 6 Ali0202
 1 Voltan
 2 Amir0119
 1 Saeed
 2 Jamshid
 2 Matin
 3 Narcissus
 2 MassoudM

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

[jadi@jedora ghore.sh]$ cat ghore_keshi.sh 
#! /bin/bash

if [ ! -f "gklist" ]; then
    echo "Write names and scores to 'gklist' file and execute this script at the same directory"
    exit 1
fi

if [ ! -d /tmp/gk ]; then
    mkdir /tmp/gk
else
    rm /tmp/gk/*
fi
cp "gklist" /tmp/gk
cd /tmp/gk

for ((i=0; i<`cat "gklist" | wc -l`; i++)); do
    S="`cat "gklist" | head -$[i+1] | tail -1`"
    NUM="`echo "$S" | awk '{ print $1 }'`"
    NAME="$(cat "gklist" | head -$[i+1] | tail -1 | cut -d\" -f2)"
    for ((j=0; j<$NUM; j++)); do
	echo $NAME >> result
    done
done

LL="`cat "result" | wc -l`"
RANDNUM="`python -c "import random;print(random.randint(1, $LL))"`"
barande=`cat "result" | head -$RANDNUM | tail -1 | cut -d" " -f2 `
cowsay Winner of $1 $barande

نکته بسیار مهم اینه که در یک رای گیری / قرعه کشی و … تا وقتی از نرم افزار آزاد و پروسه‌های شفاف استفاده نشده یعنی یک جای کار می لنگه (منظور فقط تقلب و خباثت نیست. این لنگش(!) ممکنه سواد یا شعور یا دسترسی فنی برگزار کننده باشه).

حالا که همه پروسه‌ها شفافن و هر کسی هم به سورس برنامه انتخاباتی دسترسی داره، می ریم سراغ قرعه کشی. اگر یک سیستم درست داشتیم این بخش هم باید به شکل مستقیم در اینترنت پخش می شد ولی من به خاطر لنگیدن اینترنت درست، ضبطش کردم و آفلاین گذاشتمش روی اینترنت که شبهات به حداقل برسه. با یک خط دستور دوبار برنامه رو اجرا می کنیم برای دو جایزه: اولی تی شرت و دومی ماگ. دعا هم کنیم که برنده تکراری در نیاد! ویدئوی برگزاری رو ببینین؛ با تشکر از شرکت معظم www.aivivid.com که اسپانسری تی شرت مجری رو بر عهده داشتن



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

  • برنده اول مسعود.ام تنها شرکت کننده ما از گوگل پلاس با شانس ۲ که برنده این تی شرت میشه:
  • و برنده دوم متین – اونهم با شانس دو – که این ماگ رو از اسپانسر مسابقه یعنی سیتو دریافت می کنه

با برندگان عزیز برای گرفتن آدرس و ارسال جوایزشون تماس گرفته می شه (: خوش باشین تا مسابقه بعدی

پ.ن. ویدئو رو با این دستور گنو/لینوکسی کوچیک کردم

 $ffmpeg -i DSCN3085.AVI -ab 56k -ar 22050 -b 300k -r 15 -s 480x360 DSCN3085.flv                             

به بهانه درسنامه: کمک به دیگران لذت بخشه‌ همونطور که زندگی در یک جامعه خوب لذت بخشه

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

توی اینکه درسنامه سایت خوبیه و کلی آدم ازش استفاده‌های مفید می کنن و غیره شکی نیست. من هم چند تا از دوره‌هاش رو گذروندم و برام لذت بخش بوده (مثلا دوره اقتصادش که متاسفانه خیلی لیبراله ولی هنوز ارزشمند برای گذروندن) و تبلیغ و پیشنهادش هم کردم. اما آیا به هر چیز خوب رایگان باید شک داشت؟‌

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

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

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

۱- ساعت های بیکاری و حوصله سررفتنمون تقریبا به صفر می رسه چون هر وقت که بخوایم، یک کار جالب برای کردن داریم
۲- دوستای خوبی پیدا می کنیم چون چنین فضاهایی پر هستن از آدم‌های خوب و سالم دیگه
۳- با آگاهی دادن به بقیه و با ساختن خرابی‌های اطرافمون، جامعه بهتری به وجود می‌یاد و شما از زندگی توی یک جامعه با سواد و سالم لذت بیشتری می برین
۴- به نیازهایی مثل «احترام»، «کار خلاقانه»، «احساس مفید بودن» و … جواب می دیم و رضایتمون از خودمون و زندگیمون بالا می ره

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

تکرار می کنم که کار مفید کردن لذت بخشه و آموزش باعث می شه جامعه با سوادتر بشه و زندگی توش لذت بخش تر – البته برای آدم‌های سالم. معلومه که اگر کسی نفعش در بیسوادی مردم باشه،‌ با درسنامه که هیچ، با کتاب و مجله و سینما و موسیقی و اینترنت هم مخالفه و تبلیغ می کنه که همه اینها مخالف امنیت و آرامش و آسایش و آینده و زندگی و … هستن و دقیقا هم بدون اینها جامعه ای می سازه که هیچ کس توش امنیت و آرامش و آسایش و آینده و زندگی نداره (:

اگر دوست دارین آدم چند بعدی باشین، همین الان به درسنامه برین و یک درس مرتبط انتخاب کنین و هر روز بهتر از دیروز باشین

اعلام شرکت کنندگان در قرعه کشی مسابقه حدس سورپرایز اوبونتو

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

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

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

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

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

ghore_ubuntu_surprize
بعله پس چی! من برای مسابقه وقت می ذارم و سعی می کنم مستدل باشم و دقیق!

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

قابل توجه است که شانس زیادی گذاشتیم برای علی (که در دقیقه ۲:۰۲ کامنت گذاشته) که دقیقا خیلی خلاصه گفته «فکر میکنم شبیه کاری که مایکروسافت انجام داد یه اوبونتو فون معرفی میکنه تا چند ماه دیگه که تبدیل بشه به محصول نهایی.» و هم به عدم‌آماده بودن نهایی اشاره کرده هم به استراتژی انتشار.

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

دوهزار و سیزده

dohezarosizdah

بعد از سال ۱۹۸۷، سال ۲۰۱۳ اولین سالیه که توش رقم تکراری وجود نداره.. در این سال تکراری نباشید.

سورپرایز اوبونتو

ubuntu

سایت اوبونتو یک جو سازی رو شروع کرده. باید چند ساعت دیگه صبر کنیم و ببینیم جریان چیه.

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

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

آپدیت: کسانی که توی قرعه کشی شرکت می کنن – با ذکر دلایل – اینجا فهرست شدن.

پهپادهای شهروندی مجهز به دوربین و اسلحه

این آقای مهربون از اینترنت یک درون یا فکر کنم تو فارسی می گیم پهپاد خریده.

Screenshot from 2012-12-26 10:40:47

می‌بینین که بهش یک دوربین و تفنگ پینت‌بال هم وصل کرده و بعد

Screenshot from 2012-12-26 10:40:13

باهاش به ماکت‌های مقوایی آدم حمله کرده و تک تکشون رو با گلوله‌های به سر و گردن و سینه «کشته».

فقط برای اینکه بدونیم کدوم وری داریم می ریم و البته به عنوان الهام برای دوستانی که به کار جذب بودجه‌های عجیب غریب هستن (:‌

اگر اینترنت کم-سرکوب دارین،‌ ویدئوی کامل رو ببینین:

سلام من ایمیل آدرسم را عوض کردم

ظاهرا تعداد زیادی آدم از دیروز تا امروز این ایمیل مهمل رو گرفتن:

emaile_jadid

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

قانون زیف و زندگی روزمره با محوریت کلمات وبلاگ

آپدیت: کد R و فایل اطلاعاتی رو اضافه کردم به ته پست.


این پست حاوی
ریاضیات است

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

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

قانون زیف می گه که

اگر تمام کلمات یک کتاب را بشماریم و از زیاد به کم مرتب کنبم به این نتیجه می‌رسیم که رتبهٔ هر کلمه با فراوانی(بسامد) همان کلمه نسبت عکس دارد، یعنی تعداد بارهایی که هر کلمه در متن ظاهر می‌شود با رتبهٔ همان کلمه در متن رابطه معکوس دارد. این نسبت در کلمات کل متن برقرار است. که به قانون زیف معروف شده‌است. بر طبق زیف کلمه‌ای که در رتبهٔ ۱ قرار دارد دوبرابر بیشتر از کلمه‌ای در متن ظاهر می‌شود که در رتبهٔ ۲ قرار دارد و ۳ برابر بیشتر از کلمه‌ای ظاهر می‌شود که در رتبهٔ ۳ قرار دارد و همینطور تا آخر.

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

f(k;s,N)=(1/(k^s))/(H(n,1))

که k میشه Rank و N میشه تعداد کلمات و تابع H هم میشه تابع اعداد هارمونیک.

این تابع رو روی یک نمودار با دو محور لگاریتیمی می کشیم تا نشون بده که هر کاربرد پر کاربردترین کلمه در یک متن تقریبا دو برابر کاربرد دومین کلمه پر کاربرد است و سه برابر کاربرد سومین کلمه و …

حالا اگر جدولی بسازیم که توش هر کلمه و تعداد ظاهر شدن اون در متن باشه و این رو به ترتیب نزولی سورت کنیم و بهشون از یک تا مثلا سیصد شماره ردیف بدیم، جدولی خواهیم داشت از هر کلمه، رتبه و تعداد استفاده اون در متن. اگر این اطلاعات رو با استفاده از برنامه R (یا هر چیز دیگه!) روی نمودار لگاریتمی – لگاریتمی ببریم به این می‌رسیم:

بررسی قانون زیف برای وبلاگ جادی

و بعدش توضیحات امین رو می خونیم:

توی ساده ترین حالت s برابر ۱ هست.
برای داده های تو هم اگر از مجموعه ۳۰۰ تایی استفاده کنی نتیجه بهتری میگیری (البته تا اونجایی که میدونم این نسبت رو بعضی از قسمتهای مجموعه داده کار نمیکنه)
عدد S هرچی به ۱ نزدیک تر باشه مدل بهتری بر اساس توزیع زیپف هست چون تکرار کلمات در زبانهای طبیعی خیلی heavy-tailed هست. (زبان شناس ها اینو به صورت اینکه مغز انسان بیشتر دوست داره کلمات تکراری استفاده بکنه تا جدید توجیح میکنن)
به نظر من ۰.۷۹ برای مجموعه داده های تو خیلی خوبه چون اینو باید در نظر بگیری که این مجموعه کلمات از یک متن یک پارچه (مثل کتاب) نیامدن و مربوط به پست های متفاوت هستن.

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

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

پ.ن.۲. کد R برای خوندن فایل و کشیدن نمودار چنین چیزی است (کد رو امین نوشته)

Jadi<-read.csv("/home/khikho/Downloads/300.first.words.csv",sep="\t")
plot(sort(Jadi$count/sum(Jadi$count), decreasing=TRUE), xlab="rank", ylab="density",log="xy")
x<-(1:300)
xp<-(1/(x^0.79))/(sum(1/(x^0.79)))
xp1<-(1/(x))/(sum(1/(x)))
lines(xp,co=2)
lines(xp1,co=4)
legend("topright", c("s=1","s=0.79"), cex=0.8,col=c("blue","red"),lty=1);

و فایل سیصد کلمه پر کاربرد با تعداد استفاده شون هم اینجاست

پ.ن.۳. لعنت به سانسورچی (: