<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2dutchfull.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Born 2 Code .NET</title><link>http://pipes.yahoo.com/pipes/pipe.info?_id=8e539bb885405398d2e9b33d7507e20b</link><description>A merge of several feeds from http://born2code.net</description><language>en</language><generator>http://pipes.yahoo.com/pipes/</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Born2Codenet" type="application/rss+xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FBorn2Codenet" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FBorn2Codenet" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.rojo.com/add-subscription?resource=http%3A%2F%2Ffeeds.feedburner.com%2FBorn2Codenet" src="http://blog.rojo.com/RojoWideRed.gif">Subscribe with Rojo</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/Born2Codenet" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FBorn2Codenet" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FBorn2Codenet" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FBorn2Codenet" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item><title>Geen Jimmy Nilsson :(</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/275314687/34-geen-jimmy-nilsson-.html</link><category>General</category><pubDate>Tue, 22 Apr 2008 00:57:56 -0500</pubDate><guid isPermaLink="false"></guid><description>&lt;p&gt;Voor alle 93 mensen die zich hebben aangemeld voor de aankomende &lt;a rel="nofollow" target="_blank" href="http://www.dotned.nl"&gt;dotNed&lt;/a&gt; meeting heb ik slecht nieuws: Jimmy Nilsson komt niet. De zoon van Jimmy is begin deze week opgenomen in het ziekenhuis. Helaas is het door de korte tijd niet gelukt om vervanging te vinden met als gevolg dat de aankomende bijeenkomst van de dotNed gebruikersgroep is geannuleerd.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/275314687" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/blog/1-general/34-geen-jimmy-nilsson-.html</feedburner:origLink></item><item><title>[event] Jimmy Nilsson - Beyond Agile &amp; Is DDD more then Entities and Repositories?</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/271761954/14.html</link><category>Bijeenkomst</category><pubDate>Wed, 16 Apr 2008 13:45:13 -0500</pubDate><guid isPermaLink="false"></guid><description>Titel: Jimmy Nilsson - Beyond Agile &amp; Is DDD more then Entities and Repositories?&lt;br /&gt;Locatie: Seats 2 Meat Maarsen / Maarssen&lt;br /&gt;Categorie: Bijeenkomst&lt;br /&gt;Datum: 24.04.2008&lt;br /&gt;Tijd: 18.00 h - 22.30 h&lt;br /&gt;Omschrijving: &lt;h2&gt;Sessie 1: Beyond agile&lt;/h2&gt;
&lt;p&gt;Right now you might be feeling that everybody is so agile it hurts, that they have been using the agile practices for decades and that agile is the solution to every problem. Don't get me wrong, I do like the agile practices. I have tried to apply them to the best of my understanding for a couple of years and I think I start to have a feeling for how to. Yet, while we may be getting better and better at applying the agile practices, let's just assume for a moment that the agile practices are a commodity and we can take them as granted. Then what? There are technologies, practices, and concepts that are not typically considered as being the agile practices and are not yet widespread. But even if they aren't part of the dogma, they are highly useful. It might be both interesting and important to have a look at these and get started with them if you haven't already done so. In this session we will start with a quick look at problems that the agile practices don't focus on, and then discuss possible solutions.&lt;/p&gt;
&lt;h2&gt;Sessie 2: Is Domain-Driven Design more than Entities and Repositories?&lt;/h2&gt;
&lt;p&gt;Yes, the design language stipulated in Domain-Driven Design (DDD) has many more elements than just Entities and Repositories. But that’s just the automatic answer. In this presentation we will dive out and discuss DDD from some other angles as well and not just the basic building blocks. We will discuss DDD philosophy, the ubiquitous language, strategic design, DDD layering and the value of value objects.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/271761954" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/events/details/14.html</feedburner:origLink></item><item><title>Silverlight 1.0.30401.0 is out!</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/271736988/33-silverlight-10304010-is-out.html</link><category>General</category><pubDate>Wed, 16 Apr 2008 12:58:21 -0500</pubDate><guid isPermaLink="false"></guid><description>&lt;p&gt;Oke, van bijna alles wat ik rondom Silverlight 2.0 hoor wordt ik enthousiast. Maar tot de dag van vandaag gebruik ik in productie bits Silverlight 1.x. De problemen rondom video die ik had zijn met de update van gisteren gefixt. Grab it here: &lt;a rel="nofollow" target="_blank" href="http://support.microsoft.com/kb/951213" title="Update voor Silverlight 1.0 in de Microsoft knowlage base."&gt;update for Silverlight 1.0&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/271736988" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/blog/1-general/33-silverlight-10304010-is-out.html</feedburner:origLink></item><item><title>MVP Summit Piiics!</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/271729292/32-mvp-summit-piiics.html</link><category>General</category><pubDate>Wed, 16 Apr 2008 12:14:30 -0500</pubDate><guid isPermaLink="false"></guid><description>&lt;p&gt;Om de foto's van het MVP Summit 2008 te kunnen delen met de rest van de wereld heb ik een account aangemaakt op &lt;a rel="nofollow" target="_blank" href="http://www.flickr.com"&gt;flickr.com&lt;/a&gt;. De volledige set is hier te vinden: &lt;a rel="nofollow" target="_blank" href="http://www.flickr.com/photos/pjvandesande/sets/72157604555478272/"&gt;Microsoft MVP summit 2008&lt;/a&gt;.

&lt;style type="text/css"&gt;
#flickr_badge_source_txt {padding:0;font:11px Arial, Helvetica, Sans serif;color:#666666;}
#flickr_badge_icon {display:block;margin:0 !important;border:1px solid rgb(0, 0, 0) !important;}
#flickr_icon_td {padding:0 5px 0 0 !important;}
.flickr_badge_image {text-align:center;}
.flickr_badge_image img {border:1px solid black !important;}
#flickr_www {display:block;padding:0 10px 0 10px !important;font:11px Arial, Helvetica, Sans serif !important;color:#3993ff;}
#flickr_badge_uber_wrapper a:hover,
#flickr_badge_uber_wrapper a:link,
#flickr_badge_uber_wrapper a:active,
#flickr_badge_uber_wrapper a:visited {text-decoration:none;background:inherit !important;color:#3993ff;}
#flickr_badge_wrapper {background-color:#ffffff;border:solid 1px #000000;}
#flickr_badge_source {padding:0 !important;font:11px Arial, Helvetica, Sans serif !important;color:#666666;}
&lt;/style&gt;
&lt;table id="flickr_badge_uber_wrapper" cellpadding="0" cellspacing="10" border="0"&gt;&lt;tr&gt;&lt;td&gt;&lt;a rel="nofollow" target="_blank" href="http://www.flickr.com" id="flickr_www"&gt;www.&lt;strong style="color:#3993ff;"&gt;flick&lt;span style="color:#ff1c92;"&gt;r&lt;/span&gt;&lt;/strong&gt;.com&lt;/a&gt;&lt;table cellpadding="0" cellspacing="10" border="0" id="flickr_badge_wrapper"&gt;
&lt;tr&gt;
 
