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...
November 9, 2012 Tagged: programming Comments (View) Code that says why it does A new developer joins a project, and asks in Campfire: “what is the purpose of the can_refer_other_users flag?” The flag in question is a boolean column on User. Rails automatically created a query method ...
source 'https://rubygems.org' ruby '1.9.3' gem 'bootstrap-sass', '2.1.0.0' gem 'clearance', '1.0.0.rc1' gem 'delayed_job_active_record', '0.3.2' gem 'fog', '1.5.0' gem 'formtastic-bootstrap', '2.0.0' gem 'haml', '3.2.0.beta.3' gem 'high_voltage', '1.2.0' gem 'jquery-rails', '2.1.1' ge...
November 3, 2012 Tagged: ios xcode llvm Comments (View) Xcode Build Settings Part 1: Preprocessing for fun and profit! That screen. You know the one. The table of text. The one with scary sounding terms such as Mach-O Type and Rez Search Paths . The one you’re probably avoiding right ...
Ben Orenstein is joined by Aaron Patterson, Ruby Core team member, Rails Core team member, and a Señior Software Engineer at AT&T Interactive. Aaron and Ben discuss the upcoming features and excitement for Ruby 2.0 and some things Aaron would like to see in Ruby in the future that did...
Tools like WebMock are great, but when testing JavaScript, it’s a seperate browser process that loads the page, and not your Ruby test process. That means that the request to your build server isn’t going through Net::HTTP ; the requests are coming from Firefox or capybara-webkit , an...
source 'https://rubygems.org' ruby '1.9.3' gem 'bootstrap-sass', '2.1.0.0' gem 'clearance', '1.0.0.rc1' gem 'delayed_job_active_record', '0.3.2' gem 'fog', '1.5.0' gem 'formtastic-bootstrap', '2.0.0' gem 'haml', '3.2.0.beta.3' gem 'high_voltage', '1.2.0' gem 'jquery-rails', '2.1.1' ge...
describe FactoryGirl::EvaluatorClassDefiner do let(:simple_attribute) { stub("simple attribute", name: :simple, to_proc: -> { 1 }) } let(:relative_attribute) { stub("relative attribute", name: :relative, to_proc: -> { simple + 1 }) } let(:attribute_that_raises_a_second_time) { stub( "...
October 30, 2012 Tagged: neat bourbon design grids sass Comments (View) Neat Hits 1.0, Gets More Responsive and CLI-friendly When we released Neat—a semantic grid framework built on top of Sass and Bourbon—earlier this fall, it was welcomed with great enthusiasm in the Sass community....