<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Nick Parker</title>
    <description>My ramblings on .NET...</description>
    <link>http://www.developernotes.com/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.Net Syndication Generator 1.0.0.0 (http://dotnetblogengine.net/)</generator>
    <language>en-US</language>
    <blogChannel:blogRoll>http://www.developernotes.com/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://www.dotnetblogengine.net/syndication.axd</blogChannel:blink>
    <dc:creator>Nick Parker</dc:creator>
    <dc:title>Nick Parker</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/developernotes" type="application/rss+xml" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><item>
      <title>Vim + Firefox = Vimperator</title>
      <description>&lt;p&gt;
&lt;font face="verdana,geneva" size="2"&gt;Okay, so I&amp;#39;ve lamented about how I enjoy using Vim/gVim several times now. If you are still using notepad.exe as your text editor I strongly advise you to check out some of the other editors out on the market. Vim and Emacs tend to be near the top of the list, are full of features and are both extensible. The bottom line is that you need to find an editor, learn it and use it - it&amp;#39;s that simple. In fact Dave Thomas and Andy Hunt discuss this in &lt;/font&gt;&lt;a href="http://www.pragprog.com/the-pragmatic-programmer"&gt;&lt;font face="verdana,geneva" size="2"&gt;The Pragmatic Programmer&lt;/font&gt;&lt;/a&gt;&lt;font face="verdana,geneva" size="2"&gt;. So, while I enjoy using the keystrokes within Vim to navigate text, what about web browsing - we all do that quite a bit these days? The mouse is the obvious choice, however it is not my only option. Enter &lt;/font&gt;&lt;a href="http://vimperator.mozdev.org/"&gt;&lt;font face="verdana,geneva" size="2"&gt;Vimperator&lt;/font&gt;&lt;/a&gt;&lt;font face="verdana,geneva" size="2"&gt;, suggested by &lt;a href="http://www.zedshaw.com/blog/2008-03-02.html" title="Zed"&gt;Zed&lt;/a&gt;, a Firefox addin that allow your browser to act like Vim. &lt;br /&gt;
&lt;br /&gt;
A quick introduction, once you have it installed I like to turn a few things back on so that it still feels like a normal web browser for the times when I actually do want to use my mouse. Like Vim, Vimperator is configurable through a file you can create titled &amp;quot;_vimperatorrc&amp;quot; which needs to be stored within your %userprofile% directory. This file allows you to customize the way Vimperator integrates with Firefox, etc. Below I have included the contents of my _vimperatorrc file to get you started.&lt;/font&gt; 
&lt;/p&gt;
&lt;div class="code"&gt;
&amp;quot;Turn&amp;nbsp;the&amp;nbsp;menu&amp;nbsp;and&amp;nbsp;toolbar&amp;nbsp;on.&lt;br /&gt;
:set&amp;nbsp;guioptions+=mT&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Turn&amp;nbsp;off&amp;nbsp;the&amp;nbsp;show&amp;nbsp;tabs&amp;nbsp;by&amp;nbsp;default.&lt;br /&gt;
:set&amp;nbsp;showtabline=1&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Turn&amp;nbsp;session&amp;nbsp;tracking&amp;nbsp;off.&lt;br /&gt;
:set!&amp;nbsp;browser.startup.page=1&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Allow&amp;nbsp;user&amp;nbsp;to&amp;nbsp;click&amp;nbsp;in&amp;nbsp;address&amp;nbsp;bar.&lt;br /&gt;
:set!&amp;nbsp;browser.urlbar.clickSelectsAll=true&lt;br /&gt;
:set!&amp;nbsp;browser.urlbar.doubleClickSelectsAll=true&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Map&amp;nbsp;Ctrl&amp;nbsp;+&amp;nbsp;n&amp;nbsp;for&amp;nbsp;new&amp;nbsp;windows&lt;br /&gt;
:map&amp;nbsp;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;C-n&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;C-v&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;C-n&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Map&amp;nbsp;Ctrl&amp;nbsp;+&amp;nbsp;t&amp;nbsp;for&amp;nbsp;new&amp;nbsp;tabs&lt;br /&gt;
:map&amp;nbsp;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;C-t&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;nbsp;:tabopen&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;Enter&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Map&amp;nbsp;paste&amp;nbsp;operation&amp;nbsp;normally.&lt;br /&gt;
:imap&amp;nbsp;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;C-v&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;C-v&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;/font&gt; 
&lt;/div&gt;
&lt;p&gt;
&lt;br /&gt;
&lt;font face="verdana,geneva" size="2"&gt;After you create this file you will need to restart Firefox and then the settings with be loaded. Standard navigation include: &lt;/font&gt;
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;font face="verdana,geneva" size="2"&gt;j - down one line.&lt;/font&gt;&lt;/li&gt;
	&lt;li&gt;&lt;font face="verdana,geneva" size="2"&gt;k - up one line.&lt;/font&gt;&lt;/li&gt;
	&lt;li&gt;&lt;font face="verdana,geneva" size="2"&gt;o - open URL.&lt;/font&gt;&lt;/li&gt;
	&lt;li&gt;&lt;font face="verdana,geneva" size="2"&gt;shift + h - navigate back 1 step in browser history.&lt;/font&gt;&lt;/li&gt;
	&lt;li&gt;&lt;font face="verdana,geneva" size="2"&gt;shift + l - navigate forward 1 step in browser history.&lt;/font&gt;&lt;/li&gt;
	&lt;li&gt;&lt;font face="verdana,geneva" size="2"&gt;f [number] - opens a link based on the number displayed on screen.&lt;/font&gt;&lt;/li&gt;
	&lt;li&gt;&lt;font face="verdana,geneva" size="2"&gt;shift + f [number] - opens a link based on the number displayed on the screen (new tab).&lt;/font&gt;&lt;/li&gt;
	&lt;li&gt;&lt;font face="verdana,geneva" size="2"&gt;gg - go to top of page.&lt;/font&gt;&lt;/li&gt;
	&lt;li&gt;&lt;font face="verdana,geneva" size="2"&gt;shift + g - go to bottom of page.&lt;/font&gt;&lt;/li&gt;
	&lt;li&gt;&lt;font size="2"&gt;ctrl + f - navigate down one screen length.&lt;/font&gt;&lt;/li&gt;
	&lt;li&gt;&lt;font size="2"&gt;ctrl + b - navigate up one screen length.&lt;/font&gt;&lt;/li&gt;
	&lt;li&gt;&lt;font face="verdana,geneva" size="2"&gt;b [number] - switches to the buffer (tab) based on the number supplied.&lt;/font&gt;&lt;/li&gt;
	&lt;li&gt;&lt;font size="2"&gt;/[word] - search for [word], n goes to the next occurance, shift + n to the previous occurance.&lt;/font&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;font face="verdana,geneva" size="2"&gt;If you want to read about the other options you can hit F1 or type :help.&amp;nbsp; You can grab a nightly build &lt;a href="http://vimperator.driftaway.org/" title="here"&gt;here&lt;/a&gt;.&amp;nbsp; One thing I didn&amp;#39;t like about the default configuration within Vimperator was that it would track your session, so when you would close your browser, the next time you open Firefox, the site you were on was reloaded.&amp;nbsp; There are keyboard commands that will not save your session (i.e., ZQ), however there are many times I will simply close the Firefox window by mouse (old habits die hard).&amp;nbsp; Above in my configuration file I have turned off the session tracking.&amp;nbsp; I have found my web navigation experience has increased dramatically with this, and my reliance on the mouse continues to decrease.&amp;nbsp; Let me know if you decide to give it a try, it will defintely be worth your time.&lt;/font&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/developernotes?a=QRjsAI"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=QRjsAI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/developernotes?a=Xixbbi"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=Xixbbi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.developernotes.com/post/Vim-2b-Firefox-3d-Vimperator.aspx</link>
      <author>nickp</author>
      <comments>http://www.developernotes.com/post/Vim-2b-Firefox-3d-Vimperator.aspx#comment</comments>
      <guid>http://www.developernotes.com/post.aspx?id=a95e4c6a-8f78-4a0b-bee1-b8460d08a947</guid>
      <pubDate>Mon, 30 Jun 2008 20:39:00 -0500</pubDate>
      <category>Vim</category>
      <dc:publisher>nickp</dc:publisher>
      <pingback:server>http://www.developernotes.com/pingback.axd</pingback:server>
      <pingback:target>http://www.developernotes.com/post.aspx?id=a95e4c6a-8f78-4a0b-bee1-b8460d08a947</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.developernotes.com/trackback.axd?id=a95e4c6a-8f78-4a0b-bee1-b8460d08a947</trackback:ping>
      <wfw:comment>http://www.developernotes.com/post/Vim-2b-Firefox-3d-Vimperator.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.developernotes.com/syndication.axd?post=a95e4c6a-8f78-4a0b-bee1-b8460d08a947</wfw:commentRss>
    </item>
    <item>
      <title>Vim Tip of the Day - File Explorer Navigation</title>
      <description>&lt;p&gt;
