Published Articles and Source Code
In the 1990's, before deciding it was too much trouble (it takes a lot
of time), I published these three articles:
The first article I published got a phenomenal reception. It first appeared in the August 1990 issue
of Computer Language, was republished in the December 1994 issue of
Game Developer, and was published again in the June 1, 1997
issue of Gamasutra.
I believe it may also have appeared in a Spanish-language journal and has been cited in a few
academic bibliographies
and in the source code of several products. I'm delighted it's found so many uses, which only shows the power of Paul Heckbert's
algorithm.
Here's the original manuscript with all the graphics.
Notifiers are a messaging protocol allowing unrelated objects to communicate without knowledge of each other.
One object sends a notifier. Another receives it. Neither knows of the other; they share only a common notifier interface.
The published article appeared in the August 1998 issue of Dr. Dobbs Journal
Here's the original manuscript.
If, after reading about the notifiers, you want to use them, you can read the programmer's
guide and download the source code, all of which are royalty-free.
Most programmers use some form of exception handling, typically a try/catch block
to release resources in the event of a failure. If you count lines of code, exception handling typically occupies about ten percent of
most software.
Yet it's never tested. So what's the point of writing all that code if the best you can do is hope it works?
Is that how you build robust software?
Of course not.
But how do you force tests of each error, when errors require hardware to fail or resources to run low, conditions that are almost impossible to replicate?
Here's the manuscript of the article I published in
June 1998 in C/C++ Users Journal.
As with the notifiers, there's a programmer's guide and source code, all of
which are royalty-free. They were on the old version of this website and I intend
to post them here shortly.
You can download the C++ source code for the notifiers and the error simulation below.
I ask only that you include a copyright notice and a link back to this website in your own source code. If anyone else
wants a copy of the code, rather than give it to them, please refer them to this site.
Source code for the C++ Notifiers and the Error Simulator
The code is in a zip file. It includes .sln files that build in Debug and Release configurations under Microsoft Visual Studio 2005.
In addition to the source code, I wrote complete documentation in the form of two programmer's guides. You should read those first
as they'll help you install and use the code.
The Programmer's Guide to C++ Notifiers
The Programmer's Guide to the Error Simulator
Please contact me if you find any problems with these files. I'd like to keep them in working order. I'd also like to know your experiences with them.
Notes and Essays (only on this website)
The Value of Good Specifications
This is a pep talk highlighting four benefits of a good specification:
- Reduce schedule slippage.
- Improve customer satisfaction.
- Reduce bugs.
- Deliver on time.
For the complete story, which you could print out for anyone who thinks
you're not working if you're not coding, see
Why great specs make a great project.
|