Archive for the ‘.NET’ Category

Kann man mit dem iPad bloggen?

Saturday, June 5th, 2010

Natürlich kann man. Technisch gesehen. Aber geht es praktisch? Ich meine, geht vor allem das Schreiben mit dieser merkwürdigen Tätschel-Tastatur? Jep, geht. Aber was viel besser geht, ist Lesen. Denn das Schreiben längerer Texte ist ohne echte Tastatur schon etwas gewöhnungsbedürftig. Aber obacht, ich meine nicht wirklich “echte Tastatur” im Sinne von Hardware – ein vollständiges Tastaturlayout würde schon einiges verbessern. So fehlen die “german umlaute” genauso wie diverse Satzzeichen. Natürlich kann man diese alle irgendwie erreichen, aber das flotte Schreiben wird so schon arg gebremst. Die vorhandenen Tasten lassen sich zügig mit mehreren Fingern bedienen. Ich tippe auch sonst nicht mit allen 10 Fingern, aber mit mehr als nur ein oder zwei allemal. Und das geht auf dem iPad auch, wenn ich es auf den Beinen liegen habe.

Wirklich gut gehen Dinge wie MindMaps mit iThoughtsHD oder Graphen mit Instaviz. Dabei kommt es mehr auf Touchgesten an, weniger auf Text.

Absolut toll ist Instapaper. Alle längeren Texte im Web schicke ich damit auf mein iPad. So muss ich nicht alles am Rechner lesen, sondern kann mich gemütlich mit dem iPad auf’s Sofa setzen. Und offline geht’s mit Instapaper auch.

Wegen der Tastatur muss ich das iPad wohl jailbreaken. Mal sehen ob es dann bessere Layouts gibt.

Fazit: ich würde das iPad sofort wieder kaufen. Absolut coole Maschine mit Potential zu drastischen Veränderungen unserer Mediennutzung.

O/R Mapper powerday

Friday, May 7th, 2010

Am 22. Juni 2010 findet in München der O/R Mapper powerday statt. Veranstalter ist die NMG, Herausgeber der Zeitschriften dotnetpro und databasepro.

An diesem Tag dreht sich alles um die Frage, wie datengetriebene powerday banner juni 200x120 speaker 3Anwendungen entwickelt werden. Dabei liegt der Schwerpunkt der  Vorträge darauf, jeweils Ende-zu-Ende Szenarien zu zeigen. Neben einer Einführung über Herausforderungen und Lösungsansätze heutiger O/R-Mapper werden folgende Szenarien beleuchet:

  • ASP.NET-Anwendungen mit NHibernate
    Gregor Binswanger
  • Anwendungen mit dem Entity Framework 4 erstellen
    Dariusz Parys
  • OpenAccess in Silverlight-Anwendungen
    Jan Blessenohl

Interessenten sollten sich beeilen, bis zum 11. Mai gilt noch der Frühbucherrabatt.

Jahresrückblick eines Clean Code Developers

Tuesday, December 22nd, 2009

Ziemlich genau vor einem Jahr ist die Clean Code Developer Initiative online gegangen. Ralf Westphal und ich hatten ursprünglich den 1.1.2009 angepeilt, sind dann aber schon ein paar Tage früher fertig geworden. Was sich dann so alles ereignet hat, hat uns wirklich überrascht. Angenehm glücklicherweise ;-)

Zunächst wurde nämlich schon das erste Clean Code Developer Camp in Hamburg gebucht, bevor wir mit den CCD Inhalten im Wiki komplett fertig waren. Das Camp lief über insgesamt 10 Tage, aufgeteilt auf 2 Wochen, die von einer kurzen Pause unterbrochen waren. Ein voller Erfolg! Dennoch beschlich uns das Gefühl, dass es zur “Druckbetankung” möglicherweise eine Ergänzung geben sollte. So haben wir die Idee der School of .NET diskutiert, durchaus auch öffentlich (siehe z.B. hier und hier und hier).

Bei der School of .NET geht es uns vor allem darum, zwischen den einzelnen Einheiten immer wieder Pausen einzulegen, in denen die Teilnehmer sich in ihrem Alltag mit dem gelernten auseinandersetzen können. Dies bietet dann auch gleich noch die Möglichkeit, zur Vertiefung des Stoffes Hausaufgaben lösen zu lassen. So wurde das Camp mit seinen 2 x 5 Tagen ergänzt durch die School mit 7 x 2 Tagen (die ersten Kurse waren etwas unregelmäßiger, da waren auch mal Einzeltage dabei). Im kommenden Jahr bieten wir sowohl das Camp als auch die School wieder an. In München sind noch ein paar Plätze frei, Details siehe hier.

