چرا گنو/لینوکس را دوست دارم: بررسی سال های تولد در اطلاعات افشا شده ۳۰۰۰۰۰۰ کارت بانکی

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

درود. کارهای آماری جالبی میشه با داده‌ها انجام داد. به عنوان مثال احتمال این که آدمها تاریخ تولدشون رو به عنوان رمز انتخاب کنن بالاست. به دنبال ۱۳۶ بگردبن در فهرست رمزها و مقایسه‌اش کنین با هر عدد ۳ رقمی دیگه‌ای. (۱۳۷ و ۱۳۵ و ۱۳۴ هم تعدادشون بالاست). من اگه دنبال دزدی بودم از اینجا شروع میکردم.

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

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

اگر هنوز با من هستین بگم که اینکارها دقیقا به همین ترتیب انجام شدن و مطمئنا روش های بهتری دارن…. در اصل شما دارین چرک نویس رو می خونین تا ببینین قدم ها چطوری برداشته شدن.

در قدم اول همه صفحات بانک تجارت رو باز می کنم، با ctrl+A متنشون رو کپی می کنم و توی یک ادیتور متنی paste می کنم. من توی لینوکس برای اینکار از gedit استفاده کردم که ادیتور ساده و دم دستی گنوم است… مشخصه که اگر توی ویندوز بودم خود این یک ماجرا بود که کدوم ادیتور ممکنه بتونه این پیست رو قبول کنه و آخ نگه.

به خاطر کپی پیست من فقط متن های توی صفحه ها رو دارم… چیزهایی مثل این:

با یک دستور تمام خط هایی که توشون + هست رو جدا می کنیم. اینها خط های حاوی پسورد هستن:

grep "+" all_tejarat.txt > only_hesab_and_pass

اوه اوه! شد این:

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

رمز مخفي , شماره کارت + رمز مخفي , شماره کارت + رمز مخفي , شماره

پس من برای راحت کردن کارم، همه + ها رو تبدیل می کنم به سر خط:

jadi@jubung:~/Desktop$ sed -e "s/\s+[+]*\s*/\n/g" only_hesab_and_pass > har_password_yek_khat
jadi@jubung:~/Desktop$ head har_password_yek_khat 
رمز مخفي , شماره کارت
رمز مخفي , شماره کارت
رمز مخفي , شماره کارت 6273531000000002,73251531609013
6273531000000087,42984601252954
6273531000000105,90683196772477 6273531000000145,14810051866743
6273531000000146,61558146155078
6273531000000150,14869351127492 6273531000000151,87078051710776
6273531000000201,17221491685028
6273531000000222,32833487680537 6273531000000232,06865382135692
6273531000000232,69595659033276

