Practical Ruby Projects: Ideas for the Eclectic Programmer