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

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

تری پراچت آدم و نویسنده بزرگی بود. موجودی ارزشمند برای ادبیات علمی تخیلی و تمام کسانی که دنیا رو از دریچه کتابهاش بهتر می دیدن.
پراچت در ۲۰۰۷، تشخیص آلزایمر داشت و از همون تاریخ تا آخر عمر تلاش های زیادی کرد برای کمک به تحقیقات مرتبط با این بیماری. تری پراچت دیروز تو تختش، پیش دوستانش و کنار کلاه مشهورش و در ۶۶ سالمین عمر عالی اش، درگذشت.
پراچت دنیایی ساخته بود به اسم Discworld با جادوها، اژدهاها و صندوق های سفری که دنبال مسافرها راه می رفتن و با دندون های تیزشون دزدها رو فراری می دادن. من پراچت رو بسیار دوست داشتم و خوشحالم که آثارش همیشه با ما همراه خوهد بود. اگر می خواین ازش چیزی بخونین دنبال Discworldها بگردین و با حجمی عظیم از کتاب روبرو می شین که نگاهی نو، راحت و بی دغدغه هستن به دنیایی که دنیای ما می تونست باشه و نیست.
دنیا به امثال پراچت نیاز داره و خیلی حیفه که یکی از این آدم ها از بین ما رفته.
مرتبط:
– شمشیر جادویی تری پراچت
– مرگ انتخابی
– دنبال دیت مناسب هستین؟ دنبال کسی بگردین که رمان می خونه
– چرا ادبیات؟
مهشاد برامون نوشته که داره سعی می کنه کل مجموعه تفسیر قرآن مهدس عبدلعلی بازرگان رو از سایت رسمی مهندس بازرگان دانلود کنه ولی چون ساختار سایت خیلی سنتی و صفحه صفحه طراحی شده، اینکار براش سخته و سایت هم جایی رو نذاشته که بتونیم کل جریان رو یکجا دانلود کنیم. با یک نگاه به صفحه مشخص می شه که از این لینک http://bazargan.com/abdolali/main0.html لینک شده به ۱۱۴ سوره و اونجا چندین فایل mp3 در صفحه هست که هر کدوم بخشی از درس های قرآن مربوط به تفسیر اون سوره هستن.
بذارین ماجرا رو پیچیده نکنیم و با دستور جذاب wget همه اش رو بگیریم. از اونجایی که احتمالا حجمش زیاده و اینترنت ما هم اسلامی (که حتی به درد قرآن دانلود کردن هم نمی خوره ظاهرا) وصل می شیم به یک سرور اینترنتی و اونجا این دستور رو می زنیم:
$ wget http://bazargan.com/abdolali/main0.html -r -l3 -c -np -k
سوییچ ها مشخص هستن. r برای دانلود ریکرسیو (تو در توی صفحات) ولی فقط تا سه لایه داخلی (l3) چون لایه اول که همین صفحه است، لایه دوم می شه صفحه ای که سوره ها توش هست و لایه سوم می شه فایل های mp3 و یک c هم اضافه می کنیم به معنی continue که اگر قطع شد وسطش راحت ادامه بدیم و یک np یعنی از جایی که هستیم بالاتر نمی خوایم بریم (no parrent).
روی اون سرور تقریبا پنج دقیقه بعد همه چیز دانلود شده:
$ tree -d -L 3 #فقط دایرکتوری ها و فقط سه لایه
.
└── bazargan.com
└── abdolali
├── gifs
├── MP3
├── PDF
└── video
خیلی هم خوب. ما فقط دایرکتوری MP3 رو می خوایم. حجمش چقدره؟
$ du -hs bazargan.com/abdolali/MP3/
4.4G bazargan.com/abdolali/MP3/
$ du -hs bazargan.com/abdolali/PDF/
184M bazargan.com/abdolali/PDF/
هوم.. حالا که صداها چهارگیگ هستن و پی دی اف ۱۸۴ مگ. تکرار همین کار روی کامپیوتر / سرور شما، همین نتیجه رو خواهد داد. البته اگر راحتتر هستین دوستان خوبم در aivivid که خدمات سرور، میزبانی و خیلی چیزهای دیگه می دن زحمت کشیدن و فایل مگنتی برای تورنت درست کردن و تا مدتی خودشون سید می کنن و بعدش هم اگر کسی دوست داشت، به سید کردن ادامه می ده. تورنت دانلود درس های (صوتی) قران مهندس عبدالعلی بازرگان در صورتی که سید داشته باشه، روشی راحتتر برای دانلود است.
پ.ن. بازرگان جزو آدم هایی است که هم در رژیم پهلوی زندان رفته و هم در رژیم فعلی و اتفاقا در اون رژیم همراه میرحسین موسوی زندان بوده. این تیپ آدم ها نشون می دن که دنبال قدرت نبودن و تلاش می کردن چیزی رو اصلاح کنن. علیرغم اینها، من این درسها رو نشنیدم و نمی دونم چیه و این مساله به عنوان یک سوال لینوکسی برام جالب بوده.
پ.ن.۲. به مهندس ایمیل زدم و پرسیدم آیا مشکلی نیست که من فایل هاش رو به صورت تورنت پخش کنم. جوابشون این بود:
جناب جادي، با سلام و تحيت و تشكر از اطلاع دادنتان و رعايت وجداني حقوق ديگران، اما در مورد قرآن، حق شخصي وجود ندارد و كتاب خدا متعلق به همه است و هرگونه تسهيلي كه هركس دراين زمينه فراهم كند، موجب خوشحالي و تشكر هم خواهد بود
موفق باشيد
بازرگان
یکبار دیگه هشت مارس است و یک بار دیگه تبریکش می گم. خوشحالم از اینکه احتمالا درصد بسیار زیادی از خواننده های این وبلاگ معتقد هستن که زن و مرد هر دو انسان هستن و باید در فرصت ها و حقوق برابر باشن. ما می دونیم که برابری برامون به این معنی نیست که همه چیز همه آدم ها باید همیشه عین هم باشه بلکه به این درک رسیدیم که برابری یعنی برابر بودن در حقوق و فرصت ها.
همیشه هستن کسانی که از برابری می ترسن و با شبه-استدلال مهمل «مگه می شه همه عین هم باشن؟» یا فیگورهای شبه-روشنفکری «من با هر ایسمی مخالفم» یا کلا نفهمیدن جریان و گفتن اینکه «یعنی میگین مردها نوکر زن ها باشن؟» و حتی جملات مرتبط با اولین ترشحهای هورمنی «من ضدفمنیسم هستم» بحث رو بی منطق می کنن ولی کلیت جریان خیلی خیلی ساده است:
همه انسان ها مستقل از جنسیت، رنگ پوست، نژاد، قومیت، دینی که باهاش به دنیا اومدن و هر چیز غیراکتسابی دیگه باید حقوق و فرصتهای برابر داشته باشن.
یعنی اگر من می خوام برم مدرسه، اینکه رنگ پوستم چیه فرصت ثبت نام در یک مدرسه بهتر رو از من نگیره. اگر کار می کنم اینکه زن هستم باعث نشه برای کار برابر کمتر از یک مرد حقوق بگیرم و اگر می خوام برم دانشگاه، اینکه پدر و مادرم بهایی بودن باعث نشه این حق از من گرفته بشه یا فرصت پیشرفت شغلی فقط برای اینکه قومیت من کرد است، برای من کمتر از بقیه قومیت ها نباشه.
پس یادمون باشه که وقتی داریم از برابری حرف می زنیم، از حقوق و فرصتهای برابر حرف می زنیم و درعین حال به عنوان یک انسان برای هر انسان دیگه مستقل از هر چیزی که گفته، کرده، داره یا نداره تمامی حقوق بشر رو قایل هستیم.
مرتبط
– سر پاتریک استوارت و حقوق زنان
– یک چارت ساده: آیا شما فمنیست هستید؟
– یک خبر براتون دارم…
این صفحه هم جالبه و با وجود تبلیغات زیاد و فرانسوی بودنش، ارزش سر زدن داره – البته اگر فرانسوی بلدین که عالیه: صفحه یادبود پروژه های کنار گذاشته شده گوگل از گوگل ریدر مرحوم گرفته تا گوگل باز و آدیو-ادز و لتیتیود و اورکات. حداقل بخشی از نوستالژیهاتون تسکین پیدا می کنه.

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

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

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

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

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

