Ab in die Beeren

Schlagwörter

Nun hat es mich auch erwischt. Nachdem so viele vor mir mit den Micro Computern so lustiges Zeugs gemacht haben, bis hin zur vollständigen Hausüberwachung und -steuerung, dachte ich, mich auch einmal damit zu beschäftigen. Im Prinzip habe ich die ganze Zeit nicht gewusst, was ich mit einem Arduino oder Raspberry Pi machen sollte. Eine Drone ist zu teuer, eine Überwachungskamera zu profan und einen Medien Server brauche ich schlichtweg nicht. Daher… was soll ich machen?

Eines unerwarteten Momentes überkam es mich darüber nach zu denken, einen EMail Server ins Wohnzimmer zu stellen. Ja, kein Quatsch, alle jammern über die Überwachung unserer Daten, jeder kann inzwischen mitlesen aber den Mailprovider wechseln mag man auch nicht so gerne. Nun gut, was liegt also näher, als einen Email Server zu bauen, den man sich ins Haus stellt, der super klein ist, kaum Strom verbraucht und geräuschlos funktioniert.

Das Projekt für den Raspberry Pi war geboren. Ich entschied mich aus dem einfachen Grund für das Gerät, weil es im Netz Unmengen an Dokumentationen über dieses kleine Stück „Wunder“ gibt.

Als ich begann, mich für die PC Technik zu interessieren, passten die Rechenmaschinen noch in Einfamilienhäuser. Und nun… so eine kleine Platine.

Hardware

Also, ab ins Internet und die Einzelteile bestellt. Eine Platine für gut 30 EUR, Netzteil für 8 EUR dazu, Micro SD 32 GB für genügend Speicher und natürlich ein kleines transparentes Gehäuse, man will doch zeigen, was da in der Box steckt. Selten habe ich so gespannt auf die Nachricht von DHL gewartet.
Da die Lieferung nicht in einem Stück kam, musste ich sogar meinem Sohn erstmal die SD Card klauen – Entschuldige bitte, du bekommst sie zurück.

Das Gehäuse war schnell zusammengebaut und die Platine darin versenkt. Sieht schon schick aus der Kleine.

Raspberry Pi

OS & Administration

Es ist ja nicht so, dass ich der große Hacker oder Linux Liebhaber bin, dennoch musste ich mit einer gewissen Freude feststellen, das auch hier alles extrem gut dokumentiert ist, sodass mir die Angst vor der Konsole und den kryptischen Befehlen schnell genommen wurde. Schließlich wurde zu meinem erklärten Ziel, so weit es geht über SSH die „Himbeere“ zu administrieren.

Doch bevor man irgendwas administrieren kann, muss erst mal ein Betriebssystem rauf. Das war sehr schnell gefunden, zum einen Dank an die Community und zum anderen Dank an die vielen Vorreiter, in Sachen Pi. Ich entschied mich für NOOBS, einem Paket, das es dem Anfänger sehr leicht mach. Nur eines musste im Vorfeld geklärt werden, eine Frage, die offenbar so simpel ist, dass kaum jemand darüber spricht. Wie zum Henker kommt die Distribution auf die SD Card und noch viel schlimmer, wie geht es dann weiter?

OS auf die SD Card schreiben

Ja, es ist so einfach, dass fast niemand darüber berichtet. Ich mache es dennoch, es gibt noch andere, die es nicht gleich finden.

  1. SD Card formatieren. z.B. mit SDFormatter (für MAC und Windows)
  2. NOOBS herunterladen
  3. NOOBS entpacken
  4. Entpackte Dateien auf die SD Card kopieren

YEAH – XCopy Deployment

OS installieren

Nach diesem extrem schweren Unterfangen gilt es das OS zu installieren. Auch hier habe ich kaum Dokumentation zu gefunden – gut ich habe nicht wirklich gewühlt. Ein einfacher Satz in irgend einem Forum ließ mich kurzfristig im Boden versinken, der Scham wegen, denn was liegt näher als die SD Card in den Slot, Tastatur, Maus und Monitor anschließen und Strom anlegen. Siehe da das System startet und nur kurze Zeit später bekommt man einen Dialog zum auswählen, was man machen möchte.

Raspian installieren und warten.

Gefühlte 10 Minuten später ist alles fertig. Standardsprache auswählen und das Passwort des pi Users ändern, das wars. Ich bin begeistert.

Nun trennte ich das Gerät wieder von Maus, Tastatur und Monitor, denn wie schon gesagt, es ging mir auch darum die Administration über SSH zu erledigen. Netzwerkkabel, dass beim Nachbarn besorgt wurde, mit Gerät und Router verbinden, Strom ran – Mäusekino, die rote LED leuchtet durchgehend, die grüne blinkt fleißig.

Verbinden

In der Konsole eintippen:

> ssh pi@[IP des Pi]

Ja super, welche IP hat der Kleine denn? Gott sei dank benutze ich als Router die FritzBox, die mir verrät, welche IP an die jeweiligen LAN Anschlüsse vergeben wurde. Wenn man schon hier ist stellt man noch ein, dass diese IP immer an das Gerät vergeben wird. Denn für einen EMail Server braucht man statische IPs.

Nach dem der SSH Befehl abgesetzt wurde, kann man sich per Passworteingabe am Pi anmelden. Die Ausgabe sagt einem Bescheid, dass man ein echt toller Typ ist.

Pi Anmeldung

Hindernis 1

Da ich es nicht lassen konnte Deutsch als Standardsprache aus zu wählen, ist das System offenbar nicht korrekt installiert worden. Immer wieder tauchte in der Konsole eine Meldung auf, dass irgendwelche LC_ Einträge nicht gelesen werden konnten. Irgendwas ist ja immer, dachte ich noch bei mir. In den Foren tauchte dieses Problem auch auf, aber leider mit recht vielen Möglichkeiten der Lösung, eine komplizierter als die andere. Dann stieß ich auf einen sehr einfachen Weg, den ich probieren konnte:

Per SSH, wie oben genannt, einloggen

> ssh pi@[IP des Pi]

export LC_ALL=C
sudo dpkg-reconfigure locales

Das sorgt dafür, dass der Konfigurationsbildschirm des Pi erscheint, bei dem man weitere Sprachen nachladen kann. Warum das beim Setup des Server nicht klappte ist mir nicht klar, aber als ich dann [*] de_DE.UTF-8 ausgewählt und einen Reboot durchgeführt habe, war alles in Ordnung.

Das war leider nicht das einzige Hindernis, welches auf mich wartete.

Mail Server installieren

Zugegebener Maßen habe ich, was den Server betrifft, nicht lange gesucht. Im Prinzip war es der erst beste, der mir in die Finger kam. Offenbar hatte ich Glück, denn die Installation war denkbar einfach und schnell erledigt.

Meine „Wahl“ fiel auf Citadel. Vielleicht nicht der schönste Server, aber der funktional kompletteste. Alles dran, POP3, IMAP und SMTP. Dann noch WebClient, Kalender, Kontakte, Notizen, Aufgaben und sogar ein Chat. Was will man mehr?

Installiert wurde der Server per

sudo modprobe ipv6
sudo mkdir -p /etc/citadel/netconfigs/7
sudo apt-get update
sudo apt-get install citadel-suite

Sieht erstmal viel aus, ist es aber nicht. Die ersten beiden Anweisungen bereiten nur das System für die Installation vor. Warum das nicht im Installskript von Citadel passiert, kann keiner erklären.

Nach wenigen Augenblicken ist der Server fertig. Man wird noch aufgefordert die Datenbank für die Passwortverwaltung aus zu wählen. Intern ist eine gute Wahl für kleine Unternehmen. Außerdem soll man die IP angeben unter der der Server lauschen soll. Hier gibt man 0.0.0.0 als Adresse an, damit immer und überall gelauscht wird.

Tarnmodus verlassen

Um Mails empfangen zu können muss er natürlich von außen erreichbar sein. Hierfür sind diverse Schritte nötig. Witziger weise habe ich hierzu auch keine klare Dokumentation gefunden. Warum das so ist, stellte sich später heraus.

Feste IP vs dynamische

In den wenigsten Fällen hat man zu Hause eine feste IP, so auch ich. Daher musste ich mir Gedanken machen, wie mein System immer über ein und den selben Hostnamen von außen erreichbar mache. Diverse Lösungen gibt es hier in Form von DynDNS, NoIP oder sonstigen Anbietern. Zu dumm nur, dass einigen von diesen Diensten kostenpflichtig sind.

Zum Glück habe ich eine FritzBox, die damit gesegnet ist, gleich zwei solcher Dienste bereit zu stellen. Zum einen MyFritz und zum anderen DDNS. MyFritz ist super geeignet von extern auf seien FritzBox zu zu greifen. Ich hab auch gleich alles entsprechend konfiguriert, was sich als Fehler herausstellte, denn über MyFritz kann kein MX Eintrag geroutet werden – warum es nicht klappte kann ich leider nicht sagen. Also versuchte ich es mit den Einstellungen von DDNS. Wie das geht… ich muss etwas ausholen:

MX, All-Inkl und Domain

Der Email Server sollte natürlich eine eigene Domain bekommen. Glücklicherweise liegt noch eine in meinem all-inkl Konto rum. Was bei all-inkl noch geht, ist das Anlegen eines DDNS Dienstes, den man in der FritzBox eintragen kann.

Screen Shot 2014-09-14 at 23.14.21

 

