May 2010
9 posts
2 tags
Viiiiiiiiiiiiiiiiiim
In light of our recently announced Vim for Rubyists course, co-taught by Ben Orenstein, here are more vim tips from those in the trenches all day! For prior tips from us see part one and part two.
From Josh:
How does vim help me kick ass at life? It’s simple. I type less.
Vim allows you to map key combinations together to do wonderful things.
Do you absolutely hate...
6 tags
Recipe: Ajax searching and filtering
A recipe for adding searching and filtering to your Rails app.
Why?
Provide faster feedback for users. Increase the chance that they’ll find what they want.
Ingredients
jQuery
Searchlogic
The meal
Feature
Side note: This feature is testing the non-Javascript path through the app. I’m not going to show any Javascript testing in this recipe. The thoughtbot team has been trying to settle on...
2 tags
Embiggening the Toad
Hoptoad’s growing up!
It’s been over two years since Hoptoad first splashed into our Basecamp project list, and now there are people all over the world reclaiming their inbox and tracking their app errors with us. Here’s a snip from our analytics:
The sun never sets on Atticus’ watch!
To celebrate, we’re offering a new, larger plan: “Bossfrog”
During these two years, we’ve been...
Suspenders as a gem
Suspenders—as a reminder, Suspenders is
our base Rails project that can be easily upgraded—has some issues.
Specifically, two: you have to pull down all of the git repo in order to
start a project, which itself requires pulling down all of the git repo again,
and; Suspenders itself is untested.
The solution to these problems are fairly straight-forward so I went ahead
and did it....
Join us for 3 days on Cape Cod
This summer thoughtbot will be spending some time on Cape Cod. We’d love for you to join us for some chillin’ out, haxin’, relaxin’ all cool in what we’re calling CAPE CODE.
Last year, the entire company went to Newport, RI to hang out and work for about a week. We had a lot of fun, so this year we wanted to open up the last few days of the trip to everyone...
Localized external services
Common situation: you need to hit an external API. Common solution: mock it
out in your tests using Mocha or WebMock. Common result: does not
match exactly what will happen.
Why?
See, the issue we’ve run into with method-level mocking is that we have to know exactly which methods will be called and how Net::HTTP will be used at a low level. This brittleness becomes apparent when we...
jQuery!
This is the last day for a discount on our jQuery training!
We’re joining forces with Bocoup to provide a mix of testing knowledge with plugin knowledge. If that’s not enticing enough you should know that we’re also discussing performance tuning, AJAX, CSS effects, and evented programming. Hot stuff, I know, right?
So be sure to sign up today and if you don’t you should...
2 tags
Retrospective: Fashionopoly
A couple of weeks ago, we announced our plans to start an app on Monday and launch it on Friday. We’d like to share lessons we learned.
The Result
The production application went live at http://fashionopoly.com on Friday. It’s currently invite-only so there’s not much to see publicly. I recorded a screencast (it’s not a “talkie”) but I can’t show that,...
Finding A Great Place To Work
Recently I was asked why I am so loyal to thoughtbot, what makes it such a great place to work and such a hard place to leave. These questions inspired me to put together this post answering those questions, but also clueing you in on some good things to look for when finding your next gig.
The Basics
Let’s start with the obvious things that I shouldn’t need to tell you to look for....