Friday, December 17, 2010

Proud owner of Panasonic Lumix GH2

I pre ordered Panasonic GH2 + 14-45mm lens. It is second generation micro four third camera (mirror less EVIL (electronic viewfinder interchangeable lens camera) heritage from Pana. Did lot of research and talk to so many hours understanding m4/3 (thanks to Santosh GR) for his patience in explaining technicalities of m4/3. To my surprise, it got delivered yesterday (Dec 16th) which I did not expect. It is my first encounter with interchangeable lens camera. Overall I am really happy with the package and going to explore more soon.

Tuesday, November 23, 2010

What is meant iOS 4.2 for Webdeveloper?
1) iOS 4 html5test score was 186 and iOS 4.2 now clocks 196
2) Introduction of Websocket

a. Single most compelling API from html5 spec
b. Going to disrupt not only web push based applications like live chat/im/twitter/facebook/web mail but applications
can utilize low bandwidth bidirectional nature of application


3) What is missing?


a. Device notification API:
Web app should be able to notify even if user comes out of the browser and doing something else
b. Webm
Apple is paying royalties for H.264 but nothing stopping them utilizing webm for video and audio at least for
egalitarian purpose (can we expect?)
c. File access (at least photos and video taken by iDevices) as other native app does
d. Unlock the contract completed devices

Sunday, November 21, 2010

Impact of Cloud and Personal devices

A week or two back I was going through Ray Ozzie’s “Dawn of a new day”. There is one thing that sounds clear to me after reading the memo is “Google’s Chrome OS + Android and Apple’s iOS” popping into my mind. In general “Chrome OS” kind of philosophy I was able to understand.


Web, now, after seeing IE9’s race, is going to be the platform, it may not have all the bells and whistles of Native Apps but that’s going to be there soon through Html5/CSS3/JS with developer creativity. It is long story and warrant a new post.


There are atleast two companies are affected by this computational and thought shift are Microsoft and Intel. The shift started almost decade back but when these people realized it might be almost impossible to turn around. But I am sure Intel, couple of years back, realized this and is started fighting marathon race.


Personal devices, which is what Intel fighting to enter, needs to be connected. In fact, even iPod is going to pull songs from Cloud. So these devices are confluence of personal + cloud based services which is source of information/data repositories.


Thursday, September 16, 2010

Future of Apple Mac will be powered by ARM chip in 2012.

Apple's phenomenal success with iPhone later iPad and complete focus on iOS and putting OSX into back-burner, acquiring two of ARM startups/companies are some of the symptoms Apple is showing that it is planning planting ARM based processor into OSX hardware.
The real highlight is Apple TV, it is moved away from Intel to Arm based A4 chip. Recent release of ARM A15 (Eagle) Multicore chip is real highlight. Couple of working NVidia Tegra mulit-core chip (though it is not A15 based) tablet tells that ARM 15 is right choice for Apple's Mac portfolio. The good thing is ARM A15 is multi core which can be scaled from single to many. Apple was not afraid of moving from IBM PowerPC to Intel, same thing would happen once again from Intel to ARM A15 chip. My guess is 2012 Mac line would be refreshed with ARM based Apple's own chip.

In between, Apple may try AMD with its fusion chip.

Sunday, September 12, 2010

EC2 local-ip vs public-ip

In EC2 there are 2 ips and 2 hosts ---
running ec2metadata
displays instance descriptions and 4 items (Actually 2, is very important to setup inter cluster

1) local-ipv4: <<>>
2) public-ipv4: <<>>

Other 2 are 3) local-hostname: <<>> 4) public-hostname: <<>>

local-ipv4 is the one used to other Ec2 instance.

Thursday, September 09, 2010

ARM vs Intel vs AMD

Yesterday ARM unveiled Coretex A15 (aka Eagle) design press news is here . This news sounds really good to me. ARM is inserting itself into x86 server territory (already Google is looking for low cost low powered processer technology esp ARM into its Data center and Facebook also interested in this direction).

So what really a problem with x86?, initially google mastered and proved we don't need Xeon level processor for running its software, its tested and proved commodity hardware based approach is good to run great business with enough redundancy and innovative architecture. So for every data center, one of the biggest problem is power consumption this is where ARM is great at it.

So when Google and Facebook moved to ARM and ARM is a great king at Mobile and intel would have stiff competition from ARM which should have been from AMD.

There are other issues like software compatibility but looking at the datacenter and Linux domination, it is not tough for Linux/Unix guys moving to ARM and Windows would eventually going to support ARM.

Intel is not sitting idle either and looking at Sandy Bridge and it is ability to master its process technology (32 nm to 22 nm plan) so ultimately it is a good news for customer.

