Thursday, March 04, 2010

Microsoft has done some good things for the web browser industry too.

For all the flak that Microsoft has had to take in recent weeks on IE6, it was heartening to learn when Crockford, Yahoo!'s JavaScript Architect, mentioned yesterday that it was Microsoft's contribution to the Document Object Model, that all HTML elements were made script-able, that has provided lasting value so far, for the browser platform.

A couple of other noteworthy points:
  1. "With Ajax, the source of innovation shifted from the browser makers to the web developers. Ajax libraries."
  2. "Ultimately, we should seek to replace the DOM with an Ajax-influenced API."
Crockford is an engaging speaker who sprinkles his talk with very effective humor. This particular talk was how the Ajax technology came about. You can review all of his talk, including video & transcripts, on the Yahoo! User Interface Blog site.

As I have listened to Crockford on the 4 out of the 5 sessions so far, I cannot but come away with the feeling that many of the mistakes of the past would not have been committed in the latest specification.

The future of web-based applications is definitely brighter.

Sunday, January 17, 2010

On CrisisCamp Haiti Silicon Valley

It is amazing to realize how remote technical experts can help in disaster relief efforts even as they start far from the point of disaster. Clearly, it is the power of the Internet. A case in point is my experience yesterday afternoon with the CrisisCamp Haiti Silicon Valley in Microsoft Campus, 1065 La Avenida Street, Mountain View, CA.

The sheer energy in the cafeteria was unbelievable!

Additional information:
CrisisCamp Silicon Valley on Facebook
Crisis Commons

Tuesday, January 05, 2010

Nexus One versus iPhone 3GS

After Google announced Nexus One this morning, there have been several comparisons available on the Internet, e.g., Nexus One vs Motorola Milestone vs iPhone 3GS. This blog post is an attempt to compare the iPhone and Nexus One in tabular form.

Property
iPhone 3GS
Nexus One
Comments
Price
$199 (2-yr)
$79 (upgrade), $179 (2-yr), $529(none)
Nexus One is slightly cheaper.
Weight
135g
130g
Both are equal.
Display
3.5", 480x320
3.7", 800x480
Pictures will appear crisper with the Nexus One: Larger resolution in almost the same real estate.
Camera
3MP, autofocus, no flash
5MP, autofocus, flash
Better resolution camera and flash!
Video
VGA(640x480) up to 30 fps
720x480 pixels at 20 fps
Nexus One is inferior for motion (fps)?
CPU, RAM
600MHz CPU, 256MB
Qualcomm QSD 8250 1 GHz, 512MB
Faster CPU for Nexus One.
Carrier
at&t
T-Mobile; Any, but no support for high speed packet access (HSPA)
Since the Nexus One comes unlocked, you can use any carrier. If data speed is important, stick with T-Mobile.
Location
Accelerometer, digital compass, Assisted GPS
Accelerometer, digital compass, Assisted GPS
Both have similar characteristics.
Non-volatile storage
Built-in 16GB hard disk
Removable 4GB Micro SD (expandable to 32GB)
Expandability may be an advantage for Nexus One.
Battery
Built-in, 1219 mAH, Talk up to 5 hrs, Standby 300 hrs, Internet 5 hrs on 3G
Removable, 1400 mAH, Talk up to 7 hrs, Standby 250 hrs, Internet 5 hrs on 3G
Nexus One has slightly better capacity, is slightly better for voice, and slightly inferior for Standby.
Multitouch experience
Quite uniform
Not many apps exploit it (in Jan 2010).
Nexus One is inferior.
Peripheral interfaces
iPod connector, Bluetooth
mini USB, Bluetooth
Nexus One has no proprietary interfaces.
Software Features
Google Voice is still being evaluated.
All text fields can be spoken to.
All of Google software.
Nexus One may have an edge.

What is the bottom line? It is difficult to say without experiencing both the devices but, on "paper", Nexus One appears to have an edge, particularly if you ignore non-availability of multi touch experience uniformly in the Nexus One.

Mashable's Ben Parr provides a non-committal assessment at the CES.

Newer is better, isn't it?

Tuesday, November 03, 2009

IaaS, PaaS, SaaS, ..., CaaS?

In recent years, cloud computing has gotten everyone excited, and rightly so. After all, who does not like the scalable, elastic and near-instantaneous access to computing (and storage resources)? Today, we learn the formation of the Virtual Computing Environment, a joint partnership among VMware, Cisco & EMC.

With increasing complexity of cloud implementations, it becomes necessary to create an abstraction that hides the details of server CPUs, storage and the networking needed between them. Where would this abstraction live? Where else? In the cloud, public or private. The vBlock package definitions seem to offer a good start for this abstraction. Perhaps we can regard vBlock as Cloud-as-a-Service or CaaS, to accompany the three others - IaaS, PaaS and SaaS.

Wednesday, September 23, 2009

Is 50Mbit/s enough of backhaul bandwidth?

If we say there are about 1,000 subscribers per cell tower and each will need about 1 Mbit/s bandwidth, 50 Mbit/s will only serve about concurrent 50 users well. Is this enough?
in reference to: Unstrung - Fixed/Mobile Convergence - Sprint: Please, Sir, Can We Have Some More Ethernet Backhaul? - Telecom News Analysis (view on Google Sidewiki)

Thursday, September 17, 2009

IEEE's 125-year Anniversary in Silicon Valley.

As professionals, it is always valuable to take stock on how far we have come. The IEEE 125-year anniversary event at the Computer History Museum yesterday was one such. One quick takeaway from the presentations that Vint Cerf and Howard Charney gave is that the future will be even more exciting than the past!

