I went to Union College in Schenectady, New York, to become an electical / electronic engineer. Freshman year, all engineers were required to take a non-credit course in FORTRAN. I was hooked in the first week, taught myself assembler and machine language while learning FORTRAN, and went on from there. After graduating and spending a year doing grunt work at an engineering firm in Seattle, I went back to grad school at the University of Virginia. After about 16 months I took my masters and quit. I was longing to get back to the west, I was fed up with petty university politics and one uninspiring department head, and I couldn't come up with what I felt was a worthy research topic. Since then I've had a boatload of great projects, but no real reason to pursue them in the context of a Ph.D.
While I enjoy teaching and have taught at the college level, I never pursued it because it means living close to town. One of my desires in life is to live closer to wilderness and wild things, and that has always meant far enough from town that it would mean a long commute. Life is too short to waste much of it commuting unless that trip is a fun part of life's journey. So I have on occasion chosen place over job, (such as my first one out of school) although sometimes they have coincided wonderfully.
I've written compilers and interpreters, relational databases, system performance monitoring tools, and real-time operating systems. I wrote an early word processor, and a general-purpose spreadsheet before Lotus 1-2-3. While I saw the utility of it, like many young people of the time I didn't understand the potential for making it an actual product.
I spent close to a decade working on user interface toolkits. As evidenced by this website, that does not mean I consider myself a user interface designer. I was the chief architect of the Object Interface ("OI") Library, a C++ based toolkit for writing user interfaces for the X window system. It allowed one to create an application in C++ independent of the underlying operating system and its native toolkit, greatly reducing implementation time and product hassles. This was just as the PC was emerging as a useable platform for real applications; at that time most serious UI work involved Sun Microsystem, HP, Silicon Graphics, or other graphics workstations. A program written using the OI library could run as a Sun Microsystem type interface, using either a 2-d or a 3-d model; or a Motif interface. It involved changing both the look and the behavior of the interface. We also developed one of the first graphical user interface designers; it included the ability to create C++ subclasses of the actual UI objects. The team which worked on these products was amazing; it was a very tight group, more cohesive than many families, with an incredible lack of selfishness in spite of being composed of very bright people. I have not worked with another group of people who even came close to working together as well as this group did, before or since.
I spent a number of years working on one of the most prominent Java web servers of the time, by WebLogic.
After "retiring," I collaborated with a small group of people to solve most of the "diverse medical records across widely dispersed and differing platforms" problem. Written in java, this system or a similar one would go a long way toward solving one of the United States of America's most important medical computing problems. It is a non-proprietary approach, and allows all entities holding medical record information to continue to completely control the information they hold, while sharing the parts they wish to share for an overall patient view. If you happen to have an interest in this, contact me, garya at this domain.
At the moment I burn a lot of time for a biomedical startup as a sysadmin tinkerer and amateur 3d-designer.
I've spent much of my professional life working for start-up companies, so I have lots of worthless stock. But I was also fortunate enough to have a few small successes that amounted to a little as well. The trip has been worth it and I would do it again in a heartbeat.
I still have a number of interesting research or useful-to-society projects in my head or scratched out on paper. Unfortunately, life is getting shorter and there are a lot of things besides computing still on my bucket list. I would like to see several of these ideas come to fruition, but it is going to have to be in concert with some other entity, as I don't think I have another start-up in me.
In case you're wondering, I don't "do" Facebook, Twitter, or Linkedin. I don't have a cell phone. I figure Facebook and Twitter are pretty much useless unless you like being tied to a chain that gets jerked every half-hour or so. If you're interested in finding me professionally, you should be able to do that by any normal method. I don't have a cell phone because when I'm not by a real phone, I really don't want to be bothered for any reason. I find conversation quality on even the most up-to-date cell phones pretty disgusting, and the fact that they are only half-duplex is an insult to anyone who has used a telephone since the days of Alexander Graham Bell. That fact alone screams of the incredible greed of the telecommunications carriers.
Gary's home page