General Overview
Born in Guatemala to American parents and raised primarily throughout Central and South America, I've been programming professionally for over 20 years. After attending Louisiana State University, I trained at the US Naval Nuclear Power School and served in the Navy as an Engineering Laboratory Technician. Later, computer programming afforded me the opportunity to work around the world, including Australia, Singapore, Taiwan, Spain, Hungary, Philippines, and the Ukraine. For the last 10 years, I've focused primarily on Perl, but have also become proficient in other languages including C#, PHP, XQuery, and most recently Lisp (Common Lisp and Emacs Lisp). Though I have spent most of my career as a contractor, I've also had the privilege to work in a more traditional sense with companies like Computer Data Systems, NetStar Argentina, Microsoft, Vindicia, and Bowker, the sole dispenser of ISBNs for the United States. As a Senior Programmer Analyst at Bowker, I designed and developed new applications that create, manage, serve, and analyze meta data for all books in print. Currently, I work for Socialtext, where I develop new features for their flagship product, and I live in Belmont, CA, with my girlfriend Tracy Hamer.
How I Work
- I use Emacs. I customize it to do a lot of my work. I like that it
can go to the outside world to fetch data, test code, and so on. I also
like that I can completely change and extend the way that the editor
manipulates text. See my post The Road to
Emacs for more on all of this.
- All my hardware runs Linux. I have a legal copy of Windows XP
installed on a VMWare Server virtual machine, but there are no copies of
Windows on any real hardware around here. I like Windows and certainly I
don't have anything against that platform (I recommend it sometimes), but
for work I need the flexibility that only Linux can provide.
- My main workstation is a tri-screen, 8-core Alienware box with 16GB of
RAM. The machine is running Kubuntu Linux 12.04.
- These days, most of my programming is in LiveScript, Perl, or Lisp.
- I've been working with Neural Networks, Support Vector Machines, and
Naive Bayes classifiers. I like that kind of work.
- I try hard to stick to technologies that maximize my
productivity.
- When programming, I prefer to use languages that support advanced
features like first class functions, closures, meta programming, and so
on. In my opinion, Lisp is the most advanced computer programming
language known to mankind, and the progress of most other computer
languages consists largely of implementing more and more Lisp
features.
- I like coding with syntax-coloring on a black background. I work in
the dark, with a backlit keyboard and mouse.
- I play a tiny bit of guitar and a tiny bit of piano