<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="de-de" xmlns="http://www.w3.org/2005/Atom">
  <title>OutOfCoffeeException</title>
  <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/" />
  <link rel="self" href="http://www.outofcoffeeexception.de/SyndicationService.asmx/GetAtom" />
  <icon>favicon.ico</icon>
  <updated>2010-02-11T15:01:08.2419609+01:00</updated>
  <author>
    <name>Mathias Raacke</name>
  </author>
  <subtitle>"a programmer is a machine that converts coffee to code" </subtitle>
  <id>http://www.outofcoffeeexception.de/</id>
  <generator uri="http://dasblog.info/" version="2.2.8279.16125">DasBlog</generator>
  <entry>
    <title>Ressourcen zum Einstieg in die .NET Entwicklung</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2010/02/11/Ressourcen+Zum+Einstieg+In+Die+NET+Entwicklung.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,cf06424f-0724-4e5c-9b74-b4c276ea194d.aspx</id>
    <published>2010-02-11T15:01:08.2419609+01:00</published>
    <updated>2010-02-11T15:01:08.2419609+01:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Zu .NET gibt es von Microsoft und in Blogs usw. sehr viele gute Videos, Tutorials
und sonstige Ressourcen. Da ich gerade auf Twitter nach Empfehlungen gefragt wurde
hier eine kleine Übersicht:
</p>
        <p>
Englisch:
</p>
        <p>
Das “<strong>Beginner Developer Learning Center</strong>” fängt wirklich bei Null
an. Gerade für absolute Einsteiger ohne Programmiervorkenntnisse ist es ein guter
Einstieg, sofern man gute Englischkenntnisse mitbringt. 
</p>
        <p>
          <a title="http://msdn.microsoft.com/en-us/beginner/default.aspx" href="http://msdn.microsoft.com/en-us/beginner/default.aspx">http://msdn.microsoft.com/en-us/beginner/default.aspx</a>
        </p>
        <p>
Deutsch:
</p>
        <p>
          <strong>MSDN Webcasts</strong> sind Onlinevorträge, die Live und anschließend als
Aufzeichnung angeboten werden.
</p>
        <p>
Aktuell befinden sich über 800 Webcasts im MSDN Archiv, genug Material, um einen Monat
ohne Pause 24h am Tag Video zu schauen ;-). Webcasts gibt es in verschiedenen Schwierigkeitsstufen
und zu beinahe jedem Thema. Beim finden des passenden Webcasts hilft der Webcast Finder, <a title="http://www.microsoft.com/germany/msdn/webcasts/finder/default.mspx" href="http://www.microsoft.com/germany/msdn/webcasts/finder/default.mspx">http://www.microsoft.com/germany/msdn/webcasts/finder/default.mspx</a></p>
        <p>
(da findet man sogar noch meinen Webcast von 2006 zum Imagine Cup…)
</p>
        <p>
Während Webcasts jeweils ein Thema ausführlich behandeln, geht es bei <strong>MSDN
Solve Code Clips</strong> darum, zu konkreten Fragen gezielt antworten zu liefern. <a title="http://www.microsoft.com/germany/msdn/solve/default.mspx" href="http://www.microsoft.com/germany/msdn/solve/default.mspx">http://www.microsoft.com/germany/msdn/solve/default.mspx</a></p>
        <p>
Bei Fragen und Problemen helfen zahlreiche Online- und Offlinecommunities. Neben den
offiziellen MSDN Foren (<a title="http://social.msdn.microsoft.com/Forums/de-de/categories/" href="http://social.msdn.microsoft.com/Forums/de-de/categories/">http://social.msdn.microsoft.com/Forums/de-de/categories/</a>)
gibt es zahlreiche Communityforen, Blogs und User Groups. Eine Übersicht gibt es im <strong>Microsoft
Community Guide</strong>: <a title="http://www.microsoft.com/germany/community/developer/default.mspx" href="http://www.microsoft.com/germany/community/developer/default.mspx">http://www.microsoft.com/germany/community/developer/default.mspx</a></p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:534a72b9-2a29-45f1-9e16-db31496df790" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/Einstieg" rel="tag">Einstieg</a>,<a href="http://technorati.com/tags/Tutorials" rel="tag">Tutorials</a>,<a href="http://technorati.com/tags/Webcasts" rel="tag">Webcasts</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=cf06424f-0724-4e5c-9b74-b4c276ea194d" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Lokalisierung von WPF Anwendungen: Die Lokalisierungs-API</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/12/27/Lokalisierung+Von+WPF+Anwendungen+Die+LokalisierungsAPI.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,1269da3a-4fee-45fc-a36a-7483bde29dbf.aspx</id>
    <published>2009-12-27T17:00:00.3338203+01:00</published>
    <updated>2009-12-27T17:01:45.0135078+01:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Lokalisierung" label="Lokalisierung" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Lokalisierung.aspx" />
    <category term="WPF" label="WPF" scheme="http://www.outofcoffeeexception.de/CategoryView,category,WPF.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Dies ist der zweite Teil einer Artikelserie zu Lokalisierung von WPF Anwendungen.
Nach einem <a href="http://www.outofcoffeeexception.de/2009/11/03/Lokalisierung+Von+WPF+Anwendungen+Einf%c3%bchrung.aspx">allgemeinen
Überblick über die Lokalisierung in Teil 1</a> erkläre ich in diesem Artikel, wie
man WPF Anwendungen mit der WPF Lokalisierungsapi lokalisieren kann.
</p>
        <h2>Satellitenassemblies
</h2>
        <p>
Soll eine Anwendung in mehrere Sprachen übersetzt werden, erzeugt man für jede Sprache
eine Satellitenassembly, die alle zu übersetzenden Resourcen (Texte, Bilder usw.)
in der jeweiligen Zielsprache enthält.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_2.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_thumb.png" width="640" height="273" />
          </a>
        </p>
        <p>
In WPF wird anders als in Windows Forms oder ASP.NET nicht mehr .resx als Resourcenformat
für die Lokalisierung verwendet. Stattdessen werden komplette Formulare bzw. Steuerelemente
in übersetzter Form in den Satellitenassemblies der jeweiligen Sprachen gespeichert.
</p>
        <h2>Lokalisierung über .baml Dateien
</h2>
        <p>
WPF Formulare und Steuerelemente werden über .xaml Dateien beschrieben. Diese werden
beim Übersetzen der Anwendung in ein binäres Format (.baml) übersetzt. Die .baml Dateien
werden als Resourcen in den Assemblies der Anwendung gespeichert. So wird z.B. aus
einer MainWindow.xaml eine MainWindow.baml, die dann z.B. in der Assembly Anwendung.exe
als Resource gespeichert wird.
</p>
        <p>
Wenn nun ein Formular bzw. Steuerelement in einer weiteren Sprache angeboten werden
soll, muss die dazugehörige .baml Datei übersetzt als Resource in einer Satellitenassembly
der Zielsprache vorliegen.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_4.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_thumb_1.png" width="640" height="273" />
          </a>
        </p>
        <p>
        </p>
        <p>
Um eine WPF Anwendung zu übersetzen müssen wir also die .baml Dateien der Anwendung
übersetzen und in Satellitenassemblies speichern. 
</p>
        <p>
Außerdem benötigen alle Elemente in unseren .xaml Dateien, die übersetzt werden sollen,
eine (pro Datei) eindeutige Bezeichnung in Form eines x:Uid-Attributs (mehr dazu in
einem späteren Artikel).
</p>
        <p>
Leider gibt es dafür keine Unterstützung in Visual Studio oder Blend. Auch in Visual
Studio 2010 wird sich daran nichts ändern.
</p>
        <h2>Die WPF Lokalisierungs-API
</h2>
        <p>
Stattdessen gibt es eine API, über die lokalisierte BAML Dateien erzeugt werden können.
Diese API besteht im Kern aus einer Klasse, der Klasse BamlLocalizer.
</p>
        <h3>BamlLocalizer
</h3>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_6.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_thumb_2.png" width="593" height="265" />
          </a>
        </p>
        <p>
Die Klasse BamlLocalizer kann aus einer .baml Datei Resourcen extrahieren (ExtractResources-Methode)
und später mit übersetzten Resourcen eine lokalisierte .baml Datei erzeugen (UpdateBaml-Methode).
</p>
        <p>
Zunächst benötigen wir Zugriff auf die .baml Datei. Wir haben ja bisher nur die .xaml
Dateien, für die BamlLocalizer-Klasse benötigen wir aber die binäre Form der .xaml
Dateien im BAML Format.
</p>
        <p>
Für den Zugriff auf die .baml Dateien bieten sich mindestens zwei Wege an: wir könnten
die .baml Dateien aus dem fertig übersetzten Assemblies laden, oder die Dateien verwenden,
die als “Zwischenprodukt” bei der Übersetzung unserer Anwendung anfallen. 
</p>
        <p>
Die erste Variante wird von Microsoft empfohlen und in Beispielen für die Lokalisierungs-API
verwendet. Persönlich finde ich diesen Weg jedoch umständlicher, in meinen eigenen
Lokalisierungstools verwende ich deshalb die .baml Dateien, die sowieso als “Abfallprodukt”
bei der Übersetzung unseres Projekts erzeugt werden (diese Dateien befinden sich normalerweise
“irgendwo” im Unterverzeichnis “obj” des WPF-Projekts).
</p>
        <p>
Um eine .baml Datei übersetzen zu können, benötigen wir Zugriff auf die in der .baml
Datei enthaltenen Resourcen (also Texte und sonstige Eigenschaften von Objekten, die
wir übersetzen bzw. anpassen möchten). Diese Resourcen erhalten wir, indem wir die
.baml Datei als Stream an den BamlLocalizer übergeben und die ExtractResources-Methode
aufrufen. 
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_10.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_thumb_4.png" width="640" height="75" />
          </a>
        </p>
        <h3>BAML Resourcen – Das BamlLocalizationDictionary
</h3>
        <p>
Von der ExtractResources-Methode erhalten wir ein BamlLocalizationDictionary-Objekt,
das alle Resourcen der .baml Datei enthält.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_8.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_thumb_3.png" width="505" height="480" />
          </a>
        </p>
        <p>
Jede Resource besteht aus einem Schlüssel und dazugehörigen Werten. 
</p>
        <p>
Der Schlüssel ist vom Typ BamlLocalizableResourceKey. Er besteht aus dem Namen der
Eigenschaft, die in dem Eintrag gespeichert ist (PropertyName, z.B. “Text”), der Klasse,
zu der diese Eigenschaft gehört (ClassName, z.B. “TextBlock”), dem Namen der Assembly,
in der diese Klasse gespeichert ist (AssemblyName) und einer eindeutigen Bezeichnung
(Uid). Die Eigenschaften des Schlüssels sind nicht veränderbar.
</p>
        <p>
Zu jedem Schlüssel sind verschiedene Werte in Form eines BamlLocalizableResource-Objekts
gespeichert. Die Wichtigste Eigenschaft dieses Objekts ist die Eigenschaft Content,
über die der Wert der Eigenschaft gespeichert wird (z.B. “Hello World” als Wert für
die Text-Eigenschaft des TextBlock-Objekts). Das ist der Wert, den wir übersetzen
möchten. In den weiteren Eigenschaften können wir Informationen für den Übersetzer
hinterlegen, der unsere Resourcen für uns übersetzen soll. In der Eigenschaft Comments
können wir z.B. Kommentare und Hinweise für den Übersetzer speichern. Modifiable legt
fest, ob der Übersetzer überhaupt diese Eigenschaft übersetzen darf. Mit Readable
können wir festlegen, ob eine Eigenschaft für den Übersetzer sichtbar ist oder nicht.
Über <a href="http://msdn.microsoft.com/en-us/library/system.windows.localizationcategory.aspx">LocalizationCategory</a> werden
Resourcen in verschiedene Kategorien einteilen, z.B. “Text”, “Label”, “Button” usw..
</p>
        <p>
Um die Einträge im BamlLocalizationDictionary übersetzen zu können, müssen wir die
Inhalte des Dictionaries in irgendeiner Form speichern, z.B. in eine Datei oder in
eine Datenbank. Dafür gibt es keine Klassen in der WPF Lokalisierungs-API, wir müssen
also eigenen Code schreiben. Es gibt lediglich ein Beispiel dafür in der MSDN (locbaml),
zu dem ich später noch etwas schreiben werde.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_12.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_thumb_5.png" width="640" height="69" />
          </a>
        </p>
        <p>
Diese Datei können wir nun selbst übersetzen oder an einen Übersetzer weitergeben,
der die Datei für uns übersetzt. Problematisch ist dabei allerdings, dass so sehr
leicht ungültige Dateien erstellt werden können (z.B. wenn bei einer Eigenschaft wie
“Width” ein Text statt einer Zahl eingegeben wird, ein Teil des Schlüssels geändert
wird, oder einfach nur ein Komma falsch gesetzt wrid). 
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_14.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_thumb_6.png" width="640" height="100" />
          </a>
        </p>
        <p>
Aus der übersetzten Datei müssen wir nun wieder ein BamlLocalizationDictionary erzeugen.
Dafür ist wieder eigener Code erforderlich.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_16.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_thumb_7.png" width="640" height="69" />
          </a>
        </p>
        <p>
Wir haben nun ein BamlLocalizationDictionary mit den übersetzten Resourcen. Dieses
können wir an die UpdateBaml-Methode der BamlLocalizer-Klasse übergeben, um eine lokalisierte
.baml Datei zu erzeugen.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_18.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenDieLokalis_CCF1/image_thumb_8.png" width="640" height="76" />
          </a>
        </p>
        <h3>Lokalisierte Satellitenassemblies erzeugen
</h3>
        <p>
Als Ergebnis erhalten wir eine lokalisierte .baml Datei. Diese müssen wir nun noch
in einer Satellitenassembly speichern. Dafür gibt es wieder mindestens zwei Alternativen.
</p>
        <p>
Microsofts locbaml-Beispiel erzeugt die Satellitenassembly selbst komplett neu. Das
Beispiel berücksichtigt allerdings keine Resourcen aus anderen Quellen (z.B. .resx),
so dass eine so erzeugte Satellitenassembly die Satellitenassembly mit den .resx-Resourcen
einfach überschreibt. Außerdem kann locbaml keine signierten Satellitenassemblies
erzeugen.
</p>
        <p>
In meinen eigenen Lokalisierungstools nutze ich stattdessen die MSBuild-Skripte aus,
die Visual Studio zur Kompilierung von WPF-Projekten verwendet. Die lokaliiserten
.baml Dateien werden so von MSBuild genauso behandelt wie evtl. vorahndene andere
Resourcen im Projekt (.resx usw.), und von den WPF-MSBuild-Skripten selbst in die
Satellitenassemblies geschrieben. Dadurch gibt es keine Probleme mit anderen Resourcen,
und die Satellitenassemblies werden “ganz normal” signiert, falls das so in den Projekteigenschaften
konfiguriert wurde. Eventuell schreibe ich später dazu einen eigenen Artikel, da ich
diesen Ansatz bisher nirgendwo sonst gesehen habe.
</p>
        <h2>Fazit
</h2>
        <p>
Lokalisierung über die WPF Lokalisierungs-API ist umständlich. Fertige Tools gibt
es nicht, es gibt lediglich ein Beispielprogramm für die API (dazu später mehr in
einem eigenen Artikel).
</p>
        <p>
Vorteil dieses Ansatzes ist, dass am Xaml-Code selbst keine Änderungen erforderlich
sind, mal abgesehen von zusätzlichen x:Uid Attributen. Somit gibt es keine Probleme
bei der Darstellung mit anderen Tools (Blend oder Visual Studio).
</p>
        <p>
In den nächsten Teilen dieser Serie werde ich eventuell noch Alternativen zur WPF
Lokalisierungs-API vorstellen. Außerdem möchte ich die Verwendung des locbaml-Beispiels
erklären und zeigen, wie sich das locbaml-Beispiel anpassen und erweitern lässt.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:00bdaa42-39fb-471c-a35f-985653e2de52" class="wlWriterSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/WPF" rel="tag">WPF</a>,<a href="http://technorati.com/tags/Lokalisierung" rel="tag">Lokalisierung</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=1269da3a-4fee-45fc-a36a-7483bde29dbf" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Lokalisierung von WPF Anwendungen: Einführung</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/11/03/Lokalisierung+Von+WPF+Anwendungen+Einf%c3%bchrung.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,f2ed7a20-73f0-41c3-8418-30d0f789d060.aspx</id>
    <published>2009-11-03T15:31:03.5845938+01:00</published>
    <updated>2009-11-03T15:31:03.5845938+01:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Lokalisierung" label="Lokalisierung" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Lokalisierung.aspx" />
    <category term="WPF" label="WPF" scheme="http://www.outofcoffeeexception.de/CategoryView,category,WPF.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Anwendungen sollen oft in verschiedenen Märkten angeboten werden. Dazu müssen sie
verschiedene Sprachen unterstützen, d.h. sie müssen lokalisierbar sein. Resourcen
wie Texte usw. müssen also sprachabhängig austauschbar sein. 
</p>
        <h3>Rückblick: Lokalisierung in Windows Forms
</h3>
        <p>
Betrachten wir zunächst die Lokalisierung von Windows Forms Anwendungen: Windows Forms
Formulare sind direkt über den Designer lokalisierbar. Dafür gibt es die Eigenschaften
Localizable und Language.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenEinfhrung_DA4D/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenEinfhrung_DA4D/image_thumb.png" width="240" height="141" />
          </a>
        </p>
        <p>
Stellt man Localizable auf true, kann man über Language die Sprache des Formulars
wechseln und das Formular direkt im Designer in der gewählten Sprache bearbeiten.
</p>
        <p>
Zu jeder Sprache, die man auf diese Weise erstellt, erzeugt Visual Studio eine Ressourcendatei,
in der die Texte und sonstige Formular-Eigenschaften der Sprache gespeichert werden.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenEinfhrung_DA4D/image_4.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenEinfhrung_DA4D/image_thumb_1.png" width="201" height="175" />
          </a>
        </p>
        <p>
Ressourcendateien sind außerdem direkt in Visual Studio bearbeitbar.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenEinfhrung_DA4D/image_8.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenEinfhrung_DA4D/image_thumb_3.png" width="240" height="132" />
          </a>
        </p>
        <p>
Für jede Sprache erzeugt Visual Studio eine sogenannte Satellitenassembly mit den
Ressourcen der jeweiligen Sprache. Zur Anwendung Beispiel.exe gibt es also dann z.B.
Unterordner de-DE\Beispiel.resources.dll und en-US\Beispiel.resources.dll. Abhängig
von der aktuell im Thread eingestellten Sprache lädt die Anwendung automatisch die
Ressourcen aus der passenden Satellitenassembly.
</p>
        <h3>Lokalisierung in WPF
</h3>
        <p>
Man sollte meinen, in WPF als Nachfolgetechnologie zu Windows Forms müsste die Lokalisierung
mindestens genauso gut funktionieren, idealerweise sollte alles noch einfacher gehen.
</p>
        <p>
Das ist jedoch nicht so. Eigenschaften wie Localizable und Language fehlen im Designer.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenEinfhrung_DA4D/image_10.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/LokalisierungvonWPFAnwendungenEinfhrung_DA4D/image_thumb_4.png" width="240" height="194" />
          </a>
        </p>
        <p>
Tatsächlich gibt es überhaupt keine eingebauten Lokalisierungswerkzeuge in Visual
Studio oder Blend. Stattdessen gibt es eine API, mit der man solche Tools zunächst
selbst schreiben soll. Zu dieser API gibt es außerdem ein Beispiel-Tool, locbaml,
das aber wirklich nur ein Beispiel ist und deshalb in der Praxis nicht brauchbar ist.
</p>
        <p>
In den nächsten Wochen werde ich über einige Ansätze zur WPF Lokalisierung schreiben.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:00bdaa42-39fb-471c-a35f-985653e2de52" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/WPF" rel="tag">WPF</a>,<a href="http://technorati.com/tags/Lokalisierung" rel="tag">Lokalisierung</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=f2ed7a20-73f0-41c3-8418-30d0f789d060" />
      </div>
    </content>
  </entry>
  <entry>
    <title>TechEd Europe: .NET Developer Certifications 101</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/10/20/TechEd+Europe+NET+Developer+Certifications+101.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,28a1f2d5-386d-4ebe-a384-863abd776d28.aspx</id>
    <published>2009-10-20T14:37:48.2991094+02:00</published>
    <updated>2009-10-20T18:53:38.9016484+02:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="TechEd Europe 2009" label="TechEd Europe 2009" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TechEdEurope2009.aspx" />
    <category term="Trainings, Konferenzen, Events" label="Trainings, Konferenzen, Events" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TrainingsKonferenzenEvents.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Auf der TechEd Europe werde ich dieses Jahr als Technical Learning Guide Teilnehmer
bei den Hands-on Labs unterstützen. Außerdem präsentiere ich eine Session zum Thema
Zertifizierung: “.NET Developer Certifications 101”. Es geht um Prüfungsvorbereitung
für .NET Zertifizierungen <s>und um die Inhalte der 70-536 Prüfung, die für alle .NET
Zertifizierungen erforderlich ist. Ich werde also die Inhalte aus 6 Tagen 70-536 MOC
Kurs in eine 75 Minuten Session komprimieren müssen – das wird eine Herausforderung
;-).</s></p>
        <p>
