OOP the Easy Way
Object-Oriented Programming the Easy Way: a manifesto for reclaiming OOP from three decades of confusion and needless complexity.APPropriate Behaviour
APPosite Concerns
FSF

Author Archives: Graham
Product teams: our products are not our products
Woah, too many products. Let me explain. No, it will take too long, let me summarise. Sometimes, people running software organisations call their teams “product teams”, and organise them around particular “products”. I do not believe that this is a … Continue reading
Posted in architecture of sorts, Business
Leave a comment
Mapping software engineering tools
Despite the theory that everything can be done in software (and of course, anything that can’t be done could in principle be approximated using numerical methods, or fudged using machine learning), software engineering itself, the business of writing software, seems … Continue reading
Posted in architecture of sorts, tool-support
Leave a comment
More speed, lower velocity
I frequently meet software teams who describe themselves as “high velocity”, they even have graphs coming from Jira to prove it, and yet their ability to ship great software, to delight their customers, or even to attract their customers, doesn’t … Continue reading
Posted in Business, performance, process, software-engineering
4 Comments
Figurative Programming and Gloom: the [G]raphical [LOOM]
Donald Knuth is pretty cool. One of the books he wrote that I own and have actually read[*] is Literate Programming, in which he describes (among other things) weaving program text and documentation together in a single narrative. Two of … Continue reading
Posted in tool-support
Leave a comment
Two books
A member of a mailing list I’m on recently asked: what two books should be on every engineer’s bookshelf? Here’s my answer. Many software engineers, the ones described toward the end of Code Complete 2, would benefit most from Donald … Continue reading
Packaging software
I’ve been learning about Debian Packaging. I’ve built OS X packages, RPMs, Dockerfiles, JARs, and others, but never dpkgs, so I thought I’d give it a go. My goal is to make a suite of GNUstep packages for Debian. There … Continue reading
Concurrent objects and SCOOP
Representing concurrency in an object-oriented system has been a long-standing problem. Encapsulating the concurrency primitives via objects and methods is easy enough, but doesn’t get us anywhere. We still end up composing our programs out of threads and mutexes and … Continue reading
A little challenge
A little challenge today: create a JS function that turns its arguments into a list of pairs. Actually, the brief was “using Ramda” but I ended up not doing that: function basePairwise(xs) { if (xs.length == 0) return []; if … Continue reading
Posted in FP, javascript
Leave a comment
Ultimate Programmer Super Stack: Last day!
I already wrote about the Ultimate Programmer Super Stack, a huge bundle of books and courses on a range of technologies: Python, JS, Ruby, Java, HTML, node, Aurelia… and APPropriate Behaviour, my book on everything that goes into being a … Continue reading
Posted in advancement of the self, books, edjercashun
Leave a comment
Coming to terms with fewer terms
I was on a “Leadership in Architecture” panel organised by RP International recently, and was asked about problems we face using new techniques like Microservices, serverless and machine learning in the financial technology sector. The biggest blocker I see is … Continue reading
Posted in software-engineering
Leave a comment