بایگانی برچسب: s

دو کلمه با نویسندگان مسنجر ایرانی

کلمه اول

شرکت عزیز «گروه حرفه ای های تکنولوژی ارتباطات»! من درک می کنم دوست دارین بیاین نمایشگاه رسانه‌های دیجیتال و دوم بشین و محصول ملی درست کنین و بودجه بگیرین و چیزهای غیره.. ولی دیگه نیاین بگین اولین مسنجر ایرانی که ساختین با هر سه نسخه ویندوز ویستا، سون و ایکس پی سازگاره. ضایع است این حرفها حالا مسوولین نمایشگاه دستشون تو حساب نیست و مثلا چنین پوستری رو نصب می‌کنن:

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

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

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

کلمه دوم

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

چرا گنو/لینوکس رو دوست دارم یا چطوری چت رو از کامند لاین شروع کنین

توجه: این پست در مورد فلسفه نرم افزار آزاد است. این پست در مورد برنامه نویسی و آموزش اون نیست.

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

قدیم ها gnome-do تا حدی جوابگو بود ولی نه اونقدر که من می خوام و … چرا خودم ننویسم چیزی که می خوام رو؟ اینجا لینوکسه، دنیای آزاد و مشارکت و سوار شدن روی دوش غول‌هایی که قبلا زحمات متنوع رو کشیدن تا ما راحت بالا بریم.

قدم اول اینه که چطوری می‌تونم به مسنجری که بازه پیام بفرستم. جواب DBus است. یک مفهوم بسیار جذاب و کاربردی توی گنو/لینوکس ها که توسط ردهت توسعه پیدا کرده و الان همه ازش استفاده می کنن. ایده کار اینه: هر برنامه ای که اجرا می شه اگر بخواد به بقیه هم سرویس بده خودش رو روی دی.باس (اتوبوس دسکتاپ) رجیستر می کنه و اعلام می کنه که یکسری سرویس داده و یکسری قابلیت. بعد بقیه برنامه ها می تونن به همین خط اتوبوس (دی.باس) وصل بشن و از برنامه های متنوع درخواست کارهایی که دارن رو بدن. شماتیکش رو براتون کشیدم:

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

$ im.py "ali_banaii@gmail.com" "aafiat bashe"

حالا کافیه برنامه من در هر بار اجرا به دی باس وصل بشه:

bus = dbus.SessionBus()
obj = bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject")
purple = dbus.Interface(obj, "im.pidgin.purple.PurpleInterface")

توی همه اکانت های من فهرست دوستام رو بگیره:

for thisAccount in purple.PurpleAccountsGetAllActive():
  myname = purple.PurpleAccountGetUsername (thisAccount)
  for buddy in purple.PurpleFindBuddies(thisAccount, '' ):

و اگر اسم این دوستم با اسمی که بهش دادم مساوی بود، پیام رو براش بفرسته:

      thisConv = purple.PurpleConversationNew(1, thisAccount, foundName)
      purple.PurpleConvImSend (purple.PurpleConvIm(thisConv), sys.argv[2])

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

jadi@jint:~$ im.py banae "aafiat bashe"
Send ' aafiat bashe ' to  ali banaii ( ali_banaii@gmail.com ) ? y

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

تقویم‌ها هنوز هم جوانند

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

از سال‌ها پیش اشکان قاسمی با محور قرار دادن برنامه ساده ولی بسیار قوی و خط فرمانی cal، برنامه یا دستور jcal را ساخته بود که تنها ضعف آن – به جز اینکه بعضی‌ها چیزهای گرافیکی را ترجیح می‌دهند – ناتوانی‌اش بود در تبدیل تاریخ‌ها و البته عدم نمایش مناسبت‌ها. در همان دوره که شاید بشود به موج اول ورود لینوکس به ایران نام‌گذاری‌اش کرد، محیط کار کی دی ای به شکل کامل به تقویم فارسی مجهز شد اما مشکل اصلی این بود که برای استفاده از آن باید تقویم کل سیستم را فارسی می‌دیدید. بدون شک مشاهده اینکه در محیط کی.د.ی.ای. جلوی یک فایل نوشته شده باشد «ایجاد شده در ۸ شهریور ۱۳۸۵» برای کاربران ویندوزی مانند معجزه به نظر می‌رسید ولی این دقیقا چیزی نبود که ما لازم داشتیم.

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

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

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

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

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

خب یک خبر جذاب این بود که رضا سروری و دوستانش کتاب «دروپال در ۲۴ ساعت» انتشارات Sams رو به فارسی ترجمه کرده‌اند و خبر بهتر اینکه این تیم، کتاب آموزشی دروپال در بیست و چهار ساعت رو به شکل یک پی دی اف رایگان (CC) در اینجا برای دانلود قرار داده‌اند.

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


تبلت ۷ اینچی آندرویدی هند: فقط ۳۵ دلار

خبر لپ‌تاپ ۳۵ دلاری هند برای مدتی طولانی در رسانه‌ها بوده اما چند وقتی است که دیگر درباره آن چیزی نمی شنویم. احتمالا به این دلیل که حالا برنامه‌اش را به تولید تبلت‌های آموزشی تغییر مسیر داده.

انگجت چند روز قبل گزارش داد که هند قرارداد تولید تبلت‌های بسیار ارزان آموزشی را با شرکت HCL Technologies امضا کرده. احتمالا اولین سری تولید، تنها شامل تبلت‌های ۷ اینچی خواهد بود که تا ده ژانویه به دست مصرف کننده خواهند رسید. قیمت فعلی ۳۵ دلار اعلام شده اما دولت هند کماکان در تلاش است تا از طریق تولید بسیار انبوه و دادن سوبسید به این پروژه، آن را حتی تا ۱۰ دلار هم پایین بیاورد.

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

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

مرتبط: بیانیه مطبوعاتی دولت هند در مورد این گجت