Saturday, November 6, 2010

Mac OS X Virtualisation

This evening I read that Apple are retiring the Xserve. I guess that's a shame as I always wanted to see more of OS X in the server space. I think that this will relegate OS X to the SOHO market; unless... Apple permit virtualised instances of OS X.

Permitting virtualisation would be a very smart move by Apple. Let's face it, unless you can run on OS as a virtualised instance then you're never going to be a player in the enterprise and in the elastic cloud.

Time will tell if Apple see the merits of virtualisation.

Thursday, November 4, 2010

JavaScript Dependency Management and JSLint Tools

I've been focusing on JavaScript Rich Internet Application development for some time now and have felt that while JavaScript is a capable language, it has sorely lacked tooling. This situation is changing of course and we're seeing more JavaScript tools come from the likes of Mozilla, Apple and Google quite frequently.

I feel that the lack of dependency management with good version control in any language is painful and JavaScript was no exception. I recently spent a good part of my day sorting out dependencies in a .NET environment; I sorely missed Apache Maven there. Given my JavaScript development activities I decided to provide the dependency management functionality of Maven to JavaScript via a Maven Plugin.

Imagine writing just the following in your JavaScript code when you want to ensure that jQuery or Prototype.js is present at runtime:

var $;

Alternatively when there are no global variables declared by a JavaScript dependency you can import it without being concerned about its file location and version:

/**
 * @import com.jqueryui:jquery-ui
 */

The com.jqueryui:jquery-ui artifact along with its version is declared in Maven's POM file.

This frictionless approach to declaring JavaScript dependency requirements is the motivation for the Maven JavaScript Import Plugin.

I'm pleased to announce the availability of my JavaScript Import Plugin at Codehaus where I have now also become a committer (a great honour!).

Along the way  I decided to create a plugin that provided efficient JSLint invocation during JavaScript development. This plug is also released at the Codehaus and is named the JSLint Plugin.

Please help the professional JavaScript developer community by downloading and building the projects from source and try out some development using the plugins.

Maven crashing with a bus error/invalid memory access given Java 10.6 update 3

I had this very annoying scenario where all of a sudden the following happened:

mvn
Invalid memory access of location 0x133cd800a rip=0x100504444
Bus error

This seemed to happen as a result of updating to Java 10.6 update 3 on Mac OS X Snow Leopard; but not straight away!

After a while I started to wonder if the update was installed correctly. So, I manually downloaded the update from here:

http://support.apple.com/kb/dl972

...and presto, things appear to be ok again... let's see how long that lasts!

I understand that as of this update, Apple are handing over control to Oracle in terms of managing the distribution of Java on Mac OS X. I think that this is generally good given that Apple has always been a little behind in terms of the latest Java release. Let's hope that the quality of the distro on Mac OS X does not go south though!