Tuesday, July 06, 2010

CSS Layout design

I have been exploring best way to bring customizable CSS layout design that would fit wider variety of audience. CSS with countable properties is kind of huge thing for me. It carries so much important aspects ie layout and aesthetics (themes) of front end and also we can play with it with the change in line of code. As always, making it simple is tough.

1) How do I design a layout templates so that it caters wider variety of audience
2) How do I change certain curvatures like rounded corner
3) Fluid vs Fixed layout and option to have both
4) How about doing it with Javascript like jLayout or JQuery Masonry

JQuery is doing fairly great job of DOM scripting and UI is not so fair as it touches here and there and providing something not very much useful to enable templates but doing nice job of theming.
Blueprint has been one of my favorite CSS framework for sometimes but 960.gs is also similar but doing similar task of blueprint. Almost these two guys hates fluid based layout with good reasons.
I really agree that CSS is territory of designers but having that abstracted out would really makes life simple. I wanted to do templating based on CSS and html alone.

I am going to use 960.gs for fixed width and fuild grid based on 960.gs for liquid design. Using little server side program and dynamic configuration, trying to bring custom design (Layout and theming)

Tuesday, June 29, 2010

iPhone 4 Facetime issue

iPhone 4 Facetime disappears when it is restored from old iPhone using iTunes. I looked at the Google which point me to a blog where it asked me to enable under Settings->Phone. But unfortunately I did not get Facetime under Setting->Phone. So how do I resolve?
I called up 611 and couple of minutes warring with customer care i was able to talk to Apple rep who is not that much useful to resolve, he asked me to call 1-888-Facetime to resolve :) it was totally useless minutes with rep.

So I thought of resetting all the settings under Settings -> General -> Reset -> Reset All Settings.

After that iPhone started rebooting and viola.. Facetime worked.....

Saturday, June 19, 2010

Wesocket and where it stands now

Wesocket protocol was updated to version 76 and Google chrome 6 already implemented it. So the list of browsers which support websocket are

  1. Google Chrome 5 and 6 with v76
  2. Safari 5
  3. Firefox --- well finally the websocket bug got closed as fixed. It is created in Jan 2009 and almost 17 months after its got closed.
But having Firefox now makes the total market share for websocket is more than 40%.

Monday, June 07, 2010

SNI, TLS, UCC or SAN and https

I am mixing too many keywords in secure communication using https (TLS v2) per se. SSL is deprecated and TLS is going to overtake. Since https secure connection happen below https layer, so host information would not be passed to server while establishing connection and hence multiple host on single IP is practically not possible until TLS v2 which adds SNI. Single IP, Single Server, Single host and Single certificate is not the way to go for my requirement. Had been spending so many hours to figuring out …. Better 1) Understanding how it works 2) Planning how to deal with short comings 3) Choosing one over the other.
Wildcard Certificate –
*.somedomain.com would not be possible for Virtual hosting with vendor domain (naked domain) kind of scenario and may be useful to have it with more neutral domains. It is not possible to serve different domains with wildcard.

UCC or SAN --- Unified communication certificates Or subject alternative names
It can be used if the all domains owned by single entity or person --- hmm… practically not possible. Usually certificate will embed multiple domains in single cert in alternative name filed.

SNI – server name indication ---
web server can have multiple certificates --- well key/cert files would be different for different domains. So it is webserver which understands which request for which domain and send appropriate certificate. Nginx with openssl .98+ supports this but need to tell it so.
Other issues with SNI,
Restart needed for each new VHOST configuration
Operating System (OS) limitation:
1) Windows XP
a. IE 7 or 8 will not work
b. Google chrome will not work
c. Firefox actually works -- nice job Firefox (as it uses its own networking layer)
d. Safari will not work.

2) Vista
a. IE 7 +
b. Chrome
c. Safari
Due to built in TLS layer in Win XP browser which used them will not work but Firefox which uses iNSS API would be able to work on SNI Virtaul hosts.

Wednesday, May 12, 2010

Google NaCl and Possible SDK for Chrome OS?

Today Google introduced Nacl SDK, Google's native client is baked into SDK. I think its going to serve as SDK for Chrome OS. In the surface it may sounds like another Flash or Silverlight like thingy but how can otherwise Google can empower Chrome OS? Important point is, it can run any languages -- it may be python, Lua or Google Go(There should be integration point - Ports). I am looking for Nacl SDK for Android and how it can be useful for web development. One point in future Native client app can be bundled with Google Chrome and can be run on any platform which eliminates the need for crapy browser dependency, so write html + CSS +JS and heavy lift using NaCl and bundle it with ChromeOS --- so cloud ready app is just click away.

