<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:posterous="http://posterous.com/help/rss/1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" 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>wrightin.gs</title>
    <link>http://wrightin.gs</link>
    <description>Adding more nerdiness to the internet...</description>
    <generator>posterous.com</generator>
    <link xmlns="http://www.w3.org/2005/Atom" href="http://posterous.com/api/sup_update#aeb75c950" type="application/json" rel="http://api.friendfeed.com/2008/03#sup" />
    
    
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/wrightin_gs" /><feedburner:info uri="wrightin_gs" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://posterous.superfeedr.com/" /><geo:lat>41.707649</geo:lat><geo:long>-83.643635</geo:long><feedburner:emailServiceId>wrightin_gs</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
      <pubDate>Thu, 07 Oct 2010 11:36:00 -0700</pubDate>
      <title>Toledo Code | Coffee</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/vdkQdwNRigQ/toledo-code-coffee</link>
      <guid isPermaLink="false">http://wrightin.gs/toledo-code-coffee</guid>
      <description>&lt;p&gt;
	&lt;p&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="Code_monkey_mug" height="284" src="http://posterous.com/getfile/files.posterous.com/temp-2010-10-07/wbsEwAJpcsszCykjmEyvvAJaIuCqeervvGuypvBasbbhlfakvuyxrnxBeCGE/code_monkey_mug.jpg.scaled500.jpg" width="305" /&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;I am an&amp;nbsp;independent&amp;nbsp;consultant and I miss working with creative people that I was doing during my tenure in the corporate world. Several&amp;nbsp;surrounding&amp;nbsp;areas have implemented a weekly "code &amp;amp; coffee" group which I would like to bring to the Toledo and surrounding areas.&lt;/p&gt;
&lt;p&gt;The concept is simple, nerds show up early in the morning and pair with each other to work on projects, play with a new technology, and learn from each other.&lt;/p&gt;
&lt;p&gt;So if you are a developer, designer, or want to learn any of these skills, lets all meet up and push some bits around.&lt;/p&gt;
&lt;p&gt;I think the location + days may get moved around a bit based on what the community says but let's make it Wednesdays at 6:00 am. I was thinking the best location for now would be Panera in Maumee (&lt;a href="http://bit.ly/do2MRq"&gt;http://bit.ly/do2MRq&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Hopefully I will see a lot of creatives at Panera in Maumee on Wednesday, October 13 at 6 am....&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/toledo-code-coffee"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/toledo-code-coffee#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=vdkQdwNRigQ:DVEtNa8GQDw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=vdkQdwNRigQ:DVEtNa8GQDw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/vdkQdwNRigQ" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
      <media:content type="image/jpeg" height="284" width="305" url="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2010-10-07/wbsEwAJpcsszCykjmEyvvAJaIuCqeervvGuypvBasbbhlfakvuyxrnxBeCGE/code_monkey_mug.jpg">
        <media:thumbnail height="284" width="305" url="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2010-10-07/wbsEwAJpcsszCykjmEyvvAJaIuCqeervvGuypvBasbbhlfakvuyxrnxBeCGE/code_monkey_mug.jpg.scaled500.jpg" />
      </media:content>
    <feedburner:origLink>http://wrightin.gs/toledo-code-coffee</feedburner:origLink></item>
    <item>
      <pubDate>Mon, 13 Sep 2010 06:19:00 -0700</pubDate>
      <title>A new home</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/5CXJ2F5buQs/a-new-home</link>
      <guid isPermaLink="false">http://wrightin.gs/a-new-home</guid>
      <description>&lt;p&gt;
	&lt;p&gt;I have moved my &lt;a href="http://wrightings.typepad.com"&gt;old Typepad blog&lt;/a&gt; over to &lt;a href="http://wrightin.gs"&gt;Posterous&lt;/a&gt;. Sorry if you see old RSS feeds in your feedreader but I guess that is how Posterous rolls. The &lt;a href="http://feeds.feedburner.com/wrightin_gs"&gt;feed&lt;/a&gt; should of stayed the same thanks to FeedBurner.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium;"&gt;Why the move?&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;It will save me money. I was paying $15/month for a Typepad account. Posterous is free.&lt;/li&gt;
&lt;li&gt;I like the interface and functionality of Posterous better for administration and the readers&lt;/li&gt;
&lt;li&gt;Posterous has an easier and better &lt;a href="http://posterous.com/api"&gt;API&lt;/a&gt;. I am going to use the API to get blog posts for &lt;a href="http://brilliantfantastic.com"&gt;http://brilliantfantastic.com&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="font-size: medium;"&gt;What's next?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Look for new blog posts coming soon. I will mostly be posting for &lt;a href="http://brilliantfantastic.com"&gt;Brilliant Fantastic&lt;/a&gt;'s new blog but for the time being, I will be duplicating the posts at &lt;a href="http://wrightin.gs"&gt;http://wrightin.gs&lt;/a&gt;. My plan is one post per week. I have a lot building up that I can keep that up for a while.&lt;/p&gt;
&lt;p&gt;Stay tuned.&lt;/p&gt;
&lt;p&gt;&lt;iframe src="http://www.youtube.com/embed/d8pvD_4Pd1A?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"&gt;&lt;/iframe&gt;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/a-new-home"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/a-new-home#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=5CXJ2F5buQs:560-FCYh6W0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=5CXJ2F5buQs:560-FCYh6W0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/5CXJ2F5buQs" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://wrightin.gs/a-new-home</feedburner:origLink></item>
    <item>
      <pubDate>Sat, 22 May 2010 18:40:00 -0700</pubDate>
      <title>Your ASP.NET Web Forms can have a cool 3 letter design pattern too</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/UA2XqCsmsyc/your-aspnet-web-forms-can-have-a-cool-3-letter-design-pattern-too.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2010/05/your-aspnet-web-forms-can-have-a-cool-3-letter-design-pattern-too.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;I just gave a talk on using the Model View Presenter pattern with ASP.NET web forms. The first third of the talk goes into a deep discussion about the pattern and why it is important and how it fits into ASP.NET web forms applications. The second third demonstrates how to implement the pattern within an existing ASP.NET web forms application. The last third demostrates how to implement the pattern using the WebFormsMVP.&lt;/p&gt;
&lt;p&gt;I have attached the code and the database for the demo that I give in the talk and the slides in pdf format.&lt;/p&gt;
&lt;p&gt;If you have any issues or questions with the code or the demo, or if you would like to hear this talk at your user group or meeting, please email me at jamie AT brilliantfantastic DOT com.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 20px;"&gt;Abstract&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 20px;"&gt;&lt;span style="font-size: x-small;"&gt;ASP.NET Web Forms have been getting the short end of the stick lately with the introduction of ASP.NET MVC. We will take a look at how you can implement the Model View Presenter (MVP) pattern with your web forms projects. This will make for a better testable, more organized and maintainable Web Forms application.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 20px;"&gt;&lt;span style="font-size: x-small;"&gt;We will first look at what the MVP pattern is, why it is useful, how we can implement the MVP pattern in Web Forms manually and then take a look at the WebForms MVP library and how the MVP concepts are implemented into a great set of libraries.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 20px;"&gt;&lt;span style="font-size: 21px;"&gt;Bio&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 20px;"&gt;&lt;span style="font-size: 21px;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 13px;"&gt;Jamie Wright is president of &lt;a href="http://brilliantfantastic.com/"&gt;Brilliant Fantastic&lt;/a&gt;, a software development consulting service provider and ISV for software management applications. He has over ten years software development experience in Microsoft technologies and has developing in .NET since the first beta release. He specializes in application architecture, design patterns, object-oriented design, and business objects using the .NET framework. He loves spending time with his family, blogging at &lt;a href="http://ww.wrightin.gs/"&gt;http://ww.wrightin.gs&lt;/a&gt;&amp;nbsp;and he is currently getting therapy for his gadget addiction.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 20px;"&gt;&lt;span style="font-size: 21px;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span class="asset asset-generic at-xid-6a00d83420db0253ef013481788cf1970c"&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/asp.net-mvc.zip"&gt;Download ASP.NET MVP Demo Application MVP&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 20px;"&gt;&lt;span style="font-size: 21px;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span class="asset asset-generic at-xid-6a00d83420db0253ef0133ee48d088970b"&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/benjaminsbackup.zip"&gt;Download ASP.NET MVP Database Backup&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 20px;"&gt;&lt;span style="font-size: 21px;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span class="asset asset-generic at-xid-6a00d83420db0253ef0133ee48d088970b"&gt;&lt;span class="asset asset-generic at-xid-6a00d83420db0253ef0133ee48d206970b"&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/asp.net-mvp.pdf"&gt;Download Slides MVP&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2010/05/your-aspnet-web-forms-can-have-a-cool-3-letter-design-pattern-too.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2010/05/your-aspnet-web-forms-can-have-a-cool-3-letter-design-pattern-too.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=UA2XqCsmsyc:k89MdMqfiOU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=UA2XqCsmsyc:k89MdMqfiOU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/UA2XqCsmsyc" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://wrightin.gs/2010/05/your-aspnet-web-forms-can-have-a-cool-3-letter-design-pattern-too.html</feedburner:origLink></item>
    <item>
      <pubDate>Thu, 18 Feb 2010 15:18:00 -0800</pubDate>
      <title>Intro to ASP.NET MVC with a splash of jQuery Presentation</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/zfCEOQGUyB8/intro-to-aspnet-mvc-with-a-splash-of-jquery-presentation.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2010/02/intro-to-aspnet-mvc-with-a-splash-of-jquery-presentation.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;One of the talks I give is an introduction to &lt;a href="http://asp.net/mvc"&gt;ASP.NET MVC&lt;/a&gt; with a splash of &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt;. The first 3/4 of the talk is an introduction to ASP.NET MVC and the last 1/4 is an introduction to jQuery and how the 2 technologies can be used together to create current web applications.&lt;/p&gt;
