‏نمایش پست‌ها با برچسب لینوکس. نمایش همه پست‌ها
‏نمایش پست‌ها با برچسب لینوکس. نمایش همه پست‌ها

۱۴۰۳ فروردین ۳, جمعه

فلسفه یونیکس و systemd!

انگیزه اصلی نوشتن من، ادعای مشهوریه که در مورد systemd میشه اونم این که systemd بده چون با فلسفه یونیکس سازگار نیست. گاهی هم این موضوع به صورت‌های دیگه‌ای بیان میشه مثل این که systemd بزرگه یا این که تو هر موضوعی دخالت کرده و ... که همه تقریبا دارن یک چیز رو بیان می‌کنن. اما حداقل یک عده، تصور درستی از چیزی که بیان می‌کنند ندارند. برای همین بد ندیدم چیزهایی رو بگم که لااقل اگه کسی مخالف هم هست، بهتر مخالف باشه! ولی قبل از شروع یه خلاصه‌ای از کلیات چیزی که می‌خوام میگذارم که از قضاوت عجولانه شاید تا حدی جلوگیری کنه. البته بسته به شرایط شاید صحبت‌ها گسترده‌تر هم شد. اما اساس حرف‌های من:
۱. «فلسفه یونیکس» چیز خوبیه؟
۲. اصلا چی هست؟ و گفتن این که برنامه‌ای رعایتش می‌کنه یا نه راحته؟
۳. آیا systemd خلاف این فلسفه ست؟ و اگه هست، چیز بدیه؟ یا اگه نیست چرا نیست؟


مورد ۳ می‌تونه خلاصه یا مفصل باشه؛ ببینیم اوضاع چطور پیش میره! شاید یکمی بیشتر پروژه systemd رو باز کردیم و در موردش نوشتم.

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

پس من بدون سند حرف می‌زنم، کسی خواست رو حرفم حرف بزنه سند بیاره ؛) به نظر خودم که عادلانه‌ست!

 

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

 فلسفه یونیکس

فلسفه یونیکس چیه؟ تو ویکی‌پدیا که خیلی چیزا نوشته ولی قسمتی که اکثرا روش نظر دارن اینه: «برنامه‌ای بنویسید که یک کار رو به خوبی انجام بده».
تو نگاه اول ممکنه جمله به نظر ساده بیاد، اما ۲ قسمت داره که باعث میشه خیلی هم این جمله ساده نباشه: ۱. «یک کار» و ۲. «به خوبی». این‌ها چیزایی هست که باعث میشه این معیار خیلی هم واضح و شفاف نباشه و جای بحث پیش بیاد. نه «یک کار» لزوما تعریف مشخصی داره و نه «به خوبی»‌ انجام دادن یک کار. و نه لزوما شما می‌تونید هر دو رو با هم داشته باشیم. همون‌طور که خیلی اصول دیگه که مطرح میشن تو حرف راحت اما تو عمل اما و اگرهای زیادی پیدا می‌کنند.
خوبه یک مثال بزنم. بیاین ترکیب tar و یک فرمان فشرده‌سازی مثل gzip/xz/... رو مقایسه کنیم با برنامه zip/unzip.

تو کدوم مورد فلسفه یونیکس رعایت شده؟!
۱. دستور tar فقط کارش مدیریت بایگانی‌های tarه چه ساختن چه بیرون کشیدن فایل‌ها از اون‌ها
۲. برنامه‌هایی مثل gzip/xz و ... فشرده‌سازی و غیرفشرده‌سازی با قالب‌های مربوطه رو انجام میدند. اما اگه فایلی باشه در حد یک فایل.
۳. برنامه zip صرفا فشرده‌سازی انجام میده، اما می‌تونه بایگانی از چندین فایل داشته باشه. و حتی امکان انتخاب الگوریتم هم میتونه بده و الان bzip2 هم پشتیبانی می‌کنه. برای غیرفشرده کردن باید از unzip استفاده کرد.اینجا تفاوت‌های جالبی دیده میشه. tar به نظر میاد یک کار میکنه و اون هم خوب انجام میده. البته از یک دید هم ۲کار میکنه هم ساخت بایگانی و هم استخراج فایل‌ها از اون. برنامه‌هایی مثل gzip/bzip2/... هم فقط با فشرده‌کردن و البته غیرفشرده‌کردن کار دارند که میشه یک یا دو کار حسابشون کرد. ولی میشه گفت کار خودشون رو خوب انجام میدن. هر چند اینجا هم میشه گفت چرا هم فشرده‌سازی هم غیرفشرده‌سازی رو یک برنامه انجام میده؟!

یکی دیگه از خصوصیاتی که تو فلسفه یونیکس گفته میشه بحث ترکیب ابزارها هست. tar و gzip خب با هم به صورت ترکیبی هم استفاده میشند و شما امکان ترکیب با برنامه‌های دیگه هم دارید مثل bzip2 و xz که خب انعطاف‌پذیری رو نشون میده. البته دستور tar خودش گزینه میگیره برای ترکیبش با برنامه‌های فشرده‌سازی که شاید خودش یه جور نقض فلسفه یونیکس هم محسوب بشه!

از اون طرف zip/unzip کار فشرده‌سازی و غیرفشرده‌سازی رو جداگانه انجام میدند. اما دستور zip خودش هم با بایگانی چندین فایل سر و کار داره و هم با فشرده‌سازی اون‌ها.اما! با این که tar خوبه،‌gzip هم خوبه، ترکیب اون‌ها برای کار «فشرده‌سازی چندین فایل» لزوما ترکیب خوبی نیست. چرا؟ برای مثال، شما برای استخراج یک فایل از آرشیو tar.gz مجبورین کل فایل رو غیرفشرده کنید تا بعد بتونید از آرشیو tar یک فایل رو بکشید بیرون. اما توی zip شما می‌تونید چنین کاری بکنید. به نظر می‌رسه اینجا ابزاری که کار ترکیبی رو کرده در نهایت بهتر اون کار رو انجام داده.

آیا نمیشد tar و gzip هم چنین امکانی بدند؟ چرا احتمالا میشه، ولی اونجاست که مثلا برنامه tar دیگه فقط به فکر کار خودش نیست و عملا باید چیزهایی فراتر رو در نظر بگیره و احتمالا برخی از مزایای جدا بودن و کوچک بودن رو از دست میده. هر چند... همین الان هم با داشتن گزینه‌های مربوط به فشرده‌سازی میشه گفت خیلی هم مستقل نیست.

به هر حال، شاید اینجا «یک کار» بهتره هم شامل کد کردن و هم بایگانی چندین فایل باشه تا این که بایگانی «یک کار» باشه و کدکردن هم «یک کار» جدا.

در نهایت، خود یونیکس هم بعضا فلسفه‌ش رو رعایت نکرده! یکی همین که هسته‌های اولیه و حتی هسته‌های به روز یونیکس‌هایی مثل solaris و bsdها از نوع یک‌پارچه هستند.

یک مثال شاخص هم، تابع شاخص `ioctl`ه که عملا همه کار می‌کنه... یا لااقل می‌تونه بکنه. :)

خب، تا این‌جا اول گفتم که «فلسفه یونیکس» لزوما چیز خوبی نیست، یا لزوما بهترین چیز نیست، یا اصلا شاید بسته به شرایط خوب باشه یا نباشه!

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

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

تازه یکی از اجزای این پروژه، پروژه coreutilsه. این پروژه هم شامل بالای ۱۰۰ تا فایل اجرایی مختلفه: از cp و ls گرفته تا sleep و uname و ...

کسی نمیاد بگه پروژه گنو فلسفه یونیکس رو نقض می‌کنه یا مثلا coreutils این فلسفه رو نقض می‌کنه. چون این‌ها پروژه هستند و یک «برنامه» نیستند. و درست هم هست. حتی اگه تمام برنامه‌ها پیشوند gnu یا coreutils داشتند باز هم همین بود.

پس خوبه حواسمون به تفاوت «پروژه» و «برنامه» باشه. این اولین چیزیه که توی بررسی systemd باید حواسمون باشه؛ چون systemd هم اسم یک پروژه‌ست و هم اسم یک برنامه. متاسفانه، بخش قابل توجهی از افراد به این تفاوت دقت نمی‌کنند که باعث میشه نتیجه‌گیری‌هایی بکنند که از اساس اشکال داره.آخر این قسمت، یک سوال هم مطرح کنم: آیا Sys V init با فلسفه یونیکس سازگار بود که اینقدر طرفدار داشت وقتی systemd مطرح شد؟! آیا یک کاری رو به خوبی انجام میداد؟
من فقط میگم دقت کنید که تا جایی که من می‌بینم حتی خیلی توزیع‌های مخالف استفاده از systemd هم دیگه از Sys V init استفاده نمی‌کنند!

خب، من فکر می‌کنم احتمالا کارش رو خوب انجام نمیداده که جایگزین شده. در نتیجه خودش هم با فلسفه یونیکس سازگار نبوده. اما کسی گریبان پاره نمی‌کرد که چرا Sys V init بده و اوایل مخالفین systemd دوست داشتند برگردن به اون. :)

و البته دیدم یک عده هم تفسیر خودشون رو از «فلسفه یونیکس» دارند و صرفا هر تغییر نسبت به یونیکس سابق رو تعبیر می‌کنند به نقض فلسفه یونیکس! و این افراد بیشتر مقاومت در برابر تغییر دارند تا نگرانی در مورد فلسفه یونیکس :)

systemd

خب systemd چیه؟ این کلمه به ۲تا مفهوم متفاوت می‌تونه اشاره کنه، در نتیجه وقتی کسی می‌خواد در موردش صحبت کنه باید بدونه و مشخص کنه که داره در مورد کدومش صحبت می‌کنه و این ۲تا رو قاطی نکنه!
"systemd is a suite of basic building blocks for a Linux system."
به صورت کلی، systemd یک «مجموعه نرم‌افزاری پایه‌ای برای یک سیستم لینوکس»ه. و ما داریم در مورد یک «پروژه» نرم‌افزاری صحبت می‌کنیم نه یک «برنامه».
اما، اسم شاخص‌ترین برنامه این مجموعه هم systemd هست! کار «برنامه systemd» چیه؟ طبق تعریف خودشون، «مدیریت سیستم و سرویس‌ها». که البته خیلی قسمت «مدیریت سیستم»ش گویا نیست به نظرم و میشه منظورش رو از کارهایی که می‌کنه تشخیص داد.
حالا وقتی در مورد «پروژه systemd» صحبت می‌کنیم، آیا صحبت از این که این پروژه به خاطر پوشش موارد خیلی متنوع با فلسفه یونیکس در تناقضه، درسته؟ «به هیچ عنوان». اصلا چنین صحبتی معنا نداره؛ چون فلسفه یونیکس اصلا و به درستی در مورد پروژه‌ها یا مجموعه‌های نرم‌افزاری صحبتی نمی‌کنه. یک پروژه رو میشه به چند پروژه شکست بدون این که شما هیچ تغییری توی کدهای اجرایی ایجاد کنی. پس پروژه اصالت خاصی نداره.

