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

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

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

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

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

همونطور که احتمالاً می‌دونید هر سال در همین حوالی در تمام دنیا جشن روز آزادی نرم‌افزار برگزار میشه.

روز آزادی نرم‌افزار رسماً سومین شنبهٔ ماه سمپامبر هست، با این حال تاریخ برگزاری جشن در کشورهای مختلف عموماً کمی با این روز فاصله داره (مخصوصاً توی ایران که شنبه اولین روز کاریه)


به لطف دوستان گنو/لینوکس‌کار امسال این جشن پنج‌شنبه ۸ مهر در تهران برگزار میشه

و این هم سایت رسمی جشنواره: sfd.fsug.ir

توصیه می‌کنم همین الآن ثبت نام کنید


من هم اگه دوستان بپذیرن در مورد StarCalendar ارائه میدم


من یه مقدار توی مطابقت چهره با اسم و هویت مجازی مشکل دارم! بنابراین اگه خواستید بیاید خودتون رو معرفی کنید، خوشحال میشم :)

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

استارکلندر 3.0.4 منتشر شد


Github Release

Source Code

starcal3_3.0.4-1_all.deb

starcal3-3.0.4-1.noarch-openSUSE.rpm


تغییرات نسبت به نسخهٔ 3.0.3


- رفع باگ کار نکردن import و export گروه رویدادها

- رفع باگ Permission Denied برای کسانی که فایل zip را دانلود و نصب می‌کنند

- رفع باگ در نصاب آرچ‌لینوکس: اضافه کردن python-cairo به پیش‌نیازها

- رفع باگ در تقویم اتیوپایی (مربوط به پایتون ۳)

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

استارکلندر 3.0.3 منتشر شد


Github Release

Source Code

starcal3_3.0.3-1_all.deb

starcal3-3.0.3-1.noarch-openSUSE.rpm


تغییرات نسبت به نسخهٔ 3.0.2


- رفع ناسازگاری با ورژن‌های جدید PyGI

- رفع باگ جزئی در مدیریت رویدادها

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

- رفع ناسازگاری با سیستم‌هایی که UTF-8 در آن‌ها پیش‌فرض نیست

- اضافه کردن پکیج gir1.2-gtk-3.0 به پیش‌نیازها در نصاب دبیان (برای نصب اتوماتیک و جلوگیری از سردرگمی کاربر)

- آپدیت توضیحات پکیج در نصاب‌های دبیان، سوزه و فدورا


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

سلام

بعد از ۸ سال کار کردن روی اولین برنامهٔ کاربردی که نوشتم (و در دانشگاه شروعش کردم)، تبدیل به محبوب‌ترین و پرکاربرترین برنامه‌م شد، که بیشتر کاربرانش هم غیرایرانی هستن.

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


امروز یه نسخهٔ کاملاً جدید از این برنامه در گیت‌هاب منتشر کردم، که شاید بشه گفت اولین انتشار استاندارد این برنامه هست (تا به حال روش ورژن‌بندی و انتشار مشخصی نداشتم)

نکات انتشار این نسخه به انگلیسی:

https://github.com/ilius/pyglossary/releases/tag/3.0.0

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

مقاله‌ای رو در آذر ماه ۹۳ با عنوان « ویژگی‌های یک قلم‌ فارسی استاندارد » نوشتم که ۶ صفحه از شمارهٔ سوم نشریهٔ سلام دنیا رو به خودش اختصاص داد

این چند روز اخیر یه مقدار تغییرات دادم و توضیحاتی رو اضافه کردم و از اینجا می‌تونید دانلود کنید:


Download PDF

Download ODT


ویرایش: فایل‌ها در 1395/01/05 آپدیت شدند

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

سلام و سال نو مبارک

استارکلندر 3.0.2 منتشر شد

Github Release

Source Code

starcal3_3.0.2-1_all.deb

starcal3-3.0.2-1.noarch-openSUSE.rpm


تغییرات نسبت به نسخهٔ 3.0.1

- آپدیت ماه‌های قمری و مناسبت‌ها بر اساس تقویم رسمی ۱۳۹۵ کشور

- رفع باگ در نصاب آرچ‌لینوکس

- افزایش سرعت کد تقویم میلادی (برای تبدیل از/به سایر تقویم‌ها)

- رفع چند باگ در مدیریت رویدادها

- رفع یک باگ در پنجرهٔ شخصی‌سازی



همینطور نسخهٔ 2.4.3 هم بطور همزمان منتشر شد، برای کسانی که از سیستم‌های قدیمی استفاده می‌کنن

تغییرات نسخهٔ 2.4.3 نسبت به 2.4.2 کم و بیش همون تغییرات نسخهٔ 3.0.2 نسبت به 3.0.1 هستن

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

استارکلندر 3.0.1 منتشر شد

لینک‌های دانلود:

Source Code - starcal-3.0.1.tar.gz
Debian/Ubuntu - starcal3_3.0.1-1_all.deb
OpenSUSE - starcal3-3.0.1-1.noarch-openSUSE.rpm

