چرا گنو/لینوکس رو دوست دارم: نقشه استان‌هایی از ایران که رفته‌ایم

ایده ساده است: یک برنامه باشه که بتونیم باهاش نقشه‌ای درست کنیم از استان‌هایی از ایران که بهشون سفر کردیم. مثلا مال من می‌شه این:

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

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

چرا به گنو/لینوکس عشق می ورزم: خاطرات یک هکر

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

جادی عزیز، ما یک دیتابیس از ۳۰۰ هزار کاربر داریم که هش شده‌اند. حالا قرار است این افراد به یک سیستم جدید منتقل شوند اما لازم است پسوردهای آنان را داشته باشیم. شرکت سازنده نرم افزار اول و شرکت نویسنده نرم افزار جدید گفته‌اند که امکان کشف اینکه یک هش چه چیزی بوده وجود ندارد. شما راه حلی می‌شناسید؟

راه حل ساده است و مجموعه ای از اسکریپت نویسی جذاب (اینبار پایتون) و ترکیب کردن دستورات خط فرمان گنو/لینوکس. جریان چیه؟‌ اینها سیصد هزار شماره تلفن و پسورد دارند که مال یک سیستم خاص است. پسوردها هش شده‌اند. یعنی چنین چیزی:

9370333**** ea9bf866d98db73eb0909fa9c1cc1b11
9370050**** fcbfab2f4cda26061ed9e3ee96a4fd61
9370750**** 6a130f1dc6f0c829f874e92e5458dced
9370001**** 9ad97add7f3d9f29cd262159d4540c96

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

خب حالا راه حل ما چیه؟ یک راه که بهش «بروت فورث» می‌گن اینه که یکی یکی هر چیز ممکن رو هش کنیم. یعنی اول ۱ رو هش کنیم ببنیم به اون چیزی که اونجا هست می‌رسیم یا نه. بعد ۲ رو هش کنیم. بعد ۱۲ رو بعد ۱۱ رو و خلاصه هر چیز ممکن رو. اینکار یک نیروی کور است و بسیار وقت گیر. اما یک راه هوشمندانه تر هم داریم که بهش می‌گن رنگین کمان / rainbow. تکنیک رنگین کمان اینه که تمام کارهای بالا رو بکنیم (یعنی مثلا اگر اکثر افراد در موبایل از پسوردهای عددی استفاده می کنن از ۰ تا ۹۹۹۹۹ رو هش کنیم و رمز و هش اون رو بریزیم توی یک دیتابیس) و بعد یکی یکی هش ها رو توی دیتابیس سرچ کنیم و پسورد رو نشون بدیم… خب آماده‌اید؟

برای ایجاد همه پسوردهای ۰۰۰۰۰ تا ۹۹۹۹۹ و هش کردن اونها این برنامه پایتون رو نوشتم. مطمئنا می‌تونه بهتر هم نوشته بشه ولی این کار من رو راه انداخت:

#!/usr/bin/python

import MySQLdb

db = MySQLdb.connect("localhost","jadi","password","break" )

# prepare a cursor object using cursor() method
cursor = db.cursor()


for i in range(0, 10000):
    pre = '';
    if i < 10:
        pre += '0';
    if i < 100:
        pre += '0';
    if i < 1000:
        pre += '0';
    num = "%s%s" % (pre, i);
    print num;
    # execute SQL query using execute() method.
    cursor.execute("insert into rainbox values ('%s', md5('%s'));"%(num,num));

# Fetch a single row using fetchone() method.
#data = cursor.fetchone()

# disconnect from server
db.close()

همین برنامه رو برای پسوردهای ۰۰۰۰۰ تا ۹۹۹۹۹ و ۰۰۰ تا ۹۹۹ و ۰۰ تا ۹۹ و ۰ تا ۹ هم کم و زیاد کردم و رنگین کمانی شامل ۱۱۱۱۱۰ پسورد و هش اون ساختم:

mysql> select count(*) from rainbox;
+----------+
| count(*) |
+----------+
|   111110 |
+----------+
1 row in set (0.07 sec)

بعد کلیدی روی هش تعریف کردم که سرچ سریعتر بشه:

mysql> ALTER TABLE rainbox ADD primary index (hash);

حالا وقت شکستن رمزها است. فایلی دارم به اسم users.csv که این شکلی است (چهار رقم آخر تلفن ها رو ستاره کردم که پرایوسی آدم‌ها حفظ بشه):

9370333**** ea9bf866d98db73eb0909fa9c1cc1b11
9370050**** fcbfab2f4cda26061ed9e3ee96a4fd61
9370750**** 6a130f1dc6f0c829f874e92e5458dced
9370001**** 9ad97add7f3d9f29cd262159d4540c96

