Fehlermeldung des Tages

svn: Cannot create new file ‚/home/myuser/programs/eclipse/workspace-java/someservice/somemodule/src/test/config/default/datasets/.svn/tmp/prop-base/toller.langer.package.name.deutlich.laenger.als.hier.angegben.xml.svn-base.76854713-2901-0010-b32d-edbcf3a145b9.tmp‘: File name too long

Super.

HTTP im Firefox mitschneiden

Nachdem ich fast immer „Live HTTP Headers“ benutzt hatte, kam ich jetzt mit der FF 3.6 Version in Schwierigkeiten. Die Erweiterung ist nicht kompatibel. Das Problem könnte man zwar auch relativ leicht lösen (einfach die kompatiblen Versionen anpassen in der Erweiterung), aber ich nehm sowas gerne als Anlass mal nach was Neuem zu suchen 🙂

Lösung: HttpFox. Gefällt mir. Macht genau das was ich brauch 🙂

Jahr 2009

Das Jahr ist rum, jeder macht seine Jahresrückblick und da bin ich auch einfach mal dabei. Ist tatsächlich relativ viel passiert.

Januar

Der war jetzt nicht besonders spektakulär, da ich ja noch an meiner Diplomarbeit geschrieben habe. Das Einzige erwähnenswerte wäre da jetzt das Assessment-Center das ich mitgemacht habe. War eine kostenlose Veranstaltung eines unabhängigen Finanzdienstleister und ich als Schwabe lass mir sowas nicht entgehen 🙂

Februar & März

Noch weniger los als im Januar. Schaffe, Schaffe und bissle an der Diplomarbeit arbeiten. Und abgeben. Leider hatte damals die Weiterbeschäftigung bei meiner Diplomarbeitsfirma nicht geklappt. Macht aber auch nicht allzuviel 🙂

Ausserdem hatte ich noch mein Projektmanagement-Seminar, d.h. den ersten von drei Blöcken. Dazu hab ich gar nichts geschrieben, wie mir jetzt auffällt. Naja, brauch ich jetzt auch nicht mehr anfangen.

Auf die Cebit hab ich mich auch begeben. Allerdings war die nicht besonders spannend. Leider in der vollen Wirtschaftskrise, in der ich den Firmen meist nur ein Praktikum aus den Rippen leiern hätt können. Oder halt zu einer der großen Ingenieurdienstleistungsfirmen. Naja, zumindest damals konnt ich mir das gar nicht vorstellen.

April & Mai

LANGWEILIG. Klassische Bewerbungsphase, ein paar Späße mit dem Arbeitsamt. Aushilfe bei meiner Diplomarbeitsfirma. Blablabla. Es war Jurten-WG ein paar kleinere Privatparties und natürlich mein erster Arbeitstag bei meinem inzwischen ehemaligen Arbeitgeber.

Naja, wenn man mein Archiv mal durchforstet, findet man noch die Bacon Explosion. Ein Festmahl 🙂

Juni

Auch hier nix besonderes. Warum hab ich am Anfang des Posts eigentlich erzählt das ne Menge passiert ist? Nunja, ich hab meine Wohnung bezogen, mein Cousin hat geheiratet und mein Internet wurde geschaltet. Mikrige 2Mbit. Aber besser als Modem ist es allemal 🙂

Juli

David in England besuchen. Standesamt von De und Josi und später im Monat dann noch die kirchliche Trauung. Dazwischen dann noch der Junggesellenabschied. Feuchtfröhlich, alles drei zusammen 🙂

August

Sommerlager. Pfadfinder. Zelten. Lagerfeuer. Leider durfte ich nur ein Wochenende daran teilnehmen, aber das war echt gut. Die guten alten Zeiten.

Nachdem ich die ersten Einrichtungsgegenstände nach Karlsruhe transportiert habe, musste die Einweihungsparty natürlich stattfinden. Teilnehmer waren international. Badener, Schwaben, Engländer und Bayern 🙂

September