Nachtrag: Ich habe erfahren, dass es zur 70-536 eine eigene Session geben wird. Deshalb
werde ich eher zu anderen Prüfungen Beispiele zeigen
</p>
        <p>
Hier ist der (vorläufige) Abstract dazu:
</p>
        <p>
This session is intended for Developers planning to take any .Net 3.5 development
exams. In this session we will discuss certification paths for developers and how
to prepare for .Net development exams. After this session, you will be familiar with
the available certification paths for .Net developers and examples of key exam topics
you need to know in order to pass the exams.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8827a8f7-0564-40e0-b20e-f92b903ee174" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/TechEd+Europe+2009" rel="tag">TechEd Europe
2009</a>,<a href="http://technorati.com/tags/MCTS" rel="tag">MCTS</a>,<a href="http://technorati.com/tags/MCPD" rel="tag">MCPD</a>,<a href="http://technorati.com/tags/MCP" rel="tag">MCP</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=28a1f2d5-386d-4ebe-a384-863abd776d28" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Lebenszeichen</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/09/06/Lebenszeichen.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,9da2eb65-3430-4427-80e5-cf5b5ff68b20.aspx</id>
    <published>2009-09-06T16:49:59.744973+02:00</published>
    <updated>2009-09-06T16:49:59.744973+02:00</updated>
    <category term="Privates" label="Privates" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Privates.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Jetzt habe ich schon seit Juni nicht mehr gebloggt – ich hatte einfach keine Zeit.
Mein Studium nähert sich dem Ende (es fehlt nur noch die Diplomarbeit), und nebenbei
muss ich auch noch arbeiten. Nach einigen Monaten mit sehr wenigen Anfragen ist die
Krise nun wieder vorbei, und ich habe wieder deutlich mehr Schulungsanfragen als Zeit.
</p>
        <p>
Deshalb war ich auch die letzten Wochen viel Unterwegs. Erst ein .NET 2.0 Foundation
Kurs in Essen, danach zwei Wochen Lernbegleitung für eine von der Arbeitsagentur geförderte
Weiterbildung in Heidelberg, danach wieder .NET 2.0 Foundation in Essen. Damit sollte
ich nun (hoffentlich) bis zum Ende meiner Diplomarbeit auskommen.
</p>
        <p>
Nebenbei bin ich noch immer mit der Gründung unseres Toastmasters-Clubs beschäftigt.
Da haben wir mittlerweile genügend Mitglieder, um den Club offiziell bei Toastmasters
anzumelden, es fehlt nur noch die Clubkreditkarte, um die Gebühren dafür bei Toastmasters
zu bezahlen.
</p>
        <p>
Außerdem arbeite ich an einer neuen Version der .NET User Group Web Seite. Die neue
Seite möchte ich als Beispielanwendung für Schulungen, mein Blog und für Vorträge
nutzen. Die neue Web Seite verwendet die Preview Version von ASP.NET MVC 2 und das
Entity Framework mit dem EFPocoAdapter. Dazu werde ich später mehr bloggen.
</p>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=9da2eb65-3430-4427-80e5-cf5b5ff68b20" />
      </div>
    </content>
  </entry>
  <entry>
    <title>1. Treffen der Toastmasters in Paderborn ein voller Erfolg</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/06/19/1+Treffen+Der+Toastmasters+In+Paderborn+Ein+Voller+Erfolg.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,377ace12-e748-4173-aaaa-7885902d4916.aspx</id>
    <published>2009-06-19T14:51:36.8707605+02:00</published>
    <updated>2009-06-19T14:52:17.9501625+02:00</updated>
    <category term="Paderborn" label="Paderborn" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Paderborn.aspx" />
    <category term="Toastmasters" label="Toastmasters" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Toastmasters.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Das erste Treffen der <a href="http://www.toastmasters-paderborn.de/">Paderborner
Toastmasters</a>  gestern in der Volkshochschule haben 35 Gäste + 5 Toastmasters
aus <a href="http://www.hannover-speakers.de/">Hannover</a> besucht.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/1.TreffenderToastmastersinPaderborneinvo_D10A/P1060734.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="P1060734" border="0" alt="P1060734" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/1.TreffenderToastmastersinPaderborneinvo_D10A/P1060734_thumb.jpg" width="460" height="350" />
          </a>
        </p>
        <p>
Es gab zwei sehr interessante Vorträge. Besonders der Vortrag von Leif hat mir sehr <s>sehr</s> gut
gefallen, von allen Toastmasters-Vorträgen die ich bisher gehört habe hat mir seine
Geschichte am besten gefallen.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/1.TreffenderToastmastersinPaderborneinvo_D10A/P1060739.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="P1060739" border="0" alt="P1060739" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/1.TreffenderToastmastersinPaderborneinvo_D10A/P1060739_thumb.jpg" width="460" height="350" />
          </a>
        </p>
        <p>
Die meisten Teilnehmer möchten auch am nächsten Treffen wieder teilnehmen, das Feedback
war sehr positiv. 20 Teilnehmer haben Feedbackbögen abgegeben, von denen hat nur einem
das Treffen nicht gefallen, alle anderen haben es mit ++ oder + bewertet (NSAT von
160, für diejenigen denen das etwas sagt ;-) ).
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/1.TreffenderToastmastersinPaderborneinvo_D10A/P1060727.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="P1060727" border="0" alt="P1060727" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/1.TreffenderToastmastersinPaderborneinvo_D10A/P1060727_thumb.jpg" width="380" height="500" />
          </a>
        </p>
        <p>
Hier ein Auszug aus den Kommentaren:
</p>
        <p>
“sehr unterhaltsam”, interessante Themen, humorvoll vorgetragen”, “nette Atmospähre”,
“gutes Feedback, geordnete Kritik”, “meine Erwartungen wurden absolut erfüllt, sogar
übertroffen”, “Sprachstilbewertung: sehr präzise mit tollen Beispielen”, “großes Interesse
im Publikum”
</p>
        <p>
Wie geht’s weiter?
</p>
        <p>
Aufgrund des großen Interesses möchten wir uns wöchentlich treffen, das nächste Mal
wieder am Donnerstag um 19 Uhr. Wir wissen bisher noch nicht, ob wir den Raum in der
VHS erneut nutzen dürfen, das werden wir in den nächsten Tagen klären.
</p>
        <p>
Alle, die an der Organisation und Gestaltung der nächsten Treffen aktiv mitarbeiten
möchten Treffen sich am Mittwoch, 24.06. um 20 Uhr im Feuerstein, dort haben wir einen
Tisch reserviert.
</p>
        <p>
Ich bin sehr auf die nächste Ausgabe der Neuen Westfälischen gespannt, ein Reporter
der NW war das ganze Treffen anwesend und hat fleissig mitgeschrieben und fotografiert.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:92dd3768-c403-4797-b1dc-6b820803b385" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Toastmaters" rel="tag">Toastmaters</a>,<a href="http://technorati.com/tags/Rhetorik" rel="tag">Rhetorik</a>,<a href="http://technorati.com/tags/Paderborn" rel="tag">Paderborn</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=377ace12-e748-4173-aaaa-7885902d4916" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Agenda für das Toastmasters Treffen in Paderborn am 18.06.09</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/06/17/Agenda+F%c3%bcr+Das+Toastmasters+Treffen+In+Paderborn+Am+180609.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,76d36e29-13e6-420b-925b-ae44fe1428c3.aspx</id>
    <published>2009-06-17T22:42:40.294197+02:00</published>
    <updated>2009-06-17T22:42:40.294197+02:00</updated>
    <category term="Paderborn" label="Paderborn" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Paderborn.aspx" />
    <category term="Toastmasters" label="Toastmasters" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Toastmasters.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Inzwischen steht die Agenda, nach einigen kleineren Änderungen haben wir nur noch
zwei Reden (damit es nicht zuviel wird). Jetzt sind außerdem alle Aufgaben endgültig
vergeben.
</p>
        <p>
          <a href="http://www.toastmasters-paderborn.de/toastmasters%20paderborn%20agenda%20%2018.06.09.pdf">Toastmasters
Paderborn 18.06.09 – Agenda</a>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:53b1aab8-f299-4d06-99a1-b7f0380e7dfc" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Toastmaters" rel="tag">Toastmaters</a>,<a href="http://technorati.com/tags/Rhetorik" rel="tag">Rhetorik</a>,<a href="http://technorati.com/tags/Paderborn" rel="tag">Paderborn</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=76d36e29-13e6-420b-925b-ae44fe1428c3" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Voraussichtlich über 40 Teilnehmer beim 1. Toastmasters Treffen in Paderborn</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/06/17/Voraussichtlich+%c3%9cber+40+Teilnehmer+Beim+1+Toastmasters+Treffen+In+Paderborn.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,a6c59920-5ee0-497d-8e53-a7732548f950.aspx</id>
    <published>2009-06-17T18:34:52.8951855+02:00</published>
    <updated>2009-06-17T18:34:52.8951855+02:00</updated>
    <category term="Paderborn" label="Paderborn" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Paderborn.aspx" />
    <category term="Toastmasters" label="Toastmasters" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Toastmasters.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Für unser erstes <a href="http://www.toastmasters-paderborn.de/">Toastmasters-Treffen
in Paderborn</a> haben wir inzwischen ca. 40 Anmeldungen. Dazu kommen noch die 5 Toastmaster
von den <a href="http://www.hannover-speakers.de/">Hannover Speakers</a>, die nach
Paderborn kommen, um uns die <a href="http://www.toastmasters.org/">Toastmasters</a>-Idee
vorzustellen.
</p>
        <p>
Die zusätzlichen Anmeldungen haben wir vor allem durch Zeitungsartikel bekommen, die
gestern in Paderborner Lokalzeitungen erschienen sind.
</p>
        <p>
Ich bin sehr gespannt, wie viele Teilnehmer denn nun wirklich kommen und wie viele
davon dann tatsächlich ernsthaft bei Toastmasters mitmachen möchten.
</p>
        <p>
Zunächst müssen wir morgen nach dem Demotreffen Interessenten für den Vorstand finden.
Um den Club bei Toastmasters anmelden zu können benötigen wir mindestens 3 Vorstandsmitglieder,
Idealerweise sollten wir aber alle Ämter (President, VP Education, VP Public Relations,
VP Membership, Secretary, Treasurer und Sergeant at Arms) besetzen. Je mehr Vostandsmitglieder,
desto weniger Freizeit müssen die einzelnen Mitglieder für die Vorstandsarbeit opfern.
</p>
        <p>
Wir müssen dann klären, was die Clubgründung genau kostet, und wie unsere Mitgliesgebühren
aussehen müssen, um die Gründungskosten zu decken. Grob wären das:
</p>
        <p>
$125 Charter Fee für die Registrierung des Clubs bei Toastmasters<br />
$20 / Mitglied für die Handbücher<br />
$27 / Mitglied Halbjahresbeitrag<br /></p>
        <p>
Bei 20 Mitgliedern wären das also $26,25 einmalig (Charter Fee-Anteil + Handbücher)
und dann alle 6 Monate $27. Nach Euro umgerechnet und gerundet liegen wir dann bei
40€ für das Gründungshalbjahr, 20€ für jedes weitere Halbjahr. Möchten wir für unsere
Clubkasse in Paderborn weitere Gebühren erheben, um für den Club z.B. zusätzliche
Handbücher und sonstige Ausrüstung anzuschaffen, müssten wir entsprechend noch etwas
dazu rechnen. Ich persönlich finde, dass das ein günstiger Preis ist für das, was
man bekommt. Hoffentlich sehen das die übrigen Interessenten morgen genauso.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:bad1e686-e5b8-4d9d-8ba5-881b9bb45a8e" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Toastmaters" rel="tag">Toastmaters</a>,<a href="http://technorati.com/tags/Rhetorik" rel="tag">Rhetorik</a>,<a href="http://technorati.com/tags/Paderborn" rel="tag">Paderborn</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=a6c59920-5ee0-497d-8e53-a7732548f950" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Meine 3 Lieblings-Entwicklertools</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/06/14/Meine+3+LieblingsEntwicklertools.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,61f0c7b5-eaa6-4482-aa64-8e992d78ca1f.aspx</id>
    <published>2009-06-14T14:53:00.313662+02:00</published>
    <updated>2009-06-14T14:53:00.313662+02:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Meinung" label="Meinung" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Meinung.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Fast hätte ich vergessen, meinen Beitrag zur <a href="http://blogs.msdn.com/softwarehersteller/archive/2009/05/06/msdn-blog-parade-was-sind-ihre-lieblings-entwickler-tools-mitmachen-und-gewinnen.aspx">MSDN
Blog-Parade</a> zu verfassen. Zum Glück hatte ich mir die Deadline in meinen Outlook-Kalender
eingetragen :-).
</p>
        <p>
Was sind meine 3 Lieblings-Entwicklertools?
</p>
        <p>
1. Ganz klar natürlich Visual Studio. Für die .NET-Entwicklung habe ich noch nichts
besseres gesehen, und auch ganz allgemein eine sehr schöne IDE. So wie es Out-of-the-box
kommt fehlen leider einige wichtige Refactorings und Code-analysen, aber dafür gibt
es ja Tool Nr zwei.
</p>
        <p>
2. Und das ist <a href="http://www.jetbrains.com/resharper/">ReSharper</a>. ReSharper
erweitert Visual Studio um viele nützliche Refactorings, Code-Analyse, Code-Generierung,
Navigationshilfen usw., so dass man deutlich produktiver mit Visual Studio arbeiten
kann. Als User Group Leiter habe ich von Jetbrains eine kostenlose Lizenz für ReSharper
bekommen.
</p>
        <p>
3. Einen eindeutigen 3. Platz zu vergeben fällt schon schwerer. Deshalb vergebe ich
den 3. Platz einfach mal mehrfach und nenne hier verschiedene Tools, die mir spontan
einfallen:
</p>
        <ul style="list-style-type: square">
          <li>
Subversion mit VisualSVN. <a href="http://www.visualsvn.com/">http://www.visualsvn.com/</a>VisualSVN
ist ein sehr gutes svn-Plugin für Visual Studio. 
</li>
          <li>
            <a href="http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET">Cruisecontrol.NET</a> als
Continuous Integration Server. 
</li>
          <li>
            <a href="http://www.codeplex.com/xunit">Xunit</a> für Unit Tests, am besten zusammen
mit den <a href="http://code.google.com/p/xunitbddextensions/">Xunit BDD Extensions</a> und <a href="http://ayende.com/projects/rhino-mocks.aspx">RhinoMocks</a>. 
</li>
          <li>
            <a href="http://www.versionone.com/">VersionOne</a> zur Verwaltung von Aufgaben und
Anforderungen in Agilen Projekten. Gibt’s auch in einer Gratis-Version. 
</li>
          <li>
          </li>
          <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0390cdd2-3488-4257-923f-728181716429" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Entwicklertools" rel="tag">Entwicklertools</a>,<a href="http://technorati.com/tags/Visual+Studio" rel="tag">Visual
Studio</a>,<a href="http://technorati.com/tags/.NET" rel="tag">.NET</a></div>
        </ul>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=61f0c7b5-eaa6-4482-aa64-8e992d78ca1f" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Paderborn Toastmasters invite you to their Founding Meeting</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/06/09/Paderborn+Toastmasters+Invite+You+To+Their+Founding+Meeting.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,5d5be55c-0287-4062-8e27-6e40afbbaab9.aspx</id>
    <published>2009-06-09T12:59:08.576869+02:00</published>
    <updated>2009-06-09T13:04:59.2468075+02:00</updated>
    <category term="Paderborn" label="Paderborn" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Paderborn.aspx" />
    <category term="Toastmasters" label="Toastmasters" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Toastmasters.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
(<a href="http://www.outofcoffeeexception.de/2009/05/28/Paderborner+Toastmasters+Laden+Zum+Gr%c3%bcndungstreffen+Ein.aspx">Deutsche
Version dieses Textes</a>) 
</p>
        <p>
Whether it is at work, while studying, or at an event, we all have to speak in public
at some point. For a speech to be effective, a thorough preparation is only part of
the story. You learn to swim in water and you learn to ride a bike while on a bike.
A better-than-average and interesting public speaking style can only be learned by
actually speaking. But just as you don't learn to swim in the deep end, you don't
want to practice speaking in public at a real event (even though the consequences
of a bad speech are at worst embarrassment and not drowning!).
</p>
        <p>
There is a way to practice presenting and public speaking: Toastmasters. Toastmasters
Clubs are public speaking organizations in which members practice the art of public
speaking during regular weekly or biweekly meetings. A practical training program
teaches Toastmaster members a step-by-step approach to various presenting skills.
The first speech, called the Icebreaker, is designed to help you overcome the fear
of public speaking. Later speaking engagements allow you to practice specific skills
such as tone of voice, speech structure, and use of gestures.<br />
The other important goal of Toastmasters is the development of leadership skills.
This is the other Toastmaster development track for which tested learning methods
and manuals were developed. Members are expected to fulfill various leadership roles
during a Toastmaster meeting, and to take on club leadership roles. A very important
leadership skill is the giving of effective feedback. Every Toastmaster speech is
evaluated by other members on aspects such as content, unnecessary fillers like "uhm"
and "ah", and time management. 
</p>
        <p>
A Toastmaster meeting lasts about 90 minutes and is made up of two parts. After the
word of welcome by the Toastmaster of the Day, who moderates the first half, the meeting
continues with Table Topics: these are topis on a certain theme, "answered" in 1-2
minute impromptu speeches. This means practicing speaking spontaneously on any given
topic. After the Table Topics come the prepared speeches: 1-3 members give speeches
that aim to practice a specific aspect of public speaking in 5 to 10 minutes. After
a short break the second part of the evening concerns feedback. Each speech is evaluated
by a more experienced member, who pays specific attention to the skills the presenter
aimed to demonstrate. The "uhm-counter" and time counter also give their feedback.
Because of the many different feedback roles, all speakers get a whole array of tips
and suggestions for improvement for their next speech. And the others learn about
giving effective feedback. 
</p>
        <p>
The Toastmaster concept was born in the USA in 1924. Until now the only nearby Toastmaster
clubs for Paderborners were in Münster and Hannover. But this is going to change!
On <strong>June 18th 2009 at 19:00</strong> the first Paderborn Toastmaster meeting
will be held. Members from the Hannover Speakers (Toastmaster Club Hannover) will
be here in Paderborn to introduce and demonstrate the Toastmaster concept and a typical
meeting. Location is the Volkshochschule Paderborn, am Rathausplatz 7, in the Vortragsraum
on the second floor. Meetings are planned to be in German, and once a month or more
in English (depending on interest). All those interested are cordially invited to
participate. Participation is free of charge. If you would like to join, please send
an email to <a href="mailto:mathias@raacke.info">mathias@raacke.info</a> or register
at <a href="http://www.outofcoffeeexception.de/ct.ashx?id=54c4b2ba-9335-43a4-8c23-9b5df063d156&amp;url=http%3a%2f%2fwww.toastmasters-paderborn.de">http://www.toastmasters-paderborn.de</a>. 
</p>
        <p>
