I went to the 10th annual Erlang conference on thursday and had a great time, as usual.
My favourite talk was about the Dialyzer (Discrepancy Analyzer). This program analyzes regular Erlang object-code to find discrepancies that suggest programming errors. The analysis seems very much like what CMUCL does: infer type information from the way variables are used, propagate it around, then warn about any contradictions. Very impressive that it runs on unmodified object code, appears to really find bugs, and has managed to consume a 1.1 million line Erlang program without exploding. These guys have done an exceptional job of designing their tool to actually appeal to working Erlang programmers. (So far it hasn't found as many bugs as I'd expected, but I'm not sure if that's good or bad.)
I also saw a really amazing demo of Virtutech's Simics product, which is only related to Erlang in that one of the HiPE guys has joined them. It's much like Bochs or QEMU but it emulates a wide range of machines: x86, AMD64, SunFire/sparc, Alpha, and so on. It has some extra-fancy features like the ability to run the machine in simulated time, so that when the kernel enters the idle-loop it "fast forwards" to the next event. Really amazing, but unfortunately it isn't free software and I gather it's priced only for large corporations.
And of course free beer at the post-conference ErLounge didn't go astray. Hurray for the Erlang companies who sponsored the event :-)
I'm currently implementing a protocol based on XML Schema and SOAP. As good as it was to spend five-odd years in blissful ignorance of XML, now I do wish that I'd started using it before XML-bashing became passé.