Ich sehe mich selbst als Windows-Fanboy und Early Adopter. So sehe ich mich wirklich. (Bitte, verwechselt mich nicht mit einem Microsoft-Fanboy. Das ist was komplett anderes.)

Durch reinen Zufall habe ich diese Woche auf meinem DreamSpark Account Windows 8.1 gesehen. Bisher war ich schlau genug die Preview des Updates to ignorieren, aber nachdem der DreamSpark Download überhaupt nicht nach „Preview“ aussah, dachte ich, es ist mal wieder ein früherer Release für die Spark-Dreamers, was Microsoft ja schon öfters so gemacht hat. Also habe ich das Ding herunter gelanden und auf meinem Laptop ausprobiert.

Spoiler: Während ich gerade eben diesen Artikel schreibe installiere ich Windows 8(.0) auf meinem Laptop neu.

Ich hatte mich sehr schnell an Windows 8 gewöhnt, als ich von Windows 7 wechselte, und ich finde einige Funktionen sehr gut gelungen. Natürlich, ein Startknopf wäre schön und der Startbildschirm (aka Vollbildstartmenü) ist merkwürdig (un-)organisiert, aber ich arbeite sehr effizient mit dem System.

Dann habe ich Windows 8.1 ausprobiert. … Ich will nicht „noch einen Flame-Post“ schreiben, also beschränke ich mich auf ein einziges Features: Lokale Accounts.

Ich habe einen lokalen PC (ausgesprochen: „personal“ Computer). Wenn ich diesen PC benutze nehme ich mehrere Rollen ein, z.B. bin ich Ich wenn ich online einkaufe, ich bin mein Arbeits-Ich beim beantworten bestimmter E-mails aus einem meiner (augenblicklich 5 aktiven) E-Mail-Accounts, ich bin mein Spieler-Ich wenn ich online spiele, etc. Diese Liste könnte ich noch lange fortsetzen. Was jedoch hier wichtig ist: ich erfülle zwar unterschiedliche Rollen, aber ich bin immer ich und mache daher all das parallel, nebeneinander mit meinem einen Computer in meinem einen Account. Und dieser eine Account ist mein lokaler Benutzeraccount und nicht ein Microsoft Account der fest mit einer E-Mail-Addresse verbunden ist.

Ich will keinen Microsoft Account auf meinem lokalen Personal Computer benutzen.

Ich will keinen Microsoft Account auf meinem lokalen Personal Computer benutzen.

Ich will keinen Microsoft Account auf meinem lokalen Personal Computer benutzen.

Nach einigem Probieren konnte ich mir endlich einen lokalen Benutzeraccount auf Windows 8.1 einrichten, nur um dann festzustellen, dass ettliche Funktionen jetzt nicht mehr zur Verfügung stehen. Mehrere Apps funktionieren nicht mehr. Klar, kann ich mich in diese meist noch einzeln per Microsoft Account einloggen, aber bei einigen funktioniert das einfach nicht.

Was aber noch viel wichtiger ist: SkyDrive funktioniert nicht mit einem lokalen Benutzerkonto.

Zumindest war ich nicht in der Lage irgendeine Möglichkeit zu finden die Integration von SkyDrive mit einem lokalen Benutzerkonto zu verbinden. Das geht mal gar nicht. Die verbesserte Integration von SkyDrive garantiert mir, dass ich immer genügen Speicherplatz in meiner Cloud zur Verfügung habe, da ich diesen ja nicht füllen kann. Das ist einfach nur armseelig, erbärmlich und traurig.

Wie oben geschrieben wechsele ich wieder zurück auf Windows 8(.0) und werde meine Early-Adopter-Triebe unterdrücken, bis mir jemand beweisen kann, dass lokale Benutzerkonten wieder funktionstüchtig sind.

Wer zu der ganze Misere mehr lesen möchte findet z.B. hier einen sehr interessanten Artikel: http://www.tweakguides.com/Windows81_1.html (Seite 3 fand ich besonders gut).

es gibt sehr viel, was mal gesagt sein sollte. Aber was meiner Meinung nach unveränderlich fest steht, ist dass

Stirb Langsam 3

