گروه کاربران ایرانی اسکالا

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

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

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

آدرس گروه: https://groups.google.com/forum/#!forum/iran-sug

۱۱م تیر ۱۳۹۳ بازدید: 140 دسته بندی: فناوری , متفرقه , مدیریت , کسب و کار دیدگاه‌ها: ۳

ساکت کردن فن لپ تاپ DELL در اوبونتو ۱۴.۰۴ – قسمت ۲

نصب پیش‌فرض i8k که در قسمت قبل این پست گفتم باعث بالا رفتن حرارت لپ‌تاپم شد. چون تنظیمات پیشفرض آن تا حدود دمای ۷۰ درجه را عادی تلقی می‌کند.

برای تنظیم اینکه فن با چه سرعتی در چه بازه حرارتی کار کند اول باید فایل /etc/i8kmon.conf را ایجاد کنیم:

sudo gedit /etc/i8kmon.conf

و داخل آن می‌توانیم i8k را کانفیگ کنیم که یک کانفیگ نمونه به شکل زیر است:

# Run as daemon, override with --daemon option
set config(daemon)      0

# Automatic fan control, override with --auto option
set config(auto)        1

# Report status on stdout, override with --verbose option
set config(verbose) 1

# Status check timeout (seconds), override with --timeout option
set config(timeout) 20

# Temperature thresholds: {fan_speeds low_ac high_ac low_batt high_batt}
set config(0)   {{-1 0}  -1  40  -1  40}
set config(1)   {{-1 1}  30  60  30  60}
set config(2)   {{-1 2}  53  128  53  128}

# end of file

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

مهمترین قسمت این تنظیمات خطوط ۱۵ تا ۱۷ هستند که به ترتیب زیر عمل می‌کند:

  • در صورتی که دمای CPU زیر ۴۰ درجه باشد فن خاموش می‌شود
  • اگر دما زیر ۶۰ درجه باشد فن با سرعت ۱ به کار می‌افتد
  • اگر دما بالای ۶۰ درجه باشد فن با سرعت ۲ به کار می‌افتد

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

sudo service i8kmon restart

منبع: Ask Ubuntu

۱۶م خرداد ۱۳۹۳ بازدید: 119 دسته بندی: فناوری دیدگاه‌ها: ۵

ساکت کردن فن لپ تاپ DELL در اوبونتو ۱۴.۰۴ – قسمت ۱

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

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

اولین کار، لود کردن درایور i8k است که امکان دسترسی به SSM BIOS لپ‌تاپ‌های DELL را می‌دهد. خوشبختانه این درایور از نسخه ۳ به بعد به کرنل لینوکس اضافه شده و فعال کردن آن با دستور زیر به راحتی انجام می‌گیرد:

sudo modprobe -v i8k

با اجرای این دستور باید خروجی شبیه این دریافت شود:

insmod /lib/modules/3.5.0-30-generic/kernel/drivers/char/i8k.ko

بعد از آن باید ابزار i8kutils را با دستور زیر نصب کنیم تا دمای CPU و سرعت فن را مانیتور کند:

sudo apt-get install i8kutils

بر روی اوبونتو ۱۴.۰۴ من خروجی زیر را گرفتم:

* Starting Dell fan/cpu-temperature monitor i8kmon        [ OK ]

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

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

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

به روز رسانی ۱

پس از ریست کردن سیستم، صدای فن دوباره به حالت اول بازگشت با مشاهده log سیستم احتمال می‌دهم مشکل بخاطر به روز رسانی BIOS سیستمم باشد که همین چند وقت پیش انجام دادم و احتمالا i8k به همین دلیل نمی‌تواند امضای DELL را بر روی BIOS تشخصی دهد. در این حالت کافیست i8k را مجبور به این کار کنیم. برای این کار باید سرویس آن ویرایش شود. با دستور زیر می‌توانیم از GEdit برای ویرایش استفاده کنیم.

sudo gedit /etc/init.d/i8kmon

خطی که حاوی دستور زیر است:

modprobe i8k >/dev/null 2>&1 || true

باید به دستور زیر تبدیل شود:

modprobe i8k force=1 >/dev/null 2>&1 || true

با اضافه شدن force=1 به i8k اطلاع داده می‌شود که بدون توجه به امضای BIOS کارش را انجام دهد. با ریست کردن و یا اجرای دستور زیر دوباره فن ساکت می‌شود:

sudo service i8kmon start

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

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

۱۵م خرداد ۱۳۹۳ بازدید: 161 دسته بندی: فناوری دیدگاه‌ها: ۴

تهران لاگ ۱۹۸

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

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

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

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

یک نکته جالب توجه دیگر این بود که مجری برنامه ۱.۶۱۸ که از شبکه چهار سیما پخش می‌شود هم در جلسه حضور داشت.

۱۳م خرداد ۱۳۹۳ بازدید: 71 دسته بندی: متفرقه دیدگاه‌ها: اولین نفر باشید

زبان برنامه نویسی جدید اپل Swift

امروز، اپل زبان برنامه نویسی جدیدی به نام Swift را معرفی کرد که ظاهرا از Objective-C قوی‌تر و راحت‌تر است. برای من شباهت جالبی به اسکالا دارد!

۱۲م خرداد ۱۳۹۳ بازدید: 208 دسته بندی: فناوری دیدگاه‌ها: ۳

حل مشکل Aptana Studio 3 در اوبونتو ۱۴.۰۴

