<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en-us">
  <title>Paul van Brenk.com</title>
  <link rel="alternate" type="text/html" href="http://www.paulvanbrenk.com/blog/" />
  
  <icon>favicon.ico</icon>
  <updated>2012-04-20T19:35:59.6723062-07:00</updated>
  <author>
    <name>Paul van Brenk</name>
  </author>
  <subtitle>Standing on the shoulders of giants.</subtitle>
  <id>http://www.paulvanbrenk.com/blog/</id>
  <generator uri="http://dasblog.info/" version="2.3.12105.0">DasBlog</generator>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/paulvanbrenk" /><feedburner:info uri="paulvanbrenk" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
    <title>dasBlog 2.3.1 released</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/paulvanbrenk/~3/bgHMgVdOrWk/dasBlog231Released.aspx" />
    <id>http://www.paulvanbrenk.com/blog/PermaLink,guid,1369be41-2972-40b0-9046-89dbaa2a58a8.aspx</id>
    <published>2012-04-20T19:34:57.0843038-07:00</published>
    <updated>2012-04-20T19:35:59.6723062-07:00</updated>
    <category term="dasBlog" label="dasBlog" scheme="http://www.paulvanbrenk.com/blog/CategoryView,category,dasBlog.aspx" />
    <author>
      <name>Paul van Brenk</name>
    </author>
    <content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
This is our official 2.3.1 release.&lt;br&gt;&lt;br&gt;&#xD;
Use source files if you are developing or pull the source from the "Source Code" tab&#xD;
above.&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xD;
This is another small point release: &#xD;
&lt;br&gt;&lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
.NET 3.5 support, &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Better support for IE8/9 layout in themes, (minor) &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Better support for XHTML &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Supports the latest version of FreeTextBox (also better XHTML) &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
For developers, we now support VS 2010 &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Bug fix for error on comments as Admin reviewer and a comment had no Author element &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Search Engine Optimization Patch added &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
New simple category less thread view, index of all blog posts &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Google OpenID handling improvements &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Upgraded to DotNetOpenAuth v3.4.5 &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
We now officially support dasBlog on IIS 7 using integrated pipeline mode&lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;a href="https://dasblog.codeplex.com/releases/view/86033"&gt;https://dasblog.codeplex.com/releases/view/86033&lt;/a&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.paulvanbrenk.com/blog/aggbug.ashx?id=1369be41-2972-40b0-9046-89dbaa2a58a8"&gt;&lt;/img&gt;&#xD;
      &lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=bgHMgVdOrWk:OyT5lJz_UDg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=bgHMgVdOrWk:OyT5lJz_UDg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=bgHMgVdOrWk:OyT5lJz_UDg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?i=bgHMgVdOrWk:OyT5lJz_UDg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulvanbrenk/~4/bgHMgVdOrWk" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.paulvanbrenk.com/blog/2012/04/21/dasBlog231Released.aspx</feedburner:origLink></entry>
  <entry>
    <title>The future of dasBlog</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/paulvanbrenk/~3/G4RsVsaE7jc/TheFutureOfDasBlog.aspx" />
    <id>http://www.paulvanbrenk.com/blog/PermaLink,guid,e0d5173a-6e51-4619-bbd1-2d5959d83b6d.aspx</id>
    <published>2012-01-08T20:50:42.1594247-08:00</published>
    <updated>2012-01-08T20:55:21.0580125-08:00</updated>
    <category term="dasBlog" label="dasBlog" scheme="http://www.paulvanbrenk.com/blog/CategoryView,category,dasBlog.aspx" />
    <author>
      <name>Paul van Brenk</name>
    </author>
    <content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
The title is a lie (sort of)... I don't know what the long time future of dasBlog&#xD;
is, but short term the following is going to happen. We will release a .NET 3.5 version&#xD;
soon (which is running on this blog now). We probably will release a .NET 4 version&#xD;
shortly following that. And when Visual Studio 11 is released in Beta, we will release&#xD;
a version of dasBlog for .NET 4.5. &#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
New features? DasBlog is fine for my needs as is, if you have something specific you&#xD;
would like, please let us know. Depending on the complexity we might be able to put&#xD;
it in.&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
 &#xD;
&lt;/p&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.paulvanbrenk.com/blog/aggbug.ashx?id=e0d5173a-6e51-4619-bbd1-2d5959d83b6d"&gt;&lt;/img&gt;&#xD;
      &lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=G4RsVsaE7jc:zafoTGrQz48:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=G4RsVsaE7jc:zafoTGrQz48:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=G4RsVsaE7jc:zafoTGrQz48:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?i=G4RsVsaE7jc:zafoTGrQz48:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulvanbrenk/~4/G4RsVsaE7jc" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.paulvanbrenk.com/blog/2012/01/09/TheFutureOfDasBlog.aspx</feedburner:origLink></entry>
  <entry><title type="text">Links for 2011-07-26 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/paulvanbrenk/~3/5DMTWL-SkZE/paul.van.brenk" /><updated>2011-07-27T00:00:00-07:00</updated><id>http://del.icio.us/paul.van.brenk#2011-07-26</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://theediblegardener.co.uk/"&gt;Alex Mitchell Garden Writer&lt;/a&gt;&lt;br/&gt;
