Menu Sidebar

Author: Avdi Grimm

Please help me find a web design mentor

My wife Stacey is getting back into web design after a 15-year hiatus, with a goal of having a job in the field a year from now. She may also be interested in development in the future, but design comes first. She’s on a timeline, and can’t afford to drown in a sea of resources. […]

Getting started with PHP: Essential dev tools

A complaint that I have with pretty much every programming language manual I’ve ever read, is that they almost never start by telling you how to get the tools you need. Sure, they tell you how to install the basic compiler or interpreter for the language, information you could easily discover by following the first […]

The daunting economics of cheap services

Reader Rob asks: One thing stuck out to me reading this, and I was wondering if you’d be willing to elaborate on it further: “The trouble is, the economics of selling a service for less than $10/month are damn near prohibitive.” Would you mind explaining how you came to this conclusion? Thanks!

Software Entrepreneurs: Stop looking for itches to scratch

On probably half a dozen different occasions some aspiring entrepreneur has asked me: Would you be interested in a hosted solution for selling screencasts? In most cases, the promised solution never goes beyond talk. In a few cases I’ve been sent invitations to beta test. In all cases, a successful business has failed to materialize, […]

Older Posts

Virtuous Code

"The three virtues of a programmer: laziness, impatience, and hubris" — Larry Wall

Books and Screencasts

RubyTapas Screencasts

RubyTapas Screencasts

Small plates of gourmet Ruby code.

Confident Ruby

Confident Ruby cover

32 Patterns for joyful coding.

The Making of

Confident Ruby cover

Watch me build an app in Sinatra and Rails

Objects on Rails

Objects on Rails

A developer notebook on applying classic Object-Oriented principles to Ruby on Rails projects.

Exceptional Ruby

Exceptional Ruby

The definitive guide to exceptions and failure handling in Ruby.