Tags

No Country for Old Men (US 2007)

February 17th, 2008

2h Stunden Langeweile mit Splatterbeilage. Wenn es die Coen Brüder machen wird auch kein Film draus

Handlung

Nicht der Rede wert

Warum sollte man den Film sehen

Es gibt eigentlich überhaupt keinen Grund. Abgesehen von Tommy Lee Jones und ein paar kult-verdächtigen Dialogen.

Was nervt

Alles schon da gewesen und vorhersehbar. Das soll wohl der Sinn des Ganzen gewesen sein, aber sorry, wenn mich an Animationsfilmen schon nervt, dass sie nicht ohne Referenzen auf Klassiker auskommen, beim Realfilm wird es langsam lächerlich.

Cloverfield (US 2008)

February 16th, 2008

Alien in Doom/Halflife Perspektive. Science-Fiction im Video(spiel)zeitalter.

Handlung 

It came from … Keiner weiss es, jedenfalls ist Manhattan hinterher gewesen. Eine kleine Gruppe Yuppies im Chaos, alles gefilmt von einer kleinen Videokamera, mit der nur ein paar nette Clips auf einer Party gedreht werden sollten (keine Angst, kein wakeliger Dogmakram, filmisch 1a Qualität)

Warum sollte man den Film sehen

Falls man Doom und Halflife mag (beide Spiele sind unverleugbar Kult) oder Alien und Godzilla (noch mehr Kult), jetzt das ganze als Egoshooter in der Fassung des urbanen 21. Jahrhunderts. Sound und Grafik sind auf der  Höhe der Zeit ( die armen Geizhälse, die sich den Film nicht im Kino angucken)

Sehr gute Dialoge, klar motivierte Charaktäre, sorgfältige Dramaturgie. Definitiv einer der besten Filme des Jahres; wird aber beim Oscar wohl trotzdem leer ausgehen. Die Welt ist ungerecht.

Was nervt

Nokia Productplacement

Lust, Caution (2007)

February 10th, 2008

Mata Hari in Shanghai. Chinesen lieben anders.

Handlung

Studentin lässt sich zu einem Anschlag auf einen Kollaborateur der Japaner anheuern. Nattürlich verliebt sie sich in ihn

Warum sollte man den Film sehen

Die Geschichte ist nicht schlecht erzählt. Die Westentaschenresistance lässt einen fast Schmunzeln, wirklich interessant ist allerdings nur die Liebesgeschichte. Die Liebe zu einem Mann, der nur besitzen und herrschen kann, dann am Ende doch zeigt, dass auch er Gefühle hat, die sich nicht gestattet.

Was nervt

Überlänge - die Fassung in Frankreich hat 2h40′, das Lesen der sich (wiederholende) Dialoge ist ermüdend (ich bin dreimal eingeschlafen). Auch ist die Rahmenhandlung sehr vorherrsehbar, gerade weil der Film sehr minimalistisch aufgebaut ist - jedes Detail für den Zuschauer auf die Spur, so dass and 1h30′ die Luft raus ist.

Closure puzzler or enum references considered harmful

February 7th, 2008

SPOILER - don’t read this if you want to figure out the Neapolitan Ice Cream Puzzler by yourself!

Neal Gafter posted a Closure Puzzler that hasn’t too much to do with closures, but shows that Static initializers considered harmful is not limited to the old enum-pattern, but also applies to Java 5 enums. Here the Java 5 version of his code for those who don’t get the closures code or simply are too lazy:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Compare {
	static <T, U> List<U> map(List<T> list, Transformer<T, U> transform) {
		List<U> result = new ArrayList<U>(list.size());
		for (T t : list) {
			result.add(transform.invoke(t));
		}
		return result;
	}

	public static void main(String[] args) {
	        List<Color> colors = map(Arrays.asList(Flavor.values()), new Transformer<Flavor,Color>(){public Color  invoke( Flavor f ){return f.color; }});
	        System.out.println(colors.equals(Arrays.asList(Color.values())));

	        List<Flavor> flavors = map(Arrays.asList(Color.values()), new Transformer<Color,Flavor>(){public Flavor invoke(Color c){return c.flavor;} });
	        System.out.println(flavors.equals(Arrays.asList(Flavor.values())));
	    }
}

interface Transformer<S, T> {
	T invoke(S s);
}

enum Color {
	BROWN(Flavor.CHOCOLATE), RED(Flavor.STRAWBERRY), WHITE(Flavor.VANILLA);
	final Flavor flavor;

	Color(Flavor flavor) {
		this.flavor = flavor;
	}
}

enum Flavor {
	CHOCOLATE(Color.BROWN), STRAWBERRY(Color.RED), VANILLA(Color.WHITE);
	final Color color;

	Flavor(Color color) {
		this.color = color;
	}
}

I think I have already seen such a backport already, but here it is again…