500km in 9 hour

سلام،
از اونجایی که من به خطه‌ی سرسبز شمال ارادت خاص و عامی دارم،
باید برای انجام یه کاری می‌رفتم دانشگاه (دانشگاهمون تازه شده دانشگاه تا حالا موسسه آموزش عالی شمال بود الان شده دانشگاه شمال) دیشب ساعت 21 یکدفعه قرار شد با یکی از آشنایان که فردا صبح زود برای انجام کاری میره آمل همسفر شم. ساعت 6:15 ونک بودم بعد از اینکه دو نفر دیگرم برداشت ساعت 7 از تهرانپارس راه افتادیم. اینکه اون دو نفر چه کسانی بودند و برای چی میرفتن شمال به من و شما ربطی نداره!. حدود ساعت 9:10 منو در دانشگاه پیاده کردند. توجه داشته باشید که جاده‌ی 200 کیلومتری هراز رو نزدیک 2 ساعت رفتیم. اون آقا به رانندگی تند معروفه ولی تفکر من از تند کمی کندتر از این بود.
وقتی رسیدم اونجا خواستم زنگ بزنم تهران که دیدم موبایلم دوباره مثل چند وقت پیش مریض شده، حدس زدم شاید وبا گرفته باشه ولی یادم اومد عامل وبا باکتریه و ویروس نیست که این بتونه بگیره. قرار بود بعد از ظهر این آقاهه بر می‌گرده منم باش برگردم ولی با مریض شدن موبایل نمی‌تونستم باش تماس بگیرم. بعد از اینکه کار دانشگاه انجام شد یکی از دوستان رو پیدا کردم و سیم کارتمو گذاشتم تو گوشیش و کلی این ور اونور زنگ زدم. قرار شد خودم برگردم. اون وسطا مرکز کامپیوتر دانشگاه هم رفتم از اینکه دیدم دو نفر از دوستان دارن #C کار می‌کنند خیلی خرسند شدم. بعد دانشگاه رفتم پلیس راه سابق آمل، یکی از تفریحاتم اینه که وقتی وقت زیاد دارم برای برگشتن به تهران حسابی چونه بزنم و ارزون برگردم ولی امروز شانسم خوب نبود، یکم که زیر آفتاب وایسادم دیدم اصلاً راهی نداره و شرایط جوریه که باید یه چیزی اضافه هم بدم و زودتر خودمو خلاص کنم. چند تا اتوبوس اومد که هیچ کدام جا نداشتند، آخر سر با یه سواری اومد تنها جلو نشستم و 2500 تومان دادم، جای چونه زدن داشت ولی گرما اجازه نمی‌داد. وسط راه پلور نگه داشت. *از همین جا اعلام می‌کنم که با هرگونه وسط راه نگه داشتن به هر عنوان (استراحت،دستشویی رفتن و...) شدیداً مخالفم و وقتی زمام امور به دستم بیفته اصلاً وسط راه نگه نخواهم داشت.* وقتی نگه داشت یاد موبایل افتاد و شروع کردم باش کلنجار رفتن و آخر سر با نگه داشتن سه دکمه‌ی call و 3 و * تونستم روشنش کنم و زنگ بزنم. احتمالاً این موبایل به ارتفاع حساسه و وقتی فشار هوا زیاد میشه، بش فشار میاد و خراب میشه!. اون سه دکمه برای روشن کردن بیشتر گوشی‌های نوکیا در زمانی که مریضن میتونه استفاده شه.
ساعت 15 رسیدم خونه. این سریعترین مسافرتی بود که تا حالا به شمال داشتم.
برای درمان موبایلم همون کار دفعه‌ی قبل رو انجام دادم یعنی با کد #7370#* ریستش کردم. اگر خواستید موبایلتون رو ریست کنید از اطلاعات درون حافظه‌ی گوشی Backup بگیرید چون همه از بین می‌رون (شماره‌ی تلفن‌ها هم توی حافظه‌ی گوشی هستند و با این کار از بین می‌روند). اگر لازم شد گوشی رو Hard Reset کیند خیلی دقت کنید، من هیچ مسئولیتی در قبال از دست رفتن اطلاعات شما ندارم، همونطور که امروز در قبال از دست رفتن چند شماره‌ی مهم خودم مسئولیتی نداشتم.
در این چند ساعت به طور متوسط حدود یک کیلومتر در دقیقه حرکت داشتم، کم نیست.
موفق باشید.

GameNet