&lt;font face="verdana,geneva" size="2"&gt;I don&amp;#39;t know how I didn&amp;#39;t come across this before, but when using the file explorer built into Vim, you can tell Vim to automatically switch the working directory to the current file you are editing.&amp;nbsp; Normally in Vim if you performed a &amp;quot;:cd c:\projects\blah&amp;quot; and subsequently navigated three folders deeper to edit a file (say &amp;ldquo;c:\projects\blah\foo\bar\foobar\fun.cs&amp;rdquo;), then choose to go back into the file explorer from your current location by issuing &amp;quot;:e .&amp;quot;, the &amp;quot;c:\projects\blah&amp;quot; will be listed, not exactly where you might expect to be.&amp;nbsp; If you edit your _vimrc file and put the following command in when navigating the file explorer window, your current directory will automatically be set based on the file you are editing, and thus we would be dropped back into &amp;quot;c:\projects\blah\foo\bar\foobar&amp;quot;).&lt;/font&gt;&lt;br /&gt;
 
&lt;/p&gt;
&lt;p&gt;
&lt;font face="courier new,courier" size="2"&gt;autocmd BufEnter * lcd %:p:h&amp;nbsp;&lt;/font&gt;
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/developernotes?a=tjVxXH"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=tjVxXH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/developernotes?a=UDFQPh"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=UDFQPh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.developernotes.com/post/Vim-Tip-of-the-Day---File-Explorer-Navigation.aspx</link>
      <author>nickp</author>
      <comments>http://www.developernotes.com/post/Vim-Tip-of-the-Day---File-Explorer-Navigation.aspx#comment</comments>
      <guid>http://www.developernotes.com/post.aspx?id=8488b498-eef7-4ec5-8851-086a4f566938</guid>
      <pubDate>Mon, 05 May 2008 21:17:00 -0500</pubDate>
      <category>General</category>
      <category>Open Source</category>
      <category>Vim</category>
      <dc:publisher>nickp</dc:publisher>
      <pingback:server>http://www.developernotes.com/pingback.axd</pingback:server>
      <pingback:target>http://www.developernotes.com/post.aspx?id=8488b498-eef7-4ec5-8851-086a4f566938</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.developernotes.com/trackback.axd?id=8488b498-eef7-4ec5-8851-086a4f566938</trackback:ping>
      <wfw:comment>http://www.developernotes.com/post/Vim-Tip-of-the-Day---File-Explorer-Navigation.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.developernotes.com/syndication.axd?post=8488b498-eef7-4ec5-8851-086a4f566938</wfw:commentRss>
    </item>
    <item>
      <title>Microsoft Mocking Framework and TypeMock</title>
      <description>&lt;font face="verdana,geneva" size="2"&gt;While everyone has been wondering over the past couple years when Microsoft would ship its own version of a mocking framework, as of yesterday &lt;a href="http://www.typemock.com/index.html" title="TypeMock"&gt;TypeMock&lt;/a&gt; &lt;a href="http://blog.typemock.com/2008/03/typemock-acquired-by-microsoft.html" title="annouced"&gt;announced&lt;/a&gt; it has been acquired by Microsoft and the product will be included in future versions of Visual Studio.&amp;nbsp; At least they didn&amp;#39;t follow their previous pattern and create a less powerful clone of other products already on the market.&amp;nbsp; Hmm, interesting this should be me thinks.&amp;nbsp; Next to follow, possibly a DynamicProxy2 clone from Microsoft?&amp;nbsp; What day is today again?&lt;/font&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/developernotes?a=zq1sKI"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=zq1sKI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/developernotes?a=Z5kZIi"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=Z5kZIi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.developernotes.com/post/Microsoft-Mocking-Framework-and-TypeMock.aspx</link>
      <author>nickp</author>
      <comments>http://www.developernotes.com/post/Microsoft-Mocking-Framework-and-TypeMock.aspx#comment</comments>
      <guid>http://www.developernotes.com/post.aspx?id=269c2e33-08d4-45a1-89d2-cc9de2db76e7</guid>
      <pubDate>Tue, 01 Apr 2008 04:11:00 -0500</pubDate>
      <category>.NET</category>
      <category>Software</category>
      <category>Visual Studio</category>
      <dc:publisher>nickp</dc:publisher>
      <pingback:server>http://www.developernotes.com/pingback.axd</pingback:server>
      <pingback:target>http://www.developernotes.com/post.aspx?id=269c2e33-08d4-45a1-89d2-cc9de2db76e7</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.developernotes.com/trackback.axd?id=269c2e33-08d4-45a1-89d2-cc9de2db76e7</trackback:ping>
      <wfw:comment>http://www.developernotes.com/post/Microsoft-Mocking-Framework-and-TypeMock.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.developernotes.com/syndication.axd?post=269c2e33-08d4-45a1-89d2-cc9de2db76e7</wfw:commentRss>
    </item>
    <item>
      <title>Creating Objects - Round 3</title>
      <description>&lt;p&gt;
