درباره مجله متن باز «سلام دنیا»

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

HelloWorld

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

اما انتقادها و پیشنهادهای من

۱- غالب مخاطبین این مجله کسانی هستند که نسخه الکترونیک را مطالعه می‌کنند. این موضوع به سادگی از انتشار رایگان آن قابل حدس است. همچنین قیمت‌گذاری انجام شده روی نسخه چاپی (۲۵ و ۳۵ هزار تومان) نشان می دهد که این نسخه‌ها نه در چاپ‌خانه که مستقیما در دفتر مجله و با دستگاه پرینتر چاپ می‌شوند و خود دست‌اندرکاران نیز تعداد سفارش‌های آن را محدود فرض کرده‌اند. حال با توجه به این موضوع بهتر است جهت ورق‌های مجله هم به جای عمودی افقی باشد تا خواندن آن روی کامپیوتر و ابزارهای الکترونیک راحت‌تر شود. در حال حاضر من برای خواندن مطلبی مانند «R، آماردان آزاد» در صفحه ۴۰ باید چند بار صفحه را از بالا به پایین و بعد از پایین به بالا اسکرول کنم. نمونه این انتخاب جهت را می‌توانید در مجله مشهوری مانند Full Circle Magazine اوبونتو هم ببینید که نه تنها فرمت افقی که تناسبات 3:4 را برای سازگاری با مانیتورهای قدیمی در نظر گرفته است.

R-40

۲- شاید برای مجله‌ای که تازه شماره اول (شماره قبلی تازه شماره صفر بود!) آن منتشر شده است، این ایرادگیری کمی زیاده‌روی به نظر برسد. اما انتظار من از طرح‌های روی جلد بسیار بالاتر بود. استفاده مستقیم از نماد‌های گاومیش (کل یالدار؟!) گنو و پنگوئن لینوکس برای «ماهنامه تخصصی نرم‌افزارهای آزاد/متن‌باز» زیادی ساده است و احساس رفع تکلیف به آدم دست می‌دهد. اشاره‌های انتزاعی‌تر و گرافیکی‌تر یا طرح‌های ترکیبی و مدرن می‌تواند جذابیت بیشتری داشته باشد.

Cover

۳- نکته دیگر این‌که غالب دوستانی که دست‌اندرکار مجله‌اند حتما با ادبیات تخصصی این حوزه آشنا هستند یا در این زمینه مطالعات مفصل داشته‌اند. به همین دلیل استفاده از معادل‌های جدید و حتی گاه عجیب و غریب در این مجله چندان جالب نیست. مثلا در مطلب «چطور به نرم‌افزارهای آزاد مهاجرت کنیم؟» در صفحه ۲۹ شماره اخیر از لغت «کراس بستر» استفاده شده که حدس می‌زنم ترجمه Cross Platform باشد که نه تنها مرسوم نیست که کلا نصفه و نیمه است. اگر با لغت «کراس» مشکلی نداریم خب «پلتفرم» را هم پشت آن می‌نویسیم و خلاص.

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

Flowchart-30

۵- یکی دیگر از نکاتی که شاید ذکر آن کمی زیاده‌روی به نظر برسد این است که رسم معمول مجلات (حداقل در مجله شبکه) این است که تعداد صفحات مطالب را به عنوان تعداد صفحات مجله معرفی می‌کنند. به عبارتی درست است که شما شماره اول مجله «سلام دنیا» را به صورت یک پی‌دی‌اف ۱۰۲ صفحه‌ای دانلود می‌کنید، اما ۱۰۲ صفحه مطلب دریافت نمی‌کنید. باز هم می‌گویم شاید این مورد کمی ایرادگیری به نظر برسد.

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

BrokenLink

۷- یک ریزه‌کاری دیگر این که «پرونده» نشریات معمولا مغز نهایی و خواندنی‌ترین قسمت نشریه است. معمولا جای این مطلب وسط یا نزدیک انتهای مطالب است. شاید آوردن آن در ابتدای مجله چندان جالب نباشد!

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

جمع‌بندی

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

نوستالژی: زمانی که مردها هنوز مرد بودند! (بخش پایانی- هک‌های عمیق‌تر)

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


برنامه‌نویسی پیشرفته با Commodore 64 Programmers Reference Guide

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

c64-ProgrammersReferenceGuide

اما برخلاف ظاهر بدترکیب و مدت کوتاهی (کمتر از یک هفته) که آن را در اختیار داشتم، این کتاب تاثیر بسیار شدیدی روی دانش من از کامپیوتر (در مقیاس آن دوران) گذاشت. Commodore 64 Programmers Reference Guide در واقع کتاب مقدس برنامه‌نویسان کمودور بود:

