Sunday, January 20, 2008

Some Project Zero Thoughts

IBM's little Project Zero is their effort to provide a Java-based Web 2.0 framework/toolkit/whatever for building your own applications. Several things look promising, such as the list of core Web 2.0 services (commenting, tagging, rating, etc) at http://www.projectzero.org/wiki/bin/view/Documentation/CoreGettingStartedZeroZone.

But looking at it raises more concerns and confusions. I could just be wrong, but here are some criticisms.
  • They seem to be providing their own Web server container, which is a really bad idea. How do I port this to some other Web Server like Tomcat or Jetty?
  • I managed to stumble on a bug in their simple "to-do" list application--only the last item in the list gets deleted properly.
  • They rely on Groovy as their Java Web framework (you can also develop in PHP). Groovy may be nice, and it does sound sort of like "Ruby", but there are also a lot of JSP developers out there. Why ignore them? Having seen a lot of Java ideas come and go, I am really reluctant to embrace anything but the lowest common denominator technology from them.
  • The packaging of the tutorials is nice and easy to get going (looks like maven or ant under the hood of some scripts), but I have to critique them a bit on their documentation (or maybe I didn't read carefully enough) here: it was not clear until I dug a little more that the methods implemented in
    todos.groovy represent the universal Project Zero API for REST services: all services implement onList(), onCreate(), etc, and these are bound to various HTTP Methods (onList <--> GET). See http://www.projectzero.org/wiki/bin/view/Documentation/CoreDevelopersGuideREST.I think this is reasonable (after, REST is essentially a universal API, the equivalent of a one size fits all WSDL). I just wish the nice tables in the link above were shown in the tutorial.

More Mac OS X Emacs

There is a nice list of emacs for Mac OS X here: http://www.emacswiki.org/cgi-bin/wiki/EmacsForMacOS.

I've been using the build from Porkrind (as I posted some time ago), but I have recently switched to EmacsApp. EmacsApp features much nicer integration with the Mac GUI widgets and supports both the classic Emacs keyborad shortcuts as well as standard Mac shortcuts (that is, paste can be either cntrl-y or apple-v). Moving text between Emacs and other Mac applications is much better implemented.

Friday, January 18, 2008

Birdbath and Globus RSL

The condor_submit globusrsl parameter's "real" name is GlobusRSL (use condor_q -l to see this). Thus to specific in your Birdbath Java client an RSL parameter such as maxWallTime, use

new ClassAdStructAttr("GlobusRSL",
ClassAdAttrType.value2,
"\"(maxWallTime=120)(maxTime=120)\"")