وبلاگ سعید رسولی

بخور، بخواب، کد بزن

بخور، بخواب، کد بزن

گنو/لینوکس، پایتون، زندگی

آخرین مطالب
مطالب پربحث‌تر

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

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

۱ نظر موافقین ۰ مخالفین ۰ ۱۲ ارديبهشت ۹۲ ، ۱۸:۱۱
سعید رسولی

سلام

(بعد از عمری اومدم پست بذارم)


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

فکر می‌کنم خودم جزو دستهٔ سوم هستم.

۰ نظر موافقین ۰ مخالفین ۰ ۱۲ ارديبهشت ۹۲ ، ۱۸:۱۱
سعید رسولی

هر چیزی خریدارش زیاد شود، خودش هم زیاد می‌شود، جز درد و غم.

هر چیزی را فشار دهی عقب می‌رود یا ساکن می‌ماند، جز خشم و پرخاشگری.

هر چیزی را تقسیم کنی کم می‌شود، جز دانش.

هر چیزی که از دست رفت، دوباره ممکن است به‌دست بیاید، جز وقت.

۰ نظر موافقین ۱ مخالفین ۰ ۰۳ بهمن ۹۱ ، ۱۸:۴۶
سعید رسولی

روش دانلود و نصب دقیقاً مثل ورژن‌های 1.9 به بعد هست


https://sourceforge.net/projects/starcal/files/starcal2/2.1

https://github.com/ilius/starcal2


مهم‌ترین تغییرات ار ورژن 2.0.3


پنجرهٔ جستجوی رویدادها که از طریق پنجرهٔ مدیریت رویدادها -> منوی فایل، قابل دسترسی هست


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



در کشور افغانستان هم از تقویم جلالی استفاده میشه، ولی برای نامگذاری ماه‌ها بجای «فروردین، اردیبهشت، خرداد ...» از اسامی صورت‌های فلکی «حمل، ثور، جوزا...» استفاده می‌کنن، که تحت عنوان نامهای «دری» در برنامه شناخته میشه.

در زبان پشتوی افانستان و کردی هم از نام‌های دیگه‌ای استفاده میشه.

در این نسخه، شما می‌تونید تنظیم کنید که از کدوم روش برای نامگذاری ماه‌های جلالی استفاده بشه.

باید به پنجرهٔ ترجیحات -> پیشرفته -> نام ماه‌های جلالی مراجعه کنید


برای اطلاعات بیشتر هم به ویکی‌پدیا مراجعه کنید




افزودن پشتیبانی از تقویم اتیوپیایی


اضافه شدن گزینه‌های بیشتر به پنجرهٔ شخصی‌سازی


بهینه‌سازی در رویدادها از جمله تغییرات الگوریتمی و ساختاری


و طبق معمول رفع تعدادی باگ، بهینه‌سازی و تمیزکاری در قسمت‌های مختلف



۵ نظر موافقین ۱ مخالفین ۰ ۲۲ دی ۹۱ ، ۱۱:۲۸
سعید رسولی

 

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

ولی یه مقدار داره حوصله‌م سر میره از اینکه اوبونتو توی همه‌چی داره دخالت می‌کنه. مثل فوتبال حاشیه‌ش زیاده. در مورد موبایل هم فکر نمی‌کنم بتونه با اندروید رقابت کنه. خودم یه مدت تب maemo و meego داشتم. آخرش به این نتیجه رسیدم که موبایل جای لپ‌تاپ رو نمی‌گیره، و یک سیستم‌عامل نمی‌تونه همه‌جا بهترین گزینه باشه. حتی با داغ شدن بازار تبلت و از بین رفتن مرز بین موبایل و کامپیوتر و تلویزیون و ماشین و ... باز هم به نظر من تا وقتی این همه تنوع سخت‌افزاری توی حوزهٔ دیوایس‌های تاچ وجود داره، اندروید بخاطر ذات قابل‌حمل بودنش خیلی جلوتره. (اونایی که میگن موبایل و دسکتاپ با هم فرقی نداره، به تنوع سخت‌افزاری و معماری‌ها در حوزهٔ موبایل توجه کنن. توی دسکتاپ قریب به اتفاق سیستم‌ها i386 و x86_64 هست)

و احساس می‌کنم تا وقتی نرم‌افزار آزاد به معنای واقعی و کامل رایج نشه، این حرکت‌ها مسخره‌س. چرا که هنوز موبایلی که کل نرم‌افزارش آزاد باشه نیست یا خیلی معدود هست. موبایل‌های اندرویدی و حتی N900 هم درایورهاشون غیرآزاد هست. حالا اوبونتو اومده در حوزهٔ موبایل از چی دفاع کنه؟ از نرم‌افزار آزاد؟ از لینوکس (که اندروید هم کرنل‌ش لینوکس هست)؟ یا اینکه صرفاً عاشقان Unity رو خوشحال کنه؟