Mit den Zugangsdaten füllt man die Felder in der FritzBox Konfiguration aus und die Verbindung kann hergestellt werden.

Screen Shot 2014-09-14 at 23.20.04

 

Auf diese Art habe ich die meine Domain an meine FritzBox gebunden. Alle Anfragen, die über diese Domain rein kommen werden an mich weitergeleitet. Cool. Eine letzte Konfiguration ist noch wichtig. der sog. MX Eintrag. Das habe ich natürlich auch bei all-inkl gemacht. Die Hauptdomain bekommt einen MX Eintrag auf mail.xxxx.biz, damit der Mailverkehr auch an meine FritzBox gesendet wird.

Bitte, wer bis hier gekommen ist und meinen Text als Anleitung sieht, sollte nicht versuchen Mails zu empfangen, denn entgegen vieler anderer Meinungen ist hier nicht Schluss.

Hindernis 2

Eigentlich sollte nun so gut wie alles funktionieren, so zumindest machten mir es einige Dokumentationen weis. Weit gefehlt, denn es fehlen die Portfreigaben an der FritzBox. Die Ports 25 und 143 müssen an den Pi weitergeleitet werden, denn sonst passiert hier gar nichts.

Portfreigaben

 

Nun sollte es aber klappen, Mails senden und empfangen. Tja, senden klappte tatsächlich. Über das Webportal von Citadel konnte ich, nachdem ich einen User eingerichtet hatte, Mails verschicken. Zu blöd nur, dass man nicht darauf antworten konnte. Es fehlte die Einstellung in Citadel, welche Domain zu diesem Server gehört.

Dazu musste ich mich als Admin in Citadel anmelden (die Konfiguration hierfür habe ich schon bei der Installation ausgeführt) und unter den serverweiten Einstellungen den voll qualifizierten Domainnamen auf meine Wunschdomain ändern. Außerdem fand ich noch eine Stelle, wo man als Alias auch noch die eigene Domain eintragen sollte. Da ich nicht sicher war, welche Domain tatsächlich gebraucht wird, habe ich einfach Sub- und Hauptdomain eingetragen.

Alias festlegen

Gut, dass das immer sauber dokumentiert wird (augenverdreh).

Ergebnis

Bis hier habe ich nicht wirklich viel Zeit investiert. OK, ich habe eine Menge gelesen und andere Artikel über das Einrichten des Pi als Email Server studiert. Aber das war es mir Wert.

Mit den neuen Einstellungen konnte ich Emails versenden und auch empfangen. Das klappt wirklich gut und zuverlässig. Was mich noch ein bisschen verwirrt ist die Tatsache, dass ich in meinem EMail Client keine Mails in der INBOX sehen kann, obwohl wirklich welche drin sind. Aber das störte mich erst einmal nicht. Etwas viel schlimmeres war passiert, was jetzt erst einmal dafür sorgt, genau über das Projekt nach zu denken.

Faules Obst

Wenn man einen Email Server mit SMTP betreiben möchte darf man keine dynamische IP haben. Denn sonst wird man als Spam Server betrachtet und jede Mail, die man versendet landet im Spamordner des Empfängers. Doof, echt doof ist das. Denn der wahre Grund einen eigenen Mail Server zu betreiben ist es doch, Kontrolle über seine Mails zu bekommen. Alles aus einer eigenen kontrollierten Hand so zu sagen. Wenn man nun nicht im Spamordner landen möchte, dann muss man wieder zu einem externen Anbieter gehen. Bei diesem Anbieter werden die Mails gespeichert, die man verschickt – ergo, man hat nichts gewonnen, es kann doch wieder jemand mitlesen.

Nach einigem Suchen habe ich einen tollen Blog Post gefunden, wo alles bestens erklärt wird, warum es keinen Sinn macht, auf einem lokalen Server, einen IMAP und SMTP Mailserver zu installieren.

Fazit

Einen eigenen Email Server kann man einrichten, auch auf einem Raspberry Pi. Wenn man es in Kauf nehmen kann, dass der Mail Versand weiterhin über einen externen Provider läuft, dann ist der eigene Server eine wirklich interessante Sache.

Ich für meinen Teil bin stolz darauf es probiert zu haben und zu sehen, wie einfach es im Grunde geht. Wenn ich eine feste IP bekomme, dann kann ich mir gut vorstellen dieses Thema noch einmal aus der Versenkung zu holen.

Nun wartet das nächste Projekt mit dem Pi, das wird wesentlich komplexer aber auch viel cooler.

~janekf

Von Siedlern und Entdeckern

Christoph Columbus

Christoph Columbus

Wir schreiben das Jahr 1492. Ein gebürtiger Italiener namens Cristoforo Colombo macht sich auf den Weg gen Westen, um auf dem Seeweg nach Indien zu gelangen. Das besonderere hierbei ist die Tatsache, dass die Mehrzahl der einfachen Bevölkerung davon ausgeht, die Erde sei eine Scheibe und man fällt am Ende des Wassers einfach herunter. Um so weniger erstaunt es, dass die Besatzung der Schiffe, die Christoph Columbus – so wird er in Deutschland genannt – begleitet, aus Kleinkriminellen und sehr schlecht ausgebildeten Männern besteht.

Was bewegte Christoph zu diesem Abenteuer. Zum Einen natürlich die Theorie des Galileo Galilei, der mittels diverser Experimente nachgewiesen haben möchte, dass die Erde eine Kugel ist. Darum muss es doch möglich sein, wenn man im Westen losfährt, dass man im Osten ankommt. Zum Anderen soll der junge Christoph oft am Hafen gesessen und die abfahrenden Schiffe beobachtet haben. Dabei sei ihm aufgefallen, dass nach einer gewissen Zeit von den Schiffen nur noch die Segel und nicht mehr der Rumpf zu sehen war. Er schloss daraus, dass es zumindest eine Krümmung der Erdoberfläche geben muss.

Beflügelt von diesen Gedanken, versuchte er eine Expedition für Portugal, der damaligen größten Seemacht der bekannten Welt, zu organisieren. Zu dieser Zeit war es wirtschaftlich überaus wichtig für Europa an die Gewürze des Ostens heran zu kommen, ohne den Landweg nehmen zu müssen. Hier lagen Räuber, Zollämter und Osmanen auf dem Weg, die ein schön großes Stück vom Gewürzkuchen ab haben wollten.

Offenbar hatte Portugal nicht verstanden, oder zumindest konnte Christoph hier niemanden für seine Expedition begeistern, und lehnte so die notwendigen Mittel ab.

Nach einigem Hin und Her konnte Christoph die Spanische Königin von seinem Vorhaben überzeugen, in dem er ihr drei Schiffe und die mieserable Mannschaft absprechen konnte. Für Spanien kein hoher Preis für die Möglichkeit einen Seeweg nach Indien zu finden.

Er hatte nun alles zusammen, um gen Westen zu segeln, in unbekannte Gewässer und der groben Schätzung von sechs Wochen, in denen er mit seiner Crew in Indien ankommen wollte. Was daraus wurde ist uns allen bekannt. Statt der sechs Wochen wurden es fast sieben Monate, die Besatzung stand direkt vor der Meuterei und Indien war es auch nicht, was gefunden wurde.

Der Entdecker

Nur mit der Vision bewaffnet findet Christoph neues Land. Die Steine auf seinem Weg hat er teils schmerzlich umschiffen können und wegen des ausbleibenden wirtschaftlichen Erfolges, wurde er nicht als der Held gefeiert, der er eigentlich war.

Sein Ruf wurde systematisch zerstört, als heimkehrende Siedler am Hofe zu Spanien behaupten, er könne die Kolonie nicht vernünftig verwalten. Tja, er ist ja auch nie als Verwalter auf die Reise gegangen. Statt dessen ist er mit einer Idee gestartet und hat etwas völlig Neues probiert (zumindest für die damalige „zivilisierte“ Welt). Er hatte gelernt ein Schiff und die dazugehörige Besatzung zu steuern, niemals eine ganze Kolonie.
Die ersten Siedler, die er auf dem Festland hinterließ stifteten unter den Ureinwohnern Unfrieden und zerstritten sich selbst. Sie mordeten und versklavten ohne jegliche Rücksicht. Ist das denn die Schuld vom Christoph, der schon längst wieder auf dem Heimweg war? Sicher nicht.

Die Siedler

Während nun Christoph auf dem Weg nach Spanien ist, um von seinem Erfolg zu berichten, errichten die ersten Europäer in „Indien“ (aka Cuba) sie erste Festung. Man benutzte dafür die Reste eines der Schiffe, das in eine Untiefe geraten und für Rückreise nicht mehr zu gebrauchen war. Diese ersten Siedler waren scheinbar handwerklich geschickt genug, um Behausungen zu schaffen und eine europäische Zivilisation zu errichten.

Ohne notwendige Führung und Organisation zerfiel diese „Zivilisation“ recht bald und sorgte für die ersten Auseinandersetzungen in der neuen Welt. Was in den Jahrhunderten danach zu einer Art Kult wurde.

Entdecker und Siedler

Meine Beobachtungen der letzten Jahre in der Softwareentwicklung zeigen mir, dass es hier genau so die Entdecker und Siedler gibt. Jeder hat seine bedeutende Aufgabe, die ohne den anderen keinen Sinn ergibt.

