Linux, vim, and custom command line tools to make life easy. Whenever possible, when making changes (like adding model override XML, for instance), I prefer to create a command line tool to do it for me. vim is nice because it is on darn near every server ever, so debugging remotely is about as comfortable as locally. As for linux, the idea of developing without ack/grep and a proper shell is just too much to bear.