Author Archives: matthew

Dailed-in Rails script/console with pretty printing and history

Edit (as root) your /etc/irbrc: # Some default enhancements/settings for IRB, based on # http://wiki.rubygarden.org/Ruby/page/show/Irb/TipsAndTricks   unless defined? ETC_IRBRC_LOADED   # Require RubyGems by default. require ‘rubygems’   begin require "ap" IRB::Irb.class_eval do def output_value ap @context.last_value end end rescue … Continue reading

Posted in Technical HOWTOs | Tagged | Leave a comment

Simple MySQL backup to gmail on Ubuntu/Debian

Backing up your MySQL database (if it’s a reasonable size, like < 100s of MB) can be done with a cronjob that runs mysqldump, gzip, and mpack. First set up your server to use gmail as the Mail Transfer Agent: … Continue reading

Posted in Technical HOWTOs | Leave a comment

HOWTO enable the query log on MySQL on Mac OS X

Tailing the MySQL query log in real time can be a lifesaver for any developer, and it’s pretty easy to do: Make a file for the mysqld process to write to: sudo touch /var/log/mysql-query.log sudo chown _mysql /var/log/mysql-query.log If you’ve … Continue reading

Posted in Technical HOWTOs | Tagged , | Leave a comment

How to view only unread gmail conversations

Gmail doesn’t have an obvious way to only look at conversations that are unread. If you don’t “archive” conversations out of your inbox, it can get pretty crufty. It’s easy add a bookmark to just view unread conversations, however:

Posted in Technical HOWTOs | Tagged | Leave a comment

Installing Phusion Passenger on Ruby 1.9.1, Nginx, & Ubuntu 10.04

Getting ruby 1.9.1 and nginx and passenger and ubuntu to all play nicely is fairly straightforward, but it’s not just “apt-get” and “gem install” lovin’. Making ruby 1.9.1 the default ruby is OK. Follow these steps:

Posted in Technical HOWTOs | Tagged , , , , | Leave a comment

Set up JAVA_HOME to track Java Preferences.app on Mac OS X

Mac OS X’s Java Preferences.app has a pane for switching between versions of the JDK, but I just found out from a coworker (thanks, Mike!) that you can make your shell match that preference easily — just add this to … Continue reading

Posted in Technical HOWTOs | Tagged , , , , , | 2 Comments

Deliberate Change Management

Software engineering can be described as the orchestration of a quasi-denumerable set of moving parts. With so many moving parts, breakages occur. One main goal as a “software craftsperson” is to never expose customers to the affects of these breakages. … Continue reading

Posted in Software Development Mantras | Tagged , , | Leave a comment

HOWTO install etherpad on ubuntu 9.10

Etherpad was opensourced by google, and has some generic installation instructions. Here’s the translation for Ubuntu Karmic Koala (release 9.10):

Posted in Technical HOWTOs | Tagged , , , , | 3 Comments

Simple spring integration testing

Spring has had a really nice unit test framework available for a while now, but the documentation can be a bit daunting. Here’s a super-simple example of adding dependency injection to an integration test:

Posted in Software Development Mantras, Technical HOWTOs | Tagged , , | Leave a comment

Defensibility as an touchstone for development decisions

The topic for this “Software Development Mantras” post is “defensibility.” First, let me introduce the concept of “TIMTOWDI” (pronounced “tim-toady”). It’s an acronym for “there is more than one way to do it,” and software development may be unique in … Continue reading

Posted in Software Development Mantras | Tagged | Leave a comment