Nehmen wir eine der Hochsprachen C#. Sie wurde ja nicht ohne Grund einfach zum Spaß aus dem Boden gestampft. Es gab da eine Reihe von Visionen, die erfüllt werden wollten. Das war nur möglich mit einer neuen Programmiersprache – so die Visionäre. Ich erinnere mich noch sehr genau an das Werbevideo bei dem Bill Gates von „… every time on any device…“ spricht. Eine wirklich hochgreifende Vision und mit Sicherheit kein einfacher Weg. Er ist meines Erachtens noch längst nicht abgeschlossen, der Weg der Programmiersprache, die auf jedem Gerät funktioniert.

Doch was nützt es jeden Tag ein neues Release zu liefern, wenn niemand da ist, die neue Programmiersprache in Projekten zu benutzen? Nichts natürlich…

Als ich zum ersten Mal von einem EventStore gehört habe war mir in keinster Weise klar, was hier auf mich zu kommt. Welche Möglichkeiten und teils auch Schmerzen vor einem liegen. Inzwischen gehe ich sehr leidenschaftlich mit dieser Technologie um. Bis vor Kurzem noch habe ich mich nie gefragt, woher sie stammt. Ich konsumierte nur. Nun weiß ich mehr darüber, über die Funktionsweise und den Zweck dessen. Ich beginne mit Experimenten und arbeite an Variationen, ich beginne Neues Land zu entdecken.

Ein Softwareentdecker bereitet das Land für die Softwaresiedler, diejenigen, die lernen mit den Technologien um zu gehen und diese in den Projekten anwenden. Hier ist eine Symbiose entstanden, die meines Erachten viel zu oft vergessen wird. Viel zu oft werden Entdecker in die Rolle eines Siedlers gezwungen. Was dabei herauskommt könnte man schlichtweg als Katastrophe bezeichnen. Ein Projekt, das nur von Entdeckern realisiert werden soll, wird nie fertig, denn die nächste Technologie steht schon vor der Tür.

Im Dschungel


Mit der Machete schafft man sich einen Weg durch einen Dschungel. Was einen erwartet ist eigentlich unklar, denn bisher ist hier noch niemand lang gegangen. Wie lange es dauern wird, um die anvisierte Bergspitze zu erreichen ist auch vollkommen unbekannt. Manchmal neigt man dazu eine Schätzung abzugeben, weil man ja schon 100 Kilometer Dschungel mit dem Messer zerteilt hat und dann stößt man auf ein Hindernis, das man einfach nicht sehen konnte – ein Abgrund von einigen hundert Metern.

Im Laufe der Zeit entwickelt man eine Fertigkeit mit der Machete, dass es eine Freude ist zu zu schauen, wie Blätter, Äste und kleine Bäume vom Messer zerteilt werden. Fast schon im Rausch kämpft man sich dem Ziel entgegen. Dann, nach unbekannt viel Zeit, ist man endlich angekommen und dreht sich um. Pure Enttäuschung macht sich breit. Der wunderschön geschnittene Weg ist nicht zu sehen, er ist im Laufe der Zeit entweder zugewachsen oder wird von all den andern Pflanzen rings um verdeckt.

Na wenn das so ist, dann schnell ran an das nächste Ziel, diesmal werden wir besser arbeiten und verwenden nicht diese Machete. Der Entdecker hat gehört, dass man mit einer Kettensäge viel schneller voran kommt.

So schließt sich der Teufelskreis. Zum Einen lernt der Entdecker im Laufe der Zeit das Werkzeug mit Perfektion zu führen und zum anderen hat er schlicht vergessen – es liegt in seiner Natur -, dass es noch andere Expeditionsteilnehmer gibt, die nicht so schnell sind. Die anderen waren aber dafür gedacht die Expeditionslager zwischen durch auf zu bauen. Die Lager, bei denen man am Abend am Lagerfeuer reflektieren kann, was am Tag zuvor entdeckt wurde und wie das geschah.

Gangs of New York

Während sich der Entdecker im Rausch weiter durch den IT Dschungel schlägt und die anderen vergessen hat, warten diese am Anfang der Expedition auf eine Reaktion des Entdeckers. Keiner hat so recht verstanden, warum man überhaupt auf diese Expedition mitgenommen wurde. Bis auf die viel zu kleine Prämie, die jeden Monatsende auf ihn wartet, hält ihn nichts wirklich mehr hier im Dschungel. Der Entdecker ist eh schon weg und das Basislager ist auch schon ganz runter gekommen. Unmut und Streit macht sich breit. Einer der Kollegen behauptet den Weg des Entdeckers gefunden zu haben und folgt diesem. Andere Kollegen haben gänzlich auf gegeben und beginnen die giftigen Beeren am Lagerrand zu essen oder streiten sich unablässig über die korrekte Benutzung der Machete.

Warum wurde diese Expedition überhaupt gestartet? Ach ja, die letzte Siedlung, die wir gebaut haben ist schwer erkrankt und dann ausgestorben wegen der fehlenden Kanalisation. „Woher hätten wir denn wissen sollen, dass man so etwas neumodisches braucht?“ fragt sich der ein oder andere Siedler. „Hätte man mir vorher gesagt, dass aus der Siedlung eine Stadt werden soll, dann hätte ich doch ganz anders gebaut.“

Epilog

Es geht nicht ohne den anderen. Der Siedler ist vom Entdecker abhängig und anders herum. Nur die Zusammenarbeit führt zum gewünschten Erfolg, weil jeder für sich Wegbereiter oder Rückenfreihalter des anderen ist. Das diese These noch lange nicht in den Köpfen angekommen ist zeigen die vielen Projekte, die den Bach hinunter gehen. Viel zu oft ist der Entdecker vorgeprescht und hat dabei vergessen die Siedler im Schlepptau mit zu nehmen. Auf der anderen Seite stehen die Siedler, die viel zu oft vergessen, dass sie nur auf der Basis der Entdecker siedeln können. Ihnen fehlen die Mittel den Boden zu schaffen.

Leider habe ich in den vielen Jahren feststellen dürfen, dass viele der Entdecker und Siedler, nicht bereit sind zu zu geben, dass sie den anderen brauchen. Der Entdecker ruht sich auf der Ausrede aus, dass der Siedler keinen Bock hat Neues zu lernen – stimmt ja auch, Neues ist nicht erprobt. Und der Siedler ruht sich darauf aus, dass das was er tut für ihn ausreicht – klar doch, mit Cobol kann man komplexe Applikationen schreiben.

Na, ein paar berühmte Beispiele gefällig?

„Die Erde ist eine Scheibe, um die sich die Sonne dreht.“
„Den Sozialismus in seinem Lauf halten weder Ochs noch Esel auf.“
„640 KB sollten reichen.“
„Ich denke, dass es einen Weltmarkt für vielleicht fünf Computer gibt.“
„NoSQL wird die relationalen Datenbanken ablösen.“

Hier noch mehr solcher netten Zitate.

Nun ist es die Aufgabe des Lesers selber zu identifizieren, wer oder was er ist, Entdecker oder Siedler. Zudem soll jeder selbst die Metapher für sich interpretieren und die Wörter „Expedition“, „Dschungel“, „Machete“, „Bergspitze“, „Abgrund“, „giftige Beeren“, „Siedlung“ und „Kanalisation“ durch Begriffe seiner Projektarbeit ersetzen.

~janekf

Frischzellenkur

Intro

Lange habe ich nichts mehr geschrieben – Oktober ’13. Der ein oder andere mag meinen, ich höre auf mit dem Schreiben und freut sich darüber, aber nein, weit gefehlt, ich will wieder mehr machen. Ein guter Vorsatz für dieses Jahr. Ein Vorsatz, der nur noch ein halbes Jahr laufen muss und schon mit diesem Post erfüllt ist – super, ich mag solche Vorsätze.

Was möchte ich berichten? Na am besten, was die letzten Monate passiert ist und im Besten Fall kommen noch ein paar Zeilen für das „vor mir Liegende“.

Wiedermal eine bewegende Zeit ich vergangen und wenn ich es recht betrachte kommt noch viel mehr Bewegung auf mich zu. Schon zu beginn des Jahres passierte das, was sich zum Jahresende schon anbahnte,

… ein Ausstieg

In meinem Blog liegen einige Beiträge, die ich dank eines Freundes bisher nicht veröffentlicht habe. Wenn noch ein wenig Gras gewachsen ist, kann ich eventuell diese Posts – oder zumindest einen davon – veröffentlichen. Eines soll schon verraten werden es geht um Moral, die ein jeder mit sich ausmachen muss. Ich für meinen Teil bin davon überzeugt, dass die Welt etwas besser aussehen würde, wenn die Menschen mehr Moral hätten.

Mein Ausstieg, im Nachhinein betrachtet, war eher ein Befreiungsschlag. Was mich lange quälte war nun vorbei und der Spruch: „Ich bin nicht die Zielgruppe“ reichte schon lange nicht mehr mich freundlich ins Büro zu bekommen. Ein gutes viertel Jahr bin ich jeden Morgen und Abend zu Fuß die 5 Kilometer gelaufen, damit der Kopf ein wenig frei wird. Nun gut, es war vorbei mit der Qual und ich verließ das Unternehmen.

Ein bisschen hatte ich dazu gelernt, dafür bin ich dankbar. Immerhin weiß ich nun, auf was man achten muss, wenn man Software installiert. Das ist doch was. Für eine Supportsession per Skype hat es auch schon gereicht. Vielleicht sollte ich es als Dienstleistung anbieten, Crapware vom Rechner entfernen, ohne neu zu installieren… ist ein Gedanke wert.