Eine Konstante hat sich in beiden Formen bewährt: das Team-Teaching. Beim Camp sind Ralf Westphal und ich beide über die komplette Seminardauer anwesend, bei der School of .NET haben wir auch ab und zu Tage mit nur einem Trainer eingeschoben. Von Teilnehmern haben wir immer wieder das Feedback gehört, dass das Team-Teaching sehr zum Erfolg beiträgt. So wirkt die Tatsache, dass Ralf und ich inhaltlich auch schon mal unterschiedliche Standpunkte vertreten authentisch und bereichert das Seminar um nützliche Diskussionen. Schließlich ist im Bereich der Softwareentwicklung nach wie vor vieles im Fluss und auch wir als Trainer entwickeln uns weiter. Ferner haben die Teilnehmer es als hilfreich empfunden, Inhalte ab und zu in unterschiedlichen Nuancen erklärt zu kriegen. Manchmal hilft schon eine etwas andere Formulierung. Die Teilnehmer solcher Seminare haben ja schließlich einen unterschiedlichen Background, nicht jeder lernt genau so wie sein Kollege, mancher mag es lieber etwas abstrakter, der andere sehr konkret.

Im Jahr 2009 habe ich auch wieder einige Gelegenheiten für Vorträge gehabt. Dabei waren sowohl .NET Usergroups als auch Konferenzen wie die prio oder die XPdays. Eine Übersicht dazu gibt’s hier.

Neben Team-Teaching hatten Ralf und ich auch die Gelegenheit zur Team-Beratung. Wir haben mehrfach den ersten Beratungstermin bei einem neuen Kunden zu zweit bestritten. Vier Augen sehen bekanntlich mehr als zwei, gerade bei der Bestandsaufnahme und der Frage, welche Schritte zur Verbesserung wir empfehlen, erwies sich dies als vorteilhaft.

Bei Heise Developer haben wir die Gelegenheit erhalten, eine kleine Serie zu Brownfield Projekten zu schreiben. Der erste Teil und der zweite Teil sind bereits erschienen, fünf weitere werden noch folgen.

Rückblickend betrachtet war das Jahr 2009 wirklich sehr spannend. Die Resonanz auf die Clean Code Developer Initiative ist durchweg sehr positiv. So hat z.B. die Xing Gruppe inzwischen mehr als 1000 Mitglieder. Und wir haben noch einige Ideen…

Ausblick auf 2010

Im nächsten Jahr stehen natürlich auch schon einige Termine fest. Da ist zum einen die OOP zu nennen, bei der Ralf und ich die Clean Code Developer Initiative vorstellen werden. Im Rahmen der VSone halte ich neben einem Vortrag zu Domain Driven Design einen Tagesworkshop zur Testgetriebenen Entwicklung (test-driven development, TDD).

Unter dem Titel priodotnetpro.powerday bieten Ralf und ich CCD Inhalte an insgesamt 3 Tagen. Der erste Tag, der powerday, ist ein eher klassischer Konferenztag, bei dem den Teilnehmern zahlreiche Vorträge geboten werden. Etwas anders als üblich ist die Tatsache, dass die Teilnehmer vorher eine Publikumsaufgabe lösen können. Damit nehmen sie zum einen an einer Verlosung wertvoller Preise teil. Zum anderen wird genau diese Problemstellung über den Tag hinweg unter verschiedenen Aspekten beleuchtet. Hat man die Aufgabe selber gelöst, erhält man so Rückmeldung zur eigenen Vorgehensweise.

Am zweiten Tag, dem powerworkshop, bieten wir die Möglichkeit, einen Tag lang an den CCD Bausteinen zu schnuppern. In kleinen Gruppen werden an dem Tag einige Prinzipien und Praktiken vermittelt und anhand von Beispielen und Übungen gelernt.