سلام،
پنج شنبه بعد کلی تحقیقات رفتیم مجتمع کامپیوتر پایتخت تا یه کامپیوتر جدید برای پسر خاله تهیه کنیم. به این علت کامپیوتر جدید که دیگر ارتقاء ممکن نبود و به جز دو سه قطعه همه‌ی قطعات باید عوض می‌شدند.
در حین تحقیقات به دنبال پردازنده‌ی 64 بیت اینتل گشتیم ولی در این بازار خراب ایران پیدا نکردیمش. نکته دیگر اینکه هنوز در ایران جا نیافتاده که cpu رو با شماره‌ی مدلش بشناسند ، فقط سرعت رو می‌فهمند. می‌رفتیم تو مغازه می‌گفتیم cpu اینتل مدل 531 می‌خواهیم می‌گفت 531 چیه؟ کیه!؟ بعد از اینکه توضیح می‌دادیم که 3ghz و 64bit می‌گفت نداریم.
بعد از اینکه 64bit پیدا نکردیم مدل 530J رو نشون کردیم، 3ghz است و "Data Execution Prevention "DEP را که برای امنیت بیشتره داره. 530 و 530J هر دو در بازار بودند ولی کسی فرقشون رو نمی‌دانست. تفاوت 530 و 531 در پشتیبانی DEP است.
مادربورد GA-8I945P-g و کارت گرافیک Leadtek Geforce 6600 PCI Express 256mb گرفتیم. با کیس و هارددیسک و رم آوردیم خانه سرهم کردیم و دو روز گیم‌نت داشتیم.
گیم‌نت توی خونه خیلی حال میده. ما دو سال گذشته هم این برنامه رو پیاده کرده بودیم.
موفق باشید.

مُشبک

سلام،
دیروز به یه نتیجه‌ای رسیدم:
امنیت هر شبکه‌ای در سطحیه که مسئولان اون شبکه خودشون قادر به شکوندنش نیستند و نه بیشتر. پس خدا کنه هیچ کسی که با اون شبکه سرو کار داره قصد بدی نداشته باشه و اگر داره چیزی بیشتر از مسئولان شبکه بلد نباشه.
چند تا چیز دیگر هم فهمیدم. مثلاً فهمیدم اون فضای 8mb که Windows XP آخر هارددیسک نگه میداره و رزرو می‌کنه برای چیه. اونجا اطلاعات مربوط به پارتیشن‌ها رو نگه میداره. یکم با RD Ram هم ور رفتم، تا حالا سعادت نداشتم از نزدیک RD رم ببینم. قیافه‌ی رم RD خیلی شیکه، دو شکاف نزدیک به هم در وسطش داره و بین این دو شکاف با مادربورد اتصالی نیست.
موفق باشید.

روز اول

سلام،
امروز اولین روز رسمی کارآموزی بود. صبح رفتم شرکت خیلی شیک کارتم رو گرفتم جلوی دستگاه و دستگاه بوق زیبایی زد و نوشت خوش آمدید ولی من جوابش رو ندادم و رفتم تو. کار با نصب ویندوز و یک مشت برنامه‌ی خسته کننده شروع شد. نصب ویندوز کاریه که خیلی برازنده‌ی یه دانشجوی نرم‌افزاره!. سه تا کامپیوتر ویندوزشون 2000 بود باید XP می‌شد. دو تاشون مشکلی نداشت و درست شد ولی سومی هنگام فرمت کردن هنگ می‌کرد. بردیمش درمانگاه. وقت ناهار شد. امروز فهمیدم که دیروز برای ناهار درست کارتم رو جلوی دستگاه نگرفته بودم چون بوقی نزده بوده. ناهار توی یه ساختمون دیگست که خیابان بالاییه، و باید قبل از رفتن و بعد از برگشتن از ناهار کارت زد. منم می‌خواستم بزنم گفتن نمی‌خواد بزنی از ساعت کارآموزیت کم میشه منم نزدم وقتی برگشتم نگهبان تذکر داد حتماً باید کارت می‌زدی. بعد از برگشتن از ناهار اون کامپیوتر مریض رو باز کردم. پلمپ هم داشت که کندمش. همه‌ی کامپیوترها رو پلمپ می‌کنن. فن سی‌پیوش لق بود. اون چیزی که فن رو محکم نگه می‌داشت تا تبادل حرارت سی‌پی‌یو و سینکش زیاد باشه شکسته بود. و خود فن هم بد می‌چرخید که روغنش زدند و فن رو وصل کردم. بهتر از یه فن نو می‌چرخید. و یاد گرفتم که زمان فرمت کردن cpu خیلی کار می‌کنه، خوب خنک نمی‌شده داغ می‌شده و نهایتاً هنگ.
صبح یه فرم پر کردم و برام یه username درست کردند ولی باید چند وقت تلاش کنم که دسترسیش Administrator بشه. ظاهراً باید یه شیرینی بخرم ببرم تا به Admin نزدیک بشم.
زندگی کارمندی خیلی سخته، تازه دارم می‌فهمم که کارمند با در آمد زیر خط فقر (خودم!) یعنی چی، آخه درآمدم صفره.
ساعت 16 خداحافظی کردم و زدم بیرون. رفتم مجتمع کامپیوتر پایتخت بازی Act Of War رو گرفتم. مثل Generals خوش ساخت نیست ولی تو همون مایهاست.
موفق باشید.

