فوریه 3, 2008 روی 5:26 ب.ظ · طبقه بندی شده زیر Technology, Web 2.0
در قسمت قبل اشاره کردم که توسعه ایده سیستم عامل وبی نهایتا به این منجر میشود که سیستم عاملهای دسکتاپی که امروز میشناسیم به یک واسطه برای ارتباط با شبکه تبدیل شوند و کاربر بتواند تمام نیازهای خود را از طریق سیستم عامل وبی برطرف کند. کاهش پیچیدگی سیستم عاملهای دسکتاپ یک مزیت دیگر هم دارد: میتوان آن را روی هر وسیلهای نصب کرد. اگر کارکرد سیستم عامل دسکتاپ در حد ارتباط با شبکه کاهش پیدا کند میتوان هر وسیلهای (device) را به شبکه متصل کرد. در چنین شرایطی مساله دیگر این نیست که از راه دور لامپهای منزلتان را روشن و خاموش کنید، ساعت دیجیتال شما که با یک ارتباط بیسیم به شبکه متصل است میتواند خودش را با نرمافزار قرار ملاقاتهای شما روی سرور سیستم عامل وبیتان هماهنگ کند تا به خاطر خواب ماندن قرارتان را از دست ندهید!
این مساله همچنین میتواند مدل رسانهای فعلی را به کلی دگرگون کند. در واقع یک شبکه تلویزیونی میتواند برنامههای خود را به شکل یک ویدئو بلاگ 24 ساعته روی سیستم عامل وبی شما پخش کند (که هر کاربر متصل امکان تعامل مستقیم با محتوا را داشته باشد) و تلویزیون شما به عنوان وسیلهای که قابلیت اتصال به شبکه را دارد، آن برنامهها را دریافت کند و نمایش بدهد.
جستجوپذیری چالش بزرگ سیستم عاملهای وبی است، در یک سیستم عامل وبی شما میتوانید هر محتوایی اعم از متن، ویدئو، تصویر، موسیقی، لینک و … را به اشتراک بگذارید. یک نمونه خوب فعلی سرویس wixi است که قبلا در موردش مطلبی نوشته بودم، این اشتراک محتوا، در واقع یک نسخه جهان شمولتر از سیستمهای P2P فعلی. در چنین شرایطی، به دلیل افزونگی اطلاعات، تگ گذاری دیگر جوابگو نیست و باید دنبال روشهای بهتر و سریعتری برای جستجوپذیر کردن دادهها بگردیم.
قسمت بعدی این یادداشت، به بررسی مسائل پیرامون امنیت و حریم خصوصی کاربران در سیستم عامل وبی اختصاص خواهد داشت.
ژانویه 23, 2008 روی 6:16 ب.ظ · طبقه بندی شده زیر Internet, Software, Technology, Web 2.0
برنامهنویسی وب روز به روز اهمیت بیشتری پیدا میکند. این روزها دیگر وقتی از برنامهنویسی وب صحبت میکنیم، منظور فقط درست کردن یک وبسایت نیست. امروز ما تولید کننده برنامههای تحت وب هستیم. به عنوان مثال من در یاهو، جیمیل و لایو اکانت دارم. میتوانم برای ارتباط نرمافزارهای مسنجر هر یک از این سه سرویس را جداگانه روی سیستم عامل دسکتاپم نصب کنم ولی راه بهتری هست: استفاده از سرویسهایی مثل meebo که به کمکشان خیلی راحت میشود به اکانتهای مختلف دسترسی پیدا کرد. نمونه خوب دیگر desktop two هست. با جادوی ایجکس و فلش در این سیستم عامل وبی میتوانید فایلهایتان را آپلود کنید، موسیقی گوش کنید، ایمیلهایتان را بخوانید، چت کنید، وبلاگ بنویسید یا فیدهایتان را مرور کنید و … به این نمونهها اضافه کنید ابزارهای آنلاین ویرایش و خلق تصاویر یا نرمافزارهای وبی آفیس برای ساخت سندهای مختلف متنی یا ارائهها و صفحه گستردهها.
نتیجه؟ روزی را خواهیم دید که سیستم عامل کامپیوترهای شخصی صرفا به یک واسط برای اتصال به شبکه تبدیل شده و همه سرویسها و احتیاجات کاربران از طریق سیستم عاملهای تحت وب تامین شوند. البته در این راه مشکلاتی هم وجود دارند. سرعت اتصال یکی از مهمترین آنهاست. مسلما تحقق چنین رویایی با dial up یا ADSL 128K امکانپذیر نیست، ضمن اینکه قطع احتمالی ارتباط میتواند باعث بروز مشکلات زیادی برای کاربران شود. مشکل بعدی که البته بیشتر یک چالش فنی است این است که اصولا قابلیت اعتماد و ظرفیت سرویسدهی سرورهای موجود چقدر است؟ اگر قرار باشد میلیونها نفر تمامی کارهای دیجیتالیشان را از طریق سیستم عاملهایی که تحت وب هستند انجام بدهند تا چه اندازه میتوان روی سرورها حساب باز کرد؟ خوشبختانه معماری موجود شبکه به گونهای است که میتوان از توان پردازشی میلیونها کامپیوتر برای انجام چنین کارهایی استفاده کرد. نکته مهم دیگر تضمین امنیت اطلاعات و حریم خصوصی کاربران است، حتی اگر بتوان روزی را متصور شد که مشکل ارتباط و نیز قابلیت اطمینان حل شده باشد، امنیت دادهها و نیز حریم خصوصی کاربران همچنان به عنوان یک مشکل بزرگ باقی میماند.
این بحث ادامه خواهد داشت.
جولای 2, 2007 روی 8:36 ق.ظ · طبقه بندی شده زیر Microsoft, Software, Technology
دنیای برنامهنویسی مایکروسافت با آمدن ویستا و معرفی دات نت فریم ورک 3 تغییر کرده است. یکی از فناوریهای جدید مرتبط با این دنیای جدید Silverlight است که چیزی در مایههای Adobe Flash هست.
نسخه 1.1 این فناوری CLR داتنت را هم به همراه دارد که باعث میشود که برنامهنویسان قادر باشند برنامههای Silverlight خودشان را به هر زبان داتنتی بنویسند.
Silverlight 1.1 برای ویندوز در نسخههای XP SP2 , Server 2003, Vista و همین طور برای MAC OS X 10.4 عرضه شده است و افزونههایی برای IE 6, IE 7 و Firefox 1.5, Firefox 2 و همینطور Safari 2.0 دارد.
به کمک Sliverlight میتوانید با صدا و گرافیک و ویدئو به خوبی کار کنید. برنامههای مختلفی تا به حال با Silverlight نوشته شده است. مثلا این بازی که با Silverlight و زبان سیشارپ نوشته شده است.
برای نوشتن برنامههای Silverlight میتوانید از Expression Blend یا نسخه بعدی ویژوال استودیو که بتا آن عرضه شده است استفاده کنید.
اگر اهل لینوکس هستید خبر خوب این است که توسعه دهندههای پروژه Mono (یک پروژه رایگان و اپن سورس معادل دات نت فریم ورک که به شما امکان نوشتن برنامههای دات نت روی لینوکس را میدهد) پروژه مشابه Silverlight برای لینوکس را شروع کردهاند که فعلا اسمش Moonlight است.
Silverlight 1.1 را از این آدرس میتوانید دریافت کنید.
به زودی سعی میکنم چند پست درباره برنامهنویسی با داتنت 3 بنویسم.
ژوئن 30, 2007 روی 7:44 ق.ظ · طبقه بندی شده زیر Misc, Technology
این روزها در هیاهوی عرضه iPhone یک خبر گم شد آن هم خبر شکسته شدن مجدد سرعت ابر رایانهها توسط محصول جدید IBM یعنی Blue Gene/P.
وقتی در 11 می 1997 کامپیوتر Deep Blue، توانست گری کاسپاروف قهرمان شطرنج جهان را شکست دهد سرعتش 11.38 گیگافلاپ بود. امروز بعد از گذشت ده سال جدیدترین ساخته IBM سرعت ثابتی برابر یک پیتافلاپ دارد!

