Sonntag, 4. Mai 2008

Subversion für weniger Reibung

Subversion (SVN) ist ein Versionsverwaltungssystem (der Hersteller spricht auch von "source control - change management"-System), welches ich noch nicht sehr lange Anstelle von CVS einsetze, aber schon recht liebgewonnen habe.

Während Wikipedia den formalen Unterschied zu CVS kennt, kostenlose Tools zum Wechsel von Beispielsweise PVCS zu SVN existieren, es sogar transparente  Brückenlösungen zum MS Team Foundation Server gibt und auch SVN-Neulinge dank kurzen Einführungen schnell im Boot sind, bin ich der Meinung, dass man einen Wechsel ruhig riskieren sollte.

Belohnt wird man nicht nur durch eventuell gesparten Lizenskosten, sondern auch durch eine, wie ich finde, reibungslosere Softwareentwicklung: Da das "locken" von Dateien und Verzeichnissen zwar möglich, zum ändern der Dateien aber nicht notwendig ist, bewegt man sich fast von allein in Richtung Collective Code Ownership und das ermuntert geradezu "Unschönheiten", auch über die Grenzen des vormals eigenen Moduls hinaus, zu verbessern.

Zur eben erwähnten "Reibungslosigkeit" trägt Tortoise erheblich bei: Der SVN-Client sorgt dafür, dass Subversion-Symbole fortan im Explorer sichtbar werden und commits, updates und Co nur einen Rechtsklick entfernt sind.

Aus der Entwicklungsumgebung VisualStudio heraus helfen Add-Ins wie Ankh oder auch das nicht kostenlose aber nützliche VisualSVN. Ebenso gibt es weitere Plugins für Eclipse, JDeveloper und NetBeans.

Wer die Kopplung in den Explorer oder die Integration in die Entwicklungsumgebung scheut kann ebenfalls mit der Kommandozeile oder einem GUI-gestützen SVN-Klienten wie beispielsweise RapidSVN auf die Repositories zugreifen.

Wer aus eigenen Applikationen auf Subversion-Repositories zugreifen möchte kann auch dieses tun: Während es für Java und Python entsprechende Bindings direkt vom Herstell gibt, müssen C# Entwickler einen kleinen Umweg, aber trotzdem gangbaren Umweg in Kauf nehmen: mit Hilfe der Java Implementation IKVM.NET für Mono/MS.NET können die SVN Java-Bindings auch unter .NET benutzt werden. Wie das funktioniert, beschreibt hungryforknowledge in seinem Blog.

Mehr zum thema Subversion, Hooks und C# werde ich in einem nächsten Beitrag schreiben.

Montag, 11. Februar 2008

WindowsMobile kostet nerven

Mein Dell Axim X50 leistet gute Dienste und ich möchte das Ding nicht missen - auch wenn man damit nicht telefonieren kann. Neuerdings ist mir aufgefallen, dass die Uhr, die sonst in der Titleleiste in digitaler oder analoger Form zu sehen war einfach verschwunden ist.

Endloses googlen brachte mich schließlich auf diesen Trick und diese tolle Tweak-Zusammenfassung:

Uhr in Titelleiste wieder anzeigen:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\
Vorhandenen Binären Wert löschen:
Binary Value "TBOpt" "00 00 00 00"

Gesagt getan (ich habe den PocketPC TotalCommander benutzt um die Registry zu editieren) und nach einem Soft-Reset erscheint die Uhr.

Sonntag, 2. Dezember 2007

Bluescreen bei Logitech und Cherry

Die letzten Wochen ärgerte ich mich über sporadische Bluescreens beim Start von Windows XP. Vor allem traten diese dann auf, wenn der Anmeldebildschirm eine Zeit lang nicht benutzt wurde - man also vor dem Login einfach eine Zeit wartete und sich erst dann den User aussuchte und einloggte.

Lange hat's gedauert aber nachdem ich mit Hilfe von Systernal's AutoRuns sämtliche Variationen durchgespielt hatte bin ich mir nun sicher: die Kombination von Logitech Maussoftware und Cherry Tastatursoftware verträgt sich nicht.

