چه کارهای جالبی با گنو/لینوکس انجام می‌دهم : جایگزین کننده خودکار clipboard

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


خوب معمولا این پست ها با طرح یه مشکل شروع میشن و بعد با یه حرکت ژانگولری لینوکسی تموم میشن پس اول میپردازیم به مشکل، داستان از اون جایی شروع شد که قصد کردم مستندات Django که یه فریم ورک نوشته شده با python هست رو مطاله کنیم و PDF مستندادشو گرفتم و هر از گاهی یه مقدارشو میخوندم.
مسئله از اینجا شروع شد که هر از گاهی به کدهایی بر میخوردم که باید کپی و پیست میکردم و مثال ها رو اجرا میکردم، کدهایی مثل کد زیر:

 

urlpatterns = patterns(’’,
(r’^articles/(d{4})/$’, ’news.views.year_archive’),
(r’^articles/(d{4})/(d{2})/$’, ’news.views.month_archive’),
(r’^articles/(d{4})/(d{2})/(d+)/$’, ’news.views.article_detail’),
)

 

مشکل اینجاست که به جای کاراکتر Typewriter single quotes یا همون کاراکتر ‘ که در برنامه نویسی هم بسیار مرسوم وقتی paste انجام میشه کاراکتر Single quotes (curly)  یا همون کاراکتر ‘ ’ پیست میشه و هر دفعه برای اجرای درست کد ها باید با سینگل کوت معمولی ( ‘ ) جایگزین بشن. اینجا میتونید راجع به علايم نقل قول اطلاعات کاملی بدست بیارید.

مثلا برای مثال بالا شکل درستش اینشکلیه:

urlpatterns = patterns('',
(r'^articles/(d{4})/$', 'news.views.year_archive'),
(r'^articles/(d{4})/(d{2})/$', 'news.views.month_archive'),
(r'^articles/(d{4})/(d{2})/(d+)/$', 'news.views.article_detail'),
)

 

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

خوب حالا که مشکل فهمیدیم باید دنبال یه راه حل باشیم:

بعد از یه مقداری گوگل دیدم ادیتور محبوب لینوکسی ها یعنی vim راه ساده ای برای این کار داره، کافیه تو فایل .vimrc دستور زیرو بنویسی:

autocmd BufWritePre * :%s/’/'/ge

کد بالا باعت میشه هر دفعه که در vim ما دستور :w رو برای ذخیره فایل زدیم، قبل از ذخیره عمل replace یا همون جای گزینی انجام بشه.

درسته که با همین کار کوچیک مشکلمون حل میشه اما راستش من تو کارهام بیشتر از ادیتورهای گرافیکی مثل geany و gedit استفاده میکنم! پس مشکل من هنوز کامل حل نشده.
پس باید یه فکر دیگه ای بکنم، هوووووم خوب من میدونم وقتی یه چیزی copy میشه در یک جایی به نام clipboard ذخیره میشه و اگه من بتونم مدام clipboard رو چک کنم میتونم اگر کاراکتر های ناخواستم توش پیدا شد همونجا عمل replace رو روشون انجام بدم تا وقتی چیزیو paste میکنم همه چیز درست و اونطوری که من میخوام باشه.
بنابراین بازم دست به یه سری سرچ میزنم و به کتابخونه Pyperclip میرسم که به زبان python برای کار با clipboard نوشته شده.
من python کار نیستم اما علاوه بر این که python کارا رو دوست دارم :دی میدونم وقتی یه زبان برنامه نویسی رو بلد باشی و ساختارهای کنترلیشو بشناسی سادس که با زبان های برنامه نویسی دیگه هم کار کنی.
بنا بر این گرچه خیلی ترو تمیز نیست ولی کد زیرو نوشتم ببینم کار میکنه یا نه!

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import pyperclip
import time

while 1:
	clipboard = pyperclip.paste()
	if '’' in clipboard or '‘' in clipboard:
		clipboard = clipboard.replace('’', ''')
		clipboard = clipboard.replace('‘', ''')
		pyperclip.copy(clipboard)
		time.sleep(1)

خوب خدا رو شکر کار میکنه و ما الان تو محیط گرافیکی تمام copy و paste هامون شامل قوانین replace کننده موردنظرمون میشه.
توضیح کد بالا به این صورته که یه حلقه بی نهایت ساختم که هر یک ثانیه یک بار اجرا میشه و با کمک کتابخونه Pyperclip محتویات clipboard رو میگیره و چک میکنه آیا کاراکترهای’ یا ‘ در اون هست یا نه و اگر هست عمل جایگزینی اونها رو با کاراکتر سینگل کوت موردنظر ما انجام میده و محتویات جدید رو جایگزین محتویات قبلی clipboard میکنه.