یا شایدم کنونیکال داره سعی می‌کنم اوضاع غیرعادی تجاری‌ش (و اینکه با کمک‌های خیرخواهانهٔ یک نفر جلو می‌رفت و در واقع بیزینس نداشت و تا الآن هم نمی‌دونم به سود رسیده یا نه)، با فروش موبایل‌های اوبونتو جبران کنه و واقعاً وارد بیزینس بشه.

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

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

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

از دیده مثبت‌اندیشانه هم اگه موبایل‌های اوبنتویی بیاد که کاملاً آزاد باشه (حتی درایورهاش) خیلی عالی میشه. و اگه بتونه برنامه‌های اندروید رو هم اجرا کنه که نور علی نور... فقط امیدوارم به سرنوشت maemo و meego دچار نشه...

۵ نظر موافقین ۱ مخالفین ۰ ۱۴ دی ۹۱ ، ۰۹:۴۶
سعید رسولی

رادیو گیک رو گوش دادم:

http://jadi.net/2012/09/radio-geek-royaye-fridman/


ایدهٔ بیت‌کوین من رو کاملاً قانع نکرد.

چون ما داریم از سی‌پی‌یو بعنوان یه منبع درآمد استفاده می‌کنیم نه بعنوان وسیله‌ای برای تولید که درآمد هم میاره.

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


به نظر من، سیستم اقتصادی نمی‌تونه کاملاً غیرمتمرکز باشه. از طرفی چون اعتماد رو نمیشه کاملاً با پول خرید، پس ۱۰۰ درصد هم نباید دست دولت‌ها و پولدارها باشه. باید چیزی بین این دو تا باشه. من فکر می‌کنم یک نظریه‌ای دارم در این زمینه که ارزش مطرح کردنش رو داشته باشه.


یه درخت رو فرض کنید (از دید نظرهٔ گراف) که یک سازمان کاملاً بی‌طرف (مثل بنیاد وب آزاد یا بنیاد نرم‌افزار آزاد) در راس قرار داره. این سازمان یک دفتر مرکزی در هیچ جایی نداره و اعضائش از طریق رای‌گیری بین تمام کاربران اینترنت انتخاب می‌شن.

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

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

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

و از طرفی اگه در مورد مثلاً محصولات غذایی نخوام به حکومتم اعتماد کنم، اصلاً نباید اینجا زندگی کنم.

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

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

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

۹ نظر موافقین ۱ مخالفین ۰ ۲۷ شهریور ۹۱ ، ۱۸:۱۴
سعید رسولی

Partition Table Structure

سلام
با بسته شدن wordpress.com احساس کردم بهتره این مطلب رو که چند سال پیش گذاشته بودم، دوباره توی وبلاگ جدید پست کنم.

یه نموداری رو درست کردم که ساختار پارتیشن‌بندی هارد رو در حالت‌های مختلف نشون بده. مخصصوصاً برای کسایی که میخوان لینوکس نصب کنن(اونم رو یه هاردی که ویندوز یا دیتا روش هست) درک کردن ساختار partition table خیلی کمک میکنه. متأسفانه حتی خیلی از لینوکس‌کارهای نسبتاً باتجربه هم ساختار Partition Table هارد رو درست درک نکردن و فرق بین Primary و Logical و Extended رو نمیدونن(حتی بعضی‌ها فرق بین Extended با فرمت ext3 رو نمیدونن). توصیه می‌کنم به این نمودار حسابی دقت کنید و برید توی بهرش تا ساختار Partition Table هارد رو درک کنید، چون زیربنای پارتیشن‌بندی درست همین هست، اگه اینو یاد بگیرید با هر ابزاری که دم دستتون باشه می‌تونید پارتیشن‌بندی کنید.





