Thursday, February 05, 2009

South Colorado .NET User Group: Kathleen Dollard’s Slides and Code

Thanks to everyone who came to the South Colorado .NET User Group to hear Kathleen speak.  Please find her slides and code samples.

Rethinking Object Orientation Slides

Rethinking Object Orientation Code Samples

 |  Fernando Cardenas  |  #    |  Comments [2]  | 
 Saturday, January 31, 2009

The Phrase “Common Sense” should be removed from the English Language

A few days ago, after a Microsoft event in Denver, I was hanging with Rob Bagby (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.

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).

Looks like the folks at the Shane Company fell prey to this often overlooked statistic.  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.

 |  Fernando Cardenas  |  #    |  Comments [4]  | 
 Tuesday, January 27, 2009

Denver Visual Studio User Group: Kathleen Dollard’s Slides and Code

Thanks to everyone who braved the elements and came to the Denver Visual Studio User Group last night to hear Kathleen speak.  Please find her slides and code samples.

Rethinking Object Orientation Slides

Rethinking Object Orientation Code Samples

 |  Fernando Cardenas  |  #    |  Comments [3]  | 
 Wednesday, January 14, 2009

Review: NeatReceipts

Overall: 4 out of 5

Highs: easy to use, good single page scanner/ocr solution, awesome tech support

Lows: installation issues for non-default installation, a bit slow to start up

I have been wanting a solution for organizing my receipts, reference documents, business cards for quite some time.  Enter NeatReceipts.  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.

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.

 |  Fernando Cardenas  |  #    |  Comments [3]  | 

Northern Colorado .NET User Group Presentation and Code - Meeting January 12, 2009

Thank you to everyone who came to the meeting to hear about Pragmatic Architecture!  Please find my code below. 

You can download the original code here: Original Shopping Cart Code

My converted C# Code

My refactored C# Code

Please feel free to contact me with your comments and suggestions!

 |  Fernando Cardenas  |  #    |  Comments [2]  | 
 Friday, December 12, 2008

AppVenture Launches Stand-Alone T4 Template Engine

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.

Get the AppVenture T4 Template Engine.

 |  Fernando Cardenas  |  #    |  Comments [4]  | 
 Wednesday, December 10, 2008

How to Evaluate an Interactive Agency or Web Design Company for a Redesign

I did a guest blog post for Imulus on this very topic.  You can find it here.

 |  Fernando Cardenas  |  #    |  Comments [2]  | 
 Thursday, November 06, 2008

T4 Strangeness in VB.NET and Visual Studio 2008

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.

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:

Test.tt

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:

Test.tt.vb

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”:

<#@ output extension=".vb" #>

That’s it.  I hope this post saves a poor soul some time.

 |  Fernando Cardenas  |  #    |  Comments [4]  | 
 Wednesday, October 29, 2008

Denver Visual Studio User Group Code - Meeting October 27, 2008

Thank you to everyone who came to the meeting to hear about Pragmatic Architecture!  Please find my code below. 

You can download the original code here: Original Shopping Cart Code

My converted C# Code

My refactored C# Code

More refactoring is left as an exercise for the reader  =]

Hint: use a strategy pattern and remove the dependency on the HttpContext and SortedList.  Enjoy!

 |  Fernando Cardenas  |  #    |  Comments [6]  |