اما جریان اینجا تموم نشد! موقعی که این کد رو اجرا میکردم احساس میکردم صدای فن لپ تاپم زیاد میشه و وقتی با دستور top میزان مصرف منابع سیستممو چک کردن دیدم بله مصرف منابع کدی که نوشتم، خیلی بیشتر از هیکلشه!
خوب این یعنی حلقه بی نهایت جواب نمیده و باید خیلی دقیق تر بزنیم به هدف! مثلا این عمل جایگزینی فقط وقتی عمل کپی انجام میشه صورت بگیره! خوب سوال اینجاست از کجا بفهمیم کی یه عمل کپی کردن داره انجام میشه؟ شاید با DBUS بشه این کارو پیاده کرد ولی بابا آخه من همیشه دنبال آسون ترین راهم پس یه گوگلی میکنم تا ببینم تو نرم افزار های مدیریت clipboard کدوم به اونچیزی که من میخوام نزدیک تره که به glipper رسیدم.
در توضیحش امده:

It maintains a history of text copied to the clipboard from which you can choose. Glipper uses plugins to give the user all the extra functionality.

پس اگه بتونم یه plugin براش بنویسم احتمال زیاد بتونم مشکل خودمو با یه روش اصولی حل کنم.
بعد از نصبش سعی میکنم از ساختارش سر در بیارم!

[email protected]:~$ cd /usr/share/glipper/
[email protected]:/usr/share/glipper$ ls
plugins plugins-window.ui preferences-window.ui

 

خوب تونستم جایی که plugin هاش نصب میشه رو پیدا کنم و توی پوشه plugins به مورد جالبی بر خوردم! پلاگین newline.py بسیار ساده نوشته شده و میتونه بیس پلاگین جایگزین کننده من باشه، پس بر اساس اون شروع میکنم به کد زدن و به کد زیر میرسم:

#This is a clippboard replacor
#-*- coding:utf-8 -*-

import glipper
from gettext import gettext as _

def on_new_item(arg):
	#if type(arg) != 'NoneType':
		if '’' in arg or '‘' in arg:
			last_set_item = arg
			last_set_item = last_set_item.replace('’', ''')
			last_set_item = last_set_item.replace('‘', ''')
			glipper.set_history_item(0, last_set_item)
			glipper.add_history_item(last_set_item)

def info():
	info = {"Name": _("replacer"),
	        "Description": _("replace some characters"),
	        "Preferences": False}
	return info

 

خوب این کد ها رو داخل فایلی به نام replacer.py در مسیر /usr/share/glipper/plugins ذخیره میکنم و مریم برای تستش:


در نهایت همونطور که میبینید به هدفم رسیدم و الان دارم به این فکر میکنم که به پلاگینم یه قسمت مدیریت کارکتر های جایگزین شونده اضافه کنم تا کاربرا از طریق رابط گرافیکی بتونن کارکترهای دلخواهو بهش بدن، شاید برنامه نویس اصلی پروژه  glipper هم اگر مناسب دید این رو هم به پلاگین های رسمی پروژه اضافه کنه! به نظرم این زیبایی دنیای لینوکسه که بهت امکان آزمایشو خطا و یادگرفتنو یاد دادن و تکمیل کردن اجزای مختلفو میده و من تمام این چیزا رو دوست دارم :)

 

چرا گنو/لینوکس را دوست دارم؟

خوب امروز  میخوام راجع به موضوع “چرا گنو/لینوکس را دوست دارم؟”  بنویسم!
مدتیه فروشگاه sito به مدیریت دوست خوبم بهنام توکلی مسابقه ای با همین موضوع راه انداخته و بعضی از دوستانم مطالب  فنی خیلی خوبی در این مورد نوشتن اما امروز من از دریچه دیگه ای به موضوع نگاه میکنم :)

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

یادمه اولین باری که مستند انقلاب متن باز به دستم رسید من محو تفکرات افراد و تعاملات انسانی داخلش شده بودم و اینکه بلاخره یه چیز فوق العاده و قابل لمس میدیدم که بر پایه پول و سود مالی ساخته نشده بود!!!
نمیدونم تا حالا چند بار این مستندو نگاه کردم اما هر دفعه که نگاه میکنمش هیجان زده میشم و با خودم میگم “واااااو” ، یا مثلا هر از چند گاهی چشمم به عکس هایی مثل عکس زیر میخوره که پر از انسانیته و قلب آدمو میلرزونه.


