Friday, May 30, 2008

The end of the set-top box, powered by Java (true2way)?

Sony and six large US cable companies - Comcast , Time Warner Cable, Cox, Charter, Cablevision and Bright House Networks - have agreed to adopt a standard that will allow consumers to access interactive digital and high-definition video without the assistance of a set-top cable box.

The hardware interface is governed by the CableCard standard, and true2way is the Java-based middleware software used to control services.

True2way was previously known as OpenCable. true2way specs, Java sdk, etc are here; developer community site here.

The real goal behind these standards is to prevent any one set-top company from dominating and dictating to the cable companies. Currently Motorola and Scientific Atlanta (owned by Cisco) are the two leading set-top providers in the US.

I'm curious to see if adoption of these standards will create a market for small content providers, or will the cable companies who control the "gateways" to your TV restrict access like the telcos did when they adopted WAP? Or will the convergence of PC/Internet/TV kill cable?

Thursday, May 29, 2008

Reduce your server load by using Google hosted open source javascript libraries

When building a medium- to heavily-used webapp a common best practice is to separate the static content (static html, images, javascript files) from the dynamic content, then have the static content served up by Apache/IIS or even a web cache. Generally you try to off load whatever content you can from your dynamic content server to something that can handle static content more efficiently.

If you are using one of the common open source javascript libraries like Dojo, prototype or jQuery you'll have to bundle a copy of said library with your application, which of course will be downloaded to the browser from your website because browsers are not smart enough to realize that "I already downloaded and cached Dojo version 1.1 from another website I looked at recently".

Wouldn't it be great if a company with a reputation for high availability and lots of bandwidth hosted some of the common javascript libraries so that your website and others could benefit from caching? Well, Google AJAX Libraries API provides such a service. A downside of course is that Google could track some of the users of your website :)

Real-time stock quotes soon to be free over the internet?

20 years ago if you wanted a real-time stock quote you had to phone up your broker.

Then along came the internet and you could get real-time quotes for a fee from your broker's website or for free with a 15-20 minute delay on sites like Yahoo! Finance and money.cnn.com.

Now, Bats Trading, one of the larger ECN alternatives to the NYSE and Nasdaq has agreed to stream real-time quotes direct to Yahoo! Finance.

Gotta love competition in big markets like the US :)

Update: Now the Nasdaq have agreed to provide real-time quotes to Google Finance, the Wall Street Journal, CNBC and Xignite.

Sunday, May 25, 2008

Cisco Etch - a replacement for SOAP, or just another CORBA? And why is there still no binary protocol version of SOAP?

I see that Cisco are planning to release and open source a new RPC protocol called Etch later this year. Goals of Etch:
  • RPC protocol without the compatibility and complexity issues of SOAP
  • Mappings across many langauges (C# and Java to begin with, Python and Ruby later)
  • IDL based
  • IDE support
Performance is supposed to be significantly better than SOAP:

In a testbed environment where SOAP was managing around 900 calls a second, Etch generated more than 50,000 messages in a one-way mode, and 15,000 transactions with a full round-trip, company officials stated.

Although not mentioned in the article I'm willing to bet Etch is a binary protocol (implied by performance and Cisco's network heritage). So if it is cross-language, IDL based and binary, what is the difference between Etch and CORBA?

The performance of SOAP is something that constantly disappoints me whenever I develop a large-scale web service. After many years debating the topic the SOAP standards people still haven't come up with a binary version. Because text based XML is a 'standard' there is little you can do to boost SOAP performance other than throw more hardware at it, usually by running many instances of the web service.

I haven't had the cash to try xml hardware acceleration :)

Microsoft have a proprietary .NET-to-.NET binary version of SOAP, and Hessian is a notable open source binary SOAP (benchmarks here).

When I get the time I'm curious to see if the VTD-XML parser can help boost application performance. The doco for this project implies that the author first tried to patent his XML parsing techniques and sell them to the likes of Sun, but for some reason nobody bought it. Now the author has released C, Java and C# implementations under the GPL license, but he won't release the source code :)

Thursday, May 22, 2008

Build your own Java CMS?

I've encountered a number of Content Management Systems (CMS) in recent web based projects, both commercial and open source. Many of them can cope with minor tweaks, but even the open source variants cannot be easily modified to add significant features (I'm looking at you Alfresco :)). Or maybe this is true with just the Java open source variants (I haven't tried some of the heavily used PHP CMSssss like Joomla).

My thoughts on CMS have been drifting towards a CMS core that is only a core, much like Lucene is just a core search engine without being tied to a particular UI or data store. Today I might have stumbled across such a CMS core - riotfamily.org. I'll definitely look into it in more detail.

The downside of using a core is, of course, that you have to build supporting infrastructure around it - which is no big deal for someone like me who writes custom applications for a living :)

The CMS Matrix has a pretty extensive comparison of CMS products.

Moody's coding error gave AAA rating to CPDOs?

A story on how Moody's gave AAA ratings to the then new debt instrument Constant Proportion Debt Obligations - CPDOs (not C3POs!) - only to later discover an error in their models should have rated the instruments as much riskier. Ouch. What makes it worse, however, is that Moody's managers kept quiet about it when they discovered the flaw.

The story sounds a little suspicious to me (I smell a scapegoat) because Standard & Poors, the other major ratings agency, gave the same AAA rating to the instruments. Did both agencies "arrive" at the same rating under pressure by various financial institutions? (It takes rating from two agencies before a new instrument can be traded.)

If the subprime crisis hasn't already reminded people that you can't blindly trust the ratings agencies...

Thursday, May 15, 2008

eBoostr - bring Vista's ReadyBoost and SuperFetch to XP

Although many people say Vista's ReadyBoost - uses portable massive flash storage as a drive for disk cache - doesn't improve performance I was interested to see a private company had come up with a similar solution for XP.

The eBoostr software allows you to use a USB drive as a memory cache. As a number of people have commented, for the price of the software ($39) plus the cost of the USB drive you could get on board memory for cheaper. However, I might have a use for this: In the past some of my clients have been reluctant to supply PCs with enough memory to run a full development environment (e.g. Java + Eclipse + JBoss + MS Office) , so instead of making an issue of it a nice solution would be to install eBoostr :)

Speaking of USB drives, I'm tempted to try out MojoPac which allows you to carry around your own XP data files, applications and environment on a USB drive :)

Google Doctype - web developer resource encyclopedia

When I first heard Google launched "Google Doctype" I thought "oh no, Google are creating their own web page DOCTYPEs?" Fortuntely the answer is no.

Google Doctype is an encyclopedia for web developers, containing pretty complete HTML, DOM and CSS references as well as some useful javascript snippets and HOWTOs on security, style, DOM manipulation, etc.

If you have a Google account you can also hit the Edit link, wiki style :)

I'll have to try out this reference with my next web project. I looks like it could save my time trawling through the verbose w3c specs or the poorly designed (but still useful) w3schools site.

Tuesday, May 13, 2008

Who is the Fifth Cylon?

There is some pretty creative speculation going on about who is the fifth and final "skin job" Cylon in the final season of Battlestar Galactica.

Of course it can't be one of the Centurions from the original series...


And it can't be one of the new Centurions...


And allegedly it is someone who is not in the "last supper" promo picture...


My money is on either Baltar (or else they better explain those hallucination sequences with the Six) or Rosiland. But I love the theory that everyone is a Cyclon except for the tribe that originally fled to Earth :)