Wohin führte dieser Ausstieg? Na klar zu einer neuen Chance und einer alten Idee, der Idee ein Produkt auf den Markt zu werfen.

Na gut der fairness halber sollte ich von zwei Produktideen sprechen, die so weit auseinander liegen, dass man meinen könnte ich sei etwas schizophren, was durchaus sein kann.

<fremde Stimme>Quatsch nich, schreib</fremde Stimme>

Einstieg 1

Zum einen die Produktidee, die so gut zur Energiewende passt, ein Stück Software, die einfach nur nützlich ist, den Geldbeutel schont und sinnvoll mit Ressourcen umgeht. Ein System, dass mir schon so lange unter den Nägeln brennt, dass man meinen könnte, ich wasche sie mir nicht.

Nachdem ich festlegt, wer und was die Kriterien sind, an denen ich es festmache, ob entwickelt wird oder nicht, ging es los. Reden hier, recherchieren da, Daten sammeln, Fakten ermitteln und eine schöne Exceltabelle erstellen. Am Ende war eigentlich klar – ich mach den Quatsch – nur noch ein finales Gespräch mit einem potentiellen Kunden oder Vertriebler, je nach Betrachtungsweise.

Es war ein toller Abend. Schön beim Italiener sitzen, Teller lehren, Bier trinken und über das Produkt schwatzen. Mit dem Ende – verflucht nochmal, die Politik ist einfach zu beschränkt. Ich konnte alles an den Nagel hängen, weil niemand an einer Systemoptimierung interessiert ist, solange die Versicherungen dafür aufkommen, wenn mal was nicht klappt. Als Beispiel könnte ich sagen. Die Allianz zahlt VW, wenn die Absatzzahlen mal nicht stimmen. Sacht mal Leute hakts. Der Steuerzahler wundert sich und die Lobby lacht sich ins Fäustchen. Na wartet, der Hammer kommt noch.

Das wars also. Mein Ziel, dass alle Aspekte passen müssen, alles geklärt ist und keine Fragen mehr offen sind ging zwar auf, aber leider zu meinen Ungunsten. Dann warte ich eben noch ein paar Jahre. Zu dumm nur, dass dann die Mitbewerber wie Pilze aus dem Boden schießen. Klar, man könnte sich finanzieren lassen und schon mal entwickeln, nur wenn ich heute damit beginne unterschreibe ich Exlusivrechte für genau einen Kunden und das möchte ich nicht.

Einstieg 2

Wenn das eine nicht klappt, dann das andere. Zack Rechner raus, Plan gemacht und los programmiert. Diesmal ohne Rücksicht auf Verluste, mit der Lanze voran. Gleich noch ein paar neue Technologien eintüten, coole Story drum rum stricken, so dass der Code eher wie eine Novelle zu lesen ist statt dröger Keks.

Keine drei Tage später stand das Ding… Wahnsinn, so was von produktiv, die Tickets flogen nur so durchs Board, das glaubt mir keiner. Dann noch ein zwei wichtige Dinge formulieren wie: „Der Kunde möchte in Echtzeit sehen, mit welchen Kosten er am Ende des Monats zu rechnen hat“. Hey Leute, kein Ding, das klöppel ich dir in 30 Minuten rein. Dann noch schnell eine API einbinden, auslesen und fertig ist der Lack. <lautes Geräusch>TRÖÖÖÖT</lautes Geräusch>

Wo zum Henker werden diese Daten eigentlich angezeigt? Wie soll denn der Kunde seine Echtzeitdaten betrachten? In dem er die Augen schließt? Nein, natürlich nicht. Er möchte eine UI haben. Na schönen Dank, ich und UI. Kann das nicht jemand machen, der sich damit auskennt?

Ach Leute, wenn ihr wüsstet, wie ich mich mit dem Gedanken geqält habe, jemanden ran zu holen. Das Problem ist, mein Konto besteht aus Zwiebelleder. Bei jedem Blick da drauf kommen einem die Tränen. Damit kann ich niemanden für zwei Monate verpflichten. Vielleicht, wenn ich die Kinder in eine Diamantenschleiferei schicke, mit den kleinen Fingern kann man die kleinen Steinchen so gut halten.

Nein im Ernst, der Flow war kaputt und parallel kam eine Projektanfrage rein. Nun saß ich, mit dieser halbfertigen Geschichte da und hoffe noch bis heute, dass ich damit fertig werde. Wer weiß, vielleicht meldet sich ja jemand aufgrund dieses Blog Posts😉

Einstieg 3

Die Enterprise Software kaputt, das andere Ding halb fertig und der Kopf weit oben, ein Projekt, das richtig interessant klingt, steht vor der Tür. Leider darf ich nichts darüber schreiben, aber das Produkt an sich ist eine tolle Sache.

Doch was nach außen hin als super Produkt dargestellt ist, sieht im Inneren aus wie der Moloch.

Ich dachte, dass ich schon alles gesehen habe. Brownfields, Visual Basic und andere verkorkste Softwareprojekte, aber was hier vorlag, war die Hölle. Das schlimmste daran war, dass das Produkt insgesamt funktioniert und Wartungsarbeiten werden Offshore weiterhin in einem zeitlich erträglichen Maß durchgeführt. Wo ist also das Problem? Der Kunde brauchte neue Features und wünschte sich die Entwicklung in house. Toll, ein Projekt in der Heimat, mit toller Finanzierung und mal was richtig nützliches….

Ich drücke es mal einfach aus… ich bin gespannt wohin das noch führt.

Was war da noch?

Eigentlich wollte ich ja einen Rückblick schreiben, also darf ich die Konferenzen und Community Veranstaltungen nicht vergessen.

Vornweg soll natürlich die Spartakiade erwähnt werden, die Konferenz, die mir drei Tage lang den Kopf verdreht, weil es die Konferenz ist, die ich selber mit organisiere. Im März fand das ganze Spektakel statt, wieder in den Räumen des co.up in Kreuzberg. Diesmal waren wir ein paar mehr Leute als im Jahr zuvor. Das finde ich super, denn wenn das Konzept ankommt, dann bin ich zufrieden.

In diesem Jahr stand mobile Development im Fokus, aber auch ein paar Soft Skill Trainings waren dabei, so dass man schon fast von bunt gemischt reden kann. Auch fand die Spartakiade erstmals an zwei Tagen statt. Das ist für die Organisation noch komplizierter, aber am Ende zahlt es sich aus.

Wir hatten wieder tolle Trainer dabei. Ob nun Sebastian Seidel mit einem Xamarin Workshop oder Mike Bild mit Html 5, dann hat sich Johannes Hoppe um ExtJs gekümmert und so weiter. Ich bin mächtig stolz auf das Geleistete und freue mich riesig auf das nächste Jahr. Lasst euch überraschen, es gibt was Neues.


Dieses Jahr durfte ich das erste mal bei den Dotneddern sein, beim .Net Day Franken. Glücklicherweise traf es sich, dass gerade ein Jubiläum anstand und damit die Stimmung noch ein bisschen aufgeregter war. Gut den direkten Vergleich habe ich nicht, aber für mich kam es so vor. Uli und Udo, ick hab ma echt wohl jefühlt bei euch, und wennet sich einrichtn lässt, denn kommick nächsted Jah wiedea. Jeht kla watt?

Der .Net Day Franken hat auch eher den Konferenz Charakter. Vorgeplante Sessions und ein gut geplanter Ablauf. Da könnten wir in Berlin uns noch was von abschneiden. Auf der anderen Seite machen wir es so und die anderen machen es eben anders.


Tja und dann möchte ich natürlich die DWX14 erwähnen, eine der größten deutschen Entwicklerkonferenzen, auf der ich auch wieder sprechen durfte – Danke nochmal dafür. Drei Tage lang wurden wieder etliche Themen beackert. Leider konnte ich mich nicht über all rein setzten, schon allein wegen der eigenen Vorträge. Aber einen Vortrag möcht eich nochmals hervorheben, weil er genau das angesprochen hat, was mich gerade bewegt. Der Vortrag wurde vom Andre Meier gehalten und handelte von OAuth2 und OpenID, den Autorisierungs- und Authentifizierungsverfahren, die massiv auf uns zu kommen.

Insgesamt ist die DWX aber extrem anstrengend. Morgens aufstehen, meist mit Kater vom Vortag. Dann ein Kurzer Blick auf die Sessions und losärgern, dass man sich nicht teilen kann. Zwischen den Sessions gibt es lecker Verpflegung, die man nicht essen kann, weil man in ein super interessantes Gespräch verwickelt ist. Dann kommt schon die Mittagszeit, die ich fast immer mit einem Kleks Essen absolviere, denn die Zwischensessiongespräche gehen ja weiter und das Netzwerken nicht zu vergessen. Diesmal sind unter anderem die Deutsche Welle und die Kassenärztliche Vereinigung in meinem Netzwerk aufgenommen worden, das finde ich super.

Wenn dann „endlich“ die Sessions vorbei sind, gab es Veranstaltungen, die ich bisher auch nur auf der DWX erlebt habe. Thementische, an denen sich die Besucher mit Experten zu bestimmten Themen austauschen können – BTW, mein Tisch wurde von einem Speaker gekidnappt und kurzerhand zu eine TDD Tisch angepasst, aber auch das ist super gelaufen, danke Phillip😉 Ansonsten wurde noch die Community Night durchgeführt, ein Raum voller Leute, die einfach den Raum für sich und ihre Themen nutzen konnten. Eine PowerPoint Karaoke rundete das ganze ab – Leute, das ist extrem witzig und sollte über all mal durch geführt werden.

