Publications
Over the last few years I've written a large number of magazine articles and a book, Code Craft (which you can find out about on this page). To some people that's a really big deal. It makes other people yawn.
The articles have mostly appeared in ACCU magazines, and are available through the ACCU (if you're a programmer not in this organisation, join it - it's excellent). Some have appeared in CUJ and other publications.
I've also written quite a lot of book reviews. Check out Pete Goodliffe's book reviews, as published in C Vu.
Books
- Code Craft, my software development book, is described here.
- I've contributed a chapter to O'Reilly's Beautiful Architecture called A Tale of Two Systems.
- I'm working on some as-yet unannounced book projects, too. Watch this space!
Professionalism in programming series
This is a column that I've been writing for the ACCU's C Vu magazine. It investigates issues of "professionalism" surrounding programming.
- Layout of source code
in: C Vu Volume 12 No 2, April 2000 - Team work
in: C Vu Volume 12 No 3, June 2000 - Being specific
in: C Vu Volume 12 No 4, August 2000 - Code reviews
in: C Vu Volume 12 No 5, October 2000 - Documenting code
in: C Vu Volume 12 No 6, December 2000 - Good design
in: C Vu Volume 13 No 1, February 2001 - in: C Vu Volume 13 No 2, April 2001
- The programmer's toolbox
in: C Vu Volume 13 No 3, June 2001 - Defensive programming
in: C Vu Volume 13 No 4, August 2001 - Software testing
in: C Vu Volume 13 No 5, October 2001 - Software development: Fantasy, fiction or farce
in: C Vu Volume 13 No 6, December 2001 - Recipe for a program
in: C Vu Volume 14 No 1, February 2002 - How long is a piece of string?
in: C Vu Volume 14 No 2, April 2002 - There and back again
in: C Vu Volume 14 No 3, June 2002 - The outer limits
in: C Vu Volume 14 No 4, August 2002 - in: C Vu Volume 14 No 5, October 2002
- The code that Jack built
in: C Vu Volume 14 No 6, December 2002 - Engineering a release
in: C Vu Volume 15 No 1, February 2003 - A passing comment
in: C Vu Volume 15 No 2, April 2003 - Software evolution or software revolution?
in: C Vu Volume 15 No 3, June 2003 - Software architecture
in: C Vu Volume 15 No 4, August 2003 - Finding fault
in: C Vu Volume 15 No 5, October 2003 - To err is human
in: C Vu Volume 15 No 6, December 2003 - The need for speed (part one)
in: C Vu Volume 16 No 1, February 2004 - The need for speed (part two)
in: C Vu Volume 16 No 2, April 2004 - The need for speed (part three)
in: C Vu Volume 16 No 3, June 2004 - And now for something completely different...
in: C Vu Volume 16 No 4, August 2004 - An insecurity complex (part one)
in: C Vu Volume 16 No 5, October 2004 - An insecurity complex (part two)
in: C Vu Volume 16 No 6, December 2004 - Code Monkeys (part one)
in: C Vu Volume 17 No 1, February 2005 - Code Monkeys (part two)
in: C Vu Volume 17 No 2, April 2005 - An exercise for the reader
in: C Vu Volume 17 No 3, June 2005 - A review to a kill
in: C Vu Volume 17 No 4, August 2005 - Together we stand (part one)
in: C Vu Volume 17 No 5, October 2005 - Together we stand (part two)
in: C Vu Volume 17 No 6, December 2005 - Together we stand (part three)
in: C Vu Volume 18 No 1, February 2006 - The curse of good code
in: C Vu Volume 18 No 2, April 2006 - Mental gymnastics
in: C Vu Volume 18 No 3, June 2006 - Effective version control (part one)
in: C Vu Volume 18 No 4, August 2006 - Effective version control (part two)
in: C Vu Volume 18 No 5, October 2006 - Effective version control (part three)
in: C Vu Volume 18 No 6, December 2006 - Programming is...
in: C Vu Volume 19 No 1, February 2007 - Playing by the rules
in: C Vu Volume 19 No 2, April 2007 - How professional are you?
in: C Vu Volume 19 No 3, June 2007 - Please release me (part one)
in: C Vu Volume 19 No 4, August 2007 - Please release me (part two)
in: C Vu Volume 19 No 5, April 2007 - (series continues to present day, more details to come)
C++ Programming Articles
- Hardware register access in C++
in: CUJ, May 2005. Read it here - STL-style circular buffers by example
in: Overload 50, to be published
See also circular buffer library - STL-style circular buffers by example, part two
in: Overload 51, to be published - Techniques for debugging in C++
in: Overload 46, December 2001
See also dbg library - A framework for object serialisation
in: Overload 37, May 2000 - Experiences of implementing the observer design pattern, part one
in: Overload 37, May 2000 - Experiences of implementing the observer design pattern, part two
in: Overload 38, July 2000 - Experiences of implementing the observer design pattern, part three
in: Overload 41, February 2001 - An application of pointers to members
in: Overload 36, March 2000 - Adding 'threads' to Anthem
in: CAUGERs Volume 6 No 6 - Adding polymorphic classes to the Anthem 'threads' model
in: C Vu Volume 12 No 2, April 2000
Miscellaneous magazines
- Finding fault
in: Hardcopy, Issue 23. March 2004
