Pete's publications

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

Becoming a Batter Programmer and 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. In early 2011 I changed the name to Becoming a Better Programmer as it more clearly reflects what I write about.

    1. Layout of source code
    2. in: C Vu Volume 12 No 2, April 2000
    3. Team work
    4. in: C Vu Volume 12 No 3, June 2000
    5. Being specific
    6. in: C Vu Volume 12 No 4, August 2000
    7. Code reviews
    8. in: C Vu Volume 12 No 5, October 2000
    9. Documenting code
    10. in: C Vu Volume 12 No 6, December 2000
    11. Good design
    12. in: C Vu Volume 13 No 1, February 2001
  1. in: C Vu Volume 13 No 2, April 2001
    1. The programmer's toolbox
    2. in: C Vu Volume 13 No 3, June 2001
    3. Defensive programming
    4. in: C Vu Volume 13 No 4, August 2001
    5. Software testing
    6. in: C Vu Volume 13 No 5, October 2001
    7. Software development: Fantasy, fiction or farce
    8. in: C Vu Volume 13 No 6, December 2001
    9. Recipe for a program
    10. in: C Vu Volume 14 No 1, February 2002
    11. How long is a piece of string?
    12. in: C Vu Volume 14 No 2, April 2002
    13. There and back again
    14. in: C Vu Volume 14 No 3, June 2002
    15. The outer limits
    16. in: C Vu Volume 14 No 4, August 2002
  2. in: C Vu Volume 14 No 5, October 2002
    1. The code that Jack built
    2. in: C Vu Volume 14 No 6, December 2002
    3. Engineering a release
    4. in: C Vu Volume 15 No 1, February 2003
    5. A passing comment
    6. in: C Vu Volume 15 No 2, April 2003
    7. Software evolution or software revolution?
    8. in: C Vu Volume 15 No 3, June 2003
    9. Software architecture
    10. in: C Vu Volume 15 No 4, August 2003
    11. Finding fault
    12. in: C Vu Volume 15 No 5, October 2003
    13. To err is human
    14. in: C Vu Volume 15 No 6, December 2003
    15. The need for speed (part one)
    16. in: C Vu Volume 16 No 1, February 2004
    17. The need for speed (part two)
    18. in: C Vu Volume 16 No 2, April 2004
    19. The need for speed (part three)
    20. in: C Vu Volume 16 No 3, June 2004
    21. And now for something completely different...
    22. in: C Vu Volume 16 No 4, August 2004
    23. An insecurity complex (part one)
    24. in: C Vu Volume 16 No 5, October 2004
    25. An insecurity complex (part two)
    26. in: C Vu Volume 16 No 6, December 2004
    27. Code Monkeys (part one)
    28. in: C Vu Volume 17 No 1, February 2005
    29. Code Monkeys (part two)
    30. in: C Vu Volume 17 No 2, April 2005
    31. An exercise for the reader
    32. in: C Vu Volume 17 No 3, June 2005
    33. A review to a kill
    34. in: C Vu Volume 17 No 4, August 2005
    35. Together we stand (part one)
    36. in: C Vu Volume 17 No 5, October 2005
    37. Together we stand (part two)
    38. in: C Vu Volume 17 No 6, December 2005
    39. Together we stand (part three)
    40. in: C Vu Volume 18 No 1, February 2006
    41. The curse of good code
    42. in: C Vu Volume 18 No 2, April 2006
    43. Mental gymnastics
    44. in: C Vu Volume 18 No 3, June 2006
    45. Effective version control (part one)
    46. in: C Vu Volume 18 No 4, August 2006
    47. Effective version control (part two)
    48. in: C Vu Volume 18 No 5, October 2006
    49. Effective version control (part three)
    50. in: C Vu Volume 18 No 6, December 2006
    51. Programming is...
    52. in: C Vu Volume 19 No 1, February 2007
    53. Playing by the rules
    54. in: C Vu Volume 19 No 2, April 2007
    55. How professional are you?
    56. in: C Vu Volume 19 No 3, June 2007
    57. Please release me (part one)
    58. in: C Vu Volume 19 No 4, August 2007
    59. Please release me (part two)
    60. in: C Vu Volume 19 No 5, April 2007
  3. (series continues to present day, more details to come)

As of November 2011, I'm up to #72 in the series. I must get around to updating this list!

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

    • Creating a framework for the iPhone in: Overload 94, December 2009
    • The Ghost of a Codebase Past in: Better Software Magazine, March 2009
    • Idioms and Idiosyncrasies in: Better Software Magazine, September 2008
    • Finding fault in: Hardcopy, Issue 23. March 2004