Anna M. (F 2006)

April 28th, 2007

Dokumentation einer Obssesion die in eine Psychose mündet


Anna ist einsam und arbeitet als Restauratorin in einer Bibliothek. Sie lebt mit ihrem Hund und ihrer Mutter. Eines abends stürzt sie sich vor ein Auto, sie überlebt und kommt durch Dr. Zanevsky wieder auf die Beine. Sie bildet sich allerdings ein, dass ihr Doktor ihr  Zeichen der  Zuneigung gesandt hat.  Sie beginnt mit harmlosen, peinlichem Stalking und … ich will nicht alles verraten
Warum sollte man den Film sehen

Isabelle Carré spielt sehr gut. Das ist leider alles.

Was nervt

Die Story ist etwas dünn und unmotiviert. Die meisten Personen bleiben blass (ich will nicht ausschliessen, dass das zum Konzept gehört). Der Schluss erinnert an amerikanische Filme die sich eine Tür für die Fortsetzung offen halten wollen.

Sunshine (US 2007)

April 24th, 2007

Nach Little Miss Sunshine - jetzt noch: zuviel Sunshine


Nur der Vollständigkeit halber: Die Sonne droht zu verlöschen, also muss man eine riesige Atombombe reinschmeissen damit es zu Hause wieder kuschelig wird. Acht Helden (zwei Frauen um sich um die Pflanzen und moralische Integrität zu kümmern) müssen das natürlich persönlich erledigen. Plötzlich empfangen sie ein Signal der achte Helden, die vor ihnen gescheitert sind…

Warum sollte man den Film sehen

Der Film is audiovisuell interessant. Als nix Programmkino: Multiplex im grossem Saal. Im Weltall ist zwar absolute Stille aber der Bass der Raketen kribbelt so schön im Bauch. Hervorzuheben auch der Kontrast des Draussen im sonnengelb und der nüchtern grünblauen Stimmung im Innern.

Das natürlich der Psy als erster abdreht und dem totalen Sonnenwahn verfällt - nicht nur ein Witz, ich sage nur “Pinbacker”
Was nervt

Der Bordcomputer ist vielleicht nicht so misanthropisch wie HAL, aber er stirbt dadurch auch weniger elegisch. Schade, ich habe ihn eigentlich schon als meine Lieblingsfigur ausgeguckt. Die anderen Darsteller sind and Farblosigkeit kaum zu überbieten (sie heben sich wirklich kaum von der Kulisse ab) - Ausnahme Cilian Murphy als Capa, ein melancholisch serener Dr. Seltsam.

The mysterious serialVersionUID, readObject and writeObject

April 8th, 2007

Very few programmers use serialization and even fewer know how to use the serialVersionUID properly.

Let’s start with some simple class to understand what the serialVersionUID is

