سه‌شنبه، فروردین ۱۰، ۱۳۸۹

بهترین و بدترین خرید های سال 88

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

بدترین خرید سال: Sony Reader PRS-600
یکی از آرزوهای من داشتن یک کتاب خوان الکترونیکی بود که بتوانم بدون نیاز به لپتاپ کتاب ها با فرمت PDF رو بخونم. iPod Touch صفحه کوچکی داره و خواندن را مشکل می کنه، به همین دلیل تصمیم گرفتم که به یکی از دوستان که برای تعطیلات از کانادا به ایران می آمد بگویم که برام یک ریدر بخرد. بین آمازون کیندل و سونی ریدر شک داشتم. مدل جدید سونی در تئوری دستگاه بسیار بهتری بود. پشتیبانی مستقیم از PDF، امکان صفحه لمسی، ظاهر زیبا، پروسسور قوی تر و DRM Free بودن. تنها نکته منفی که در مورد این دستگاه دیده بودم این بود که بعضی از کاربران از یک انعکاس نور جزیی شکایت داشتند. سونی در ریدر جدید خود یک لایه لمسی روی صفحه E-Ink قرار داده است که باعث انعکاس نور می شود. خلاصه ریدر من رسید و با وجود تمام وِیژگی های بالا اصلا محصول دلچسبی از کار در نیومد:
  1. تکنولوژی E-Ink سرعت refresh بسیار پایینی دارد و در نتیجه موقع ورق زدن یا هایلایت کردن خطوط بسیار کند عمل می کند.
  2. لایه Touch Screen از نوع فشاری است و نه حرارتی مثل آیفون و برای من که با محصول اپل کار کرده بودم خیلی مسخره به نظر می آمد.
  3. انعکاس نور صفحه واقعا آزار دهنده بود! واقعا دلیل گذاشتن چنین لایه ای که خواندن را مشکل می کند و اصلا جایگزین مناسبی برای دکمه ها نیست را درک نمی کنم.
  4. تکنولوژی E-Ink در محیط های روشن خوب جواب می دهد ولی در محیط های کم نور تر قابل خواندن نیست. چراغ های تعبیه شده در دستگاه هم نور یکنواختی تولید نمی کنند و خیلی جالب نیستند.
475 هزار تومان برای این وسیله خیلی زیاد بود و متاسفانه اصلا قابل استفاده هم نیست. برای کسانی که می خواهند یک ریدر بخرند شدیدا آیپد را توصیه می کنم. خواندن کتاب روی آیپاد تاچ هم خیلی دلپذیر تر از این وسیله است و حس می کنم صفحه بزرگ آیپد برای خواندن کتاب ایده آل باشد (و فقط برای خواند کتاب).

هدست بلوتوث فیلیپس SHB6110:
بعد از چندمین هدستی که سیمش به پام گیر کرد و به رحمت ایزدی پیوست تصمیم گرفتم این دفعه یک هدست وایرلس بگیرم. و چون می خواستم اون رو با لپتاپم استفاده کنم تصمیم گرفتم دنبال یک مدل بلوتوث بگردم. مدل های infrared یک کانکتور بزرگ دارند که برای PC یا تلویزیون مناسب هستند. بعد از مدتی گشتن در سایت های اینترنتی و بررسی بازار ایران تنها مدل قابل قبول SHB6110 بود با قیمت بالا تر از 100 هزار تومان. این هم توضیح مشخصات دستگاه در سایت فیلیپس:
Enjoy wireless stereo music and switch seamlessly to calls. Experience rich, lively sound with the integrated FullSound digital sound enhancement. Adjustable OptiFit design ensures a personalized comfort fit.
یا گوش های من به هدست های خوب عادت دارن یا اینکه کیفیت این هدست واقعا خیلی پایینتر از حد انتظار بود. کلا تکنولوژی وایرلس برای هدفون ها خیلی جدیده و فکر نکنم فعلا بشه چیزی بهتر از این پیدا کرد. برای تماس تلفنی و گوش کردن همینجوری موزیک گزینه بدی نیست اگه پول زیادی دارید! در ضمن ظاهر هدست خیلی قشنگه!

