From OSDev Wiki
Jump to: navigation, search


My Background

I'm primarily a hobby programmer. My first exposure to computers and programming came in the late 1970s / early 1980s, trying out small things in different Basic dialects on Apple IIs, TRS-80s, Atari 400s and 800s, and other microcomputers of the time. My own first computer was a TI-99/4A, which was followed a few years later by an IBM PCjr and a succession of PC clones. Two books that had a big influence on me back then were Steven Levy's Hackers and Tracy Kidder's The Soul of a New Machine; together, they left me with a long-standing interest in getting my hands dirty and having fun with hardware, though that was a lot harder to follow up on back then than it is now. Rodnay Zaks' Programming the Z80 was another, as were Steve Ciarcia's Build Your Own Z80-Based Computer and R.G. Loeliger's Threaded Interpretive Languages when I stumbled across them later, along with Tanenbaum's Modern Operating Systems.

Languages that I've used or found interesting, roughly in order, include Basic, Logo, Fortran, Pascal, Z80 assembly, C, Lisp, Java, C++, Forth, and Haskell, though I wouldn't call myself an expert at any of them.

I've probably spent the most of my time using Windows, though I've also used PC/MS-DOS and still use BSD and Linux.

How I Got Here

I originally found this site when I was working on an old-fashioned, the-language-is-the-OS implementation of Forth, and looking for information about working with the PC keyboard controller and floppy or hard disk controller directly, so I could remove my reliance on the BIOS and leave real mode behind. These days, I alternately find that idea pointless / still worth doing, so I continue to make slow progress on it, along with other things.

What I'd Like to Create

A programming environment like what I had back when I first got hooked on computers and programming -- a machine that I have full control over, that's ready to go within seconds of being turned on, that's fully interactive and cooperates with me, instead of throwing obstacle after obstacle in my way. Truly personal computers have been affordable for decades now, and get more powerful every year; why hobble them with limitations from the resource-starved timesharing environments of the 1960s? If I want to quickly draw something on the screen, I want to just do it, not work with multiple libraries to eventually get indirect access to be able to do so.

No, this isn't something that would be appropriate for a Web or database server.

Yes, the layers and layers of frameworks that have grown over the years have made it possible to do some pretty amazing things by writing only a small amount of new code.

But, at the end of the day, I'd like to be able to do what I want on my own machine with a minimum of interference, while taking advantage of the capabilities of modern hardware.

What I've Contributed

Just basic typo corrections so far.

Personal tools