<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
  <title>AppVenture</title>
  <link rel="alternate" type="text/html" href="http://blogs.appventure.com/" />
  <link rel="self" href="http://blogs.appventure.com/SyndicationService.asmx/GetAtom" />
  <icon>favicon.ico</icon>
  <updated>2009-07-07T15:16:45.6621968-06:00</updated>
  <author>
    <name>Appventure, Inc.</name>
  </author>
  <subtitle />
  <id>http://blogs.appventure.com/</id>
  <generator uri="http://www.dasblog.net" version="2.0.7180.0">DasBlog</generator>
  <entry>
    <title>Recap and Links from Kathleen&amp;rsquo;s England, Scotland and Ireland Trip</title>
    <link rel="alternate" type="text/html" href="http://blogs.appventure.com/2009/07/07/RecapAndLinksFromKathleenrsquosEnglandScotlandAndIrelandTrip.aspx" />
    <id>http://blogs.appventure.com/PermaLink,guid,93968b54-88a2-4c00-af9c-db5e554e0ce8.aspx</id>
    <published>2009-07-07T15:15:10.8803402-06:00</published>
    <updated>2009-07-07T15:16:45.6621968-06:00</updated>
    <category term=".net" label=".net" scheme="http://blogs.appventure.com/CategoryView,category,.net.aspx" />
    <category term="generics" label="generics" scheme="http://blogs.appventure.com/CategoryView,category,generics.aspx" />
    <category term="MEF" label="MEF" scheme="http://blogs.appventure.com/CategoryView,category,MEF.aspx" />
    <category term="userGroup" label="userGroup" scheme="http://blogs.appventure.com/CategoryView,category,userGroup.aspx" />
    <category term="WPF" label="WPF" scheme="http://blogs.appventure.com/CategoryView,category,WPF.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <br />
        </p>
        <h2>June 16th  - Code Generation 2009
</h2>
        <p>
          <br />
I was in the first round of breakout speakers at Code Generation 2009. It was fabulous
to be in the company of  so many people that knew so much about Code Generation
and DSL. I gave the conference the slide deck for this. If you were there and don’t
find them, send me email. I’d really like to see the Code Generation folks put on
a conference in the US, hopefully late 2010. If you’re interested, let me know via
email. 
<br /></p>
        <h2>June 19th  - Cambridge
</h2>
        <p>
          <br />
I spoke to the Cambridge .NET User Group on Refactoring with Generics. Many people
in the audience knew a good deal of the material, so I could go very fast, even having
time for the overloads section I’ve generally cut out in the interest of time. Thanks
everyone for coming! 
</p>
        <p>
          <a href="http://blogs.appventure.com/files/Generics-Cambridge.zip" target="_blank">[[
Slides for Refactoring with Generics ]]</a>
          <br />
        </p>
        <h2>June 22nd – Edinburgh
</h2>
        <p>
          <br />
I had a great weekend with friends in Dunbar, Scotland. The sea, the day, the cliffs,
the food, the rocks, the conversation, all grand. It is a delight when lives grown
and remain parallel. Edinburgh is perhaps my favorite city on the planet. The 3D nature
of Old Town is a delight and the day after the talk I climbed Holyrood Hill/Arthur’s
Seat on a spectacular sunny day as well as wandering miles in both Old and New Town.
I gave my “Rethinking Object Oreintation” talk. This is a talk that is still rapidly
evolving and different every time I give it. This time it wound up without enough
return to focus. 
</p>
        <p>
          <a href="http://blogs.appventure.com/files/RethinkingObjectOrientationy-Edinburgh.zip" target="_blank">[[Slides
for Rethinking Object Orientation ]]</a>
          <br />
        </p>
        <h2>June 23rd – Glasgow
</h2>
        <p>
          <br />
