Don’t Stream JSON Data (Part 2)

I've discussed the merits of JSON streaming in two prior posts: Large JSON Responses and Don’t Stream JSON Data, if  you haven't read these yet then take a quick look first, they're not long reads. I'm attracted to the highly scalable proposition of scaling out the consumer, so many requests can be made individually rather than returning a … Continue reading Don’t Stream JSON Data (Part 2)

Making Decisions with Cynefin

A friend tweeted recently about how it isn’t always possible to decide late on which product to use for data storage as different products often force an application to use different patterns. This got me thinking about making other decisions in software design. In general it’s accepted that deciding as late as possible is usually a … Continue reading Making Decisions with Cynefin

Getting FitNesse to Work

Sample code here. Recently I've been looking into Specification by Example, which people keep defining to me as BDD done the right way. Specification by Example fully implemented includes the idea of an executable specification. A concept that has led me back to FitNesse having given it the cold shoulder for the last six or seven years. … Continue reading Getting FitNesse to Work

Integration Testing Behaviour with Mountebank

Developer's machine > dev shared environment > staging environment > UAT > production. Probably not exactly how everyone structures their delivery pipelines but probably not that far off. It allows instant feedback on whether what a developer is writing actually works with the code other developers are writing. And that's a really good thing. Unfortunately, it misses something... Each environment … Continue reading Integration Testing Behaviour with Mountebank