You could have invented lambda expressions

Delegate types and lambda expressions have been a part of the .NET tool belt for a while now, so they show up everywhere. If you’ve ever used StructureMap, AutoMapper, ASP.NET MVC and the like, then you’ve surely run into them. Despite this, delegates and lambdas tend to confuse developers when first encountered. Even when you […]

Crafting an Extensible Reporting Schema

Traditional relational database schemas are designed to keep computers happy. Indexes, foreign keys, joins…all of these tools allow for the highest level of optimization so data can be recorded and read back in record time. However, humans are typically very unhappy when it comes time to answer business questions from this data. Imagine your boss […]

What can we learn from Calvin & Hobbes?

A lot of people call me up when they need custom software to solve a problem. While each project is a little bit different, they typically fall within a few categories of maintainable software solutions. I’ve learned a valuable lesson about categories though: Sometimes you have to throw them out the window to clearly understand […]

Headspring Sponsoring Open Source Hackathon

In conjunction with Pablo’s Fiesta, an open-space development conference being held in Austin September 30-October 2, Headspring will be sponsoring an Open Source Hackathon at our offices on Sunday October 2nd from 1 PM to 6 PM. Over 150 developers from all over the United States and beyond are coming to Austin for 3 days […]

Using jQuery in ASP.NET with IntelliSense Correctly

When I’m teaching the MVC boot camp, I’m always amazed at how some of the smallest things are most impressive to students. One of the most common “wow” moments I see from students not familiar with jQuery is how you can trick Visual Studio to provide IntelliSense by including the vsdoc file, but make sure […]

The Compiler's Treatment of LINQ Syntax

When LINQ first became available, it was described as having a “lazy evaluation model”, meaning that a query would not actually be executed until you started to look at the result. Iterating through a result, for instance, would finally cause the query to actually run. This gives you the power to piece together a query […]

Unit Testing Best Practices: Know Your Test’s Lifecycle, Part 2

In my first post in the Unit Testing Best Practices series, I introduced you to the basic lifecycle of an NUnit test fixture. This time, we’re going to see what happens when we give our tests a common test fixture base class. Why a base class? There are two cases where having a base test […]

You’re Doing Your Code Reviews Wrong!

Well, not YOU, of course. YOUR team’s code reviews, I’m sure, are pleasant, productive engagements where everybody leaves feeling good about the results. They happen early and regularly in the development process, the goal of the review is well understood, and you wouldn’t dream of shipping a line of code that hadn’t been through your […]