I am far, far distant from a beginner at software crafts. I wrote my first BASIC program, a lunar lander game, in 1969, on a cranky old teletype. The program was saved on punched paper tape.

The current age of computers, software development practice, and, probably most importantly, the availability, ubiquity, and democratisation of computers and software development learning materials is so vastly different from 1969. No surprise, I’m not saying anything new. But the implications for me are that it is really hard to re-acquire the mind-set of someone so brand new to programming that they really don’t have any sense of how things work with absolutely no reference frames to hang things off of when they set down to learn.

This is frustrating for both of us. I’ve forgotten what I didn’t used to know. You don’t know what you need to learn.

In this section, I want to put together some information for beginners.

They’re not going to come in any particular order, for I’m still learning what might be needed. Organization will come, hopefully not too late, and not too poorly.

This section is also going to be very, very Unix, Linux, GNU, and Mac OSX focused, since that’s all I really have familiarity with.