به جز «برنامه systemd» برنامه‌های مختلفی توی این مجموعه وجود داره مثل مدیریت: لاگ‌ها، نشست کاربران، اتصالات شبکه، ساناد یا DNS، راه‌اندازی سیستم (بوت)، زمان سیستم، همگام‌سازی زمان با NTP، فایل‌های موقت و دستگاه‌های متصل به سیستم.

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

البته ممکنه یکی با استدلال بگه به صورت کلی توی کل این پروژه، رویکرد متفاوتی نسبت به «فلسفه یونیکس» پیش گرفته شده و از این نظر بگه این پروژه با اون فلسفه سازگار نیست؛ اما من تا الان چنین چیزی رو ندیدم و خیلی افراد واقعا نه شناخت کافی نسبت به systemd دارند و نه حتی خود فلسفه یونیکس!

حالا «برنامه systemd» چی؟ این برنامه مطابق با فلسفه یونیکس هست یا اون رو نقض می‌کنه؟
جواب این سوال سخته و من جوابی که بتونه همه رو قانع کنه به ذهنم نمی‌رسه. همون‌طور که اوایل گفتم، «فلسفه یونیکس» یک سنجه دقیق نیست که بگذاریم و راحت بگیم این برنامه کاملا سازگاره و این برنامه هم متناقض. یک سری برنامه‌ها ممکنه به اندازه کافی به یکی از این دو سمت نزدیک باشند که بشه نسبتا راحت در موردشون نظر داد. اما یک سری برنامه‌ها هم ممکنه بیفتند توی طیفی بین این ۲ سمت که دلیلش هم قبلا گفتم: کلماتی مثل «یک کار» و انجام آن «به خوبی» کلماتی نیستند که تعریف دقیق و روشنی داشته باشند. در نتیجه، هر کس بسته به معیارها و تعریف خودش ممکنه قضاوت متفاوتی داشته باشه؛ و من هم قصد ندارم برای دیگران در موردش قضاوتی بکنم. اما صرفا سعی می‌کنم تا حدی توصیف کنم برخی خصوصیات systemd رو و نظرم رو هم بگم.
برنامه systemd کارش مدیریت سیستم و سرویس‌های سیستمه. این برنامه به جز journald، که اونم می‌تونه صرفا کارش ارسال لاگ‌ها به syslog باشه، تا جایی که من میدونم به هیچ‌کدوم از برنامه‌های مجموعه پروژه systemd وابستگی نداره. شاید بشه گفت مهم‌ترین کار این برنامه، مدیریت و اجرای سرویس‌های سیستم یا کاربره. حالا من اینجا بیشتر حالتی که systemd به عنوان اولین پردازه سیستم با PIDه شماره یک کار می‌کنه صحبت می‌کنم.
اما، systemd کاری فراتر از اجرا و اتمام سرویس‌ها انجام میده. توی systemd شما با «واحدها» یا unitها سر و کار دارین. اما این unitها صرفا سرویس‌ها نیستند، بلکه می‌تونن نماینده دستگاه‌ها، نقاط سوار شدن (mount pointها)، سوکت‌ها، زمان‌سنج‌ها و چند مدل واحد دیگه باشند. حالا اینجا جاییه که واقعا می‌تونه سوال برانگیز باشه. چون عملا systemd بخشی از کاری رو که قبلا سرویس‌هایی مثل crond، atd و inetd انجام می‌دادند رو هم انجام میده و خودش رو درگیر دستگاه‌های سخت‌افزاری و مدیریت فایل‌سیستم‌ها هم کرده. و این موارد مواردی هستند که می‌تونن به درستی مطرح بشند از این نظر که سازگاری با فلسفه یونیکس وجود داره یا نه (و نه تیترهای زردی مثل این که systemd بوت لودر هم هست...).

اما آیا systemd از این که روی انجام یک کار متمرکز بشه دور شده یا نه؟ این رو تا حدی میشه با مثالی که قبلا در مورد مقایسه tar - gzip و zip انجام دادم مقایسه کرد. اونجا هم از یک نظر میشه گفت zip داره به جای یک کار ۲کار انجام میده. و نمیشه هم گفت این حرف درسته یا غلط.
اینجا هم، کار systemd مدیریت سرویس‌هاست. اما عملا چیزهایی مثل cron و inetd هم به نحوی توی مدیریت سرویس‌ها دخالت دارند چون هر کدوم می‌تونند از نظر مفهومی یک یا چند سرویس رو هم اجرا کنند. حالا آیا بهتر نیست این‌ها هم مثل بقیه سرویس‌ها خود systemd مدیریت کنه؟ می‌تونه باشه. در واقع، میشه به نحو دیگه‌ای هم رفتار systemd رو توصیف کرد. systemd اومده یک انتزاع سطح بالاتر به نام واحد یا unit ساخته، که شما می‌تونید از همین مفهوم و به صورت یکپارچه برای مدیریت سیستم استفاده کنید. میشه این رو تا حدی با مفهوم «فایل» توی یونیکس مقایسه کرد. یکی از خصوصیات یونیکس این بوده که خیلی چیزها توی یونیکس فایل هستند: فایل‌های دیسک، سوکت‌ها، دستگاه‌های سخت‌افزاری، و ... . و این مسئله به شما قدرت میده که بتونید با مجموعه‌ای از چیزهای متفاوت رفتار مشابهی داشته باشید و این اتفاق خوبیه. «به نظر من»، کاری که systemd در مورد یک سری مفاهیم انجام داده هم مشابه همین مثاله. این که شما می‌تونید به جز سرویس‌ها، مفاهیم دیگه‌ای رو هم در قالب واحدها توصیف کنید به شما قدرت بیشتری توی مدیریت سیستم میده. این یعنی که شما میتونید از مسائلی مثل وابستگی بین واحدها و غیره برای چیزهای گسترده‌تری استفاده کنید و به صورت یکپارچه‌تری سیستم رو مدیریت کنید. از دید من، این چیز خوبیه و میشه این‌ها رو در قالب انجام یک کار به خوبی دید، اما درک می‌کنم که ممکنه کسی مخالف باشه و از نظر من اشکالی هم نداره.

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

با توجه به این که معمولا وقتی صحبت از استفاده یا عدم استفاده از systemd میشه اصولا منظور همین استفاده اون به عنوان init سیستمه، من روی برنامه‌های دیگه این پروژه دیگه صحبتی نمی‌کنم، به جز یک صحبت مختصر که در مورد journald خواهم کرد. و حتی فدورا، که ظاهرا اولین توزیعی بود که به systemd مهاجرت کرد، عجله‌ای توی استفاده از برنامه‌های دیگه نداشت و نداره و لزوما هم استفاده نخواهد کرد. 

journald

به عنوان آخرین صحبت قبل از خلاصه نهایی، یه نیم نگاهی هم به journald داشته باشیم بد نیست چون بخشی از انتقادات هم متوجه این سرویسه.اول که همون‌طور که گفته شد، شما مجبور نیستین از journald برای مدیریت رخدادنماها (logها) استفاده کنید و می‌تونه صرفا اون‌ها رو ارسال کنه برای syslog و خودش چیزی نگه نداره.
دوم این که از نظر من این برنامه صرفا یک کار انجام میده و اون هم مدیریت رخدادنماهاست و فکر نمی‌کنم از این نظر خیلی اختلاف نظری توش وجود داشته باشه. اما جایی که بیشتر روش صحبت هست، نحوه ذخیره‌سازی رخدادنماهاست، چون journald اون‌ها رو به صورت دودویی ذخیره می‌کنه و نه متنی. بعضی از اساس با این قضیه مخالفن و برای مثال میگن باعث میشه شما نتونید لاگ‌های ذخیره‌شده رو با ابزارهای معمول (مثلا grep) بررسی کنی. یا دلایل دیگه. و بعضی هم میگن این هم با فلسفه یونیکس ناسازگاره.
حقیقتا یک سری از دلایل رو خیلی صحبتی نمیشه روش کرد. مثلا من می‌تونم بگم شخصا موافق نیستم ولی فکر نمی‌کنم خیلی قابل بحث باشه. از نظر من این که شما می‌تونید با journalctl لاگ‌ها رو در قالب متنی دریافت کنید و پردازش دلخواه خودتون رو روش انجام بدید (به جز این که خود journalctl هم قابلیت‌هایی داره برای انتخاب رخدادنماهایی که دنبالش هستیم). و از نظر من دودویی بودن لزوما چیز بدی نیست همون‌طور که خیلی برنامه‌ها چنین کاری می‌کنند.
در مورد فلسفه یونیکس هم، طبق چیزی که من توی ویکی‌پدیا می‌بینم توی بعضی روایت‌ها گفتند که داده‌ها رو متنی نگه دارین ولی توی بعضی روایت‌های دیگه هم بیشتر تاکید روی ورودی و خروجی برنامه‌هاست که متنی باشه و تو بعضی روایت‌ها هم اصلا صحبتی از این قضیه نشده! در نتیجه، به نظرم اصلا این که این جزء فلسفه یونیکس هست یا نه خودش جای بحث داره. و دوم هم، به فرض هم اگر باشه شخصا موافقش نیستم، و البته ما با برنامه‌های زیادی سر و کار داریم که چنین کاری نمی‌کنن! مثلا بسیاری از پایگاه‌های داده اون رو در قالب دودویی ذخیره می‌کنند. یا مثلا شما تصویر رو در قالب متنی ذخیره نمی‌کنید... (البته قالب xpm هم قالب بامزه‌ایه :) ). جدای از این که «متن» هم دیگه لزوما فقط متن ASCII نیست. و حتی توی ارتباط برنامه‌ها می‌بینیم که زمانی بخشی از ارتباطات دودویی بود؛ بعدا ارتباطات متنی مثل xml و json مد شد، و بعد دوباره قالب‌ها و ارتباطاتی باینری مثل protocol buffers باب شد در بخشی از ارتباطات.

در مجموع، هر کس هر طور مایله! اما به نظر شخصی من این اصل خیلی بیش از بخش‌های دیگه جای بحث و اما و اگر داره؛ و شخصا هم اعتقادی ندارم که همه جا قالب متنی رویکرد مناسبی باشه، مخصوصا برای نگهداری وضعیت داخلی یک برنامه. به هر حال اختلاف نظر همیشه هست... .

خلاصه 

  • فلسفه یونیکس لزوما و همه‌جا خوب نیست
  • فلسفه یونیکس یک معیار کیفی و قابل تفسیره، و سازگاری با اون لزوما صفر و یک نیست. و ممکنه برآورده کردن معیارهای مختلف اون به صورت همزمان ممکن نباشه
  • لزوما هر چی در یونیکس بوده کاملا مطابق با فلسفه یونیکس نیست
  • فلسفه یونیکس در مورد «برنامه»ها صحبت می‌کنه و نه «پروژه‌»ها یا مجموعه برنامه‌ها
  • سیستم SysV init لزوما مطابق با این فلسفه نیست
  • «پروژه systemd» شامل مجموعه‌ای از ابزارها یا برنامه‌هاست که زمینه‌های مختلفی رو پوشش میدن (بوت، مدیریت لاگ، ترجمه فایل fstab، مدیریت شبکه، ترجمه dns، مدیریت سیستم و سرویس‌ها و ...)
  • گسترده بودن محدوده پروژه systemd تناقضی با فلسفه یونیکس ندارد (چون یک برنامه نیست)
  • «برنامه systemd» وظایف مختلفی رو زیر چتر مدیریت سیستم و سرویس‌ها انجام میده که قبلا توسط چندین برنامه انجام میشده (مثل init، cron، inetd، اسکریپت‌های مدیریتی و ...)
  • با این وجود، لزوما «برنامه systemd» در تناقض با فلسفه یونیکس نیست، چون می‌توان گفت تمامی این کارها در راستای انجام کار اصلی آن به خوبی ست.
  • میزان رعایت فلسفه یونیکس در «برنامه systemd» بستگی به تفسیر شما متفاوت است.
  • با نگاه سخت‌گیرانه، بسیاری از برنامه‌های مرسوم ممکن است سازگار با فلسفه یونیکس محسوب نشوند. این معیار، به تنهایی برای قضاوت کافی نیست
  • برای برخی، فلسفه یونیکس صرفا بهانه برای مقاومت در برابر تغییر است، و ممکن است حتی خود فلسفه را هم دقیق ندانند.

 

