سال ۱۳۹۶

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

4 1 2 3

۹۵ سال شکستای اساسی هم بود، آخرین شرکت امید بخش زنجان که توش کار میکردم ترکیدو تاسفش موند، یا بازم نتونستم همراه موردعلاقمو پیدا کنم که دیگه داره عادی میشه، ولی ما همیشه امید داریم :دی
این چند سال کار کردن تو شهرستانو شرکت های کوچیک و … بهم چند نکته اساسی یاد داد! اینکه اگه حتی محصول خیلی خوبی هم داشته باشی مثل BPMS تحت MEAN.JS ما یا WEB GIS PLATFRM مون، وقتی پشتوانه مالی و مدیریت قابل قبولی نباشه همش وقت تلف کردنه! تو دنیای واقعی، ما به خیلی بیشتر از یه عامل برای موفقیت احتیاج داریم از جمله یه مقدار شانس! با تمام این حرفا خوشحالم که دوستان جدید خوبی از میون همکارام پیدا کردم و لحظات خوبی رو با هم گذروندیم :)

6 5
ولی یه واقعیت خیلی پر رنگی در این چند سال اخیر من، بنظرم داره موج میزنه و اتفاقا بزرگترین دستاورد زندگی من تا به امروز هست و اون چیزی نیست جز خود شناسی، یروز خدمت دکتر زاهد شیخ الاسلامی نشسته بودیم پرسید گفت کی میدونه خود شناسی دقیقا چیه؟ اتفاقا این سوال منم بود! هر دفعه به این فکر میکردم که مثلا دو ساعت به دیوار سفید زل بزنی و به خودت فکر کنی و نتیجه بگیری خودشناسیه ایا؟ ایشون گفتن داستان سادس! خودشناسی یعنی اینکه خودتو تو موقعیت های مختلف قرار بدی و بعد ببینی چه عکس العملی در اون موقعیت داری؟ مثلا آیا از موفقیت فلانی که تو فلان جا دیدی ناراحت شدی؟ چرا؟ اون لحظه ای که تونستی با خودت صادق باشی لحظه ارزشمندیه چون تغییرات از اونجا شروع میشه. من فکر میکنم این چند سال اخیر خیلی به نسبت گذشته تو این زمینه جلو رفتم و بیشتر با خودم اشنا شدم و امید دارم همین راه رو ادامه بدم.
از جمله تصمیمات و تغییرات بزرگی که تو ۹۵ گرفتم یکیش همین عوض کردن عنوان full stack developer به DevOps بود چون دیدیم من فرد جز نگری نیستم ولی همیشه خیلی خوب تونستم همه چیزو با هم هندل کنم و پروژه رو تموم کنم و از اونورم همیشه عاشق کشتی گرفتن با لینوکس و ساده کردن کارا توش بودم :)
همچنین پروفایل لینکدینمو کامل کردمو رزومه انگلیسی خفنی درست کردمو زدم به دل دریای این خارجی ها و چندین مصاحبه انجام دادم که واقعا تجربه جالبی بوده.
سال ۹۶ سالیه که کار کردن مستمر من با کامپیوتر، این چوب جادویی دنیای هری پاتر، ده ساله میشه.
برای سال ۹۶ دوست دارم کمتر پشت کامپیوتر و موبایل باشم، به صورت سیستماتیک و منظم سفر کنم، زبان بخونم، بیشتر تمرین کنم مسائل فنی کارمو و بیشتر بخونم و بنویسم. تو زمینه سلامتی دوست دارم حجم غذامو کمتر کنم و یه مقدار به سمت رژیم غذایی گیاهخوارا نزدیک بشم البته نه کاملا :دی و نهایتا دوست دارم دانلود چی باشیرو در تولد سه سالگیش به موفقیت مالی برسونم و دوست دارم تو یه شرکت خوب DevOps بشم.

farid.ahmadian_1450623310_72
اینروزا با نزدیک شدن به سی سالگی احساسات متضاد زیادی دارم ولی خوب حس میکنم بیشتر همه چیو توسی میبینم و کمتر کسی رو مقصر! راستش یه مقدارم احساس پیری بهم دست داده ولی فعلا به خودم میگم احساس پختگیه :دی
۹۵ هم مثل این چند سال اخیر پر بود از رفقای خوب که کلی بودن باهاشون بهم روحیه داد، خدارو بخاطر داشتنشون شکر میکنم و امید دارم دیگه همشون تو سال جدید سرو سامون بگیرن، اه :)))