&lt;font face="verdana,geneva" size="2"&gt;&lt;a href="http://ayende.com/Blog/Default.aspx"&gt;Ayende&lt;/a&gt; has &lt;a href="http://ayende.com/Blog/archive/2008/02/27/Creating-objects--Perf-implications.aspx"&gt;been&lt;/a&gt; &lt;a href="http://ayende.com/Blog/archive/2008/02/28/Creating-objects--round-2.aspx"&gt;discussing&lt;/a&gt; the different ways of actually creating objects in .NET and the perf cost associated to each of them.&amp;nbsp; I thought I&amp;#39;d add to the mix one more method, using the DLR.&amp;nbsp; I&amp;#39;ve talked to several people who have identified concerns with the speed of the DLR so I found the results rather interesting.&amp;nbsp; The context is still the same, identify the time it takes to construct one million Created instances.&lt;br /&gt;
&lt;/font&gt;&lt;br /&gt;
&lt;font face="verdana,geneva" size="2"&gt;The delegate:&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="courier new,courier" size="2"&gt;delegate Created CreateInstance(int num, string name);&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="verdana,geneva" size="2"&gt;The structure:&lt;br /&gt;
&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="courier new,courier" size="2"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public class Created&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int Num;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Name;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Created(int num, string name)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Num = num;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name = name;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="verdana,geneva" size="2"&gt;
&amp;nbsp;Grab the constructor:&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="courier new,courier" size="2"&gt;
ConstructorInfo ci = typeof (Created).GetConstructors()[0];&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="verdana,geneva" size="2"&gt;
Define the parameters to be passed to the constructor (relative to the code block we are about to define):&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="courier new,courier" size="2"&gt;
Variable num = Variable.Parameter(SymbolTable.StringToId(&amp;quot;num&amp;quot;), typeof (int));&lt;br /&gt;
Variable name = Variable.Parameter(SymbolTable.StringToId(&amp;quot;name&amp;quot;), typeof (string));&lt;/font&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;font face="verdana,geneva" size="2"&gt;
Build a code block with the Ast factories for building expressions (this builds our function for creating new Created instances with our parameters):&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="courier new,courier" size="2"&gt;
CodeBlock block = Ast.CodeBlock(&amp;quot;CreateInstance&amp;quot;, typeof (Created),&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ast.Return(Ast.New(ci, new Expression[] {Ast.Read(num), Ast.Read(name)})),&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Variable[] {num, name}, new Variable[0]);&lt;/font&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;font face="verdana,geneva" size="2"&gt;
Compile our block:&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="courier new,courier" size="2"&gt;
CreateInstance create_instance = TreeCompiler.CompileBlock&amp;lt;CreateInstance&amp;gt;(block);&amp;nbsp;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="verdana,geneva" size="2"&gt;
&amp;nbsp;Invoke the compiled instance:&lt;/font&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;font face="courier new,courier" size="2"&gt;
int iterations = 1000000;&lt;br /&gt;
Stopwatch watch = Stopwatch.StartNew();&lt;br /&gt;
for (int i = 0; i &amp;lt; iterations; i++)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create_instance(i, i.ToString());&lt;br /&gt;
}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="verdana,geneva" size="2"&gt;
The results are rather impressive, the run time on my machine was 00:00:00.2737688.&amp;nbsp; It looks like creating objects within the DLR via a dynamic code block is pretty cheap.&amp;nbsp; I&amp;#39;ve included the source &lt;a href="http://developernotes.com/file.axd?file=Builder.zip"&gt;here&lt;/a&gt; if you want to run the example.&amp;nbsp; The DLR bits are based off a release from CodePlex two days ago, the RubyForge bits are much older and will not compile with the above code.&amp;nbsp; Thoughts?&lt;/font&gt;
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/developernotes?a=zcJZYI"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=zcJZYI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/developernotes?a=oxWwxi"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=oxWwxi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.developernotes.com/post/Creating-Objects---Round-3.aspx</link>
      <author>nickp</author>
      <comments>http://www.developernotes.com/post/Creating-Objects---Round-3.aspx#comment</comments>
      <guid>http://www.developernotes.com/post.aspx?id=ab8d0301-b2e6-4886-b3b5-84c30d9c9138</guid>
      <pubDate>Wed, 05 Mar 2008 18:08:00 -0500</pubDate>
      <category>.NET</category>
      <category>DLR</category>
      <category>Open Source</category>
      <category>Ruby</category>
      <category>Software</category>
      <dc:publisher>nickp</dc:publisher>
      <pingback:server>http://www.developernotes.com/pingback.axd</pingback:server>
      <pingback:target>http://www.developernotes.com/post.aspx?id=ab8d0301-b2e6-4886-b3b5-84c30d9c9138</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.developernotes.com/trackback.axd?id=ab8d0301-b2e6-4886-b3b5-84c30d9c9138</trackback:ping>
      <wfw:comment>http://www.developernotes.com/post/Creating-Objects---Round-3.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.developernotes.com/syndication.axd?post=ab8d0301-b2e6-4886-b3b5-84c30d9c9138</wfw:commentRss>
    </item>
    <item>
      <title>Vibrant Ink for Visual Studio 2008</title>
      <description>&lt;p&gt;
