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

Ubuntu for Phone بر روی Galaxy Nexus

محصول جدید کانونیکال: Ubuntu for Phones

دیشب (13 دی، ساعت 21:30 به وقت ایران) شرکت کنونیکال رسماً از Ubuntu for Phones پرده برداری کرد. این نسخه از سیستم عامل اوبونتو برای اسمارت‏ فون‏ ها بهینه سازی شده است. البته هیچ گوشی مجهز به این سیستم عامل تا کنون تولید نشده و در مراسم معرفی نیز از Galaxy Nexus استفاده شد.

Ubuntu for Phone
Ubuntu for Phone

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

قابلیت جالب و کاربردی دیگر این سیستم عامل این است که هنگامی که به آن نمایشگر، موس و کیبرد وصل کنید، مانند یک PC اوبونتویی کامل کار می کند؛ یعنی می توانید از رابط کاربری و برنامه های دسکتاپ استفاده کنید. این قابلیت مشابه Ubuntu for Android است که پیشتر معرفی شده بود.

بدیهی است که مهم ترین عامل موفقیت یا شکست یک سیستم عامل گوشی هوشمند، اکوسیستم آن و اپ های موجود برای آن است. در این زمینه، امکان تبدیل برنامه های وب به برنامه های دسکتاپ (با امکان دسترسی به منابع سیستمی، مانند فایل ها و غیره) فراهم شده است. علاوه بر آن، امکان Port کردن آسان برنامه های اوبونتو برای اسمارت فون نیز فراهم شده است. با در نظر گرفتن برنامه های موجود در Software Center و پشتیبانی Valve  (یکی از بزرگترین ناشران بازی) که در حال افزوده شدن به اوبونتو است، می توان امیدوار بود که در این زمینه نیز کمبودی نباشد. با این وجود، باید منتظر ماند و دید که آیا این اکوسیستم به اندازه کافی رشد می کند یا خیر.

کمینه سخت افزار مورد نیاز برای اجرای اوبونتوی اسمارت فون شامل پردازنده یک گیگاهرتز، 512 مگابایت رم و 4 گیگابایت حافظه داخلی است. البته با این امکانات، قابلیت استفاده به عنوان PC وجود ندارد. سخت افزار پیشنهادی برای “سوپرفون” نیز شامل پردازنده 4 هسته ای ARM یا پردازنده اتم اینتل، 1 گیگابایت رم و 32 گیگابایت حافظه داخلی است. با توجه به امکانات سخت افزاری پیشنهادی، احتمالاً قیمت گوشی های اوبونتویی از 200$ یا 250$ دلار به بالا خواهد بود.

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

Ubuntu for Phone بر روی Galaxy Nexus
Ubuntu for Phone بر روی Galaxy Nexus

یک مسئله مهم این است که با وجود iOS و اندروید چه نیازی به یک سیستم عامل تازه است؟ پاسخی که به نظر من می رسد، این است که ارزش این سیستم عامل به این است که اولویت کنونیکال تصرف بازار نباشد. البته بدیهی است که یک شرکت تجاری تمایل به فروش و سود بیشتر دارد، ولی چیزی که اوبونتو را متمایز می کند، این است که تا حدّ امکان باز و آزاد است. البته از طرف برخی از بنیان گذاران و سردمداران Open Source و نرم افزار آزاد، مانند GNU، در این زمینه به اوبونتو انتقاد جدّی وارد است، به حدّی که GNU اوبونتو را به عنوان سیستم عامل باز به رسمیت نمی شناسد. نمونه ای از این انتقادها، گزینه نصب کدک MP3 است که در هنگام نصب اوبونتو دیده می شود. همان گونه که احتمالاً می دانید، MP3 کد بسته است و به همین دلیل، بسیاری از نرم افزارهای آزاد به شکل پیشفرض از آن پشتیبانی نمی کنند.

البته از آنجا که هدف اوبونتو بیشتر “سیستم عاملی برای انسان ها” است، این انتقاد بر آن وارد نیست؛ چرا که یک سیستم عامل برای انسان ها، باید بازی ها و نرم افزارهای پرطرفداری که به شکل بسته منتشر می شوند، را نیز داشته باشد. با این وجود، اوبونتو (دستکم تا کنون) تا حدّ امکان به آرمان هایش وفادار مانده و هنوز تا جایی که امکانش باشد، از نرم افزار Open Source استفاده می کند. به همین دلیل، با ورود این سیستم عامل به دنیای موبایل، عنوان “آزادترین سیستم عامل موبایل” بدون شک به آن تعلّق می گیرد.

