۱۳۹۰ شهریور ۹, چهارشنبه

*** مصاحبه با حسام کمالان، متخصص سیستم های کامپیوتری موبایل ***

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

http://www.kamalan.com

و اما مصاحبه:


1. لطفاً خودتون رو معرفی کنین؟

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


2. از چه زمانی (یعنی چند سال پیش) به برنامه نویسی و کلاً دنیای تکنولوژی علاقه مند شدین؟ اولین تجربه ای که در این زمینه داشتین چی بوده و چقدر براتون لذت بخش بوده؟

کلاً عاشق برنامه نویسی هستم از سخت افزار گرفته تا نرم افزار. کار طراحی و برنامه نویسی رو از سال 1378 با طراحی بردهای الکترونیک که از پردازنده های AVR یا PIC استفاده میکردن، شروع کردم و کم کم سراغ زبان های سخت افزاری و کار با قطعات Altera و Xilinx رفتم. خیلی تجربه ای تو اینها نتونستم کسب کنم چون تراشه هاش خیلی گرون بود و همچنین طراحی مدار چاپی برای راه اندازی اون هم کاری نبود که بشه در خونه انجام داد. بعد به برنامه نویسی کامپیوتر و اینترنت علاقه مند شدم و شروع به یادگیری ++C/C ، ویژوال C و دلفی کردم. از سه سال پیش به خاطر مباحث آنالیزی شروع به یادگیری جاوا، HTML, CSS و جاوا اسکرسپت کردم. چندین و چند سایت هم طراحی و راه اندازی کردم. ولی بعد از یه مدت تجربه به این نتیجه رسیدم که اینها من رو ارضا نمیکنه و از سر و کله زدن با اون لذت نمیبرم.

در مقطع فوق لیسانس با برنامه نویسی J2ME آشنا شدم و حس کردم خیلی میتونم تو اینکار موفق بشم. چون از یه طرف بیس سخت افزاری فوق العاده خوبی در موبایل داریم و از طرف دیگه کتابخانه های قوی که رابط برنامه با سخت افزار هستن. اولین پروژه ای که براساس J2ME نوشتم پروژه یکی از درسهام بود که مربوط بود به ساخت بازی "کی میخواد ملیونر بشه؟" (Who wants to be a millionaire?). تجربه بسیار خوبی بود چون اولاً از یه کلاس 7-8 نفری دو نفر ایرانی بودیم که تونستیم پروژه رو انجام بدیم. اون دوستم بر روی ویندوز موبایل برنامش رو اجرا کرد و من هم که با جاوا نوشته بودم. ولی به هر حال این پروژه ای بود که راه رو به من نشون داد و سرآغازی شد برای مطالعه بیشتر در این زمینه.


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

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

به نظر میاد دوران تحصیل بهترین دوره برای رسیدن به این تجارب ارزشمنده چون اولاً هزینه بالایی نداره (اگر دانشگاه خرج تحصیل رو بده) و همچنین دانشجوها مسئولیت خاصی هم غیر از درس خوندن ندارن. بنابراین با خیال راحت هم میتونن تفریح کنن و هم در کنار اون، تجربه زندگی در کشوری با شرایط کاملاً متفاوت با اونچه قبلاً داشتن را به دست بیارن.


4. لطفاً در مورد رشته تحصیلیتون یعنی "سیستم های کامپیوتری موبایل" یه توضیح کوتاه بدین و اگه ممکنه، برای اطلاعات بیشتر افراد علاقمند، لینک هم بدین...

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

برای اطلاعات بیشتر لطفاً به آدرس زیر مراجعه فرمایید:

http://www.staffs.ac.uk/courses_and_study/courses/mobile-computer-systems-tcm4212253.jsp

5. در مورد برنامه نویسی برای گوشی های موبایل، اولین تجربتون چی بوده؟

اولین تجربه همونطور که در بالا عرض کردم طراحی بازی "کی میخواد ملیونر بشه؟" بود. ولی اولین تجربه حرفه ایم برنامه "Numbers" بود که برای سیستم های اندروید نوشته بودم. کار اولم بود، تجربه های بسیاری کسب کردم و البته اشکالات زیادی هم داشتم. این بازی رو در اندروید مارکت قرار دادم و تا حالا تقریباً 3000 بار دانلود شده، البته با احتساب مارکتهای دیگه:

https://market.android.com/details?id=Mobilesoft.asia.numbers&feature=search_result

و

http://slideme.org/application/numbers-0

6. با توجه به این که شما به اندروید علاقه دارین، به برنامه نویسی برای تبلت ها هم علاقه دارین یا فقط موبایل؟