Auf diesen Monat hab ich mich eigentlich am Meisten gefreut. Ich durfte nämlich nach Hamburg und eine Bekanntschaft vertiefen. Details gibts keine, aber Bilder hier, hier und hier. Ausserdem hab ich den Arbeitgeber gewechselt und arbeite jetzt bei einem großen Telekommunikationsunternehmen. Unbefristet 🙂

Oktober

Diplomabschlussfeier. Relativ fad, viele Reden, blabla, wie toll wir doch alle sind und ein mittelmässiges Essen. Nunja, dafür die offizielle Verabschiedung vom Studentenstatus. Und danach noch ein paar leckere Cocktails 🙂

Ben Hur war auch. Wagenrennen innerhalb der Halle in Stuttgart. Ich dachte ich hätte was darüber geschrieben, ich finds aber nicht mehr :/

November

Auch hier gibt es jetzt nur ein paar Sachen die hängengeblieben sind. Einmal war die die W-JAX. Ich hab da zufälligerweise die Eintrittskarte gewonnen und durfte dann drei Tage lang an einer “professionellen Konferenz” teilnehmen. War schon sehr spannend.

Mein Bruder hat für Familienzuwachs gesorgt, somit bin ich jetzt Onkel einer Nichte 🙂

Jennifer Rostock. Ich mag die Band. Defintiv hoffe ich das die noch ein paar mehr Alben rausbringt. Inzwischen hab ich ja auch Singstar und ein Lied von denen auf der PS3. Jippie 🙂

Dezember

Ui. Viele Parties, jede Menge Singstar, einmal Speeddating, ne Menge eisdiele und den Zoo so oft gesehen wie das ganze Jahr über nicht. Eigentlich wollte ich auch noch Avatar anschauen, allerdings hatte ich echt keine Zeit bisher 🙂

Ausblick

Was soll nächstes Jahr passieren? Ich weiß es nicht. Ich hoffe meine Probezeit läuft weiterhin so gut und ich werde nicht spontan rausgeworfen. Ich hoffe das sich was für mich in der holden Frauenwelt ergibt. Ich hoffe ich komme dazu mir mal Flensburg, Graz, Wien und nochmals London anzuschaun. Ausserrdem steht noch Lausanne auf dem Plan. Im Sommer gibt es defintiv zwei Wochen Sommerlager und eine Woche wandern in Schottland oder Irland.

Der Blog wird weiterexistieren, ich werde hoffentlich wieder mehr schreiben (der Dezember hatte nur drei Einträge, Schande, Schande) und Schweine werden fliegen 🙂

Fast schon Weihnachten

Jaja, wie die Zeit rumgeht. Schon wieder über einen Monat her das ich was geschrieben habe. Nunja, was kann ich erzählen … nicht soviel und das auch erstmal nur in Kurzform:

  • SCJP: Ich  hab mal angefangen da das Buch durchzulesen und werd das dann mit Marc und Stephan auch durchziehen, inkl. Prüfung. Mein Chef hat mir dann noch BlackBelt empfohlen.
  • SingStar: Ich bin ja stolzer Besitzer einer Playstation und wir (d.h. meine Arbeitskollegen und ich) haben schon eine Party veranstaltet. Morgen findet die nächste Iteration statt und, so wie es aussieht, werden wir das alle zwei Wochen durchziehen 🙂
  • Code Review: Haben wir jetzt schon zweimal durchgeführt. Gibt immer wieder spannende Diskussionen, manchmal auf Quellcode-Ebene, manchmal eher auf Prozess-Ebene. Aber immer gut und hitzig 🙂
  • Speeddating: Einmal durchgeführt. Mal schauen wie es sich entwickelt 🙂

Das wars auch schon. Da ich vermutlich bis Weihnachten nichts Neues schreiben werden, wünsche ich einfach mal:

FROHE WEIHNACHTEN

Thunderbird + Exchange