excellent gardening website and blog &lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/paulvanbrenk/~4/5DMTWL-SkZE" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/paul.van.brenk#2011-07-26</feedburner:origLink></entry><entry><title type="text">Links for 2011-07-05 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/paulvanbrenk/~3/ZkO82VZLvMA/paul.van.brenk" /><updated>2011-07-06T00:00:00-07:00</updated><id>http://del.icio.us/paul.van.brenk#2011-07-05</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.danielstaincliffe.com/WildBoar/Fauna%20Automata%3A%20British%20Wild%20Boar/Fauna%20Automata%3A%20British%20Wild%20Boar.html"&gt;Fauna Automata: British Wild Boar&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/paulvanbrenk/~4/ZkO82VZLvMA" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/paul.van.brenk#2011-07-05</feedburner:origLink></entry><entry><title type="text">Links for 2011-06-08 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/paulvanbrenk/~3/iCFnA3Qnrac/paul.van.brenk" /><updated>2011-06-09T00:00:00-07:00</updated><id>http://del.icio.us/paul.van.brenk#2011-06-08</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.guardian.co.uk/environment/2011/jun/08/london-gardens-parks-paved"&gt;London &amp;ndash; where the streets are paved with gold, and the gardens with cement | Environment | guardian.co.uk&lt;/a&gt;&lt;br/&gt;
Beneath the pavement - the garden!&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/paulvanbrenk/~4/iCFnA3Qnrac" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/paul.van.brenk#2011-06-08</feedburner:origLink></entry><entry><title type="text">Links for 2011-05-27 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/paulvanbrenk/~3/jKDI340jVlk/paul.van.brenk" /><updated>2011-05-28T00:00:00-07:00</updated><id>http://del.icio.us/paul.van.brenk#2011-05-27</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.lovethegarden.com/infographics/grow-your-own"&gt;Infographic: grow your own | Gardening tips and advice | LoveTheGarden.com&lt;/a&gt;&lt;br/&gt;
An appealing and interesting 'infographic' showing the growth of interest in food growing in the UK&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/paulvanbrenk/~4/jKDI340jVlk" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/paul.van.brenk#2011-05-27</feedburner:origLink></entry><entry>
    <title>Typeforwarding Generic Types</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/paulvanbrenk/~3/5dO7CJV40iI/TypeforwardingGenericTypes.aspx" />
    <id>http://www.paulvanbrenk.com/blog/PermaLink,guid,6bdd15fa-a325-4620-8031-a92dd1926fc4.aspx</id>
    <published>2011-04-11T15:41:37.0693426-07:00</published>
    <updated>2011-04-11T15:41:37.0693426-07:00</updated>
    <author>
      <name>Paul van Brenk</name>
    </author>
    <content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;div class="posterous_autopost"&gt;&#xD;
          &lt;p&gt;&#xD;
When you forward a generic type to another assembly [0] using the &lt;a href="http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.typeforwardedtoattribute.aspx"&gt; TypeForwardedTo&#xD;
attribute&lt;/a&gt;, you can’t specify the typeparameters. Instead the number of typeparameters&#xD;
in in the class definition depends the number of comma’s in definition.&#xD;
&lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style=""&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: blue; background: white;"&gt;using&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt; System.Runtime.CompilerServices;&lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style=""&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;&#xD;
            &lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style=""&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;[&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: blue; background: white;"&gt;assembly&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;: &lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: #2B91AF; background: white;"&gt;TypeForwardedTo&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;(&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: blue; background: white;"&gt;typeof&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;(Destination.&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: #2B91AF; background: white;"&gt;SomeClass&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;))] &lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: green; background: white;"&gt;//&#xD;
Non generic&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;&#xD;
            &lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style=""&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;[&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: blue; background: white;"&gt;assembly&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;: &lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: #2B91AF; background: white;"&gt;TypeForwardedTo&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;(&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: blue; background: white;"&gt;typeof&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;(Destination.&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: #2B91AF; background: white;"&gt;SomeClass&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;&amp;lt;&amp;gt;))] &lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: green; background: white;"&gt;//&#xD;