Wird der Logitech-Maustreiber (Version 4.0.101.0 vom 11.04.2007) bzw. die SetPoint Software (Version  4.00.121) meiner MX518-Maus zuerst geladen und erst dann der Cherry Keyboard Manager (Version 3.2.0.11, Treiber: Version 1.2.27.12 vom 11.12.2006)  geladen gibt's einen Bluescreen.

Mittlerweile habe ich herausbekommen warum der vormals einwandfreie Systemstart "aus heiterem Himmel" nicht mehr funktionierte: Schuld war das automatische SetPoint-Update welches wohl die "Start-Up"-Reihenfoge nach einem Update geändert hat.

Nachdem ich diesen Fehler nun erkannt habe, bleibt vielleicht ein wenig Zeit die neuen Features des .Net Frameworks 3.5 zu erkunden - wie gut, dass es die wichtigsten Änderungen der Klassenbibliothek als Poster gibt. Ebenso gibt's die neuen Tastaturkommandos im Visual Studio 2008 als CheatSheet.

Sonntag, 11. November 2007

Noch schneller tippen

Vor einiger Zeit habe ich mir überlegt, meine Tippgeschwindigkeit zu verbessern und prompt lese ich in der aktuellen C'T eine Link-Rezession mit dem Namen "Tippschule".

In dem Artikel ist zu lesen, dass man sich durch die gennante Zeitangabe von 3 Stunden bis zur 10-Finger Perfektion nicht verunsichern lassen solle. Gesagt getan und mittlerweile steht auf der Schnellschreib-Homepage auch eine Zeitangabe von zehn Stunden.

Mal sehen wie lange ich brauchen werde um die beiden unbenutzten Finger auch endlich über die Tastatur fliegen zu lassen - in Lektion 2 kann ich sie zu mindestens schon für Shift, ö und a einsetzen...

Rhino.Mocks 3.3

Schon am 25.10. hat Ayende eine neue Version vom Mocking-Framework "Rhino Mocks" herausgebracht. Meiner Meinung nach ist das Framework ein must have für die testgetriebene Entwicklung unter .Net, denn endlich kann man Erwartungen an das Verhalten seiner zu (Unit-)testenden Komponenten stellen.

Wohl wichtigste Neuerung in der neuen Version 3.3: Expect.Call für Methoden ohne Rückgabewert. Ich möchte kurz erläutern worum es dabei geht: Ich brauche nicht mehr zu erläutern worum es bei diesem neuen Feature geht, Ayende selbst klärt in seinem Weblog auf.

Mittwoch, 3. Oktober 2007

Schnelltippen

Heynemann berichtet in seinem Blog, dass er schnell tippen kann:

Number of words typed: 200
Test duration: 3 min
Speed: 66.6 words/min. (333 keystrokes/min.)
Error penalty: 10
Accuracy: 95.0%

Auch ich habe es drauf ankommen lassen und habe drauf los getippt - mit eher mäßigem Erfolg was die Geschwindigkeit angeht:

Number of words typed: 130
Test duration: 3 min
Speed: 43.3 words/min. (216 keystrokes/min.)
Error penalty: 0
Accuracy: 100.0%

Vielleicht sollte ich doch einen 10-Finger-Kurs belegen, obwohl ich dachte, das ich mit meiner 8,5 Finger Methode relativ schnell bin.

Vielleicht hilft es auch, wenn man auf "Spielerische Weise" dazulernt? QWERTY-Warriors und Words to the rescue ;-)

Gelungene Meetings

Ich bin gerade beim "Feiertagssurfen" über diesen Folien Satz von Herrn Horbach gestolpert. Er beschreibt witzig, wie ein Meeting garantiert misslingt. Aber wahrscheinlich lassen sich einige Besprechungs-Ingenieure selbst durch diese Tipps die Lust an (überflüssigen) Sitzungen nicht nehmen.