CeBIT Erfahrungsbericht

Jahrelang hab ich’s mir vorgenommen und nicht auf die Reihe bekommen, vergangenen Donnerstag hat’s dann auf Anhieb geschäftlich geklappt: spontan ging’s mit einem Kollegen nen Tag lang nach Hannover zur CeBIT. Dort gab es viel interessantes zu bestaunen, eine kleine Auswahl davon möchte ich hier vorstellen.

Bundesdruckerei

Ehrlich gesagt hätte ich der Bundesdruckerei nicht mal die Anwesenheit auf der CeBIT zugetraut – zumindest nicht als Aussteller. Es stellt sich jedoch heraus, dass unsere Bundesdruckerei (die „uns“ eigentlich gar nicht mehr gehört, da sie 1994 privatisiert wurde) ein höchst innovatives Unternehmen ist.

Die Bundesdruckerei GmbH hat ihren Sitz in Berlin und fertigt nicht nur Briefmarken und Geldscheine, sondern ist laut ihrem eigenen Unternehmensprofil ein weltweit führender Anbieter im Bereich der Hochsicherheitstechnologie und bietet komplette Pass- und Ausweissysteme. Ob das stimmt kann ich nicht sagen, jedenfalls hatten sie auf der CeBIT einen recht modernen Stand, auf dem sie einige ziemlich interessante Produkte vorgestellt haben, allen voran einen Personalausweis mit integriertem OLED.

OLED steht für organic light emitting diode, eine Technik, mit der sich Displays fertigen lassen, die nicht ganz so hell leuchten wie anorganische Leuchtdioden (LEDs), dafür aber auch weniger strom verbrauchen. Im Gegensatz zu LEDs, die eigentlich nur als Farbfilter fungieren, emittieren OLEDs ihr Licht selbst und brauchen daher keine Hintergrundbeleuchtung. Das spart nicht nur Kosten, sondern auch Platz, und ermöglicht es, OLEDs auf nahezu jedes Trägermaterial aufzubringen: auf Folien für biegsame Displays, auf Textilien, um den in der Skijacke integrierten MP3-Player zu steuern, oder eben auf Personalausweise.

Die auf der CeBIT vorgestellten Ausweise sollen die Sicherheit erhöhen, indem nicht nur ein zweidimensionales Bild darauf zu sehen ist, sondern ein Video, in dem sich der Kopf des Inhabers komplett um 180º dreht. Die Techik würde nicht nur den Grenzbeamten die Identifikation der Passanten erleichtern, sondern auch für mehr Fälschungssicherheit sorgen.
Der Ausweis ist nur 0,7mm dick und kommt ohne integrierte Batterie aus: Ähnlich wie bei RFID bezieht das integrierte Display seine Energie durch die von einem Lesegerät ausgesendeten Funkwellen. Spannend.

Weitere von der Bundesdruckerei vorgestellte Techniken waren zum Beispiel biometrische Identifizierung an Flughäfen, um den Passagier-Durchfluss zu erhöhen, oder Geräte für den Druck von herkömmlichen Ausweisdokumenten.

Fraunhofer Institut

Mir ist selbst nicht ganz klar, wie 3D so faszinierend sein kann, wo man doch eigentlich täglich dreidimensional sieht. Vor etwa 10 Jahren hab ich den ersten Film in 3D gesehen, in den Universal Studios in Orlando. Bei der dort verwendeten Technik werden 2 Videos auf dieselbe Leinwand projiziert, deren Licht polarisiert ist, das heisst alle Wellenausschläge zeigen in dieselbe Richtung. Polarisiert man das Licht beider Videos nun unterschiedlich, idealerweise orthogonal zueinander, so ist es möglich, mit Polarisationsbrillen das falsche Bild auszufiltern. Somit kommt an jedem Auge nur ein Bild an; es entsteht ein Stereoeffekt.

Irgendjemand beim Heinrich-Herz-Institut muss wohl was gegen Brillen haben, denn dort hat man beschlossen, zusammen mit Philips nach Lösungen zu suchen, die ohne Brille auskommen – und ist fündig geworden.