More information can be found at: 
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/ct.ashx?id=54c4b2ba-9335-43a4-8c23-9b5df063d156&amp;url=http%3a%2f%2fwww.toastmasters.org">http://www.toastmasters.org</a>
          <br />
          <a href="http://www.outofcoffeeexception.de/ct.ashx?id=54c4b2ba-9335-43a4-8c23-9b5df063d156&amp;url=http%3a%2f%2fwww.toastmasters-paderborn.de">http://www.toastmasters-paderborn.de</a>
          <br />
          <a href="http://www.outofcoffeeexception.de/ct.ashx?id=54c4b2ba-9335-43a4-8c23-9b5df063d156&amp;url=http%3a%2f%2fwww.hannover-speakers.de%2f">http://www.hannover-speakers.de/</a>
          <br />
          <a href="http://en.wikipedia.org/wiki/Toastmasters">http://en.wikipedia.org/wiki/Toastmasters</a>
        </p>
        <p>
Many thanks to Katrijn for translating the original <a href="http://www.outofcoffeeexception.de/2009/05/28/Paderborner+Toastmasters+Laden+Zum+Gr%c3%bcndungstreffen+Ein.aspx">German
version</a> of this article! 
</p>
        <p>
 
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0f579271-b425-4be0-82ca-1d7df98b0688" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Toastmaters" rel="tag">Toastmaters</a>,<a href="http://technorati.com/tags/Paderborn" rel="tag">Paderborn</a>,<a href="http://technorati.com/tags/Rhetorik" rel="tag">Rhetorik</a>,<a href="http://technorati.com/tags/Soft-skills" rel="tag">Soft-skills</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=5d5be55c-0287-4062-8e27-6e40afbbaab9" />
      </div>
    </content>
  </entry>
  <entry>
    <title>prio.conference 2009 zu User Interface Themen</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/06/08/prioconference+2009+Zu+User+Interface+Themen.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,90f217d2-ee4a-41de-bfd1-7a6d0d963765.aspx</id>
    <published>2009-06-08T15:07:13.224349+02:00</published>
    <updated>2009-06-08T15:07:13.224349+02:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Trainings, Konferenzen, Events" label="Trainings, Konferenzen, Events" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TrainingsKonferenzenEvents.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Bei der nächsten <a href="http://www.prioconference.de/">prio.conference</a> am 28.
und 29. Oktober geht es um das Thema “User Interfaces”. Neben technischen Vorträgen,
z.B. zu Silverlight, gibt es auch Vorträge zu Ergonomie oder UI-Tests.
</p>
        <p>
Mit dem Thema “Internationalisierung von WPF Anwendungen” werde ich selbst mit einem
Vortrag auf der prio vertreten sein. Zu diesem Thema schreibe ich zurzeit eine Diplomarbeit,
und werde auf der prio die Ergebnisse dieser Arbeit vorstellen.
</p>
        <p>
Hier der Abstract zu meinem Vortrag:
</p>
        <blockquote>
          <p>
Sie entwickeln Ihre Anwendungen nicht  nur für einen Markt, sondern müssen Ihre
Anwendung an verschiedene Sprachen und Kulturen anpassen können? Das war bei Windows
Forms und ASP.NET einigermaßen bequem möglich, also wird das doch im neuen WPF mindestens
genauso einfach sein? Die Realität sieht leider anders aus. 
</p>
          <p>
Windows Presentation Foundation Anwendungen lassen sich nicht mehr so einfach und
bequem im Designer in andere Sprachen übersetzen, wie es noch bei Windows Forms oder
ASP.NET Anwendungen möglich war. Visual Studio und Expression Blend bieten keine direkte
Unterstützung für die Lokalisierung. Stattdessen bietet Microsoft nur eine Lokalisierungs-API,
mit deren Hilfe eigene Lokalisierungswerkzeuge entwickelt werden müssen. Zu dieser
API gibt es sogar eine Beispielanwendung; für mehr als die Übersetzung einer „Hello
World“-Anwendung taugt diese jedoch nicht. Deshalb finden sich im Web auch unterschiedlichste
Alternativen, um WPF Anwendungen zu lokalisieren, z.B. die Verwendung „klassicher“
.resx-Ressourcendateien  oder spezieller XAML-Markup-Extensions. 
</p>
          <p>
In diesem Vortrag erfahren Sie, mit welchen Techniken Sie Ihre WPF Anwendungen an
verschiedene Sprachen und Kulturen anpassen können. Nach einem Überblick über die
WPF Lokalisierungs-API werden verschiedene alternative Lokalisierungsmöglichkeiten
vorgestellt.
</p>
        </blockquote>
        <p>
          <font color="#777777">
          </font> 
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:359ee3da-4655-4ea3-bfa5-20bed9448462" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/WPF" rel="tag">WPF</a>,<a href="http://technorati.com/tags/Internationalisierung" rel="tag">Internationalisierung</a>,<a href="http://technorati.com/tags/Lokalisierung" rel="tag">Lokalisierung</a>,<a href="http://technorati.com/tags/prio.conference" rel="tag">prio.conference</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=90f217d2-ee4a-41de-bfd1-7a6d0d963765" />
      </div>
    </content>
  </entry>
  <entry>
    <title>.NET Code Contracts Vortrag auf der Springboard Konferenz</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/06/08/NET+Code+Contracts+Vortrag+Auf+Der+Springboard+Konferenz.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,42292869-94d5-4ac4-ba88-9a0ecbc39f08.aspx</id>
    <published>2009-06-08T14:55:50.6518255+02:00</published>
    <updated>2009-06-08T14:55:50.6518255+02:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term=".NET 4.0" label=".NET 4.0" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET40.aspx" />
    <category term="Trainings, Konferenzen, Events" label="Trainings, Konferenzen, Events" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TrainingsKonferenzenEvents.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Am Freitag war ich mit einem Vortrag zu .NET Code Contracts auf der Springboard Konferenz
in Köln. Die Springboard war eine Konferenz für Studenten und somit eine schöne Gelegenheit,
mal wieder ein paar alte Kollegen aus dem Student Program zu treffen.
</p>
        <p>
Neben meinem Vortrag hatte ich an dem Tag noch einen weiteren wichtigen Termin, auf
den ich mich intensiv vorbereiten musste. Das führte dazu, dass ich die ganze Woche
meistens bis nach Mitternacht mit dem Vortrag oder dem anderen Termin beschäftigt
war. Jedenfalls war das lezte Beispiel mal wieder Just-in-time ca. 30 Minuten vor
meinem Vortrag fertig. Demnächst sollte ich darauf achten, wichtige Termine weiter
auseinander zu legen, dann habe ich vielleicht auch wieder mehr Freizeit ;-).
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/downloads/Springboard%20-%20Code%20Contracts%20-%20Mathias%20Raacke.pdf">Folien
zum Vortrag</a>
        </p>
        <p>
Den gleichen Vortrag halte ich noch einmal am 10.06. bei der <a href="http://www.dotnet-paderborn.de/">.NET
User Group Paderborn</a>.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4889f46b-a3db-4a4a-a73a-90352c955855" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Springboard.NET" rel="tag">Springboard.NET</a>,<a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/Code+Contracts" rel="tag">Code
Contracts</a>,<a href="http://technorati.com/tags/Design+by+Contract" rel="tag">Design
by Contract</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=42292869-94d5-4ac4-ba88-9a0ecbc39f08" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Paderborner Toastmasters laden zum Gründungstreffen ein</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/05/28/Paderborner+Toastmasters+Laden+Zum+Gr%c3%bcndungstreffen+Ein.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,54c4b2ba-9335-43a4-8c23-9b5df063d156.aspx</id>
    <published>2009-05-28T11:19:56.3349545+02:00</published>
    <updated>2009-05-28T11:38:44.0635565+02:00</updated>
    <category term="Toastmasters" label="Toastmasters" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Toastmasters.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ob bei der Arbeit, im Studium oder auf einer Feier, Vorträge halten muss fast jeder
von uns irgendwann. Damit ein Vortrag erfolgreich wird, ist eine gute Vorbereitung
jedoch nur die halbe Miete. Schwimmen lernen kann man nur im Wasser, Fahrradfahren
lernt man auf dem Fahrrad. Einen guten und interessanten Vortragsstil erlernt man
nur, indem man Vorträge hält. 
</p>
        <p>
Doch genauso wenig wie Sie im tiefen Wasser Schwimmen lernen sollten Sie ihre Vorträge
in einer echten Vortragssituation üben, auch wenn die Folgen eines schlechten Vortrags
schlimmstenfalls peinlich sind und Sie nicht gleich ertrinken werden. 
</p>
        <p>
Ein Weg, Vorträge und freie Rede ganz gefahrlos zu üben sind sogenannte Toastmasters
Clubs. Toastmasters Clubs sind Rhetorik-Vereine, in denen in regelmäßigen Treffen
die Kunst der freien Rede geübt wird. Ein praxisorientiertes Trainingsprogramm vermittelt
den Toastmasters-Mitgliedern schrittweise verschiedene Präsentationsfähigkeiten. Die
erste Rede, der „Eisbrecher“, dient dazu, die Angst vor der freien Rede zu überwinden.
Spätere Redeprojekte beschäftigen sich dann gezielt mit Fähigkeiten wie z.B. dem richtigen
Gebrauch der Stimme oder dem passenden Einsatz von Gestik. 
</p>
        <p>
Das zweite wichtige Lernziel neben den Präsentationsfähigkeiten ist der Ausbau der
eigenen Führungsfähigkeiten. Diese werden ebenfalls durch ein Trainingsprogramm gefördert,
bei dem die Mitglieder verschiedene Rollen während der Toastmasters Treffen übernehmen
oder sich im Vereinsvorstand engagieren können. Dazu gehört insbesondere die Fähigkeit,
anderen Mitgliedern Feedback zu geben. Jeder Toastmasters Vortrag wird durch andere
Toastmasters-Mitglieder bewertet. Dabei gibt es verschiedene Bewerter-Rollen, z.B.
den Füllwort-Zähler, der die Verwendung unnötiger Füllwörter wie „äh“ und „halt“ bewertet,
oder den Zeitnehmer, der darauf achtet, dass der Vortrag innerhalb einer vorgegebenen
Zeit abgeschlossen wird. 
</p>
        <p>
Ein Toastmasters Treffen dauert ca. 90 Minuten und besteht aus zwei Teilen. Nach einer
Begrüßung durch den Toastmaster des Abends, der als Moderator durch den ersten Teil
führt, stehen zunächst die Stehgreifreden auf dem Programm. Dabei vergibt der Table
Topics Master verschiedene, durch einen roten Faden verbundene Fragestellungen. Diese
werden von jeweils einem Mitglied mit einer kurzen Rede von 1-2 Minuten Länge beantwortet.
Toastmasters üben dadurch, spontan mit einer freien Rede zu verschiedensten Themen
vorzutragen. 
</p>
        <p>
Nach den Stehgreifreden beginnen die vorbereiteten Reden. Ein bis drei Personen tragen
dabei jeweils ein vorbereites Redeprojekt vor, z.B. die schon erwähnte Eisbrecher-Rede.
Pro Rede dauert das je nach Thema ca. 5 bis 10 Minuten. 
</p>
        <p>
Nach einer kurzen Pause folgt der zweite Teil des Abends, bei dem es um Feedback zu
den Reden des ersten Teils geht. Den zweiten Teil moderiert der Gesamtbewerter. Zu
jedem Redeprojekt aus dem ersten Teil des Abends gibt es einen eigenen Bewerter, der
je nach Projekt auf verschiedene Aspekte besonders geachtet hat und dem Redner nun
Feedback gibt und Verbesserungsvorschläge vorstellt. Anschließend folgen der Füllwort-Zähler,
der Zeitnehmer, und ein Sprachstilbewerter, der die in den Reden verwendete Ausdrucksweise
bewertet. Durch die vielen unterschiedlichen Bewerter-Rollen erhält jeder Teilnehmer
viele Anregungen und Verbesserungsvorschläge für seine nächste Rede. Außerdem lernt
man so auch gleich, anderen Rednern konstruktives Feedback zu geben. 
</p>
        <p>
Die Toastmasters-Idee stammt aus den USA, wo Toastmasters 1924 gegründet wurde. Wollte
man als Paderborner ein Toastmasters-Treffen besuchen, so musste man bisher entweder
nach Münster oder Hannover fahren. Das soll sich jedoch ändern: am 18.06.09 findet
zum ersten Mal ein Toastmasters-Treffen in Paderborn statt. Dann kommen Mitglieder
der Hannover Speakers – des Toastmasters-Clubs in Hannover – zu uns nach Paderborn,
um uns die Toastmasters-Idee vorzustellen und anhand eines Demoabends zu zeigen, wie
ein typisches Toastmasters-Treffen aussieht. 
</p>
        <p>
Die Paderborner Toastmasters treffen sich zum ersten Mal am 18.06.09 um 19 Uhr in
der Volkshochschule Paderborn, am Rathausplatz 7, im Vortragsraum in der 2. Etage.
Treffen sind zunächst auf Deutsch geplant, bei ausreichendem Interesse möchten wir
zusätzlich auch englische Treffen durchführen. Alle Interessenten sind herzlich zur
Teilnahme eingeladen. Die Teilnahme ist kostenlos, wenn möglich bitten wir jedoch
um eine Anmeldung unter <a href="http://www.toastmasters-paderborn.de">http://www.toastmasters-paderborn.de</a>. 
</p>
        <p>
Weitere Informationen zu Toastmasters gibt es unter: 
</p>
        <p align="left">
          <a href="http://www.toastmasters.org">http://www.toastmasters.org</a>
          <br />
          <a href="http://www.toastmasters-paderborn.de">http://www.toastmasters-paderborn.de</a>
          <br />
          <a href="http://www.hannover-speakers.de/">http://www.hannover-speakers.de/</a>
          <br />
          <a href="http://de.wikipedia.org/wiki/Toastmasters">http://de.wikipedia.org/wiki/Toastmasters</a>
        </p>
        <div align="left">
          <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c2564949-2d01-4965-b044-068f8fb4a709" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Toastmaters" rel="tag">Toastmaters</a>,<a href="http://technorati.com/tags/Rhetorik" rel="tag">Rhetorik</a>,<a href="http://technorati.com/tags/freie+Rede" rel="tag">freie
Rede</a>,<a href="http://technorati.com/tags/Pr%c3%a4sentationstechniken" rel="tag">Präsentationstechniken</a>,<a href="http://technorati.com/tags/Paderborn" rel="tag">Paderborn</a></div>
        </div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=54c4b2ba-9335-43a4-8c23-9b5df063d156" />
      </div>
    </content>
  </entry>
  <entry>
    <title>dotnet-mct.de</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/05/25/dotnetmctde.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,2dc4cf73-04a9-4302-9c2e-b6e34c4b80ef.aspx</id>
    <published>2009-05-25T13:43:58.5573245+02:00</published>
    <updated>2009-05-25T14:13:15.654824+02:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Meinung" label="Meinung" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Meinung.aspx" />
    <category term="Privates" label="Privates" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Privates.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Bisher habe ich meine Dienstleistungen ausschließlich über verschiedene Schulungsanbieter
angeboten (zumindest habe ich selbst nirgendwo aktiv für mich geworben). Das hat für
mich und auch für meine Kunden verschiedene Nachteile. 
</p>
        <p>
Ich darf z.B. in der Regel meine Schulungsteilnehmer nicht direkt anschreiben oder
den Teilnehmern irgendwelche Kontaktmöglichkeiten nennen. Das führt dazu, dass ich
vor der Schulung nur sehr umständlich die Inhalte mit den Teilnehmern absprechen kann
(die E-Mails laufen teilweise über 2 oder 3 weitere Personen). Außerdem haben die
Teilnehmer keine Möglichkeit, mir nach dem Vortrag noch Fragen zu stellen, oder auch
einfach nur mal kurz zu schreiben, ob die geplante Prüfung erfolgreich bestanden wurde
oder nicht. Ich kann auch keine Antworten zu Fragen nachreichen, die ich in der Schulung
nicht sofort beantworten konnte. Dabei macht so eine Regelung überhaupt keinen Sinn,
jeder der eine Suchmaschine bedienen kann findet innerhalb einer Minute heraus, wie
er mich erreichen kann. Durch die schlechten Kontaktmöglichkeiten vor den Trainings
kommt es nicht selten vor, dass Teilnehmer mit den falschen Vorkenntnissen in eine
Schulung kommen, so dass ich ganz andere Inhalte vermitteln muss, als vorher abgesprochen
und von mir vorbereitet wurden. Wenn es mal keinen passenden fertigen Kurs von Microsoft
gibt, wird ganz selbstverständlich erwartet, dass der Trainer mal eben Unterlagen
für 5 Tage selbst erstellt, am besten kostenlos.
</p>
        <p>
Ein weiterer großer Nachteil für mich ist natürlich auch, dass die Schulungsanbieter
an jeder Schulung mitverdienen. Der größte Teil der Gebühren, die die Teilnehmer zahlen,
geht an den Schulungsanbieter, beim Trainer kommt davon nur ein kleiner Teil an. Vor
fast jeder Schulung versuchen viele Anbieter auch, unter irgendwelchen Vorwänden Preise
“ausnahmsweise” nach unten zu drücken. Rechnungen werden noch dazu oft sehr spät bezahlt
(Negativrekord 2008 war ca. 75 Tage, 2007 waren es über 100 Tage). Sehr oft werden
Termine angefragt und reserviert, nur um dann wenige Tage vor der Schulung wieder
abzusagen.
</p>
        <p>
Aus diesen Gründen habe ich mich entschieden, mit meinen Angeboten in Zukunft verstärkt
direkt Endkunden anzusprechen. Der erste Schritt dazu ist meine neue Seite <a href="http://www.dotnet-mct.de">http://www.dotnet-mct.de</a>.
</p>
        <p>
Für Kunden, die ich bereits über andere Anbieter geschult habe, werde ich auch weiterhin
nur über diese Anbieter arbeiten. Das ist für mich selbstverständlich, wäre aber sowieso
durch Kundenschutzklauseln in meinen Verträgen gar nicht anders möglich.
</p>
        <p>
Es gibt natürlich auch einige positive Ausnahmen. Von einigen wenigen Anbietern werden
Rechnungen auch sehr schnell (7-8 Tage) bezahlt und diese versuchen auch nicht ständig,
die Preise zu drücken.
</p>
        <p>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b37fa07a-fae0-464c-bfa8-82a63215b93d" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/MOC+Kurse" rel="tag">MOC Kurse</a>,<a href="http://technorati.com/tags/Microsoft+Schulungsanbieter" rel="tag">Microsoft
Schulungsanbieter</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=2dc4cf73-04a9-4302-9c2e-b6e34c4b80ef" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Internationalisierung von WPF Anwendungen – Folien von der dotnet cologne</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/05/16/Internationalisierung+Von+WPF+Anwendungen+Folien+Von+Der+Dotnet+Cologne.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,6088a852-4182-4565-9c33-64d27f662535.aspx</id>
    <published>2009-05-16T16:35:02.1288985+02:00</published>
    <updated>2009-05-16T16:35:02.1288985+02:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Trainings, Konferenzen, Events" label="Trainings, Konferenzen, Events" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TrainingsKonferenzenEvents.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Auf der <a href="http://www.dotnet-cologne.de/">dotnet cologne</a> habe ich gestern
gezeigt, wie mehrsprachige Windows Presentation Foundation Anwendungen erstellt werden
können. Hier sind die Folien dazu:
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/downloads/dotnet%20Cologne%202009%20-%20internationalisierung%20von%20wpf%20anwendungen.pdf">Internationalisierung
von WPF Anwendungen – dotnet cologne</a>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:960600c8-11e8-4053-9558-4b679e19a60a" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/WPF" rel="tag">WPF</a>,<a href="http://technorati.com/tags/Internationalisierung" rel="tag">Internationalisierung</a>,<a href="http://technorati.com/tags/Lokalisierung" rel="tag">Lokalisierung</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=6088a852-4182-4565-9c33-64d27f662535" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Folien zu meinen Vorträgen bei der BASTA Spring</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/03/01/Folien+Zu+Meinen+Vortr%c3%a4gen+Bei+Der+BASTA+Spring.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,8149cdf4-eaa8-4cb2-808b-e731a138ac4d.aspx</id>
    <published>2009-03-01T17:59:15.608255+01:00</published>
    <updated>2009-03-01T17:59:15.608255+01:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="ASP .NET" label="ASP .NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,ASPNET.aspx" />
    <category term="Trainings, Konferenzen, Events" label="Trainings, Konferenzen, Events" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TrainingsKonferenzenEvents.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Letzte Woche war ich wieder mit 2 Vorträgen auf der BASTA Spring in Darmstadt.