My son joined me for this part of the vacation (he was supposed to join me leaving
Cambridge, but his life intervened). I surprised him by finding him on the train instead
of in the station at Glasgow. We found some nice Tapas, having been warned that my
usual plan of getting a meal with beers after the talk might not work well in Glasgow.
I spoke on MEF, which is a challenging topic, but folks seemed to really get it. It’s
great getting the message out. 
</p>
        <p>
          <a href="http://blogs.appventure.com/files/MEF-Glasgow.zip" target="_blank">[[ Slides
for MEF and MAF: Your Application in Pieces ]]</a>
        </p>
        <h2>June 24th – Dublin
</h2>
        <br />
        <p>
We took an early flight to Dublin where I spoke both at MIX Essentials and the Dublin
user group allowing me to cover both Silverlight architecture and WPF. The Silverlight
talk was a challenge because I realized an hour before the talk that I had killed
Silverlight in my 2010 installation, and converted my relevant demos to 2010. I dropped
back to some older demos, but it left a few cases of “the code does xxx, um, no it
doesn’t, does it.” I didn’t get to see much of Dublin, but my son found St. Stephens
green and I thoroughly enjoyed walking a few minutes there on our way to and from
a quick dinner. Thanks to Martha Rotter for all her help arranging the Ireland leg
of the trip. 
</p>
        <p>
          <a href="http://blogs.appventure.com/files/SilverlightArchitecture-Dublin.zip" target="_blank">[[
Slides for The Challenge of Silverlight Architectures ]]</a>
          <br />
          <a href="http://blogs.appventure.com/files/WPF-BeyondTheBling-Dublin.zip" target="_blank">[[
Slides for WPF: Beyond the Bling ]]</a>
          <br />
        </p>
        <h2>June 25th – Cork
</h2>
        <p>
          <br />
We took a train down to Cork where Joe Gill picked us up and took us to Blarney Castle.
Being the scientific type, I, of course, kissed the Blarney Stone to see if it improves
my speaking. Joe was patient waiting for us because between the line at the castle
and us unable to resist the gardens and Close we took several hours. If you ever visit
the castle, be sure to leave time for the grounds: at least the Fern Garden and Rock
Close. Before our train out the next day, we also made it to Café Paradiso. My son
is vegetarian, so a gourmet vegetarian restaurant was wonderful. I covered .NET 4.0
Language and IDE Features. It was the first time I’ve given that talk on the beta,
and it was great not to crash a single time in a talk I designed and timed around
CTP crashes/lockups. 
</p>
        <p>
          <a href="http://blogs.appventure.com/files/NET-4.0-LanguageAndIdeFeatures-Cork.zip" target="_blank">[[Slides
for .NET 4.0 Language and IDE Features ]]</a>
          <br />
        </p>
        <h2>June 26-28th  - Holiday
</h2>
        <p>
          <br />
While it deserves a full post on my personal blog, several people gave us advice for
our weekend, which was completely unscheduled until a few hours before we left on
Friday morning. Aideen in the Cork Tourist Office was fabulous and booked us into
Channel View Guest House in Baltimore, and Whitethorn Lodge in Skibbereen, with appropriate
bus schedules. We spent a half day on Cape Clear Island and all in all had a fabulous
trip to Southwest Cork. 
<br /></p>
        <h2>June 29th – Bristol
</h2>
        <p>
          <br />
This was the only repeated talk on the trip, and I wasn’t altogether happy with how
it went in Edinburgh. So rather than touring Bristol or Bath, or visiting Wales, I
stayed in my room and worked on the talk. I’m happy with it now, although not altogether
with how the timing/content balance went in Bristol (yes, I’m always critiquing and
working on my talks).  I’m not so happy that I missed on seeing this part of
England, but I guess that just means I need to go back. 
</p>
        <p>
          <a href="http://blogs.appventure.com/files/RethinkingObjectOrientationy-Bristol.zip" target="_blank">[[
Updated slides for Rethinking Object Orientation ]]</a>
          <br />
        </p>
        <h2>June 30th - Onward to home
</h2>
        <p>
          <br />