کافیه این رو با لایبری csv پایتون بخونم، و بعد هش هر خط رو از دیتابیسم کوئری بزنم و اگر جواب داشت توی خروجی تلفن و هش و پسورد شکسته شده رو بنویسم و اگر هم جواب این هش توی دیتابیس من نبود، جلوش بنویسم later تا بعدا از یک جای دیگه پیداش کنم.

#!/usr/bin/python

import MySQLdb
import csv

db = MySQLdb.connect("localhost","jadi","password","break" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

spamReader = csv.reader(open('users.csv', 'rb'), delimiter=' ', quotechar='|')
for row in spamReader:
    tofind = row[1];
    try:
        cursor.execute("select pass from rainbox where hash = '%s'"%tofind);
        data = cursor.fetchone()[0];
        print row[0], tofind, data;
    except: #this hash was not in db
        print row[0], tofind, "later" 

# disconnect from server
db.close()

برنامه بالا رو اجرا می‌کنم و زمان می‌گیرم:

jadi@jubun:~/w$ wc -l users.csv && time python break.py > out.txt
316590 users.csv

real    0m57.226s
user    0m25.362s
sys 0m4.856s

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

jadi@jubun:~/w$ head out.txt 
93703334*** ea9bf866d98db73eb0909fa9c1cc1b11 7523
93700508*** fcbfab2f4cda26061ed9e3ee96a4fd61 8510
93707500*** 6a130f1dc6f0c829f874e92e5458dced 7496
93700013*** 9ad97add7f3d9f29cd262159d4540c96 9538
93700177*** c902514ac30b6e23dbb0c3dc80ec7d4a later
93700858*** ee676ed9ce5bd51b4452ddfbdf962ef7 later
93707848*** 8c249675aea6c3cbd91661bbae767ff1 1986

ظاهرا پسوردهای چهار رقمی مد هستن (: ظاهرا تعداد later ها هم کم نیست. بذارین یک نگاه هم به اونها بندازیم:

jadi@jubun:~/w$ grep later out.txt | wc -l 
1558

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

jadi@jubun:~/w$ grep later out.txt  > later.txt && \
                                cut later.txt -f2 -d' ' | uniq -u | wc -l 
5536

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

jadi@jubun:~/w$ cut later.txt -f2 -d' ' | sort | uniq -u | wc -l 
767

هها! نگفته بودم؟ کل این شش هزار نفر باقیمونده، فقط از ۷۶۷ پسورد استفاده کردن. این ۷۶۷ پسورد رو می‌ریزیم توی یک فایل مجزا برای کشف کردنشون در پست بعدی.

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

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

Found: md5("zaka") = 00a3b206c4ad2cae515e28745423093a

و zaka رو یک جایی ذخیره کنه. کافیه این کار رو برای همه هش‌هایی که هنوز کشف نشدن ادامه بدیم. مشخصه که هنوز یکسری کشف نشده خواهند موند ولی بذارین ببینیم به چی می رسیم. این مرحله به خاطر فرستادن درخواست به اینترنت کندتر است و یک راه حل خوبه اینه که فایل hard.txt و برنامه رو روی یک سرور وی پی اس آپلود کنیم و اونجا اجراش کنیم. همین کار رو می کنم و برنامه پایتون رو هم اینجوری می‌نویسم که یکی یکی هش ها رو برداره، به اون سایت بفرسته و توی خروجی اچ تی ام ال که بر می گرده، خطی که پسورد رو نشون می ده رو جدا کنه. اگر این هش اونجا هم نبود می نویسیم too difficult و از خیرش می گذریم (: بریم ببینیم چی می شه:

#!/usr/bin/python

import urllib
import csv
import re

spamReader = csv.reader(open('hard.txt', 'rb'), delimiter=' ', quotechar='|')
for row in spamReader:
    try:
        # This is here for copy/pasters....
        # Originally by Jadi at jadi.net
        params = urllib.urlencode({'term':row[0], 'crackbtn': 'Crack that hash baby!'})
        f = urllib.urlopen("http://md5crack.com/crackmd5.php", params)
        page = f.read()
        password = re.search('Found: md5\("(.*)"\) = %s' % row[0], page)
        print row[0], password.group(1)
    except: 
        print "too difficult"

و برای اجرا می‌زنیم:

user@remotehost:/tmp$nohup python onlinebreak.py > easy.txt & 

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

jadi@jubun:~/w$ time python break.py > out.txt &&  grep later out.txt | wc -l 

real    0m58.863s
user    0m27.706s
sys 0m5.756s
1558

عالی (: حالا دیگه فقط ۱۵۵۸ نفر داریم که پسوردشون کشف نشده. از سیصد هزار نفری که اول داشتیم، پیشرفت عالیی است (: این هزار و پونصد نفر که پسوردهای غیرمعمول گذاشتن هم می‌تونن زنگ بزنن به پشتیبانی و بگن از امروز پسوردشون کار نمی کنه و اونها براشون ریست می کنن (:

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

jadi@jubun:~/w$ cut out.txt -f3 -d' ' | sort | uniq -c | sort -b -n -r | head
 192019 1234
  11780 2222
  10532 123
   9734 1111
   7547 5555
   5293 12345
   4512 4444
   4473 0000
   2568 3333
   2192 444

و این شما و این پر استفاده‌ترین پسوردهای این سیصد هزار نفر. جالبه که ۶۰٪ از کاربران پسوردشون رو گذاشتن ۱۲۳۴۵. فوق العاده نیست؟

«جادی! چرا اینقدر ضد زن هستی؟»

خب بذارین تمرکز کنم… با دختری حرف می زدم. دختر هنرمند است (به قول خودش آرتیست) و از پسری می‌گفت که یک دوربین خوب داره و استودیوی عکاسی نود (۹۰ نه! نــــــود یعنی لخت). مشتری‌هاش میان به استودیوش که توی خونه‌اش هم هست، لخت می‌شن و عکس می‌گیرن.

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

    – پول هم می‌گیره از مشتری‌ها؟

دختر جواب می‌ده:

    – فکر نکنم. نمی‌دونم.

و من با خنده می‌گم:

    – ظاهرا که باید یک پولی هم بده.

دختر اضافه می‌کنه:

    – احتمالا گاهی با بعضی مشترها هم می‌خوابه دیگه.

این یک متلک پسرونه نیست. جدی است و بر اساس منطق. من اضافه‌تر می‌کنم:

    – پس احتمالا باید پول بیشتری هم بده.

و دختر خیلی جدی بهم جواب می‌ده «جادی تو چرا اینقدر ضد زن هستی؟»

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

یادم نیست خودم به نتیجه می‌رسم یا خودش بهم می‌گه. اوه! الان یادم اومد. خودش بهم گفت و جوری که الان با یادآوری‌اش شوکه بشم. بهم می‌گه «چرا همه‌اش تو چارچوبٍ شدن و کردن فکر می‌کنی؟». اوه!

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

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

بستن روزنامه‌ها و فشار به خبرنگاران

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

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

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

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

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

جمعه ها با کاندوم: کاندومی برای همه فصول

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

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

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

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

بدترین پسورد های ۲۰۱۱

شرکت اسپلش دیتا که کارش نوشتن ابزارهای مدیریت پسورد و کلمه عبور است فهرست ۲۵ بدترین کلمه عبور امسالش رو منتشر کرده. این فهرست از لیست‌هایی درست شده که در طول امسال هکرها منتشرشون کردن. فهرست مثل همیشه است. هر سال همین داستانه:

 1.  password 
 2.  123456 
 3.  12345678 
 4.  qwerty 
 5.  abc123 
 6.  monkey 
 7.  1234567 
 8.  letmein 
 9.  trustno1 
10.  dragon 
11.  baseball 
12.  111111 
13.  iloveyou 
14.  master 
15.  sunshine 
16.  ashley 
17.  bailey 
18.  passw0rd 
19.  shadow 
20.  123123 
21.  654321 
22.  superman 
23.  qazwsx 
24.  michael 
25.  football 

سه شنبه و اعتماد و من راحت

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

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

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

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

بحث مقاله این بود که اینه رسانه ملی؟ و آیا من مالیات می دم که مغازه تلویزیونی برام باز کنن؟ ((: به فرض هم که باز می کنن آیا واقعا رییس جمهور شخصا باید بره یک شبکه برابر در پیت ترین شبکه‌های ماهواره ای که سال ها است دارن سرکوب می شن رو افتتاح کنه برام؟ (:

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

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

به اونجا رسیده‌ایم که استیو وزنیاک کامپیوتر اپل ۱ رو طراحی می‌کنه و استیو جابز به خوبی می‌تونه اونها رو به فروش برسونه. شرکت داره حرفه‌ای می شه و استیو جابز دنبال سرمایه‌گذار و شریک‌های جدید است. مایک مارکولا وارد می‌شه و با گذاشتن اعتباری برابر ۲۵۰ هزار دلار، یک سوم سهام شرکت و بخش مهمی از مدیریت اون رو می‌گیره.. حالا در فصل شش می خونیم…

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

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

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