&lt;p&gt;I have attached the code for both demos that I give in the talk, the database used for the demo ASP.NET MVC application, and the slides in pdf format.&lt;/p&gt;
&lt;p&gt;If you have any issues or questions with the code or the demo, or if you would like to hear this talk at your user group or meeting, please email me at jamie AT brilliantfantastic DOT com.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 20px;"&gt;&lt;strong&gt;Abstract&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="Normal"&gt;The ASP.NET MVC framework and the jQuery javascript framework work very well together in order to build up to date, rich client web applications with no need for silly plugins.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="Normal"&gt;&lt;span class="Normal"&gt;
&lt;p&gt;&lt;br /&gt;ASP.NET MVC is a alternative to the traditional ASP.NET web forms from Microsoft. They both use ASP.NET as the mechanism to talk between a web browser and IIS but the patterns they implement are far different.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;ASP.NET MVC is modeled after popular model-view-controller web frameworks such as Ruby on Rails. It was not built to replace ASP.NET web forms but rather as an alternative to the viewstate/post back model of web forms.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;We will look at the patterns of the ASP.NET MVC framework and explore the work flow of requests and responses to and from a server as well as how it differs from the traditional web forms applications.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;jQuery is a javascript framework that is designed to make cross-browser DOM programming easier and make developing with javascript suck less. In this presentation, we will go over the basics of jQuery which will allow you to go home and get started right away. We will cover concepts such as DOM manipulation, CSS manipulation, ajax requests, and user interface effects. jQuery makes performing these tasks trivial and allows you to add ajax calls and Flash-like effects to your web site easily.&lt;/p&gt;
&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;strong&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 20px;"&gt;Bio&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 13px;"&gt;Jamie Wright is president of &lt;a href="http://brilliantfantastic.com/"&gt;Brilliant Fantastic&lt;/a&gt;, a software development consulting service provider and ISV for software management applications. He has over ten years software development experience in Microsoft technologies and has developing in .NET since the first beta release. He specializes in application architecture, design patterns, object-oriented design, and business objects using the .NET framework. He loves spending time with his family, blogging at &lt;a href="http://wrightin.gs/"&gt;http://wrightin.gs&lt;/a&gt; and he is currently getting therapy for his gadget addiction.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span class="asset asset-generic at-xid-6a00d83420db0253ef012877b44701970c"&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/asp.net-mvc.zip"&gt;&lt;span style="font-size: 12px;"&gt;Download ASP.NET MVC Demo Application&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span class="asset asset-generic at-xid-6a00d83420db0253ef0120a8b17781970b"&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/benjamins-1.bak"&gt;&lt;span style="font-size: 12px;"&gt;Download ASP.NET MVC Database Backup&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span class="asset asset-generic at-xid-6a00d83420db0253ef012877b44822970c"&gt;&lt;span style="font-size: 12px;"&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/jquery.zip"&gt;Download JQuery Demo Application&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 14px;"&gt;&lt;span style="font-size: 15px;"&gt;&lt;span style="font-size: 16px;"&gt;&lt;span style="font-size: 17px;"&gt;&lt;span style="font-size: 18px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span style="font-size: 19px;"&gt;&lt;span class="asset asset-generic at-xid-6a00d83420db0253ef012877b44822970c"&gt;&lt;span class="asset asset-generic at-xid-6a00d83420db0253ef012877b464ea970c"&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/asp.net-mvc-jquery.pdf"&gt;&lt;span&gt;Download Slides&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2010/02/intro-to-aspnet-mvc-with-a-splash-of-jquery-presentation.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2010/02/intro-to-aspnet-mvc-with-a-splash-of-jquery-presentation.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=zfCEOQGUyB8:1sWJmL_fEh0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=zfCEOQGUyB8:1sWJmL_fEh0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/zfCEOQGUyB8" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://wrightin.gs/2010/02/intro-to-aspnet-mvc-with-a-splash-of-jquery-presentation.html</feedburner:origLink></item>
    <item>
      <pubDate>Wed, 16 Dec 2009 13:00:00 -0800</pubDate>
      <title>Living with your Microsoft VMs "in the cloud" on a Mac</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/UTEog0j912U/living-with-your-vms-in-the-cloud.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2009/12/living-with-your-vms-in-the-cloud.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span&gt;&lt;span style="font-family: Tahoma;"&gt;Some Background&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma;"&gt;So I am a software development consultant. This often requires me to have several different environments setup for several different customers. The best way to accomplish this that I have found is to have a virtual machine setup for each customer. This also requires that I have a copy of that vm on a laptop and at my home setup since sometimes I travel to the customer's office with my laptop.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style="text-decoration: underline;"&gt;Old Environment&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Apple FanBoy is another adjective that describes who I am. I make money writing code in Microsoft .NET and in the Windows environment but I use the Mac side for everything else. I use a 13" Macbook for client visits and a MacPro beast at home. I placed each client's Windows environment in a VMWare VM with the necessary tools like Visual Studio, Subversion, Git, SQL Server, etc. I would then keep the VM on an external drive and run he VM from my MacPro at home or my MacBook on the road. If I knew that I was going to be at a client for a long time, I would copy that VM locally to my MacBook since it would run faster from my laptops SSD drive. Once I worked at the client site a couple of days, I would copy that VM back to my external drive to run from both at home and at a client site.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style="text-decoration: underline;"&gt;Some Issues with Old Environment&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;There were a lot of issues that I did not like with this setup of copying vms. The first issue was that this was substantially inefficient. Copying 30 gig vm files from external drive to internal drive on various computers took around 20 minutes a piece. This made it hard to quickly get out to a client site for a meeting or to quickly copy the VM back for a "quick fix".&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Another issue related to copying vms was that Windows Software Authentication which makes sure you're not using the latest China build is horrible. When copying the vm from one machine to another and/or running the vm on an external drive from different host machines, the horrible satanic "Genuine Advantage" would get confused and de-authenticate your OS since the hardware is changing so much.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style="text-decoration: underline;"&gt;The New Environment&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;The new environment eliminates the issues with the old environment. With the new environment, I still run all of my customer setups in&amp;nbsp;separate&amp;nbsp;VMs. The difference is that these VMs are always run from home on my MacPro. This 8-core, 16G Ram machine is perfectly fine with running multiple (anywhere from 5 - 8) VMs at a time. When I bounce to a client site I still run these VMs from my home computer and I connect to them over &lt;/span&gt;&lt;a href="http://www.apple.com/downloads/macosx/networking_security/remotedesktopconnectionclient.html"&gt;Windows Remote Desktop Connection for the Mac&lt;/a&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;You really do not see any difference with running this way. The advantage is that I do not need to copy the VMs onto my laptop anymore and I do not get bothered with the software authentication anymore. I don't have to worry about having multiple copies of the same VM on different machines and a portable drive. The biggest advantage is the state of the VM is always constant. I can close my laptop at anytime and know that when I get home, the VM will be in the exact state as I have left it when I closed my laptop. This is especially useful with long running scripts or builds that need to be run and you have to split.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;There are a few disadvantages that mostly deal with connection issues. You may have spotty Wifi coverage that causes some lag but the Windows Remote Desktop software is really well written for those scenarios. I have used a VM over a Sprint 3G connection many-o-times without any issues.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Another issue is that I cannot get any Windows Aero features since Windows does not like you to use those features over RDC. This is not a big deal for me but it may be for you.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;I still carry a portable VM with me just in case of an emergency. If I can't connect for some reason, I still have VMWare installed on my laptop and I can get some version of the customer VM from the local drive.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;How to setup the New Environment&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;There are 3 steps to getting this new environment setup on your VM.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Setup your guest virtual machine&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Setup your host machine &amp;amp; router&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Create a dynamic DNS to connect over the internet&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&lt;span style="text-decoration: underline;"&gt;Setup your guest virtual machine&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;I am using &lt;/span&gt;&lt;a href="http://www.vmware.com/products/fusion/"&gt;VMWare Fusion&lt;/a&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt; on my Mac and the screenshots below are from that application. I am sure all virtual machine software apps have these features so use what you like such as &lt;/span&gt;&lt;a href="http://www.parallels.com/products/desktop/"&gt;Parallels&lt;/a&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt; or &lt;/span&gt;&lt;a href="http://www.virtualbox.org/"&gt;Virtual Box&lt;/a&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;strong&gt;Change wireless settings on VM to use a bridged connection&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;In order for your host machine to pass the connection on from the internet to your VM, your VM must have it's network settings on Bridged. I believe the default for Fusion is NAT and so you to change this to Bridged.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;[DISCLAIMER: I am horrible at network administration and so some of this may not be needed or wrong. Please check with a certified network person thingy. I am not responsible for you fucking your stuff up.]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;From Fusion, select your VM from you want to make available from the interwebs and select Virtual Machine -&amp;gt; Settings (CMD+E). Select Network and make sure your settings are like the following:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;a href="http://wrightings.typepad.com/.a/6a00d83420db0253ef012876bb9912970c-popup" style="display: inline;"&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;a href="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/xpBkoCvurvnaydqhDsgAhbHecGftFkwtsJeufIiaIhJEvGoIAaeJfBAsCGbn/6a00d83420db0253ef012876bb9912970c-800wi.png.scaled1000.png"&gt;&lt;img alt="6a00d83420db0253ef012876bb9912970c-800wi" height="382" src="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/xpBkoCvurvnaydqhDsgAhbHecGftFkwtsJeufIiaIhJEvGoIAaeJfBAsCGbn/6a00d83420db0253ef012876bb9912970c-800wi.png.scaled500.png" width="500" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/a&gt; &lt;p /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;strong&gt;Change Remote Settings on your Windows VM&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;On your guest machine, you need to setup Windows to allow for remote connections for remote desktop.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;From the Control Panel, browse to System and Maintenance -&amp;gt; System. On the left hand side, select Remote settings.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;a href="http://wrightings.typepad.com/.a/6a00d83420db0253ef012876bb9a8c970c-popup" style="display: inline;"&gt;&lt;br /&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;a href="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/tJresheGvakvhcAaBiemqyDntaqnvfpsEhBqCctlHnfixzbgHJElqJngxEfA/6a00d83420db0253ef012876bb9a8c970c-800wi.png.scaled1000.png"&gt;&lt;img alt="6a00d83420db0253ef012876bb9a8c970c-800wi" height="135" src="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/tJresheGvakvhcAaBiemqyDntaqnvfpsEhBqCctlHnfixzbgHJElqJngxEfA/6a00d83420db0253ef012876bb9a8c970c-800wi.png.scaled500.png" width="500" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/a&gt; &lt;p /&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;On the Remote settings screen, check "Allow Remote Assistance connections to this computer" and check "Allow connections from computers running any version of Remote Desktop (less secure)."&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;a href="http://wrightings.typepad.com/.a/6a00d83420db0253ef0120a7b91c16970b-popup" style="display: inline;"&gt;&lt;br /&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="6a00d83420db0253ef0120a7b91c16970b-800wi" height="408" src="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/EfvDECJEFhhpvsjHpFvqevpAwipsEDcBuHrCfEyAklnvIdsGFmGajCwulCnv/6a00d83420db0253ef0120a7b91c16970b-800wi.png.scaled500.png" width="361" /&gt;