در حالت کلی من به سیستم عامل نگاه میکنم. یعنی حتی در کنار موبایل و تبلت سعی میکنم در جریان برنامه نویسی برای لپ تاپ های اندروید و حتی تلوزیون های اندروید هم باشم (http://www.youtube.com/watch?v=0JkYNGoum80). ولی در زمان حال، که فعلاً بازار اندروید شامل موبایل و تبلت میشه طبیعتاً بر روی هر دو کار میکنم. علت این هم دسترسی به بازار بیشتر برای فروش محصول هست. البته اضافه کردن تبلت دردسرهای خودش رو هم داره چون بخاطر صفحه بزرگتر نیازه که یه UI (رابط کاربری) مخصوص به خودش هم دوباره ساخته بشه که البته زمان طراحی های گرافیکی رو هم باید به اون اضافه کرد. بعضی از شرکت های برنامه سازی هم هستند که برنامه را یکبار برای موبایل میسازند و یک بار دیگر – از اول – برای تبلت هم میسازند. به این ترتیب برنامه شون را در دو نسخه در اختیار خریداران قرار میدن.


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

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


8. نظرتون درباره امنیت اطلاعات در دنیای موبایل ها چیه؟ چه راهکارهایی رو برای داشتن امنیت بیشتر مفید می دونین؟

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

ولی امروزه بعضی از بیشترین خطرهایی که استفاده کنندگان از موبایل رو تهدید میکنه، ویروسهایی هستن که ممکنه به هر طریقی وارد موبایلشون بشه و کارهای ناخواسته ای (از طرف کاربر) انجام بدن که البته همه اونا هم برای کاربر هزینه مالی (من با این بعدش کار دارم) دارن. اکثر اونا هم با اهداف تبلیغی ایجاد میشن تا به صورت پنهانی به لیست تماس افرادی که در گوشی وجود داره فرضاً SMS یا MMS ارسال بشه و از طرف کاربر جنسی یا محصولی به اونا معرفی بشه.

ویروس ها، کرمها یا ترواها ممکنه اثرات مخرب زیر را داشته باشن:

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

- سرقت یا ازبین بردن اطلاعات به خصوص از موبایل افراد

- خراب کردن شبکه مخابرات

- جاسوسی شما (که مثلاً چه کارهایی با گوشیتون میکنید و چه برنامه هایی دارید و ...)

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

- هیچ وقت دکمه YES را در موبایل فشار ندین مگر از عواقبش آگاهی داشته باشید.

- تمام MMSهایی که از طرف شماره های ناآشنا برای شما ارسال شده رو بدون باز کردن، پاک کنید.

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

9. در مورد هر کدوم از کلمه های زیر، اولین چیزی که به ذهنتون میرسه رو بنویسین:

کامپیوتر: ارتباط مدرن، تکنولوژی

موبایل: Angry Birds

برنامه نویسی: صبر، تخیل، ابداع (مطمئنم میتونید ارتباطشون باهم رو ببینید)

اینترنت: بنظرم در حد اختراع چرخ مهمه. علم و دانش حتی ثروت

آزادی: پرنده! دسترسی به اطلاعات بدون دخالت

Open Source: مصیبت (چون کسی حمایت اساسی ازش نمیکنه)، ولی کار راه انداز

موفقیت: تلاش، تلاش، تلاش

خوشبختی: لذت از بودن با کسی، انجام کار درست برای مردم

سلامتی: ورزش

محیط زیست: جنگل، باران، سرسبزی

دانشگاه: محیط کسل کننده، درس، افتادن های مرتب

ایران: عشق، انتظار برای روزی که علمم رو دراختیار مردم خودم میزارم (بی تعارف)

10. توصیتون به برنامه نویس هایی که تازه میخوان شروع کنن (مثل خود من) چیه؟

برنامه نویسی برعکس کلاس کارایی بالایی که داره خیلی دنیای داغونیه! علت هم اینه که تکنولوژیه و باسرعت درحال تغییره. اگر خودت رو هماهنگ با اون نکنی از غافله عقبی و با سرعت نور بقیه ازت جلو میزنن. ولی سئوال اینجاست که چیکار باید کرد؟

جواب: بستگی به این داره که کجا داری زندگی میکنی J اگه ایران یا کشورهای در حال توسعه میخوای کار کنی باید به وسعت اقیانوس چیز بلد باشی (چند ماه پیش ایران بودم و یه اگهی تو روزنامه همشهری فکم رو به زمین چسبونده بود، یه برنامه نویس جاوا میخواست که مسلط به تمام تکنولوژی های سمت سرور باشه، HTML,CSS و Js بدونه، مسلط به Word و اکسل هم باشه)، ولی نیاز نداری عمق داشته باشی (البته من حالت کلی رو عرض کردم). ولی اگه در کشورهای توسعه یافته داری زندگی میکنی، قانون اینه که یه چیز رو بدون ولی در حد عالی بلد باش. یعنی اگه فقط یک نرم افزار word رو شما به تمام زیر و بم هاش وارد باشی و بتونی ایده مشتری رو به واقعیت برسونی، همون برای درآوردن خرج زندگیت کافیه.

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

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


11. در پایان، اگه صحبتی با خوانندگان این مصاحبه دارین، بگین (هر چه میخواهد دل تنگت بگو...)

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

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

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

*** با سپاس ویژه از آقای حسام الدین کمالان بابت شرکت در این مصاحبه ***

هیچ نظری موجود نیست: