The Signs of Trouble: On Patterns, Humbleness and Lisp
As software developer and author of a technical book on patterns I obviously find value in the pattern format. And as a psychologist I see the links to our cognitive capabilities and the social value of patterns. In this article I will detail my view on patterns and the value I see in them. Since patterns are a controversial topic, I will build the article around the criticism against patterns. Let the critics have the first word.
Patterns in C - The Book
Dear reader, I'm pleased to announce my first book, Patterns in C. Patterns in C is a collection of idioms, design and architectural patterns in the C programming language. The book highlights the value of patterns. In the right context, patterns serve as an excellent tool for communication and reasoning. The book provides a C programmer with techniques to benefit from the growing body of knowledge captured in patterns.
Development Fuel: software testing in the large
July 2012 (co-autored by Adam Petersen and Seweryn Habdank-Wojewodzki)
As soon as a software project grows beyond the hands of a single individual, the challenges of communication and collaboration arise. We must ensure that the right features are developed, that the product works reliably as a whole and that features interact smoothly. And all that within certain time constraints. These aspects combined place testing at the heart of any large-scale software project.
Code Patterns discuss the challenges involved in introducing and teaching TDD. It investigates something we programmers rarely reflect over, the form and physical layout of our code, and illustrates how it may be used as a teaching-tool.
Read Code Patterns here .
Lisp for the Web
A case study in developing a three-tier web application using Common Lisp. The article was published in the 2008 April issue of C Vu.
Read the article here .
The code for the developed application (Retro Games) is available here .
Design in Test-Driven Development
An article discussing the impact of TDD on the development process.
Solving FizzBuzz using C++ compiler error messages
Using C++ template metaprogramming, I'll try to solve FizzBuzz by having the compiler output the solution as error messages.
Objects for States
Originally captured in Design Patterns, Objects for States is described in close conjunction with the Singleton pattern. This article will explain why this is an unfortunate combination and investigate better alternatives for implementing the pattern in C++.
Objects for States (pdf, 116 kb), published in Overload 73, June 2006
Download the full source code here (zip, 17 kb).
As a language evolves, certain efficient patterns arise. These patterns get used with such a high frequency and naturalness that they almost grow together with the language and generate an idiomatic usage for the practitioner of the language. This article captures some of these idiomatic expressions.
Idiomatic Expressions in C (164 kb), published in C Vu 18.1, February 2006
Patterns in C
This series has been published in the C Vu, which is a bimonthly ACCU publication.
All documents are stored as PDF.
Patterns in C - Part 1 (196 kb), published in C Vu 17.1, February 2005
Patterns in C - Part 2: STATE (237 kb), published in C Vu 17.2, April 2005
Patterns in C - Part 3: STRATEGY (197 kb), published in C Vu 17.3, June 2005
Patterns in C - Part 4: OBSERVER (210 kb), published in C Vu 17.4, August 2005