Wednesday, December 31, 2008

Goodbye 2008

 



The last morning of 2008 was bright and snowy at the same time. Took this snap as i stood at my apartment balcony witnessing this strange but beautiful irony; with the backdrop of memories from 2008. What a lovely end to yet another lovely year!

Goodbye 2008.

Hope tomorrow will bring even brighter sunshine for everyone.
Posted by Picasa

Saturday, December 27, 2008

Network your social networks

Ready for the next level of social networking?

FriendFeed is a way of announcing all your social activities to your friends from one place. It lets you create feeds for most of the popular social networks, blog sites and photo sharing sites and display your activities on all those sites in one page as your updates. Isn't that fun!?


Let's say you and your buddy are connected on facebook. You get an update on your page whenever connections in your network do an activity on facebook. With FriendFeed, you will get to know what your connection is doing on multiple websites and not just the social network that you are a member of. Chances that all your connections are on the same social network are very less considering the number of social networks and the different levels of social circles you may have. That's why it is important to network your social networks.

Some of the popular websites that friendfeed supports include

  • picasaweb
  • flickr
  • blogger
  • twitter
  • facebook
  • delicious
  • google reader
  • pandora radio
  • amazon
  • youtube
  • netflix
  • twitter
  • facebook
  • digg
  • last.fm
  • stumbleupon and
  • linked in.

Imagine your friends getting to know about all that you do on any of these websites without you doing anything at all! That is FriendFeed. FriendFeed is also available as an app for Orkut.

"Rooms" on FriendFeed are nothing but groups that you see in other networking websites.

So, if you have not tried it yet, start at FriendFeed. Its going to be a great add on to your social networking activities. Though not very popular now, FriendFeed is the next level of networking.

Let's get connected.

View my FriendFeed

Wednesday, December 24, 2008

Happy christmas

Jose uncle is the best microsoft paint artist i have ever known in person. This one is on him. His hand crafted xmas card. Happy christmas all!

Monday, December 22, 2008

TV++, making it work for you