iPod Shuffle
یک آیپاد شافل جدید هم خریدم! با وجود زیبایی و کوچکی وسیله رو اعصابیه. نداشتن صفحه نمایش شما رو مجبور می کنه برای پیدا کردن آلبوم بعدی همش دکمه بعدی رو بزنین و دکمه بعدی یعنی دوبار فشار دادن دکمه روی سیم گوشی! بهترین استفاده این دستگاه اینه که یک سری آهنگ Trance روش بریزم و برم بدوم و نیازی به رفتن به بعدی و قبلی هم نداشته باشم! فعلا که حس دویدن نیست تا هوا حسابی گرم بشه. در ضمن اگر می خوان به دوست دخترتون هدیه در حد 80 تومان بدین، رنگ صورتیش انتخاب خیلی خوبیه!


خوب امسال خیلی خرید های جالبی نداشتم! راستش برنامه داشتم یک TV LCD و یک صندلی خیلی راحت مثل چیزی که چندلر و جویی توی فرندز داشتن بخرم و یک گربه! چیزایی که سال آینده اگه تو ایران موندگار شدم می خرم! اما حال بریم سراغ بهترین خرید های امسال:


Creative EP-570
با وجود قیمت ارزان (22 هزارتومان) این هد فون ها کیفیت فوق العاده خوبی دارند و خیلی سبک و راحت هستند. نه مانند هدفون های بزرگ تمام گوش را می پوشانند که باعث خستگی و داغ شدن گوش ها شوند و نه مثل هدست های in-ear که استفاده ازشون برای مدت طولانی اذیت کننده است.


بهترین خرید سال: PS3
دراصل این وسیله رو برای برادرهام خریدم و تعطیلات نوروزی. من خودم خیلی اهل بازی نیستم. ولی این جور که به نظر میاد خرید یک PS3 از کارت گرافیک خوب و حافظه برای بروزرسانی PC برای بازی های جدید ارزان تر از کار در میاد. و یک جور حال وهوای دیگه داره بازی PES توش. دسته های وایرلسش هم جالن و فکر می کنم 2 3 سالی بشه باهاش بازی کرد (بازی های جدید براش عرضه بشن بدون نیاز به بروزرسانی). بزرگترین مشکلش بازیهای گرون قیمتشه ولی در کل فکر می کنم خرید بسیار خوبی بود.

فکر می کنم بهترین ایده برای خرید چیزهای جدید اینه که اول یک بار با وسیله کار کنیم. (مثلا اگر یکی از دوستان قبلا از این وسیله ها خریده ازش بگیریم و تست کنیم) به تبلیغات و review های خیلی نمی شه اعتماد کرد! من که دیگه اعتماد نخواهم کرد. چیزی که یک انعکاس جزیی در مورد ریدر نامیده شده بود برای من یک فاجعه بود مگه چیزی مثل PS3 که ازش مطمئن باشید. به هر حال امیدوارم خرید های امسال بهتر باشند!

چهارشنبه، فروردین ۰۴، ۱۳۸۹

و اندر احوالات نرم افزار آزاد

امروز داشتم قسمت چهارم از فصل دوم پادکست Tuxradar را گوش می کردم. یکی از بهترین قسمت های این پادکست. در قسمت نظر خواهی این سوال مطرح شده بود که آیا حاضر هستید Free Software Foundation را به عنوان روابط عمومی لینوکس استخدام کنید؟ یا به عبارت دیگر آیا به نظر شما FSF نماینده مناسبی برای لینوکس است؟

جواب کاربران بسیار جالب بود و همچنین بحثی که بعد از آن اعضای تیم پادکست مطرح کردند. با اینکه لهجه بریتانیایی غلیظی داشتن تمام سعی ام را کردم که جمله ها را کامل اینجا بیاورم. اگر چیزی از تو افتاده کامنت بگذارید.
The Free Software Foundation is speaking about the closed nature of the iPod and fair enough, there are issues to be raised there but a lot of the time in their materials its like a real rant. the windows seven sins document. Yeah Windows 7 Sins! It poisons education. It's such loaded terms.
The best way you gonna convert people, if the Free Software Foundation could say O.K. look the iPad locked down and is DRM but look! There is an alternative. There is another tablet. But just telling people something's bad and not giving them another option and bad in that kind of language as well.
And what's the little laptop that Stallman uses? It is quite underpowerd nasty thing that isn't actually that good. He uses it because it totally free across the board. All free firmware and .. and if we all wanted to follow his example we'd all have crappy little laptops, netbook things using foreign chips and I don't wanna be there quite frankly. I'm comfortable quite where I am right now.
و این هم کامنت یکی از خوانندگان در سایت Tuxradar که کاملا باهاش موافقم:
In my opinion, the Free Software Foundation wouldn't make a good Linux PR department because they concentrate far too much on the philosophy behind Free Software. This is no bad thing in itsself, but isn't appropriate for modern-day OSS. I think companies like Novell and Canonical are best suited to this role.