I probably won’t schedule eight talks for a vacation again, but I had a great deal
of fun and saw places I probably would have missed. I spent the last day in London,
again finding a hotel at the last minute. I was dismayed that there is not a Tourist
Info in Paddington Station, and at this point I was carrying a rather heavy spare
bag because my son was using me as porter to carry home for him. But the nice man
in the train information office pointed me to a private booking company a few feet
from Paddington which found a lovely hotel for me on Sussex Gardens a block from the
station. I had the first bad experience on a bus tour, the traffic was so bad, we
seemingly went nowhere, so I ditched the bus near Parliament and grabbed a boat tour,
and then took the London Eye and walked a few miles, including seeing Buckingham Palace
and walking through Kensington Gardens. 
</p>
        <img width="0" height="0" src="http://blogs.appventure.com/aggbug.ashx?id=93968b54-88a2-4c00-af9c-db5e554e0ce8" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Presentation and Code from Rocky Mountain Tech Trifecta 2008</title>
    <link rel="alternate" type="text/html" href="http://blogs.appventure.com/2009/03/02/PresentationAndCodeFromRockyMountainTechTrifecta2008.aspx" />
    <id>http://blogs.appventure.com/PermaLink,guid,b760dfb3-a15e-4772-ab1d-7f4e692d0d76.aspx</id>
    <published>2009-03-01T20:34:08.8807369-07:00</published>
    <updated>2009-03-01T20:34:08.8807369-07:00</updated>
    <category term="architecture" label="architecture" scheme="http://blogs.appventure.com/CategoryView,category,architecture.aspx" />
    <category term="userGroup" label="userGroup" scheme="http://blogs.appventure.com/CategoryView,category,userGroup.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Thanks to everyone who came out to the event last weekend. Please find attached my
slides for my presentation on modeling software architectures and some corresponding
code.
</p>
        <p>
          <a href="http://blogs.appventure.com/files/ModelingArchitecture-RMTT08.pdf" target="_blank">Modeling
Software Architectures</a>
        </p>
        <p>
          <a href="http://blogs.appventure.com/files/BugTracker-RMTT08.zip" target="_blank">Bug
Tracker Code</a>
        </p>
        <img width="0" height="0" src="http://blogs.appventure.com/aggbug.ashx?id=b760dfb3-a15e-4772-ab1d-7f4e692d0d76" />
      </div>
    </content>
  </entry>
  <entry>
    <title>South Colorado .NET User Group: Kathleen Dollard&amp;rsquo;s Slides and Code</title>
    <link rel="alternate" type="text/html" href="http://blogs.appventure.com/2009/02/05/SouthColoradoNETUserGroupKathleenDollardrsquosSlidesAndCode.aspx" />
    <id>http://blogs.appventure.com/PermaLink,guid,94e85668-acca-43f3-a7da-8f98f9ce2a41.aspx</id>
    <published>2009-02-05T15:20:22.3195492-07:00</published>
    <updated>2009-02-05T15:20:22.3195492-07:00</updated>
    <category term="userGroup" label="userGroup" scheme="http://blogs.appventure.com/CategoryView,category,userGroup.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Thanks to everyone who came to the <a href="http://www.southcolorado.net/" target="_blank">South
Colorado .NET User Group</a> to hear Kathleen speak.  Please find her slides
and code samples.
</p>
        <p>
          <a href="http://blogs.appventure.com/files/RethinkingObjectOrientationSprings2009.pdf" target="_blank">Rethinking
Object Orientation Slides</a>
        </p>
        <p>
          <a href="http://blogs.appventure.com/files/RethinkingObjectOrientationDenver2009_Code.zip" target="_blank">Rethinking
Object Orientation Code Samples</a>
        </p>
        <img width="0" height="0" src="http://blogs.appventure.com/aggbug.ashx?id=94e85668-acca-43f3-a7da-8f98f9ce2a41" />
      </div>
    </content>
  </entry>
  <entry>
    <title>The Phrase &amp;ldquo;Common Sense&amp;rdquo; should be removed from the English Language</title>
    <link rel="alternate" type="text/html" href="http://blogs.appventure.com/2009/01/31/ThePhraseLdquoCommonSenserdquoShouldBeRemovedFromTheEnglishLanguage.aspx" />
    <id>http://blogs.appventure.com/PermaLink,guid,78794b42-d49e-4bbd-b85b-bfdc1c38bd82.aspx</id>
    <published>2009-01-31T11:59:12.9152412-07:00</published>
    <updated>2009-01-31T12:00:11.0871162-07:00</updated>
    <category term="business" label="business" scheme="http://blogs.appventure.com/CategoryView,category,business.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