اول نیازمند یک برنامه هستیم که بتونه در یک عکس کبریت ها رو بشمره. بعد با یک اسکریپت این برنامه رو برای همه عکس ها اجرا خواهیم کرد. من برای اینکار اول کتابخونههای cv2 رو امتحان کردم ولی با numpy نتیجه بهتر و قشنگ تری گرفتم. در قدم اول کافیه عکس رو بخونیم، اون ۱ به کتابخونه می گه عکس رو بعد از خوندن خاکستری کنه که کار ما رو راحتتر می کنه:
kebrit = scipy.misc.imread(fileName, 1) # gray-scale image
و خروجی چیز شبیه این است:

اینکه تصویر رنگی است به خاطر اینه که به شکل پیش فرض از پالت jet برای نمایش استفاده کرده ایم که تصویر رو به صورت حرارتی نشون می ده. می گن این برای کارهای علمی راحتتر از خاکستری است. به راحتی می بینین که چیزی که می خونیم با اینکه در سبز معمولی یا خاکستری به نظر یکدست مییاد ولی پر از تیزی و نقطه نقطه است. مثل هر عکس دوربینی دیگه. برای حل این مشکل تصویر رو اسموت می کنیم. اسموت کردن در پردازش تصویر معمولا با استفاده از فیلتر گاوس به دست می یاد که کانولوشن گرفتنی است بین این ورودی و تابع گاوس. البته نگران نباشین، من چون سه بار معادلات دیفرانسیل رو افتادم و آخرش هم یکی دیگه به جام امتحان داد، پایه ام قوی شده (:
kebrit_smooth = ndimage.gaussian_filter(kebrit, 6)
حالا متغیر kebrit_smooth یک تصویر نرم شده از تصویر اصلی است:

قدم بعدی اینه که من بیام و یک ترشهولد روی ورودی بذارم و بگم بیخیال هر چیزی بشه که از این عدد خاص کوچکتر است. این عدد با کمی تجربه و کمی سعی خطا به دست اومده. دستور طبیعی باید این می بود:
tresh = 120 labeled, objectsNum = ndimage.label(kebrit_smooth < tresh)
تابع ndimage.label ورودی خودش رو بررسی می کنه و تعداد اجسام به هم پیوسته توی اون رو می شمره. اما مشکل اینه که حتی تک پیکسل های منفرد هم شمرده می شن. برای جلوگیری از این امر من بهش یک ساختار می دم که شکلم حداقل لازمه چنین ساختاری داشته باشه:
tresh = 120 removeOnes = np.ones((3,3), dtype="bool8") labeled, objectsNum = ndimage.label(kebrit_smooth < tresh, structure=removeOnes)
دقت کنین که اون استراکچر در اصل می گه حداقل تصویر قابل تشخیص من باید این باشه:
array([[ True, True, True],
[ True, True, True],
[ True, True, True]], dtype=bool)
و نتیجه اش این می شه که نقطه های منفرد دیگه شمرده نشن. البته انتظارم اینه که با اسموت کردن مرحله قبل این نقطه ها به حداقل رسیده باشن. نتیجه این ترکیب چنین تصویری است:

و خب چنین خروجی متنی ای:
10boxes/IMG_2608.JPG , 29
حالا کافیه یک اسکریپت ساده، همه ده تا فایل رو به اون برنامه بده:
#!/bin/bash
for f in *JPG
do
../count.py $f
done
و به خروجی زیر برسیم:
$ ./doall.sh IMG_2606.JPG , 35 IMG_2607.JPG , 30 IMG_2608.JPG , 29 IMG_2609.JPG , 32 IMG_2610.JPG , 29 IMG_2611.JPG , 33 IMG_2612.JPG , 36 IMG_2613.JPG , 38 IMG_2614.JPG , 37 IMG_2615.JPG , 38
وقتشه سراغ زبون مورد علاقمون R بریم. یک زبان تخصصی برای کارهای آماری و وررفتن با اعداد و ماتریس ها و رفیق رفقاشون. فایل رو می خونیم و بخش مورد نظر رو جدا می کنیم:
> tavakoli <- read.csv(file="results.csv",head=FALSE,sep=",") > matches <- tavakoli[2]$V2
حالا اطلاعات هر جعبه کبریت رو دارم. بذارین یک نگاه سریع بهش بندازیم:
> summary (matches) Min. 1st Qu. Median Mean 3rd Qu. Max. 29.00 30.50 34.00 33.70 36.75 38.00
بعله. می بینیم که میزان متوسط پایینتر از ۳۴ است. یعنی تعداد متوسط این ده قوطی کبریت ۶ تا کمتر از چیزی است که ادعا شده یا به بیان صحیحتر ۱۵٪ کمتر به ما جنس فروختن. جالبیش اینه حتی یک جعبه از این ده جعبه هم به چیزی که ادعا می شد میانگین است نرسیده. بذارین جلوتر بریم:
> hist(matches, xlim=c(28,42), ylim=c(0,4), main="هیستوگرام تعداد کبریت های توکلی در هر جعبه", sub="www.jadi.net", breaks=8) > curve(dnorm(x, mean=mean(matches), sd=sd(matches))*10, add=TRUE, col="red", lwd=2)
و روی این نمودار با کمی آمار احتمالات می تونیم احتمال اینکه در یک جعبه کبریت اتفاقی توکلی که خریدهایم و مدعی داشتن ۴۰ کبریت است، چهل یا بیشتر کبریت وجود داشته باشد را حساب کنیم:
> 1-pnorm(40, mean=mean(matches), sd=sd(matches)) #یک منهای سمت چپ نمودار نرمال در نقطه ۴۰ کبریت [1] 0.03970968
بله. با اینکه کبریت توکلی مدعی است در هر جعبه اش تقریبا ۴۰ کبریت وجود داره، برنامه پردازش تصویر و نمودارهای نرمال ما نشون می دن که احتمال اینکه واقعا در یک جعبه کبریت توکلی چهل یا بیشتر کبریت باشه، سه صدم درصد بیشتر نیست

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