Ausblick

Und was kommt noch… Ich hoffe mal, dass der Leipziger Open Space schnell näher rückt. Auch wieder gute drei Tage voll Strom, bei denen nicht an schlafen gedacht werden kann. Nur ist es so, ich brauche den Open Space, um die Themen für die Spartakiade zu ermitteln. Wir hänge doch quasi zusammen😉

Was könnte dies Jahr noch kommen? Wenn es gut läuft hoffentlich noch ein paar schöne Workshops, Trainings und solche Sachen. Na und nicht zu vergessen, der Urlaub im weiten Ausland. Darauf freue ich mich besonders, denn da möchte ich mich noch weiter in F# einarbeiten.

Ach halt… eins noch. Ich darf ja auch auswäts antreten, auf einer Konferenz, die in keinster Weise mit .Net zu tun hat – noch nicht har har. Die B-DoSE, eine Agile-Architecture-Enterprise-Java Konferenz, auch in Berlin und mal mit ganz anderen Leuten. Da bin ich ja mal gespannt. Im letzten Jahr war ich noch Teilnehmer und in diesem saß ich mit im Beirat und darf auch einen Talk halten. Worüber… na klar, über EventSourcing und dem EventStore im allgemeinen, so wie schon auf der DWX.

~janekf

„Never more…“

Ich bezweifle mal, dass irgend ein geneigter Leser diesen Ausruf kennt, deshalb hier ein kleiner Exkurs.

Alan Parsons Project hat erstmals 1976 das Album „Tales of Mystery“ veröffentlicht, mit Vertonungen von Edgar Allan Poe’s Texten. Darunter befindet sich auch „Der Rabe“, dessen Gekrächz als „never more“ verstanden werden kann, wenn man unter genügend Drogeneinfluss steht.

So viel zum Titel, doch wieso nun „never more“?

Basta

Im Jahre 2000 besuchte ich erstmals die BASTA, damals noch eine Konferenz fast ausschließlich für Visual Basic Entwickler. Es war insgesamt meine erste Entwicklerveranstaltung, die ich besuchte. Mein Ziel war es neues kennen zu lernen, von der Firma war ich beauftragt, das .Net Framework – eine neue Technologie von Microsoft – unter die Lupe zu nehmen. Es könnte ja sein, dass daraus etwas wird und wir in Kundenprojekten die Nase vorn haben könnten, wenn wir uns schon mal damit beschäftigen.

Naja, den meisten muss ich jetzt nicht sagen,was daraus geworden ist, nur eines soll unterstrichen werden, ich habe seitdem quasi kein Visual Basic mehr gechrieben. Vielleicht ein zwei Wochen noch, aber dann,mit einer Umlernphase von knapp 6 Wochen, war ich dem C# verfallen.

User Group

Viele Jahre und einige Arbeitsverhältnisse später traf ich auf einer User Group Veranstaltung Mike Bild. Er ist Technologe durch und durch, und was er mir in einem langen Gespräch über ein Paradigma erzählte, bei dem Lese und Schreibvorgänge in Applikationen von einander getrennt werden, ließ mich in die Arme von CQRS laufen.

In erster Linie versuche ich seither, neu zu entwickelnde Applikationen nach diesem Paradigma um zu setzen. Bisher mit durchschlagenden Erfolg.

Open Space

Für mich auch die Büchse der Pandora. Auf dieser Veranstaltung trifft man Leute, deren Denkweise so weit weg vom allgemeinen Alltag ist, dass einem schwindlig wird. Lauter neue Ideen, Technologien und Methodiken werden hier diskutiert. So viel, dass ich nicht mehr hinterher komme Neues zu probieren.

Mein erster Open Space, den ich besuchte hatte zur Folge, dass ich selber zu Veranstaltungen als Sprecher fahren konnte, um über z.B. CQRS zu reden. Später wurden noch andere Themen in das Portfolio aufgenommen, doch eines ist besonders hängen geblieben, Domain Driven Design (DDD).

Mit DDD ist es so viel einfacher eine Software zu formulieren. Störende Aspekte fallen einfach hinten runter, weil man sich auf einen Punkt konzentriert. Ich möchte es nicht mehr anders machen.

Punkt

Spartakiade

Das viele Herumfahren, gerade in den tiefen Süden Deutschlands, zu diversen Veranstaltungen, empfand ich ein wenig störend, daher entstand im Kreise der User Group hier in Berlin die Idee selber eine Veranstaltung zu organisieren, bei der Technologien vermittelt werden sollen, und das einen Tag lang, in schön langen Sessions.

Wie das nun mal so ist, in einer der kurzen Pausen stellte mir Daniel Fisher einen Weg vor, wie man unter .Net einen super REST Service konstruiert, mit einem Framework, dass später mit dem ASP.Net MVC 4 Framework vergleichbar war. Helle Begeisterung machte sich breit, denn endlich hatte ich einen Weg, die WCF los zu werden.

Tja, daraus ist nun das Nancy Framework geworden, denn auch das MVC 4 war noch zu sperrig. Erfahren habe ich von Nancy auf einer der User Group Touren nach Leipzig vom Alexander Groß.

DDC und DWX

Nun ergab es sich, dass ich bei der dotnetpro ein Call for Paper für die DDC mit gemacht habe und auch noch ausgewählt wurde. Cool, denn das ist aus meiner Sicht eine Ehre im großen Rahmen mit und vor andern Entwicklern sprechen zu dürfen.

Auf einer der Vorbereitungstouren traf ich in Hannover erstmals den Phillip Jander, der genau wie ich Projekte in CQRS umsetzt. Er stellte ein wenig Code vor, der zeigen sollte, wie das mit der Trennung funktioniert. Es reichten etwa 5 Zeilen Code und ich hatte wieder Feuer gefangen für ein Pattern, das ich später in ein eigenes CQRS Framework (SeekYouRS) gegossen habe.

Letztens trafen wir uns wieder und er erzählte, dass die Idee in Javascript umgesetzt ist und super läuft. Och menno – hört das denn niemals auf?

Das kann noch nicht alles gewesen sein, sagt sich der Leser, richtig. Johannes Hofmeister „überfiel“ mich vor einer der Konferenzen, um über einen Artikel vom mir zu sprechen. Dabei stellte sich heraus, dass er sehr ähnliche Ansichten wie ich verfolgt, was die Lesbarkeit von Code betrifft. Bei einem seiner Vorträge zu den „Weasel Words“ berichtet er von Python, einer sehr einfachen Programmiersprache. Klar kannte ich Python schon, aber bisher hatte ich keine Notwendigkeit darin gesehen mich mehr damit auseinander zu setzen. Bis jetzt. Inzwischen mache ich einiges prototypisch erst einmal in Python, weil man schön schnell ein Ergebnis sieht. Ich bin begeistert.

Python – Wikimedia Commons

Berlin DoSE

Oje, auch das noch, mein erster Ausflug in die nicht .Net Welt. Alles verrükte Leute, und alle geben mehr oder weniger Denkanstöße in neue Richtungen.

Markus Andrezak von überprodukt eröffnete einen neuen Kreis, erweiterte meinen Horizont im Bereich agiles Management. Er hat die Mauern der Methodiken eingerissen, er sprach aus, was mir schon lange Kopfschmerzen bereitete, sinngemäß: „Methodik zerstört Innovation“ – Krach. Ich kombiniere das noch mit einer Aussage vom David Joyce und heraus kommt: „Liebe Leute, hebt die Augen von den vielen Forcasts und KPI Berichten, schaut dem Kunden in die Augen, nur er kann euch zum Erfolg führen, niemals nur die Analysen der Zahlen.“

Wow, ich bin gefixt – Design Thinking ich komme.

Design Thinking – Anti Process

Nimmer mehr

Wenn das mit den Konferenzen so weiter geht, entwickle ich mich noch zu einem dieser IT Junkies, immer auf der Suche nach neuem.

Letztens habe ich mich wieder dabei erwischt, nachdem ich einem Tweet vom Björn Rochel folgte, der zu einer Programmiersprache (elixir) führte deren Ansinnen es ist beschreibend zu funktionieren – pure Literatur das Zeug.

~
~
~

Ach was solls, gebt mir mehr.
Von wegen „never more“, „ever more“ ist die Devise.

~janekf

Don’t kill my cat

Vor einigen Woche sah ich einen sehr anschaulichen Bericht darüber, was ein Mensch wahr nimmt, wenn er sich mit Lichtgeschwindigkeit bewegen würde. Ein auf einen Punkt konzentriertes Lichtband mit vollkommen verzerrten Konturen. Ja, es hatte ein wenig was von der „wahnsinnigen Geschwindigkeit“ in Space Balls.


Was hat das mit meiner noch nicht toten Katze zu tun? Noch nichts, wartes ab
Im Übrigen, <italian slang> ich habe gar keine Katze </italian slang>

