July, 2008

Unclear on the Concept

I'm jumping through various hoops to register on the forum of a vendor (who shall remain unnamed) in order to post a question, when I strike this error:

Unclear on the concept
Unclear on the concept

For those of you who can't read the wonderful colour scheme, the message reads:

There was a problem with your details.

You may not use any of these chars in your password !#%^&*()=+{}[]|\;:/?>,<'

Kinda makes it more difficult to create a secure password.

Inversion of Control

The current (as of 28 July) episode of .NET Rocks is #362 - James Kovacs Inverts our Control.

James Kovacs spends the episode talking about some of the current hot topics - Dependency Injection, Inversion of Control, Aspect Oriented Programming and so on.

Recommended listening.

StyleCop Cmd Updated

I've updated StyleCop Cmd - now supports XSL to transform the output XML for easy reporting. Plus, it's a lot friendlier to use - gives sensible diagnostics instead of crashing at the slightest excuse.

Living with StyleCop

I've been trying an experiment - having integrated StyleCop into my build scripts (using StyleCop.cmd), I've been working to reduce the number of violation messages that it reports.

The key is that I haven't spent very much time making changes just to keep StyleCop happy - rather, I've been continuing development as normal, writing code, fixing bugs and so on, but with half an eye on StyleCop's metrics.

Powerful Lists

As a part of the infrastructure introduced in .NET 3.5 to support the various flavours of LINQ, there are a whole heap of generic extension methods that are available whenever you have IEnumerable<T>.

Two that I've found useful recently are Intersect() and Except() - both of these work to filter values out of the sequence.

A couple of examples are the best way to understand them:

Software Development Meme

So, I've been tagged by John with the Software Development meme.

How old were you when you started programming?

I was eleven years old when my parents purchased my first computer - a Sinclair Research ZX81. If I remember correctly, the ZX81 machines were on special because the successor, the ZX Spectrum, had made it to New Zealand's distant shores.

Mandelbrot Screensaver v3.1

mandelbrotStar.jpg
mandelbrotStar.jpg

Based on feedback from some users, and with special thanks to sobriquet, I've made some improvements to the screensaver that are now available for download.

Extension Methods and Null Pointers

I'm sure that most of you know that you can't call methods on a null reference, so you'll expect that this code will fire a nasty exception:

IPath p = null;
int l = p.Length();

Except, it doesn't.

Why?

Dual Monitor Visual Studio

I'm a big believer in the benefits of having dual monitors - in fact, I'm fortunate enough to have dual monitors on both the computers I use most often.

One of the challenges is to make good use of Visual Studio across both monitors. While the Visual Studio IDE is very good at maximizing the usefulness of a single monitor (by having various panes strategicly docked), it doesn't lend itself so well to a dual screen configuration.

Estimation Poker

I've spent most of this week as one of a small group working on estimating the next phase of a moderately large project.

We've been using a variation of planning poker to estimate the effort required to develop the various services and user interfaces that will be required.

In a lot of ways, I believe that planning poker is a worthwhile estimation technique - if you aren't currently using any formal estimation technique, I'd recommend that you have a go with planning poker.

Announcing StyleCop.cmd

As promised, here is a simple commandline driver for StyleCop, making it easier to integrate into "other" build tools, like NAnt.