Who I am:
- I love to design and build products—mostly mobile and web things. I build to learn. I work at 37signals in Chicago.
Where to find me:
- Get short thoughts or say hey! on Twitter.
- Get updated on my open source work on GitHub.
- Hit up my email and we’ll converse on whatever.
- Read my musings I’ve put on Signal vs. Noise.
- Read my ideas on technical stuff from my blog.
Open source projects I work on:
- timecop: a gem providing “time travel” and “time freezing” capabilities, making it dead simple to test time-dependent code.
- jasmine-jquery: provides jQuery matchers and fixture loading for the Jasmine JavaScript testing framework.
- rack-rewrite: web server agnostic Rack Middleware for defining and applying rewrite rules.
- shoulda-context: a Test::Unit context framework extracted from thoughtbot’s Shoulda.
- More projects…
- 06 May 2013: Getting the Status Bar’s height in iOS
- 08 Feb 2013: Converting AVFoundation’s Power Levels to/from Logarithmic and Linear Scale
- 17 Jan 2013: Notify Yourself of Successful/Failed Xcode Builds by Email
- 28 Dec 2012: Overriding UIViewController’s view Property, Done Right
- 01 Nov 2012: Quick Staging and Other File Operations in Git
- 22 Oct 2012: Making Custom Transitions Between UIViewControllers, TRVSNavigationControllerTransition
- 08 Aug 2012: Alias in Zsh With Completion
- 06 Aug 2012: iOS How-to Mask and Shadow an Image
- 23 Jul 2012: Adding a Drop Shadow to a Table View
- 22 Jul 2012: Getting the Index Path of a Table View Cell via a Subview Event
- 27 Apr 2012: Rendering Errors in JSON With Rails
- 16 Apr 2012: How to Test Starting Backbone’s History
- 01 Apr 2012: Web Inspector’s New Dock to Right Feature
- 30 Mar 2012: errors.js - Client Side Errors Object
- 29 Mar 2012: What is this? I don’t even… Bind This to Your Object in JavaScript!
- 20 Mar 2012: JavaScript Conditional Assignment
- 16 Mar 2012: Generate Rails Migrations That Automagically Add Your Change
- 09 Mar 2012: Using Git’s Include for Private Configuration Information (Like Github Tokens)
- 23 Feb 2012: Find Rails Partial References in Vim
- 20 Feb 2012: Using PostgreSQL’s hstore with Rails
- 17 Feb 2012: Tidying Up With the Power of :g
- 09 Feb 2012: Modern grep
- 02 Feb 2012: Search a Git Repo Like a Ninja
- 30 Jan 2012: Zsh’s Extended Glob, and Octopress’s new_post Script
- 17 Jan 2012: Comments, and Automatically Folding Them in Vim
- 05 Jan 2012: Building Regexps in JavaScript
- 28 Dec 2011: Expressive Domain Specific Languages (DSL) in Ruby
- 03 Dec 2011: Keeping Your Git Repo Clean of .orig Files!
- 28 Nov 2011: Saving Files in Nonexistent Directories With Vim
- 18 Nov 2011: Markdown Headers in Vim
- 31 Oct 2011: Mess Up a Rebase? Reflog Your Problems Away
- 31 Oct 2011: M-x Occur for Vim
- 29 Oct 2011: Hello. Yes, This is blog.