Tags

Something we all should do from time to time (we don’t do it as often as we should)

May 17th, 2007

No, I hadn’t been talking about sex, Baby!

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.

Was reitet mich

March 31st, 2007

Drei Monate sind in diesem Jahr vergangen und ich war zweimal (beruflich) in Isreal - für insgesammt fast 4 Wochen. Kann ich fast “aliyah” machen.

Ich habe beschlossen hebräisch zu lernen - französisch war schon schwierig, aber das - wir werden sehen.

Alles in allem mag ich Israel sehr gern. Man bekommt fast überall Weizenbier (Weihstephan) und das lokale Gebräu Goldstar - immerhin mit einer Tradition von über 50 Jahren ist auch nicht schlecht. Falls man mal auf deutsch sprech kann, weil die Dame der Mietwagenvertretung oder am Check-In halt deutsch sprechen will, so kann man das tun, weil sie dann wirklich deutsch können. Kurz man fühlt sich dort schnell zu Hause. Das allgemeine Klima, trotz oder gerade wegen der überall presenten Sicherheitsleute ist sehr offen und direkt, nur dort hin zu kommen (und wieder weg) is etwas schwierig.
Meine erste Reise war sehr kurzfristig geplant. Sowas mögen die Sicherheitsleute bei El-Al nicht so gerne. Eine Stunde Verhör - egal, die Warteschlange bei anderen Flügen ist auch nicht schneller zu überwinden.

Die erste Ausreise war recht drollig, da ich Totes Meer Salz im Gepäck hatte - das musste dann in einem separaten Pappkarton transportiert werden. Vorgestern bin ich mit meinem tunesischen Kollegen zurück geflogen. Sehr verdächtig. Ein Deutscher und ein Tunesier die vorgeben aus Paris zu kommen und für eine israelische Firma zu arbeiten… Endlich einmal eine gründliche Leibesvisitation (für uns beide).

Das gute an den Kontrollen: Nichts wird doppelt gemacht. Falls man das Pech(?) hat extrem gefilzt zu werden begleitet einen der Sicherheitsoffizier an allen Kontrollen vorbei, die er bereits durchgeführt hat, sodass man dadurch noch nicht einmal Zeit verliert.

Gut Pessah!

Gemüse! Auflauf!

December 17th, 2006

Man nehme:DSC01715

  • 1 Aubergine
  • 1 Zucchini
  • 4 Tomaten
  • 4 Kartoffeln
  • 2 Grüne Pepperonischoten
  • 1 Stange Porree
  • 500ml Gemüsebrühe
  • Olivenöl
  • 100g Speckstreifen (Allumette)
  • 70g geriebenen Emmenthaler
  • Pfeffer, Salz, Oregano

Die Kartoffeln schälen und in etwa einen halben Zentimeter dicke Scheiben schneiden und in der Gemüsebrühe halb gar kochen.

In der Zwischenzeit die Aubergine ebenfalls in Scheiben schneiden (selbe Größe wie die Kartoffeln), die Zucchninis und Tomaten etwas dünner, die Peperonis (sollten nicht zu scharf sein) nochmals feiner. Alles in eine Auflaufform geben.
Speckstreifen nach Geschmack andünsten.

Die Kartoffeln abgiessen und zu den restlichen Zutaten geben. Mit Olivenöl benetzen und mit Pfeffer uns Salz würzen, dabei vorsichtig durchheben.

Käse darüber streuen und schliesslich die Speckstreifen obenauf.

Bei mittlerer Hitze ca. 30 Minuten im Ofen - fertig.

Dazu: Cotês du Rousillion 2004

Imbros Schlucht (Kreta)

September 30th, 2006
Die Imbros-Schlucht ist eine Alternative zur Samaria-Schlucht, wer nicht einen ganzen Tag durch eine Schlucht laufen will, wird hier gut bedient. Man soll sich allerdings keine Illusionen machen: Auch hier sind reichlich Wanderer unterwegs.
Highlight ist sicher, dass sich die Schlucht auf 1,60 verengt.

Die Schlucht war früher eine wichtige Verbindung zwischen Nord und Süd, davon zeugen die Reste eines befestigten Weges.

Wenn man nicht zurück laufen will (ich gehe lieber bergauf als bergab), so gibt es im Ort Taxis und Busse, die einen nach Imbros zurückbringen.

Alles in allem eine schöne, einfache Wanderung.

When your employer thinks you communicate too much

September 13th, 2006

Many companies have a policy in place on the use of internet, phone etc. Normally a limited private use is tolerated, because it is not a real probelm in terms of volume (and cost).

If there are serious concerns about the non-professional use (and even the professional use!) there are two possiblities:

  1. The communication need is excessive.
  2. The responsible manager is simply an idiot who wants to be known as cost-aware

