Wednesday, June 17, 2009

Erlang - Why I need to learn new language?

I am in the process of learning Erlang. Why Erlang? There are couple of reasons. I need to find a language which should internet scale.
Brief about internet scale....
1. Single User application - We developed applications, say MS Office, which caters to single person. We won't bother multiple items here like how much memory it eats up, how much processor it takes, how much disk space it takes etc. Why because it runs on either desktop or laptop; in fact netbooks or palm top (windows mobile based phones, iPhone, blackberry etc) has concern on processor memory and space. Program should be responsive enough for the single user. This is one class application.
2. Minimal User Application - Next, small scale application. where few people access the system and they may not be bothering about whether it is up or restarting to make little bit faster (OS like windows XP needs restart to clean up memory leaks) so here people using are highly tolerant and not the applications as such. So it can run on any normal to medium profile hardware based servers.
3. Enterprise Scale Or Limited User Application: Normally enterprise application like enterprise email, Document Management Systems or leave systems etc will be use by limited set of folks and it is mostly intranet application accessed from local network. Normally it is developed in Java EE, .Net, RoR or Python or combinations of them. Normally Webservice or some other complex distributed programming paradigm will be followed.
4. Super scalable Applications: It is current class application pioneered by Google (Consumer email, youtube, maps), Amazon, Facebook (Chat), current Twitter kind of applications. It was unnoticed and tormented in Telecom environment. All the companies did a really hardwork to come up with their platform which is kind of unique and innovative. Infrastructure is built such a way it scales infinitesimal, internet scaling. It is tough to hit, important events make people hit the website. Recent fiasco Nokia's Ovi store broke down, Tweeter's frequent outage due to spikes. Why the concurrency is not free or not easy. It is like gymnastic or performing martial arts.... needs lots of coordination and control. It is tough and needs practice. Some of the paradigm we used to make it grow like imperative programing (Object oriented programing/ procedural programing) suffered a lot of maintaining state. It is like obese people suffering from excessive fat. It distract many thing including co-ordination. So difficult to parallelize. Ok.. Is there a simple way to over come this. Yes and no. I researched a lot. Closely following Twitter and Facebook gives many idea. First of all needs good hardware and servers. Next needs infrastructure which effectively utilizes the hardware. My desktop and Laptop has dual core (I am 2 years behind extreme computing with Quadcores) and multicore GPU. But how my programming platform effectively utilizes the cores is important point to scale. It is kind of parallel to Car which goes 0-120 miles in 6 secs. What is the use if my speed limit is 30 miles? Or I can say riding a bicycle in a express high way where I can go upto 85 miles per hr. This is exactly it is happening. My hardware is so powerful but my software is so dumb and it is not multi tasking. Or even single tasking with all the cores. It is like 4 people needs to do a job but they don't know how to split it and do the work. So one person starts and others are waiting until the guy finishes. So what is the problem when i have a computer with ample amount of power and I can't normally bother between 0.7 sec or 1.4 secs of completion. Still it is fast.... But what if millions of people access it. It will keel into halt but it suppose not to. So counting every penny is important as it amounts to lot of other things. Energy wastage, environmental issues etc.
So how Twitter or Facebook addressed this issue. They moved some of the heart of the code into Functional Programming Code. For Twitter, it is Scala and for Facebook, it is Erlang. Both are actor based shared nothing function language evolved from Alanso Chruch Lambda Calculus. Academic loves these languages.
So I am in the process of learning Erlang. I found great book Joe Amrstrong's Concurrent Programing with Erlang second edition. So far it is quite interesting. It is lean and mean from the start. It is damed concurrency and fault tolerance and high scalability in its DNA.
There is no loop. What a hell are you talking about? All i need to do is unlearn my OOPS oops!!!.
I create a looping control if i need. I don't need design pattern. I am not telling how it needs to do something. As my friend Santhosh GR said, I just needs to tell what I need. No state to maintain. Oh... how can I program with the one which doesn't have or doesn't recommend one which I used for developing even adding two nos.

