Introduction to

I started this web site in 2000, and since then it’s grown into a monster of writing about various aspects of software development. At times I can hardly find my way around it, so here is a guide that will help you browse and hopefully find something interesting and useful.

Guide Pages

The main facility I’ve provided for browsing around this site is what I call “guide pages”. Guides provide a newspaper-like page that highlights a number of items about a particular topic. (This page is an example of a guide.) Most of the links in the top navigation bar go to guides. Using a guide you can get a feel for the various articles on this site about a particular topic. I also link in closely related material from other sites.

Learning about updates

If you want to know when I add more material to this site, I use a couple of predictable ways to alert readers to new material.

  • News Feed: a news feed to put into your feed reader. It’s Atom format, so any feed reading software should read it just fine.

    As well as new material on the site, this feed also contains various announcements that I think readers may be interested in, such as upcoming talks and notices about work connected with mine.

    My home page also shows a version of this feed but with excerpts of longer entries.

  • Twitter Stream: I also announce most updates and various other ephemera on Twitter. This stream is copied to my Facebook Page.

  • Email List: I don’t have a mailing list set up, but Matt Haikin (a reader) let me know of a useful service he happily uses called Blogtrottr. This allows you to grab my RSS feed and turn it into a regular email. Handy for people who prefer the email experience for my and other RSS feeds.


It’s one of those great ironies of life that I’m a popular speaker, but not someone who enjoys giving talks. So I try to limit my talks as much as possible, but still end up having to get on stage a couple of times a month. I keep a calendar of my upcoming talks on my home page and usually announce any talks on my feed and twitter stream. Many of my talks are available on video


Blogs were all the rage in the early noughties, but I had mixed feelings about joining in. Eventually I decided that what I wanted that was something that was more of a cross between a blog and a wiki - which Ward Cunningham thus dubbed a bliki. Like a blog it captures small items on many topics which are mostly read through my feed. Like a wiki, however, each entry is a wikiWord as I try to organize the bliki through named concepts. I write the entries to be things that are valid for a long time, and most bliki posts are just as valid now as when I wrote them.

The bliki, like much of the website, has grown and now has over 400 entries. The tags are probably the best way to explore it. There is also a page with all the recent bliki entries. All bliki entries are put, with full text, into my news feed.


I’m a serial book writer, who seems unable to kick the habit. To see more information about my books, as well as others in my signature series, go to my books page. I also mention my books where they are relevant in the guide pages.

So far I’ve written all of my books with Pearson under the Addison-Wesley imprint. You can get many of my books online if you are a member of safari books online. The Safari service isn’t cheap, but gives you access a huge amount of Pearson and O’Reilly books. As well as Safari, Pearson is increasingly making their books available through more and more electronic channels.


I’ve set up a tagging system to help you find material on this site (and elsewhere) based on the topic. Each article and bliki page is tagged with various keywords, click on those tags and you’ll go to a page that lists all the other material with that tag, together with a brief abstract. This is a good way of finding related material to the article you’ve just read. As well as material on this site, the tags index material I’ve done that’s hosted elsewhere, such as videos of my conference presentations.

You can find a full list of all the tags on my home page. Similar lists are on each bliki page.


The origin of this site is long-form articles, where I take a topic and try to write about it at a reasonable length. In my most successful cases articles such as Dependency Injection and Agile Methods have become one of the standard references on the topic. Other articles are less read, but I think still valuable: such as on evolutionary database design. Other articles are now really only of historic interest.

The best way to browse these articles is via the guide pages on particular topics. Each page links to what I think is the best reading on the subject. If you are trying to hunt a specific article down, the search box is the obvious route. Or I keep a list of all my articles on one page, should that be more handy.

Most of the articles on this site are written by me, but I do host articles from other people I know. Some of the best articles here are by my friends and colleagues, such as Jason Yip on stand-up meetings and Ian Robinson on consumer driven contracts.