این مستطیل‌های افقی که می‌بینید(یازده تا) که از هم جدا هستن، هر کدوم یه هارد هستن، در واقع چند مثال از حالت‌های مختلف پارتیشن‌بندی هستن.
پارتیشن Extended ظرفی برای پارتیشن‌های Logical هست. در واقع Extended یه پارتیشن مجازی هست یعنی ما نمی‌تونیم ازش مستقیماً برای ذخیره‌سازی دیتا استفاده کنیم. در واقع ما فقط از پارتیشن‌های Primary و Logical برای ذخیره‌سازی دیتا استفاده می‌کنیم.
هر هارد حداکثر یک پارتیشن Extended میتونه داشته باشه(یعنی یا یدونه یا هیچی). و حداکثر 3 پارتیشن Primary میتونه داشته باشه(و حداقل هم یکی). البته اگه Extended (و در نتیجه Logical) نداشته باشید می‌تونید 4 تا Primary هم داشته باشید. اما هر تعداد Logical ها محدودیت نداره، به شرطی که یدونه Extended داشته باشیم، اونوقت هر تعداد که خواستیم می‌تونیم داخلش Logical بذاریم.
اگه هارد رو به یه اداره یا شرکت تجاری تشبیه کنیم، پارتیشن(های) Primary مثل مدیر(های) شرکت هستن، و پارتیشن Extended رو میشه به محل کار کل کارمندان شرکت تشبیه کرد که هر پارتیشن Logical مثل یکی از کارمندان شرکت هستن.
فرمت‌های مختلف پارتیشن مثل fat و fat32 و ntfs و ext2 و ext3 و reiserfs و... ربطی به نوع پارتیشن(Primary و Logical و Extended) نداره، یعنی یه پارتیشن چه Logical باشه چه Primary میتونه هر فرمتی(مثل ext3 و ext4 و fat32) داشته باشه. این فرمت‌ها نحوهٔ ذخیره‌سازی دیتا روی پارتیشن رو مشخص می‌کنن(پارتیشن Extended هم که گفتم مجازی هست و مستقیماً برای ذخیره‌سازی دیتا استفاده نمیشه پس براش فرمت تعریف نمیشه)
به قول فلاسفه نوع پارتیشن، خاصیت ذاتی پارتیشن هست(نمی‌تونه تغییر پیدا کنه). اما فرمت پارتیشن خاصیت عرضی هست(می‌تونه تغییر کنه).
یه پارتیشن رو میشه به راحتی فرمت کرد و فرمتش رو تغییر داد، ولی یه پارتیشن Logical رو نمیشه به Primary تبدیل کرد! یا بالعکس!
نکتهٔ آخر اینکه در روش اسم‌گذاری لینوکس، اسامی sda1 و sda2 و sda3 برای پارتیشن‌های Primary رزرو شده، یعنی اگه یدونه Primary هم داشته باشید، پارتیشن بعدی(که باید Extended باشه) اسمش sda4 هست و Logical های داخلش اسامی sda5 و sda6 و... دارن.
دیگه بیشتر از این فکر نمی‌کنم نیاز به توضیح داشته باشه. ولی باز اگه جای مبهمی بود بگید.
موفق باشید

۱۰ نظر موافقین ۲ مخالفین ۰ ۰۷ مرداد ۹۱ ، ۱۲:۴۸
سعید رسولی

دیروز جشن انتشار اوبونتو 12.04 در تهران برگذار شد.
نسبتاً خوب بود و خوش گذشت. از دوست عزیزم دانیال بهزادی و بقیهٔ دوستانی که کمک کردن تشکر می‌کنم.


چون قرار بود کارگاه برنامه‌نویسی باشه، پرزنت آماده نکرده بودم. همونجا بهم گفتن که کنفرانس هست، یه چیزی سریع نوشتم و ارائه دادم و بعدش هم سوال و جواب.
الآن فایل‌ش رو تکمیلش کردم و آپ کردم:

PDF

ODP

۱ نظر موافقین ۰ مخالفین ۰ ۰۶ مرداد ۹۱ ، ۱۲:۰۸
سعید رسولی

بالاخره بعد از ماه‌ها تأخیر، به این نتیجه رسیدم که باید 2.0 رو منتشر کنم.
علت تأخیر هم به مشغله برمی‌گشت و هم به تغییرات کلی که نمی‌دونستم کی تموم میشه و کی آمادهٔ استفاده میشه.
البته آخرین کدهام در github موجود بود و کاربران می‌تونستن تست کنن.

روش دانلود و نصب دقیقاً مثل نسخهٔ 1.9 هست، ولی برای یادآوری باز می‌نویسم


برای دانلود سورس، ۳ تا راه دارید:

۱- آخرین آرشیو سورس رو از سورس‌فورج دانلود کنید
http://sourceforge.net/projects/starcal/files/starcal2/2.0

۲- آخرین کدها رو توسط git از github دانلود کنید. یعنی اول git رو نصب کنید و بعد این دستور:
git clone git://github.com/ilius/starcal2.git

