<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Wulfs Developer Notes</title>
	<atom:link href="http://gbegerow.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://gbegerow.wordpress.com</link>
	<description>Georg &#039;Wulf&#039; Begerow&#039;s Developer Notes - Don&#039;t trust artificial intelligence, natural stupidity is reliable.</description>
	<lastBuildDate>Wed, 20 Apr 2011 15:54:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='gbegerow.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Wulfs Developer Notes</title>
		<link>http://gbegerow.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://gbegerow.wordpress.com/osd.xml" title="Wulfs Developer Notes" />
	<atom:link rel='hub' href='http://gbegerow.wordpress.com/?pushpress=hub'/>
		<item>
		<title>The target &quot;&#8230;&quot; does not exist in the project. nach Visual Studio 2010 SP1</title>
		<link>http://gbegerow.wordpress.com/2011/04/20/the-target-does-not-exist-in-the-project-nach-visual-studio-2010-sp1/</link>
		<comments>http://gbegerow.wordpress.com/2011/04/20/the-target-does-not-exist-in-the-project-nach-visual-studio-2010-sp1/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 15:52:00 +0000</pubDate>
		<dc:creator>gbegerow</dc:creator>
				<category><![CDATA[Lang:German]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[SP1]]></category>
		<category><![CDATA[VS2010SP1]]></category>

		<guid isPermaLink="false">https://gbegerow.wordpress.com/2011/04/20/the-target-does-not-exist-in-the-project-nach-visual-studio-2010-sp1/</guid>
		<description><![CDATA[Gerade einen Fehler behoben der mich sehr viel Zeit gekostet hat. Beim Publishen eines Projektes erhielt ich den Fehler The target &#34;_CopyBinDeployableAssemblies&#34; does not exist in the project. Ursache war ein modifiziertes .target File das nicht durch das ServicePack 1 von Visual Studio upgedated wurde. Zum Glück hatte ich eine Maschine, bei der die Installation [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=70&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Gerade einen Fehler behoben der mich sehr viel Zeit gekostet hat. Beim Publishen eines Projektes erhielt ich den Fehler </p>
<pre><code>The target &quot;_CopyBinDeployableAssemblies&quot; does not exist in the project.</code></pre>
<p>Ursache war ein modifiziertes .target File das nicht durch das ServicePack 1 von Visual Studio upgedated wurde. </p>
<p>Zum Glück hatte ich eine Maschine, bei der die Installation von SP1 funktioniert hatte. Habe die Daten aller .target Files verglichen und fand dabei eine Datei deren Datum abwich. Das auch noch eine Kopie der Datei mit der Endung .target.org daneben lag, half mir dann auch noch auf die Sprünge <img style="border-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smiley" src="http://gbegerow.files.wordpress.com/2011/04/wlemoticon-smile.png?w=510" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gbegerow.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gbegerow.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gbegerow.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gbegerow.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gbegerow.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gbegerow.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gbegerow.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gbegerow.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gbegerow.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gbegerow.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gbegerow.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gbegerow.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gbegerow.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gbegerow.wordpress.com/70/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=70&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gbegerow.wordpress.com/2011/04/20/the-target-does-not-exist-in-the-project-nach-visual-studio-2010-sp1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d92c7631a263adfe915be51f7682eca3?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gbegerow</media:title>
		</media:content>

		<media:content url="http://gbegerow.files.wordpress.com/2011/04/wlemoticon-smile.png" medium="image">
			<media:title type="html">Smiley</media:title>
		</media:content>
	</item>
		<item>
		<title>Vortrag Async und Await Usergroup Paderborn</title>
		<link>http://gbegerow.wordpress.com/2010/12/01/vortrag-async-und-await-usergroup-paderborn/</link>
		<comments>http://gbegerow.wordpress.com/2010/12/01/vortrag-async-und-await-usergroup-paderborn/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 11:07:00 +0000</pubDate>
		<dc:creator>gbegerow</dc:creator>
				<category><![CDATA[Lang:German]]></category>
		<category><![CDATA[Parallel Extensions]]></category>
		<category><![CDATA[Vortrag]]></category>

		<guid isPermaLink="false">https://gbegerow.wordpress.com/2011/06/01/vortrag-async-und-await-usergroup-paderborn/</guid>
		<description><![CDATA[Mit der nächsten .Net Version wird eine deutliche Vereinfachung der asynchronen Programmierung einher gehen. C# und VB.Net werden um die Schlüsselwörter async und await erweitert. Async markiert eine Methode oder einen Lambda Ausdruck und await wartet auf den Abschluss eines Tasks ohne zu blockieren. Beispiel: public async void ProcessPage(Uri url) { Task&#60;string&#62; downloader = new [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=66&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Mit der nächsten .Net Version wird eine deutliche Vereinfachung der asynchronen Programmierung einher gehen.</p>
<p>C# und VB.Net werden um die Schlüsselwörter async und await erweitert. Async markiert eine Methode oder einen Lambda Ausdruck und await wartet auf den Abschluss eines Tasks ohne zu blockieren.</p>
<p>Beispiel:</p>
<div id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:e9d12aec-e8bd-414d-8be9-93320dba8aec" class="wlWriterEditableSmartContent" style="display:inline;float:none;margin:0;padding:0;">
<pre class="brush: csharp; pad-line-numbers: true;">
public async void ProcessPage(Uri url)
{
  Task&lt;string&gt; downloader =  new WebClient().DownloadStringTaskAsync(url);
  string pageData = await downloader;
  // ... process ...
}
</pre>
</div>
<p>Await erlaubt es asynchronen Code so zu schreiben, das die eigentliche Programmlogik nicht mehr unter Tonnen von boilerplate Code verborgen ist.</p>
<p>Eines der wesentlichen Konzepte für die Benutzung von async und await ist die Task Struktur, die mit .Net 4 eingeführt wurde. Task ist eine Repräsentation des asynchronen Vorgangs. Task ist das Handle mit dem man auf den Vorgang zugreifen kann. Es ist nicht der Thread und es ist nicht das Resultat des Vorgangs. Task bietet Zugang zum Status des Vorgangs, zum Ergebnis und zu evtl. Fehlern.</p>
<p>Microsoft bietet eine CTP zum Download an, mit der man die neuen Keywords ausprobieren kann. (s.u.) Auf dieser Seite findet man auch die wichtigsten Links u.a. zu sehr informativen Videos auf Channel 9. Zusammen mit der CTP werden eine Reihe Dokumente installiert und jede Menge Beispiele. Das wichtigste ist das 101 Async Samples. Ein wahrer Schatz! Danke Microsoft, diese Samples erleichtern den Einstieg so sehr.</p>
<h3>Links</h3>
<p>Visual Studio Async CTP <a href="http://msdn.microsoft.com/en-us/vstudio/async.aspx">http://</a><a href="http://msdn.microsoft.com/en-us/vstudio/async.aspx">msdn.microsoft.com/en-us/vstudio/async.aspx</a></p>
<p>Async Readme (wird mit Async CTP installiert unter <strong>My Documents &gt; Microsoft Visual Studio Async CTP</strong>)</p>
<p>Eric Lippert‘s Blog <a href="http://blogs.msdn.com/b/ericlippert/">http://blogs.msdn.com/b/ericlippert</a><a href="http://blogs.msdn.com/b/ericlippert/">/</a></p>
<p>Jon Skeet‘s Blog <a href="http://msmvps.com/blogs/jon_skeet/default.aspx">http://</a><a href="http://msmvps.com/blogs/jon_skeet/default.aspx">msmvps.com/blogs/jon_skeet/default.aspx</a></p>
<p><a href="http://cid-cfda791b9e0a9f3a.office.live.com/view.aspx/.Public/Async%20Und%20Await.pptx" target="_blank">Slides zum Vortrag</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gbegerow.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gbegerow.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gbegerow.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gbegerow.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gbegerow.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gbegerow.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gbegerow.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gbegerow.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gbegerow.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gbegerow.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gbegerow.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gbegerow.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gbegerow.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gbegerow.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=66&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gbegerow.wordpress.com/2010/12/01/vortrag-async-und-await-usergroup-paderborn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d92c7631a263adfe915be51f7682eca3?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gbegerow</media:title>
		</media:content>
	</item>
		<item>
		<title>Off-Topic: Alice im Wunderland</title>
		<link>http://gbegerow.wordpress.com/2010/11/07/off-topic-alice-im-wunderland/</link>
		<comments>http://gbegerow.wordpress.com/2010/11/07/off-topic-alice-im-wunderland/#comments</comments>
		<pubDate>Sun, 07 Nov 2010 16:12:40 +0000</pubDate>
		<dc:creator>gbegerow</dc:creator>
				<category><![CDATA[Lang:German]]></category>
		<category><![CDATA[Off-Topic]]></category>
		<category><![CDATA[Theater; Kleinenberg;]]></category>

		<guid isPermaLink="false">https://gbegerow.wordpress.com/2010/11/07/off-topic-alice-im-wunderland/</guid>
		<description><![CDATA[Mal ein Beitrag vollkommen Off-Topic. Wir waren gerade mit unserer Tochter in der Alice im Wunderland Inszenierung des Jugendtheaters Kleinenberg. Ehrlich gesagt hatten wir eine Aufführung auf dem Niveau der üblichen Schulaufführungen erwartet. Gesehen haben wir ein freches und witziges Musical für Kinder und Erwachsene. Schauspieler und Stück haben sehr gut gefallen, alle Rollen waren [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=65&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Mal ein Beitrag vollkommen Off-Topic. Wir waren gerade mit unserer Tochter in der Alice im Wunderland Inszenierung des <a href="http://www.jugendtheater-kleinenberg.de" target="_blank">Jugendtheaters Kleinenberg</a>. Ehrlich gesagt hatten wir eine Aufführung auf dem Niveau der üblichen Schulaufführungen erwartet. </p>
<p>Gesehen haben wir ein freches und witziges Musical für Kinder und Erwachsene. Schauspieler und Stück haben sehr gut gefallen, alle Rollen waren sehr gut besetzt. (Natürlich merkt man insbesondere bei den kleineren Nebenrollen, das es keine Profischauspieler sind, aber das ist bei völlig Ok) Das Stück ist eine behutsam modernisierte Musicalfassung des zeitlosen Kinderbuches von Lewis Carroll.&#160; Das Publikum wird immer wieder auf gekonnte Art und Weise in das Stück einbezogen. Da hüpft zwischendurch auch schon mal das weiße Kaninchen auf Sprungschuhen an&#160; den Zuschauern vorbei. </p>
<p>Die Bühne ist sehr klein, aber die Art und Weise wie der verfügbare Raum immer wieder neu genutzt wird, mal mit verschiebbaren Wänden, mal mit Tüchern, mal mit dem sehr gut dosiertem Einsatz von Projektionen, ist wirklich beeindruckend. </p>
<p>Mein Fazit: Hat sich auf jeden Fall gelohnt, nicht nur unsere Tochter, auch wir hatten viel Spaß an ihrem ersten Theaterbesuch. Wir kommen auf jeden Fall wieder.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gbegerow.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gbegerow.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gbegerow.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gbegerow.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gbegerow.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gbegerow.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gbegerow.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gbegerow.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gbegerow.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gbegerow.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gbegerow.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gbegerow.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gbegerow.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gbegerow.wordpress.com/65/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=65&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gbegerow.wordpress.com/2010/11/07/off-topic-alice-im-wunderland/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d92c7631a263adfe915be51f7682eca3?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gbegerow</media:title>
		</media:content>
	</item>
		<item>
		<title>Gruppierte Listen mit Silverlight auf Windows Phone</title>
		<link>http://gbegerow.wordpress.com/2010/10/15/gruppierte-listen-mit-silverlight-auf-windows-phone/</link>
		<comments>http://gbegerow.wordpress.com/2010/10/15/gruppierte-listen-mit-silverlight-auf-windows-phone/#comments</comments>
		<pubDate>Fri, 15 Oct 2010 09:12:33 +0000</pubDate>
		<dc:creator>gbegerow</dc:creator>
				<category><![CDATA[Lang:German]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[WP7DEV]]></category>

		<guid isPermaLink="false">https://gbegerow.wordpress.com/2010/10/15/gruppierte-listen-mit-silverlight-auf-windows-phone/</guid>
		<description><![CDATA[Es ist nicht besonders selten, das wir Entwickler Listen mit Gruppierungen in irgendeiner Form darstellen müssen. Leider ist das auf dem Windows Phone nicht out-of-the-box möglich. Meine ersten Ansätze mit CollectionViewSource zu arbeiten wie von Bea Stollnitz beschrieben, schlugen fehl weil Silverlight auf dem Phone die GroupDescription nichtunterstützt. PagedCollectionViewSource geht auch nicht, so was tun? [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=61&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://gbegerow.files.wordpress.com/2010/10/image.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;float:right;padding-top:0;border-width:0;margin:0 5px;" title="image" border="0" alt="image" align="right" src="http://gbegerow.files.wordpress.com/2010/10/image_thumb.png?w=133&#038;h=244" width="133" height="244" /></a>Es ist nicht besonders selten, das wir Entwickler Listen mit Gruppierungen in irgendeiner Form darstellen müssen. Leider ist das auf dem Windows Phone nicht out-of-the-box möglich. Meine ersten Ansätze mit CollectionViewSource zu arbeiten wie von Bea Stollnitz beschrieben, schlugen fehl weil Silverlight auf dem Phone die GroupDescription nichtunterstützt. PagedCollectionViewSource geht auch nicht, so was tun?</p>
<p>Schlussendlich folgte die Lösung dem Motto ‘Back to the Basics’.</p>
<p>Zuerst brauchen wir eine gruppierte Liste als Basis. Hier verwende ich eine einfache ViewModelBase Klasse als Basisklasse, aber im Grunde ginge auch INotifyPropertyChanged (hab ich aber nicht getestet). Die Gruppierung erzeuge ich über LINQ on the fly aus einer flachen Liste:</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:389b7323-c847-4185-8212-482177e10291" class="wlWriterEditableSmartContent">
<pre>
<pre class="brush: csharp; pad-line-numbers: true; wrap-lines: true;">
       /// &lt;summary&gt;
        /// A collection for ItemViewModel objects.
        /// &lt;/summary&gt;
        public ObservableCollection&lt;ItemViewModel&gt; Items { get; private set; }

       /// &lt;summary&gt;
        /// A collection for Category and ItemViewModel objects.
        /// &lt;/summary&gt;
        public ObservableCollection&lt;ViewModelBase&gt; CategoriesAndItems { get; private set; }

        /// &lt;summary&gt;
        /// Creates and adds a few ItemViewModel objects into the Items collection.
        /// &lt;/summary&gt;
        public void LoadData()
        {
            // Sample data; replace with real data
            this.Items.Add(new ItemViewModel() {
                                  Id=Items.Count,
                                  Group=&quot;Group 1&quot;,
                                  LineOne = &quot;runtime one&quot;,
                                  LineTwo = &quot;Maecenas ... bibendum&quot; });
                // ....
            this.Items.Add(new ItemViewModel() {
                                 Id = Items.Count,
                                 Group = &quot;Group 4&quot;,
                                 LineOne = &quot;runtime sixteen&quot;,
                                 LineTwo = &quot;Nascetur....t pulvinar&quot; });

            var categories = from i in Items
                                     group i by i.Group into category
                                     select new CategoryViewModel(category.Key, category);
            foreach (var category in categories)
            {
               CategoriesAndItems.Add(category);
                foreach (var item in category.Items)
                {
                    CategoriesAndItems.Add(item);
                }
            }
            this.IsDataLoaded = true;

            NotifyPropertyChanged(&quot;ItemsView&quot;);
        }
</pre>
</pre>
</div>
<p>Jetzt brauchen wir nur noch eine Listbox und ein Datatemplate pro Datatype. Dummerweise gibt es implizite Styles erst ab Silverlight 4, also helfen wir uns mit TemplateSelector … welchen es auf dem Phone nicht gibt. Also kramen wir noch mal unser Basiswissen raus. TemplateSelector ist ein Control welches Content mit passemdem Template darstellt. Also nur ein ContentControl mit zusätzlicher Logik zur Auswahl des Templates. ContentControl bietet eine Property ContentTemplate und eine Methode, die aufgerufen wird, wenn sich der Content geändert hat. Also führen wir eine kleine Konvention ein, dass das Datatemplate so heißen soll, wie der Type des Contents. </p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:ad900c8a-d285-40ed-911f-140a8f60e197" class="wlWriterEditableSmartContent">
<pre>
<pre class="brush: xml;">
&lt;Application.Resources&gt;
        &lt;DataTemplate x:Key=&quot;TestGroupedList.CategoryViewModel&quot;&gt;
            &lt;TextBlock Text=&quot;{Binding CategoryText}&quot;
                       Style=&quot;{StaticResource PhoneTextGroupHeaderStyle}&quot;
                       Margin=&quot;0,18,0,0&quot;/&gt;
        &lt;/DataTemplate&gt;
        &lt;DataTemplate x:Key=&quot;TestGroupedList.ItemViewModel&quot;&gt;
            &lt;StackPanel Margin=&quot;32,0,0,17&quot;
                        Width=&quot;432&quot;&gt;
                &lt;TextBlock Text=&quot;{Binding LineOne}&quot;
                           TextWrapping=&quot;Wrap&quot;
                           Style=&quot;{StaticResource PhoneTextExtraLargeStyle}&quot; /&gt;
                &lt;TextBlock Text=&quot;{Binding LineTwo}&quot;
                           TextWrapping=&quot;Wrap&quot;
                           Margin=&quot;12,-6,12,0&quot;
                           Style=&quot;{StaticResource PhoneTextSubtleStyle}&quot; /&gt;
            &lt;/StackPanel&gt;
        &lt;/DataTemplate&gt;
    &lt;/Application.Resources&gt;
</pre>
</pre>
</div>
<p>Die Selector Klasse selbst ist dann sehr einfach:</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:8e4164e0-3121-4d7b-9681-bb06c41e6c62" class="wlWriterEditableSmartContent">
<pre>
<pre class="brush: csharp;">
public class DataTemplateSelector : ContentControl
{
    protected override void OnContentChanged(object oldContent, object newContent)
    {
        if (newContent == null)
       {
           ContentTemplate = null;
        } else {
            var type = newContent.GetType();
            if (Application.Current.Resources.Contains(type.FullName))
            {
                ContentTemplate = App.Current.Resources[type.FullName] as DataTemplate;
            }
         }
    }
}
</pre>
</pre>
</div>
<p>Unser XAML für die Listbox sieht so aus:</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:14212a0d-a355-4a6a-83e4-87f1d8dfd3e5" class="wlWriterEditableSmartContent">
<pre>
<pre class="brush: xml;">
&lt;ListBox x:Name=&quot;MainListBox&quot;
		 Margin=&quot;0,0,-12,0&quot;
	                 ItemsSource=&quot;{Binding CategoriesAndItems}&quot;
		SelectionChanged=&quot;MainListBox_SelectionChanged&quot;&gt;
	&lt;ListBox.ItemTemplate&gt;
		&lt;DataTemplate&gt;
			&lt;TestGroupedList:DataTemplateSelector Content=&quot;{Binding}&quot; /&gt;
		&lt;/DataTemplate&gt;
	&lt;/ListBox.ItemTemplate&gt;
&lt;/ListBox&gt;
</pre>
</pre>
</div>
<p>In diesem Fall möchte ich nicht das ein Klick auf einen Gruppenheader irgendwas bewirkt, also navigiere ich nur wenn das ausgewählte Item ein ItemViewModel ist. Je nach Anwendungsfall kann ich hier natürlich auch zu Gruppeneinstellungen navigieren o.ä.</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:4d9ac17f-9230-4b16-85c6-880213ed53e7" class="wlWriterEditableSmartContent">
<pre>
<pre class="brush: csharp;">
 var item = MainListBox.SelectedItem as ItemViewModel;
 if (item != null)
 {
  // Navigate to the new page
  NavigationService.Navigate(new Uri(&quot;/DetailsPage.xaml?Id=&quot; + item.Id,
                                                   UriKind.Relative));

   // Reset selected index to -1 (no selection)
    MainListBox.SelectedIndex = -1;
}
</pre>
</pre>
</div>
<p>Der größte Nachteil dieses Ansatzes soll nicht verschwiegen werden. Da die Auflösung des Templates erst zur Laufzeit stattfindet, kann weder Visual Studio noch Expression Blend eine Vorschau zeigen.</p>
<p>In diesem Fall hatte ich mich entschieden, das die Gruppierung rein für die Darstellung dient, die Logik sollte davon weitgehend unbeeinflusst bleiben. Alternativ hätte ich eine reine Kategorieliste nehmen können und die Items&#160; über HeaderedItemsControl darzustellen. In dem Fall sind Features wie auf- und zuklappen usw. viel einfacher zu implementieren.</p>
<p><a href="http://cid-cfda791b9e0a9f3a.office.live.com/self.aspx/.Public/TestGroupedList.zip">Beispielprojekt</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gbegerow.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gbegerow.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gbegerow.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gbegerow.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gbegerow.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gbegerow.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gbegerow.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gbegerow.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gbegerow.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gbegerow.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gbegerow.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gbegerow.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gbegerow.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gbegerow.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=61&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gbegerow.wordpress.com/2010/10/15/gruppierte-listen-mit-silverlight-auf-windows-phone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d92c7631a263adfe915be51f7682eca3?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gbegerow</media:title>
		</media:content>

		<media:content url="http://gbegerow.files.wordpress.com/2010/10/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Bookreviews: Grundkurs funktionale Programmierung mit Scala</title>
		<link>http://gbegerow.wordpress.com/2010/08/13/bookreviews-grundkurs-funktionale-programmierung-mit-scala/</link>
		<comments>http://gbegerow.wordpress.com/2010/08/13/bookreviews-grundkurs-funktionale-programmierung-mit-scala/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 16:14:57 +0000</pubDate>
		<dc:creator>gbegerow</dc:creator>
				<category><![CDATA[Bookreview]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Lang:German]]></category>
		<category><![CDATA[book review lang:german]]></category>

		<guid isPermaLink="false">https://gbegerow.wordpress.com/2010/08/13/bookreviews-grundkurs-funktionale-programmierung-mit-scala/</guid>
		<description><![CDATA[Dieses Mal: Grundkurs funktionale Programmierung mit Scala von Lothar Piepmeyer, Hanser Recht gut geschrieben, aber für meinen Geschmack ist die Einführung der funktionalen Welt mit Hilfe von Java und der Schwenk im zweiten Teil des Buches auf Scala ein bisschen am Ziel vorbei. Die Sprachkonstrukte von Scala konnten sich m.E. so nicht richtig festigen. Für [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=57&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Dieses Mal: </p>
<h3><a href="http://www.amazon.de/Grundkurs-funktionale-Programmierung-mit-Scala/dp/3446420924/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1281715461&amp;sr=8-1">Grundkurs funktionale Programmierung mit Scala</a> von Lothar Piepmeyer, Hanser</h3>
<p>Recht gut geschrieben, aber für meinen Geschmack ist die Einführung der funktionalen Welt mit Hilfe von Java und der Schwenk im zweiten Teil des Buches auf Scala ein bisschen am Ziel vorbei. Die Sprachkonstrukte von Scala konnten sich m.E. so nicht richtig festigen. Für jemanden, der ohne Wissen über funktionale Sprachen von Java (oder auch C#) kommt, erklärt der Ansatz aber sehr gut funktionale Konstrukte anhand bekannter Mechanismen und deren Vor- und Nachteile. Allerdings hätte das Buch ruhig noch ein bisschen stärker in die Tiefe gehen können.</p>
<h3>Fazit:</h3>
<p>Ein gutes Buch, aber nicht so richtig für mich geeignet. Von mir 3 von 5 Funktionen.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gbegerow.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gbegerow.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gbegerow.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gbegerow.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gbegerow.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gbegerow.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gbegerow.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gbegerow.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gbegerow.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gbegerow.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gbegerow.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gbegerow.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gbegerow.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gbegerow.wordpress.com/57/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=57&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gbegerow.wordpress.com/2010/08/13/bookreviews-grundkurs-funktionale-programmierung-mit-scala/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d92c7631a263adfe915be51f7682eca3?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gbegerow</media:title>
		</media:content>
	</item>
		<item>
		<title>Bookreviews: REST und HTTP</title>
		<link>http://gbegerow.wordpress.com/2010/08/13/bookreviews-rest-und-http/</link>
		<comments>http://gbegerow.wordpress.com/2010/08/13/bookreviews-rest-und-http/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 16:02:46 +0000</pubDate>
		<dc:creator>gbegerow</dc:creator>
				<category><![CDATA[Bookreview]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Lang:German]]></category>
		<category><![CDATA[book review lang:german]]></category>

		<guid isPermaLink="false">https://gbegerow.wordpress.com/2010/08/13/bookreviews-rest-und-http/</guid>
		<description><![CDATA[Dieses Mal ein Review über ein deutschprachiges Buch. REST und HTTP von Stefan Tilkow, dpunkt.verlag Wer schon immer mal mehr über Restfull Services wissen wollte, dem sei dieses Buch empfohlen. Der Autor hat ein klare Vorstellung davon, wie REST von der Struktur des HTTP Protokolls profitieren kann. Sehr schön und völlig sprachunabhängig zeigt er mit [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=56&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Dieses Mal ein Review über ein deutschprachiges Buch.</p>
<h3>REST und HTTP von Stefan Tilkow, dpunkt.verlag</h3>
<p>Wer schon immer mal mehr über Restfull Services wissen wollte, dem sei dieses Buch empfohlen. Der Autor hat ein klare Vorstellung davon, wie REST von der Struktur des HTTP Protokolls profitieren kann. Sehr schön und völlig sprachunabhängig zeigt er mit Hilfe von curl diverse Mechanismen von REST und ihre Verwendung. Die klare Trennung zwischen idempotenten (d.h. beliebig oft abschickbaren) Aufrufen von GET und Methoden die einen Serverzustand verändern, hilft wirklich, wenn man erst mal die Auswirkungen überdenkt.</p>
<p>Leider sind viele der für REST notwendigen Annahmen im .NET Umfeld noch eher selten anzutrefen (ich habe mir noch keine Meinung zum ODATA Framework gebildet, vielleicht wird es ja damit besser)</p>
<h3>Fazit:</h3>
<p>Ein sehr gut gelungenes Grundlagenbuch. 5 von 5 Requests</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gbegerow.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gbegerow.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gbegerow.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gbegerow.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gbegerow.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gbegerow.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gbegerow.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gbegerow.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gbegerow.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gbegerow.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gbegerow.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gbegerow.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gbegerow.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gbegerow.wordpress.com/56/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=56&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gbegerow.wordpress.com/2010/08/13/bookreviews-rest-und-http/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d92c7631a263adfe915be51f7682eca3?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gbegerow</media:title>
		</media:content>
	</item>
		<item>
		<title>Bookreviews: jQuery in Action</title>
		<link>http://gbegerow.wordpress.com/2010/08/13/bookreviews-jquery-in-action/</link>
		<comments>http://gbegerow.wordpress.com/2010/08/13/bookreviews-jquery-in-action/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 15:44:59 +0000</pubDate>
		<dc:creator>gbegerow</dc:creator>
				<category><![CDATA[Bookreview]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[book review lang:english]]></category>

		<guid isPermaLink="false">https://gbegerow.wordpress.com/2010/08/13/bookreviews-jquery-in-action/</guid>
		<description><![CDATA[I decided to do a short personal Review of all Books I read this year, at least the technical ones. I will alway write the review in the language I read the book. This time: jQuery in Action from Bear Bibeault and Yehuda Katz, Manning I have read the old version and I expect the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=54&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I decided to do a short personal Review of all Books I read this year, at least the technical ones. I will alway write the review in the language I read the book.</p>
<p>This time:</p>
<h3>jQuery in Action from Bear Bibeault and Yehuda Katz, Manning</h3>
<p>I have read the old version and I expect the new version to be even better. A fundamental and well written introduction into the Javascript Framework jQuery. I have used jQuery for over a year now and then, but I learned a tremendous amount of the backgrounds and usage from this book.</p>
<h3>Conclusion:</h3>
<p>If you want to learn about jQuery, read this book.    <br />Five of Five Stars.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gbegerow.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gbegerow.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gbegerow.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gbegerow.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gbegerow.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gbegerow.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gbegerow.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gbegerow.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gbegerow.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gbegerow.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gbegerow.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gbegerow.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gbegerow.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gbegerow.wordpress.com/54/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=54&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gbegerow.wordpress.com/2010/08/13/bookreviews-jquery-in-action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d92c7631a263adfe915be51f7682eca3?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gbegerow</media:title>
		</media:content>
	</item>
		<item>
		<title>Exploration Windows Phone 7</title>
		<link>http://gbegerow.wordpress.com/2010/06/29/exploration-windows-phone-7/</link>
		<comments>http://gbegerow.wordpress.com/2010/06/29/exploration-windows-phone-7/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 04:32:44 +0000</pubDate>
		<dc:creator>gbegerow</dc:creator>
				<category><![CDATA[Lang:German]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[WP7DEV]]></category>

		<guid isPermaLink="false">https://gbegerow.wordpress.com/2010/06/29/exploration-windows-phone-7/</guid>
		<description><![CDATA[&#160; Kinetic Text Intro Ich bin seit einiger Zeit fasziniert von Kinetic Text Aninmationen. Daher hatte ich für die Usergroup mal ein Demo dazu vorbereitet. Das Intro ist in einer langen Nacht komplett von Hand mit Expression Blend 4 erstellt, inklusive der Word Cloud. Das gesamte Projekt enthält nicht eine einzige Codezeile. Der XAML Sourcecode [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=52&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#160;<a title="Word Cloud WP7DEV" href="http://cid-cfda791b9e0a9f3a.office.live.com/self.aspx/.Public/WP7dev-Cloud.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="WP7dev-Cloud-Small" border="0" alt="WP7dev-Cloud-Small" src="http://gbegerow.files.wordpress.com/2010/06/wp7devcloudsmall.png?w=402&#038;h=244" width="402" height="244" /></a> </p>
<h3>Kinetic Text Intro</h3>
<p> <span style="text-align:center; display: block;"><a href="http://gbegerow.wordpress.com/2010/06/29/exploration-windows-phone-7/"><img src="http://img.youtube.com/vi/SvnV0aYNC-o/2.jpg" alt="" /></a></span>
<p>Ich bin seit einiger Zeit fasziniert von Kinetic Text Aninmationen. Daher hatte ich für die Usergroup mal ein Demo dazu vorbereitet. Das Intro ist in einer langen Nacht komplett von Hand mit Expression Blend 4 erstellt, inklusive der Word Cloud. Das gesamte Projekt enthält nicht eine einzige Codezeile. Der XAML Sourcecode liegt auf meinem Skydrive unter <a title="Kinetic Text Intro Sourcecode" href="http://cid-cfda791b9e0a9f3a.office.live.com/self.aspx/.Public/KineticText.zip" target="_blank">Kinetictext</a>. Bilder, Video und Sourcecode werden hiermit unter Creative Commons Licence gestellt. Jegliche Form der Verwendung, Bearbeitung und Weitergabe ist ausdrücklich gestattet.</p>
<h3>Hier die Materialien zu der Exploration</h3>
<p>Leider sind wir mit der Exploration nicht sonderlich weit gekommen. Aber wir haben glaube ich alle viel gelernt. Das (nicht wirklich funktionsfähige) Ergebnis des Abends habe ich mal <a title="Sourcecode Windows Phone 7 Exploration" href="http://cid-cfda791b9e0a9f3a.office.live.com/self.aspx/.Public/PhoneCallsSharePoint.zip" target="_blank">hier</a> abgelegt.</p>
<h3>Weiterführende Links:</h3>
</p>
<dl>
<dt>Deutschsprachige Einführungsseite von Frank Prengel </dt>
<dd><a href="http://bit.ly/wp7def">http://bit.ly/wp7def</a> </dd>
<dt>WP7 für Entwickler – Getting Started </dt>
<dd><a href="http://developer.windowsphone.com/windows-phone-7-series/">http://developer.windowsphone.com/windows-phone-7-series/</a> </dd>
<dt>WP7-Entwicklung – Doku auf MSDN </dt>
<dd><a href="http://msdn.microsoft.com/en-us/library/ff402535%28VS.92%29.aspx">http://msdn.microsoft.com/en-us/library/ff402535(VS.92).aspx</a> </dd>
<dt>WP7-Sessions und Videos von der MIX10 </dt>
<dd><a href="http://live.visitmix.com/Sessions#/tags/Mobile">http://live.visitmix.com/Sessions#/tags/Mobile</a></dd>
</dl>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gbegerow.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gbegerow.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gbegerow.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gbegerow.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gbegerow.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gbegerow.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gbegerow.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gbegerow.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gbegerow.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gbegerow.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gbegerow.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gbegerow.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gbegerow.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gbegerow.wordpress.com/52/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=52&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gbegerow.wordpress.com/2010/06/29/exploration-windows-phone-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d92c7631a263adfe915be51f7682eca3?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gbegerow</media:title>
		</media:content>

		<media:content url="http://gbegerow.files.wordpress.com/2010/06/wp7devcloudsmall.png" medium="image">
			<media:title type="html">WP7dev-Cloud-Small</media:title>
		</media:content>
	</item>
		<item>
		<title>C# Enums with Methods</title>
		<link>http://gbegerow.wordpress.com/2010/05/13/c-enums-with-methods/</link>
		<comments>http://gbegerow.wordpress.com/2010/05/13/c-enums-with-methods/#comments</comments>
		<pubDate>Thu, 13 May 2010 17:59:43 +0000</pubDate>
		<dc:creator>gbegerow</dc:creator>
				<category><![CDATA[Lang:English]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Enum]]></category>
		<category><![CDATA[Extension Method]]></category>

		<guid isPermaLink="false">https://gbegerow.wordpress.com/2010/05/13/c-enums-with-methods/</guid>
		<description><![CDATA[Are you jealously looking over the fence to Java Enums? Enums in Java are much more than the barely disguised integer constants in C#. In Java the Enum is a special form of a class with a set of fixed instances always inheriting the Enum baseclass They can have local variables and methods. In C# [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=46&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Are you jealously looking over the fence to Java Enums? Enums in Java are much more than the barely disguised integer constants in C#. In Java the Enum is a special form of a class with a set of fixed instances always inheriting the Enum baseclass They can have local variables and methods. </p>
<p>In C# (or VB so far) enums are much more like strongly typed and named integer subsets in the tradition of C #define. It is possible to give a different base but only different sizes of integer. No way to put any logic onto an enum. No way?</p>
<p>Wrong!</p>
<p>Extension methods to the rescue. I often have Enums coming from a WSDL proxy. As I don’t want the dependency to the webservice to leak into the domain model I convert from and to the internal version. Conversion could be done by a service but I prefer Extension Methods. </p>
<p>Assume the following definition coming from the webservice:</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:5431692b-b01a-46b2-ab6a-4408e7211a3b" class="wlWriterEditableSmartContent">
<pre class="c#">public enum ExternalEnum
{
    Ready,
    SoftwareUpdate,
    HardwareUpdate,
    Error,
    TimeOut
}</pre>
</div>
<p>As I don’t care for the specific reason the service is unavailable I define:</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:b1b0ddd3-a1d9-4fd4-b144-22e082a7c43f" class="wlWriterEditableSmartContent">
<pre class="c#">public enum InternalEnum
{
    DatabaseReady,
    Maintenance,
    ServerError
}</pre>
</div>
<p>With this extension method defined:</p>
</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:a5ed01a1-9940-40a9-a346-0f17e5f7b7d2" class="wlWriterEditableSmartContent">
<pre class="c#">public static class EnumExtensions
{
    public static InternalEnum ToInternalEnum(this ExternalEnum value)
    {
        switch (value)
        {
            case ExternalEnum.Ready:
                return InternalEnum.DatabaseReady;
            case ExternalEnum.HardwareUpdate:
            case ExternalEnum.SoftwareUpdate:
                return InternalEnum.Maintenance;
            case ExternalEnum.TimeOut:
            case ExternalEnum.Error:
                return InternalEnum.ServerError;
            default:
                throw new InvalidCastException("Unknown value for ExternalEnum value " + value);
        }
    }
}</pre>
</div>
<p>I can convert (and get even Intellisense):</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:cb36cd6a-c9fa-4bfa-b848-c4d00bf2b317" class="wlWriterEditableSmartContent">
<pre class="c#">ExternalEnum wsResult = ...;
return wsResult.ToInternalEnum();
</pre>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gbegerow.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gbegerow.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gbegerow.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gbegerow.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gbegerow.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gbegerow.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gbegerow.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gbegerow.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gbegerow.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gbegerow.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gbegerow.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gbegerow.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gbegerow.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gbegerow.wordpress.com/46/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=46&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gbegerow.wordpress.com/2010/05/13/c-enums-with-methods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d92c7631a263adfe915be51f7682eca3?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gbegerow</media:title>
		</media:content>
	</item>
		<item>
		<title>Download Videos of MIX2010 with PowerShell in the Background</title>
		<link>http://gbegerow.wordpress.com/2010/03/17/download-videos-of-mix2010-with-powershell-in-the-background/</link>
		<comments>http://gbegerow.wordpress.com/2010/03/17/download-videos-of-mix2010-with-powershell-in-the-background/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 21:37:10 +0000</pubDate>
		<dc:creator>gbegerow</dc:creator>
				<category><![CDATA[Download]]></category>
		<category><![CDATA[Lang:English]]></category>
		<category><![CDATA[MIX10]]></category>
		<category><![CDATA[Powershell]]></category>

		<guid isPermaLink="false">http://gbegerow.wordpress.com/?p=41</guid>
		<description><![CDATA[It’s again that time of the year, its MIX in Las Vegas. Lots and lots of sessions and every session is recorded on video. So even if you can’t be in Vegas get the whole thing. But I don’t like the idea of downloading all of those via the browser. So I wrote a script [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=41&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It’s again that time of the year, its MIX in Las Vegas. Lots and lots of sessions and every session is recorded on video. So even if you can’t be in Vegas get the whole thing. But I don’t like the idea of downloading all of those via the browser. So I wrote a script to download them via BitsTransfer from PowerShell loosely based on a script from poshcode I used to get videos from PDC. I can’t find the original author and his script again but thanks a lot.</p>
<p>Update: I polished the script a little bit like warnings if a file is already on disk, listing all missing sessions, sorting index, removing the dummy, some minor bugfixing with naming, etc. Still not perfect but better.</p>
<p><a href="http://gbegerow.files.wordpress.com/2010/03/mix10videodownload-zip1.docx" target="_blank">Mix10VideoDownload.zip.docx</a> Rename to Mix10VideoDownload.zip to extract.</p>
<p>The script takes a session code as parameter. It then grabs the RSS-Feed to extract title, speaker, tags etc. These values will inserted into an index.xml file (maybe I write a corresponding XSLT for viewing but you can already view it in the browser). After that a BitsTransfer Job is started to download the video. </p>
<p>If the script is called without parameter it will list all missing sessions.</p>
<p>I use some small functions in my profile to control downloads:</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:f7c33b11-e306-4912-b905-f4a0251f55fb" class="wlWriterEditableSmartContent">
<pre>
<pre class="brush: powershell;">
# Downloads with BitsTransfer
function Get-Downloads {
  Import-Module BitsTransfer
  Get-BitsTransfer | % { &quot;{0}: {2} {3:0.00} MB/{4:0.00} MB ( {1:0.00}% )&quot; -f $_.DisplayName, $(100*$_.BytesTransferred/$_.BytesTotal), $_.JobState, ($_.BytesTransferred/1MB), ($_.BytesTotal/1MB) }
}
Set-Alias &quot;dl&quot; &quot;Get-Downloads&quot;

# Get a list of all downloads
function Complete-Downloads
{
  Import-Module BitsTransfer
  Get-BitsTransfer | ? { $_.JobState -eq &quot;Transferred&quot; } | Complete-BitsTransfer
}

# suspend all Downloads (optional all below a certain threshhold
function Suspend-Downloads( [int] $maxPercent = 100 )
{
  Complete-Downloads
  Get-BitsTransfer | ? { $_.JobState -eq &quot;Transferring&quot;  -and ($_.BytesTransferred/$_.BytesTotal) -lt ($maxPercent/100) } | Suspend-BitsTransfer
}

#resume all Downloads (optional all above a certain threshhold
function Resume-Downloads( [int] $minPercent = 0 )
{
  Complete-Downloads
  Get-BitsTransfer | ? { $_.JobState -eq &quot;Suspended&quot; -and ($_.BytesTransferred/$_.BytesTotal) -gt ($minPercent/100) } | Resume-BitsTransfer -Async
}

# download Mix Session Videos. Call it like mix &quot;EX21&quot; &quot;CL01&quot; &quot;FT05&quot;
function Mix()
{
  complete-downloads; $args | % { &amp; $scripthome\get-Mix10Video.ps1 $_ } ; sleep -Seconds 5; get-downloads
}
</pre>
</pre>
</div>
<p>Use Get-Downloads to view the progress of the download and Complete-Downloads to finish it (The file will not show up until you complete it)</p>
<p>Use the mix function to call the script with multiple sessions e.g. mix “EX14” “EX06” will download the excellent talks of Laurent Bugnion about MVVM Pattern and Robby Ingebretsen about Design Principles and other things. </p>
<p>Extract the zip. Pay attention to not overwrite your index.xml if you already have it. Put the script at any place appropriate to you and the index.xml into the destination directory. I suggest putting your destination path into the script instead of my default value. Call it either with ? to get the list of available sessions or with a session code to download these video. </p>
<p>An Example:<br />
  <br />.\Get-Mix10Video.ps1 CL01 </p>
<p>will put the file CL01-Introduction to Windows Phone 7 Series.wmv into your destination directory.</p>
</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:14a94d28-c176-4932-88e8-45fe50c5bef5" class="wlWriterEditableSmartContent">
<pre>
<pre class="brush: powershell; pad-line-numbers: true;">
#requires -version 2.0
PARAM (
   [Parameter(Position=1, Mandatory=$false)]
   [String]$Video=&quot;?&quot;,

   [Parameter(Position=2, Mandatory=$false)]
   [ValidateSet(&quot;wmv&quot;,&quot;wmv-hq&quot;,&quot;pptx&quot;, &quot;mp4&quot;)]
   [String]$MediaType =&quot;wmv-hq&quot;,

   [string]$Destination = &quot;F:\Videos\Mix10&quot;,

   [string]$rss = &quot;http://live.visitmix.com/Sessions/RSS&quot;
)

Import-Module BitsTransfer

#$illegalChars = &quot;[{0}]&quot; -f ([Regex]::Escape([String] [System.IO.Path]::GetInvalidFileNameChars()))
$illegalChars = '[:*?\\\/\t\n&lt;&gt;|&quot;]'

# Get Session RSS, parse Titel, Speaker, Tags, Description, ...
$wc = new-object System.Net.WebClient
$rssdata = [xml]$wc.DownloadString($rss)
$item = $rssdata.rss.channel.item | ? { $_.link.EndsWith($Video) }

Push-Location $Destination
$Extension = $(switch -wildcard($MediaType){&quot;wmv*&quot;{&quot;wmv&quot;} &quot;mp4&quot;{&quot;mp4&quot;} &quot;pptx&quot;{&quot;pptx&quot;}})
$SrcUrl = &quot;http://ecn.channel9.msdn.com/o9/mix/10/{0}/{2}.{1}&quot; -f  $MediaType, $Extension, $Video
$Destfile = ( &quot;{0}-{1}.{2}&quot; -f $Video, $Title, $Extension ) -replace $illegalChars, &quot;&quot;
$Destpath = $(&quot;{0}\{1}&quot; -f $Destination, $Destfile)
$indexFile =  $(&quot;{0}\{1}&quot; -f $Destination, &quot;index.xml&quot;)

$Title = $item.title

# get index.xml
$index = new-object XML
$index.Load($indexFile)

# returns the list of the missing sessions if code is ? or item not found
# use filter like | ? { $_.tags -contains &quot;WindowsPhone&quot; } | % { .\Get-Mix10Video.ps $_.code }
if ( $Video -eq &quot;?&quot; -or $item -eq $null )
{
    $rssdata.rss.channel.item |  % {
         New-Object PsObject -Property @{
            code    = $_.link.Substring($_.link.LastIndexOf(&quot;/&quot;) +1 )
            title   = $_.title
            speaker = $_.author
            tags    = @( $_.category )
        }
    } | ? {
        $xpath = &quot;//session[code='&quot;+ $_.code +&quot;']&quot;
       $index.SelectSingleNode($xpath) -eq $null
    } | sort -Property &quot;code&quot;
    return
}

# does index already contains session?
$session = $index.SelectSingleNode(&quot;//session[code='$Video']&quot;)
if ($session -eq $null) {
  $firstSession = @( $index.sessions.session )[0]
  $session = $firstSession.Clone()
  $session.code = $Video
  [void]$index.sessions.AppendChild($session)
}

$session.title = $Title
$session.speaker = $item.author
$session.tags = $item.category  -join &quot;,&quot;
$session.sessionref = $item.link
$session.local = $Destpath
$session.href = $SrcUrl
$session.description = $item.description

# remove dummy as it is no longer needed
$dummy = $session = $index.SelectSingleNode(&quot;//session[code='DMY00']&quot;)
if ($dummy -ne $null) { $index.sessions.RemoveChild( $dummy ) }

# sort sessions by code
[void] ( $index.sessions.session | sort -Property &quot;code&quot; | % { $index.sessions.RemoveChild($_); $index.sessions.AppendChild($_) } )

$index.Save($indexFile)

# file downloaded in former session?
if (Test-Path &quot;$Video*.$Extension&quot;) {
  $title = &quot;File $Video*.$Extension already exists!&quot;
  $message = &quot;Do you want to delete the existing file and download it new?&quot;

  $yes = New-Object System.Management.Automation.Host.ChoiceDescription &quot;&amp;Yes&quot;, `
      &quot;Delete $Destfile and start download&quot;

  $continue = New-Object System.Management.Automation.Host.ChoiceDescription &quot;&amp;Continue&quot;, `
      &quot;Continue without deleting file&quot;

  $no = New-Object System.Management.Automation.Host.ChoiceDescription &quot;&amp;No&quot;, `
      &quot;Hold file and skip download&quot;

  $options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $continue, $no)

  $result = $host.ui.PromptForChoice($title, $message, $options, 2) 

  switch ($result)
    {
        0 { delete $Destpath }
        1 { &quot;Continuing with download&quot; }
        2 {
            Pop-Location
            return
          }
    }

}

#start download
[void] ( Start-BitsTransfer -Source $SrcUrl -Destination $Destpath -DisplayName ($Video +&quot;: &quot;+$Title)  -Description $item.description -Async )

Pop-Location

Write-Host &quot;You may now use Get-BitsTransfer to check on the status of the downloads. By default, failed transfers will be retried every 10 minutes for two weeks.&quot;
</pre>
</pre>
</div>
<p>The index.xml uses the following format:</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:06aa1fec-131e-4af8-bad4-8a44651f0ac9" class="wlWriterEditableSmartContent">
<pre>
<pre class="brush: xml; html-script: false;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;!-- Sessionlist unter http://live.visitmix.com/Sessions/RSS brauchbar? --&gt;
&lt;sessions&gt;
  &lt;session&gt;
    &lt;code&gt;CL01&lt;/code&gt;
    &lt;title&gt;Changing our Game – an Introduction to Windows Phone 7 Series&lt;/title&gt;
    &lt;speaker&gt;Joe Belfiore&lt;/speaker&gt;
    &lt;tags&gt;Mobile, Windows Phone&lt;/tags&gt;
    &lt;href&gt;http://ecn.channel9.msdn.com/o9/mix/10/wmv-hq/CL01.wmv&lt;/href&gt;
    &lt;sessionref&gt;http://live.visitmix.com/MIX10/Sessions/CL01&lt;/sessionref&gt;
    &lt;local&gt;CL01-Introduction to Windows Phone 7 Series.wmv&lt;/local&gt;
    &lt;description&gt;
      Major changes are coming to Windows Phone! This session goes in-depth on the design and
      features of Windows Phone and gives a comprehensive picture of what’s
      coming in this exciting new release.
    &lt;/description&gt;
    &lt;filesize&gt;
    &lt;/filesize&gt;
    &lt;length&gt;
    &lt;/length&gt;
  &lt;/session&gt;
&lt;/sessions&gt;
</pre>
</pre>
</div>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3fe343ec-9a8c-4219-be5d-f017e2ff4865" class="wlWriterEditableSmartContent">Technorati-Tags: <a href="http://technorati.com/tags/PowerShell" rel="tag">PowerShell</a>,<a href="http://technorati.com/tags/MIX2010" rel="tag">MIX2010</a>,<a href="http://technorati.com/tags/MIX10" rel="tag">MIX10</a>,<a href="http://technorati.com/tags/Videos" rel="tag">Videos</a>,<a href="http://technorati.com/tags/Sessions" rel="tag">Sessions</a>,<a href="http://technorati.com/tags/Download" rel="tag">Download</a>,<a href="http://technorati.com/tags/BitsTransfer" rel="tag">BitsTransfer</a></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gbegerow.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gbegerow.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gbegerow.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gbegerow.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gbegerow.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gbegerow.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gbegerow.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gbegerow.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gbegerow.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gbegerow.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gbegerow.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gbegerow.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gbegerow.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gbegerow.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gbegerow.wordpress.com&amp;blog=803652&amp;post=41&amp;subd=gbegerow&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gbegerow.wordpress.com/2010/03/17/download-videos-of-mix2010-with-powershell-in-the-background/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d92c7631a263adfe915be51f7682eca3?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">gbegerow</media:title>
		</media:content>
	</item>
	</channel>
</rss>