Thursday, April 01, 2010

Riak, thoughts on Erlang based client

I compiled Riak and started it, couple of times I tried with documented hello world like example but this time I wanted to separate Riak DB server from Erlang client. Riak is notoriously bad for omitting how to guides -- this also helps early adapter to delve deeply to understand and hence good for devs at the end. I really need to thank Joe Armstrong for pointing to Riak as it is not visible few months back.

1. Riak's default cookie name is "riak" and it can be verified by "ps -ef | grep riak" or rel/etc/vm.args file has cookie properties, here it can be changed to match Erlang client
2. I copied few files from cp <>/riak/apps/riak or luke/ebin to my working directory to check dependent module to work with and found

    1. luke.beam
    2. luke_flow.beam
    3. luke_flow_sup.beam
    4. riak.beam
    5. riak_client.beam
    6. riak_core_util.beam
    7. riak_kv_map_phase.beam
    8. riak_kv_mapred_query.beam
    9. riak_kv_util.beam
    10. riak_object.beam
    11. vclock.beam
                        are necessary to talk to Riak using Erlang application
                        3. Once grap hold of those files and node at which Riak server is running with cookie which Riak uses -- Erlang can talk to Riak period.
                        4. Now the steps detailed in the README (Riak's) is working fine for me. Assuming you are the directory where the above 5 files are available (or include that dir in erl path (-pa))
                        I just copied sample code from README file below and io output is omitted for brevity.
                        prompt> erl -name riaktest@127.0.0.1 -setcookie riak
                        (riaktest@127.0.0.1)1> RiakNode = 'riak@127.0.0.1'.
                        (riaktest@127.0.0.1)1> net_adm:ping(RiakNode).
                        (riaktest@127.0.0.1)1> {ok, C} = riak:client_connect(RiakNode).
                        (riaktest@127.0.0.1)1> O0 = riak_object:new(<<"groceries">>, <<"mine">>, ["bread"]).
                        (riaktest@127.0.0.1)1> C:put(O0, 1).
                        (riaktest@127.0.0.1)1> {ok, O1} = C:get(<<"groceries">>, <<"mine">>, 1).
                        (riaktest@127.0.0.1)1> V = riak_object:get_value(O1).
                        (riaktest@127.0.0.1)1> O2 = riak_object:update_value(O1, ["milk" | V]).
                        (riaktest@127.0.0.1)1> C:put(O2, 1).

                        I am not sure only these files are enough, but probably not! there are modules for certain kind of map reduce available in Riak, so if you plan to use those builtins you may need to copy them as well.

                        Riak a super scale datastore

                        I started looking into Riak lately to see how it can fit into my application which is currently using CouchDb. I really like CouchDb for
                        1. Map Reduce view -- just throw some mr function you will find out the document which it preserved
                        2. Web UI (the futon) it alleviate lot of Admin pages along with lately added security is good enough to manage it
                        3. Hot data backup, it is an excellent feature and makes like easier

                        Cons:
                        1. Mindset of treating CouchDb as all in all self contained product and hence lacks native interface, (there are APIs but it is based on http -- even http world is moving to websocket due to its inherent limitation for certain usecases, having Database served by http to another middleware is costly and environmentally hazardous like gas guzzling trucks
                        2. lack of native search (full text) but there is a lucene based one but already couchdb is dependent on JS, Erlang, ICU and having Java into the fold is kind of nightmare to the mix but it works and also gives head ache when replicating and spinning multiple nodes
                        3. It is not truly distributed but it is kind of storage engine which can be equated to better dets storage engine or innostore but there is nothing similar in couch architecture to be comparable with Cassandra or Riak.


                        Wednesday, March 17, 2010

                        Thank you Google Chrome, IE9 is your gift to us....

                        IE9 with its preview release inching forward and compliance with standards like CSS 3.0, HTML5, new javascript engine. Microsoft realized that they can't stop web momentum by not improving the browser but making it better would definitely going to help them in long run. They jumped into the bandwagon of fast JS engine and more HTML5 feature including video/audio support is surely welcome factor for web. This is absolutely due to Google chrome and it is the finest example of turning badie into good one and how one's true potential make others to follow. Thanks Google. I hope same thing going to happen in internet pipeline too once Google rolls out 1Gbps fiber optic internet service.

                        Saturday, March 13, 2010

                        How eventual transparency triumphs

                        I, earlier, blogged about how technology going to bring transparency and I termed it as "Eventual Transparency". If you come from India, last week's news (March 2010) about one fraud Godsman would have been torned you apart. Though it is unforgivably bad... this kind of behavior never accepted in any society including open culture society. These guys fly high into "super stardom" by marketing gimmick (luring people and making people believe that they are capable of things which God only can do and hence people things that they are Godsmen), once they climb into high and they storm into human mind. Once people accepts this guys, they would gain "root" access (mind would start trusting them as God, please read more about root here) into believer's brain and brain as rooted system is taught to be trusted them. So once mind is defected, it goes into myopic view... this is where so called "Godsman" peaks and influence people to their advantages and collect as much money as possible and force people to do anything he wants and those defected people would think it is correct even if the
                        Godsmen do wrong. Ok it is better topic for phycologist than me, and this event has links to "Eventual transparency".

                        Eventual transparency
                        This is where Gadgets and devices equipped with "Camera" and voice recording would storm into and expose the truth. And events like this will open up myopic eyes of people and bring them back to reality. But what about effected users? It is definitely hard for them and events like this would at least stop new people tranced (hypnotized) by this kind of people.

                        Fun part...
                        Few days back, the same Godsman appeared on the video and stating that "the video is not true blah blah" and acting as if he is innocent as usual and unfortunately "Oscar" board didn't see the video otherwise he would have got immediately oscar for "best actor" category...

                        Friday, March 12, 2010

                        How GREEN my app is?

                        Green means spending less energy or doing more with less. If we apply this principle to software then following factors would affect the green thing. I am picking Web application development as an example
                        1. How many Developer/Tester/Manager etc etc needed to bring the application to completion -- it is one time cost
                        2. Maintenance --- recurring
                        3. Hardware requirement -- given the app deployed on the hardware, how many users it can serve? This is very important factor as some of the very famous language is really bad at serving more concurrent users and hence need more hardware to support peak numbers and fight between Amdahl's and Moore's law :)
                        4. Power consumption is very related to item 3 above
                        5. Architecture -- among others, choosing the right technique like partial page rendering and sending only the data need to render which eliminates network loads, serialization cost or construction and deconstruction costs
                        6. Right sizing and utilizing modern hardware
                        7. Location how near the server is located to user which avoids unnecessary trips
                        8. Infrastructure and real estate costs / wastes etc
                        These factors grossly affects the Green computing. At the end, burning less fossil fuel to run the application.

                        Thursday, February 04, 2010

                        CouchDb RPC vs HTTP client

                        I have been lately doing Erlang RPC client for couchdb and found following interesting facts.
                        Http is almost 3 times slower than RPC and 6-7 times slower than co-located client (client and couchdb running on same beam process).
                        Details
                        -------
                        RPC
                        runtime=20 wall_clock=280 microseconds
                        runtime=10 wall_clock=313 microseconds
                        runtime=20 wall_clock=368 microseconds
                        runtime=20 wall_clock=402 microseconds
                        runtime=20 wall_clock=445 microseconds

                        Http
                        runtime=80 wall_clock=781 microseconds
                        runtime=80 wall_clock=819 microseconds
                        runtime=80 wall_clock=804 microseconds
                        runtime=80 wall_clock=784 microseconds
                        runtime=80 wall_clock=798 microseconds

                        Tuesday, January 19, 2010

                        IS Google Chrome the Next Firefox

                        I am a fan of Firefox and I have been using since 2004 end, but I have little concern or thought on Firefox and its future.
                        Firefox is lacking behind Google Chrome in following area
                        1. Javascript speed
                        2. Implementation HMTL 5 web form (though opera leads)
                        3. HTML5 websocket
                        4. More HTML5 related...
                        Javascript Speed, this is well known fact that V8 javascript engine is leader in this space but actually Safari is king in javascript handling
                        HTML5 Webforms :
                        Actually HTML5 did bring new things in many areas but it is split into web forms, protocol etc what matter is "after effect" of html5. For example, in the text field "watermark" like implementation using most concise JQuery needs around 500 lines of JS code and few lines CSS. So what is the problem? My point may be sounds naive but still valid in the Internet scale application.
                        1. Bandwidth saving
                        2. Browser performance -- no need to download and it knows how to handle effectively since it is natively compiled into browser engine
                        3. Development effort --- it is somehow shifted to browser developer but it is one time cost
                        4. Webforms makes very semantic browser knows what type of input and for ex. iPhone like touch based device may throw relavant virtual keyboard etc
                        HTML5 Websocket:
                        Firefox has code in its trunk and waiting to be blessed by reviewer. It is more than an year (I guess) here is the bug ref. So what is happening?
                        Obviously firefox is lacking for the reason and it is clearly good thing for Google Chrome.
                        Hm... I started using Google chrome when google debuted its chrome browser. And firefox moved to my second most used browser list and conceding its pole post to Google chrome. But change is necessary to keep things evolve...