About Me

Nov 28, 2016 - 3 minute read -

My Gravatar: What The Face

Here’s my resume.

Career and free-time wise, I’ve done a bunch of stuff. I’ve written real programs in Java, Common Lisp, Python, JavaScript, CSS, HTML, C, C#, Visual Basic, (now very rusty, decade-old) C++, Go, and a bunch of languages I’d prefer to forget I knew, or at least decline to admit knowing. I’ve tinkered with most of the new-fangled languages that seem to be gaining popularity like Haskell, Erlang, Scala, Clojure, and others. Some of these things show up on my resume, some not so much. Either way, I believe in always looking at what the up and coming stuff is. It may be junk, or not useful professionally, but rare has been the language I’ve played with and not learned something I could use in whatever language I’m actually working in.

Size-wise, I’ve worked the gamut. From Arduino-based projects, to small embedded Linux computers, to some simple Android projects, to desktop apps, to regular servers all the way up to large clusters machines at Google. I’ve written device drivers, high speed crypto implementations, programming language compilers and interpreters, a web framework, storage systems, web interfaces, Visual Basic GUIs, mapreduces, and even had to create my own ethernet packets once.

In terms of hardware, I’ve designed digital circuits, some professionally, but mostly free-time stuff. A quick glance around the home office shows two arduinos, a raspberry pi, and a box of miscellaneous resistors, transistors and diodes. I’ve more than once been the “programmer with a screwdriver” at my job where I’ve been given a bucket of parts and asked “can you make this work” and eventually been able to reply “yes”.

I’ve managed at two jobs for a combined two years worth. The first ended because the company went broke (fall 2001). The second, I chose to not be manager any more as the authority/responsibility/org-structure balance was… strange. And I’ll leave it at that. I’m interesting in managing again if I see something I like.

I’ve spoken in public a number of times, at least two of which (here and here) show up on YouTube. I’m generally good speaking to humans, something which not all technical people do especially well. I can also write well.

For those that know what this is: I have a check from Don Knuth.

I’ve learned that while there are many things you can optimize for: speed, size, documentation, time to delivery, code perfection. I’ve learned that sustainable delivery rate is generally the most important. If you optimize that correctly, you get the right quantities of the others as second order effects and avoid the ditches. But knowing when your optimization focus should be something else is also really important.

I also can play three instruments well. Guitar is my main instrument, though I’m comfortable on bass guitar or keyboards and can sing well enough. In a pinch, I can also play drums, but I can only keep time. I’ve performed in public times without count. I’ve got a working knowledge of MIDI (hardware, wire protocol and some software) and JACK.

The last several years professionally, I find myself mostly working on backends as my visual design skills are less than my backend skills. I can design you something if you want, but others generally do it better than I do.

Location wise, I’m not really looking to move. Especially to the west coast. It’s not interesting to me. All my family is here. I’ve been there, and could die happy never going back. It wasn’t a bad experience, but the only enticing thing there is In ‘N Out.