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.
Monthly Archives: December 2010
By the third crash, he had noticed something. The crash occurred when the attendants were changing the tapes on an unrelated drive. And furthermore, he realized that the crash occurred as soon as one of the attendants walked across a … Continue reading
Anyone trying to understand monads will inevitably run into Haskell’s IO monad, and the results are almost always the same: bewilderment, confusion, anger, and ultimately Perl. via Monads Are Not Metaphors – Code Commit. A thoroughly enjoyable read, recommended.
decent_exposure helps you program to an interface, rather than an implementation in your Rails controllers. Sharing state via instance variables in controllers promotes close coupling with views. decent_exposure gives you a declarative manner of exposing an interface to the state … Continue reading
I’ve been planning this post for a long time, and Magnus Holme’s recent article on overriding unary operators gives me the perfect lead-in. Ruby has great syntax sugar for quoting strings. You’ve got your single- and double-quotes; you’ve got slashes … Continue reading
Cool.io is an alternative to EventMachine, albeit one which using Ruby’s own native I/O primitives rather than reinventing them, and does as much as possible in Ruby instead of C, which should make it easier for interested contributors to hack … Continue reading
There’s an issue that’s been bothering me for quite a while. There’s a problem in the software development world, a practice that breaks down the free and open exchange of information. This practice is widespread throughout the software development world … 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
It has come to my attention more than once that avdi.org is sorely in need of updates and more complete info. At some point I plan on having someone design a custom home page, but until I get around to … Continue reading
Faraday is an HTTP client library inspired by Rack. Requests and Responses go through middleware which allow for abstraction and modular code. via Writing modular HTTP client code with Faraday | Adventures In Coding. Strike that off my list of … Continue reading