I'm a professional software developer specializing in mobile system and environment-appropriate user-interface ergonomics; which is just a complicated way of saying I write programs for iOS, Windows Mobile, barcoding, and other systems where it is counter-productive to assume that users have a keyboard or that "mouse-over" has any meaning.
I've been in software development professionally since 1992 and as a student, enthusiast, and auto-didactic for several years before then, starting with my first computer, a Heath/Zenith Z-90 running CP/M, Wordstar, and Microsoft Basic-80.
Almost all of my development now is in Objective-C, C++, and C#; but I've also worked with Visual-Basic, VB.NET, VBScript, ASP, ASP.NET, Pascal, Forth, Basic, and more special-purpose scripting languages than I can recall. I've been in this industry long enough to know that syntax is just syntax and software design is much more than the particulars of which language you are using (today).
I am also an entrepreneur; I have my own consulting practice and have participated in StartupWeekend twice. I am currently leading conversations to change the way the software industry perceives the patent system; teaching developers the importance of software patents and leading to improvements in how the system works, so that it can better support technology and innovation.
I have a strong interest in software development process and evangelize that advantages of distributed version controls systems, particularly Mercurial, over traditional inflexible version control systems and the work-processes the create.
In my spare time, I pursue interests in cosmology, quantum physics, and other fields of scientific learning and exploration. My secret goal is to write software for quantum computers, ... mobile quantum computers (of course).