&lt;/tr&gt;
&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/271729292" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/blog/1-general/32-mvp-summit-piiics.html</feedburner:origLink></item><item><title>MVP Summit 2008 tot zover</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/271695732/31-mvp-summit-2008-tot-zover.html</link><category>General</category><pubDate>Wed, 16 Apr 2008 11:41:03 -0500</pubDate><guid isPermaLink="false"></guid><description>&lt;p&gt;Het Microsoft MVP Summit wordt door Microsoft gebruikt oms 'ons' - MVP's - te bedanken voor de inzet binnen de community. Naast een feestelijke bedoeling is het ook een week vol met discussie, feature requests en meets &amp;amp; greats met de product teams. In open discussies krijgen we de kans om en een kans om feedback te geven richting de helden hier en het geluid van de community over te brengen. &lt;h2&gt;De reis&lt;/h2&gt;
&lt;p&gt;De summit vind plaats in Seattle &amp;amp; Redmond. Om naar Amerika af te reizen ben ik afgelopen zaterdag ben ik samen met Sander Gerz [C# MVP] &amp;amp; Andre Obelink [VB.NET MVP] naar Portland gevlogen. Vanuit Portland zijn we met een flinke geplande omweg in twee dagen naar Seattle gereden. Normaal zou je dit in 3 uur kunnen doen. Tijdens deze reis zijn we door een aantal national parks gereden en hebben we een aantal geweldige gebieden gezien. Helaas waren er een aantal toeristische trekkers niet te bezoeken door de grote hoeveelheid sneeuw. Toch was het een geweldige ervaring, Amerika heeft naast een aantal mooie steden ook veel prachtige natuur!&lt;/p&gt;&lt;img alt="Sander &amp;amp; Andre" src="http://farm3.static.flickr.com/2079/2408751848_e48ee84d00_m.jpg"&gt;&amp;nbsp;&lt;img alt="Een weg ergens tussen Portland en Seattle" src="http://farm4.static.flickr.com/3294/2416003229_90b9de905b_m.jpg"&gt;&amp;nbsp;&lt;img alt="Een landschap ergens tussen Portland en Seattle" src="http://farm3.static.flickr.com/2003/2415684166_9e6f56506c_m.jpg"&gt;&amp;nbsp;&lt;img alt="Welkom Microsoft MVP's!" src="http://farm3.static.flickr.com/2371/2416089653_6703bb05e4_m.jpg"&gt; &lt;h2&gt;Welcome!&lt;/h2&gt;
&lt;p&gt;Aantal liters benzine, veel gezelligheid, flauwe grappen en twee hotels later zijn we aangekomen in Seattle. In deze stad werden we verwelkomd in het Washington State Convention &amp;amp; Trade Center. Hier heb ik samen met alle andere MVP's geluisterd naar de keynote van Sean O'Discoll. In deze keynote werden we nogmaals bedankt en heeft Microsoft laten zien wat ze belangrijk vinden aan community en wat hun definitie van community is. Een uurtje later zijn we met ze allen gaan lunchen waar ik een hoop bekende tegen ben gekomen zoals Tomislav Bronzin [RD &amp;amp; MVP] en Hugo Kornelis [SQL MVP]. Deze lunch was voor mij een kans om eindelijk weer wat vitamines tot mij te nemen. Het lijkt erop dat America een groot te kort heeft aan deze dingen. &lt;p&gt;Na de lunch was er de mogelijkheid om deel te nemen aan Open Space sessies waar de wij de mogelijkheid hadden om met Microsofties en mede MVP's te discussiëren die jezelf kon aandragen. Hoewel ik de stad in ben getrokken zullen we dit format ook introduceren binnen de dotNed meetings. &lt;p&gt;Seattle is een mooie en vooral gezellige stad. Veel MVP’s hebben van de gunstige dollar koers gebruik gemaakt en deze dag gebruikt om producten aan te schaffen tegen een geweldig lage prijs als je het vergelijkt met Nederland. Na deze willekeurige trip door Seattle ben ik met alle MVP's en Microsofties gaan eten. Hier hadden we tijd om handen te schudden, te netwerken en te genieten van het heerlijke eten wat een stuk beter schijnt te zijn dan vorig jaar. Met een volle buik ben ik vermoeid naar me hotel kamer in gekropen. &lt;p&gt;&lt;/p&gt;
&lt;h2&gt;Day 1&lt;/h2&gt;
&lt;p&gt;Op de eerste echte dag van de summit – de dag hiervoor was een welkom’s dag - zijn we s’morgen bij het hotel opgehaald om naar Microsoft te rijden. Hier werden wij van elkaar op basis van onze expertise. Wij als C# MVP’s hebben een introductie gehad van het C# team waar wij een quick overview hebben gekregen van alle features die eraan zitten te komen. En ik kan zeggen, er staan een aantal leuke dingen klaar :) &lt;p&gt;Tijdens de introductie heb ik een hoop energie gekregen van de openheid van het team en wat ons allemaal te wachten staat. De product teams waren erg benieuwd naar onze feedback en om met ons te kunnen discussiëren zijn we in 4 kleine groepen verdeeld. Ik had niet verwacht dat wij als MVP's zoveel invloed hadden op de toekomst. Er werden ons een groot aantal features getoond en naar onze mening gevraagd. Ook hebben we rondom een hoop features en wilde ideeën gestemd en veel gediscussieerd. Echt een geweldige ervaring! &lt;p&gt;Zo hebben we hebben gesproken met het scripting team over de toekomst van hosted .NET en de scripting hierom heen en met de mensen achter de Microsoft community als Connect, Forums en MSDN gediscussieerd over de toekomst van deze producten en de inzet hiervan. Vooral de discussie over de nieuwe forum software - die &lt;a rel="nofollow" target="_blank" href="http://forums.msdn.microsoft.com/"&gt;hier&lt;/a&gt; al te vinden is - vond ik interessant. Nu hopen dat de feedback verwerkt word want, er waren nog wel een aantal punten die verbeterd kunnen worden. &lt;p&gt;Nadat we Charlie en de rest vaarwel hadden gezegd hebben we het C# team verwelkomd waar we de nieuwe features van C#4.0 hebben besproken. In deze discussie hebben wij een aantal dingen voorkomen en sommige juist kracht bij gezet. Als C# MVP heb ik dit ervaren als een van de hoogtepunten van de dag. De sessie die volgde was met het team achter Visual Studio waar we vooral hebben gekeken naar SP1 voor deze IDE. &lt;p&gt;Als afsluiting van de dag hebben we met de product groepen gegeten in een heerlijk Italiaans restaurant. &lt;p&gt;&lt;img alt="Microsoft Conference Center [MSCC]" src="http://farm3.static.flickr.com/2208/2419205574_e6870cf2a3_m.jpg"&gt; &lt;img alt="Bill Gates &amp;amp; Steve Ballmer - 25 jaar commitment" src="http://farm4.static.flickr.com/3068/2419198028_822f6a4754_m.jpg"&gt; &lt;img alt="Discussie met het C# team" src="http://farm3.static.flickr.com/2172/2419220562_6114a60a3f_m.jpg"&gt; &lt;img alt="Discussie met het Visual Studio team" src="http://farm3.static.flickr.com/2009/2418404373_675607c8b2_m.jpg"&gt; &lt;/p&gt;
&lt;h2&gt;Day 2&lt;/h2&gt;
&lt;p&gt;Waar gisteren vooral de focus had op discussie over nieuwe dingen, praten we nu vooral over de huidige producten en features. Op dit moment zit ik in een sessie van Mads Torgersen [C# PM] - Mister C# himself - waar hij verteld over de best practices rondom C# 3.0 features. Er is nog redelijk wat discussie rondom het &lt;code&gt;var&lt;/code&gt; keyword en automated properties op dit moment. Hievoor heb ik de sessie gevolgt over LINQ under the hood.
&lt;p&gt;Een intressante sessie die ik vanmorgen heb gezien is Parallel computing door Ed. Hier werd Microsoft's antwoord getoond rondom multicores en hoe programmeurs hier makkelijk mee om kunnen gaan. En ik kan hier ook niks over zeggen, maar het wordt ons zeker weten makkelijker gemaakt.
&lt;h3&gt;Wat staat me nog te wachten?&lt;/h3&gt;
&lt;p&gt;Vanavond is er nog een party in het Experience Music Project/Science Fiction Museum &amp;amp; Hall of Fame in Seattle. Morgen kunnen we bijkomen met sessies van bekende als Ray Ozzie en Steve Ballmer. Daarna een vaarwel lunch om het afscheid wat dragelijker te maken. Op vrijdag zullen we ook deze keer met een omweg terug rijden naar Portland waarna we terug zullen vliegen naar het platte Nederland.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/271695732" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/blog/1-general/31-mvp-summit-2008-tot-zover.html</feedburner:origLink></item><item><title>Jimmy Nilsson is coming!</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/268319644/30-jimmy-nilsson-is-coming.html</link><category>General</category><pubDate>Fri, 11 Apr 2008 02:05:33 -0500</pubDate><guid isPermaLink="false"></guid><description>&lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.amazon.com/gp/product/0321268202?ie=UTF8&amp;amp;tag=born2codenet-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0321268202"&gt;&lt;img alt="Boek: Applying Domain Driven Design and Patterns" align="left" style="margin-right:5px;" src="http://born2code.net//images/custom/artikelen/jimmy-nilsson-is-coming/applying-domain-driven-design.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.amazon.com/gp/product/0321268202?ie=UTF8&amp;amp;tag=born2codenet-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0321268202"&gt;&lt;/a&gt;24 april is het zover, dan zal Jimmy Nilsson een avond vullen met een presentatie over Agile Development en Domain Driven Design. Jimmy Nilsson is een bekende spreker en auteur. De meeste zullen hem kennen zijn boek, &lt;a rel="nofollow" target="_blank" href="http://www.amazon.com/gp/product/0321268202?ie=UTF8&amp;amp;tag=born2codenet-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0321268202"&gt;Applying Domain Driven Design and Patterns&lt;/a&gt;, een must-have voor iedere software developer of architect. Persoonlijk vind ik Jimmy erg interessant omdat hij zich ook focust op toepasbaarheid en pragmatiek in de goede zin van het woord.
&lt;p&gt;De avond wordt georganiseerd door de grootste Nederlandse gebruikers groep, &lt;a rel="nofollow" target="_blank" href="http://www.dotned.nl"&gt;dotNed&lt;/a&gt; en de locatie gesponsord door &lt;a rel="nofollow" target="_blank" href="http://www.sogyo.nl"&gt;Sogyo&lt;/a&gt;. Wij verwachten een hoog aantal bezoekers aantal en dit is de rede dat de avond niet - zoals we gewend zijn van Sogyo - plaats zal vinden op landgoed Sandwijck maar in een van de hippe zalen van &lt;a rel="nofollow" target="_blank" href="http://www.seats2meet.com/"&gt;Seats2Meat.com&lt;/a&gt; in Maarssen.
&lt;p&gt;&lt;/p&gt;
&lt;h2&gt;&lt;/h2&gt;
&lt;h2&gt;Sessies&lt;/h2&gt;
&lt;p&gt;Jimmy zal de avond vullen met twee sessies die elkaar opvolgen:&lt;/p&gt;
&lt;h3&gt;Beyond agile&lt;/h3&gt;
&lt;p&gt;Right now you might be feeling that everybody is so agile it hurts, that they have been using the agile practices for decades and that agile is the solution to every problem. Don't get me wrong, I do like the agile practices. I have tried to apply them to the best of my understanding for a couple of years and I think I start to have a feeling for how to. Yet, while we may be getting better and better at applying the agile practices, let's just assume for a moment that the agile practices are a commodity and we can take them as granted. Then what? There are technologies, practices, and concepts that are not typically considered as being the agile practices and are not yet widespread. But even if they aren't part of the dogma, they are highly useful. It might be both interesting and important to have a look at these and get started with them if you haven't already done so. In this session we will start with a quick look at problems that the agile practices don't focus on, and then discuss possible solutions. &lt;h3&gt;Is Domain-Driven Design more than Entities and Repositories?&lt;/h3&gt;
&lt;p&gt;Yes, the design language stipulated in Domain-Driven Design (DDD) has many more elements than just Entities and Repositories. But that’s just the automatic answer. In this presentation we will dive out and discuss DDD from some other angles as well and not just the basic building blocks. We will discuss DDD philosophy, the ubiquitous language, strategic design, DDD layering and the value of value objects.&lt;/p&gt;
&lt;h2&gt;Inschrijven!&lt;/h2&gt;
&lt;p&gt;Vanaf vandaag kun je je inschrijven op &lt;a rel="nofollow" target="_blank" href="http://www.dotned.nl/meetings/"&gt;www.dotned.nl/meetings/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tot de 24e!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/268319644" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/blog/1-general/30-jimmy-nilsson-is-coming.html</feedburner:origLink></item><item><title>[event] DSL Tools en VS Shell</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/264057724/13.html</link><category>Workshop</category><pubDate>Fri, 04 Apr 2008 06:16:38 -0500</pubDate><guid isPermaLink="false"></guid><description>Titel: DSL Tools en VS Shell&lt;br /&gt;Locatie: / &lt;br /&gt;Categorie: Workshop&lt;br /&gt;Datum: 10.04.2008 - 10.04.2008&lt;br /&gt;Tijd: 18.00 h - 21.00 h&lt;br /&gt;Omschrijving: &lt;p&gt;Je hebt de sessies gevolgd, je hebt de websites en blogs gelezen, nu wil je zelf aan de gang. Maar ja.... hoe?&lt;/p&gt;
&lt;p&gt;Onze workshops, of liever gezegd: hands-on labs bieden een uitkomst! Onder begeleiding van experts ga je zelf aan de gang. Dit is het vervolg op de theoretische sessie, met meer info, meer interactie en meer diepgang!&lt;/p&gt;
&lt;p&gt;Geinteresseerd? Schrijf je in en kom langs!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/264057724" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/events/details/13.html</feedburner:origLink></item><item><title>HBO-I docentendag slidedeck &amp; demo</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/262177646/29-hbo-i-docentendag-slidedeck-and-demo.html</link><category>General</category><pubDate>Tue, 01 Apr 2008 10:14:26 -0500</pubDate><guid isPermaLink="false"></guid><description>&lt;p&gt;Vandaag heb ik met alle plezier twee presentaties gehouden op de HBO-I docentendag. Er waren zo'n 200 HBO docenten aanwezig op dit event en ik heb weer leuke contacten opgedaan en een aantal bekende de hand kunnen schudden. Zoals belooft hier de demo code en slides van m'n tweede presentatie.
&lt;p&gt;Iedereen bedankt voor de aanwezigheid en goede feedback!
&lt;h2&gt;Wat heb je nodig om de code te runnen?&lt;/h2&gt;
&lt;p&gt;Om met de demo code aan de slag te gaan heb je de volgende dingen nodig:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Microsoft Visual Studio C# 2005 Express (&lt;a rel="nofollow" target="_blank" href="http://go.microsoft.com/fwlink/?linkid=54765"&gt;.IMG File&lt;/a&gt; | &lt;a rel="nofollow" target="_blank" href="http://go.microsoft.com/fwlink/?linkid=57035"&gt;.ISO File&lt;/a&gt;) - of hoger&lt;/li&gt;
&lt;li&gt;Visual Studio SP1&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Voor express gebruikers: &lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=7B0B0339-613A-46E6-AB4D-080D4D4A8C4E&amp;amp;displaylang=en"&gt;VS80sp1-KB926749-X86-INTL.exe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Voor standaard of hoger: &lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?familyid=BB4A75AB-E2D4-4C96-B39D-37BAF6B5B1DC&amp;amp;displaylang=en"&gt;Visual Studio 2005 Team Suite Service Pack 1&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;li&gt;XNA GameStudio 2.0 (&lt;a rel="nofollow" title="XNA GameStudio 2.0 setup" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=DF80D533-BA87-40B4-ABE2-1EF12EA506B7&amp;amp;displaylang=en"&gt;.exe&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;Presentatie downloads&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Slidedeck: &lt;a rel="nofollow" target="_blank" href="http://born2code.net//custom/attachments/artikelen/hbo-i-docentendag-slidedeck-and-demo/xna-presentation.pdf"&gt;XNA-Presentatie.pdf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Demo code: &lt;a rel="nofollow" target="_blank" href="http://born2code.net//custom/attachments/artikelen/hbo-i-docentendag-slidedeck-and-demo/FlightsimX.zip"&gt;FlightsimX.zip&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;Gastcollege?&lt;/h2&gt;
&lt;p&gt;Voor iedereen die door mijn presentatie geïnteresseerd is in een gastcollege of lesmateriaal kan altijd contact met mij opnemen via &lt;a rel="nofollow" target="_blank" href="http://born2code.net/mailto:pjvdsande@sogyo.nl"&gt;pjvdsande@sogyo.nl&lt;/a&gt; of gebruik maken van het &lt;a rel="nofollow" target="_blank" href="http://pre.born2code.net/verzoeken/3-general/7-spreker-verzoek.html"&gt;spreker verzoek formulier&lt;/a&gt;.&lt;/p&gt;
&lt;span class="note"&gt;Het Wii-mote gedeelte houden jullie nog tegoed. Hier zal ik nog een post aan wijden.&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/262177646" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/blog/1-general/29-hbo-i-docentendag-slidedeck-and-demo.html</feedburner:origLink></item><item><title>MVP Award '08</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/262136646/28-mvp-award-08.html</link><category>General</category><pubDate>Tue, 01 Apr 2008 09:13:10 -0500</pubDate><guid isPermaLink="false"></guid><description>&lt;p&gt;Vandaag ben ik de hele dag aan het presenteren geweest op de Hogeschool Utrecht. Daar had ik geen internet tot mijn beschikking, dus ik kon niet controleren of ik de MVP award weer had ontvangen. Maar ik kom nu net thuis en lees het volgende:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Congratulations! We are pleased to present you with the 2008 Microsoft® MVP Award! The MVP Award is our way to say thank you for promoting the spirit of community and improving people’s lives and the industry’s success every day. We appreciate your extraordinary efforts in Visual C# technical communities during the past year. Microsoft will soon send your MVP Award gift package. It is our way to say "thank you for making a difference."&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Cool! Het is fijn om te weten dat mijn bijdragen aan de community gewardeerd wordt. Ik ben nieuwsgierig naar de inhoud van de MVP Award gift package.&lt;/p&gt;
&lt;p&gt;Alle nieuwe MVP's en renewals, congrats!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/262136646" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/blog/1-general/28-mvp-award-08.html</feedburner:origLink></item><item><title>MVP Summit live map</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/261452738/27-mvp-summit-live-map.html</link><category>General</category><pubDate>Mon, 31 Mar 2008 09:20:49 -0500</pubDate><guid isPermaLink="false"></guid><description>&lt;p&gt;Twee Windows Live MVP's, &lt;a rel="nofollow" title="MVP profiel van John O'Brien" target="_blank" href="https://mvp.support.microsoft.com/default.aspx/profile=6e49794c-edfc-4c3b-a5a2-ae648353a22d"&gt;John O'Brien&lt;/a&gt; &amp;amp; &lt;a rel="nofollow" title="MVP profiel van Bronwen Zande" target="_blank" href="https://mvp.support.microsoft.com/profile/Bronwen.Zande"&gt;Bronwen Zande&lt;/a&gt;, hebben de meeste bezoekers van &lt;a rel="nofollow" title="Microsoft MVP Summit 2008" target="_blank" href="https://www.mvpsummit2008.com/"&gt;MVP Summit '08&lt;/a&gt; in kaart gebracht. Dit hebben ze gedaan met de techniek van Microsoft's Live Maps. Het is gaaf om te zien waar mensen al dan niet vandaan komen en dat het een echt internationaal event wordt.&lt;/p&gt;
&lt;p&gt;Voor mij is dit mijn eerste summit en sowieso mijn eerste bezoek naan Microsoft. Als het niet per regio aangegeven is sta ik zelf helaas niet op de kaart. Hoewel ik nu net zie dat er op het adres van mijn werkgever een groot MVP logo te vinden is. Naast mijzelf heb ik een aantal andere bekende gespot: &lt;a rel="nofollow" title="Weblog van Dennis Vroegop" target="_blank" href="http://www.dotned.nl/blogs/dennis_blog/default.aspx"&gt;Dennis Vroegop&lt;/a&gt;, &lt;a rel="nofollow" title="Weblog van Sander Gerz" target="_blank" href="http://todotnet.com/"&gt;Sander Gerz&lt;/a&gt; &amp;amp; &lt;a rel="nofollow" title="Weblog van Frans Bouma" target="_blank" href="http://weblogs.asp.net/fbouma/"&gt;Frans Bouma&lt;/a&gt; (hoewel, ik weet niet of Frans ook gaat) en &lt;a rel="nofollow" title="Website van Andr&amp;eacute; Obelink" target="_blank" href="http://obelink.com"&gt;André Obelink&lt;/a&gt;.&lt;/p&gt;&lt;a rel="nofollow" title="Microsoft's MVP summit live map" target="_blank" href="http://mvp.soulclients.com/"&gt;&lt;img alt="Mirosoft's MVP summit live map screenshot" src="http://born2code.net//images/custom/artikelen/mvp-summit-live-map/mvpmap.jpg"&gt;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/261452738" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/blog/1-general/27-mvp-summit-live-map.html</feedburner:origLink></item><item><title>SDE Maart 2008 (Solarsystem): Slidedeck &amp; Democode</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/261190611/26-sde-maart-2008-solarsystem-slidedeck-a-democode.html</link><category>General</category><pubDate>Mon, 31 Mar 2008 00:06:47 -0500</pubDate><guid isPermaLink="false"></guid><description>&lt;p&gt;Afgelopen vrijdag hebben &lt;a rel="nofollow" target="_blank" href="http://whiletrue.nl"&gt;André Boonzaaijer&lt;/a&gt; en ik een presentatie gehouden op het Software Developer Event. We hebben hier de bouw volgens een domeingedreven stijl van een applicatie besproken. Voor de demo hebben we hoofdzakelijk de focus gelegd op nieuwe C# 3.0 features. De slides en democode zijn hieronder te vinden.&lt;/p&gt;
&lt;iframe class="embeddedvideo" height="404" width="494" src="http://static.slideshare.net/swf/ssplayer2.swf?doc=domain-driven-design-in-c30-1206827825466162-2" type="application/x-shockwave-flash"/&gt;
&lt;span class="download"&gt;
&lt;p&gt;De bestanden die hierbij zijn gebruikt zijn hieronder te vinden:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Slidedeck: &lt;a rel="nofollow" title="Slidedeck - DDD with C# 3.0 features: Solar System Simulation" target="_blank" href="http://born2code.net//custom/attachments/domain-driven-design-in-Csharp3.0.ppt"&gt;Domain Driven Design in C# 3.0.ppt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Code: &lt;a rel="nofollow" title="Code - Sogyo.SolarSystemSimulation.zip" target="_blank" href="http://born2code.net//custom/attachments/sogyo.solarsystemsimulation.zip"&gt;Sogyo.SolarSystemSimulation.zip&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/261190611" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/blog/1-general/26-sde-maart-2008-solarsystem-slidedeck-a-democode.html</feedburner:origLink></item><item><title>GTA4 - "Good Lord, What Are You Doing?" AKA "Everyone's a Rat"</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/260415979/25-gta4-good-lord-what-are-you-doing-aka-everyones-a-rat.html</link><category>General</category><pubDate>Sat, 29 Mar 2008 13:59:38 -0500</pubDate><guid isPermaLink="false"></guid><description>&lt;p&gt;Enige tijd geleden heb ik de pre-order kit van GTA IV in huis gehaald. Meestal als je bij de Free Records Shop, of welke willekeurige andere zaak, een pre-order kit koopt kun je de game met een aantal dagen, hooguit een week of twee verwachten. Met GTA IV is het helaas anders, wegens &lt;a rel="nofollow" target="_blank" href="http://www.joystiq.com/2008/01/24/rockstar-finally-pins-gta-iv-delay-on-ps3-er-it-was-a-contrib/"&gt;problemen&lt;/a&gt; met de PS3 werd de release date verplaats. Ik was de game al bijna vergeten. Om ons er nog even aan te herinneren dat we GTA IV niet moeten vergeten komt Rocketstar met een final trailer. Na het zien van deze trailer kun je echt niet meer wachten!&lt;/p&gt;&lt;iframe class="embeddedvideo" id="ns_1R2EW4VPYAN16YHECYR1_24239_AMPlayerProd" height="525" name="ns_1R2EW4VPYAN16YHECYR1_24239_AMPlayerProd" type="application/x-shockwave-flash" width="500" src="http://media.rockstargames.com/flies/widget_amazon/widget_amazon.swf"/&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/260415979" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/blog/1-general/25-gta4-good-lord-what-are-you-doing-aka-everyones-a-rat.html</feedburner:origLink></item><item><title>[event] Trends in .NET en Developing XBOX games</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/254317893/12.html</link><category>Bijeenkomst</category><pubDate>Thu, 13 Mar 2008 11:44:40 -0500</pubDate><guid isPermaLink="false"></guid><description>Titel: Trends in .NET en Developing XBOX games&lt;br /&gt;Locatie: Sogyo / De Bilt&lt;br /&gt;Categorie: Bijeenkomst&lt;br /&gt;Datum: 12.02.2008&lt;br /&gt;Tijd: 18.00 h - 21.00 h&lt;br /&gt;Omschrijving: &lt;p&gt;In dit seminar krijg je een brede overview van belangrijke ontwikkelingen op .NET vlak en specifiek de rol van XNA.&lt;/p&gt;
&lt;p&gt;Pieter Joost van de Sande zal een introductie geven over Microsoft’s XNA, waarin hij o.a. vertelt waarom Microsoft het framework op de markt heeft gezet en waarom dit voor .NET ontwikkelaars en software ontwikkelaars zo interessant is. Pieter Joost zal verder live in een korte XNA-demo een flightsimulator bouwen en een demo geven waarin hij de Wii-mote gebruikt als input device.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/254317893" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/events/details/12.html</feedburner:origLink></item><item><title>[event] Domain Driven Design in .NET</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/254317894/11.html</link><category>Bijeenkomst</category><pubDate>Thu, 13 Mar 2008 11:40:03 -0500</pubDate><guid isPermaLink="false"></guid><description>Titel: Domain Driven Design in .NET&lt;br /&gt;Locatie: Sogyo / De Bilt&lt;br /&gt;Categorie: Bijeenkomst&lt;br /&gt;Datum: 24.04.2008&lt;br /&gt;Tijd: 19.00 h - 21.00 h&lt;br /&gt;Omschrijving: &lt;p&gt;De alom bekende Jimmy Nillson zal naar Nederland komen om ons te vertellen over Domain Driven Design en hoe deze architectuur style toe te passen is in .NET&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/254317894" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/events/details/11.html</feedburner:origLink></item><item><title>[event] Microsoft DevDays 2008</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/254317895/10.html</link><category>Bijeenkomst</category><pubDate>Thu, 13 Mar 2008 11:26:04 -0500</pubDate><guid isPermaLink="false"></guid><description>Titel: Microsoft DevDays 2008&lt;br /&gt;Locatie: Amsterdam RAI / Amsterdam&lt;br /&gt;Categorie: Bijeenkomst&lt;br /&gt;Datum: 22.05.2008 - 23.05.2008&lt;br /&gt;Tijd: 19.00 h - 21.00 h&lt;br /&gt;Omschrijving: &lt;p&gt;Op 22 en 23 mei staat de Amsterdam RAI bol van de ideeën. Twee dagen boordevol nieuws, inspirerende showcases en achtergronden moeten u als developer wel op ideeën brengen. Maar met een idee alleen bent u er niet... U wilt uw idee de kans geven realiteit te worden. DevDays 2008 reikt u de handvatten aan om dit te bewerkstelligen; u krijgt toegang tot de technologie, kennis en ervaring waarmee u uw eigen ideeën tot leven kunt brengen.&lt;/p&gt;
&lt;p&gt;Inspiratie krijgt u dit jaar van internationale topsprekers zoals Daniel Moth en Ingo Rammer. Buiten de sessies over onderwerpen zoals het .NET Framework 3.5, Visual Studio 2008, ASP.NET Ajax en het 2007 Microsoft Office System is er natuurlijk weer van alles te doen. Dit jaar is er een speciaal avondprogramma onder de naam DevDays Geek
Night. Op deze speciale avond kunt u onder het genot van een hapje en drankje even bijkomen van alle ervaringen die u tijdens DevDays hebt opgedaan. Op deze avond staat plezier voorop en is er ruime aandacht voor producten en oplossingen die veelal onderbelicht blijven, maar het vak van developer zo boeiend en interessant maken.&lt;/p&gt;
&lt;p&gt;Dit jaar wordt DevDays 2008 wederom gecombineerd met een congres speciaal voor (online) grafisch ontwerpers. Mix Essentials biedt bezoekers acht boeiende sessies die uitgebreid ingaan op alle design-aspecten van Windows- en webapplicaties.&lt;/p&gt;
&lt;p&gt;DevDays 2008 - dat is nieuwe ideeën opdoen en die tot leven wekken. Die kans mag u als ontwikkelaar natuurlijk niet missen!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/254317895" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/events/details/10.html</feedburner:origLink></item><item><title>[event] Expeditie 2008</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/254317896/9.html</link><category>Bijeenkomst</category><pubDate>Thu, 13 Mar 2008 11:14:29 -0500</pubDate><guid isPermaLink="false"></guid><description>Titel: Expeditie 2008&lt;br /&gt;Locatie: Reehorst / Ede&lt;br /&gt;Categorie: Bijeenkomst&lt;br /&gt;Datum: 28.03.2008&lt;br /&gt;Tijd: 08.30 h - 17.30 h&lt;br /&gt;Omschrijving: &lt;p&gt;Op vrijdag 28 maart organiseert het SDN het 1e Software Developer Event van 2008 onder de noemer "Expeditie 2008”: welke nieuwe zaken komen in 2008 op ons als developers af waar we ons, uiteraard met hulp van o.a. het SDN, weer manmoedig doorheen ‘moeten’ slaan? Traditiegetrouw wordt tijdens deze SDE ook de Algemene Ledenvergadering gehouden, daar heb je de kans om je stem over het afgelopen jaar maar ook over de toekomst van het SDN te laten horen.&lt;/p&gt;
&lt;p&gt;Naast het vertrouwde programma van de SDE is er ook de Community Launch van Visual Studio 2008, SQL Server 2008 en Windows Server 2008. Hoewel Microsoft deze producten op 6 maart in Nieuwegein launcht, zullen de communities dat gelijktijdig met de SDE van de SDN doen. Voor deze launch is een speciale track gevuld. Aan de invulling van deze track is mee gewerkt door de verschillende Communities van Nederland, VBcentral, St. DotNed, PASS Nederland en de SDN. De launch track bestaat uit sessies over: What’s new in Visual Basic 2008, SQL Server 2008 for developers, LINQ to SQL, Quality tools in VS2008 en IIS7 in Windows Server 2008. Het volledige programma is hieronder te vinden.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/254317896" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/events/details/9.html</feedburner:origLink></item><item><title>[event] DSL Tools en VS Shell</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/254317897/8.html</link><category>Bijeenkomst</category><pubDate>Thu, 13 Mar 2008 11:02:58 -0500</pubDate><guid isPermaLink="false"></guid><description>Titel: DSL Tools en VS Shell&lt;br /&gt;Locatie: Peak IT Den Haag / Den Haag&lt;br /&gt;Categorie: Bijeenkomst&lt;br /&gt;Datum: 27.03.2008&lt;br /&gt;Tijd: 19.00 h - 21.00 h&lt;br /&gt;Omschrijving: De Visual Studio Shell is eigenlijk niets anders dan Visual Studio zonder alle compilers en talen. Je kunt het bijvoorbeeld gebruiken om je eigen DSL's te maken. In deze sessie laat Dennis zien hoe je je eigen ontwikkelomgeving kunt bouwen met daarin je eigen Domain Specific Language. De DSL die we gaan ontwikkelen is een simpele, maar toch zul je zien hoe ontzettend krachtig deze mogelijkheid is. En zeg nou zelf: wie wil nou niet een eigen editor voor zijn DSL's maken?&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/254317897" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/events/details/8.html</feedburner:origLink></item><item><title>[event] Serious Gaming, serious business for IT</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/254317898/7.html</link><category>Bijeenkomst</category><pubDate>Fri, 07 Mar 2008 06:58:11 -0600</pubDate><guid isPermaLink="false"></guid><description>Titel: Serious Gaming, serious business for IT&lt;br /&gt;Locatie: Hogeschool Utrecht / Utrecht&lt;br /&gt;Categorie: Bijeenkomst&lt;br /&gt;Datum: 01.04.2008&lt;br /&gt;Tijd: 09.30 h - 17.00 h&lt;br /&gt;Omschrijving:&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/254317898" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/events/details/7.html</feedburner:origLink></item><item><title>New Item Template, public access modifier</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/254317899/4-new-item-template-public-access-modifier.html</link><category>Artikelen</category><pubDate>Sat, 29 Sep 2007 06:42:20 -0500</pubDate><guid isPermaLink="false"></guid><description>&lt;span class="note"&gt;Niet getest met Visual Studio 2008.&lt;/span&gt;
&lt;p&gt;Iets wat we toch vrij veel doen als developers is nieuwe classes aanmaken. Dit voornamelijk gescheiden in aparte bestanden. Nu ga ik er eigenlijk ook vanuit van jullie ook allemaal gebruik maken van Visual Studio en dat jullie ook voor sommige projecten Visual Studio 2005 gebruiken. Het laatste waar ik ook vanuit ga is dat jullie voor sommige projecten C# gebruiken. Voldoe je niet aan deze punten, dan is het misschien toch verstandig om even verder te lezen omdat je er wellicht in de toekomst nog mee in aanraking komt.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/254317899" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/artikelen/2-general/4-new-item-template-public-access-modifier.html</feedburner:origLink></item><item><title>?? operator</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/254317900/5--operator.html</link><category>Artikelen</category><pubDate>Sat, 04 Aug 2007 02:24:00 -0500</pubDate><guid isPermaLink="false"></guid><description>&lt;p&gt;Na een C# code sample die ik naar een collega had gestuurd kwam hij met de vraag wat het volgende statement nou precies inhoud:&lt;/p&gt;&lt;pre&gt;return note ?? String.Empty;&lt;/pre&gt;
&lt;p&gt;In dit statement maak ik gebruik van een nieuwe operator die in C# 2.0 geïntroduceerd is. Blijkbaar is deze operator nog niet bij iedereen bekend, dus we reden genoeg om deze operator even onder de aandacht te brengen!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/254317900" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/artikelen/2-general/5--operator.html</feedburner:origLink></item><item><title>Bandwidth throttling</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/254317901/13-bandwidth-throttling.html</link><category>Artikelen</category><pubDate>Mon, 02 Apr 2007 05:36:44 -0500</pubDate><guid isPermaLink="false"></guid><description>&lt;span class="info"&gt;Dit is een crosspost van codeproject. Zie het orgineel inclusief source code vind je op CodeProject zelf: &lt;a rel="nofollow" target="_blank" href="http://www.codeproject.com/KB/IP/Bandwidth_throttling.aspx"&gt;CodeProject: Bandwidth throttling&lt;/a&gt;.&lt;/span&gt;
&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Hosting a website can be fun. But when you offer big downloads or streaming media you do not want a visitor to eat up the full bandwith. Or maybe you want to offer a premium account from where users can download without limitation and a free account where users cannot download faster than 50kb/s. Here is where throttling comes in.
&lt;p&gt;Bandwidth throttling helps provide quality of service (QoS) by limiting network congestion and server crashes. For example, you make sure a connection does not get more then an X number of bytes per second. &lt;p&gt;The purpose of this article is to show how to use bandwidth throttling with a small helper class. &lt;h2&gt;Using the code&lt;/h2&gt;
&lt;p&gt;Within the source code you will find a class named &lt;code&gt;ThrottledStream&lt;/code&gt;. This class is derived from the abstract &lt;code&gt;Stream&lt;/code&gt; that can be found in the &lt;code&gt;System.IO &lt;/code&gt;namespace. In the constructor it accepts a &lt;em&gt;base&lt;/em&gt; stream to throttle. Here is a small line of code that shows how to instantiate a &lt;code&gt;ThrottledStream&lt;/code&gt;:&lt;pre&gt;Stream throttledStream = new ThrottledStream(Response.OutputStream, 1024);&lt;/pre&gt;
&lt;p&gt;Now everything you do with the &lt;code&gt;throttledStream&lt;/code&gt; will be limited to 1024 bytes per second and will be send to or read from the &lt;code&gt;OutputStream&lt;/code&gt; that is a member of the Response property that exists within an ASP.NET page.
&lt;p&gt;Because the &lt;code&gt;ThrottledStream&lt;/code&gt; is derived from the abstract &lt;code&gt;Stream&lt;/code&gt; class it is easy to add throttling to an existing application or website. For example when you have a process that sends file content over a &lt;code&gt;Stream&lt;/code&gt; and you want to enable bandwidth throttling, you only have to change the initialization of the destination stream. &lt;p&gt;The old code can look like this:&lt;pre&gt;Stream sourceStream;
Stream destinationStream; try
{ sourceStream = new FileStream(@"c:&amp;#92;myfile.bin", FileMode.Open, FileAccess.Read, FileShare.Read); destinationStream = new NetworkStream(mySocket, false); byte[] buffer = new byte[1024]; int readCount = sourceStream.Read(buffer, 0, BufferSize); while (readCount &amp;gt; 0) { destinationStream.Write(buffer, 0, readCount); readCount = sourceStream.Read(buffer, 0, BufferSize); }
}
finally
{ if (destinationStream != null) { destinationStream.Close(); } if (sourceStream != null) { sourceStream.Close(); }
}&lt;/pre&gt;
&lt;p&gt;Now we can easily add throttling support to this process. We only need to change the initialization: &lt;pre&gt; ... Stream originalDestinationStream = new NetworkStream(mySocket, false);
destinationStream = new ThrottledStream(originalDestinationStream, 51200); ...&lt;/pre&gt;
&lt;p&gt;By adding only one line of code this full process is throttled to 50 kb/s (51200 b/s). Now we go even a step further and will add throttling that is based on a membership:&lt;pre&gt; ... long bps; switch( user.Membership )
{ case MembershipLevel.Bronze: bps = 51200; break; case MembershipLevel.Silver: bps = 102400; break; case MembershipLevel.Gold: bps = 153600; break; case MembershipLevel.Platina: bps = ThrottledStream.Infinite; break;
} Stream originalDestinationStream = new NetworkStream(mySocket, false);
destinationStream = new ThrottledStream(originalDestinationStream, bps); ...&lt;/pre&gt;
&lt;p&gt;Here we have a situation where a Bronze membership will give you 50kb/s, Silver 100kb/s, Gold 150kb/s and Platina infinitive (no throttling).
&lt;h2&gt;Points of Interest&lt;/h2&gt;
&lt;p&gt;Bandwidth throttling can improve the QoS of your server and allows you to control the bandwidth for a specified connection. The helper class named &lt;code&gt;ThrottledStream&lt;/code&gt; is very easy to use and can be used in existing scenarios.&lt;/p&gt;
&lt;span class="download"&gt;You can download the project source here: &lt;a rel="nofollow" target="_blank" href="http://born2code.net//custom/attachments/throttling.zip"&gt;throttling.zip&lt;/a&gt;.&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/254317901" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/artikelen/2-general/13-bandwidth-throttling.html</feedburner:origLink></item><item><title>Getting MIME types from extension</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/254317902/14-getting-mime-types-from-extension.html</link><category>Artikelen</category><pubDate>Thu, 15 Feb 2007 06:48:03 -0600</pubDate><guid isPermaLink="false"></guid><description>&lt;p&gt;Voor een implementatie voor het serveren van attachments moest ik de MIME specificeren. Omdat ik mijn code generiek wil houden, ben ik aan de slag gegaan om niet alleen de MIME types te specificeren die ik op dit moment moet serveren. En dat is de reden dat ik MimeTypes.cs geintroduceerd heb in mijn project.
&lt;/p&gt;&lt;p&gt;Omdat ik vast niet de enige ben die dit nodig heeft, wil ik het delen.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/254317902" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/artikelen/2-general/14-getting-mime-types-from-extension.html</feedburner:origLink></item><item><title>Impersonation class</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/254317905/19-impersonation-class.html</link><category>Artikelen</category><pubDate>Sun, 06 Aug 2006 06:04:00 -0500</pubDate><guid isPermaLink="false"></guid><description>&lt;p&gt;Een klant liep tegen een rechten probleem aan. De ingelogde gebruiker waaronder de applicatie werd uitgevoerd had niet voldoende rechten. Afdeling systeem beheer wou hier liever geen uitzondering voor maken en gaf de voorkeur aan een apparte account waaronder deze code uitgevoerd kon worden zonder dat de gebruiker onder deze account ingelogd diende te zijn. Kort gezegt, het is dus de bedoeling dat sommige code uitgevoerd word onder een anderen user account.&lt;/p&gt;
&lt;p&gt;Als impersonation het eerste is wat in je opkomt zit je goed. Impersonation, oftewel het uitvoeren van code onder een andere gebruiker, is enorm handig als je iets wilt doen waar de huidige gebruiker niet genoeg rechten heeft. Dit kan bijvoorbeeld zijn dat een bepaalde directory uit te lezen of een bepaalde registery key value te kunnen wijzigen.&lt;/p&gt;
&lt;p&gt;Het FCL is enorm groot en bevat veel classes die taken opzich kunnen nemen. Helaas bestaat er nog geen class die de volledige impersonation taak op zich kan nemen en we zullen daarom gebruik moeten maken van P/Invoke om Win32 API calls te kunnen doen. De WindowsIdentity class uit de System.Security.Principal namespace kan een impersonation uitvoeren als jij hem de usertoken leverd. Dit is al een probleem, want deze is zonder een Win32 API niet te verkrijgen. In iedergeval niet vanuit een Domain&amp;#92;Username en password.&lt;/p&gt;
&lt;p&gt;Dan maar zelf aan de slag! Zoals ik al aangaf kunnen we als we de usertoken weten een heel eind komen met de WindowsIdentity class of met de &lt;a rel="nofollow" title="ImpersonateLoggedOnUser on MSDN" target="_blank" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/secauthz/security/impersonateloggedonuser.asp"&gt;ImpersonateLoggedOnUser&lt;/a&gt; method uit &lt;code&gt;advapi32.dll&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;Aan de slag&lt;/h3&gt;
&lt;p&gt;Het eerste en het meest belangrijkste wat we nodig hebben is the usertoken van de gebruiker waaronder we tijdelijk code willen uitvoeren. Hiervoor gebruiken we de &lt;a rel="nofollow" title="LogonUser documentation on MSDN" target="_blank" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/secauthn/security/logonuser.asp"&gt;&lt;code&gt;LogonUser&lt;/code&gt;&lt;/a&gt; method uit &lt;code&gt;advapi32.dll&lt;/code&gt; en zullen de method signature eerst moeten specificeren zodat de compiler weet wat we willen callen en waar dit te vinden is. Voor de &lt;code&gt;LogonUser&lt;/code&gt; method gebruiken we het volgende (in de volledige code file vind je ook de enum declaraties):&lt;/p&gt;&lt;pre&gt;[DllImport(“advapi32.dll”, SetLastError=true)]
private static extern bool LogonUser( string username, string domain, string password, LogonType logonType, LogonProvider logonProvider, out IntPtr userToken );&lt;/pre&gt;
&lt;p&gt;Via deze method krijgen we de usertoken, de pointer naar de handle van de gebruiker, waarmee we de impersonation kunnen uitvoeren.&lt;br /&gt;De impersonation is daarna vrij simpel. Door een instantie van het WindowsIdentity te creeëren en de Impersonate method aan te roepen:&lt;/p&gt;&lt;pre&gt;// Create windows identity from the token and impersonate the user.
WindowsIdentity identity = new WindowsIdentity( userTokenDuplication );
WindowsImpersonationContext impersonationContext = identity.Impersonate(); try
{ // Run code withing the impersonation.
}
finally
{ // Revert to previous user. impersonationContext.Undo();
}&lt;/pre&gt;
&lt;p&gt;Omdat ik een herbruikbare class wil maken en ook een class die makelijk te gebruiken is, heb ik er voor gekozen om de impersonation direct in the constructor van de class uitgevoerd en het terug te draaien in de Dispose method. Door de class te implementeren met de IDisposeable interface is hij te gebruiken in een using statemen. Dit resulteerd in een easy-to-use constructie:&lt;/p&gt;&lt;pre&gt;using( new Impersonation( “pjvandesande”, “born2code.net”, “password” ) )
{ // Voer code uit onder anderen account.
}&lt;/pre&gt;
&lt;h3&gt;De volledige code&lt;/h3&gt;
&lt;p&gt;De volledige source van de Impersonation class:&lt;/p&gt;&lt;pre&gt;using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Security.Principal; namespace Born2Code.Net
{ public enum LogonType : int { ///  /// This logon type is intended for users who will be interactively using the computer, such as a user being logged on /// by a terminal server, remote shell, or similar process. /// This logon type has the additional expense of caching logon information for disconnected operations; /// therefore, it is inappropriate for some client/server applications, /// such as a mail server. ///  Interactive = 2, ///  /// This logon type is intended for high performance servers to authenticate plaintext passwords. /// The LogonUser function does not cache credentials for this logon type. ///  Network = 3, ///  /// This logon type is intended for batch servers, where processes may be executing on behalf of a user without /// their direct intervention. This type is also for higher performance servers that process many plaintext /// authentication attempts at a time, such as mail or Web servers. /// The LogonUser function does not cache credentials for this logon type. ///  Batch = 4, ///  /// Indicates a service-type logon. The account provided must have the service privilege enabled. ///  Service = 5, ///  /// This logon type is for GINA DLLs that log on users who will be interactively using the computer. /// This logon type can generate a unique audit record that shows when the workstation was unlocked. ///  Unlock = 7, ///  /// This logon type preserves the name and password in the authentication package, which allows the server to make /// connections to other network servers while impersonating the client. A server can accept plaintext credentials /// from a client, call LogonUser, verify that the user can access the system across the network, and still /// communicate with other servers. /// NOTE: Windows NT: This value is not supported. ///  NetworkCleartText = 8, ///  /// This logon type allows the caller to clone its current token and specify new credentials for outbound connections. /// The new logon session has the same local identifier but uses different credentials for other network connections. /// NOTE: This logon type is supported only by the LOGON32_PROVIDER_WINNT50 logon provider. /// NOTE: Windows NT: This value is not supported. ///  NewCredentials = 9, } public enum LogonProvider : int { ///  /// Use the standard logon provider for the system. /// The default security provider is negotiate, unless you pass NULL for the domain name and the user name /// is not in UPN format. In this case, the default provider is NTLM. /// NOTE: Windows 2000/NT: The default security provider is NTLM. ///  Default = 0, } public class Impersonation : IDisposable { #region Dll Imports ///  /// Closes an open object handle. ///  /// A handle to an open object. /// True when succeeded; otherwise false . [DllImport(“kernel32.dll”)] private static extern Boolean CloseHandle(IntPtr hObject); ///  /// Attempts to log a user on to the local computer. ///  /// This is the name of the user account to log on to. /// If you use the user principal name (UPN) format, user@DNSdomainname, the /// domain parameter must be null . /// Specifies the name of the domain or server whose /// account database contains the lpszUsername account. If this parameter /// is null , the user name must be specified in UPN format. If this /// parameter is “.”, the function validates the account by using only the /// local account database. /// The password /// The logon type /// The logon provides /// The out parameter that will contain the user /// token when method succeeds. /// True when succeeded; otherwise false . [DllImport(“advapi32.dll”, CharSet=CharSet.Auto, SetLastError=true)] private static extern bool LogonUser( string username, string domain, string password, LogonType logonType, LogonProvider logonProvider, out IntPtr userToken ); ///  /// Creates a new access token that duplicates one already in existence. ///  /// Handle to an access token. /// The impersonation level. /// Reference to the token to duplicate. ///  [DllImport(“advapi32.dll”, CharSet=CharSet.Auto, SetLastError=true)] private static extern bool DuplicateToken( IntPtr token, int impersonationLevel, ref IntPtr duplication ); ///  /// The ImpersonateLoggedOnUser function lets the calling thread impersonate the /// security context of a logged-on user. The user is represented by a token handle. ///  /// Handle to a primary or impersonation access token that represents a logged-on user. /// If the function succeeds, the return value is nonzero. [DllImport(“advapi32.dll”, SetLastError=true)] static extern bool ImpersonateLoggedOnUser( IntPtr userToken ); #endregion #region Private members ///  /// true if disposed; otherwise, false . ///  private bool _disposed; ///  /// Holds the created impersonation context and will be used /// for reverting to previous user. ///  private WindowsImpersonationContext _impersonationContext; #endregion #region Ctor &amp;amp; Dtor ///  /// Initializes a new instance of the  class and /// impersonates with the specified credentials. ///  /// his is the name of the user account to log on /// to. If you use the user principal name (UPN) format, /// user@DNS_domain_name, the lpszDomain parameter must be null . /// The name of the domain or server whose account /// database contains the lpszUsername account. If this parameter is /// null , the user name must be specified in UPN format. If this /// parameter is “.”, the function validates the account by using only the /// local account database. /// The plaintext password for the user account. public Impersonation( String username, String domain, String password ) { IntPtr userToken = IntPtr.Zero; IntPtr userTokenDuplication = IntPtr.Zero; // Logon with user and get token. bool loggedOn = LogonUser( username, domain, password, LogonType.Interactive, LogonProvider.Default, out userToken ); if( loggedOn ) { try { // Create a duplication of the usertoken, this is a solution // for the known bug that is published under KB article Q319615. if( DuplicateToken( userToken, 2, ref userTokenDuplication ) ) { // Create windows identity from the token and impersonate the user. WindowsIdentity identity = new WindowsIdentity( userTokenDuplication ); _impersonationContext = identity.Impersonate(); } else { // Token duplication failed! // Use the default ctor overload // that will use Mashal.GetLastWin32Error(); // to create the exceptions details. throw new Win32Exception(); } } finally { // Close usertoken handle duplication when created. if( !userTokenDuplication.Equals( IntPtr.Zero ) ) { // Closes the handle of the user. CloseHandle( userTokenDuplication ); userTokenDuplication = IntPtr.Zero; } // Close usertoken handle when created. if( !userToken.Equals( IntPtr.Zero ) ) { // Closes the handle of the user. CloseHandle( userToken ); userToken = IntPtr.Zero; } } } else { // Logon failed! // Use the default ctor overload that // will use Mashal.GetLastWin32Error(); // to create the exceptions details. throw new Win32Exception(); } } ///  /// Releases unmanaged resources and performs other cleanup operations before the ///  is reclaimed by garbage collection. ///  ~Impersonation() { Dispose( false ); } #endregion #region Public methods ///  /// Reverts to the previous user. ///  public void Revert() { if( _impersonationContext != null ) { // Revert to previour user. _impersonationContext.Undo(); _impersonationContext = null; } } #endregion #region IDisposable implementation. ///  /// Performs application-defined tasks associated with freeing, releasing, or /// resetting unmanaged resources and will revent to the previous user when /// the impersonation still exists. ///  public void Dispose() { Dispose( true ); GC.SuppressFinalize(this); } ///  /// Performs application-defined tasks associated with freeing, releasing, or /// resetting unmanaged resources and will revent to the previous user when /// the impersonation still exists. ///  /// Specify true when calling the method directly /// or indirectly by a user’s code; Otherwise false . protected virtual void Dispose( bool disposing ) { if( !_disposed ) { Revert(); _disposed = true; } } #endregion }
}&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/254317905" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/artikelen/2-general/19-impersonation-class.html</feedburner:origLink></item><item><title>Events vs. delegates</title><link>http://feeds.feedburner.com/~r/Born2Codenet/~3/254317907/3-events-vs-delegates.html</link><category>Artikelen</category><pubDate>Sat, 15 Jul 2006 02:24:21 -0500</pubDate><guid isPermaLink="false"></guid><description>&lt;h2&gt;Het verschil tussen een Delegate en een Event&lt;/h2&gt;
&lt;p&gt;Er zijn enorm veel overeenkomsten tussen een delegate en een event. De verklaring is dan ook simpel, volgens de&amp;nbsp;&lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfeventpg.asp"&gt;documentatie&lt;/a&gt; van C# is het event keyword gewoon een modifier voor een delegate. Toch zijn er een aantal dingen die je met delegates wel kunt en met events niet en versavisa.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Born2Codenet/~4/254317907" height="1" width="1"/&gt;</description><feedburner:origLink>http://born2code.net/artikelen/2-general/3-events-vs-delegates.html</feedburner:origLink></item></channel></rss>