Ähnlich wie bei den allseits bekannten „Kippbildern“, die eine gerippte Oberfläche haben, und je nach Betrachtungswinkel ein anderes Bild zeigen, kann vor einen Bildschirm ein Linsenraster gelegt werden. Dadurch sieht wie bei der Polarisationsbrille jedes Auge sein eigenes Bild, und es entsteht ein 3D-Effekt. Zumindest, wenn man sich im „Sweet Spot“ befindet, einem ziemlich eingeschränkten Bereich frontal vor dem Bildschirm, in dem der Stereoeffekt korrekt wahrgenommen wird. Verlässt man diesen Bereich, sind anstatt eines dreidimensionalen zwei etwas verschwommene eindimensionale Bilder zu sehen.

Dieses Problem kann man dadruch umgehen bzw verkleinern, indem man mehr als 2 Bilder aussendet um mehrere Sweet Spots zu bekommen. Dies erhöht einerseits die Bewegungsfreiheit, allerdings auf Kosten der Bildqualität, denn schon bei 2 Bildern sieht jedes Auge logischerweise nur die Hälfte der verfügbaren physischen Pixel. Diese Anzahl verringert sich entsprechend, wenn noch mehr Bilder ausgestrahlt werden.

Im auf der CeBIT vorgestellten Projekt 3D4YOU hat man sich zur Aufgabe gemacht, diese Technik serienreif zu machen. Philips ist für qualitativ hochwertige 3D-Displays zuständig, das Fraunhofer Institut kümmert sich um die Verarbeitung von 3D-Filmmaterial, also Aufnahmen, Postproduction und Speicherung (Codec, Containerformat, etc).
Ich bin sehr gespannt, wann bei mir zu Hause das erste 3D-Erlebnis geniessen darf.

Weitere interessante Produkte waren eine Gesichtserkennung , die alle vorgehenden Besucher analysiert und alle Gesichter korrekt erkannt hat. Mehr noch: Sie konnte 4 unterschiedliche Gemütszustände (Happy, Angry, Surprised und Sad) ausmachen und diese als Overlay unterhalb des erkannten Gesichts als Balkendiagramm darstellen. Es war allerdings ziemlich schwer, dem Gerät etwas anderes als Happy vorzugaukeln, da das ganze so faszinierend war, dass man ständig schmunzeln musste.

Wer sich im Bekleidungshaus häufig nicht entscheiden kann, in welcher Farbe er sein neues Hemd denn am Besten kaufen soll, dem könnte der Virtual Mirror sehr behilflich sein. Dieser Spiegel, der eigentlich ein Bildschirm mit Kamera ist, erfasst Kleidungsstücke, die der Betrachter trägt und kann in Echtzeit die Farbe der Kleidungsstücke ersetzen. Auch Muster sind möglich. Dabei werden Falten und sonstige Deformierungen sowie Schatten korrekt erkannt und auch im erzeugten Bild wieder eingefügt. Das erzeugte Bild ist so realistisch, dass man dem Gesehenen Glauben schenken würde, wenn da nicht die gespiegelte Person in seiner Originalkleidung vor dem Spiegel stehen würde.

Prevayler: Eine effiziente Lösung für die Serialisierung von Objekten

Im Alltag eines Java-Programmierers ist man oft auf die Möglichkeit der Sicherung von Objekten, über die Ausführungszeit einer Anwendung hinaus, angewiesen. Dies kann mittels Persistenz (Speicherung von Objekten auf nicht flüchtigen Speichermedien), gewährleistet werden.

Beispiele für entsprechende Anwendungsfälle sind leicht zu finden. So kann dies beim Beenden einer Anwendung verwendet werden, um diese nach einem Neustart wiederherstellen, oder im Fehlerfall einen auftretenden Fehler rekonstruieren zu können.

Diese zwei Beispiele zeigen, wie wichtig die Serialisierung von Objekten sein kann.