آشنایی با همین ایده ها و دیدن طرفدارانشون بود که تو ذهنم ایجاد این جرقه رو کرد که ما هم باید تو شهرمون یه همچین جمعی داشته باشیم و مبلغ یه همچین ایده های انسانی ای باشیم و این شد که ۳ سال پیش یعنی دقیقا ۱۵ تیرماه سال ۱۳۸۸ با کمک دوستان، گروه کاربران لینوکس زنجان رو تاسیس کردم.
تو این مدت کارهای مختلفی انجام دادیم، از برگزاری همایش های آشنایی با لینوکس تو دانشگاه ها و آموزشگاه ها تا کلاس های دور همیِ یاد گرفتن یه چیز مربوط به لینوکس ، الان که بهشون نگاه میکنم میبینم حداقل باعث شد بچه های ثابت زنجان لاگ از جمله خودم از یه طرفدار به یه کاربر واقعی و حتی مبلغ قابل قبولی برای لینوکس تبدیل بشیم :)
حتی پس از مدتی با پروژه های Linuxfm و Zconf که خاستگاهشون برو بچه های زنجان لاگ بود و با حمایت بی دریغ بچه های بسیار خوب جامعه متن باز کشور مواجه شدن، کارهایی در سطح کشور برای تبلیغ و گسترش گنو / لینوکس انجام دادیم.
حالا که بهش فکر میکنم میبینم بهترین قسمت این چهار و پنج سال زندگی داشنجویی اخیر من، همین فعالیت ها و رفاقت هایی بوده که حول جامعه متن باز ایران شکل گرفته و امید دارم هر روز هم بیشتر بشه :)

تو این بین تونستم با ابزارهای کاملا آزاد و فوق العاده ای که گنو / لینوکس در اختیار من میزاره کارای جالبی رو انجام بدم ،مثل:

دیلماج، مترجم فارسی تحت خط فرمان!!!
نرم افزار مدیریت پروژه های وب
Unity-Dilmaj مترجم تحت Dash اوبونتو !
آیلین، بیس طراحی وب سایت

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

در نهایت باید بگم من گنو / لینوکس رو دوست دارم به خاطر تمام رفاقت های با ارزش و آدم های فوق العاده ای که اطرافش هست و این بی شک ارتباط مستقیمی داره با هسته بسیار قوی و فلسفه انسانی و بسیار محکم گنو / لینوکس که باعث شده تا چنین افرادی دورش جمع شن و سعی کنن به هر طریقی ازش حمایت کنن.

Unity-Dilmaj مترجم تحت Dash اوبونتو !

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

اما بپردازیم به اصل ماجرا، Unity-Dilmaj در حقیقت یه    unity lense هست که من برای ترجمه چیزی که وارد میکنید به فارسی در محیط Dash طراحی کردم.  فکر میکنم اسکرین شات زیرو ببینین دقیقا متوجه میشن:

 

 

اما داستان از اونجایی شروع شد که یه دوست مکار! ( Mac user ) یا همون اپل زامبی خودمون :P امده بود شرکت و mac  خودشو نشون میداد، منم داشتم unity رو مقایسه میکردم ببینم چقدر شبیه هدفش شده!!! که دوستم برگشت گفت از اینا داره؟ دیدم تو اون محیط Dash مانندش وقتی کلمه ای رو میزنه به فارسی هم ترجمه میشه! گفتم نه و اون خندید.

منم تصمیم گرفتم تفاوت اصلی یه کاربر سیستم عامل لینوکس رو با کاربرای سیستم عامل های دیگه نشون بدم، اینکه استفاده کننده صرف نیستن :) و این شد که شد :D

 

برای نصب اون میتونید بسته deb اش رو از اینجا بگیرید و برای مشارکت در اون از این آدرس استفاده کنید.

امیدوارم بدردتون بخوره ;)

 

انتشار نسخه ۱ آیلین

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

Aylin cms diagram

و یک شات از محیط مدیریتی :

همون طور که قبلا هم گفتم برای دریافت پروژه و یا مشارکت از https://github.com/pesarkhobeee/Aylin و برای پیوستن به اعضای این سیستم از [email protected] استفاده کنید.
موفق باشن :)

پایان شب سیه، سفید است؟

بعد دانشگاه جای خالیه خیلی چیزا پر رنگ تر شد.