در پایان، هدف، ارائه تصویری دقیق‌تر از systemd برای دوستانی بود که کمتر از نزدیک به آن نگاه کرده بودند. مخصوصا که حجم نسبتا زیادی مطالب نه چندان دقیق در مورد این برنامه وجود دارند که خواسته یا ناخواسته منتشر کننده ترس، ابهام و شک[۱] در مورد این مجموعه نرم‌افزار هستند. تا جایی که حتی برخی تصور می‌کنند بوت با systemd می‌تواند کندتر از بوت با sysv init باشد در صورتی که حداقل از نظر منطقی چنین نباید باشد!

 

[1] https://en.wikipedia.org/wiki/Fear,_uncertainty,_and_doubt

۱۳۹۳ مهر ۱۵, سه‌شنبه

از زنجان تا اصفهان...

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

چند وقت پیش رفتیم زنجان، برای شرکت توی zconf یا همایش نرم‌افزارهای آزاد/متن‌باز. به طور کلی هم میشه گفت خوش گذشت! فقط به صورت ناجوانمردانه‌ای اولین ارائه ارائه‌ی من بود P: خدا رو شکر این بار استثنائا ارائه رو زودتر آماده کرده بودم و مشکلی نبود. :) ارائه‌م هم در مورد systemd بود که اخیرا خودش رو توی اکثر توزیع‌ها جا کرده.
راستی توی همایش زنجان توی یک ارائه که میشه گفت توسط یه نفوذی اپلی! ؛) ارائه میشد خنجرهایی از پشت! به پیکره‌ی گنو/لینوکس وارد شد با کمک ASLR که مدتی قصد دارم در مورد صحبت کنم. ان‌شاالله به زودی! اما فعلا خلاصشو بگم که: ۱) ASLR هم مثل تقریبا همه‌ی مکانیزم‌های امنیتی، امنیت رو به صورت نسبی افزایش میده و نمیشه به صرف پشتیبانی یا عدم پشتیبانی از ASLR امنیت ۲تا سیستم رو مقایسه کرد ۲) اصلا این واژه‌ی ASLR در دنیای لینوکس به وجود اومده! ۳) پشتیبانی ASLR توی هسته‌ی مکینتاش در سال ۲۰۱۲ اضافه شده.
حالا که خلاصشو گفتم شاید دیگه کاملشو نگم! برای اطلاعات بیشتر میشه به صفحه‌ی مربوط به ASLR توی ویکی‌پدیا مراجعه کرد!


http://isfd.ir
بگذریم! پنج‌شنبه آخر این هفته (۱۷ مهر) هم جشن روز آزادی نرم‌افزار اصفهانه. البته روز آزادی نرم‌افزار اواخر شهریوره ولی خب مراسم اصفهان با تاخیر برگزار میشه.  یه ۲ ماه پیش به من گفتند بیا روی ۲تا سخت‌افزار کوچولو که توکار (embedded) محسوب میشن ارائه بده. من گفتم ببینم چی میشه خبر میدم... ولی خبر ندادم! چون اصلا فرصت نکردم کار خاصی بکنم. P: گفتم احتمالا خودشون بی خیال من شدن. چند وقت پیش یهو گفتن پس بگو بیایم سخت‌افزارها رو بدیم بهت... خلاصه من هی از زیرش در رفتم تا این که .... یهو دیدم اسم منو زدن تو سایت. خلاصه! حالا ظاهرا قراره من ارائه داشته باشم. خدا به خیر بگذرونه. فعلا که هیچی آماده نیست. فکر کنم باید ببینم چطوری ۵شنبه فرار کنم!! یا شایدم یه طوری ماسمالیش کنم بره.... D:
حالا اونش مهم نیست. بیشتر امیدواریم که خوش بگذره اون روز!


۱۳۹۲ فروردین ۱۳, سه‌شنبه

پست شروع ۹۲!

سلام!
این یه پست الکیه P: سال نو مبارک اول.
دوم که دارم میرم برای مسابقات تهران برای یک هفته‌ای.
سوم هم اوایل عید دومین برنامم رو برای N9 آماده کردم که البته یه برنامه‌ی کوچیکه و عمدتا با QML و جاوااسکریپت نوشته شده. تجربه‌ی خوبی بود.
البته خیلی اوضاع امیدوار کننده نیست. نوکیا که خب هیچ! یولا (Jolla) هم که تاریخ انتشار گوشیش رو انداخته برای آخر ۲۰۱۳ و در نتیجه این هم خیلی بهش امیدی نیست. اگه واقعا بهار امسال میدادن خیلی خوب بود. BlackBerry هم که به نظر میاد خیلی اوضاع مناسبی نداره. اوبونتو فون هم که نمیدونم مگه این که اون یه گوشی منتشر کنه. نکته‌ی مثبت همه‌ی این‌ها هم اینه که پلتفرمشون خیلی به N9 نزدیکه (البته به جز BlackBerry که شباهتش توی Qt/QMLه و سیستم‌عامل متفاوتی داره).
چهارم هم که به نظر می‌رسه دارم وقتم رو از دست میدم. باید هر چه سریعتر به آینده فکر کرد. باید کمتر وقتم رو صرف کارهای متفرقه کنم و تمرکزم رو روی آینده و راه اون بگذارم.
پنجم هم که این پارسیدورا ۱۸ ماست که مدتیه تو خم یه کوچه مونده اون هم به خاطر یه مشکل توی مخازن به‌روز رسانی فدورا ۱۸ که هنوز پیداش نکردم.
ششم هم فعلا بسه! به امید این که همچنان زنده و سالم باشیم تا پست بعدی. P:
خدانگهدار
شاید امسال بیشتر به‌روز بشه اینجا.

۱۳۹۱ تیر ۲۳, جمعه

آماده‌سازی اولین برنامه برای N9

خب! از اون‌جایی که تصمیم گرفتم حداقل به صورت تفریحی برنامه‌هایی رو برای گوشیم بنویسم، یا برنامه‌های دیگران رو بهش منتقل کنم، SDK گوشیم رو نصب کردم. و دیروز همین‌طوری به سرم زد که تست کنم ببینم انتقال یه برنامه‌ی دسکتاپی Qt به گوشی و بسته‌بندی برای اون چطوری پیش میره و برای این کار هم نرم‌افزار ساغر رو انتخاب کردم که یه برنامه‌ی Qt هست و وابستگی دیگه‌ای هم نداره... و برخلاف انتظارم این کار به سادگی و بدون هیچ مشکل خاصی انجام شد.در واقع تفاوت خاصی با بسته‌بندی ساغر برای فدورا نداشت و مهم‌ترین تفاوتش این بود که بسته‌ی نهایی deb بود نه rpm. این هم نتیجه‌ی اولین تلاش بدون هیچ گونه تغییری در برنامه:
ساغر روی N9
و این خیلی خوبه! البته ظاهر برنامه خیلی مناسب یه صفحه‌ی لمسی کوچیک مثل گوشی نیست و همچنین این برنامه‌ها ظاهرشون شبیه برنامه‌هایی که با تکنولوژی‌های توصیه‌شده برای گوشی(که البته جزء Qt هستند) نوشته شدند نیست؛ ولی با این حال این برنامه اجرا میشه و قابل استفادست. و به نظر میاد با کار نه چندان زیادی میشه برای گوشی بهینه‌ش کرد.

ویرایش: این هم لینک دانلود برنامه برای گوشی: saaghar_1.0.94-1_armel.deb

***
خوشبختانه با توجه به این که انتقال برنامه‌های گنو/لینوکسی و Qt به این گوشی راحته، و از طرف دیگه امکان اجرای برنامه‌های جاوای استاندارد (JavaSE)، اوضاع برنامه‌های N9 اونقدرا هم وخیم نیست! :)

۱۳۹۱ تیر ۵, دوشنبه

گوشی‌ای که نباید خرید: نوکیا N9

نوکیا N9

این گوشی، گوشی خاصیه! با این که از وقتی اومد خیلی جاها ازش تعریف کردند، اما تقریبا همشون روی یک نکته تاکید داشتند، اونم این که این گوشی رو نباید خرید! چون نوکیا چند وقت قبل از توزیع این گوشی (که جزء رده‌ی گوشی‌های هوشمند محسوب میشه) اعلام کرد که استراتژیش کلا تغییر کرده و بعد از این توی گوشی‌های هوشمند تمرکزش روی استفاده از ویندزه و قصد ادامه‌ی میگو (MeeGo) رو (حداقل به صورت مشخصی) نداره. در نتیجه، نوکیا N9 اولین و (ظاهرا) آخرین گوشی هوشمندیه که با سیستم‌عامل میگو (در واقع یه نسخه‌ی خاص از میگو به اسم  MeeGo Harmattan که ترکیبیه از سیستم‌عامل پایه‌ی Maemo و واسط کاربر و APIها بر مبنای MeeGo) عرضه شده. و این یعنی که نباید انتظار پشتیبانی نرم‌افزاری چندانی از این گوشی و سیستم‌عامل داشته باشیم. مخصوصا که سیستم‌عامل سیمبین (Symbian) هم عملا توسط نوکیا داره به خاک سپرده میشه (که اون هم مشابه اخیرا مشابه میگو از کتابخانه‌های Qt استفاده می‌کنه و برنامه‌هاشون رو میشه نسبتا با تغییرات کم به هم منتقل کرد). البته Qt هنوز از دنیای موبایل قرار نیست حذف بشه، چون BlackBerry تصمیم گرفته ازش استفاده کنه!

بعد از این قضایا هم که کلا نوکیا از پروژه‌ی MeeGo اومد بیرون و پروژه هم متوقف شد و پروژه‌ی جدید Tizen جایگزین میگو شد. برخلاف میگو، تمرکز Tizen روی پشتیبانی از برنامه‌های html5ه و اون رو به عنوان API اصلی در نظر گرفته. سامسونگ هم به این پروژه پیوسته و احتمالا به زودی گوشی‌های سامسونگ با این سیستم‌عامل به بازار میاند. البته یک عده هم (بدون پشتیبانی تجاری) تصمیم گرفتند پروژه‌ی MeeGo رو ادامه بدند و در حال حاضر اون رو به اسم Mer دارند دنبال می‌کنند.

