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...
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 =...
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
...
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...
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...
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...
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...
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,...
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...
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...