Programming Articles

The Signs of Trouble: On Patterns, Humbleness and Lisp

October 2012

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.

Read More

Patterns in C - The Book

September 2012

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.

Read More or visit the book's homepage.

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.

Read Development Fuel

Code Patterns

June 2011

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

March 2008

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

April 2007

An article discussing the impact of TDD on the development process.

Design in Test-Driven Development was published in Overload 78, April 2007 .

Solving FizzBuzz using C++ compiler error messages

April 2007

Using C++ template metaprogramming, I'll try to solve FizzBuzz by having the compiler output the solution as error messages.

Read the article here . The article was posted on reddit in April, 2007.

Objects for States

May 2006

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).

Idiomatic Expressions

February 2006

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

June-September 2005

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

Patterns in C - Part 5: REACTOR (284 kb) with full source code (zip, 13 kb), published in C Vu 17.5, October 2005