February 23, 2013 dancroak logging debugging splunk heroku How to Splunk with Heroku Splunk is company that offers logging services. They went public last year, have a market cap of over $3 billion, and are headquartered in San Francisco’s SoMa neighborhood. I’ve tried Loggly and Pape...
February 22, 2013 jferris ruby rails refactoring ruby science Ruby Science: Extracting and Using Classes Today’s release of Ruby Science includes three new chapters. If you’re already reading Ruby Science, make sure to grab the latest version . This week’s updates include tips on safe...
In a nutshell, what this code needs is conventions. Application level conventions are good, but framework level conventions are better: The same developer can quickly understand many applications and easily move between projects or even companies without needing as much time to get up...
Some of the best places to use these color functions are for gradients, borders and shadows. When you need a slightly darker border and a slightly lighter inset shadow just adjust a color variable and let Sass do the rest for you. Buttons provide the perfect place to test out the func...
This week Ben Orenstein is joined by Nick Quaranto, developer at 37signals and one of the maintainers of RubyGems.org. Nick and Ben discuss the just released Basecamp iOS app, the architecture of the app, the origins of the app and how it became what it is today, and RubyMotion in gen...
Everyone who loves Git hopefully loves branching. However, there’s a problem with branching: merging your work back in. Suprisingly enough, Git’s inflexibility makes this action quite simple. It’s my opinion that Git users should be branching frequently, and rebasing them back into th...
We often create a “project brief” as a Google Doc for clients. It lists the names, emails, GitHub accounts, and sometimes phone numbers of everyone on the client and thoughtbot sides. It lays out the expected schedule of the thoughtbot team (Monday-Thursday each week) and if the clien...
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...