Ganz ehrlich: dieser Hermann ist echt zum Anbeißen. Mit Apfelstückchen, gemahlenen Haselnüssen und Zimt möchte man ihn einfach nur vernaschen…
Archive for December, 2008
Wieder ist es mal soweit, es naht die stille Weihnachtszeit!
Bei all der weihnachtlichen Stimmung, nehme ich mir jetzt die Zeit, allen Lesern meines Blogs schöne Festtage zu wünschen. Hoffentlich liegen für euch alle viele Geschenke unter dem Baum und ihr könnt die Zeit in Ruhe mit euren Lieben genießen.
Ich bedanke mich schon jetzt recht herzlich bei allen, die mir ein Kommentar oder Trackback hinterlassen haben. Für mich ist es ein unglaublich schönes Geschenk, wenn ihr mir per Bookmark oder per abonniertem RSS Feed die Treue haltet sowie ab und an hier vorbeischaut.
Frohe Weihnachten und ein gesegnetes neues Jahr wünscht euch
Compiler
Seit knapp vier Tagen betreue ich “Hermann”, den Kuchen – bzw. den Teig. Heute habe ich ihn nach Anweisung der Anleitung gefüttert (mit 1 Tasse Mehl, Milch und Zucker).
Hermann ist ein Hefekuchen, der auch unter den Begriff “Freundschaftskuchen” bekannt ist. Das Rezept ist auch für den Kochlaien bestens geeignet, da man nicht all zu viel beachten muss. Allerdings sollte man knapp zehn Tage für die Zubereitung einplanen, damit sich der Teig durch Gärung entwickeln kann. Am letzten Tag teilt man den guten Hermann in drei Teile – einen Teil behält man selbst, die anderen schenkt man seinen Freunden.
Na ja, mal sehen, was daraus wird.Für alle, die sich auch einen “Hermann” basteln wollen, habe ich mal eine Rezeptversion aus dem Netz gefischt: http://www.ciao.de/Hermann_Kuchen__Test_2877334
…der Controller für die ColecoVision Console! Das erste, was mir bei Betrachtung der Mouse mit dem vollen Namen Dicota Abacus Business, ins Auge stach, war der integrierte Ziffernblock.
Die Form und etwa die Größe der Tasten kommen dem Controller der Spielekonsole schon sehr nahe. Fehlt eigentlich nur noch der große, runde Steuerknüppel, der sich da beifnden müsste, wo die Maustasten für Links- und Rechtsklick liegen. Wer ein bisschen auf Retro steht, könnte sich ja ein entsprechendes Case-, pardon, Mousemod zurecht schneidern.
Das könnte zwar im täglichen Gebrauch etwas sperrig in der Hand liegen, aber die Aufmerksamkeit der Kollegen hätte man schon einmal sicher.
Nach so viel Programmiererei in Java, ist es an der Zeit für Abwechslung zu sorgen.
Ich habe ja noch andere Programmiersprachen – die wollen auch mal wieder lieb gehabt (oder gehasst werden?). Es sollte vielleicht mal wieder in Richtung C oder C++ gehen, da ich im Programmiersprachen Forum das C Board neben der Java Ecke betreue.
Irgendwie bleibe ich doch immer bei Java oder C\C++ hängen. An Delphi kann ich mich auch nur noch so dunkel erinnern und für Common Lisp schaffe ich es nicht ganz mich aufzuraffen. Ich brauche zum Programmieren meist ein konkretes Problem. Eine eigene Stack Implementierung zu schreiben, nur damit ich einmal eine Klasse namens Stack programmiert habe, finde ich nicht ganz so spannend. (Doch das kommt leider allzu oft in Übungsaufgaben vor
)
Fürs Programmieren in C\C++ habe ich angedacht, etwas im Bereich von OpenGL oder Allegro zu machen. Da kann man durchaus durch die Features von beiden Sprachen programmieren.
Heute ist es soweit: ich gebe die Betaversion meines Trackbackprogramms “JTrackbacker 1.0″ frei. Die Software ist wie immer Open Source und umsonst.
Zur besseren Ansicht ein Screenshot (zum Vergrößern, bitte draufklicken):
JTrackbacker kann eine Liste von, ich nenne sie mal, permanenten Pings verwalten. Unter permanenten Pings verstehe ich URLs von Seiten, die bei jedem selbst verfassten Beitrag benachrichtigt werden sollen, z.B. Technorati oder ein anderes Blogverzeichnis. Sollen zusätzlich zu dieser Liste andere Blogs oder Webseiten benarchitigt werden, so kann man im Feld Trackbackadresse eine oder mehrere Trackback-URLs (bitte mit ; trennen) angeben.
In dieser Version von JTrackbacker muss man allerdings den Titel und die URL des eigenen Beitrag im Feld Beitragstitel bzw. Beitragsadresse eingeben, da ich noch keine passende Lösung gefunden habe, wie das Programm das selbständig erledigen könnte. Zudem sollte dieses Feature auch mit anderen Blogsystemen als nur Wordpress funktionieren. Im Textfeld Zusammenfassung des Beitrag genügt es, wenn man ein paar Zeilen hineinkopiert oder mein schreibt eine Zusammenfassung mit seinen eigenen Worten.
Die Dialoge zu Ping Liste und Einstellungen erreicht man einfach über das Menü Programm.
Installieren lässt sich das Programm recht leicht: einfach die JAR-Datei jtrackbacker-1.0-beta.jar entpacken. Der Windowsbenutzer legt sich auf Wunsch eine Verknüpfung zur JTrackbacker.jar auf seinem Desktop an. Ein Linuxer kann sich je nach Desktopumgebung einen Starter anlegen oder schreibt sich ein kleines Shellscript (z.B. JTrackbacker wurde unter dem bin-Verzeichnis im eigenen Home-Verzeichnis entpackt):
#!/bin/bash cd $HOME/bin/JTrackbacker/ exec java -jar JTrackbacker.jar
Beim Lesen des Beitrags Good to know Java #3 – Finally-Blöcke bin ich etwas ins Grübeln gekommen.
Wenn man in folgenden Codebeispiel gegebene Funktion mit dem Argument 0 aufruft:
public static int method1(int a) { try { System.out.println(1/a); } catch (Exception e) { System.out.println("Shit happens!!"); } finally { System.out.println("Finally!"); } System.out.println("Afterwards ..."); return a; }
führt das unweigerlich zu einer Division durch Null, was Java mit dem Werfen eine Exception kundtut. Wer den als Link angegebenen Beitrag gelesen hat, wird wissen, dass nach Behandlung der Exception im catch-Teil und anschließendem Durchlaufen des finally-Blocks die Ausgabe von “Afterwards …” erfolgt.
Da drängt sich einem die Frage auf: Weshalb brauche ich dann überhaupt noch einen finally-Block?
Liest man sich durch gängige Java Literatur, erfährt man, dass der Code, der in finally steht, immer ausgeführt wird. Leider kann ich kein Beispiel präsentieren, in dem der Code nach dem finally-Block nicht unmittelbar danach ausgeführt wird. Vielleicht ließe sich so ein Beispiel durch die Benutzung von Threads in Java konstruieren. Zwischen mehreren Threads wird bekanntlich hin und hergewechselt bei der Ausführung des Programms. Interessant wäre jetzt zu wissen, ob dieses Umschalten auf einen anderen Thread auch innerhalb eines finally-Blocks erfolgen kann oder ob andere Threads in diesem Moment warten müssen, bis der Block verlassen wurde. Aber das wäre wieder Stoff für einen neuen Beitrag.
Jetzt stelle ich mal eine andere Frage: Warum sollte ein Programm nicht weiterlaufen nachdem die Exception gefangen und behandelt wurde?
Das ganze Exceptionhandling ist doch gerade dazu gedacht, falls sich die Software das Knie an etwas stößt, nicht gleich abstürzt.
Heute hab ich ordentlich was geschafft; bezogen auf’s Programmieren. In den vergangenen Tagen konnte ich mir nur schwer zur Weiterarbeit an meinem Trackbackprogramm aufraffen. (Es weihnachtet doch zu sehr und man geht lieber mal einen schönen Weihnachtsmarkt besuchen, als Codezeilen einzutippen
)
Na ja, da hat es mich heute förmlich überkommen. Eine Zeile Code nach der anderen konnte ich problemlos in NetBeans reinhacken, ohne dass ich minutenlang davor saß und nicht so recht wusste, was ich eigentlich schreiben sollte. Ich liebe es, wenn gerade alles so schön “im Fluss” ist. Dann arbeitet mein Prozessor (bzw. die graue Masse namens Hirn) besonders gut.
Der GUI muss ich noch beibringen, wie sie die Trackbackroutine anstößt. Hier und da auch noch etwas Feintuning nicht nur an der GUI, sondern in der Programmlogik. Danach wäre dieses Projekt auch abgeschlossen.







Kommentare