تغییرات نسبت به نسخهٔ 3.0.0

  • سازگاری با ورژن‌های قدیمی ماژول psutil
  • رفع باگ در پنجرهٔ « صدور به HTML »
  • رفع باگ در ترجیحات -> افزونه‌ها -> اضافه کردن
  • رفع اشکال در اسکریپت‌های نصاب آرچ‌لینوکس و اوپن‌سوزه (نام پکیج پیش‌نیاز اشتباه بود)
  • رفع اشکال در پنجرهٔ ویرایش رویداد که ورودی «منطقهٔ زمانی» نمایش داده نمی‌شد
  • رفع یک اشکال در پنجرهٔ اصلی (راست کلیک - تغییر به تغییر هفتگی/ماه)
  • بهبود در خط زمان
  • و رفع چند باگ دیگر
۱ نظر موافقین ۰ مخالفین ۰ ۰۹ بهمن ۹۴ ، ۱۸:۲۱
سعید رسولی

به طور همزمان، نسخهٔ 2.4.2 و نسخهٔ 3.0.0 منتشر شدند


به دلیل تغییرات کلی و اساسی در نسخهٔ 3 ، خط توسعهٔ 2.4 تا زمان پایدار شدن نسخهٔ 3 ادامه پیدا می‌کند
همینطور کسانی که از توزیع‌های قدیمی لینوکس استفاده می‌کنند و فعلاً امکان استفاده از نسخهٔ 3 را ندارند می‌توانند از 2.4.2 استفاده کنند

لینک‌های دانلود 3.0.0

لینک‌های دانلود 3.0.1

Source Code - starcal-3.0.1.tar.gz
Debian/Ubuntu - starcal3_3.0.1-1_all.deb
OpenSUSE - starcal3-3.0.1-1.noarch-openSUSE.rpm


تذکر: اگر پکیج دبیان را در اوبونتو نصب می‌کنید، قبل از اجرای برنامه، این دستور را اجرا کنید:

sudo apt-get install 'gir1.2-appindicator3*'


لینک‌های دانلود 2.4.2

starcal2_2.4.2-1_all.deb

Source Code - 2.4.2.tar.gz



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


و اما تغییرات نسخهٔ 3.0.0 نسبت به 2.4.2

۱- مهاجرت از Gtk2 به Gtk3
تا به حال از فریم‌ورک PyGTK برای رابط گرافیکی استفاده می‌کردیم، که مبتنی بر Gtk2 است و با وجود پایداری فوق‌العاده، توسعهٔ آن متوقف شده است و هرگز به سمت Gtk3 و/یا پایتون ۳ نخواهد رفت
در این نسخه بطور کامل به فریم‌ورک PyGI یا python gobject introspection مهاجرت کردیم که مبتنی بر Gtk3 است و آینده را در دست دارد
این پروژه وابستگی چندانی به پایتون ندارد و در تمام زبان‌های محبوب پیاده‌سازی شده است

۲- مهاجرت از پایتون 2.7 به پایتون 3
مهاجرت به پایتون 3 راحت نبود، ولی راحت‌تر از مهاجرت به Gtk3 بود
و چون PyGI به خوبی در پایتون ۳ پشتیبانی می‌شود، تصمیم گرفتم که همزمان به پایتون ۳ هم مهاجرت کنم
توسعه و تست‌های من با پایتون 3.4.3 انجام شده است، ولی احتمالاً با ورژن‌های قبل و بعد پایتون 3 هم سازگار است


۳- استفادهٔ حداکثر از فرمت JSON به جای سایر فرمت‌ها
برای تقریباً تمام فایل‌های تنظیمات برنامه و همینطور افزونه‌ها به فرمت json سوییچ کردم
این یکی از دلایلی است که نسخه‌ٔ 3 با نسخهٔ 2.4 سازگار نیست، یعنی پوشهٔ تنظیمات آن جداست
اما نگران نباشید، تنظیماتی که بر روی نسخه‌های قبل انجام داده‌اید به راحتی import خواهند شد

۴- تغییر فرمت و ساختار ذخیره‌سازی رویدادها
در این نسخه برای ذخیره‌سازی دیتای رویدادها از ترکیب فرمت JSON و BSON با ساختار hash-based شبیه به git استفاده می‌شود
این تغییر، در نسخه‌های بعد (تا چند سال آینده) بسیار مفید خواهد بود
ولی بخاطر شکستن سازگاری مجبور بودم این تغییر را در 3.0.0 انجام دهم (در نسخه‌های بعد سازگاری حفظ خواهد شد)

از دید کاربر، فعلاً تنها نکته این است که وابستگی به پکیج python3-bson اضافه شده است
از دید یک برنامه‌نویس می‌توان به این نکته اشاره کرد که فرمت bson در دیتابیس محبوب MongoDB هم استفاده می‌شود




بخاطر تغییرات ذکر شده در بند ۳ و ۴، در اولین اجرای این نسخهٔ، یک پنجره با عنوان StarCalendar 3.x - First Run باز می‌شود که به شما اجازه می‌دهد تنظیمات و دیتای نسخهٔ 2.4 را به نسخهٔ 3.0 وارد (import) کنید
با زدن دکمهٔ OK کار import کردن شروع می‌شود. اگر رویداهای زیادی داشته باشید، ممکن است این کار چند دقیقه طول بکشد

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