&lt;/div&gt;
&lt;/a&gt; &lt;p /&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;strong&gt;Turn off IPv6 [if needed] on your Windows VM&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;OK, I am unsure why you need to do this but I did in my case. You may not need to do this or you may have to change other settings. Again, I am an idiot when it comes to network administration.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;From the Control Panel, browse to Network and Internet -&amp;gt; Network and Sharing Center. On the lef hand side, select Manage network connections.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;a href="http://wrightings.typepad.com/.a/6a00d83420db0253ef0120a7b91d0d970b-popup" style="display: inline;"&gt;&lt;br /&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;a href="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/tlBJEetudjntrwzCbBFlumlqsvciHAcdkBvDwqGBGCFEbqCkwiodituDcnmi/6a00d83420db0253ef0120a7b91d0d970b-800wi.png.scaled1000.png"&gt;&lt;img alt="6a00d83420db0253ef0120a7b91d0d970b-800wi" height="369" src="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/tlBJEetudjntrwzCbBFlumlqsvciHAcdkBvDwqGBGCFEbqCkwiodituDcnmi/6a00d83420db0253ef0120a7b91d0d970b-800wi.png.scaled500.png" width="500" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/a&gt; &lt;p /&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Right-click on your active network connection, and select Properties.&amp;nbsp;Uncheck "Internet Protocol Version 6 (TCP/IPv6)".&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;a href="http://wrightings.typepad.com/.a/6a00d83420db0253ef0120a7b91e59970b-popup" style="display: inline;"&gt;&lt;br /&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="6a00d83420db0253ef0120a7b91e59970b-800wi" height="403" src="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/DawHFCxswmJwlyjyIhydbHnwCkjtyjhlHGCyoHwbBcgkolsicsgJomevqqFf/6a00d83420db0253ef0120a7b91e59970b-800wi.png.scaled500.png" width="324" /&gt;
&lt;/div&gt;
&lt;/a&gt; &lt;p /&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;strong&gt;Set static IP address on your Windows VM&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;You need to setup a static IP address for your VM instead of using a DHCP server which is normally the default. This is an internal static IP address for your internal network. These usually start with 10.0.1.XX. I make sure that the XX will be the same number as the port that I am going to be using to identify the VM later. I start with port 85 and go up from there (skipping 89). You can use any number for XX as long as it does not conflict with other devices in your house such as a Slingbox or another FileServer, etc.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;From the Control Panel, browse to&amp;nbsp;Network and Internet -&amp;gt; Network and Sharing Center. On the right hand side, select Manage network connections (same as above).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Right-click on your active network connection, and select Properties (same as above).&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Click on "Internet Protocol Version 4 (TCP/IPv4)" and click Properties. In the following window, click on "Use the following IP address" and set your IP address according to the recommendations above.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;In this instance, I used 10.0.1.90 to identify this machine since I will connect to it over port 3390. Make sure you remember what this is as you will need it in a little bit.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;a href="http://wrightings.typepad.com/.a/6a00d83420db0253ef0120a7b91f99970b-popup" style="display: inline;"&gt;&lt;br /&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="6a00d83420db0253ef0120a7b91f99970b-800wi" height="397" src="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/GxbgsvqnltwEvheIxcimyywmBxjlCsfihevDFbwaAIBJcqcrxitpqkclybig/6a00d83420db0253ef0120a7b91f99970b-800wi.png.scaled500.png" width="353" /&gt;
&lt;/div&gt;
&lt;/a&gt; &lt;p /&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;You should now be able to ping your VM from another computer in your house and from your host machine. Try to ping your static IP address that you set. If you are unsuccessful, carefully follow the steps above again.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;Update Registry settings on your Windows VM&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;In order to connect to your multiple VMs from the internet, you need to change the port number that they are connecting to. By default, Remote Desktop connections occur over port 3389 and we will change this default port since we will have multiple VMs. Another advantage of doing this is that if you are a customer site, some customer sites block outgoing port 3389 requests and this will get around that.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Start the Registry Editor by going to Start -&amp;gt; and type regedit and click enter.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Browse to&amp;nbsp;&lt;span&gt;&lt;strong class="uiterm"&gt;HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber.&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;span&gt;&lt;strong class="uiterm"&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;span style="font-weight: normal; line-height: 16px; font-size: small;"&gt;Change the value to the port number you want to use. In this instance, I used 3390 as the port number.&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;span&gt;&lt;strong class="uiterm"&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;span style="font-weight: normal; line-height: 16px; font-size: small;"&gt;&lt;a href="http://wrightings.typepad.com/.a/6a00d83420db0253ef0120a7b9213e970b-popup" style="display: inline;"&gt;&lt;br /&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="6a00d83420db0253ef0120a7b9213e970b-800wi" height="168" src="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/rkFpFxwqifzztqkBxnlImIirbAwziCzAIFahdsvunnqrmahtjEdnoFGfszdj/6a00d83420db0253ef0120a7b9213e970b-800wi.png.scaled500.png" width="294" /&gt;
&lt;/div&gt;
&lt;/a&gt; &lt;p /&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Here is another article on changing your RD listening port: &lt;/span&gt;&lt;a href="http://support.microsoft.com/kb/306759"&gt;http://support.microsoft.com/kb/306759&lt;/a&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;strong&gt;Add Firewall port exceptions on your Windows VM&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;You need to add TCP and UDP exceptions to the Windows Firewall in order to connect to your VM over RD for the port that you specified above.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;From the Control Panel, browse to Network and Internet -&amp;gt; Windows Firewall. On the left hand side, select "Allow a program through Windows Firewall".&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;a href="http://wrightings.typepad.com/.a/6a00d83420db0253ef012876bba037970c-popup" style="display: inline;"&gt;&lt;br /&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;a href="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/CjtzeAEdtqyyeJgCvpqpiyuxgiEqDpamctDCFoqoyfnpmyaCFeqxtfdJqzzj/6a00d83420db0253ef012876bba037970c-800wi.png.scaled1000.png"&gt;&lt;img alt="6a00d83420db0253ef012876bba037970c-800wi" height="397" src="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/CjtzeAEdtqyyeJgCvpqpiyuxgiEqDpamctDCFoqoyfnpmyaCFeqxtfdJqzzj/6a00d83420db0253ef012876bba037970c-800wi.png.scaled500.png" width="500" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/a&gt; &lt;p /&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Click on the Exceptions tab and then click the "Add port..." button. On the following window, set the name to "Remote Desktop TCP (3390)" (or the port number you used), set Port number to the one you specified above, and set the Protocol to TCP. Here is what it should look like in this instance:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;a href="http://wrightings.typepad.com/.a/6a00d83420db0253ef012876bba0de970c-popup" style="display: inline;"&gt;&lt;br /&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="6a00d83420db0253ef012876bba0de970c-800wi" height="240" src="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/mIwaflsxhDArivjrvmmGbJyvDgnggchhrbIrjpjGnxFbllGkreftCziHEbna/6a00d83420db0253ef012876bba0de970c-800wi.png.scaled500.png" width="336" /&gt;
&lt;/div&gt;
&lt;/a&gt; &lt;p /&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;You will want to do the same thing for UDP. Here is what that should look like in this instance:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;a href="http://wrightings.typepad.com/.a/6a00d83420db0253ef0120a7b92316970b-popup" style="display: inline;"&gt;&lt;br /&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="6a00d83420db0253ef0120a7b92316970b-800wi" height="237" src="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/AzCCqtgdGJaJmmBfdgcgFIbqiBCaBDtacdpqFratbJAvipzlcljlBgkiezFf/6a00d83420db0253ef0120a7b92316970b-800wi.png.scaled500.png" width="339" /&gt;
&lt;/div&gt;
&lt;/a&gt; &lt;p /&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style="text-decoration: underline;"&gt;Setup your host machine / router&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;OK, the hard part is done. Now in order to connect to your VM from the internets, you need to be able to route your request in your router for the specified port number to the appropriate VM. To do this, you need to map your port to the appropriate VM. I will show you how to do this for the &lt;/span&gt;&lt;a href="http://www.apple.com/airportextreme/"&gt;Apple Airport Extreme&lt;/a&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt; / &lt;/span&gt;&lt;a href="http://www.apple.com/timecapsule/"&gt;Time Capsule&lt;/a&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt; since that is what I am using. I am sure it is easy to find information on port mapping for your specific router on the internet, just Google it.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Open up your Airport Utility and click on Manual Setup for your router.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;a href="http://wrightings.typepad.com/.a/6a00d83420db0253ef012876bbb4bc970c-popup" style="display: inline;"&gt;&lt;br /&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;a href="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/qrluidqyGfEGwbDswCFfkbuIHjmlvqqjrqkbIyfkJrlorCluuHmkxapertHF/6a00d83420db0253ef012876bbb4bc970c-800wi.png.scaled1000.png"&gt;&lt;img alt="6a00d83420db0253ef012876bbb4bc970c-800wi" height="100" src="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/qrluidqyGfEGwbDswCFfkbuIHjmlvqqjrqkbIyfkJrlorCluuHmkxapertHF/6a00d83420db0253ef012876bbb4bc970c-800wi.png.scaled500.png" width="500" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/a&gt; &lt;p /&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Click on the Advanced tab and click on Port Mapping (it may take a few seconds to be enabled).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;span&gt;&lt;a href="http://wrightings.typepad.com/.a/6a00d83420db0253ef0120a7b93857970b-popup" style="display: inline;"&gt;&lt;br /&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="6a00d83420db0253ef0120a7b93857970b-800wi" height="107" src="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/igthvvsaoBhGAACdbprAwrqFtGfidugDFEbrsHDCtmeIhvGdsapumqaiqcJy/6a00d83420db0253ef0120a7b93857970b-800wi.png.scaled500.png" width="489" /&gt;
&lt;/div&gt;
&lt;/a&gt; &lt;br /&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Click on the small + at the bottom of the Allow list.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Enter your port number (3390 in this case) in the public and private UDP ports and the public and private TCP ports. Enter your internal static IP address (10.0.1.90 in this case).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;a href="http://wrightings.typepad.com/.a/6a00d83420db0253ef0120a7b938b6970b-popup" style="display: inline;"&gt;&lt;br /&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;a href="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/pqHdfnsfpcnaIzwEbdyAaEaCquGtpkwmbGEhdBmfpgwFeDcfnpkjFboAasjw/6a00d83420db0253ef0120a7b938b6970b-800wi.png.scaled1000.png"&gt;&lt;img alt="6a00d83420db0253ef0120a7b938b6970b-800wi" height="358" src="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/pqHdfnsfpcnaIzwEbdyAaEaCquGtpkwmbGEhdBmfpgwFeDcfnpkjFboAasjw/6a00d83420db0253ef0120a7b938b6970b-800wi.png.scaled500.png" width="500" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/a&gt; &lt;p /&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Click Continue.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;Enter a description here and click done. I usually use the name of my client followed by " Windows VM" as the name.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;That is it for the port mapping. Continue adding all the VMs you want to allow with different ports and IP addresses. Make sure that they do not collide with other devices and services on your network.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;The next step is to download the Remote Desktop Client for the Mac on your laptop or other device where you want to access these VMs remotely. You can get the software &lt;/span&gt;&lt;a href="http://www.microsoft.com/mac/downloads.mspx" target="_blank"&gt;here&lt;/a&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;. The Remote Desktop client is at the bottom listed under products (horrible page, I know). You then want the latest version.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;a href="http://wrightings.typepad.com/.a/6a00d83420db0253ef0120a7b93938970b-popup" style="display: inline;"&gt;&lt;br /&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;a href="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/dgqiotnislrtzCnxyBBsBHAIiIfGoDruksgqcDagwIFvDBwHquoxsilrlFfq/6a00d83420db0253ef0120a7b93938970b-800wi.png.scaled1000.png"&gt;&lt;img alt="6a00d83420db0253ef0120a7b93938970b-800wi" height="209" src="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/dgqiotnislrtzCnxyBBsBHAIiIfGoDruksgqcDagwIFvDBwHquoxsilrlFfq/6a00d83420db0253ef0120a7b93938970b-800wi.png.scaled500.png" width="500" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/a&gt; &lt;p /&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;You should be able to connect to your VMs over the internet now. Using your current outside IP address (you can find out what it is by going to&amp;nbsp;&lt;/span&gt;&lt;a href="http://checkip.dyndns.com/"&gt;http://checkip.dyndns.com/&lt;/a&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;) and the port number, you can connect via Remote Desktop Client. Just use the format XX.XXX.XX.X:3390 (or your port number) and click connect. It will then ask you for your Windows username and password. &lt;strong&gt;Bam! Your living in the cloud man&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;You can save each connection via the RD Client. I do this by saving via customer name and then use the Recent Connections menu item to switch back and forth.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style="text-decoration: underline;"&gt;Create a dynamic DNS to connect over the internet&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;The final thing you need is a static IP address if you do not already have one through your ISP. The good news is that there is a free service which allows you to use your dynamic IP address that is usually what your ISP will give you for free. They usually don't change this often but when they do, you will not be able to connect to your VMs anymore.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dyndns.com/"&gt;DynDNS&lt;/a&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt; allows you to specify a domain name and you can use this domain name to link to your dynamic ip address. The trick is that you download a small application on your host machine which notifies DynDNS when your IP address has changed so that it can update where it points the domain to. The free account is pretty easy to use. The only catch is that DynDNS will send you an email once a month with a link that you need to verify that you are still using the service. If that is too much trouble for you, feel free to pay for it using their pricing services.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;The signup is pretty self&amp;nbsp;explanatory. You can download the client at&amp;nbsp;&lt;/span&gt;&lt;a href="https://www.dyndns.com/support/clients"&gt;https://www.dyndns.com/support/clients&lt;/a&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;. The client is not needed as they have a web interface as well if you don't want to clutter up your system. I did not install it as the dynamic IP address does not change at all for me.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Tahoma, Verdana, sans-serif;"&gt;I know this was long but I wanted to make it detailed enough to follow pretty easy. It's really nice to work this way once it is set up properly. Happy living...&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2009/12/living-with-your-vms-in-the-cloud.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2009/12/living-with-your-vms-in-the-cloud.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=UTEog0j912U:6PrGVEvS9TI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=UTEog0j912U:6PrGVEvS9TI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/UTEog0j912U" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
      <media:content type="image/jpeg" height="530" width="693" url="http://getfile0.posterous.com/getfile/files.posterous.com/import-newi/wvAsCGlmzuIyaqgFAdtdrhsgHAisjrnmzAfouyzbFbhzcbneHsnouemgCmDJ/media_httpwrightingst_qBecv.jpg">
        <media:thumbnail height="382" width="500" url="http://getfile4.posterous.com/getfile/files.posterous.com/import-newi/wvAsCGlmzuIyaqgFAdtdrhsgHAisjrnmzAfouyzbFbhzcbneHsnouemgCmDJ/media_httpwrightingst_qBecv.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="187" width="691" url="http://getfile4.posterous.com/getfile/files.posterous.com/import-newi/xEIrbhirnjqfFiglyquBhezbEyvaqwsccvghgkpriBGAklkfcakdBiqbyhue/media_httpwrightingst_Hyynj.jpg">
        <media:thumbnail height="135" width="500" url="http://getfile9.posterous.com/getfile/files.posterous.com/import-newi/xEIrbhirnjqfFiglyquBhezbEyvaqwsccvghgkpriBGAklkfcakdBiqbyhue/media_httpwrightingst_Hyynj.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="408" width="361" url="http://getfile7.posterous.com/getfile/files.posterous.com/import-newi/AtloixkkBqrqcHrjedqHzqnGojwIEFfvDvBGHJHCrtJDHdzAgGtyroaEGpFk/media_httpwrightingst_pkGog.jpg">
        <media:thumbnail height="408" width="361" url="http://getfile2.posterous.com/getfile/files.posterous.com/import-newi/AtloixkkBqrqcHrjedqHzqnGojwIEFfvDvBGHJHCrtJDHdzAgGtyroaEGpFk/media_httpwrightingst_pkGog.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="510" width="691" url="http://getfile0.posterous.com/getfile/files.posterous.com/import-newi/vuyhJeqmfEhEDpmeEhCsnafvijHlAqcAamGEJlAexshpzgctovqaBxkiBwfy/media_httpwrightingst_Juzcz.jpg">
        <media:thumbnail height="369" width="500" url="http://getfile5.posterous.com/getfile/files.posterous.com/import-newi/vuyhJeqmfEhEDpmeEhCsnafvijHlAqcAamGEJlAexshpzgctovqaBxkiBwfy/media_httpwrightingst_Juzcz.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="403" width="324" url="http://getfile7.posterous.com/getfile/files.posterous.com/import-newi/eApkICyoerrdbxssutzomvIzwsrCnCizFHCGckGfbulCcHiyufsaBeprykqH/media_httpwrightingst_zEvgi.jpg">
        <media:thumbnail height="403" width="324" url="http://getfile2.posterous.com/getfile/files.posterous.com/import-newi/eApkICyoerrdbxssutzomvIzwsrCnCizFHCGckGfbulCcHiyufsaBeprykqH/media_httpwrightingst_zEvgi.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="397" width="353" url="http://getfile2.posterous.com/getfile/files.posterous.com/import-newi/hIuwvgaqovHiGJIxvkmAblCiugysmdmvoDEdbplBpEmyEuuwfyHvxfsugBfE/media_httpwrightingst_idkvG.jpg">
        <media:thumbnail height="397" width="353" url="http://getfile6.posterous.com/getfile/files.posterous.com/import-newi/hIuwvgaqovHiGJIxvkmAblCiugysmdmvoDEdbplBpEmyEuuwfyHvxfsugBfE/media_httpwrightingst_idkvG.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="168" width="294" url="http://getfile0.posterous.com/getfile/files.posterous.com/import-newi/BscwwdFfwjJopcmzFFkGfAdjsqaqCmxdihuJzCDJCFfvriIgdDkEidgkttAv/media_httpwrightingst_zsfDg.jpg">
        <media:thumbnail height="168" width="294" url="http://getfile5.posterous.com/getfile/files.posterous.com/import-newi/BscwwdFfwjJopcmzFFkGfAdjsqaqCmxdihuJzCDJCFfvriIgdDkEidgkttAv/media_httpwrightingst_zsfDg.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="518" width="652" url="http://getfile5.posterous.com/getfile/files.posterous.com/import-newi/cGxqkcukDcfBpcqaqGyEGnknakzAfjjlmFkDBoxqyyIuotbdgvyblGuFGxdx/media_httpwrightingst_CJFtl.jpg">
        <media:thumbnail height="397" width="500" url="http://getfile4.posterous.com/getfile/files.posterous.com/import-newi/cGxqkcukDcfBpcqaqGyEGnknakzAfjjlmFkDBoxqyyIuotbdgvyblGuFGxdx/media_httpwrightingst_CJFtl.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="240" width="336" url="http://getfile9.posterous.com/getfile/files.posterous.com/import-newi/piDltuCIsubCsgknnfcAJcsrrlkqzhkBkpvxiCggynCmDgDEmdbeaInhGlpq/media_httpwrightingst_oxyyG.jpg">
        <media:thumbnail height="240" width="336" url="http://getfile4.posterous.com/getfile/files.posterous.com/import-newi/piDltuCIsubCsgknnfcAJcsrrlkqzhkBkpvxiCggynCmDgDEmdbeaInhGlpq/media_httpwrightingst_oxyyG.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="237" width="339" url="http://getfile8.posterous.com/getfile/files.posterous.com/import-newi/GrHuvfypdfGkieehiEwvErbJckcFEDmrmvIkDCzcJnuzFjaiiqujeEvHGkrh/media_httpwrightingst_deHFa.jpg">
        <media:thumbnail height="237" width="339" url="http://getfile2.posterous.com/getfile/files.posterous.com/import-newi/GrHuvfypdfGkieehiEwvErbJckcFEDmrmvIkDCzcJnuzFjaiiqujeEvHGkrh/media_httpwrightingst_deHFa.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="118" width="591" url="http://getfile1.posterous.com/getfile/files.posterous.com/import-newi/pGuGcvseDqldAeqnEJwlAtsgEuFxFACakwzCBbJzlhjwdwhwIHuCxeoJzDqy/media_httpwrightingst_jbFwB.jpg">
        <media:thumbnail height="100" width="500" url="http://getfile2.posterous.com/getfile/files.posterous.com/import-newi/pGuGcvseDqldAeqnEJwlAtsgEuFxFACakwzCBbJzlhjwdwhwIHuCxeoJzDqy/media_httpwrightingst_jbFwB.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="107" width="489" url="http://getfile7.posterous.com/getfile/files.posterous.com/import-newi/AgiAfgsmGAFjdohnvkiCaIsEjEuoBEqrhonIfrowGeyeiGCphbeaBxtitegr/media_httpwrightingst_FJznF.jpg">
        <media:thumbnail height="107" width="489" url="http://getfile3.posterous.com/getfile/files.posterous.com/import-newi/AgiAfgsmGAFjdohnvkiCaIsEjEuoBEqrhonIfrowGeyeiGCphbeaBxtitegr/media_httpwrightingst_FJznF.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="389" width="544" url="http://getfile5.posterous.com/getfile/files.posterous.com/import-newi/hAykncbEiHIpGcgJblAcEsbAFchBcaAydmIemFkxzdxlDGwGmBiCjtEkmxoi/media_httpwrightingst_msnap.jpg">
        <media:thumbnail height="358" width="500" url="http://getfile8.posterous.com/getfile/files.posterous.com/import-newi/hAykncbEiHIpGcgJblAcEsbAFchBcaAydmIemFkxzdxlDGwGmBiCjtEkmxoi/media_httpwrightingst_msnap.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="335" width="800" url="http://getfile5.posterous.com/getfile/files.posterous.com/import-newi/vIgktiqpwmxECptEidmJsjphqjiCsBzFIbgpnIpuxIavBmEEGBldgfobxhkk/media_httpwrightingst_qjdCq.jpg">
        <media:thumbnail height="209" width="500" url="http://getfile5.posterous.com/getfile/files.posterous.com/import-newi/vIgktiqpwmxECptEidmJsjphqjiCsBzFIbgpnIpuxIavBmEEGBldgfobxhkk/media_httpwrightingst_qjdCq.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/png" height="530" width="693" url="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2010-09-10/xpBkoCvurvnaydqhDsgAhbHecGftFkwtsJeufIiaIhJEvGoIAaeJfBAsCGbn/6a00d83420db0253ef012876bb9912970c-800wi.png">
        <media:thumbnail height="382" width="500" url="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2010-09-10/xpBkoCvurvnaydqhDsgAhbHecGftFkwtsJeufIiaIhJEvGoIAaeJfBAsCGbn/6a00d83420db0253ef012876bb9912970c-800wi.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="187" width="691" url="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2010-09-10/tJresheGvakvhcAaBiemqyDntaqnvfpsEhBqCctlHnfixzbgHJElqJngxEfA/6a00d83420db0253ef012876bb9a8c970c-800wi.png">
        <media:thumbnail height="135" width="500" url="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2010-09-10/tJresheGvakvhcAaBiemqyDntaqnvfpsEhBqCctlHnfixzbgHJElqJngxEfA/6a00d83420db0253ef012876bb9a8c970c-800wi.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="408" width="361" url="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2010-09-10/EfvDECJEFhhpvsjHpFvqevpAwipsEDcBuHrCfEyAklnvIdsGFmGajCwulCnv/6a00d83420db0253ef0120a7b91c16970b-800wi.png">
        <media:thumbnail height="408" width="361" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2010-09-10/EfvDECJEFhhpvsjHpFvqevpAwipsEDcBuHrCfEyAklnvIdsGFmGajCwulCnv/6a00d83420db0253ef0120a7b91c16970b-800wi.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="510" width="691" url="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2010-09-10/tlBJEetudjntrwzCbBFlumlqsvciHAcdkBvDwqGBGCFEbqCkwiodituDcnmi/6a00d83420db0253ef0120a7b91d0d970b-800wi.png">
        <media:thumbnail height="369" width="500" url="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2010-09-10/tlBJEetudjntrwzCbBFlumlqsvciHAcdkBvDwqGBGCFEbqCkwiodituDcnmi/6a00d83420db0253ef0120a7b91d0d970b-800wi.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="403" width="324" url="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2010-09-10/DawHFCxswmJwlyjyIhydbHnwCkjtyjhlHGCyoHwbBcgkolsicsgJomevqqFf/6a00d83420db0253ef0120a7b91e59970b-800wi.png">
        <media:thumbnail height="403" width="324" url="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2010-09-10/DawHFCxswmJwlyjyIhydbHnwCkjtyjhlHGCyoHwbBcgkolsicsgJomevqqFf/6a00d83420db0253ef0120a7b91e59970b-800wi.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="397" width="353" url="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2010-09-10/GxbgsvqnltwEvheIxcimyywmBxjlCsfihevDFbwaAIBJcqcrxitpqkclybig/6a00d83420db0253ef0120a7b91f99970b-800wi.png">
        <media:thumbnail height="397" width="353" url="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2010-09-10/GxbgsvqnltwEvheIxcimyywmBxjlCsfihevDFbwaAIBJcqcrxitpqkclybig/6a00d83420db0253ef0120a7b91f99970b-800wi.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="168" width="294" url="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2010-09-10/rkFpFxwqifzztqkBxnlImIirbAwziCzAIFahdsvunnqrmahtjEdnoFGfszdj/6a00d83420db0253ef0120a7b9213e970b-800wi.png">
        <media:thumbnail height="168" width="294" url="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2010-09-10/rkFpFxwqifzztqkBxnlImIirbAwziCzAIFahdsvunnqrmahtjEdnoFGfszdj/6a00d83420db0253ef0120a7b9213e970b-800wi.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="518" width="652" url="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2010-09-10/CjtzeAEdtqyyeJgCvpqpiyuxgiEqDpamctDCFoqoyfnpmyaCFeqxtfdJqzzj/6a00d83420db0253ef012876bba037970c-800wi.png">
        <media:thumbnail height="397" width="500" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2010-09-10/CjtzeAEdtqyyeJgCvpqpiyuxgiEqDpamctDCFoqoyfnpmyaCFeqxtfdJqzzj/6a00d83420db0253ef012876bba037970c-800wi.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="240" width="336" url="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2010-09-10/mIwaflsxhDArivjrvmmGbJyvDgnggchhrbIrjpjGnxFbllGkreftCziHEbna/6a00d83420db0253ef012876bba0de970c-800wi.png">
        <media:thumbnail height="240" width="336" url="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2010-09-10/mIwaflsxhDArivjrvmmGbJyvDgnggchhrbIrjpjGnxFbllGkreftCziHEbna/6a00d83420db0253ef012876bba0de970c-800wi.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="237" width="339" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2010-09-10/AzCCqtgdGJaJmmBfdgcgFIbqiBCaBDtacdpqFratbJAvipzlcljlBgkiezFf/6a00d83420db0253ef0120a7b92316970b-800wi.png">
        <media:thumbnail height="237" width="339" url="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2010-09-10/AzCCqtgdGJaJmmBfdgcgFIbqiBCaBDtacdpqFratbJAvipzlcljlBgkiezFf/6a00d83420db0253ef0120a7b92316970b-800wi.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="118" width="591" url="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2010-09-10/qrluidqyGfEGwbDswCFfkbuIHjmlvqqjrqkbIyfkJrlorCluuHmkxapertHF/6a00d83420db0253ef012876bbb4bc970c-800wi.png">
        <media:thumbnail height="100" width="500" url="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2010-09-10/qrluidqyGfEGwbDswCFfkbuIHjmlvqqjrqkbIyfkJrlorCluuHmkxapertHF/6a00d83420db0253ef012876bbb4bc970c-800wi.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="107" width="489" url="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2010-09-10/igthvvsaoBhGAACdbprAwrqFtGfidugDFEbrsHDCtmeIhvGdsapumqaiqcJy/6a00d83420db0253ef0120a7b93857970b-800wi.png">
        <media:thumbnail height="107" width="489" url="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2010-09-10/igthvvsaoBhGAACdbprAwrqFtGfidugDFEbrsHDCtmeIhvGdsapumqaiqcJy/6a00d83420db0253ef0120a7b93857970b-800wi.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="389" width="544" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2010-09-10/pqHdfnsfpcnaIzwEbdyAaEaCquGtpkwmbGEhdBmfpgwFeDcfnpkjFboAasjw/6a00d83420db0253ef0120a7b938b6970b-800wi.png">
        <media:thumbnail height="358" width="500" url="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2010-09-10/pqHdfnsfpcnaIzwEbdyAaEaCquGtpkwmbGEhdBmfpgwFeDcfnpkjFboAasjw/6a00d83420db0253ef0120a7b938b6970b-800wi.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="335" width="800" url="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2010-09-10/dgqiotnislrtzCnxyBBsBHAIiIfGoDruksgqcDagwIFvDBwHquoxsilrlFfq/6a00d83420db0253ef0120a7b93938970b-800wi.png">
        <media:thumbnail height="209" width="500" url="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2010-09-10/dgqiotnislrtzCnxyBBsBHAIiIfGoDruksgqcDagwIFvDBwHquoxsilrlFfq/6a00d83420db0253ef0120a7b93938970b-800wi.png.scaled500.png" />
      </media:content>
    <feedburner:origLink>http://wrightin.gs/2009/12/living-with-your-vms-in-the-cloud.html</feedburner:origLink></item>
    <item>
      <pubDate>Tue, 01 Dec 2009 14:41:00 -0800</pubDate>
      <title>CodeRush Template for CSLA Properties [Updated]</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/hNG5GRkhwxI/coderush-template-for-csla-properties.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2009/11/coderush-template-for-csla-properties.html</guid>
      <description>&lt;p&gt;
	&lt;p style="color: #0060bf;"&gt;[Update: Thanks to Mark Miller's comments below, I have changed the templates and added a link to the new ones below marked as version 2. The new templates fix some bugs and add some additional functionality. You can now use nullables and generics in your type definition without issue. I changed the shortcuts as well as added additional shortcuts. I have outlined these below:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;krp&lt;/strong&gt; -&amp;gt; [Roc&lt;span style="text-decoration: underline;"&gt;k&lt;/span&gt;y Lhot&lt;span style="text-decoration: underline;"&gt;k&lt;/span&gt;a &lt;span style="text-decoration: underline;"&gt;R&lt;/span&gt;egister &lt;span style="text-decoration: underline;"&gt;P&lt;/span&gt;roperty] &lt;em&gt;Registers a CSLA property&lt;/em&gt; &lt;/li&gt;
&lt;li&gt; &lt;strong&gt;kdp&lt;/strong&gt; -&amp;gt; [Roc&lt;span style="text-decoration: underline;"&gt;k&lt;/span&gt;y Lhot&lt;span style="text-decoration: underline;"&gt;k&lt;/span&gt;a &lt;span style="text-decoration: underline;"&gt;D&lt;/span&gt;eclare &lt;span style="text-decoration: underline;"&gt;P&lt;/span&gt;roperty] &lt;em&gt;Declares a CSLA property&lt;/em&gt; &lt;/li&gt;
&lt;li&gt; &lt;strong&gt;krdp&lt;/strong&gt; -&amp;gt; [Roc&lt;span style="text-decoration: underline;"&gt;k&lt;/span&gt;y Lhot&lt;span style="text-decoration: underline;"&gt;k&lt;/span&gt;a &lt;span style="text-decoration: underline;"&gt;R&lt;/span&gt;egister and&amp;nbsp;&lt;span style="text-decoration: underline;"&gt;D&lt;/span&gt;eclare &lt;span style="text-decoration: underline;"&gt;P&lt;/span&gt;roperty] &lt;em&gt;Declare and Register a CSLA property&lt;/em&gt; &lt;/li&gt;
&lt;li&gt; &lt;strong&gt;krp&amp;lt;Type&amp;gt;&lt;/strong&gt; -&amp;gt; &lt;em&gt;Registers a CSLA property with a specified type&lt;/em&gt; where you only have to fill in the property name. For example krpi will create a registered property of type int. There are a lot of type shortcuts that ship with CodeRush.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;kdp&amp;lt;Type&amp;gt;&lt;/strong&gt; -&amp;gt; &lt;em&gt;Declares a CSLA property with a specified type&lt;/em&gt;. Works similar to#4 above except it declares the property.&lt;/li&gt;
&lt;/ol&gt;
&lt;p style="color: #0060bf;"&gt;]&lt;/p&gt;
&lt;p&gt;Version 3.0 of &lt;a href="http://lhotka.net/cslanet"&gt;CSLA.NET&lt;/a&gt; brought a new way of declaring fields and properties within business objects. This was done in order to reduce the amount of code that needed to be written and to reduce the possibility of creating runtime exceptions.&lt;/p&gt;
&lt;p&gt;Before version 3.0 of CSLA.NET, the business object developer would have to ensure that certain lines of code were present in order for state tracking and validation to work correctly. The following lines of code are an example of how business object properties were written previous to version 3.0.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;1: [Serializable()]&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;2: public class Customer : Csla.BusinessBase&amp;lt;Customer&amp;gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;3: {&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;4:  private string _firstName;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;5:  &lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;6:  public string FirstName&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;7:  {&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;8:  get&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;9:  {&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;10:  CanReadProperty(true);&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;11:  return _firstName;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;12:  }&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;13:  set&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;14:  {&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;15:  CanWriteProperty(true);&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;16:  if (_firstName != value)&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;17:  {&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;18:  _firstName = value;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;19:  PropertyHasChanged();&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;20:  }&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;21:  }&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;22:  }&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;23:  &lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;24:  private Customer()&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;25:  {&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;26:  }&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;27: }&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can see this is pretty standard property/field declaration that you would see in any object (before &lt;a href="http://msdn.microsoft.com/en-us/library/bb384054.aspx"&gt;Auto-Implemented properties&lt;/a&gt;). Let me explain what the various CSLA.NET specific calls do.&lt;/p&gt;
&lt;p&gt;In line 10, there is a call to a base class method CanReadProperty. This method checks the current roles that are assigned to the user that is logged and makes sure that the current user has the rights to read this specific property. Property level authorization is another feature of CSLA.NET which I will explain at a later date. The parameter of true that is passed to the call specifies that the application should throw an exception at this point if the user is not authorized to read the property.&lt;/p&gt;
&lt;p&gt;Similar functionality for authorizing a property setter is found in line 15 with a call to the base method of CanWriteProperty.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The last bit of functionality that this code sample demonstrates is the ability for CSLA to perform state tracking and validation. Business objects in CSLA have the ability to let the client of the business layer to determine if an object is dirty, new, or saved to the data store. A key piece of this functionality is implemented with a call to the PropertyHasChanged method as shown in line 19 above. This call does 2 things. First it marks the object as being dirty. Therefore, when the client application calls Save, the business object knows that it needs to perform an update or an insert into the data store. Second, the business object performs validation for all the validation rules based on that property. For example, if the Customer object contained a business rule stating that the FirstName property needed to have a non null or empty value and the client application assigned a string.Empty, the object would then be marked as invalid. If the user then tried to save the object, a ValidationException would be thrown by the business object.&lt;/p&gt;
&lt;p&gt;As you can see, these steps of simply retrieving and setting property values have a large impact on how the CSLA business object operates. Skipping one of these steps or performing one of these steps at the wrong time can easily lead to logical errors. Because of this, &lt;a href="http://lhotka.net/"&gt;Rocky Lhotka&lt;/a&gt; introduced the concept of registering properties in CSLA version 3, a la Windows Workflow properties.&lt;/p&gt;
&lt;p&gt;Here is an example of the how a business object developer would write the same functionality in CSLA version 3.0 and above:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;1: [Serializable()]&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;2: public class Customer : Csla.BusinessBase&amp;lt;Customer&amp;gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;3: {&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;4:  private static PropertyInfo&amp;lt;string&amp;gt; FirstNameProperty = RegisterProperty&amp;lt;string&amp;gt;(typeof(Customer), new PropertyInfo&amp;lt;string&amp;gt;(&amp;quot;FirstName&amp;quot;));&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;5:  &lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;6:  public string FirstName&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;7:  {&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;8:  get&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;9:  {&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;10:  return GetProperty&amp;lt;string&amp;gt;(FirstNameProperty);&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;11:  }&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;12:  set&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;13:  {&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;14:  SetProperty&amp;lt;string&amp;gt;(FirstNameProperty, value);&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;15:  }&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;16:  }&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;17:  &lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;18:  private Customer()&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;19:  {&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;20:  }&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;21: }&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As you can see, this is a lot less code and it performs the same amount of functionality as the code listed above. The code at line 10 makes a call to a base class GetProperty method. This method internally makes a call to CanReadProperty just as above. The code at line 14 makes a call to SetProperty. This methon internally makes a call to CanWriteProperty and PropertyHasChanged respectively.&lt;/p&gt;
&lt;p&gt;Although the latter implementation requires less code and is less error prone, it is still very verbose and it requires a lot of typing. Since declaring properties is what a business object developer does a lot of, I decided that a code template would be great to implement. I am a huge fan of &lt;a href="http://devexpress.com/Products/Visual_Studio_Add-in/Coding_Assistance/"&gt;CodeRush&lt;/a&gt; and &lt;a href="http://devexpress.com/Products/Visual_Studio_Add-in/Refactoring/"&gt;Refactor&lt;/a&gt; as I have been using those productivity tools for a while now. I decided to write a &lt;a href="http://tv.devexpress.com/CodeRushAdvancedTemplates.movie"&gt;custom CodeRush template&lt;/a&gt; for declaring properties in CSLA.&lt;/p&gt;
&lt;p&gt;Creating a field, or in this case, registering a property on a class, only requires a user to type RP (&lt;span style="text-decoration: underline;"&gt;R&lt;/span&gt;egister &lt;span style="text-decoration: underline;"&gt;P&lt;/span&gt;roperty), followed by the type and name of the property. Creating a property only requires a user to type DRP (&lt;span style="text-decoration: underline;"&gt;D&lt;/span&gt;eclare &lt;span style="text-decoration: underline;"&gt;R&lt;/span&gt;egistered &lt;span style="text-decoration: underline;"&gt;P&lt;/span&gt;roperty), followed by the type and name of the property.&lt;/p&gt;
&lt;p&gt;I demonstrate their use in the video below. [NOTE: In the video, I make reference to generics when I really meant nullable types. I was obviously on something.].&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;object height="293" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437"&gt;
&lt;param name="_cx" value="11562" /&gt;
&lt;param name="_cy" value="7752" /&gt;
&lt;param name="FlashVars" /&gt;
&lt;param name="Movie" value="http://www.viddler.com/simple/6fa01e5c/" /&gt;
&lt;param name="Src" value="http://www.viddler.com/simple/6fa01e5c/" /&gt;
&lt;param name="WMode" value="Window" /&gt;
&lt;param name="Play" value="-1" /&gt;
&lt;param name="Loop" value="-1" /&gt;
&lt;param name="Quality" value="High" /&gt;
&lt;param name="SAlign" value="LT" /&gt;
&lt;param name="Menu" value="-1" /&gt;
&lt;param name="Base" /&gt;
&lt;param name="AllowScriptAccess" value="always" /&gt;
&lt;param name="Scale" value="ShowAll" /&gt;
&lt;param name="DeviceFont" value="0" /&gt;
&lt;param name="EmbedMovie" value="0" /&gt;
&lt;param name="BGColor" /&gt;
&lt;param name="SWRemote" /&gt;
&lt;param name="MovieData" /&gt;
&lt;param name="SeamlessTabbing" value="1" /&gt;
&lt;param name="Profile" value="0" /&gt;
&lt;param name="ProfileAddress" /&gt;
&lt;param name="ProfilePort" value="0" /&gt;
&lt;param name="AllowNetworking" value="all" /&gt;
&lt;param name="AllowFullScreen" value="true" /&gt; &lt;embed src="http://www.viddler.com/simple/6fa01e5c/" type="application/x-shockwave-flash" height="293" width="437"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you use CodeRush and you would like to install these templates, I outlined the steps below.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Download the attached xml file &lt;/li&gt;
&lt;li&gt;Open Visual Studio &lt;/li&gt;
&lt;li&gt;Browse to DevExpress -&amp;gt; Options &lt;/li&gt;
&lt;li&gt;On the left hand, find Editor -&amp;gt; Templates &lt;/li&gt;
&lt;li&gt;Create a folder called Custom Templates if it is not already created &lt;/li&gt;
&lt;li&gt; &lt;ol&gt;
&lt;li&gt;Right-click on the folder structure and click New Root Category... &lt;/li&gt;
&lt;li&gt;Name the folder Custom Templates &lt;/li&gt;
&lt;/ol&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;Import attached template (xml file) &lt;/li&gt;
&lt;li&gt; &lt;ol&gt;
&lt;li&gt;Right click on Custom Templates and click Import Templates... &lt;/li&gt;
&lt;/ol&gt; &lt;/li&gt;
&lt;p&gt;You will now be able to use the RP and DRP custom templates as shown above. You may need to restart Visual Studio for these templates to take effect.&lt;/p&gt;
&lt;p&gt;There are also &lt;a href="http://www.codesmithtools.com/"&gt;Codesmith&lt;/a&gt; templates available if you would rather use Codesmith templates as there are a lot of these available for CSLA. You can check the templates out &lt;a href="http://www.codesmithtools.com/generate-csla-code-with-templates.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span class="asset asset-generic at-xid-6a00d83420db0253ef012875f5b40f970c"&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/csharp_custom-templates_csla-3.0.xml"&gt;Download CodeRush Template (XML file)&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="asset asset-generic at-xid-6a00d83420db0253ef012875f5b40f970c"&gt;&lt;span class="asset asset-generic at-xid-6a00d83420db0253ef012875fd284d970c"&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/csharp_custom-templates_csla-3.0-1.xml"&gt;Download CodeRush Template Version 2 (see update above) (XML file)&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2009/11/coderush-template-for-csla-properties.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2009/11/coderush-template-for-csla-properties.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=hNG5GRkhwxI:GyKdbD29XaY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=hNG5GRkhwxI:GyKdbD29XaY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/hNG5GRkhwxI" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://wrightin.gs/2009/11/coderush-template-for-csla-properties.html</feedburner:origLink></item>
    <item>
      <pubDate>Thu, 02 Jul 2009 03:22:07 -0700</pubDate>
      <title>Nerd Crib</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/pi0pGpc669Q/nerd-crib.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2009/07/nerd-crib.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;
&lt;object height="266" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437"&gt;&lt;param name="movie" value="http://www.viddler.com/simple/c108de30/" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed name="viddler_c108de30" allowfullscreen="true" src="http://www.viddler.com/simple/c108de30/" allowscriptaccess="always" type="application/x-shockwave-flash" height="266" width="437"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;/p&gt;&lt;p&gt;

I wanted to test out the video on my iPhone 3GS when I got it and so here is a quick tour of my nerd crib, a.k.a., my home office.&lt;/p&gt;&lt;p&gt;Here are some of the items from the tour:&lt;/p&gt;&lt;p&gt;Desktop Computer: &lt;a href="http://www.apple.com/macpro/"&gt;Mac Pro&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Laptop Computer: &lt;a href="http://www.apple.com/macbookpro/"&gt;MacBook 13"&lt;/a&gt;&lt;/p&gt;&lt;p&gt;30" Monitor: &lt;a href="http://accessories.us.dell.com/sna/products/Monitors/productdetail.aspx?c=us&amp;amp;l=en&amp;amp;s=dhs&amp;amp;cs=19&amp;amp;sku=222-7175"&gt;Dell 30" Flat Panel&lt;/a&gt;&lt;/p&gt;&lt;p&gt;(2) 20" Monitor: &lt;a href="http://accessories.us.dell.com/sna/products/Displays/productdetail.aspx?c=us&amp;amp;l=en&amp;amp;s=dhs&amp;amp;cs=19&amp;amp;sku=320-7976"&gt;Dell 20" Flat Panel&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Printer: &lt;a href="http://www.epson.com/cgi-bin/Store/consumer/consDetail.jsp?BV_UseBVCookie=yes&amp;amp;oid=63076679"&gt;Epson Workforce 600&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Keyboard: &lt;a href="http://store.apple.com/us/product/MB110LL/A?fnode=MTY1NDA1Mg&amp;amp;mco=NDE4NTQ3NQ"&gt;Apple Keyboard&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Mouse: &lt;a href="http://www.logitech.com/index.cfm/mice_pointers/mice/devices/130%26cl%3Dus%2Cen"&gt;Logitech MX Revolution&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Speakers: &lt;a href="http://www.bose.com/controller?url=/shop_online/speakers/computer_speakers/companion_3/index.jsp"&gt;Bose Companion 3&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Microphone: &lt;a href="http://bluemic.com/bluebird/"&gt;Blue Bluebird&lt;/a&gt; &lt;/p&gt;&lt;p&gt;External Drive: &lt;a href="http://www.wdc.com/en/products/Products.asp?DriveID=606"&gt;Western Digital My Book Mac Edition&lt;/a&gt; &lt;/p&gt;&lt;p&gt;USB Hub: &lt;a href="http://catalog.belkin.com/IWCatProductPage.process?Product_Id=357387"&gt;Belkin USB Hub&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Label maker: &lt;a href="http://www.brother-usa.com/Ptouch/ModelDetail.aspx?ProductID=PT1880"&gt;Brother P-Touch&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Laptop stand: &lt;a href="http://www.raindesigninc.com/mstand.html"&gt;Rain Design mStand&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Desks: &lt;a href="http://www.roomandboard.com/rnb/product/detail.do?productGroup=19581&amp;amp;category=rm_workspaces&amp;amp;subcategory=desk_worktable"&gt;Room and Board Parsons Workdesk&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Chair: &lt;a href="http://www.hermanmiller.com/Products/Aeron-Chairs"&gt;Herman Miller Aeron&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Wall Cabinet: &lt;a href="http://www.ikea.com/us/en/catalog/products/40134050"&gt;IKEA BESTA&lt;/a&gt; &lt;/p&gt;&lt;p&gt;LED lights: &lt;a href="http://www.ikea.com/us/en/catalog/products/50119407"&gt;IKEA DIODER&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Mini-refrigerator: &lt;a href="http://products.geappliances.com/ApplProducts/Dispatcher?REQUEST=SPECPAGE&amp;amp;SKU=GMR06AAPBB&amp;amp;SITEID=GEA"&gt;GE Spacemaker Compact&lt;/a&gt; &lt;/p&gt;&lt;p&gt;City Photography Picture: &lt;a href="http://www.ikea.com/us/en/catalog/products/20114901"&gt;IKEA PREMIAR (by Angelo Cavalli)&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Fake plant thingy: &lt;a href="http://www.ikea.com/us/en/catalog/products/70067997"&gt;IKEA KARENS Vase&lt;/a&gt; +&amp;nbsp; &lt;a href="http://www.ikea.com/us/en/catalog/products/80079443"&gt;IKEA TORKA&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Laptop bag: &lt;a href="http://www.timbuk2.com/tb2/products/bagbuilder/custom-laptop-messenger"&gt;Timbuk2 Small Messenger&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Skateboard Art Book: &lt;a href="http://www.disposablethebook.com/"&gt;Disposable : A History of Skateboard Art&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Web Designers Idea Book: &lt;a href="http://www.amazon.com/Web-Designers-Idea-Book-Ultimate/dp/1600610641"&gt;Web Designers IDEA Book&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Dynamic HTML book: &lt;a href="http://oreilly.com/catalog/9780596527402/"&gt;O'Reilly Dynamic HTML&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Best drink in America: &lt;a href="http://www.redbull.com/"&gt;Redbull&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Do you want your nerd crib featured? &lt;a href="mailto:jwright@wrightin.gs"&gt;Let me know&lt;/a&gt;, I would be happy to come by and talk nerd with you. If you have already toured your nerd crib, link it up on the comments.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2009/07/nerd-crib.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2009/07/nerd-crib.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=pi0pGpc669Q:vuspYaEaRJk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=pi0pGpc669Q:vuspYaEaRJk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/pi0pGpc669Q" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://wrightin.gs/2009/07/nerd-crib.html</feedburner:origLink></item>
    <item>
      <pubDate>Mon, 08 Jun 2009 00:27:06 -0700</pubDate>
      <title>Social Media Breakfast Thoughts</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/Px-rRLat4zA/social-media-breakfast-thoughts.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2009/06/social-media-breakfast-thoughts.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;I recently attended the &lt;a href="http://www.socialmediabreakfast.com/category/smb-toledo/"&gt;Social Media Breakfast Toledo&lt;/a&gt; meeting on the morning of Friday, June 5th. The Social Media Breakfast is a national group. The local Toledo group holds monthly events that consist of 45 minutes of networking time, a half hour talk, and fifteen minutes of Q &amp;amp; A. The topic for this particular day was the "&lt;a href="http://daverigotti.com/dos-and-donts-of-business-blogging"&gt;Do's and Dont's of Business Blogging&lt;/a&gt;" by &lt;a href="http://daverigotti.com/"&gt;Dave Rigotti&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;I have to admit that I expected a lot from this session since it does require a payment of $15 to attend. I think that is a lot to pay for a half hour talk, especially when I am used to attending &lt;a href="http://dayofdotnet.org/"&gt;excellent programming conferences for free&lt;/a&gt;. Even though I expected a lot, I was a little skeptical. I'm always skeptical with "social media" events. I knew that the networking would be worth the price of admission though and I was right as I met some great people (&lt;a href="http://twitter.com/mikebrice"&gt;@mikebrice&lt;/a&gt;, &lt;a href="http://twitter.com/scottradcliff"&gt;@scottradcliff&lt;/a&gt;, &lt;a href="http://twitter.com/8thLopez"&gt;@8thLopez&lt;/a&gt;, &lt;a href="http://twitter.com/7son75"&gt;@7son75&lt;/a&gt;, &lt;a href="http://twitter.com/kfish29"&gt;@kfish29&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;After the talk by Dave Rigotti was over, my suspicions were correct, I was afraid. The talk was good, well prepared, and well presented. My issue was with the content. The content was accurate and very clear but my issue was that it was focused on the HOW of blogging instead of the WHY. I thought that the audience would of benefited more from a talk on the why rather then the how. The how can be found on the internet within a few hours of some searches. &lt;/p&gt;&lt;p&gt;At one point, someone asked, "If my company started blogging, what should I expect my ROI to be?". It was at this point that I was sure some of the audience members did not grasp why blogging was important and could of benefited more from a talk on why you should be blogging. Dave answered this question well but it was very political in my opinion. I don't think that got the point across to the person that asked the question. That person needed to be told that hustle gives you return on investment. Don't expect more customers cause you put out a 300 word blog post one afternoon. You need to put a lot of work into the post, create great content, and listen to the feedback and respond to your audience. I think that there should of been at least 10 minutes of time spent to answer that question. The answer should not of been "it depends". &lt;/p&gt;&lt;p&gt;I feel a lot of companies, especially local companies, do not get the reason why they blog. I think they just do it because they see their competitors doing it. Dave gave some great case studies of blogs that work. He gave the examples of &lt;a href="http://www.freshbooks.com/blog/"&gt;Freshbooks&lt;/a&gt; and &lt;a href="http://www.37signals.com/svn"&gt;37 Signals&lt;/a&gt;, both of which I have been following for a long time. His points about why these companies have great blogs was a little misleading in my opinion though. He gave examples about layout and other extraneous reasons on why the blog is great. The only reason I follow their blogs is not because of their layout, or anything else on their physical site (I just get their content via RSS). I follow them because of their content. They have excellent content which showcases their beliefs and their work. Dave did touch a bit on their content but I think it should of been the focus of the case studies. Your content showcases your company beliefs, what is important to you, and what type of customers you want to serve. If you agree with your vendor views, you will likely turn into customers.&lt;/p&gt;&lt;p&gt;I hope that the SMB Toledo gives us attendees a little more advanced topics for future events for our money. I think this event was well prepared for but I feel it was a starter topic and I was expecting something more advanced. I would like to see more opinionated topics covered. I would like to hear from people who have strong opinions on various topics. I find the opinioned talks are a lot more engaging, even if I don't agree with the speakers.&lt;/p&gt;&lt;p&gt;Dave will be joining Microsoft on the &lt;a href="http://bing.com/"&gt;Bing&lt;/a&gt; team in the near future. With the recent success that the Bing search engine has been having, I look forward to hearing what he has to say about Microsoft and the service in the future. It's going to be hard work when you are a competitor to Google.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2009/06/social-media-breakfast-thoughts.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2009/06/social-media-breakfast-thoughts.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=Px-rRLat4zA:HTZJ14eMe7M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=Px-rRLat4zA:HTZJ14eMe7M:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/Px-rRLat4zA" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://wrightin.gs/2009/06/social-media-breakfast-thoughts.html</feedburner:origLink></item>
    <item>
      <pubDate>Mon, 25 May 2009 19:41:00 -0700</pubDate>
      <title>Demo Code from NWNUG May 19th Meeting</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/_LUMehuz89k/demo-code-from-nwnug-may-19th-meeting.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2009/05/demo-code-from-nwnug-may-19th-meeting.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;Last Tuesday, I presented on &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt; at the &lt;a href="http://www.nwnug.com/"&gt;Northwest Ohio .NET User Group&lt;/a&gt; meeting. There was a large turnout (more then usual) due to some people Tweeting about the meeting and that was a very good surprise.&lt;/p&gt;
&lt;p&gt;I have attached the sides and demo application from the meeting at the bottom of the post. If anyone who attended has any questions from the demonstration or if you did not attend and want to know more about jQuery, please hit me up at jamie AT brilliantfantastic DOT com. If you just want to talk or get in touch, you can email me as well or @reply me on Twitter at &lt;a href="http://twitter.com/jwright"&gt;@jwright&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span class="at-xid-6a00d83420db0253ef01156fb00573970c"&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/jquery-nwnug.pdf"&gt;Download Slides [PDF]&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="at-xid-6a00d83420db0253ef01156fb005bd970c"&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/nwnug.zip"&gt;Download Demo Code [ZIP]&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2009/05/demo-code-from-nwnug-may-19th-meeting.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2009/05/demo-code-from-nwnug-may-19th-meeting.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=_LUMehuz89k:N60hRNRIOiY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=_LUMehuz89k:N60hRNRIOiY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/_LUMehuz89k" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://wrightin.gs/2009/05/demo-code-from-nwnug-may-19th-meeting.html</feedburner:origLink></item>
    <item>
      <pubDate>Tue, 07 Apr 2009 18:10:00 -0700</pubDate>
      <title>Demo Code from West Michigan .NET University</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/pQlVEFGkFko/demo-code-from-west-michigan-net-university.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2009/04/demo-code-from-west-michigan-net-university.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;[Update: Added backup of database below that is needed to run the application.]&lt;/p&gt;
&lt;p&gt;Last Saturday, I drove up to Grand Rapids, Michigan and spoke on "Intermediate Web Development" with &lt;a href="http://codingbandit.com/"&gt;Cary Payette&lt;/a&gt;. This was a&amp;nbsp;one day event&amp;nbsp;put on by &lt;a href="http://cloudsocket.com/"&gt;Chris Woodruff&lt;/a&gt; and others from the &lt;a href="http://www.wmdotnet.org/"&gt;West Michigan .NET Users group&lt;/a&gt; and they did a fantastical job. They did a lot of work and I heard great comments from a bunch of attendees.&lt;/p&gt;
&lt;p&gt;The event was geared towards students and people who did not have a lot of experience with .NET in general. I think the event was effective and we may have added some head count to our community as a result.&lt;/p&gt;
&lt;p&gt;I have attached the code for our demo applications from the event. There are three projects contained within the zip file. There is one each for the ASP.NET Web Forms demo, the jquery demo, and the ASP.NET MVC demo. A lot of people asked me for the code from the jquery demo and you can find it attached. It is a web application that embeds html and jquery code that the user enters and then allows you to run the jquery script against the html. It is an excellent way to test your jquery.&lt;/p&gt;
&lt;p&gt;Feel free to contact me at jamie AT brilliantfantastic DOT com if you have any issues or questions.&lt;/p&gt;
&lt;p&gt;See everyone at the Central Ohio Day of .NET....&lt;/p&gt;
&lt;p&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/west-michigan-.net-university-1.zip"&gt;&lt;span class="at-xid-6a00d83420db0253ef01156ffdaf31970b"&gt;Download West Michigan .NET University Demo Code&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="at-xid-6a00d83420db0253ef0120a4dc7493970b"&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/benjamins.bak"&gt;Download Database Backup file&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2009/04/demo-code-from-west-michigan-net-university.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2009/04/demo-code-from-west-michigan-net-university.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=pQlVEFGkFko:3ZBEEntm1Ys:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=pQlVEFGkFko:3ZBEEntm1Ys:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/pQlVEFGkFko" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://wrightin.gs/2009/04/demo-code-from-west-michigan-net-university.html</feedburner:origLink></item>
    <item>
      <pubDate>Sat, 28 Mar 2009 18:46:00 -0700</pubDate>
      <title>HP 2710 Tablet for Sale</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/m-o3B829qss/hp-2710-tablet-for-sale.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2009/03/hp-2710-tablet-for-sale.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;I have recently moved to a MacBook and I am putting my tablet up for sale. I am putting it here on my blog first and then if I don't have enough interest, I am putting it up on eBay.&lt;/p&gt;
&lt;p&gt;I have recorded a video so you can see what it looks like:&lt;/p&gt;
&lt;p&gt;
&lt;object height="348" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437"&gt;
&lt;param name="wmode" value="transparent" /&gt;
&lt;param name="movie" value="http://www.viddler.com/simple/ce40bd7c/" /&gt;
&lt;param name="allowScriptAccess" value="always" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://www.viddler.com/simple/ce40bd7c/" type="application/x-shockwave-flash" wmode="transparent" height="348" width="437"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/p&gt;
&lt;p&gt;The specs are the following:&lt;/p&gt;
&lt;p&gt;Core 2 Duo 1.33&lt;br /&gt;4G Ram&lt;br /&gt;64G SSD drive&lt;br /&gt;Built in Sprint EVDO&lt;br /&gt;Keyboard light&lt;br /&gt;Slice Battery&lt;br /&gt;Docking Station with DVD burner&lt;br /&gt;1 standard powerpack&lt;br /&gt;1 travel powerpack with airplane adapters&lt;br /&gt;&lt;a href="http://www.sfbags.com/products/sleevecases/sleevecases.htm" target="_blank"&gt;Waterfield custom bag with shoulder strap&lt;/a&gt;&lt;br /&gt;Windows Vista 32 bit&lt;/p&gt;
&lt;p&gt;It has been very well taken care of and I will miss it. The reason I am selling it is because I am giving up on Windows and only using Windows when I need to.&lt;/p&gt;
&lt;p&gt;This has been my exclusive development machine for the past couple months or so, so it is very capable.&lt;/p&gt;
&lt;p&gt;I am asking $1900 and you can use PayPal (i.e. Debit or Credit Card for payment).&lt;/p&gt;
&lt;p&gt;You can email me at jwright AT wrightin DOT gs or jamie AT brilliantfantastic DOT com for questions or your interest.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2009/03/hp-2710-tablet-for-sale.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2009/03/hp-2710-tablet-for-sale.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=m-o3B829qss:Zkjfnd_xKi4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=m-o3B829qss:Zkjfnd_xKi4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/m-o3B829qss" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://wrightin.gs/2009/03/hp-2710-tablet-for-sale.html</feedburner:origLink></item>
    <item>
      <pubDate>Fri, 20 Feb 2009 05:15:00 -0800</pubDate>
      <title>Issues with Linq 2 SQL Designers [Video]</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/2N0oaAb5Whg/issues-with-linq-2-sql-designers.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2009/02/issues-with-linq-2-sql-designers.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;On a recent project, we are using Linq 2 SQL. I love Linq and Linq 2 SQL is pretty RAD as well. The problem is the designer. It sucks. Great idea, just poorly implemented.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We have run into some issues with using the designer that are very frusterating and through some digging and searching, we have come up with some ways around these issues. I wanted to share these with you to save you the time that I have already wasted.&lt;/p&gt;
&lt;p&gt;The issues that we got around and I demonstrate are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Regeneration of the Linq 2 SQL designer code everytime causes the code you have placed in there to disappear. &lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Loss of the designer file when using statements are used within the .cs file.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Take a gander of this video which demostrates some of these work arounds. You may want to use full screen mode to view the code easily.&lt;/p&gt;
&lt;p&gt;
&lt;object height="370" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437"&gt;
&lt;param name="_cx" value="11562" /&gt;
&lt;param name="_cy" value="9790" /&gt;
&lt;param name="FlashVars" /&gt;
&lt;param name="Movie" value="http://www.viddler.com/player/44dca2d/3.099/" /&gt;
&lt;param name="Src" value="http://www.viddler.com/player/44dca2d/3.099/" /&gt;
&lt;param name="WMode" value="Transparent" /&gt;
&lt;param name="Play" value="-1" /&gt;
&lt;param name="Loop" value="-1" /&gt;
&lt;param name="Quality" value="High" /&gt;
&lt;param name="SAlign" /&gt;
&lt;param name="Menu" value="-1" /&gt;
&lt;param name="Base" /&gt;
&lt;param name="AllowScriptAccess" value="always" /&gt;
&lt;param name="Scale" value="ShowAll" /&gt;
&lt;param name="DeviceFont" value="0" /&gt;
&lt;param name="EmbedMovie" value="0" /&gt;
&lt;param name="BGColor" /&gt;
&lt;param name="SWRemote" /&gt;
&lt;param name="MovieData" /&gt;
&lt;param name="SeamlessTabbing" value="1" /&gt;
&lt;param name="Profile" value="0" /&gt;
&lt;param name="ProfileAddress" /&gt;
&lt;param name="ProfilePort" value="0" /&gt;
&lt;param name="AllowNetworking" value="all" /&gt;
&lt;param name="AllowFullScreen" value="true" /&gt; &lt;embed src="http://www.viddler.com/player/44dca2d/3.099/" type="application/x-shockwave-flash" wmode="transparent" height="370" width="437"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2009/02/issues-with-linq-2-sql-designers.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2009/02/issues-with-linq-2-sql-designers.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=2N0oaAb5Whg:kwqnAGs-WQs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=2N0oaAb5Whg:kwqnAGs-WQs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/2N0oaAb5Whg" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://wrightin.gs/2009/02/issues-with-linq-2-sql-designers.html</feedburner:origLink></item>
    <item>
      <pubDate>Wed, 04 Feb 2009 17:26:00 -0800</pubDate>
      <title>Why I am Writing yet another Issue Tracking System</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/6E4DrZbPLkQ/why-i-am-writing-yet-another-issue-tracking-system.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2009/02/why-i-am-writing-yet-another-issue-tracking-system.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;&lt;a href="http://wrightings.typepad.com/.a/6a00d83420db0253ef01116846ce08970c-pi" style="float: left; padding: 10px;"&gt;&lt;br /&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="6a00d83420db0253ef01116846ce08970c-800wi" height="300" src="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/zdkqBmzaltJjoesGwEpmxBocypzwAjvADHkGDGIAupiHfAFyffyrzBFrCBGD/6a00d83420db0253ef01116846ce08970c-800wi.png.scaled500.png" width="300" /&gt;
&lt;/div&gt;
&lt;/a&gt; Someone asked me several years ago why I am writing yet another issue tracking system, "There are literally hundreds of them" he said. "I know", I said, "but this one will be different". How many times has that been said?&lt;/p&gt;
&lt;p&gt;I am fully aware that almost everyone at some point in their software writing careers has thought of or written a bug tracking system. They write these because their specific business need is not satisfied with the "hundreds" that are on the market today. Or, more likely, the ones on the market are just too feature rich and overly priced. Why wouldn't you write your own if you are just trying to capture some common information so you don't use half of the "features" but you still have to pay an arm and a leg? Or the tools are the market do not fit how you work. Some developers like to use Outlook tasks, some developers like to use an integrated IDE, some developers like to use a TODO.txt file. Everyone is different and so to find a tool that fits the needs of a whole team is difficult.&lt;/p&gt;
&lt;p&gt;Throughout my career, I have used many tools to try and make the software development process a little more organized. Organized projects obviously have a better chance of getting done on time and on budget.&lt;/p&gt;
&lt;p&gt;The tools that I have used however have been lacking in one area or another or they are just too "feature" rich and complicated. They all contain some sort of major pain points. I am just trying to reduce those major pain points.&amp;nbsp; Those pain points range from having too much information to enter, too painful to add multipe work items within a session, too painful to edit multiple work items, too many fields to enter, not fast enough, to not enough integration into other applications that developers, managers, and testers use.&lt;/p&gt;
&lt;p&gt;The system that I am building will address these pain points and concentrate on simplicity. It will not corner the users into a certain way of collecting work items for a software project. It will have integration points with the other software that you use. The first release will concentrate on collecting and editing the information followed quickly by the integration piece. After that release, I will look at actively using that information to help users manage a project. That is a whole 'nother conversation.&lt;/p&gt;
&lt;p&gt;For those that already know about the history of this application, you may want to know what the heck have I been up to. I started working on the application several years ago and I have been working on it in between client projects for a full year. I was close to releasing it but when I started using it, I found that it sucked. So I scraped it and started over. I am happy with how the new one is looking and I am definitely going to dog food it a little earlier.&lt;/p&gt;
&lt;p&gt;If you are interested in learning more, you can sign up at &lt;a href="http://teammorale.com/"&gt;http://teammorale.com&lt;/a&gt;. You can also follow the development process and release process on Twitter at &lt;a href="http://twitter.com/morale"&gt;http://twitter.com/morale&lt;/a&gt;. We want to be very transparent and share with you our ideas and thoughts behind the application.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2009/02/why-i-am-writing-yet-another-issue-tracking-system.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2009/02/why-i-am-writing-yet-another-issue-tracking-system.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=6E4DrZbPLkQ:HmXSb0FdBnw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=6E4DrZbPLkQ:HmXSb0FdBnw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/6E4DrZbPLkQ" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
      <media:content type="image/jpeg" height="300" width="300" url="http://getfile3.posterous.com/getfile/files.posterous.com/import-newi/djzFgDIuhhukvmEofAglsvmApauoHmrduikxgqsrmDradjmxebJfrGEhotjs/media_httpwrightingst_JjAnf.jpg">
        <media:thumbnail height="300" width="300" url="http://getfile0.posterous.com/getfile/files.posterous.com/import-newi/djzFgDIuhhukvmEofAglsvmApauoHmrduikxgqsrmDradjmxebJfrGEhotjs/media_httpwrightingst_JjAnf.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/png" height="300" width="300" url="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2010-09-10/zdkqBmzaltJjoesGwEpmxBocypzwAjvADHkGDGIAupiHfAFyffyrzBFrCBGD/6a00d83420db0253ef01116846ce08970c-800wi.png">
        <media:thumbnail height="300" width="300" url="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2010-09-10/zdkqBmzaltJjoesGwEpmxBocypzwAjvADHkGDGIAupiHfAFyffyrzBFrCBGD/6a00d83420db0253ef01116846ce08970c-800wi.png.scaled500.png" />
      </media:content>
    <feedburner:origLink>http://wrightin.gs/2009/02/why-i-am-writing-yet-another-issue-tracking-system.html</feedburner:origLink></item>
    <item>
      <pubDate>Tue, 13 Jan 2009 15:16:00 -0800</pubDate>
      <title>What I Have Been Up To [Video]</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/KXxbgE7EWjQ/what-i-have-been-up-to.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2009/01/what-i-have-been-up-to.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;
&lt;object height="370" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437"&gt;
&lt;param name="_cx" value="11562" /&gt;
&lt;param name="_cy" value="9790" /&gt;
&lt;param name="FlashVars" /&gt;
&lt;param name="Movie" value="http://www.viddler.com/player/cb84fe4/" /&gt;
&lt;param name="Src" value="http://www.viddler.com/player/cb84fe4/" /&gt;
&lt;param name="WMode" value="Window" /&gt;
&lt;param name="Play" value="-1" /&gt;
&lt;param name="Loop" value="-1" /&gt;
&lt;param name="Quality" value="High" /&gt;
&lt;param name="SAlign" /&gt;
&lt;param name="Menu" value="-1" /&gt;
&lt;param name="Base" /&gt;
&lt;param name="AllowScriptAccess" value="always" /&gt;
&lt;param name="Scale" value="ShowAll" /&gt;
&lt;param name="DeviceFont" value="0" /&gt;
&lt;param name="EmbedMovie" value="0" /&gt;
&lt;param name="BGColor" /&gt;
&lt;param name="SWRemote" /&gt;
&lt;param name="MovieData" /&gt;
&lt;param name="SeamlessTabbing" value="1" /&gt;
&lt;param name="Profile" value="0" /&gt;
&lt;param name="ProfileAddress" /&gt;
&lt;param name="ProfilePort" value="0" /&gt;
&lt;param name="AllowNetworking" value="all" /&gt;
&lt;param name="AllowFullScreen" value="true" /&gt; &lt;embed src="http://www.viddler.com/player/cb84fe4/" type="application/x-shockwave-flash" height="370" width="437"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Just a quick update on what I have been up to in glorious video form...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here are some links that were mentioned in the video:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &lt;a href="http://innovativstudios.com/"&gt;Innovativ Studios&lt;/a&gt; &lt;/li&gt;
&lt;li&gt; &lt;a href="http://brilliantfantastic.com/"&gt;Brilliant Fantastic&lt;/a&gt; &lt;/li&gt;
&lt;li&gt; &lt;a href="http://madefromdolly.com/"&gt;Made from Dolly&lt;/a&gt; &lt;/li&gt;
&lt;li&gt; &lt;a href="http://teammorale.com/"&gt;Morale&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2009/01/what-i-have-been-up-to.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2009/01/what-i-have-been-up-to.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=KXxbgE7EWjQ:Xy1aVx57e6k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=KXxbgE7EWjQ:Xy1aVx57e6k:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/KXxbgE7EWjQ" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://wrightin.gs/2009/01/what-i-have-been-up-to.html</feedburner:origLink></item>
    <item>
      <pubDate>Wed, 26 Nov 2008 22:07:00 -0800</pubDate>
      <title>Ninject Example Code and Slides from NWNUG Lightning Talk</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/sn2Cf7IatB8/ninject-example-code-and-slides-from-nwnug-lightning-talk.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2008/11/ninject-example-code-and-slides-from-nwnug-lightning-talk.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;img alt="6a00d83420db0253ef0105361d2716970b-800wi" height="137" src="http://posterous.com/getfile/files.posterous.com/temp-2010-09-10/uiwDxHADbjIxkGasozptxesaAbzwqvfChBdhcsjoeqwGotqszGtosyECxavg/6a00d83420db0253ef0105361d2716970b-800wi.png.scaled500.png" width="450" /&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;I lightning did a talk at last week's (11/18) NWNUG meeting on &lt;a href="http://ninject.org/"&gt;Ninject&lt;/a&gt;. I have posted the demo code and slides (in PDF form) below. In this example, I show how easy it is to swap out your data access layers using Ninject as the dependency injection framework.&lt;/p&gt;
&lt;p&gt;Please do not hesitate to email me if you have issues or questions about Ninject or this demonstration. My email address is on the sidebar of this blog.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/brilliantfantastic.podium-1.zip"&gt;&lt;span class="at-xid-6a00d83420db0253ef0105361d2787970b"&gt;Download Demo Source Code&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/realworldninject.pdf"&gt;&lt;span class="at-xid-6a00d83420db0253ef0105361d27fd970b"&gt;Download Slides [PDF]&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2008/11/ninject-example-code-and-slides-from-nwnug-lightning-talk.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2008/11/ninject-example-code-and-slides-from-nwnug-lightning-talk.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=sn2Cf7IatB8:1RbOxWwE6W0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=sn2Cf7IatB8:1RbOxWwE6W0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/sn2Cf7IatB8" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
      <media:content type="image/jpeg" height="137" width="450" url="http://getfile4.posterous.com/getfile/files.posterous.com/import-newi/rAqvCHqJfkcbxzcxjprtwGzFvDmlourtCfxkowikbblEbljjixEsBqafyrrf/media_httpwrightingst_hnCnD.jpg">
        <media:thumbnail height="137" width="450" url="http://getfile8.posterous.com/getfile/files.posterous.com/import-newi/rAqvCHqJfkcbxzcxjprtwGzFvDmlourtCfxkowikbblEbljjixEsBqafyrrf/media_httpwrightingst_hnCnD.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/png" height="137" width="450" url="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2010-09-10/uiwDxHADbjIxkGasozptxesaAbzwqvfChBdhcsjoeqwGotqszGtosyECxavg/6a00d83420db0253ef0105361d2716970b-800wi.png">
        <media:thumbnail height="137" width="450" url="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2010-09-10/uiwDxHADbjIxkGasozptxesaAbzwqvfChBdhcsjoeqwGotqszGtosyECxavg/6a00d83420db0253ef0105361d2716970b-800wi.png.scaled500.png" />
      </media:content>
    <feedburner:origLink>http://wrightin.gs/2008/11/ninject-example-code-and-slides-from-nwnug-lightning-talk.html</feedburner:origLink></item>
    <item>
      <pubDate>Mon, 03 Nov 2008 16:16:00 -0800</pubDate>
      <title>How To Encrypt/Decrypt Sensitive Column Contents in NHibernate/Active Record [Video]</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/6kTcrmb0yDY/how-to-encryptdecrypt-sensitive-column-contents-in-nhibernateactive-record-video.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2008/11/how-to-encryptdecrypt-sensitive-column-contents-in-nhibernateactive-record-video.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;In this video, I show a solution that encrypts and decrypts column contents in a database using NHibernate and Active Record. The implementation is a simple attribute placed on your Active Record class properties which allows for encrypting text before it is saved to the database and decrypting text when it comes from the database. This solution is simple and clean and can easily be placed on all sensitive database columns such as user passwords, credit card details, etc.&lt;/p&gt;
&lt;p&gt;In order to view the code correctly, you may need to view it in a full window. I am looking into using some Silverlight encoding for a better experience.&lt;/p&gt;
&lt;p&gt;Video link: &lt;iframe src="http://www.viddler.com/embed/99c27682/?f=1&amp;offset=0&amp;autoplay=0&amp;disablebranding=0" id="viddler-99c27682" frameborder="0" height="417" width="500"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/encrypting_an_active_record_column.zip"&gt;Download the source that is shown in this video.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;object height="356" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437"&gt;&lt;param name="_cx" value="11562" /&gt;&lt;param name="_cy" value="9419" /&gt;&lt;param name="FlashVars" value="" /&gt;&lt;param name="Movie" value="http://www.viddler.com/player/99c27682/" /&gt;&lt;param name="Src" value="http://www.viddler.com/player/99c27682/" /&gt;&lt;param name="WMode" value="Transparent" /&gt;&lt;param name="Play" value="-1" /&gt;&lt;param name="Loop" value="-1" /&gt;&lt;param name="Quality" value="High" /&gt;&lt;param name="SAlign" value="" /&gt;&lt;param name="Menu" value="-1" /&gt;&lt;param name="Base" value="" /&gt;&lt;param name="AllowScriptAccess" value="always" /&gt;&lt;param name="Scale" value="ShowAll" /&gt;&lt;param name="DeviceFont" value="0" /&gt;&lt;param name="EmbedMovie" value="0" /&gt;&lt;param name="BGColor" value="" /&gt;&lt;param name="SWRemote" value="" /&gt;&lt;param name="MovieData" value="" /&gt;&lt;param name="SeamlessTabbing" value="1" /&gt;&lt;param name="Profile" value="0" /&gt;&lt;param name="ProfileAddress" value="" /&gt;&lt;param name="ProfilePort" value="0" /&gt;&lt;param name="AllowNetworking" value="all" /&gt;&lt;param name="AllowFullScreen" value="true" /&gt; &lt;embed name="viddler" src="true" allowfullscreen="http://www.viddler.com/player/99c27682/" wmode="always" type="application/x-shockwave-flash" allowscriptaccess="transparent" height="356" width="437" /&gt; &lt;/object&gt;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2008/11/how-to-encryptdecrypt-sensitive-column-contents-in-nhibernateactive-record-video.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2008/11/how-to-encryptdecrypt-sensitive-column-contents-in-nhibernateactive-record-video.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=6kTcrmb0yDY:SkMFf0o-m_M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=6kTcrmb0yDY:SkMFf0o-m_M:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/6kTcrmb0yDY" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://wrightin.gs/2008/11/how-to-encryptdecrypt-sensitive-column-contents-in-nhibernateactive-record-video.html</feedburner:origLink></item>
    <item>
      <pubDate>Thu, 23 Oct 2008 01:47:00 -0700</pubDate>
      <title>Ann Arbor Day of .NET CSLA Slides and Demo Application [Video]</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/l3qKL6rGxQA/ann-arbor-day-of-net-csla-slides-and-demo-application-video.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2008/10/ann-arbor-day-of-net-csla-slides-and-demo-application-video.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;I have attached the slides and the demo application I wrote for the Ann Arbor Day of .NET CSLA.NET talk.&amp;nbsp; Here is a little video of some of my thoughts for the event, and...a little controversy.&lt;/p&gt;
&lt;p&gt;Video Link: &lt;iframe src="http://www.viddler.com/embed/bc3e43be/?f=1&amp;offset=0&amp;autoplay=0&amp;disablebranding=0" id="viddler-bc3e43be" frameborder="0" height="417" width="500"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/IntroToCSLA.pdf"&gt;Download Slides [PDF]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://dl.dropbox.com/u/987517/wrightings/InnovativStudios.NinjaCreator.zip"&gt;Download Demo Application [ZIP]&lt;/a&gt;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2008/10/ann-arbor-day-of-net-csla-slides-and-demo-application-video.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2008/10/ann-arbor-day-of-net-csla-slides-and-demo-application-video.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=l3qKL6rGxQA:Qq9gIxKQXa0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=l3qKL6rGxQA:Qq9gIxKQXa0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/l3qKL6rGxQA" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://wrightin.gs/2008/10/ann-arbor-day-of-net-csla-slides-and-demo-application-video.html</feedburner:origLink></item>
    <item>
      <pubDate>Wed, 01 Oct 2008 14:58:00 -0700</pubDate>
      <title>Ann Arbor Day of .NET 2008</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/LFfKgA8mUUc/ann-arbor-day-o.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2008/10/ann-arbor-day-o.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;The &lt;a href="http://dayofdotnet.org/"&gt;Ann Arbor Day of .NET&lt;/a&gt; will be held on October 18th. The event is free and I will be speaking!&lt;/p&gt;
&lt;p&gt;
&lt;object height="370" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437"&gt;
&lt;param name="movie" value="http://www.viddler.com/player/d747d88c/" /&gt;
&lt;param name="allowScriptAccess" value="always" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://www.viddler.com/player/d747d88c/" type="application/x-shockwave-flash" height="370" width="437"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2008/10/ann-arbor-day-o.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2008/10/ann-arbor-day-o.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=LFfKgA8mUUc:he7669W1-ys:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=LFfKgA8mUUc:he7669W1-ys:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/LFfKgA8mUUc" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://wrightin.gs/2008/10/ann-arbor-day-o.html</feedburner:origLink></item>
    <item>
      <pubDate>Fri, 26 Sep 2008 16:32:00 -0700</pubDate>
      <title>Introduction of The Tweet Shirt - The Twitter T-Shirt</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/EAUrDm20IMc/introduction-of.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2008/09/introduction-of.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;So here is a video that shows off the our first product from our new side project &lt;a href="http://madefromdolly.com/"&gt;Made From Dolly&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The first product is a t-shirt called the Tweet Shirt. It is a t-shirt that advertises your &lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt; username. You go to &lt;a href="http://madefromdolly.com/tweetshirt"&gt;http://madefromdolly.com/tweetshirt&lt;/a&gt;, enter your twitter username and you get a shirt printed with your username on it. Pure sweetness.&lt;/p&gt;
&lt;p&gt;
&lt;object height="370" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437"&gt;
&lt;param name="movie" value="http://www.viddler.com/player/ba40ce6e/" /&gt;
&lt;param name="allowScriptAccess" value="always" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt; &lt;embed src="http://www.viddler.com/player/ba40ce6e/" type="application/x-shockwave-flash" height="370" width="437"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2008/09/introduction-of.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2008/09/introduction-of.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=EAUrDm20IMc:iM51irDy-UY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=EAUrDm20IMc:iM51irDy-UY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/EAUrDm20IMc" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://wrightin.gs/2008/09/introduction-of.html</feedburner:origLink></item>
    <item>
      <pubDate>Fri, 26 Sep 2008 01:34:00 -0700</pubDate>
      <title>Aww...My First Video</title>
      <link>http://feedproxy.google.com/~r/wrightin_gs/~3/ezicyr5ssBc/my-first-video.html</link>
      <guid isPermaLink="false">http://wrightin.gs/2008/09/my-first-video.html</guid>
      <description>&lt;p&gt;
	&lt;p&gt;So I decided to post my first video blog. I will hopefully be doing more of these in the future.&lt;/p&gt;
&lt;p&gt;
&lt;object height="370" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437"&gt;
&lt;param name="movie" value="http://www.viddler.com/player/792cf0bb/" /&gt;
&lt;param name="allowScriptAccess" value="always" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;
&lt;param name="wmode" value="transparent" /&gt; &lt;embed src="http://www.viddler.com/player/792cf0bb/" type="application/x-shockwave-flash" wmode="transparent" height="370" width="437"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://wrightin.gs/2008/09/my-first-video.html"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://wrightin.gs/2008/09/my-first-video.html#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=ezicyr5ssBc:DdrDS4nLoJw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/wrightin_gs?a=ezicyr5ssBc:DdrDS4nLoJw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/wrightin_gs?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/wrightin_gs/~4/ezicyr5ssBc" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/698679/bio.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4wzwxZVURAWd</posterous:profileUrl>
        <posterous:firstName>Jamie</posterous:firstName>
        <posterous:lastName>Wright</posterous:lastName>
        <posterous:nickName>jwright</posterous:nickName>
        <posterous:displayName>Jamie Wright</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://wrightin.gs/2008/09/my-first-video.html</feedburner:origLink></item>
  </channel>
</rss>