eine absolute Perle der Filmgeschichte ist, und unbedeingt gewürdigt werden muss! Das ist DER amerikanische Action-Film. Ich akzeptiere hier keine Diskussion.

Ich arbeite sehr gerne an einer Universität. Ich löse gerne Probleme die noch keine Lösung haben. Ich verbessere gerne bestehende Lösungen. Ich arbeite gerne in meine eignenen Richtungen. Ich arbeite gerne mit Studenten. Ich betreue gerne Studenten bei ihren Arbeiten. Ich halte sogar gerne Lehrveranstaltungen ab.

Was ich aber, zumindest augenblicklich, überhaupt gar nicht gerne mache, ist meine wissenschaftlichen Ergebnisse zu publizieren, was natürlich die Hauptsache bei der Verfolgung einer wissenschaftlichen Karriere ist. Dieser Prozess ist augenblicklich furchtbar, ermüdent und frustrierend.

Ich habe dieses Jahr sechs Artikel geschrieben, jedes mal mit viel Arbeit in der Vorbereitung und für die Präsentation, und ich werde dieses Jahr *keinen einzigen* davon mehr publiziert kriegen. Nicht einen. Ein so schlechtes Jahr wie 2013 hatte ich noch nie. Für eine wissenschaftliche Karriere ist das in meinem Alter realistisch gesehen ein Todesstoß.

Das ist natürlich nicht schön, aber was mich vor allem frustriert sind die Reviews mit denen meine Arbeiten abgelehnt wurden. Bei den nummerischen Bewertungen (1 = schlechteste, 5 = beste Note) hat eines meiner Paper z.B.: 4 + 4 + 3 + 3. Auch die Reviewer Kommentare sind leider sehr oft unprofessionell, nutzlos und polemisch. Ein anderes Paper wurde von 2 von 4 Reviewer in höchsten Tönen gelobt. Ein dritter fand es ok, wollte aber einige Überarbeitungen. Jedoch hat dann der Haupt-Reviewer etwas geschrieben was ich nur als „Ich mag es nicht.“ interpretieren kann, und was auch etwa diesen Inhaltswert hat. Ergebnis: abgelehnt.

Ich hatte mich schon früher mit mehreren Professoren über das Problem einer überkritischen Review-Community unterhalten. Alle waren sich einig, dass es dieses Problem gibt und dass das immer mal wieder in den wissenschaftlichen Communities aufkommt. Leider habe ich das Gefühl, dass es sich in den sieben Jahren die ich jetzt wissenschaftlich arbeite und publiziere (außer dieses Jahr) immer weiter verschlimmert. Ganz ehrlich, ich weiß nicht was werden wird …

Kleine Tools schreibe ich seit mehreren Jahren sehr gerne in C#. Die Sprache ist schön und das Framework ist mächtig. Plattformunabhängigkeit ist mir in diesem Zusammenhang egal. Mono auch. Ich bin auch großer Fan von Windows Forms. Es ist ein sehr schönes und mächtiges GUI Toolkit, nahe an der klassischen C++-Welt aber mit guten Abstraktionen an den richtigen Stellen. Und dann gibt es natürlich noch WPF.

Mir ist nicht klar, was ich von WPF halten soll.

Einerseits, sagt Microsoft WPF ist die Zukunft. Viele neue Funktionen kommen (zuerst) in WPF und teilweise nie in Windows Forms. Windows 8 Apps und Windows Phone Apps benutzen ausschließlich WPF für die GUI Toolkits. Das Data-Binding ist sehr schön und sauber integriert, im Vergleich zu Windows Forms.

Andererseits ist WPF halt auch keine perfekte Lösung. Die Performance ist bei umfangreichen GUIs oder bei komplexen Selbstbauten nicht gerade gut. Der Editor im Visual Studio ist auch nur semi-cool. (Ok, es gibt Expression Blend, aber irgendwie finde ich es nicht gut ein Projekt in zwei Editoren gleichzeitig zu bearbeiten.)

