<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Florian Mätschke   -    .NET Strikes Back</title>
    <link>http://blogs.dotnet-braunschweig.de/Florian/</link>
    <description>C#, XNA, .NET Development &amp; Entertainment</description>
    <language>de-de</language>
    <copyright>Florian Mätschke</copyright>
    <lastBuildDate>Mon, 25 Jan 2010 17:16:52 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>f.maetschke@dotnet-braunschweig.de</managingEditor>
    <webMaster>f.maetschke@dotnet-braunschweig.de</webMaster>
    <item>
      <trackback:ping>http://blogs.dotnet-braunschweig.de/Florian/Trackback.aspx?guid=5e918dbb-5e95-49bf-a2b9-b3298640a432</trackback:ping>
      <pingback:server>http://blogs.dotnet-braunschweig.de/Florian/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,5e918dbb-5e95-49bf-a2b9-b3298640a432.aspx</pingback:target>
      <dc:creator>Florian Mätschke</dc:creator>
      <wfw:comment>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,5e918dbb-5e95-49bf-a2b9-b3298640a432.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.dotnet-braunschweig.de/Florian/SyndicationService.asmx/GetEntryCommentsRss?guid=5e918dbb-5e95-49bf-a2b9-b3298640a432</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
        <img style="border-bottom: 0px; border-left: 0px; margin: 10px; display: inline; border-top: 0px; border-right: 0px" border="0" alt="http://www.chip.de/preisvergleich/19123/Brother-HL-1030.jpg" align="right" src="http://www.chip.de/preisvergleich/19123/Brother-HL-1030.jpg" />
        <p>
Durch meinen Umzug bin ich auf einen Uralt-Drucker, den mir irgendwann mal mein Bruder
mitgegeben hat, gestoßen. Naja, ganz so alt ist er nun doch nicht, da es schon ein
Laser-Drucker ist Aber wohl mit einer der ersten will ich meinen.
</p>
        <p>
Ich habe mich Anfangs etwas schwer getan, einen Vista oder Windows 7 Treiber dafür
zu finden. Windows 7 erkennt das Gerät richtig am Parallelport zwar, aber fügt es
bei der Drucker-Geräte-Ansicht unter andere Geräte ein, sodass es nicht als Drucker
verwendet werden kann. Eine Installation des XP-Treibers ist mir ebenfalls nicht gelungen.
</p>
        <p>
          <strong>TIP: </strong>Die Lösung ist am Ende dann doch ganz einfach gewesen:
</p>
        <p>
          <em>Man <u>installiert</u> einfach den <u>Brother HL-2140 Treiber, der bei Windows
7 dabei ist</u> und schon druckt man auch auf dem modernsten Betriebssystem mit uralten
Peripheriegeräten.</em>
        </p>
        <img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=5e918dbb-5e95-49bf-a2b9-b3298640a432" />
      </body>
      <title>Brother HL-1030 unter Windows 7!</title>
      <guid isPermaLink="false">http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,5e918dbb-5e95-49bf-a2b9-b3298640a432.aspx</guid>
      <link>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,5e918dbb-5e95-49bf-a2b9-b3298640a432.aspx</link>
      <pubDate>Mon, 25 Jan 2010 17:16:52 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
&lt;img style="border-bottom: 0px; border-left: 0px; margin: 10px; display: inline; border-top: 0px; border-right: 0px" border="0" alt="http://www.chip.de/preisvergleich/19123/Brother-HL-1030.jpg" align="right" src="http://www.chip.de/preisvergleich/19123/Brother-HL-1030.jpg" /&gt; 
&lt;p&gt;
Durch meinen Umzug bin ich auf einen Uralt-Drucker, den mir irgendwann mal mein Bruder
mitgegeben hat, gestoßen. Naja, ganz so alt ist er nun doch nicht, da es schon ein
Laser-Drucker ist Aber wohl mit einer der ersten will ich meinen.
&lt;/p&gt;
&lt;p&gt;
Ich habe mich Anfangs etwas schwer getan, einen Vista oder Windows 7 Treiber dafür
zu finden. Windows 7 erkennt das Gerät richtig am Parallelport zwar, aber fügt es
bei der Drucker-Geräte-Ansicht unter andere Geräte ein, sodass es nicht als Drucker
verwendet werden kann. Eine Installation des XP-Treibers ist mir ebenfalls nicht gelungen.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;TIP: &lt;/strong&gt;Die Lösung ist am Ende dann doch ganz einfach gewesen:
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Man &lt;u&gt;installiert&lt;/u&gt; einfach den &lt;u&gt;Brother HL-2140 Treiber, der bei Windows
7 dabei ist&lt;/u&gt; und schon druckt man auch auf dem modernsten Betriebssystem mit uralten
Peripheriegeräten.&lt;/em&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=5e918dbb-5e95-49bf-a2b9-b3298640a432" /&gt;</description>
      <comments>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,5e918dbb-5e95-49bf-a2b9-b3298640a432.aspx</comments>
      <category>Hardware</category>
      <category>Windows</category>
    </item>
    <item>
      <trackback:ping>http://blogs.dotnet-braunschweig.de/Florian/Trackback.aspx?guid=1e994c9b-f947-4995-bd92-7bee2459e807</trackback:ping>
      <pingback:server>http://blogs.dotnet-braunschweig.de/Florian/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,1e994c9b-f947-4995-bd92-7bee2459e807.aspx</pingback:target>
      <dc:creator>Florian Mätschke</dc:creator>
      <wfw:comment>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,1e994c9b-f947-4995-bd92-7bee2459e807.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.dotnet-braunschweig.de/Florian/SyndicationService.asmx/GetEntryCommentsRss?guid=1e994c9b-f947-4995-bd92-7bee2459e807</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://www.battlefield.de" target="_blank">
          <img style="margin: 10px; display: inline" alt="http://www.cod4-gerbtown.de/clan/uploads/fckeditor/image/battlefield-bad-company-2.jpg" align="left" src="http://www.cod4-gerbtown.de/clan/uploads/fckeditor/image/battlefield-bad-company-2.jpg" width="192" height="137" />
        </a>Auch
ein Entwickler muss mal abschalten und sich hin und wieder einem Computerspiel widmen.
Da ich in früherer Zeit gerne Battlefield 2 gespielt habe, von den Nachfolgern aber
eher enttäuscht gewesen bin, setze ich jetzt alles auf den Nachfolger von Bad Company,
Battlefield: Bad Company 2, für die optimale Unterhaltungsaction am Abend, wenn die
Freundin wieder Desperate Housewives guckt. 
<p>
So kam es, dass ich 4 Spiele bei Amazon für mich und Bekannte vorbestellt habe.
</p><p><strong>Kürzlich erhielt ich folgendes Schreiben von Amazon.</strong></p><blockquote><p><em><font size="1">Sie haben bei Amazon.de ein oder mehrere Exemplare von "Battlefield:
Bad Company 2 - Limited Edition" für den PC vorbestellt und erhalten hiermit
Ihren Beta-key/Ihre Beta-keys, mit denen Sie an der PC Beta teilnehmen können. </font></em></p><p><em><font size="1">Die Beta findet vom 28. Januar - 25. Februar 2010 statt. Die Homepage,
auf der Sie Ihren Key eingeben können um sich für die Beta zu registrieren ist leider
noch nicht aktiv und wird erst kurz vor Betastart bekannt gegeben. </font></em></p><p><em><font size="1">Diese Informationen werden wir sobald sie uns vorliegen auf unserer
Aktionsseite ( </font></em><a href="http://www.amazon.de/gp/feature.html?docId=1000371403"><em><font size="1">http://www.amazon.de/gp/feature.html?docId=1000371403</font></em></a><em><font size="1"> )
aktualisieren. </font></em></p><p><em><font size="1">Und hier finden Sie Ihr Key/Ihre Keys:</font></em></p><p><em>***snip!!! :) ***</em></p></blockquote><p>
Da bin ich ja mal gespannt! :)
</p><p>
Sofern ich nicht ausgelost worden bin:
</p><h3>Wer Preorder bestellt bekommt wohl Zugang zur PC-Beta!!!
</h3><p>
Auch in Anbetracht, was mit der Programmiersprache C# möglich ist, für dieses Spiel
zu programmieren. In meiner Vergangenheit hatte ich auch schon an dem Alternativen
Battlefield Ranking (ABR) mitgearbeitet. Durch die Beta erhält man vielleicht vorab
eine gute Möglichkeit für die Entwicklung. 
</p><p>
Das Spiel erscheint in Deutschland offiziell am 04.03.2010.
</p><p>
Und hier nochmal ein kleiner Eindruck vom Gameplay:
</p><h4>Battlefield: Bad Company 2 – Gameplay Moments
</h4><div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:277c888a-6a17-409f-82c6-54dbdc5fc64e" class="wlWriterEditableSmartContent"><div id="a33990dc-c6ad-4b07-aaa0-7b33d64f4ef2" style="margin: 0px; padding: 0px; display: inline;"><div><a href="http://www.youtube.com/watch?v=oJsLKqYctW4" target="_new"><img src="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/PreorderBattlefieldBadCompany2LimitedEdi_AE00/video7baf2737d873.jpg" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('a33990dc-c6ad-4b07-aaa0-7b33d64f4ef2'); downlevelDiv.innerHTML = &quot;&lt;div&gt;&lt;object width=\&quot;425\&quot; height=\&quot;355\&quot;&gt;&lt;param name=\&quot;movie\&quot; value=\&quot;http://www.youtube.com/v/oJsLKqYctW4&amp;hl=en\&quot;&gt;&lt;\/param&gt;&lt;embed src=\&quot;http://www.youtube.com/v/oJsLKqYctW4&amp;hl=en\&quot; type=\&quot;application/x-shockwave-flash\&quot; width=\&quot;425\&quot; height=\&quot;355\&quot;&gt;&lt;\/embed&gt;&lt;\/object&gt;&lt;\/div&gt;&quot;;" alt="" /></a></div></div></div><p>
Sowie die beiden gelungenen Squad-Story-Trailer, die ich Euch ebenfalls nicht vorenthalten
möchte.
</p><p>
 
</p><h4>Battlefield: Bad Company 2 - Squad Stories #1
</h4><div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:687c2e46-86be-423d-ba59-52296e4a1317" class="wlWriterEditableSmartContent"><div id="f6c581da-2628-4f17-9385-48e61abec445" style="margin: 0px; padding: 0px; display: inline;"><div><a href="http://www.youtube.com/watch?v=0ZNCDzEqoCA&amp;feature=PlayList&amp;p=4EEB96B73ED851E0&amp;index=6&amp;playnext=2&amp;playnext_from=PL" target="_new"><img src="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/PreorderBattlefieldBadCompany2LimitedEdi_AE00/video9890a557f4b1.jpg" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('f6c581da-2628-4f17-9385-48e61abec445'); downlevelDiv.innerHTML = &quot;&lt;div&gt;&lt;object width=\&quot;425\&quot; height=\&quot;355\&quot;&gt;&lt;param name=\&quot;movie\&quot; value=\&quot;http://www.youtube.com/v/0ZNCDzEqoCA&amp;hl=en\&quot;&gt;&lt;\/param&gt;&lt;embed src=\&quot;http://www.youtube.com/v/0ZNCDzEqoCA&amp;hl=en\&quot; type=\&quot;application/x-shockwave-flash\&quot; width=\&quot;425\&quot; height=\&quot;355\&quot;&gt;&lt;\/embed&gt;&lt;\/object&gt;&lt;\/div&gt;&quot;;" alt="" /></a></div></div></div><p>
 
