Rot und Blau vertauscht
In der letzten Zeit verfolgte mich im Büro ein interessantes Phänomen: Mein Arbeitsplatzrechner zeigte konsequent rote Schrift in blauer Farbe an und andersherum. Anfangs hielt ich es für ein Problem der RaveReport Software, mit der ich Berichte für eine Delphi Anwendung schrieb, bis mir auffiel, dass sich das Problem durch alle Anwendungen an meinem PC zog. Komischerweise trat es nur bei Text auf, nicht bei Grafiken, und auch nur dann, wenn die Schrift eine Größe von 14pt überstieg, oder fett war. (Schade, ich hielt es für ein neues Feature, dass Google die Schlagworte der Suchergebnisse nun in Rot zeigt.
)
Was die Ursache des Problems ist, ließ sich bis heute nicht klären, allerdings half es, die Kantenglättung für Schriften abzuschalten oder auf ClearType umzustellen. Für alle, die das selbe Problem haben: Einfach ausprobieren. Für bessere Lösungen bin ich angesichts meiner nunmehr pixeligen Schriften sehr dankbar.
Entwicklung mit Eclipse protokollieren
Im Zuge einer empirischen Studie an der Universität Duisburg-Essen habe ich im Rahmen meines Projektseminars ein Eclipse Plugin in Java entwickelt, das es ermöglicht, alle Schritte eines Entwicklers möglichst detailliert nachvollziehen - und entwickelten Quellcode rekonstruieren zu können.
Das einzige Tool auf das ich gestoßen bin, das in irgendeiner Form zu einem solchen Zweck geeignet gewesen wäre, heißt Automated GUI Recorder vom TPTP Projekt. Leider erwies es sich jedoch als leichter gesagt, als getan, dieses Plugin in einer Form zu erweitern, die den Anforderungen der Studie entsprachen, so scheiterte ich bereits am vollständigen Checkout des Quellcodes via CVS. Auch diverse Newsgroup Aufrufe verliefen im Sande, so dass selbst entwickeln die einzig brauchbare Lösung zu sein schien.
So entstand also das Development Trace Plugin, das auf Eclipse Ganymede (3.4) läuft und sämtliche Aktionen, wie Commands (gängige Operationen, wie Copy und Paste, Builds oder Saves), Fensterwechsel (Geöffnet, Aktiviert, Geschlossen), Runs (Run, Debug) und intern getriggerte Aktionen in einer PostgreSQL Datenbank speichert. Sämtliche gesammelten Datensätze, so auch alle Dateien und Ordner des Workspaces, die vom mitgelieferten Builder als kompilierbar oder nicht kompilierbar markiert und gespeichert werden, werden hierbei mit einer Sitzung verknüpft, die beim Eclipse Start angelegt wird. Ein Speichern aller Änderungen wird automatisch nach jeder Modifikation in einem Editorfenster (mit einer Verzögerung von 2 Sekunden) angestoßen, so dass eine sehr genaue Rekonstruktion zeitlicher "Snapshots"gewährleistet wird.
Sobald die Auswertung der gesammelten Daten fertiggestellt und die Ergebnisse der Studie veröffentlicht wurden, werde ich das Plugin und die Quelltexte inklusive der verwendeten Datenbankschemata und Ant-Scripte zur automatischen Rekonstruktion und Unit-Tests unter einer entsprechenden Lizenz im Downloadbereich veröffentlichen.
Visual Studio 2008 auf Vista x64
Seit geraumer Zeit bin ich endlich im Besitz meines neuen Rechners, allerdings bescherte mir die Installation von Visual Studio 2008 auf der 64-Bit Version von Windows Vista so einige Probleme, die auch hier bereits im Februar gebloggt wurden. (Leider bin ich trotz emsigen Googlens nicht auf eine solche Problemlösung gestoßen.)
Trotz einer frischen Installation von Windows und allen nötigen Treibern scheiterte die Installation von Visual Studio bereits beim .NET Framework 3.5 mit einer ganzen Reihe roter Kreuze. Zudem erfreute ich mich seither daran, dass mein neuer Rechner nun ca. 10 Minuten (!!) zum booten brauchte, bis ich letztlich meinen Desktop vor mir sah (nicht, dass ich jetzt in der Lage gewesen wäre, den PC in irgend einer Form zu bedienen
).
Die Lösung des Problemes jedoch heißt Service Pack 1 für Windows Vista x64, dass Microsoft glücklicherweise online zum Download bereitstellt. Schade allerdings, dass dort explizit vom Download abgeraten wird, da die Updates in Vista automatisch erfolgten -- Leider wurde, jedenfalls bei mir, dieses Service Pack nicht per Auto-Update ausgeliefert. Vielen Dank, Mr. Ballmer, das bescherte mir 10 Stunden Arbeit...
Empirische Forschung an Objektorientierung
Dass Software ein wesentlicher Bestandteil unserer Gesellschaft ist, stellt in der heutigen Zeit selbst ein Laie nicht mehr in Frage. Viele Ausbildungsbetriebe und Hochschulen lehren künftiges IT-Personal Design und Entwicklung von Software, oft in objektorientierten Hochsprachen, wie Java, C++ oder C#.
Dennoch gibt es Alternativen zur Entwicklung dieser Software, wie die Nutzung prozeduraler oder logischer Programmiersprachen, wie Pascal oder Prolog. In der Praxis stellt sich daher häufig die Frage, auf welche Weise ein Softwareprojekt entwickelt werden soll.
Die hier zum Download bereitgestellte Arbeit setzt sich mit dem Thema empirischer Forschung an Objektorientierung kritisch auseinander und beleuchtet, in wie fern Empirie als Entscheidungsgrundlage für die Wahl bestimmter Softwaredesigns oder Entwicklungsalternativen dienen kann.
Viel Spaß beim Lesen...
Systemweiter Singleton in C#: Nachtrag
Vor einiger Zeit berichtete ich hier über die Implementierung eines systemweiten Singleton in C#. Trotz Freigabe des registrierten Mutexes bei Terminierung des Hauptprozesses und damit einhergehender Vernichtung der über die Anwendungsdomäne hinaus bereitgestellten Objekte, wurde bei Aufruf der GetInstance-Methode kein neues Objekt erzeugt (vielen Dank für den Hinweis, Tom).
Diesem Problem habe ich etwas Zeit gewidmet und eine Lösung zum Download bereitgestellt.







