یک وبلاگ دیگر از یک برنامه نویس دیگر
متفرقه
دسته کلی، شامل هر چیزی که توی هیچ دسته ای نگنجه.
ربات مافیا – PHP
شهریور ۳۰م
بازی مافیا رو اولین بار وقتی دانشجو بودیم انجام دادم و متاسفانه چون توی فصل امتحانات بود و منم فارغ التحصیل زیاد قاطی قضیه نشدم :)
چند وقت پیش، دوست خوبم ایمان، سعی کرد بچه ها رو جمع کنه برای بازی تو Gtalk و همون موقع تصمیم گرفتم که این بازی رو به صورت یه ربات برای IRC پیاده سازی کنم. به عبارتی این ربات نقش خدا رو توی بازی انجام میده.
تو این بین، تجربه های جالبی هم داشتیم، تو همایش ZConf بازی رو به صورت حضوری انجام دادیم و بعد هم گویا ترکشهای این بازی به جشن اصفهان هم رسید و الی آخر!
اما ربات. تصمیم گرفتم که منتشرش کنم. قبلا هم راهنماشو نوشتم و حالا کد.
فقط یه لطفی کنید و اگه میخواید ازش استفاده کنید :
۱- خودتون دو تا Channel برای مافیا درست کنید اون اصلی ها رو که من ثبت کردم (##PMG و ##PMGMafais ) رو شما باید تغییر بدید. -module/mafia/MafiaGame.php-
۲-برای ربات هم یه اسم دیگه انتخاب کنید fzBot رو من ثبتش کردم :)
۳- همین دیگه خود دانید :) یادتون باشه این ربات فقط برای تفریح نوشته شده و من اصلا قصد انتشارشو یا حتی رسوندنش به این مرحله رو نداشتم، پس زیاد انتظار یه کد ایده آل نداشته باشید.
فعلا همین :) تا بعد که نسخه بعدیشو در بیارم، شاید یه تیپ دیگه و …
پ.ن : امروز تولد الیه. تولدت مبارک خانمی :)
و اینم Github : https://github.com/fzerorubigd/pmg
پیشنویسها – Bash
مرداد ۲۸م
خیلی پیش میاد که این وبلاگ به صورت یک آرشیو برای خودم مفید میشه! چون من خیلی فراموش کارم و زیاد پیش میاد که یه کار رو که بارها انجام دادم فراموش کنم!
جدیدا از پستهای پیشنویس هم استفاده میکردم برای ذخیره کردن یه سری چیزها، راههای ساده تر هست، میدونم، ولی یه باره شد، و چند تا نکته رو، وقتی خونه نبودم تو وبلاگ ذخیره کردم. حالا به این نتیجه رسیدم که خیلی از اینها میتونه برای دیگران هم بدرد بخور باشه. اینه که پستهای پیشنویس که یه کم پر بار تر بشن منتشرشون میکنم، و این هم یکی از اون پستهای پیشنویسه، که البته یه کم توضیحات به هر تیکش اضافه کردم :
ادامه مطلب
Blueprint CSS
فروردین ۱۹م
یکی از مهمترین قسمتهای برنامه نویسی وب برای من اینه که صفحاتو درست و بدون مشکل از همون اول به صورت مرتب دربیارم و نه اینکه اول کدنویسی رو انجام بدم و بعد تازه بیام و یه دستی بکشم به خروجی…
منتها اینکار خیلی زمانگیر و گاهی هم اعصاب خورد کن میشه. چپ و راست کردن این div ها، تغییر دادن موقعیتشون، خصوصا اگه در حال طراحی یک سایت چند زبانه باشی که یکیش هم راست به چپه!
اوایل چند باری سعی کردم که با CSS خودم یه قالب کلی درست کنم، که موفق نبودم. یه دفعه که داشتم دنبال YAML: YAML Ain’t Markup Language میگشتم، به خاطر شباهت برخوردم به YAML : Yet Another Multicolumn Layout که تصمیم گرفتم تستش کنم ولی کلا ازش خوشم نیومد. زیادی شلوغش کرده بود و سربار زیادی رو به صفحه تحمیل میکرد.
به خاطر تجربه نسبتا ناخوشایندی که با YAML داشتم، تا یه مدت دنبال قالب کاری برای CSS نبودم، تا اینکه اتفاقی برخوردم به Blueprint: A CSS Framework و کلا نظرم عوض شد.
میتونید نسخه آخرشو از اینجا بگیرید یا اینکه از git استفاده کنید :
git clone https://github.com/joshuaclayton/blueprint-css.git
این یک CSS Framework خیلی سادست که در نهایت سادگی قابلیتهای فراوانی رو هم به شما میده. سیستمش هم سادست. با اضافه کردن یک (یا سه فایل در اصل که پایینتر توضیح میدم دربارشون ) میتونید از این فریم وورک استفاده کنید :
<!-- Framework CSS -->
<link rel="stylesheet" href="blueprint/screen.css" type="text/css" media="screen, projection">
<link rel="stylesheet" href="blueprint/print.css" type="text/css" media="print">
<!--[if lt IE 8]><link rel="stylesheet" href="blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
فایل اولی screen.css فایل اصلیه. این فایل خودش در حقیقت تشکیل شده از چند قسمت که پایینتر دربارشون صحبت میکنم. فایل دوم، برای چاپ صفحه استفاده میشه و به شما این امکان رو میده که صفحات رو خیلی ساده بفرستید برای چاپ، بدون اینکه نیاز به کار خاصی باشه. اما سومی هم که طبق معمول، مربوط میشه به مشکلات IE خصوصا نسخ قدیمی که واقعا مکافات هستن.
در صورتی که دوست داشته باشید میتونید دو فایل دوم رو کنار بگذارید و چیزی رو هم روی مرورگرهای جدید از دست ندید به غیر از یک صفحه مناسب چاپ :) تصمیم با خودتونه.
فایل اصلی خودش ۴ قسمت بوده که توی پوشه src میتونید ببینیدشون، البته نیازی به بودن پوشه src در کار نهایی نیست، چون فایل screen.css حاوی همه قسمتها به صورت فشرده شده هست.
اولین قسمت فایل reset.css هست که من قبلا دربارش صحبت کردم و خودم هم چند نمونه رو معرفی کردم.
قسمت دوم typography.css هستش که حاوی یه سری کلاسهای مناسب برای فرمت دهی متن هست، کلاسهای برای کوچک یا بزرگ کردن، تغییر رنگ پسزمینه به زرد (highlight ) یا برای مخفی کردن (hide) و یه سری کلاس برای مشخص کردن متن (loud ) یا کم کردن تاثیر (quit).
قسمت سوم، در حقیقت سیستم جدول بندی رو برای صفحه ایجاد میکنه و اسمش هم grid.css هست. این سیستم به شما این امکان رو میده که با گذاشتن یه div با کلاس container (و البته showgrid برای نمایش جدول که در زمان طراحی خیلی کمک میکنه) یه سیستم ۹۵۰ پیکسلی داشته باشید که در وسط صفحه قرار میگیره و میتونه برای قرار دادن المنتها ازش استفاده بشه.
مثلا برای چنین شکلی :

