February 8, 2013 jferris ruby rails refactoring ruby science Ruby Science: Inheritance, Composition, STI, and Polymorphic Associations Todays’ release of Ruby Science includes two new chapters. If you’re already reading Ruby Science, make sure to log into GitHub and download the lates...
February 4, 2013 jayroh ruby gem open source Email SendGrid rails Handle incoming email with Griddler For all the likes, shares, tweets, pokes, follows, and friends, there’s a fundamental core to the internet that, no matter how hard some might hope, will never go away—email. Rails ha...
February 1, 2013 dancroak vim unix Sort lines alphabetically in vim Imagine you’re working in vim. You come across this code: gem 'clearance', '1.0.0.rc4' gem 'neat' gem 'stripe' gem 'pg' gem 'thin' gem 'rails', '3.2.11' gem 'bourbon' gem 'simple_form' gem 'strong_parameters' You want...
January 25, 2013 dancroak ruby on rails convention ./bin/setup In our protocol guide , we instruct new developers to set up an existing Rails app like this: git clone [email protected]:organization/app.git cd app ./bin/setup The goal of the bin/setup script is quick, reliable, consistent...
January 23, 2013 cpytel Ruby on Rails workshops Our Intro to Ruby on Rails workshop is now available online I’m very pleased announce that our popular Intro to Ruby on Rails workshop is now available to take as a month-long online version. The online workshop will run from February 4t...
Setting up a new Xcode project is as simple as ⇧⌘N. Unless you want to do things the right way, at which point there are a number of other configurations you need to worry about: .gitignore , .gitattributes , project level indentation settings, warning levels, etc. After doing the sam...
January 18, 2013 jferris ruby rails ruby science Ruby Science: Improving Callbacks and Validations We have three new chapters to announce this week in Ruby Science. If you’re already reading Ruby Science, make sure to log into GitHub and download the latest version. Here’s what’s new:...
All email from the staging environment of a Rails app can be intercepted and delivered to a group email address. This avoids accidentally delivering staging email to production customers and lets the product team see all the emails that are being sent to customers.
January 14, 2013 jdclayton rails test-driven development Process Jobs Inline when Running Acceptance Tests Web apps often move long-running processes (such as delivering email) out of the request/response cycle into a queue of background jobs. A worker process then picks up those jobs...
In this podcast episode, Ben Orenstein is joined by Gordon Fontenot and Matt Mongeau, two thoughtbot developers, to discuss iOS development using both Objective-C and RubyMotion. Ben, Matt, and Gordon talk about the differences between the two platforms for iOS development, testing in...
January 10, 2013 dancroak ruby on rails zeus rspec vim Improving Rails boot time with Zeus Zeus improves Rails boot time. Saving seconds is most important when running focused tests: rspec spec/models/user_spec.rb rspec spec/models/user_spec.rb:123 Those are times when a tight feedbac...
January 9, 2013 dancroak dns unix http Foreman as process manager, Pow as DNS server and HTTP proxy Web app development/production parity can be improved by defining process types in a manifest named Procfile such as this one for a Rails app: web: bundle exec rails server thin -p $POR...
January 8, 2013 hrward ruby on rails ruby ruby science Ruby Science: How to Eliminate Feature Envy and Comments Since launching Ruby Science we’ve written and released five new chapters. If you’ve previously purchased the book, you can log into GitHub to download the latest version. H...
January 4, 2013 jferris ruby testing capybara-webkit capybara capybara-webkit: now more stable than ever Especially ever! Matt Horan joined as a capybara-webkit author this fall, and he’s been busily improving the codebase, making things less crashtastic and more fastastic. Starting w...
January 2, 2013 kylehasmanypixels color design grids typography workshop Design Reading List and Cheatsheets for Developers The next online Design for Developers workshop begins this Friday, January 4th. Register today We’re pleased to release free resources for developers looking to ...
In this podcast episode, Ben Orenstein is joined by David Heinemeier Hansson, the creator of Ruby on Rails and a partner at 37signals. David and Ben discuss David’s normal day, his working relationship with Jason Fried, how their blog, Signal vs. Noise, is important to the company, ho...
December 29, 2010 dancroak bundler gemfile ruby ruby gems semantic versioning software pessimistic operator Ruby’s pessimistic operator Do you know Ruby’s pessimistic operator? It looks like this: ~> You’ve seen it in some Gemfile s. Here’s an example gem "rails", "~> 3.0.3" gem "thin...
The third step of “red, green, refactor” is an important one. The feature is not done if you skip this step. The whole point of “green” is to get to “refactor”. But it can be easy to lose sight while doing this step; it’s easy to start re-implementing irrelevant parts of the system. W...
December 14, 2012 dancroak ruby on rails testing clearance capybara Faster tests: sign in through the back door One way to make tests faster is to avoid loading and submitting the sign in form during the setup phase . This back door inserts Rack middleware into a Rails app that uses C...
December 13, 2012 jferris ruby book refactoring rails She Blinded Me with Ruby Science We love Rails, object-oriented programming, and refactoring. We use a process to develop applications to work faster, introduce fewer bugs, and enjoy what we’re doing. We blog, Tweet, and talk at co...
December 12, 2012 cpytel design testing rails January Online Workshops We have two online workshops scheduled for January, 2013. If you’ve always wanted to take one of our workshops, but couldn’t travel to Boston or SF, these online versions will give you the same great education in a...
December 10, 2012 georgebrock vim javascript Vimulator Demonstrating Vim Have you ever noticed that Vim demonstrations can sometimes feel a lot like watching a magic show? It’s very impressive, but if you want to work out how it was done you’re going to have to do some reading when yo...
November 29, 2012 cpytel thoughtbot Business Opening an office in Colorado We’re pleased to announce that we’re opening an office in Colorado. We’ll do the same work we do in Boston, San Francisco, and Stockholm: make web (Ruby on Rails) and mobile (iOS) apps for our clients. We’ll al...
November 28, 2012 georgebrock stockholm sweden drinkup Drinkup in Stockholm Chad Pytel (our CEO) is visiting thoughtbot Stockholm next week, which we thought would be an excellent excuse to host another drinkup. Come and enjoy a free beer on us, and meet Chad, the thoughtbot Stockholm...
November 27, 2012 thegrantovich rails serialization object-oriented programming Better serialization, less as_json Suppose you have the following in your Rails app: # app/models/user.rb class User < ActiveRecord::Base has_secure_password has_many :posts end # app/models/post.rb class ...
when the GPU is used for compositing and rendering graphics, such as the case for OpenGL and the Core Animation/UIKit implementations built on top of it. Until recently, hardware acceleration was a major advantage that iOS held over Android; most animations in the latter felt noticeab...
November 21, 2012 Learn More clients open source software as a service community Comments (View) Giving thanks Happy Thanksgiving! Here’s what thoughtbot is thankful for this year. Our clients and customers Thank you to our clients: America’s Test Kitchen, Awesome Foundation, AxisCamp...
Ben Orenstein is joined by Tammer Saleh and Randall Thomas, the founders of Thunderbolt Labs. In this episode, recorded at RubyConf 2012, they discuss their philosophy of running and building the company, how they differ from other consulting companies, and how they do much more than ...
November 14, 2012 Learn More ruby bundler Comments (View) A Healthy Bundle If you’re writing Rails applications today, then you’re probably enjoying Bundler when adding dependencies to your Rails applications. Bundler lets you declare your application’s dependencies clearly and concis...
Ben Orenstein is joined by Jim Gay, author of Clean Ruby, and Joe Ferris, CTO of thoughtbot, in the episode recorded at RubyConf 2012. Ben, Joe, and Jim discuss Data, Context and Interaction (DCI), what it is, whether it is at odds with Object-Oriented Programming, how it can be appli...