Reason 1. has to distiguish professional use and private use:

  • If the professional use cost serious amount of money there is something wrong with the structure or the training of the employees
  • Excessive private use simply says that the employees seek distraction from their job (that is then likely to suck)
  • If the private use is small, but still outnumbers professional use you surely have internal communication problems

So if it is not reason 2. (a reason I recommend to simply ignore as this will simply go away), the message should go only to the managers whose job it is to enable and motivate people.

All-In mit 63s

July 26th, 2006

Gestern abend, kleines Holdem-NL Sit&Go (nach Kirmes und ein paar Bieren)… Ich war doch schon erschöpft und habe den Bet eines Spielers gecallt, den ich (korrekt) als tough&tight identifiziert hatte - blöd aber so ist mein Chipstack auf knapp über 1000 kollabiert - vom dritten auf den neunten Platz.

Bei insgesamt 27,000 Chips war meine Gewinnwahrscheinlichkeit quasi 0 und auch die Aussicht auf einen bezahlten Rang zu kommen war eher mau.

Die Blinds waren schon 200/400 mit 25 Ante, so dass mir nicht mehr viel Zeit blieb. Die Blinds rückten näher und ich wollte unbedingt ein Spiel machen bevor ich Big-Blind und under the gun spielen muss (man wird meist gecallt oder muss einen Steal verteidigen - nicht gut, wenn man sehr short ist).

Vor mir ein Fold, ich 63s: All-In (905). Lausige Hand, aber meine Aussichten waren derart schlecht, dass zusammen mit der Chance auf den Steal, der mir eine volle Runde gekauft hätte, ein Semi-Bluff. Am Finaltisch eines Turniers kann man (und ich denke man muss) sowas machen.

Leider gehen nach mir zwei weitere Spieler All-In (AJs und AK). OK, das wars dann. Die duplizierten Karten tun aber ihr Werk: Ich gewinne einen netten Pot mit Pair of Threes!

Warum: Ich glaube mein Spiel mit 63 war noch besser als ich geglaubt habe, da ich Karten gespielt habe, die niemand sonst spielt. Ich habe de Facto nicht gegen 2 sondern nur gegen 1,5 Gegner gespielt, was mir zusammen mit dem erhöhten Pot ziemlich gute Odds gebracht hat.

AJs war danach etwas angepisst und hat mich beleidigt; was für ein Idiot ich wär. Ich konnte nicht widerstehen zurück zu sticheln und mir war klar, dass er quasi jede Hand von mir in jeder Höhe callen wird, weil er es mir ja zeigen musste.

Etwas später war es dann so weit, genau wie vorhergesehen, werde ich All-In gesetzt und calle. Leider hatte sich 45s zum Flush entwickelt und ich war draussen.

That’s poker!

La Fête des Loges

July 26th, 2006

Etwa 20km nordwestlich von Paris findet sich dieser Freizeitpark. Kein Freizeitpark im eigentlichen Sinne, sondern eher eine Kirmes. Oder auch ein Dauer-Jahrmarkt, geöffnet in den Sommermonaten.

Von der Größe kann der Rummel nicht mit dem Hamburger Dom mithalten, allerdings von der Zahl und Größe der Großfahrgeschäfte schon.

Für die Kleinen und schon etwas Grösseren gibt es auch eine Menge Fahrgeschäfte, Losbuden, Schiessstände, Ringewerfen und Entenangeln.

Insgesamt recht empfehlenswert; ich würde nach einem guten Mittagessen dort hinausfahren, da die Restaurationen nicht besonders gut, dafür aber nicht besonders preiswert sind.

Neben dem Auto bietet sich die RER an. Direkt gegenüber der RER-Station - vor dem Schloss - findet sich der Haltepunkt für den Shuttlebus (manchmal verkehrt auch eine kleine Bahn, wie man sie aus Freizeitparks kennt). Der Fahrpreis ist 2€, was man bereit sein sollte auszugeben; man kann die Fête zwar auch zu Fuss erreichen, aber im französischen Sommer ist der Marsch doch recht lang und ermüdend - zu ermüdend jedenfalls für Kinder. Ich habe nicht versucht zu laufen, aber aus dem kleinen Zug heraus konnte man sehen, dass der Fußweg nicht durchgehend war, so dass man sich durch mehr oder weniger gemähtes Gras kämpfen muss (die Alleebäume spenden etwas Schatten, was aber jetzt keinen ermutigen sollte).

Der Park liegt in einem Forêt National, man kann die Infrastruktur auch nutzen einen kleinen Waldspaziergang zu machen und hinterher noch ein wenig zu bummeln - im Dunkel ist im Wald schlecht spazieren und die Fête hat bis 0.30 (am Wochende länger) geöffnet.

Für Vielfahrer von Achterbahn, Musikexpress und Autoscooter ist ein Pass empfehlenswert. Der Pass kann per Scheck (frz.!) bestellt werden, aber es ist wohl meist einfacher bei einer der üblichen Vorverkaufsstellen zu kaufen (rechts vor dem Eingang ist ein kleiner Container, der die Tickets gegen den eigentlichen Pass tauscht).