یه نکته رو هم یادم رفت بگم، اونم این که تمامی این سیستم‌عامل‌ها (MeeGo, Maemo, Tizen و Mer) بر مبنای لینوکس هستند، و برای همینم برای من جالبند! البته اندروید هم از هسته‌ی لینوکس استفاده می‌کنه، اما این سیستم‌عامل‌ها بر خلاف اندروید تشابهات خیلی بیشتری با سیستم‌های گنو/لینوکس که ما روی دسکتاپ استفاده می‌کنیم دارند و از زیرساخت‌های مشابهی استفاده می‌کنند (نه فقط هسته). برای همینم من اینا رو خیلی بیشتر از اندروید دوست دارم!

خلاصه، با این توصیف‌ها به نظر میاد گوشی‌هایی که تقریبا هم قیمت و هم رده‌ی این گوشی هستند مثل گوشی Galaxy S II سامسونگ انتخاب‌های معقول‌تری هستند. این گوشی از اندروید استفاده می‌کنه و سخت‌افزارش هم کمی قوی‌تر از گوشی N9ه و قیمتش هم خیلی بالاتر نیست.

***
من تا الان یه گوشی داشتم، اونم یه سونی اریکسون K510i که انصافا گوشی خوبیه و مدت‌ها برام کار کرد. تو این مدت یه دفعه از کار افتاد که مجبور شدم فلشش کنم و اخیرا یکمی بعضی دکمه‌هاش خوب کار نمی‌کرد. ولی کلا ازش راضی بودم. چند وقتی بود که هی بهم می‌گفتند که گوشیم داغونه و عوضش کنم، ولی من خیلی نیازی نمی‌دیدم. اما از وقتی قرار شد N9 بیاد به این نتیجه رسیدم که اگه بخوام گوشیمو عوض کنم اونو می‌خرم. اما بعد که پروژه میگو این بلاها سرش اومد دیگه شک داشتم. از طرفی هم وقتی گوشی اومد قیمت بالایی داشت (مدل ۱۶ گیگ تقریبا ۹۰۰هزار تومن) که به نظرم نمیرزید.

صفحه‌ی قفل
اما در نهایت، با وجود این که خریدن این گوشی به نظر خیلی عاقلانه نیست، من خریدمش! D: البته سعی کردم یه وقتی که قیمتش نسبتا پایین باشه (با توجه به نوسانات اخیر) بگیرم و در نهایت یه دست دومش (۱۶ گیگابایتی) رو گرفتم. اما الان از خریدم راضیم!
البته من تجربه‌ی کار با یه گوشی هوشمند رو ندارم، و بنابراین نمی‌تونم این گوشی رو با گوشی‌های مشابه دیگه مقایسه کنم. شاید اونا واقعا خیلی بهتر باشند! ولی مهم نیست، به هر حال من دوست نداشتم گوشی آیفون یا گوشی اندرویدی بخرم. و خیلی هم نمی‌تونستم صبر کنم تا گوشی Tizenی بیاد. P:

 خب اول یکمی از مشخصات این گوشی بگم: این گوشی ۲ مدل ۱۶ گیگ و ۶۴ گیگ داره ولی کارت حافظه نمی‌خوره. اول توی ۳ رنگ مشکی، آبی روشن و سرخابی اومد ولی بعدا رنگ سفید براقش (بر خلاف رنگ‌های دیگه که مات هستند) هم فقط تو مدل ۶۴گیگ به بازار اومد. جنس بدنه این گوشی «پلی‌کربنات»ه که فکر کنم تو مایه‌های همون پلاستیک خودمون باشه! ؛) ولی میگن خیلی جنسش عالیه و باش چیزای خیلی مقاومی ساخته میشه... . یکی از خصوصیاتشم اینه که کل بدنه یک رنگه نه این که فقط روش رنگ زده شده باشه (یعنی اگه روش خط بیفته زیرشم همون رنگیه). و بدنش یه‌تیکست. این گوشی یک گوشی (و ظاهرا اولین گوشی؟!) «تمام لمسیه» و روش هیچ دکمه‌ای نیست. فقط ۳تا دکمه
فهرست برنامه‌ها
 کنارش هست: یکی دکمه‌ی روشن‌خاموش (که البته می‌تونه برای کارهای دیگه از جمله قفل کردن یا از قفل درآوردن گوشی هم استفاده بشه) و یکی هم کم و زیاد کردن صدا (۲تا دکمه حسابش کردم). و تنها کاری که فقط با دکمه‌ها میشه انجام داد همون روشن و خاموش کردن گوشیه. پردازندش هم یه پردازنده‌ی تک‌هسته‌ای ۱ گیگاهرتزه. بقیشم اگه دوست داشتین خودتون برین بخونین.

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

جدا در دسترس بود توی این نسخه به صورت پیش‌فرض وجود داره. و البته زبان خود گوشی رو هم توی نسخه‌ی ۱.۲ میشه فارسی کرد همون‌طور که توی عکس بالا می‌بینین :).

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

حالا می‌رسیم به بحث برنامه‌ها، که شاید یکی از مهم‌ترین دلایلی باشه که نوکیا N9 رو «نباید خرید». خود گوشی به صورت پیش‌فرض با یک سری برنامه‌ی مفید میاد از جمله: برنامه‌ی AccuWeather که تو عکس بالا هست، یه مرورگر بر مبنای webkit، کلاینت ایمیل، تقویم و ساعت، برنامه‌ی پخش موسیقی و نمایش اسناد pdf، Open Document و word و excel، نقشه‌های Ovi (از جمله نقشه‌ی ایران و شهر‌های بزرگ اون) با قابلیت مسیریابی، rssخوان، کلاینت‌های: skype, twitter, facebook, youtube, ap mobile، و بازی‌های Angry Birds, RF2011, RealGolf, NFS Shift و GOF2.
جدا از این برنامه‌ها، برنامه‌های زیادی هم میشه از اینترنت (از جمله Nokia Store) اضافه کرد. اما با توجه به آینده‌ی نسبتا تاریک این سیستم‌عامل، کسی حاضره برای این سیستم‌عامل برنامه تولید کنه مشابه برنامه‌های اندروید یا آیفون؟ حقیقت اینه که نه، و تعداد برنامه‌های این گوشی اصلا با برنامه‌های اندروید یا آیفون قابل مقایسه نیست. و منم وقتی گوشی رو می‌خریدم خیلی این قضیه برام مهم نبود. اما خوشبختانه، تا این لحظه خیلی کمبود خاصی حس نکردم. با این که تعداد برنامه‌ها زیاد نیست، اما در اکثر کاربردها تعداد خیلی مهم نیست و مهم اینه که کارایی مورد نیاز رو داشته باشی. بعضی جاها تعداد مهمه، مثلا توی بازی چون تنوع زیادی داره. اما توی کاربردهای دیگه خیلی اوضاع بد نیست. چند تا نکته این‌جا هست: خیلی برنامه‌های n900 احتمالا به n9 انتقال پیدا می‌کنند، برنامه‌های زیادی برای symbian هست که میشه یه سریش رو با تغییرات نسبتا کم به n9 انتقال داد، و این که n9 از برنامه‌های html5 هم پشتیبانی می‌کنه بنابراین احتمالا برنامه‌هایی که برای گوشی‌های وبی مثل Tizen میاد رو بشه به n9 هم انتقال داد. علاوه بر اون، اون شباهت میگو به سیستم‌های رومیزی گنو/لینوکسی این‌جا به درد می‌خوره: اکثر برنامه‌های رومیزی به صورت «بالقوه» برنامه‌های n9 می‌تونن باشن! نمونش اجرای VLC روی گوشی N9ه! مخصوصا وقتی در نظر بگیریم که توزیع‌هایی مثل فدورا و دبیان به طور تقریبا کامل می‌تونن برای این پردازنده کامپایل بشند.
اما خب، در مورد برنامه‌هایی که دست یک شرکت هستند اینجا به مشکل برمی‌خوریم. شرکت‌ها رو نمیشه مجبور کرد برای این سیستم‌عامل هم برنامه تولید کنند، و با توجه به گستردگی کم اون احتمالا هم این کار رو نکنند. برای همین، شاید هیچ وقت کلاینت Shazam برای این گوشی نیاد. یا خیلی سرویس‌های دیگه. در نتیجه، واقعا نمیشه این گوشی رو خیلی به کسی توصیه کرد! راستی یادم رفت بگم این گوشی از J2ME هم پشتیبانی نمی‌کنه، برای همین برنامه‌های جاوایی موبایلی رو نمیشه روش اجرا کرد. (اما میشه JaveSE Embedded روش اجرا کرد، در نتیجه یه سری برنامه‌های جاوای دسکتاپی رو می‌تونه اجرا کنه). البته یک سری برنامه‌های جاوای موبایلی رو هم با MicroEmulator میشه توش اجرا کرد.
گذشته از مورد بالا اوضاع خیلی هم بد نیست: Firefox (Fennec) + Flash، فرهنگ لغت، دانلود منیجر!، مدیر فایل، پخش کننده رادیو fm، قبله/قطب‌نما، ebook خوان، بارکد/qrcodeخوان، ضبط صدا، تقویم فارسی،‌ عکس برداری پانوراما، ویرایش عکس، سفارشی‌سازی یک سری تنظیمات، قرآن، کلاینت identica و غیره وجود دارند. ولی خب، آخرش احتمالا خیلی جاها اثری از پشتیبانی این گوشی نمی‌بینید. :)

ولی من گوشیم رو دوست دارم! مخصوصا که میشه جزء گوشی‌های developer friendly محسوبش کرد. خودش یه developer mode داره که وقتی فعال بشه یه سری امکانات اضافه میشه (مثلا یک ترمینال، و قابلیت اتصال ssh به گوشی) و میشه یه سری محدودیت‌ها رو برداشت. علاوه بر اون، کد هسته هم موجوده و میشه گوشی رو با اون هسته توی «حالت باز» یا Open Mode آورد بالا و کلیه‌ی محدودیت‌ها رو برداشت (پروژه‌هایی مثل inception هم تکمیل کننده‌ی قضیه هستند). و به خاطر همین قضیه پروژه‌ی اجرای آندروید روی N9 هم در جریانه و می‌تونه یه سیستم بوت دوگانه داشته باشه که بشه موقع روشن کردن گوشی انتخاب کرد که با اندروید بیاد بالا یا با میگو. (البته اندروید روی n9 فعلا در مرحله‌ی آلفاست و کامل کار نمیکنه). از طرف دیگه، تقریبا خوشبینم که بشه Tizen رو هم روی این گوشی آورد بالا، یا حداقل (و حتی بهتر از اون!) بشه برنامه‌های Tizen رو روی سیستم‌عامل این گوشی اجرا کرد (با توجه به این که این سیستم‌عامل پشتیبانی از برنامه‌های وب‌بیس رو داره).


۱۳۹۱ خرداد ۹, سه‌شنبه

فدورا ۱۷!

چند وقتیه نیستم این دو رو برا! که خب به خاطر یه مقداری بی‌برنامگی و مشغولیت و این چیزاست. الانم راستش خیلی آمادگی نداشتم ولی دیگه دلم نیومد هیچی نذارم مخصوصا که فردا فدورا ۱۷م میادش. :) برای همین گفتم یه مطلب کوچیک در مورد فدورا ۱۷ بذارم لااقل.