&lt;font face="verdana,geneva" size="2"&gt;
For those of you that enjoy the &lt;a href="http://alternateidea.com/blog/articles/2006/01/03/textmate-vibrant-ink-theme-and-prototype-bundle" title="Textmate Vibrant Ink theme"&gt;Vibrant Ink theme&lt;/a&gt; that was originially produced for Textmate, John Lam &lt;a href="http://www.iunknown.com/2007/06/vibrant_ink_vis.html" title="Vibrant Ink for Vim and Visual Studio 2005"&gt;converted it&lt;/a&gt; to work under both Vim and Visual Studio 2005 a while back.&amp;nbsp; I&amp;#39;ve enjoyed that for both editors, however with Visual Studio 2008 out, we need to update.&amp;nbsp; I&amp;#39;ve updated the settings file to now work with Visual Studio 2008.&amp;nbsp; Feel free to download it &lt;a href="http://www.developernotes.com/file.axd?file=VibrantInk-VS2008.vssettings" title="VibrantInk-VS2008.vssettings"&gt;here&lt;/a&gt;.&lt;/font&gt;
&lt;/p&gt;
&lt;img src="http://www.developernotes.com/image.axd?picture=VibrantInk.png" alt="" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/developernotes?a=mhWXMI"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=mhWXMI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/developernotes?a=2d5bki"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=2d5bki" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.developernotes.com/post/Vibrant-Ink-for-Visual-Studio-2008.aspx</link>
      <author>nickp</author>
      <comments>http://www.developernotes.com/post/Vibrant-Ink-for-Visual-Studio-2008.aspx#comment</comments>
      <guid>http://www.developernotes.com/post.aspx?id=e9f52f32-c407-48c2-a930-788292957ac2</guid>
      <pubDate>Sun, 10 Feb 2008 10:35:00 -0500</pubDate>
      <category>.NET</category>
      <category>Software</category>
      <category>Visual Studio</category>
      <dc:publisher>nickp</dc:publisher>
      <pingback:server>http://www.developernotes.com/pingback.axd</pingback:server>
      <pingback:target>http://www.developernotes.com/post.aspx?id=e9f52f32-c407-48c2-a930-788292957ac2</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.developernotes.com/trackback.axd?id=e9f52f32-c407-48c2-a930-788292957ac2</trackback:ping>
      <wfw:comment>http://www.developernotes.com/post/Vibrant-Ink-for-Visual-Studio-2008.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.developernotes.com/syndication.axd?post=e9f52f32-c407-48c2-a930-788292957ac2</wfw:commentRss>
    </item>
    <item>
      <title>Code to Live Video from Tulsa TechFest</title>
      <description>&lt;font face="verdana,geneva" size="2"&gt;&lt;a href="http://codebetter.com/blogs/jeffrey.palermo/default.aspx" title="Jeffrey Palermo"&gt;Jeffrey Palermo&lt;/a&gt; and I sat down with &lt;a href="http://blogs.msdn.com/chkoenig/" title="Chris Koenig"&gt;Chris Koenig&lt;/a&gt; while at &lt;a href="http://www.tulsatechfest.com/" title="Tulsa TechFest"&gt;Tulsa TechFest&lt;/a&gt; back in October to chat about the new ASP.NET MVC stack.&amp;nbsp; &lt;a href="http://www.joshholmes.com/" title="Josh Holmes"&gt;Josh Holmes&lt;/a&gt; just published an extract of our conversation out on Channel 9 &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=375432" title="Watch the video here"&gt;here&lt;/a&gt;.&amp;nbsp; This was recorded back in October, right after the ASP.NET MVC stack was first made public by Scott Guthrie down at the &lt;a href="http://altdotnet.org/" title="ALT.NET"&gt;ALT.NET&lt;/a&gt; conference in Austin, TX.&amp;nbsp; We discussed other things such as the open source movement and it&amp;#39;s relationship to the Java counterpart but they didn&amp;#39;t make the cut in the editing room.&amp;nbsp; You can watch the video directly &lt;a href="http://www.developernotes.com/admin/Pages/Direct video link" title="http://channel9.msdn.com/Screencasts/375432_20080119JeffAndNickOnMVCFramework.wmv"&gt;here&lt;/a&gt;.&amp;nbsp; Have you played with the new MVC stack yet, if so what do you think?&lt;/font&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/developernotes?a=mREWGI"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=mREWGI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/developernotes?a=AlS80i"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=AlS80i" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.developernotes.com/post/Code-to-Live-Video-from-Tulsa-TechFest.aspx</link>
      <author>nickp</author>
      <comments>http://www.developernotes.com/post/Code-to-Live-Video-from-Tulsa-TechFest.aspx#comment</comments>
      <guid>http://www.developernotes.com/post.aspx?id=71493a77-235d-4876-831c-718e048d5edc</guid>
      <pubDate>Tue, 05 Feb 2008 20:09:00 -0500</pubDate>
      <category>.NET</category>
      <category>Open Source</category>
      <category>Software</category>
      <dc:publisher>nickp</dc:publisher>
      <pingback:server>http://www.developernotes.com/pingback.axd</pingback:server>
      <pingback:target>http://www.developernotes.com/post.aspx?id=71493a77-235d-4876-831c-718e048d5edc</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.developernotes.com/trackback.axd?id=71493a77-235d-4876-831c-718e048d5edc</trackback:ping>
      <wfw:comment>http://www.developernotes.com/post/Code-to-Live-Video-from-Tulsa-TechFest.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.developernotes.com/syndication.axd?post=71493a77-235d-4876-831c-718e048d5edc</wfw:commentRss>
    </item>
    <item>
      <title>Happy New Year</title>
      <description>&lt;p&gt;