مثلا روال فرمالیته دیگه ای مثل دانشگاه یا مدرسه یا آموزشگاه های فنی حرفی ای در کار نیس که هی به خودت بگی این روالو که طی کردم اوضام بهتر میشه و فرصت ها جدیدی برام ایجاد میشه!!!

از طرفی به دوستان اطرافت که نگاه میکنی تا چهار – پنج سال بزرگتر از خودت هم نمیبینی کسی به سرو سامانی رسیده باشه!

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

با دوستان که صحبت میکنی نا امیدی موج میزنه! اونایی که کار ندارن از بی کاری مینالنو اوناییم که کار دارن از دست مزدهای کمو حقوق دادنای نامنظمو شرایط کاری سخت مینالن.

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

امشب یکی از دوستانم باهام تماس گرفتو پرسید فلانی از زندگی چی میخوای؟ و این بهانه ای شد برای نوشتن این مطلب.

دوستی میگفت رسیدن به آرامش هدف زندگیم همه ماست! حالا این آرامش برای یکی که سطح انتظاراتش از زندگی پایینه با حقوق چهاصد هزار تومنی ایجاد میشه  و برای یکی دیگه با در آمد  صد ملیون تومنی و برای دیگری حتی با داشتن منابع سرشار مالی دور از دسترسه!!!

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

باید ایمان بیاریم که در صورتی میتونیم درآمد خوبی داشته باشیم که در کاری متخصص و شناخته شده باشیم، اگر بین دو راهی دانشگاه و کار هستیم، اگر بین دو راهی کار دلخواهو کار اجباری هستیم، اگر بین بیگاریو بی کاری گیر کردیم به ندای قلبمون گوش بدیمو کاریو که دوست داریم شروع کنیم و تمام تلاشمونو بکنیم که در اون کار متخصص بشیم.

البته که مشاور خوب همیشه نقش خودشو داره، مشاور میتونه پدر دلسوز، دوستی آگاه و یا یک مشاور متخصص باشه. شخصا همیشه پستهای آقای مهرانی رو به عنوان یه مشاور دنبال میکنم و ازشون درس میگیرم و سعادت دوستی و همکاری با چند انسان باشعور رو دارم :)

از طرفی ماها اکثرا تو بین روال زندگی یواش یواش تبدیل میشیم به آدم های تک بعدی و یادمون میره که ماها کار میکنیم تا خوب زندگی کنیم و نه اینکه زندگی میکنیم تا خوب کار کنیم! باید هر روز با انجام دادن فعالیت هایی که دوست داریم از اینکه انروز زنده هستیمو زندگی میکنیم لذت ببریم.

اکثر ماها که شرایط کاری خوبی نداریم هر روزمونو به این بهانه که حالا فلان کارم بکنم و یا چند ماه بگزره تا کارام رو روال بیوفته کل وقتمونو تو محیط کاری سپری میکنیم البته که یواش یواش روحمون خسته میشه و به ما یاد آوری میکنه که این تفکر اشتباهِ!

دسته دیگه ای هم که کار های دفتریو اداری دارن هم با همین موضوع درگیرن و هی به خودشون میگن بازنشسته میشم کار مورد علاقمو انجام میدم و یا مثلا پسرمو دوماد کنم بعد به خودم میرسمو از این چیزا!!!

واقعیت اینه که این شب سیاه اینقدر میتونه طولانی بشه که ما صبحشو نبینیم و بنظرم راهی که ما رو به صبح میرسونه فقط پشت کارو خود شناسیه!

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

اون موقست که میتونیم امید داشته باشیم شاید در بر داشتن قدم بعدی زندگیمون، به اون آرامش برسیم :)

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

 

آیلین، بیس طراحی وب سایت

فکر میکنم بین ۴ تا ۵ ساله که دارم طراحی وب یاد میگیرم و یاد میدمو وب سایت طراحی میکنم، این حرفم شاید بهانه گیری بیش نباشه ولی کار وب معمولا تو شهرای کوچیک ، کوچیکه و باعث پیش رفت فنی آدم نمیشه.

این بهانه رو آوردم که بگم من خیلی دیر به فکر جلوگیری از دوباره کاری و تکرار مکررات تو کارام افتادم و آیلین نتیجه این تفکر جدید منه.

اگه بخوام آیلینو تعریف کنم با توجه به موارد بالا باید بگم هدفش اینه که یه بیس برای جلوگیری از دو باره کاری باشه.

خوب الان بحث این میاد که اینهمه CMS برای همین منظور ایجاد شدن تو چی میگی؟