</p><h4>Battlefield: Bad Company 2 - Squad Stories #2
</h4><p></p><div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:c8bb9fb1-f330-4dd5-b143-5f929292c308" class="wlWriterEditableSmartContent"><div id="420dd799-f3f0-4f6d-8bca-85d4a2c685c0" style="margin: 0px; padding: 0px; display: inline;"><div><a href="http://www.youtube.com/watch?v=3WClZ1MP4Ck&amp;feature=PlayList&amp;p=4EEB96B73ED851E0&amp;playnext=1&amp;playnext_from=PL&amp;index=5" target="_new"><img src="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/PreorderBattlefieldBadCompany2LimitedEdi_AE00/video82a69209a8be.jpg" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('420dd799-f3f0-4f6d-8bca-85d4a2c685c0'); downlevelDiv.innerHTML = &quot;&lt;div&gt;&lt;object width=\&quot;425\&quot; height=\&quot;355\&quot;&gt;&lt;param name=\&quot;movie\&quot; value=\&quot;http://www.youtube.com/v/3WClZ1MP4Ck&amp;hl=en\&quot;&gt;&lt;\/param&gt;&lt;embed src=\&quot;http://www.youtube.com/v/3WClZ1MP4Ck&amp;hl=en\&quot; type=\&quot;application/x-shockwave-flash\&quot; width=\&quot;425\&quot; height=\&quot;355\&quot;&gt;&lt;\/embed&gt;&lt;\/object&gt;&lt;\/div&gt;&quot;;" alt="" /></a></div></div></div><img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=1e994c9b-f947-4995-bd92-7bee2459e807" /></body>
      <title>Preorder Battlefield: Bad Company 2 - Limited Edition erm&amp;ouml;glicht Betazugang</title>
      <guid isPermaLink="false">http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,1e994c9b-f947-4995-bd92-7bee2459e807.aspx</guid>
      <link>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,1e994c9b-f947-4995-bd92-7bee2459e807.aspx</link>
      <pubDate>Fri, 22 Jan 2010 11:22:25 GMT</pubDate>
      <description>&lt;a href="http://www.battlefield.de" target="_blank"&gt;&lt;img style="margin: 10px; display: inline" alt="http://www.cod4-gerbtown.de/clan/uploads/fckeditor/image/battlefield-bad-company-2.jpg" align="left" src="http://www.cod4-gerbtown.de/clan/uploads/fckeditor/image/battlefield-bad-company-2.jpg" width="192" height="137" /&gt;&lt;/a&gt;Auch
ein Entwickler muss mal abschalten und sich hin und wieder einem Computerspiel widmen.
Da ich in früherer Zeit gerne Battlefield 2 gespielt habe, von den Nachfolgern aber
eher enttäuscht gewesen bin, setze ich jetzt alles auf den Nachfolger von Bad Company,
Battlefield: Bad Company 2, für die optimale Unterhaltungsaction am Abend, wenn die
Freundin wieder Desperate Housewives guckt. 
&lt;p&gt;
So kam es, dass ich 4 Spiele bei Amazon für mich und Bekannte vorbestellt habe.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Kürzlich erhielt ich folgendes Schreiben von Amazon.&lt;/strong&gt;
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;em&gt;&lt;font size="1"&gt;Sie haben bei Amazon.de ein oder mehrere Exemplare von &amp;quot;Battlefield:
Bad Company 2 - Limited Edition&amp;quot; für den PC vorbestellt und erhalten hiermit
Ihren Beta-key/Ihre Beta-keys, mit denen Sie an der PC Beta teilnehmen können. &lt;/font&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;&lt;font size="1"&gt;Die Beta findet vom 28. Januar - 25. Februar 2010 statt. Die Homepage,
auf der Sie Ihren Key eingeben können um sich für die Beta zu registrieren ist leider
noch nicht aktiv und wird erst kurz vor Betastart bekannt gegeben. &lt;/font&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;&lt;font size="1"&gt;Diese Informationen werden wir sobald sie uns vorliegen auf unserer
Aktionsseite ( &lt;/font&gt;&lt;/em&gt;&lt;a href="http://www.amazon.de/gp/feature.html?docId=1000371403"&gt;&lt;em&gt;&lt;font size="1"&gt;http://www.amazon.de/gp/feature.html?docId=1000371403&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt; )
aktualisieren. &lt;/font&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;&lt;font size="1"&gt;Und hier finden Sie Ihr Key/Ihre Keys:&lt;/font&gt; &lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;***snip!!! :) ***&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Da bin ich ja mal gespannt! :)
&lt;/p&gt;
&lt;p&gt;
Sofern ich nicht ausgelost worden bin:
&lt;/p&gt;
&lt;h3&gt;Wer Preorder bestellt bekommt wohl Zugang zur PC-Beta!!!
&lt;/h3&gt;
&lt;p&gt;
Auch in Anbetracht, was mit der Programmiersprache C# möglich ist, für dieses Spiel
zu programmieren. In meiner Vergangenheit hatte ich auch schon an dem Alternativen
Battlefield Ranking (ABR) mitgearbeitet. Durch die Beta erhält man vielleicht vorab
eine gute Möglichkeit für die Entwicklung. 
&lt;/p&gt;
&lt;p&gt;
Das Spiel erscheint in Deutschland offiziell am 04.03.2010.
&lt;/p&gt;
&lt;p&gt;
Und hier nochmal ein kleiner Eindruck vom Gameplay:
&lt;/p&gt;
&lt;h4&gt;Battlefield: Bad Company 2 – Gameplay Moments
&lt;/h4&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:277c888a-6a17-409f-82c6-54dbdc5fc64e" class="wlWriterEditableSmartContent"&gt;
&lt;div id="a33990dc-c6ad-4b07-aaa0-7b33d64f4ef2" style="margin: 0px; padding: 0px; display: inline;"&gt;
&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=oJsLKqYctW4" target="_new"&gt;&lt;img src="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/PreorderBattlefieldBadCompany2LimitedEdi_AE00/video7baf2737d873.jpg" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('a33990dc-c6ad-4b07-aaa0-7b33d64f4ef2'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/oJsLKqYctW4&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/oJsLKqYctW4&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Sowie die beiden gelungenen Squad-Story-Trailer, die ich Euch ebenfalls nicht vorenthalten
möchte.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;h4&gt;Battlefield: Bad Company 2 - Squad Stories #1
&lt;/h4&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:687c2e46-86be-423d-ba59-52296e4a1317" class="wlWriterEditableSmartContent"&gt;
&lt;div id="f6c581da-2628-4f17-9385-48e61abec445" style="margin: 0px; padding: 0px; display: inline;"&gt;
&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=0ZNCDzEqoCA&amp;amp;feature=PlayList&amp;amp;p=4EEB96B73ED851E0&amp;amp;index=6&amp;amp;playnext=2&amp;amp;playnext_from=PL" target="_new"&gt;&lt;img src="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/PreorderBattlefieldBadCompany2LimitedEdi_AE00/video9890a557f4b1.jpg" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('f6c581da-2628-4f17-9385-48e61abec445'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/0ZNCDzEqoCA&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/0ZNCDzEqoCA&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;h4&gt;Battlefield: Bad Company 2 - Squad Stories #2
&lt;/h4&gt;
&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:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:c8bb9fb1-f330-4dd5-b143-5f929292c308" class="wlWriterEditableSmartContent"&gt;
&lt;div id="420dd799-f3f0-4f6d-8bca-85d4a2c685c0" style="margin: 0px; padding: 0px; display: inline;"&gt;
&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=3WClZ1MP4Ck&amp;amp;feature=PlayList&amp;amp;p=4EEB96B73ED851E0&amp;amp;playnext=1&amp;amp;playnext_from=PL&amp;amp;index=5" target="_new"&gt;&lt;img src="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/PreorderBattlefieldBadCompany2LimitedEdi_AE00/video82a69209a8be.jpg" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('420dd799-f3f0-4f6d-8bca-85d4a2c685c0'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/3WClZ1MP4Ck&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/3WClZ1MP4Ck&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&gt;
&lt;img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=1e994c9b-f947-4995-bd92-7bee2459e807" /&gt;</description>
      <comments>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,1e994c9b-f947-4995-bd92-7bee2459e807.aspx</comments>
      <category>Games &amp; Entertainment</category>
    </item>
    <item>
      <trackback:ping>http://blogs.dotnet-braunschweig.de/Florian/Trackback.aspx?guid=adc199b5-b991-43e8-9b3d-239722683c22</trackback:ping>
      <pingback:server>http://blogs.dotnet-braunschweig.de/Florian/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,adc199b5-b991-43e8-9b3d-239722683c22.aspx</pingback:target>
      <dc:creator>Florian Mätschke</dc:creator>
      <wfw:comment>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,adc199b5-b991-43e8-9b3d-239722683c22.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.dotnet-braunschweig.de/Florian/SyndicationService.asmx/GetEntryCommentsRss?guid=adc199b5-b991-43e8-9b3d-239722683c22</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Am Donnerstag habe ich einen sehr coolen Stift in der Uni gesehen, mit dem man auf
dem Papier malen kann. – Toll, kann doch eigentlich fast jeder Stift, wenn er nicht
grade alle ist. Das Tolle an dem Teil ist jedoch, er ist <strong>digital</strong> und
trotzdem ein <strong>Kugelschreiber!</strong></p>
        <h4>Digitaler Kugelschreiber – Digital Ballpoint Pen
</h4>
        <p>
          <strong>
          </strong>
          <a href="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/NochkeinWeihnachtsgeschenk_10112/neuer-stift.jpg">
            <img style="border-bottom: 0px; border-left: 0px; margin: 0px 50px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="neuer-stift" border="0" alt="neuer-stift" align="left" src="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/NochkeinWeihnachtsgeschenk_10112/neuer-stift_thumb.jpg" width="317" height="480" />
          </a>
        </p>
        <p>
 
</p>
        <ul>
          <li>
Mit dem Stift ist es  möglich im online Betrieb live am PC zu malen. 
<br />
Das ist zum Beispiel praktisch, wenn man in Photoshop etwas malen möchte.</li>
          <li>
Zusätzlich gibt es ein Texterkennungsprogramm ähnlich wie ein Tablet-PC.</li>
          <li>
Im offline-Modus können bis zu 100 Seiten gespeichert werden, z.B. in der Uni in einer
Vorlesung. :)</li>
          <li>
Die Bedienung ist kinderleicht.</li>
          <li>
Im Gegensatz zu einem Tablet von WACOM ohne Display, sieht man jetzt auch endlich,
was man gerade zeichnet. 
</li>
          <li>
            <strong>Preis: 80€</strong> bei Tchibo</li>
        </ul>
        <p>
 
</p>
        <p>
Hier mal ein geistiger, künstlerischer Erguss für ein Testbild:
</p>
        <p>
          <a href="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/NochkeinWeihnachtsgeschenk_10112/neuer-stift-test.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="neuer-stift-test" border="0" alt="neuer-stift-test" src="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/NochkeinWeihnachtsgeschenk_10112/neuer-stift-test_thumb.jpg" width="596" height="484" />
          </a>
        </p>
        <p>
 
</p>
        <p>
Das Bild entspricht einer halben Din A4 Seite…
</p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
          <a href="http://www.tchibo.eu/is-bin/INTERSHOP.enfinity/eCS/Store/eu/-/EUR/TdEuDisplayProductInformation-Start?ProductSKU=0018308" target="_blank">Hier
gehts zum Online-Shop von Tchibo!</a>
        </p>
        <p>
Dort ist das Gerät bereits ausverkauft.
</p>
        <p>
Im Tchibo-Store eurer Stadt der Wahl habt ihr bestimmt noch Glück. Dort habe ich meinen
nämlich auch her. :)
</p>
        <img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=adc199b5-b991-43e8-9b3d-239722683c22" />
      </body>
      <title>Noch kein Weihnachtsgeschenk?</title>
      <guid isPermaLink="false">http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,adc199b5-b991-43e8-9b3d-239722683c22.aspx</guid>
      <link>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,adc199b5-b991-43e8-9b3d-239722683c22.aspx</link>
      <pubDate>Fri, 18 Dec 2009 17:16:54 GMT</pubDate>
      <description>&lt;p&gt;