کارآموزی

سلام،
امروز برای اولین بار رفتم کارآموزی. بعد از طی مراحل رسمی و گرفتن کارتم (کارت برای حضور غیاب و البته ناهار است!) ساعت 13 شد بنابراین رفتم یه ساختمون دیگه که همون نزدیکی بود و با کارتم ناهار خوردم. خیلی خوبه که آدم هیچ کار نکرده با کارت جدیدش بره ناهار بخوره. بعد از ناهار برای بررسی وضعیت بازار کامپیوتر و قیمت قطعات لازم برای هر چه بهتر بازی کردن رفتم مرکز کامپیوتر پایتخت. یه مادربورد نشون کرده بودم و می‌خواستم قیمتش رو بفهمم، حدود 250 هزار تومان بود، چیپ‌ست این مادربورد Intel 955X chipset است. بعد از این رفتم سراغ کارت گرافیک و قیمت‌های نجومی یکم اذیتم کرد، GeForceهای جدید (6800 به بالا) خیلی گرون هستند. GeForce 7800 حدود 500 تا 600 هزار تومان بود و یه مدل 6800GT با 512mb رم DDR3 حدود 750 هزار تومان بود. بعد از اینکه به مغازه داره گفتم اینا خیلی گرونن چند مدل کارت nVidia Quadro نشونم داد که یه مدل یک میلیون و دویست هزار تومان بود، خیلی منتظر بود من تعجب کنم ولی اشتباه می‌کرد کارتهای Quadro باید گرون باشند.
بعد از پایتخت بازی رفتم یه ساختمون دیگر شرکت (این شرکت 4تا ساختمون داره که همه نزدیک هم هستند و نزدیک مرکز کامپیوتر پایتخت) پیش مسئول کامپیوتر شرکت و ایشان هم من رو به یه آقای دیگه معرفی کرد که اون آقا منو بذاره سر کار (این سر کار با اون سر کار فرق داره). بعد از 2 ساعت که بیکار توی اتاق اون آقاهه نشسته بودم خداحافظی کردم و گفتم فردا میام. کارآموزی هم دنیای داره برای خودش و من تا حالا خبر نداشتم.
بعد از بیرون اومدن از شرکت برای خرید cd و dvd خام یک راست رفتم مرکز کامپیوتر ایران و بعد از اونجا رفتم خونه.
قدیما یه مطلب درباره‌ی «تاثیر ارتفاع بر روی قیمت» نوشته بودم، تو پایتخت dvd خامSmart Buy ‎‏ 600 تومان بود ولی از مرکز کامپیوتر ایران می‌خرم 400 تومان. 200 تومان اختلاف برای یه dvd ناقابل خیلی زیاده.
موفق باشید.

تولد

سلام،
بیست سال پیش چنین روزی دنیا اومد.
یک سال پیش در همین روز Debug.ir دنیا اومد.
تولد چیز جالبیه.
موفق باشید.

BOT