فدورا ۱۷ فردا میاد، با یه عالمه تغییرات و امکانات جدید... اما خب اکثرش خیلی قابل دیدن نیست. برای همین بعد از نصبش نباید انتظار داشته باشید خیلی چیز متفاوتی نسبت به فدورا ۱۶ ببینین!

اما خب، بد نیست ۲-۳ موردش رو بگم و برم؛
یکیش که GIMP 2.8ه که خب بعد از مدت‌ها یه نسخه‌ی جدید از gimp اومد. میگن این نسخه روی یه پایه‌ی جدیده (gegl فکر کنم!) که قابلیت‌های خوبی داره و توی gimpe 2.10 چیزهای جالبی ازش می‌بینیم. علاوه بر اون می‌شه تغییرات جزئی رو توی ظاهر گنوم و GTK جدید دید (مثلا ظاهرا نوار لغزش):


یکی دیگه هم اینه که توی نسخه‌ی ۲.۸ KDE بعد از مدت‌ها دوباره زبان فارسی به این محیط رومیزی اضافه شد. در واقع توی فدورا/ردهت این اولین باره که KDE هم زبان فارسی داره (اون قدیم که یه مدت یه سری ترجمه‌ی فارسی به KDE 3 اضافه شده بود نمیدونم به چه دلیل توی ردهت نذاشته بودنشون).


نکته‌ی آخر هم این کمک تایپ زبان انگلیسیه که به فدورا ۱۷ اضافه شده و قابلیتش شبیه T9 موبایل‌هاست. البته برای کسایی که تایپشون سریعه یه مزاحم بیشتر نیست! ولی خب شاید زد به سرم رو نسخه‌ی فارسیش کار کردم :)


این نسخه از فدورا با گنوم ۳.۴ میاد و از جمله قابلیت‌هاش هم قابلیت اجرای گنوم شل بر روی CPU به جای کارت گرافیک برای سیستم‌هاییه که کارت گرافیک ضعیفی دارند یا درایور درست و حسابی ندارند!
البته قابلیت‌های جدید دیگه‌ای هم توی فدورا ۱۷ هست مثل gcc 4.7 و نسخه‌ی آخر (هنوز منتشر نشده‌ی!)‌ Eclipse، و یه ارتقای عمده از روبی ۱.۸.۷ به روبی ۱.۹.۳، شاخه‌ی tmp/ مجزا برای بعضی سرویس‌ها (که از نظر امنیتی قابلیت مهمیه)، استفاده از mingw64 برای تولید برنامه‌های ۳۲ و ۶۴بیتی ویندوزی، و قابلیت راه‌اندازی بدون دردسر multi-seat.

۱۳۹۰ آذر ۶, یکشنبه

یک کیلو بایت چند بایته؟!

اگه گفتین یه کیلوبایت چند بایته؟! حالا تا (شاید) دارین فکر می‌کنید یکمی صحبت متفرقه:

یکی این که نرم‌افزارهای ساغر و jcal رفتن تو فدورا! البته فعلا توی مخازن updates-testing فدورا ۱۵ و ۱۶ هستن و به زودی وارد مخازن اصلی میشن. و البته اگه نصبش کنید و این‌جا و این‌جا تایید کنید (یا با استفاده از دستور و بسته‌ی fedora-easy-karma) که درست کار می‌کنه زودتر وارد مخازن اصلی میشه. به هر حال، فعلا این شکلی میشه نصبش کرد:
yum --enablerepo=updates-testing install Saaghar
yum --enablerepo=updates-testing install jcal

*****

راستی اگه اشتباه نکنم قراره سه‌شنبه یه ارائه در مورد LaTeX و XeLaTeX توی تهران لاگ بدم! تو خود سایت که هنوز نزدن گفتم خودم تبلیغ کنم ؛)

*****

خب چند بایت بود؟ بله... ۱۰۰۰ بایت. البته قدیما ۱۰۲۴ بایت بودا ولی اون مال قدیما بود. الان دیگه ۱۰۰۰ بایته. دقیقا مطابق با استانداردهای SI. یعنی یه مگابایت هم ۱۰۰۰ کیلوبایته و یه گیگابایت هم ۱۰۰۰ مگابایته و به همین ترتیب! 
توی وسایل الکترونیکی هم، برای یه سری از وسایل مثل حافظه‌ی اصلی (RAM) از واحدهای قدیمی استفاده میکنند اما توی وسایل ذخیره‌سازی مثل هارد دیسک‌ها، فلش‌ها و ... از واحد جدید استفاده می‌کنن. برای CDها از واحد قدیم استفاده میشه (یعنی یه سی‌دی ۷۰۰ مگابایتی از واحدهای ۱۰۲۴تایی استفاده می‌کنه) اما برای DVDها از واحد جدید استفاده می‌کنن. برای همین یه دیسک دی‌وی‌دی ۴.۷ گیگابایتی دقیقا ۴۷۰۰۰۰۰۰۰۰۰ یا ۴۷ با ۹ تا صفر بایت فضای ذخیره سازی داره. به همین ترتیب یه هارد ۵۰۰ گیگابایتی هم ۵۰۰ با ۹تا صفر بایت جا داره. اسم اختصاری این واحدها هم به صورت KB، MB و GB نشون داده میشه. 
خب حالا اسمی برای ۱۰۲۴ بایت داریم؟! بعله! کیبی‌بایت (KibiByte)! و به همین ترتیب مبی‌بایت(MebiByte) برای ۱۰۲۴ کیبی بایت و گیبی‌بایت(GibiByte) برای ۱۰۲۴ مبی‌بایت. واحدهای اختصاریش رو هم به صورت KiB، MiB و GiB نمایش می‌دن (اگه توی گنو/لینوکس دقت کنید این علائم رو بعضی جاها می‌بینین). برای اطلاعات بیش‌تر هم می‌تونید به صفحات گیگابایت و گیبی‌بایت توی ویکی‌پدیا مراجعه کنید.

۱۳۹۰ آبان ۲۴, سه‌شنبه

پایان دانشگاه؛ ویندوز ۷، پارتیشن‌ها و لینوکس

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

*****

من اصولا تا الان همیشه به کسایی که می‌خواستن یه توزیع گنو/لینوکس نصب کنن توصیه می‌کردم که کوچیک کردن پارتیشن‌های ویندوزیشون رو توی خود ویندوز انجام بدن و بعد لینوکس رو نصب کنن (برای این که اگه مشکلی اومد بد و بیراهش برای خود ویندوز باشه نه لینوکس D:). چند وقت پیش یه نفر مراجعه کرد بهم که بعد از کوچیک‌کردن پارتیشن ویندوزیش توی ویندوز ۷، پارتیشن‌هاش «قهوه‌ای» شده بودن. بعد از این که سیستمش رو دیدم متوجه شدم که کل هاردش به اصطلاح ویندوز از یه «دیسک ابتدایی (Basic Disk)» تبدیل شده به «دیسک پویا (Dynamic Disk)». اول فکر کردم که شاید یه جایی اشتباهی این کار رو کرده ولی بعد از جستجو مشخص شد که نه، خود ویندوز ۷ بعد از کوچیک کردن پارتیشن واقعا این کار رو می‌کنه. البته یه چیزی که الان نمی‌دونم اینه که همیشه این کار رو می‌کنه یا چون این فرد قبل از کوچیک‌کردن ۴ تا پارتیشن اولیه (Primary Partition) داشته و یکی از پارتیشن‌هاش رو کوچیک کرده و ویندوز دیده که این شخص تو این حالت دیگه نمی‌تونه پارتیشن معمولی جدید ایجاد کنه برداشته و زده کل هاردش رو تبدیل کرده به دیسک پویا. به هر حال، نکته‌ی اخلاقی روز این که: «توی ویندوز ۷ ترجیحا پارتیشن‌هاتونو کوچیک نکنید»! البته اگه کسی کوچیک کرده و این اتفاق نیفته (که نشون میده فقط وقتی پارتیشن عادی جدید نشه ایجاد کرد ویندوز این کارو میکنه)، بگه!
دیسک‌های پویای ویندوز یه جورایی معادل همون LVMیه که ما توی لینوکس داریم: یعنی یه سیستم پارتیشن‌بندی منطقی و نرم‌افزاری به جای مدل سنتی. که امکاناتی مثل RAID نرم‌افزاری هم میده. 
مشکل اساسی دیسک‌های پویای ویندوز اینه که هر چند هسته‌ی لینوکس ازشون پشتیبانی می‌کنه، تا جایی که می‌دونم هیچ کدوم (یا حداقل خیلی) از توزیع‌های گنو/لینوکس نصب روی این سیستم رو پشتیبانی نمی‌کنن.

*****

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

در پایان، سر یه مسئله‌ای باید بوت لودر ویندوز رو درستش میکردیم. اگه درست یادم باشه فقط کافی بود که پارتیشن اول رو به عنوان پارتیشن بوت علامت بزنیم (یادم رفته بود موقعی که با testdisk برمی‌گردونم این کارو بکنم). بعد گفتم جهنم بذار با خود ویندوز برگردونیم دیگه این کار که ازش برمیاد! ولی چشمتون روز بد نبینه، مد ریکاوری ویندوز خیلی کم‌عقل‌تر از این حرفا بود. حتی متوجه نشد که یه ویندوز رو سیستم هست. بعدم گفت من یه مشکلی بود حل کردم یه ریبوت کن حله! اما بعدش دیگه بدتر شد و حتی دستی هم بالا نمیومد ویندوزش. بعد از کلی سر و کله زدن متوجه شدم که ویندوز «باهوش» به جای این که یه علامت بوت بزنه روی پارتیشن اول، اون رو کلا پاک کرده و یه پارتیشن که پاک کرده بودیم رو برگردونده و حالا ننه من غریبم بازی در میاره! این شد که در نهایت بی‌خیال ویندوز شدم و مجددا با همون فدورای خودم و testdisk درستش کردم کلا. فقط یه توصیه: اگه رفتین تو حالت ریکاوری ویندوز، استفاده از خط فرمانش به جای ابزارهای startup recoveryش شدیدا توصیه میشه! چون این ابزار خودکارش تا الان توی چندین تجربه‌ای که من داشتم بیشتر خراب‌کاری کرده تا تعمیر. یه جوری از شرش خلاص شین (متاسفانه ویندوز اصرار داره که ازش استفاده کنید!) و بعد برین توی command promptش و از bootrecش استفاده کنید حداقل ظاهرا خیلی سر خود فعالیت نمی‌کنه!!
راستی این تبدیل دیسک پویا به دیسک معمولی با testdisk ممکنه فقط وقتی جواب بده که قبلش از دیسک معمولی تبدیل شده باشه به پویا. اگه از اول پویا ساخته شده باشه ممکنه جواب نده (حالا این که اصلا میشه یا نه رو نمیدونمP: )

۱۳۹۰ آبان ۱۸, چهارشنبه

عیدتون مبارک! :)