Having set the context, I will continue on Erlang later.... It also brings me how Java going to survive? It looks like its current state it is not fit into "Internet Scale". This is same for C# and other imperative languages. Their core is thread. Is thread is bad? It looks, sounds and feels bad. Why because thread are, at least in current state, not able to scale across multiple cores. Java is faster on single core processor with high clock speed compare to multi core highly effective modern processor. It degrades shabbily beyond quad cores and Intel has 6 core already and going to launch 8 cores and AMD story also the same. But Java, Java 6 came 2 years back and 7 still in pre beta. So time and growth of hardware and software are looking north and south.

Tuesday, May 12, 2009

Universal Architecture

I like to give a name for something which gives or solves following issues...
1. Benefiting to most user
2. Something which should be available to everybody like food, water and shelter
3. To be available irrespective of where you are... at least Earth as of circa 2009.
What are the service we can provide?
1. Internet
2. Voice or Video communication
3. ??
Who would resist, Telecom service provider and who else?
Here is How?
1. Like GPS or more than GPS, launch 10s of GEO SYNC satellites specifically for Internet connectivity or use it for multipurpose.
2. Provide connectivity
3. Since VOIP and video OIP etc will kill Telecom player or they will transform into related service.
I just expressed my thoughts about this almost 2 years back to my friends and later I found Japan launched Satellites for Internet service and British also following... It seems not bad idea.

Is Wolframalpha a threat to Google?

I read some juicy thingy about Wolfram|Alpha. Yea it sounds too good. And I wish that it should make success.
The reasons....
1. Search is the "Start" button of web as OS, as URL is dead.
2. Most noisy results end up
1. Wasting lots of peoples time -- may be contrived to CO2 emission
2. Lots of CPU and network will be wasted to do search again -- collectively it will be equated to CO2 emission and lots more...
3. Change in the confidence of user, frustration getting right information etc
I am not denying the Server workload to give such a nearly correct results. Evidently, correct/trusted information is always costly.
So, lets welcome to be born baby. It gives us manly feeling - like "If i ask somthing tell me the truth and stand firmly on what you provided", all ladies please execuse me.... Here is the page http://www.wolframalpha.com/index.html


What kind of search do we need?

I was thinking about how could google search can be improved.... Many of us familiar with semantic search. I am thinking about user sourced semantic search, yes this is, for sure, my idea. I was thinking this from long back. Probably knotting multiple familiar technologies and drawing similarities to them and come up with something. It is like GOF came up with design pattern or Ward Cunningham influenced Design pattern which he got influenced from Alexander (Civil Architect). I will explain how.... here you go...
People do search and click on the link... if they didn't find the relevant information they move on and to next page or try to refit the query. So here is the catch. If the move on and click any link, it means earlier page had just noicy result that should be eliminated. Is it correct it does in the first attempt? No, don't trust single person. From my young age if I want to ask a route to some place, which I like to go, I normally ask more than a person.
There are 2 reasons,
1. person who answered could have lied
2. Double check will make sure that probability of error reduced. So if both person points two different directions, you need to be very careful. Ask few more....
So this is thingy I developed when I was young.
So why can't it be applied to search?

Monday, April 27, 2009

Cloud computing

I have been researching Cloud computing for quite some times. Using Amazon S3 for few applications, piloting google for corporate and exploring force platform, Ms Azure. The value proposition it gives is lot but it varies based on what we want to do with.
Some of the Aspects to be considered,
  1. Security
  2. SLAs
  3. Environment
  4. Platform
  5. Standardization
  6. Transforming old thoughts to new paradigm
  7. Itegrating with existing application
  8. I will explore all these aspects as and when I get time......

iPhone after 3G

iPhone lived upto its hype even though it lacked lot of features (but OS 3.0 has got missing features). iPhone is a kind of gifted because it is deprived of lots of notable features but people made it great product as if telling a person "you are good" continuously make them good.
Ok, then what should be the hardware upgrade for next release? Probably I would think OLED should be very important to stay par with competition (Nokia, Samsung et al has got OLED display long back). Apple suppose to serve niche market and it should have that. What if it has one more inch big in width - it makes reading web pages very easy and OLED makes thin form form possible and it can still retain its weight and can increase battery size/capacity. Support HD and wirelessly stream video, if not through HDMI etc to other device. It should also allow easy integration with other devices. It should evolve as platform. It should not be an example of child protecting the bird in its hand by squeezing it. The world will turn soft when it is very open, and it turn hard if it is closed - History so far telling this truth.