علاوه بر آن، این سیستم عامل پس از ویندوز 8 و RT مایکروسافت، نخستین سیستم عاملی است که از Desktop به موبایل می رود و به همین دلیل، بیشتر قابلیت ها و کاربردهای PC را دارد.

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

اطلاعات بیشتر درباره ی Ubuntu for Phone را می توانید در سایت آن به نشانی ubuntu.com/devices/phone بیابید.

نظر شما درباره عضو جدید خانواده اوبونتو چیست؟ آیا می تواند موفق شود؟

 

تولّد هایم، یک و شانزده سالگی!

چند روزی است که «دو برنامه‌نویس» یک سالگی‌اش را پشت سر می‌گذارد… سالی که برای «دو برنامه‌نویس» و این سه «برنامه‌نویس» سالی مهم بود، پر از فراز و نشیب…

همه چیز از شبی که فردایش من و احمدعلی آزمون داشتیم شروع شد، همان شب دامین «دو برنامه‌نویس» هم ثبت شد… شادی‌ها، پیچاندن‌ها، کپی‌کاری‌ها، پست‌های خوب و …

اما… دو روز پیش، یکی از این سه «برنامه‌نویس» هم شانزده‌سالگی‌اش را تمام کرد و به خاطرات سپرد… آری، «دو برنامه‌نویس» درست چند روز پیش از جشن تولد سال گذشته‌ی من متولّد شد…

دوست دارم در این نوشته، نمای کلّی سال گذشته‌ی خودم و «دو برنامه‌نویس» را کمی شرح دهم.

ابتدا در مورد وبلاگ:

«دو برنامه‌نویس» در ۱۷ آبان ماه سال ۱۳۹۰ شروع به کار کرد… (+) من و احمدعلی فعالیتمان را در وبلاگ شروع کردیم… البته کمی بعد محمد هم به ما پیوست. با نزدیک شدن به آزمون‌های ترم نخست، فعالیت ما در وبلاگ کمتر شد. پس از آن، به فعالیت در وبلاگ ادامه دادیم. تعداد بازدید‌های روزانه و نمودار صعوی آن، مایه‌ی دلگرمی ما بود… چه خوشحالی‌ها که با این نمودار‌ها نمی‌کردیم! تابستان که شد، کار خود را به طور جدی‌تری ادامه دادیم، کم‌کم اعتیاد مراجعه به گوگل آنالیتیکز برطرف شد. نوشتن‌ها ادامه داشت و نمودار هم همچنان صعود می‌کرد.

گاهی بر اثر اتفاق خاصی، تعداد بازدید‌هایمان در یک روز خاص بیش از حد معمول می‌شد، در آن مواقع، احتمالاً مثل هر وب‌نویس تازه‌کار دیگری، به شدت ذوق می‌کردیم…

(برای مشاهده‌ی عکس در ابعاد بزرگتر، روی آن کلیک کنید)

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

بعد به مهرماه رسیدیم، از آنجایی که دو سال دیگر کنکور دارم، تصمیم گرفتم که بیشتر درس بخوانم؛ فعالیت در وبلاگ با شک و تردید مواجه شده بود، به هر حال تصمیم به ادامه‌ی وبلاگ گرفتم، نتیجه‌ی نسبتاً مطلوب در نخستین آزمون آزمایشی مدرسه‌مان هم، مهر تأییدی بود بر این تصمیم من… از سوی دیگر، احمدعلی در طول این مدت، ۲ یا ۳ بار تصمیم گرفته که از وبلاگ (دست‌کم برای مدتی) کنار بکشد، و بعد از تصمیمش منصرف شده است…

محمد هم که به شدت درگیر المپیادش است و نرخ ارسال پست‌هایش در بهترین حالت یک پست در ماه است.

به هر حال، «دو برنامه‌نویس» در حال حاضر ۷۵ خواننده‌ی فید و هفته‌ای نزدیک به ۲۵۰ خواننده از طریق سایت دارد که در طول یک هفته، ۴۷۲ صفحه را بارگذاری می‌کنند. میانگین زمان حضور کاربران در سایت هم نزدیک به دو دقیقه است. راستش نمی‌دانم این آمار برای یک سال خوب است یا بد، به هر حال امیدوارم خوب باشد!

و حالا در مورد خودم:

از اوایل سال تحصیلی گذشته، به همراه احمدعلی روی پروژه‌ی خامه‌عسل (پروژه‌ای که به نتیجه نرسید، ولی شاید در آینده برسد…) کار می‌کردم. پروژه و وبلاگ دغدغه‌های من بودند و زندگی می‌گذشت (همه چی آرومه!) بعد از عید، تقریبا خامه‌عسل به کناری نهاده شد… در اواسط خرداد ماه، یعنی زمان آزمون‌های ترم دوم، جرقه‌های ایده‌ای به ذهن من و احمدعلی خطور کرد، اما پس از صحبت با دکتر مجیدی، ایده تغییر‌های بسیاری کرد و ایده‌ی آزینیوم متولّد شد.

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

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