Am Donnerstag habe ich einen sehr coolen Stift in der Uni gesehen, mit dem man auf
dem Papier malen kann. – Toll, kann doch eigentlich fast jeder Stift, wenn er nicht
grade alle ist. Das Tolle an dem Teil ist jedoch, er ist &lt;strong&gt;digital&lt;/strong&gt; und
trotzdem ein &lt;strong&gt;Kugelschreiber!&lt;/strong&gt;
&lt;/p&gt;
&lt;h4&gt;Digitaler Kugelschreiber – Digital Ballpoint Pen
&lt;/h4&gt;
&lt;p&gt;
&lt;strong&gt;&lt;/strong&gt;&lt;a href="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/NochkeinWeihnachtsgeschenk_10112/neuer-stift.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 50px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="neuer-stift" border="0" alt="neuer-stift" align="left" src="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/NochkeinWeihnachtsgeschenk_10112/neuer-stift_thumb.jpg" width="317" height="480" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Mit dem Stift ist es&amp;#160; möglich im online Betrieb live am PC zu malen. 
&lt;br /&gt;
Das ist zum Beispiel praktisch, wenn man in Photoshop etwas malen möchte.&lt;/li&gt;
&lt;li&gt;
Zusätzlich gibt es ein Texterkennungsprogramm ähnlich wie ein Tablet-PC.&lt;/li&gt;
&lt;li&gt;
Im offline-Modus können bis zu 100 Seiten gespeichert werden, z.B. in der Uni in einer
Vorlesung. :)&lt;/li&gt;
&lt;li&gt;
Die Bedienung ist kinderleicht.&lt;/li&gt;
&lt;li&gt;
Im Gegensatz zu einem Tablet von WACOM ohne Display, sieht man jetzt auch endlich,
was man gerade zeichnet. 
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Preis: 80€&lt;/strong&gt; bei Tchibo&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
Hier mal ein geistiger, künstlerischer Erguss für ein Testbild:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/NochkeinWeihnachtsgeschenk_10112/neuer-stift-test.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="neuer-stift-test" border="0" alt="neuer-stift-test" src="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/NochkeinWeihnachtsgeschenk_10112/neuer-stift-test_thumb.jpg" width="596" height="484" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
Das Bild entspricht einer halben Din A4 Seite…
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.tchibo.eu/is-bin/INTERSHOP.enfinity/eCS/Store/eu/-/EUR/TdEuDisplayProductInformation-Start?ProductSKU=0018308" target="_blank"&gt;Hier
gehts zum Online-Shop von Tchibo!&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Dort ist das Gerät bereits ausverkauft.
&lt;/p&gt;
&lt;p&gt;
Im Tchibo-Store eurer Stadt der Wahl habt ihr bestimmt noch Glück. Dort habe ich meinen
nämlich auch her. :)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=adc199b5-b991-43e8-9b3d-239722683c22" /&gt;</description>
      <comments>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,adc199b5-b991-43e8-9b3d-239722683c22.aspx</comments>
      <category>Dies und Das</category>
      <category>Hardware</category>
    </item>
    <item>
      <trackback:ping>http://blogs.dotnet-braunschweig.de/Florian/Trackback.aspx?guid=a243854b-dff1-490b-813d-fab5d38dba29</trackback:ping>
      <pingback:server>http://blogs.dotnet-braunschweig.de/Florian/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,a243854b-dff1-490b-813d-fab5d38dba29.aspx</pingback:target>
      <dc:creator>Florian Mätschke</dc:creator>
      <wfw:comment>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,a243854b-dff1-490b-813d-fab5d38dba29.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.dotnet-braunschweig.de/Florian/SyndicationService.asmx/GetEntryCommentsRss?guid=a243854b-dff1-490b-813d-fab5d38dba29</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Unter Verwendung der neuen NVIDIA Treiber in Windows 7 / Vista  / XP wird der <strong>ViewSonic
Monitor VX2835WM</strong> in den <strong>HMDI – PC Modus</strong> gesetzt. Das Resultat
ist ein 1 Pixel großer grün-lila-Streifen am unteren Bildschirmrand sowie ein unscharfes,
eher milchiges Bild.
</p>
        <p>
Normalerweise sollte der Monitor in DVI-Modus laufen <em>(was er im Normalfall auch
tat)</em>. Dort ist das Bild wesentlich klarer und auch ohne diesen Streifen.
</p>
        <p>
Die ganze Problematik hängt mit der falschen <a href="http://de.wikipedia.org/wiki/Extended_Display_Identification_Data" target="_blank">Extended
Display Identification Data</a> (EDID) zusammen. Ist diese richtig, ist das Problem
gelöst!
</p>
        <p>
Es gibt zwei Wege das Problem zu lösen. Der eine Weg würde die nv_disp.inf modifizieren.
Dies hat sich allerdings mit neueren Treiberversionen von NVIDIA erledigt.
</p>
        <p>
Das ist jedoch nicht schlimm, denn die Änderung gibt nur an, was der Installer in
der Registry setzen soll. Diese Änderung können wir aber auch per Hand über den zweiten
Weg machen:
</p>
        <ol>
        </ol>
        <ol>
          <li>
Regedit öffnen! 
<br /></li>
          <li>
Folgenden Zweig ansteuern: 
<br /><strong>[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\]</strong><br /></li>
          <li>
Dann drückt man <strong>F3</strong> und sucht nach dem Zweig in dem der <u>Unterzweig</u> “<strong>VolatileSettings</strong>”
enthalten ist. Dies gibt die aktuelle NVIDIA Karte an. 
<br /><em>(Bei mir ist das zwei Zweige unter dem Video-Zweig mit “0000” als Namen.)</em><br /><em>Also zum Beispiel:</em><em>[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{636821D5-AFF3-43A5-A8D2-19BD25002B5C}\0000] 
<br /></em></li>
          <li>
Dort erstellt man jetzt einen neuen Binär-Schlüssel namens: 
<br />
“<strong>OverrideEdidFlags0</strong>” mit den Werten: 
<br /><strong>5A 63 1F 0F 00 00 FF FF 04 00 00 00 7E 01 00 
<br /></strong><em>(Die Werte werden ohne Komma einfach nacheinander eingegeben.) 
<br /></em></li>
          <li>
Abschließend nur noch neustarten!</li>
        </ol>
        <p>
Jetzt sollte alles wieder bestens funktionieren!
</p>
        <p>
Diese Variante könnte auch bei ähnlichen Problemen mit anderen Monitoren helfen. Dazu
gibt es EDID-Tools, die die EDID eines Monitors auslesen können. Einfach mal bei Google
suchen!
</p>
        <img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=a243854b-dff1-490b-813d-fab5d38dba29" />
      </body>
      <title>ViewSonic VX2835WM &amp;amp; NVIDIA Driver HDMI Problem (EDID)</title>
      <guid isPermaLink="false">http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,a243854b-dff1-490b-813d-fab5d38dba29.aspx</guid>
      <link>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,a243854b-dff1-490b-813d-fab5d38dba29.aspx</link>
      <pubDate>Sun, 13 Dec 2009 19:25:48 GMT</pubDate>
      <description>&lt;p&gt;
Unter Verwendung der neuen NVIDIA Treiber in Windows 7 / Vista&amp;#160; / XP wird der &lt;strong&gt;ViewSonic
Monitor VX2835WM&lt;/strong&gt; in den &lt;strong&gt;HMDI – PC Modus&lt;/strong&gt; gesetzt. Das Resultat
ist ein 1 Pixel großer grün-lila-Streifen am unteren Bildschirmrand sowie ein unscharfes,
eher milchiges Bild.
&lt;/p&gt;
&lt;p&gt;
Normalerweise sollte der Monitor in DVI-Modus laufen &lt;em&gt;(was er im Normalfall auch
tat)&lt;/em&gt;. Dort ist das Bild wesentlich klarer und auch ohne diesen Streifen.
&lt;/p&gt;
&lt;p&gt;
Die ganze Problematik hängt mit der falschen &lt;a href="http://de.wikipedia.org/wiki/Extended_Display_Identification_Data" target="_blank"&gt;Extended
Display Identification Data&lt;/a&gt; (EDID) zusammen. Ist diese richtig, ist das Problem
gelöst!
&lt;/p&gt;
&lt;p&gt;
Es gibt zwei Wege das Problem zu lösen. Der eine Weg würde die nv_disp.inf modifizieren.
Dies hat sich allerdings mit neueren Treiberversionen von NVIDIA erledigt.
&lt;/p&gt;
&lt;p&gt;
Das ist jedoch nicht schlimm, denn die Änderung gibt nur an, was der Installer in
der Registry setzen soll. Diese Änderung können wir aber auch per Hand über den zweiten
Weg machen:
&lt;/p&gt;
&lt;ol&gt;
&lt;ol&gt;
&lt;li&gt;
Regedit öffnen! 
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;
Folgenden Zweig ansteuern: 
&lt;br /&gt;
&lt;strong&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\]&lt;/strong&gt; 
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;
Dann drückt man &lt;strong&gt;F3&lt;/strong&gt; und sucht nach dem Zweig in dem der &lt;u&gt;Unterzweig&lt;/u&gt; “&lt;strong&gt;VolatileSettings&lt;/strong&gt;”
enthalten ist. Dies gibt die aktuelle NVIDIA Karte an. 
&lt;br /&gt;
&lt;em&gt;(Bei mir ist das zwei Zweige unter dem Video-Zweig mit “0000” als Namen.)&lt;/em&gt; 
&lt;br /&gt;
&lt;em&gt;Also zum Beispiel:&lt;/em&gt; &lt;em&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{636821D5-AFF3-43A5-A8D2-19BD25002B5C}\0000] 
&lt;br /&gt;
&lt;/em&gt; 
&lt;/li&gt;
&lt;li&gt;
Dort erstellt man jetzt einen neuen Binär-Schlüssel namens: 
&lt;br /&gt;
“&lt;strong&gt;OverrideEdidFlags0&lt;/strong&gt;” mit den Werten: 
&lt;br /&gt;
&lt;strong&gt;5A 63 1F 0F 00 00 FF FF 04 00 00 00 7E 01 00 
&lt;br /&gt;
&lt;/strong&gt;&lt;em&gt;(Die Werte werden ohne Komma einfach nacheinander eingegeben.) 
&lt;br /&gt;
&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
Abschließend nur noch neustarten!&lt;/li&gt;
&lt;/ol&gt;
&gt;
&lt;p&gt;
Jetzt sollte alles wieder bestens funktionieren!
&lt;/p&gt;
&lt;p&gt;
Diese Variante könnte auch bei ähnlichen Problemen mit anderen Monitoren helfen. Dazu
gibt es EDID-Tools, die die EDID eines Monitors auslesen können. Einfach mal bei Google
suchen!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=a243854b-dff1-490b-813d-fab5d38dba29" /&gt;</description>
      <comments>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,a243854b-dff1-490b-813d-fab5d38dba29.aspx</comments>
      <category>Hardware</category>
      <category>Windows</category>
    </item>
    <item>
      <trackback:ping>http://blogs.dotnet-braunschweig.de/Florian/Trackback.aspx?guid=035950c7-098e-4a3d-8b59-3fdd7b315cb0</trackback:ping>
      <pingback:server>http://blogs.dotnet-braunschweig.de/Florian/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,035950c7-098e-4a3d-8b59-3fdd7b315cb0.aspx</pingback:target>
      <dc:creator>Florian Mätschke</dc:creator>
      <wfw:comment>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,035950c7-098e-4a3d-8b59-3fdd7b315cb0.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.dotnet-braunschweig.de/Florian/SyndicationService.asmx/GetEntryCommentsRss?guid=035950c7-098e-4a3d-8b59-3fdd7b315cb0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Die Visual Studio 2010 Beta 2 steht nun zum Download zur Verfügung.
