Home
Please Listen Carefully, as our options have changed
Archives
Using alias_method_chain to transparently hash memcache keys
03/31/12
Identifying duplicate songs, artists, and albums on Rap Genius: not so easy!
03/25/11
Enforcing rel='nofollow' with Ruby's URI Library: What a Pain!
11/22/10
String#to_file: the easiest way to write a string to a file in Ruby
11/18/10
Rails Bug: Changes to has_many associations are saved immediately (irrespective of whether you save the parent object)
11/17/10
Why photo rotation is broken on the iPhone 4 and how to fix it (using Paperclip on Heroku)
11/16/10
Is Google more dominant than you think?
10/26/10
These credit card swiping instructions are ambiguous!
10/21/10
Better Draft Saving with Debouncing
10/17/10
"Forward to": An Alternative to Bcc
03/15/10
How should web pages ask for your address?
02/09/10
What should a site do when you try to access a page that doesn't exist?
12/08/09
Implementing a State Machine on Rap Genius (Bonus: And Why!)
11/30/09
How to Load Disqus Comments Asynchronously (Bonus: And Why!)
10/16/09
What could possibly go wrong?
08/27/09
Introducing BetterMetroNorth.com: An Easier way to get Metro North Train Schedules
08/23/09
Amazon Authentication Annoyances
07/16/09
Photoshop "Save" Dialog Considered Harmful
06/12/09
Faucets & Orthogonality
05/04/09
Sane URLs
03/16/09
Blogger templates and WYSIWYG editors
03/12/09
Thoughts on the Firefox 3.1 new tab page
10/18/08
Rich Berger's America
09/11/08
Blogs are great, but they suck
09/06/08
iPhone interface / usability comments
08/08/08
The Pernicious Use of Metaphor in UI Design
07/06/08
Form over Function
06/29/08
Show, Don't Tell
06/16/08
Design Within Reach: UI Design in NYC Taxis
05/13/08
Tom Lehman
|
archive
Other Projects:
Rap Genius
|
Better MetroNorth
|
InstaGal
|
BombSheets
|
Fliff