Und das sagen die Leser zur Usability des neuen WP
Jun 15th, 2008 by Administrator

Bild mit freundlicher Genehmigung von Kerstin L.
Jun 15th, 2008 by Administrator

Jun 13th, 2008 by rb
Below you will find some images of the social event, a combined boat-tour-binge-eating in the waters of Rotterdam. If anyone likes more images, or the originals (very, very large), drop me a mail (see ‘impressum’ at the very top of this page).
May 26th, 2008 by rb
Update: Sitzplätze für den Mond sind übrigens noch frei !
Auch wenn sich hier keiner mehr an uns erinnern sollte, geben wir ein paar Millionen Kilometer weiter noch ‘ne gute Zielscheibe für Meteoriten ab. Allerdings weiß ich nicht ob es eine so gute Idee war, grade “Den Krieg der Welten” zu verschießen.
For the first time in human history, we have landed in a polar region on another planetary body. Congratulations to the Phoenix team — we are on Mars!
[...]
As part of The Planetary Society’s Messages from Earth program, your name — along with a quarter million others from around the world — is now on the surface of Mars. Landing with you on the disk is Visions of Mars, a treasure trove of literature and art — from classic works by Arthur C. Clarke and Ray Bradbury to Orson Welles’ radio retelling of “The War of the Worlds” to a special audio recording of Carl Sagan delivering a message to the future.

May 14th, 2008 by rb
Update (20.5.) : Project now hosted at Google Code
During my diploma thesis I was in need of a Java based plugin (aka component) architecture that allowed to hide implementation details and was simple and easy to use. While JPF surely is powerful I felt not quite satisfied with its straightforwardness. So I created the “Java Simple Plugin Framework” (License: BSD).
What it does:
- It allows you to completely hide implementation details of a component. You only touch their interfaces.
- Components can be loaded with only two(!) lines of code, and created with only one additional line of code
- JSPF is heavily annotation based: Plugins are defined by the @PluginImplementation annotation, other plugins may be injected using @InjectPlugin, timers and threads for plugin methods may be defined by @Timer and @Thread
- Through its heavy usage of generics it is type safe. Mostly there is no casting required.
- It supports a bus to exchange messages easily while keeping the components decoupled.
- Plugins may be exported by XMLRPC
- Supports configuration loading
When to use it:
If you are, for example, a researcher and want to quickly develop a prototype, if you intend to change implementations frequently but want to keep your code (at least partially) clean, and if you think about reusing components in other prototypes you might want to give it a try.
When not to use it:
For every product someone’s life, income, car, pet or sanity depends on. I consider this software ‘alpha’. While it did and does work for me very well and has not produced any significant problem yet, I am absolutely sure there are still some major bugs in it.
“Screenshots”


Why did I publish it?
When I started my thesis I really was looking for something like this, but didn’t find anything. However, maintaining a software project is arduous, and I currently don’t have (or better: feel like taking) the time to setup a CVS and care for it professionally. This means two things. If you like the project and are inclined to adopt it, just do it. However, if I get enough positive feedback I might think about doing it myself (someday).
Download
May 8th, 2008 by rb
In order to gather more data for my diploma thesis (more on that later) I tried to write a small console application that queries Spotlight. In theory this was easy: The functionality was already provided in Cocoa and a proof of concept using F-Script worked flawlessly, so there shouldn’t be much of a problem hacking it in Python or Objective-C, right?
Maybe in a Side-Effects-FreeTM world, but in here I spent some hours reading and debugging until some nice IRC user politely (no joke intended) told me to think of the run loop.
So, to make a short story short, here are the fragments that finally did the trick for me:
int main(int argc, char *argv[]) { NSRunLoop *currentLoop = [NSRunLoop currentRunLoop]; // Query Spotlight in here // Let it run for a while ... while (mustContinue && [currentLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:1]]) { // Collect Results } }
In contrast, what does NOT work is:
// Query Spotlight sleep() // Collect Results
What put me on the wrong track was that startQuery() returns instantly, so I though “Okay, they must be spawning some new thread in the background and handle the rest, so it doesn’t matter what I do with this thread …”
(*)
Two hours: getting the idea and trying to make it work
Two hours: being curious why it doesn’t work.
Two hours: being depressed that it doesn’t work
Two hours: being outrageously furious that it still doesn’t work
Ten minutes: apathetically accepting that it doesn’t work and probably never will, asking on IRC for help.
After eight hours and twenty minutes: it works.
Apr 25th, 2008 by rb
Apr 24th, 2008 by rb
Mar 12th, 2008 by rb

Mar 10th, 2008 by rb
Und wieder mal ist es mir eine kleine Ehre mitteilen zu dürfen, dass das Projekt eyeBook in den Medien zu sehen ist:
Ein Team von Spiegel Online / Spiegel TV war, soweit ich das in Erfahrung bringen konnte, Dienstags auf dem DFKI Stand und hatte ein Video vom Projekt gedreht:
Vielen Dank auch an Rafael Schirru für die freundliche Präsentation!
Feb 28th, 2008 by rb
Nehmen wir an, natürlich rein hypothetisch, an einer deutschen Universität im Südwesten des Landes gäbe es fachliche Kompetenz, die sich mit der technischen Nutzung von Photonen, ausgestrahlt von einem riesigen Feuerball in der Mitte unseres Planetensystems, befassen würde.
Soweit wäre das interessant.
Nehmen wir weiterhin an, es gäbe eine Hand voll Studenten, die sich für dieses Thema interessierten, und zu den ersten drei Terminen pünktlich erschienen, diese dort etliche Minuten warteten, um dann, jeweils über Umwege, erfahren zu müssen, dass der Termin kurzfristig abgesagt wurde, natürlich ohne Aushang vor Ort oder sonstiges.
Soweit wäre das frustrierend.
Nehmen wir weiterhin an, zum vierten Termin würde nicht der Professor, sondern sein Assistent mit den Worten “Entschuldigen Sie, dass ich ein wenig unvorbereitet bin, aber ich habe auch erst vor zwei Stunden erfahren, dass ich den Termin heute halten soll.” erscheinen. Die Vorlesung bestünde aus gemeinsamen Skript lesen, in welchem sich präzise recherchierte, bisher noch unveröffentlichte Erkenntnisse befänden, beispielsweise ein Stattfinden der Terroranschläge am 11. September 2002 (und einige Andere, zu denen mir aber grade die natürlich nicht realen Textbelege fehlen).
Soweit käme ich mir verarscht vor.
Nehmen wir weiterhin an, ich bräuchte noch einen Leistungsnachweis und schreibe daher die Klausur mit, bei einem Einsatz in etwa auf Niveau der gefühlten Organisation der Vorlesung. Das Ergebnis wäre sehr durchschnittlich, ich könnte aber mit der Zusage im Hinterkopf leben: “den Schein kann man auch unbenotet ausstellen.”
Soweit wäre das erträglich.
Nehmen wir aber weiterhin an, dass ich nach der Klausur drei oder vier mal am Büro dieses rein fiktiven Lehrstuhls wegen meinem Schein vorbeigeschaut habe, mir Mal für Mal eine andere Begründung gegeben wurde (”Noch nicht fertig”, “Assistent nicht da”, “Noch nicht dazu gekommen, wir melden uns wenn wir was haben”, …) und ich heute erfahren musste, dass die Ergebnisse einfach an unser Prüfungsamt weitergeleitet worden sind, mit dem Resultat, dass die Note nun zwingend im Zeugnis auftaucht.
Dann kotzt mich das an. Und zwar ganz real.