Skip to main content

Posts

Showing posts from 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.

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; @XmlRootElement public class Node { ... private List<Node> children; ... @XmlElementRef(type = Node.class) public List<Node> getChildren() { return children; } ... } Define the JAX-WS service method: @WebMethod 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

This 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 .

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='http://syntaxhighlighter.googlecode.com/svn/trunk/Styles/SyntaxHighlighter.css' rel='stylesheet' type='text/css'/> <script language='javascript' src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shCore.js'/> 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='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushXml.js'/> Finally, right at the bottom before the </body> tag, add: <script

Cloud Connect 2009

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 delet

Mashup Camp 2008

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

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 .

The Open Source Census

Traditional 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 dis

Aurora

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 Cube TM 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 Cube TM :

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     main()   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 http://debian.sh.cvut.cz/debian/ etch main non-free deb http://security

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.

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. Yahoo! Finance Quote for SIRI Quote for XMSR

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.)

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: π approximations including this one: π Day history π limericks like this one: Now there is an ancient Greek letter, And I think no other is better. It isn't too tall, It might look very small, But its digits, they go on forever. π to a million digits

Element Hiding in Adblock Plus

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

At 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 nea

Google Docs Adds Template Support

Google 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 - m.element77.com

Technobabble is now mobile friendly. Mobile access to the site is available via m.element77.com . 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.

Scour Brings Social Searching

Scour 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 .

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 le

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!

IBiz E-Banking Integrator

The 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.

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: monitor , productivity

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: BBC has a good introduction to π in history and culture. Watch an applet compute the value of π using Buffon's Needle Problem . For those interested in numerical computation, here are some ways to compute the value of π . One of the ways is using the series expansion for arctan(x): If you're mesmerized by continued fractions, here are some continued fractions that represent π . One that particularly looks "nice" is this one: Technorati Tags: math , π

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: google , recruiting

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: starcraft , zerg

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: dragons , dungeons , humor , internet

SI Prefixes Redux

A while back, I had a post about SI Prefixes . XKCD now has a humorous take on SI Prefixes: Technorati Tags: humor , si , standards

"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

Microsoft Offers $44.6bn For Yahoo!

Yahoo! Finance Quote for YHOO 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 ma

Sun to acquire MySQL AB for $1bn

Yahoo! Finance Quote for JAVA 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: sun , mysql , oracle , bdb , innodb

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

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 wi

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: acm , cacm , goto