Dave's Home Page
![]()
|
|||||||
|
My current
resume.
I have been a software engineer since long before the term software engineer was in common use. Since 1985 I have been continuously employed doing a great variety of different projects. This is probably due more to good luck than anything else. I started off as a compiler writer, then got seduced by graphics and wrote drivers for quite a few years. On the promise of a relocation to Colorado (still the second smartest thing I ever did), I took a job that supposedly was to write graphics drivers for an integrated processor for Cyrix, but as jobs do it morphed into trouble-shooting the x86 core. Some of the Cyrix (later bought by National Semiconductor) experience was with an embedded graphics engine. After a brief stint in e-commerce, I leveraged the embedded experience into a job writing firmware for Giganet. My passion has always been writing tools to make developer's lives easier and products more robust. I am quite lucky right now the Emulex (who bought Giganet) is allowing me currently to work full time on simulation and test tools. The
workshop is deliberately kept unheated so that winter can be reserved
for recreational computing. I have done a myriad of spare time projects
from things to make my life at work easier to stand alone games and
graphics programs. I have been working on a Mandelbrot explorer ever
since I have gotten involved with graphics. The first version was
written in C on an Intergraph workstation. It evolved into a networked
version that would take over my coworkers computers (with their
permission, of course) at night to work on images. When I learned C++
and MFC, a Mandelbrot and Julia Set explorer was the first thing I
worked on. The infinite beauty of this mathematical curiosity keeps me
coming back again and again. I
also have a lifelong fascination for words and word games. A few years
back I decided it should be a fairly straightforward task to come up
with a C++ class to provide and optimized dictionary search. After
securing a word list, the engine took shape pretty quickly. I wrapped it
with a simple application I called Word Grabber (and have looked ever
since for a better name.) The first tool was a rather trite anagram tool
pictured at left. Then came a number of tools to help create and solve
word puzzles like the Sunday
morning puzzle on NPR's Weekend Edition. I was even lucky enough to
play this with Liane and Will once. And, no. I did not use the program
to solve that week's puzzle.![]() The next use of the engine was a program to do the bookkeeping involved in solving transposition ciphers. This eventually evolved into a program capable of guessing the solution. The
last use for this engine is a full-on Scrabble playing program. Since
this program has beaten me every time I have played it, I wonder why I
invested all that work. And, because of the obvious copyright problems
prevent its release in any form, I doubly wonder. At the very least it
keeps me sharp so I can give my mom a good game whenever we get a chance
to play. And I won a sixpack of beer off of a friend once who bet that
it couldn't beat him three times consecutively. The contest was closer
than you might imagine because he got to chose the dictionary, and he
chose a very limited one. The agreement said that he could challenge any
word the computer used that wasn't in his dictionary. It was
close, but the program prevailed. Thanks, Eugene. The IPA was delicious!
Currently I am in the process of reworking the user interface and adding networking so I can play friends and family across the internet. Or at least I will when winter sets in. |