Amazon Unbox + XBox = Joy; Goodbye Ubuntu

Yesterday I found this gem of an article on Amazon’s website. I wish I had known about it sooner. I got home, and immediately tried it out. After about 1 minute, I was watching an on-demand video on my TV, through my XBox. Before, I thought I had to go through a VGA cable directly from my laptop, which is a pain. This is much better. The quality isn’t HD; it looks to be about DVD quality. »


Inspired by Hanslemann’s tool list, and realizing that if my hard drive fails I want to have links to all the tools I need, I have started my own tool list. Check it out.. »

DRY for training

Most developers know the term DRY, don’t repeat yourself. To code monkeys, it is second nature. What’s funny is it can be applied to everything, not just coding. Most developers don’t get this. Today, one of my team leads did a tech talk for his team. The talk was an intro to MVC, specific to their project. It was awesome. You might be thinking, MVC is second nature to me. I have been using MVC for years. »

KDiff, try it

I had the need to compare two different directories on a Windows box and I came across KDiff. It integrates with Explorer and does exactly what I need. Try it. »

Break the Feature Paradigm

I was thinking about product backlogs today, and I realized that they represent an interesting paradigm. In short, they equate features to a checklist. Once it is done, it is marked off. Completed. Done. Finito. In reality, this isn’t true at all. A feature is a commitment to your users. For every feature, the initial cost is usually design, development, testing, documentation, and support. What’s funny, is every single one of those is a continuing cost that usually gets overlooked. »

Amazon Unbox

I downloaded Amazon’s Unbox this weekend to watch some BSG (yes I am a nerd). Unbox is Amazon’s video download service. I say service because it is much more than just another download. Amazon allows me to re-download videos or transfer them to multiple machines. Obviously, the Unbox player doesn’t allow burning to DVD, but I am over my purist-open-world days. As with any service, there is room for vast improvements. »

Code your Documents

Every developer has heard the phrase document your code. The reason this is important is the functionality is now coupled with a description of how it works. Now a future developer can load up a single source of information and understand the functionality. But, more importantly, the odds of the documentation staying updated are higher because of this coupling. The same can’t be said for a standalone document. Well, shouldn’t the same be true for documents, specifically those that describe some sort of process? »

NHibernate O/R Mapper: Part 2

In a previous post I talked about my first impressions of NHibernate. Not a whole lot has changed since then, except I have learned a lot more. But, I said I would discuss what I didn’t like about NHibernate so here it goes. Session Management The biggest thing that I don’t like is the session management aspect. Although I have come to understand why NHibernate sessions are so valuable and critical to its functionality, it doesn’t stop the fact that persistent objects are tied to a single database. »

Data Access Application Blocks

Last week I discussed using ADO.NET in enterprise applications. A good part of the article was explaining the negatives of using the DataSet class. Although I stand by that conclusion, I also want to say that I like overall. Some of the tools it provides are good for enterprise applications, while others are better for smaller applications. ADO.NET provides common interfaces and base classes that can be used with different database providers. »


I recently started a new project here at which will be a .NET based web application. One of the core pieces of .NET web apps is, not surprisingly, ADO.NET. It is Microsoft’s upgrade from ADO, but it is more of a rewrite. Almost everything has been refactored, with many new abstractions and paradigms for how to access data. When I first read about ADO.NET, I was very skeptical. I didn’t understand the need for these complex, hard to understand abstractions like DataTable’s and DataRelation’s and DataSet’s. »