&lt;font face="verdana" size="2"&gt;Happy New Year everyone!  I&amp;#39;ve been having some issues with my server recently, so if this post makes it out there all the better.  I just received notification from Microsoft this morning that I have received my MVP award for 2008.  I look forward to seeing everyone up in Seattle this coming April.  I am planning on blogging more this year.  We have been absurdly busy at work, but there are a lot of little nuggets I am looking forward to sharing.  Until next time...&lt;/font&gt;
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/developernotes?a=uCIr0I"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=uCIr0I" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/developernotes?a=wig3bi"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=wig3bi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.developernotes.com/post/Happy-New-Year.aspx</link>
      <author>nickp</author>
      <comments>http://www.developernotes.com/post/Happy-New-Year.aspx#comment</comments>
      <guid>http://www.developernotes.com/post.aspx?id=66a2f5c9-fc42-463e-acde-2516a80bc6d4</guid>
      <pubDate>Tue, 01 Jan 2008 21:21:00 -0500</pubDate>
      <category>General</category>
      <dc:publisher>nickp</dc:publisher>
      <pingback:server>http://www.developernotes.com/pingback.axd</pingback:server>
      <pingback:target>http://www.developernotes.com/post.aspx?id=66a2f5c9-fc42-463e-acde-2516a80bc6d4</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.developernotes.com/trackback.axd?id=66a2f5c9-fc42-463e-acde-2516a80bc6d4</trackback:ping>
      <wfw:comment>http://www.developernotes.com/post/Happy-New-Year.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.developernotes.com/syndication.axd?post=66a2f5c9-fc42-463e-acde-2516a80bc6d4</wfw:commentRss>
    </item>
    <item>
      <title>The Pitfalls of Concession</title>
      <description>&lt;font face="verdana" size="2"&gt;Ayende recently &lt;a href="http://www.ayende.com/Blog/archive/2007/12/08/Configuration-over-Convention.aspx"&gt;posted&lt;/a&gt; about a design aspect of the new MVC framework coming down from Microsoft.  Ayende raised concern about the design requirement of attributing your public actions on a controller.  He points out that Rob Conery has a 6 page &lt;a href="http://blog.wekeroad.com/2007/12/07/save-your-wrists-with-geek-performance-enhancers-codesnippets-and-toolbox-items/"&gt;post&lt;/a&gt; covering the usage of a tool to mask the pain involved in typing the excess noise.  A &lt;a href="http://haacked.com/archive/2007/12/09/extending-asp.net-mvc-to-add-conventions.aspx"&gt;follow-up&lt;/a&gt; by Phil Haack presents a solution through subclassing that allows one to avoid the attribute.  What about composition instead?
&lt;br /&gt;
&lt;br /&gt;
The real reason behind this post is not to discuss the merit of a design decision directly, but the more off-handed results that come from it.  If Microsoft is protecting the developer from making mistakes by requiring an attribute here and there within a controller, well, why wouldn&amp;#39;t they protect the developer all over the place?  Where does one draw a line in the sand from a design perspective?  If we made a concession before, can we use that as justification for yet another design decision that might change the direction of the software even further?  While the CTP is baked, the API can still change and Microsoft is listening, pipe up if you care to share your opinion.&lt;/font&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/developernotes?a=lFp0YI"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=lFp0YI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/developernotes?a=uIoaxi"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=uIoaxi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.developernotes.com/post/The-Pitfalls-of-Concession.aspx</link>
      <author>nickp</author>
      <comments>http://www.developernotes.com/post/The-Pitfalls-of-Concession.aspx#comment</comments>
      <guid>http://www.developernotes.com/post.aspx?id=20893673-fc9b-4315-a48b-7c627840e264</guid>
      <pubDate>Sun, 09 Dec 2007 17:45:00 -0500</pubDate>
      <category>.NET</category>
      <dc:publisher>nickp</dc:publisher>
      <pingback:server>http://www.developernotes.com/pingback.axd</pingback:server>
      <pingback:target>http://www.developernotes.com/post.aspx?id=20893673-fc9b-4315-a48b-7c627840e264</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.developernotes.com/trackback.axd?id=20893673-fc9b-4315-a48b-7c627840e264</trackback:ping>
      <wfw:comment>http://www.developernotes.com/post/The-Pitfalls-of-Concession.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.developernotes.com/syndication.axd?post=20893673-fc9b-4315-a48b-7c627840e264</wfw:commentRss>
    </item>
    <item>
      <title>ALT.NET Super Summary</title>
      <description>&lt;font face="verdana" size="2"&gt;It&amp;#39;s simple in my opinion:  Spreading pragmatic .NET&lt;br /&gt;
&lt;br /&gt;
I wasn&amp;#39;t there, however that&amp;#39;s my interpretation of the vision.  I think one of the core competencies any developer needs to espouse is passion.  Passion is at the root of being a pragmatic developer, regardless of whether or not you&amp;rsquo;re doing .NET/Java/Ruby/LISP, etc.  We are going through a hiring phase at work right now, during the interviews, passion is one of the top characteristics that I look for in a candidate.  Passion is a catalyst for being pragmatic.  Where does your passion lie?&lt;/font&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/developernotes?a=HYp7bI"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=HYp7bI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/developernotes?a=RYLuSi"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=RYLuSi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.developernotes.com/post/ALTNET-Super-Summary.aspx</link>
      <author>nickp</author>
      <comments>http://www.developernotes.com/post/ALTNET-Super-Summary.aspx#comment</comments>
      <guid>http://www.developernotes.com/post.aspx?id=27862f4f-de6a-4f5f-8233-a7ea87a82ffc</guid>
      <pubDate>Thu, 11 Oct 2007 20:30:00 -0500</pubDate>
      <category>Open Source</category>
      <category>Software</category>
      <dc:publisher>nickp</dc:publisher>
      <pingback:server>http://www.developernotes.com/pingback.axd</pingback:server>
      <pingback:target>http://www.developernotes.com/post.aspx?id=27862f4f-de6a-4f5f-8233-a7ea87a82ffc</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.developernotes.com/trackback.axd?id=27862f4f-de6a-4f5f-8233-a7ea87a82ffc</trackback:ping>
      <wfw:comment>http://www.developernotes.com/post/ALTNET-Super-Summary.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.developernotes.com/syndication.axd?post=27862f4f-de6a-4f5f-8233-a7ea87a82ffc</wfw:commentRss>
    </item>
    <item>
      <title>NHibernate Performance</title>
      <description>&lt;p&gt;
