Gaming 2.0

Heute morgen erhielt ich eine E-Mail von Gaiki mit der Ankündigung, daß endlich ein Showcase online wäre. Gaiki? Showcase? WTF? Beinahe wäre die E-Mail sofort in meinem Papierkorb verschwunden, aber dann fiel es mir doch wieder ein. Gaiki ist eine Platform, die es Spielepublishern ermöglicht ihre Spiele zum Endanwender zu streamen. Damit sollen die Zeiten von Windows und potenter Hardware endgültig gezählt sein.

Nun gut, ich hatte im Vorfeld immer mal wieder darüber gelesen, allerdings war ich nie in der Lage das Ganze auch mal auszuprobieren. Nun ja, bis heute zumindest. Also schnell mal die Showcase Site von Gaiki angeklickt und siehe da, dort gibt es die ein oder andere Hightech Demo, wie z.B. Crsysis 2.

Ein Klick auf das Cover fordert einen noch schnell dazu auf den Java Client von Gaiki zu installieren und dann ging es auch schon los und ich muss wirklich sagen ich war BEGEISTERT! Nicht nur, dasß ich Crysis 2 unter LINUX ausprobieren konnte, nein, die Grafik war ebenfalls der Hammer! Ein Blick ins Optionsmenü bestätigte meinen persönlichen Eindruck. Maximale Detailstufe bei einer Auflösung von 1600 x 1200. Der Hammer! Latenzprobleme beim spielen? Fehlanzeige! Sollte sich dieser erste Eindruck in nächster Zeit bestätigen, dann muss ich wirklich ernsthaft darüber nachdenken, warum ich eigentlich noch eine potente Garfikkarte mein Eigen nenne???

In diesem Sinne Happy Gaming und en guten Rutsch!

Posted in Fun | Tagged | Leave a comment

Websockets in JSF 2.0

HTML5 rückt immer näher und die Unterstützung auf Endgeräten wird allmählich marktreif. Höchste Zeit sich einmal mit JSF 2.0 und Websockets auseinanderzusetzen. Das alles wird einem schön in einer JAX Session näher gebracht.

Building next-generation Web Apps with WebSocket and HTML5 from JAX TV on Vimeo.

Posted in Architektur, Java, Webdesign | Tagged , | Leave a comment

Grails UI, gui:dataTable und i18n

Vor kurzem habe ich mich mit Grails beschäftigt. Eigentlich eine ziemlich nettes Framework, mit dem man schnell einen Prototyp programmieren kann. Für meinen Geschmack war die Unterstützung für Rich UI allerdings etwas dürftig, doch das ist kein Problem, denn in diese Lücke springen in Grails die sogenannten Plugins.

In meinem Fall habe ich mich für das Grails-UI Plugin entschieden. Dieses Plugin bietet eine schöne Integration von YUI und YUI wiederum bietet ein umfangreiches Set an Rich UI Komponenten.

Das Plugin war schnell installiert und die Integration in Grails war auch relativ leicht umzusetzen. Vor allem das Tag <gui:dataTable> kam bei mir stark zum Einsatz. Irgendwann allerdings kam ich zu dem Punkt, wo ich mich mit Internationalisierung auseinandersetzen musste und dieses Problem war leider nur sehr dürftig beschrieben. Aus diesem Grund will ich heute kurz aufzeigen was man hierfür alles tun muss.

Continue reading

Posted in Java, JavaScript | Tagged , , , , , | Leave a comment

Maven Tutorials

Da ich in letzter Zeit mich verstärkt mit dem Thema Android Programmierung beschäftige möchte ich euch kurz auf eine Seite aufmerksam machen, die wirklich gut geschrieben ist.

Es handelt sich hierbei um den Blog von Lars Vogel und hier hat es mir vor allem die Android Tutorials Seite schwer angetan. Ein Blick lohnt sich in jedem Fall!

Posted in Android | Leave a comment

Maven, Spring und STS

Durch Zufall bin ich heute im Spring Blog auf einen guten Artikel gestoßen, der sich mit dem Problem von STS (2.8), M2E (1.0) und Android beschäftigt. Für all diejenigen, die nun wissen was ich meine, rate ich dringend diesem Eintrag zu lesen. Für alle anderen, die ihr Android Project mit Hilfe von Maven, Spring und STS bauen wollen, empfehle ich zumindest einen Blick darauf zu werfen. Mir hat es endlich geholfen meine Build Probleme in den Griff zu bekommen.

Los gehts!

Und wenn wir schon beim Thema Android Entwicklung sind. Wenn euch unter dem Stichwort Android Annotations nichts einfällt, dann werft unbedingt auch ein Blick hierauf. Gerade am Anfang erleichtert es einem die App Entwicklung enorm!

Posted in Android, Architektur, Eclipse, Java | Tagged , , , , | Leave a comment

JPA Optimierungen

Da ich im Allgemeinen ein großer Fan von JPA bin, und überdies bei meinen privaten Projekten gerne Spring Data einsetze, ist es für mich unabdingbar mich auch näher mit dessen Optimierung zu beschäftigen. Nichts ist schlimmer als wenn man ein schönes OR-Mapping mit entsprechenden Repositories aufweisen kann, die zu Grunde liegende DB Schicht allerdings eine schlechte Performance aufweist.