Was mich allerdings wirklich in’s Grübel bringt, ist das Microsoft selbst ja auch keine klare Linie hier verfolgt. Visual Studio 2012 ist in WPF geschrieben worden und für Apps ist die API Pflicht. Allerdings ist das neue Office, obwohl optisch dem neuen Metro-Design folgend, nicht in WPF geschrieben, sondern mit klassischen GUI Toolkits. Insgesamt, weiß ich wirklich nicht, auf welches Pferd ich setzen soll. Vermutlich ist es einfach egal, aber trotzdem bin ich mit der Situation nicht zufrieden.

Mist! Ich wollte doch jeden Sonntag posten. Naja, ich versuche diese Ausrutscher minimal zu halten und möglichst immer gleich nach zu holen.

Eine Neuigkeit: Das TheLib-Projekt benutzt nun ein Subversion-Repository!

Nachdem Mercurial sich absolut nicht bewährt hat war unsere Experimentierfreude aufgebraucht und wir sind lieber auf einem System umgestiegen, von dem wir wissen dass es tut und wie es tut.

Natürlich gib es viele Projekte die mit Mercurial super toll funktionieren und natürlich gibt es viele Gründe warum alles mit Git besser wäre. Ganz ehrlich: Ist mir egal.

Vor einiger Zeit hab ich über Mercurial gewettert. Ich sehe durchaus keinen Grund meine Meinung von damals zu ändern. Die Konvertierungs-Tools sind immer noch lächerlich schlecht und die Tatsache, das SCM-Protokoll-Interoperability offensichtlich keine dieser Entwicklergruppen interessiert ist erbärmlich.

Trotzdem möchte ich über Mercurial sprechen. Die letzten Wochen habe ich an einigen (wissenschaftlichen) Texten zusammen mit anderen Mitautoren geschrieben. Diese waren in Svn-Repositories verwaltet und ich kann nur sagen: das funktioniert einwandfrei!

Dann arbeite ich gerade auch an einem kleineren (vielleicht auch mittelgroßen) Programmier-Projekt. Dabei entsteht eine Bibliothek die inzwischen auch schon von mehreren Personen benutzt wird. Das ganze ist in mein Arbeitsprojekt VICCI eingebettet. Aus Gründen die sich meiner Befugnis entziehen gibt es in diesem Projekt nur ein einzelnen SVN-Repository mit global vorgegebener Verzeichnisstruktur für die Teilprojekte. In der wirren Unterverzeichnisstruktur lassen sich leider die „Branches“- und „Tags“-Verzeichnisse wegen externe Abhängigkeiten nicht sinnvoll einpflegen. Das ist so … schmerzhaft. Ich müsste dringend an der API des Projekts Änderungen durchführen. Aber ohne sinnvolle Branch-Struktur würde ich dabei zwangsläufig entweder nicht einchecken können oder den Code meiner Kollegen beeinflussen. Natürlich gibt es immer Lösungen die nur kurzfristig Probleme bereiten und wo danach alles besser wird. Aber es ist erstaunlich wie schwierig es ist Änderungen herbei zu führen wenn eine größere Gruppe in der Arbeit beteiligt ist. Wie dem auch sei, so wie es ist, werde ich mit dem SVN hier nicht glücklich.

Was eine schöne technische Lösung wäre, wären Multi-Protokoll-Interfaces auf ein Repository: z.B. ein Hg-Repository mit Interfaces für Hg, Git und Svn. Möglich ist das (siehe meinen Konvertier-Tools-Rant). Es macht nur keiner. *seufz*

War nicht gerade eben schon zeit wieder was zu posten? … Wie die Zeit vergeht.

Was mich in den letzten Tagen beschäftigt ist das Problem der Software-Entwicklung. Irgendwie ist das alles ziemlich unbefriedigend. Programmieren ist harte, anstrengende und langwierige Arbeit. Es dauert unendlich lange. Ein Programm von der Komplexität eines „Hello World“ braucht, wenn man mal eherlich ist, vermutlich so eine Woche. Kein Witz! Natürlich kann man das in 10 Minuten runterprogrammieren, aber wenn das Program in Wirklichkeit sowas absurdes machen muss wie eine Eingabe verarbeiten um eine Ausgabe zu erzeugen, dann gibt es so unendlich viele Kleinigkeiten. Jeder der behauptet „Ach was, das mach ich G’schwind.“ macht sich unglaubwürdig und disqualifiziert sich für die Arbeit an größeren Projekten. Leider gilt das für mich auch immer noch. Ich unterschätze auch immer noch die Zeit die Software braucht.