</p>
        <p>
Im ersten Vortrag ging es um mehrschichtige Webanwendungen mit dem Entity Framework.
Dabei habe ich anhand eines Beispiels eine Anwendung schrittweise verbessert und so
eine per Drag&amp;Drop zusammengeklickte Anwendung zu einer mehrschichtigen Anwendung
mit Dependency Injection umgebaut. Der Vortrag war super besucht, mit ca. 125 Teilnehmern
hatte ich wohl die am besten besuchte Session am Dienstag.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/downloads/mathias%20raacke%20-%20entity%20framework%20in%20webanwendungen.pdf">Folien
zu “Mehrschichtige Webanwendungen mit dem ADO.NET Entity Framework”</a>
        </p>
        <p>
Die Beispiele werde ich demnächst online stellen. Ich wollte sie übers Wochenende
noch einmal überarbeiten, da ich aber im Moment fast den ganzen Tag krank im Bett
liege bin ich noch nicht dazu gekommen.
</p>
        <p>
In meinem 2. Vortrag ging es mal wieder um die ADO.NET Sync Services. Im Prinzip fast
der gleiche Vortrag, den ich schon mehrfach gehalten habe, mit ein paar kleineren
Änderungen.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/downloads/mathias%20raacke%20-%20ado%20.net%20sync%20services%202.0.pdf">Folien
zu “ADO.NET Sync Services 2.0”</a>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ccca7df1-3ecc-4bf0-b6ab-780ece8abae0" class="wlWriterEditableSmartContent">Technorati-Tags: <a href="http://technorati.com/tags/BASTA" rel="tag">BASTA</a>,<a href="http://technorati.com/tags/Entity+Framework" rel="tag">Entity
Framework</a>,<a href="http://technorati.com/tags/ASP.NET" rel="tag">ASP.NET</a>,<a href="http://technorati.com/tags/ADO.NET+Sync+Services" rel="tag">ADO.NET
Sync Services</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=8149cdf4-eaa8-4cb2-808b-e731a138ac4d" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Windows 7 Benutzerkontensteuerung in Standardeinstellung wirkungslos</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/02/04/Windows+7+Benutzerkontensteuerung+In+Standardeinstellung+Wirkungslos.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,264e9315-1920-47d6-b74e-2721c9bbb261.aspx</id>
    <published>2009-02-04T10:31:21.6159655+01:00</published>
    <updated>2009-02-04T10:31:21.6159655+01:00</updated>
    <category term="Security" label="Security" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Security.aspx" />
    <category term="Windows 7" label="Windows 7" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Windows7.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Die Benutzerkontensteuerung in Windows 7 und Windows Vista soll eigentlich verhindern,
das Anwendungen ohne Genehmigung durch den Benutzer administrative Änderungen am System
vornehmen können. Das hat in Vista zu sehr viel Kritik geführt, da Microsoft bei Vista
etwas über das Ziel hinaus geschossen ist und Vista zu oft um Erlaubnis gefragt hat.
</p>
        <p>
In Windows 7 gibt es deshalb nun verschiedene Einstellungen für die Benutzerkontensteuerung.
In der neuen Standardeinstellung fragt Windows nur noch nach, wenn Programme Änderungen
am System vornehmen wollen, nicht mehr bei Aktionen, die vom Benutzer ausgelöst wurden.
Prinzipiell ist das keine schlechte Idee, leider wurde sie aber sehr schlecht umgesetzt
– die Änderung der Benutzerkontensteuerungseinstellungen (was für ein Wort…) durch
den Benutzer löst auch keine Nachfrage mehr aus, und Anwendungen können durch simulierte
Benutzereingaben so nun die <a href="http://www.istartedsomething.com/20090130/uac-security-flaw-windows-7-beta-proof/">Benutzerkontensteuerung
vollständig abschalten</a>.
</p>
        <p>
Statt das Problem zu beheben, behauptet Microsoft nun aber das Problem sei <a href="http://www.istartedsomething.com/20090131/microsoft-dismisses-windows-7-uac-security-flaw-insists-by-design/">by
Design</a> und <a href="http://www.withinwindows.com/2009/01/30/malware-can-turn-off-uac-in-windows-7-by-design-says-microsoft/">man
werde es nicht ändern</a>.
</p>
        <p>
Inzwischen haben <a href="http://www.istartedsomething.com">Long Zheng</a> und <a href="http://www.withinwindows.com">Rafael
Rivera</a> jedoch <a href="http://www.istartedsomething.com/20090204/second-windows-7-uac-flaw-malware-self-elevate/">eine
weitere, schlimmere Lücke</a> in der Benutzerkontensteuerung entdeckt: Von Microsoft
signierte Anwendungen können priviligierte Aktionen ausführen, ohne eine Abfrage durch
die Benutzerkontensteuerung auszulösen. Nun gibt es aber auch Microsoft Anwendungen,
die ihrerseits wiederrum dazu verwendet werden können, andere Anwendungen zu starten,
z.B. rundll32.exe. Somit können nun Malware-Anwendungen die Microsoft Anwendungen
nutzen, um Code ohne Nachfrage mit Administratorrechten zu starten. Die neue Standardeinstellung
der Benutzerkontensteuerung ist somit vollkommen nutzlos, wenn man diese Einstellung
nutzt kann man die Benutzerkontensteuerung auch gleich komplett abschalten. <a href="http://www.withinwindows.com/2009/02/04/windows-7-auto-elevation-mistake-lets-malware-elevate-freely-easily">Einen
Demo-Exploit gibt es bei Rafael</a>.
</p>
        <p>
Bis Microsoft das Problem behebt – falls sie es überhaupt beheben – sollte man die
Benutzerkontensteuerung deshalb unbedingt wieder auf die höchste Sicherheitsstufe
einstellen. Ich hatte unter Vista keine Probleme mit dieser Einstelllung, man gewöhnt
sich schnell daran und wenn ein System erst fertig eingerichtet ist, führt man sowieso
kaum noch Aktionen durch, die eine Nachfrage erfordern.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:96eb008b-62bb-4b0b-b97e-fe981b1cac64" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Windows+7" rel="tag">Windows 7</a>,<a href="http://technorati.com/tags/Security" rel="tag">Security</a>,<a href="http://technorati.com/tags/Exploit" rel="tag">Exploit</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=264e9315-1920-47d6-b74e-2721c9bbb261" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Serverumzug abgeschlossen</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/02/03/Serverumzug+Abgeschlossen.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,9033baeb-efb5-46e0-836f-766c292a5ed5.aspx</id>
    <published>2009-02-03T11:05:49.129801+01:00</published>
    <updated>2009-02-03T11:05:49.129801+01:00</updated>
    <category term="dasBlog" label="dasBlog" scheme="http://www.outofcoffeeexception.de/CategoryView,category,dasBlog.aspx" />
    <category term="OutOfCoffeeException.de" label="OutOfCoffeeException.de" scheme="http://www.outofcoffeeexception.de/CategoryView,category,OutOfCoffeeExceptionde.aspx" />
    <category term="Privates" label="Privates" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Privates.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Meine Seiten laufen jetzt auf dem neuen Server (United Hoster muss nur noch die DNS
Einträge ändern). Und der läuft im Gegensatz zu meinem alten vServer richtig schnell.
Wenn man nicht bei jedem Klick 5 Sekunden warten muss, macht es auch wieder Spaß,
auf dem Server zu arbeiten.
</p>
        <p>
Ein kleines Problem hatte ich beim Umzug von dasBlog: dasBlog verwendet ein Steuerelement,
das nur in einer 32bit DLL vorliegt. Mein neuer Server läuft unter 64bit Windows Server
20008. Ich musste aber einfach nur 32bit im Application Pool für mein Blog aktivieren,
dann lief es wieder. Scott Hanselman beschreibt das Problem genauer: <a title="http://www.hanselman.com/blog/32bitnessAnd64bitnessAndMigratingDasBlogOnIIS7AndASPNETUnderVista64.aspx" href="http://www.hanselman.com/blog/32bitnessAnd64bitnessAndMigratingDasBlogOnIIS7AndASPNETUnderVista64.aspx">http://www.hanselman.com/blog/32bitnessAnd64bitnessAndMigratingDasBlogOnIIS7AndASPNETUnderVista64.aspx</a></p>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=9033baeb-efb5-46e0-836f-766c292a5ed5" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Providerwechsel</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/02/02/Providerwechsel.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,281ccccc-cb7a-4eab-b9ca-42abfc03f213.aspx</id>
    <published>2009-02-02T16:56:14.703125+01:00</published>
    <updated>2009-02-02T16:56:14.703125+01:00</updated>
    <category term="OutOfCoffeeException.de" label="OutOfCoffeeException.de" scheme="http://www.outofcoffeeexception.de/CategoryView,category,OutOfCoffeeExceptionde.aspx" />
    <category term="Privates" label="Privates" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Privates.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Nachdem mein vServer bei united-hoster.com mal wieder für 24 Stunden nicht erreichbar
war habe ich mich entschieden, zu einem anderen Provider zu wechseln. Ich habe das <a href="http://www.1und1.info/xml/order/Studenten">Studentenangebot
von 1 und 1</a> bestellt, und werde jetzt meine Webseiten nach und nach dorthin umziehen.
Mein Blog und dotnet-paderborn.de werden deshalb wahrscheinlich diese Woche noch ein
paar Mal nicht erreichbar sein. Dafür sollte hinterher alles schneller und (hoffentlich!)
zuverlässiger funktionieren.
</p>
        <p>
Meine Mails (@raacke.info) laufen zum Glück über einen von Microsoft gehosteten Exchange
Server :-)
</p>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=281ccccc-cb7a-4eab-b9ca-42abfc03f213" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Napster 4 und die Windows 7 Beta</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/01/30/Napster+4+Und+Die+Windows+7+Beta.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,f894dbde-5fd6-4197-8215-a37c8ad75573.aspx</id>
    <published>2009-01-30T19:20:14.2919974+01:00</published>
    <updated>2009-01-30T19:20:14.2919974+01:00</updated>
    <category term="Meinung" label="Meinung" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Meinung.aspx" />
    <category term="Windows 7" label="Windows 7" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Windows7.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Nach einem Upgrade von Napster 3 auf die neue Version 4.6.2.1 erhielt ich beim Start
von Napster unter Windows 7 immer folgenden Fehler:
</p>
        <p>
          <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Napster4unddieWindows7Beta_10FE6/image_3.png" width="503" height="184" />
        </p>
        <p>
Ein Neustart hat das Problem nicht gelöst.
</p>
        <p>
Was dann aber geholfen hat, war der Windows XP Kompatibilitätsmodus. Rechtsklick auf
Napster, dann “Eigenschaften”, “Kompatibilität”. Dort lässt sich der Windows XP Service
Pack 2 Kompatibilitätsmodus aktivieren:
</p>
        <p>
          <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Napster4unddieWindows7Beta_10FE6/image_6.png" width="401" height="562" />
        </p>
        <p>
Damit läuft Napster bei mir wieder.
</p>
        <p>
Die neue Version behebt auch gleich einige Probleme, die ich mit Napster 3 hatte.
Dort gab es z.B. einige Lieder, die ich nicht herunterladen konnte. Unter Napster
3 gab es bei diesen Liedern immer nur eine nichtssagende Fehlermeldung. Napster 4
hat die Lieder nach der Anmeldung sofort problemlos heruntergeladen.
</p>
        <p>
Was ist sonst noch neu? Ich habe nicht nach Release Notes oder sonstigen Infos gesucht,
aber das ist mir aufgefallen:
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Napster4unddieWindows7Beta_10FE6/image_10.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Napster4unddieWindows7Beta_10FE6/image_thumb_3.png" width="240" height="174" />
          </a>
        </p>
        <p>
Zunächst sieht es schicker aus. Napster 3 war ja doch sehr sehr häßlich. Napster 4
sieht schon besser aus, besonders gut gefällt es mir aber immer noch nicht. Der Windows
Media Player ist da deutlich schöner und leichter zu bedienen, das Media Center sowieso.
Warum kann ich z.B. nicht einfach auf einen Spaltentitel klicken, um z.B. nach Titel
zu sortieren? 
</p>
        <p>
Lieder abspielen, ohne sie vorher herunterzuladen, funktioniert immer noch nicht.
Ich vermute Napster hat immer noch Probleme mit dem IE8. Warum kümmert man sich bei
Napster nicht darum? Den IE8 gibt es ja nun schon länger in verschiedenen Beta Versionen.
</p>
        <p>
Die interessanteste Neuerung ist, das Napster jetzt auch im Browser läuft, also ganz
ohne Client. Das funktioniert sogar im IE8. Da kann ich Lieder auch sofort abspielen,
ohne sie vorher herunterzuladen. Außerdem kann man dort z.B. durch Klick auf eine
Tabellenspalte sortieren. Das Web-Team bei Napster scheint deutlich kompetenter zu
sein als die Kollegen, die den Windows Client entwickeln.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Napster4unddieWindows7Beta_10FE6/image_12.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Napster4unddieWindows7Beta_10FE6/image_thumb_4.png" width="240" height="177" />
          </a>
        </p>
        <p>
Das waren meine ersten Eindrücke nach wenigen Minuten ausprobierens. Jezt werde ich
erst Mal Musik hören :-)
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3456ba45-ef71-425f-b325-2feb859fb5dd" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Napster" rel="tag">Napster</a>,<a href="http://technorati.com/tags/Windows+7" rel="tag">Windows
7</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=f894dbde-5fd6-4197-8215-a37c8ad75573" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Ohne Worte</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/01/19/Ohne+Worte.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,35cff9b2-d8c5-4d8a-bca3-79ced2ea188b.aspx</id>
    <published>2009-01-19T14:40:58.5191865+01:00</published>
    <updated>2009-01-19T14:40:58.5191865+01:00</updated>
    <category term="Lustig" label="Lustig" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Lustig.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/OhneWorte_CE7D/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/OhneWorte_CE7D/image_thumb.png" width="361" height="187" />
          </a>
        </p>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=35cff9b2-d8c5-4d8a-bca3-79ced2ea188b" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Daemon Tools funktionieren nicht mit der Windows 7 Beta</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/01/17/Daemon+Tools+Funktionieren+Nicht+Mit+Der+Windows+7+Beta.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,00838b3f-851f-4162-9e51-f8ea1459b2e6.aspx</id>
    <published>2009-01-18T00:15:43.6147448+01:00</published>
    <updated>2009-01-18T00:15:43.6147448+01:00</updated>
    <category term="Windows 7" label="Windows 7" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Windows7.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Irgendwann in 2006, während der Beta von Windows Vista, <a href="http://www.outofcoffeeexception.de/2006/09/26/Neue+Vistafaumlhige+Daemon+Tools+Update.aspx">habe
ich darüber gebloggt</a>, dass es eine neue Version der <a href="http://forum.daemon-tools.cc">Daemon
Tools</a> gibt, die auch unter Vista funktioniert. Aus irgendeinem merkwürdigen Grund
ist dieser Blogeintrag sowohl <a href="http://search.live.com/results.aspx?q=%22vista%22+%22daemon+tools%22&amp;form=QBRE">auf
Live</a> als auch <a href="http://www.google.de/search?q=%22vista%22+%22daemon+tools%22">auf
Google</a> das erste Ergebnis, wenn man nach <em>Vista “Daemon Tools”</em> sucht,
und dadurch selbst heute noch der am meisten aufgerufene Beitrag in meinem Blog. Er
ist überhaupt nicht mehr aktuell, und ich denke ich habe vieles geschrieben, was wesentlich
interessanter ist (hoffe ich jedenfalls ;-)), aber kein anderer Beitrag hat so viele
Leser.
</p>
        <p>
Deshalb habe ich heute ausprobiert, ob die aktuelle Version der Daemon Tools auch
unter der Windows 7 beta funktioniert. Nicht dass ich noch vorhätte sie zu nutzen
– meistens entpacke ich .iso Dateien einfach mit <a href="http://www.winrar.de/">Winrar</a>.
Aber vielleicht bringt der neue Beitrag ja genauso viele Besucher ;-).
</p>
        <p>
Getestet habe ich Daemon Tools Lite 3.47 unter der 64bit Version von Windows 7 beta.
</p>
        <p>
Beim Aufruf des Setups erscheint bereits eine Warnung, dass es bekannte Kompatibilitätsprobleme
mit Daemon Tools gibt. Ich habe die Warnung ignoriert und das Setup trotzdem ausgeführt.
Am Ende des Setups wurde ein Neustart verlangt, mit dem Hinweis, dass die Installation
nach dem Neustart fortgesetzt werden würde. Nach dem Neustart wurde die Installation
jedoch nicht fortgesetzt, sondern wieder von vorne begonnen. Das ganze kann man dann
noch beliebig oft wiederholen, installiert wird dabei jedenfalls nichts. Ich habe
das Setup zusätzlich noch jeweils im Vista- und XP Kompatibilitätsmodus getestet,
was zum gleichen Ergebnis führt.
</p>
        <p>
Die Daemon Tools funktionieren zur Zeit also nicht.
</p>
        <p>
Andere Blogs sind zu dem gleichen Ergebnis gekommen, z.B. <a title="http://extended64.com/blogs/rhoffman/archive/2009/01/08/daemon-tools-is-incompatible-with-windows-7-beta-1.aspx" href="http://extended64.com/blogs/rhoffman/archive/2009/01/08/daemon-tools-is-incompatible-with-windows-7-beta-1.aspx">http://extended64.com/blogs/rhoffman/archive/2009/01/08/daemon-tools-is-incompatible-with-windows-7-beta-1.aspx</a>,
wo in den Kommentaren auch Alternativen diskutiert werden. Ich selbst nutze wie schon
geschrieben <a href="http://www.winrar.de/">WinRar</a> und entpacke damit .iso Dateien,
statt sie als Laufwerk zu mounten.
</p>
        <p>
Und jetzt bin ich gespannt, ob dieser Beitrag genauso oft gelesen wird wie mein letzer
Blogeintrag zu den Daemon Tools ;-)
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:78926090-5e73-46fd-b4e0-293242b07430" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Windows+7" rel="tag">Windows 7</a>,<a href="http://technorati.com/tags/Daemon+Tools" rel="tag">Daemon
Tools</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=00838b3f-851f-4162-9e51-f8ea1459b2e6" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Windows 7 Tipp/Feature #3: Verbesserter Resourcenmonitor</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/01/16/Windows+7+TippFeature+3+Verbesserter+Resourcenmonitor.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,dc2790e9-0c51-4ed6-918b-9faf24641672.aspx</id>
    <published>2009-01-16T10:32:28.4584948+01:00</published>
    <updated>2009-01-16T10:32:28.4584948+01:00</updated>
    <category term="Windows 7" label="Windows 7" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Windows7.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Der Resourcenmonitor wurde in Windows 7 gegenüber Vista deutlich verbessert. Was mich
z.B. unter Vista sehr gestört hat war, dass die einzelnen Tabellen zu CPU-Auslastung
usw. eine feste Höhe hatten, und so auf großen Bildschirmen ein großer Teil des Bildschirms
nicht genutzt werden konnte. Man musste scrollen, obwohl vielleicht die ganze Tabelle
auf den Bildschirm gepasst hätte. In Windows 7 lassen sich die Tabellen nun beliebig
vergrößern.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature3VerbesserterResource_8205/image_2.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature3VerbesserterResource_8205/image_thumb.png" width="333" height="255" />
          </a>
        </p>
        <p>