&lt;font face="verdana" size="2"&gt;
I am doing some research into the use of NHibernate over the use of the current data access layer we use at work.  Overall, the results are very good compared with what we current had in place (lazy loading all properties, limited caching strategies to name a few), however I&amp;#39;m curious if anyone wants to ring in on past experience they have had with NHibernate.  Our DBA is concerned that we will be losing out on cached execution plans from SQL Server by moving to NHibernate from stored procedures.  It is my understanding that parameterize SQL can be just as fast, any comments?&lt;/font&gt;
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/developernotes?a=33VBTI"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=33VBTI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/developernotes?a=OTepVi"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=OTepVi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.developernotes.com/post/NHibernate-Performance.aspx</link>
      <author>nickp</author>
      <comments>http://www.developernotes.com/post/NHibernate-Performance.aspx#comment</comments>
      <guid>http://www.developernotes.com/post.aspx?id=632b8a7a-a6fe-4f48-a95d-9a63e4673b22</guid>
      <pubDate>Sat, 15 Sep 2007 12:17:00 -0500</pubDate>
      <category>Open Source</category>
      <category>Software</category>
      <dc:publisher>nickp</dc:publisher>
      <pingback:server>http://www.developernotes.com/pingback.axd</pingback:server>
      <pingback:target>http://www.developernotes.com/post.aspx?id=632b8a7a-a6fe-4f48-a95d-9a63e4673b22</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.developernotes.com/trackback.axd?id=632b8a7a-a6fe-4f48-a95d-9a63e4673b22</trackback:ping>
      <wfw:comment>http://www.developernotes.com/post/NHibernate-Performance.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.developernotes.com/syndication.axd?post=632b8a7a-a6fe-4f48-a95d-9a63e4673b22</wfw:commentRss>
    </item>
    <item>
      <title>Common Lisp</title>
      <description>&lt;font size="2"&gt;&lt;span style="font-family: Verdana"&gt;For those of you interested in functional languages (I know &lt;/span&gt;&lt;a style="font-family: Trebuchet MS" href="http://codebetter.com/blogs/jeremy.miller/archive/2007/08/21/to-all-of-you-functional-programming-gurus-out-there.aspx"&gt;Jeremy&lt;/a&gt;&lt;span style="font-family: Verdana"&gt; is), &lt;/span&gt;&lt;a style="font-family: Verdana" href="http://www.apress.com/"&gt;APress&lt;/a&gt;&lt;span style="font-family: Verdana"&gt; has decided to give away it&amp;#39;s PDF version of the book &lt;/span&gt;&lt;a style="font-family: Verdana" href="http://www.apress.com/book/bookDisplay.html?bID=237"&gt;Practical Common Lisp&lt;/a&gt;&lt;span style="font-family: Verdana"&gt; for free.  Go get it &lt;/span&gt;&lt;a style="font-family: Verdana" href="http://www.apress.com/resource/freeebook/9781590592397"&gt;here&lt;/a&gt;&lt;span style="font-family: Verdana"&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
UPDATE: The URL has been updated for the free book download.&lt;/span&gt;&lt;/font&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/developernotes?a=Jtp5cI"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=Jtp5cI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/developernotes?a=XeQksi"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=XeQksi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.developernotes.com/post/Common-Lisp.aspx</link>
      <author>nickp</author>
      <comments>http://www.developernotes.com/post/Common-Lisp.aspx#comment</comments>
      <guid>http://www.developernotes.com/post.aspx?id=7e485d88-b951-421f-b946-94f60c9361ff</guid>
      <pubDate>Thu, 23 Aug 2007 10:28:00 -0500</pubDate>
      <category>Software</category>
      <dc:publisher>nickp</dc:publisher>
      <pingback:server>http://www.developernotes.com/pingback.axd</pingback:server>
      <pingback:target>http://www.developernotes.com/post.aspx?id=7e485d88-b951-421f-b946-94f60c9361ff</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.developernotes.com/trackback.axd?id=7e485d88-b951-421f-b946-94f60c9361ff</trackback:ping>
      <wfw:comment>http://www.developernotes.com/post/Common-Lisp.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.developernotes.com/syndication.axd?post=7e485d88-b951-421f-b946-94f60c9361ff</wfw:commentRss>
    </item>
    <item>
      <title>Castle Presentation</title>
      <description>&lt;p&gt;
&lt;font face="verdana" size="2"&gt;
I will be presenting at the September &lt;a href="http://iadnug.org"&gt;Iowa .NET User Group&lt;/a&gt; meeting, if you don&amp;#39;t have any plans September 5&lt;sup&gt;th&lt;/sup&gt; come on out for some free pizza and a presentation on the Castle MicroKernel/WindsorContainer.  I will be giving an introduction to the dependency inversion principal, and then we will jump into MicroKernel and the extensions that have been built on top of MicroKernel to create WindsorContainer.  My final demo will include a custom facility to extend WindsorContainer that will provide integration with the &lt;a href="http://www.danga.com/memcached/"&gt;memcached&lt;/a&gt; distributed object caching system.  I hope to see you out there!
&lt;/font&gt;
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/developernotes?a=Ib1k1I"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=Ib1k1I" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/developernotes?a=UY4dTi"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=UY4dTi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.developernotes.com/post/Castle-Presentation.aspx</link>
      <author>nickp</author>
      <comments>http://www.developernotes.com/post/Castle-Presentation.aspx#comment</comments>
      <guid>http://www.developernotes.com/post.aspx?id=8b54d67b-11ee-4531-bfa3-cc09b6a31990</guid>
      <pubDate>Sat, 18 Aug 2007 14:09:00 -0500</pubDate>
      <category>Open Source</category>
      <category>.NET</category>
      <category>Software</category>
      <dc:publisher>nickp</dc:publisher>
      <pingback:server>http://www.developernotes.com/pingback.axd</pingback:server>
      <pingback:target>http://www.developernotes.com/post.aspx?id=8b54d67b-11ee-4531-bfa3-cc09b6a31990</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.developernotes.com/trackback.axd?id=8b54d67b-11ee-4531-bfa3-cc09b6a31990</trackback:ping>
      <wfw:comment>http://www.developernotes.com/post/Castle-Presentation.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.developernotes.com/syndication.axd?post=8b54d67b-11ee-4531-bfa3-cc09b6a31990</wfw:commentRss>
    </item>
    <item>
      <title>DLR Scores</title>
      <description>&lt;p&gt;