</p>
        <p>
          <a href="http://www.microsoft.com/germany/visualstudio/products/visual-studio/2010/default.aspx" target="_blank">http://www.microsoft.com/germany/visualstudio/products/visual-studio/2010/default.aspx</a>
        </p>
        <p>
          <a href="http://www.microsoft.com/germany/visualstudio/products/visual-studio/2010/default.aspx" target="_blank">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/VisualStudio2010Beta2zumDownloadverfgbar_D7E6/clip_image002_192c2b62-f935-42cb-add3-4ad5dfbcd115.jpg" width="230" height="375" />
          </a>
        </p>
        <img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=035950c7-098e-4a3d-8b59-3fdd7b315cb0" />
      </body>
      <title>Visual Studio 2010 Beta 2 zum Download verf&amp;uuml;gbar!</title>
      <guid isPermaLink="false">http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,035950c7-098e-4a3d-8b59-3fdd7b315cb0.aspx</guid>
      <link>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,035950c7-098e-4a3d-8b59-3fdd7b315cb0.aspx</link>
      <pubDate>Wed, 21 Oct 2009 13:21:12 GMT</pubDate>
      <description>&lt;p&gt;
Die Visual Studio 2010 Beta 2 steht nun zum Download zur Verfügung.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.microsoft.com/germany/visualstudio/products/visual-studio/2010/default.aspx" target="_blank"&gt;http://www.microsoft.com/germany/visualstudio/products/visual-studio/2010/default.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.microsoft.com/germany/visualstudio/products/visual-studio/2010/default.aspx" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/VisualStudio2010Beta2zumDownloadverfgbar_D7E6/clip_image002_192c2b62-f935-42cb-add3-4ad5dfbcd115.jpg" width="230" height="375" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=035950c7-098e-4a3d-8b59-3fdd7b315cb0" /&gt;</description>
      <comments>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,035950c7-098e-4a3d-8b59-3fdd7b315cb0.aspx</comments>
      <category>.NET</category>
      <category>C#</category>
    </item>
    <item>
      <trackback:ping>http://blogs.dotnet-braunschweig.de/Florian/Trackback.aspx?guid=a5518b11-973c-4a5a-8c5f-5b34bcb9ba2b</trackback:ping>
      <pingback:server>http://blogs.dotnet-braunschweig.de/Florian/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,a5518b11-973c-4a5a-8c5f-5b34bcb9ba2b.aspx</pingback:target>
      <dc:creator>Florian Mätschke</dc:creator>
      <wfw:comment>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,a5518b11-973c-4a5a-8c5f-5b34bcb9ba2b.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.dotnet-braunschweig.de/Florian/SyndicationService.asmx/GetEntryCommentsRss?guid=a5518b11-973c-4a5a-8c5f-5b34bcb9ba2b</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Am 7. Oktober 2009 hatte ich die Chance Steve Ballmer persönlich zu einem Interview
zu treffen. Dies war eine einmalige Gelegenheit und weltweit das erste Mal, dass sich
der Microsoft CEO nicht nur Journalisten zur Rede und Antwort gestellt hat.
</p>
        <p>
Das Ganze geschah bei München in Ismaningen in einem TV-Studio der Plazamedia GmbH
und wurde öffentlich per Live-Stream auf msn.de und Bild.de übertragen. Gleichzeitig
konnten per Live-Chat weitere Fragen an Herrn Ballmer gerichtet werden.
</p>
        <p>
Einen Mitschnitt des Videos findet man bei <a href="http://tech.de.msn.com/microsoft/windows/artikel.aspx?cp-documentid=149810154">msn.de</a></p>
        <p>
          <a href="http://tech.de.msn.com/microsoft/windows/artikel.aspx?cp-documentid=149810154">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Steven A. Ballmer 07.10.2009" border="0" alt="Steven A. Ballmer 07.10.2009" src="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/IchtrafSteveBallmerimLiveInterview_148CD/vlcsnap-371110_3.png" width="240" height="192" />
          </a>
        </p>
        <p>
Hier meine zwei Fragen und die dazugehörigen Antworten von Steve Ballmer aus dem englischen
Originalton:
</p>
        <p>
          <strong>Florian Mätschke:</strong>
          <br />
          <em>"Since Windows 7 is known as the real successor of Windows XP, 
<br />
what are the three main features, that made Windows 7 the real successor and why?"</em>
        </p>
        <p>
          <strong>Steve Ballmer:</strong>
          <br />
          <em>"I think the three things that people are gonna most respond to are: </em>
        </p>
        <p>
          <em>1. It feels more responsive, lightweight, uses less power, it's just kind of zippy,
if you will. Thats number one. 
<br />
2. The user interface I think is cleaner, simpler, more productive and people respond
with that. 
<br />
And then 3. It's got dozens of smaller features. And rather to point to anyone I just
say 
<br />
every user I talked to, everybody has tried the beta, seems to fall in love with one
or two features, but it's different for everybody."</em>
        </p>
        <p>
 
</p>
        <p>
          <strong>Florian Mätschke:</strong>
          <br />
          <em>"This is a bit personal: Do you fear Apple?"</em>
        </p>
        <p>
          <strong>Steve Ballmer:</strong>
          <br />
          <em>"Fear? Fear? When you run a company, you don't fear (every?) anybody. 
<br />
But you are vigilant in thinking about everybody. 
<br />
So of course, Apple does good work. They are another good company. 
<br />
We compete with them. I think about them. I think about a lot of other companies though,
too. 
<br />
You know there are in this particular case something over 95% 
<br />
of the computers that sell in the world are PCs and only 4% were sold are macintoshes. 
<br />
So I dont fear but I do think we compete absolutely with apple, 
<br />
but we compete with Oracle and Google and Nintendo and many others, too."</em>
        </p>
        <p>
          <em>
          </em>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
Vielen Dank an Frau Köp von Microsoft, die die gesamte Organisation übernommen hat,
msn.de sowie Bild.de und auch ein Dankeschön an Achim Berg, dem diese Art von Treffen
erst in den Sinn kam. Es war ein wirklich tolles und aufregendes Erlebnis.
</p>
        <img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=a5518b11-973c-4a5a-8c5f-5b34bcb9ba2b" />
      </body>
      <title>Ich traf Steve Ballmer im Live-Interview</title>
      <guid isPermaLink="false">http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,a5518b11-973c-4a5a-8c5f-5b34bcb9ba2b.aspx</guid>
      <link>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,a5518b11-973c-4a5a-8c5f-5b34bcb9ba2b.aspx</link>
      <pubDate>Thu, 08 Oct 2009 21:23:14 GMT</pubDate>
      <description>&lt;p&gt;
Am 7. Oktober 2009 hatte ich die Chance Steve Ballmer persönlich zu einem Interview
zu treffen. Dies war eine einmalige Gelegenheit und weltweit das erste Mal, dass sich
der Microsoft CEO nicht nur Journalisten zur Rede und Antwort gestellt hat.
&lt;/p&gt;
&lt;p&gt;
Das Ganze geschah bei München in Ismaningen in einem TV-Studio der Plazamedia GmbH
und wurde öffentlich per Live-Stream auf msn.de und Bild.de übertragen. Gleichzeitig
konnten per Live-Chat weitere Fragen an Herrn Ballmer gerichtet werden.
&lt;/p&gt;
&lt;p&gt;
Einen Mitschnitt des Videos findet man bei &lt;a href="http://tech.de.msn.com/microsoft/windows/artikel.aspx?cp-documentid=149810154"&gt;msn.de&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://tech.de.msn.com/microsoft/windows/artikel.aspx?cp-documentid=149810154"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Steven A. Ballmer 07.10.2009" border="0" alt="Steven A. Ballmer 07.10.2009" src="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/IchtrafSteveBallmerimLiveInterview_148CD/vlcsnap-371110_3.png" width="240" height="192" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Hier meine zwei Fragen und die dazugehörigen Antworten von Steve Ballmer aus dem englischen
Originalton:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Florian Mätschke:&lt;/strong&gt; 
&lt;br /&gt;
&lt;em&gt;&amp;quot;Since Windows 7 is known as the real successor of Windows XP, 
&lt;br /&gt;
what are the three main features, that made Windows 7 the real successor and why?&amp;quot;&lt;/em&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Steve Ballmer:&lt;/strong&gt; 
&lt;br /&gt;
&lt;em&gt;&amp;quot;I think the three things that people are gonna most respond to are: &lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;1. It feels more responsive, lightweight, uses less power, it's just kind of zippy,
if you will. Thats number one. 
&lt;br /&gt;
2. The user interface I think is cleaner, simpler, more productive and people respond
with that. 
&lt;br /&gt;
And then 3. It's got dozens of smaller features. And rather to point to anyone I just
say 
&lt;br /&gt;
every user I talked to, everybody has tried the beta, seems to fall in love with one
or two features, but it's different for everybody.&amp;quot;&lt;/em&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Florian Mätschke:&lt;/strong&gt; 
&lt;br /&gt;
&lt;em&gt;&amp;quot;This is a bit personal: Do you fear Apple?&amp;quot;&lt;/em&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Steve Ballmer:&lt;/strong&gt; 
&lt;br /&gt;
&lt;em&gt;&amp;quot;Fear? Fear? When you run a company, you don't fear (every?) anybody. 
&lt;br /&gt;
But you are vigilant in thinking about everybody. 
&lt;br /&gt;
So of course, Apple does good work. They are another good company. 
&lt;br /&gt;
We compete with them. I think about them. I think about a lot of other companies though,
too. 
&lt;br /&gt;
You know there are in this particular case something over 95% 
&lt;br /&gt;
of the computers that sell in the world are PCs and only 4% were sold are macintoshes. 
&lt;br /&gt;
So I dont fear but I do think we compete absolutely with apple, 
&lt;br /&gt;
but we compete with Oracle and Google and Nintendo and many others, too.&amp;quot;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
Vielen Dank an Frau Köp von Microsoft, die die gesamte Organisation übernommen hat,
msn.de sowie Bild.de und auch ein Dankeschön an Achim Berg, dem diese Art von Treffen
erst in den Sinn kam. Es war ein wirklich tolles und aufregendes Erlebnis.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=a5518b11-973c-4a5a-8c5f-5b34bcb9ba2b" /&gt;</description>
      <comments>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,a5518b11-973c-4a5a-8c5f-5b34bcb9ba2b.aspx</comments>
      <category>Windows</category>
    </item>
    <item>
      <trackback:ping>http://blogs.dotnet-braunschweig.de/Florian/Trackback.aspx?guid=83a7a33f-0d29-4814-b44e-fb48c2f80ef9</trackback:ping>
      <pingback:server>http://blogs.dotnet-braunschweig.de/Florian/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,83a7a33f-0d29-4814-b44e-fb48c2f80ef9.aspx</pingback:target>
      <dc:creator>Florian Mätschke</dc:creator>
      <wfw:comment>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,83a7a33f-0d29-4814-b44e-fb48c2f80ef9.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.dotnet-braunschweig.de/Florian/SyndicationService.asmx/GetEntryCommentsRss?guid=83a7a33f-0d29-4814-b44e-fb48c2f80ef9</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <img alt="http://diepresse.com/images/uploads//8/8/7/485511/Microsoft_CEO_Steve_Ballmer_presenting_Windows_7.jpg" src="http://diepresse.com/images/uploads//8/8/7/485511/Microsoft_CEO_Steve_Ballmer_presenting_Windows_7.jpg" />
        <p>
Einige kennen ihn durch seine berühmten Aussagen wie <em>“Developers! Developers!
Developers! …”</em> oder <em>“ I have four words for you! I – LOVE – THIS - COMPANY!”</em>. 
</p>
        <p>
Am kommenden Mittwoch dem 7. Oktober 2009 habe ich die Chance dem Chef von Microsoft,
Steve Ballmer, zwei Fragen zum neuen Windows 7 zu stellen.
</p>
        <p>
Zusätzlich kann ich noch eine weitere Frage, sofern die Möglichkeit besteht, bezüglich
Windows 7 stellen. Und genau darum geht es hier in diesem Blog-Eintrag.
</p>
        <p>
