Donnerstag, 11. Dezember 2008

IronPython 2.0 auf Codeplex

Gerade heute habe ich mit einem Kollegen über Python bzw. Microsoft's IronPython gesprochen. Welch Zufall, dass ich just auf diese DNK Story gestoßen bin: IronPython 2.0 wurde am 10.12.08 auf der offiziellen Codeplex Seite released.

Jetzt brauche ich nur genügend Zeit um die Sprache auszuprobieren - aber demnächst gibt's ja Urlaub.

Sonntag, 7. Dezember 2008

Liste, Collection und Dictionary

Das .Net Framework bringt viele Listen, Collections und Dictionaries mit. Wem diese Container nicht reichen und auch spezielle Listen nicht helfen, sollte einen Blick auf die C5 Generic Collection Library und auf die Wintellect's Power Collections for .NET werfen, bevor er mit Hilfe von System.Collections.ObjectModel.KeyedCollection eine eigene generische Implementierung vorantreibt.

Mittwoch, 3. Dezember 2008

Office 2007 - wo sind die Menüs?

Seit etwa einem halben Jahr bin ich stolzer Besitzer des Office 2007 Paketes. Sieht auch alles toll aus - nur habe ich echt Probleme die alten Menüs und Einstellungen wiederzufinden. Offenbar hat Microsoft auch davon erfahren und bietet ein Gegenmittel in Form von interaktiven Office 2003 zu Office 2007 Demos an. Damit ich die Links nicht immer wieder nachschlagen muss, schreib ich sie am besten auf:

Wo finde ich...

Sonntag, 19. Oktober 2008

Weiterentwicklung in der dunklen Jahreszeit

Als Entwickler hat man sich, ob man will oder nicht, dem ständigen Lernen verpflichtet. Zwar bleibt man durch das tägliche Lesen von Rss-Feeds und Blogs auf dem Laufenden, manchmal möchte man aber einen nächsten Schritt tun. Dieser Zeitpunkt ist bei mir gerade erreicht und so fange ich an, mir ein tiefergehendes Verständnis mit Hilfe des Buches C# in Depth: What You Need to Master C# 2 and 3 anzueignen.

Das schöne ist: Ich weiß auch schon, wie es nach dem Buch weitergeht. Ich möchte Python lernen.  Warum? Ich habe entsprechende Fragen auf Stackoverflow gelesen und offenbar gibt es viele Gründe Python auszuprobieren und laut Tiobe eine aktive Python Community

Da ich mich im .Net Framework zu Hause fühle, habe ich die Wahl zwischen Python for .Net welches keine DLR Implementation ist, einer an Python angelehnten Sprache mit dem Namen Boo und dem Microsoft'schen IronPython.

 Alle drei Varianten scheinen auch unter Mono zu laufen. IronPython scheint nach meinen ersten Erkenntnissen recht nah an der originalen Syntax zu sein - also werde ich mir zunächst IronPython zu Gemüte führen und später einen Blick auf Boo werfen, auch wenn mir der erste Eindruck schon jetzt zusagt. Aber irgendwie fühle ich mich durch die Antworten auf die Frage "Boo vs. IronPython" bestätigt und werde mir demnächst wahrscheinlich durch die IronPython Tutorials wühlen und das Buch Ironpython in Action benutzen um mir die dunklen Jahreszeit zu vertreiben.

Sonntag, 12. Oktober 2008

Programmierer fragen Programmierer

Google, Foren und Newsgroups bieten zwar eine Fülle  an Informationen, doch manchmal gibt es konkrete Probleme die man nur durch Nachfragen lösen kann. Eine "Frage-und-Antwort" Community für Kodierer bietet Stackoverflow.com.

Interessant dabei: Hat man sich genügen Reputation durch das Schreiben von Fragen und Antworten sowie das Bewerten und Kommentieren verdient, ist man wie bei einem Wiki dazu in der Lage, fremde Beiträge zu editieren oder als passende Antwort zu deklarieren.

Dank OpenID entfällt das Anlegen eines neuen Benutzeraccounts, wenn man bereits bei einem OpenID Provider registriert ist (Yahoo und Blogger gehören auch dazu).

Someone is wrong on the internet

Freitag, 4. Juli 2008

Im stillen Kämmerlein

Wenn man "mal eben" einen längeren Text schreiben möchte, kommt grundsätzlich etwas dazwischen: den Webbrowser öffnen, den Instantmessenger benutzen oder andere Ablenkungen die einen vom eigentlichen Verfassen des Textes abhalten.  Gut, dass es da Abhilfe in Form von schlichten bzw. gar simplen Texteditoren gibt - ohne Schnickschnack einfach nur tippen.

Online kann man das prima mit Darkcopy ausprobieren. Wem das Offline-Arbeiten eher liegt (ohne Netz kann zumindest der Instantmessenger nicht mehr stören), sollte einen Blick auf den Editor Q10 und auf auf Dark Room werfen. Wer unter MacOS arbeitet kann WriteRoom benutzen. Linuxnutzer werden sich wahrscheinlich ins Fäustchen lachen, ihren Lynx beenden und vi starten...

...und ich komme in der nächsten Zeit vielleicht endlich dazu, den zweiten Teil zu SVN und .Net zu schreiben.

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.