Meteor is still in it’s infancy. There’s a good chance you’ll want to do something it is not mature enough to achieve right now. What’s a poor developer to do? When you can’t roll your own solution, you could consider using an external service that talks to your meteor server to get things done. In this article I’ll describe a couple of ways we did this to augment League, our sport-management application.

Keep reading »

Update: I’ve released my reactive router and the (complete) transitioner class. Enjoy!

Note: dear readers from the future!: at the time of writing the released meteor version is 0.3.7; as Meteor is a rapidly changing framework, it is likely this post is out of date!

I’d like to briefly walk through the process that we used to implement page->page transitions in the League project [1].

Keep reading »

  1. currently in alpha testing at; check it out if you like but please be kind []

Note: dear readers from the future! at the time of writing the released meteor version is 0.3.7; as Meteor is a rapidly changing framework, it is likely this post is out of date!

UPDATE: David Greenspan posted some detailed info about the heuristics that meteor uses to update DOM nodes. The important takeaway: you can achieve animations the ‘meteor way’ if you set an id on your DOM nodes (or a name on form elements). More details below.

A common question that people have as they begin to use Meteor for developing a javascript application is how to implement animations. This isn’t surprising as the example applications don’t really use them and the docs make no mention of it. Yet for a client-side responsive JS app, animating JS changes makes a lot of sense.
Keep reading »

You’re too busy for SEO. You’ve got a hundred things in the queue to get your latest site off the ground, and time spent optimizing for a robot is at the bottom of the list. That’s fair.

Search engines shouldn’t require us to do anything. Just build a good website, make some content, get incoming links (so people can find you!), and, if it’s interesting enough, it should appear on the first page. Sounds reasonable?

Well, unfortunately, neither of these things are true. Here’s the story of how we discovered we weren’t appearing in Google searches for ‘Bindle’ and the journey to find a solution. Along the way we learn the importance of restraint to keep the GoogleBot happy.
Keep reading »

SCSS and LESS have made waves in the frontend development community. They’ve allowed us to write concise styles in a lean fashion, but is there a hidden performance tax?

The fact is preprocessors are used widely at the production level. But what about performance? What comes out is simply CSS, but how does that CSS compare to what we used to write by hand? How do browsers cope with the reams of machine generated styles?

In this post I’ll investigate how common CSS preprocessing idioms can affect the browser’s rendering performance.

Keep reading »

Blue highlight courtesy of Autotrace

Bindle 2 is fresh out of the oven; one of the main areas of focus was making Bindles more intuitive to create & navigate—to that end we’re making use of a binary called Autotrace which helps us calculate the boundaries of items [1].  Unfortunately there is no ruby interface for this library in rails just yet, so we needed to get a binary running on our Heroku Cedar instance. Luckily it was pretty easy to do.

Here’s how to use binaries with Rails on Heroku:

Keep reading »

  1. This makes dragging items more intuitive: click on the item to drag it, click on the negative space to pan. So no more rectangles to confine your images! []


Even though at Bindle we limit our support to IE9, we still fear the obscure IE bug. It leads to an aversion to booting up a Windows 7 VM. jQuery + Compass have (greatly) reduced the worries over IE quirks, but from time to time I am still left shaking my head.

These days I find I can get away with deferring IE testing until towards the end of a release process, as most of the time all we need to do is double check things look and behave right. So imagine my surprise when seeing this while loading our latest release: Keep reading »

Just some quick notes for those tuning their Cedar Rails 3.1 apps.

Keep reading »

In response to this experiment from a couple of years ago.

I often wonder about when it’s appropriate to use helpers or partials in Rails. There’s the ideological question (answered well in this post).

However, there’s also a performance question. You can’t help but feel that helpers are better when you see things like this in your logs:

Rendered selections/_list_item.html.erb (11.5ms)
Rendered selections/_frame.html.erb (17.0ms)
Rendered selections/_list_item.html.erb (0.3ms)
Rendered selections/_frame.html.erb (2.2ms)
Rendered selections/_list_item.html.erb (0.2ms)
Rendered selections/_frame.html.erb (2.0ms)
...and so on when you are rendering a lot of partials

Keep reading »

The Scariest Bug

Dec 19th 2011 by Tom Coleman

The scariest bug is the bug you can’t reproduce

Disclaimer: I’ve never worked at NASA, or designed guidance systems for ICBMs, or even worked on a product mission critical to people’s workflows; so don’t expect the potential consequences of this bug to scare you quite as much unless you, like me, develop user facing web applications.

Just about the worst possible side effect

After wrapping up the main development phase of our latest release. Zol stumbled upon a bug that transformed one person into another. Somehow we managed to create a super bug that would allow you to shape shift. Wonderful and frightening all at once.

What he was supposed to see

What he did see

Simply by hitting refresh on the bindle pictured above, in a blink of an eye, he was me: able to comment, post bindles, and generally live it up. (As you can see I have admin rights as well, so his potential for mischief was high!)

Needless to say the discovery of this bug a few days before our release was more than a little scary; having a normal user suddenly find themselves logged in as an admin user simply by viewing a random bindle is a dangerous scenario. Keep reading »

  • Search: