Getting to know UNIX and Linux
I first started programming computers in 1978, using FORTRAN IV and assembler on the high school's PDP-11 minicomputer (which, unfortunately, ran RSX-11, not UNIX). Professionally, I've primarily been a software developer, technical trainer/teacher, and writer. I also make presentations at Linux and Free and Open Source Software conferences from time to time. I hold a BSc(Hons) in Computer Science and a BA in Psychology.
In the past, I've worked for various companies and organizations, including:
Currently, I'm a freelance trainer and consultant.
My exposure to UNIX came in bits and pieces; I first encountered UNIX culture a few years before I actually met UNIX itself.
While I was doing my first (Computer Science) degree, I was introduced to regular expressions via chef, a prettied-up version of the early UNIX editor, ed, which had been ported to the PRIMOS system at the university. (At the time, PRIME Computer was a significant manufacturer of minicomputer hardware, and a notable competitor to Digital.) At the same time, I met Robert Biddle, then a graduate student fresh from the University of Waterloo. Waterloo had a fairly famous Computer Science department (it was the home of WATFOR, a popular FORTRAN compiler of the day), and was much closer to the UNIX wave that was then sweeping academia than New Zealand computer science departments, where UNIX had still to make a widespread appearance. Robert told intriguing stories of UNIX, C, and Ratfor.
The next step on the way to meeting UNIX came when I met emacs after taking up a position teaching Computing at the University of Technology ("UNITECH"), in Lae, Papua New Guinea. Although emacs is nowadays most often associated with UNIX, it ran on many other operating systems as well, and so my second meeting with a "UNIX" editor was once more on a PRIMOS system. Once upon a time, I could hack up reasonable LISP macros for emacs. However, after I left PNG, I didn't see emacs again for several years, and forgot most everything; so, until recently, I generally stuck to vi(m). Lately, driven by the need to maintain my sanity while working on large LaTeX/Beamer presentations, I've rediscovered the joys of emacs.
In 1987, I finally met UNIX and C in person. After a spell of traveling (along the way having the foresight to pick up an academic edition of Kernighan and Ritchie's The C programming Language in New Delhi), I ended up in England. There, a friend studying at the University of Sussex had access to a suite of HP Bobcat workstations running HP/UX, and the university library had a copy of the first edition of Marc Rochkind's wonderful Advanced UNIX Programming. For the next several weeks, I was glued to the workstation with AUP, K&R, and a printed copy of the C shell man page at my side, writing a multitude of scripts and programs to test how things work. By the end of that time, I'd acquired a reasonable understanding of UNIX, C, and shell scripting.
Soon afterward, I got a job at Digital Equipment Corporation (UK), which brought me back to VMS. VMS was in many ways a nice operating system, but after exposure to UNIX scripting, returning to DCL (the FORTRAN of command languages) was a chore. Later, I moved into the training branch of Digital, where I was the founding member of what soon became a small, tight group of ULTRIX trainers in VMS land. I specialized in system programming training, and traveled quite a bit around Europe running system programming courses for Digital employees and customers.
A return to New Zealand, a second degree (Psychology plus a good measure of Art History, which gave me a lot more practice writing), and a short spell working on MS Windows applications took me away from UNIX for a few years. I first got interested in Linux when I picked up some Slackware CDs in the mid-1990s, but didn't do any serious work again with it until the late 1990s, when I moved to Munich, where my first job was at a company whose infrastructure was entirely Linux-based. Since then, all of my day jobs have employed Linux.
Soon after I began using Linux in earnest, I noticed errors and deficiencies in the system call and library function man pages. Eventually, I started sending notes, and then patches to the maintainer of the man-pages project, Andries Brouwer. When, in 2004, after more than 9 years as maintainer, Andries retired from the project and asked me to take over maintainership of the project, I accepted.
Although Andries did much good work, man-pages was a largely invisible project when I took over. One of my goals was was to turn that around. Under my maintainership, man-pages acquired:
As of man-pages-4.10 (March 2017), I've made a total of 176 releases of man-pages. I'm also the author or coauthor of around 390 of the 1000+ pages in the project. Working on man-pages is much more than writing documentation: any useful documentation involves spelunking in the kernel and glibc source code, a lot of testing (the list of kernel bugs I've found while testing kernel and glibc interfaces is getting quite long), and review and critique of the design of new and proposed interfaces.
Most of my work on man-pages has been on a private basis, and though documentation is a task dreaded by many, some people like what I do: conference paper selection committees seem to favor presentations on documentation and interface testing and design review; I've four times been invited to the Linux Kernel Summit; and for some months in 2008-2009, I was a paid Fellow of the Linux Foundation, working full time on the project.
I'm a New Zealander, but have lived in quite a few places around the world, including Papua New Guinea, England, Switzerland, the USA (California), and for a short while Colombia (no, not DC). These days, I live in Munich, Germany. While I miss spending more time in New Zealand, Germany—Munich in particular—is a great place to live.
Once upon a time, I was a frequent movie-goer and used to be able to participate in informed critical discussions of a wide range of contemporary films, but these days I don't get along to the cimema quite so often, and—thanks to movie trips with my daughter Cecilia, to whom my book is dedicated—my best critical overview is of children's films.
When I find time (not so often these days), I'm happy to get lost in a book—mainly history, politics, biography, popular science, literary fiction, and some genre fiction. Otherwise, my interests include photography and travel (I come from an island and have visited quite a few others; I've also traveled in all continents except Antarctica).