Rename Git’s Default Branch
And update your tools to detect what the default branch is in each repository.
Double Output with Mocha and Assert
A dive into testing with Node, garbage error messages, and what you can do about them.
.dev Domains Not Resolving
It took me an entire year to figure out what was wrong.
Knot Right
You’ve probably been tying your shoelaces wrong.
Migrating to a New Mac for Programmers
I finally figured out the fastest way to migrate to a new Mac.
Explicit Privates
The best syntax for declaring methods private in Ruby.
Always Use Double-quoted Strings in Ruby
A rebuttal of all the arguments for using single-quoted string.
Complex Static Sites on Heroku
Hosting static sites on Heroku is a lot easier than it might seem.
Transactional Fixtures in Rails
The name is confusing so for years I didn’t realize Rails had database cleaning.
Railyard
Generate new Rails applications without having to install Rails globally.
Hold Please
ActiveRecord callbacks will eventually bite you in the ass.
Testing ActiveRecord Transactions the Right Way
The correct method semantics will make the intent of the test clearer.
Shared Examples with Minitest
All the fun without any of the RSpec.
Always Now, Never Later
There will never be a better time than right now.
Water Your Controllers, They Are Too DRY
“Don’t Repeat Yourself” is a very misunderstood and misused rule.
Strip Leading Whitespace from Heredocs in Ruby
You don’t need to outdent all your heredocs.
Testing the Protocol, Subdomain, and Host of a Rack App with Rack::Test
I had no idea this was possible until now.
Tales from the BCrypt
Don’t let BCrypt slow down your tests.
Use Bundler.setup Instead of Bundler.require
It took me a while to come around on this one.
Upgrading from PostgreSQL 9.1.x to 9.2.x with Homebrew
I could never remember this magic incantation.
GitHub Is Your Resume Now
People really did not like the premise of this one.
The Fountain of Youth
Alter your own perception of time.
Suppressing Notice Messages with PostgreSQL on Rails
It took me a long time to figure this out.
Adjusting Your Privates in Public
My proposal was rejected without, I think, proper consideration.
Case-insensitive Keys with Devise
Devise simplifies this for you now.
Adding a New Strategy to OmniAuth
RIP Rdio.
Dirty Associations with ActiveRecord
Easily update a record’s timestamp when its association changes.
Interview Questions
They’re usually quite bad.
Bundler.setup vs. Bundler.require
I don’t think this is a good idea anymore.