Was aber wirklich am frustrierentsten ist, ist dass man es Software nicht ansieht. Da buttert man Wochen und Monate in ein Programm rein und es will und will einfach nicht fertig werden. Von außen betrachtet sieht man ewig keinerlei Fortschritt. Sicher, irgendwann macht es „klick“ und dann tut fast alles auf einmal, aber bis dahin ist es eine lange Durststrecke.

Nun, warum dann nicht gleich RAD? Meiner Erfahrung nach ist RAD ok für keine GUI-Programme. Aber wenn die anvisierte Funktionalität der Software zu groß ist, dann erreicht man bei RAD sehr schnell einen Punkt wo es immer und immer schwieriger wird die noch fehlenden Funktionen einzubauen. Wenn man so 80% fertig hat, muss man um jede neue Funktion kämpfen, damit das alles noch zusammen passt. Damit das nicht passiert braucht die Software ein gutes Fundament auf dem man aufbauen kann. Womit wir wieder bei etwas sind, was viel Zeit frist ohne früh sichtbare Erfolge zu liefern.

Naja. Dann ist es halt wohl so.

Hab ich jetzt eigentlich schon wieder über Software-Entwicklung gemeckert?

Ich hab so einen Hals!

Ich versuch schon das halbe Wochenende über ein Hg-Repository in ein Svn-Repository zu konvertieren. Das ist halt die Richtung die sonst (scheinbar) keine braucht weil Hg (oder Git) ja soo viel toller ist und man immer nur ZU diesen konvertieren will. Es funktioniert *kein einziges* der Tools da draußen in der Richtung. Um mein Hg-Repository ist nun wirklich nicht besondern komplex. Die Tools scheitern an so hochkomplexen Aufgaben, wie dass Dateien nicht gelöscht werden können, weil sie nicht da sind. Das kann es ja wohl echt nicht sein.

Vermutlich kann man mir (völlig zurecht) vorwerfen ein Windows-Fanboy zu sein. Warum auch nicht. Ich finde das OS einfach gut und Windows 8 überzeugt mich auch je länger ich es benutze, so auch wieder diese Woche:

Jede Software altert. Das ist (irgendwie) einfach so. Ob das jetzt bit-rot ist, oder ob man Software einfach nicht benutzen sollte, sei mal da hingestellt. Da sind auch Betriebssysteme keine Ausnahme. Zu Windows-95-Zeiten war man es ja noch gewohnt, dass man etwa alle zwei Monate sein System neu installiert hat. Und, bevor der erste Linux-Fanboy jetzt aufschreit, wir benutzen geschäftlich auch sehr viel Ubuntu. Das ist ja wirklich auch keinen Deut besser! Durch bloßes Nicht-Benutzen gehen hier Konfigurationen von Hardware kaputt. Eine echte Meisterleistung. Aber: Das geht jetzt nicht gegen Linux. Da sind alle System blöd.

Anfang der Woche wurde die Festplatten IO von meinem Windows 8 auf einmal abartig langsam! Ich habe nach dem Klicken auf eine Datei mehrere Sekunden gewartet bevor das entsprechende schon laufende Programm davon was mitgekriegt hat. Den Schuldigen hab ich nicht gefunden. (Das letzte was ich installiert hatte war ein Update für Java.) Ich hatte schon Angst es könnte tatsächlich der Vorbote für einen Hardware-Defekt sein. Aber, die Erfahrung lehrt: eigentlich ist es immer die Software.

Also hab ich das Windows 8 Feature „PC Auffrischen“ ausprobiert (Neuinstallation-Lite). Und ich muss sagen, ich bin total begeistert. Der Rechner fliegt jetzt wieder. Ok. Ich muss die Programme jetzt nach und nach wieder neu installieren und ich hab bei zweien vergessen meine Einstellungen zu sichern. Aber immerhin ist das System nun sauber. Ich find’s gut.