Die Graphen zu CPU-Auslastung, Arbeitsspeicher usw. befinden sich jetzt auf der rechten
Seite statt oben, und je nach Ansicht sind mehr Graphen verfügbar als unter Vista.
</p>
        <p>
In der CPU-Ansicht gibt es nun eine eigene Übersicht für Dienste. In der Prozessliste
kann man einzelne Prozesse markieren. Diese werden dann unabhängig von der gewählten
Sortierung immer am Anfang der Tabelle dargestellt, außerdem wird die Dienste-Liste
so gefiltert, dass nur Dienste aus den gewählten Prozessen angezeigt werden.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature3VerbesserterResource_8205/image_4.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature3VerbesserterResource_8205/image_thumb_1.png" width="286" height="255" />
          </a>
        </p>
        <p>
In der Arbeitsspeicher-Ansicht zeigt eine zusätzliche Grafik an, wie der Speicher
verwendet wird.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature3VerbesserterResource_8205/image_6.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature3VerbesserterResource_8205/image_thumb_2.png" width="288" height="255" />
          </a>
        </p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature3VerbesserterResource_8205/image_8.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature3VerbesserterResource_8205/image_thumb_3.png" width="288" height="255" />
          </a>
        </p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature3VerbesserterResource_8205/image_10.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature3VerbesserterResource_8205/image_thumb_4.png" width="289" height="255" />
          </a>
        </p>
        <p>
Der Resourcenmanager ist ein schönes Beispiel für die vielen kleinen Detailverbesserungen,
die Windows 7 gegenüber Vista enthält. Solche kleinen Details machen einzeln keinen
großen Unterschied, aber duch die Summe vieler kleiner Verbesserungen wirkt Windows
7 gegenüber Vista wesentlich durchdachter und ausgereifter.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c49b06b0-d98b-4193-8f79-e0e849404efd" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Windows+7" rel="tag">Windows 7</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=dc2790e9-0c51-4ed6-918b-9faf24641672" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Windows 7 Tipp/Feature #2: Zuverlässigkeitsindex jetzt Teil des Action Centers</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/01/14/Windows+7+TippFeature+2+Zuverl%c3%a4ssigkeitsindex+Jetzt+Teil+Des+Action+Centers.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,d732e15b-b75a-485e-9851-6e2dcc3b119e.aspx</id>
    <published>2009-01-14T09:36:46.3178698+01:00</published>
    <updated>2009-01-14T09:36:46.3178698+01:00</updated>
    <category term="Windows 7" label="Windows 7" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Windows7.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Seit Windows Vista gibt es einen Zuverlässigkeitsindex, der als Wert zwischen 1 und
10 angibt, wie stabil ein System ist und wie sich die Zuverlässigkeit seit der Installation
geändert hat. Die Zuverlässigkeistüberwachung ist bei Windows 7 im neuen Action Center
“versteckt”, und in der unvollständig übersetzten Beta 1 noch über den Link “View
System History” erreichbar. Das Action Center selbst lässt sich über die Systemsteuerung
starten, oder noch einfacher, über das kleine “Action Center Fähnchen” unten rechts
in der Taskleiste.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature2Stabilittsindexverbe_E1DF/image_2.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature2Stabilittsindexverbe_E1DF/image_thumb.png" width="404" height="255" />
          </a>
        </p>
        <p>
Die Zuverlässigkeitsüberwachung selbst sieht auf den ersten Blick aus wie unter Vista
– zumindest fallen mir fast keine Unterschiede auf. Einen wichtigen Unterschied gibt
es jedoch (zumindest glaube ich, dass das neu ist, ich habe aber kein Vista mehr zum
direkten Vergleich): Bei jedem Problem gibt es direkt einen Link “Nach einer Lösung
suchen” oder “Technische Details anzeigen”.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature2Stabilittsindexverbe_E1DF/image_4.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature2Stabilittsindexverbe_E1DF/image_thumb_1.png" width="326" height="255" />
          </a>
        </p>
        <p>
Wie man im Screenshot auch sehen kann, ist der Zuverlässigkeitsindex meines Windows
nicht gerade sehr hoch. Hauptsächlich liegt das wohl daran, dass ich immer noch versuche
ICQ irgendwie zu starten, und mit mehreren ICQ Abstürzen täglich ist der Index ganz
schnell im Keller.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2910e5db-7101-4b60-a708-0a05aeafca9a" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Windows+7" rel="tag">Windows 7</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=d732e15b-b75a-485e-9851-6e2dcc3b119e" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Gründung eines Toastmasters Clubs in Paderborn</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/01/13/Gr%c3%bcndung+Eines+Toastmasters+Clubs+In+Paderborn.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,e1890b10-bf19-450d-8fa0-ffd161d47338.aspx</id>
    <published>2009-01-14T00:14:41.5366198+01:00</published>
    <updated>2009-01-14T00:32:39.5991198+01:00</updated>
    <category term="Paderborn" label="Paderborn" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Paderborn.aspx" />
    <category term="Toastmasters" label="Toastmasters" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Toastmasters.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ich war vor kurzem das erste Mal bei einem <a href="http://www.toastmasters.org">Toastmasters</a> Treffen <a href="http://www.hannover-speakers.de/V2">in
Hannover</a>. Kurz gesagt ist das so etwas wie eine <a href="http://www.dotnet-paderborn.de">User
Group</a> oder ein <a href="http://www.webmontag.de/location/paderborn/">Webmontag</a>,
nur geht es nicht um Technologie sondern um die Verbesserung der eigenen Präsentationstechnik
und die Kunst der freien Rede. Ich bin von dem Konzept total begeistert und fand das
Treffen in Hannover sehr interessant. Leider sind die beiden nächsten Toastmasters
Clubs in Hannover und Münster, und somit auf Dauer einfach zu weit weg. Was also tun?
Selbst einen Club gründen!
</p>
        <p>
Ich bin auf der Suche nach Mitstreitern, um einen Toastmasters Club in Paderborn aufzubauen.
Anfangen werde ich bei den Sprechern der .NET User Group und dem Webmontag, diese
haben ja offensichtlich Spaß daran, vor anderen Leuten zu präsentieren. Vielleicht
finden sich auch Interessenten bei <a href="http://www.campus-consult.de">Campus Consult</a> oder
hier über das Blog.
</p>
        <p>
Wie sind die nächsten Schritte? 
</p>
        <p>
1) Zunächst könnten wir jemanden von Toastmasters zu uns nach Paderborn einladen,
der uns Toastmasters vorstellt. Toastmasters hat vor kurzem der <a href="http://www.ineta-europe.org">INETA</a> (dem
Dachverband der .NET User Groups) angeboten, .NET User Groups zu besuchen, wir könnten
also dieses Angebot annehmen und einen Toastmaster in die .NET User Group einladen. 
</p>
        <p>
2) Bevor wir selbst anfangen, sollten wir ein paar Mal an Treffen in Hannover oder
Münster teilnehmen, um zu sehen wie das ganze normalerweise läuft. Aufgrund der Entfernung
bietet es sich sicher an, Fahrgemeinschaften zu bilden. 
</p>
        <p>
3) Wir starten mit einem eigenen Toastmasters Club in Paderborn. 
</p>
        <p>
Bevor wir aber überhaupt mit irgendetwas anfangen können brauchen wir genügend Teilnehmer.
Also weiter sagen, bloggen und twittern!
</p>
        <p>
Wenn Du Dir vorstellen könntest an Toastmasters Treffen in Paderborn teilzunehmen, <a href="mailto:mathias@raacke.info">schreib
mir eine kurze Mail</a>.
</p>
        <p>
 
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:95555d81-3fa2-4fe8-9c25-eb699d4eb488" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Toastmasters" rel="tag">Toastmasters</a>,<a href="http://technorati.com/tags/Paderborn" rel="tag">Paderborn</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=e1890b10-bf19-450d-8fa0-ffd161d47338" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Windows 7: Update für LiveMesh behebt Problem mit Aero Transparenz</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/01/13/Windows+7+Update+F%c3%bcr+LiveMesh+Behebt+Problem+Mit+Aero+Transparenz.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,02ff463f-8e5b-4332-8b45-e2b20cd5e69a.aspx</id>
    <published>2009-01-13T23:04:21.2553698+01:00</published>
    <updated>2009-01-13T23:04:21.2553698+01:00</updated>
    <category term="Windows 7" label="Windows 7" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Windows7.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
In meinem ersten Erfahrungsbericht zu Windows 7 hatte ich über Probleme mit der Transparenz
bei Windows Aero berichtet. Die Ursache dafür war ein Problem mit Live Mesh. Microsoft
hat angekündigt, heute ein Update für Live Mesh zu veröffentlichen, das die Probleme
mit Aero Glas unter Windows 7 beheben soll: <a title="http://blogs.msdn.com/livemesh/archive/2009/01/13/service-update-january-13-2009.aspx" href="http://blogs.msdn.com/livemesh/archive/2009/01/13/service-update-january-13-2009.aspx">http://blogs.msdn.com/livemesh/archive/2009/01/13/service-update-january-13-2009.aspx</a></p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a109f674-18df-41fd-822c-b7ac9f89c76b" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Windows+7" rel="tag">Windows 7</a>,<a href="http://technorati.com/tags/Aero" rel="tag">Aero</a>,<a href="http://technorati.com/tags/Live+Mesh" rel="tag">Live
Mesh</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=02ff463f-8e5b-4332-8b45-e2b20cd5e69a" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Windows 7 Tipp/Feature #1: Problembehandlung</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/01/13/Windows+7+TippFeature+1+Problembehandlung.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,8c6b2dc2-7048-4373-8ad5-f033440f34e3.aspx</id>
    <published>2009-01-13T16:07:06.1147448+01:00</published>
    <updated>2009-01-13T16:07:06.1147448+01:00</updated>
    <category term="Windows 7" label="Windows 7" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Windows7.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
In dieser neuen Serie möchte ich regelmäßig (vielleicht sogar täglich – mal schaun)
Tipps zu Windows 7 bloggen oder auch einzelne Features vorstellen, die vielleicht
nicht unbedingt zu den Top Features gehören, die man schon von 1000 anderen Web Seiten
kennt.
</p>
        <p>
Das Feature was ich heute vorstelle ist die Problembehandlung. Die Problembehandlung
besteht aus einer Sammlung von Wizards, die typische Windows Probleme erkennen und
beheben sollen. Finden kann man die Problembehandlung entweder über die Systemsteuerung,
oder durch Eingabe von “Problembehandlung” in der Startmenü-Suche.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature1Problembehandlung_DF8F/image_2.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature1Problembehandlung_DF8F/image_thumb.png" width="346" height="255" />
          </a>
        </p>
        <p>
Ein typsiches Problem, zu dem man in vielen Foren immer wieder Fragen findet, ist
z.B. fehlende Transparenz oder sonstige Probleme mit Windows Aero. Die Aero Problembehandlung
prüft automatisch auf die häufigsten Fehlerursachen, und kann das Problem je nach
Ursache automatisch beheben. Da bei mir Aero funktioniert, findet der Wizard nichts
(Screenshot). Das Live-Mesh-Problem, bei dem Aero wegen Live Mesh unter Windows 7
nicht funktioniert, erkennt der Wizard übrigens leider nicht.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature1Problembehandlung_DF8F/image_4.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature1Problembehandlung_DF8F/image_thumb_1.png" width="332" height="255" />
          </a>
        </p>
        <p>
Als zweites Beispiel hier ein Screenshot zum Problem “Stromverbrauch reduzieren”.
Hier hat die Problembehandlung mehrere Einstellungen entdeckt, die von den Standardwerten
abweichen und höheren Stromverbrauch verursachen:
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature1Problembehandlung_DF8F/image_6.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7TippFeature1Problembehandlung_DF8F/image_thumb_2.png" width="331" height="255" />
          </a>
        </p>
        <p>
Als Softwareentwickler kann man solche Problemlösungswizards (“Troubleshooting Packs”)
übrigens auch selbst entwickeln. Ein Tutorial dafür gibt es auf <a href="http://www.withinwindows.com">http://www.withinwindows.com</a>.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ed433f03-1ece-4d7b-9696-6cb9a42bd5f4" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Windows+7" rel="tag">Windows 7</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=8c6b2dc2-7048-4373-8ad5-f033440f34e3" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Windows 7 Beta Download unbegrenzt verf&amp;uuml;gbar bis zum 24. Januar</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/01/11/Windows+7+Beta+Download+Unbegrenzt+Verfuumlgbar+Bis+Zum+24+Januar.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,fd2cab24-90fc-45ac-8783-12c21a8483d7.aspx</id>
    <published>2009-01-11T13:42:37.34925+01:00</published>
    <updated>2009-01-11T13:42:37.34925+01:00</updated>
    <category term="Windows 7" label="Windows 7" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Windows7.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Im <a href="http://windowsteamblog.com/blogs/windows7/archive/2009/01/10/here-s-where-we-stand.aspx">Windows
Team Blog</a> schreibt Brandon LeBlanc von Microsoft, dass es den Windows 7 Beta Download
jetzt bis zum 24.01. ohne die ursprüngliche Begrenzung auf 2,5 Millionen Downloads
geben wird.
</p>
        <p>
          <a href="http://www.microsoft.com/germany/windows/windows-7/beta-download.aspx">Windows
7 Beta Download</a>
        </p>
        <p>
Für Entwickler gibt es inzwischen auch das <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=a91dc12a-fc94-4027-b67e-46bab7c5226c&amp;DisplayLang=en">Windows
7 SDK</a>.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:829b7cca-3117-40db-871d-866ad54599e3" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Windows+7" rel="tag">Windows 7</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=fd2cab24-90fc-45ac-8783-12c21a8483d7" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Windows 7: n&amp;uuml;tzliche Tastaturshortcuts</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/01/11/Windows+7+Nuumltzliche+Tastaturshortcuts.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,3508fb8b-41c6-41c6-821b-724da6e82981.aspx</id>
    <published>2009-01-11T02:13:05.8805+01:00</published>
    <updated>2009-01-11T02:18:20.568+01:00</updated>
    <category term="Windows 7" label="Windows 7" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Windows7.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Windows-Taste + links/rechts/oben/unten: Aero Snap (Fenster links / rechts docken,
vollbild, minimieren). Diese Kombinationen braucht man vor allem dann, wenn man mit
mehreren Bildschirmen arbeitet. Das Docking an eine Bildschirmseite zwischen zwei
Bildschirmen (z.B. auf die linke Seite des rechten Bildschirms oder die rechte Seite
des linken Bildschirms) funktioniert mit der Maus nämlich nicht.
</p>
        <p>
Windows-Taste + t: Fokus auf Taskleiste (Superbar) setzen
</p>
        <p>
Windows-Taste + Ziffer (z.B. Win+1): Neue Instanz der Anwendung starten, die an dieser
Position in der Taskleiste steht
</p>
        <p>
 
</p>
        <p>
Und wo wir schon dabei sind, gleich noch ein paar zum Internet Explorer:
</p>
        <p>
Strg + Tab: Wechsel zwischen verschiedenen Tabs
</p>
        <p>
Alt + E: Fokus auf Adressleiste setzen
</p>
        <p>
Strg + E: Fokus auf Suchfeld setzen
</p>
        <p>
Strg + T: Neues Tab öffnen
</p>
        <p>
 
</p>
        <p>
Und zum Abchluss als Bonus noch zwei Tipps zur Maussteuerung:
</p>
        <p>
Shift + Klick: Startet eine neue Instanz der Anwendung, statt auf eine bereits laufende
Instanz zu wechseln
</p>
        <p>
Shift + Rechtsklick: öffnet statt der Jumplist das “normale” Explorer Rechtsklick-Menü
(z.B. für Datei-Eigenschaften, Ausführen als Administrator usw.), bzw. das Fenster-Menü,
wenn die Anwendung bereits läuft (Wiederherstellen, Minimieren, …)
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1a9088bb-80f4-475c-8e72-133d549a047f" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Windows+7" rel="tag">Windows 7</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=3508fb8b-41c6-41c6-821b-724da6e82981" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Windows 7 Beta: erster Eindruck</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2009/01/09/Windows+7+Beta+Erster+Eindruck.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,121cf926-d78d-4385-ad39-915c207c616c.aspx</id>
    <published>2009-01-09T16:12:49.943+01:00</published>
    <updated>2009-01-09T16:12:49.943+01:00</updated>
    <category term="Windows 7" label="Windows 7" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Windows7.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Windows 7 gab es zwar schon länger über verschiedene inoffizielle Kanäle, aber leider
nur in der 32bit Version. Gestern hat Microsoft endlich die offizielle Beta veröffentlicht,
und nach mehreren Stunden Download konnte ich mein Vista endlich auf Windows 7 upgraden.
</p>
        <p>
Vor dem Upgrade musste ich zunächst die SP2 Beta von Vista und Windows PowerShell
deinstallieren. Danach ließ sich Windows problemlos upgraden. Das Upgrade hat allerdings
furchtbar lange gedauert – ca. 5 1/2 Stunden. Eine Neuinstallation hätte weniger als
30 Minuten benötigt (es waren schon in einer virtuellen Maschine weniger als 30 Minuten,
und die ist ja langsamer). Vielleicht habe ich vor dem Upgrade vergessen, den Energiesparmodus
abzuschalten – jedenfalls war er direkt nach dem Upgrade eingeschaltet. Das könnte
die lange Dauer erklären, denn dann wäre mein Rechner ja nur auf halber Leistung gelaufen.
</p>
        <p>
Ich verwende einen 2. Monitor, den ich über eine DisplayLink USB Grafikkarte angeschlossen
habe. Ich hatte nicht damit gerechnet, dass diese unter 7 sofort funktionieren würde,
denn bis vorgestern gab es auf der DisplayLink Homepage noch keinen Treiber für die
7 Beta. Pünktlich zur Beta hat DisplayLink aber einen neuen Treiber veröffentlicht.
Einen kleinen Nachteil hat dieser allerdings schon gegenüber dem Vista Treiber: ich
kann nur 2 Displays gleichzeitig nutzen, d.h. z.B. nur die beiden externen. Das Notebook-Display
lässt sich nicht mehr als weiteres Display aktivieren, unter Vista hat das noch funktioniert.
Ich gehe aber stark davon aus, dass dieses Problem in einer der nächsten Treiberversionen
von DisplayLink behoben wird.
</p>
        <p>
Wie erwartet funktioniert UltraMon nicht mehr. UltraMon ist ein Programm, das die
Taskleiste auf mehrere Bildschirme erweitern kann, und dann auf jedem Bildschirm auch
nur die Programme in der TaskLeiste anzeigt, die auf dem jeweiligen Bildschirm laufen.
Da sich an der TaskLeiste unter Windows 7 sehr viel geändert hat, überrascht es mich
nicht, dass UltraMon nicht mehr funktioniert.
</p>
        <p>
Aero Glas wird bei mir nur noch ohne Transparenz angezeigt, die Rahmenfarbe wechselt
dabei ab und zu zwischen schwarz und weiß. Wenn ich die Farbe in den Einstellungen
ändere, kann ich zwar Farbe, Transparenz usw. einstellen, aber sobald ich das Einstellungsfenster
schließe ist wieder alles schwarz, die Einstellungen werden nicht gespeichert.
</p>
        <p>
Durch die vielen positiven Berichte über die Performance von Windows 7, unter anderem
auch beim Booten, hatte ich hier mit größeren Änderungen gerechnet. Leider scheint
Windows aber noch genauso schnell (bzw. langsam) zu booten wie vorher. Mit der Geschwindigkeit
allgemein bin ich sehr zufrieden – die Geschwindigkeit war schon unter Vista sehr
gut, und ist mindestens genauso schnell geblieben. Nur das Booten könnte eben noch
etwas schneller gehen.
</p>
        <p>
An der neuen TaskLeiste gefällt mir nicht, dass Fenster automatisch gruppiert werden
und nur ein Icon pro Programm angezeigt wird. Das lässt sich zum Glück aber in den
Eigenschaften der TaskLeiste abschalten (siehe Screenshot). Ansonsten ist die neue
TaskLeiste sehr ungewohnt, aber ich denke wenn ich mich darauf eingestellt habe wird
sie mir besser gefallen als die alte Variante von XP/Vista.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7BetaersterEindruck_E404/image_4.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Windows7BetaersterEindruck_E404/image_thumb_1.png" width="450" height="9" />
          </a>
        </p>
        <p>
