Skip to main content


Showing posts from 2008

Java and XML

I'll scream if I read the word "pluggable" once more... I mean, seriously, how hard can you make simple things?

Don't know what I mean? Dig this:

Think about it this way: JDOM ships with the Apache Xerces parser. That parser isn't part of JDOM, but is used by JDOM, so it's included to ensure that JDOM is usable out of the box. The same principle applies for JAXP, but it isn't as clearly publicized: JAXP comes with a parser so it can be used immediately. However, many people refer to the classes included in Sun's parser as part of the JAXP API itself. For example, a common question on newsgroups used to be, "How can I use the XMLDocument class that comes with JAXP? What is its purpose?" The answer is somewhat complicated.

First, the com.sun.xml.tree.XMLDocument class is not part of JAXP. It is part of Sun's Crimson parser, packaged in earlier versions of JAXP. So the question is misleading from the start. Second, a major purpose of JAXP is t…

Wrangling with GMail

OK, here's a rant:

10 years of Google. And it's beginning to treat its customers(*) like MS. Today, I wanted to mail myself(!) a zip file as a backup. Gmail wouldn't let me, though, because the zip contained "an executable,... blah, security". Well, yes, there was a .bat in the zip. But this sure reminded me of long-gone days when my employers forced me to use Outlook (which did not not allow to open received executables unless you really really wanted to and hacked the registry). When will we see a GMail Clippy?

Btw: if you ever wondered what happened to MS's Clippy:


(*) yes, I am a paying customer. I bought storage space.

Finally, Outlook makes sense

Ever got an email from an Outlook user only to get an "email recalled" message afterwards (cf. Eternal September)? I just found out out that this is just a elaborate way of grabbing your attention. Hmm, I should do a Thunderbird plugin that sends fake recall mails...

