Caffeinated Bitstream

Bits, bytes, and words.

First Post!

Greetings, Blogosphere!

I've finally found the time to set up a blog where I can yap about technical topics that might be of interest to other people working in the wacky, wild field of software development. I actually started to do something similar back in 1997, before the word "blog" had been invented, but I ended up getting distracted by real life and abandoning it. Hopefully I'll do better this time.

I'll briefly describe my background in software. I doubt anybody is going to actually read this, but I need some content to test my blog setup, and this is as good as any.

I started programming when I was a kid in the 80's, mostly on the Commodore 64 using its BASIC interpreter, and later its 6502 machine language. I started using UNIX in 1991 -- my high school had terminal connections to a VAX running BSD4.3 at a nearby university, and it was a great opportunity to learn about UNIX and the Internet.

In early 1992, I downloaded a copy of Linux 0.12, a UNIX system for PC's which a fellow in Finland had just started working on a few months earlier. Linux was quite different in those days -- there were no "distributions" with "installers" to assist with getting it on your computer. Part of the installation process actually involved using a hex editor on the boot floppy to hard-code the major and minor device numbers of your hard drive's root partition. Nevertheless, it was exciting to see all the great things that talented hobbyists were able to do with the Intel 80386 microprocessor -- things that the established software vendors were dragging their heels on.

In the early to mid 90's, I started writing web applications using C and C++, and then eventually Perl when it became viable for such things. Most of the rest of the 90's was spent working on web application development, some UNIX system administration, and consulting. After 2000, my career turned to embedded system development, which is a large part of what I've been doing since. I do still develop web applications from time to time, and it's interesting to switch back and forth between the world of the very small -- platform work, graphics, and device drivers -- and the world of the very large -- databases, clustering, and managed environments. Today, my primary focus is software solutions for television hardware such as set-top boxes.

With any luck, I'll have something more substantial to write about next time.