Agile Rituals

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

Agile یکی از متدلوژی های تولید نرم افزار است که دوره های کوتاه مدت و با تعداد زیاد را برای تولید نرم افزار توصیه می کند. همانطور که از اسم آن نیز مشخص است، این متدلوژی می کوشد در حقیقت تیم های چابک بسازد و از بسیاری از کارهای اضافه سایر متدلوژی ها مثل RUP بکاهد. Agile Manifesto در سال 2001 توسط نمایندگان گروه های مختلف مثل Scrum، XP و غیره نوشته شد. نگاهی به اسم کسانی که این مانیفست را نوشته اند بیندازید. Martin Fowler، Kent Beck، Andy Hunt, Dave Thomas ، Robert Martin از جمله بزرگترین افراد دنیای نرم افزار هستند که از خواندن مطالبشان لذت می برم. اینجا بحث من خود متدلوژی نیست بلکه نحوه پیاده شدن آن در محیطی است که قابلیت پذیرش آن را ندارد و بیشتر به یک جوک شبیه می شود.
4 ماه نخست همکاری من با شرکت در تیمی بود که پرچم دار Agile بود. در واقع یک ظاهر پوشالی برای تیمی که در یک سال هیچ خروجی نداشت. بهترین اسمی که می توانم برای کارهای مسخره آن موقع بگذارم Agile Rituals است.
این کارها عبارت بودند از:
  • Standup Meeting: یکی از اجزای Scrum که توصیه می کند اعضای تیم در آغاز روز کاری دور هم جمع شوند و به طور خلاصه بگویند که امروز چه کاری می کنند تا با هم هماهنگ شوند. در مورد تیم ما این به یکی از مسخره ترین عادت ها تبدیل شده بود. در اوایل که 8 نفر بودیم کمی اوضاع بهتر بود. هر یک از اعضا یک دقیقه حرف می زد و معمولا کس دیگری نمی فهمید که چه می گوید و خیلی سریع سر و ته این قضیه تمام می شد. در زمان اوج درگیری 15 نفر بودیم و هر کسی 2 تا 3 دقیقه صحبت می کرد و هر روز حداقل نیم ساعت سر پا می ایستادیم. علاوه بر خستگی سر پا ایستادن با اصل Standup Meeting هم مشکل دارم. من متخصص Agile نیستم ولی حس می کنم این قضیه برای تیمی مفید است که اعضایش چند کاره باشند و تکنولوژی و مفاهیمی که سایر اعضا در موردش بحث می کنند را بدانند. در تیم ما که نیمی از اعضا مثل من یک سال سابقه کار دارند و بقیه هیچی و هرکسی روی یک تکنولوژی مجزا کار می کند، Standup Meeting چه معنی دارد: گوش کردن به حرف هایی که نمی فهمیم و صحبت کردن از چیزی که کسی نمی فهمد. به هر حال نظر مدیر پروژه احمق بر این بود که Ritual بدون کم و کاست باید ادامه یابد.

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

  • Sitdown Meeting: بعد از مدتی مدیر پروژه که از نظر خود Agile Master محسوب می شد تصمیم گرفت بعد از ظهر ها پس از پایان ساعت کاری یک جلسه داشته باشیم و بگوییم که در طول روز چه کاری انجام دادیم. به هر حال با استراتژی کلی شرکت که آفتابه لگن هفت دست، شام و ناهار هیچی، مطابقت داشت! تقریبا اکثر زمان را در جلسات می گذراندیم.

  • World Class Product: و از همه دردناک تر این کلمه بود. روزی که وارد شرکت شدم یک جلسه داشتیم که در آن اعلام شد که ما می خواهیم یک محصول جهانی داشته باشیم! من پرسیدم چیزی در حد اکلیپس؟ و مدیر پروژه جواب داد بله!
    متاسفانه محصول جهانی یک Code Generator تخمی بود که اسمش هم SPL گذاشته بودن و هر روز می زدن تو سر ما که برای ساخت چنین محصولی باید Sitdown و Standup داشته باشیم وگر نه به جایی نمی رسیم. آنقدر ابعاد پروژه تخیلی بود و از همه بدتر ذهن بیمار Agile Master توهم بافته بود که جای هیچ گونه اعتراضی نبود. یک چیزی مثل لباس جدید پادشاه...
