Jan 062013

So you’ve got an old piece of software that’s misbehaving and you don’t know your way around the code. What do you do?

Don’t panic, for a start. Eyeballing the offending stuff is probably next worse. It’s unlikely that you’ll spot a bug in a mature program that everyone else in the company has trawled through at some stage. Hassling those very same people with dumb questions will also likely be fruitless.

One approach could be to treat the software like a black box (or a sort of dirty grey box with weird linkages to the rest of the universe). If you feed something into it what do you expect to come out? Or what do you expect to change somewhere else in the universe? This sounds like a unit test.

This sounds like TDD but TDD with more focus than comprehensive testing. The bug must occur under some conditions and the testing code will build towards creating that scenario, but incrementally in true Agile style. Take baby steps. During the process the inner workings of the program should become clearer, even without the benefit of being able to see the code (which hopefully you can).

And if you can’t find the solution? Well, at least you’ve got the makings of a test suite in place. The effort is not wasted.

Dec 092012

Whether in an Agile team or no, let’s look at an iteration of a week (from Wednesday to Wednesday apparently) between demonstrations of progress. In such a time four to ten stories should be possible although quite how team size bears on this I don’t know.

Picking a one-man team implies a story size of half or one day; two days tops is the recommended maximum. Early in a project these stories will be a mix of Continue reading »

Oct 262012

At the start of installing this I was soon disabused of any idea I may have had to keep the beta version of Visual Studio 11. The first message that appeared warned that it must be deleted. So I squirrelled away the directory containing my Genetic Algorithm Toolkit, took a deep breath and… waited quite a while as the old software uninstalled.

And got the same message on the next try. The Ultimate edition was still lurking on my drive for I’d only unloaded the Professional. I recalled that I had mistakenly downloaded both, not knowing what either meant. So Continue reading »

Oct 232012

Aarghh! It had to happen. My beta version of Visual Studio 11 is missing an entry point in the MSVCR110 DLL. I’m not saying that had to happen (in fact it’s weird) but some time I was going to hit the end of the beta, which I think is due to time-bomb next month anyway. I certainly don’t want to fiddle with fixing it so what else is available?

In a way the timing could hardly be better because Continue reading »

Aug 082012

While unit testing GASeedString::AddGene, I already had GetGene available to check the results. I was keen to turn the latter into a protected method, which then caused the compilation around displaying the string to fail. That logic sat in response to a WM_PAINT message, which was totally not the right place. GAString is.

So the GetGeneChars method came into being and of course Continue reading »

Aug 022012

It’s no good. I must do battle with this some time. It does save me reinventing the wheel, especially for GASeedString, which grows and is a prime candidate for a sequence container. The library is a nightmare to understand, founded as it is on templates (as the name suggests!) which in themselves are a bad dream. Have Java and C# inherited that nonsense? Continue reading »