Menu Sidebar
Menu
Avdi Grimm

Avdi Grimm

Hacker; code documentarian.

  • August 2, 2017Riffing on `interpose` implementations in Ruby
  • July 14, 2017On being the employee who “needs improvement”
  • July 13, 2017How to categorize objects
  • May 15, 2017Please help me find a web design mentor
  • May 8, 2017Getting started with PHP: Essential dev tools
  • Home
  • About
  • Store
  • Archives
  • Contact
  • SIGAVDI Newsletter
  • Public Appearances

Archives

Pages

  • About
  • Privacy Policy
  • Exceptional Ruby Notes
  • Thank You for Purchasing “Exceptional Ruby”!
  • Thank you for purchasing “Objects on Rails”!
  • Thank you for purchasing the Sponsor Edition of “Objects on Rails”!
  • Contact
  • Virtuous Code Store
  • Pair-Programming Services
  • RubyTapas Free Monday Episodes
  • RubyTapas RubyConf 2012 Promotion is Over!
  • Introduction to Much Ado About Naught
  • Archives
  • Public Appearances
  • SIGAVDI Newsletter
  • Thank you for subscribing to SIGAVDI
  • Phony Hat Blog
  • Problems with ebooks in Kindle format?
  • You have been removed

Categories

  • Announcements
  • Books
  • Business
  • Community
  • Conferences
  • Design
  • Education
  • Elixir
  • Emacs Reboot
  • Howto
  • Humor
  • Links
  • Opinion
  • Perl
  • Presentations
  • Questions
  • Quotes
  • Rails
  • Rants
  • Reading
  • Resources
  • Reviews
  • Ruby
  • RubyTapas Samples
  • Screencasts
  • SIGAVDI
  • Smalltalk
  • Smalltalk Best Practice Patterns
  • Study Notes
  • Stuff Worth Buying
  • Stupid Ruby Tricks
  • Tools
  • Tuesday 25
  • Uncategorized
  • Videos

Latest Posts

  • Riffing on `interpose` implementations in Ruby
  • On being the employee who “needs improvement”
  • How to categorize objects
  • Please help me find a web design mentor
  • Getting started with PHP: Essential dev tools
  • SIGAVDI #32: More than cartographers
  • The daunting economics of cheap services
  • Software Entrepreneurs: Stop looking for itches to scratch
  • The Pretentious Haskell Phase
  • Three Object-Oriented Programming Books Worth Reading
  • Tuesday25: Creating a Rakefile for publishing to WordPress
  • No puddle of piranhas (SIGAVDI #31)
  • How to clean up Medium feeds in Inoreader
  • A random selection of marketing, business, and personal development resources
  • Side-hustle mindset versus product-business mindset

Virtuous Code

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

  • Twitter
  • Github
  • Facebook
  • Google+

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 Cowsays.com

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.

Recent Posts

  • Riffing on `interpose` implementations in Ruby
  • On being the employee who “needs improvement”
  • How to categorize objects
  • Please help me find a web design mentor
  • Getting started with PHP: Essential dev tools

Search

Archives

Categories

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org
© 2018 Virtuous Code | "The three virtues of a programmer: laziness, impatience, and hubris" — Larry Wall