ادامه خواندن آیلین، بیس طراحی وب سایت

کار آسان با پایگاه های داده مختلف به کمک کلاس Auto_PDO

امروز میخوام کلاسیو که همین اواخر نوشتم معرفی و منتشر کنم.

این کلاس بر مبنای PDO که سر نام عبارت PHP Data Objects هست بنا شده، این پست برای توصیف PDO  نیست اما برای آشنایی در همین حد بگم که جزو  Abstraction Layers های php برای کار با دیتابیس ها محسوب میشه، به این معنا که نقش یک لایه جدا و مجرد رو بین شما و تمام دیتابیس ها بازی می کنه.

سادش این میشه که شما به زبان PDO صحبت می کنید و بهش میگین برو اینارو به Mysql بگو و یا برو اینارو به اراکل بگو!  دیگه PDO میدونه و اون دیتابیس که چه طوری با هم صحبت کنن. برای شما فقط این میمونه که بگین طرف حساب PDO کدوم دیتابیسه!

اینم لیست انواع دیتابیس هایی که در PDO پشتیبانی میشن.

خوب برگردیم سر داستان خودمون، جریان اینه که من از انجام دادن کارهای تکراری بیزارم و این باعث میشه هر از چند گاهی تو هر زمینه که تکرار ببینم سعی کنم یه راه اتوماتیک برای اون کار ایجاد کنم.

یکی از این زمینه ها چهار عمل اصلی دیتابیس هاست یا همون CRUD که سر نام عبارات Create, read, update and delete هست و حقیقتا در کارهایی که آدم از ORM یا framework استفاده نمی کنه یکی از حوصله سر بر ترینه بخش هاست.

سوالی که پیش میاد اینه که خوب چرا از این چیزایی که گفتی استفاده نمی کنی؟ و جواب من همیشه این شکلی بوده که برای بیل زدن یه باغچه، آدم بیل مکانیکی نمیاره! ;)

در نهایت سرتونو درد نیارم یک کلاس PHP نوشتم به اسم Auto_PDO که همراهش یه مثال ساده هم قرار دادم و مسلما قبل از اجرای مثال باید فایل auto_pdo.sql رو داخل دیتابیستون ببریدو فایل db.php رو تنظیم کنید :)

میتونید فایلو رو از اینجا دریافت کنید

و یا در تکمیل و تصحیح اون در این ادرس با من مشارکت کنید

در نهایت امیدوارم این کلاس به دردتون بخوره :)

پایان یک دوره

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

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

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

 

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

بگزریم، فعلا که برای ما این نیز گذشت و باید سعی کنم دوره بعدی زندگیمو حرفه ای تر سپری کنم.

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

در کل امید دارم دوران جدید سازنده تر و سرزنده تر باشم و یادم بمونه که با دیدن دانشجو ها و استادای محل تحصیلم یکی از اهداف زندگیم تاسیس یک انستیتو آموزشی بر پایه فلسفه آزاد / متن باز با خروجی بدرد بخور و اساتید کاریو بروز و الگوی پذیرش دانشجوی هوشمندانه تر شد.

به امید اون روز، اما فعلا باید به جواب این سوالا برسم:

چطور تو کارم حرفه ای بشم؟

چطور تو کارم غرق نشم و زندگی تک بعدی نداشته باشم؟

چطور سر زنده تر باشم؟

و در کل چطور درست زندگی کنم؟

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

 

دیلماج، مترجم فارسی تحت خط فرمان!!!

خوب عید سال ۹۱ هم تموم شد و من تو عید علاوه بر کتاب خوندن یه پروژه شخصی کوچیکم نوشتم که میخوام باهاتون به اشتراک بزارم.

این پروژه یه دیکشنریه!

میدونم الان دارین میگین:  “اه باز یکی که فک میکنه برنامه نویسه یـــــــــــــــه دیکشنری نوشت،مرده شورشونو ببرم!  اینا چرا نمیرن یه موضوع جدید پیدا کنن؟”  =))

خوب حق با شماست اما این دیکشنری یه تفاوتاییم داره!

مثلا اینکه توی خط فرمان اجرا میشه و توی همه ترمینال ها بدون تنظیم خاصی برای نمایش فارسی ، معانی رو نشون میده.

شاید بپرسید چه طوری؟ خوب ایدش یهویی امد تو ذهنم که فکر کنم بر میگرده به استعدادم تو ماس مالی کردن مشکلات و دور زدن اونها =))