index
در نهایت شعر هر سال این موقع رو براتون بازم اینجا مینویسم با ارزوی اینکه به آرزوهاتون خوبتون برسید :)

ساقیا سایه ابر است و بهار و لب جوی

من نگویم چه کن ار اهل دلی خود تو بگوی

دو نصیحت کنمت بشنو و صد گنج ببر

از در عیش درآ و به ره عیب مپوی

سالی که گذشت و سال میمون!

به رسم هر ساله پستی رو اختصاص دادم به تحویل سال!

سالی که گذشت، سال سختی بود!!! سال شکست ها، سال از دست دادن ها، سال بی پولی! اما سال رفقای خیلی خوب!

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

10735085_1675716962651986_1879348877_n

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

photo_2016-03-19_22-24-36

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

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

catalogue final-15dec10 RGB-02 catalogue final-15dec10 RGB-01 ProjectBaran-001 ProjectBaran-002

همچنین قسمتی از تجربیاتمو در مورد استارت آپ زدن توی همایش zconf6 تونستم به اشتراک بزارم که حتما توصیه میکنم قبل از اینکه استارت اپ راه بندازید حتما ببینیدش :

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

11363662_969760853074795_1269121218_n 11325071_1391708997826360_374586874_n11313802_379252805593051_1020757281_n  11282265_824702640939947_660483767_n 11189999_930461677003922_936695534_n 11356463_1628891210691271_1546219365_n 11850348_827093457387872_1086417625_n 11856784_1111318218896862_1056646813_n 11348114_494050977424211_1565947819_n 11931113_500101440170712_1321011856_n 11820446_1125705680791626_1731603162_n 12132740_1664669273818990_83448614_n 12717036_1669425433320245_799508792_n 12627944_185112418522842_1866024080_n

ساقیا سایه ابر است و بهار و لب جوی

من نگویم چه کن ار اهل دلی خود تو بگوی

دو نصیحت کنمت بشنو و صد گنج ببر

از در عیش درآ و به ره عیب مپوی

سالی که گذشت و سال بز!

چندین ساله وبلاگمو با خودم از این دامنه به اون دامنه میکشم، امسال چیزی ننوشتم اما آمدن عید بهانه ای شد به رسم هر سال یه پست بزنمو از سالی که گذشت بگمو از سالی که پیش روست!

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

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

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

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

logo

downloadchibashi

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

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

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

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

سال جدید خوبیو براتون آرزو میکنم و امیدوارم بز نیارید! تقاضا دارم برای من هم دعا کنید که راهمو پیدا کنم :)

 

IMG_20150310_134327

 

ساقیا سایه ابر است و بهار و لب جوی     من نگویم چه کن ار اهل دلی خود تو بگوی

دو نصیحت کنمت بشنو و صد گنج ببر      از در عیش درآ و به ره عیب مپوی

 

کوله پشتی من برای سال ۹۳

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

 

سالی که گذشت:

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

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

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

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

pte_logo_iphone

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

کار تو یه شرکت بزرگ با آدمهای حرفه ای مدتها از آرزوهای من بود که در پیشگامان به حقیقت پیوست که البته خوبی و بدی های خودشم داشت،  بهرحال علاوه بر برنامه نویسی های مرسومم بنا به نوع کار شرکت که شرکت PAP بود،  بیشتر با نگه داری سرورهای Linux درگیر شدم و این اواخر یه برنامه Android هم برای کاربران اینترنت پیشگامان نوشتم که هنوز منتشر نشده!

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

آزادی در این مرحله از سیر زندگیم به معنای محدود نبودن به یک جا و زمان خاص هست،  شاید بعد ها بنا به شرایط و سنم نظرم عوض شه ;)

امسال تونستم خیلی مستقل تر شم هم از نظر فکری و هم از نظر مالی و این اواخر اولین ماشین زندگیم رو هم خریدم، یه پراید مدل ۸۷ :)

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

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

 

935129_10202550212342800_820970971_n

 

 

و اما برنامه هام برای سال بعد :

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

قراره با شرکت پیشگامان به صورت راه دور همکاریمو برای سال جدید ادامه بدم،  نمیدونم مدتش چقده ولی امید دارم مثبت باشه :)

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

