Building modern software is so complicated. So many layers where things can go wrong. Vagrant, VirtualBox, Docker, Maven, JVM, Vert.X, Spring, Node, NPM, Cypress, Chai, SSH, tunnels, git, GitHub, Jenkins, Travis, the list goes on and on.
I understood everything about my Commodore 64. Now I barely understand NPM. I know there are good reasons why things are the way they are. But that doesn’t mean I don’t lament what we’ve lost.
Thirty years ago, when I was about thirteen, I got a memory expansion for my VIC-20. (I told the whole story a while ago). Now, my eldest son Daniel is thirteen, and to congratulate him for an excellent set of end-of-year exam results, I bought him a memory expansion for his MP3 player.
Here they both are:
Mine is on the right; it provides 8 Kb. Daniel’s is on the left: it provides 16 Gb. So that’s two million times as much memory.
We’re living in the future.
Like most programmers, I suppose, I’m arrogant enough to think I’m pretty good (although see The Dunning-Kruger effect). But through the last thirty years’ programming, I’ve worked with plenty who I know are better than me. Today I want to talk about three of them, and about how very different their skills are; and I’ll finish up by thinking about what the rest of us can learn from them, and what we can do to maximize our own abilities.
I agonized about whether to name them, but eventually concluded that I can say more about their work if I am specific; and what the heck, they might enjoy being held up as examples. They certainly deserve it! So step forward (in chronological order) Steve Sykes, Mike Selway and Adam Dickmeiss!
Today I want to talk about another vintage book — this one from 1985, eleven years after Kernighan and Pike’s Elements of Programing Style came out. While EoPS is largely timeless, this one has aged dramatically; but it was so important to me twenty-something years ago, and embodies an era that I remember with such fondness, that couldn’t resist writing about it.
[WARNING: this post is pretty much pure nostalgia for 1980s hardware, and has little technical content. It does, however, set up something else that I want to write about soon.]
I was born 1968; I finished primary school and went to secondary school, at age 11, in 1979. At that time I’d never seen a computer, but at secondary school I met Myles Kelvin, and we quickly became best friends. His dad had recently bought a Video Genie to run a small business on, and that was the first computer I used.
(I know it seems odd to start an article about Commodore computers with a Video Genie photo, but bear with me.)