گرچه کاسپاروف در سال 96 سه مسابقه را برده بود
ولی بالاخره در می 1997 بازی را به رقیب دیجیتالیاش واگذار کرد
یک ابر رایانه میتواند به کمک تعداد زیادی پردازشگر محاسبات بسیار بسیار زیادی را در زمان بسیار بسیار اندکی انجام دهد. به عنوان مثال سریعترین ابر رایانه فعلی دنیا یعنی Blue Gene/P میتواند در هر ثانیه هزار تریلیون محاسبه را به کمک 294 هزار پردازشگر انجام دهد که تقریبا 100 هزار بار قدرتمندتر از PC های ماست! البته ناامید نباشید چون اصلی هست که میگوید ابر رایانههای امروز کامپیوترهای معمولی فردا خواهند بود.
کاربردها و محدودیتها
شاید کنجکاو باشید بدانید که چنین توان پردازشی به درد چه نوع کاربردهایی میخورد. چون ابر رایانهها دستگاههای گرانی هستند (مثلا Blue Gene/P بیش از 93 میلیون دلار قیمت دارد)، دولتها و سازمانهای خاصی امکان خریداری و استفاده از چنین پدیدههایی را دارند و استفادههای آنها کاملا مشخص است. ابر رایانهها با توجه به توان بسیار بالای محاسباتیشان در فیزیک کوانتوم، پیشبینی وضع هوا، تحقیقات جوی (مثلا پدیده گرم شدن جهانی)، انواع شبیهسازیها (مثلا شبیهسازی انفجار سلاحهای اتمی) و موارد مشابه که حجم زیاد پردازش داده دارند استفاده میشود. البته ابر رایانههای ویژهای هم هستند که برای مقاصد خاصی طراحی میشوند مثل Deep Blue که برای شطرنج آماده شده بود یا Deep Crack که برای شکستن الگوریتم رمزنگاری DES ساخته شده بود.