Ich möchte die Leser dieses Blogs gerne daran teilhaben lassen und diese auffordern,
mir ein paar Fragen per Kommentar hierzulassen.
</p>
        <p>
Die Frage die mir am besten gefällt werde ich mir raussuchen und Steve Ballmer zusätzlich
stellen. <strong>Also postet Euro Frage!</strong></p>
        <p>
Wer mag kann sich das Interview dann live auf Bild.de und MSN.de mit ansehen.
</p>
        <p>
Also her mit den Fragen, fragt was ihr ihn immer schon Fragen wolltet!
</p>
        <p>
 
</p>
        <p>
          <img alt="http://ismashphone.typepad.com/.a/6a00e55225079e88340111689b932c970c-800wi" src="http://ismashphone.typepad.com/.a/6a00e55225079e88340111689b932c970c-800wi" />
        </p>
        <img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=83a7a33f-0d29-4814-b44e-fb48c2f80ef9" />
      </body>
      <title>Ich treffe Steve Ballmer, Microsoft CEO !!!</title>
      <guid isPermaLink="false">http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,83a7a33f-0d29-4814-b44e-fb48c2f80ef9.aspx</guid>
      <link>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,83a7a33f-0d29-4814-b44e-fb48c2f80ef9.aspx</link>
      <pubDate>Sat, 03 Oct 2009 14:44:28 GMT</pubDate>
      <description>&lt;img alt="http://diepresse.com/images/uploads//8/8/7/485511/Microsoft_CEO_Steve_Ballmer_presenting_Windows_7.jpg" src="http://diepresse.com/images/uploads//8/8/7/485511/Microsoft_CEO_Steve_Ballmer_presenting_Windows_7.jpg" /&gt; 
&lt;p&gt;
Einige kennen ihn durch seine berühmten Aussagen wie &lt;em&gt;“Developers! Developers!
Developers! …”&lt;/em&gt; oder &lt;em&gt;“ I have four words for you! I – LOVE – THIS - COMPANY!”&lt;/em&gt;. 
&lt;/p&gt;
&lt;p&gt;
Am kommenden Mittwoch dem 7. Oktober 2009 habe ich die Chance dem Chef von Microsoft,
Steve Ballmer, zwei Fragen zum neuen Windows 7 zu stellen.
&lt;/p&gt;
&lt;p&gt;
Zusätzlich kann ich noch eine weitere Frage, sofern die Möglichkeit besteht, bezüglich
Windows 7 stellen. Und genau darum geht es hier in diesem Blog-Eintrag.
&lt;/p&gt;
&lt;p&gt;
Ich möchte die Leser dieses Blogs gerne daran teilhaben lassen und diese auffordern,
mir ein paar Fragen per Kommentar hierzulassen.
&lt;/p&gt;
&lt;p&gt;
Die Frage die mir am besten gefällt werde ich mir raussuchen und Steve Ballmer zusätzlich
stellen. &lt;strong&gt;Also postet Euro Frage!&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Wer mag kann sich das Interview dann live auf Bild.de und MSN.de mit ansehen.
&lt;/p&gt;
&lt;p&gt;
Also her mit den Fragen, fragt was ihr ihn immer schon Fragen wolltet!
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
&lt;img alt="http://ismashphone.typepad.com/.a/6a00e55225079e88340111689b932c970c-800wi" src="http://ismashphone.typepad.com/.a/6a00e55225079e88340111689b932c970c-800wi" /&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=83a7a33f-0d29-4814-b44e-fb48c2f80ef9" /&gt;</description>
      <comments>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,83a7a33f-0d29-4814-b44e-fb48c2f80ef9.aspx</comments>
      <category>Games &amp; Entertainment</category>
      <category>Windows</category>
    </item>
    <item>
      <trackback:ping>http://blogs.dotnet-braunschweig.de/Florian/Trackback.aspx?guid=18bc008d-7c8f-4fd6-accc-41e942b643fd</trackback:ping>
      <pingback:server>http://blogs.dotnet-braunschweig.de/Florian/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,18bc008d-7c8f-4fd6-accc-41e942b643fd.aspx</pingback:target>
      <dc:creator>Florian Mätschke</dc:creator>
      <wfw:comment>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,18bc008d-7c8f-4fd6-accc-41e942b643fd.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.dotnet-braunschweig.de/Florian/SyndicationService.asmx/GetEntryCommentsRss?guid=18bc008d-7c8f-4fd6-accc-41e942b643fd</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/PerformanceOptimierunginCMehrdimensional_121BC/no_pressure_no_speed_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="No Pressure, No Speed!" border="0" alt="No Pressure, No Speed!" src="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/PerformanceOptimierunginCMehrdimensional_121BC/no_pressure_no_speed_thumb.jpg" width="504" height="379" />
          </a>Die
Verwendung von mehrdimensionalen Arrays ist oftmals ein wesentlicher Bestandteil in
Programmen. Je nach Problemstellung und Größe der Arrays kann der Zugriff auf solche
die Laufzeit eines Programms negativ beeinflussen. 
</p>
        <p>
In C# gibt es grundsätzlich neben den eindimensionalen Arrays 2 Arten von mehrdimensionalen
Arrays. Diese unterscheiden sich nur in ihrer Notation:
</p>
        <ul>
          <li>
[,] – Multidimensionale Arrays 
</li>
          <li>
[][] – Jagged-Arrays 
</li>
        </ul>
        <p>
Bei multidimensionalen Arrays werden die Dimensionen durch ein Komma getrennt, bei
Jagged-Arrays durch die erneute Klammerung. Multidimensionale Arrays haben eine feste
Größe. Bei einem Jagged-Array kann die Größe variieren, da es ein Array von Arrays
ist. Das ist im Grunde genommen eigentlich schon alles was man darüber wissen sollte.
– Wie aber steht es jetzt mit den Geschwindigkeits-Unterschieden? Gibt es vielleicht
noch andere Möglichkeiten?
</p>
        <p>
Ja! Die gibt es definitiv. Bei einem Disput mit einem Kommilitonen über genau dieses
Thema hat dieser prompt einen Eintrag in seinem Blog dazu und dazugehörige Messergebnisse
veröffentlicht:
</p>
        <p>
 <a title="Manolo's HPC Blog" href="http://mshpc.spaces.live.com/blog/cns!25718992934D10D1!121.entry">Manolo's
HPC Blog</a></p>
        <p>
Er verwendet dort eine weitere, eher aus der Welt der C Programmierer bekannte Technik,
um mehrdimensionale Arrays zu realisieren. Es wird einfach ein eindimensionales Array
verwendet, das alle Elemente linear beinhaltet.
</p>
        <p>
Der Zugriff erfolgt über die Formel:
</p>
        <p>
          <em>position = Y * breite + X</em>
        </p>
        <p>
          <em>
          </em>
        </p>
        <p>
Als ich das Ergebnis das erste mal sah, konnte ich kaum glauben, dass dieses schneller
als ein Jagged-Array ist. Aber bei einer genaueren Untersuchung erklärt sich auch
warum. Darf man dem <a title="http://aspadvice.com/blogs/maniknet/archive/2008/04/18/C_2300_-und-ASP.Net-Performance-Optimierungen.aspx" href="http://aspadvice.com/blogs/maniknet/archive/2008/04/18/C_2300_-und-ASP.Net-Performance-Optimierungen.aspx" target="_blank">manik.net
– Blog</a> trauen:
</p>
        <blockquote>
          <p>
MSIL kann eindimensionale Arrays besser optimieren wie mehrdimensionale. 
<br />
Auf MSIL ebene sieht man den unterschied:
</p>
          <p>
int [,] secondarr = new int[1, 2]; 
<br />
secondarr[0, 0] = 40; 
<br /><br />
MSIL: 
<br />
IL_0029: ldc.i4.s 40 
<br />
IL_002b: call instance void int32[0...,0...]::Set(int32, int32,in32)
</p>
          <p>
Mit einem Jaggedarray sieht das ganze dann auf MSIL so aus: 
<br />
IL_001c: ldc.i4.s 40 
<br />
IL_001e: stelem.i4 
<br />
stelem = „store an element“
</p>
          <p>
Bei mehrdimensionalen Arrays wird der ganze „Generic Type“-Kram also betrieben was
einiges an Overhead erzeugt. 
</p>
        </blockquote>
        <p>
Daher ist es ratsam wann immer möglich ein lineares Array anstelle von einem Mehrdimensionalen
Array zu verwenden.
</p>
        <p>
Ich habe mir die ganze Sache aber in eigener Regie noch einmal angesehen. Als Ergebnis
habe ich es geschafft, eine noch schnellere Variante zu programmieren. Diese setzt
allerdings ein \unsafe bei den Compiler-Einstellungen voraus. 
</p>
        <p>
Anstelle auf die einzelnen Elemente des Arrays zuzugreifen, wird direkt auf einen
Pointer zugegriffen. – Eigentlich nichts besonderes, kann aber bei manch einer Berechnung
den ein oder anderen Performancegewinn bringen.
</p>
        <p>
Die Ergebnisse sehen dabei wie folgt aus:
</p>
        <blockquote>
          <p>
Result = 249500250000000 
<br />
1000times: Matrix A with [1000, 1000]  (matrix array): 11637ms 
<br />
Result = 249500250000000 
<br />
1000times: Matrix B with [1000][1000]  (jagged array): 6361ms 
<br />
Result = 249500250000000 
<br />
1000times: Matrix C with [1000* 1000]  (linear array): 5486ms 
<br />
Result = 249500250000000 
<br />
1000times: Matrix D with [1000* 1000]  (unsafe array): <strong>5175ms!!!</strong></p>
        </blockquote>
        <p>
Gegenüber dem [,] Array sind die beiden letzten Varianten ungefähr doppelt so schnell.
</p>
        <p>
          <strong>
            <font size="4">Also für die Zukunft merken:</font>
          </strong>
        </p>
        <ul>
          <ul>
          </ul>
          <li>
            <p>
              <strong>
                <font size="5">Keine [,]-Arrays verwenden!</font>
              </strong>
            </p>
          </li>
          <li>
            <p>
              <strong>
                <font size="5">[][]-Arrays können durch lineare Arrays ersetzt werden!</font>
              </strong>
            </p>
          </li>
        </ul>
        <p>
