Select Page

Unholy Grails

A recent project I’ve been working on uses Grails, the Groovy-based Java web platform, patterned on Ruby on Rails.  Grails is a Java relational database to web stack built on the well established open source frameworks, Spring and Hibernate.  The design...

Concurrency in Java

Recently I had the pleasure of two sessions on programming concurrency on the Java VM by Dr. Venkat Subramaniam, at a No Fluff, Just Stuff conference.  The presentations were based on his recent book, Programming Concurrency on the JVM.  Two very different approaches...

Design as Knowledge Acquisition

Read this post by Alistair Cockburn on Design as Knowledge Acquisition. Developing application software, which is what I’ve done for a decade, always involves learning — acquiring knowledge.  We have to learn about the problem space (the...

Peter Naur – Programming as Theory Building

I was re-reading appendix B in Alistair Cockburn’s book, Agile Software Development, 2nd edition.  He has posted the entire appendix on his own blog. Peter Naur thinks it important to consider the sort of activity that programming is.  Because if it is...

The importance of retrospectives in agile development

A retrospective is a team meeting conducted at the end of each iteration (sprint) in which the team talks about how to improve how they work.  I believe that the effectiveness of an agile team strongly correlates with their ability to engage in productive...