برای دو مورد بالا Deadline ای رو قايلم که اگر روند امید وار کننده نبود داستان رو بازبینی کنم و اگر کلا نشد دوباره از شهرم میرم، ایندفعه شاید خیلی دورتر!

میخوام درست تر زندگی کنم، برنامه هایی  برای تفریح،  نوشتن،  ورزش کردن،  کتابخوندن،  بودن با خانواده ، یادگیری موسیقی و  زبان های خارجی، مسافرت، نظم،  خودشناسی و روش اجرایی کردن اینها و در نهایت نزدیک شدن به آرامش + لذت بردن

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

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

 

بهرحال ده سالی هست که از سن اولین آی دی من یعنی pesarkhobeee میگذره،  ولی یک سالی هست که روند pathseeker شدن رو دارم طی میکنم! شاید تو سال پیش رو به نتایح خوبی برسم از این جهت :)

 

spring-10

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

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

 

 

 

 

فرار از بن بست

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

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

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

Deadlock

 

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

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

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

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

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

بعد به ذهنت میزنه که بابا اصولا کار سفارشی اینجا جواب نمیده! باید محصولی تولید بشه و رو اون مانور داده بشه!  میشه تو خونه موندو مث فریلنسا عمل کرد، یک سالو نیم وقت میزاریو با تمام سختیهاش و تنهاییهاش  یه چیز اولیه ای تولید میکنی میبینی هنوزم مشکل نداشتن تیم و نبود بازاریابی و سواد کم فنی خرتو گرفته! میگی عب نداره تجربه خوبی بود اما دیگه ۵-۶ سالی از روزایی که دنبال تجربه و یادگرفتن بودی گذشته و روحت خستست!

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

 

 

۱ . شغلتو عوض کنی و بری تو یه چیزی که یه آب باریکه ای تو شهرت برات داشته باشه، تو شهرای کوچیک نزدیک ترین گزینه به علایقت کار تو ISP یا Sysadmin شدنه!

۲. کلا تخصص و علاقتو  بزاری کنارو و اگه تونستی با خودت کنار بیای وارد یه چیزی بشه که نمودی از دلالی باشه، مخصوصا تو این کشور!!!

۳ . شروع کنی تست زنی، روزنامه خریدن، سایت زیرو رو کردن برای شرکت در آزمون استخدامی ادارات و نهاد های مختلف که اگه پیگیر داستان باشی احتمالا ۲-۳ ساله به یه نتایجی برسی، اینجا بازم شرطش کنار امدن با خودت و نادیده گرفتن بعضی از باور هاته

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

۵. آخرین راهم هجرت به یه شهر بزرگتر به امید شرایط بهتر کاریه گرچه روحیاتت با کل اون شهر همخون نباشه به امید اینکه آخرش یه راهی پیدا میکنم!

 

 

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

 

 

 

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

 

Miley Cyrus – The Climb

“The Climb”

I can almost see it.
That dream I’m dreaming, but
There’s a voice inside my head saying
You’ll never reach it
Every step I’m takin’
Every move I make
Feels lost with no direction,
My faith is shakin’
But I, I gotta keep tryin’
Gotta keep my head held high

There’s always gonna be another mountain
I’m always gonna wanna make it move
Always gonna be an uphill battle
Sometimes I’m gonna have to lose
Ain’t about how fast I get there
Ain’t about what’s waitin’ on the other side
It’s the climb

The struggles I’m facing
The chances I’m taking
Sometimes might knock me down, but
No I’m not breaking
I may not know it, but
These are the moments that
I’m gonna remember most, yeah
Just gotta keep goin’,
And I, I gotta be strong
Just keep pushing on, ’cause

There’s always gonna be another mountain
I’m always gonna wanna make it move
Always gonna be an uphill battle
Sometimes I’m gonna have to lose
Ain’t about how fast I get there
Ain’t about what’s waitin’ on the other side
It’s the climb

Yeah

There’s always gonna be another mountain
I’m always gonna wanna make it move
Always gonna be an uphill battle
Somebody’s gonna have to lose
Ain’t about how fast I get there
Ain’t about what’s waitin’ on the other side
It’s the climb

Yeah, yeah yeah

Keep on movin’
Keep climbin’
Keep the faith baby
It’s all about, it’s all about the climb
Keep the faith, keep your faith, whoa, whoa, oh.

 

 

 

سالی که گذشت و سالی که پیش روست :)

طبق رسم هر ساله وبلاگم، امسال هم رسیدن نوروز رو تبریک میگم.