فک کنم شات زیرو ببینید متوجه ایده میشین:

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

اسم این بچه جدیمم گذاشتم “دیلماج” که یه کلمه ترکیه به معنای مترجم که در موردش اینجا بیشتر میتونید بخونید.

پیش نیازهای اجرای این برنامه php5-cli  و php5-gd که بعد از نصب اونها میتونید اسکریپت INSTALL.sh   رو اجرا کنید و اونو نصب کنید .

نحوه کارشم سادس ، بعد نصب مینویسید :

dilmaj <word>

dilmaj <word> a

اولیه ، اولین معنی کلمه رو نشون میده و دومیه تقریبا همه معانی اون کلمه رو .

و همین!

دیلماجو میتونید از اینجا دریافت کنید

امیدوارم خوشتون بیاد و ازش لذت ببرین. مسلما برنامه هنوز ناقصه و خوشحال خواهم شد در تکمیلش کمکم کنید.

همینجا لازم میدونم از تمام دوستانم آقایان پژمان مقدم، مهدی فتاحی ، بهروز شعبانی و صادق اطهری که با کمک ها و همفکریاشون تو این پروژه کمک کردن تشکر کنم ، بخصوص از جناب اقای امید متقی عزیز که همیشه برای من حکم یک استاد رو داشتن و در این پروژه هم از پروژه  Persian Log2Vis شون استفاده اساسی شده تشکر ویژه به عمل بیارم.

سال جدیدم را چگونه می گذارنم؟

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

سال ای که داره تموم میشه برای من مثل اکثر سالهای دیگه ی زندگیم بود و شاید اتفاقات کوچیکی که توش افتاد بعد ها تاثیر خودشونو نشون بدن.

اول اینکه بلاخره حوصله کردمو گواهی ناممو گرفتم !

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

توضیح اینکه مدتها به استاد اسرار کردم و فشار آوردم که تو زدن این شرکت عجله کنه تا وقت بیشتری قبل سربازی برای کار که فکر میکنم درسته داشته باشم . این فشارا در بعضی موافع باعث ناراحتی هم شد، اما در کل بلاخره تونستم تو این شرکت با کمک استاد رو ایده محصول محوری کار کنیم.

مورد بعد اینکه تو این سال به حد زیادی به استقلال مالی رسیدم .

کل مجموعه داستانی پرسی جکسونم خوندم .

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

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

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

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

و اما من در سال جدید:

نیمه دوم سال ۹۱ به احتمال زیاد دست من نخواهد بودو من در سربازی در جایی که نمیدونم کجا خواهم افتاد گزران عمر میکنم.

اما برای نیمه اولم :

باید ترم آخرم رو با موفقیت تموم کنم که به خاطر اینکه ۹ واحد ریاضیاتم مونده و با توجه به این نکته که ریاضیم مثل املام خوب نیست کار آسونی نخواهد بود و پیش بینی میکنم نصف هفته های سه ماه اول سال جدیدو تو کلاسا و کتابخونه دانشگاه باشم.

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

میمونه آخر هفته های بهار و کل تابستون .

من شدیدن علاقه دارم چند تا آرزومو قبل از سربازی به حقیقت تبدیل کنم!

تو کارها و مسئله ها بیشتر عمیق بشم .

منظم تر بشم.

کارای این چند سالمه جمع بندی کنمو چند تا محصول مشترک بسازمو آماده شم برای شروع عصر جدی تری از زندگیم.

بیشتر کتاب بخونم و با سبک های مختلف آشنا شم .

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

 

 

در کل نمیدونم چه قد اینا اجرایی میشه ، اما بی شک این یه پلان کلی که باید برای جزئیاتشم برنامه بریزم.

دیگه اینکه نمیدونم برسم اما دوست دارم تو یکی از کارگاههای مربی هم شرکت کنم چونکه نوشته هاش همیشه باعث شده بیشتر خودمو بشناسم و بهم امید داده ، ازش برای همیشه ممنونم .

خوب به سبک سه تا  اول سال ای که در وبلاگم تبریک گفتم ، باز هم فکر میکنم بهترین دعا برای سال جدید هممون همون باشه:

پروردگارا
به من آرامش ده
تا بپذیرم آنچه را که نمیتوانم تغییر دهم
دلیری ده
تا تغیر دهم آنچه را که میتوانم تغییر دهم
بینش ده
تا تفاوت این دو را بدانم
مرا فهم ده
تا متوقع نباشم دنیا و مردم ان مطابق میل من رفتار کنند