I got a note from a old colleague at Headway Software – they’ve got their new Structure101 tool out on beta and it’s looking very good. Identifying excess structural dependencies in code is nigh on impossible without top down analysis tools like this and any tool that can identify “fat” and “tangled” code gets my vote. Anyone interested in modular java programming should check it out – they’ve put some 2-minute web demos if you want the quick intro.
With the release Eclipse 3.0, the Eclipse platform migrated the core runtime onto a new OSGI R3 implementation as the basis for its whole plugin framework. The OSGI implementation provides all the low level bootstrapping, plugin classpath management, dependency resolution, APIs exposure control and and whole host of other (currently underutilized) facilities. Eclipse users havn’t noticed the change since it’s all under the hood but Eclipse plugin developers have noticed as the plugin framework is now a little more powerful and metadata can now migrate from the trusty plugin.xml descriptor into an archive’s MANIFEST.MF file, as prescribed by the OSGI specification.
Recently, the OSGI implementation has been promoted to a sub-project of the Platform project and is now publically known as the Equinox project. Effectively they have seperated the OSGI implementation from the rest of the Eclipse platform and now distribute the OSGI framework as one 700k jar. That’s a lot of very useful framework packaged into a very small archive. What got me more interested is that they added a command line interface onto their OSGI framework. Launching it is as simple as:
C:\eclipse\plugins>java -jar org.eclipse.osgi_3.1.0.jar -console
That gives you a little ‘osgi’ prompt:
Here’s a hint – enter ‘?’ for help – I’ll not paste it all in here but suffice to say that you can do a lot from that little prompt. There’s lots more at the Equinox quickstart page.
Now here’s where it gets interesting. Java has needed something like this for a very long time and the Java Community Process are starting work on a Java Module System(JSR 277) specification. The initial description of that JSR pointed out that OSGI R3 had some limitations that rendered it unsuitable for consideration. But now Eclipse now supports OSGI R4 – I wonder does it resolve those issues?
I expect to see OSGI play a larger and larger role in Java library/application packaging and distribution in the future. However, OSGI really only provides benifits if the packaged code is modular and easily pluggable. Monolithic messes that cannot be decomposed into multiple bundles will not gain as much benifit.
Wow of the day (and proof that the Japanese are really on a different plane to us Irish). Apparently, NTT (Japanâ€™s main telephone company) has created a remote prototype that can control people. An interesting quote from a “user”:
I felt a mysterious, irresistible urge to start walking to the right whenever the researcher turned the switch to the right. I was convinced â€” mistakenly â€” that this was the only way to maintain my balance. The phenomenon is painless but dramatic. Your feet start to move before you know it. I could even remote-control myself by taking the switch into my own hands.
What-the?”Remote-control myself” How weird is that?
It would appear that the Eclipse Platform, or actually the new-ish Equinox (OSGI runtime) project have finally decided to eat their own dog food and address â€œthe poor practice of not versioning Eclipseâ€œ) for their 3.2 release.
If you are skimming, comment #50 is the most important response I think – also #25, #27, #30, #32, #40 are good contributions.
They have published a versioning best practices document that is incredibly complicated but (given the length of the bugzilla thread) it would seem a lot of thought has gone into finding a system that works for both maintenance and forward dev branches.
About time if you ask me, the lack of strict version specification in the Eclipse platform has lead everyone downstream to believe it was ok to do the same, leading to an almighty mess and in most cases making it impossible to use the update manager to reliably install multiple unrelated features into the same Eclipse installation.
Now they’ll just have to get all those other projects to follow their lead…
Engadget have a great page on the ongoing Blu-ray vs HD DVD battlethat seems to have reached a critical point.
Microsoft’s public statement, in support of HD DVD, cites Blu-ray’s lack of support for managed copy and HD DVD’s better backward compatibility as the reason they are supporting HD DVD.
Both of these claims look shallow. Backward compatibility could easily be achieved if the drives add a second (red) laser and optical pickup – dirt cheap to do. Managed copy can also easily be implemented in Blu-ray’s existing AACS content protection system – it’s just not part of the underlying disk format.
So what’s the real reason why Microsoft won’t back Blu-ray? A small footnote in Engadgets page hints:
The Java platform is mandatory on Blu-ray as itâ€™s the standard for menus/multimedia (i.e. all Blu-ray systems must support JVM) (1)
In other words, to support Blu-ray, Microsofts player would have to use Java to render the Blu-ray disks user interface – interactive menus etc (current DVDs use pre-rendered MPEG menu elements with very simple control interfaces). Does Microsoft want to depend on a Java Virtual Machine for anything? Like hell they do.
This week TG Daily report that HP have appealed to the Blu-ray Disc Association to implement two missing features: Managed Copy and oh, this other little thing called iHD. What is iHD you might ask? It’s the XML based interface definition format used by HD-DVD. It would not require players from vendors like Microsoft to use Java.
As the article above clearly states, HP have completely changed their position on both issues and its not half obvious there is a Microsoft gun stuck in their back. The question is why would the rest of the Blu-ray Disc Association listen to this demand/request when they know it is really from Microsoft who, having backed the competing horse, are now desperatly trying to hedge their bets? I’d imagine there is some amount of horse trading going on between members of the Blu-ray Association Board but Sony are sitting is a very enviable position. At best they will freeze Micrsoft out of the Blu-ray player market, at worst they might concede on iHD and compete on a more level playing field.
Today, Sony hold the tactical advantage over their biggest home media competitor.
(1) More info in Wikipedia
Interesting concept – VMWare have released a free lightweight (28Mb) distribution of their virtual machine engine that just plays pre-built OS distributions. Nice way for vendors to distribute demos/trials of their software, and I’m sure big shops will use it internally to run old machine images.
I must give it a spin at the weekend, their browser appliance virtual machine is probably worth a look for the hell of it. From what I gather it contains a stripped down Ubuntu Linux withFirefox, GAIM, BitTorrent, and a Terminal Server Client.
An example from an appearance on ABC’s 20/20, Washington D.C., January 14, 2005:
I’m also mindful that man should never try to put words in God’s mouth. I mean, we should never ascribe natural disasters or anything else, to God. We are in no way, shape, or form should a human being, play God.
Anyone working at the coalface of the IT industry tends to absorb new devices and interfaces that confuse or scare the hell out of most end users. Trying to explain how an iPod can really store 10,000 songs by mentioning things like compression and gigabytes usually draws a short 3 second blank stare ((“but….the CDs?”), followed by an abrubt change of conversion. (Another good example: try asking your one of your parents to switch off your iPod with no further instruction and you’ll see how ‘user friendly’ the iPod interface is.)
Users get uncomfortable when they can’t comprehend how things work and I occasionally get that sensation too – when I do, if I get a chance I’ll at least hit Google and go learn more. But sometimes, I stumble across new devices that just makes me go “wow” and I draw a line in my mind that says “you don’t want to go in there, it’s beyond you”.
Today’s “wow” came from Toshiba’s 4Gig 0.85″ hard drive. Look at the size of that thing! It’s impossibly small! I know Intel & co have ICs that contain millions and millions of transistors that are way smaller but this drive is smaller than my finger tip and it’s got real moving parts (and an electric motor) that operate to incredible degrees of precision, unimaginable to us.
Wow. (I know, I know, I’ll read this in five years time and laugh helplessly)
IBM have decided they need to add some hardware to WebSphere to handle some of that heavy XML processing load and they went out and bought DataPower. Hardware XML messaging processing make a whole lot of sense for relativly static and stable WSDL defined services, as long as the hardware integrates well with existing authentication and authorization respositories (LDAP etc). I’ve no experience with DataPower’s product but it all looks sensible:
It will be some time before IBM have it all integrated nicely with WebSphere – I presume they’ll have to produce yet another version of Websphere Server that is pre-configured to run behind this hardware.
Interesting, I don’t remember there ever being a similiar hardware device for CORBA/IIOP – perhaps that was a contributor to CORBA’s failure on the internet. IBM must have learned a little (even if they were not at the forefront of the CORBA market).