Der dann folgende dritte Tag bietet powercoaching: mehrere Teams kommen mit ihren ProblemenHerausforderungen zu uns und präsentieren ihre Fragen anhand eines konkreten Projektes. Wohlgemerkt geht es dabei um ein echtes Projekt, nicht um Beispiele oder Übungen. Jedes Team erhält Zeit sein Problem darzulegen, wir geben anschließend Hinweise zu Lösungen. Der Clou daran: die Teams präsentieren sich mit ihren Fragen vor den anderen Teams. Das bedeutet, jedes teilnehmende Team erhält nicht nur Input zu seinen eigenen Fragen, sondern kann auch an den Fragen und Antworten der anderen Teams teilhaben.

Die drei Tage können einzeln gebucht werden, so kann sich jeder das heraussuchen was für ihn am besten passt.

Ich bin jedenfalls schon sehr gespannt, was das Jahr 2010 bringen wird. Allen Lesern wünsche ich frohe Feiertage und einen guten Start in das neue Jahr.

.NET Open Space 2009 in Leipzig

Tuesday, October 20th, 2009

Ein intensives und anstrengendes Wochenende liegt hinter mir. Nachdem wir am Freitag die Räume im MedienCampus vorbereitet hatten, konnte am Samstag morgen der 2. .NET Open Space in Leipzig starten. Mit deutlich mehr Teilnehmern als im letzten Jahr war meine größte Sorge, ob die Sessionplanung reibungslos funktionieren würde. Nicht dass ich Zweifel am Open Space Format hätte, aber je mehr Teilnehmer Sessions vorschlagen können, desto größer ist die Gefahr, dass sich der Prozess zu lange hinzieht.

Anders als im letzten Jahr haben wir die Vorschläge dieses Jahr direkt in ein Zeit- und Raumraster einsortiert. Dadurch stand der Sessionplan bereits fest, nachdem alle Vorschläge genannt wurden. Erfreulicherweise kam es dabei zu keinen zeitlichen Überschneidungen, so dass alle Sessions auch tatsächlich stattgefunden haben.

Zwei Themen die mir schon in vorangegangenen Open Spaces wichtig waren haben auch dieses Jahr wieder eine Rolle gespielt: Command/Query Separation und Service Bus. Bei der Command/Query Separation liegt leider eine doppelte Verwendung des Begriffes vor: neben dem Prinzip, dass eine Methode entweder ein Command oder eine Query sein sollte, wird damit auch ein Architekturpattern bezeichnet. Es wird in Systemen mit sehr hohen Anforderungen an Durchsatz verwendet. Wie auch schon bei anderen Veranstaltungen fehlten Teilnehmer, die bereits ein System mit diesem Pattern gebaut haben, so dass die Diskussion eher theoretisch war. Beim nächsten Open Space sollte sich das langsam ändern ;-)

Beim Thema Service Bus stand vor allem die Frage im Vordergrund, wann sich der Aufwand lohnt, einen Service Bus einzusetzen. Schließlich geht es dabei nicht nur um die korrekte Anwendung neuer Funktionalität, sondern auch um Installation und Betrieb der entsprechenden Infrastruktur. Meine klare Empfehlung, diese Infrastruktur erst einzusetzen, wenn mehrere Bounded Contexts zu verbinden sind, wurde prinzipiell geteilt. Wir haben auch einfachere Publish/Subscribe Ansätze diskutiert, die beispielweise in Frameworks wie Prism oder Caliburn zum Einsatz kommen. Da der Einsatz von Publish/Subscribe dort der besseren Entkopplung dient, ist der Einsatz in jedem Fall empfehlenswert.

Auch beim Thema Service Bus habe ich den Eindruck, dass zu einem nächsten Open Space eine exemplarische Implementierung vorliegen sollte, damit die Diskussion konkreter wird. Vielleicht finden sich ja ein paar Leute die Lust haben, eine Beispielanwendung zu bauen?

Der 2. NET Open Space war aus meiner Sicht wieder ein voller Erfolg. Vielen vielen Dank an Torsten Weber, Alexander Groß und Marcel Hoyer, die den Hauptteil der Organisation übernommen haben. Ein weiteres Dankeschön an Maik den Hausmeister für seine tatkräftige Unterstützung.

Nach dem Open Space ist vor dem Open Space ;-)

Neues Design jetzt online

Friday, October 9th, 2009

Ich habe das Design meiner Website http://lieser-online.de überarbeiten lassen. Nun sind zwar noch ein paar Wiederholungen in den Dateien, das Menü steht beispielsweise in allen HTML Files, aber das macht erstmal nichts. Agile Entwicklung heißt schließlich, in Iterationen arbeiten.