خب خب خب! عید قربان گذشته و عید غدیر آینده مبارک! امیدوارم که خدا حسابی شادی و سلامتی نصیب هممون بکنه. :)
همچنین اومدن فرخنده‌ی فدورا ۱۶ رو هم به همتون تبریک میگم!! ؛) این نسخه شاید خیلی ویژگی خاصی نداشته باشه ولی کلا از ۱۵ بهتره و این یکی دو هفته‌ای که اومدم روش کاملا راضی هستم. قشنگ‌تر و سریع‌تر شده. فقط باید در اولین فرصت خودمو از LVM خلاص کنم چون با توجه به این که تقریبا کل هاردم دست لینوکسمه دیگه خیلی مزیتی برام نداره و از طرف دیگه با حذفش میشه سرعت بالا اومدن سیستم و کلا سرعت دسترسی به دیسک رو سریع‌تر کرد.

****

این چند وقت تهران حسابی بارون و برف داشته. از بس نرفتم اصفهان هر چی آب جمع شده بود اصفهان بباره پا شده اومده تهران D: بابا یکمی صبر می‌کردی میومدم خب P: امیدوارم اصفهانم بارون بیاد یکمی بیشتر رودخونه داشته باشیم!
****

خب این‌طور که بوش میاد قراره شنبه من و دانشگاه از شر هم راحت شیم! البته روز سختی خواهد بود ولی فکر کنم (امیدوارم!) بعدش دیگه راحت شم D: دفاعم قراره شنبه ساعت ۶ باشه، ولی با توجه به شرایط و قرائن خیلی دعوت نمی‌کنم تشریف بیارین! P: ان‌شاالله بعدا جبران می‌کنم و برای جشن پارسیدورا یا فدورا دعوتتون می‌کنم ؛) فقط امیدوارم به خیر و خوشی تموم شه. ظاهرا داورهایی که دارم همچین کمی تا قسمتی خطرناک هستن D:

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

۱۳۹۰ مهر ۲۹, جمعه

تقویم شمسی StarCalendar و گنوم‌شل ۳.۰/۳.۲

یه پست کوچیک بزنم و برم (الان اصولا من نباید پای اینترنت باشم)!
تا قبل از گنوم ۳، توی فدورا برای تقویم شمسی میشد از اپلت تقویم جلال (jalali-calendar مولا پهنادیان) استفاده کنیم. اما از فدورا ۱۵ که رفتیم روی گنوم ۳ و در نتیجه گنوم‌شل، دیگه اپلت‌ها قابل استفاده نبودند. برای همین من StarCalendar رو برای فدورا به جای تقویم قبلی بسته‌بندی کردم. متنها به صورت پیش‌فرض شکلک تقویم نمیاد توی نوار بالای صفحه. برای همین یه افزودنی کوچیک براش نوشتم و گذاشتمش توی بسته‌ی starcalی که توی فدورا هست.


اخیرا رفتم روی نسخه‌های تستی فدورا ۱۶ و دیدم که بعله! اون افزودنی دیگه کار نمی‌کنه توی گنوم‌شل ۳.۲. و مجبور شدم یه نسخه مخصوص ۳.۲ درست کنم و بذارم توی بسته‌ی starcal فدورا ۱۶ به بعد. اما از اون‌جایی که تا حالا چندین نفر این افزودنی رو ازم خواستن تصمیم گرفتم اون رو به صورت مجزا هم یه جا بگذارم تا بقیه هم بتونن استفاده کنن. برای همین، هر دو نسخه‌ی این افزودنی برای گنوم ۳.۰ و ۳.۲ رو گذاشتم توی این آدرس. کافیه نسخه‌ی مناسب رو دانلود کنید و بریزین توی شاخه‌ی مربوط به افزودنی‌های گنوم‌شل:
/usr/share/gnome-shell/extensions/ یا
~/.local/share/gnome-shell/extensions

بعدش کافیه شل رو مجددا راه‌اندازی کنید (Alt+F2 و بعد r). بعد از این اگه starcal رو اجرا کنید شکلک مربوط به تقویمش توی نوار بالای گنوم‌شل ظاهر میشه مثل عکسی که گذاشتم :)


۱۳۹۰ شهریور ۲۱, دوشنبه

روز آزادی نرم‌افزار در اصفهان


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

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

 خلاصه! هر کسی هم که بخواد می‌تونه توی این همایش شرکت بکنه، فقط کافیه که یه سر به سایت همایش بزنه و ثبت‌نام کنه.

طبق اخبار رسیده، برنامه‌ی اصلی این همایش هم از این قراره:
در این همایش بهراد اسلامی‌فر و سجاد بارودکو به ارائه‌ی «نرم افزار آزاد به روایت تاریخ»، مجید سلامت به ارائه‌ی «لینوکس همیشه، همه جا!»، محمد باقر ادیب بهروز با مقاله‌ی «بومی سازی»، ناصر غانم زاده با «کسب و کار متن باز/نرم افزار آزاد»، «زبان های برنامه نویسی و محیط های برنامه نویسی» با ارائه‌ی مهرداد عباسی و در آخر ارائه‌ی لینوکس توکار - (embedded linux) توسط هدایت وطن‌خواه اجرا خواهند شد.

همایش هم همین پنج‌شنبه، ۲۴ شهریور توی کتابخونه‌ی مرکزی شهرداری اصفهان برگزار میشه.
دیگه من هر چی پوستر این بچه‌ها آماده کرده بودن چسبوندم تو بلاگم. یکمی ناجور شده ولی خب بالاخره زحمت کشیدن حیفه استفاده نشه!! ؛) بعدشم شاید این شکلی بهتر باهام حساب کردن P:

۱۳۹۰ شهریور ۱۵, سه‌شنبه

برنامه‌ی زنجان و اصفهان!

خب بالاخره قطعی شد که اگه خدا بخواد قراره آخر این هفته توی همایش سراسری نرم‌افزارهای آزاد/متن‌باز مهمون زنجانی‌ها باشم :) قراره اون‌جا یه معرفی درست و حسابی از پارسیدورا داشته باشم. بهترین قسمت مربوط به این ارائه اینه که باعث میشه اون‌جا مهمون باشم وگرنه خودش خیلیم مهم نبود ؛) D: البته اگه برا ۴شنبه شب و جمعه شبم نگهمون می‌داشتن خوب بودا! ولی خب جهنم، سعی می‌کنم از همون دو روز و یه شب حداکثر (سوء)استفاده رو بکنم. ؛) حالا از اصل موضوع که بگذریم، قراره یه معرفی نسبتا جامع از پارسیدورا داشته باشم، که خب از معرفی‌های دیگم کامل‌تره و یه مقداری جنبه‌های فنیش رو هم در بر می‌گیره.

اما بعد! برای جشن روز آزادی نرم‌فزار هم قراره اصفهان یه ارائه در مورد لینوکس توکار (Embedded Linux) داشته باشم که امیدوارم چیز جالبی از آب در بیاد. البته قرار بوده ارائش رو خیلی وقت پیش فرستاده باشم ولی خب نفرستادم P: امیدوارم کلمو نکنن! :)

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

۱۳۹۰ مرداد ۱۳, پنجشنبه

پارسیدورا ۱۵

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

به احتمال زیاد این نسخه علاوه بر دیسک نصب، یه نسخه‌ی زنده هم خواهد داشت برای کسایی که بخوان راحت‌تر این نسخه رو تست کنن و از امکاناتش استفاده کنند اما نیازی به داشتن یه عالمه نرم‌افزار روی دیسک ندارن و می‌تونن اون‌ها رو از اینترنت دانلود کنن.

فعلا! :)

۱۳۹۰ مرداد ۴, سه‌شنبه

تصمیم کبری!

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

(مسابقات)
بگذریم! چند وقت پیش هم ۶ روزی رفته بودم برا مسابقات روبوکاپ. در نقش شرکت‌کننده که اتفاق خاصی نیفتاد(P:) اما در نقش برگزار کننده، تجربه‌ی خوب و جدیدی بود. با این که مسابقات داخلی نسبتا زیادی برگزار کرده بودم، ولی این تجربه، کاملا متفاوت بود؛ و می‌تونم بگم خیلی خوش گذشت :). صرف‌نظر از این که تقریبا به خوبی برگزار شد، اتفاقات جالب و شیرینی هم در بینش افتاد که البته گفتنش اونقدرا مزه نداره!

(تصمیم کبری ؛)
مدتیه شدیدا دارم سعی می‌کنم یه هدف انتخاب کنم که بتونم به کمکش در مورد آیندم تصمیم بگیرم. و این کار، کار خیلی سختیه؛ به همین خاطر هم هست که تا الان هی انداختمش عقب (و نتیجش هم اتفاقات نه‌چندان خوشایند این ۲-۳ سال اخیره). حداقل چیزیم که الان باید در موردش تصمیم بگیرم، قدم بعدیه: ادامه تحصیل یا کار (=عدم ادامه تحصیل!). از هر گونه کمک معقول و البته فکر شده هم در این زمینه استقبال می‌کنم. دوست دارم هر کاری که می‌کنم بدونم برای چی دارم انجامش میدم. و طبیعتا علتش هم باید باارزش باشه. اصلا من اومدم که چه کارایی بکنم؟!

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

نمی‌دونم؛ الان به شدت افکارم قاطی پاتیه و موندم هدف درست چیه. امیدوارم خدا هم کمکی بکنه و راهی رو انتخاب کنم که بعدا از انتخاب‌هایی که این روزا کردم پشیمون نشم.

*******

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

*******

(پارسیدورا)
بازم بگذریم! با توجه به این که بالاخره فرصتی برای نفس کشیدن پیدا کردم (دارم سعی می‌کنم بعد از این نذارم این فرصت ازم گرفته بشه، هر چند یه مدت طول می‌کشه!)، رفتم سراغ تولید پارسیدورا ۱۵ که دیگه بیش‌تر از این دیر نشه چون ۲ماهی هست که از انتشار فدورا ۱۵ می‌گذره.
البته با توجه به تغییرات قابل توجه فدورا ۱۵ (رفتن به گنوم ۳)، مقداری تاخیر توی انتشار پارسیدورا ۱۵ طبیعیه! خلاصه این چند روز مشغول بودم با تغییرات بسته‌ها براساس گنوم جدید و یه سری بهبودها و رفتن از اپلت تقویم جلالی به starcalendarو اضافه کردن یه سری بسته‌های درخواستی و در نهایت کوچک‌کردن حجم در حد یک دی‌وی‌دی (با حذف یک سری بسته‌های ناخواسته)؛ که در نهایت همین ۲ ساعت پیش یه تست موفقیت آمیز انجام دادم (تنها مشکل این بود که برنامه‌ی نصب فکر می‌کرد این نسخه یه نسخه‌ی آزمایشیه که باید درستش کنم). :) میشه گفت نسخه‌ی ۶۴ بیتی تقریبا آمادست. فقط یکمی منتظر میشم ببینم دوستمون می‌تونه تقویم فارسی رو به تقویم خود گنوم ۳ اضافه کنه یا نه؛ و آرم پارسیدورا رو هم یکمی توی تصویر پس‌زمینه بیارم بالا. در کل، روند رو به بهبودی داریم!

******* 

چقدر زیاد شد (فرض کنید ۵تا پسته!)؛ بقیش تا بعد...

۱۳۹۰ خرداد ۱۸, چهارشنبه

گنوم ۳!