(this is from:

Flex Open Source? Right...

There is a bug in the Flash player that makes it impossible to implement a RESTful architecture with a Flex or Flash backend. In essence, it is a buggy implementation of an http client - the client cannot get to the response body unless the reponse code is 200.. This is really bad. But what is an embarrassment for Adobe is that:
That bug was opened more than a year agoIt is marked as priority C onlyIt was closed and had to be reopened after the community complainedAdobe engineers suggested as a workaround to purchase LCDS ServerSo, lessons learned (actually: lessons that proof in practice what was clear beforehand):
It does not matter too much if Flex is open-sourced as long as the Flash player is notIt does not matter at all if Flex or Flash are open-sourced if the community cannot apply patches and get them into the deployed playerFlex being open source is completely irrelevant.

Germany’s most anticipated Web 2.0 sites - one year later

I just came across a post about Germany's most anticipated Web2.0 sites that dates back to last August. Since this is almost exactly one year ago I decided to spend half an hour of my life and conduct a completely unscientific survey to see how many of these startups are still around. For this reason I simply looked at the web sites to see if they are still here and checked if there are recent posts in the company blog to check if the site is a zombie (if there is no blog I checked the press releases). The result is: 51% are still around, 36% are gone (or not started one year later). The rest seems shaky (last blog post 6 months ago) or unknown (state cannot be determined by looking at the blog).

If you consider that these startups were above the rest ("highly anticipated") and that checking if there are even online one year later is a very low barrier I was surprised by the low survival ratio. But one can regard this as positive: "quick failure" is a good strat…

unlikely windows rant

i dislocated my shoulder tonight so i have one arm in a sling and the other one programming sling. haha. here's my tentative list of things that are hard for one-handed people:

hard to do
use uppercase letters when typing
dry my back with towel

very hard to do
tie one's shoes
washing hands

log in to windows (ctrl+alt+del)

Corporate self-sabotage

CMSWatch has pointed to such an unbelievably funny classic: the OSS Simple Sabotage Manual from 1944 (OSS is the Office of Strategic Services, predecessor to the CIA). Check it out here.

You will learn how your cooperation is sabotaged:

(1) Insist on doing everything through "channels." Never permit short-cuts to be taken in order to expedite decisions.
(2) Make "speeches." Talk as frequently as possible and at great length. Illustrate your "points" by long anecdotes and accounts of personal
experiences. Never hesitate to make a few appropriate "patriotic" comments.
(3) When possible, refer all matters to committees, for "further study and consideration."
Attempt to make the committees as large as possible — never less than five.
(4) Bring up irrelevant issues as frequently as possible.
(5) Haggle over precise wordings of communications,
minutes, resolutions.
(6) Refer back to matters decided upon at the last meeting and attempt to re-open the q…

Flex on Rails

This week I gave two talks: The first one at the German web conference webinale in the Dynamic Language World sub section. The talk was about the integration of Flex and Rails.

The second talk was given at the RIA conference of the Internet Briefing Group. It was held in German and contained the same content as the previous one plus some bits about RIAs in social networks.

Please note that for both presentations the SlideShare preview embedded in this post really sucks. Download the files if you want to have a look.

| View | Upload your own

| View | Upload your own

The future of mobile computing smells of fruity devices

Ever since WAP came around in 1999 or so I was very interested in mobile (networked) computing. From my perspective the basic ideas around WAP were not so bad - it was an open network, really. But unfortunately, the devices and the networks at the time made the user experience absolutely horrifying. Still, I would call this period the first era in mobile computing (for me, the image that symbolizes this period best is the Nokia 7110, which was Nokia's first real WAP phone, see left). So along came the next era which is best symbolized by Vodafone Life. It is all about operators' walled gardens. Obviously, that approach improved the user experience, especially because content and menus were partly stored on the device. But the big drawback was the closed nature of this approach. It resembled AOL on phones.

Since two weeks I do own a shiny new iPhone and I am convinced that this device marks the beginning of a new age in mobile computing. It combines access to the open Internet a…

Camtasia rocks

I cannot remember the last time where I advocated a PC program, but I simply have to say: Tech Smith's Camtasia, the screencast recording and editing program, is incredibly good. It does everything I could think of in a screencast recorder, yet the UI is very easy to use. It's clearly the best desktop application I looked at in a while.

The killer feature, of course, is "smart focus". In post recording phase Camtasia automatically figures out what is of interest on the screen and zooms in. See here for a cast I created with Camtasia.

It should also be said that it comes at a price (300USD), but there is also a 30 day trial version that does not cripple the produced screencasts in any way (btw: I bought it). Kudos to the Tech Smith.

TheServerSide symposium

One take-away message from the TheServerSide symposium for me was(*): multi-language development is considered to be an important change in the future. In particular, DSL are hip at the moment, but some people think that in the future there will be many languages that we develop in at the same time.

I only partly agree with that. Looking back in history there always was a dominant programming language in each of the computing decades we saw so far: Mainframes had Cobol, Client-Server had C/C++, the Internet had Java. Right now, there is all this talk about Ruby, Python, ActionScript, Javascript, Scala, you name it. I think that we are in a post-Java language confusion that exists mainly because the next big decade in computing has not started, yet. Once it starts some new computing language will become the dominant player again. It will dominate because it will be the most versatile language for that computing environment. Probably, it will also have a big company behind it (see histor…

A(ir) solution in search of a problem

Adobe has just released Ait, its technology supposed to merge the offline/desktop world and web applications, bring the best of both worlds, etc yadda yadda. I found it interesting to watch the comments in various forums. There was some interest, but also concerns (e.g. about security, Air being a vendor lock-in, desktop apps becoming obsolete anyway). However, what struck me most was this: some geeks seem to like Air because it is a cool technology. But hardly anyone seems to like Air because it solves a real problem that someone actually has. There was little talk about real use cases, but rather talk about that Air will create a new way of thinking and incubate apps that we do not even know about, yet. Well, maybe.

If you consider Google Gears, which can be considered a technology that solves a similar problem: who is really using it? I never heard of anyone apart from Google Reader.

To be fair, I can think of some use cases that actually make sense to me, e.g. combining your desktop…

72 characters should be enough for everyone

I just spent valuable minutes of my life wrestling with Java's classpath. One notable finding: no line in a jar file's manifest can be longer than 72 characters (at least until and including Java 5). See here:
No line may be longer than 72 bytes (not characters), in its UTF8-encoded form. If a value would make the initial line longer than this, it should be continued on extra lines (each starting with a single SPACE).Oh, boy. And a single space at the beginning. Remember FORTRAN?

Java, Javascript and History

For those of us who are confused if we are currently to use Java or Javascript on the the server-side or the client-side: Dion Almaer from Ajaxian has a a historic perspective (taken from here):

Whose chopper is this?

(Zed's dead, baby. Zed's dead.)

In case you follow the Rails community you must have come across this New Year's rant of Zed Shaw, creator of Mongrel. It is really tiring to read as Zed seems to be a textbook-case for ego problems. However, I find this bit really interesting:

I believe, if I could point at one thing it’s the following statement on 2007-01-20 to me by David H. creator of Rails:

(15:11:12) DHH: before fastthread we had ~400 restarts/day
(15:11:22) DHH: now we have perhaps 10
(15:11:29) Zed S.: oh nice
(15:11:33) Zed S.: and that's still fastcgi right?

Notice how it took me a few seconds to reply. This one single statement basically means that we all got duped. The main Rails application that DHH created required restarting ~400 times/day. That’s a production application that can’t stay up for more than 4 minutes on average.

Let me put this into perspective for you: I’ve ran servers that needed to be restarted once in a year. They were written in …