Well, it's not clear why, but you've decided to read my autobiogaphy. Well, you've decided to start, anyway. So without further ado...
I was born in 1965. (??? time of day, get an odd factoid from mom). The place doesn't matter, and in fact, I moved often when I was a kid. I started playing with electronics and electronic gadgets; but then...
In 1978 I was first introduced to computers; I first learned how to program one using BASIC on a teletype, using a machine with 4K total memory using ferrite cores. I took to computers like a fish takes to water, and spent almost every waking moment learning about them and using them. By 1982 I'd already sold programs I'd written (an inventory control program, and a set of arcade games). I also worked in the computing field -- at first selling computers (which allowed me to learn in detail about a vast amount of softwre), and later switched to consulting about computers.
I paid all of my college tuition as I went doing computer-related work. I developed programs for small businesses, taught various courses (such as Unix programming), and helped in research on techniques to improve keyword-based text search systems.
I actually stopped going to school full-time for a while to work at a start-up called "InterPlay", where I maintained a multiuser role-playing game (Scepter of Goth). It's hard to explain how different the environment is now compared to then; the Internet existed, but very few people had access to it. This game supported up to 16 people at a time using modem dial-ins, really low-performance computer hardware, and tricky programming. Internally, these games are multi-user database engines that required sufficient performance, low latency, and consistency. Unfortunately, although the company was meeting its projections to profitability, the venture capitalists decided to pull the funding before we achieved it (a poor decision; they lost nearly all, and there's every reason to believe they would have made lots of money if they'd just followed the graphs). So my stock options were worthless. Ah well.
My professional interests are in improving software development practices for higher-risk software systems (i.e., ones which must be secure, large, and/or safety-critical). My specialties include writing secure programs, vulnerability assessment, Internet/web standards and technologies, POSIX, GNU/Linux, and open source software / free software (OSS/FS). |
Education/Training | Awards |
---|---|
|
|
Published books:
Public/Published articles:
Most of my written work is not publicly available.
However, if I can make it publicly available, I try to host it on
my website
or at least reference it there.
Here are some of my publicly-available works, some professional, and
some fun:
Other personal works of mine include the Linux man pages for uri(7) and the rewrite of man(7) and mdoc(7).
Interviews
The insatiably curious can see some
interviews of me by
LinuxSecurity.com,
Red Hat,
NewsForge (on proprietary vs. OSS/FS TCO studies),
and
FOSDEM 2002.
Mentions
I've been thanked by various folks for my suggestions, such as for
my XML expertise while participating in the development of the Open Document standard, and
by Eric S. Raymond for contributing "many
perceptive criticisms and some case-study material, especially in the design"
in his book
The Art of Unix Programming.
Hobbies/Personal Info
My hobbies include chess, singing (bass), and
reading (especially science fiction and fact).
I also play the piano, guitar, tuba, and baritone horn, though
never at the same time.
I live in Northern Virginia, near Washington, DC.
I'm a Christian;
more information about Christianity is available.
Why the middle initial?
I always use my middle initial in anything written
(including information on the web), because there are a number of
other David Wheelers.
For example,
David John Wheeler (now deceased) was the creator of the
Tiny Encryption Algorithm (TEA) (a somewhat popular encryption algorithm
unencumbered by patents), and is credited with
co-inventing the subroutine.
David E. Wheeler is President of Kineticode,
a content management and software development consulting company
based in Portland, and is the
lead developer for Bricolage (an OSS/FS content management system);
you can contact him using the address "david" at justatheory dot com.
See my contact information if you want to contact me. Or, see my personal home page.