Der Pass ist kein Forfait oder “All-Inclusive”, sonder ein Block von Vouchern, die von vielen Fahrgeschäften (die grossen verlangen 2 Coupons pro Fahrt, die Hauptattraktion akzeptieren nur bares). Die 18 Freifahrscheine sind allein das doppelte des Preises einfacher Fahrgeschäfte wert. Extreme Vielfahrer (30 Chips für den Autoscooter) sparen weniger, da es meistens auch Mengenrabatt gibt. Nochmals: Die grössten und neuesten Attraktionen akzeptieren die Coupons nicht. Losbuden, Schiessstände und Wurfbuden akzeptieren teils die Reduktionscoupons (20% oder Freispiel).

T-Mobile geistig immobil

July 19th, 2006

Das war ja wieder der Kracher heute…

Egal wieviel Sympathien man für Andreas Klöden (oder Kloden, wie man hier sagt) hat; T-Mobile hat es einfach nicht verdient die Tour zu gewinnen. Es ist einfach nicht zu fassen: Landis schwächelt und die halbe Mannschaft ist in Position den entscheidenen Angriff auf das Gelbe Trikot zu fahren und:

Nichts passiert…

Sastre hat - völlig allein - richtig geschaltet und ist inur deshalb nicht in Gelb, weil T-Mobile Pereira auf den Gipfel gezogen hat.

Es bleiben nur zwei Deutungen: Entweder das Team is einfach nicht gut genug einen taktischen Befehl umzusetzen (sei es aus Dummheit oder physischen Unvermögen) oder die Teamleitung ist unfähig (das ist die Vermutung von Laurent Fignon, der auf France 2 fast vor Wut das Mikrofon hingeschmissen hat; Zitat: “Wenn ich nicht dafür bezahlt werden würde, würde ich mir das nicht mehr angucken”) oder die Entscheidungswege sin ungefähr so wie bei der Telekom (ich habe mal einen IT’ler von T-Systems getroffen, und nach dem was der mir erzählt hat…)

Wirklich grosse Fahrer erspüren eine solche Gelegenheit allerdings auch ohne Teamchef; bevor alle Funkkontakt hatten mussten die wirklichen Grössen wie Hinault, Fignon, Indurain und natürlich Merkx das vom Rad organisiern und konten das auch.

Macht die Technik dümmer oder erlaubt sie mehr Dummheit? Nach der heutigen Etappe, kann ich letzteres sicher ausschliessen.

Interessante Zitat und Kurzkommentare: Angelas Tour Blog

Waste of time

July 13th, 2006

Design-time

This time it is a terrible implementation of a even worse API to do pseudo-XML. I spare you the details - only this: If you want to use XML use it correctly, and if you can’t: Don’t try using standard-conformant XML-libraries like Xerces.

Why doing such a thing at all? Actually this is more a comparision between C++ and Java design problems. On the Java side you can also get into problems like that, for example when you want to wrap XML-handling so that a J# implementation can use its beloved MSXML.

The C++ code was a bright example what happens to your code if you think you don’t have time for refactoring. Originally it had been something to access a proprietary text-format. Then some bright mind seemed to have the idea that use of XML is imperative. He handed this over to some Windows-programmer that cranked out an equivalent interface using MSXML. Eventually the got got ported to UNIX and Xerces as a parser, as cheese topping Unicode support had been added. Remember: No Refactoring!

Something had to be done. But actually it got more complicated as I thought. I specified some getters:

int getInt();
long getLong();

string getString();
Stop, my colleage said: “Writing

void getString(string&);
gives much faster code”. I could relate to his argument, but I simply don’t like out-parameters, our C++ architect was with me, but my colleague insisted on benchmarking, and the benchmark show an overhead of about 15%…

I felt that I had to give in. Well, he was outnumbered and showed that he would trash the implementation, if he was forced to continue implementing this API. The remedy was that we settled for:

operator int() const;

operator string() const;

Of course as slow as the get, but a bit more obscure - list-access we get in groovy-style via operator[](int) - so the developer is happy, he traded performance for something else.

So we will waste some time at runtime…

In Java we wouldn’t have a had a choice. And this is gooood! Really. No irony attached.

I implemented something similar in Java in about an afternoon and it was all straightforward. Two minor bugs which got corrected in seconds.

The whole discussion above took actually two days with three engineers involved. That is a waste of time. As this all came up shortly before I wanted to leave for vacation, I got sometimes a bit impatient by stating that this all wouldn’t even be a topic in a Java implementation. The response from the C++ folk was: “Well, C++ programmers have to be smarter to avoid stupid code”.

Well, I think using a more development efficient language is at least as smart because it avoids wasting time on stupid little problems.

A final word for the performance obsessed: The code in question will be used to access a remote interface, on both ends there will be heavy database-access. No profiler will ever list one of the functions mentioned above.