Am letzten Wochenende (20.10-21.10 ’12) fand in Leipzig zum wiederholten Male der Developer Open Space statt. Ich war zwar erst zum zweiten mal dabei, empfand es jedoch so, als wär ich schon immer da gewesen. Ein Treffen von (außen betrachtet) Nerds und „Verrückten“, die sich auch am Wochenende fortbilden möchten. Leider war es mir verwehrt schon am Freitag entweder selber einen Workshop zu halten oder zu besuchen, was jedoch den Gesamteindruck nicht im geringsten schmälerte. Gleich nach der Ankunft am Freitag Abend konnte ich mir von den Kollegen in der Hotelbar erzählen lassen, was tagsüber geschehen ist. Keine vier Stunden später war ich auf dem Laufenden und beschloss die verbleibenden 3 Stunden bis Beginn des offiziellen Teils zu schlafen. Nicht, das mich das irgendwie stören würde mal so wenig zu schlafen, aber schon tags zuvor gab es hier in Berlin eine Veranstaltung, die auch recht lang ging.

Egal… schlafen kann ich wenn ich in der Holzkiste liege, am Ende des Lebens

Sonnabend, mein erster Tag, zeigte schon, dass dieses Jahr ein Umbruch stattfinden wird. Nicht nur die Workshops am Freitag, nein auch der Twitter Hash wurde geändert und vor allem die Agenda war irgendwie anders. Anders im Sinne von weniger technisch. Klar, technische Themen waren auch da, aber irgendwie nicht mehr so präsent. Wenn ich jetzt noch mal drauf schaue sehe ich rAppid.js Server oder Micro Framework, keine wirklich typischen Themen. Was jedoch besonders ins Auge sticht, sind die vielen Softskills Themen. Jungs, ich bin zu Hause… Genau das ist meine Welt. Themen aus der Vogelperspektive, Methodiken, und vor allem Social Jobbing. Ich danke euch dafür.

Klar, dass ich sofort zu „Agile Schmerzen“ gehen musste. Meinen Senf und meine Sicht auf das Thema loswerden: Ein Team besteht nicht nur aus den Entwicklern allein, sondern auch aus allen anderen, die in irgend einer Weise etwas mit dem Produkt zu tun haben. Jeder muss wissen wie die Entwicklung des Produktes fortschreitet. Jeder, der Einfluss auf diesen Fortschritt haben kann, muss zwangsweise über diesen informiert werden. Und wie jeder weiß, agile Methodiken verlangen nach Kommunikation, Kommunikation in alle Richtungen. Punkt Ende Aus.

Danach eine kleine Pause zum Runterkommen bei DDD und CQRS und vor allem endlich die Möglichkeit Dennis Traub kennen zu lernen, zunächst als Moderator, später als Mensch🙂

Ja gut, DDD und CQRS ist ja schon ein abgedroschener Hut, die meisten wollen es gerne einsetzten, wissen oft nicht wo genau und wenn dies geklärt sein sollte, dann fehlt es an der Motivation sich diesem schweren Schritt zu stellen, Software zu schreiben, die der Auftraggeber verstehen könnte. Da gebe ich dem Johannes Hofmeister vollkommen Recht, es ist offensichtlich ein spürbar schmerzlicher Prozess, sich aus den Fängen der technischen Implementierung zu befreien und in die Domainsicht einzusteigen. Wartets ab, früher oder später kommt der große Hammer… hihihi

Tja, was kam dann? Die Session für echte Kerle. WiXen für Profis, wo von Vorlagen und Configs gesprochen wurde… Jungs werded älter und reifer – ach ich vergas, ich bin ja älter aber genutzt hats nichts. Diese Session war überaus erholsam, lustig und schon allein die Art und Weise, wie Sebastian Seidel das Thema präsentierte eine Besuch wert.

Der Ausflug zur Kinect Session, ein Blick hinter die Kulissen eines Stück Hardwares, das durchaus beachtenswert ist. Wenn das so weiter geht, mit der Entwicklung, steht dem UI des Minorty Reports nichts mehr im Wege. Im Gegenteil, es geht sogar schon ein Stück weiter, Spracherkennung aller feinster Güte.

Nachdem nun der erste Tag rum war, wurde wieder einmal beschlossen, selbigen im Joseph Pub ausklingen zu lassen. Ich will ja keine Kameradensau sein und schließe mich, den dritten Tag infolge, nicht vom „Ausklingen“ aus. Ich fasse die dortigen Gespräche in einem Wort zusammen, muss jedoch aufpassen, dass dieses Wort nicht zu bersten droht, es lautet inspirierend. Damit ist alles gesagt. Ich kann nun guten Gewissens behaupten, der Weisheit in Stück näher zu sein, auch wenn man mir dies bei der konsumierten Menge Bier nicht zutrauen würde. Ich bin froh euch (ihr wisst schon) kennen gelernt zu haben.

Und nun, was ist mit der Katze?
Wartet ab…

Sonntag – ein Tag, der seinem Namen alle Ehre macht – beginnt mit dem Gefühl, trotz der wieder nur drei Stunden Schlaf, etwas zu erleben. Der Vorabend und die Nacht waren nicht das Ende, eher der Beginn. Und so kam es auch. Die Agenda versprach viel Freude an – na, richtig – Softskills oder besser „von Menschen, mit Menschen“-Themen.

Schon am Abend im Pub, hatte ich mich umgehört, welche Themen interessant sein könnten und heraus kam, dass vorrangig Themen angesprochen wurde, bei denen es um „wie kann ich andere Entwickler davon überzeugen, gute Software zu entwickeln?“ geht. Das fand ich überaus interessant, und tatsächlich konnte man dieses Thema wieder in der Agenda finden. Toll, mein Tag ist gerettet, mit anderen leidgeplagten Softwareentwicklern über die unfähigen Kollegen herziehen macht Spass, bringt nur nichts. Desshalb hatte Gregor Woiwode eine Session vorgeschlagen, die sich diesem Problem annahm. Dumm nur, dass zum selben Zeitpunkt die Session mit Johannes lief, bei der es vorrangig darum ging ob denn Psychologie und Softwareentwicklung zusammenpassen. Ja, geneigter Leser, wir sind durchaus in der Lage intelligente Gespräche zu führen und hacken nicht den ganzen Tag auf der Tastatur Zeichen ein. Nein im Ernst, wir haben darüber gesprochen, ob es einen direkten Zusammenhang zwischen Codequalität und der eigenen Persönlichkeit gibt. Das Ergebnis ist klar, oder. Natürlich gibt es einen Zusammenhang. Den gleichen Zusammenhang gibt es auch in der Wohnqualität und Persönlichkeit. Eine unaufgeräumte Wohnung kann auf einen unaufgeräumten Geist schließen, besonders drastisch an den sog. Messiewohnungen zu erkennen.

Direkt ohne Pause, verließen wir vermeindlich die Psychologie und betraten Lagacy Code – Ihhhhhh, sorry für dieses Bild. Die Session, die so vielen unter den Nägeln brannte, dass der Raum brechend voll war. Johannes zeigte sein einfaches Prinzip ohne viel Aufwand ein Metrik für Codequalität zu erhalten. Cooles Prinzip (Signatur Survey), weil leicht nach vollziehbar.

Wir stellten fest, dass nahe zu jeder im Raum schon einmal in der Situation war, in einem alten Projekt ein neues Feature einbauen zu müssen. Im Prinzip nichts Schlimmes, wenn man sich die Scheuklappen aufsetzt und implementiert. Doch auch hier zeigte sich wieder ein Trugschluss, einfach losmachen wollte keiner. Jeder hatte den Anspruch den Code zu verbessern – Jungs und Mädels, lobenswert, aber unsinnig denn,

„Stell dir vor ein Freund bittet dich darum während seins Urlaubes seine Blumen zu Hause zu gießen. Beim ersten Aufschließen musst du feststellen, dass die Wohnung total dreckig und vermüllt ist. Weil es ein Freund ist, möchtest du ihm einen Gefallen tun und räumst auf. Das dies einige Zeit in Anspruch nimmt, vertrocknen die Blumen und auch das Füttern der Katze vernachlässigst du total. Am Ende der Aktion steht eine super aufgeräumte Wohnung, vertrocknete Pflanzen und eine tote Katze.
Beim nächsten Mal wird dich dein Freund, falls ihr noch Freunde seid, nur noch in aller größter Not mit den Worten bitten: ‚… und bring die Katze nicht um'“.

Diese Anekdote wird Sinnbild für meine Entwicklung in brown field Projekten, soviel ist sicher. Und vor allem werde ich Markierungen mit dem Namen „//Don’t kill my cat“ hinterlassen, um mich daran zu erinnern, dass die Aufgabe eine ganz andere ist, als legacy zu bereinigen.

Nach dieser Session war bei mir die Luft raus, gut, es war auch schon nach 14:00 Uhr. Ein wenig netzwerken – uhhh Business is calling uhhhh – und die Abreise vorbereiten. Den mitgebrachten Kollegen hab ich während der Rückfahrt ausgequetscht, was er von all dem hielt. Er war begeistert und positiv überrascht, dass es solche Veranstaltungen gibt. Nächstes Jahr wird er auf jeden Fall wieder dabei sein, womöglich sogar mit eigener Session, immerhin kann er 3D Animation mit Javascript, Hut ab. Zu dumm nur, dass alles so schnell, mit so „wahnsinniger Geschwindigkeit“ vorbei war. Ja, und auch ich spüre noch den IT-Fahrtwind im Gesicht, zehre von zu wenig Schlaf, den ich so gerne gegen die erlebte Zeit eingetauscht habe.