Software
Voice integration, it would be fine if it understand the voice and textify it on every place (notes, mail, sms, search - spotlight, url typing etc), probably a service running on apple or provider environment take the input and convert it to text somthing sort of google voice search. It helps very much, at least for me.
Anyway Apple will not continue to be lucky as, I feel, Android will one day throw it out of the window as microsoft did for Mac in the last decade.
Browser should support location API by integrating with GPS system and other hardware components like compass etc, this will make rich UI application history.


Sunday, February 22, 2009

Broken iPhone

It is Jan 31st, It is kind of bad day - my iPhone display got broken. It was night and I was about to attend the call and found that there was crack running horizontally from home button to top and another one from middle to right side -- kind of forming inverted "Y". I was totally clueless how it broke like that. I started exploring on how to fix it. I called up apple support and scheduled an appointment with "Genius Team" to fix it.

I went there and a "Genius" looked at my iPhone and declared it as accidental damage and looked around the phone - he never able to find any scratch or chip anywhere - it probably scratch free due to the protection of my silicon cover and screen protector. And he is unable to tell me exactly what could have caused the damage. I was trying to tell him that I never dropped and I had another pouch in the belt which i always use for carry the phone. Since it is broken that means it is accident and he gave me print out of apple's terms and conditions and which indicated "accidental" damage will not be covered and warranty. Since he is not able to find visible mark for damage, he offered me $99 replacement. He was telling me that he has 6-7 years of experience in fixing the iPhone (probably other phones as iPhone is not even 2 years old) and he was telling me that glasses never break by its own. But I asked curious question "what if some external forces like defect in assembling or cutting the glass penal or something of that sort" could have caused, for which he said it never happen. I also heard from apple customer care that he(the guy who evaluated) is "Genius" among "Genius guys" so his finds is always correct and told me he did a great favor of offering me replacement for $99. I never mind paying $200, if i damaged it.

hm.. It is waste of time talking to Apple care. So I thought of replacing by paying them.

I did a Google search to find out similar incidents. I got to know Master card has extended purchase warranty for the product purchased from Master card. So I called them and found that something of that sort is available and they asked me bunch off documents amongst repair cost is one. So I planned to schedule another meeting with "Genius" guys to get the estimation.

I went to apple store again and told them my appointment. I was searching for my earlier "Genius" guy so that I can get the estimate from him without explaining more as I had met him earlier. But this time I got allocated to another guy. I showed my iPhone and told the story and asked for estimate. Another guy at apple store who looked at my iPhone just looked at the phone and told that it will be covered under warranty as the crack is originated from "home" button. The same time couple of other Genius come and looked at and agreed that it is covered under warranty. So they replaced me freely. It is kind of surprise to me as I never expect it to be replaced.
So, ultimately,
Apple warranty will cover the cracks in the iPhone display, if it is originated or cracks run through home button.

Monday, January 05, 2009

My experience with Windows 7

I got windows 7 beta 1 build 7000 and its pretty fast, it gave first best impression. I think Ms going to control 2009 show using Windows 7 and other time sensitive initiatives like cloud and office on web (like SaaS or google/zoho doc etc)
I will try to put more information here after experiencing how it works for doing my daily activities.
Installation:
I prepared my DVD by burning windows 7 as ISO into DVD and it tool around 26 mins to do 3 steps
1. Booted with windows 7 dvd and started installation. I wiped off Vista and started fresh installation
2. After step 1, it booted and did some basic configuration
3. After step 2, it need to reboot and got beautiful desktop with breathing fish after few minutes of set up.
So it took me around 26 seconds which includes deleting Vista and formatting the disk for Windows 7 (NTFS)
My laptop is HP pavillion dv4 with intel T5600 2 GHz and 160 GB HDD. Its integrated graphics from Intel.
I liked IE 8, its now catching up with Firefox atleast in few intuitive features like find/search. I liked the find/search in browser which actually sit itself outside and doing search unblocking the content of the browser. It is kind of convenience and will help you to do like highlighting etc like Firefox. IE is really slow compare to Firefox. I just tried IE few times and it is very sluggish. Thats the experience I got I don't have real nos. Opening the browser or open in new tab is really slow. I just need to investigate, it is so slow that I need to wait 10 sec, I set home button to msn.com and it is another 10 sec wait in "Connecting".