Den Quellcode zum verifizieren und selber Testen gibt es hier:
</p>
        <pre class="csharpcode">
          <span class="kwrd">using</span> System; <span class="kwrd">using</span> System.Collections.Generic; <span class="kwrd">using</span> System.Linq; <span class="kwrd">using</span> System.Text; <span class="kwrd">using</span> System.Diagnostics; <span class="kwrd">namespace</span> SpeedTest
{ <span class="kwrd">class</span> Program { <span class="kwrd">static</span><span class="kwrd">void</span> Main(<span class="kwrd">string</span>[]
args) { <span class="kwrd">int</span> n = 1000; Stopwatch swatch = <span class="kwrd">new</span> Stopwatch(); <span class="kwrd">double</span>[,]
A = <span class="kwrd">new</span><span class="kwrd">double</span>[n, n]; swatch.Start();
CalcMatrix(A,n); swatch.Stop(); Console.WriteLine(<span class="str">"{0}times:
Matrix A with [{0}, {0}] (matrix array): {1}ms"</span>, n, swatch.ElapsedMilliseconds);
swatch.Reset(); <span class="kwrd">double</span>[][] B = <span class="kwrd">new</span><span class="kwrd">double</span>[n][]; <span class="rem">//
init jagged arrays</span><span class="kwrd">for</span> (<span class="kwrd">int</span> i
= 0; i &lt; n; i++) { B[i] = <span class="kwrd">new</span><span class="kwrd">double</span>[n];
} swatch.Start(); CalcJagged(B, n); swatch.Stop(); Console.WriteLine(<span class="str">"{0}times:
Matrix B with [{0}][{0}] (jagged array): {1}ms"</span>, n, swatch.ElapsedMilliseconds);
swatch.Reset(); <span class="kwrd">double</span>[] C = <span class="kwrd">new</span><span class="kwrd">double</span>[n*
n]; swatch.Start(); CalcLinear(C, n); swatch.Stop(); Console.WriteLine(<span class="str">"{0}times:
Matrix C with [{0}* {0}] (linear array): {1}ms"</span>, n, swatch.ElapsedMilliseconds);
swatch.Reset(); <span class="kwrd">unsafe</span> { <span class="kwrd">double</span>[]
D = <span class="kwrd">new</span><span class="kwrd">double</span>[n * n]; swatch.Start(); <span class="kwrd">fixed</span>(<span class="kwrd">double</span>*
pD = D) CalcUnsafe(pD,n); swatch.Stop(); } Console.WriteLine(<span class="str">"{0}times:
Matrix D with [{0}* {0}] (unsafe array): {1}ms"</span>, n, swatch.ElapsedMilliseconds);
swatch.Reset(); Console.ReadKey(); } <span class="kwrd">private</span><span class="kwrd">static</span><span class="kwrd">void</span> CalcJagged(<span class="kwrd">double</span>[][]
B, <span class="kwrd">int</span> n) { <span class="kwrd">double</span> result = 0; <span class="kwrd">for</span> (<span class="kwrd">int</span> x
= 0; x &lt; n; x++) { <span class="kwrd">for</span> (<span class="kwrd">int</span> i
= 0; i &lt; n; i++) { <span class="kwrd">for</span> (<span class="kwrd">int</span> j
= 0; j &lt; n; j++) { B[i][j] = i * j; result += B[i][j]; } } } Console.WriteLine(<span class="str">"Result
= "</span> + result); } <span class="kwrd">private</span><span class="kwrd">static</span><span class="kwrd">void</span> CalcMatrix( <span class="kwrd">double</span>[,]
A, <span class="kwrd">int</span> n) { <span class="kwrd">double</span> result = 0; <span class="kwrd">for</span> (<span class="kwrd">int</span> x
= 0; x &lt; n; x++) { <span class="kwrd">for</span> (<span class="kwrd">int</span> i
= 0; i &lt; n; i++) { <span class="kwrd">for</span> (<span class="kwrd">int</span> j
= 0; j &lt; n; j++) { A[i, j] = i * j; result += A[i, j]; } } } Console.WriteLine(<span class="str">"Result
= "</span> + result); } <span class="kwrd">private</span><span class="kwrd">static</span><span class="kwrd">void</span> CalcLinear(<span class="kwrd">double</span>[]
C, <span class="kwrd">int</span> n) { <span class="kwrd">double</span> result = 0; <span class="kwrd">for</span> (<span class="kwrd">int</span> x
= 0; x &lt; n; x++) { <span class="kwrd">for</span> (<span class="kwrd">int</span> i
= 0; i &lt; n; i++) { <span class="kwrd">for</span> (<span class="kwrd">int</span> j
= 0; j &lt; n; j++) { C[i * n + j] = i * j; result += C[i * n + j]; } } } Console.WriteLine(<span class="str">"Result
= "</span> + result); } <span class="kwrd">unsafe</span><span class="kwrd">private</span><span class="kwrd">static</span><span class="kwrd">void</span> CalcUnsafe(<span class="kwrd">double</span>*
pD, <span class="kwrd">int</span> n) { <span class="kwrd">double</span> result = 0; <span class="kwrd">for</span> (<span class="kwrd">int</span> x
= 0; x &lt; n; x++) { <span class="kwrd">for</span> (<span class="kwrd">int</span> i
= 0; i &lt; n; i++) { <span class="kwrd">for</span> (<span class="kwrd">int</span> j
= 0; j &lt; n; j++) { *(pD + i * n + j) = i * j; result += *(pD + i * n + j); } }
} Console.WriteLine(<span class="str">"Result = "</span> + result); } }
}</pre>
        <img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=18bc008d-7c8f-4fd6-accc-41e942b643fd" />
      </body>
      <title>Performance Optimierung in C# &amp;ndash; Mehrdimensionale Arrays</title>
      <guid isPermaLink="false">http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,18bc008d-7c8f-4fd6-accc-41e942b643fd.aspx</guid>
      <link>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,18bc008d-7c8f-4fd6-accc-41e942b643fd.aspx</link>
      <pubDate>Fri, 11 Sep 2009 19:05:33 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/PerformanceOptimierunginCMehrdimensional_121BC/no_pressure_no_speed_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="No Pressure, No Speed!" border="0" alt="No Pressure, No Speed!" src="http://blogs.dotnet-braunschweig.de/Florian/content/binary/WindowsLiveWriter/PerformanceOptimierunginCMehrdimensional_121BC/no_pressure_no_speed_thumb.jpg" width="504" height="379" /&gt;&lt;/a&gt;Die
Verwendung von mehrdimensionalen Arrays ist oftmals ein wesentlicher Bestandteil in
Programmen. Je nach Problemstellung und Größe der Arrays kann der Zugriff auf solche
die Laufzeit eines Programms negativ beeinflussen. 
&lt;/p&gt;
&lt;p&gt;
In C# gibt es grundsätzlich neben den eindimensionalen Arrays 2 Arten von mehrdimensionalen
Arrays. Diese unterscheiden sich nur in ihrer Notation:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
[,] – Multidimensionale Arrays 
&lt;/li&gt;
&lt;li&gt;
[][] – Jagged-Arrays 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Bei multidimensionalen Arrays werden die Dimensionen durch ein Komma getrennt, bei
Jagged-Arrays durch die erneute Klammerung. Multidimensionale Arrays haben eine feste
Größe. Bei einem Jagged-Array kann die Größe variieren, da es ein Array von Arrays
ist. Das ist im Grunde genommen eigentlich schon alles was man darüber wissen sollte.
– Wie aber steht es jetzt mit den Geschwindigkeits-Unterschieden? Gibt es vielleicht
noch andere Möglichkeiten?
&lt;/p&gt;
&lt;p&gt;
Ja! Die gibt es definitiv. Bei einem Disput mit einem Kommilitonen über genau dieses
Thema hat dieser prompt einen Eintrag in seinem Blog dazu und dazugehörige Messergebnisse
veröffentlicht:
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&lt;a title="Manolo&amp;#39;s HPC Blog" href="http://mshpc.spaces.live.com/blog/cns!25718992934D10D1!121.entry"&gt;Manolo's
HPC Blog&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Er verwendet dort eine weitere, eher aus der Welt der C Programmierer bekannte Technik,
um mehrdimensionale Arrays zu realisieren. Es wird einfach ein eindimensionales Array
verwendet, das alle Elemente linear beinhaltet.
&lt;/p&gt;
&lt;p&gt;
Der Zugriff erfolgt über die Formel:
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;position = Y * breite + X&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Als ich das Ergebnis das erste mal sah, konnte ich kaum glauben, dass dieses schneller
als ein Jagged-Array ist. Aber bei einer genaueren Untersuchung erklärt sich auch
warum. Darf man dem &lt;a title="http://aspadvice.com/blogs/maniknet/archive/2008/04/18/C_2300_-und-ASP.Net-Performance-Optimierungen.aspx" href="http://aspadvice.com/blogs/maniknet/archive/2008/04/18/C_2300_-und-ASP.Net-Performance-Optimierungen.aspx" target="_blank"&gt;manik.net
– Blog&lt;/a&gt; trauen:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
MSIL kann eindimensionale Arrays besser optimieren wie mehrdimensionale. 
&lt;br /&gt;
Auf MSIL ebene sieht man den unterschied:
&lt;/p&gt;
&lt;p&gt;
int [,] secondarr = new int[1, 2]; 
&lt;br /&gt;
secondarr[0, 0] = 40; 
&lt;br /&gt;
&lt;br /&gt;
MSIL: 
&lt;br /&gt;
IL_0029: ldc.i4.s 40 
&lt;br /&gt;
IL_002b: call instance void int32[0...,0...]::Set(int32, int32,in32)
&lt;/p&gt;
&lt;p&gt;
Mit einem Jaggedarray sieht das ganze dann auf MSIL so aus: 
&lt;br /&gt;
IL_001c: ldc.i4.s 40 
&lt;br /&gt;
IL_001e: stelem.i4 
&lt;br /&gt;
stelem = „store an element“
&lt;/p&gt;
&lt;p&gt;
Bei mehrdimensionalen Arrays wird der ganze „Generic Type“-Kram also betrieben was
einiges an Overhead erzeugt. 
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Daher ist es ratsam wann immer möglich ein lineares Array anstelle von einem Mehrdimensionalen
Array zu verwenden.
&lt;/p&gt;
&lt;p&gt;
Ich habe mir die ganze Sache aber in eigener Regie noch einmal angesehen. Als Ergebnis
habe ich es geschafft, eine noch schnellere Variante zu programmieren. Diese setzt
allerdings ein \unsafe bei den Compiler-Einstellungen voraus. 
&lt;/p&gt;
&lt;p&gt;
Anstelle auf die einzelnen Elemente des Arrays zuzugreifen, wird direkt auf einen
Pointer zugegriffen. – Eigentlich nichts besonderes, kann aber bei manch einer Berechnung
den ein oder anderen Performancegewinn bringen.
&lt;/p&gt;
&lt;p&gt;
Die Ergebnisse sehen dabei wie folgt aus:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
Result = 249500250000000 
&lt;br /&gt;
1000times: Matrix A with [1000, 1000]&amp;#160; (matrix array): 11637ms 
&lt;br /&gt;
Result = 249500250000000 
&lt;br /&gt;
1000times: Matrix B with [1000][1000]&amp;#160; (jagged array): 6361ms 
&lt;br /&gt;
Result = 249500250000000 
&lt;br /&gt;
1000times: Matrix C with [1000* 1000]&amp;#160; (linear array): 5486ms 
&lt;br /&gt;
Result = 249500250000000 
&lt;br /&gt;
1000times: Matrix D with [1000* 1000]&amp;#160; (unsafe array): &lt;strong&gt;5175ms!!!&lt;/strong&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Gegenüber dem [,] Array sind die beiden letzten Varianten ungefähr doppelt so schnell.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;font size="4"&gt;Also für die Zukunft merken:&lt;/font&gt;&lt;/strong&gt; 
&lt;/p&gt;
&lt;ul&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;strong&gt;&lt;font size="5"&gt;Keine [,]-Arrays verwenden!&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;strong&gt;&lt;font size="5"&gt;[][]-Arrays können durch lineare Arrays ersetzt werden!&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Den Quellcode zum verifizieren und selber Testen gibt es hier:
&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System; &lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic; &lt;span class="kwrd"&gt;using&lt;/span&gt; System.Linq; &lt;span class="kwrd"&gt;using&lt;/span&gt; System.Text; &lt;span class="kwrd"&gt;using&lt;/span&gt; System.Diagnostics; &lt;span class="kwrd"&gt;namespace&lt;/span&gt; SpeedTest
{ &lt;span class="kwrd"&gt;class&lt;/span&gt; Program { &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main(&lt;span class="kwrd"&gt;string&lt;/span&gt;[]
args) { &lt;span class="kwrd"&gt;int&lt;/span&gt; n = 1000; Stopwatch swatch = &lt;span class="kwrd"&gt;new&lt;/span&gt; Stopwatch(); &lt;span class="kwrd"&gt;double&lt;/span&gt;[,]
A = &lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;double&lt;/span&gt;[n, n]; swatch.Start();
CalcMatrix(A,n); swatch.Stop(); Console.WriteLine(&lt;span class="str"&gt;&amp;quot;{0}times:
Matrix A with [{0}, {0}] (matrix array): {1}ms&amp;quot;&lt;/span&gt;, n, swatch.ElapsedMilliseconds);
swatch.Reset(); &lt;span class="kwrd"&gt;double&lt;/span&gt;[][] B = &lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;double&lt;/span&gt;[n][]; &lt;span class="rem"&gt;//
init jagged arrays&lt;/span&gt; &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; i
= 0; i &amp;lt; n; i++) { B[i] = &lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;double&lt;/span&gt;[n];
} swatch.Start(); CalcJagged(B, n); swatch.Stop(); Console.WriteLine(&lt;span class="str"&gt;&amp;quot;{0}times:
Matrix B with [{0}][{0}] (jagged array): {1}ms&amp;quot;&lt;/span&gt;, n, swatch.ElapsedMilliseconds);
swatch.Reset(); &lt;span class="kwrd"&gt;double&lt;/span&gt;[] C = &lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;double&lt;/span&gt;[n*
n]; swatch.Start(); CalcLinear(C, n); swatch.Stop(); Console.WriteLine(&lt;span class="str"&gt;&amp;quot;{0}times:
Matrix C with [{0}* {0}] (linear array): {1}ms&amp;quot;&lt;/span&gt;, n, swatch.ElapsedMilliseconds);
swatch.Reset(); &lt;span class="kwrd"&gt;unsafe&lt;/span&gt; { &lt;span class="kwrd"&gt;double&lt;/span&gt;[]
D = &lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;double&lt;/span&gt;[n * n]; swatch.Start(); &lt;span class="kwrd"&gt;fixed&lt;/span&gt;(&lt;span class="kwrd"&gt;double&lt;/span&gt;*
pD = D) CalcUnsafe(pD,n); swatch.Stop(); } Console.WriteLine(&lt;span class="str"&gt;&amp;quot;{0}times:
Matrix D with [{0}* {0}] (unsafe array): {1}ms&amp;quot;&lt;/span&gt;, n, swatch.ElapsedMilliseconds);
swatch.Reset(); Console.ReadKey(); } &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; CalcJagged(&lt;span class="kwrd"&gt;double&lt;/span&gt;[][]
B, &lt;span class="kwrd"&gt;int&lt;/span&gt; n) { &lt;span class="kwrd"&gt;double&lt;/span&gt; result = 0; &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; x
= 0; x &amp;lt; n; x++) { &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; i
= 0; i &amp;lt; n; i++) { &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; j
= 0; j &amp;lt; n; j++) { B[i][j] = i * j; result += B[i][j]; } } } Console.WriteLine(&lt;span class="str"&gt;&amp;quot;Result
= &amp;quot;&lt;/span&gt; + result); } &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; CalcMatrix( &lt;span class="kwrd"&gt;double&lt;/span&gt;[,]
A, &lt;span class="kwrd"&gt;int&lt;/span&gt; n) { &lt;span class="kwrd"&gt;double&lt;/span&gt; result = 0; &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; x
= 0; x &amp;lt; n; x++) { &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; i
= 0; i &amp;lt; n; i++) { &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; j
= 0; j &amp;lt; n; j++) { A[i, j] = i * j; result += A[i, j]; } } } Console.WriteLine(&lt;span class="str"&gt;&amp;quot;Result
= &amp;quot;&lt;/span&gt; + result); } &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; CalcLinear(&lt;span class="kwrd"&gt;double&lt;/span&gt;[]
C, &lt;span class="kwrd"&gt;int&lt;/span&gt; n) { &lt;span class="kwrd"&gt;double&lt;/span&gt; result = 0; &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; x
= 0; x &amp;lt; n; x++) { &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; i
= 0; i &amp;lt; n; i++) { &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; j
= 0; j &amp;lt; n; j++) { C[i * n + j] = i * j; result += C[i * n + j]; } } } Console.WriteLine(&lt;span class="str"&gt;&amp;quot;Result
= &amp;quot;&lt;/span&gt; + result); } &lt;span class="kwrd"&gt;unsafe&lt;/span&gt; &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; CalcUnsafe(&lt;span class="kwrd"&gt;double&lt;/span&gt;*
pD, &lt;span class="kwrd"&gt;int&lt;/span&gt; n) { &lt;span class="kwrd"&gt;double&lt;/span&gt; result = 0; &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; x
= 0; x &amp;lt; n; x++) { &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; i
= 0; i &amp;lt; n; i++) { &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; j
= 0; j &amp;lt; n; j++) { *(pD + i * n + j) = i * j; result += *(pD + i * n + j); } }
} Console.WriteLine(&lt;span class="str"&gt;&amp;quot;Result = &amp;quot;&lt;/span&gt; + result); } }
}&lt;/pre&gt;
&lt;img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=18bc008d-7c8f-4fd6-accc-41e942b643fd" /&gt;</description>
      <comments>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,18bc008d-7c8f-4fd6-accc-41e942b643fd.aspx</comments>
      <category>.NET</category>
      <category>C#</category>
      <category>HPC</category>
    </item>
    <item>
      <trackback:ping>http://blogs.dotnet-braunschweig.de/Florian/Trackback.aspx?guid=fa03aa3b-733d-4c8d-908c-2409d999fe04</trackback:ping>
      <pingback:server>http://blogs.dotnet-braunschweig.de/Florian/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,fa03aa3b-733d-4c8d-908c-2409d999fe04.aspx</pingback:target>
      <dc:creator>Florian Mätschke</dc:creator>
      <wfw:comment>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,fa03aa3b-733d-4c8d-908c-2409d999fe04.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.dotnet-braunschweig.de/Florian/SyndicationService.asmx/GetEntryCommentsRss?guid=fa03aa3b-733d-4c8d-908c-2409d999fe04</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ich hatte gestern bereits mit einem kleinen Problem zu kämpfen, welches sich aber