public class SerializeMe implements Serializable {

private final int number;

public SerializeMe(int num) { number = num; }

public long getNumber() { return number; }


This can get serialized and read back even after you modify getNumber to

public long getNumber() throws Exception { return number+1; }

without changing the reading class. On the other hand adding a method

public boolean isZero() { return number==0;}

breaks the deserialization as adding/removing any other member or the declaration of another interface does. The serialVersionUID is a fingerprint of the fields and members and their signatures.

Read the rest of this entry »

Java-generics in Scala

April 6th, 2007

Something I overlooked in the tool-docs and complained about:

Use generic Java types.

This makes the following possible:

implicit def JavaCollectionToList[T>:Null<:Object] (coll: java.util.Collection[T]) : List[T] = {



implicit def JavaIteratorToScalaList[T>:Null<:Object](it: java.util.Iterator[T]):List[T]={

it.hasNext match{

case true=> val head = it.next(); head :: JavaIteratorToScalaList(it);
case false=> Nil;



With these coercions a List[String] can be assigned from a java.util.Collection<String>

Open question: How will this work with .NET generics (not an issue for me at the moment and the IL-code generation seems to have a problem)

Scala lift-off with liftweb

April 4th, 2007

What Rails did for Ruby had been at least started by the Lift Web Framework for Scala! It is Version 0.1.0 but it looks promising. Their website runs on liftweb, too - in fact they are running the example you can download and deploy on your Appserver. Behind liftweb are David Pollak and (among others) Burak Emir how contributed the XML-handling to Scala.

I had a brief look at the code; liftweb is based on Scala-Actors (the Scala implementation of the famous programming model made widely known by Erlang) which promises that it will be quite scalable.

This gave my Scala engagement another boost. And a setback. I installed the latest plugin for Eclipse (it is and had been always quite shaky) - good news: It comes with the compiler/runtime, bad news: It is the 2.3.4 version (current version is 2.4.0) and the preferences page has a bug that prevents you to set the path of your Scala installation.

Scala is for me quite interesting as it also allows to compile to .NET IL-code. This gives Scala a quite unique position as a language that allows you to write code for the two platforms once and run it on both of them.

Another feature that is nice is actually the only pain-point I have yet identified: Scala requires only Java 1.4 - good for people which are still stuck with that version, but bad for the rest of us:

Using implicit functions you can write

val list:List[Any] = MyJavaClass.getCollectionOfString()

But even if getCollectionOfString returns Collection it is impossible to write a conversion that allows to give list the type List[String]. Reason is that the implicit functions for the conversion would need a type parameter and Scala rejects a declaration

implicit def JavaCollection2List[T](coll : java.util.Collection[T]) : List[T] ={…

because “java.util.Collection does not take type parameters”.

If you think this is not an issue: Try dealing with a Map,List>… all this casting gets pretty ugly as casts are rare in proper Scala code, consequentely you get punished for doing it anyway by nice syntax obj.asInstanceOf[String]…

DRM in consumer space is dying, good day for open software

April 2nd, 2007

Small note at the end of the news on TV: EMI sells its music unprotected via iTunes!

End of last century I’d been working in the DRM business and we sold actually some music - well not much actually. The content holder provided little interesting content and the DRM software you had to install was secure, but an overkill. I still think that most buys came from within the company (BMG) or its competitors. You had been tied to a media-player which was even worse than the Windows one - you get the idea: Very unsatisfying user experience.

Fast-forward 8 years. DRM is facing even more resistance. As the open-source movement gained much more momentum and virtually all DRM relies on closed source portions with sometimes hefty certification procedures for the final product - DRM is closing out Linux user and also developers which use open languages like Java where such software will never have a good chance to be integrated.

As it seems now that the idiotic notion that all people who buy electronic media are actually assisting in theft/piracy has been overcome; open platforms will prosper even more. Let’s face it. 90% of the computer user do nothing else than surfing and consuming media with their computer. The half of remaining 10% do this at least half of the time. Freely usable media open this large reservoir of users for free software. And as these user don’t want anything more than just what bthey are doing now, they don’t need Vista Premium Home Media Standard edition (Which version of Vista do YOU need?). Some light-weight OS on whatever sufficiently recent CPU will do. Some cross-platform software (written in Java or etleast running on the JVM) gives all what Joe Homeuser needs. And that software will be there when playing media with non-proprietary software is not only a challenging game for free-software evangelists.

Finally this could give Java on the Desktop the thrust it needs to (finally) take off. The improvements of Swing layed ground to compete with other UIs. I am curious what we will see in the next year or two.

BTW: I actually can see some good uses of DRM. Perhaps I’d been a bit indoctrinated back than (we used to make the brain-washed Intertrust-zombie in the office). What about have a documentation expire when the new version of a software is deployed and been redirected to the new documentation? Sending a message in a secured envelope where you can control where it gets forwarded to? None of these needs an unbreakable system, as it should simply help the user of media to use it correctly. When you don’t need certified hardware and software you can never secure the use perfectly, but some open DRM solution could provide the benefits without the hassle.