Failure is inevitable


Posting Hiatus

I’m taking a few weeks off of work to focus on thesis-related things, so there (probably) won’t be any blog posts here until the first full week of January when I return to a normal schedule.  Merry Christmas and Happy New Year!

Unit Testing in .NET Part 3 - Asserting That Your Code Rocks

In the previous entries in this series, you've learned about the basics of unit testing, and you've seen how to create a very basic unit test.  In this post, you will learn how to fully use NUnit's Assert class to create a full suite of unit tests.  This post builds off the sample described in the previous post, so be sure to check it out if you want to follow along. Asserting Equality In the last post, you saw one example of how to use the Assert.AreEqual method to verify that two objects are equal.  As you will soon see, most methods on the Assert class have a ton of overloa... [More]

Great Intro to Scrum

Hamid Shojaee has created a nice video on SCRUM.  I have yet to actually get SCRUM to work in practice due to lack of buy-in, but I agree 100% in the principles of the methodology. 

Unit Testing in .NET Part 2 - Your First Unit Tests

In the last post, you learned the basics of unit testing in .NET: you should understand the intent behind unit testing, you should have a vague idea of what unit tests should look like, and you should have looked at some of the unit testing API options that are available to you.  For the remainder of this series, I'll be focusing specifically on unit testing with NUnit and TestDriven.NET.  If you have chosen to use a different API or tool, you may need to translate the code samples and steps below to match.  If you don't already have NUnit downloaded and installed, do so now. A... [More]

Unit Testing in .NET Part 1 - Introduction to Testing

Today is the first 'requested topic' post.  If you have a topic you would like to hear more about, drop me a line, and if it's something that I'm either interested in or working with anyway, I'll try to give the topic a proper post.  Serious suggestions only (yes, I'm talking to you, Evil Rob).  Introduction Today's post kicks off a series that's all about unit testing.  This series assumes no prior knowledge of unit testing, so it may start out a tad too basic for some, but it will carry all the way in to Test Driven Development.  Let's start out with some backgr... [More]

Setting Directory Permissions with Windows PowerShell

In my on-going attempts to simplify the deployment of our web application here at Day Job, I have created a PowerShell script that sets the permissions on all the directories used by the app.  It's amazing how much simpler something like this is in PowerShell compared to VBScript.   Here's some code that will give the NetworkService user read-access to a directory (useful for data files that your web app needs to access): 1: #These constants are used to set permissions 2: $inherit = []"ContainerInherit, Obj... [More]

Having a baby is like a software release...

A friend just made me realize that having a baby is exactly like releasing a software product.  It starts by someone else picking an arbitrary release date, then you kind of drift along with unclear requirements for a while (is it a boy or a girl?).  Periodically, the release date gets changed for no apparent reason.  Is it April 20th or isn't it?  Management is just throwing a dart at a calendar, I think.  There are lots of stakeholders that you aren't really sure *why* they are stakeholders (in-laws).  The requirements constantly shift, too.  First, it's ju... [More]

Who thought this "New Xbox Experience" mess was a good idea?

If you own an Xbox 360, then you have no doubt experienced the horror that is the "New Xbox Experience" (NXE).  From major things like incompatibilities with some TV sets and Red-Ring-Of-Death reports to minor things like a completely botched handling of old themes, it's been a rocky road for NXE thus far.  I have read a few positive reviews of the changes online, but I've yet to talk to a single real person that likes the changes.  Most opinions that I've heard range from "meh" to "this is the worst thing since Benifer".  Personally, I hate it... [More]

I declare victory for C# over C!

Alright, that's not quite fair, but anyone that assumes that C# is going to be slow just because Java is making a big mistake.  One of my classmates made this mistake, and it should have cost him $5, but I chickened out and wouldn't take the bet.  Anyway: We had a programming assignment to find the average number of colors to color a graph.  I won't go into the details, but suffice to say that we had very similar solutions in terms of algorithmic design (in theory my algorithm should have been faster, but it looks like its advantage is minimal in practice), and he thought his p... [More]

Essential Development Team Tools

Unless you are a micro-ISV or are developing on your own for fun, I doubt you are working in isolation.  You are probably working as part of a team of developers (and possibly testers, designers, etc) who are all working in parallel on the project.  I've been on the same team since my employer first started developing software, and I've been fortunate enough to watch our development process mature from a chaotic mess of E-mailed files and constant meetings to a saner, more automated process.  Here are the key tools that I think every development team needs to have (note that I h... [More]