equivalent to SomeClass&amp;lt;T&amp;gt;&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;&#xD;
            &lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;[&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: blue; background: white;"&gt;assembly&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;: &lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: #2B91AF; background: white;"&gt;TypeForwardedTo&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;(&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: blue; background: white;"&gt;typeof&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;(Destination.&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: #2B91AF; background: white;"&gt;SomeClass&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: black; background: white;"&gt;&amp;lt;,&amp;gt;))] &lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: green; background: white;"&gt;//&#xD;
equivalent to SomeClass&amp;lt;T,U&amp;gt;&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: green;"&gt;&#xD;
            &lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: green;"&gt;&#xD;
            &lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
            &lt;span class="MsoHyperlink"&gt;&#xD;
              &lt;a href="http://msdn.microsoft.com/en-us/library/ms404275.aspx"&gt;More&#xD;
info on typeforwarding&lt;/a&gt;&#xD;
            &lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style="font-size: 10px;"&gt;&#xD;
            &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt; from &lt;a href="http://paulvanbrenk.posterous.com/typeforwarding-generic-types"&gt;Paul&#xD;
van Brenk's posterous&lt;/a&gt;&lt;/p&gt;&#xD;
        &lt;/div&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.paulvanbrenk.com/blog/aggbug.ashx?id=6bdd15fa-a325-4620-8031-a92dd1926fc4"&gt;&lt;/img&gt;&#xD;
      &lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=5dO7CJV40iI:yuvCjgX-6i0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=5dO7CJV40iI:yuvCjgX-6i0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=5dO7CJV40iI:yuvCjgX-6i0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?i=5dO7CJV40iI:yuvCjgX-6i0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulvanbrenk/~4/5dO7CJV40iI" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.paulvanbrenk.com/blog/2011/04/11/TypeforwardingGenericTypes.aspx</feedburner:origLink></entry>
  <entry><title type="text">Links for 2011-03-15 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/paulvanbrenk/~3/yzqxsNZpCAY/paul.van.brenk" /><updated>2011-03-16T00:00:00-07:00</updated><id>http://del.icio.us/paul.van.brenk#2011-03-15</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://chocolatefilms.com/films/project/228/how-to-save-energy"&gt;How To Save Energy&lt;/a&gt;&lt;br/&gt;
Some useful tips on environmental living from Chocolate Films&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.theecologist.org/green_green_living/gardening/767397/top_10gardening_blogs.html"&gt;Top 10&amp;hellip;Organic Gardening Blogs - Green Living - The Ecologist&lt;/a&gt;&lt;br/&gt;
We aren't ones to blow our own trumpets but...hey!&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/paulvanbrenk/~4/yzqxsNZpCAY" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/paul.van.brenk#2011-03-15</feedburner:origLink></entry><entry>
    <title>Visual Studio 2010 SP1 released!</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/paulvanbrenk/~3/gdF-BWMyVkc/VisualStudio2010SP1Released.aspx" />
    <id>http://www.paulvanbrenk.com/blog/PermaLink,guid,2adcfa7e-b417-4f6a-a60a-8a97fe8bcfcc.aspx</id>
    <published>2011-03-08T15:33:05.444127-08:00</published>
    <updated>2011-03-08T15:33:05.444127-08:00</updated>
    <author>
      <name>Paul van Brenk</name>
    </author>
    <content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;div class="posterous_autopost"&gt;&#xD;
          &lt;p&gt;&#xD;
As both &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2011/03/08/announcing-visual-studio-2010-service-pack-1.aspx"&gt; Jason&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/b/somasegar/archive/2011/03/07/visual-studio-2010-enhancements.aspx"&gt; Soma&lt;/a&gt; blogged&#xD;
earlier, Visual Studio 2010 SP1 is released today. &#xD;
&lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
MSDN subscriber can &lt;a href="http://go.microsoft.com/fwlink/?LinkID=207267"&gt; download&#xD;
Service Pack 1&lt;/a&gt; today, everyone else has to have a little more patience until March&#xD;
10, when they can &lt;a href="http://go.microsoft.com/fwlink/?LinkId=209902"&gt;download&#xD;
it from Microsoft downloads&lt;/a&gt;.&#xD;
&lt;/p&gt;&#xD;
          &lt;p style="font-size: 10px;"&gt;&#xD;
            &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt; from &lt;a href="http://paulvanbrenk.posterous.com/visual-studio-2010-sp1-released"&gt;Paul&#xD;
van Brenk's posterous&lt;/a&gt;&lt;/p&gt;&#xD;
        &lt;/div&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.paulvanbrenk.com/blog/aggbug.ashx?id=2adcfa7e-b417-4f6a-a60a-8a97fe8bcfcc"&gt;&lt;/img&gt;&#xD;
      &lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=gdF-BWMyVkc:qsqB8MseztA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=gdF-BWMyVkc:qsqB8MseztA:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=gdF-BWMyVkc:qsqB8MseztA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?i=gdF-BWMyVkc:qsqB8MseztA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulvanbrenk/~4/gdF-BWMyVkc" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.paulvanbrenk.com/blog/2011/03/08/VisualStudio2010SP1Released.aspx</feedburner:origLink></entry>
  <entry>
    <title>Great features in Visual Basic</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/paulvanbrenk/~3/HuQzTliD5ug/GreatFeaturesInVisualBasic.aspx" />
    <id>http://www.paulvanbrenk.com/blog/PermaLink,guid,a6196cf4-4744-4488-8dce-91cde3da83b8.aspx</id>
    <published>2011-02-28T16:36:33.9487309-08:00</published>
    <updated>2011-02-28T16:36:33.9487309-08:00</updated>
    <author>
      <name>Paul van Brenk</name>
    </author>
    <content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;div class="posterous_autopost"&gt;&#xD;
          &lt;p&gt;&#xD;
I’ve been doing a lot of development using Visual Basic in the past couple of&#xD;
months and there are some interesting features in the language which may or may not&#xD;
be very well known. Features that don’t have an equivalent in C#.&#xD;
&lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
            &lt;b&gt;Default values for auto implemented properties.&lt;/b&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
Visual Basic support the option of setting a default value for a property, like you&#xD;
would in a field.&#xD;
&lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style=""&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: blue;"&gt;Public&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas;"&gt;&#xD;
              &lt;span style="color: blue;"&gt;Property&lt;/span&gt; MyProp &lt;span style="color: blue;"&gt;As&lt;/span&gt;&lt;span style="color: blue;"&gt;Integer&lt;/span&gt; =&#xD;
42&lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style=""&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas;"&gt;&#xD;
            &lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style=""&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas;"&gt;&#xD;
              &lt;a href="http://msdn.microsoft.com/en-us/library/dd293589.aspx"&gt;MSDN:&#xD;
Auto-Implemented Properties&lt;/a&gt;&#xD;
            &lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
            &lt;b&gt;Key properties in anonymous types&lt;/b&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
            &lt;b&gt;&#xD;
            &lt;/b&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
By defining properties in anonymous types as key properties, you can enable specific&#xD;
behavior for the equality behavior of these types. When an anonymous type contains&#xD;
key properties, then for both the Equals and the GetHashCode overridde is generated&#xD;
based on these key properties. Additionally the key properties are readonly, where&#xD;
normal properties are read/write.&#xD;
&lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
            &lt;b&gt;&#xD;
            &lt;/b&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style=""&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: blue;"&gt;Dim&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas;"&gt; one&#xD;
= &lt;span style="color: blue;"&gt;New&lt;/span&gt;&lt;span style="color: blue;"&gt;With&lt;/span&gt; {.Name&#xD;
= &lt;span style="color: #A31515;"&gt;"one"&lt;/span&gt;, &lt;span style="color: blue;"&gt;Key&lt;/span&gt; .No&#xD;
= 1}&lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style=""&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: blue;"&gt;Dim&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas;"&gt; two&#xD;
= &lt;span style="color: blue;"&gt;New&lt;/span&gt;&lt;span style="color: blue;"&gt;With&lt;/span&gt; {.Name&#xD;
= &lt;span style="color: #A31515;"&gt;"two"&lt;/span&gt;, &lt;span style="color: blue;"&gt;Key&lt;/span&gt; .No&#xD;
= 1}&lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style=""&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas;"&gt;&#xD;
            &lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style=""&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: green;"&gt;' This is true&#xD;
because the key property for both instances of the same class is equal&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas;"&gt;&#xD;
            &lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style=""&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas;"&gt;Assert.IsTrue(one.Equals(two))&lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
            &lt;b&gt;&#xD;
            &lt;/b&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
            &lt;a href="http://msdn.microsoft.com/en-us/library/bb531349.aspx"&gt;MSDN: Key&lt;/a&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
            &lt;b&gt;Filtered exceptions&lt;/b&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
            &lt;b&gt;&#xD;
            &lt;/b&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
Adding a filter to a catch expression in a try/catch block allows you to direct the&#xD;
exception handling based on a condition. This is especially useful when you’re&#xD;
catching a general exception, which should be handled differently based on the error&#xD;
code it contains.&#xD;
&lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
            &lt;b&gt;&#xD;
            &lt;/b&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style=""&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: blue;"&gt;Try&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas;"&gt;&#xD;
            &lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style="text-indent: .5in;"&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: blue;"&gt;Throw&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas;"&gt;&#xD;
              &lt;span style="color: blue;"&gt;New&lt;/span&gt;&#xD;
              &lt;span style="color: #2B91AF;"&gt;COMException&lt;/span&gt;()&lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style=""&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: blue;"&gt;Catch&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas;"&gt; ex &lt;span style="color: blue;"&gt;As&lt;/span&gt;&lt;span style="color: #2B91AF;"&gt;COMException&lt;/span&gt;&lt;span style="color: blue;"&gt;When&lt;/span&gt; ex.ErrorCode&#xD;
= 0&lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style="text-indent: .5in;"&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: #2B91AF;"&gt;Console&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas;"&gt;.WriteLine(&lt;span style="color: #A31515;"&gt;"y&#xD;
= 0"&lt;/span&gt;)&lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style=""&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: blue;"&gt;Catch&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas;"&gt; ex &lt;span style="color: blue;"&gt;As&lt;/span&gt;&lt;span style="color: #2B91AF;"&gt;COMException&lt;/span&gt;&lt;span style="color: blue;"&gt;When&lt;/span&gt; ex.ErrorCode&#xD;
&amp;lt;&amp;gt; 0&lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style="text-indent: .5in;"&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: #2B91AF;"&gt;Console&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas;"&gt;.WriteLine(&lt;span style="color: #A31515;"&gt;"y&#xD;
&amp;lt;&amp;gt; 0"&lt;/span&gt;)&lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style=""&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas; color: blue;"&gt;End&lt;/span&gt;&#xD;
            &lt;span style="font-size: 9.5pt; font-family: Consolas;"&gt;&#xD;
              &lt;span style="color: blue;"&gt;Try&lt;/span&gt;&#xD;
            &lt;/span&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
            &lt;b&gt;&#xD;
            &lt;/b&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
            &lt;a href="http://msdn.microsoft.com/en-us/library/fk6t46tz.aspx"&gt;MSDN: Try...Catch...Finally&#xD;
Statement&lt;/a&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style="font-size: 10px;"&gt;&#xD;
            &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt; from &lt;a href="http://paulvanbrenk.posterous.com/great-features-in-visual-basic"&gt;Paul&#xD;
van Brenk's posterous&lt;/a&gt;&lt;/p&gt;&#xD;
        &lt;/div&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.paulvanbrenk.com/blog/aggbug.ashx?id=a6196cf4-4744-4488-8dce-91cde3da83b8"&gt;&lt;/img&gt;&#xD;
      &lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=HuQzTliD5ug:dlx-plSOZZ0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=HuQzTliD5ug:dlx-plSOZZ0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=HuQzTliD5ug:dlx-plSOZZ0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?i=HuQzTliD5ug:dlx-plSOZZ0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulvanbrenk/~4/HuQzTliD5ug" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.paulvanbrenk.com/blog/2011/03/01/GreatFeaturesInVisualBasic.aspx</feedburner:origLink></entry>
  <entry><title type="text">Links for 2011-01-12 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/paulvanbrenk/~3/lUxwbIKmbDw/paul.van.brenk" /><updated>2011-01-13T00:00:00-08:00</updated><id>http://del.icio.us/paul.van.brenk#2011-01-12</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.soundsurvey.org.uk/index.php/survey/wildlife/"&gt;London wildlife recordings featuring birds, mammals, dawn choruses and more | London Sound Survey&lt;/a&gt;&lt;br/&gt;
A fascinating wildlife sound map of London, includes some files from Abbey Wood&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/paulvanbrenk/~4/lUxwbIKmbDw" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/paul.van.brenk#2011-01-12</feedburner:origLink></entry><entry>
    <title>Visual Studio 2010 sp 1 beta announced</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/paulvanbrenk/~3/vHxSf70ffcg/VisualStudio2010Sp1BetaAnnounced.aspx" />
    <id>http://www.paulvanbrenk.com/blog/PermaLink,guid,c90c6d1e-b2c0-45be-b730-6787422fec64.aspx</id>
    <published>2010-12-07T11:47:06.6336587-08:00</published>
    <updated>2010-12-07T11:47:06.6336587-08:00</updated>
    <author>
      <name>Paul van Brenk</name>
    </author>
    <content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;div class="posterous_autopost"&gt;&#xD;
          &lt;p style="MARGIN: 0in 0in 0pt;"&gt;&#xD;
Today &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2010/12/07/announcing-visual-studio-2010-service-pack-1-beta.aspx"&gt;Jason&#xD;
Zander&lt;/a&gt; announced the availability of &lt;a href="http://go.microsoft.com/fwlink/?LinkId=207130"&gt;Visual&#xD;
Studio 2010 SP1 Beta&lt;/a&gt; on his blog. It’s available today for MSDN subscriber and&#xD;
will be general available on Thursday.&#xD;
&lt;/p&gt;&#xD;
          &lt;p style="MARGIN: 0in 0in 0pt;"&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style="MARGIN: 0in 0in 0pt;"&gt;&#xD;
This service pack consists for the most part of fixes for issues logged through the&#xD;
connect site, but one noticeable new feature is the inclusion of the VB runtime compiler&#xD;
switch. This allows developers to ‘embed’ the Visual Basic Runtime in their assemblies,&#xD;
similar to No-PIA. The compiler figures out which parts of the runtime your program&#xD;
actually uses and embeds only these parts in the generated assemblies. &#xD;
&lt;/p&gt;&#xD;
          &lt;p style="MARGIN: 0in 0in 0pt;"&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p style="MARGIN: 0in 0in 0pt;"&gt;&#xD;
Download the service pack and report any issues you encounter, that’s the only way&#xD;
we can make it better for you. (Even if the issues you encounter aren’t fixed in the&#xD;
service pack, we still look at them and consider them for a next version of Visual&#xD;
Studio).&#xD;
&lt;/p&gt;&#xD;
          &lt;p style="font-size: 10px;"&gt;&#xD;
            &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt; from &lt;a href="http://paulvanbrenk.posterous.com/visual-studio-2010-sp-1-beta-announced"&gt;Paul&#xD;
van Brenk's posterous&lt;/a&gt;&lt;/p&gt;&#xD;
        &lt;/div&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.paulvanbrenk.com/blog/aggbug.ashx?id=c90c6d1e-b2c0-45be-b730-6787422fec64"&gt;&lt;/img&gt;&#xD;
      &lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=vHxSf70ffcg:ZZrcL8ryfL4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=vHxSf70ffcg:ZZrcL8ryfL4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=vHxSf70ffcg:ZZrcL8ryfL4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?i=vHxSf70ffcg:ZZrcL8ryfL4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulvanbrenk/~4/vHxSf70ffcg" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.paulvanbrenk.com/blog/2010/12/07/VisualStudio2010Sp1BetaAnnounced.aspx</feedburner:origLink></entry>
  <entry><title type="text">Links for 2010-11-29 [del.icio.us]</title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/paulvanbrenk/~3/lzkvyoBqxP4/paul.van.brenk" /><updated>2010-11-30T00:00:00-08:00</updated><id>http://del.icio.us/paul.van.brenk#2010-11-29</id><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.capitalbee.co.uk/index.php"&gt;Capital Bee&lt;/a&gt;&lt;br/&gt;
Bee keeping in south-east London&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/paulvanbrenk/~4/lzkvyoBqxP4" height="1" width="1"/&gt;</content><feedburner:origLink>http://del.icio.us/paul.van.brenk#2010-11-29</feedburner:origLink></entry><entry>
    <title>What's next for SilverLight</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/paulvanbrenk/~3/H2sSyxm902Q/WhatsNextForSilverLight.aspx" />
    <id>http://www.paulvanbrenk.com/blog/PermaLink,guid,9b227c00-4b15-4e51-a7ef-e0da60187ede.aspx</id>
    <published>2010-11-18T13:54:49.1745451-08:00</published>
    <updated>2010-11-18T13:54:49.1745451-08:00</updated>
    <author>
      <name>Paul van Brenk</name>
    </author>
    <content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;div class="posterous_autopost"&gt;&#xD;
          &lt;p&gt;&#xD;
            &lt;a href="http://posterous.com/getfile/files.posterous.com/paulvanbrenk/5nUxN4unZSvbHcdGhpiItZpmee1Ji0rgDYS3FosqicpR0X6UQO9CljnFt6Yu/image001.png"&gt;&#xD;
              &lt;img src="http://posterous.com/getfile/files.posterous.com/paulvanbrenk/sBd8zgcgmzudAQOZAHaOE2ckdobzf5oXzbA7pi3hrhMrs8ByCdZnLENrZHme/image001.png.scaled.500.jpg" width="500" height="162"&gt;&lt;/img&gt;&#xD;
            &lt;/a&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
You will not only hear what’s coming next for SilverLight from Scott Guthrie,&#xD;
but after all the other interesting session about databinding, performance, Windows&#xD;
Phone 7 development there’s the After Party! (Sorry, the After Party is not&#xD;
available online).&#xD;
&lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
          &lt;/p&gt;&#xD;
          &lt;p&gt;&#xD;
More info and registration on &lt;a href="http://www.silverlight.net/news/events/firestarter/"&gt; Silverlight.net&lt;/a&gt; for&#xD;
attending in Redmond and online.&#xD;
&lt;/p&gt;&#xD;
          &lt;p style="font-size: 10px;"&gt;&#xD;
            &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt; from &lt;a href="http://paulvanbrenk.posterous.com/whats-next-for-silverlight"&gt;Paul&#xD;
van Brenk's posterous&lt;/a&gt;&lt;/p&gt;&#xD;
        &lt;/div&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.paulvanbrenk.com/blog/aggbug.ashx?id=9b227c00-4b15-4e51-a7ef-e0da60187ede"&gt;&lt;/img&gt;&#xD;
      &lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=H2sSyxm902Q:leDDg5iGLow:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=H2sSyxm902Q:leDDg5iGLow:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=H2sSyxm902Q:leDDg5iGLow:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?i=H2sSyxm902Q:leDDg5iGLow:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulvanbrenk/~4/H2sSyxm902Q" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.paulvanbrenk.com/blog/2010/11/18/WhatsNextForSilverLight.aspx</feedburner:origLink></entry>
  <entry>
    <title>Reviving my blog</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/paulvanbrenk/~3/T0UE0hIM4fo/RevivingMyBlog.aspx" />
    <id>http://www.paulvanbrenk.com/blog/PermaLink,guid,463de2b3-d803-4c2e-a312-c6c4157eab11.aspx</id>
    <published>2010-06-23T04:30:41.136-07:00</published>
    <updated>2010-06-23T04:35:16.2322228-07:00</updated>
    <author>
      <name>Paul van Brenk</name>
    </author>
    <content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;div class="posterous_autopost"&gt;&#xD;
          &lt;div&gt;So, it's been over a year..... which I know is a long time, but much has happened&#xD;
in a very short time, so blogging was one of the casualties. But now that things have&#xD;
settled down, I´m back!&#xD;
&lt;/div&gt;&#xD;
          &lt;div&gt;&#xD;
          &lt;/div&gt;&#xD;
          &lt;div&gt;So what has happened:&#xD;
&lt;/div&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
After interning at Microsoft last summer, I got a job offer for a position in the&#xD;
C# IDE QA Team, which I accepted.&lt;/li&gt;&#xD;
            &lt;li&gt;&#xD;
I married my wife&lt;/li&gt;&#xD;
            &lt;li&gt;&#xD;
We moved to the US (See 1)&lt;/li&gt;&#xD;
            &lt;li&gt;&#xD;
Found a place to live&lt;/li&gt;&#xD;
            &lt;li&gt;&#xD;
Worked hard on finishing my Bachelor's degree&lt;/li&gt;&#xD;
            &lt;li&gt;&#xD;
Helped finish Visual Studio 2010 (a little)&lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
          &lt;div&gt;What's next? We'll start working on dev 11 (VS v.Next) soon, which will be exciting&#xD;
since it's the first time I'll be involved in the entire product cycle from planning&#xD;
till release. Hopefully a lot more blogging/tweeting (140 chars should be enough for&#xD;
everyone).&#xD;
&lt;/div&gt;&#xD;
          &lt;div&gt;&#xD;
          &lt;/div&gt;&#xD;
          &lt;div&gt;btw. I'm posting this via posterous, it should show on my regular blog. (&lt;a href="http://www.paulvanbrenk.com/"&gt;http://www.paulvanbrenk.com&lt;/a&gt;) &#xD;
&lt;/div&gt;&#xD;
          &lt;div&gt;&#xD;
          &lt;/div&gt;&#xD;
          &lt;div&gt;&#xD;
          &lt;/div&gt;&#xD;
          &lt;div&gt;&#xD;
          &lt;/div&gt;&#xD;
          &lt;p style="font-size: 10px;"&gt;&#xD;
            &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt; from &lt;a href="http://paulvanbrenk.posterous.com/reviving-my-blog"&gt;Paul&#xD;
van Brenk's posterous&lt;/a&gt;&lt;/p&gt;&#xD;
        &lt;/div&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.paulvanbrenk.com/blog/aggbug.ashx?id=463de2b3-d803-4c2e-a312-c6c4157eab11"&gt;&lt;/img&gt;&#xD;
      &lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=T0UE0hIM4fo:09WTR-mp2cM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=T0UE0hIM4fo:09WTR-mp2cM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=T0UE0hIM4fo:09WTR-mp2cM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?i=T0UE0hIM4fo:09WTR-mp2cM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulvanbrenk/~4/T0UE0hIM4fo" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.paulvanbrenk.com/blog/2010/06/23/RevivingMyBlog.aspx</feedburner:origLink></entry>
  <entry>
    <title>Using dynamic for evil</title>
    <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/paulvanbrenk/~3/busXcKLqWdw/UsingDynamicForEvil.aspx" />
    <id>http://www.paulvanbrenk.com/blog/PermaLink,guid,15e703f4-f2a1-42a4-b6c9-a02d914d9456.aspx</id>
    <published>2009-05-29T22:53:08.736-07:00</published>
    <updated>2009-05-29T22:56:55.6411461-07:00</updated>
    <category term="Development/C#" label="Development/C#" scheme="http://www.paulvanbrenk.com/blog/CategoryView,category,DevelopmentC.aspx" />
    <category term="Visual Studio 2010" label="Visual Studio 2010" scheme="http://www.paulvanbrenk.com/blog/CategoryView,category,VisualStudio2010.aspx" />
    <author>
      <name>Paul van Brenk</name>
    </author>
    <content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
The new dynamic keyword and the DLR in C# 4 and the .NET Framework 4.0 can be used&#xD;
for good, as displayed by IronRuby, IronPython and &lt;a href="http://www.nikhilk.net/CSharp-Dynamic-Programming-REST-Services.aspx"&gt;several&lt;/a&gt;&lt;a href="http://www.nikhilk.net/CSharp-Dynamic-Programming-JSON.aspx"&gt;other&lt;/a&gt;&lt;a href="http://blogs.msdn.com/vbteam/archive/2008/12/17/walkthrough-dynamic-programming-in-visual-basic-10-0-and-c-4-0-lisa-feigenbaum.aspx"&gt;samples&lt;/a&gt;. &#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
But it’s much more to fun to use it for evil… by making Reflection simple.&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
In C# 3.0 invoking members through reflection, was kind of odd and certainly not very&#xD;
readable.&#xD;
&lt;/p&gt;&#xD;
        &lt;blockquote&gt;&#xD;
          &lt;pre class="csharpcode"&gt;var employee = &lt;span class="kwrd"&gt;new&lt;/span&gt; Employee();&#xD;
var members = employee.GetType().GetMember(&lt;span class="str"&gt;"age"&lt;/span&gt;, MemberTypes.All,&#xD;
BindingFlags.IgnoreCase | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);&#xD;
((FieldInfo)members[0]).SetValue(employee, 30);&lt;/pre&gt;&#xD;
        &lt;/blockquote&gt;&#xD;
        &lt;blockquote&gt;&#xD;
        &lt;/blockquote&gt;&#xD;
        &lt;p&gt;&#xD;
By wrapping all reflection magic in a dynamic object the same call would look like:&#xD;
&lt;/p&gt;&#xD;
        &lt;blockquote&gt;&#xD;
          &lt;pre class="csharpcode"&gt;var employee = (&lt;span class="kwrd"&gt;new&lt;/span&gt; Employee()).AsDynamic();&#xD;
employee.Name = &lt;span class="str"&gt;"Paul van Brenk"&lt;/span&gt;; employee.Age = 30; Console.WriteLine(&lt;span class="str"&gt;"Employee&#xD;
{0} is {1} years old."&lt;/span&gt;, employee.Name, employee.Age);&lt;/pre&gt;&#xD;
        &lt;/blockquote&gt;&#xD;
        &lt;p&gt;&#xD;
How this works is relatively easy.. by deriving a wrapper class from the new &lt;a href="http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject(VS.100).aspx"&gt;DynamicObject&lt;/a&gt; and&#xD;
overriding the &lt;a href="http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject.trysetmember(VS.100).aspx"&gt;TrySetMember&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject.trygetmember(VS.100).aspx"&gt;TryGetMember&lt;/a&gt; object&#xD;
to do the dirty work for you.&#xD;
&lt;/p&gt;&#xD;
        &lt;blockquote&gt;&#xD;
          &lt;pre class="csharpcode"&gt;&#xD;
            &lt;span class="kwrd"&gt;static&lt;/span&gt;&#xD;
            &lt;span class="kwrd"&gt;class&lt;/span&gt; DynamicHelper&#xD;
{ &lt;span class="kwrd"&gt;public&lt;/span&gt;&lt;span class="kwrd"&gt;static&lt;/span&gt; dynamic AsDynamic&lt;T&gt;&#xD;
(&lt;span class="kwrd"&gt;this&lt;/span&gt; T source) { &lt;span class="kwrd"&gt;return&lt;/span&gt;&lt;span class="kwrd"&gt;new&lt;/span&gt; DynamicReflection&lt;T&gt;&#xD;
(source); } &lt;span class="kwrd"&gt;class&lt;/span&gt; DynamicReflection&lt;T&gt;&#xD;
: DynamicObject { &lt;span class="kwrd"&gt;public&lt;/span&gt; DynamicReflection(T source) : &lt;span class="kwrd"&gt;base&lt;/span&gt;()&#xD;
{ &lt;span class="kwrd"&gt;this&lt;/span&gt;.Source = source; } &lt;span class="kwrd"&gt;public&lt;/span&gt;&lt;span class="kwrd"&gt;override&lt;/span&gt;&lt;span class="kwrd"&gt;bool&lt;/span&gt; TrySetMember(SetMemberBinder&#xD;
binder, &lt;span class="kwrd"&gt;object&lt;/span&gt;&lt;span class="kwrd"&gt;value&lt;/span&gt;) { &lt;span class="rem"&gt;//&#xD;
find the member&lt;/span&gt; MemberInfo member; &lt;span class="kwrd"&gt;if&lt;/span&gt; (!TryFindMember(binder.Name, &lt;span class="kwrd"&gt;out&lt;/span&gt; member))&#xD;
{ &lt;span class="kwrd"&gt;return&lt;/span&gt;&lt;span class="kwrd"&gt;false&lt;/span&gt;; } &lt;span class="rem"&gt;//&#xD;
we can only set values to fields and properties&lt;/span&gt;&lt;span class="rem"&gt;// using&#xD;
reflection&lt;/span&gt;&lt;span class="kwrd"&gt;switch&lt;/span&gt; (member.MemberType) { &lt;span class="rem"&gt;/*&#xD;
todo: check the type of the incoming value and the type of &lt;/span&gt;&lt;span class="rem"&gt; the&#xD;
property. */&lt;/span&gt;&lt;span class="kwrd"&gt;case&lt;/span&gt; (MemberTypes.Field): ((FieldInfo)member).SetValue(Source, &lt;span class="kwrd"&gt;value&lt;/span&gt;); &lt;span class="kwrd"&gt;return&lt;/span&gt;&lt;span class="kwrd"&gt;true&lt;/span&gt;; &lt;span class="kwrd"&gt;case&lt;/span&gt; (MemberTypes.Property):&#xD;
((PropertyInfo)member).SetValue(Source, &lt;span class="kwrd"&gt;value&lt;/span&gt;,&lt;span class="rem"&gt;/*ndex*/&lt;/span&gt;&lt;span class="kwrd"&gt;null&lt;/span&gt;); &lt;span class="rem"&gt;//&#xD;
we don't support indexed properties&lt;/span&gt;&lt;span class="kwrd"&gt;return&lt;/span&gt;&lt;span class="kwrd"&gt;true&lt;/span&gt;;&#xD;
} &lt;span class="rem"&gt;// didn't work&lt;/span&gt;&lt;span class="kwrd"&gt;return&lt;/span&gt;&lt;span class="kwrd"&gt;false&lt;/span&gt;;&#xD;
} &lt;span class="kwrd"&gt;public&lt;/span&gt;&lt;span class="kwrd"&gt;override&lt;/span&gt;&lt;span class="kwrd"&gt;bool&lt;/span&gt; TryGetMember(GetMemberBinder&#xD;
binder, &lt;span class="kwrd"&gt;out&lt;/span&gt;&lt;span class="kwrd"&gt;object&lt;/span&gt; result) { &lt;span class="rem"&gt;//&#xD;
find the member&lt;/span&gt; MemberInfo member; &lt;span class="kwrd"&gt;if&lt;/span&gt; (!TryFindMember(binder.Name, &lt;span class="kwrd"&gt;out&lt;/span&gt; member))&#xD;
{ result = &lt;span class="kwrd"&gt;null&lt;/span&gt;; &lt;span class="kwrd"&gt;return&lt;/span&gt;&lt;span class="kwrd"&gt;false&lt;/span&gt;;&#xD;
} &lt;span class="rem"&gt;// we can only set values to fields and properties&lt;/span&gt;&lt;span class="rem"&gt;//&#xD;
using reflection&lt;/span&gt;&lt;span class="kwrd"&gt;switch&lt;/span&gt; (member.MemberType) { &lt;span class="rem"&gt;/*&#xD;
todo: check the type of the incoming value and the type of &lt;/span&gt;&lt;span class="rem"&gt; the&#xD;
property. */&lt;/span&gt;&lt;span class="kwrd"&gt;case&lt;/span&gt; (MemberTypes.Field): result = ((FieldInfo)member).GetValue(Source); &lt;span class="kwrd"&gt;return&lt;/span&gt;&lt;span class="kwrd"&gt;true&lt;/span&gt;; &lt;span class="kwrd"&gt;case&lt;/span&gt; (MemberTypes.Property):&#xD;
result = ((PropertyInfo)member).GetValue(Source,&lt;span class="rem"&gt;/*ndex*/&lt;/span&gt;&lt;span class="kwrd"&gt;null&lt;/span&gt;); &lt;span class="rem"&gt;//&#xD;
we don't support indexed properties&lt;/span&gt;&lt;span class="kwrd"&gt;return&lt;/span&gt;&lt;span class="kwrd"&gt;true&lt;/span&gt;;&#xD;
} &lt;span class="rem"&gt;// didn't work&lt;/span&gt; result = &lt;span class="kwrd"&gt;null&lt;/span&gt;; &lt;span class="kwrd"&gt;return&lt;/span&gt;&lt;span class="kwrd"&gt;false&lt;/span&gt;;&#xD;
} &lt;span class="kwrd"&gt;private&lt;/span&gt;&lt;span class="kwrd"&gt;bool&lt;/span&gt; TryFindMember(&lt;span class="kwrd"&gt;string&lt;/span&gt; name, &lt;span class="kwrd"&gt;out&lt;/span&gt; MemberInfo&#xD;
memberInfo) { &lt;span class="rem"&gt;// find the member&lt;/span&gt; var members = Type.GetMember(name,&#xD;
MemberTypes.All, BindingFlags.IgnoreCase | BindingFlags.Instance | BindingFlags.NonPublic&#xD;
| BindingFlags.Public); &lt;span class="rem"&gt;// more than 1 not supported for now&lt;/span&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt; (members.Length&#xD;
!= 1) { memberInfo = &lt;span class="kwrd"&gt;null&lt;/span&gt;; &lt;span class="kwrd"&gt;return&lt;/span&gt;&lt;span class="kwrd"&gt;false&lt;/span&gt;;&#xD;
} memberInfo = members[0]; &lt;span class="kwrd"&gt;return&lt;/span&gt;&lt;span class="kwrd"&gt;true&lt;/span&gt;;&#xD;
} &lt;span class="kwrd"&gt;private&lt;/span&gt; Type Type { get { &lt;span class="kwrd"&gt;return&lt;/span&gt;&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(T);&#xD;
} } &lt;span class="kwrd"&gt;public&lt;/span&gt; T Source { get; &lt;span class="kwrd"&gt;private&lt;/span&gt; set;&#xD;
} } }&#xD;
&lt;/T&gt;&lt;/T&gt;&lt;/T&gt;&lt;/pre&gt;&#xD;
        &lt;/blockquote&gt;&#xD;
        &lt;p&gt;&#xD;
More info about implementing dynamic objects and behavior can be found on &lt;a href="http://www.codeplex.com/dlr"&gt;the&#xD;
DLR CodePlex site&lt;/a&gt; (esp. &lt;a href="http://dlr.codeplex.com/Project/Download/FileDownload.aspx?DownloadId=68818"&gt;Getting&#xD;
Started with the DLR as a Library Author&lt;/a&gt;).&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
Source: &lt;a href="http://www.paulvanbrenk.com/blog/content/binary/Program.cs[1].txt"&gt;Program.cs.txt&lt;/a&gt;&lt;/p&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.paulvanbrenk.com/blog/aggbug.ashx?id=15e703f4-f2a1-42a4-b6c9-a02d914d9456"&gt;&lt;/img&gt;&#xD;
      &lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=busXcKLqWdw:_WpmVdcCN7M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=busXcKLqWdw:_WpmVdcCN7M:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/paulvanbrenk?a=busXcKLqWdw:_WpmVdcCN7M:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/paulvanbrenk?i=busXcKLqWdw:_WpmVdcCN7M:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/paulvanbrenk/~4/busXcKLqWdw" height="1" width="1"/&gt;</content>
  <feedburner:origLink>http://www.paulvanbrenk.com/blog/2009/05/30/UsingDynamicForEvil.aspx</feedburner:origLink></entry>
</feed>