Thursday, December 18, 2008

Future of Technology

I had lots of idea about what would be the future of our world....
I am just regurgitating my thoughts here ....

Computing:
1. Mobile computing : Netbook will shrink in its size and it will become hybrid of mobile communicator and computer. It will usher the death of laptop/Notebook as how laptop/Notebook replaced Desktop.
2. Internet connection: It is backbone of Technology growth and it will be as fast or better then USB. LTE going to common in 2010 and it will enable loads of cloud based services.
3. Commodity computing to the internet scale : It is mastered by Google and people will start thinking in this direction. May be network harware/Software will be matured in a way that it will be easy to build such an infrastructure.
4. OLED TV: It is gorgeous to see such a beautiful display. So I would expect it to grow and steal some of the market share from LCD.
5. GPS or GIS people start utilizing in most of the services, probably like tracking parcel or flight, in future we can easily start tracking people (probably intelligence agancy can verywell do this)
6. SSD - Solid State Drive: What else will replace Mechanical Harddrive. It is obviously SSD. We will gain massive amound of IOPS, it is kind of unimaginable. SATA III (6 Gbps) will not be enough to handle, so achilles heel of computer scalability and performance will be healed but there will be someother painpoint will emerge.
7. SOA - Webservice now understood as good integration mechnism but it will not going to replace everything - that myth is busted. SOA REST is kind of light weight widely popularized by Google will join hand with SOAP. These services will have major role in Cloud computing.
8. Cloud Computing - It is kind of thing will be promoted as whole world is shrinking economically and technologically (Technology makes world flat, easily reachable kind of global village) and later will be realized as security, privacy threat and will bounce back as each palyer want to have their own cloud (commodity server computing - SSDs, low cost processor etc)
9. Transparency - I have everything unique to me is available with somebody as set of data, Media is growing and it is peeping into everywhere. What considered as private is exposed heavily so I need to change. I can't hide. What I see as secret is well know, I can't just be thinking as whole world is dark when I close my eyes. It forces people be more transparent. It is kind of welcoming factor. Afterall change is the only constant and which we need to welcome to survive. So attitude and behavior would change.
10. I am bored of thinking. I plan to grow item like this more so I will add more soon.....

Extremism:

  1. Medical: Role Of God: As per science and conscience, those things which we know - we will classify them and identify as -- if we know something, we either have complete fear or complete comfortable with them or mixed feeling of both. But if we don't know, like seeing something in the dark - it may be piece of rope but we will jump out of fear as if it is snake. So what I mean here is unknown things are normally be classified as if it is controlled and governed by God. But looking at how technologies in medical front is progressing like Cloning, Stem cells, Face transplantation, DNA decoding etc and commodity super computing which aids advancing in finding unknown things etc will make one day that life existence will be pointed and life expectancy will be controlled fully by human- so life is being controlled by God will vanish probably in some point of time in future (100/200 years from now).
  2. Computing: It is interesting to dream about computing. These are my list
1. Bandwidth of internet - In 5 to 10 years bandwidth will improve such a way that USB 3.0 will look like slow, I mean transfer rate will be so much that we will not need to maintain storage devices and commodity computing wired in a way that we will be using devices like dumb terminals and which will be like foldable, flexible and easily commutable. This will again mutate into like - walls will be build on display material and also act as energy producer.

2. One day we may use air as display media. LCD to OLED to Something to Air

3. Input method will be replaced by voice and world will not have phisically challanged people as technology advancement will actually cure any kind of disability.
4. Server: There will not be any difference in Server and Desktop or Laptop and all the feature of Server will be available to single formfactor which will be used to built server farms - cloud or sensible, networked wirelessly connected, self healing, auto powered (next incarnation of wireless power transmission)computer will emerge.
5. Software: All the application will be available through service - no need to own anything. HR/Finance or whatever will be available as service and people will have unique identity through out the world and which is like technically singular world will emerge.
6. Security: Since nothing powerful available outside the safty-net, Security is just handled using all the forms of Gene proposition of a person or biological factor of a person.

Saturday, November 29, 2008

My Experience with Google/TMobile G1