Danke an alle, die ich gesehen, wieder getroffen, kennen gelernt und mit denen ich quatschen konnte. Von mir aus könnte es noch mindestens einen Tag weiter gehen – ach ich Dummerchen, war ich doch erst einen Tag später da.

Hab ich was vergessen zu erwähnen, klar doch, das LeanCoffee vom Dennis, das sehr gute Essen, die Organisation, die anderen Leute, die ich traf, die Unterkunft, die nette Azubine beim letzten Mittag, die nun mit Sicherheit behaupten kann, dass sie weiß warum wir als Nerds bezeichnet werden, und so weiter und so fort… ach und Olga.

Bis zum nächsten Jahr

~janekf

Ein Ende mit Anfang

 

20120715-192609.jpgNun ist die Spartakiade-Konferenz ein paar Tage her und ich möchte ein Resümee ziehen. Hat sich der ganze Aufwand gelohnt? Würde ich noch einmal eine solche Veranstaltung organisieren? Wie haben die Teilnehmer den Tag empfunden? Das sind die Frage, die am Ende immer wieder im Raum stehen.

Ja, so muss ich sagen, der Aufwand hat sich gelohnt, ich würde wieder eine solche Veranstaltung organisieren. Sicher, es gibt Dinge, die beim nächsten Mal anders gestaltet werden, aber das Finden der Agenda gehört sicher nicht dazu. Als Einstieg und Kernelement der Veranstaltung hatten wir offensichtlich den Nerv der Teilnehmer getroffen.

Wo gibt es das schon, dass mit einer Punktevergabe und einem Ranking die Länge der Sessions ermittelt wird? Sehr schön auch, wie harmonisch das von Statten ging.

Was wir allerdings ändern werden ist die maximal mögliche Länge. Auch wenn jeder Teilnehmer beim Roland Weigelt in der UI/UX-Session gerne dabei gewesen ist, eine weitere Session hätten sie sicher auch mitgemacht. Zum Beispiel „Html5 und CSS 3“ beim Daniel Fisher und Silvio Katzmann. Dann war da auch noch Mike Bild, der anfänglich dachte, dass sein Thema in 2 Stunden erledigt ist. Weit gefehlt, seine Teilnehmer hielten ihn für weit aus länger in Beschlag, weil „reaktive Systeme“ eben doch ein sehr spannendes Thema ist.
Dann gab es noch die Sessions mit weniger Programmierhintergrund. Die eine, von und mit Dirk Richter, zeigte die Problematik mit Windows 8 und dem WinRT Framework auf, und dass man als Entwickler das Gefühl hat langsam aber sicher von Microsoft verlassen werden. Und Kostja Klein zeige auf eine sehr anschauliche Weise, dass LightSwitch eben doch kein Teufelswerk ist und sicher in der Kleinserienfertigung von Datenapplikationen eine Platz finden wird.

Ich freue mich schon auf das nächste Mal und entsprechend der Umfrage bei den Teilnehmern bin ich mir sicher, dass wir noch mehr Teilnehmer bekommen werden. Die Räume werden dann allerdings nicht reichen, das war es, was mich besonders überraschte. Noch bei der Besichtigung war ich der Meinung, dass wir dort ohne Probleme mit 70 Teilnehmern unterkommen könnten, aber weit gefehlt,

denn eine Mitmachkonferenz verlangt mehr Raum als diese, bei denen man als Zuhörer interessiert im Auditorium sitzt. Hier bei der Spartakiade wird man angeregt mit zu machen und die Sessions mit Leben zu füllen. Die Trainer sind nur zum Antworten und Anregen da, weniger zum Vortragen.

Und so möchte ich mit den Worten vom Marco Rasp die gesamte Veranstaltung und deren Geist zusammenfassen.

„Mach mit“ – bringe dich ein, stelle Fragen, gebe Antworten
„Machs nach“ – probiere das Gehörte aus, wende das Neue an
„Machs besser“ – zeige anderen das Gelernte, verbessere die Techniken

 

Zu Gast bei Freunden – 3

Dienstag

Aua, es wurde drei Uhr und das Bier floss auch ganz gut. Der Kopf tut nicht weh, aber ich kann mich so schlecht konzentrieren. Abwarten, der Tag ist noch jung.

Erst einmal ein Frühstück im Hotel – btw, das Hotel ist wirklich gut – dann gehe ich rüber und schau mal, wie es den anderen Leuten von gestern Nacht geht.
Ich habe wieder Schweizer getroffen und sie durften Schweizer Deutsch sprechen, das hat sie sehr gefreut und mich an alte Zeiten erinnern lassen. Wo die nur stecken?

Ah, Johannes Hofmeister ist gleich früh dran, da wollte ich doch rein. Verdammt, ich komme viel zu spät. Tja hätte ich gestern auf den Plan geschaut, wäre ich nicht so spät aufgestanden. Entschuldige Johannes. Dann gehe ich nachher zu Laurin Stoll rein, der macht so komische Sachen mit Code Review.

Noch nen Kaffee.

Laurin hatte Bedenken, dass er nicht gut rüber kommt. Was hat er nur, die Leute hängen an seinen Lippen und verfolgen seine Session mit aller höchster Konzentration. Wenn nur die Hälfte der Leute hier die Code Reviews so wie empfohlen durchführen, haben wir morgen eine bessere Welt. „Nicht anschwärzen, sondern Code verbessern“ – top.

Schnell zum Daniel Fisher in die Session rüber, da muss noch Werbung für die Spartakiade platziert werden.
Ups, der Saal wieder voll mit Leuten, die sich für JavaScript interessieren, nur Microsoft offensichtlich nicht, die Einbindung in die IDE ist grottig bis gar nicht vorhanden. Naja auch egal, es scheint Wege zu geben.

Und nun schnell zum Zug, der wartet nicht auf mich. Steffen Monarth ist völlig von der Rolle, das letzte Bier war wohl schlecht oder so. Tja Alter, wir werden eben von Jahr zu Jahr älter.

Ich sitze im Zug… Alles ist gut, ich hab den Kopf voll mit Eindrücken und es ist Zeit Abendbrot zu essen. Vielleicht schreibe ich gleich mal einen Blog über die letzten 72 Stunden, einfach nur, damit ich es nicht vergesse und ich mich so bei allen bedanken kann, die mir so viel Spass bereitet haben – das klingt nur so schwülstig, weil ich gerade ein Reparierbier vor mir zu stehen habe.

Prost und aller besten Dank an alle, mit denen ich schwatzen konnte, die mir zugehört und mich inspiriert haben. Vielleicht darf ich im nächsten Jahr wieder dabei sein😉

Sonntag
Montag
Dienstag

-janekf

Zu Gast bei Freunden – 2

Montag
Ob das gut war, dass ich noch bis um zwei wach geblieben und um 5:15 Uhr wieder aufgestanden bin? Ich fühle mich irgendwie müde, aber gleichzeitig auch hoch motiviert, den ganzen Tag und die darauf folgende Nacht unter Volldampf die Konferenz auf zu saugen.

Eröffnung. Die drei Herren auf der Bühne wünschen uns viel Spass. Florian kann gar nicht richtig sprechen, das Fussballspiel steckt noch in seinen Knochen. Tja, wer feiern will, muss auch den Abwasch lieben (hehe). Tilman hat spontan noch was gedichtet – Respekt. Wenn das so weiter geht, kann ich meinen Plan mit dem Volldampf erfüllen.

09:30 Uhr, meine erste Session beginnt. Der Blick in den Saal lässt mich noch viel nervöser werden, als ich eh schon bin. Voll.
Mikro einstellen und los gehts. Ich werde versuchen dem geneigten Zuhörer das Verfahren, wie aus einer Idee das grundlegende Modell einer Applikation wird. Ich sag nur Transformation + Transformation + Transformation. Hoffentlich kommt die Botschaft an, denn im Grunde müssen sich die Ideeninhaber, zumeist die Product Owner, mit den Entwicklern an einen Tisch setzen und gemeinsam die Transformationen durchführen. Natürlich nicht alles auf einmal, dazu sind die Ideen oftmals viel zu gross, immer schön in überschaubare Pakete verpacken. Dann implementieren und den Product Owner vorführen.
Ich präferiere ja eine Iteration von zwei Tagen, aber das wird wohl noch sehr lange dauern, bis das auch bei den Product Ownern akzeptiert wird.

Die Session ist vorbei. Naja, hätte besser laufen können, ich war leider ein wenig konfus. Da werde ich mal in mich gehen müssen, um zu analysieren woran das gelegen haben mag. Aber was mich besonders erschreckte, der Saal fasst knapp 100 Leute, fast alle Plätze sind besetzt, und bei der Frage, wer TDD anwendet gehen 4 Hände hoch. Hat der Rest geschlafen oder hat die Frage nicht verstanden? Das kann doch nicht sein, dass sich so viele Entwickler noch immer nicht auf dieses Sicherheitsnetzt verlassen. Ich denke, es bedarf einer Session auf der nächsten DDC zum Thema TDD. Mal sehen.

Ich besuche jetzt mal den Johannes Hoppe bei seiner Session, irgendwas mit NoSQL.

Sehr gut, ich denke, ich werde mich jetzt verstärkt auf MongoDb stürzen. Was ich bisher auf „irgend wann mal“ verschoben habe, werde ich alsbald umsetzen. Mongo ist cool.