Als Linux-Nutzer hat man ernsthafte Probleme wenn man mit einem Exchange-Server kommunizieren will. E-Mails sind meist kein Problem, da der Exchange auch IMAP und SMTP versteht, sobald es dann aber um andere Dinge geht, stößt man an die Grenzen. Insbesondere hat es mich geärgert, da ich keinen Zugriff auf die Termine hatte. Es gibt zwar diverse Möglichkeiten und die bisher Beste war ein Windows+Outlook das dann mittels dem Google Calendar Sync einen „weltweiten“ bidirektionalen Zugriff ermöglicht. Ich hab aber kein Windows.

Jetzt bin nich über DavMail gestolpert. Der Exchange versteht nämlich auch WebDav und somit dann auch CalDav. Ich das rockt. Installiert, „konfiguriert“ (eigentlich nur Passwort und Nutzernamen angeben und den Haken bei CalDav setzen) und in Lightning eingebunden. Funktioniert 1a.

Das Einzige was jetzt immernoch fehlt ist die „Verbindung“ zu den E-Mail-Termineinladungen. Die kann Lightning leider nur in lokale Kalender schreiben, d.h. ich hab einen Dummy-Kalender für diese Sache. Um dann händisch immer die Termin umzupflegen. Eventuell wird das „irgendwann“ besser.

W-Jax 2009: Donnerstag

Historisch gewachsen? Architekturen dokumentieren und kommunizieren
Prinzipiell ein interessanter Vortrag, wie man Architekturen dokumentieren kann. Verweist ziemlich häuft wieder auf arc42-Template, aber das macht ja nichts. Sonst halt viel UML und BlaBla, wobei UML hier nur gewählt wurde, weil sich der Vortragende damit auskennt (kommt ja von Oose)

Details des Java-Memory-Modells: volatile-, final- und atomic-Felder – Angelika Langer
Das war ein spannender Vortrag. Was genau bewirken eigentlich diese Felder? Inwiefern geben sie Garantien ab? Was können Sie leisten und was nicht? Welche kann man in manchen Fällen als synchronised-Ersatz verwenden? Da ich diese drei Felderbezeichner bisher noch nie wirklich verwendet hatte (ausser final), fand ich es unglaublich faszinierend mal ein bißchen stärker in Thread-/Parallelprogrammierung reinzuschnuppern. Ich empfehle als Lektüre da auch mal

WJAX-Challenge
http://it-republik.de/jaxenter/wjax09/challenge

W-Jax 2009: Mittwoch

Don’t know Jack about Object-relational Mapping? – Craig Russell
Vortrag darüber ob und wie man ORM einsetzen sollte. Ich fand den ziemlich langweilig den Vortrag, da eigentlich nichts supertolles erzählt wurde. Empfehlung des Vortragenden: Baue dir keinen eigenen Mapper, nutze bereits vorhandene. Ja, das ist ein guter Tipp. Ich hatte mir zumindest bisher nämlich nie überlegt, das man mit folgendem Szenario ein „Problem“ hätte:

Über Weg Nr.1 wird ein Objekt „Fussballspiel 1“ aus der Datenbank geholt. Jetzt gibt’s aber noch einen anderen Weg (Nr.2), der sich auch das „Fussballspiel 1“ holt. Bei meinen bisher selbst zusammengefrickelten ORMs wären hier zwei Instanzen vorhanden gewesen, obwohl es ja eigentlich dasselbe Objekt ist. GUTE ORMs liefern hier einfach nur die Referenz auf dasselbe Objekt raus.