&lt;font face="Verdana" size="2"&gt;In the constant battle for staying ahead in the software world, Microsoft appears to have a slight edge from the dynamic language perspective.  The DLR is being created to support the various dynamic languages that Microsoft intends on releasing, IronPython and recently IronRuby with a dynamic version of Visual Basic in the future (this reminds me of VBScript and the &lt;/font&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms221627.aspx" target="_blank"&gt;&lt;font face="Trebuchet MS" size="2"&gt;VARIANT&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana" size="2"&gt; data type - sigh).  &lt;/font&gt;
&lt;/p&gt;
 
&lt;p&gt;
&lt;font face="Verdana" size="2"&gt;Microsoft hasn&amp;#39;t exactly been on the forefront of dynamic languages, Smalltalk has been around for over 25 years.  However what does appear to be changing is the way languages and platforms operate and target themselves.  It&amp;#39;s all about the VM anymore, period, and the services it can provide.  The DLR is being built to provide these new and future languages with a core set of services that make targeting the CLR easier from a dynamic perspective.  &lt;/font&gt;&lt;a href="http://jruby.codehaus.org" target="_blank"&gt;&lt;font face="Verdana" size="2"&gt;JRuby&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana" size="2"&gt; has been a work in progress for the past five years in which users can use Ruby to target the JVM.  JRuby isn&amp;#39;t the only dynamic language attempting to target the JVM, there&amp;#39;s &lt;/font&gt;&lt;a href="http://www.jython.org/Project/index.html" target="_blank"&gt;&lt;font face="Verdana" size="2"&gt;Jython&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana" size="2"&gt; and &lt;/font&gt;&lt;a href="http://groovy.codehaus.org/" target="_blank"&gt;&lt;font face="Verdana" size="2"&gt;Groovy&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana" size="2"&gt; to name a few.  Of course what comes from this is the same problem Java has been plagued with for years, there are hundreds of different solutions/frameworks/tools/libraries available for you to choose from for your project.  In order to avoid this duplication of effort, a new project has been created called the &lt;/font&gt;&lt;a href="http://code.google.com/p/jvm-language-runtime/" target="_blank"&gt;&lt;font face="Verdana" size="2"&gt;JVM language runtime&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana" size="2"&gt; as a mechanism to avoid the duplicated efforts of the historical past.  To that I say Microsoft is ahead of the game - touch&amp;eacute;.&lt;/font&gt;
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/developernotes?a=TFKQTI"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=TFKQTI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/developernotes?a=ToqQRi"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=ToqQRi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.developernotes.com/post/DLR-Scores.aspx</link>
      <author>nickp</author>
      <comments>http://www.developernotes.com/post/DLR-Scores.aspx#comment</comments>
      <guid>http://www.developernotes.com/post.aspx?id=8540d53d-1580-432c-9d90-85ae13cb3744</guid>
      <pubDate>Wed, 01 Aug 2007 01:16:00 -0500</pubDate>
      <category>.NET</category>
      <category>Software</category>
      <dc:publisher>nickp</dc:publisher>
      <pingback:server>http://www.developernotes.com/pingback.axd</pingback:server>
      <pingback:target>http://www.developernotes.com/post.aspx?id=8540d53d-1580-432c-9d90-85ae13cb3744</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.developernotes.com/trackback.axd?id=8540d53d-1580-432c-9d90-85ae13cb3744</trackback:ping>
      <wfw:comment>http://www.developernotes.com/post/DLR-Scores.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.developernotes.com/syndication.axd?post=8540d53d-1580-432c-9d90-85ae13cb3744</wfw:commentRss>
    </item>
    <item>
      <title>IronRuby Emerges</title>
      <description>&lt;p&gt;