FullTrust auf Netzwerk Share

Wednesday, October 7th, 2009

Weil ich immer wieder danach suche: wie lautet der Befehl, um FullTrust auf eine Netzwerk Share einzurichten?

caspol -q -machine -addgroup 1 -url file://z:/* FullTrust

Konferenzen

Wednesday, September 2nd, 2009

In nächster Zeit spreche ich auf den folgenden Konferenzen:

prio.conference

28. und 29. Oktober in München

prio.conference, 28./29. Oktober in München

Auf der prio spreche ich über das Testen von Silverlight Anwendungen. Dabei geht es neben technischen Details zu Test Frameworks auch um die Frage, wie die Architektur von Silverlight Anwendungen aussehen sollte, damit die Anwendungen gut automatisiert getestet werden können.

datacon

25. und 25. November in München

datacon, 24./25. November in München

Ich habe das Vergnügen, den O/R Mapper Track als Moderator zu begleiten. Zu Anfang steht ein einführender Vortrag von mir, in dem ich beleuchte, welche Anforderungen an O/R Mapper gestellt werden. Dabei geht es nicht um Produkte, sondern um Features und Möglichkeiten zur Umsetzung. Besonders freut mich, dass der Track sowohl .NET als auch Java Entwickler anspricht. Ich bin gespannt, wie dieses “cross-over” ankommt.

XP days

26. bis 28. November in Karlsruhe

XPdays, 26. - 28. November in Karlsruhe

Bei den diesjährigen XPdays spreche ich über die Clean Code Developer Initiative. Auch auf dieses Event freue ich mich sehr, waren wir mit der Clean Code Developer Initiative bislang doch eher bei Entwicklerkonferenzen vertreten.

Neues in C# 4.0 und der BCL 4.0

Wednesday, June 24th, 2009

Zu meinem Vortrag gestern Abend bei der .NET Usergroup Köln habe ich meine Folien und Beispiele zum Download bereitgestellt:

Architecture.Net Open Space 2009

Wednesday, May 20th, 2009

Die Idee ist während des .NET Open Space im letzten Jahr in Leipzig entstanden und nun ist es soweit: ein Open Space für Softwarearchitekten (http://archnet.mixxt.de/).

Am 5./6. Juni treffen sich engagierte Java und .NET Softwarearchitekten in Düsseldorf, um über Architekturen großer Anwendungen zu diskutieren. Das Open Space Format sorgt dafür, dass sich jeder optimal einbringen kann. Ich bin vor allem gespannt auf den Austausch zwischen den Java und .Net Leuten.

Meine Top-3 Entwicklertools

Tuesday, May 19th, 2009

Auch ich will der Aufforderung folgen und meine Top-3 Entwicklertools nennen.

Auf Platz 1 ist natürlich JetBrains ReSharper. Das Visual Studio Add-In erhöht die Produktivität so gewaltig, dass ich nur jedem Entwickler, der ReSharper noch nicht selber erlebt hat raten möchte, eine Testinstallation zu wagen. Aber Vorsicht! Wenn man sich erst mal an ReSharper gewöhnt hat geht’s nicht mehr ohne ;-) Die Analysefunktionen sind einfach toll. Wer z.B. noch nicht alle Sprachfeatures von C# 3.0 verinnerlicht hat, erhält Hilfestellung beim Umgang mit Lambdas, LINQ, etc. Die Refactoring Funktionen sind deutlich leistungsfähiger und schneller als die Visual Studio Bordmittel. Und nicht zuletzt liebe ich den integrierten Unit Test Runner.

Platz 2 belegt SourceMonitor, ein freies Tool zum Generieren diverser Sourcecode Metriken. Durch die Möglichkeit, immer wieder Snapshots der Metriken zu speichern, kann man die Entwicklung der Metriken im Zeitverlauf verfolgen und so Ziele für Refactorings gut identifizieren.

Zum Zugriff auf Subversion verwende ich ein weiteres Visual Studio Add-In, nämlich VisualSVN, das damit den Platz 3 belegt. Mit VisualSVN ist vor allem das Verschieben und Umbenennen von Dateien und Verzeichnissen im Solution Explorer voll in die Versionsverwaltung integriert.