Raumwechsel und Roberto Bez in seiner Pattern Session besuchen. Es kann nie schaden anderen über die Schulter zu schauen, wenn es um Pattern geht. Ausserdem möchte ich die Zuhörer beobachten, wie sie auf dieses Thema reagieren.
Der Raum ist gerammelt voll. Alle Stühle und sogar die mobilen Stufen ganz hinten sind komplett besetzt. Ich stelle mich dann wohl mal hinten an die Wand und werde ein bisschen neidisch.
Wenn ich das so sehe, werde ich das Gefühl nicht los, dass Softwareentwickler in ihrer Not – sie wenden ja kein TDD an – offensichtlich nach Strukturen in den Programmiermodellen suchen, die es ihnen leichter machen, die Anforderungen um zu setzen. Ob das die Pattern sind, die da weiter helfen? Vermutlich fehlt da noch was.

Mittagspause, lecker Essen.

Mal sehen, ob es mir gelingt das Suppenkoma zu überlisten. Ich stehe wieder vorne und hab den Laden voll. Diesmal ist der Raum etwas kleiner, aber dennoch ist so ziemlich jeder Stuhl besetzt. Jungs und Mädels, ihr setzt mich unter Druck. Aber dies ist kreativen Druck. Danke dafür.
Domain driven Design kommt gut an. Es nicken soooo viele, wenn ich von „Anforderer verstehen“ oder „endlich mal zusammen am Tisch sitzen“ spreche. Der Zuspruch am Ende war beeindruckend. Softwareentwickler wollen korrekte Software schreiben, warum werden wir dann immer noch so oft mit unausgegorenen Anforderungen belästigt und versuchen das auch noch um zu setzen. Erinnert euch: „Revolution“ oder „was er nicht sauber formulieren kann, können wir auch nicht sauber umsetzen“

Kurze Pause und weiter gehts mit CQRS, meine Domänenthema.
Krawumm…
Ich schaue in feuchte Augen. Tja, das ist CQRS, schade dass die Zeit schon rum ist, ich bin gerade erst warm geworden. Sicher finden sich weitere Situationen eine so coole Session wieder halten dürfen.

Mein Tag ist gelaufen. Ich kann keine Session mehr besuchen, obwohl ich so gern zur Chris Rupp gegangen währe. Auch hier ergibt sich sicher später eine passende Situation, in der ich den Vortrag nachholen kann.

Und nun?
Ich fasse in wenigen Worten den Abend zusammen: Lachen, Quatschen, Essen und Trinken. Das macht richtig Spass. Vor allem, wenn man dann noch mehr Leute kennen lernt oder alte Bekannte wieder trifft. Ja ich meine dich Herr „wir haben das Abi zusammen gemacht“ oder den IT Leiter meines besten Kunden, na und den werten Mitarbeiter des anderen Kunden nicht zu vergessen. Es war wirklich toll.

Sonntag
Montag
Dienstag

Zu Gast bei Freunden – 1

Nun ist es geschafft, mein zweites Mal, dass ich bei der Dotnet Developer Confrence dabei war. Diesmal hatte ich sogar die Ehre auf drei Sessions reden zu dürfen. Vielen Dank dafür, auch wenn die Vorbereitung dafür doch recht anstrengend war, es hat sich hoffentlich für das Auditorium gelohnt.

Sonntag
Anreise zum Event, ich bin erstaunt, dass die Bahn solche Waggons noch im Bestand hat. Dieses Abteil hat in den späten 70er Jahren das letzte Mal modern ausgesehen. Der Sitz ist so durchgesessen, dass ich Trombosestrümpfe bräuchte, so sehr sinke ich in den Sitz. Na gut, ich bin ja bald in Nürnberg. Die Mitreisenden sind auch nett, insofern möchte ich mich nicht beschweren. Würde ich einen Wagen weiter sitzen, müsste ich mich mit den Fussballfans auseinander setzen, die haben ihren Spass, wegen des gewonnen Pokals, welcher auch immer das ist.
Heute Abend ist Referententreffen. Mal schauen, wer schon da ist. Klar, Florian Bender, Tilman Börner und Golo Roden sind ganz sicher schon vor Ort, aber welcher Sprecher, das ist die Frage.

Zumindest freue ich mich auf diejenigen, die ich sonst nur über Twitter kontaktiere. Zusammen ein wenig fachsimpeln, sich über Technologien austauschen und andere Standpunkte hören.

So, halb neun ist es. Erfolgreich in Nürnberg angekommen. Die Fans aus dem anderen Wagen sind auch auf dem Bahnsteig. „Fortunaaaaa“ höre ich da aus dem Katzenjammer. Ja danke, kann ich gut gebrauchen, denn ich werde wieder zur Meistersingerhalle laufen. Das macht den Kopf frei und man erlebt eine „fremde“ Stadt ganz anders.

Oh, die Baustelle des letzten Jahres ist komplett verschwunden. Das hätte man in Berlin nicht geschafft.

Angekommen, ich sehe den Eingang zum Hotel, doch was ist das? Noch bevor ich einchecken kann kommt Johannes Hofmeister auf mich zu und offeriert mir, dass er den Artikel gelesen hat, ihn soweit in Ordnung findet, bis auf die Tatsache, dass das Wort Aggregat aus seiner Sicht nicht korrekt verwendet wurde.
Huch, ich bin doch noch gar nicht angekommen… Aber mit den wenigen Worten, die er verwendete, hat er mich dazu veranlasst genauer darüber nach zu denken – guter Mensch. Der macht doch sicher irgendwas mit Rhetorik.

Eingecheckt, Zimmer begutachtet – perfekt -, auf in die Launch, Hunger habe ich auch und da soll es was zu essen geben. ausserdem hat mit Johannes gesagt, dass der Herr Bender Bänder verteilt (hihihi).

Der Saal ist nicht unbedingt voll, aber es sind mehr Leute da, die ich kenne als ich erwartet habe, das wird sicher ein netter Abend. Steffen Forkmann und Sergej Shishkin bereiten mich darauf vor, dass ich morgen ihre Fragen beantworten muss – Panik🙂 – und mit Johannes Hoppe kann ich ein paar Meinungen zu MongoDb austauschen. Das fängt sehr gut an.

Ein vertrautes Gesicht, Jan Blessenohl von telerik, kommt an unseren Tisch und wir fangen ein sehr interessantes Gespräch über Softwareentwicklung als gerichteter Prozess an. Toll, ich darf doch wieder etwas philosophieren, ohne beschimpft zu werden😉 (Jan, um Software so zu programmieren, wie wir uns das gedacht haben, bräuchte man eine HirnToIDE-Schnittstelle)

Ein Uhr, die Bar wird geschlossen. Ich glaube wir sollen gehen. Schade, jetzt wo es so interessant wird. Gute Nacht #DDC12, das wird ein toller Tag morgen.

Sonntag
Montag
Dienstag

Die Spartakiade – eine etwas andere Konferenz

Große Ereignisse werfen ihre…

Ja Schatten würde jetzt nicht gut klingen, daher

…ihre Lichter voraus.

Es ist endlich an der Zeit, dass Berlin eine eigene Community-Veranstaltung für Softwareentwickler bekommt.

Am 16.06.2012 findet erstmalig eine Veranstaltung statt, die eigens für die Wissensvermittlung geschaffen wurde. Wir haben Sprecher eingeladen, eine Kernthema gefunden und die passenden Räume organisiert. Jetzt kann es also richtig losgehen, die Spartakiade kann starten.

Die was?

Die Spartakiade, eine Begriff für eine Sportveranstaltung aus dem ehemaligen Ostblock. Unsere Spartakiade ist ähnlich ausgerichtet. Sie wird mehrere Software-Trainer gegeneinander antreten lassen, nicht um die beste Technologie zu küren oder die beste Implementierung eines Softwareproblems, nein, es geht ausschließlich um die beste Vermittlung von Wissen.

In diesem – ersten – Jahr, haben wir das Kernthema GUI-Entwicklung gewählt. Das lässt sich gut vermitteln, wird bei vielen Konferenzen einfach vergessen und das Interesse daran ist hoch.

Was kann der Teilnehmer erwarten? 

Es ist so, dass wir Sprecher zum Kernthema eingeladen haben. Da sind z.B. der Roland Weigelt, Daniel Fisher oder Kostja Klein, die den Teilnehmern etwas zu UI-Pattern, LightSwitch oder HTML5 erzählen möchten. Doch das Erzählen soll es nicht sein, was die Spartakiade so besonders macht, sondern die Art der Vermittlung.

In kleinen Teams – möglichst nicht mehr als 10 Personen – wird eine der Technologien vermittelt. Die Teams können bis zu 6 Stunden mit dem Trainer zusammen an einem Thema arbeiten, Fragen stellen oder eigene Ideen einbringen. Darauf sind wir gekommen, als wir feststellten, dass auf den großen Konferenzen zwar sehr interessante praktische Sessions angeboten werden, aber immer, wenn es richtig interessant wird, ist die Zeit rum. Dem wirken wir mit der Spartakiade entgegen.

Endlich

Wer noch mehr erfahren möchte gehe bitte auf die Webseite der Spartakiade, dort findet man noch viel mehr Informationen und natürlich auch ein Anmeldeformular.

Also, Sport frei und

Mach mit – bringe dich ein,

Mach’s nach – lerne von den anderen,

Mach’s besser – reflektiere Erlerntes und wende es an

 

jankef

Folgen

Erhalte jeden neuen Beitrag in deinen Posteingang.

Schließe dich 469 Followern an