Keith Douglas' Web Page

About me Find out who I am and what I do.
My resumé A copy of my resumé and other documentation about my education and work experience for employers and the curious.
Reviews, theses, articles, presentations A collection of papers from my work, categorized and annotated.
Current research projects What I am currently working on, including some non-research material.
Interesting people People professionally "connected" to me in some way.
Interesting organizations Organizations I am "connected" to. (Some rather loosely.)
Intellectual/professional influences Influences on my work, including an organization chart. Here you can also buy many good books on philosophy and other subjects via I have included brief reviews of hundreds of books.
Professional resources Research sources, associates programs, etc.
What is the philosophy of computing? A brief introduction to my primary professional interest.
My intellectual heroes A partial list of important people. Limited to the dead.
My educational philosophy As a sometime teacher I've developed one. Includes book resources.

Book Influences - Computing: Systems and Assembly Languages

6809 Assembly Language Programming Leventhal I have never owned a computer or anything else (that I know of) with a 6809 microprocessor. However, my mother bought this as a gift for me (used, fortunately) once and I have kept ever since and from time to time looked at it. Of course, it is dated, being about an early 16 bit processor. As for the quality of the contents, from my knowledge of 6502 assembly (see below) it all seems plausible, but I have never tried any of it out.
68000 Family Assembly Language Clement Assigned as a textbook in an assembly languages course I did at McGill, I have not studied much of this. However, it makes a crucial remark every philosopher with an opinion on computing should study and analyze (and, I think, believe). Computers do not deal with numbers or even numerals. A pattern of bits (philosophical aside: there's a problem here I hope to address one day - people talk as if the bit was both a thing and a unit, which is bad news) can represent anything at all - or at least anything specificably in a finite way. (This raises interesting questions about the infinite!)
Apple Machine Language for Beginners Mansfield Dated for sure - except for emulator folks. The assembler (i.e., LADS) in the book is - according to a BBS colleague of mine years ago - buggy. However, the very elementary discussions of the platform and 6502 assembly language is more or less correct. (There's a mistake about the 65C02, though. STZ is not an instruction; STA has a new mode.)
Computer Systems: A Programmer's Perspective Bryant Want to know why understanding something about the implementation of malloc() is useful to the programmer? Read this book and be enlightened on this and many topics. Includes good exercises and worked problems.
Operating Systems Concepts (3e) Silberschatz, Peterson, Galvin This edition is ridiculously out of date (c. 1991) but I got it used for $0.25, so no matter. Nevertheless, it is interesting precisely for that reason: it shows that some terminology has been almost lost in its original meaning. For example, paging vs. swapping, and what spooling originally meant. Moves from the very simplistic in the first section ultimately to research (at the time anyway problems. (Not surprisingly, as it is intended partially as a graduate level text.)