giant robots smashing into other giant robots

2 hours ago ... Articles by thoughtbot about design, Ruby on Rails, and iOS.


  • Learn is now Upcase

    Learn is now Upcase 29 Jul '14, 10pm

    Big news: we’ve changed the name of our subscription service for building better developers. We’ve previously referred to ourselves as both Learn and Prime, but now we’re just Upcase. You can find us at our new home: . What’s more, in the last few months we’ve added peer-re...

  • Why Postgres Won't Always Use an Index 25 Jul '14, 9pm

    We were analyzing slow responses on a project recently and found ourselves questioning the performance of some PostgreSQL queries. As is typical when digging into queries, we had some questions around what the query was doing. So, we used our handy EXPLAIN command to shed some light o...

  • Ruby 2 Keyword Arguments 21 Jul '14, 4pm

    Ruby 2.0 introduced first-class support for keyword arguments: def foo(bar: 'default') puts bar end foo # => 'default' foo(bar: 'baz') # => 'baz' In Ruby 1.9, we could do something similar using a single Hash parameter: def foo(options = {}) bar = options.fetch(:bar, 'default') puts b...

  • An Explained psqlrc

    An Explained psqlrc 24 Jul '14, 12pm

    Mike Burns July 24, 2014 postgres Let’s walk through my short psqlrc(5) to see what I’ve set, and to inspire you to find your own configuration that fits into your workflow. Here is my complete psqlrc: \set ON_ERROR_ROLLBACK interactive \set COMP_KEYWORD_CASE upper \set HISTFILE ~/.ps...

  • What Not to Ask 10 Jul '14, 3pm

    Despite our best intentions, spending time developing software that people won’t use can be devastating to morale and to a product’s long-term viability. How can we stop wasting time on developing features (or whole products!) that won’t be used? How can your customers' most painful p...

  • Let Your Code Speak For Itself 16 Jul '14, 9pm

    Let’s say you have some code whose intent is clear to you but you can see a world where someone else may be confused. Often after writing such code, you realize this and add some comments to clarify the intent. We add code comments for other developers who will interact with whatever ...

    1. Rubyconf2014 16 Jul '14, 11pm
  • Tmux Only For Long-Running Processes 18 Jul '14, 12am

    This post describes a minimal Tmux workflow, used only for long-running processes. It is intended to reduce the cognitive load imposed by administrative debris of open tabs, panes, or windows. Set up Tmux for a Rails project From within a full-screen shell (to hide window chrome, stat...

  • Preload Resource Data into AngularJS 15 Jul '14, 4pm

    Preloading, or bootstrapping, data resources from the server via HTML is a common technique used in JavaScript web development. This technique allows the application to avoid making an extra HTTP request to get that initial data for rendering on the page. Unfortunately, there isn’t a ...

Daily Vim Devotional
Creepy Robots
Ruby Inside: The Ruby Blog