Hi! I'm Avdi Grimm, and this is my software development blog. More...
Books and Screencasts
Small plates of gourmet Ruby code.
Watch me build an app from scratch.
Objects on Rails
A developer notebook on applying classic Object-Oriented principles to Ruby on Rails projects.
The definitive guide to exceptions and failure handling in Ruby.
Tag Archives: design
It occurred to me recently that my experience as a Rails developer may be somewhat unique. I often get brought in to help preexisting Ruby/Rails projects evolve and mature in a sustainable way. As a result, the vast majority of … Continue reading
Lately it has become popular to justify any messy code written in haste as intentional technical debt: “we chose to sacrifice quality for speed.” I’m not sure this is a constructive trend. In my own work I’ve begun making a … Continue reading
Is #try really so bad? In response to my recent post about #try being a code smell, a lot of people made the reasonable objection that the example I used—of using #try on a a Hash—was a pathological case. A … Continue reading
A lot of people asked me to report on my experience with 99Designs, so now that the contest is over I thought I’d jot down some notes. For those who don’t know, 99Designs is a “design crowdsourcing” service. You post … Continue reading
“Full exploitation” is essentially a pattern in itself, and one we will come back to repeatedly. Whether it is applied to software development, architecture, or music composition, exploiting a good idea repeatedly can enhance the integrity and cohesion of the … Continue reading
I am a stereotypical developer: I can’t design my way out of a wet paper bag, and I tend to regard every potential bout with CSS with trepidation. I’m trying to get better, though. Progress is slow. I started working … Continue reading
I just read Why I love everything you hate about Java. You should too. There are some very good points about modularity in there. Unfortunately they are all mixed up with some unnecessarily combative us-vs-them rhetoric. Apparently in Nick Kallen’s … Continue reading
A common idiom in ruby is to call a method only if its receiver is not nil: thing.foo if thing or: thing && thing.foo Various libraries exist for making this a little more convenient. You can use andand, or if … Continue reading