A few days ago, after a Microsoft event in Denver, I was hanging with <a href="http://www.robbagby.com" target="_blank">Rob
Bagby</a> (another great set of presentations from Rob) and some other developers. 
One of our group members, another fellow named Rob, remarked that the phrase “Common
Sense” should be removed from the English language.  He suggested that we replace
it with the phrase “Uncommon Sense” given the rarity with which common sense is found.
</p>
        <p>
For instance, we were discussing the process of developing software and the multiple
constituencies represented on a typical software project: business executives, project
management, design, development, users, etc.  Amazingly, everyone on the project
expects “success” even though statistically, the odds are against it (see Standish
Group’s Chaos Report).
</p>
        <p>
Looks like the folks at the <a href="http://denver.bizjournals.com/denver/stories/2009/01/12/daily9.html" target="_blank">Shane
Company fell prey to this often overlooked statistic</a>.  What “Common Sense”
business-person would allow an $8-10MM 12-month project stretch to $36MM and 32 months
for a Point-of-Sale and Inventory Management System (sadly, the system still has bugs)?
That $36MM figure represents at least a couple of years of profits for the jeweler. 
The company that produced this $36MM software system ought to be ashamed.  They
didn’t have the “Common Sense” to put an end to the black-hole of code that they produced. 
I bet the lone reader of this blog is thinking that if they were running the project,
they would have had the “Uncommon Sense” to have delivered that project with better
results.  But that’s what everyone would like to think about themselves. 
I think that I could have done the project for $1,000 in under one day.  I would
have told them to never start such a huge undertaking in one go.
</p>
        <img width="0" height="0" src="http://blogs.appventure.com/aggbug.ashx?id=78794b42-d49e-4bbd-b85b-bfdc1c38bd82" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Denver Visual Studio User Group: Kathleen Dollard&amp;rsquo;s Slides and Code</title>
    <link rel="alternate" type="text/html" href="http://blogs.appventure.com/2009/01/27/DenverVisualStudioUserGroupKathleenDollardrsquosSlidesAndCode.aspx" />
    <id>http://blogs.appventure.com/PermaLink,guid,faf5d8d0-4def-4f4b-a689-db3e25e9513b.aspx</id>
    <published>2009-01-27T11:44:59.4114396-07:00</published>
    <updated>2009-02-05T15:17:40.1007992-07:00</updated>
    <category term="userGroup" label="userGroup" scheme="http://blogs.appventure.com/CategoryView,category,userGroup.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Thanks to everyone who braved the elements and came to the <a href="http://www.denvervisualstudio.net" target="_blank">Denver
Visual Studio User Group</a> last night to hear Kathleen speak.  Please find
her slides and code samples.
</p>
        <p>
          <a href="http://blogs.appventure.com/files/RethinkingObjectOrientationDenver2009.pdf" target="_blank">Rethinking
Object Orientation Slides</a>
        </p>
        <p>
          <a href="http://blogs.appventure.com/files/RethinkingObjectOrientationDenver2009_Code.zip" target="_blank">Rethinking
Object Orientation Code Samples</a>
        </p>
        <img width="0" height="0" src="http://blogs.appventure.com/aggbug.ashx?id=faf5d8d0-4def-4f4b-a689-db3e25e9513b" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Review: NeatReceipts</title>
    <link rel="alternate" type="text/html" href="http://blogs.appventure.com/2009/01/14/ReviewNeatReceipts.aspx" />
    <id>http://blogs.appventure.com/PermaLink,guid,dbd5fc62-4b2c-4916-b23a-89e3cd1e5c77.aspx</id>
    <published>2009-01-14T11:14:37.2202262-07:00</published>
    <updated>2009-01-14T11:14:37.2202262-07:00</updated>
    <category term="review" label="review" scheme="http://blogs.appventure.com/CategoryView,category,review.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Overall: 4 out of 5