Vint related how round-trip computer-based translations can sometimes go awry:
"Out of sight, out of mind" when translated to Russian and back to English got translated as "invisible idiot".

Wednesday, September 02, 2009

Virtualization and the Indian Driver.

After the conclusion of a recent 3-week vacation in India, I feel compelled to state that virtualization as a concept has been practised in India much before VMware (NASDAQ: VMW) came on the scene in 1998, and even before the advent of the virtual machine by IBM as VM/360 in 1972.

Consider lane markings. Lane markings are a way to physically partition a road so as to promote effective sharing of the road. However, drivers in India routinely ignore lane markings probably because they feel they can promote better sharing of roads without paying the needed amount of attention to the markings. How else can you explain the following driving behavior?
A driver prefers to drive on a road so that the lane marking is at the center of the moving vehicle span. Indeed, many drivers seem to make an attempt to use the lane marking as a guide to keep the center of the vehicle right on top of the lane marking.
An illustrative behavior arising from the use of the virtualization concept can be seen in the following style of driving.
A vehicle A is going on an undivided road 2-lane highway at a certain speed. (For planning purposes, the maximum speed you can expect on most Indian roads is 30Km/hour, and that is a separate subject). Another vehicle B close behind A determines that it needs to overtake A, unmindful of whether there is a vehicle C coming in the opposite direction in the other half of the road. You as a passenger in the vehicle B squirm in your seat. However, this is where virtualization happens! Thanks to the honking by vehicle B, drivers of vehicles A and C promptly swerve away from the median mark towards their respective shoulders and a clear virtual lane in the middle is formed for vehicle B. In other words, what was a 2-lane highway to begin with is now transformed into a 3-lane highway, the lanes now virtual.

Clearly, this is partly in jest, but you get the idea.

Friday, May 29, 2009

HTML 5, Google I/O and Evolution of Applications.

Earlier this week, I had occasion to attend the Google I/O conference. This blog post is more reflective than a factual report on the event. (For factual reports, e.g., see Google: The browser is the computer, Google Wave: A new kind of mega-application).

In the beginning, e.g., with the ENIAC, people programmed in 1s and 0s. The initial tedium was avoided by the invention of assembly language programming. The primitives that the programmers dealt with included registers, memory and i/o in the form of tapes and disks.

Subsequently, there were several high level programming languages invented, stack machines supported block structured languages. For a very long time, the stack machine seemed sufficient, and even the concept of classes were implemented on top of the stack machines. The primary commercial successes in this arena are C/C++ and Java and their variants.

In this conference, the primary message appears to be that the communication content, in Google Wave, is modeled as hosted XML documents, and the primitives that a programmer uses within a browser are the ones that manipulate the document object model (DOM); and, there are several new primitives, i.e., tags like canvas, video, audio, etc., built natively into HTML 5. (A good introduction to the model methods is available at HTML DOM Primitives and XML DOM Primitives). Thus, while the stack machine continues its reign, additional functionality is being expected of the platform in terms of the DOMs.

To promote concurrency in applications, the concept of Web Workers is available in HTML 5.

What happened in the last 50 or so years? Now, the basic computational platform (within a browser) is one that supports very granular manipulation of pieces of communication that is relevant among human beings (and computers), rather than registers, stack, etc. This is good; it is easy to see progress.

Monday, May 04, 2009

The state of globally accessible health information on the Internet.

The Google blog post titled Listening to Google Health users is illustrative of the work in front of us before we can claim universal accessibility of health information over the net. The ICD codes have been in use for quite some time now, since 1893 in some form or the other, but the Google Health episode brings forth the need for greater accuracy in defining these codes and their descriptions.

The point to be noted is that computerization greatly helps, and sometimes accelerates, correct classifications.

Thursday, April 30, 2009

Use of arbitrary HTML in Gmail signature block.

If you have been wondering about when Google will get around to accepting arbitrary HTML in Gmail signature blocks, look no more! There is a published solution, on the web, but with one constraint: 
You have to use Firefox as your browser. A web developer named Chris Pollock has made that publicly available as a Firefox add-on.
 
I have started using it, and love it. Don't you relish the ubiquity, and hence the shareable characteristic, of the Internet?

Tuesday, March 31, 2009

Typing in Indian Languages in Gmail, Blogger, etc.

A large percentage of the Indian population can now start communicating in their local languages through computer, thanks to the recently announced availability of Indic language typing from within the Gmail compose screen.

Nearly 1 billion of the world's population has a new, easier, way of making use of computers and the Internet.

And, for the 35 million or so Kannada-speaking population: ಸಿರಿಗನ್ನಡಂಗೆಲ್ಗೆ.

Sunday, March 29, 2009

The Cost of Improving Secondary School Education in America.

According to the Congressional Budget Office, we now know that we can expect a deficit of $1.7 trillion for the fiscal year 2010 of the United States.


With the foregoing as background, let us review what it would mean to increase the salaries of secondary school teachers. (We all know that merely increasing the salary is not adequate).

Let us assume that the average yearly salary of secondary school teachers in America is $50,000. Let us further assume that, in order to attract and keep the right secondary school teaching talent, we will need to pay the teachers a salary of $100,000/year.

Thus, the additional yearly cost of paying the teachers a better salary is of the order of $50,000*1,000,000, or $50B/year.

Is $50B/year a high cost for educating America's children? In the light of dollar deficits in excess of $1 trillion/year? Or, even when we have surplus budgets, in a $15 trillion/year economy?