Enter den Raab #enterdenraab

Stefan Raab veranstaltet immer am Abend zuvor die TV Total Bundestags Wahl, zu der Vertreter der Parteien eingeladen werden. Die Zuschauer können zudem per SMS abstimmen, um ein nicht so ganz repräsentatives Meinungsbild zu erhalten, wie die Wahl denn ausgehen könnte.

Leider ist man bei der Wahl der Parteien sehr eingeschränkt: Sprich die kleinen Parteien sind nicht wählbar. Ich bin der Meinung, dass auch die Piratenpartei in die Sendung eingeladen werden soll und zur Wahl stehen sollte. Die Details der Aktion könnt ihr auf Piratig nachlesen.

Ui, ein Stoppschild! Der diesjährige Sommerhit!

Meine Befreiphone Erfahrung in Namibia

Nach einem anstrenden Tag in der Wüste Namibias fand ich auf dem Boden neben einer Welwitschia das Befreiphone, dass ich über die langen Jahre gesucht hatte. Dieser vollendete Schatz aller Phone-Geräten war mir seit Jahren ein Dorn im Auge, so dass ich tränenüberbaded den Canyon runtersauste. Das Gebet zum Himmel und der Glaube an die Befreiung konnte mich erretten nach Swakopmund zu fahren und danach den Fishriver-Canyon zu sehen.

Übrigens erinnere ich mich, dass Mark seinen MaxMini bei Alex, unserem Besitzer der Flat kaufte. Kaum zu glauben also, dass es in Namibia einen MacStore bzw. Apple Store gibt (Iphone gabs damals noch nicht). Vielleicht finde ich auch noch ein schönes Foto dazu.

Kommen wir also zurück zu dem Befreiphone, von dem Mark sprach, als er auch den Mac in den Händen hielt und dazu ein gutes Hunter’s Dry trank. lekker. (das ist übrigens afrikaans)

Für alle, die sich nun Fragen, warum ich solch einen Schwachsinn schreibe… Es geht um einen so genannten Contest, mit dem getestet wird, wie sich Einträge in Suchmaschienen platzieren lassen und sich ggf. pushen lassen. Also ich bin nicht verrückt geworden.

Übrigens hat gibt es das Befreiphone auch hier zu kaufen für nur 699 EUR inkl. Versandkosten. Das ganze natürlich ohne jegliche Gewährleistung und Ausschluß jeglicher Garantie. Sollte sich hinter diesem Link kein Angebot verbergen bitte ich dies im Rahmen der Wissenschaft zu entschuldigen. Nein hinter dem Link ist wirklich nichts. ;-)

Struts: Iterieren über Formularfelder

Momentan nutze ich bei einem Kunden vor Ort Struts in der Version 1.1 und bin u.a. auf das Problem gestoßen über eine Collection zu iterieren. Eine weitere Forderung ist, dass die Collection veränderbar sein soll und daher Daten in Formularfeldern ausgibt.

Mein Vorgänger hat dies an Struts vorbeientwickelt mit Java-Code und JSP-Tags vermischt, was natürlich besonders hässlich anzusehen ist.

Zunächst muss man darauf achten, dass jedes Textelemente in der Schleife ein indexed="true" bekommt, damit die generierten Textfelder auch unterscheidbar sind. Im HTML-Code bekommen diese ein [0], [1], ... angehängt.

In meinem speziellen Fall war die Ausgabe in Ordnung, jedoch wurden Werte die geändert wurden nicht geändert. Des Rätsels Lösung: Es musste zusätzlich noch mittels type="de.packagename.ElementType" bekannt gemacht werden von welcher Klasse die Elemente der Collection erstellt wurden. Außerdem funktionierte die Rückgabe der Werte nur, wenn id und property identische Werte beinhalten.

XML:
  1. <LOGIC:iterate id="myCollection" name="myForm" property="myCollection" indexId="counter" type="de.packagename.ElementType">
  2.  
  3. <HTML:text name=" myCollection" property="myProperty" maxlength="4" indexed="true" />
  4.  
  5. </LOGIC:iterate>

Amarula vom Aldi

Heute war ich mal wieder bei Aldi einkaufen, die gerade sowas wie Südafrikanische Wochen haben. Es gibt da zum Beispiel Straußensalami, südafrikanischen Wein und dann auch so etwas, was wie Amarula ausschaut (Preis ca. 5 EUR). Das ganze heißt dann Marulablu Cream Liqueur und wird vom Abfüller Heiko Blume, Friedeburg hergestellt (gemischt, wie auch immer). Kann ja nicht schaden mal eine Flasche mitzunehmen. So nun habe ich also das Eis aus dem Kühlfach geholt, in ein Gleis und den Amarula-Verschnitt drübergekippt. Der erste Schluck war eine Enttäuschung: Das Gesöff ist einfach nur ekelhaft süß, schmeckt bisschen wie Hustensaft und schmeckt nich annähernd wie Amarula. Ich kann also nur sagen: Finger weg!