</p>
        <p>
Highs: easy to use, good single page scanner/ocr solution, awesome tech support
</p>
        <p>
Lows: installation issues for non-default installation, a bit slow to start up
</p>
        <p>
I have been wanting a solution for organizing my receipts, reference documents, business
cards for quite some time.  Enter <a href="http://www.neatco.com/" target="_blank">NeatReceipts</a>. 
It is a good product and their tech support (which I hope that you won’t need) is
awesome!  The optical character recognition (ocr) is good and the receipt scanning
works well.  The user interface (UI) leaves a little to be desired in terms of
looks (a personal problem – I don’t like grid-heavy UIs that much), but it is quite
functional and snappy/generally responsive.
</p>
        <p>
My biggest issue was that I did a non-standard installation and tried to install their
software (latest version as of Jan. 12, 2009) on a drive that was different than my
Windows installation.  What a mistake that was!  After wasting a couple
of hours trying to get that installation to work, I finally mentioned that crucial
detail to the tech support person with whom I was instant messaging and they quickly
told me to conform and install on the same drive as my Windows installation. 
With that new tidbit of information, the installation went off without a hitch. 
One other issue that I ran into was a synchronization one related to Outlook. 
I had scanned in a business card and sync’d with Outlook.  I realized that the
contact info had been Optically Character Recognized (ocr’d) incorrectly.  I
corrected the mistake (which I should have caught earlier) and re-sync’d.  For
some reason my Outlook information got overwritten by the info from NeatReceipts. 
Being a stubborn fool, I decided to try it again.  I updated the info in Outlook
and then re-sync’d.  It worked this time.  Hmmmm… Ok.  I was a bit
concerned about the sync at that point, but all seems to be well so far.  Also,
the program is a bit slow to start, but then it is snappy, so I appreciate that trade-off.
</p>
        <img width="0" height="0" src="http://blogs.appventure.com/aggbug.ashx?id=dbd5fc62-4b2c-4916-b23a-89e3cd1e5c77" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Northern Colorado .NET User Group Presentation and Code - Meeting January 12, 2009</title>
    <link rel="alternate" type="text/html" href="http://blogs.appventure.com/2009/01/14/NorthernColoradoNETUserGroupPresentationAndCodeMeetingJanuary122009.aspx" />
    <id>http://blogs.appventure.com/PermaLink,guid,d455fe8a-1db5-43db-a885-bba44d51308f.aspx</id>
    <published>2009-01-14T10:41:53.5171012-07:00</published>
    <updated>2009-01-14T10:48:15.1108512-07:00</updated>
    <category term="architecture" label="architecture" scheme="http://blogs.appventure.com/CategoryView,category,architecture.aspx" />
    <category term="userGroup" label="userGroup" scheme="http://blogs.appventure.com/CategoryView,category,userGroup.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Thank you to everyone who came to the meeting to hear about Pragmatic Architecture! 
Please find my code below.  
</p>
        <p>
You can download the original code here: <a href="http://www.beansoftware.com/ASP.NET-Tutorials/Developing-Shopping-Cart.aspx" target="_blank">Original
Shopping Cart Code</a></p>
        <p>
          <a href="files/CSharpShoppingCartProject.zip" target="_blank">My converted C# Code</a>
        </p>
        <p>
          <a href="files/CSharpShoppingCartProjectRefactored2.zip" target="_blank">My refactored
C# Code</a>
        </p>
        <p>
