December 2010
10 posts
5 tags
Twiddle Wakka
Do you know the twiddle wakka? It looks like this: ~> You’ve seen it in your Gemfile. Here’s an example gem "rails", "~> 3.0.3" gem "thin", "~> 1.1" ~> 3.0.3 means that when you bundle install, you’ll get the highest-released gem version of rails between the range >= 3.0.3 and < 3.1. ~> 1.1 means that when you bundle install, you’ll get the...
Dec 29th
16 notes
3 tags
Let it REST
You are building a boring blog application. A blog has many comments. Your client gives you this user story: So that I can report inappropriate comments, as a user, I can mark a comment as spam. So you add a spam boolean attribute to the Comment model, and use the same PUT to comments to handle the update: class CommentsController < ApplicationController def update @comment =...
Dec 22nd
7 notes
2 tags
Yuletide Logs and MongoDB Capped Collections
This Christmas, maybe you’re thinking of the long trip back home through snowy highways and bustling airports, spending time with the family next to a warm fireplace, or perhaps being serenaded by The Big Maestro himself. Sadly I didn’t get to see Shaq conduct the Pops, instead I’m thinking of how much Capped Collections in MongoDB have made my job a bit easier. Warmup ...
Dec 21st
6 notes
2 tags
The best design books I read this year (that...
Besides being a great place to meet attractive single people, bookstores are one of the best places to visit when you want to get inspired. This year I read a number of books about visual design — typography, grids, color, etc. — but also a bunch that were about design in other disciplines. It’s been a great way to get new ideas and perspectives on the work I do every day. Below...
Dec 17th
12 notes
1 tag
Writing matchers for shoulda
Shoulda provides assertions that allow developers to quickly test common Rails functionality, such as validations, associations, and controller responses. These assertions have traditionally been packaged as “macros” - class methods that generate test methods. For a while now, we’ve been moving towards matchers internally to provide that functionality. This allowed RSpec and...
Dec 16th
1 note
3 tags
Fishing for trout in our suspenders
It’s been a long time coming but I came Been a lotta fun, lotta pain A lotta shit changed. I used to hop trains now I’m hoppin in planes headed to Maine Peter Gunz, probably talking about open source software and maybe Hoptoad. The backstory thoughtbot created a “rails-template” Subversion repository in 2007 which we used instead of the rails command. Projects...
Dec 14th
9 notes
3 tags
Hoptoad is now available as a Heroku Addon
We’ve been working with Heroku to bring you an even easier and more convenient way to add Hoptoad to your Heroku apps: $ heroku addons:add hoptoad:plus $7/month, SSL, ratelimit of 30 errors/minute, plus Github, Lighthouse, and deploy integration $ heroku addons:add hoptoad:basic $2/month, SSL, ratelimit of 5 errors/minute Or, if you prefer, you can add Hoptoad to your app with a...
Dec 13th
4 notes
4 tags
Recap: Design for Developers
We ran our first Design for Developers workshop this week. Kyle and I had a great time teaching it and were really pleased with the quality of the work the students were able to produce by the end of the workshop. The main project the students worked on was a page for a fictional furniture company. We gave them a completely unstyled page and asked them to slowly transform it using grid systems,...
Dec 10th
4 notes
5 tags
Love, hate, & tmux
It seems like everywhere I turn lately, I run into tmux. Nick, Josh, Harold, and Goose are running their editor+shell combos inside of tmux on a daily basis. When I wanted to know more about remote pair programming with ssh, vim, and GNU screen, Stephen Caudill’s awesome article suggested tmux was superior to screen. Then, Bryan Liles recorded a tmux screencast. I’m always down for a ride on a...
Dec 10th
6 notes
1 tag
We're looking for an Office Assistant
About three years ago we decided that we no longer needed a dedicated support person.  The employee we had in that position did the payroll (using a payroll service), the bookkeeping, other important human resources administration like benefits, and other miscellaneous administrative tasks like booking travel and arranging meetings. We made this decision because we felt like we wanted to take...
Dec 8th
2 notes