Für dessen Realisierung stehen dem Programmierer neben der Java-Schnittstelle Serializable, noch entsprechende externe Bibliotheken zur Verfügung. Ein sehr interessanter Vertreter der Kategorie „Bibliotheken“, der zugleich frei Verfügbar ist, stellt Prevayler dar. Der neben seiner beeindruckenden Performance, noch Fehlertoleranz und Load-Balancing unterstützt. Dabei unterhält er nicht, wie andere Persistenz-Layer (z.B. Hibernate), die Daten der Objekte in einer relationalen Datenbanken, sondern im Arbeitsspeicher und sichert die Objekte in bestimmten Intervallen auf der Festplatte.

Wer sich für dieses Thema interessiert und auf Persistenz angewiesen ist, wird in Prevayler kein Allheilmittel finden, aber einen guten Verbündeten für eine einfache und vor allem performante Umsetzung in eigenen Projekten.

Offizielle Projekt-Homepage: http://www.prevayler.org

Lighttpd ein schlanker schneller Webserver

Lighttpd ist ein schlanker, schneller Webserver, der unter der BSD-Lizenz vertrieben und Jan Kneschke entwickelt wurde.

Er kann über diverse Module erweitert werden und setzt auf asynchrone Kommunikation. Dadurch kann er mit nur einem Prozess mehrere tausend Anfragen parallel bearbeiten – ohne Systemresourcen, wie die CPU und den Arbeitsspeicher zustark zu belasten.

Ferner unterstützt er die wesentlichen Features, die ein Webserver bieten sollte und kann Code in verschiedenen Skript-Sprachen ausführen. So bindet er PHP über FastCGI und andere über die SCGI-Schnittstelle ein.

Weitere Informationen finden Sie unter:

http://www.lighttpd.net/

JDBC: Fehlerhafte Interpretation von Tinyint-Werten im Java MySQL-Connector 3.1.14

Der JDBC-Treiber 3.1.14 für MySQL interpretiert den Datentyp Tinyint als Boolean. Ein entsprechender getInt() Aufruf liefert in diesem Falle nur true bzw. false als Ergebnis zurück.

Dieser Umstand lässt sich dadurch lösen, das in SELECT-Statements ein entsprechende Typkonvertierung (CAST-Anweisung), von Tinyint nach Integer, verwendet wird.

Beispiel für eine SELECT-Anweisung mit Datentypkonvertierung von Tinyint nach Integer:

SELECT `id`, `name`, CAST (`foo` AS UNSIGNED) AS `foo` FROM `table_name` WHERE `id` > 0;

MonetDB: Eine schnelle Alternative zu anderen Open Source Datenbankmanagementsystemen

MonetDB ist ein relativ junges RDBMS, das in den Niederlanden vom National Research Institute for Mathematics and Computer Science entwickelt wurde.

Laut Angaben der Entwickler-Webseite monetdb.cwi.nl, ist diese hochperformante Datenbank im Schnitt ein vielfaches schneller, als einige andere RDBMS. Dies wird dadurch ermöglicht, dass MonetDB eine vertikale Fragmentierung der Tabellen im Speichermodell verwendet. Ferner wird die interne Datenrepräsentation im Arbeitsspeicher gehalten und konsequent für den CPU-Cache optimierte Query-Anfragen verwendet. Dadurch ist sie bei Verwendung der gleichen Algorithmen, im Vergleich zu typischen auf Interpreter basierenden RDBMS, so schnell. (Siehe Benchmark)

Das MonetDB-Projekt ist in drei Teile gegliedert:

  • MonetDB/SQL : ist das RDBMS,
  • MonetDB/XQuery : ist die XML Datenbankunterstützung,
  • MonetDB Server : ist der „multi-model“ Datenbankserver.

Seine Stärken liegen in datenbank basierenden Anwendungen, die hohe Anforderungen in Hinsicht auf die Performanz an ein RDBMS stellen.

Es lohnt sich auf jeden Fall, sich dieses Projekt genauer anzuschauen.

Links:

  1. http://monetdb.cwi.nl – Webseite
  2. http://en.wikipedia.org/wiki/MonetDB – Artikel im Wikipedia
  3. http://monetdb.cwi.nl/projects/monetdb/SQL/Benchmark/TPCH/index.html – Benchmarkergebnisse