بیست و چهارم آبان ماه هم روز تولّد من بود که البته چندان رضایت بخش نبود!‌ (فکر کنید تنها کسانی که بدون این‌که بهشان بگویید امروز تولدتان است، تولدتان را تبریک بگویند، این‌ها باشند: پدربزرگ و مادربزرگ، بانک پاسارگاد «…»، گوگل «!»، و البته یکی از دوستانم «آن هم از طریق شبکه‌ی اجتماعی!»)

خلاصه‌ای از سرگذشت من و «دو برنامه‌نویس» را خواندید، امیدوارم شما هم سال خوبی را سپری کرده باشید و امیدوارم که سال آینده‌ی بهتری را سپری کنید! همچنین اگر در این لحظه چیزی به ذهنتان خطور کرد، خوشحال می‌شوم آن را به عنوان یک دیدگاه با من به اشتراک بگذارید!

کره زمین

کاربرانتان را بیابید – قسمت نخست: تشخیص موقعیت جغرافیایی به کمک HTML 5

هم زمان با توسعه استاندارد HTML 5، گوشی های هوشمند و تبلت مدرن نیز در حال گسترش هستند. یکی از ویژگی های این گجت ها این است که تقریباً تمامی آن ها مجهز به GPS (و در برخی موارد GLONASS) جهت یافتن مکان دستگاه، و کاربر، هستند. به همین دلیل، یکی از کاربردی ترین ویژگی هایی که در HTML 5 معرفی شده، تشخیص موقعیت جغرافیایی است که کاربرد آن را می توان در سایت هایی مانند Google Maps و Foursquare دید. در این مقاله روش یافتن موقعیت جغرافیایی کاربر به کمک HTML 5 مورد بررسی قرار می گیرد.لوگوی HTML 5

همان گونه که می دانید، مختصات هر نقطه ای بر روی زمین را می توان با طول جغرافیایی و عرض جغرافیایی آن نقطه نشان داد. از آنجا که GPS تنها موقعیت کاربر را پیدا می کند، خروجی GPS تنها شامل همین دو عدد است و به کمک HTML 5 نیز همین دو عدد را به دست می آوریم. از آنجا این اعداد به تنهایی کاربرد خاصی ندارند، در قسمت بعدی مقاله به روش تبدیل این اعداد به نقشه یا نام مکان خواهیم پرداخت. با این وجود، پایه تمام امکانات همین طول و عرض جغرافیایی است.

برای دستیابی به موقعیت کاربر در جاوااسکریپت از شئ navigator.geolocation استفاده می شود. برای اطمینان از این که مرورگر کاربر از Geolocation پشتیبانی می کند، می توانید کد زیر را به کار ببرید:

 

if (navigator.geolocation)
{
 //دریافت مختصات کاربر
}
else
{
 alert ("مرورگر شما از مختصات جغرافیایی پشتیبانی نمی کند. لطفاً مرورگر را به روز نمایید.");
}

فهرستی از مرورگرهایی که از geolocation پشتیبانی می کنند را می توانید در اینجا بیابید. به طور کلی، بیشتر مرورگرهای جدید از این ویژگی پشتیبانی  می کنند.

در صورتی که مرورگر از geolocation پشتیبانی کند، با استفاده از تابع geolocation.getCurrentPosition می توانید به مختصات کاربر دست پیدا کنید. برای استفاده از این تابع باید تابع دیگری را به آن بفرستید که یک ورودی بگیرد. پس از این که مختصات کاربر دریافت شد، getCurrentPosition مختصات را به آن تابع می فرستد. به عنوان مثال، کد زیر مختصات کاربر را دریافت کرده و نمایش می دهد:

function showGeolocation (position)
{
   // position.coords.latitude = عرض جغرافیایی کاربر
   // position.coords.longitude = طول جغرافیایی کاربر
   alert (position.coords.latitude + ", " + position.coords.longitude);
}

if (navigator.geolocation)
{
   navigator.geolocation.getCurrentPosition(showGeolocation);
}
else
{
   alert ("مرورگر شما از مختصات جغرافیایی پشتیبانی نمی کند. لطفاً مرورگر را به روز نمایید.");
}

برای آزمایش این ویژگی در مرورگر خودتان می توانید روی این دکمه کلیک نمایید:

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

کره زمین

