Hi. My name’s Jason. I’m a software developer living in Baltimore, Maryland. I do most of my work in Ruby and Clojure, although I’m an insatiable polyglot and write plenty of code in Javascript, C, Scheme, Perl, bash sed and awk, etc.

I like tackling projects of all scopes and sizes, and I think code should be both elegant and fun (as well as functional).

You may have seen some of my lulz projects, like job_interview and close_enough, or perhaps you use gems I’ve written like rpam-ruby19 to help with your authentication woes.

In the beginning…

I started coding when I was about 5, learning BASIC on a Texas Instruments TI 99/4A. I soon graduated to breaking Apple IIe and Apple IIc machines with bad assembler instructions.

By the time the Apple IIgs came out, I was setting the default screen colors to shades of cyan and magenta designed to give my teachers migraines. (Sorry, guise, I was 10 and it seemed funny at the time).

The middle years

Around the time I started high school, I discovred Linux (yeah, I’m old, I was running Lsackware and the Linux kernel was maybe at 1.0.x). I’d already used Solaris, System V and IRIX, so it was like coming home, running a UNIX-like OS on my own hardware.

I may or may not have engaged in some privilege-escalation exploits on remote systems, but only out of curiosity’s sake; I never broke anything.

I learned C because it was the lingua franca of UNIX, and I needed some weird hardware to work. That was fun. Also, I really wantedto discover the web, but I only had a SLIP connection at the time.

Recent memory

When I went to college, I intended to major in Computer Science. But the 101 course was in Visual Basic, and I’m a stubborn git, so my attitude was “I already know C, fuck this noise” and I majored in Philosophy instead. I had every intention of getting my Ph.D. in Philosophy and teaching.

But I’m also lazy (when added to my impatience and hubris, this apparently creates a perfect trifecta for the budding software engineer), so I dropped out and started freelance coding, in addition to working as a (35mm) film projectionist, a barista, and any other number of dying trades while rabidly hacking away on whatever hardware I had available.

I got really into Perl and ended up turning whatever job I had at the time into something involving building systems using mod_perl and MySQL, because I loathe repeating the same task and would rather automate it.

I have always hated PHP, so I have only used it when I needed the money. I don’t fault PHP programmers (much), but for me, coding PHP makes me feel like a cheap whore.

And lately…

The past few years, I’ve mostly been doing web development using Ruby on Rails. But since I’ve been a Lisp fiend since way back, Clojure really excites me and I’ve been trying to do as much development in Clojure as possible.

I was a huge fan of Scheme when I worked my way through SICP, and although the LISP-2ness of Common Lisp bugged me, I’ve never stopped loving Lisp in general. Clojure lets me leverage the entire Java stdlib as well as the niceties of the JVM, while working in a not-purely-but-more-purely functional language, which is pretty fantastic.

So that’s it, for now… I’ll add some links at some point in the future.