اما خوب قبل از گفتن تبریک طبق روال هر ساله با ما باشید با تحلیل های نوروزیمون :P

راجع به سالی که گذشت تا یه حدی ایده های پست سال تحویل قبلم رو اجرا کردم.

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

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

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

خوب الان که نگاه میکنم میبینم:

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

cafeboy نرم افزار مدیریت کافی نت های آقای مقدم رو دوباره نویسی کردیم و کل مسئولیت اینترفیس وبش با من بود و کلاس Auto_PDO از بر اون پروژه در آوردم.

چند تا پروژه وب سایت انجام دادم تو شرکت که بزرگترینشون دوباره نویسی پرتال اداره ی استاندارد استان زنجان بود که خوب با توجه به ایده محصول محوریم ازش Aylincms زاده شد که اینم پست انتشارش بود.

و البته که چند تا پروژه اپن سورس کوچیکم منتشر کردم:

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

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

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

چه کارهای جالبی با گنو/لینوکس انجام می‌دهم : گراف لحظه ای مصرف پهنای باند

 

حالا که نگاه میکنم میبینم با اینکه همه اهداف نرم افزاریم برای سال ۹۱ محقق نشد، اما روند خیلی خوبیو طی کردم اما در مورد ایده یه شرکت نرم افزاری کامل تو شهر خودمون همونطور که سال پیش هم نوشته بودم :

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

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

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

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

و اما در حوضه غیر کاری توی کلاس سه تار و زبان ترکی استانبولی شرکت کردم و یه دانش اولیه تو این زمینه ها بدست آوردم، سعی کردم به همه چی بیشتر دقت کنم و راجع به مسائل اطرافم به یه نتیجه ای برسم، مثل:

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

وقتی همه بی تفاوت میشویم

 

اما راجع به سالی که پیش روست:

آقای شریعتی تو یکی از جملات زیباش میگه :

“نامم را پدرم انتخاب کرد، نام خانوادگی ام را یکی از اجدادم! دیگر بس است! راهم را خودم انتخاب خواهم کرد”

کافی نبود! راضی نیستم!‌ میخوام بیشتر بفهممو بیشتر بخونمو بیشتر ببینم! میخوام کاملا مستقل بشمو خوب پول در بیارم. تلوزیونو از اینی که هست کمتر کنمو بیشتر ورزش کنم و بیشترو بیشتر با مردم مختلفو افکارشون آشنا بشم.

همه چیو تندتر،بهتر،منظمتر و با دقت بیشتر انجام بدم.

و در نهایت جاهای بیشتریو ببینمو بیشتر از زندگی لذت ببرم :)

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

 

 و میرسیم به آروزوی اول سال:

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

 

سال نوی همگی مبارک :) با آرزوی بهترین ها برای همتون ;)

وقتی همه بی تفاوت میشویم

چند وقت پیش کتابی میخوندم به اسم دموکراسی یا دموقراضه، توش یه جایی یه جمله ای داشت که قلبمو درد آورد، منو یاد خودمون انداخت، بدجور!

“مردم عادت میکنن”

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

 

نگاه میکنم میبینم مثلا طرح “پلیس + ۱۰″  خیلی تونسته تو جای خودش شرایطو بهتر کنه، یه تجربه موفق.

به کشورهای جهان اول فکر میکنم که توشون این امور روزمره اداری چه طوری مدیریت میشن؟

به این همه جون بیکاری که اطرافم هستن و میشه برای درست کردن این اوضاع بسیجشون کرد فکر میکنم.

تو این بین بعضی خاطراتم برام یاد آوری میشه:

 

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

 

یادم میاد برای گرفتن یه گواهی اشتغال به تحصیل ساده سه روز رفتمو امدم، یه روز ساعت ۱۲ رفتم مسيولش نبود، گفتم خب لابد دم ظهرا نیس، یه روز ساعت ۱۰ رفتم نبود! آخر روز سوم رفتم از یکی از مدیر گروههای دانشکده انسانی گواهی اشتغالمو گرفتم! بعد رفتم پیش رییس دانشکدمون جریانو تعریف کردم و گفتم اگه اجازه بدین با هزینه خودم یه سیستم تحت وب بنویسم که این کارو آسون کنه؟ گفت نرم افزار های ما از تهران میاد و ما اجازه استفاده از چیز دیگه ایو نداریم!!!!

 

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

 

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

 

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

 

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

 

