کیدیای ۴.۴ منتشر شد

امروز کیدیای ۴.۴ منتشر شد. واقعا میزکار وسوسه انگیزیه. هر کسی از جمله خود من که علاقهٔ خاصی به گنوم دارم رو وسوسه میکنه که از این میزکار استفاده کنم. البته یک فرقی که بین دنیای آزاد و دنیای غیرآزاد وجود داره اینه که افراد جامعهٔ آزاد در عین استفاده از ابزارهای مختلف و رقابت با یکدیگر (مثلا گنوم و کیدیای)، همیشه در حال کمک کردن به یکدیگرند. درسته بین این دو گروه رقابت وجود داره ولی نتیجهٔ این رقابت منجر به گسترش دنیای آزاد میشه. واقعا دوست داشتنیه. در دنیای مجازی آزادی بدست اومده ولی چه خوب میشد در دنیای واقعی هم آزادی وجود میداشت
جالبه بدونید از نسخهٔ قبل تا این نسخه ۷۲۹۳ ایراد (bug) رفع شده و ۱۴۳۳ درخواست ویژگی جدید (new feature requests) کاربران، پیادهسازی شده است. کدوم شرکت میتونه بعد از ۶ ماه ۱۴۳۳ درخواست جدید از کاربران رو در سیستمعاملش پیادهسازی کنه!
برای اطلاعات بیشتر در مورد تغییرات این نسخه پیشنهاد میکنم متن روزبه شفیعی رو در وینبتا حتما بخونید.

=-=-=-=-=
Powered by Bilbo Blogger
خبر خوب از سورسفرج