I bought TMobile G1 a day before thanks giving day. I bought it for couple of reasons mainly Android.
Some of the things I noticed needs more probing
1. From the browser coming back to home by clicking home button - How is the memory and opened process handled for application opened?
2. Omnibar of Chrome while entering url, if .com/org etc missed at the end doing search and listing the results but I expected somthing more like "I'm feeling lucky" in the desktop google search. Probably I could have missed something here (may be setting) but it would have been really good at the out of the box default setting.

Browsing Experience:
It comes close to iPhone but couple of minor issues. Some pages really slowly scrolled while swiping.
I also found that experience or behaviour of the system is not completely uniform across multiple applications. It is really glitch that will, i hope, be ironed out in later releases.

Google Map : I felt tough to follow while driving it is cool with compass mode, I need it give a try some more time.

Keyboard/Virtual keys: It is uneasy to use touch and keyboard as I am forced to use keyboard by thumbing the slide out and it is kind of messy. How can it be used by single hand? It is kind of worst mistake hybridizing touch and keyboard. Though OS and its responsiveness is very impressive but usability it was beaten to death.
So I returned the G1 and bought iPhone. In the end, I realized it is Google's well known secret that -release the thingy in Beta. So, I guess, not too far away, like chrome emerged from Beta - there will be a-phone or multiples but atleast a phone which will strongly carry Google's image and rivals iPhone from left, right, center will emerge. Probably HTC or Samsung will be its surrogate mother.
Harware:
I am not sure why google didn't pickup the right hardware from HTC, it already has Touch HD, it would have been tremendous success if google would have choosen good hardware. Google seems playing second fiddle with Apple iPhone.

Tuesday, September 02, 2008

My experience using Google's Chrome