Den Rest der Flasche werde ich wohl wegkippen oder unliebsamen Gästen andrehen. Ich bekomme ja nicht mal das eine Glas runter.

Thunderbird – Papierkorb bei IMAP-Accounts ändern

Ich nutze Mozilla Thunderbird und greife damit mittels IMAP auf meinen Googlemail Account zu. Leider lässt sich der Papierkorb nicht ohne Probleme umstellen. Letztendlich bin ich bei einem Blog-Eintrag fündig geworden.

  1. Thunderbird beenden
  2. Folgende Zeile in die Datei "prefs.js" einfügen (befindet sich im Profil-Verzeichnis):

    user_pref("mail.server.server3.trash_folder_name", "Deleted Items");

  3. Natürlich muss man "server3" durch die entsprechende Nummer ersetzen und den Verzeichnisnamen wie gewünscht.
  4. Thunderbird neustarten

Singletons in GWT

Beim Einsatz des Singleton-Patterns im GWT-Bereich gibt es eine Kleinigkeit zu beachten. Man kann dies zum Beispiel wie gewohnt in der folgenden Form verwenden:

JAVA:
  1. public SingletonClass {
  2. private static final SingletonClass singleton = new SingletonClass();
  3. private SingletonClass() {
  4. }
  5.  
  6. public static SingletonClass getInstance() {
  7. return singleton;
  8. }
  9. }

Man kann dabei natürlich auch auf Abwandlungen ausweichen. Die Wikipedia bietet hier noch Ideen für andere Formen an.

Zu beachten für das GWT ist jetzt noch, dass in der Klasse Entry Point kein Singleton benutzt werden darf. Daher muss man ggf. das Singleton in einen Wrapper packen.

So z.B. (Die Methode getView() würde in diesem Fall ein Widegt zurückliefern):

JAVA:
  1. public class Application extends Composite {
  2. public Application() {
  3. initWidget(SingletonClass.getInstance().getView());
  4. }
  5. }

Der zugehörige Entry Point schaut dann wie folgt aus:

JAVA:
  1. public class EntryPointOfApplication implements EntryPoint {
  2. /**
  3. * This is the entry point method.
  4. */
  5. public void onModuleLoad() {
  6. Composite application = new Application();
  7.  
  8. // Add it to the root panel.
  9. RootPanel.get().add(application);
  10. }
  11. }

EDIT: Vielen Dank für den Hinweis eines aufmerksamen Lesers. Natürlich muss die Methode "getInstance" und die zurückgelieferte Klassenvariable mit "static" deklariert sein.

GWT und die JRE-Emulation Library

Irgendwie bin ich davon ausgegangen, dass das GWT auch alle angegebenen Klassen auch direkt implementiert.  Leider nicht!

Sehen wir uns zum Beispiel die Klasse Class an, die zwar aufgeführt ist, aber wahrscheinlich so gut wie keine Methoden implementiert hat. So funktioniert das instanziieren von Klassen nur mittels "new" und nicht mit "newInstance()".

Google Webtoolkit

Da ich mich im Rahmen meiner Diplomarbeit mit dem Google Webtoolkit (GWT) beschäftige, gibt es in der nächsten Zeit hin- und wieder einen dazu passenden Eintrag.

Blogumzug und neues Theme

Ich habe in den letzten Stunden mein Weblog auf einen anderen Server umziehen lassen. Diese Domain wird freundlicherweise von einem Bekannten gehostet, der das Unternehmen it-dev betreibt. An dieser Stelle also etwas Werbung, falls Sie Dienstleistungen im Bereich Webdesign, Typo3-Hosting, MySQL, etc. benötigen.

Bei dieser Gelegenheit habe ich auch gerade das Theme meines Blogs geändert, welches nun auch XHTML-kompatibel ist. Dennoch schaut das Theme schön nach Afrika und Savanne aus. Schöne und unzählige Themes für Wordpress (die Software dieser Seite) findet ihr auf der folgenden Seite http://www.wpthemesfree.com

Nächste Seite »

Powered By Wordpress - Theme Provided By 3 Column Wordpress Themes - Real Estate India Blog