This article on using GPS and cellular technologies to overlay virtual worlds on real ones is just too cool. It's awesome to see Niven and Barnes' Dream Park vision really starting to happen.
Category: Tech
Everything about technology but product reviews
Software Development Tools – Declaring Maturity
My job requires me to figure out road maps for software technologies. One of the key heuristics I use in figuring out where a software technology is likely to go is mapping out that technologies transition from a procedural to a declarative design environment. This technique is proving a big help for my work on utility computing.
Continue reading Software Development Tools – Declaring Maturity
Ode to Apple – The iMac Rocks!
Atoning for my mistake of buying my wife a Dell laptop running XP that has more or less been a constant nightmare over the years we've owned it I decided to give her a birthday present a bit early – a new iMac. My wife is no technophobe but similarly she is not a technophile. To her a computer is a way to get things done. But her attitude changed when I get her the iMac.
Utility Computing – It's management, stupid.
All this talk of computing as a fungible utility is very nifty but it wouldn't be the first 'sounds great, adds nothing' technology to come down the pike (repeat after me – "I mostly just need XML and HTTP."). So as I embark on my new job of helping to figure out BEA's utility computing strategy I want to make sure that there is some value in "them thar hills". Which means that before I worry about what utility computing is or what it should do I want to first know what the problem is.
Continue reading Utility Computing – It's management, stupid.
Utility Computing & Software Licensing Costs
In my previous article on utility computing I didn't talk at all about software licensing costs. In thinking about software licensing the key question I care about is: are software licensing costs a technology or a business challenge?
Continue reading Utility Computing & Software Licensing Costs
Rights Not Exercised are Lost – Tibco, BPEL & Rendezvous
Our rights only exist to the extent that we defend them in our daily lives. The right to free speech, for example, would quickly drain away if we didn't frequently exercise it and by so doing kept the knowledge of the rights importance and the mechanisms to protect it alive and well. But too often people believe that the need to defend our rights doesn't apply to them because they are just a single individual. Who cares what a single person does? But when each individual believes their actions don't matter then they significantly reduce the work required by those who would take our rights away.
Continue reading Rights Not Exercised are Lost – Tibco, BPEL &
Rendezvous
Host Routing Multicast Engine (HRME)
I liked university. It gave me time to think about things. It gave me interesting people to talk to. But then I had an idea. It was called the Host Routing Multicast Engine (HRME). The idea was to get computers above the TCP/IP layer (e.g. not IP based multicast, see here for the problems with IP multicast) to join up in a spanning tree and distribute information down the tree. By each machine volunteering to redistribute content to every other machine one could very efficiently distribute large amounts of data. I'm sure this all sounds very familiar but these thoughts occurred to me back in 1994. 56Kb modems were state of the art, e-mail was still mostly 7 bit text, the Internet bubble was just getting started and I smelled money in them 'dar' hills.
BPEL, TIBCO and trademarking the English language
Issue 202 in the BPEL TC is a demand from Tibco that the BPEL TC change the word 'rendezvous' that is used as the value of an attribute in the BPEL programming language because Tibco has trademarked the word 'rendezvous'. To be clear, trademarks do not apply to 'descriptive' uses and that is exactly how BPEL uses the term 'rendezvous'. So legally speaking Tibco most likely doesn't have a leg to stand on. I do have sympathy for Tibco because one is required to 'vigorously' enforce a trademark in order to keep it. So to protect their trademark they need to be seen to be defending it, hence issue 202. But now people in the group are scared that Tibco will sue them (or their employer) if we don't change the term. Hopefully the group will stand up for the freedom to use the English language and reject issue 202 on next week's call. An even better outcome would be a change in the law that would make it illegal to get a Trademark on a common English word. The fact that Tibco could trademark the word 'rendezvous' and then try to banish its use from technical efforts is insane.
The WSDL 1.1 XML Namespace Screw Up
The official schema namespace for WSDL 1.1 is http://schemas.xmlsoap.org/wsdl/. But, and here is the fun part, the schema for that namespace given in the official W3C WSDL 1.1 note and the schema for that namespace given at the actual XML namespace URL are different. But wait, it gets better. Not only are the two schemas different, they aren't even compatible with each other! I'll give the gory details below but the bottom line is that there exist two incompatible versions of the WSDL 1.1 schema, one in the W3C note and one at the actual XML namespace URL which use the same XML namespace and the same element names. Just to add to the fun the WS-I has officially approved the schema at the actual namespace URL in contradiction to the schema in the W3C WSDL 1.1 note. So now implementers get to pick which industry body they favor since they have competing, incompatible, definitions for the WSDL 1.1 schema. I suppose errors like this make it more understandable why versioning in Web Services is such a disaster.
The Importance of Humility in Extensibility Design
When designing a protocol or programming language the inclusion of extensibility is essentially an act of humility. One is minimally admitting that one's design is not complete and more generally one is admitting that one's design is not perfect. By providing for extensibility one is enabling others to improve and in many cases fix one's design.
Unfortunately it's easy to get extensibility design wrong. Typically such design errors result from assuming oneself or others to be perfect and in that assumption one fails to provide for sufficient extensibility. A rather subtle example of this problem recently came up in the Web Services – Business Process Execution Language Technical Committee (WS-BPEL TC).
Continue reading The Importance of Humility in Extensibility Design