recht leicht beheben lässt.
</p>
        <p>
Nachdem man eine neue Compute-Node hinzugefügt hat, und einen <strong>Framework-Test</strong> ausgeführt
hat, kam es zu folgenden Fehler:
</p>
        <p>
 
</p>
        <p>
          <strong>Exception thrown while executing RunDiagnostic: Could not load file or assembly
'file:///C:\Program Files\Microsoft HPC Pack 2008 R2\Bin\CCPPSH.dll' or one of its
dependencies. The system cannot find the file specified.</strong>
        </p>
        <p>
          <strong>System.IO.FileNotFoundException</strong>
        </p>
        <p>
          <strong>
          </strong>
        </p>
        <p>
Ein einfaches Nach-Kopieren der Dateien genügt leider nicht. Um sich Abhilfe zu schaffen
empfehle ich folgende Methode:
</p>
        <p>
Als erstes sollte man die betroffene Node offline nehmen, im Cluster Manager also
“Take Offline” mit einem Rechtsklick auf die Node auswählen.
</p>
        <p>
Danach kopiert (z.B. per Remote Desktop und Kopieren/Einfügen)  ihr das HPC Pack
2008 R2 auf die betroffene Node. Dafür habe ich mir einen Ordner “C:\Install” angelegt.
</p>
        <p>
Dann startet ihr im Unterordner “C:\Install\HPC Pack 2008 R2 CTP\HPCPack\setup” die
MSI-Installation “ cpp_x64.msi mit [Rechsklick –&gt; Install]. Den Installations-Dialogen
folgend wird darauf das HPC Pack wieder deinstalliert.
</p>
        <p>
Dieser Schritt ist nötig, um eine Neuinstallation zu beginnen. Dies tun wir mit der
setup.exe im übergeordneten Ordner.
</p>
        <p>
Bei der Installation wählt ihr “Join an existing HPC cluster by creating a new compute
node”.
</p>
        <p>
Danach gebt ihr noch den hostname eurer Head-Node ein. In meinem Fall ist dies “MSHPC”. 
</p>
        <p>
Die Client Tools habe ich ebenfalls mit installiert. 
</p>
        <p>
Je nach gewählter Topologie kann man sich entscheiden, Microsoft Update zu nutzen.
In meinem Fall hab ich es deaktiviert, weil das Cluster-Netzwerk von der Außenwelt
getrennt ist.
</p>
        <p>
Nun kann die Node wieder online geschaltet werden, und siehe da, alle Tests sollten
erfolgreich verlaufen.
</p>
        <img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=fa03aa3b-733d-4c8d-908c-2409d999fe04" />
      </body>
      <title>Windows HPC Server 2008 R2 &amp;ndash; Compute-Node Fehler beim Framework-Test</title>
      <guid isPermaLink="false">http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,fa03aa3b-733d-4c8d-908c-2409d999fe04.aspx</guid>
      <link>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,fa03aa3b-733d-4c8d-908c-2409d999fe04.aspx</link>
      <pubDate>Fri, 03 Jul 2009 11:46:27 GMT</pubDate>
      <description>&lt;p&gt;
Ich hatte gestern bereits mit einem kleinen Problem zu kämpfen, welches sich aber
recht leicht beheben lässt.
&lt;/p&gt;
&lt;p&gt;
Nachdem man eine neue Compute-Node hinzugefügt hat, und einen &lt;strong&gt;Framework-Test&lt;/strong&gt; ausgeführt
hat, kam es zu folgenden Fehler:
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Exception thrown while executing RunDiagnostic: Could not load file or assembly
'file:///C:\Program Files\Microsoft HPC Pack 2008 R2\Bin\CCPPSH.dll' or one of its
dependencies. The system cannot find the file specified.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;System.IO.FileNotFoundException&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Ein einfaches Nach-Kopieren der Dateien genügt leider nicht. Um sich Abhilfe zu schaffen
empfehle ich folgende Methode:
&lt;/p&gt;
&lt;p&gt;
Als erstes sollte man die betroffene Node offline nehmen, im Cluster Manager also
“Take Offline” mit einem Rechtsklick auf die Node auswählen.
&lt;/p&gt;
&lt;p&gt;
Danach kopiert (z.B. per Remote Desktop und Kopieren/Einfügen)&amp;#160; ihr das HPC Pack
2008 R2 auf die betroffene Node. Dafür habe ich mir einen Ordner “C:\Install” angelegt.
&lt;/p&gt;
&lt;p&gt;
Dann startet ihr im Unterordner “C:\Install\HPC Pack 2008 R2 CTP\HPCPack\setup” die
MSI-Installation “ cpp_x64.msi mit [Rechsklick –&amp;gt; Install]. Den Installations-Dialogen
folgend wird darauf das HPC Pack wieder deinstalliert.
&lt;/p&gt;
&lt;p&gt;
Dieser Schritt ist nötig, um eine Neuinstallation zu beginnen. Dies tun wir mit der
setup.exe im übergeordneten Ordner.
&lt;/p&gt;
&lt;p&gt;
Bei der Installation wählt ihr “Join an existing HPC cluster by creating a new compute
node”.
&lt;/p&gt;
&lt;p&gt;
Danach gebt ihr noch den hostname eurer Head-Node ein. In meinem Fall ist dies “MSHPC”. 
&lt;/p&gt;
&lt;p&gt;
Die Client Tools habe ich ebenfalls mit installiert. 
&lt;/p&gt;
&lt;p&gt;
Je nach gewählter Topologie kann man sich entscheiden, Microsoft Update zu nutzen.
In meinem Fall hab ich es deaktiviert, weil das Cluster-Netzwerk von der Außenwelt
getrennt ist.
&lt;/p&gt;
&lt;p&gt;
Nun kann die Node wieder online geschaltet werden, und siehe da, alle Tests sollten
erfolgreich verlaufen.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=fa03aa3b-733d-4c8d-908c-2409d999fe04" /&gt;</description>
      <comments>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,fa03aa3b-733d-4c8d-908c-2409d999fe04.aspx</comments>
      <category>HPC</category>
    </item>
    <item>
      <trackback:ping>http://blogs.dotnet-braunschweig.de/Florian/Trackback.aspx?guid=d2c25a2c-92c1-49c3-86b9-0f6716aaf2c4</trackback:ping>
      <pingback:server>http://blogs.dotnet-braunschweig.de/Florian/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,d2c25a2c-92c1-49c3-86b9-0f6716aaf2c4.aspx</pingback:target>
      <dc:creator>Florian Mätschke</dc:creator>
      <wfw:comment>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,d2c25a2c-92c1-49c3-86b9-0f6716aaf2c4.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.dotnet-braunschweig.de/Florian/SyndicationService.asmx/GetEntryCommentsRss?guid=d2c25a2c-92c1-49c3-86b9-0f6716aaf2c4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Gestern habe ich mich mal an den neuen Windows HPC Server 2008 R2 als CTP Version
