robots.thoughtbot.com Archives - 14 June 2013, Friday

accepts_nested_attributes_for with Has-Many-Through Relations If you find yourself getting validation errors when using accepts_nested_attributes_for with has-many-through relations, the answer may be to add an inverse_of option. The inverse_of option allows you to tell Rails when two...

June 13, 2013 cpytel thoughtbot reading learn Send your thoughtbot books to Readmill We’re happy to announce that you can now easily send any of your books purchased at Learn to Readmill . Readmill is a unique ebook reader for iPad and iPhone that lets you read, share and discover gre...

8 Simple Rules for Dating My Business: Our Hiring Process Our hiring process has been continually refined over the 7 years we’ve been in business to reflect the needs of our team, the lessons we learned along the way, and the changes in the candidates we see. In this post I’ll go thro...

June 5, 2013 gfontenot wwdc conference ios thoughtbot at WWDC WWDC is upon us again, and we’re happy to say we managed to snag a few tickets. The SF contingent of the iOS team (Mark , Theo , and Diana ) will be strolling across the street from our new office , and Gordon will be makin...

June 4, 2013 dancroak san francisco Hiring a San Francisco Office Manager About a year ago, we opened an office in San Francisco . Galen, Adarsh, Mason, and I moved out here from Boston after the Fourth of July: Over the summer, we hired Greg, Mark, and Jessie: Britt, Scott, Alex, The...

February 9, 2013 jayroh ruby RSpec TDD Fight back UTF-8 Invalid Byte Sequences Chances are, some of you have run into the issue with the invalid byte sequence in UTF-8 error when dealing with user-submitted data. A Google search shows that my hunch isn’t off. Among the search results ...

May 31, 2013 brittballard javascript coffeescript Module Pattern in JavaScript and CoffeeScript One of the shortcomings of JavaScript objects is the lack of support for private members. The ability to create private members makes external APIs more meaningful and helps keep code more ...

May 30, 2013 jdclayton performance ruby on rails Fast JSON APIs in Rails with Key-Based Caches and ActiveModel::Serializers Want to make your Rails JSON APIs fast? Blisteringly fast? In a project I’ve been working on recently, I reduced requests from 5 seconds (or more!) to at most 0....

Two GETs. The second one is unnecessary. Two failure messages if something goes wrong. I only want to deal with the immediate error. One small step at a time. Nine lines of code Four db records created. I need to create two objects to test ordering. With two test runs, I get 4 objects...

May 28, 2013 joshsteiner vim rails.vim Extending Rails.vim with Custom Commands Thanks to the always awesome Tim Pope , Rails.vim version 5 was released a month ago, and with it comes a new way to configure navigation commands. The new projections.json replaces editor.json , which in ...

May 27, 2013 mmongeau ruby conference rubykaigi reddotrubyconf thoughtbot in Asia We flew all the way over the Pacific ocean to meet you fellow Rubyists at these conferences in Asia in the upcoming weeks: May 30 - June 1 — RubyKaigi (Tokyo, Japan) こんにちは、日本！ We’ll be having two thought...

In this week’s podcast episode, recorded at RailsConf 2013, Ben Orenstein is joined by Jeff Casimir and Katrina Owen from Jumpstart Lab and gSchool to discuss performing, speaking, and imposter syndrome, preparing for your talk, and what makes a good talk and how to give one. The also...

Related:

May 22, 2013 calebjthompson google authorship Google Authorship on Giant Robots You may have noticed a recent addition to our blog posts. We concluded an experiment to add a “Written by [Author Name]” byline and link the author’s name to their Google+ profile. Google calls this Author...

May 21, 2013 seantheprogrammer coffeescript javascript backbone.js Two gotchas every CoffeeScript and Backbone.js developer should know If you’re a Ruby developer working with Rails, at some point you’re going to need to work with JavaScript. While the two languages have many similari...

May 19, 2013 calebjthompson writing readme open source How to write a great README Leadership is often defined as having the ability to make others want to do what it is that you would like them to do. You want people to want to use your software, and often their first introduction wi...

Related:

May 19, 2013 calebjthompson writing readme github How to write a README Leadership is often defined as having the ability to make others want to do what it is that you would like them to do. You want people to want to use your software, and often their first introduction will be throu...

Related:

December 15, 2009 dancroak cucumber factory girl Factory Girl step definitions for Cucumber Did you know… Factory Girl includes some steps for your integration testing pleasure? They are currently available but remain relatively unknown. Read the source at lib/factory_girl/step_defini...

Should I roll my own decorators? If I roll my own, what are the tradeoffs of different implementations? Do I care about the “transparent interface” requirements of the Gang of Four’s decorator definition? Is it good or bad that the decorated object’s class is the decorator instead of ...

The day that the discussion of these rules started at thoughtbot, we were about to start a new project. While they may be targeted at less experienced developers, we thought that they could have interesting implications in the code we wrote. The team agreed to stick to Sandi’s rules f...

May 14, 2013 dancroak process teamwork Google Hangout for Standups and Interviews We’ve been experimenting with Google Hangout for meetings such as daily standups with remote team members and interviews with remote candidates. We concluded this experiment was a success. It’s nice to h...

May 10, 2013 jferris ruby ruby science Ruby Science: You down with OCP? Yeah, you know me. We just pushed the latest update to Ruby Science , including five new chapters. Previous purchasers and Prime subscribers can grab the update on Learn . New chapters this week discuss: Using the...

May 10, 2013 codeulate prime sass churn Reducing Churn in Subscription Services You’ve probably heard by now that we’ve launched a learning community for passionate Rails developers called Prime . Since Prime is a subscription service, one of metrics we’re interested in is churn, defi...

Related:

May 8, 2013 dazmuda ios learn iPad Announcing Learn for iPad Today we released a new version of Learn to the App Store, which adds the most frequently requested feature, iPad support! Additionally, this release includes several improvements on both iPhone and iPad. Resources that are ...

July 2, 2008 passable css float inline-block layout markup How I learned to stop floating and love the inline-block Floating columns is a typical approach to defining page layout. The obvious issue with floating columns is clearing said floats. When you start dealing with the details ...

In this episode, recorded at RailsConf 2013, Ben Orenstein is joined by Ryan Bates of RailsCasts. Ben and Ryan discuss Ryan’s transition to working on RailsCasts full time, staying up to date on the latest technology, how his coding style has changed, maintaining his open source, the ...