There comes a point in complex domains where only developers have anything close to a complete understanding of the system behaviour. If you’re lucky.
Posts by Year
A non-mathematical introduction to Monads.
A non-mathematical introduction to functors.
How do we write software that is simple, extensible, composeable? This is a very difficult question to answer.
How hard can it be?
Software Documentation is hard to do, tedious to maintain, unsatisfactory, and always wrong.
Software is quite miraculous if you think about it. It starts as a random, incoherent set of ideas, and after some pondering, often too little, text is writt...
We are excited and proud to announce that a project started with Underscore partners and associates has won the highest accolade in the Barclays Agility Conf...
Its like a finger pointing away to the moon. Don’t concentrate on the finger or you will miss all that heavenly glory. — Bruce Lee in a movie.
IT departments — on issues ranging across the spectrum from Software Process to technology — seek to have decision-making discretion taken from those directl...
This is an example of using the Reader and Writer monads to solve a problem which cropped up on a project I am working on.
I recently came across another elegant use of the type class pattern, so I thought I’d share it with here.
This is a simple example of use of a mysterious beast called a Kleisli arrow.
Here is an example of so-called phantom types and covariance in Scala to improve type safety and correctness. The example is a simplified version from a real...
Typeclasses are most famously a language feature of Haskell that has gained interest in the Scala community. Here I describe the basic pattern with reference...
Over the last few months, we’ve been working on delivering HSBC’s Clearing Connectivity Layer and OTC Cleared Trade Acceptance System. We went live early Dec...
I was driven to write this article after reading Kirk Knoernschild’s blog about Rotting Design and felt I needed to say something.
This is another way of looking at how Test Driven Development (TDD) helps to build better software.
“If you have built castles in the air, your work need not be lost; that is where they should be. Now put foundations under them”. Henry David Thoreau
This article continues my series on Software Quality, discussing Vignelli’s pragmatics.
Walk into a room of software developers and invariably the conversation will turn to the dreadful quality of code in their workplace or the industry.