Friday, December 26, 2008

W3C mobileOK Checker

W3C mobileOK Checker is a new validator from W3C that checks websites for "mobile-friendliness". The complete list of tests is documented in W3C mobileOK Basic Tests 1.0 specification. The mobile version of this site auto-generated by MoFuse actually does pretty well on the test, scoring 94 out of 100. I hope MoFuse will consider improving the score by fixing the remaining issues.

Thursday, December 4, 2008

Return a tree of objects from a JAX-WS service

Here are the steps to return a tree of objects via a JAX-WS service:

Define the Node class with the necessary JAXB annotations:

import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlRootElement;

public class Node {
  private List<Node> children;

  @XmlElementRef(type = Node.class)
  public List<Node> getChildren() {
    return children;


Define the JAX-WS service method:

public Node getTree() {

Deploy the service.

Use your IDE to generate the client proxy from WSDL. The client Node type will have:

public List<Node> getNode()

The accessor name changes as a result of the @XmlElementRef annotation.

Amazon Remembers

Amazon RemembersThis week Amazon released a free iPhone app that provides more native access to the Amazon store experience. It has the expected features like product search, product data, reviews and of course, 1-click purchases. In addition, Amazon has introduced a new experimental feature called Amazon Remembers.

Amazon Remembers allows customers to snap photos of objects of interest and upload them to Amazon. Once uploaded, Amazon uses MTurk to identify the product and within minutes the app notifies customers with a link to the matching product. In my tests, an iPhone snap was identified as the iPod Touch (since Amazon doesn't sell iPhones), a Pepsi can returned a link to Coca Cola (since Pepsi is not sold on Amazon or some MTurker has a wicked sense of humor), a Palm Z22 was not identified, and a book was identified perfectly.

Get the app from the iTunes app store.

Thursday, November 27, 2008

Syntax-highlighting code in blog posts

SyntaxHighlighter is an easy to use syntax highlighter for posting code snippets in blogs. Here are the steps to incorporate SyntaxHighlighter into Blogger:

  • Go to the blog dashboard and select Layout for your blog.
  • Choose Edit HTML.
  • In the <head> section, paste in these two lines:
        <link href='' rel='stylesheet' type='text/css'/>
        <script language='javascript' src=''/>  
  • In addition, for each language that you intend to highlight, add lines to import the relevant JavaScript libraries. The full list of supported languages is here. Here's the example for XML:
        <script language='javascript' src=''/>
  • Finally, right at the bottom before the </body> tag, add:
      <script language='javascript'>
  • Save the blog template.
  • Now, in blog posts, surround code sections with (replace the class with the appropriate language name):
      <pre name="code" class="xml">...your code...</pre>
SyntaxHighlighter provides some configuration options that provide control over the layout of the highlighted code. It can also be used with <textarea>s instead of <pre>.

Sunday, November 23, 2008

Cloud Connect 2009

Cloud Connect

Cloud Connect 2009 is a free unconference with technical sessions about cloud computing. It's being held at the Computer History Museum in Mountain View, California from January 20th to 22nd 2009.

Register today!

Migrating from Palm Calendar to Google Calendar and iPhone

Here are the free steps to migrate from Palm's date book (or Pimlico's DateBk6) calendar to Google calendar for full iPhone sync.

First, sync Palm with Palm Desktop.

Next, open Palm Desktop, select the Calendar view, navigate to File | Export, select Export Type as Date Book Archive, Range as All and provide a file name. This will export the calendar data as Date Book Archive (.dba).

There's a paid tool called DBA2CSV that converts .dba files to .csv files. However this can be done for free using Yahoo Calendar. Login into Yahoo Calendar and via Settings/Import, import the .dba file. It helps to have an empty Yahoo Calendar. Via Settings/Export, export the calendar as .csv file.

Login to Google Calendar (also works with Google Apps For Your Domain GAFYD Calendar) and import the .csv file into any of the calendars. It is a good idea to create a test calendar and test the import before importing into your real calendar. That way if anything goes wrong, you can delete the test calendar.

Follow the instructions here to create an account at NuevaSync and setup sync on the iPhone.

Seems like a lot of steps but it's a pretty smooth and free migration, after which you have a calendar that's accessible on the cloud and on the iPhone, with the iPhone's builtin alert mechanisms. If you have any difficulty with any step, post a comment.

Monday, November 17, 2008

Mashup Camp 2008

Mashup Camp 2008 starts today and runs though the 19th. Full camp schedule is here.

Mashup Camp 2008

Wednesday, August 13, 2008

Silicon Valley CodeCamp 2008 - Nov 8th and 9th

The Silicon Valley Code Camp is a community event where developers learn from fellow developers. All are welcome to attend and speak. This year the Code Camp is being held on November 8th and 9th 2008 at Foothill College. Attendance is free but space is limited; so be sure to register for the Code Camp.

CodeCamp at FootHill College.  Click Here for Details and Registration

Wednesday, August 6, 2008

The Open Source Census

The Open Source CensusTraditional software procurement practices in any enterprise involve channels which readily lend themselves to gathering statistics about usage (based on procurement, license agreements, the transaction details, etc.). However with Open Source Software (OSS), typically the software enters the enterprise via direct downloads by individuals within the company making it difficult to get a holistic picture of OSS adoption. For the OSS community as well, there isn't much visibility beyond the number of downloads. The Open Source Census is a "global, collaborative project to collect and share quantitative data on the use of open source software in the enterprise."

The project requests that users of OSS register anonymously with the site and download the OSS Discovery (via BitTorrent) scanning software. At the time of registration, the user is also provided with a census code. The OSS Discovery software scans one or more systems and produces a report of the OSS packages discovered on the system. This report can be submitted to the Census website with some optional non-identifiable statistics about the enterprise. The Census collates data across enterprises to produce useful reports about OSS adoption. For example, here's the report of all OSS packages ranked by number of installations. It's no surprise that Firefox is leading the list given the small population and predominance of desktops in the scans.

Top 5 Packages (as of August 6th 2008)

Please help the OSS community by signing up for the Census and providing information about your OSS usage.


Aurora by Adaptive Path is a concept of how future browser interactions might be in terms of collaboration and social networking. Checkout the video showing some of the plans for Aurora:

Aurora (Part 1) from Adaptive Path on Vimeo.
Aurora (Part 2) from Adaptive Path on Vimeo.

Project Sequoia: Oracle's Datacenter in West London, Utah

Video: Oracle’s CIO on ‘Project Sequoia’ by ZDNet's Larry Dignan -- At the LinuxWorld conference in San Francisco, Oracle CIO Mark Sunday explains the techniques behind Project Sequoia, the company’s new data center in Utah. By utilizing outside air, hot aisle containment, and independently controlled supercells, he says this will be its most efficient center yet.

Rackable® Systems ICE CubeTM

Datacenter-in-a-box as a concept has been around for a while. The most popular example of this is Sun's Modular Datacenter S20. This is a 320 rack unit datacenter literally in a box - a shipping container - that can be used for rapid deployment of a datacenter with greater density than a traditional fixed datacenter.

At LinuxWorld 2008 Rackable®Systems showed off their ICE CubeTM Modular Data Center. This has a much higher density than the Sun solution with 28 racks of servers, offering 1400 rack units in all, fitting into a 40' container. The datacenter uses water cooling to reduce costs compared to traditional datacenters. Here are some pictures of the ICE CubeTM:

Saturday, August 2, 2008

Ubuntu: lsb_release: NameError: global name 'unknown' is not defined

A recent upgrade from Ubuntu Gutsy to Ubuntu Hardy started causing apt to fail due to an internal failure in lsb_release:

# lsb_release
Traceback (most recent call last):
  File "/usr/bin/lsb_release", line 327, in
  File "/usr/bin/lsb_release", line 291, in main
    distinfo = get_distro_information()
  File "/usr/bin/lsb_release", line 254, in get_distro_information
    distinfo = guess_debian_release()
  File "/usr/bin/lsb_release", line 213, in guess_debian_release
    rinfo = guess_release_from_apt()
  File "/usr/bin/lsb_release", line 169, in guess_release_from_aptv     version = RELEASE_CODENAME_LOOKUP.get(unknown, rinfo.get('suite',''))
NameError: global name 'unknown' is not defined

The problem turned out to be due to these two entries in /etc/apt/sources.list which were being used to get Polarion:

deb etch main non-free
deb etch/updates main contrib

Commenting them out fixed the problem. I guess they don't work well with Hardy.

Wednesday, July 30, 2008

Alt-Tab Alternatives

One of my friends recently discovered Alt-Tab on Windows, which has been available for a very long time. However the utility of the default Alt-Tab behavior is quite minimal. There are two good alternatives that greatly enhance the default Alt-Tab behavior.

The first is the Alt-Tab Replacement (TaskSwitch.exe) from Microsoft which is part of the PowerToys for Windows XP bundle. This improves the Alt-Tab experience to include previews of the windows as one cycles through them. Useful, but not much of a leap compared to the default behavior. Keep in mind that the PowerToys are not supported by Microsoft.

The second alternative is TaskSwitchXP from ntwind software. TaskSwitchXP shows a list of windows with previews with the ability to take actions on them using both the mouse and keyboard shortcuts. It also has a rich set of keyboard shortcuts. Definitely a far better alternative to the default Alt-Tab and the PowerToy.


Saturday, July 26, 2008

FCC Aproves Sirius-XM Merger

This has been a long time coming but finally the FCC has finally approved the merger of Sirius Satellite Radio with XM Satellite Radio. The combined entity is pretty much a monopoly in the satellite radio space but they are still competing with terrestrial radio. Either way, their stocks, NASDAQ:SIRI and NASDAQ:XMSR should get a good boost on Monday.

Wednesday, July 23, 2008

Lefthanded Mouse in Java Desktop Environment

Ever wanted to left mouse in Microsoft Windows or KDE? The options to swap mouse buttons are easy to find. In Microsoft Windows it's Start -> Control Panel -> Mouse; in KDE it's Control Center -> Peripherals -> Mouse. On the Sun Ray server, running the Java Desktop Environment this option is buried in an unlikely place. It's at Launch -> Preferences -> Accessibility -> Keyboard -> Mouse Keys -> Mouse Preferences. Mouse settings buried under keyboard accessibility; how's that for usability! (Screenshots below taken with GIMP.)

Accessibility : Keyboard : Mouse KeysMouse Settings

Tuesday, July 22, 2008

Happy π Approximation Day!

In the tradition of silly holidays, today's the 22nd of July (7) which makes it 22/7 (for most non-Americans) or π Approximation Day. To get you into the spirit, here's some fun π stuff:

Monday, July 21, 2008

Element Hiding in Adblock Plus

Adblock Plus Element Hiding Helper In addition to the usual methods of blocking images and JavaScript based on URL patterns, the most popular ad blocker - Adblock Plus - has additional sophisticated mechanisms to hide ads on pages. These involve locating nodes in the DOM structure of the page, by any of their attributes (id, class, style, etc.) and hiding them. This technique is called element hiding and typically requires the use of tools like the DOM inspector or the HTML source of the page to figure out what nodes need to be hidden. Adblock Plus has recently made this simpler with the Element Hiding Helper. This utility allows one to pinpoint the element to be hidden visually and then build up the element hiding rule via a graphical interface. Ad blocking (or rather, ad hiding) made simple!

Sun Ray 2FS Virtual Display Client

Sun RayAt work, we've just started experimenting with Sun Rays and I've got a 2FS on my desk. I have used these devices at Java One in the past but this is the first time I've got to take a closer a look at these devices. The 2FS is a sleek package about the size of a notebook. In front, it has a smart card reader slot, one USB 2.0 port, a stereo line level in, a headset jack and a microphone jack. At the back, it has a serial port, a 100 Base-FX optical connection, a 10/100 Base-T Ethernet jack, two USB 2.0 ports, two DVI outputs and the power input. The two DVI outputs are definitely advantage especially for programmers. At present I'm using the Sun Ray with my existing desktop via an Iogear KVM switch (model GCS42UW6) and our office is only wired up for Ethernet. the 2FS uses a RMI Alchemy™ Au1550™ Processor. All that information is based on external appearances and the technical specs from Sun; I haven't looked at the innards yet.

The 2FS comes off as a pretty neat package until you look at the price tag. The 2FS costs $499 plus a $125 Sun Ray Software Right-To-Use (RTU) License from Sun. There's also the cost of the server backend required to support a slew of Sun ray clients. Of course, the purported savings are in the lack of maintenance costs related to upgrades, viruses, etc. That may be meaningful for large companies but for a small to mid-size organization, I'm not convinced about the financial advantages. It definitely puts the Sun Ray out of the home computing market.

Over the next few days, I'll post more information about the Sun Ray based on my use.

Thursday, July 17, 2008

Google Docs Adds Template Support

Loan Amortization Schedule templateGoogle has added template support to Google Docs. There are over 300 templates available for documents, spreadsheets and presentations. Some of the useful templates are the ones for resumes and personal finance calculators. At this time there is no mechanism for users to create new templates (other than starting from an existing doc) but this is a step forward in gaining feature parity with desktop tools.

Technobabble Goes Mobile -

MoFuseTechnobabble is now mobile friendly. Mobile access to the site is available via This is enabled via MoFuse who offer page conversion, image resizing and all their other offerings, including custom domain support, for free. Desktop visitors to the mobile will be provided with a mobile simulator displaying the site. There's even an iPhone simulator version of the page. MoFuse allows sites to be monetized using Google AdSense or AdMob with a 50% revenue sharing agreement. This may be an issue for content providers with high traffic but reasonable for blogs with moderate traffic.

Overall, I'm impressed with the simplicity of setup and the features offered by MoFuse. Definitely recommend it to anyone wanting to expand their blog presence to the mobile world with minimal effort.

Sunday, July 13, 2008

Scour Brings Social Searching

ScourScour is a search engine that brings social searching to the web. It is a metasearch engine that organizes and returns results from the three main search engines - Google, Yahoo and MSN Live. Results can be filtered by search engine and rank within each search engine is displayed. In this respect it's little different from other metasearch engines. The social aspect comes in from the ability to vote on the results (a simple positive or negative vote) and also post comments on each and every search result. In order to encourage this social contribution, registered users are awarded 1 point for each search, 1 point for each vote and 1 point for each comment (with daily limits to discourage abuse). Every 6,500 Scour points translate into a $25 Visa gift card. In addition, points are available for referrals.

In order to encourage use of Scour, an IE toolbar and Firefox Search Engine addon are available. A full demo of Scour is here.

Give Scour a shot.

Sunday, July 6, 2008

Gentoo: dev-python/pyqt4-4.4 failed on pluginloader.cpp

I've been trying to get the latest version of Amarok to build on Gentoo. This in turn requires PyQt4-4.4 but that ebuild fails with this error on pluginloader.cpp:

pluginloader.cpp: In static member function 'static PyObject* PyCustomWidgets::getModuleAttr(const char*, const char*)':
pluginloader.cpp:284: error: invalid conversion from 'const char*' to 'char*'
pluginloader.cpp:284: error: initializing argument 1 of 'PyObject* PyImport_ImportModule(char*)'
pluginloader.cpp:296: error: invalid conversion from 'const char*' to 'char*'
pluginloader.cpp:296: error: initializing argument 2 of 'PyObject* PyObject_GetAttrString(PyObject*, char*)'
make[1]: *** [pluginloader.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/var/tmp/portage/dev-python/PyQt4-4.4/work/PyQt-x11-gpl-4.4/designer'
make: *** [all] Error 2

There's some discussion of this issue on the forums which leads to bug 222435. Ebuild patches are available in the bug attachments.

To install the patches:

  • Download PyQt4-4.4-r1.ebuild to /usr/portage/dev-python/PyQt4/
  • Download PyQt4-4.4-compile.patch to /usr/portage/dev-python/PyQt4/files/
  • Run ebuild /usr/portage/dev-python/PyQt4/PyQt4-4.4-r1.ebuild digest
  • emerge dev-python/PyQt4

Wednesday, May 14, 2008

NetBeans 6.1

With NetBeans 6.1 final now available, I moved up from 6.0.1. Having been used to JDeveloper's idiosyncrasies, this was a pleasant and smooth upgrade. Steps to upgrade:

  • Download NetBeans 6.1 final. I used the Web & Java EE version.
  • Install. I choose to have both GlassFish and Tomcat installed.
  • Run the new version. It detected my 6.0.1 configuration and migrated it to 6.1.
  • Reinstall some 3rdparty plugins like Mevenide.
That's it!

Sunday, May 11, 2008

IBiz E-Banking Integrator

IBiz E-Banking IntegratorThe IBiz E-Banking Integrator is a solution from /n software inc. for retrieving live financial data from banks, credit card, and investment companies. It provides components for Open Financial Exchange (OFX) integration. The components provided include:

  • BankStatement - Supports Bank Statement download functions.
  • CreditCardStatement - Supports Credit Card statement download functions.
  • FIProfile - Supports FI Profile functions.
  • InvStatement - Supports Investment Statement Download functions.
  • OFXAggregate - A generic component for parsing and managing XML aggregates produced by other OFX components.
Currently there is no support for bill payment or intra-bank communications. Demos of IBiz E-Banking Integrator are included in the download package with code samples in C#, VB and even Java.

Saturday, March 15, 2008

Computer Monitors and Productivity

The Wall Street Journal is reporting that Prof. James Anderson at the University of Utah have conducted a study about computer monitor sizes/number and the impact on productivity. Their findings: "People using the 24-inch screen completed the tasks 52% faster than people who used the 18-inch monitor; people who used the two 20-inch monitors were 44% faster than those with the 18-inch ones. There is an upper limit, however: Productivity dropped off again when people used a 26-inch screen."

Time to shop for some computer monitors in the name of productivity.

Technorati Tags: ,

Friday, March 14, 2008

Happy π Day!

In the American system of writing dates, today is 3/14 (March 14th) which is the approximation of π to two digits 3.14. It's therefore celebrated as π Day.

Happy π Day!

The media is buzzing with the annual outpouring of π math and trivia and here's some good stuff:

Technorati Tags: ,

Thursday, March 13, 2008

Inside Google

A former Google employee - Hans Cardinal - has apparently vented about Google's recruiting practices and the way things are inside in Google. I'm not surprised though, especially about this statement: "... most of the new hires work on ads. Maintenance. Bug fixes." This is inevitable in a large company that has a well-established product.

Technorati Tags: ,

Monday, March 10, 2008

Starcraft 2 - Zerg Unveiled

Blizzplanet has screenshots of the Zerg from the upcoming Starcraft 2. Very detailed and I must say that the visuals are more gory than the original Starcraft. Some of the sights are going to send shivers down the spines of Terrans and the Protoss.

En Taro Adun!

Technorati Tags: ,

Sunday, March 9, 2008

The Internet

Here's a description of the internet from the New York Times as part of an obituary to Gary Gygax, the co-creator of Dungeons and Dragons. If you understand most of this without a Google search or Wikipedia browsing, consider yourself an internet geek. (Click on the image if you are unable to see the whole thing.)

Technorati Tags: , , ,

SI Prefixes Redux

A while back, I had a post about SI Prefixes. XKCD now has a humorous take on SI Prefixes:

Technorati Tags: , ,

Sunday, February 24, 2008

"No to nuclear power, solar energy first"

One of the big news items of the weekend is Ralph Nader's decision to run for President in 2008. Nader supporters and detractors alike are familiar with his career, his contributions to society and his influence on the American political landscape.

But what does this have to do with technology, which is what this blog is about?

Well, one of Nader's positions is "No to nuclear power, solar energy first". At first glance this seems like a self-contradictory position for an alternative energy support. Both nuclear power and solar energy are practically limitless sources of energy compared to fossil fuels. So why choose one specifically over the other? The answers are in this article Why Not Nuclear Power?. The arguments are related to safety (not just the safety of the reactor but the safe disposal of nuclear wastes which can contaminate for centuries) and economics. The WWF's position paper has further details and lays out the vision for the future of energy.

Technorati Tags: , , ,

Friday, February 1, 2008

Microsoft Offers $44.6bn For Yahoo!

Earlier this morning Microsoft (NASDAQ:MSFT) announced that it had placed an offer before the Yahoo! (NASDAQ:YHOO) board to acquire all outstanding shares of Yahoo! at $31 per share, payable in the form of $31 in cash or 0.9509 of a share of Microsoft common stock, subject to the proration that one half of Yahoo shares will be acquired for cash and the other half for Microsoft shares. Based on yesterday's closing price of Microsoft shares - $32.60 - the deal valued Yahoo! at around $44.6bn. Predictably, Yahoo! shares shot up by 48% to close at $28.38 while Microsoft shares fell around 7% to close at $30.45. Right-now, that values Yahoo! at around $43bn.

Many are interpreting this a sign of Microsoft's desperation in the battle of dominance against Google (NASDAQ:GOOG). On the Yahoo! side, it's definitely a big boost given their dismal outlook and impending layoffs, announced just three days ago. The Yahoo! co-founders will make a lot of money from this deal:

Value of Yahoo! co-founders at $31/sh Microsoft offer

It's still far from being a done deal. The offer price is below Yahoo!'s 52-wk high of $34.08 which they hit less than four months ago. Post-acquisition integration of the companies is also no trivial task. As an example, Microsoft will have to choose between Yahoo! News and MSNBC due to their exclusivity agreements with NBC. With such a large acquisition there are also the inevitable cultural differences which are best summed by this picture:


Technorati Tags: , ,

Wednesday, January 16, 2008

Sun to acquire MySQL AB for $1bn

Sun (NASDAQ:JAVA) announced today that they will be acquiring MySQL AB, the maker of the popular open-source database MySQL. Sun sees this as further validation of the LAMP technologies. Jonathan Schwartz (CEO of Sun) and James Gosling (father of Java) are both very excited about this. I wonder how Oracle (NASDAQ:ORCL) will view this given that Oracle already controls Berkeley DB and InnoDB, the two most popular storage backends for MySQL.

Technorati Tags: , , , ,

Saturday, January 12, 2008

Netscape R.I.P.

A few days ago, AOL pulled the plug on Netscape the browser. Yes, Netscape is finally dead. R.I.P.

Netscape has had a colorful history filled with ups and downs. I'll need more than a blog entry to chronicle that history and there are tons of books out there that do a much better job than I can ever hope to do. The history is filled with great programmers, their software, their companies, their stock market fortunes and such.

Personally, I have fond memories of Netscape (despite its bugs and later bloat), having used it since its 1.0 days circa 1994. A few years ago I moved to its progeny like Mozilla (the suite), Mozilla Firefox and now Minefield but Netscape was the browser that opened up the Web to me. I remember spending so much time downloading Netscape releases and browsing the great documentation on DevEdge. To this day, my primary browser has been Netscape or its progeny and Lynx for quick text browsing.

For a trip down memory lane, check out this screenshot tour of how Netscape 0.9b runs on Windows today. The best screenshot for me is the about:mozilla page. Those are the guys that changed the world.


Technorati Tags:

Gizmodo's CES Stunt

One of the biggest stories coming out of the just-concluded Consumer Electronics Show (CES) is Gizmodo's infamous stunt. Gizmodo is one of the most popular gadget blogs where the bloggers, in their own words, claim to be "So much in love with shiny new toys, it's unnatural." However at CES they did nothing but demonstrate their immaturity.

At the 2008 CES, Gizmodo reporters went about using the TV-B-Gone infrared remote to turn off exhibitors' TVs displays. They had the gall to do this even during a presentation by Motorola flustering the Motorola presenter and perplexing the technicians. The smug jackasses then posted a video showing off these juvenile antics as if they had done something great.

Despite the widespread condemnation of their vandalism, they continue to defend themselves, calling the whole thing a harmless prank. I bet none of these morons ever did a presentation in public showing off cool products. The whole episode has left me disgusted with Gizmodo. I won't be reading their blog anymore and I hope they never get invited to another gadget show ever again.

Technorati Tags: , ,

Friday, January 4, 2008

Fifty Years of the Communications of the ACM

The ACM is celebrating 50 years of the Communications of the ACM this month. The first issue came out way back in January 1958 with just 20 pages. That issue contained articles about computing square-roots and programming a binary counter for the IBM Type 650 calculator. That was no tiny handheld calculator.

Computing has come a long way in those 50 years that no one even thinks about the content in that first issue! However there are still some gems from the early years of computing that maintain their relevance and provide insights into the Art of Computing. One such example, is the Letter to the Editor of the CACM by Edsger Dijkstra in 1968 entitled "Go To Statement Considered Harmful". That letter sparked a debate that goes on to this date. Whatever be one's point of view about "go to", it is a beautiful insight into the Art of Computing, a dying art that today's programmers are sadly no longer in touch with.

Technorati Tags: , ,