Also tut euch und dem DB Admin einen Gefallen und werft einen kurzen Blick auf folgendes Video. Schaden kann es nicht ;)

Optimierung von JPA-Anwendungen from JAX TV on Vimeo.

Posted in Architektur, Java | Tagged , , | Leave a comment

Apache 2 Header Bug führt zum System Stillstand

Leider musste ich heute auf heise.de einen ziemlich beunruhigend Artikel über den apache 2 lesen. Momentan gibt es einen Bug im Apache, der das komplette System zum Stillstand bringt.

Nachzulesen hier:
http://www.heise.de/newsticker/meldung/Tool-bringt-Apache-Webserver-zum-Stillstand-1329986.html

Da ich ebenfalls davon betroffen bin, hab ich gleich mal ein paar Foren und Blogs nach einer Lösung durchsucht, um letztendlich auf folgende header Modul Lösung zu stoßen.

in /etc/apache2/conf.d eine Datei header.conf mit folgendem Inhalt anlegen:

SetEnvIf Range (,.*?){5,} bad-range=1
RequestHeader unset Range env=bad-range

Anschließend muss man, falls nicht aktiv, noch das headers Modul des Apaches aktivieren.

a2enmod headers
/etc/init.d/apache2 restart

Damit sollte man vor diesem Bug sicher sein, zumindest wenn man Root Zugriff hat. Wir immer keine Garantie oder Gewährleistung von mir. Falls ihr was besseres habt immer her damit.

Posted in Sicherheit | Tagged , , , | 1 Comment

Java 7 Video Tutorials

Nach einer gefühlten Ewigkeit ist es nun soweit. Java erscheint in der Version 7. Zumindest hoffe ich das wenn wir endlich den 28 Juli haben.

Umfangreiche Änderungen oder neue Killer Features sucht man leider vergeblich. Allerdings gibt es die ein oder andere Verbesserung, die einem die tägliche Entwicklerarbeit erleichtert. Derjenige, der sich noch nicht mit den neuen Features von Java 7 beschäftigt hat, empfehle ich die zugeschnitten Videos des Java Launch Events. Sie bieten eine kurze Einführung und Übersicht über die neuen Features, wie z.B.:

  • Strings in switch
  • Multi-Catch
  • try-with-resources
  • Varargs Warnungen
  • Diamond Operatoren

Posted in Java | Tagged , , | Leave a comment

Web Application und Webserver Security

In letzter Zeit habe ich mich mit der Sicherheit von Webapplikationen beschäftigt. Eine erste Adresse ist das Open Web Application Security Project, kurz OWASP. Die OWASP veröffentlicht pro Jahr immer eine TOP 10 Liste der meisten Gefahren für Webentwickler. In dieser Liste findet man neben den üblichen Verdächtigen wie SQL-Injection, CSRF und XSS auch eher vernachlässigte Themen wie z.B. “Unvalidated Redirects and Forwards”.
Jeder Sicherheitsaspekt wird hierbei kurz erläutert. Neben Hinweisen, um überhaupt festzustellen ob die eigene Webapplikation anfällig dafür ist, werden auch noch Lösungswege aufgezeichnet. Doch nicht nur die Entwicklung von Webapplikationen wird durchleuchtet. Neben dieser TOP 10 Liste werden noch andere Themenbereiche angesprochen. Dabei hat mir der Artikel “Securing Tomcat” sehr gut gefallen. Der Artikel geht dabei auf die Sicherheitseinstellungen des Servers ein und liefert zahlreiche Anleitungen zur Absicherung. Jeder der einen eigenen Tomcat betreibt sollte diesen Artikel gelesen haben.

Posted in Sicherheit | Tagged , , , , | 1 Comment

MySQL Referenzarchitekturen

Da ich schon immer ein MySQL Fan gewesen bin und so ziemlich jeder Entwickler eine MySQL DB irgendwie im Einsatz hat, und sei es nur über seinen Webspace, beschäftige ich mich hin und wieder mit den Whitepapers von MySQL. Diese sind, meiner Meinung nach, wirklich sehr gut gemacht.

Heute kam auch wieder ein Whitepaper heraus und dieses beschäftigt sich mit dem Thema “MySQL Referenzarchitekturen für hoch skalierbare Webinfrastrukturen”. Ok, meistens ist die eigene Referenzarchitektur für den Privatanwender relativ simpel. Ein Webserver trifft auf eine DB. Fertig. Doch das ist ja nicht alles. Beschäftigt man sich mit MySQL im professionellen Umfeld reicht das natürlich bei weitem nicht aus. Falls man sich jetzt noch nie mit dem Thema beschäftigt hat oder schon immer einmal wissen wollte wie die großen Player, z.B. Flickr, Facebook, etc, ihre DB Systeme aufsetzen, dann müsst ihr euch dieses Whitepaper einmal anschauen. Sehr schön gemacht.

Ich persönlich kam leider nur mit den mittelgroßen Architekturen in Berührung. Aber zumindest habe ich jetzt einen Überblick darüber was mich bei einem Think Big Projekt erwartet.

Posted in Architektur | Tagged , , , | Leave a comment