Validation – declare once, validate anywhere. A reality? – Emmanuel Bernard
Interessant. Man kann in seiner Bean einfach angeben welche Constraints eigentlich gelten sollen (z.B. String mit der Mindestlänge 5) und das ist dann anwendungsweit verfügbar. Allerdings auch „nur“ wenn man JSF, JPA und JEE verwendet. Wenn dann natürlich ein Framework nimmt das die Bean Validation (noch) nicht unterstützt, dann hat man gelitten. Aber da der JSR 303 (http://jcp.org/en/jsr/detail?id=303) ja inzwischen final ist, lässt das hoffen. Insgesamt eine tolle Idee, schaun wir mal was draus wird.

Understanding Cloud Computing – Iran Hutchinson
Allgemeines Blabla über „Cloud Computing“. Das es da Unterschiede gibt. Und das man zwischen IaaS, SaaS und *aaS unterscheiden sollte. Und das man wissen sollte was man will. Ach. Guter Vortrag zu einem Laberthema.

Scala at Work – Martin Odersky
Scala ist ja in aller Munde. Ich hatte bisher noch nichts damit zu tun und werde in absehbarer Zeit damit auch nichts zu tun kriegen. Grundsätzlich finde ich die Idee einer Kombination Objektorientierung, Funktionale Programmierung und der JVM doch sehr schön. Wer mehr wissen will, schaut einfach mal in die Wikipedia (Thema: Scala (Programmiersprache) )

JavaScript beyond the Basics – Nathaniel Schutta
Eigentlich ein guter Vortrag zum Thema Javascript. Leider wusste ich das meiste schon, was wohl hauptsächlich daran liegt, das ich in meiner Diplomarbeit nichts anderes gemacht hab. Neu war allerdings die Tatsache, das jemand eine JVM in Javascript geschrieben hat. Wahnsinn. Fazit des Vortrages: Javascript is no toy language.

Google Web Toolkit – Making a Better Web 2.0 – Papick Taboada
Nun. Java benutzen um Javascript zu erzeugen. Der gute Herr Taboada ist durch den Vortrag ziemlich gehetzt, aber insgesamt ist es schon eine tolle Sache. Vor allem seit mit Google Wave auch eine Anwendung draussen ist, die komplett auf diese Technik aufbaut.

Pragmatische Aufwandsschätzung – Andreas Havenstein, Henning Wolf
Sieben „user stories“ zum Thema Aufwandsschätzung. Nichts wirklich Neues, aber mal ein konkretes Beispiel für Function-Point-Analyse zu sehen, war ganz nett. Auch das man das „relative Schätzen“ meist besser kann. Beispiel: „Teilaufabe A ist eindeutig mehr Aufwand als Teilaufgabe B“.

W-Jax 2009: Dienstag

Die W-Jax ist meine erste Konferenz, dementsprechend faszinierend finde ich die. Lauter Leute, alles Entwickler, bekannte Gesichter der Branche und fast nur gute Vorträge. Ich bin begeistert. Aber jetzt komm ich mal gleich zu den gehörten Vorträgen:

Why the next five years will be about languages – Ted Neward

Sehr witziger Vortrag über Sprachen an sich. Natürlich auch über den Hype namens DSL (Domain Specific Languages), aber prinzipiell darüber das nicht jede Sprache die Endlösung ist, das viele Sprachen überleben werden, obwohl sie keiner will und das es neue Sprachen geben wird, die jetzt noch keiner kennt. Quintessenz am Ende: Wer sich jetzt nicht um Sprachen kümmert, brauch später auch nur noch einen Satz: „Would you like fries with that“.

Back to the Basics: Anwendungen auf Basis von EJB 3.1 – Dirk Well

Ein kleiner Einführungskurs in EJB 3 mit Hinweisen was in EJB 3.1 noch dazu kommen wird. Im Prinzip nichts besonderes, da kann man auch einfach die Spezifikation lesen (wie fast immer :)), allerdings war es ganz nett mal eine Zusammenfassung zu sehen. Interessant könnte das @Asychnronous sein, das dann mit Future-Objekten arbeiten. Muss ich mir nochmal genauer anschauen. Weiterhin dazu kommt dann noch @Singleton, wobei diese leider nur Clusternode-eindeutig sind, bzw. JVM-eindeutig. Bißchen doof, wenn man fast nur mit Clustern arbeitet. Muss man halt schauen wie man die synchronisiert.
Weiterhin wurden cronjobs neu entdeckt. Nennt sich in EJB 3.1 dann Timer und lässt sich (fast) beliebig steuern. Find ich halt faszinierend wie man alten Wein einfach in neue Schläuche packt und das dann als „Feature“ verpackt. Wow. Timer 🙂