در هر دو صورت، بعد از OK کردن و اتمام کار و بسته شدن این پنجره، برنامه اجرا می‌شود






سایر تغییرات:

۵- اضافه شدن « رویداد ماهیانه »
رویدادی که در یک بازهٔ چند ماهه یا چند ساله، در یک روز خاصی از ماه و از ساعت خاصی تا ساعت خاصی تکرار می‌شود

۶- اضافه شدن آیکون‌های SVG سبک اوبونتو برای « نماد وضعیت » توسط دانیال بهزادی
دوست عزیزم دانیال بهزادی حدوداً ۸ ماه پیش این را بصورت یک pull request در github اضافه کرد
ولی بخاطر اینکه در برنچ master فقط رفع باگ‌ها انجام می‌شوند و از آن زمان، نسخهٔ جدیدی هم منتشر نشد، نتوانستم زودتر آن را در انتشارهای برنامه قرار دهم


۷- اضافه شدن event lock
بخاطر ساختار ذخیره‌سازی رویدادها، اگر همزمان دو پروسه از starcal 3 در حال اجرا باشند، و هر دو در رویدادها تغییراتی ایجاد کنند، دیتای رویدادها دچار مشکل خواهد شد
به همین دلیل یک lock file اضافه شده است، که پروسهٔ دوم نتواند در رویدادها تغییری ایجاد کند، بلکه فقط بتواند آنها را بخواند
وابستگی به پکیج python3-psutil بخاطر این قابلیت است


۸- استفاده‌ٔ بیشتر از فرمت SVG
باز هم فرمت SVG در کدنویسی گرافیک برنامه (مثلاً آیکون Drag & Drop و check box های پنجرهٔ مدیریت رویدادها) به دادم رسید
و مهاجرت کامل و بی‌نقص به Gtk3 را برایم امکان‌پذیر کرد

۹- حدف سازگاری با نسخهٔ 1.5.3
برای تمیزتر شدن کد و افزایش بازدهی، سازگاری با نسخهٔ 1.5.3 و یا قبل از آن، بطور کامل حذف شد

۱۰- رفع مشکل پخش صدای اذان
متأسفانه باز هم قابلیت پخش صدای اذان (توسط پلاگین اوقات شرعی) مشکل داشت، و در صورت باز نبودن پنجرهٔ اصلی، فایل صوتی پخش نمی‌شد
با تست‌های خودم، این مشکل در این نسخه برطرف شده است

۱۱- و طبق معمول، تعدادی تغییرات و بهبودهای جزئی، رفع باگ‌های کوچک، و مقدار زیادی تمیزکاری در کد


نکاتی در مورد پکیج برنامه:

۱- کاربران اوبونتو اگر پکیج دبیان را دانلود و نصب می‌کنند، قبل از اجرای برنامه این دستور را بزنند:


sudo apt-get install 'gir1.2-appindicator3*'



۲- کاربران openSUSE با دانلود پکیج سورس و با اجرای این دستور:

sudo ./install-suse

می‌توانند برنامه را نصب کنند

کاربران ArachLinux هم از این دستور برای نصب استفاده کنند:

./install-archlinux

و کاربران فدورا از این دستور:

sudo ./install-fedora


۳- پکیج نسخهٔ 3 جدای از پکیج نسخهٔ 2.4 است، بنابراین می‌توانید نسخهٔ 3.0 و نسخهٔ 2.4 را همزمان نصب داشته باشید و همزمان استفاده کنید، و هیچ تضادی با هم نخواهند داشت


۴- کاربران توزیع‌هایی مثل Slackware و Gentoo که سورس برنامه را دانلود کرده و مستقیماً اجرا می‌کنند، و یا با اسکریپت install نصب می‌کنند، مجبورند پکیج‌های مورد نیاز برنامه را دستی نصب کنند
اسم پکیج‌های موردنیاز در دبیان به این صورت است (نام پکیج‌های مربوط به توزیع خودتان را با کمک گوگل پیدا کنید):
python3-gi
python3-gi-cairo
python3-httplib2
python3-psutil
python3-bson
و این پکیج‌ها هم برای بعضی قابلیت‌های برنامه موردنیاز هستند:
python3-dateutil
python3-igraph
python3-gnomevfs


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

یک عبارت از یک آماردان قرن بیستم آمریکایی به نام Frederick Mosteller‎ دیدم که احساس کردم ارزش یک پست وبلاگ رو داره:

‏«دروغ گفتن با آمار راحته، دروغ گفتن بدون آمار راحت‌تره.»

"It is easy to lie with statistics; it is easier to lie without them."

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

اگه توی کنفرانس پایتون که این جمعه برگذار میشه ثبت‌نام نکردید، ظاهرا هنوز می‌تونید ثبت‌نام کنید

http://myevent.ir/pycon

نوشته ثبت‌نام فوق‌العاده تا دهم (یعنی روز قبلش) ولی اگه می‌خواید بیاید همین الآن ثبت‌نام کنید :)

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