Please feel free to contact me with your comments and suggestions!
</p>
        <img width="0" height="0" src="http://blogs.appventure.com/aggbug.ashx?id=d455fe8a-1db5-43db-a885-bba44d51308f" />
      </div>
    </content>
  </entry>
  <entry>
    <title>AppVenture Launches Stand-Alone T4 Template Engine</title>
    <link rel="alternate" type="text/html" href="http://blogs.appventure.com/2008/12/13/AppVentureLaunchesStandAloneT4TemplateEngine.aspx" />
    <id>http://blogs.appventure.com/PermaLink,guid,dcaa522a-6221-4139-8a3f-42d8882c6218.aspx</id>
    <published>2008-12-12T21:10:00-07:00</published>
    <updated>2008-12-10T14:14:45.440988-07:00</updated>
    <category term="continuous integration" label="continuous integration" scheme="http://blogs.appventure.com/CategoryView,category,continuous%2Bintegration.aspx" />
    <category term="T4" label="T4" scheme="http://blogs.appventure.com/CategoryView,category,T4.aspx" />
    <category term="templates" label="templates" scheme="http://blogs.appventure.com/CategoryView,category,templates.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
We at AppVenture have built a stand-alone T4 Engine to process and test T4 templates
as part of a continuous integration environment.  We hope the community finds
it useful.  Licensing is yet to be determined, but we plan to use a BSD-style
license to keep everyone’s options open.
</p>
        <p>
Get the <a href="http://www.appventure.com/Downloads/T4Engine.aspx" target="_blank">AppVenture
T4 Template Engine</a>.
</p>
        <img width="0" height="0" src="http://blogs.appventure.com/aggbug.ashx?id=dcaa522a-6221-4139-8a3f-42d8882c6218" />
      </div>
    </content>
  </entry>
  <entry>
    <title>How to Evaluate an Interactive Agency or Web Design Company for a Redesign</title>
    <link rel="alternate" type="text/html" href="http://blogs.appventure.com/2008/12/10/HowToEvaluateAnInteractiveAgencyOrWebDesignCompanyForARedesign.aspx" />
    <id>http://blogs.appventure.com/PermaLink,guid,6a4f52ee-57d6-416b-99ba-cae1cc086510.aspx</id>
    <published>2008-12-10T14:06:44.7347865-07:00</published>
    <updated>2008-12-10T14:07:21.1100193-07:00</updated>
    <category term="design" label="design" scheme="http://blogs.appventure.com/CategoryView,category,design.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
        <p>
I did a guest blog post for <a href="http://www.imulus.com/" target="_blank">Imulus</a> on
this very topic.  You can <a href="http://blog.imulus.com/guest/opinion/how-to-evaluate-an-interactive-agency-or-web-design-company-for-a-redesign/" target="_blank">find
it here</a>.
</p>
        <img width="0" height="0" src="http://blogs.appventure.com/aggbug.ashx?id=6a4f52ee-57d6-416b-99ba-cae1cc086510" />
      </div>
    </content>
  </entry>
  <entry>
    <title>T4 Strangeness in VB.NET and Visual Studio 2008</title>
    <link rel="alternate" type="text/html" href="http://blogs.appventure.com/2008/11/07/T4StrangenessInVBNETAndVisualStudio2008.aspx" />
    <id>http://blogs.appventure.com/PermaLink,guid,3d2b8420-2d7c-4289-986e-cfab355a825a.aspx</id>
    <published>2008-11-06T23:58:15.1413927-07:00</published>
    <updated>2008-11-06T23:58:15.1413927-07:00</updated>
    <category term="code generation" label="code generation" scheme="http://blogs.appventure.com/CategoryView,category,code%2Bgeneration.aspx" />
    <category term="T4" label="T4" scheme="http://blogs.appventure.com/CategoryView,category,T4.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
I was writing a quick T4 template in Visual Studio 2008 in a VB.NET project and noticed
a few quirks/differences when compared to a C# project. 
</p>
        <p>