42 für Softwarearchitekten – Dr. Gernot Starke
Da verweis ich grad einfach mal auf http://arc42.de/. Im Prinzip ein sehr interessanter Vortrag über Projektdokumentation (also nicht nur das Benutzerhandbuch, sondern alles inkl. Requirements und Technische Konzepte). Da gibt’s ein Template zum Runterladen, das gerade mal 30 Seiten (oder so) hat, das einem eine Struktur vorgibt wie man ein Projekt beschreiben kann. In der Theorie eine super Sache, allerdings glaube ich nicht, das man irgendeinen Vorgesetzten davon überzeugen kann, dass man erstmal eine Woche lang ein Template ausfüllt um dann (weil agil und so), nochmals pro Woche einen Tag zu verbraten um das auf den neusten Stand zu bringen. Chefs wollen schnell was und das so billig wie möglich.

The Future of Enterprise Java – Adam Bien
Lange Keynote. Muss ich mir nochmal genau Gedanken machen was da alles gesagt wurde. Im Prinzip nix Überwältigendes, meist nette trends.google.com-Graphiken, gepaart mit ein paar Fakten „aus der Wirtschaft“. Klingt jetzt viel abfälliger als es war. An eine Sache erinnere ich mich noch: Single Vendor wird wohl (leider) kommen. Also, Cloud und so: Application Server, JPA-Implementation und/oder andere Libraries von einem Hersteller. Ich nenne hier einfach mal Red Hat aka Jboss.

Hibernate Search: Full-text search for Hibernate Applications – Emmanuel Bernard
Ein Hibernate Interface für Lucene. ’nough said. 🙂
Ne, ernsthaft: Eigentlich eine sehr abgefahrene Sache, weil es die Lucene-Machine einfach komplett wegkapselt. Man kann das quasi als normale DataSource sehen, die dann per EntityManager angesprochen wird und auch Query und ResultLists nutzt. Faszinierend. Ausserdem wird dann auch bei einem Datenbankupdate automatisch die Änderung in den Lucene-Index propagiert.

JCR: Java Content Repositories – Carsten Ziegeler
Da der Marc da bissle seine DA drüber geschrieben hat (oder so ähnlich), hab ich mir das auch mal angeguggt. Ist jetzt keine besondere Präsentation gewesen, eigentlich nur eine Beschreibung WAS ein Content Repository ist und das JCR 2.0 relativ frisch raus ist. Schaunmermal.

CouchDB, die REST-basierte Datenbankalternative fürs WEB 2.0 – Frank Pientka
Was ein komisches Ding. Eine JSON-Datenbank. Man erstellt einfach ein JSON-Dokument und packt das dann in die CouchDB. Nutzt das Map&Reduce das irgendwie wohl Google entwickelt hat. Das ist jetzt grobes Halbwissen, müsste man mal genauer recherchieren. Ich finds aber irgendwie komisch, weil das „eigentlich“ nur eine JSON-Datenbank ist, mit REST-Interface. Ein GET ist also ein SELECT, ein POST ist ein INSERT usw. Ohne Sicherheitsmechanismus, Login oder sonstirgendwas. Wer die URL kennt, darf alles machen. Doofes Konzept irgendwie.

NACHTRAG: Es gibt wohl doch ein Sicherheitsmodell. Es gibt Admin-Accounts, einen Lese- und einen Schreibzugriff. Allerdings wurde davon, soweit ich mich erinnere, nichts im Vortrag erwähnt. Nur das man halt einen HTTP-Proxy davor schalten sollte, um Sicherheitsfeatures reinzubringen. Quelle: http://couchdb.apache.org/docs/overview.html

Was schafft man in 60 Minuten – Live „on stage“ hacking for Java EE 6 – Adam Bien
Geile Sache. In 60 Minuten einfach mal EJB 3.1, JPA 2.0, JSF 2.0, JMS einen Junit-Test mit EJBContainer-Mockup und ein JSF-Redirect. Und das ganze dann noch per REST und Webservice erreichbar. Damit gewinnt dieser Beitrag das Bullshit-Bingo des Tages 🙂

Das wars dann erstmal für heute, ich geh mal mein Bier auffüllen 🙂