June 2007 Entries

Simple Properties and Anonymous Constructors in .NET 3.5

I just got back from doing a short presentation at Edmug on some of the new features in .NET 3.5.  While I was preparing for this presentation, I decided that I should start doing some screencasts.  Because the topics have been blogged about all over the web, including by me, but I've never seen them demo'd, I figured that I would do a set of screencasts on some of the new language constructs. The first one is on Simple Properties and Anonymous Constructors.  You'd think that there wouldn't be much there, but it totals out to just over 26 minutes in...

What I'm doing to become a better programmer

I've been tormented and ridiculed by someone from Winnipeg (I know, *really* embarrassing), a guy from the US, and some whacko for an alternate hair reality.  All have posted on the things that they're looking to concentrate on for the next while.  Apparently this is expected of me too. Get the passion back I've got to work on finding a way to get my passion for coding back.  I think it's there, just below the surface, but it's being pushed down by factors other than my love for coding.  Of all the items that you see on my list, this...

YWCA Tribute to Women of Distinction -- Inroads 2007

I received an email at work the other day saying that one of Edmug's members had just been awarded a prestigious distinction.  It seems that the nomination of this person had passed me, and most people from what I hear, by.  So late, but with no less congratulation.... Christina Gray was nominated for the Inroads category of the YWCA of Edmonton's Tribute to Women of Distinction Awards this year (2007).  When I first heard the title Inroads, I was lost for a definition.  Here it is for you. for a woman recognized for making inroads into non-traditional or new...

Where do you find problems during refactoring?

I'm in the midst of reading Oren's latest post about Working Software Over Comprehensive Documentation.  While I generally agree with Oren (and I realize he's a big enough man that I don't want to piss him off), I did see one statement in that post that scared the shit out of me.  The following is made in the discussion context of refactoring to a previously tried and proven-to-fail (for whatever reason) implementation. And then I would run the tests and they would show that this causes failure in another part, or it would be caught in QA, or I would...

Edmug's June Presentations

Yes, you read that right.  Edmug is going to have two shorter presentations on the 28th of June.  Top Opgenorth is going to present an introduction to embedded databases and db4o.  I'm also going to be presenting on this night.  My topic will be the new C# Language features in Visual Studio 2008.  I'm not going to cover Linq as I think it's been done to death at the expense of some of the other nice language and IDE features that are coming down the pipe. I'm only going to have one hour so the talk won't cover a tonne...

Guiding principles for running your project

Patrick Cauldwell wrote a brilliant post recently about the guiding principles for running your software development projects.  It runs the gamut from how to know when a piece of code is ready to be handed off to testing, to good techniques for categorizing trace levels in your code.  There isn't a single point on his list that I don't agree with.  Some I have a stronger propensity to than others.  For instance, "Continuous Integration" is deal breaker for me.  If there's no CI for it, I won't work on it.  Others, such as "Buy, not Build" do not evoke such...

Deliverables: If the client doesn't know, how are you going to satisfy them?

I've recently been thinking a lot about the deliverables that are required for software projects.  Amazingly there are projects out there that are running with out any concept of what there deliverables are.  Yeah, we all know that we're supposed to be delivering some sort of software, but beyond that what is it that your project needs to deliver to the client? I would suggest that the non-software deliverables will vary depending on your client's bureaucratic needs, their support mechanisms, legislation adherence, who the final audience is and any number of other factors.  If you're delivering an internal facing software...

Starting newbies onto a project

This week I have the enjoyable experience of bringing 3 new developers onto our project.  Most of you that know me probably read that last sentence with a sarcastic tone on the word enjoyable.  You, my friends, would be wrong.  Of all the ridiculous things that I do at work right now, training and molding new programmers is by far the most enjoyable.  It's sad that I don't have more concrete work to train them with, but I have to deal with what I have. Because I have little, if any, work most days to give to my development team,...

Internal vs. Release iterations

I had a discussion with a management type the other day about implementing the concept of release and internal iterations.  Currently that project has extremely long iterations (6 weeks or more in length) which always are released to the client for testing.  As a result of this, the feedback cycle from testing is very slow.  The client isn't getting the software into their hands, and then not getting their concerns raised until longer after that point, that there can be a gap of 4 months between initial development and defects being raised and fixed. In an attempt to shorten that feedback...