به تازگی Aptana Studio 3 را بر روی اوبونتو ۱۴.۰۴ نصب کردم که هر از چند گاهی بدون دلیل کرش می‌کند و بدون هیچ پیغامی بسته می‌شود. برای حل این مشکل یک راه حل ساده وجود دارد.

این کد را به انتهای فایل AptanaStudio3.ini اضافه کنید:

-Dorg.eclipse.swt.browser.DefaultType=mozilla

فایل AptanaStudio3.ini در ریشه فولد Aptana Studio قرار دارد.

منبع webupd8

۸م خرداد ۱۳۹۳ بازدید: 86 دسته بندی: فناوری دیدگاه‌ها: ۲

درآمد بیت کوین از کامیت در پروژه متن باز

سعی کردم ترجمه فارسی برای Active Admin ایجاد کنم و البته آن را به پروژه اصلی Push کردم. دیگر قبول کردن و Merge کردن Push Request ها در پروژه‌های متن باز در عرض چند ساعت برایم یک چیز عجیب نیست و عادی شده. اما این غیر عادی بود که به عنوان جایزه کامیت کردن، بیت کوین هدیه بدهند! هر چند مقدار آن بسیار ناچیز است یعنی ۰٫۰۰۰۰۰۴۰۵ Ƀ که تقریبا می‌شود معادل ۷۶ ریال خودمان ولی این پول احتمالا برکت خاصی دارد :D

برای اطلاعات بیشتر به این سایت مراجعه کنید: http://tip4commit.com

۴م خرداد ۱۳۹۳ بازدید: 115 دسته بندی: دسته‌بندی نشده دیدگاه‌ها: ۱

تهران لاگ برای اولین بار

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

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

بعد از سال‌ها آشنایی دورا دور با فرود برای اولین بار از نزدیک او را دیدم و البته ارائه فنی که داشت (در مورد Vagrant) بسیار کاربردی و جالب بود.

بحث آزاد هم خیلی جالب بود (در خصوص مسائل حقوقی نرم‌افزارهای متن باز). با اینکه فکر می‌کردم کلی از لایسنس‌ها و قوانین نرم‌افزار سر در می‌آورم سه نکته خیلی مهم در خصوص قانون ایران یاد گرفتم:

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

می‌توانید با این گروه که به استارت آپ‌ها خدمات حقوقی می‌دهند از طریق آدرس http://startuplaw.ir ارتباط برقرار کنید.

۳۱م اردیبهشت ۱۳۹۳ بازدید: 331 دسته بندی: فناوری , مدیریت , کسب و کار دیدگاه‌ها: ۵

مقایسه روبی و اسکالا: یک-هیچ به نفع اسکالا

یکی از محاسن ریلز (روبی) وجود کتابخانه‌هایی مثل Active Admin است که کارش ایجاد یک کنترل پنل با کمترین میزان نیاز به کد نویسی می‌باشد. در واقع صفحات کنترل پنل در هنگام اجرا رندر می‌شوند. قبلاً هم چنین کاری را با سی شارپ و ASP.NET MVC کرده بودم که البته از نتیجه کار راضی نبودم و پروژه واقعاً شکننده شد. البته طراحی Active Admin بسیار زیباتر و بهتر از طراحی من است.

اما وقتی بخواهیم یک صفحه خاص (Customized) را با استفاده از Active Admin طراحی کنیم باید با مطالعه مستندات یاد بگیریم که چطور می‌شود این کار را انجام داد. دقت کنید که هیچ راه دیگری جز مطالعه سورس کتابخانه و یا مطالعه مستندات و آزمون و خطای زمان اجرا (Run-time) برای کار با یک کتابخانه در روبی وجود ندارد. در صورتی که در زبان‌های استاتیک (مخصوصا اسکالا و پلی فریمورک) حداقل به ما اجازه می‌دهند از کامپایلر و یا بهتر از آن از IDE استفاده کنیم و بدون مطالعه مستندات از همان ابتدا بدانیم ورودی و خروجی متدها چه هستند یا در بدترین حالت حداقل نام متد چیست! و در نوشتن آن اشتباه نکنیم! در این شرایط به اندازی کافی کار و سر درگمی وجود دارد که اشتباه نوشتن نام یک فیلد یا یک متد هم بخواهد به آن اضافه شود.

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

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

فرمی که فقط فیلدهای زیر را دارد؛

  • سال (عدد)
  • ماه (عدد)
  • اطلاعات قبلی حذف شوند؟ (چک باکس)
  • فایل (برای آپلود)

فایل CSV را از کاربر دریافت کرده و آن را در بانک اطلاعات وارد (Import) می‌کند.

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

دینامیک بودن یک شمسیر دو لبه است و گاهی اوقات کارهای بسیار جالبی می‌توان با آن انجام داد ولی تجربه به من نشان داده که پیاده‌سازی غلط زبان‌های استاتیک تا امروز باعث این حس شده که آن‌ها زبان‌های دست و پا گیری هستند. اسکالا دست و پا گیر نیست!

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

روند ارزیابی ادامه دارد…

۲۹م اردیبهشت ۱۳۹۳ بازدید: 234 دسته بندی: فناوری دیدگاه‌ها: ۵

اولین پروژه Ruby on Rails

اولین پروژه ریلز (Ruby on Rails) تجاری‌ام را امروز رسماٌ شروع کردم.

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

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

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

۲۶م اردیبهشت ۱۳۹۳ بازدید: 300 دسته بندی: فناوری دیدگاه‌ها: ۶