In .NET, it’s very easy to set up custom configuration section handlers to handle your application or component’s configuration needs. As my previous post shows, it’s also very easy to configure these with attributes that enforce required fields and other validation. However, over time it’s very easy to create fairly large configuration sections that violate the Interface Segregation Principle , which states that classes shouldn’t be forced to depend on things they don’t need. Consider...
Applying Interface Segregation to Configuration Files →
Posted on Tuesday, 31 August 2010
Below is my current checklist for startup businesses in 2010. This is meant to be relatively industry-agnostic and focuses primarily on online components of the business (meaning, it may not apply to businesses which avoid the Internet for whatever reason). I’ve included numerous links to more information and references. Checklists are a great way to ensure you don’t forget important things – check out the Checklist Manifesto for how one doctor is attempting to apply this logic...
Startup Business Checklist 2010 →
Posted on Wednesday, 25 August 2010
I just ran into an odd issue with a VS2010 project. In my case it was an MVC 2 application I was upgrading from VS2008. One of the built-in controllers (ProfileController) was failing to compile because it could not resolve the Linq extension method symbols Single() and Matches(). These are located in the System.Core assembly. I checked my project references in Solution Explorer, and System.Core was not listed. So I tried Add Reference, and System.Core was listed as...
System.Core in VS2010 Projects →
Posted on Tuesday, 24 August 2010
TeamCity is a great build server tool from JetBrains (makers of the awesome Visual Studio add-in, ReSharper ). The user-interface and features of the TeamCity web front-end are wonderful and are leaps and bounds easier to use for new users than my previous favorite, CruiseControl.Net, which required much XMLness to configure. However, one of my favorite tools from CruiseControl, CCTray , still has no equal among competitors like TeamCity and even the Visual Studio tray watcher for Team...
Using CCTray with JetBrains TeamCity →
Posted on Monday, 23 August 2010
There are a number of code analysis tools available for .NET developers, including some stats that are built into the pricier SKUs of Visual Studio. Recently, I’ve been playing with a relatively new product (released earlier this year by Microsoft agile consulting shop NimblePros.com ) called Nitriq . Nitriq is a bit like LINQPad for your code. If you’re not familiar with it, go download LINQPad now – it’s a great tool worth paying for. I’ll wait until you’re back… Back? ...
Code Analysis Techniques →
Posted on Tuesday, 17 August 2010
The idea of Design By Contract has been around for quite a while, and Microsoft Research has had a project focused on this topic for several years now, called Spec#. With Visual Studio 2010, there is now support for Code Contracts which are a DevLabs project based on the Spec# project. You can read more about and download Code Contracts for VS2010 here . Once you’ve downloaded and installed Code Contracts, you’ll have a new tab in your VS2010 projects: With the Code Contracts installed...
Getting Started with Code Contracts in VS2010 →
Posted on Tuesday, 17 August 2010
I’m working on some screencasts and have had some gear recommended to me that I’m ordering now. I’ll post back later with an update on how I like these, but if anybody else is interested in what I’ve been told is the best stuff to get, here you go. Microphone The microphone of choice is the Rode Podcaster , pictured at right. It has a built-in pop filter, so no need to pick up one of those. This is a USB microphone and doesn’t require any additional boxes or cables. From the...
Screencast and Podcast Recording Gear →
Posted on Saturday, 14 August 2010
Sadukie tagged me with her books post a couple of weeks ago and I’ve been meaning to respond with a post of my own. I have a post I update periodically that includes some of my most recommended developer books (where I’ve been meaning to add Agile Principles, Patterns, and Practices in C# by Robert and Micah Martin ) – if you’re looking for ways to improve yourself as a software developer I would start there. Currently Reading Right now I’m reading Disclosure , by Michael Crichton. I...
Books →
Posted on Monday, 26 July 2010
There a new feature of IIS called Application Pool Identities that was apparently introduced with SP2 of Windows Server 2008. There’s a nice overview of Application Pool Identities here , which is the basis for this post, which is just my notes on the feature. If you’re setting up new web sites and application pools in IIS on Windows Server 2008, it’s likely they’ll default to ApplicationPoolIdentity, like this: This is all well and good, and for the most part you don’t need to care about how...
Working with Application Pool Identities →
Posted on Friday, 09 July 2010
Next week I’ll be one of several speakers at a free one-day event being held at the Microsoft office in Independence, Ohio. The event is designed for Microsoft developers who are seeking to improve their skills in software engineering, including object-oriented design, design patterns, and automated testing. The event is being hosted by Microsoft and organized by the Hudson Software Craftsmanship group and NimblePros consulting services . Initially there were 50 slots available – I think...
Software Engineering 101 in Cleveland →
Posted on Wednesday, 07 July 2010