herangewagt.
</p>
        <p>
Dafür hergehalten hat ein kleiner Test-Cluster, den ich von meiner Uni dafür bereitgestellt
bekommen habe.
</p>
        <p>
Es handelt sich dabei um 3 Supermicro Nodes, mit jeweils 2x2 Cores (Amd Opteron) Prozessoren.
</p>
        <p>
Die Headnode verfügt über 32GB Ram, die Compute-Nodes jeweils 8.
</p>
        <p>
Zur Zeit habe ich also nur 2 Compute-Nodes, es können aber ohne Probleme weitere nachgezogen
werden.
</p>
        <p>
Im Rahmen meiner Seminararbeit werde ich einen Block-orientierten Gauss-Algorithmus
mit MPI/MPI.NET entwickeln, einmal in C und einmal in C#, und die Performance-Unterschiede
auf Linux, Windows, Managed und Unmanaged miteinander vergleichen.
</p>
        <p>
Auf was für Hürden ich eventuell mit der CTP des Windows HPC Server 2008 R2 treffe,
werde ich euch in der nächsten Zeit hier in meinem Blog mal berichten.
</p>
        <img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=d2c25a2c-92c1-49c3-86b9-0f6716aaf2c4" />
      </body>
      <title>Windows HPC Server 2008 R2</title>
      <guid isPermaLink="false">http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,d2c25a2c-92c1-49c3-86b9-0f6716aaf2c4.aspx</guid>
      <link>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,d2c25a2c-92c1-49c3-86b9-0f6716aaf2c4.aspx</link>
      <pubDate>Fri, 03 Jul 2009 10:00:52 GMT</pubDate>
      <description>&lt;p&gt;
Gestern habe ich mich mal an den neuen Windows HPC Server 2008 R2 als CTP Version
herangewagt.
&lt;/p&gt;
&lt;p&gt;
Dafür hergehalten hat ein kleiner Test-Cluster, den ich von meiner Uni dafür bereitgestellt
bekommen habe.
&lt;/p&gt;
&lt;p&gt;
Es handelt sich dabei um 3 Supermicro Nodes, mit jeweils 2x2 Cores (Amd Opteron) Prozessoren.
&lt;/p&gt;
&lt;p&gt;
Die Headnode verfügt über 32GB Ram, die Compute-Nodes jeweils 8.
&lt;/p&gt;
&lt;p&gt;
Zur Zeit habe ich also nur 2 Compute-Nodes, es können aber ohne Probleme weitere nachgezogen
werden.
&lt;/p&gt;
&lt;p&gt;
Im Rahmen meiner Seminararbeit werde ich einen Block-orientierten Gauss-Algorithmus
mit MPI/MPI.NET entwickeln, einmal in C und einmal in C#, und die Performance-Unterschiede
auf Linux, Windows, Managed und Unmanaged miteinander vergleichen.
&lt;/p&gt;
&lt;p&gt;
Auf was für Hürden ich eventuell mit der CTP des Windows HPC Server 2008 R2 treffe,
werde ich euch in der nächsten Zeit hier in meinem Blog mal berichten.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=d2c25a2c-92c1-49c3-86b9-0f6716aaf2c4" /&gt;</description>
      <comments>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,d2c25a2c-92c1-49c3-86b9-0f6716aaf2c4.aspx</comments>
      <category>HPC</category>
    </item>
    <item>
      <trackback:ping>http://blogs.dotnet-braunschweig.de/Florian/Trackback.aspx?guid=9e6b831f-10ce-441c-8092-931195e4bc37</trackback:ping>
      <pingback:server>http://blogs.dotnet-braunschweig.de/Florian/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,9e6b831f-10ce-441c-8092-931195e4bc37.aspx</pingback:target>
      <dc:creator>Florian Mätschke</dc:creator>
      <wfw:comment>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,9e6b831f-10ce-441c-8092-931195e4bc37.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.dotnet-braunschweig.de/Florian/SyndicationService.asmx/GetEntryCommentsRss?guid=9e6b831f-10ce-441c-8092-931195e4bc37</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ich war etwas enttäuscht, als ich heute die Silverlight 3 Beta und Entwicklungstools
auf meinem PC installieren wollte. Die Silverlight 3 Beta Tools for Visual Studio
2008 SP1 lassen sich nämlich nur auf einem Englischen Visual Studio 2008 installieren.
Als Alternative soll man sich die passende Version für seine Sprache von den Tools
runterladen. Es gibt jedoch nur englisch und japanisch. Daher sind schon mal alle
User des VS2008 SP1 Deutsch aufgeschmissen. – Der eine mag jetzt vielleicht sagen:
“Ihhh! VS 2008 auf deutsch? Nehme sowieso immer die Englische!”. Bei mir ist jedoch
bei der letzten Installation etwas schief gelaufen. Ich habe die deutsche Version
anstatt der englischen Version installiert, und mich daher, aus Faulheit die Englische
neu zu installieren, damit abgefunden.
</p>
        <p>
 
</p>
        <h4>So kommt man trotzdem zu Silverlight 3 Beta im deutschen VS2008 SP1:
</h4>
        <p>
Mit einem Packprogramm wie z.B. <a href="http://www.7-zip.org/" target="_blank">7zip</a> entpacken
wir die Datei:
</p>
        <p>
          <em>
            <a href="http://go.microsoft.com/fwlink/?LinkID=143571" target="_blank">Silverlight3_Tools.exe</a>
          </em> (Das
ist die englische Version der VS Tools)
</p>
        <p>
in eine neues Verzeichnis –&gt; <em>Silverlight3_Tools</em></p>
        <p>
Dort habe ich folgende Dateien installiert:
</p>
        <p>
          <em>Silverlight3_Tools\VS_SilverlightTools_Setup.exe</em>
        </p>
        <p>
          <em>Silverlight3_Tools\silverlight_sdk.msi</em> (Per Rechtsklick –&gt; Installieren)
</p>
        <p>
 
</p>
        <p>
Jetzt müsste man eigentlich noch das Hotfix: <strong>KB967143</strong> installieren,
was meiner Vermutung nach der Faktor ist, warum es keine ENU-Beta gibt.
</p>
        <p>
          <u>Für das KB967143 gibt es keine deutsche Version.</u> Ich habe es daher weggelassen.
Ob dies Ratsam ist, kann ich nicht sagen, ich habe bis jetzt keine Infos gefunden,
was dieses KB eigentlich fixt.
</p>
        <p>
          <em>Für irgendwelche Schäden, die durch diese Anleitung enstehen könnten, nehme ich
keine Haftung. Es bleibt euch überlassen, neuzuinstallieren auf englisch oder zu warten
bis es eine deutsche Version gibt.</em>
        </p>
        <p>
Sollte es irgendwann mal ein Update für deutsche Visual Studio Versionen geben, oder
gar Silverlight 3 Final Tools, so besteht die Möglichkeit dieses ebenfalls zu entpacken,
und die KBs die benötigt werden zu installieren. In diesem Fall, das fehlende deutsche
KB967143.
</p>
        <p>
 
</p>
        <p>
Damit man in den Genuss von Silverlight 3 kommt, braucht man nur noch die <a href="http://go.microsoft.com/fwlink/?linkid=143433" target="_blank">Silverlight
3 Beta Developer Runtime</a> installieren.
</p>
        <p>
Jetzt kann man Silverlight 3 Beta auch nutzen.
</p>
        <img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=9e6b831f-10ce-441c-8092-931195e4bc37" />
      </body>
      <title>Silverlight 3 Beta Tools for Visual Studio 2008 SP1 - Installation auf deutschem VS2008 SP1 per Trick m&amp;ouml;glich.</title>
      <guid isPermaLink="false">http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,9e6b831f-10ce-441c-8092-931195e4bc37.aspx</guid>
      <link>http://blogs.dotnet-braunschweig.de/Florian/PermaLink,guid,9e6b831f-10ce-441c-8092-931195e4bc37.aspx</link>
      <pubDate>Fri, 20 Mar 2009 10:19:00 GMT</pubDate>
      <description>&lt;p&gt;
Ich war etwas enttäuscht, als ich heute die Silverlight 3 Beta und Entwicklungstools
auf meinem PC installieren wollte. Die Silverlight 3 Beta Tools for Visual Studio
2008 SP1 lassen sich nämlich nur auf einem Englischen Visual Studio 2008 installieren.
Als Alternative soll man sich die passende Version für seine Sprache von den Tools
runterladen. Es gibt jedoch nur englisch und japanisch. Daher sind schon mal alle
User des VS2008 SP1 Deutsch aufgeschmissen. – Der eine mag jetzt vielleicht sagen:
“Ihhh! VS 2008 auf deutsch? Nehme sowieso immer die Englische!”. Bei mir ist jedoch
bei der letzten Installation etwas schief gelaufen. Ich habe die deutsche Version
anstatt der englischen Version installiert, und mich daher, aus Faulheit die Englische
neu zu installieren, damit abgefunden.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;h4&gt;So kommt man trotzdem zu Silverlight 3 Beta im deutschen VS2008 SP1:
&lt;/h4&gt;
&lt;p&gt;
Mit einem Packprogramm wie z.B. &lt;a href="http://www.7-zip.org/" target="_blank"&gt;7zip&lt;/a&gt; entpacken
wir die Datei:
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=143571" target="_blank"&gt;Silverlight3_Tools.exe&lt;/a&gt;&lt;/em&gt; (Das
ist die englische Version der VS Tools)
&lt;/p&gt;
&lt;p&gt;
in eine neues Verzeichnis –&amp;gt; &lt;em&gt;Silverlight3_Tools&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Dort habe ich folgende Dateien installiert:
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Silverlight3_Tools\VS_SilverlightTools_Setup.exe&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Silverlight3_Tools\silverlight_sdk.msi&lt;/em&gt; (Per Rechtsklick –&amp;gt; Installieren)
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
Jetzt müsste man eigentlich noch das Hotfix: &lt;strong&gt;KB967143&lt;/strong&gt; installieren,
was meiner Vermutung nach der Faktor ist, warum es keine ENU-Beta gibt.
&lt;/p&gt;
&lt;p&gt;
&lt;u&gt;Für das KB967143 gibt es keine deutsche Version.&lt;/u&gt; Ich habe es daher weggelassen.
Ob dies Ratsam ist, kann ich nicht sagen, ich habe bis jetzt keine Infos gefunden,
was dieses KB eigentlich fixt.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Für irgendwelche Schäden, die durch diese Anleitung enstehen könnten, nehme ich
keine Haftung. Es bleibt euch überlassen, neuzuinstallieren auf englisch oder zu warten
bis es eine deutsche Version gibt.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Sollte es irgendwann mal ein Update für deutsche Visual Studio Versionen geben, oder
gar Silverlight 3 Final Tools, so besteht die Möglichkeit dieses ebenfalls zu entpacken,
und die KBs die benötigt werden zu installieren. In diesem Fall, das fehlende deutsche
KB967143.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
Damit man in den Genuss von Silverlight 3 kommt, braucht man nur noch die &lt;a href="http://go.microsoft.com/fwlink/?linkid=143433" target="_blank"&gt;Silverlight
3 Beta Developer Runtime&lt;/a&gt; installieren.
&lt;/p&gt;
&lt;p&gt;
Jetzt kann man Silverlight 3 Beta auch nutzen.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.dotnet-braunschweig.de/Florian/aggbug.ashx?id=9e6b831f-10ce-441c-8092-931195e4bc37" /&gt;</description>
      <comments>http://blogs.dotnet-braunschweig.de/Florian/CommentView,guid,9e6b831f-10ce-441c-8092-931195e4bc37.aspx</comments>
      <category>Silverlight</category>
    </item>
  </channel>
</rss>