&lt;font face="Verdana" size="2"&gt;
So John Lam annouced the alpha release of IronRuby, he mentions that they did a lot of work on string and arrays, unfortunately, with the current release .NET types aren&amp;#39;t able to execute Ruby mixins.  I was hoping to do something like the following:&lt;/font&gt;
&lt;/p&gt;
&lt;pre&gt;
&lt;font face="courier new,courier"&gt;require &amp;#39;mscorlib&amp;#39; &lt;br /&gt;
require &amp;#39;System, Version=2.0.0.0, Culture=neutral, &lt;br /&gt;
PublicKeyToken=b77a5c561934e089&amp;#39;  &lt;br /&gt;
&lt;br /&gt;
list = System::Collections::ArrayList.new&lt;br /&gt;
list.Add(5) &lt;br /&gt;
list.Add(10)&lt;br /&gt;
list.Add(15)&lt;br /&gt;
list.extend Enumerable&lt;br /&gt;
list.each {|i| puts i.to_i}&lt;/font&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;font face="verdana,geneva" size="2"&gt;The following code does execute:&lt;/font&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;font face="courier new,courier"&gt;require &amp;#39;mscorlib&amp;#39;&lt;br /&gt;
require &amp;#39;System, Version=2.0.0.0, Culture=neutral, &lt;br /&gt;
PublicKeyToken=b77a5c561934e089&amp;#39;&lt;br /&gt;
require &amp;#39;System.Drawing, Version=2.0.0.0, Culture=neutral, &lt;br /&gt;
PublicKeyToken=b03f5f7f11d50a3a&amp;#39; &lt;br /&gt;
require &amp;#39;System.Windows.Forms, Version=2.0.0.0, Culture=neutral, &lt;br /&gt;
PublicKeyToken=b77a5c561934e089&amp;#39;&lt;br /&gt;
&lt;br /&gt;
Application = System::Windows::Forms::Application&lt;br /&gt;
Form = System::Windows::Forms::Form&lt;br /&gt;
Button = System::Windows::Forms::Button&lt;br /&gt;
Point = System::Drawing::Point &lt;br /&gt;
Size = System::Drawing::Size &lt;br /&gt;
MessageBox = System::Windows::Forms::MessageBox  &lt;br /&gt;
window = Form.new window.text = &amp;#39;Testing IronRuby&amp;#39; &lt;br /&gt;
window.size = Size.new(250, 200)&lt;br /&gt;
button = Button.new &lt;br /&gt;
button.text = &amp;#39;Click Me&amp;#39; &lt;br /&gt;
button.location = Point.new(75, 75)&lt;br /&gt;
button.click {|sender, e| MessageBox.show &amp;#39;I was clicked&amp;#39;}&lt;br /&gt;
window.controls.add(button)&lt;br /&gt;
Application.EnableVisualStyles&lt;br /&gt;
Application.run(window)&lt;/font&gt;
&lt;/pre&gt;
&lt;p&gt;
&lt;font face="Verdana" size="2"&gt;Of all the windowing toolkits I&amp;#39;ve seen for Ruby, the .NET Framework is the easiest to read for me, although I&amp;#39;m sure toolkits like &lt;a href="http://www.alef1.org/jean/swiby/"&gt;Swiby&lt;/a&gt; will get noticed, especially due to it&amp;#39;s DSL syntax which is the new hotness in the development world these days.  Next up, extending the IronRuby Builtins.
&lt;/font&gt;
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/developernotes?a=HjnUMI"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=HjnUMI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/developernotes?a=KlOSji"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=KlOSji" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.developernotes.com/post/IronRuby-Emerges.aspx</link>
      <author>nickp</author>
      <comments>http://www.developernotes.com/post/IronRuby-Emerges.aspx#comment</comments>
      <guid>http://www.developernotes.com/post.aspx?id=4c531dbb-ad10-46f4-abc6-73f0e8935de1</guid>
      <pubDate>Mon, 23 Jul 2007 17:57:00 -0500</pubDate>
      <category>.NET</category>
      <category>Open Source</category>
      <category>Ruby</category>
      <category>Software</category>
      <dc:publisher>nickp</dc:publisher>
      <pingback:server>http://www.developernotes.com/pingback.axd</pingback:server>
      <pingback:target>http://www.developernotes.com/post.aspx?id=4c531dbb-ad10-46f4-abc6-73f0e8935de1</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.developernotes.com/trackback.axd?id=4c531dbb-ad10-46f4-abc6-73f0e8935de1</trackback:ping>
      <wfw:comment>http://www.developernotes.com/post/IronRuby-Emerges.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.developernotes.com/syndication.axd?post=4c531dbb-ad10-46f4-abc6-73f0e8935de1</wfw:commentRss>
    </item>
    <item>
      <title>EventWaitHandle.Set</title>
      <description>&lt;p&gt;
&lt;font face="Verdana" size="2"&gt;This blog has been pretty quiet lately, what&amp;#39;s going on, has Nick fallen asleep?  Nope, I&amp;#39;ve just been busy wrapping a few things up.  Most importantly, I got married on June 2nd, and we took a few weeks off to head down to Hawaii and relax.  If you&amp;#39;ve never been, my recommendation is to skip Maui and head right for Kauai.  &lt;br /&gt;
&lt;br /&gt;
I will be presenting at the &lt;a href="http://www.crineta.org/" target="_blank"&gt;Cedar Rapids User Group&lt;/a&gt; on January 7, giving my presentation on &lt;a href="http://castleproject.org/" target="_blank"&gt;Castle&lt;/a&gt;&amp;#39;s MicroKernel/Windsor Container, so if you are interesting in hearing more about the light-weight IoC container come on out.  My presentation starts with an introduction to the IoC concepts and progresses through extending the container via custom facilities.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Verdana" size="2"&gt;Last but not least, last year my boss Eric Jacobs got &lt;a href="http://blogbylevi.iveldesigns.com/" target="_blank"&gt;Levi Rosol&lt;/a&gt; and I involved in the &lt;a href="http://www.ankenysummerfest.com/" target="_blank"&gt;Ankeny Summerfest&lt;/a&gt; cardboard boat regatta.  Last year we didn&amp;#39;t quiet make it too far past the starting line, however we took notes and gave it another attempt this past weekend.  Results - Success, we made it down and back without sinking, a major step forward.  Next year I plan to build a boat that will last longer than a single run, however we will do it in Eric&amp;#39;s style by only beginning the construction two nights in advance.  :-)  My wife recorded the event, take a look:&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;
&lt;/p&gt;
&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" id="VideoPlayback" width="0" height="0"&gt;
	&lt;param name="id" value="VideoPlayback" /&gt;
	&lt;param name="width" value="0" /&gt;
	&lt;param name="height" value="0" /&gt;
	&lt;param name="src" value="http://video.google.com/googleplayer.swf?docId=-8781117740845933335&amp;amp;hl=en" /&gt;
	&lt;param name="style" value="width: 400px; height: 326px;" /&gt;
	&lt;embed type="application/x-shockwave-flash" id="VideoPlayback" width="0" height="0" src="http://video.google.com/googleplayer.swf?docId=-8781117740845933335&amp;amp;hl=en" style="width: 400px; height: 326px;"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;p&gt;
&lt;font face="Verdana" size="2"&gt;&amp;nbsp;
&lt;/font&gt;
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/developernotes?a=g4m7GI"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=g4m7GI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/developernotes?a=7Wr6Wi"&gt;&lt;img src="http://feeds.feedburner.com/~f/developernotes?i=7Wr6Wi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <link>http://www.developernotes.com/post/EventWaitHandleSet.aspx</link>
      <author>nickp</author>
      <comments>http://www.developernotes.com/post/EventWaitHandleSet.aspx#comment</comments>
      <guid>http://www.developernotes.com/post.aspx?id=1548a6fe-1622-4b82-a650-9523199e9580</guid>
      <pubDate>Mon, 16 Jul 2007 22:18:00 -0500</pubDate>
      <category>Open Source</category>
      <category>.NET</category>
      <category>General</category>
      <category>Software</category>
      <dc:publisher>nickp</dc:publisher>
      <pingback:server>http://www.developernotes.com/pingback.axd</pingback:server>
      <pingback:target>http://www.developernotes.com/post.aspx?id=1548a6fe-1622-4b82-a650-9523199e9580</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.developernotes.com/trackback.axd?id=1548a6fe-1622-4b82-a650-9523199e9580</trackback:ping>
      <wfw:comment>http://www.developernotes.com/post/EventWaitHandleSet.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.developernotes.com/syndication.axd?post=1548a6fe-1622-4b82-a650-9523199e9580</wfw:commentRss>
    </item>
  </channel>
</rss>