همانطوری که خبر دارید چند وقت پیش سایت SourceForge مثل سایت Google Code اجازه دانلود نرمافزارها رو برای افرادی که در برخی از کشورهای ممنوعه نظیر ایران هستند، بست. امروز سایت SourceForge سیاست خودشو تغییر داد و بستن دانلود رو به عهدهٔ مدیران پروژه گذاشت، به این ترتیب که هر مدیر پروژهای میتونه با رفتن به Develop -> Project Admin -> Project Settings و برداشتن تیک Export Control اجازه دانلود به کاربران کشورهای ممنوعه رو بده. اما در حالت پیشفرض این تیک وجود داره و باید هر مدیره پروژهای تصمیم بگیره که این کشورها اجازه دانلود دارند یا نه.
به نظر من همونطوری که دوستان زحمت کشیدند و نامهای به FSF نوشتند، الان هم با راه انداختن یک سایت انگلیسی میتونند از مدیران سایت SourceForge درخواست کنند که اجازه دانلود برای کشورهایی مثل ایران رو بدهند. اگر خبر راهاندازی سایت در جایی مثل Slashdot قرار بگیره مطمئنا مدیران پروژه این کار رو انجام میدهند.
=-=-=-=-=
Powered by Bilbo Blogger
روبی آن ریلز
یکی از ویژگیهای قدرتمند گنو/لینوکس، داشتن امکانات زیاد برای برنامهنویسی است. تقریبا میشه گفت با هر زبان برنامهنویسی که شما دوست داشته باشید، میتونید در گنو/لینوکس برنامهنویسی کنید.
امروزه با به وجود اومدن وب ۲ و تکنیکهایی مثل آژاکس، وبسایتهای بسیار پویایی رو میتونیم ببینیم. از نمونههای وب ۲ توییتر یا فیسبوک هستند.
امروز میخوام در مورد یک فریمورک تقریبا جدید و قدرتمند به نام روبی آن ریلز صحبت کنم.
روبی آن ریلز که گاهی اوقات به آن ریلز یا RoR نیز میگویند، یک فریمورک نرمافزاری تحت وب، آزاد و متنباز است. این فریمورک با زبان برنامهنویسی روبی نوشته شده است. هدف ریلز، ایجاد یک فریمورک که از روش توسعه سریع برای برنامهنویسان وب استفاده میکند، است.
ما دو نوع معماری فریمورک وب داریم:
۱- معماری مدل-نما-کنترلگر (Model-View-Controller) که معمولا به اون MVC گفته میشه
۲- معماری CMS
روبی آن ریلز از معماری MVC استفاده میکند. MVC برنامهٔ وب رو به چند قسمت تقسیم میکنه:
نما(View): به صفحهای که کاربر نهایی اون رو میتونه ببینه گفته میشه
مدل(Model): مدل فراهمکنندهٔ دیتای ما در برنامه است. در واقع میشه گفت هر دیتایی که ما خواسته باشیم از مدل درخواست میکنیم. مدل با پایگاهداده در ارتباط است، در واقع میشه گفت دروازهٔ پایگاهدادهٔ ما مدل است.
کنترل-گر(Controller): مدیر برنامهٔ ما کنترل-گراست، یعنی کاربر درخواست رو به سمت سرور میفرستد مدیر برنامه (کنترل-گر) درخواست را بررسی و مدیریت میکند و اگر اطلاعاتی از پایگاهداده نیاز بود، توسط مدل میگیرد و سپس صفحهای که کاربر باید آن را ببیند توسط نما(View) برای کاربر میفرستد.
دو شعار اصلی ریلز Convention over Configuration و Don’t Repeat Yourself است.
“Convention over Configuration” یعنی توسعهدهندگان فقط نیاز دارند که قسمتهای نامتعارف (unconventional) برنامهٔ خود را مشخص کنند. به عنوان مثال اگر کلاسی به نام Sale در مدل داشتیم، جدول متناظر آن در پایگاهدادهها به صورت پیشفرض sales نام دارد. اما شما میتوانید از قراردادها استفاده نکنید، به عنوان مثال میتوانید جدولی به نام “products sold” داشته باشید، اما توسعهدهندگان مجبورند که کدهای برنامهٔ خود را برای این جدول بنویسند. در حالت کلی قراردادها برای کمتر کد نوشتن و مدیریت برنامه است.
“Don’t Repeat Yourself” یعنی تمام اطلاعات شما در یکجای مشخص قرار دارند. به عنوان مثال، با استفاده از ماژول اکتیو رکورد در ریلز، برنامهنویس دیگر نیازی به تعریف کردن نامهای ستونهای پایگاهداده در تعریف کلاس را ندارد. اما روبی آن ریلز میتواند با استفاده از نام کلاس، اطلاعات را از پایگاهداده استخراج کند.
اکتیو رکورد در ریلز یک ORM است. نقش ORM، ایجاد یک نگاشت از پایگاهداده به کلاسها هستند که برنامهنویس میتواند از آن کلاسها شی درست کند و با پایگاهداده ارتباط برقرار کند. یعنی با استفاده از ORM شما دیگر نیازی به نوشتن query ندارید و به راحتی میتوانید با پایگاه داده ارتباط برقرار کنید. به عنوان به کد زیر دقت کنید:
def create @product = Product.new @product.name = "My product name" @product.save end
Product، مدل ما است، میبینید بدون نوشتن هیچ کوئری، یک کالای جدید با نام My product name ایجاد کردیم و با دستور save آن را در پایگاهداده ذخیره کردیم.
به جرات میتونم بگم نوشتن یک وبسایت کامل که در اون از تکنیک آژاکس استفاده شده است، شاید کمتر ۲۴ ساعت وقت شما را بگیرد. شما میتونید از وبسایت اصلی روبی آن ریلز کار رو شروع کنید.
وبسایتهای معروفی نظیر: بالاترین، توییتر، GitHub با فریمورک روبی آن ریلز نوشته شدهاند.
برای اطلاعات بیشتر میتونید به روبی آن ریلز در ویکی سر بزنید که ترجمهٔ خودم است. شاید در آینده یک آموزش (tutorial) برای روبی آن ریلز در همین وبلاگ بنویسم.
Open Sonic – The Hedgehog
یکی از نوستالژیهای قدیمی و دوستداشتنیه من، مجموعه بازیهای سونیک بود، واقعا خاطرات زیبایی با این بازیها داشتم و بسیار برام خاطرهانگیز هستند.
امروز به یک بازی جالب و از نوع آزاد برخورد کردم. بله درسته بازیه سونیک اما آزاد و برای سیستمعامل گنو/لینوکس!
یکی از مشتاقان این بازی بستهٔ دبیان اون رو هم ساخته و یک ppa در launchpad درست کرده. برای نصب این بازی در اوبونتوی ۹.۱۰ دستورهای زیر رو به ترتیب در ترمینال وارد کنید:
sudo add-apt-repository ppa:szymonw/ppa
sudo apt-get update
sudo apt-get install opensonic
کسانی هم که ویندوز دارند میتونند یک سر به سایت این بازی بزنند:
پینوشت:
خوب ظاهرا این بازی در بعضی از توزیعها مثل اوبونتو صدا نداره. برای اینکه صداشو بتونید بشنوید باید کارای زیر رو انجام بدید:
- دستور زیر رو در ترمینال اجرا کنید:
asoundconf set-ulseaudio
اگر این دستور اجرا شد، کامپیوتر رو ریاستارت کنید و برید به مرحلهٔ۲ وگرنه دستور زیر رو در ترمینال اجرا کنید:
gedit .asoundrc
یک فایل خالی برای شما ایجاد خواهد شد، کدهای زیر رو درداخل فایل پیست کنید:
pcm.pulse { type pulse } ctl.pulse { type pulse } pcm.!default { type pulse } ctl.!default { type pulse } pcm.!dmix { type pulse }حالا فایل رو ذخیره کنید و در شاخهٔ HOME خود کپی کنید. حالا کامپیوتر رو ریاستارت کنید.
- دستور زیر رو در ترمینال اجرا کنید:
sudo gedit /usr/lib/allegro/4.2.2/modules.lst
حالا باید پلاگینهای صدا رو کامنت کنید، مثل کدهای زیر:
alleg-vga.so alleg-fbcon.so alleg-svgalib.so alleg-dga2.so # alleg-esddigi.so # alleg-artsdigi.so alleg-sgialdigi.so # alleg-alsadigi.so alleg-alsamidi.so # alleg-jackdigi.so
بعد از ذخیره کردن فایل، دستور زیر رو در ترمینال اجرا کنید:
sudo apt-get install liballegro4.2-plugin-esd
خوب کار تموم شد. با دستور زیر بازی رو اجرا کنید:
aoss opensonic_launcher
اگر بازی اجرا نشد، بستهٔ alsa-oss رو باید نصب کنید:
sudo apt-get install alsa-oss
خوب شما میتونید دستور اجرای بازی در منو رو هم تغییر بدید که دیگه بازی رو از ترمینال اجرا نکنید:
برای تغییر دستور منو، باید به منوی System => Preferences => Main Menu => Games برید و command رو به aoss opensonic_launcher تغییر بدید. امیدوارم با این کارها صدای بازی درست بشه. (برای من که درست شد!)
برای اطلاعات بیشتر هم میتونید به آدرس زیر برید:
=-=-=-=-=
Powered by Bilbo Blogger
تولید لیست منابع در اوبونتو
ابتدا که سیستمعامل اوبونتو رو نصب میکنید، با دیدن یک عالمه نرمافزار کاربردی که از پیش نصب شدهاند تعجب میکنید، نرمافزارهایی نظیر GIMP، یک پلیر عالی مثل totem یا مجموعه OpenOffice.org یا برنامه پخش موزیک دوستداشتینه Rhythmbox. البته وقتی مخازن اوبونتو رو ببینید بیشتر تعجب میکنید، نرمافزارهای آزاد بسیار که توسط گیکهای کامپیوتر نوشته شدهاند. مثلا در اوبونتوی ۹.۱۰ وقتی Ubuntu Software Center رو اجرا کنید یک چیزی شبیه عکس زیر رو میبینید:

همانطوری که میبینید ۲۱۸۶ نرمافزار رو من به راحتی یک جستجو، میتونم نصب کنم. فقط کافی است که کلمات کلیدی نرمافزاری که میخوام رو جستجو کنم.
اما ممکنه شما نرمافزاری رو خواسته باشید که در اینجا نتونید پیداش کنید. بنابراین مجبورید گوگل کنید و نرمافزار مورد نظرتون رو پیدا کنید. به عنوان مثال نرمافزارهایی مثل مرورگر Chrome یا Google earth هنوز به این لیست ۲۱۸۶تایی اضافه نشده است. خوب برای اینکه راحت باشید و در گوگل سرگردان نشوید یک سایت، لیست منابع نرمافزاری پرکاربرد رو براتون تولید میکنه. فقط کافی است که نسخه اوبونتو و سرور مورد نظرتون رو انتخاب کنید. و پس از تولید لیست، اون رو به منابع سیستم خود اضافه کنید.
=-=-=-=-=
Powered by Bilbo Blogger