۳- اگه نمی‌خواید git رو نصب کنید، می تونید snapshot آخرین کدها رو بصورت یک آرشیو دانلو کنید. این آدرس رو در مرورگر باز کنید:
https://github.com/ilius/starcal2
روی دکمهٔ Downloads در سمت راست کلیک کنید و بعد دکمهٔ Download az zip یا Download az tar.gz رو بزنید



بعد از دانلود سورس، به پوشهٔ سورس cd کنید و بسته به توزیع‌تون یکی از چند دستور رو اجرا کنید (تاکید می‌کنم فقط یکی رو)
‎$ sudo ./install-debian
‎$ ./install-archlinux
‎$ sudo ./install-suse
‎$ sudo ./install-fedora
دقت کنید که این اسکریپت‌ها، اول پکیج مخصوص توزیع شما رو می‌سازن و بعد سعی می‌کنن پکیج ساخته‌شده رو نصب کنن. در آخر هم پکیج رو توی دایرکتوری جاری کپی می‌کنن که اگه خواستید مثلاً برای دیگران آپلود کنید، یا خودتون دستی نصب کنید (اگه اسکریپت نتونست نصبش کنه)
در اوبونتو/دبیان، بهتره قبل از اجرای اسکریپت install-debian، پکیج gdebi رو نصب کنید، چون اگه gdebi نداشته باشید، اسکریپت سعی می‌کنه با dpkg نصب کنه و ممکنه مشکل پکیج‌های پیش‌نیاز پیش بیاد

برای راحتی کاربران، پکیج deb این نسخه رو هم توی سورس‌فورج گذاشتم

اگه از ArchLinux استفاده می‌کنید، با نصب پکیج starcal-git از AUR، آخرین کدها که در github هست، نصب خواهد شد (لازم نیست سورس برنامه رو به روش‌هایی که در بالا گفته شد دانلود کنید)

اگه توزیع‌تون هیچ کدوم اینها (دبیان‌بیسد، آرچ، فدورا و سوزه) نیست، از دستور زیر استفاده کنید که شبیه make install هست و فایل‌ها رو در /usr/local/ کپی می‌کنه.
‎$ sudo ./install



اما تغییراتی که نسبت به 1.9 داشته:


۱- رویدادها، بجای «روزهای دلخواه»
اون چیزی که تحت عنوان Custom Days یا روزهای دلخواه وجود داشت، کلاً حذف شده. و مفهوم رویداد جایگزینش شده که انواع مختلفی داره و خیلی انعطاف‌پذیر و کامل هست. در واقع این مهم‌ترین تغییر برنامه در این نسخه هست و نتیجهٔ چند سال تحقیق و توسعه هست.

از طریق منوی برنامه یا نوارابزار، پنجرهٔ «مدیریت رویدادها» رو باز کنید
اولین چیزی که می‌بینید «گروه‌های رویدادها» هستن. اگه با تقویم گوگل کار کرده باشید، مفهوم «گروه رویدادها» در استارکل، شبیه مفهوم Calendar در تقویم گوگل هست. در واقع پوشه‌ای از رویدادها (اگه رویدادها رو شبیه فایل در نظر بگیریم). که البته یک گروه خودش نمی‌تونه شامل یک گروه دیگه باشه.
هر گروه خودش انواعی داره. و هر رویداد هم انواعی.
بهتره به منوهای این پنجره و منوی راست کلیک هر گروه، نگاه کنید. فعلاً قصد ندارم یک help کامل در مورد رویدادها بنویسم چون واقعاً خیلی مفصله. ولی رابط گرافیکی، به مرور زمان همه چیز رو براتون روشن می‌کنه.

متاسفانه به دلایل فنی (تفاوت ساختار رویدادها در استارکل و تقویم گوگل) هنوز امکان سینک با گوگل فراهم نیست. ولی در آینده احتمالاً با در نظر گرفتن محدودیت‌هایی (در مورد رویدادهای تکرارشونده) این امکان فراهم میشه.

بعنوان نکتهٔ آخر، برای backup گرفت از رویدادها، یا انتقالش از یک سیستم/شخص به سیستم/شخص دیگه، می‌تونید از گزینهٔ «صادر کردن» در منو پنجره، یا منوی راست‌کلیک هر گروه استفاده کنید.
رویدادهای یک یا چند گروه، به یک فایل json یا ics صادر میشه. اگه صرفاً می‌خواید توی استارکل ازش استفاده کنید، حتما فرمت json رو انتخاب کنید (فرمت اختصاصی استارکل هست و هیچ دیتایی در انتقال از بین نخواهد رفت). ولی اگه می‌خواید توی تقویم گوگل یا برنامه‌های دیگه از فایل خروجی استفاده کنید، ics رو انتخاب کنید (که رویدادهای تکرارشونده رو احتمالاً به چند رویداد در فایل ics تبدیل می‌کنه)

