What it do, what it do

It's been a while since I posted so I thought I'd do a general update. At the start of November I started a new position as a front end developer for Eventful, a site which maintains a listing of various local events. Of course this means that I've had much less time to work on JCWS projects, but it also means I've been gaining a truckload of valuable experience with things I haven't done before.

The first of those many things is Perl. Eventful is built on a custom framework written in Perl, and while most of my job involves the front end (HTML, CSS, and JavaScript), I'm picking up some Perl as I go as well. It's interesting to go "backwards" in learning languages, in the sense that I'm now learning a language that came before and influenced the ones I already know. It makes it very easy to see where Perl's successors made improvements.

In addition, I've added Template Toolkit, a Perl-based templating language, to my repertoire. Template Toolkit actually has much nicer syntax than Perl. In fact, it's somewhat similar to Ruby because it abstracts many operations into a generic "dot" operator. You can write something like myobject.3.size and it will perform the necessary Perl in the background to operate on myobject regardless of what type it is.

The biggest value of working at Eventful so far has been the experience working in a collaborative environment. Though I've worked with other people at past jobs, most projects were handled more or less by one person and there wasn't a lot of interactivity when doing the actual development. Working with multiple people on the same project allows me to see how other developers deal with various situations and to learn from their methods.

Outside of Eventful, the project that has received the most of my attention is More Things Need To, a user submission-based quote archive, similar to bash.org and Texts From Last Night. MTNT is a joint project with my friend Michael Chadwick and is written, once again, in Ruby on Rails. Additional details will come when the site is ready to launch.

My projects have also been leading me into new knowledge on a variety of other subjects, including SSH, Subversion and Git workflows, unit testing, and issue tracking (for which I've recently installed Redmine, which I am loving so far.) Things are good on the web development front.