Category Archives: Software development

Programming, simplicity and art

Programming, the writing of computer code in order to solve a specific problem, is a new intellectual discipline. It has a history going back to logic and mathematics, but it is relatively new as a human endeavour. It is constrained by hardware, by mathematics, by programming languages, and what we might call technical culture: APIs, […]

Covid-19 and time

I can now conclusively answer the question raised at the end of my blog post from December 2019: the 2020s are not a decade of orderly peace. What a strange year. But weren’t years always strange? Time passes not only quantitatively but also qualitatively. A year spent with Covid-19 seems to have passed differently from […]

Reactive software and the outer world

At Scala Matsuri a few weeks ago (incidentally, an excellent conference), I was fortunate to be able to attend Jonas Bonér’s impassioned talk about resilience and reactive software. His theme: “without resilience, nothing else matters”. At the core of it is a certain way of thinking about the ways that complex systems fail. Importantly, complex […]

The bounded infinity of language

Works of art, including film, painting, sculpture, literature and poetry, have a seemingly inexhaustible quality. As we keep confronting them, renewing our relationship with them over time, we continually extract more meaning from them. Some works truly appear to be bottomless. Reaching the bottom easily is, of course, a sure sign that a work will not […]

Small Tools for Bioinformatics

Pjotr Prins has published a Small Tools Manifesto for Bioinformatics, which is well worth a read for anyone who develops bioinformatics software. In essence it’s about increased adoption of the Unix design philosophy. I fully support the manifesto, which in many ways is reminiscent of the ideas that me and Gabriel Keeble-Gagnere presented in our […]