سلام،
نقطه بازی خیلی سریعتر از اینکه بشه راجع بش نوشت پیشرفت می‌کنه و با بیرون آمدن هر نسخه جدیدش کلی چیزی یاد می‌گیرم و راه حل‌های جدید برای مسائل به فکرم میرسه.
الان می‌شه براش bot نوشت. هنوز براش sdk درست نکردم چون درست کردن sdk خیلی وقت گیره و اصلاً وقت ندارم، برای همین فعلاً فقط یه توضیح مختصر درباره‌ی درست کردن bot میدم. برای اینکه بازی از bot استفاده کنه نوع بازیکن در بخش option باید روی ExBot قرار بگیره. بازی آدرس فایل bot رو میگیره.
bot باید یه Class Library باشه (البته exe هم میتونه باشه ولی شیک نیست). exe نقطه بازی باید به عنوان Reference به dll اضافه شود.namespaceهای Hexagon_Dots_and_Boxes و Hexagon_Dots_and_Boxes.BaseClasses باید (import/using) شود. dll باید namespaceی به نام ExBot داشته باشد و در آن classی به اسم cCpuPlayerT وجود داشته باشد. cCpuPlayerT باید از cPlayer ارث ببرد و اینترفیس ICpuPlayer را Implement کند.
اینترفیس ICpuPlayer متدی به نام Play دارد که شی hgBoard را می‌گیرد و باید یک sVector برگرداند. hgBoard که یک Usercontrol است صفحه‌ی بازی است و توضیح دقیقش در این بحث نمی‌گنجه!. sVector شی‌ای است که مشخص کننده‌ی چیزی است که بازیکن کامپیوتر بازی کرده و شامل x و y و l است. حالا این سه تا یعنی چه قصه‌ی دراز داره. صفحه‌ی بازی:
Hexagon Dots and Boxes Board
x و y مشخص کننده‌ی شش ضلعی است و l مشخص کننده‌ی پاره خط که می‌تواند از 0 تا 5 باشد. همانطور که در شکل مشخص است با این پیاده سازی (0,0,1) و (1,0,4) هر دو به یک خط اشاره می‌کنند. اهمیتی ندارد که بازیکن کامپیوتر کدام یک از این دو را برمی‌گرداند برای برنامه هر دو یکسان است.
طول بالای زمین بازی (زیر محور xها) که در این شکل 3 است را از hgBoard.bWidth می‌توان بدست آورد همچنین ارتفاع زمین که کنار محور yها است و در این شکل 2 است را می‌توان از hgBoard.bHeight بدست آورد.
شی cHexagons آرایه‌ای 3 بعدی از صفحه‌ی بازی درست می‌کند. نوع این آرایه int است. بعد اول آن y بعد دومش x و آخرین بعد آن l است. این آرایه cHexagons.gsB است.
توضیحات بیشتر خیلی برام سخته. خودتون مثال رو که سورس بازیکن کامپیوتری است که خودم نوشتم به دقت بخونید خط به خط اجرا کنید و با quickwatch اشیا رو بررسی کنید متوجه میشید که چی به چیه. سورسش حدود 160 خطه.
علاوه بر امکانات bot پیشرفت‌های دیگری هم داشته از جمله نشان دادن خطی که ماوس روشه به صورت کم رنگ.
برای دریافت بازی نسخه‌ی 1.2 Hexagon Dots and Boxes v1.2 Beta
برای دریافت بازی نسخه‌ی 1.2 به همراه مثال بازیکن کامپیوتر: Hexagon Dots and Boxes v1.2 Beta + Bot Sample
اشاالله در آینده یه sdk حسابی براش درست می‌کنم.
لطفاً اگر می‌تونید بازیکن کامپیوتر براش بنویسید و بدید منم باش بازی کنم خیلی خوشحال میشم. اگر کسی بازیکن کامپیوتر درست کرد بخشی رو در سایت برای آپلود کردن botها درست می‌کنم!
موفق باشید.

Reflection

سلام،
نمیدونم چرا فقط از نقطه بازی می‌نویسم، احتمالاً به این علت که چیزی دیگری برای نوشتن ندارم.
امشب رفتم سراغ System.Reflection. به طور خیلی خلاصه از MSDN:
The System.Reflection namespace contains classes and interfaces that provide a managed view of loaded types, methods, and fields, with the ability to dynamically create and invoke types.
تا حالا از Reflection استفاده نکرده بودم چون نیاز پیدا نکرده بودم.اون تکه از نوشته که bold شده لازمم شد. یکی از قابلیت‌هایی که برای نقطه بازی شش ضلعی پیش بینی کرده بودم اینه که هر کسی بتونه براش بازیکن کامپیوتر درست کنه، به این ترتیب که بازیکن کامپیوتر رو به صورت یه Class Library کامپایل کنه و بده به برنامه تا از بازیکن کامپیوتر داخل اون استفاده کنه.
بیشتر مراحل این کار انجام شده به زودی SDK بازی به همراه یک مثال که سورس بازیکن کامپیوتر بازی است را پست می‌کنم.
اگر تا حالا سراغ Reflection نرفته‌اید حتماً بش یه سر بزنید احتمالاً از دیدنش خوشحال می‌شوید.
موفق باشید.