یادم میاد دفعه اول برای گرفتن ADSL چه قد تلاش کردمو آخرم مخابرات خط پرگنو مستقیم نکردو من رفتم صد متر سیم خریدمو با پریدن از چند تا پشت بوم یه خط از مغازمون وصل کردم.

 

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

 

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

 

یادم میاد روز اول گرونیا وقتی تاکسی از من ۲۰۰۰ تومن خواست زنگ زدم ۱۲۴ که بپرسم، گفت تاکسی به ما ربطی نداره و باید زنگ بزنی تاکسی رانی، همون روز ظهر وقتی رسیدم خونه اخبار ساعت دو کانال یک داشت میگفت در مورد نرخ وسایل نقلیه عمومی هم به ۱۲۴ زنگ بزنید!  :-|

 

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

 

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

 

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

 

و من، هنوز امید دارم

 

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

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

شما میتونید سایت اصلی این پروژه رو در آدرس http://www.aylincms.com ببینید.

طبق مستندات موجود در سایت اصلی:

توضیح:

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

در ادامه سعی دارد کمبود های قالب مذکور را با اضافه کردن کتابخانه های مفید ثانویه و روال های مرسوم رفع کرده تا برنامه نویس در شروع کار پروژه خود از حداقل های لازم و مرسوم در کمترین زمان ممکن برخوردار شود.

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

مرامنامه و مجوز:

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

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

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

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

نصب:

برای نصب AylinCMS پس از دانلود آن از آدرس https://github.com/pesarkhobeee/Aylin/archive/master.zip آن را در پوشه وب سرور خود اکستراک کرده و در صورت نیاز مالک پوشه آن را کاربر وب سرور قرار دهید، برای مثال در توزیع slackware سیستم عامل Linux از دستور زیر:

chown -R apache:apache aylin/

و یا در توزیع ubuntu از دستور زیر استفاده کنید:

chown -R www-data:www-data aylin/

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

توسعه:

برای تصحیح و تکمیل پروژه میتوانید از آدرس https://github.com/pesarkhobeee/Aylin استفاده کنید، همچنین برای بحث و طرح سوال پیرامون موضوعات مربوطه میتوانید به  لیست پستی   aylincms@googlegroups.com  مراجعه کنید.

در آینده مستندات مربوط به توسعه بخش ها و زیر سیستم ها در AylinCMS اضافه خواهند شد اما فعلا به یک شمای کلی از آن بسنده میکنیم:

 

 

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

 

 

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

 

پی نوشت:

آیلین نامیست ترکی، به معنای مهتاب.

چه کارهای جالبی با گنو/لینوکس انجام می‌دهم : گراف لحظه ای مصرف پهنای باند

آخرین مطلب من برای شرکت در مسابقه چرا گنو/لینوکس را دوست دارم؟  یه پروژه کوچیک بر مبنای HTML5 هست برای کشیدن گراف لحظه ای مصرف پهنای باند :)

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

ایده این بود که یک نمایش دهنده لجظه ای میزان دانلود یا همون Realtime Bandwidth Grapher رو بسازیم و شروع کردیم جمع کردن مواد مورد نیاز!

برای کشیدن گراف این کتابخونه جاوااسکریپتیو پیدا کردیم که با کمک المان canvas موجود در HTML5 گراف مورد نظرو میکشه.

در حقیقت canvas طراحی شده تا با کمک یک زبان اسکریپتی مثل javascript در لحظه اشکال هندسی که شما میخواهیدو  نمایش بده.

برای قسمت ارتباط مداوم با سرور از تکنولوژی SSE ارايه شده در HTML5 بهره بردیم که در حقیقت به مرورگر وبمون این امکانو میده که طبق فواصل زمانی که سرور بهش میگه اطلاعات رو بدون رفرش کردن صفحه از سرور بگیره.

و برای سمت سرور هم از یه کد تلفیقی کوچیک php و bash به صورت زیر استفاده کردیم:

header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');

$interface = "ppp0";
$rec = system("ifconfig $interface | grep 'RX bytes' | sed -e 's,.*RX bytes:,,' -e 's, .*,,'");

echo "retry: 1000n";
echo "data:{$rec}nn";
flush();