راستش درست نفهمیدم چی شد! درست کار نکرد ولی بد هم نبود… حالا یک قدم دیگه باید تیکه تیکه کنم این فایل رو. فاصله ها رو به سر خط تبدیل می کنم‌ (:

jadi@jubung:~/Desktop$ sed -e "s/ /\n/g"  har_password_yek_khat > har_password_yek_khat_2
jadi@jubung:~/Desktop$ head -20 har_password_yek_khat_2 
رمز
مخفي
,
شماره
کارت
رمز
مخفي
,
شماره
کارت
رمز
مخفي
,
شماره
کارت
6273531000000002,73251531609013
6273531000000087,42984601252954
6273531000000105,90683196772477
6273531000000145,14810051866743
6273531000000146,61558146155078

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

jadi@jubung:~/Desktop$ grep  ".," har_password_yek_khat_2 | sed "s/^.*,//" > all_passwords
jadi@jubung:~/Desktop$ head all_passwords 
73251531609013
42984601252954
90683196772477
14810051866743
61558146155078
14869351127492
87078051710776
17221491685028
32833487680537
06865382135692

حله (: ببینیم چند تا پسورد داریم:

jadi@jubung:~/Desktop$ wc -l all_passwords 
118499 all_passwords

صد و هجده هزار عدد چهارده رقمی داریم که پسوردها توشونه. حالا می ریم سراغ بررسی نظریه اصلی:

مردم احتمالا سال تولدشون رو به عنوان پسورد می ذارن.

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

#!/usr/bin/perl

while ($userinput =  ) {
	chomp ($userinput);
	for($i = 0; $i <= 10 ; $i++) {
		print  substr $userinput, $i, 4;
		print "\n";
	}
}

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

jadi@jubung:~/Desktop$ echo "73251531609013" | ./find_numbers.pl 
7325
3251
2515
5153
1531
5316
3160
1609
6090
0901
9013

درست کار می کنه پس برنامه رو کامل می کنم:

#!/usr/bin/perl

@passes = ();
for($i = 0; $i <= 9999 ; $i++) {
	$passes[$i] = 0;
}


while ($userinput =  ) {
	chomp ($userinput);
	for($i = 0; $i <= 10 ; $i++) {
		$thispass = substr $userinput, $i, 4;
		$passes[$thispass] += 1;
	}
}

for($i = 0; $i <= 9999 ; $i++) {
	print $i, ",",$passes[$i],"\n";
}

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

jadi@jubung:~/Desktop$ cat all_passwords | ./find_numbers.pl  > all_passwords_charts
jadi@jubung:~/Desktop$ head all_passwords_charts 
0,163
1,150
2,135
3,122
4,137
5,141
6,123
7,138
8,122
9,133

حالا که اینها رو داریم کافیه بریم سراغ برنامه LibreOffice برای کشیدن نمودارها. مثلا این نمودار اول است:

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

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

نظرتون چیه برای اختتامیه یک آمار هم بگیریم از تعداد ارقام؟ مشخصه که یک تغییر کوچیک در برنامه است فقط:

#!/usr/bin/perl

@passes = ();
for($i = 0; $i <= 9 ; $i++) {
	$passes[$i] = 0;
}


while ($userinput =  ) {
	chomp ($userinput);
	for($i = 0; $i <= 13 ; $i++) {
		$thispass = substr $userinput, $i, 1;
		$passes[$thispass] += 1;
	}
}

for($i = 0; $i <= 9 ; $i++) {
	print $i, ",",$passes[$i],"\n";
}

و نتیجه:

jadi@jubung:~/Desktop$ cat all_passwords | ./find_numbers.pl  > all_digits
jadi@jubung:~/Desktop$ cat all_digits 
0,157054
1,180318
2,169604
3,175258
4,166898
5,169252
6,162562
7,158727
8,160099
9,159214

هاه.. می بینین که احتمال استفاده از ۷ و ۹ پایینه (این رو قبلا هم شنیده بودم) و احتمالا استفاده از یک و سه بالا (: توجه داریم که در صورت درست بودن الگوریتم اعداد رندم استفاده شده برای «مخفی کردن» پسوردها، یک نویز سفید اون پایین داریم که احتمالا مساوی پخش شده.

چرا گنو لینوکس رو دوست دارم: ساخت فایل آرشیو رادیوگیک

آپدیت اردیبهشت ۹۳: حالا که مشغول شماره ۴۰ هستیم این فایل فشار زیادی به سرور می یاره و در نتیجه غیرفعالش کردم.. برای دانلود همه شماره ها به آرشیو رادیو گیک روی گیت آی او مراجعه کنین.

یک درخواست اومده به این عنوان:

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

webmaster@server:~/public_html/audio$ ls 
jadi.net_radio-geek_000-dragon-pirates.mp3         jadi-net_radio-geek_004_ashke-maahi-haa.mp3  
radio-geek_jadi.net_000-start.mp3                  jadi-net_radio-geek_001_singularity.mp3            
jadi-net_radio-geek_004_ashke-maahi-haa.ogg        shegeftzar.9.10.khoonasham.sample.story_low.mp3
jadi-net_radio-geek_002_space-and-beyond.mp3       radio24-23-November-2011.mp3                 
shegeftzar.9.10.khoonasham.sample.story.mp3        jadi-net_radio-geek_003_ghoole_bazare_makkare.mp3  
radio24-9-November-2011.mp3                        jadi-net_radio-geek_003_ghoole_bazare_makkare.ogg

در اصل هر فایلی که اینجا باشه و اولش با jadi-net_radio-geek شروع بشه مال رادیو است. پس می شه همه اش رو یکجا فشرده کرد:

webmaster@server:~$ cd ~/public_html/audio/ && tar cfz ../radio_geek_all.tar.gz jadi-net_radio-geek*mp3 

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

http://jadi.net/radio_geek_all.tar.gz

فقط یک قدم دیگه می مونه که کارها رو اتوماتیک کنم. cron توی یونیکس ها این وظیفه رو داره. کافیه بزنم cron -e یعنی می خوام یک کرون جدید تعریف کنم و توش بنویسم:

# m h  dom mon dow   command
42	3	*	*	2	cd /home/jadi/public_html/audio/ && \
                                             tar cfz ../radio_geek_archive.tar.gz jadi-net_radio-geek*mp3

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

تنظیم کل اینکار کمتر از دو سه دقیقه طول می کشه (: برای همین می گیم لینوکس رو دوست داریم چون ایده ها رو به سادگی عملی می کنه: مثل یک جعبه ابزار دارای کلی ابزار مفید که با هم ترکیبشون می کنیم و یک ایده رو سریعا عملی می کنیم.

آپدیت اردیبهشت ۹۳: حالا که مشغول شماره ۴۰ هستیم این فایل فشار زیادی به سرور می یاره و در نتیجه غیرفعالش کردم.. برای دانلود همه شماره ها به آرشیو رادیو گیک روی گیت آی او مراجعه کنین.

اگر سیستم عامل ها ماشین بودند

ویندوز ایکس پی


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

ویندوز هفت


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

ویندوز هشت


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

مک


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

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

لینوکس


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

حرف اصلی


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

توضیحات تکمیلی

  1. دوستان از پشت صحنه می گن اون پژو ۴۰۷ است. به حق چیزهای نشنیده و ندیده ولی ظاهرا درسته. اصلاحش کردم به ۲۰۷
  2. گفته شد که ماشین دو گانه سوز هم می شه دوال بوت
  3. داس پنج به قبل پیشنهاد شد به روروئک و داس شش به روروئک موتور دار یا اسکوتر موتوری
  4. در باز است، باز پرنده است پس در پرنده است سفسطه است. اینکه کسی مثلا از ژیان بدش بیاد و از لینوکس هم بدش بیاد دلیل نمی شه که لینوکس ژیان باشه. باید خصوصیات مشابه بیشتری نشون بدین تا بتونین ادعا کنین چیزی به چیزی شبیه است.
  5. دويست و شش يه سيستم پلاگين خور و قابل توسعه است. سيستم برقش يه چيزي داره مشابه باس که هر قطعه اي اگر با استاندارش صحبت کنه سوارش مي شه و پردازنده مرکزي مي شناسدش. تمام قطعات خودرو مثل پلاگين هستن, قابل تعويض و توسعه.
    حالا اين کجاش ويندوزه؟!

یادگرفتن از یک پرسش: خطای محدودیت میزان حافظه limits.conf

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

توی فروم فدورا اکبر پرسیده:

سلام خدمت دوستان
وقتی برنامه ardour 2.8.12 را اجرا میکنم پیغام زیر ظاهر میشه البته داخل پیام توضیحاتی داده که احتیاج اطلاعات تخصصی داره:

WARNING: Your system has a limit for maximum amount of locked memory. This might cause Ardour to run out of memory before your system runs out of memory.
You can view the memory limit with ‘ulimit -l’, and it is normally controlled by /etc/security/limits.conf

خب من جواب خیلی دقیق رو نمی دونم. ایده هایی در مورد لیمیت ها، page‌کردن در لینوکس و مدیریت حافظه دارم ولی این مورد به نظر چیز جالبی می یاد و فرصتی است برای یاد گرفتن. اول دستور ulimit رو با man ulimit یاد می گیرم. گفته با سوییچ a- میشه محدودیت ها رو دید. من مال خودم رو چک می کنم:

jadi@jubung:~$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 62804
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 62804
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

و می بینم که محدودیت لاک حافظه برای من ۶۴ کیلوبایت است. این یعنی کاربر من فقط حق داره ۶۴ کیلوبایت حافظه رو لاک کنه و احتمالا مربوط به تابع mlock توی برنامه نویسی. از اینجا شروع به سرچ می کنم و با ترکیب سرچ ها و خونده ها و اطلاعات شخصی ام به نتایج جالبی می رسم.

می دونیم که برنامه ها برای اجرا به حافظه احتیاج دارن. این حافظه معمولا از طریق تعریف متغیر و اینجور چیزها اشغال می شه و این سیستم عامل است که تصمیم می گیره چقدر از این اطلاعات رو واقعا توی مموری رم نگه داره و چقدر از اون رو page کنه توی swap. بذار یک کم برگردیم عقب.

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

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

top - 11:00:56 up 1 day, 23:02,  5 users,  load average: 1.06, 1.08, 1.22
Tasks: 230 total,   2 running, 227 sleeping,   0 stopped,   1 zombie
Cpu(s):  9.2%us,  6.6%sy,  0.0%ni, 84.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8062928k total,  7358752k used,   704176k free,   139228k buffers
Swap:  8395772k total,    59136k used,  8336636k free,  2854564k cached

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

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

اما توی سیستم عامل دیدیم که گفتیم:‌

jadi@jubung:~$ ulimit -a | grep memory
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
virtual memory          (kbytes, -v) unlimited

یعنی محدودیتی برای کاربر گذاشتیم که کلا همه برنامه های این کاربر روی هم نتونن بیشتر از ۶۴ کیلوبایت حافظه رو تا لحظه که می خوان توی خود رم واقعی به خودشون اختصاص بدن. این عدد خیلی کوچیکه و در اصل معنی اش اینه که «کسی نمی تونه حافظه رو برای خودش برداره، سیستم عامل است که تقسیم می کنه بر اساس تشخیص خودش». اگر کسی دوست داشته این محدودیت رو به شکل موقت عوض کنه می زنه ulimit -l 1024 یا هر عدد دیگه و اگر بخواد برای همیشه اینو تغییر بده،‌ etc/security/limits.conf/ رو ادیت می کنه.

نکته: به جای عدد اگر بزنی 0 یعنی «نامحدود»

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

دوگوله و فیسبوق : ما رسانه نیستیم، آدمیم

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

توی این سریال آقای ملکی هی می گفت «از اون دوگوله استفاده کنین» (: نمی دونم کلمه رو از کجا آورده بود ولی منظورش مغز بود! حالا حرف منم همینه.. از اون دوگوله استفاده کنین:

نمی دونم چرا این روزها از کجا عادت کردم هی می گم «واقعا؟!!» واقعا؟!! یعنی واقعا یک فوتبالیست مردمی که درود بر شرفش، قبول کرده هزینه های این کودک رو بده به شرطی که پونصد هزار تا ری-شر بشه این عکس و متن؟ واقعا کسی هم هست که فکر کنه «یک دست صدا نداره پس من اینو شر کنم که به جامعه کمک کرده باشم»؟ درک می کنم که دیدن عکس رقت بر انگیزه ولی مطمئن باشین با ری شر کرد چنین متنی کمکی به جامعه نم یکنن. فکر کنین که نویسنده اصلی اصولا درکی از پونصد هزار داشته؟ می فهمیده که اگر هر دقیقه این عکس یکبار شر بشه و این پروسه توی تمام بیست و چهار ساعت ادامه پیدا کنه یکسال طول می کشه که پونصد هزار بار شر شده باشه؟ بعد فوتبالیست مردمی اگر مردم برای یکسال هر دقیقه یکبار اینو شر نکنن پول درمان این بچه رو نمیده؟

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

تصویر بالا رو قدیم ها دیده بودم ولی اصلی رو پیدا نکردم و خودم یک فارسی درست کردم. اینم الان توی کامنت ها دوستان گفتن که مرتبطه

بحرین: نامه عبدالهادی الخواجه از زندان

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

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

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

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

رادیو گیک شماره ۴ – اشک ماهی ها

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

[audio:http://jadi.net/audio/jadi-net_radio-geek_004_ashke-maahi-haa.mp3]

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

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


آرس اس اس رادیو گیک

اخبار

اخراج کمک معلم میشگیانی به خاطر پسورد فیسبوک

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

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

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

بازی لینوکس تایکون

هاهاها! هر روز شاهد کلی توزیع جدید هستیم. همین هفهت لینوکس ایرانیان و خبیر (تلفظش همینه؟) رو داشتیم. همه هم ریمیکس های اوبونتو.. خب چه کاریه؟ چهار دلار بدین این بازی رو بخرین! داستانش اینه که باید یک توزیع لینوکس جدید درست کنین (((: نرم افزار انتخاب کنین، باگ فیکس کنین، برنامه نویس استخدام کنین، کامیونیتی رو مدیریت کنین و توزیعتون مشهور کنین.

آیا صفحات نمایش رتینا وب رو عوض خواهند کرد؟

خبر نیست ولی ارزش یک نگاه رو داره. آی پد توی نسخه جدیدیش از صفحات رتینا استفاده می کنه که رزولوشن عجیبی دارن: 2048 در 1536! این بالاتر از هر لپ تاپ یا دسکتاپی است که من تا به حال باهاش کار کردم و چهار برابر پر پیکسل تر از ای پد قبلی. راه حل دیدن عادی یک صفحه روی چنین رزولوشنی چیه؟ چهار برابر کردن سایز همه چیز تا اونها مثل قبل دیده بشن. این مساله در مورد متن مشکلی درست نمی کنه ولی عکس ها رو وقتی چهار برابر می کنیم کمی مات یا محو به نظر می یان… اما اینطور نخواهد موند. اگر رتینا به دستگاه های دیگه هم برسه (مثلا لپ تاپ یا دسکتاپ) ممکنه ما با رزلوشن های عجیبی مثل ۷۶۸۰ در ۴۳۲۰ طرف باشیم و این یعنی عکس های توی وب باید سریعا سایز خودشون رو بزرگ و بزرگ و بزگرتر کنن تا بشه هنوز با کیفیت دیدشون. دوستان.. وب شاید در حال عوض شدن باشه. مواظب سایز عکسهایی که می گیرین باشین. البته بحث فقط مربوط به وب نیست و اگر جریان بیاد روی دسکتاپ، حتی سیستم عامل هامون هم باید خودشون رو وفق بدن و حداقل مطمئن باشن که از آیکون ها و اجزای گرافیکی وکتور استفاده می کنن که می تونن بدون از دست دادن کیفیت تصویری هر چقدر لازمه رشد کنن.

ششصد هزار مک آلوده به بدافزار

شرکت امنیتی روسی (دکتر وب) می گه که تقریبا ششصد هزار کامپیوتر مک به یک تروجان آلوده هستن. ۷۷ درصد کامپیوترهای آلوده توی کانادا و آمریکا هستن و ۲۷۴تاشون هم توی کوپرنیتوی کالیفرنیا. بد افزار که از سپتامبر ۲۰۱۱ کشف شده بود (تقریبا چهار پنج ماه قبل) خودش رو نصاب پلاگین آدابی فلش پلیر جا می زنه و نسخه جدیدترش حتی از مشکلات امنیتی جاوا در مک هم استفاده می کنه که اپل تازه روز چهارشنبه هفته قبل براش یک پچ امنیتی درست کرده.

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

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

در اعماق

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

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

در این بحث ها دعوا سر اینه که who will watch the watchmen؟ کی به پلیس نظارت می کنه؟ آیا دولت اینو استفاده می کنه برای موندن دائمی در قدرت و خارج کردن همه رقبا؟ آیا روندهای انتخابات دموکراتیک رو با این کار قلع و قمع می کنه و …

لباس و شخصیت.. نه همین لباس زیباست نشان آدمیت!

اگر روپوش سفید یک پزشک رو بپوشین، در لحظه توانایی تمرکز و دقتتون افزایش پیدا می کنه (: ولی اگر همون روپوش رو بپوشین و بهتون بگن مال یک نقاش بوده، همون چیزی که بودین می مونین!

دانشمندها بهش می گن enclothed cognition: تاثیر لباس روی روند ادراک.

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

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


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

تبریک ها و تسلیت ها

تشکر برای بردپیت که در سال ۲۰۰۹ وقتی قرار بود عکسش رو برای روی جلد مجله W بگیرن، قرار گذاشت که مجله حق نخواهد داشت عکس رو ادیت کنه تا مخالفتش رو با ادیت های احمقانه هنرپیشه هایی که تصورات غیرواقعی از انسان ها درست می کنن رو نشون بده. اون از این ناراضی بود که مردم عکس های ادیت شده و کاملا دور از واقعیت هنرپیشه ها رو روی مجله ها می بینن و از اون تصور غیرواقعی، یک ایده آل درست می کنن و زندگیشون رو در راهش پر از غصه و ناراحتی. ممنون بردپیت که جرات داشتی خودت باشی.. با چین های صورتت و با تیپ باحالت.

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

توجه مهم: قبل از اینکه جو گیر بشین و فقط چون دو تا جمله به یکی از دشمن های شما گفته ازش تشکر و تقدیر کنین همه حرف هاش رو بخونین (: مثل شمقدری نباشین (:

هکرها

پیام یک مصاحبه با بیارنه استراستروپ رو اجرا می کنه.

بیارنه استروستروپ (Bjarne Stroustrup) خالق سی پلاس پلاس و یک هکر واقعی است. فقط به این فکر کنین که یک نفر روی کارت ویزیتش می نویسه «فلانی – نویسنده سی پلاس پلاس» (((: این هکر در یک ویدئوی بسیار کوتاه به سه سوال که در مورد شیوه کارش ازش پرسیده می شه جواب داده.. باهاتون به اشتراکش می ذاریم:

سوال: ابزار کارتون چه شکلیه؟

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

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

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

آهنگ

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

درصد کاربران هر روز اینترنت در ایران به تفیک رده های سنی

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

منبع اطلاعات سایت آمار ایران است و اطلاعات مربوط به سرشماری کاربران اینترنت سال ۱۳۸۹.

اطلاعات خام اینها هستن:

درصد    تعداد     رده سنی
۵ – ۹ 	13974	0.4873458865
۱۰ – ۱۴	118719	4.1403475243
۱۵ – ۱۹	374713	13.0681865739
۲۰ – ۲۴	764148	26.6498056754
۲۵ – ۲۹	583318	20.3433253074
۳۰ – ۳۴	295860	10.3181733213
۳۴ – ۳۹	230672	8.044729522
۴۰ – ۴۴	192558	6.7154965808
۴۵ – ۵۴	211789	7.3861813342
۵۵ – ۶۴	70603	2.462292946
 + ۶۵	11014	0.3841153281

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