Keith R. Bennett

Software Development

I have a passion for creating value in the form of functional, reliable software.  My current focus is Ruby (including JRuby) and web development with Rails.  Earlier in my career, I worked with Java, C++, and C. 

I am an enthusiastic practitioner of best practices regarding testing, code clarity, and sound design principles such as low coupling and DRY code.



Writing is one of my passions. I am an evangelist for team wikis and am a prolific contributor to them. My technical blog is at, and I just started a new blog about the human aspects of software development at


I come from a family of teachers, and have enjoyed teaching and tutoring from time to time. A long while back I taught a couple of semesters of C language at New York University's School of Continuing Education.

Occasionally I've enjoyed speaking at user group meetings and conferences. My slide presentations are at

Technical Community

I helped organize the first Ruby DCamp, am moderator of the NovaJug online discussion group, and, more recently, chipped in to help at Singapore's RedDot Ruby Conf and RailsBridge's Rails for Ladies events.


Foreign Languages, Travel, and Software Internationalization

I've travelled a fair amount, in Asia, Europe, and Africa, and have varying degrees of expertise in the French, Swedish, Korean, Japanese, and Thai languages. This was helpful on a U.S. State Department project on which I was responsible for the software internationalization (I18N).