Category: Dev

Dynamic SQL: Yea or Nay?

Dynamic SQL: Yea or Nay?

I’ve always been on the side of stored procedures in the classic debate over the merits of dynamic SQL.  In reality, I can only think of one good scenario where dynamic SQL at the application layer should be used: programmatic batch...

Double Dispatch To The Rescue

Double Dispatch To The Rescue

In working out a tricky design issue surrounding the usage of the Visitor pattern, I stumbled upon the related Double Dispatch pattern/mechanism. In short, double dispatch, when implemented, allows an object – a “dispatcher” – to delegate method calls based...

Code Complete: Chapter 31

Code Complete: Chapter 31

I’ve recently picked up my copy of Code Complete – 2nd Edition again after a long hiatus from it.  It’s such a massive book that I think if you plan on reading it from front to back, it’ll bore you...

Working With SQL Server Compact Edition 2005

Working With SQL Server Compact Edition 2005

One interesting issue that I just solved involved how to specify the location of the database file for a SQL Server Compact Edition 2005 connection string in a .Net add-in for Microsoft Office. You see, when the add-in starts, it...

Book Review: Framework Design Guidelines

Book Review: Framework Design Guidelines

I originally came across a title Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries after perusing the documentation on the Subtext site. For the most part, I had been following the guidelines outlined by Scott Bellware in his...

Running Trac, Subversion, And Apache On Ports 80 And 443

Running Trac, Subversion, And Apache On Ports 80 And 443

If you are proxying Subversion through Apache, chances are you are probably using a non-default port since Apache won’t start if you configure it use port 80 and 443 for SSL if you have IIS installed.  IIS uses socket pooling...

Normalizing And Denormalizing SharePoint Field Names

Normalizing And Denormalizing SharePoint Field Names

Frequently, when working with Office, SharePoint, and SharePoint web services, it is necessary to convert between the “normalized” (hex escaped string) version of a field name. To that end, I found a useful JavaScript tool for normalizing strings into SharePoint’s...

Finding An Application Runtime By Extension

Finding An Application Runtime By Extension

So a recent item that I’ve been tasked with is programmatically finding the application that is required to open/load a file of a given file extension.  One would think that this would be a straightforward task and quite easy to...

CAB, Model View Presenter, Passive View, and Humble Dialog

CAB, Model View Presenter, Passive View, and Humble Dialog

In trying to wrap my head around how solutions should be designed and componentized in SCSF/CAB, I’ve spent a bit of time trying to study up on Model View Controller (MVC) and Model View Presenter (MVP). The packaged documentation, in...

Tuesday Morning Thoughts

Tuesday Morning Thoughts

Some random stuff and some not so random stuff. First, the Oral-B CrossAction Vitalizer is possibly the best damn (non-electric) toothbrush ever made.  It’s comfy on the gums, it gets to the back teeth, and the handle is just right...