When you add a text file named “Test.tt” in a C# project, Visual Studio processes
the T4 template and generates a corresponding “Test.cs” file:
</p>
        <p>
          <a href="http://blogs.appventure.com/content/binary/WindowsLiveWriter/T4StrangenessinVB.NETandVisualStudio2008_14D95/Test.tt_2.png">
            <img title="Test.tt" style="border-right: 0px; border-top: 0px; display: inline; margin: 10px; border-left: 0px; border-bottom: 0px" height="41" alt="Test.tt" src="http://blogs.appventure.com/content/binary/WindowsLiveWriter/T4StrangenessinVB.NETandVisualStudio2008_14D95/Test.tt_thumb.png" width="86" border="0" />
          </a>
        </p>
        <p>
I expected similar behavior in VB.NET, but I was quite disappointed.  For starters,
I didn’t see any apparent output.  To fix this little issue, I had to click on
the “Show All Files” button on the Solution Explorer.  Then the file showed up,
but I was even more confused because I saw this:
</p>
        <p>
          <a href="http://blogs.appventure.com/content/binary/WindowsLiveWriter/T4StrangenessinVB.NETandVisualStudio2008_14D95/Test.tt.vb_4.png">
            <img title="Test.tt.vb" style="border-right: 0px; border-top: 0px; display: inline; margin: 10px; border-left: 0px; border-bottom: 0px" height="62" alt="Test.tt.vb" src="http://blogs.appventure.com/content/binary/WindowsLiveWriter/T4StrangenessinVB.NETandVisualStudio2008_14D95/Test.tt.vb_thumb_1.png" width="93" border="0" />
          </a>
        </p>
        <p>
Apparently, the default file extension for T4 templates is “.cs”, so this shouldn’t
have really surprised me, but I found it odd that in my VB project, I would have a
C# file.  Fortunately, the fix is quite simple: add an output processor directive
to the T4 file so that the file extension is “.vb”:
</p>
        <pre class="code">
          <span style="background: gold">&lt;#@</span>
          <span style="color: red">
          </span>
          <span style="color: brown">output </span>
          <span style="color: red">extension=</span>"<span style="color: blue">.vb</span>" <span style="background: gold">#&gt;</span></pre>
        <a href="http://11011.net/software/vspaste">
        </a>
        <p>
        </p>
        <p>
        </p>
        <p>
That’s it.  I hope this post saves a poor soul some time.
</p>
        <img width="0" height="0" src="http://blogs.appventure.com/aggbug.ashx?id=3d2b8420-2d7c-4289-986e-cfab355a825a" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Denver Visual Studio User Group Code - Meeting October 27, 2008</title>
    <link rel="alternate" type="text/html" href="http://blogs.appventure.com/2008/10/30/DenverVisualStudioUserGroupCodeMeetingOctober272008.aspx" />
    <id>http://blogs.appventure.com/PermaLink,guid,4563cc4f-3524-48a0-b0a8-863f2a3acc49.aspx</id>
    <published>2008-10-29T22:19:30.0218038-06:00</published>
    <updated>2008-10-29T22:20:53.4129625-06:00</updated>
    <category term="architecture" label="architecture" scheme="http://blogs.appventure.com/CategoryView,category,architecture.aspx" />
    <category term="userGroup" label="userGroup" scheme="http://blogs.appventure.com/CategoryView,category,userGroup.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Thank you to everyone who came to the meeting to hear about Pragmatic Architecture! 
Please find my code below.  
</p>
        <p>
You can download the original code here: <a href="http://www.beansoftware.com/ASP.NET-Tutorials/Developing-Shopping-Cart.aspx" target="_blank">Original
Shopping Cart Code</a></p>
        <p>
          <a href="files/CSharpShoppingCartProject.zip" target="_blank">My converted C# Code</a>
        </p>
        <p>
          <a href="files/CSharpShoppingCartProjectRefactored.zip" target="_blank">My refactored
C# Code</a>
        </p>
        <p>
More refactoring is left as an exercise for the reader  =]
</p>
        <p>
Hint: use a strategy pattern and remove the dependency on the HttpContext and SortedList. 
Enjoy!
</p>
        <img width="0" height="0" src="http://blogs.appventure.com/aggbug.ashx?id=4563cc4f-3524-48a0-b0a8-863f2a3acc49" />
      </div>
    </content>
  </entry>
</feed>