Monthly Archives: November 2007

>XINS 3.0 (updated x3)

>Note (added Jan 8, 2008): This article is outdated, please read “XINS: Splitting out Logdoc?

XINS is a powerful technology for writing web applications and web services. While the current 2.1 version already sports a lot of functionality and flexibility, here’s my wishlist for a 3.0 version:

  1. Support for Java 5 generics. If this will make the framework Java 5+ only, so be it.
  2. Support for XML-type parameters, both in and out.
  3. A XINS service caller engine; a separation between the XINSServiceCaller and the actual protocol used, possibly with a (static, non-final) inner class Engine.
  4. Provide an alternative front-end calling convention that sports clear URLs, path-based instead of parameter-based.
  5. Combine multiple function invocations in one call, avoiding the network overhead of multiple calls.
  6. Multi-implementations: Allow a single API implementation to implement multiple API interfaces.
  7. Allow API inheritance, so that one API can inherit the functions defined in another.
  8. After some thorough analysis, apply some secure defaults. E.g. only allow metafunctions to be called from localhost.
  9. An SMTP caller that supports load-balancing and fail-over (see RFE 1859843).
  10. A similar SMS caller (see RFE 1864472) that allows the sending of SMSes via different gateways.

See also:

Updated December 20, 2007: Added #5, #6 and #7.
Updated December 24, 2007: Added #8.
Updated January 5, 2008: Added #9 and #10.


>XSLT 2.0: select attribute within xsl:choose

XSLT 2.0 (which includes XPath 2.0) is enhances XSLT 1.0 in many ways. Among other improvements, it supports regular expressions, multiple output documents, plain text parsing, etc.

However, of course there’s always more on one’s wishlist; or at least on mine. I’d like to see support for the select attribute on xsl:when and xsl:otherwise attributes. Currently, with XSLT 2.0, the following is a typical construct:

<xsl:when test="@lang">
<xsl:value-of select="@lang">
<xsl:value-of select="$defaultLang" />

With my proposed change this can be reduced to:

<xsl:when test="@lang" select="@lang" />
<xsl:otherwise select="$defaultLang" />

It’s shorter, easier to read and probably quite straight-forward to implement in parsers. And IMHO it is even consistent with the rest of the language, because since XSLT 2.0 even the <xsl:with-param> element supports the select attribute…

Leave a comment

Posted by on 15 November 2007 in xslt


>Mac OS X 10.4 (Tiger) annoyances

Here’s my list of some annoyances I have with Mac OS X 10.4 (a.k.a. Tiger). I have not switched to Leopard yet, but I doubt whether the issues I list here have been fixed in Leopard (if you know, please add a comment.)

  1. When replying to a sent mail, my own e-mail address is in the To: field. D’oh!
  2. There is no easy way to see which e-mails are currently being sent or are scheduled to be sent at a later point in time.
  3. While synchronizing with a slow IMAP server, my inbox lists none of my incoming messages.
  4. Create a new message. Edit the To: field. Type a name followed by a less-than sign (<) and then paste (Cmd-V) an e-mail address. Notice that there's now a comma where you don't want it, right behind the less-than sign.

Suspend / Screen locking

  1. After suspending the machine (e.g. close the MacBook (Pro) lid) the screen gets locked, that’s how I configured my machine. If I change monitor (and hence resolution) while the machine is suspended (e.g. close the MacBook Pro lid and then insert a DVI cable) the screen looks distorted, while the login box on it looks OK.
  2. Sometimes after suspending the machine, it won’t come back. The mouse pointer shows, but no login dialog. And every keypress triggers a beep.

Software update

  1. Run Software Update. If there is an update that requires a restart, the program will show a dialog asking you to choose Restart or Shutdown? Instead, try shutting down the machine using the key combo Ctrl-Alt-Cmd-Eject. A new dialog window will show up saying that the Software Update program cancelled the shutdown. Why?!


  1. Spotlight windows are anonymous. They don’t show up when using Cmd-Tab. Why?
    Fixed in Leopard: Yes.


  1. For developers like myself, Java 6 support is a must, see this Sun Babelfish blog entry: 13949712720901ForOSX.
    Work-around: Although Apple does not provide a Java 6 port, a work-around based on the FreeBSD JDK is underway.
    Fixed in Leopard: No

Note: I intend to keep this post up-to-date.

Leave a comment

Posted by on 13 November 2007 in annoyances, apple, lock, mac, macos, macosx, mail, screen, suspend, tiger


>Tip: Getting a thread dump logged

>Quick tip: If you’re running a Java program and you want it to dump the status of the threads, this will work on the Apple, Sun and IBM JVMs (on UNIX/Linux):

kill -3 pid

Leave a comment

Posted by on 5 November 2007 in Geen categorie