مرجعی کامل برای درک کامل یک کامپیوتر.

چیزی که بعید می‌دانم در دنیای کنونی ما برای یک گوشی کوچک موبایل هم وجود داشته باشد. با این کتاب تازه فهمیدم که چیزی به اسم زبان ماشین هم وجود دارد. مفهوم IRQ و عملکردهای بیتی AND و OR را فهمیدم و مفاهیم پوینتر و ذخیره آدرس دو بایتی و بسیاری چیزهای دیگر را درک کردم. بارهای اولی که بازی‌های کمودور را LOAD می‌کردم با تصور این‌که با خواندن کد برنامه می‌توانم آن را درک کنم و تغییر دهم، دستور LIST را اجرا می‌کردم تا برنامه بازی را ببینم و غالبا تنها با یک خط روبرو می‌شدم:

10 SYS 2061

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

صرفه‌جویی در حافظه، برنامه‌ای که خودش را تغییر می‌داد

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

10 FOR I=1 TO 100

به جای این‌که با احتساب فضاهای خالی ۱۷ کاراکتر جا بگیرد، تبدیل می‌شد به ۹ بایت کد. دو بایت برای شماره خط، دو بایت برای آدرس شروع خط بعدی، یک بایت کد FOR، یک بایت I، یک بایت علامت مساوی، یک بایت عدد ۱، یک بایت کد TO و یک بایت هم ۱۰۰. وقتی این را فهمیدم به این فکر افتادم که احتمالا می‌شود با چند دستور POKE و عوض کردن خانه‌های مناسب حافظه، خود کدهای برنامه در حال اجرا را عوض کرد به گونه‌ای که در هر بار اجرا عملکردی متفاوت داشته باشد.

escher-hands

برنامه‌ای برای این کار نوشتم و آنقدر با شماره خط‌ها و علامت‌های «:» اضافی (جدا کردن دستورات در یک خط) بازی کردم تا بالاخره تغییر محتویات آدرس‌ها Syntax برنامه را خراب نمی‌کرد. حالا برنامه‌ای داشتم که در یک بار اجرا عدد ۱ را چاپ می‌کرد و بار دوم عدد ۲ را و این کار را با متغیرها انجام نمی‌داد. سورس برنامه عوض می‌شد و اگر از آن LIST می‌گرفتم، هر بار لیستی جدید را به نمایش می‌گذاشت! البته هیچ کاربردی برای این برنامه متصور نبودم، اما همین الان با خواندن مطلب ویکی‌پدیا در مورد self-modifying code فهمیدم که چنین برنامه‌هایی می‌توانند کاربردهای جالبی داشته باشند!

احتمالا الان می‌توانید حدس بزنید که ۲۰۶۱ از کجا آمده است. برنامه بیسیک تنها برای این نوشته شده بود که برنامه اصلی بازی به زبان ماشین را صدا بزند. برنامه‌نویسان هم برای حداکثر استفاده از حافظه، روال‌های زبان ماشین را درست از اولین آدرس خالی بعد از کدهای بیسیک ذخیره کرده بودند.

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

کارتریج ACTION-VI : دنیای جدید

در جست‌وجوی یک کارتریج اسمبلر به کارتریج اکشن ۶ برخورد کردم (که باز هم مطابق دید عموم مردم از کمودور ۶۴ به عنوان یک کنسول بازی) برای «نسوز کردن بازی‌ها» مشهور شده بود. اما ابزاری بسیار قدرتمند بود و توانایی‌هایی بسیار بیشتر از اجرا کردن کدهای تقلب بازی‌ها داشت.

 

ActionReplay-6

این کارتریج یک برنامه اسمبلر سریع با خودش داشت. امکاناتی برای فرمت کردن و آماده‌سازی دیسکت‌ها، گرفتن نسخه‌های پشتیبان، دستکاری تنظیمات حافظه و نصب یک Fast Loader فراهم می‌کرد و از همه مهم‌تر سیستمی داشت که می‌توانست محتوای حافظه RAM کمودور را به اصطلاح فریز کرده و بعد از ویرایش خانه‌های دلخواه دوباره کمودور را وادار به ادامه کارش کند. یکی از کلیدهایی که بالای کارتریج می‌بینید (معمولا سمت راستی) دکمه ریست است و دیگری دکمه فریز کردن حافظه. تصویر زیر صفحه آغازین کمودور را هنگام زدن کلید ریست این کارتریج نشان می‌دهد.

ActionReplay6-ScreenShot

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

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

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

balloon

