The Beginning of my Ruby Journey
The Ruby programming language has been a great part of my software development toolkit over the years. A recent find triggered a reflection on how it all began for me.
The Find
While doing some spring cleaning I ran across a box of old shirts from storage. Some of them were from programming-related conferences, but the one that triggered this trip down memory lane was the one from a conference I opportunistically attended on a whim.
My Ruby Introduction
The year was 2003 (or perhaps late 2002). I was part of a software team working in Java and C++ targeting earlier consumer mobile devices (such as the iPAQ). We had our own mini-language in development and the lead developer on the project was looking for inspiration for creating an array pack function. He then pulled out the api docs for such a function in what he described as a little-known programming language that was already quite popular in Japan at the the time - Ruby.
I was curious now, and started exploring what I could find on Ruby and trying it for some basic scripting. And with a dose of serendipity, I was happy to discover that later that year the Third International Ruby Conference would be held right on my doorstep in Austin. At this point I wouldn't have gone out my way to attend, but with an inexpensive conference coming to me and time on my hands I said "Why not?". So I, along with the team lead and some other friends, signed up and went to see what this obscure little language and community was all about.
If was fun, and different. I was still new to the language, still learning, and not using it professionally yet. There were probably less than 50 people there (we fit in a single hotel meeting room). I thought I remembered someone asking for show of hands on who used Ruby professionally as David Heinemeir Hansson described in this CoRecursive interview, but I'm not sure if he was there. Looking back at the schedule, he didn't give a talk that year. Ruby on Rails wasn't released at that point, but he had been working on building Basecamp and extracting the framework for a first public release the very next year. In fact, At RubyConf the following year, Rails would be one of the attractions.
It is fun to look back on that as a time of potential. Not only was there no widely known project in Ruby at that time, there wasn't even a package manager. It was at this very conference that the attendees hacked together the initial implementation of Ruby Gems.
At RubyConf 2003, when put on the spot by David A. Black about the topic, Matz basically said "if you build it, it will be included in ruby core. That led Jim Weirich, Rich Kilmer, Black, and Fowler to spend the next night coding what would become the RubyGems. They even demo-ed it at the conference. It has grown quite a bit since then and now could be called the de facto standard for library distribution in Ruby.
I started using Rails as soon as it was released (pre-1.0) and have used Ruby for many other things over the years. While I don't use Ruby/Rails exclusively, I have seen them evolve and they have been a valuable set of tools over the years.
Most developers use many tools that are well established with broad communities. This was a chance to remind myself that if you look around and try some new things now and then, you might learn a little and experience (or get to help build) something that ends up becoming something much bigger.