publications & presentations |
| home | about | services | courses | events | links | papers | code |
| A mailing list, hosted by Yahoo! Groups, is offered for anyone interested in announcements concerning significant changes to this site such as posting of articles or code or details of services and events. |
papers by affiliation |
accu |
The PfA Papers: Context Matters (HTML), Overload 82, December 2007
The PfA Papers: The Clean Dozen (HTML), Overload 81, October 2007
The PfA Papers: From the Top (HTML), Overload 80, August 2007
Pattern Connections (PDF, 347 KB), ACCU Conference 2007, April 2007
A Practical Form of OO Layering (HTML), by Teedy Deigh, Overload 78, April 2007
Vorsprung Durch Testing (HTML), Overload 69, October 2006
A Critical View of C++ Practices (PDF, 318KB), ACCU Silicon Valley, March 2006
C-side Re-sort (HTML), Overload 68, August 2005
Five Considerations (PDF, 45KB), keynote at ACCU Conference 2005, April 2005
More C++ Threading: From Procedural to Generic, by Example (PDF, 417KB), ACCU Conference 2004, April 2004
Pattern Writing: Live and Direct (PDF, 394KB), with Frank Buschmann, ACCU Conference 2003, April 2003
C++ Threading: A Generic-Programming Approach (PDF, 336KB), ACCU Conference 2003, April 2003
The Imperial Clothing Crisis (HTML), Minimalism series in Overload 47, February 2002
Omit Needless Code (HTML), Minimalism series in Overload 45, October 2001
Interface-Based Development (PDF, 576KB), JaCC, March 2000
Design: Concepts and Practices (PDF, 416KB), keynote at JaCC, September 1999
Substitutability: Principles, Idioms and Techniques for C++ (PDF, 768KB), JaCC, September 1999
Clone Alone (PDF, 197KB), Overload 33, August 1999, revised 2003
Idioms: Breaking the Language Barrier (PDF, 528 KB), C and C++ European Developers Forum, September 1998
Counted Body Techniques (HTML), Overload 25, April 1998, hosted by Boost
Constraining Template Parameter Types (HTML), /tmp/late/* series in Overload 12, February 1996, republished in ACC++ent 1(9), September 2000
Go with the Flow (HTML), The Elements of Style series in CVu 7(6), September 1995
Brevity is the Soul of Wit (HTML), The Elements of Style series in CVu 7(2), January 1995
Literate Programming (HTML), The Elements of Style series in CVu 7(1), November 1994
Don't Think About Elephants (HTML), The Elements of Style series in CVu 6(6), September 1994
Writing Your Own Stream Manipulators (HTML), Overload 5, AugustSeptember 1994
application development advisor |
Learning Curve (PDF, 54KB), Programmer's Workshop column in Application Development Advisor 9(2), MarchApril 2005
Unequal Equivalence (PDF, 52KB), Programmer's Workshop column in Application Development Advisor 9(1), JanuaryFebruary 2005
First among Equals (PDF, 92KB), Programmer's Workshop column in Application Development Advisor 8(6), NovemberDecember 2004
No Memory for Contracts (PDF, 130KB), Programmer's Workshop column in Application Development Advisor 8(5), SeptemberOctober 2004
Opposites Attract (PDF, 50KB), Programmer's Workshop column in Application Development Advisor 8(4), JulyAugust 2004
Conventional and Reasonable (PDF, 45KB), Programmer's Workshop column in Application Development Advisor 8(3), MayJune 2004
Form Follows Function (PDF, 191KB), Programmer's Workshop column in Application Development Advisor 8(2), MarchApril 2004
Objects of Value (PDF, 51KB), Programmer's Workshop column in Application Development Advisor 7(6), NovemberDecember 2003
Prefer Code to Comments (PDF, 51KB), Programmer's Workshop column in Application Development Advisor 7(5), SeptemberOctober 2003
Sorted (PDF, 194KB), Programmer's Workshop column in Application Development Advisor 7(4), JulyAugust 2003
Inside Requirements (PDF, 40KB), Programmer's Workshop column in Application Development Advisor 7(3), MayJune 2003
What's in a Name? (PDF, 138KB), C++ Workshop column in Application Development Advisor 7(2), MarchApril 2003
Put to the Test (PDF, 56KB), C++ Workshop column in Application Development Advisor 6(9), NovemberDecember 2002
The Next Best String (PDF, 76KB), C++ Workshop column in Application Development Advisor 6(8), October 2002
Highly Strung (PDF, 54KB), C++ Workshop column in Application Development Advisor 6(7), September 2002
Stringing Things Along (PDF, 185KB), C++ Workshop column in Application Development Advisor 6(6), JulyAugust 2002
The Rest of the Best (PDF, 65KB), C++ Workshop column in Application Development Advisor 6(5), June 2002
Six of the Best (PDF, 59KB), C++ Workshop column in Application Development Advisor 6(4), May 2002
Flag Waiving (PDF, 138KB), C++ Workshop column in Application Development Advisor 6(3), April 2002
XP Day The Story of an XP Event (PDF, 21KB), contribution to David Norfolk's To XP or not to XP? article in Application Development Advisor 6(2), March 2002
Look Me Up Sometime (PDF, 139KB), C++ Workshop column in Application Development Advisor 6(2), March 2002
Bound and Checked (PDF, 67KB), C++ Workshop column in Application Development Advisor 6(1), JanuaryFebruary 2002
The Perfect Couple (PDF, 99KB), C++ Workshop column in Application Development Advisor 5(9), NovemberDecember 2001
Promoting Polymorphism (PDF, 129KB), C++ Workshop column in Application Development Advisor 5(8), October 2001
Standardising on C++ (PDF, 61KB), Effective C++ column in Application Development Advisor 5(7), September 2001
If I Had a Hammer... (PDF, 58KB), Effective C++ column in Application Development Advisor 5(6), JulyAugust 2001
One Careful Owner (PDF, 90KB), Effective C++ column in Application Development Advisor 5(5), June 2001
Making an Exception (PDF, 94KB), Effective C++ column in Application Development Advisor 5(4), May 2001
The Miseducation of C++ (PDF, 110KB), Effective C++ column in Application Development Advisor 5(3), April 2001
Mind Your Language (PDF, 83KB), Application Development Advisor 3(3), JanuaryFebruary 2000
Speaking in Tongues (PDF, 196KB), Application Development Advisor 2(1), SeptemberOctober 1998
artima |
The Taxation of Representation (HTML), The Road to Code blog at Artima, 30th July 2003
Five Possible Things after Breakfast (HTML), The Road to Code blog at Artima, 23rd June 2003
c++ report |
Substitutability (PDF, 381KB), From Mechanism to Method column in C++ Report 12(5), May 2000, also reprinted in Overload 39, September 2000
Creating Stable Assignments (PDF, 873KB), C++ Report 10(6), June 1998
c/c++ users journal |
State Government (HTML), From Mechanism to Method column in C/C++ Users Journal online, June 2002
The Safe Stacking of Cats (HTML), From Mechanism to Method column in C/C++ Users Journal online, February 2002
Generic Decoupling (HTML), From Mechanism to Method column in C/C++ Users Journal online, November 2001
Further Qualifications (HTML), From Mechanism to Method column in C/C++ Users Journal online, September 2001
Data Abstraction and Heterarchy (HTML), From Mechanism to Method column in C/C++ Users Journal online, August 2001
Distinctly Qualified (HTML), From Mechanism to Method column in C/C++ Users Journal online, May 2001, also reprinted in Overload 55, June 2003
Total Ellipse (HTML), From Mechanism to Method column in C/C++ Users Journal online, March 2001, also reprinted in Overload 53, February 2003
Good Qualifications (HTML), From Mechanism to Method column in C/C++ Users Journal online, January 2001, also reprinted in Overload 52, December 2002
Function Follows Form (HTML), From Mechanism to Method column in C/C++ Users Journal online, November 2000, also reprinted in Overload 48, April 2002
exe |
C++ RTTI: Casting Around (HTML), EXE, October 1998
iasa |
iso c++ |
N1939: Any Library Proposal for TR2 (HTML), with Beman Dawes, JTC1/SC22/WG21, February 2006 (under consideration)
N1883: Preliminary Threading Library Proposal for TR2 (PDF, 154KB), JTC1/SC22/WG21, August 2005 (not accepted)
N1680: Memory Model for Multithreaded C++ (PDF, 109KB), with Andrei Alexandrescu, Hans Boehm, Doug Lea and Bill Pugh, JTC1/SC22/WG21, September 2004 (incorporated into accepted proposals)
N0896: Const Qualification of String Literals (ASCII), JTC1/SC22/WG21, 1996 (accepted)
N0798: CV-Qualified Constructors (HTML), JTC1/SC22/WG21, 1995 (not accepted)
N0684: An Alternative Wide Character Type (ASCII), JTC1/SC22/WG21, 1995 (not accepted)
jaoo |
Objects and Unicorns (PDF, 164KB), JAOO, September 2003
Beyond the Gang of Four (PDF, 230KB), with Frank Buschmann, JAOO, September 2003
Value-Based Programming in Java (PDF, 209KB), JAOO, September 2002
Minimalism: A Practical Guide to Writing Less Code (PDF, 179KB), JAOO, September 2002
javapolis |
Inside the Agility Cube (Part 1) (slides and audio), JavaPolis '06, August 2007
java report |
Another Tale of Two Patterns (PDF, 57KB), Patterns in Java column in Java Report 6(3), March 2001
A Tale of Two Patterns (PDF, 85KB), Patterns in Java column in Java Report 5(12), December 2000, also available in HTML from the Java Report archives
Collections for States (PDF, 115KB), Patterns in Java column in Java Report 5(8), August 2000
Matters of State (PDF, 111KB), Patterns in Java column in Java Report 5(6), June 2000
Value Added (PDF, 156KB), Patterns in Java column in Java Report 5(4), April 2000
Patterns of Value (PDF, 168KB), Patterns in Java column in Java Report 5(2), February 2000
Something for Nothing (PDF, 257KB), Patterns in Java column in Java Report 4(12), December 1999, also available in HTML from the Java Report archives (includes references omitted from PDF version)
java spektrum |
Encapsulation (PDF, 141KB), original English draft of Patterns in Java column published as Kapselung in JavaSPEKTRUM, JulyAugust 2003
Unfinished Symmetry (PDF, 131KB), original English draft of Patterns in Java column published as Unvollendete Symmetrie in Java in JavaSPEKTRUM, MayJune 2003
The Temptations of Symmetry (PDF, 134KB), original English draft of Patterns in Java column published as Die Gratwanderung zwischen Symmetrie und Asymmetrie in JavaSPEKTRUM, SeptemberOctober 2002
The Importance of Symmetry (PDF, 144KB), original English draft of Patterns in Java column published as Symmetrie in Java in JavaSPEKTRUM, JulyAugust 2002
javazone |
Programmer's Dozen (PDF, 314KB), JavaZone, September 2003
objective view |
Abstraction: Down on the Upside (PDF, 2.2MB), Objective View 9, February 2006
omt user group |
ot & spa |
The Diary of Bridget Jones the Weekend Before OT (HTML), a winning competition entry from OT99, March 1999
Distributed Programming Patterns (PDF, 73KB), workshop output from OT2000, March 2000
php conference |
plop & plunk |
Context Encapsulation (PDF, 359KB), updated version of paper workshopped at EuroPLoP 2005, July 2005
Relative Values (PDF, 177KB), updated version of paper workshopped at VikingPLoP 2004, September 2004
Stable Intermediate Forms (PDF, 199KB), conference proceedings version of paper workshopped at EuroPLoP 2004, July 2004
The Good, the Bad, and the Koyaanisqatsi (PDF, 184KB), conference proceedings version of paper workshopped at VikingPLoP 2003, September 2003
Factory and Disposal Methods (PDF, 193KB), conference proceedings version of paper workshopped at VikingPLoP 2003, September 2003
Methods for States (PDF, 181KB), conference proceedings version of paper workshopped at VikingPLoP 2002, September 2002
Null Object (PDF, 211KB), conference proceedings version of paper workshopped at EuroPLoP 2002, July 2002
Buy the First Round (HTML), drinking/economics pattern that found its way into one of the conference newsletters, EuroPLoP 2001, July 2001
C++ Patterns: Reference Accounting (PDF, 393KB), proceedings version of paper submitted to EuroPLoP 2001, July 2001
Valued Idioms: Patterns for Value-Based Programming (PDF, 439KB), Danmarks Design Patterns studie gruppe, May 2001
C++ Patterns: Executing Around Sequences (PDF, 348KB), proceedings version of paper submitted to EuroPLoP 2000, July 2000
Collections for States (PDF, 229KB), proceedings version of paper submitted to EuroPLoP '99, July 1999
Mutual Registration (PDF, 250KB), proceedings version of paper submitted to EuroPLoP '99, July 1999
Java Patterns and Implementations (HTML), BCS OOPS Patterns Day, October 1997
reg developer |
Driving on the Right Side of the Code (HTML), column at Reg Developer, March 2007
To Iterate Is Human (HTML), column at Reg Developer, September 2006
Up with Cohesion, Down with Coupling (HTML), column at Reg Developer, August 2006
Long Argument Lists (HTML), column at Reg Developer, June 2006
Building Cohesion into Programming (HTML), column at Reg Developer, June 2006
Driven to Tests (HTML), republished from Application Development Advisor at Reg Developer, March 2006
Of Software Bugs and Learning Curves (HTML), republished from Application Development Advisor at Reg Developer, February 2006
Unequal Equivalence (HTML), republished from Application Development Advisor at Reg Developer, January 2006
First Among Equals (HTML), republished from Application Development Advisor at Reg Developer, December 2005
Let's Get Cohesive (HTML), column at Reg Developer, December 2005
sd west |
search software quality |
Iterative and Incremental Development Explained (HTML), SearchSoftwareQuality.com, December 2007
From Use Case Diagrams to Context Diagrams (HTML), SearchSoftwareQuality.com, November 2007
The Pros and Cons of Use Case Diagrams (HTML), SearchSoftwareQuality.com, September 2007
How to Document Use Cases (HTML), SearchSoftwareQuality.com, July 2007
se radio |
A Pattern Language for Distributed Systems (MP3, 67 minutes), with Frank Buschmann, interviewed by Markus Voelter, SE Radio, July 2007
sigcse bulletin |
software architect |
sticky minds |
visual tools |
vsj |
xp day |
© Copyright Curbralan Limited, updated 2008-05-06, webmaster@curbralan.com