در دو خط اول ما نوع و خاصیت اطلاعات ارسالی رو طبق مثال موجود در سایت w3schools مشخص میکنیم و بعد یه متغییر به نام interface رو تعریف میکنیم که قراره اسم اینترفیس ارتباطی با اینترنت رو نگه داره مثل eth0 یا wlan0 یا ppp0 و بعد از اون با کمک تابع system که به ما امکان اجرای برنامه های خارجی رو میده مقدار اطلاعات دریافتی در لحظه رو بدست میاریم.

در اخر هم با کمک retry میگیم که مرورگر ۱ ثانیه دیگه دوباره به ما سر بزنه و با کمک data اطلاعات بدست آمده رو به مرورگر میفرستیم، در ضمن به اون دو تا اینتر آخر ماجرا هم توجه کنید چون در حقیقت وجود اوناست که میگه آخر درخواست HTTP ماست.

خوب ما کارهای سمت سرور رو انجام دادیم، حالا نوبت ساختن صفحه سمت کاربر با کمک تکنولوژی هایی که پیدا کردیم :)

<!DOCTYPE html>
<html>
<header>
	<title>Bandwidth Realtime Graph</title>
	<script>
		//this varible set your shaper maxmimom KB
		var range=500;
	</script>
	<style>
		#container
		{
			margin:0px auto;
			width:960px;
			text-align:center;
			min-height:550px;
		}
		#footer
		{
			text-align:center;
		}
	</style>
</header>
<body>
<div id="container">
<h1>Bandwidth Realtime Graph</h1>
<div id="result" style="font-weight:bold; color:red;"></div>
<canvas id="rec_graph" height="200" width="930" style="font-size: 6pt;"></canvas>
</div>
<div id="footer">
	<a href="http://www.w3.org/html/logo/">
		<img src="HTML5_Logo_64.png" alt="HTML5" />
	</a>
</div>
<script type="text/javascript" src="graph.js"></script>
<script>
if(typeof(EventSource) !== "undefined") {
	var source = new EventSource("rec.php");
	var seconds = 1;
	source.onmessage = function(event)
	{
		var new_rec = event.data;
		if ( typeof(old_rec) != "undefined") {
			bytes = new_rec - old_rec;
			rate_rec = bytes * 8 / seconds / 1024;// kbps
			document.getElementById("result").innerHTML=
					 Math.round(rate_rec) + " Kbps";
		}
		old_rec = new_rec;
	};
} else {
	document.getElementById("result").innerHTML=
		"Sorry, your browser does not support server-sent events...";
}

window.onload = function() {
    g_graph = new Graph(
    {
        'id': "rec_graph",
        'strokeStyle': "#819C58",
        'fillStyle': "rgba(64,128,0,0.25)",
        'interval': 1000,
		'range': [0,range],
		'grid': [40,40],
		'showlabels': true,
        'call': function(){return (Math.round(rate_rec));}
    });
}
</script>

</body>
</html>

خوب کد های بالا بر طبق مستنداتی که قبلتر لینکاشونو در صفحه قرار دادیم نوشته شدن و فکر نمیکنم توضیح خط به خطش لازم باشه، فقط راجع به متغییر range یه توضیحی بدم اونم اینه که باید ماکسیموم کیلوبایت بر ثانیه که ممکنه از اینترفیس شما دانلود بشه توش نوشته بشه تا تمام نقاطی که کشیده میشن صحیح کشیده بشن، مثلا اگه سرعت اینترنتتون ۲۵۶ کیلوبایت بر ثانیه هست عدد ۳۰۰ معقول به نظر میرسه.

 

و در نهایت اینم از این پروژه، یه کار لذت بخش همراه با رفقایی که دوستشون داری :)

برای دانلود و یا تصحیح و تکمیل پروژه میتونید از لینک زیر استفاده کنید:

https://github.com/pesarkhobeee/Realtime-Bandwidth-Grapher

چه کارهای جالبی با گنو/لینوکس انجام می‌دهم : جایگزین کننده خودکار 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 براش بنویسم احتمال زیاد بتونم مشکل خودمو با یه روش اصولی حل کنم.
بعد از نصبش سعی میکنم از ساختارش سر در بیارم!

farid@farid-F80Q:~$ cd /usr/share/glipper/
farid@farid-F80Q:/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 هم اگر مناسب دید این رو هم به پلاگین های رسمی پروژه اضافه کنه! به نظرم این زیبایی دنیای لینوکسه که بهت امکان آزمایشو خطا و یادگرفتنو یاد دادن و تکمیل کردن اجزای مختلفو میده و من تمام این چیزا رو دوست دارم :)