The Existential Operator

Thoughts on Ruby, Rails, JavaScript, and web development

October 1, 2014

Listening to Backbone.Events

I know I’m late to the party, but I’ve been digging into Backbone.js lately, and I’ve run across a few things that have really tripped me up because I didn’t understand the framework well enough.

In looking at the documentation on listening to events, for example, you find that listenTo does the following: “Tell an object to listen to a particular event on an other object.” Let’s take a look at an example. Continue reading…

June 14, 2014

How to Choose a New Programming Language

I had recently felt like my skills in Ruby had reached a plateau. Not at all because I had learned everything; on the contrary, it’s just now that I’m gaining an understanding of all that I don’t know. Rather, about a month ago, I had felt a stagnation in my skills because all of my programming had been confined to Ruby and JavaScript. And someone recently mentioned the book Apprenticeship Patterns, which suggests that to further our career, programmers learn a new language every year.

Because all of my programming was confined to the two languages I was most comfortable with (and the fact that I didn’t study computer science in college), there were aspects of programming that I had absolutely no concept of. For example, I had been reading a lot of what Steve Klabnik has been writing on the Rust language, and I was immediately out of my element when he started talking about concepts such as pointers, a concept it seems is immediately familiar to programmers of C++. This is to say nothing of manual memory management or other close-to-the-metal concepts.

In light of all this, I decided to begin the foray into a new language in the hopes of broadening my perspective. Continue reading…

January 4, 2014

Testing Ember Models With Jasmine, CoffeeScript, and Rails 4


Getting Ember set up with Jasmine and Rails 4 is tricky. I’ve done the hard part and set up a skeleton Rails app that contains a passing Ember model test as a starting point for your apps. Feel free to fork the repo and start a project if you want to use Jasmine to test your Ember app. For more detail about how to get it working, and a pretty thorough run through of some high- and low-level Ember concepts, read on.

Continue reading…

November 16, 2013

A Public Apology to Nicole Sullivan

I’d like to offer Nicole Sullivan a public apology for dismissing her work. But first, a bit of back story.

Continue reading…

May 11, 2013

Contributing to Rails

I’ve finally gotten around to putting my recent talk on Triaging Rails Issues on my speakerdeck page. The slides are extremely terse, though, and it will probably be easier to follow by watching the video of my talk, embedded here. (Thanks to Dave...

Continue reading…

December 18, 2012

Method Aliases in Ruby

I often find myself wondering why so many of the Ruby native string and array methods have aliases. For example, with string methods, we have next and succ, which are equivalent; they both return the next alphanumeric character. Like so:

          1.9.3p194 :024 > string = "a"
           => "a"
          1.9.3p194 :025 >
           => "b"
          1.9.3p194 :026 > string
           => "a"
          1.9.3p194 :027 > string.succ
           => "b"

So why do we need both? Continue reading…

December 17, 2012

Refactoring Cucumber

At work, we’ve been moving away from Cucumber tests for the past number of months, in favor of the more robust Capybara and rspec paring. Given that I’m a relative novice in Rails test-driven development, the supposed brittleness of Cucumber tests wasn’t immediately clear to me, so I did some digging, and came up with a few posts that talk about the pitfalls of the “imperative” style of step writing for user stories. Continue reading…