تصویری از ابر رایانه کلمبیا در سازمان فضایی ناسا
با وجود قابلیتهای شگفت انگیز، ابر رایانهها محدودیتهایی هم دارند: گرمای زیادی تولید میکنند و خنک کردن آنها همیشه یک مشکل بوده است. اطلاعات را نمیتوان سریعتر از سرعت نور بین دو بخش ابر رایانه منتقل کرد و همچنین به دلیل اینکه ابر رایانهها با حجم زیادی از داده سر و کار دارند چک کردن درستی انتقال و ذخیره اطلاعات در آنها مساله پیچیدهای است.
برنامهنویسی و سیستم عامل ابر رایانهها
یک مورد جالب دیگر در ابر رایانههابحث برنامهنویسی و سیستم عامل آنهاست. جالب است بدانید برنامه شطرنج Deep Blue که توانست گری کاسپاروف را شکست دهد به زبان C نوشته شده بود. سیستم عامل ابر رایانهها به خصوص در سالهای اخیر لینوکس بوده است. نمودار زیر میزان استفاده از سیستم عاملهای مختلف را در 500 ابر رایانه اول دنیا تا سال 2005 نشان میدهد. همان طور که میبینید سهم ویندوز و مک تقریبا صفر است!

در مورد برنامهنویسی به دلیل معماری موازی در ابر رایانه و نیاز به تکنیکهای ویژه برای افزایش سرعت اجرای برنامه هنوز از فرترن (زبان برنامهنویسی علمی) بیشتر استفاده میشود چرا که بعضی کامپایلرهای فرترن میتوانند کدی سریعتر از کدهای C++, C تولید کنند.
جنبه دیگر تولید ابر رایانهها بحث رقابت یا بهتر بگویم کل کل تکنولوژیکی بین کشورهاست. مهمترین رقبای این بازار چند شرکت از امریکا و ژاپن هستند.سال 2004 آخرین باری که ژاپنیها اول بودند، ابر رایانه شبیهساز زمین (Earth Simulator) در یوکوهاما سرعتی برابر 35.86 ترافلاپ داشت.
توضیح: ابر رایانه را به جای Supercomputer به کار بردم از ترس اینکه به کار بردن بخش اولش موجب قیلطر شدن اینجا بشود!
پی نوشت: در ایران هم کارهایی در زمینه ابر رایانه شده است. مرکز تحقیقات پردازشهای فوق سریع در دانشگاه امیرکبیر کارهای تحقیقاتی در این زمینه انجام میدهد.