از جمله اتفاقات پر سر و صدایی که اخیرا توی لینوکس افتاده منتشر شدن نسخه‌ی سوم محیط رومیزی گنومه. این نسخه چند وقت پیش منتشر شد، و فدورا ۱۵ هم که حدودا ۲ هفته‌ی پیش منتشر شد اولین توزیعی بود که به صورت رسمی با گنوم ۳ منتشر شد.
گنوم‌شل (Gnome Shell) که پوسته‌ی پیش‌فرض گنوم ۳ه یک محیط کاملا متفاوت رو نسبت به نسخه‌ی قبلی این میزکار و همچنین میزکارهای مشابه ارائه میده که البته شباهت‌هایی به پوسته‌ی یونیتی که از اوبونتوی ۱۱/۰۴ به صورت پیش‌فرض استفاده میشه داره.
مثلا، توی گنوم شل دیگه منوی سنتی وجود نداره و اگه منو رو بخواین یه صفحه به عنوان منو کل صفحه رو می‌پوشونه و می‌تونید برنامه‌های مورد نظرتون رو توش پیدا کنید. اما این منو خیلی هم دم دست نیست و شما باید روی دکمه‌ی Activities یا «فعالیت‌ها» و بعد روی قسمت «برنامه‌ها» کلیک کنید تا به این منو برسید.
منوی برنامه‌ها


از نظر بعضی، این مسئله خوب نیست و کار کاربر رو سخت‌تر می‌کنه؛ ولی من هیچ مشکلی باهاش ندارم چون به ندرت ازش استفاده می‌کنم. فکر کنم هر کسی، یا حداقل خیلیا، اگه یه مدت از قابلیت جستجو استفاده کنند دیگه دنبال کردن اون شکلی برنامه‌ها رو ول می‌کنن چون واقعا سریع‌تر و راحت‌تره، مگه این که بخواین واقعا توی لیست برنامه‌ها بچرخید. برای جستجو دیگه لازم نیست برین به قسمت برنامه‌ها، همین که روی قسمت «فعالیت‌ها» کلیک کنید و وارد حالت Overview بشیم می‌تونید شروع به تایپ بکنید (برای ورود به این حالت به جای کلیک روی قسمت فعالیت‌ها میشه ماوس رو به قسمت بالا سمت راست(یا چپ توی حالت انگلیسی) صفحه بزنید، یا از کلید ویندوز و یا Alt+F1 استفاده کنید).
جستجو به دنبال برنامه‌ی مورد نظر
وقتی وارد حالت Overview میشین، قبل از این که شروع به تایپ بکنید یا وارد قسمت «برنامه‌ها» بشین، توی این حالت لیستی از پنجره‌های باز و همچنین فضاهای کاری یا Workspaceهای موجود رو می‌بینید و می‌تونید پنجره‌های توی اون‌ها رو هم ببینین. تعداد فضاهای کاری هم به صورت خودکار مدیریت میشه و همیشه یه فضای کاری خالی وجود داره.
حالت Overview
 طراحی گنوم‌شل از قسمت‌هاییه که خیلی سرش بحث هست. یک سری کارهای «غیرعادی» توی این طراحی انجام شده، مثلا این که شما نمی‌تونید هیچ پوشه یا شمایلی(icon) روی میزکار (Desktop)تون داشته باشید، یا این که دیگه نمی‌تونید مثل نسخه‌ی قبلی گنوم نوار بالای صفحه رو راحت جابه‌جا کنید یا چیزهایی رو روش قرار بدین، یا این که اصلا system tray اون بالا نیست، بلکه به صورت عادی اصلا پیدا نیست و اگه ماوس رو به گوشه‌ی پایین سمت چپ (یا راست توی محیط انگلیسی) ببریم دیده میشه. اون بالا فقط مخصوص یک سری آیکن‌های پیش‌فرض گنومه که به صورت دستی هم نمیشه کم و زیاد یا جابه‌جاشون کرد!
مدیریت فضاهای کاری توی حالت Overview
و برای این که تیر خلاص رو هم زده باشه، پشتیبانی از برنامک‌ها یا Appletهای گنوم ۲ هم به کلی حذف شده و دیگه چیزی به اسم برنامک وجود نداره! البته کار به این‌جاها هم ختم نمیشه: یک سری از تنظیمات هم دیگه وجود نداره، مثل تنظیم قلم‌های مورد استفاده، یا تنظیم این که وقتی در لپ‌تاپ رو می‌بندیم چه اتفاقی بیفته (به صورت پیش‌فرض به حالت تعلیق (suspend) میره) و یه سری تنظیمات دیگه؛ و دکمه‌های حداکثر و حداقل‌سازی هم از بالای پنجره‌ها حذف شده و فقط دکمه‌ی بستن مونده! تیم طراح گنوم۳ به این نتیجه رسیدند که با استفاده‌ی مناسب از فضاهای کاری، نیازی به استفاده از حداقل‌سازی نیست. حداکثر کردن هم با کشیدن نوار عنوان برنامه به بالای صفحه یا دوبار کلیک روی نوار عنوان برنامه قابل انجامه.
خب! این چیزا اولش یکمی آدمو شوکه می‌کنه. من خودمم با بعضیش مشکل داشتم، مثلا نبود برنامک‌ها و خواب رفتن لپ‌تاپ وقتی درش رو می‌بندیم! خوشبختانه، اگه بخواین تنظیماتی مثل قلم‌های مورد استفاده یا همین قضیه‌ی در لپ‌تاپ رو انجام بدین، یه ابزار gnome-tweak-tool هست که اگه نصب کنید میشه این کارها رو باهاش کرد. نظر طراحان گنوم‌شل این بوده که یه کاربر معمولی بهتره این چیزا دم دستش نباشه!
اما بحث برنامک‌ها یکمی جالب‌تر از اونه. گنوم‌شل برنامک‌ها رو پشتیبانی نمی‌کنه، اما در عوض میشه براش یک سری افزودنی نوشت که بهش میگن Gnome Shell Extension یا افزودنی‌های گنوم‌شل. این افزودنی‌ها نه تنها می‌تونن قابلیت‌هایی مثل برنامک‌ها رو ارائه بدن، بلکه می‌تونن تغییرات اساسی‌تری رو توی پوسته انجام بدند که با برنامک‌های گنوم۲ به این راحتی امکان‌پذیر نبود. مثلا افزودنی‌ای هست که گزینه‌های راه‌اندازی مجدد (restart) و خاموش‌کردن (power off) رو به منوی وضعیت اضافه می‌کنه (راستی یادم رفته بود بگم که به صورت پیش‌فرض توی گنوم‌شل این گزینه‌ها نیستند و فقط گزینه‌ی تعلیق یا suspend دم دسته، مگه این که سخت‌افزار پشتیبانی نکنه. البته اگه دکمه‌ی Alt رو بگیریم suspend تبدیل میشه به power off) یا رفتار یک سری از قسمت‌های شل رو تغییر میده. البته، این‌جا برای هر تغییری شما نیاز به افزودنی دارین، مثلا یه افزودنی داریم که منوی مربوط به دسترسی‌پذیری(Accessibility) رو حذف کنه، یا جای تقویم رو عوض کنه!! البته نکته‌ای که هست اینه که گنوم‌شل برای طراحی ظاهرش تا حد زیادی از جاوااسکریپت و CSS استفاده می‌کنه و افزودنی‌ها هم عمدتا با همین تکنولوژی نوشته میشن و به خوبی هم مجتمع میشن باهاش.
محیط رومیزی گنوم۳ در حال نمایش افزودنی وضعیت آب و هوا
این افزودنی‌ها واقعا چیزهای جالبی هستند! من تقریبا تمام چیزهایی که توی گنوم۲ داشتم رو الان توی گنوم۳ هم دارم مثل دمای پردازنده و وضعیت استفاده از پردازنده و حافظه‌ی اصلی (RAM). همون‌طور که گفتم شمایل برنامه‌ها هم به صورت پیش‌فرض به اون بالا اضافه نمیشه، برای همین با کمک این سایت یه افزودنی تک‌خطی نوشتم که شمایلی starcal که یه تقویم شمسیه رو به اون بالا اضافه کنه (هر وقت که اجرا میشه).
افزودنی بازدید وضعیت سیستم

افزودنی‌های گنوم‌شل به سرعت دارن پیشرفت می‌کنن و زیاد میشن، و با توجه به انعطاف خیلی بیشتری که دارن کارهایی میکنن که قبلا نمی‌کردند. امشب که داشتم نگاه می‌کردم از دیدن تعداد افزودنی‌ها نسبت به چند روز پیش کلی تعجب کردم!
یکی از افزودنی‌ها یه حالت presentation mode رو به اون منوی باتری که اون بالاست اضافه می‌کنه که تو این حالت هم محافظ صفحه (screen saver) غیرفعال میشه و هم معلق شدن خودکار لپ‌تاپ بعد از بستن درش. این مطلب هم برای شروع نوشتن افزودنی‌ها بدک نیست!
خلاصه... جای شما خالی! به طور کلی خیلی ازش خوشم اومده. از یک طرف محیط قشنگی داره (از عکس تغییر یافته‌ای هم که فدورا گذاشته پشتش خیلی خوشم میاد) و از طرف دیگه یه سری امکانات داره که کار کردن رو دلچسب‌تر می‌کنه. مثلا دیگه وقتی داری توی یه برنامه کار می‌کنی یه پنجره نمی‌پره جلوی صورتت و میره اون پشت، فقط یه پیام از پایین صفحه میاد و میگه که فلان برنامه آمادست. یا این که Alt+Tab بین پنجره‌ها جابه‌جا نمیشه، بلکه بین برنامه‌ها جابه‌جا میشه. مثلا اگه ۳ تا پنجره فایرفاکس باز باشه و یه پنجره یه برنامه دیگه، با Alt+Tab بین این ۲ برنامه جابه‌جا میشه. و اگه بخواین بین پنجره‌های یه برنامه جابه‌جا بشین می‌تونید از ~+Alt استفاده کنید (البته اگه از این روش خوشتون نیاد کافیه افزودنی مربوطه رو نصب کنید!).

راستی! یکی از چیزایی که من استفاده می‌کردم و قرار بود معرفیش کنم، امکان «استراحت تایپ» توی گنوم ۲ بود که مثلا تنظیمش می‌کردم که هر ۵۵ دقیقه کار با سیستم من رو مجبور کنه که ۵ دقیقه استراحت کنم. توی گنوم ۲، این رو مشید توی تنظیمات صفحه‌کلید تنظیم کرد اما توی گنوم۳ دیگه اونجا نیست. خوش‌بختانه، الان این برنامه تبدیل شده به یه برنامه‌ی مستقل به اسم drwright که توی مخازن فدورا هم هست....
System Tray
آماده برای استراحت!
بله... این بود یه بررسی کوچولو روی گنوم۳ و گنوم‌شل و خصوصیاتش و افزودنی‌هاش :)

۱۳۸۹ اسفند ۳, سه‌شنبه

بسته‌های جدید برای فدورا: ساغر، starcal و os-prober

