April 2005

published: Wed, 6-Apr-2005   |   updated: Fri, 5-Aug-2016

Here are the articles that were published in April 2005.

The need for basic Computer Science

Is it worth the time and effort for a self-taught developer to learn the basics of Computer Science? An unequivocal yes, in my view. Knowledge of the standard structures and algorithms will help anyone; but understanding how to analyze the behavior of your code will, to be frank, enable you to make it run faster and more efficiently. Read more...

Moving to an Agile process

Recently at work we've been in discussions about introducing a new development process. We're growing fast enough that it's now time to rethink how we develop it. The product's options and configuration has increased in complexity so much that we're relying more and more on automated testing to increase quality. Although the newer code has unit tests, unfortunately a lot of the more mature (which actually implies more thoroughly tested) code is still unit-test-free and is only shown to work through rigorous acceptance and system tests by the QA team. Read more...

Stupid web site tricks

I'd have to say if you publish a page on your web site and you intend to continue making your web site available then you should ensure that the web site's URLs don't change. It seems bloody obvious to me. I'm just getting tired of searching for stuff on the Internet and finding that some so-called expert on a subject has removed his website/blog, or reorganized it, or archived some of it. Read more...

Sql is so twentieth century

Sometimes I forget how quaint the SQL language can be. There I am merrily coding away in C# and .NET within Visual Studio, Intellisense guiding the way, the compiler saving me from the most egregious mistakes, and then I have to write a bit of SQL as a stored procedure. Suddenly it all comes to a screeching halt, not because I don't know the language, but because there is so little real-time developer support. Read more...

Overengineering IOpenable

A week or so ago, I published an article about an IOpenable interface and OpenableBase class I'd been developing. I went ahead and posted the article despite a few misgivings: I felt as if I were missing something important about the code I was posting. I worked on the code a little bit afterwards but was unable to find out what was wrong. It took Mike Scott, an old friend from yesteryear, to point out that I seemed to be making it more difficult than it should be. He was quite gentle about it for a Scotsman, but in reality he should have beat me about the head with a haggis. Yes, gentle reader, I've been guilty of over-engineering. Read more...

Experiencing Delphi 2005

A couple of weekends ago I completed another article for The Delphi Magazine, this one on Dependency Injection and pico containers. For the article I made a good start on a pico container written in Delphi for Win32 (henceforth, called Delphi32). It wasn't all plain sailing, though. (Updated 18-May-2005)  Read more...

It's another exceptional post

Several things have turned up at work in the past few days, all related to exceptions in .NET. Heh, this blog certainly seems to be turning into a blog about exceptions. Read more...

Birthday Boy

Well, it's my birthday today. I'm 30. At least I am in hex...

The IOpenable interface

There seems to be a common pattern in some of the stuff I've been reviewing recently at work. In essence, there are several classes that implement some behavior such that an instance of one of the classes can be "opened" and then "closed" after use, after which it is no longer used. Also each class encapsulates a non-memory resource and hence needs a finalizer. A prime example of the resources being protected in this manner is a file, but others include sockets and the like. Read more...

The Delphi --sharpen switch

Good grief. I was spelunking through the exe files in the Delphi 2005 bin directory this morning using my trusty hex viewer when I noticed a compiler switch in DCCIL that I'd never seen mentioned before. Read more...