Now Powered 100% by Ruby

I’m announcing today that by Valentines day this domain,, will be powered completely by Ruby. Why? Because there’s no other way I’ll end up learning the language other than by forcing myself to complete a task using such constraints. A few years ago, when Ruby hit the big time and all the cool kids started using it for everything, I decided I’d hop on the bandwagon and be a cool kid too. I’d already gotten real comfortable with PHP and thought it was time to expand my horizons. At the time, I was wrong but now I’m ready. The only problem is actually getting it done. There are lots of good reasons not to learn Ruby and only one that can cut through all the crap.

At the time I decided to learn Ruby but never did I wasn’t actually as good at programming as I thought I was. I know that in a few months I’ll say the same about where I am today but right now I can at least say I’m at a point where I have a firm grasp of programming concepts.

When I first learned programming I naturally picked up PHP. There are two reasons why I chose PHP over any other language. First, it was everywhere. It was easy to get into. If you Google or look around a bookstore for information on how to start programming for the web PHP is a language that pops up much more frequently than anything else. Perl and Python, even though I had no knowledge of their history, seemed old and out of date. PHP on the other hand seemed as if it was newer and accepted as what a respectable modern programmer should use. Now of course I know that Perl actually is old but still has its uses and that Python is also pretty old too but still very relevant. It was only much later that I realized that PHP was a language that was never meant to be used in the way other back-end languages are used and its age was comparable to most other web centric languages. Then I met Larry Masters, the guy behind CakePHP, at a bookstore. He told me he’d give me a job if I could learn PHP in a week. I did. Never got the job. But I learned PHP and ever since then I’ve been a PHP guy.

In the past year though, I’ve begun to outgrow PHP. I’ve come to a point that I think all professional programmers do where they begin to see a use for a variety of languages and tools in different contexts. My recent favorites are JavaScript, Python, and Ruby. I wrote a Sublime Text 2 plugin in Python and a command line tool to upload files to S3 in Ruby. I had fun with both and I’m ready to finally move on. Every so often I get an itch for something new and exciting. Using the same old tools makes you stale and when you’re stale you end up like those guys who learned web development in the 90’s and still design sites the same exact way. But honestly, I’m not doing this to stay fresh. That’s just a nice side effect. I’m doing this because I want a new challenge and I get a rush any time I get a new thing I made to work. So now I’m going to learn Ruby.

The Pledge

I pledge that the domain and it’s subdomains will use Ruby exclusively by Valentines Day, 2013. I doubt I’ll keep it pure Ruby forever but for a good while the whole site and every user facing and most non-user-facing components will be written in Ruby. The exceptions are the web server (I run Apache here) and other server software. But the sites and what I build them in will all be Ruby. For example, no Wordpress or CMS that uses PHP. I’m already off to a head start as this site is currently running Octopress. My next project, Project 365, will be something I do with the Instagram API and that will be my first Ruby-from-scratch project.

If I don’t put constraints on myself I won’t do it. I have tons of work at my 9 to 5, with Clever, and my work with HERO. Plus there’s my personal training sessions, my normal gym sessions in between, and life in general. Like I said earlier. There are lots of reasons not to learn Ruby but I cannot allow myself to have any of them. So starting today, I’m a Rubyist. Anything I build will be in Ruby (except for Wish me luck on my journey. I’ll report back when I’m a shiny new hipster Rubyist.

Personal development, Self improvement, Thoughts

« Client-Side Form Validation Minus the Bullshit Say Fuck You to Someone Today »