و خوب از Unit Testing، Code Review و سایر فعالیت های مفید و اساسی Agile خبری نبود چون اصولا کسی بلد نبود! پروژه خیلی زود تر از انتظار من از هم پاشید. مدیر پروژه یک ماه بعد از جدا شدن من از تیم دوام نیاورد و سپس از شرکت رفت.
آیا واقعا می توان با چند تا فارغ التحصیل دانشگاهی و Agile Practice توسط کسی که خودش فقط دو سال بیشتر از شما تجربه (آن هم مدیریتی و نه برنامه نویسی) دارد محصول جهانی ساخت؟ به نظر من کسانی که حس می کنند با Agile می توانند جای تحلیل، طراحی، برنامه نویس، ساپورت مالی، تست و سایر مولفه های ساخت نرم افزار را بگیرند برای همیشه محکوم به شکست هستند!

Start learning Java EE

Some times ago, a reader of this blog asked me to introduce him to some good resources to start learning Java EE. Unfortunately I didn't have time to do it back then. My apologies...
Objective: Learning Java EE
Prerequisites:
  1. Java: seriously! Knowing Java is absolutely essential. I know some developers (non-developers) that think since they do web centric tasks, they don't need to know Java. This argument is totally false. In JEE you don't drag and drop components, quite the contrary, often you need to make your hands dirty and do some coding.
  2. Relational Databases: You need to know about tables and queries.
  3. Web concepts: You need to know about request and response and how HTTP works. Again I recommend reading Joel's post about leaky abstractions. Head First Servlets & JSP is a good resource to start. See the books section ;)
How to start:
  • Java EE is huge. So you can't and won't learn all of it at once. My suggestion is to go for the web profile of Java EE 6. There are two reasons for that. First the web technologies are more interesting and second they are easier to learn.
  • My favorite web framework is JSF. I suggest that you learn about Servlets and JSPs and then go for JSF. Don't waste your time with Struts. I believe JEE 6 standard is really awesome, so you don't need 3rd party technologies.
  • You can't make enterprise application without databases. Learn basics of JDBC and then go for Hibernate. I strongly suggest Hibernate through JPA.
Next steps:
  • After you learned these technologies and made some simple web applications, learn more about patterns and use a Dependency Injection framework.
  • You can use Spring or Seam. Though I recommend using Seam.
Books:
  • Head First Servlets and JSP
  • Core JSF (II) by Cay Horstmann
  • Java Persistent with Hibernamte by Christian Bauer and Gavin King
  • Head First Design Patterns
  • Seam in Action by Dan Allen
Blogs and Websites:
  • I strongly recommend you not to start learning these technologies from blogs. Some tutorials are fine but you need books. The other problem of blog posts are that they mostly reflect the personal idea of the author and are not objective and reliable.
  • The only blogs I recommend is Javalobby and inRelationTo (To be up to date). Go and register to their RSS feeds.
Tools:
  • Eclipse Webtools 3.5.2
  • or Netbeans 6.8
  • Apache Tomcat or Glassfish as web server
  • Mysql as DBMS
Good luck in learning Java EE!

سه‌شنبه، فروردین ۰۳، ۱۳۸۹

اولین پست 89

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

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

پنجشنبه، اسفند ۲۰، ۱۳۸۸

Google Reader's best trick

1) Press g and then a
2) Press Shift + a

Now you are free! Go and watch the next episode of The Office.

پنجشنبه، اسفند ۱۳، ۱۳۸۸

Ubuntu's new clothes

After 6 years, finally the Ubuntu team is going to give the beloved Linux distribution a decent look! You can read the whole article here: A Fresh Look For Ubuntu
I think this is a positive movement. The old brown theme was like shit!
This is the new theme named light:

Isn't it very similar to Mac OS X? the colors, the wireless and Bluetooth icons, close/maximize/minimize icons' location and specially the wallpaper!
Here is a OS X desktop picture for comparison:
Apple is a pathetic dictatorship. Recently I feel hatred towards Apple, but you know they are original! Ubuntu and Linux guys, please be original!