Today I downloaded google's chrome browser. It is natively integrated with google gear tightly. Address bar is now have dual role and serve as search bar too and its start of end of address bar and search is going to prevail (look at URL is dead ). Short cuts are cute and powered with Google gear - makes its awesome. "Most visited" page when I open the browser is good and resembles googly.
Featurtes
-------------
  1. Open link in a new tab : (Right Click on link - context menu) The order of Open link in a new tab is changed from both IE (Internet Explorer and Firefox) it is placed first ahead of "open in new window" it is heavily used features and causing litle bit of experience realignment issue. I did not change any setting as I used out of the box installation, though.
  2. Awesome bar/ Omnibar : It looks good and simplifies the job of using 2 different boxes for achieving the same thingy (though, it seems overstated by saying address bar and search bar are doing same job but my real world experience is saying it is singular activity, look at URL is dead....

Hm I am not covering everything in it in a single shot but describe about it frequently as and when I find it and to say something about it.

IBM's FUD about SSD claim

It is surprise to see IBM into SSD market place and its welcoming effect too. IBM's article http://www.ibm.com/developerworks/blogs/comments. I can see SSD go mainstream and also I read somewhere about IBM's reservation about using it for commodity servers, but not interested in locating them probably googling will locate that. Probably Sun shines here with ZFS and its embrace of SLC SSD. I came to this blog from storagesearch and author actually dismissed IBM's above claim as FUD(wiki for FUD). Please look at http://www.storagesearch.com/ssd.html.
Oh... I am using Google's Chrome to post this.....

Sunday, August 24, 2008

Intel's SSD

Intel and Micron teamed up and started IM flash company is an old story. Intel, the x86 processor emperor, started focusing more on SSD is great thing for consumer and enterprise. Intel is well known for setting goals high and achieving them with great dedication. As part of its SSD initiative, Intel demoed its SSD which really made wow-factor comparing existing SSDs right now in the market. It is performance numbers are really high. Intel's SSD comes with 2 catagories 1) Enterprise SSD based on Single level cell - SLC (code named X25-E and X18-E) 2) Consumer Mainstream model based on Multi level cell - MLC (Code named X25-M and X18-M), here 25 denotes form factor of 2.5" and 18 is 1.8". Both supports Interface SATA 3Gbps.
Some numbers are
For, X25-E (SLC)
  1. READ -sustained 250 MBps
  2. WRITGE -sustained 170 MBps
  3. Power consumption - Active: 2.4W Typical, Idle (DIPM): 0.06W Typical
  4. Life expectancy - 1.2 million hours Mean Time Before Failure (MTBF)
  5. Read Latency - 75 microseconds
  6. Capacity 32GB and 64GB
For X25-M (MLC)
  1. READ -upto 250 MBps
  2. WRITGE -upto 70 MBps
  3. Power consumption - Active: 150mW Typical, Idle (DIPM): 0.06W Typical
  4. Life expectancy - 1.2 million hours Mean Time Before Failure (MTBF)
  5. Read Latency - 85 microseconds
  6. Capacity 80GB and 160GB
Random write is the one all MLC SSDs are suffering today and I am not able to find data for that. But considering intel's profile, it would have addressed random write issues.

More info at http://www.intel.com/design/flash/nand/extreme/index.htm
and http://www.intel.com/design/flash/nand/mainstream/index.htm

Monday, August 11, 2008

SSD Performance

Today I saw an excellent review about OCZ 64 GB MLC SSD Disk running on Vista.
Read/Write
OCZ Core SSD read write
average STR throughput 125MiB/sec 73MiB/sec
typical random access penalty 0.43ms 246ms
idle power use ~1W
load power use <3w

7200 RPM WD hard disk
WD6400AAKS read write
average STR throughput 85MiB/sec 85MiB/sec
typical random access penalty 13.6ms 17ms
idle power use ~6W
load power use ~9W

You can follow the below link to read fully http://www.alternativerecursion.info/?p=106

However, Next generation controllers do promise the unbelievable performance. Fabless chip designing firm Indilinx pushed read and write speed to 230MB/s and 170MB/s for SLC and 200MB/s, 160MB/s for MLC SSD. So probably MLC SSDs going to blow out its HDD brothern within 6-8 months time period from now. Probably Apple's forthcoming Macbook and Macbookpro will have options for SSDs like its beautiful younger sister Macbook air. Interstingly density increase NAND will help iPhone to have more memory soon.

Saturday, August 09, 2008

Best web conferencing alternative to WebEx, MS office live - Dimdim

Now a days it is common to see huge advantage of having web conference facilities to foster and eliminate geographically distributed nature of work environment. It is also handy for presenting anything without physically present in particular location.
I am exploring best web conferencing alternative to WebEx, MS office live. Here is my findings
1. WebEx - has been there in market for long and I used it from 2003 for official purpose
2. Microsoft Office Live meeting - It is good and intended to knock off WebEx and other similar product as they have near monopoly among big enterprises.
They charges huge money for these services and I am exploring free alternative, if any.
Also the tool should be compatible with multiple platform like MS PC, Apple, Linux (opensolaris) etc.
There is a good read about multiple product here http://www.masternewmedia.org/2003/11/13/best_web_and_videoconferencing_alternatives.htm

Another type of Tool which enable access to remote desktop through internet will be very handy not only to help fix the issue remotely. There are tools to do that
1. WebEx's PCNow - 30 days trail available
2. GoToMyPC - -again 30 days free
3. LogMeIn

Open Source Collaboration Tool
I also found dimdim, it is open source. It is good that product like dimdim comes into market and make others to reduce the price or make the money realize its meaningful value. After using dimdim, i felt really good. We can share desktop, can multiple people dial-in to conference etc. It is more than sufficient to most of my activities. Good work Dimdim. You are instrumental in changing this space.

Saturday, June 21, 2008

Single Page Application

Normally web application is developed using multiple html pages. Each html page will form the entire html from start to end and flushed into and rendered by browser. What if the entire page is visualized as partial renderable unit and each rendering will be done using Ajax and updated using DOM/Css/Javascript. So we will get or think of nice MVC in the client side where Controller javascript has its job of controlling lifecycle of renderable unit called widget, view has its job of using pleasant color, layouts (all from CSS), data again as java script objects of model (probably imitated or duplicated from the server side model using javascript to java and visa versa - seam remoting will do the same) So effetivly page will get the only data its need and assembles its mark up in the client side, so no more noise html tags, only protien for the application shuttles between server and client. MVC will utilize Comet, Ajax technique extensivly to acheive the requirement.

Comet, Where and How can I use it?

What is Comet?
It is Server Push, it is also called Reverse Ajax. Please look at wikipedia comet.
If we look at where the break even for new technology occurs, then it involves multiple factors like its capabilities are properly understood and started yielding best result for the technology consumer. Industry support, required skill set all maters. Norammly it will start with bleeding edge technology savy people (risk takers) and percolate gratually to mass.

I use to hear from guys, no body will be fired off buying product(software/hardware) from IBM or Microsoft. It is really safe being with big wics and nobody will question them too. It holds true for even bringing new technology into the fold.

If we look at Ajax, in my experience, I worked with Remote Scripting in year 1999/2000 using applets/hidden Frames. I found this trick from one of IBM's article but I totally clueless to find that old article now. But how Ajax got such a phenomenal lime light in the past few years? It is because some web sites which users frequently visits implemented it and user finds it very useful. One such application is google suggest and microsoft web outlook application. Both used Ajax in a good way. So will the same trend make Comet popular? In my purview, comet will defintely make good choice for couple of use cases.
Lets look at what kind of application now implements Comet (Reverse Ajax)
Meebo, Embedded GTalk in the Gmail are very good example of this kind of technique.

Lets look at some application like
1. Dashboard monitoring, notification alert etc.
2. Stock application
3. Chat
4. Game score display application
5. Whatever application which frequently look for changes in the data from the datastore (DB Server, events, notification system or services)

These application will definitely benefit from the comet kind of technique.
DWR, GWT with comet plugin, JQuery with Comet plugin or Dojo Comet toolkit can be used to enable client side comet.
For Server Side,
Comet needs special support from Server, as it needs to address scalability via effective thread management unlike normal application. Comets need multiple open connections to the client, hence special attention needed.
Servlet 3.o spec defines new API in HttpServletRequest/Response for comet kind of interaction. Jetty has been instrumental in driving comet upto Servlet 3.0.
Glassfish has good support as it has Grizzly nio layer.

Other impact,
Comet enabled application normally needs or frequently establish connections to the server. So in corporate environment, it will normally, when it opened and kept for long, will increase the network or internet usage and will be easily increase internet usage rate and you will get caught for heavy internet usage. This will also applicable for Ajax-polling.

What should my future browser do?

I was wondering if Web browser capable of installing javascript extensions like Ajax framework on top of existing runtime (it is little bit more than js caching) with its own security and other aspects built around, we can avoid multiple downloads many a time and go on building rich internet applications without worrying too much about size of the scripts. Browser should be able to
  1. understand different versions of javascript applications
  2. use requested version and able to download like plugins if it is missing
  3. Multiple threads for processing html/js/css or dom updates
  4. use these extension across different domains, so javascript extension and html page should follow set off rules to share across.
this kind of feature will enable creative people to develop rich features and perfectly make the browser as a platform.

Thursday, June 12, 2008

Career advice

Came across nice post about career advice.
http://dilbertblog.typepad.com/the_dilbert_blog/2007/07/career-advice.html
Essentially,
Scott, Adams is saying, If you want an average successful life, it doesn’t take much planning. Just stay out of trouble, go to school, and apply for jobs you might like. But if you want something extraordinary, you have two paths:
1. Become the best at one specific thing.
2. Become very good (top 25%) at two or more things.
But he is also recommending option 2.
The first strategy is difficult to the point of near impossibility. Few people will ever play in the NBA or make a platinum album, for ex Sachin Tendulkar or me . So it is hard to getting into that category.
The second strategy is fairly easy. Everyone has at least a few areas in which they could be in the top 25% with some effort. So how easy to mix 2 or more familiar and lovely things which we normally do to become very good at it.

Thursday, May 22, 2008

URL is dead, is it?

Nearly a year back, I had a discussion with my friends in a Hotel room in Smokey Mountain. The topic was about how they inform their friends or parents about new information in the internet. I was telling them that simply tell them the information key words, for example- cooking, then they would easily searchgoogle it to find out. I really wanted them to understand that google is a desktop for modern web application as all the other sites except google, we normally end up using google search and hit the right website rather than typing it in the browser address bar. In other words web search is primary vehicle to hit the proper web site. But they didn't agree with me went on arguing that they will tell the complete url, yes something like http://.../.../... I was not able convince them because they don't want to simply agree with me. I also felt they didn't really appreciate the current internet world and information sharing etc etc... However we all are into Computers and Software development esp web based development and know very well that visiting some web sites normally starts with google or search, search become windows start button of the web world. Today I happened to see the article @ http://www.readwriteweb.com/archives/the_url_is_dead_long_live_search.php This article reflects what i felt when i discussed with my friends.