مسئله دیگری که وجود دارد، این است که با وجود گسترش تبلت ها، گوشی های هوشمند و دیگر دستگاه های مجهز به GPS، هنوز هم دستگاه های بسیاری (مانند رایانه های شخصی و لپتاپ ها) هستند که می توانند از سایت شما بازدید کنند، در حالی که GPS ندارند. در این گونه مواقع، با استفاده از موارد مانند IP و گاهی شبکه های Wifi، رایانه موقعیت جغرافیایی اش را تخمین می زند، ولی خطای این روش بسیار بالا است (در حدّ چندین کیلومتر). در این مواقع، با استفاده از این روش می توانید شهری که کاربر در آن قرار دارد را بیابید. (البته ممکن است در مورد شهرهای کوچک و روستاها، به دلیل خطای بالا، نتیجه حتی در این حد نیز قابل اعتماد نباشد!)

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

شما چه کاربردی را برای مختصات جغرافیایی کاربر پیشنهاد می دهید؟

«دو برنامه‌نویس» در آینده… شما چی دوست دارید؟

«دو برنامه‌نویس» در نخستین سال تولد خود قرار دارد، و در این مدت خوانندگانی پیدا کرده است. رشد «دو برنامه‌نویس» به لطف همین بازدیدکنندگان و خوانندگان این وب‌نوشت میسر شده است.

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

اما برای بهبود کیفیت مطالب وبگاه، «دو برنامه‌نویس» به کمک شما نیازمند است و روی کمک شما حساب کرده است!

سرتون رو درد نیاورم! از شما درخواست می‌کنیم که نظر خودتون در مورد رویکرد آینده‌ی «دو برنامه‌نویس»‌ رو با ما در میان بگذارید! دوست دارید چه مطالبی در دو برنامه‌نویس منتشر شوند؟ آیا به تحلیل اخبار آی‌تی علاقه دارید؟ آیا فکر می‌کنید مطالب آموزشی مفیدتر است؟ یا شاید رویکرد وردپرس را ترجیح می‌دهید؟! شاید هم به برنامه‌نویسی علاقه دارید؟ یا …؟!؟

پاسخ‌های شما به این نوشته، تأثیر به‌سزایی در ادامه‌ی مسیر «دو برنامه‌نویس» خواهد گذاشت…

منتظر شما در بخش دیدگاه‌ها هستم! ;-) (حتا اگر مشترک فید «دو برنامه‌نویس» هم هستید، خوشحال می‌شوم وارد سایت بشید و در این باره دیدگاه بگذارید…)

در پایان، از این که وقت شما رو با این نوشته گرفتم، عذرخواهی می‌کنم. (F)

نویسندگی میهمان در «دو برنامه‌نویس»

از این پس، شما نیز می‌توانید برای «دو برنامه‌نویس» بنویسید. در این وب‌نوشته، شیوه‌ی نوشتن و ارسال نوشته‌ها برای دو برنامه‌نویس نیز یاد شده است.

ادامه خواندن نویسندگی میهمان در «دو برنامه‌نویس»

وب‌نوشت «دو برنامه‌نویس» و شما!

وب‌نوشت «دو برنامه‌نویس» در ابتدای راه خود ، بازدید کنندگانی به دست آورده است و تعداد آنها رو به افزایش است، اما از طرفی دیگر

آمار Google Analytics نشان می‌دهد که بازدید کنندگان ثابت ما رو به افزایش است (و چند آمار مثبت دیگر) که برای من خبری خوشحال کننده است. اما از طرفی، تعداد کم دیدگاه‌ها مرا دلسرد می‌کند. از طرفی علاقه‌مند به نوشتن «کامنت یادتون نره» و این گونه جمله‌های کلیشه‌ای و بعضاً جلف(!) نیستم!!

خب، این وب‌نوشته را صرفاً برای این ارسال کردم که از شما بپرسم، «دو برنامه‌نویس» که در ابتدای راه است، چه نقص‌ها و کاستی‌هایی دارد، نقاط قوت آن چیست، پیشنهاد‌های شما درباره‌ی وب‌نوشت چیست، آیا مایل به نوشتن در «دو برنامه‌نویس» هستید، آیا جهت گیری «دو برنامه‌نویس» مناسب است، آیا «دو برنامه‌نویس» باید به مطالب برنامه‌نویسی اختصاص داشته باشد/یا بخشی از آن را مباحث برنامه‌نویسی تشکیل دهد، و بسیاری از پرسش‌ها که ممکن است در ذهن هر وب‌نویس تازه‌کار خطور کند.

خواهشمندم دیدگاه‌های خود را درباره‌ی «دو برنامه‌نویس» از نویسندگان آن دریغ نفرمایید!

سپاسگزارم!