با توجه به اینکه برنامه در حال توسعه و تغییر هست و هنوز کاملا پایدار نشده، توصیه می‌کنم هر چند وقت یک بار «صادر کردن» به JSON رو انجام بدید و فایل‌هاش رو نگه دارید تا در صورت بروز مشکل بتونید دوباره import یا وارد کنید.

در ضمن، اون «روزهای دلخواه» که در ورژن‌های قبلی تعریف کرده بودید، خود به خود import خواهند شد و به «رویدادهای سالیانه» تبدیل خواهند شد.

یک سری رویدادهایی که برای همهٔ ممکنه جالب/مفید باشه، مثل رویدادهای ویکی‌پدیا فارسی، تاریخ ایران، تاریخ اسلام، و سال کشف عناصر شیمیایی، در یک مخزن جدا در github هست
https://github.com/ilius/starcal2
که می‌تونید دانلود کنید و تک‌تک فایل‌های json رو وارد (import) کنید در پنجرهٔ مدیریت رویدادها (یک نمونه اسکرین‌شات از تاریخ ایران در پنجرهٔ خط زمان گذاشتم)




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

تقویم هفتگی

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

شخصی‌سازی (۱)

شخصی‌سازی (۲)

شخصی‌سازی (۳)

شخصی‌سازی (۴)




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



اسکرول موس: جابجا شدن در زمان
اسکرول موس + کنترل: تغییر مقیاس
کلید راست و چپ: جابجا شدن در زمان
کلید فاصله یا Home: رفتن به لحظهٔ جاری (بعنوان نقطهٔ وسط)
کلیک پایین: متوقف کردن حرکت در زمان (که بصورت انیمیشنی و smooth انجام میشه)
کلید Esc یا q: بستن پنجره

راست‌کلیک روی هر رویداد هم یک منو باز می‌کنه که می‌تونید ویرایش یا حذفش کنید

نکتهٔ پیشرفته‌تر: در مورد نوع رویداد «کار» علامت‌هایی در اطرافش نشون داده میشه که اجازه می‌ده رویداد رو بصورت ویژوال ادیت کنید (شبیه resize یا move کردن پنجره‌ها)


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


خط زمان



۵- فارسی‌تر شدن
مثلاً در هر جایی که یک «ورودی عددی» دارید (یا SpinButton برای برنامه‌نویس‌ها)، اگه دقت کرده باشید، قبلاً عددها انگیسی بود و حتی برای تایپ اعداد باید کیبوردتون روی انگلیسی می‌بود. ولی الأن اون مشکلات برطرف شده. نه توسط Gtk بلکه توسط خودم.


۶- غیرفعال شدن رابط گرافیکی Qt
به دلیل تغییرات خیلی زیادی که در رابط گرافیکی انجام دادم، نتونستم رابط Qt رو همگام با Gtk جلو ببرم، و به همین دلیل فعلاً غیرفعالش کردم. امیدوارم بعداً فرصت کنم کاملش کنم

۷- استفاده از app indicator بجای tray icon در اوبونتو

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


سازگاری
تا جایی که شده سعی کردم سازگاری با نسخه‌های گذشته (1.9) رو حفظ کنم
با این حال بعضی از تنظیمات جزئی مثل اندازهٔ حاشیهٔ تقویم یا شکل مکان‌نما، به مقادیر پیش‌فرض برمی‌گرده و اگه خواستید دوباره باید تنظیم کنید.
اگه آخرین نسخه‌ای که امتحان کردید، 1.5 بوده (1.9 رو اجرا نکردید) یک پنجره برای import کردن تنظیمات در اولین اجرا ظاهر خواهد شد.


دوستانی که می‌خوان با گزارش باگ‌ها، به توسعهٔ برنامه کمک کنن، بد نیست که برنامه رو در ترمینال اجرا کنن (دستور starcal2) تا ارورهای احتمالی رو ببینن (و بتونن برای من پیست کنن).
گرچه خیلی از ارورها در این فایل لوگ میشه:
‎ ~/.starcal2/log/error
ولی تضمینی هم وجود نداره که همه‌شون لوگ بشه



و در نهایت، اگه خواستید Donate کنید:
بانک ملت، شمارهٔ حساب 3249590307
شمارهٔ کارت:
‎6104 3370 3338 9055
به نام: سعید رسولی


موفق باشید

۴ نظر موافقین ۲ مخالفین ۰ ۲۹ تیر ۹۱ ، ۱۱:۲۲
سعید رسولی