ببینید :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Example</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<link rel="stylesheet" href="blueprint/screen.css" type="text/css" media="screen, projection">
<link rel="stylesheet" href="blueprint/print.css" type="text/css" media="print">
<!--[if lt IE 8]><link rel="stylesheet" href="blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
</head>
<div class="container showgrid">
<div id="head" class="span-24" style="background-color : red;"><h1>This is an example</h1></div>
<div id="navigation" class="span-4" style="background-color : blue;">
<ul>
<li>Navigation menu</li>
<li>Navigation menu</li>
<li>Navigation menu</li>
<li>Navigation menu</li>
<li>Navigation menu</li>
<li>Navigation menu</li>
</ul>
</div>
<div id="body" class="span-20 last" style="background-color : yellow;">
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</p>
</div>
<div id="footer" class="span-24" style="background-color : gray; text-align: center;">
Copyright © 2011
</div>
</div>
<body>
</body>
</html>
قسمتهای style که مربوط به رنگ پسزمینه میشه رو کلا در نظر نگیرید اونها رو فقط گذاشتم که ناحیه ها از هم مجزا بشن. دیگه نیازی به سر و کله زدن با float و این جور چیزها نیست. این فریم ورک با ارایه یه سری کلاس آماده به شما اجازه میده که صفحه بندی مورد نظرتونو انجام بدید.
ادامه مطلب
سال نو مبارک
فروردین ۱م
اول از همه سال نو مبارک. شروع دهه هم هست :) اینم مبارک باشه و اینکه دهه خوبی! داشته باشید.
یه چند وقتی هست که اینجا ننوشتم و امروز تصمیم گرفتم که بنویسم دست کم به بهونه تبریک سال نو. دلیل ننوشتنم هم این نیست که مثلا خسته شدم یا قصد دارم که دیگه ننویسم، مشکلیه که دیگران درست کردن.
جایی که من ازش هاست رو خریدم، بدون اجازه هاست منو ورداشتن اوردن توی ایران، حالا هم پیله کردن که مشخصاتتو بده، کپی شناسنامه و این چیزها. من کلا فعالیت سیاسی نداشته و ندارم و نخواهم داشت. کل عشق من برنامه نویسیه ولی اینکه یهو برگردن و بگن مشخصاتتو بده چیزیه که من باهاش کنار نمیام. بودن هاست داخل ایران هم که نگو! کل سرویسها هاپولی (بیتا تازه یاد گرفته نمیدونم از کی ولی زیاد میگه هاپولی!) شدن. توییترم که فیدشو اینجا گذاشته بودم کلا غیر فعال شده. اصولا هر چیز وابسته به توییتر از بین رفته :( حالا هم که فید گودرم دود شده رفته هوا! باقی سرویسها هم که هیچ!. امروزم رفتم تو وب مستر تولز میبینم کلی خطای Timeout هست!! کلا گند زده شده به زحمت این چند وقته! اینه که تصمیم گرفتم ننویسم تا عید بشه :) یه کم وقتم آزاد بشه و بتونم منتقل کنم این وبلاگ رو که دست کم، حالا که دخترم (بیتا) توی یه جای آزاد نیست، این یکی یه جای آزاد باشه، گرچه این آزادی فقط یه توهمه………
سال نو مبارک….
بی اسم دوم :)
اسفند ۶م
وقتی داشتم پست بی اسم رو مینوشتم قاطی کرده بودم. به شدت. طوری که حتی با خودم هم سر دعوا داشتم. اصلا هیچ منظور خاصی نداشتم، و وقتی نظرات دوستان رو خوندم، دوستانی که بیشترشونو حتی نمیشناختم، تازه به این نتیجه رسیدم که نوشتن این وبلاگ برای من لازمه! از این به بعد سعی میکنم هر جا احساس کردم تو یه وبلاگ باید نظر بدم، ختی اگه یک درصد، اینکار رو انجام بدم. خنده داره ولی اصلا فکر نمیکردم این نظرات بتونه تاثیر بذاره و وقت خوندنشون، و دست کم تا یه مدت بعد آرومم کنه.
پست بعدیش، در حقیقت قبلترها نوشته بودمش، معمولا وقتی نوشته چند قسمتی دارم سعی میکنم اول کامل بنویسمش بعد منتشرش کنم. اینه که زمانبندیش میکنم برای یه زمان نسبتا دور، تا قسمتهای بعدیش هم که آماده شد با هم منتشر بشن. منتها این دفعه قسمت دومش تو زمانی که مد نظرم بود آماده نشد.
مادرم خدا رو شکر، خیلی حالش بهتره و این بیشتر از اون چیزی که حتی فکرشو میکردم برام با ارزشه. هرگز اینقدر نترسیده بودم کسی رو از دست بدم…. نتیجه گیری منطقیش اینه که الان یه چند وقتی هست که کوچکترین فرصتی که پیدا میکنم میرم سراغ دوستهام، کسایی که خیلی وقته ازشون بیخبرم، فامیل و کسانی که فقط سالی یه بار میدیدمشون. دلم نمیخواد وقتی یه اتفاقی افتاد فقط به خاطر اون اتفاق ببینمشون، خیلی هم دوست دارم که دیگران هم در مقابل همین کار رو برای من انجام بدن…..
به هر حال یه چند وقتی هست دارم یه کتاب آماده میکنم. هنوز زوده دربارش حرف بزنم، قبلا قصدم این بود که به صورت چاپی منتشرش کنم که الان کلا نظرم عوض شده و میخوام تو فضای مجازی و به صورت رایگان منتشرش کنم.(اگه به انتشار رسید میگم چرا این تصمیم رو گرفتم) اینه که کمتر وقت میکنم به وبلاگ برسم. ولی این فقط یه مدته، من به همین سادگی دست از وبلاگ نویسی نمیکشم :)
– واقعا ممنون. فقط همین!