برای کند کردن سرعت برنامه دو حلقه تو در توی ۲۵۶ تایی خالی را برای تلف کردن وقت داخل حلقه اصلی بازی گذاشتم تا موفق شدم بالن را ببینم. اما باز هم بالن با سرعت نور قطر صفحه را طی می‌کرد و برنامه تمام می‌شد. به این فکر افتادم که برنامه ۸ وزیر را برای سرعت بالا با اسمبلی بنویسم ولی سواد واقعی من در اسمبلی به چند دستور JMP و CMP و ADD محدود می‌شد که برای برنامه‌ای پر از شرط و محاسبات مانند ۸ وزیر بسیار کم بود.

مالتی تسکینگ واقعی با IRQ

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

IRQ

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

هک آخر، بازی دوست‌داشتنی

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

arkanoid_level_10

اما باز هم بازی کردن ۳۲ مرحله Arkanoid با احتساب هر مرحله ۲ یا ۳ دقیقه، آن هم بدون SAVE کلی زمان می‌برد. هک اصلی این بود که من بعد از نسوز کردن بازی به سراغ محتویات حافظه تصویر می‌رفتم و آن‌ها را پاک می‌کردم. اگر خاطرتان مانده باشد در قسمت قبلی گفتم که پس‌زمینه‌ها و برخی اجزای بازی‌ها با فونت‌ها ساخته می‌شدند. من چیزی مانند دستور cls را اجرا می‌کردم و خلاص! همه آجرها از بین رفته بودند. فقط کافی بود در هر مرحله یک بار فریز کنم، حافظه تصویر را پاک کنم و بعد از برگشت به بازی عمدا بسوزم.

arkanoid_last_level
غول مرحله آخر

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

پایان داستان

شاید شما هم کنجکاو باشید که بر سر این ابزار عزیز چه آمد! واقعیت چندان هم جذاب نیست! حدود سال ۸۱ بود، ده سال از خرید کمودور می‌گذشت و در دوران پادشاهی پنتیوم ۲ و ۳ مدت‌ها بود سراغش نرفته بودم. آن زمان هم هیچ‌گاه فکر نمی‌کردم چنین حس نوستالژیکی نسبت به این اولین کامپیوترم پیدا کنم. به همین دلیل آن را با همه کارتریج‌ها و نوارها و دسته‌های بازی در اصفهان به قیمت ۱۰۰۰۰ تومان فروختم. کاری که اکنون حس می‌کنم از انجامش به شدت پشیمانم!

c64_Pack


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

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

تا آن زمان، با ماشین‌های‌تان خوش باشید و لذت ببرید!

تائوی برنامه‌‏نویسی

استاد می‏‌گوید:

هنگامی که سه روز بگذرد و برنامه‏‌ای نوشته نشود، زندگی معنای خود را از دست خواهد داد.

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

ما می‏‌توانیم به تنهایی کافی نیست

هیلاری کلینتون، ساب‏‌سون و باقی قضایا

این مطلب را ابتدا برای وبلاگ اهالی شبکه نوشتم اما بد ندیدم آن را اینجا هم عنوان کنم:

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

1- با توجه به این عکس، هکر محترم در واقع یک سایت مبتنی بر وردپرس (درست مانند همین وبلاگ) را هک کرده‏‌اند که به هر حال به لحاظ امنیت چندان قدرتمند نیست. در چنین سایت‏‌هایی از Honey Pot و Intrusion Detection و غیره خبری نیست. بنابراین تنها زحمت هکر استفاده از روش‏های Brute Force و حتی از دید من ابزارهای متداولی مانند Sub7even های معروف خواهد بود.

2- صرف برپا شدن این سایت بر مبنای وردپرس، این امر را نشان می‌‏دهد که این سایت به هیچ‏وجه نمی‏‌تواند سایت رسمی یک مقام مسئول آن هم در کشوری نظیر آمریکا باشد. در بهترین حالت هکر محترم وبلاگ غیررسمی هیلاری کلینتون را هک کرده که شاید حتی توسط خود خانم کلینتون هم نوشته نمی‏‌شده است.

3- به تصویری که برای Deface کردن سایت استفاده شده نگاه کنید. مملو از غلط‏‌های نگارشی و دستوری انگلیسی است. آیا هکر محترم می‏‌توانند توضیح دهند “Will Help to Advance Our” به چه معنی است؟ آیا “Available From Crime” یعنی دست از جنایت بردارید؟ من به این هکر محترم پیشنهاد می‏‌کنم حتی اگر نفس عمل هک را اخلاقی می‏‌دانند برای انتقال پیام خود با مشورت دوستان از عباراتی استفاده کنند که حداقل خود هیلاری کلینتون منظور ایشان را درک کند.

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