All Articles

Posted Updated Title
2019-06-30 Mistakes we made adopting event sourcing (and how we recovered)
2016-10-28 A Whirlwind Tour of the Kotlin Type Hierarchy
2016-03-23 Message Obsession
2015-12-30 2018-01-18 Early Impressions of Kotlin
2015-11-06 Higher Order React Components
2015-09-10 2015-09-25 Working Effectively with Legacy Tests
2015-08-08 Refactoring JavaScript from Sync to Async in Safe Baby-Steps
2015-04-19 Faster Word Puzzles with Neo4J
2015-04-06 2015-04-11 Word Puzzles with Neo4J
2015-02-18 Diamond Kata - Thoughts on Incremental Development
2015-02-15 Diamond Kata - Some Thoughts on Tests as Documentation
2015-01-10 2015-02-19 Diamond Kata - TDD with only Property-Based Tests
2015-01-06 Decoupling JUnit and Hamcrest
2013-12-02 Affordance Open-Space at XP Day
2013-10-09 Multimethods
2013-06-26 2013-06-28 Property Based TDD at SPA 2013
2013-06-21 Can Approval Testing and Specification by Example Work Together?
2013-06-18 Misadventures with Property-Based TDD: A Lesson Learned
2013-06-06 Code Guide - Interactive Explanations of Example Code
2013-06-05 Tcl 7.5 - A Good Read
2013-05-05 2013-05-12 Property-Based TDD Workshop at XP2013 and SPA2013
2012-12-10 Property-Based TDD at XP Day London 2012
2012-11-05 2013-06-22 Exploring Test-Driven Development with QuickCheck
2012-08-26 An Unexpected Benefit of Eating my Own Dogfood
2012-08-24 2012-08-26 How I Learned to Stop Worrying and Live Without Version Control
2011-12-11 2012-03-12 Versioning Codea Projects with Git
2011-11-27 Ports and Adapters With No Domain Model
2011-11-07 Ports, Adapters and Simplicators
2011-11-01 New Version of Team Piazza
2011-05-30 A Python Decorator to Mark Nose Tests as Work in Progress
2011-04-20 2011-04-29 Simplicators
2011-01-06 Dependency "Injection" Considered Harmful
2011-01-06 2011-01-06 Inversion of What?
2010-08-16 TDD at the System Scale
2010-08-10 2010-08-10 Using Metaphor to Express Architectural Constraints
2010-07-27 Avoiding Nulls with Polymorphic Dispatch
2010-07-26 2010-07-27 Avoiding Nulls with "Tell, Don't Ask" Style
2010-07-23 2010-07-26 Maybe for Java and Guava
2010-01-30 2010-01-31 Writing Test Data Builders: Make It Easy on Yourself
2009-12-02 2009-12-03 Two Hypotheses per Test
2009-11-18 Visualising Test Terminology
2009-11-10 Book Launch at XP Day
2009-06-27 2009-07-22 New Version of Team Piazza
2009-03-26 2009-04-01 Mapping Inheritance Cleanly with XStream
2009-03-20 JMock and Threads: the Blitzer
2009-03-19 JMock and Threads: Error Diagnostics
2009-03-18 2009-04-07 JMock and Threads: Waiting for Threads to Finish
2009-03-18 2009-04-07 JMock and Threads: Synchronising Access to the Mockery
2009-03-17 JMock and Threads: Deterministic Scheduling
2009-03-16 JMock and Threads: Deterministic Execution
2009-02-19 Mocking GWT Asynchronous Services with jMock
2009-02-19 Would A Unit Test Have Stopped the Google "Malware" Bug?
2009-01-29 Complaining about Other People's Code
2008-12-12 2009-02-28 Test-Driven Development of Asynchronous Systems: Slides Online
2008-11-24 TDD and Asynchronous Behaviour
2008-11-06 Parkinson's Law of (Planning) Meetings
2008-11-06 2009-04-29 Laws of Software Development
2008-11-04 2008-11-05 What do Programmers Feel About their Software?
2008-11-02 2008-11-10 XP Day 2008
2008-10-03 Refactoring Interfaces
2008-07-25 Growing Object-Oriented Software, Guided by Tests
2008-07-24 Submissions Wanted: XP Day 2008 and SPA 2009
2008-07-15 Error Handling in Distributed Systems II: Coming Back from the Dead
2008-07-08 Error Handling in Distributed Systems: Exception Handling Within Components
2008-06-26 Throw Defect
2008-06-25 Generic Throws: Another Little Java Idiom
2008-02-29 Evolving an API: Programmers are People Too
2008-01-06 Allowing tests to drive development
2007-12-21 Tricks with Test Data Builders: Refactoring Away Duplicated Logic Creates a Domain Specific Embedded Language for Testing
2007-12-16 Tricks with Test Data Builders: Emphase the Domain Model with Factory Methods
2007-12-13 Tricks with Test Data Builders: Combining Builders
2007-12-12 Tricks with Test Data Builders: Defining Common State
2007-12-02 XTC has moved
2007-11-09 Designing an API to work with the IDE
2007-10-25 The XP Day Review Process
2007-10-24 European XP Days
2007-08-27 Test Data Builders: an alternative to the Object Mother pattern
2007-08-13 Easy Java Bean Event Notification
2007-08-03 A Little Java 5 Idiom
2007-07-27 Easy Display Layout Switching in Ubuntu
2007-07-23 Lessons Learned Using FIT
2007-07-03 Multiple Build Monitors on a 3D Rotating Cube
2007-06-30 Team Piazza: Public Life in the Team City
2007-05-15 Refactoring Tests
2007-05-08 Bad example code is an opportunity, not a problem
2007-04-24 Identifiers CAN Say Why
2007-04-10 We were doing test-driven development but forgot about the tests!
2007-04-05 Scrapheap Challenge at SPA2007, part 3: Name that Tune
2007-04-02 Scrapheap Challenge at SPA2007, part 2: The Presentation Package
2007-04-02 Scrapheap Challenge at SPA2007, part 1.
2007-03-12 Synaesthesia: Listening to Test Smells
2007-03-05 DOA (Drawbacks of Acronyms)
2007-03-04 Using the MoGo Mouse with Linux
2006-12-20 Hamcrest 1.0
2006-12-19 Comic Life (and Work)
2006-12-18 Scrapheap Challenge, PoMoPro, London, November 2006
2006-12-03 Fairly Good (and Staggeringly Bad) Practices
2006-11-23 Are Your Tests Really Driving Your Development?
2006-09-25 Google London Test Automation Conference
2006-09-05 The First International Conference on Postmodern Programming
2006-08-25 A brief thought about exceptions in Java
2006-07-24 Interviewing Programmers
2006-06-28 Preparing for XP Day 2006
2006-03-30 Looking at tests from a different perspective.
2006-03-17 Too clever by half!
2005-12-08 Metaphor, Complexity and Postmodern Programming
2005-12-08 Before Iteration Zero
2005-11-14 XP Day 2005
2005-11-05 Scrapheap Challenge at OOPSLA 2005
2005-10-28 Concealed Single-Letter Variable Names
2005-10-24 OOPSLA 2005 Reflections
2005-10-14 Refactoring Higher Order Messaging
2005-10-12 Implementing Higher Order Messages in Ruby
2005-10-06 Higher Order Messaging in Ruby
2005-09-05 Don't Judge a Book by its Title
2005-09-02 Concrete to Abstract Syntax Transformations with SableCC
2005-07-25 Stair Master
2005-05-25 Environmentally Friendly Deployment
2005-05-16 Regional Accents
2005-04-14 Unformed thoughts from SPA'05
2005-03-23 When Metaprograms Attack!
2005-03-21 Import Tests
2005-03-17 Encapsulation is not Information Hiding
2005-01-18 Tell, Don't Log
2005-01-14 What and Why
2004-12-09 Stories
2004-12-09 The Highlight of the Week
2004-11-05 OOPSLA'04: Static Classes or Dynamic Objects?
2004-11-02 OOPSLA'04: SeaSide BOF
2004-11-01 OOPSLA'04: Mirrors
2004-10-28 OOPSLA'04: Mock Object Presentation and jMock Demo
2004-10-14 Testing Multithreaded Code with Mock Objects
2004-09-22 Cryptic and Coffee Time
2004-08-09 Wayne's World Methods
2004-08-06 State vs. Interaction Based Testing Example
2004-07-14 State vs Interaction Based Testing
2004-07-05 Sometimes it's right to be wrong
2004-06-11 Refuctoring
2004-05-25 Agile Project Preplanning Tool
2004-05-07 Pair programming with two computers
2004-04-21 Partially Constructed Objects
2004-04-03 Joking Aside
2004-03-01 Call With Result
2004-02-23 Refactor to Delegation in preference to Abstract Classes
2004-02-17 Invasion of the Pod People
2004-02-16 Using Colourful Language
2004-01-07 Saying nothing is not the same as saying "nothing"
2003-12-31 Blocks and Glue
2003-12-30 Arose buy any other name wood smell as suite.
2003-12-15 Don't test the methods of your classes
2003-12-12 You can't make something out of nothing
2003-12-11 Always make your tests fail
2003-11-25 A serial killer in the space-time continuum
2003-11-24 The value of factories
2003-11-17 Confounded by configuration
2003-11-15 Buried under a sugar coating

Copyright © 2020 Nat Pryce.