طی این ۲-۳ روزه بالاخره ۲ بسته‌ای که چند وقتی بود می‌خواستم آماده کنم برای فدورا رو آماده کردم: یکی ساغر و یکی هم StarCalendar.  یه بسته هم به صورت تصادفی وقتی داشتم گراب ۲ی فدورا رو تست می‌کردم ساختم، اونم os-prober.
ساغر یه برنامه‌ست مشابه گنجور رومیزی، و از پایگاه‌داده‌های همون هم استفاده کرده. تفاوت اصلیش اینه که ساغر با Qt نوشته شده و در نتیجه برای هر سه سیستم‌عامل لینوکس، ویندوز و مک قابل استفادست اما گنجور با دات‌نت و اصولا برای ویندوز نوشته شده. هر دو برنامه‌های خوبی هستند برای کسایی که به شعر علاقمندن. منم از وقتی این برنامه رو دیدم تصمیم گرفتم بیارمش توی فدورا، و آقای سید رضی علوی‌زاده، نویسنده‌ی این برنامه هم در این زمینه خیلی باهام همکاری می‌کنند. و امیدوارم که به مشکل خاصی برنخوریم و بیاریمش داخل. ممکنه مجبور بشم برای فدورا بعضی از شعرها رو حذف کنیم ولی بالاخره هلش میدم تو مخازن فدورا. :) فعلا این‌جا منتظره تا بررسی بشه و بعد از رفع مشکلات وارد فدورا بشه.

StarCalendar هم یه تقویمه شمسی/قمری/میلادیه. قبلا تقویم جلالی که به صورت اپلت گنوم بود رو توی فدورا گذاشته بودم، ولی با توجه به این که فدورا ۱۵ از گنوم۳ استفاده می‌کنه و این نسخه‌هم توی پوسته‌ی پیش‌فرضش اصلا از اپلت‌ها پشتیبانی نمی‌کنه، تصمیم گرفتم این تقویم رو هم بسته‌بندی کنم که بی‌تقویم نمونیم! مخصوصا برای نسخه‌ی بعدی پارسیدورا :) اینم این‌جا منتظره!

چند وقت پیش تصمیم گرفتم بسته‌ی گراب۲ی فدورا رو یه تستی بکنم. فدورا مثل یه سری دیگه از توزیع‌ها هنوز به صورت پیش‌فرض از نسخه‌ی اول گراب استفاده می‌کنه (با وجود این که فدورا به استفاده از تکنولوژی‌های جدید معروفه)، ولی اوبونتو و بعضی توزیع‌های دیگه از نسخه‌ی ۲ استفاده می‌کنند. هنوز توسعه‌دهندگان فدورا به این نتیجه نرسیدند که گراب۲ جایگزین مناسبیه، مخصوصا که هنوز هم به انتشار نهایی نرسیده و آزمایشیه (البته گراب ۱ هم هنوز به نسخه‌ی ۱ نرسیده!). خلاصه من یه تستی کردم، ولی فهمیدم یکی از نیازمندی‌های گراب۲ برای تشخیص سیستم‌عامل‌های نصب شده روی سیستم نیست! اون هم برنامه‌ی os-prober بود که کار بچه‌های دبیانه، و انصافا چیز خوبیه :) و جای خالیش هم توی فدورا احساس میشه. گراب۲ هم اگه این برنامه نصب باشه ازش برای تشخیص سیستم‌عامل‌های نصب شده روی سیستم استفاده می‌کنه و اون‌ها رو به منوی بوت اضافه می‌کنه. منم دیدم بسته‌ی ساده و مفیدیه و این شد که بسته‌بندیش کردم. بعدشم گفتم چرا از این برنامه برای تولید منوی گراب ۱ استفاده نکنیم؟! این شد که با تغییر اسکریپت‌های گراب۲ یه اسکریپت ساختم که گزینه‌های منو رو برای گراب ۱ درست میکنه. البته مطمئن نیستم این اسکریپت به جز سیستم خودم جاهای دیگه هم درست کار کنه!! ولی خب فوقش یکمی تغییر میخواد ؛)
حالا اگه روی سیستم کنار توزیع‌های دیگه یه فدورا هم نصب کنیم با این اسکریپت میشه اون توزیع‌ها رو هم به منو با کم‌ترین دردسر اضافه کرد...

آن‌چه در قسمت‌های بعد خواهید دید: خیلی وقت پیش قرار بود در مورد «چرا فدورا؟» بنویسم که به زودی می‌نویسم! بعدش هم به توصیه آرمان‌جان هر از گاهی در مورد ابزارهایی که تو لینوکس استفاده می‌کنم می‌نویسم :). خیلی وقتم هست می‌خوام هر از گاهی در مورد یکی از قابلیت‌های جدید استاندارد اینده‌ی سی++ یعنی C++0x بنویسم... یه مشت چرت و پرت دیگه هم تو صف دارم اگه عمری و حالی بود! فقط موندم اینا نمی‌خوان فیلتره این‌جا رو بردارن؟! :(

۱۳۸۹ بهمن ۱۴, پنجشنبه

پارسیدورا ۱۴

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

کلا به نظر خودم جایگزین خوبی برای فدورا ۱۴ه، مخصوصا اگه دسترسی به اینترنت خوبی نداشته باشه آدم! این سری هم از اول برای دانلود موجود بود، و هم از طریق فروشگاه‌های سیتو و لینوکس‌شاپ قابل خریده.

فقط الان بعد انتشار به این نتیجه رسیدم که یکمی راهنما هم لازمه! قبلا خیلی به اینش فکر نکرده بودم ؛) مثلا الان استفاده از دیسک پارسیدورا ۱۴ برای حذف و نصب برنامه‌ها خیلی جالب‌تر از پارسیدورا ۱۳ شده، ولی هیچ جا نگفتیم چطوریه! به این نتیجه رسیدم که یه بخش «سوال‌های معمول» یا FAQ هم برای سایت لازمه؛ برای توضیح این طور توضیحات و این که مثلا پارسیدورا به صورت پیش‌فرض انگلیسیه و فارسی نیست!! (چون خیلیا از محیط فارسی فراری هستن) خب این رو هم گذاشتم توی کارهای آینده... P:

پانوشت: استفاده از دیسک پارسیدورام کار سختی نیست! اگه با Add/Remove Software کار کنید کافیه دیسک رو بذارین تو سیستم، خودش اگه دیسک باشه ازش استفاده می‌کنه و اگه نباشه هم استفاده نمیکنه. اگه هم از yum استفاده بشه، به صورت پیش‌فرض کاری با دیسک نداره و اگه بخواین از دیسک استفاده کنه، باید با گزینه‌ی enablerepo=parsidora-dvd-- استفاده کرد، مثلا:
yum --enablerepo=parsidora-dvd install vdrift

۱۳۸۹ مهر ۱۳, سه‌شنبه

پارسیدورا... :)



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

۱۳۸۹ شهریور ۳۰, سه‌شنبه

جشن روز آزادی نرم‌افزار اصفهان...

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

و اما بعد! من قصد داشتم ۴شنبه شب برم اصفهان که صبح برسم خونه و ظهر توی مراسم شرکت کنم. ولی ۴شنبه کلا همش این‌ور اون‌ور بودم و اصلا حواسم به شلوغی هفته نبود و بلیط نخریدم. شب به این نتیجه رسیدم که جا نیست! این شد که صبح رفتم ترمینال و بلیط ۷ و نیم رو گرفتم. رفتم تو اتوبوس دیدم ۲تا خانم نشستن جایی که منم... خلاصه راننده فرمودند که چون فقط من بلیط ۷ونیم داشتم اتوبوس کنسل شده و ۸ راه میفتیم!

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

رسیدیم صفه دیدم دیره مستقیم رفتم جشن. جشن خوبی بود یه سری افراد رو هم که مستقیم ندیده بودم دیدم و یه سری دوستان قدیمی رو هم دیدم و یه سری دوستانم که اومده بودند ولی ندیدم! بعد از جشن هم با دوستان رفتیم پارک تا نصف شب... البته شارژ گوشیم تموم شده بود و من یکمی دیر به خونه خبر دادم که سالمم و یکمکی دعوا هم شدم! ؛)

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

اصولا با توجه به طبیعت آزاد سیستم‌های لینوکس، راهی برای تخمین دقیق تعداد کاربرانش وجود نداره. همین مسئله در مورد توزیع‌های لینوکس هم صادقه. مخصوصا که ممکنه چندین سیستم‌عامل داشته باشه. به طوری که الان تخمین میزان استفاده از لینوکس از ۱ درصد هست تا ۱۴ درصد! یکی از معدود جاهایی هم که آمار مقایسه توزیع‌های مختلف رو میده سایت distrowatchه که البته اونم معیارش فقط تعداد بار کلیک‌هاییه که توی این سایت روی اسم اون توزیع میشه که عملا به درد نمیخوره. هر چند اون جا الان مدتیه فدورا دومه (یکی از حدس‌های من اینه که مینتی‌ها فدورا رو سیستم خانگی محسوب نمیکنن و کلا نادیده میگیرن!).
من جای دیگه‌ای آمار خاصی ندیدم. در بین توزیع‌ها هم حداقل تا جایی که من دیدم تنها توزیعی که یه سری آمار ارائه میده و راه به‌دست اومدن اون‌ها رو هم دقیقا توضیح داده (براساس تعداد آی‌پی‌های یکتایی که به مخازن فدورا وصل میشند، که البته مشکلات خودش رو داره) فدوراست. تو این صفحه میتونید شرحش رو ببینین که تعداد کل اتصال‌هاش الان حدود ۲۴ ملیونه.
البته شنیدم اوبونتو قصد داره یه بسته توی لینوکس‌هاش (البته فکر کنم فقط توی نسخه‌های OEM به صورت پیش‌فرض میذاره) بذاره که مرتب یه علامت بدن به شرکت که من هستم. برای شمارش تعداد نسخه‌های OEM که بعد از فروش همچنان استفاده میشند. و البته این بسته توی مخازن اوبونتو خواهد بود و هر کسی میتونه نصبش کنه.

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

و در پایان، داریم برای برگزاری جشن(یا مراسم!) انتشار پارسیدورا آماده میشیم... هر چند فدورا ۱۴ بتا همین روزا منتشر میشه ولی خب! از نسخه‌های بعدی سعی می‌کنیم با تأخیر خیلی کمی نسبت به فدورا منتشر بشیم. :)

۱۳۸۹ شهریور ۲۳, سه‌شنبه

خبر!

۱. broadcom درایور کارت‌های وایرلس نسبتا جدید به بعدش رو به صورت کاملا کد باز ارائه داد. البته در حال ارائه دادنه. این خبر خیلی خوبیه مخصوصا با توجه به زیاد بودن این نوع چیپست‌ها (تقریبا تمام لپ‌تاپ‌های دل که اخیرا دیدم از این چیپست‌ها استفاده میکنند.). بنابراین، حداقل برای سیستم‌های جدید به زودی دیگه نیازی به نصب درایورهای وایرلس اضافه نیست و تقریبا همه‌ی کارت‌های وایرلس بدون هیچ کار خاصی تو لینوکس کار میکنند. اوضای دنیای وایرلس که داره خوب میشه، اوضاع دنیای گرافیک هم با توجه به سیاست جدید AMD/ATI و از اون طرف هم درایور در حال پیشرفت nouveau داره بهتر میشه... کلا اوضاع پشتیبانی سخت‌افزارها لینوکس داره خیلی بهترتر میشه :)

خبر اصلی در osnews



۲. همایش روز آزادی نرم‌افزار (در اصفهان) (تهرانم هست البته! ولی خب من به احتمال زیاد توی اصفهانش شرکت میکنم :) )



۳. جشن انتشار پارسیدورا

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