Okay, so now since we decided on a HDTV (Don't agree? read my previous blog and perhaps you will), let us see what are the options to make TV viewing exclusive.

Once you have a DTH service hooked up, next best hardware you should look for is TiVo. TiVo is basically a DVR (Digital Video Recorder) that you can program to record your favorite programs while you are away. However, this is not the only reason why i vote for TiVo. Most DTH providers have DVRs built into their receiver units these days. What makes TiVo a better unit out of all that is its next level of features.

TiVo can be programmed online to schedule a recording. This means, you can go online from anywhere on to their web site or use their mobile app, login to your account and schedule recording for your home setup.

If you are someone who likes to watch online videos and movies, TiVo brings good news for you. It can directly connect to many of those online video stores - YouTube, hulu, netflix, amazon unbox, etc. - and you get to watch your favorite online show on the big TV screen. Hulu is my favorite online TV channel.

Now, you want to play DVDs or downloaded movies from your PC/Mac? Don't look for that HDMI, S-video or RGB cable, use TiVo's network services (you need the wireless network adapter for this) to connect to your PC and play tracks on TV.

If you haven't realized what all this means, you are actually making TV work for you. You don't need to rush for a program or cancel another appointment for a TV program again. Get them on your DVR and watch it at your convenience.

This, BTW is not a new invention from TiVo. This is what Microsoft wanted to do when they introduced the media center edition. The only thing they forgot was to move it out of a PC and have a specific hardware to do that. So, if you have an old PC that you think you can spare for media setup, you may try that as well. Looking for open source options, try media center options (MythTV) from Linux/Ubuntu. They work just as great as Windows media center.

Coming next, the sling box.

Sunday, December 21, 2008

TV++, the displays

Thinking about your next TV? Here are the options for you from ground zero.

TV viewing has advanced to much higher levels in recent years. Gone are the days of antennas and CRT(Cathode Ray Tube) TVs. Enter HD(High Definition) TV and possibilities. I am trying to jot down my understanding of all the new technologies available that makes TV viewing much more convenient.

HDs are high definition TVs which can produce better resolution than CRTs. This means, the same picture that you used to see with 720X480 pixels per screen on an NTSC broadcast can be viewed with 1080X720(720p) pixels. This means more colors, better contrast and more depth to your picture. Even better, 1080p displays can scale up to 1920X1080 pixels.

Then there is the difference between interlace and progressive technologies. Interlacing is the display technology behind CRTs. This method splits the pixel lines on your screen into 2 groups of alternate lines and draws only alternate lines with every screen refresh or screen draw. This causes the screen flicker on CRT TVs. Due to the alternate line refresh technique, the net resolution you get out of a CRT is only 85% (Kell factor) of the original screen resolution.

Progressive scans can give 95% net screen resolution as compared to 85% for CRTs. This is because progressive draws all the pixel lines on screen sequentially one by one. This obviously means higher signal bandwidth TV signal to display a screen; but at the benefit of flicker free screens. With our communication systems so good these days, channel providers are getting on to higher and higher bandwidth telecasts and today's broadcasts even include scheduling data along side your actual TV transmission.


In my next blog, i will jot down the latest on technologies that can make TV viewing so much personalized.

Saturday, December 20, 2008

Waking up to a cold snowy morning..

In Michigan, we had an unexpected blow of cold snow last week. Walking to my apartment the night before was one thing and getting out of it next morning is a different story! A question mark rather! For once, I was glad for not owning a house and a car.I don't need to worry about moving snow off my yard and car windows..




 

 

Saturday, December 13, 2008

RIA and Zkoss

Last week, i read an artcle on direct RIA frameworks like Zkoss. Zkoss was new for me. So, I did some googling around and here are my thoughts on RIA and the related.

Your MVC web application
In a typical MVC application, view and controller do operations for displaying a model (the view part) and handle actions (thats the controller) from views. Views are created by the server and pushed on to a client side browser as HTML.

Why AJAX?
Ajax is a way of making the client - server event based communication better. In Ajax world, a click of a button would fire an event which a client side javascript will send to the server side action class. Action does some processing based on the event and returns a response to the client side javascript. Client script knows how to deal with the response and responds by making the necessary changes in client HTML DOM.



The "BIG" difference is that with AJAX, your server communication has become "SMALL". You don't need to submit the entire client DOM to server side. Send only, what is required for that processing and change only that much on the HTML being displayed in browser. This is a big leap in user experience since user only sees some changes in his HTML file compared to the whole page reload for every action/event. With this as the backbone framework, we can now have richer web GUI controls that deals with small portions of your screen and smaller/quicker request/response to update itself.

All good. Why RIA now?
Before we start talking about RIA and Ajax together, we need to first understand them as two different approaches for solving two big web application problems:- browser/client - server communication and user experience.

Rich Internet Application frameworks have a different take on your typical MVC web application modeling. Fact is, they don't enforce on MVC at all. RIA frameworks can combine coding for view and its event handling mechanism into one physical file, like in MVC1 style. The idea is to combine server side actions (your struts actions or JPF controller) and views (in JSP, HTML, etc.) into one unit and let it access business layer or data layer directly.

Zkoss also lets you define server side event handler files as separate entities. But that definitely is not the intention with which RIAs are being developed.

The best part of RIA frameworks is that client-server communication is invisible to developer and hence the term direct AJAX. This gets rid of all the routine code for AJAX that developer needs to write.



How Zkoss does it!
Zkoss does this in 'zul' files. You need to setup a servlet listener that knows how to deal with 'zul'. As part of your setup, all you need to do is copy zkoss jars to your lib directory and modify your web.xml for Zkoss servlets.

Once this much is done, you can write zsrcipts in zul files. They currently support multiple languages including java and ruby. When you run the app on an app server, these files gets compiled into its client server versions like skeltons and stubs. Just like JSPs, zuls gets compiled into servlets.

A java zscript pretty much will look like JSP scriplets; with the difference that this time zscript is more component oriented and all process related. It is like Swing for Java. This is different in that scriplets are normally used to deal with request variables, or write some dynamic HTML.

ZKoss is not the only RIA out there. GWT from google, FLEX, Silverlight from Microsoft, etc. They all implement and stand for the same solution space.

Having said all the good things, there is one point about direct AJAX that we better be aware of before we adopt them. Since developers don't handle the real HTML and what goes between client and server, debugging in related scenarios can be very painful. However, i believe, once proven to be efficient, RIA frameworks can deliver much better user friendly applications in shorter development period.

I also believe RIA based web applications will be the winner in long term race. This, in view of all the new product trends like FLEX and Silverlight and how the market is so keen on them. Lets accept it! Tomorrow's developer demand won't be for network layer experts; but for product specialists who can quickly convert a business problem to a programed solution. The less routine and house keeping code, the more productive you are. That's when RIA frameworks can help you win.

Friday, December 12, 2008

Thunderbird for google

Thunderbird is probably the best open source mail client out there and gmail the best free mail service provider. Why not put them together for the best of both worlds!?

Thunderbird will let you configure mail, addressbook and calendar with its gmail add-on plug-ins.

  • To begin with, download Thunderbird

  • Add gmail account using File->New->Account wizard.

  • Thats all you need to do to send and receive mails through gmail.

  • For calendar, download Lightning to your hard disk

  • Install lightning from Tools->Add-ons->Install menu on thunderbird.

  • Restart thunderbird

  • Goto calendar view, and in calendar properties, set the XML URL for your private google calendar. This is available on the calendar settings page of your online google calendar.

  • Lightning should start showing your calendar events from google now.

  • Do not forget to uncheck the default "Home" calendar from Thunderbird calendar view so that your events get added to google calendar always.

  • Now, let us setup an add-on to get your google address book to Thunderbird.

  • Download Zindus from here to your hard disk

  • Install it to Thunderbird from Tools->Add-ons->Install

  • Restart Thunderbird

  • Use the Zindus configuration window from Tools->Zindus on your Thunderbird to add google account credentials.

  • Click "Sync Now"




You are all set to use Thunderbird for google now.