Bis auf die hier erwähnten kleineren Macken läuft Windows 7 bisher sehr gut, schnell
und stabil. Die Qualität ist deutlich höher als die jeder Beta von Windows Vista.
Noch zu Vista-Zeiten hätte Microsoft ein Windows auf diesem Niveau vielleicht schon
als fertige Version verkauft. Da Microsoft noch mehrere Monate an Windows 7 weiter
arbeiten wird gehe ich davon aus, dass Windows 7 sehr ausgereift und stabil sein wird,
wenn es fertig ist.
</p>
        <p>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ee950925-a8c0-4a85-b77d-8e417718e64a" class="wlWriterEditableSmartContent">Technorati-Tags: <a href="http://technorati.com/tags/Windows+7" rel="tag">Windows
7</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=121cf926-d78d-4385-ad39-915c207c616c" />
      </div>
    </content>
  </entry>
  <entry>
    <title>CustomAttributeFormatException bei fehlendem .NET 3.5 SP1</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/12/16/CustomAttributeFormatException+Bei+Fehlendem+NET+35+SP1.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,cef8f5da-2262-4cc0-8bc1-c623b48ce4aa.aspx</id>
    <published>2008-12-16T17:46:56.45525+01:00</published>
    <updated>2008-12-16T17:46:56.45525+01:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Probleme &amp;amp; L&amp;#246;sungen" label="Probleme &amp;amp; L&amp;#246;sungen" scheme="http://www.outofcoffeeexception.de/CategoryView,category,ProblemeL%c3%b6sungen.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ich hatte heute einen Fehler nach dem ich länger (naja “länger” ist relativ) suchen
musste, weil es dazu weder auf Live noch auf Google passende Ergebnisse gab. Deshalb
hier die Lösung:
</p>
        <p>
Falls man versucht, eine .NET 3.5 SP1 Anwendung, die einen WCF Dienst aufruft, auf
einem System ohne SP1 laufen zu lassen, kann es zu folgender Exception kommen:
</p>
        <p>
          <font face="Consolas">System.Reflection.CustomAttributeFormatException: 'IsReference'
property specified was not found. ---&gt; System.NullReferenceException: Object reference
not set to an instance of an object.</font>
        </p>
        <p>
          <font face="Consolas">   at System.Reflection.CustomAttribute.GetCustomAttributes(Module
decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType,
Boolean mustBeInheritable, IList derivedAttributes)</font>
        </p>
        <p>
          <font face="Consolas">   --- End of inner exception stack trace ---</font>
        </p>
        <p>
          <font face="Consolas">   at System.Reflection.CustomAttribute.GetCustomAttributes(Module
decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType,
Boolean mustBeInheritable, IList derivedAttributes)</font>
        </p>
        <p>
          <font face="Consolas">   at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeType
type, RuntimeType caType, Boolean inherit)</font>
        </p>
        <p>
          <font face="Consolas">   at System.Runtime.Serialization.DataContract.TryGetDCAttribute(Type
type, DataContractAttribute&amp; dataContractAttribute)</font>
        </p>
        <p>
          <font face="Consolas">   at System.Runtime.Serialization.DataContract.GetStableName(Type
type, Boolean&amp; hasDataContract)</font>
        </p>
        <p>
          <font face="Consolas">   at System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper..ctor(Type
type)</font>
        </p>
        <p>
          <font face="Consolas">   at System.Runtime.Serialization.ClassDataContract..ctor(Type
type)</font>
        </p>
        <p>
          <font face="Consolas">   at System.Runtime.Serialization.DataContract.DataContractCriticalHelper.CreateDataContract(Int32
id, RuntimeTypeHandle typeHandle, Type type)</font>
        </p>
        <p>
          <font face="Consolas">   at System.Runtime.Serialization.DataContract.GetDataContractSkipValidation(Int32
id, RuntimeTypeHandle typeHandle, Type type)</font>
        </p>
        <p>
          <font face="Consolas">   at System.Runtime.Serialization.XsdDataContractExporter.GetSchemaTypeName(Type
type)</font>
        </p>
        <p>
          <font face="Consolas">   at System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.ValidateDataContractType(Type
type)</font>
        </p>
        <p>
          <font face="Consolas">   at System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.CreatePartInfo(MessagePartDescription
part, OperationFormatStyle style, DataContractSerializerOperationBehavior serializerFactory)</font>
        </p>
        <p>
          <font face="Consolas">   at System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.CreateMessageInfo(DataContractFormatAttribute
dataContractFormatAttribute, MessageDescription messageDescription, DataContractSerializerOperationBehavior
serializerFactory)</font>
        </p>
        <p>
          <font face="Consolas">   at System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter..ctor(OperationDescription
description, DataContractFormatAttribute dataContractFormatAttribute, DataContractSerializerOperationBehavior
serializerFactory)</font>
        </p>
        <p>
          <font face="Consolas">   at System.ServiceModel.Description.DataContractSerializerOperationBehavior.GetFormatter(OperationDescription
operation, Boolean&amp; formatRequest, Boolean&amp; formatReply, Boolean isProxy)</font>
        </p>
        <p>
          <font face="Consolas">   at System.ServiceModel.Description.DataContractSerializerOperationBehavior.System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior(OperationDescription
description, ClientOperation proxy)</font>
        </p>
        <p>
          <font face="Consolas">   at System.ServiceModel.Description.DispatcherBuilder.BindOperations(ContractDescription
contract, ClientRuntime proxy, DispatchRuntime dispatch)</font>
        </p>
        <p>
          <font face="Consolas">   at System.ServiceModel.Description.DispatcherBuilder.BuildProxyBehavior(ServiceEndpoint
serviceEndpoint, BindingParameterCollection&amp; parameters)</font>
        </p>
        <p>
          <font face="Consolas">   at System.ServiceModel.Channels.ServiceChannelFactory.BuildChannelFactory(ServiceEndpoint
serviceEndpoint)</font>
        </p>
        <p>
          <font face="Consolas">   at System.ServiceModel.ChannelFactory.CreateFactory()</font>
        </p>
        <p>
          <font face="Consolas">   at System.ServiceModel.ChannelFactory.OnOpening()</font>
        </p>
        <p>
          <font face="Consolas">   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan
timeout)</font>
        </p>
        <p>
          <font face="Consolas">   at System.ServiceModel.ChannelFactory.EnsureOpened()</font>
        </p>
        <p>
          <font face="Consolas">   at System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress
