On goodliffe.net

Further afield

About Pete

Pete Goodliffe is a programmer, a software development columnist, a musician, and author. He never stays at the same place in the software food chain - his projects range from OS implementation, through audio codecs, to multimedia applications. He has a passion for curry and doesn't wear shoes.

Code Craft

Pete's popular book, Code Craft, is available in all good bookstores.

Buy it from Amazon here.

Find out more about it here.


Contact Me

You can get in touch with me by email: [pete /at/ goodliffe.net]
(Put in an "@" by yourself).

Follow me on twitter at @petegoodliffe

 

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 

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.

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

As of May 2010, I'm up to #61 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