The following collection of conversations and articles have all been thought-provoking to me and I want to respond to them.
Functional architecture is Ports and Adapters – Mark Seemann
Dependency injection, pushing state to the edges, and more.
Towards a text editor construction kit – @raphlinus
Troubles with the CRDT model and the
Everything is correlated – gwern.net
Troubles with frequentist statistics and null hypotheses.
Strong typing – M-J. Dominus
Introduction to type systems and why PERL’s core design fights types.
What To Know Before Debating Type Systems – Steve Klabnik
Broad discussion of what type systems are, what they can do, what they can’t do, and what “type” means.
Remembering Joe, a Quarter of a Century of Inspiration and Friendship – Francesco Cesarini
Inside the mind of Joe Armstrong and how his brain ticked.
Designing protocols vs. APIs and hooking up software pipes the way we hook up electrical circuits.
ALGOL, Burroughs, Donald Knuth
The Emperor’s Old Clothes – Tony Hoare (1980)
“experiences in the implementation, design, and standardization of computer programming languages, and issues a warning for the future”
How far do we push the paradigm? Is the paradigm practical? What does it mean, essentially?
Programming Sucks – Peter Welch
A terse discussion of what’s wrong in the software industry and why we can’t get ahead.
The care and feeding of software engineers (or, why engineers are grumpy) – Nicholas C. Zakas
As in the name – why does it seem like software developers are cynical naysayers.
What if “data” is a really bad idea? – Alan Kay, Rich Hickey on reddit
What comprises “data?” What comprises “code?” Why does it matter?
The Failures of “Intro to TDD” – Justin Searls (2014)
Invert our normal conception of test-driven develop or of building independent units as we work up the application; start with the “finished” application as a fake/mock and refine the tests and the units as you fill out more and more of the product.
Ironies of Automation – Lisanne Bainbridge, Automatica Vol.19, No.6 pp. 775-779 (1983)
Adding automation in order to minimize the demand for skilled manual labor has an odd tendency to increase the demand for more-skilled manual labor. Quis custodiet ipsos custodes?
Computing Machines – Lawrence Kesteloot
A fictional tale of how deeply computer security bugs can go; an imagination of “reflections on trusting trust” where the actor is sentient in itself rather than malicious.