address, Uri via)</font>
        </p>
        <p>
          <font face="Consolas">   at System.ServiceModel.ChannelFactory`1.CreateChannel()</font>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:14bf0063-617a-41d5-93f2-254c548c0bf2" class="wlWriterEditableSmartContent">Technorati-Tags: <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/WCF" rel="tag">WCF</a>,<a href="http://technorati.com/tags/CustomAttributeFormatException" rel="tag">CustomAttributeFormatException</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=cef8f5da-2262-4cc0-8bc1-c623b48ce4aa" />
      </div>
    </content>
  </entry>
  <entry>
    <title>ToDos</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/12/16/ToDos.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,6831fbff-e8f4-47c4-ad0c-5c6b917c89e0.aspx</id>
    <published>2008-12-16T14:27:26.14275+01:00</published>
    <updated>2008-12-16T14:27:26.14275+01:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Privates" label="Privates" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Privates.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Nachdem mein letztes Projekt nun quasi abgeschlossen ist, habe ich endlich wieder
Zeit für viele viele Dinge, die in letzter Zeit liegen geblieben sind:
</p>
        <p>
1. Ein Review zu NDepend schreiben
</p>
        <p>
2. Mit <a href="http://www.bjoernrochel.de/">Björn</a> absprechen, wie ich meine Erweiterungen
in sein xUnit BDD Extensions Projekt integrieren kann (einer meiner Kollegen und ich
haben beim Schreiben der Unit Tests in unserem Projekt einige neue Methoden für die
BDD Extensions geschrieben) (als ich gerade auf Live mit “björn rochel blog” den Link
auf sein Blog gesucht hatte kam sein Blog auf Platz 2 hinter meinem *g*).
</p>
        <p>
3. Schon länger geplante 2. Teile zu verschiedenen Blogeinträgen schreiben (insbesondere
zum MVP-Pattern mit ASP.NET, da wurde ich schon per Mail nach dem 2. Teil gefragt)
</p>
        <p>
4. Eine neue Web Seite für dotnet-paderborn.de schreiben. Leider hat sich in der User
Group niemand für diese Aufgabe gefunden, dabei hätten wir dafür sogar eine Visual
Studio Lizenz vergeben. Naja, jetzt muss ich die Seite halt selbst schreiben, eine
gute Gelegenheit, mich endlich mit ASP.NET MVC zu beschäftigen.
</p>
        <p>
5. Mal wieder einen Artikel für eine Zeitschrift schreiben. Vielleicht auch eine Serie.
Ideen habe ich aus dem letzten Projekt mehr als genug. Vielleicht auch mal für eine
Zeitschrift, für die ich bisher noch nicht geschrieben habe.
</p>
        <p>
6. Mehr bloggen und aktiver an Mailinglisten beteiligen (ALT.NET z.B.).
</p>
        <p>
7. Das erste Agile-NRW Treffen organisieren (mehr dazu später).
</p>
        <p>
8. Vorträge für die BASTA! vorbereiten. Insbesondere den zum Thema ASP.NET + Entity
Framework. Den hatte ich ursprünglich mit LINQ to SQL eingereicht, aber das ist nicht
mehr erwünscht seitdem Microsoft offiziell bestätigt hat, dass es nicht mehr weiter
entwickelt wird. Finde ich sehr schade, denn meiner Meinung nach ist  LINQ to
SQL für viele Anwendugnsfälle im Moment deutlich besser geeignet als das Entity Framework.
Das EF wird voraussichtlich erst ab der nächsten Version wirklich brauchbar.
</p>
        <p>
9. Weihnachtsgeschenke kaufen. Aber da habe ich ja noch über eine Woche Zeit ;-).
</p>
        <p>
10. Eine Schulung im Januar vorbereiten.
</p>
        <p>
11. Meine Diplomarbeit anfangen (“Internationalisierung von WPF Anwendungen”)
</p>
        <p>
12. Die vielen Bücher lesen, die ich mir in den letzten Wochen bestellt habe (hört
auf Bücher in euren Blogs oder auf der ALT.NET Mailingliste zu empfehlen, mir geht
langsam der Platz dafür aus! ;-) ).
</p>
        <p>
13. Endlich entscheiden, ob ich über Silvester verreise oder nicht, und wohin.
</p>
        <p>
14. Mal wieder ins Fitness-Studio gehen. Ich war seit Monaten nicht mehr da. Das nächste
Mal sollte ich mir eins suchen, das auch Nachts geöffnet hat.
</p>
        <p>
15. Die letzte Prüfung zum MCSE 2003 bestehen, solange das noch möglich ist, anschließend
vielleicht noch das Upgrade auf MCITP für Server 2008.
</p>
        <p>
Bestimmt habe ich auch noch irgendetwas in dieser Liste vergessen. Also langweilig
wird mir wohl in nächster Zeit nicht, auch ohne Projekt.
</p>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=6831fbff-e8f4-47c4-ad0c-5c6b917c89e0" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Bringing out the Best in Multicore Systems - C++ Demo</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/11/20/Bringing+Out+The+Best+In+Multicore+Systems+C+Demo.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,d5b59f76-1696-4dc9-9a27-cd037e71b97e.aspx</id>
    <published>2008-11-20T17:45:13.640625+01:00</published>
    <updated>2008-11-20T19:18:00.953125+01:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Technical Summit" label="Technical Summit" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TechnicalSummit.aspx" />
    <category term="Trainings, Konferenzen, Events" label="Trainings, Konferenzen, Events" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TrainingsKonferenzenEvents.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Hier ein Demo Video aus dem Vortrag von Steve Teixeira:
</p>
        <p>
          <iframe src="http://silverlight.services.live.com/invoke/64675/xEncoderApp4/iframe.html" scrolling="no" frameborder="0" width="450" height="296">
          </iframe>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d77136e6-a706-4a67-8671-3e8a0b8eb2d5" class="wlWriterEditableSmartContent">Technorati-Tags: <a href="http://technorati.com/tags/Microsoft+Technical+Summit" rel="tag">Microsoft
Technical Summit</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=d5b59f76-1696-4dc9-9a27-cd037e71b97e" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Microsoft Technical Summit &amp;ndash; Raytracing Demo aus der Keynote</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/11/20/Microsoft+Technical+Summit+Ndash+Raytracing+Demo+Aus+Der+Keynote.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,32f1f159-6e1f-495e-8307-f5d4b5f70c9b.aspx</id>
    <published>2008-11-20T17:28:56.8125+01:00</published>
    <updated>2008-11-20T17:33:22.390625+01:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Technical Summit" label="Technical Summit" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TechnicalSummit.aspx" />
    <category term="Trainings, Konferenzen, Events" label="Trainings, Konferenzen, Events" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TrainingsKonferenzenEvents.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Diese Demo zeigt, wie eine Raytracing-Anwendung durch Paralellisierung beschleunigt
werden kann. Die Farben im Video am Ende der Demo visualisieren, wie einzelne Bereiche
des Bilds auf verschiedene Threads verteilt gerendert werden. Dabei ist gut erkennbar,
dass das Bild nicht einfach in vier gleich große Teile geteilt und dann berechnet
wird, sondern dass ein Thread auch noch nicht erledigte Arbeiten eines anderen Threads
übernehmen kann, wenn er seine eigenen Daten bereits vollständig abgearbeitet hat.
</p>
        <p>
          <iframe src="http://silverlight.services.live.com/invoke/64675/xEncoderApp3/iframe.html" scrolling="no" frameborder="0" width="450" height="296">
          </iframe>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:433ba7d2-46da-4d50-8bda-75d2e72569cd" class="wlWriterEditableSmartContent">Technorati-Tags: <a href="http://technorati.com/tags/Microsoft+Technical+Summit" rel="tag">Microsoft
Technical Summit</a>,<a href="http://technorati.com/tags/Raytracing" rel="tag">Raytracing</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=32f1f159-6e1f-495e-8307-f5d4b5f70c9b" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Ask the Experts &amp;ndash; Wir beantworten Ihre Fragen</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/11/20/Ask+The+Experts+Ndash+Wir+Beantworten+Ihre+Fragen.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,a64d95a6-625a-4b09-9cc5-626a09d54d82.aspx</id>
    <published>2008-11-20T13:47:22.6875+01:00</published>
    <updated>2008-11-20T13:47:22.6875+01:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Technical Summit" label="Technical Summit" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TechnicalSummit.aspx" />
    <category term="Trainings, Konferenzen, Events" label="Trainings, Konferenzen, Events" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TrainingsKonferenzenEvents.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Wenn Sie auf dem Technical Summit sind und Fragen rund um Microsoft Themen haben,
kommen Sie zum Ask the Experts Stand im Ausstellerbereich. Experten aus den Most Valuable
Professional (MVP) und Community Leader Influencer (CLIP) Programmen beantworten hier
Ihre Fragen. Wenn wir nicht sofort weiter helfen können leiten wir Ihre Frage an einen
passenden Ansprechpartner bei Microsoft weiter.
</p>
        <p>
 
</p>
        <p>
        </p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/AsktheExpertsWirbeantwortenIhreFragen_C1D0/P1030580.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="P1030580" border="0" alt="P1030580" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/AsktheExpertsWirbeantwortenIhreFragen_C1D0/P1030580_thumb.jpg" width="454" height="342" />
          </a>
        </p>
        <p>
 <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/AsktheExpertsWirbeantwortenIhreFragen_C1D0/P1030581.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1030581" border="0" alt="P1030581" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/AsktheExpertsWirbeantwortenIhreFragen_C1D0/P1030581_thumb.jpg" width="454" height="342" /></a></p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d4c620cc-b616-406c-8192-b41267cdda75" class="wlWriterEditableSmartContent">Technorati-Tags: <a href="http://technorati.com/tags/Microsoft+Technical+Summit" rel="tag">Microsoft
Technical Summit</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=a64d95a6-625a-4b09-9cc5-626a09d54d82" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Microsoft Technical Summit - Keynote</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/11/20/Microsoft+Technical+Summit+Keynote.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,059c37b2-ad64-4ff0-b5b7-f193416bdc0e.aspx</id>
    <published>2008-11-20T11:35:21.671875+01:00</published>
    <updated>2008-11-20T11:38:03.65625+01:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Technical Summit" label="Technical Summit" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TechnicalSummit.aspx" />
    <category term="Trainings, Konferenzen, Events" label="Trainings, Konferenzen, Events" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TrainingsKonferenzenEvents.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Die Keynote des Technical Summit war *deutlich* interessanter als die Keynote der
Xtopia. Nach einer kurzen Einführung von Frank Fischer hat Steve Teixeira aus dem
Visual Studio Team einige Neuerungen im Bereich Paralellisierung vorgestellt, z.B.
PLINQ. Anschließend hat Patrick Baudisch von Microsoft Research einige Entwicklungen
in der Bedienung von mobilen Geräten vorgestellt.
</p>
        <p>
Leider war Patricks Vortrag genau der gleiche, den er auf der Xtopia als Abschlusskeynote
gehalten hat. Der Vortrag ist zwar sehr gut, aber zwei Mal direkt nacheinander hätte
ich ihn dann trotzdem nicht sehen müssen.
</p>
        <p>
Einige der Demos von Steve habe ich aufgenommen:
</p>
        <p>
          <strong>PLINQ – 1 Kern vs. 24 Kerne</strong>
        </p>
        <p>
          <iframe src="http://silverlight.services.live.com/invoke/64675/xEncoderApp1/iframe.html" scrolling="no" frameborder="0" width="450" height="338">
          </iframe>
        </p>
        <p>
          <strong>Morphing-Demo</strong>
        </p>
        <p>
          <iframe src="http://silverlight.services.live.com/invoke/64675/xEncoderApp2/iframe.html" scrolling="no" frameborder="0" width="450" height="338">
          </iframe>
        </p>
        <p>
Ich habe auch noch zwei weitere Demos aufgenommen, die ich später irgendwann vielleicht
noch hoch laden werde - der Upload über UMTS dauert mir aber gerade zu lange.
</p>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=059c37b2-ad64-4ff0-b5b7-f193416bdc0e" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Xtopia - Surface DJ</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/11/17/Xtopia+Surface+DJ.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,bf020395-e84f-4ac2-b530-041f1c5a6959.aspx</id>
    <published>2008-11-17T15:39:56.7001435+01:00</published>
    <updated>2008-11-17T15:40:54.9259464+01:00</updated>
    <category term="Trainings, Konferenzen, Events" label="Trainings, Konferenzen, Events" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TrainingsKonferenzenEvents.aspx" />
    <category term="Xtopia" label="Xtopia" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Xtopia.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ein schönes Beispiel für eine Surface-Anwendung:
</p>
        <iframe src="http://silverlight.services.live.com/invoke/64675/xEncoderApp0/iframe.html" scrolling="no" frameborder="0" width="450" height="338">
        </iframe>
        <div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:594b660a-720d-467f-bf57-05de54c5ca8f" style="float:none; display:inline; margin:0px; padding:0px 0px 0px 0px;">Technorati-Tags: <a href="http://technorati.com/tags/Xtopia" rel="tag">Xtopia</a>,<a href="http://technorati.com/tags/Surface" rel="tag">Surface</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=bf020395-e84f-4ac2-b530-041f1c5a6959" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Xtopia 2008 &amp;ndash; Windows Azure</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/11/17/Xtopia+2008+Ndash+Windows+Azure.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,76cbf1ec-0254-4fe7-b4a7-5d979e2994c5.aspx</id>
    <published>2008-11-17T12:28:58.7463776+01:00</published>
    <updated>2008-11-17T12:28:58.7463776+01:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Trainings, Konferenzen, Events" label="Trainings, Konferenzen, Events" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TrainingsKonferenzenEvents.aspx" />
    <category term="Windows Azure" label="Windows Azure" scheme="http://www.outofcoffeeexception.de/CategoryView,category,WindowsAzure.aspx" />
    <category term="Xtopia" label="Xtopia" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Xtopia.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Der 2. Teil der Keynote wurde wieder interessanter, Carl Dichter von MySpace hat einiges
darüber erzählt, wie MySpace als eine der größten Web Seiten überhaupt intern weiterentwickelt
und verwaltet wird.
</p>
        <p>
Nach der Keynote habe ich mich für die Session zum Thema <a href="http://www.microsoft.com/azure">Windows
Azure</a> entschieden. Azure ist das “Betriebssystem für die Cloud”. Dank Azure wird
es möglich sein, Anwendungen direkt in Microsofts Rechenzentren zu hosten (die monatlich
im Moment um ca. 10.000 Rechner erweitert werden). 
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Xtopia2008WindowsAzure_AF78/P1030445.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="P1030445" border="0" alt="P1030445" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Xtopia2008WindowsAzure_AF78/P1030445_thumb.jpg" width="454" height="342" />
          </a>
        </p>
        <p>
Azure bietet mehr als herkömliches Web Hosting. Azure ist eine Plattform, und bietet
dem Anwendungsentwickler als solche einige zusätzliche <a href="http://www.microsoft.com/azure/services.mspx">Dienste</a>,
z.B. Live Services, .NET Services (scheint das zu sein, was bisher die BizTalk Services
waren) und SQL Services.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Xtopia2008WindowsAzure_AF78/P1030448.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="P1030448" border="0" alt="P1030448" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Xtopia2008WindowsAzure_AF78/P1030448_thumb.jpg" width="454" height="342" />
          </a>
        </p>
        <p>
Nach einem kurzen Überblick hat Holger in seinem Vortrag eine ca. 15 minütige “Hello
World” Demo gezeigt, bei der er eine Anwendung”in die Cloud” bereitgestellt hat. 
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Xtopia2008WindowsAzure_AF78/P1030461.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="P1030461" border="0" alt="P1030461" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Xtopia2008WindowsAzure_AF78/P1030461_thumb.jpg" width="454" height="342" />
          </a>
        </p>
        <p>
Danach ging es weiter mit dem Thema Live Services und Live Mesh – da ich Live Mesh
schon kenne und auch selbst nutze, habe ich aus diesem Teil des Vortrags leider nichts
neues mitnehmen können. Gegen Ende hin wurden dann leider auch viel zu viele Fragen
aus dem Publikum gestellt und beantwortet, so dass es mit dem Vortrag kaum noch weiter
ging. Schade, ich hätte gern noch mehr über Azure erfahren als nur einen Level 100
Überblick, den ich so zum größten Teil schon kannte. 
</p>
        <p>
Das ist leider ein Problem das ich auf den meisten deutschen Entwicklerkonferenzen
habe – sobald man regelmäßig die englischen Blogs liest und ab und zu mal Channel
9 usw. schaut, kennt man schon alles was hier auf den Konferenzen gezeigt wird.
</p>
        <p>
Gleich beginnt die erste “Ask the Experts”-Schicht. Bin schon auf die Fragen gespannt.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:65c0ef60-30f5-4d6f-8c50-2baa7a6c3e7d" class="wlWriterEditableSmartContent">Technorati-Tags: <a href="http://technorati.com/tags/Xtopia" rel="tag">Xtopia</a>,<a href="http://technorati.com/tags/Windows+Azure" rel="tag">Windows
Azure</a>,<a href="http://technorati.com/tags/Cloud+Computing" rel="tag">Cloud Computing</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=76cbf1ec-0254-4fe7-b4a7-5d979e2994c5" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Xtopia 2008 &amp;ndash; Keynote</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/11/17/Xtopia+2008+Ndash+Keynote.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,5fb3c691-f787-453e-b737-92af5adac940.aspx</id>
    <published>2008-11-17T10:24:23.3312957+01:00</published>
    <updated>2008-11-17T10:24:23.3312957+01:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Xtopia" label="Xtopia" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Xtopia.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Im Moment sitze ich gerade in der Xtopia Keynote. Nach einer Einführung von Said,
in der es unter anderem kurz um Windows Azure ging, spricht jetzt gerade Dan’l Lewin
über das Thema Start ups und Unternehmensgründung. Für mich nicht ganz so interessant,
aber die Xtopia ist eben keine reine Entwicklerveranstaltung.
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Xtopia2008Keynote_923E/P1030404.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="P1030404" border="0" alt="P1030404" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Xtopia2008Keynote_923E/P1030404_thumb.jpg" width="454" height="342" />
          </a>
        </p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Xtopia2008Keynote_923E/P1030418.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="P1030418" border="0" alt="P1030418" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/Xtopia2008Keynote_923E/P1030418_thumb.jpg" width="454" height="342" />
          </a>
        </p>
        <p>
Gerade hat er über Microsoft Programme für Studenten gesprochen. Auf seiner Folie
hat er Channel 8, Dream Spark und den Imagine Cup aufgelistet. Das beste Programm
erklärt er leider nicht – das Student Partners Programm. Vielleicht kommt es ja noch
auf der nächsten Folie. 
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5b00dc83-d2f2-4da6-bc4e-bf7a20c64aca" class="wlWriterEditableSmartContent">Technorati-Tags: <a href="http://technorati.com/tags/Xtopia" rel="tag">Xtopia</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=5fb3c691-f787-453e-b737-92af5adac940" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Noch 1 Tag bis zur Xtopia</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/11/15/Noch+1+Tag+Bis+Zur+Xtopia.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,1d33f69e-de5f-4a86-af8d-f630358ef511.aspx</id>
    <published>2008-11-15T20:25:33.7485+01:00</published>
    <updated>2008-11-15T20:25:33.7485+01:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Trainings, Konferenzen, Events" label="Trainings, Konferenzen, Events" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TrainingsKonferenzenEvents.aspx" />
    <category term="Xtopia" label="Xtopia" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Xtopia.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ab morgen bin ich in Berlin auf der Xtopia. Das Ticket dafür gab es gleich 2 x gratis
– ich bin sowohl als ATE als auch als offizieller Xtopia Blogger dabei. Leider bedeutet
2 x gratis aber nicht, dass ich die Gebühr jetzt 1 x überwiesen bekomme ;-).
</p>
        <p>
Ich bin immer noch unentschlossen, ob ich auch zur Pre-Conference fahren sollte. Wahrscheinlich
schon, aber erst ab morgen Nachmittag, da ich nicht vor morgen anreisen möchte. Allerdings
kenne ich die Themen, die mich morgen interessieren würden, auch schon aus den PDC
Videos, und viel neues würde ich da wohl nicht mehr lernen.
</p>
        <p>
Als ATE bin ich auf der Xtopia für das Thema ASP.NET eingeteilt. Das passt gerade
gut, seit ca. 3 Monaten arbeite ich mal wieder in einem ASP.NET Projekt mit .NET 3.5,
der aktuellen Version der Enterprise Library, LINQ to SQL usw.. 
</p>
        <p>
Wenn ich noch Zeit finde werde ich heute noch eine passende virtuelle Maschine mit
den aktuellsten CTPs vorbereiten. Die Visual Studio 2010 CTP habe ich natürlich auch
dabei.
</p>
        <p>
Ich freue mich schon auf viele interessante Gespräche, und bin schon sehr gespannt,
was die Teilnehmer dieses Mal für Fragen haben.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e41a9e61-26e3-43b8-b400-eff716aec178" class="wlWriterEditableSmartContent">Technorati-Tags: <a href="http://technorati.com/tags/Xtopia" rel="tag">Xtopia</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=1d33f69e-de5f-4a86-af8d-f630358ef511" />
      </div>
    </content>
  </entry>
  <entry>
    <title>C# 4.0: Mit dynamic anonyme Typen zur&amp;uuml;ckgeben und verwenden</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/10/27/C+40+Mit+Dynamic+Anonyme+Typen+Zuruumlckgeben+Und+Verwenden.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,3afdd5a8-9b4a-4b80-bf51-1b7ea4801e49.aspx</id>
    <published>2008-10-27T23:05:46.1135909+01:00</published>
    <updated>2008-10-27T23:05:46.1135909+01:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term=".NET 4.0" label=".NET 4.0" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET40.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Interessant was jetzt geht:
</p>
        <p>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:64f2fbf4-bf6f-424b-99aa-907c8b55763b" class="wlWriterEditableSmartContent">
          <pre name="code" class="c#">static void Main(string[] args)
{
    Console.WriteLine(Test().Hello);
    Console.WriteLine(Test().World);
}

static dynamic Test()
{
    return new { Hello = "Hallo", World = "Welt" };
}</pre>
        </div>
        <p>
Das funktioniert tatsächlich so. Die Kombination “static dynamic” liest sich allerdings
etwas merkwürdig :-).
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e739e440-35d3-4165-b102-880dd5fec9fd" class="wlWriterEditableSmartContent">Technorati-Tags: <a href="http://technorati.com/tags/C%23+4.0" rel="tag">C#
4.0</a>,<a href="http://technorati.com/tags/PDC2008" rel="tag">PDC2008</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=3afdd5a8-9b4a-4b80-bf51-1b7ea4801e49" />
      </div>
    </content>
  </entry>
  <entry>
    <title>C# 4.0: Optionale Parameter</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/10/27/C+40+Optionale+Parameter.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,a8ab49d9-6351-4d74-ac8c-e2cfdc69e905.aspx</id>
    <published>2008-10-27T22:47:53.8027083+01:00</published>
    <updated>2008-10-27T22:47:53.8027083+01:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term=".NET 4.0" label=".NET 4.0" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET40.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
C# 4.0 wird optionale Parameter unterstützen. Für optionale Parameter muss man einen
Default-Wert angeben, optionale Parameter müssen am Ende der Parameterliste stehen,
d.h. danach dürfen keine nicht-optionalen Parameter mehr folgen. Beispiel:
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:4086d2e4-f225-42cf-bcc4-d1ce9cd066c8" class="wlWriterEditableSmartContent">
          <pre name="code" class="c#">class Program
    {
        static void Main(string[] args)
        {
            Hello(); // Hello World!

            Hello("OutOfCoffeeException.de");
           
        }
        
        public static void Hello(string world = "World!")
        {
            Console.WriteLine("Hello " + world);
        }
    }</pre>
        </div>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2c75906d-ce17-45ae-b5f3-345df32c3827" class="wlWriterEditableSmartContent">Technorati-Tags: <a href="http://technorati.com/tags/C%23+4.0" rel="tag">C#
4.0</a>,<a href="http://technorati.com/tags/PDC2008" rel="tag">PDC2008</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=a8ab49d9-6351-4d74-ac8c-e2cfdc69e905" />
      </div>
    </content>
  </entry>
  <entry>
    <title>C# 4.0: dynamic Keyword</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/10/27/C+40+Dynamic+Keyword.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,6d1355a4-0235-4324-b295-397b7413ca5c.aspx</id>
    <published>2008-10-27T22:42:51.7378038+01:00</published>
    <updated>2008-10-27T22:42:51.7378038+01:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term=".NET 4.0" label=".NET 4.0" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET40.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Nachdem ich eben die neue Visual Studio 2010 / .NET 4.0 CTP heruntergeladen habe und
schon den ganzen Tag den Twitter Feed von der PDC verfolge habe ich ein wenig mit
C# herum experimentiert. Leider habe ich noch keine Doku dazu gefunden, deshalb musste
ich mir alles aus einzelnen Infos von Twitter und trial+error zusammenreimen.
</p>
        <p>
C# 4.0 enthält ein neues Schlüsselwort “dynamic”. Das soll wohl für Interoperabilität
mit dynamischen Sprachen sorgen. Hier ist ein erstes Beispiel dazu:
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:540cda96-e100-44b1-97a2-3790ddab4087" class="wlWriterEditableSmartContent">
          <pre name="code" class="c#">class Program
   {
       static void Main(string[] args)
       {
           dynamic dynObj = new DemoA();
           dynObj.DoSomething();

           dynObj = new DemoB();
           dynObj.DoSomething();
       }
   }

   class DemoA
   {
       public void DoSomething()
       {
           Console.WriteLine("Hello from DemoA");
       }
   }

   class DemoB
   {
       public void DoSomething()
       {
           Console.WriteLine("Hello form DemoB");
       }
   }</pre>
        </div>
        <p>
Mit dem Schlüsselwort “dynamic” wird in Zeile 5 ein dynamisches Objekt erzeugt. Anschließend
kann man auf diesem Objekt Methoden aufrufen, die erst zur Laufzeit aufgelöst werden.
Bin gespannt welche Anwendungsfälle neben dem Aufruf von dynamischen Sprachen sich
dafür noch finden werden.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:366bf99b-7eda-43e2-940e-8520d756225c" class="wlWriterEditableSmartContent">Technorati-Tags: <a href="http://technorati.com/tags/C%234" rel="tag">C#4</a>,<a href="http://technorati.com/tags/0" rel="tag">0</a>,<a href="http://technorati.com/tags/PDC2008" rel="tag">PDC2008</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=6d1355a4-0235-4324-b295-397b7413ca5c" />
      </div>
    </content>
  </entry>
  <entry>
    <title>xUnit BDD Extensions</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/10/22/xUnit+BDD+Extensions.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,aa1152d7-d15c-47a0-aa49-f33fcac86640.aspx</id>
    <published>2008-10-22T18:24:03.303625+02:00</published>
    <updated>2008-10-22T18:40:36.94425+02:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="ALT.NET" label="ALT.NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,ALTNET.aspx" />
    <category term="Code-Beispiele" label="Code-Beispiele" scheme="http://www.outofcoffeeexception.de/CategoryView,category,CodeBeispiele.aspx" />
    <category term="Software-Tests, BDD, TDD" label="Software-Tests, BDD, TDD" scheme="http://www.outofcoffeeexception.de/CategoryView,category,SoftwareTestsBDDTDD.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Auf dem <a href="http://netopenspace.de/">.NET Open Space</a> hat Björn Rochel seine <a href="http://www.bjoernrochel.de/2008/10/04/introducing-xunitbddextensions/">xUnit
BDD Extensions</a> vorgestellt und wir haben uns in einer Session auch länger darüber
unterhalten.
</p>
        <p>
Heute habe ich seine Extensions das erste Mal ausprobiert und einen neuen Unit Test
nach BDD Art geschrieben.
</p>
        <p>
Dieser spezielle Test war besonders kompliziert, da ich hier Code in einem Windows
Service testen wollte und dafür die OnStart Methode aufrufen musste, die protected
ist. Außerdem startet der Code der getestet wird mehrere neue Threads, und der Test
sollte prüfen, ob diese Threads auch wirklich gestartet wurden.
</p>
        <p>
Der Test sieht dann folgendermaßen aus:
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:1650749c-22b4-47e6-842e-8546504db341" class="wlWriterEditableSmartContent">
          <pre name="code" class="c#">public class 
When_the_Service_Starts_And_There_Are_three_Tasks : 
TaskRunnerServiceSpecification
   {
       #region Arrange

       protected override void EstablishContext()
       {
           base.EstablishContext();

           newThreads = new List&lt;Thread&gt;();

           // add some tasks
           tasks.Add(new TestTask(this));
           tasks.Add(new TestTask(this));
           tasks.Add(new TestTask(this));
       }

       internal IList&lt;Thread&gt; newThreads;



       #endregion

       #region Act

       protected override void Because()
       {
           // because OnStart was called...
           taskRunnerService.InvokeNonPublicMethod(
              "OnStart", new object[] {
                 new string[0]});

           // ... wait a second to give the other 
           // threads a chance to execute
           Thread.Sleep(1000);
       }

       #endregion

       #region Assert

       [Observation]
       public void should_create_three_new_threads()
       {
           newThreads.Distinct().Count().
           ShouldBeEqualTo(3);
       }

       [Observation]
       public void should_execute_all_tasks()
       {
           tasks[0].wasExecuted.ShouldBeTrue();
           tasks[1].wasExecuted.ShouldBeTrue();
           tasks[2].wasExecuted.ShouldBeTrue();
       }


       #endregion

       #region Cleanup


       protected override void AfterEachObservation()
       {
           base.AfterEachObservation();

           foreach (var thread in newThreads)
           {
               if (thread.IsAlive)
                   thread.Abort();
           }
       }

       #endregion
   }</pre>
        </div>
        <p>
Im Prinzip verbirgt sich dahinter ein “ganz normaler” Unit Test mit xUnit und Rhino
Mocks (wobei ich in diesem speziellen Test zufällig gerade keine Mocks nutze), allerdings
besser strukturiert und mit lesbareren Methodennamen (z.B. ShouldBeTrue statt Assert.True).
</p>
        <p>
Durch die Bennenung der Tests und Methoden nach BDD-Art ist die Ausgabe im ReSharper
Testrunner richtig gut lesbar:
</p>
        <p>
          <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/xUnitBDDExtensions_FB50/image_5.png" width="417" height="54" />
        </p>
        <p>
In dem Beispielcode oben fehlt noch eine Hilfsklasse für diesen Test, TestTask. Diese
setzt nur ihre “wasExecuted”-Eigenschaft auf true, falls die Execute-Methode aufgerufen
wurde, und fügt ihren Thread zur newThreads-Liste hinzu.
</p>
        <p>
Wir werden das in der Praxis weiter ausprobieren (ein anderer Kollege hat sich vorhin
auch schon an BDD versucht), und diesen Ansatz wenn er sich bewährt für alle unsere
Unit Tests übernehmen.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:394b6365-a10b-49f1-9f2a-c57aeecdfb83" class="wlWriterEditableSmartContent">Technorati-Tags: <a href="http://technorati.com/tags/BDD" rel="tag">BDD</a>,<a href="http://technorati.com/tags/TDD" rel="tag">TDD</a>,<a href="http://technorati.com/tags/xUnit" rel="tag">xUnit</a>,<a href="http://technorati.com/tags/xUnit+BDD+Extensions" rel="tag">xUnit
BDD Extensions</a>,<a href="http://technorati.com/tags/.NET" rel="tag">.NET</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=aa1152d7-d15c-47a0-aa49-f33fcac86640" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Xtopia und Technical Summit ATE</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/10/22/Xtopia+Und+Technical+Summit+ATE.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,13786106-997e-42d8-a9b1-1e0972f63bce.aspx</id>
    <published>2008-10-22T10:37:23.803625+02:00</published>
    <updated>2008-10-22T12:04:03.56925+02:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Technical Summit" label="Technical Summit" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TechnicalSummit.aspx" />
    <category term="Trainings, Konferenzen, Events" label="Trainings, Konferenzen, Events" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TrainingsKonferenzenEvents.aspx" />
    <category term="Xtopia" label="Xtopia" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Xtopia.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Auf der Xtopia und dem Technical Summit werde ich als “Ask the Expert” dabei sein
und Fragen rund um .NET und Visual Studio beantworten. Ich freue mich schon auf viele
interessante Gespräche!
</p>
        <p>
          <a target="_blank" href="http://www.xtopia-konferenz.de/AskTheExperts_xt08.mspx?ActiveID=1393">
            <img style="border-bottom: 0px solid; border-left: 0px solid; border-top: 0px solid; border-right: 0px solid" alt="Offizieller ATE @ Xtopia 08: Treffen Sie mich in den Ask the Experts-Sessions!" align="top" src="http://www.xtopia-konferenz.de/upload/xtopia_banner_150x150_ate_1225.jpg" width="150" height="150" />
          </a>
          <a target="_blank" href="http://www.technical-summit.de/AskTheExperts_ts08.mspx?ActiveID=1383">
            <img style="border-bottom: 0px solid; border-left: 0px solid; border-top: 0px solid; border-right: 0px solid" alt="Offizieller ATE @ Microsoft Technical Summit 2008: Treffen Sie mich in den Ask the Experts-Sessions!" align="top" src="http://www.technical-summit.de/upload/ts_banner_150x150_ate_1205.jpg" width="150" height="150" />
          </a>
        </p>
        <p>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c916a984-1c54-41a8-81cd-c22077f980dd" class="wlWriterEditableSmartContent">Technorati-Tags: <a href="http://technorati.com/tags/Xtopia" rel="tag">Xtopia</a>,<a href="http://technorati.com/tags/Technical+Summit" rel="tag">Technical
Summit</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=13786106-997e-42d8-a9b1-1e0972f63bce" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Das Model-View-Presenter Pattern in ASP.NET &amp;ndash; Teil 1</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/10/21/Das+ModelViewPresenter+Pattern+In+ASPNET+Ndash+Teil+1.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,9636d2a6-1418-45dd-a668-a83ccc7d548e.aspx</id>
    <published>2008-10-21T19:10:09.991125+02:00</published>
    <updated>2008-10-21T19:10:09.991125+02:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="ALT.NET" label="ALT.NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,ALTNET.aspx" />
    <category term="ASP .NET" label="ASP .NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,ASPNET.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Im Moment liest man überall vom ASP<a href="http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx">.NET
Model View Controller (MVC) Framework</a>. Das MVC Framework unterscheidet zwischen
einem Model, einer View und einem Controller, und führt so zu einer klaren Aufgabentrennung
und leichter testbarem Code.
</p>
        <p>
Um testbare ASP.NET Web Seiten zu schreiben, bei der die Darstellung (View) sauber
von der Logik und vom Modell getrennt ist, muss  man jedoch nicht erst auf das
MVC Framework warten. Auch mit ASP.NET Web Forms ist es möglich, gut strukturierte
und testbare Anwendungen zu entwickeln.
</p>
        <p>
Ein Ansatz dafür ist das Model-View-Presenter (MVP) Pattern. Auf den ersten Blick
ist das MVP Pattern dem MVC Pattern sehr ähnlich. Beide Ansätze verfolgen im Prinzip
die gleichen Ziele, erreichen diese nur auf einem anderen Weg. Eine genaue Beschreibung
der Unterschiede gibt es z.B. unter 
</p>
        <p>
          <a title="http://ameleta.spaces.live.com/blog/cns!5F6316345A821420!163.entry" href="http://ameleta.spaces.live.com/blog/cns!5F6316345A821420!163.entry">http://ameleta.spaces.live.com/blog/cns!5F6316345A821420!163.entry</a>
        </p>
        <p>
          <a title="http://stackoverflow.com/questions/2056/what-are-mvp-and-mvc-and-what-is-the-difference#101561" href="http://stackoverflow.com/questions/2056/what-are-mvp-and-mvc-and-what-is-the-difference#101561">http://stackoverflow.com/questions/2056/what-are-mvp-and-mvc-and-what-is-the-difference#101561</a>
        </p>
        <p>
Das Pattern das ich verwende ist eine Variante des MVP Patterns, und nennt sich “Supervising
Controller”. Dieses Pattern wird <a href="http://martinfowler.com/eaaDev/SupervisingPresenter.html">von
Fowler sehr ausführlich beschrieben</a>.
</p>
        <p>
Meine Implementierung des MVP Patterns basiert auf einer Implementierung von David
Hayden: <a title="http://www.pnpguidance.net/Post/UnityIoCDependencyInjectionASPNETModelViewPresenter.aspx" href="http://www.pnpguidance.net/Post/UnityIoCDependencyInjectionASPNETModelViewPresenter.aspx">http://www.pnpguidance.net/Post/UnityIoCDependencyInjectionASPNETModelViewPresenter.aspx</a></p>
        <p>
David verwendet das MVP Pattern zusammen mit Microsoft Unity als Dependency Injection
Container. Über das Thema Dependeny Injection werde ich später vielleicht in einem
eigenen Beitrag schreiben, bis dahin soll es ausreichen zu wissen, dass sich Unity
darum kümmert, dass Model, View und Presenter richtig miteinander “verdrahtet” werden.
</p>
        <p>
David hat Basisklassen für View und Presenter geschrieben. Die View ist bei ihm eine
von System.Web.Page abgeleitete Klasse. Die View hat zwei Typparameter, TView und
TPresenter. Als TView übergeben wir ein Interface, das die Methoden enthält, über
die der Presenter Daten in der View darstellen kann. TPresenter ist der zur View passende
Presenter. Die View erhält eine Referenz zu ihrem Presenter, und benachrichtigt diesen
dann über verschiedene Ereignisse (Seite geladen, Button geklickt usw.).
</p>
        <p>
Ich habe mit Davids Code angefangen und bin dann mehrfach an Stellen gekommen, wo
ich seinen Code erweitern musste. So soll z.B. eine einzelne Seite oft nicht nur eine
View, sondern gleich mehrere unterschiedliche Views in Form von Steuerelementen darstellen
können. Dafür habe ich eine BaseControl-Klasse geschrieben, die von UserControl ableitet
und so MVP basierte UserControls ermöglicht. Auch für MasterPages möchte ich das MVP
Pattern einsetzen können, und habe dafür eine BaseMasterPage geschrieben. 
</p>
        <p>
An einigen Stellen musste ich auf ASP.NET-spezifische Klassen wie SessionState und
Cache zugreifen. Um diese besser testen zu können und in meinen Tests unabhängig von
ASP.NET zu bleiben habe ich mir für diese Fälle die Interfaces ICacheProvider bzw.
IStateProvider geschrieben, die von BasePage/BaseControl/BaseMasterPage implementiert
werden, und somit einen Zugriff auf SessionState und Cache ermöglichen, ohne dass
ich dafür in meinen Tests ASP.NET Klassen verwenden müsste.
</p>
        <p>
Als letzte Klasse gibt es dann schließlich noch die BaseApplication, die sich genau
wie die HttpApplication-Klasse in Davids Beispiel um die Initialisierung des Unity-Containers
kümmert.
</p>
        <p>
Zusammengenommen ergibt sich damit folgendes bild:
</p>
        <p>
          <a href="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/DasModelViewPresenterPatterninA.NETTeil1_106AC/image_2.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.outofcoffeeexception.de/content/binary/WindowsLiveWriter/DasModelViewPresenterPatterninA.NETTeil1_106AC/image_thumb.png" width="643" height="616" />
          </a>
        </p>
        <p>
Da ich diese Klassen so in mehreren Projekten verwenden kann (und auch bereits verwendet
habe) habe ich das alles noch in ein eigenes Projekt ausgelagert.
</p>
        <p>
Soweit die Theorie. In Teil zwei zeige ich dann an Beispielen aus meinem Quellcode,
wie ich das MVP Pattern angewendet habe.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:77365c52-76da-4ceb-b40f-6bc92d3b7f54" class="wlWriterEditableSmartContent">Technorati-Tags: <a href="http://technorati.com/tags/Model-View-Presenter" rel="tag">Model-View-Presenter</a>,<a href="http://technorati.com/tags/MVP" rel="tag">MVP</a>,<a href="http://technorati.com/tags/Patterns" rel="tag">Patterns</a>,<a href="http://technorati.com/tags/ASP.NET" rel="tag">ASP.NET</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=9636d2a6-1418-45dd-a668-a83ccc7d548e" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Das richtige Timing&amp;hellip;</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/10/13/Das+Richtige+Timinghellip.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,efa17740-4259-4ee8-aa53-46de92691033.aspx</id>
    <published>2008-10-13T20:17:20.5956768+02:00</published>
    <updated>2008-10-13T20:17:20.5956768+02:00</updated>
    <category term="Privates" label="Privates" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Privates.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Heute morgen habe ich zum ersten Mal Aktien gekauft (Bisher hatte ich nur irgendwelche
Werbegeschenk-Aktien von <strike>Web.de</strike><strike>Combots</strike> KIZOO AG).
Heute Nachmittag auf Spiegel Online:  “<a href="http://www.stern.de/wirtschaft/finanzen-versicherung/finanzen/:Finanzkrise-Dax-Rekordgewinn/642137.html">Dax
feiert Rekordgewinn</a>”
</p>
        <p>
Meine Aktien sind auch schon ein paar % gestiegen. Da habe ich wohl Glück gehabt und
genau den richtigen Zeitpunkt erwischt! :-)
</p>
        <p>
Aktie A ist von 15,74€ auf 17,85€ gestiegen und Aktie B von 31,22€ auf 35,70€. So
kann das gerne weiter gehen.
</p>
        <p>
Ist allerdings “just for fun”, deshalb habe ich keine große Summe investiert. Den
Rest lasse ich dann doch lieber auf dem Tagesgeldkonto.
</p>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=efa17740-4259-4ee8-aa53-46de92691033" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Die Zukunft von .NET &amp;ndash; Eine Analyse der PDC Session Abstracts</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/10/08/Die+Zukunft+Von+NET+Ndash+Eine+Analyse+Der+PDC+Session+Abstracts.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,f9554c17-0156-48ba-8884-2e69b37887be.aspx</id>
    <published>2008-10-09T00:36:26.0155+02:00</published>
    <updated>2008-10-09T00:36:26.0155+02:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term=".NET 4.0" label=".NET 4.0" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET40.aspx" />
    <category term="Microsoft" label="Microsoft" scheme="http://www.outofcoffeeexception.de/CategoryView,category,Microsoft.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Aus den Beschreibungen der PDC Sessions lassen sich schon jetzt einige Fakten über
.NET 4.0 bzw. die Zukunft der Microsoft Plattform im Allgemeinen entnehmen. Die folgende
Liste enthält meine <em>Interpretationen</em> einiger Session Abstracts, ich kann
mich auch irren. Die Infos die sowieso schon auf verschiedenen Blogs (blogs.msdn.com
usw.) aufgetaucht sind habe ich ausgelassen:
</p>
        <ul>
          <li>
            <strong>Common Language Runtime “vNext”</strong>
          </li>
          <li>
Unterstützung für mehrere CLR-Versionen innerhalb eines Prozesses</li>
          <li>
“Code Contracts” – was auch immer das bedeutet, ich vermute etwas in Richtung Design
by Contract</li>
          <li>
Neue Klassen in der Base Class Library, z.B. BigInteger, Tuples und Bäume</li>
          <li>
Optimierter Garbage Collector, um Mehrprozessorsysteme effizienter auszunutzen</li>
        </ul>
        <p>
(<a title="http://channel9.msdn.com/pdc2008/PC49/" href="http://channel9.msdn.com/pdc2008/PC49/">http://channel9.msdn.com/pdc2008/PC49/</a>)
</p>
        <p>
          <strong>Typsystem</strong>
        </p>
        <p>
Änderungen am Typsystem, die Versionierung und Deployment vereinfachen sollen, und
z.B. die Arbeit mit COM Komponenten ohne Primary Interop Assemblies ermöglichen sollen
</p>
        <p>
(<a title="http://channel9.msdn.com/pdc2008/TL02/" href="http://channel9.msdn.com/pdc2008/TL02/">http://channel9.msdn.com/pdc2008/TL02/</a>)
</p>
        <p>
          <strong>Entity Framework</strong>
        </p>
        <p>
Wird einfacher und soll Model Driven Development (POCO?) besser unterstützen. 
</p>
        <p>
Interessant ist hier aber auch, was nicht in den Abstracts steht – es gibt bisher
keine Session zu LINQ to SQL Neuerungen.
</p>
        <p>
(<a title="http://channel9.msdn.com/pdc2008/TL20/" href="http://channel9.msdn.com/pdc2008/TL20/">http://channel9.msdn.com/pdc2008/TL20/</a>)
</p>
        <p>
          <strong>Sync Services</strong>
        </p>
        <p>
Synchronisierung mit der “Cloud”. Kann vieles bedeuten, z.B. Live Mesh oder Data Services.
Da die Session nicht mit “Live Mesh” getaggt wurde, obwohl es ein Tag dafür gibt,
vermutlich eher letzteres. Dafür spricht auch, dass die Sync Services auch in einer
SQL Server Data Services Session erwähnt werden.
</p>
        <p>
(<a title="http://channel9.msdn.com/pdc2008/TL30/" href="http://channel9.msdn.com/pdc2008/TL30/">http://channel9.msdn.com/pdc2008/TL30/</a>)
</p>
        <p>
          <strong>Cloud Services</strong>
        </p>
        <p>
Mit 33 Sessions eindeutig ein (der?) Schwerpunkt der PDC, gefolgt von Live Services
mit 14, die ja auch eine “Coud”-Technologie sind, und ein “Live Framework” mit 10
Sessions. Dann wären da noch die SQL Server Data Services mit 7 Sessions. Dazu kommen
noch Sessions zu “Windows Strata”, die <a href="http://www.istartedsomething.com/20081008/windows-strata-name-microsoft-cloud-os/">kurz
in der Agenda aufgetaucht, aber dann wieder verschwunden</a> sind.
</p>
        <p>
          <strong>Windows CardSpace</strong>
        </p>
        <p>
Die nächste Version hat den Codenamen “Geneva”, und es gibt ein Server Produkt dazu,
den “Geneva” Server. Der Name taucht aber nur in der Kurzfassung der Session auf,
die über die Session Liste angezeigt wird. Auf der Details-Seite geht es dann nur
um “Zermatt”.
</p>
        <p>
          <strong>Oslo</strong>
        </p>
        <p>
Zu Oslo gibt es gerade mal 5 Sessions, und aus den Abstracts lässt sich nichts entnehmen,
was nicht schon ansatzweise in verschiedenen Blogs und Artikeln erwähnt wurde. Schade.
</p>
        <p>
          <strong>VB.NET</strong>
        </p>
        <p>
Weitere LINQ-Features (wie auch immer diese aussehen mögen), vereinfachter Syntax,
vielleicht auch Metadata-Programming und Scripting. Viele Infos sind das leider nicht,
aber mehr als zu C#, wo der Abstract nichts neues verrät.
</p>
        <p>
(<a title="http://channel9.msdn.com/pdc2008/TL12/" href="http://channel9.msdn.com/pdc2008/TL12/">http://channel9.msdn.com/pdc2008/TL12/</a>)
</p>
        <p>
          <strong>Windows Server vNext</strong>
        </p>
        <p>
Unterstützung für ASP.NET in der Server Core Variante – nett!
</p>
        <p>
(<a title="http://channel9.msdn.com/pdc2008/ES06/" href="http://channel9.msdn.com/pdc2008/ES06/">http://channel9.msdn.com/pdc2008/ES06/</a>)
</p>
        <p>
          <strong>Windows 7</strong>
        </p>
        <p>
Leider nichts neues, zu den “interessanten” Sessions steht als Beschreibung nur “TBD”.
Aus den Titeln kann man nur entnehmen, dass es z.B. neue APIs für Text, Grafik, Suche
und Shell geben wird.
</p>
        <p>
 
</p>
        <p>
Ich bin sehr gespannt was Microsoft denn nun wirklich auf der PDC ankündigen wird.
Schade dass ich nicht dabei sein kann. 
</p>
        <div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:12407749-b586-4b36-89fd-ff2e710bb065" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati-Tags: <a href="http://technorati.com/tags/PDC" rel="tag">PDC</a>,<a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/.NET+Future" rel="tag">.NET
Future</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=f9554c17-0156-48ba-8884-2e69b37887be" />
      </div>
    </content>
  </entry>
  <entry>
    <title>.NET User Group Paderborn &amp;ndash; Wunschthema f&amp;uuml;r den 06.10.08</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/10/01/NET+User+Group+Paderborn+Ndash+Wunschthema+Fuumlr+Den+061008.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,a0021495-441b-4841-9174-1ca11da9a8fd.aspx</id>
    <published>2008-10-02T00:24:06.674+02:00</published>
    <updated>2008-10-02T00:24:06.674+02:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term=".NET User Group Paderborn" label=".NET User Group Paderborn" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NETUserGroupPaderborn.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Da wir bis jetzt noch kein Thema für das nächste Treffen haben habe ich mir überlegt,
einfach einen meiner Vorträge von der BASTA und vom Herbstcampus vorzutragen. Aber
nicht einfach irgendeinen – ich lasse abstimmen. Hier sind die möglichen Themen für
das nächste Treffen:
</p>
        <p>
          <script type="text/javascript" language="javascript" src="http://s3.polldaddy.com/p/966619.js">
          </script>
        </p>
        <noscript>
        </noscript>
        <p>
Die Umfrage ist noch offen bis Sonntag um 15 Uhr.
</p>
        <div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:312384bb-f0d5-4564-b05e-a39b599af735" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati-Tags: <a href="http://technorati.com/tags/INETA" rel="tag">INETA</a>,<a href="http://technorati.com/tags/.NET+User+Group+Paderborn" rel="tag">.NET
User Group Paderborn</a></div>
        <img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=a0021495-441b-4841-9174-1ca11da9a8fd" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Folien zu meinen Pr&amp;auml;sentationen auf der NRW08, dem Herbstcampus und der BASTA</title>
    <link rel="alternate" type="text/html" href="http://www.outofcoffeeexception.de/2008/09/28/Folien+Zu+Meinen+Praumlsentationen+Auf+Der+NRW08+Dem+Herbstcampus+Und+Der+BASTA.aspx" />
    <id>http://www.outofcoffeeexception.de/PermaLink,guid,d97ed5ef-99fe-4aca-9673-36d2a56c15df.aspx</id>
    <published>2008-09-28T18:56:21.332125+02:00</published>
    <updated>2008-09-28T18:56:21.332125+02:00</updated>
    <category term=".NET" label=".NET" scheme="http://www.outofcoffeeexception.de/CategoryView,category,NET.aspx" />
    <category term="Trainings, Konferenzen, Events" label="Trainings, Konferenzen, Events" scheme="http://www.outofcoffeeexception.de/CategoryView,category,TrainingsKonferenzenEvents.aspx" />
    <content type="html">&lt;p&gt;
Hier sind die Folien zu meinen Vorträgen im September (das war ein anstrengender Monat…):
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.outofcoffeeexception.de/downloads/NRW08%20-%20Mathias%20Raacke%20-%20OpenXML%20SDK%20v2.pdf"&gt;NRW08:
Das Open XML Format SDK v2&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.outofcoffeeexception.de/downloads/herbstcampus08%20-%20mathias%20raacke%20-%2010%20provider%20f&amp;uuml;r%20linq.pdf"&gt;Herbstcampus
2008: LINQ to * – 10 Provider für LINQ&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.outofcoffeeexception.de/downloads/herbstcampus08%20-%20mathias%20raacke%20-%20ado%20.net%20sync%20services%202.0.pdf"&gt;Herbstcampus
2008: Daten zum mitnehmen – Sync Services für ADO .NET v2&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.outofcoffeeexception.de/downloads/basta08%20-%20Mathias%20Raacke%20-%20Das%20OpenXML%20SDK.pdf"&gt;BASTA
2008: Das Open XML Format SDK v2&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.outofcoffeeexception.de/downloads/basta08%20-%20Mathias%20Raacke%20-%20LINQ%20to%20SQL.pdf"&gt;BASTA
2008: Eine Einführung in LINQ to SQL&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.outofcoffeeexception.de/downloads/basta08%20-%20Mathias%20Raacke%20-%20ASP.NET%20Dynamic%20Data.pdf"&gt;BASTA
2008: Fertige Webseiten in 5 Minuten? ASP .NET Dynamic Data&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Die Folien zu meinem Vortrag “LINQ to SQL vs. ADO .NET Entity Framework” von der ICE
habe ich anscheinend leider nicht mehr. Ich musste meinen Rechner direkt nach dem
Vortrag an Microsoft zurück geben, und hatte die Folien *eigentlich* über Live Mesh
synchronisiert, anscheinend war der Upload aber nicht abgeschlossen. Wenn ich sie
nicht noch auf irgendeinem USB Stick finde sind sie dann wohl weg. Von allen Vorträgen
hier hat mir dieser aber sowieso am wenigsten gefallen (auch vom Teilnehmerfeedback
her).
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a64fe64f-d1e1-40c5-ace1-2580a9bf58ed" class="wlWriterEditableSmartContent"&gt;Technorati-Tags: &lt;a href="http://technorati.com/tags/nrw08" rel="tag"&gt;nrw08&lt;/a&gt;,&lt;a href="http://technorati.com/tags/herbstcampus" rel="tag"&gt;herbstcampus&lt;/a&gt;,&lt;a href="http://technorati.com/tags/basta" rel="tag"&gt;basta&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.outofcoffeeexception.de/aggbug.ashx?id=d97ed5ef-99fe-4aca-9673-36d2a56c15df" /&gt;</content>
  </entry>
</feed>