sanity, inc.

simple thinking for complex software

Renumber Clashing Rails Migrations in One Easy Step

If you work in a team on a Rails project, chances are that you and your team mates occasionally create identically-numbered migrations. Renumbering a migration that you’re working on is a pain, unless you’re using this handy renumber_migrations plugin.

Init Scripts Considered Harmful

Tired of PID files, needing root access, and writing init scripts just to have your UNIX apps start when your server boots? Want a simpler, better alternative that will also restart them if they crash? If so, then read this quick-start introduction to process supervision with runit/daemontools.

How to Use OS X Leopard Screen Sharing With a Linux Machine

Apple’s brand new Leopard version of OS X includes handy support for connecting to shared remote screens right from the Finder. The intention was to connect to other Macs, but with a bit of tweaking you can also connect to VNC servers running on Linux machines with the same ease.

Rails Plugin for Console Database Access

Ever tried using ‘psql’ or ‘mysql’ on the command-line to connect to your Rails database, only to find you forgot how to specify all those ‘-u’ and ‘-h’ parameters?

This plugin provides handy rake tasks for running DB console programs for the various databases in your database.yml. It supports postgresql, mysql, sqlite and sqlite3 connections.

How to Make a Git Mirror of a Darcs Repository

In this article I discuss techniques for migrating source code repositories from darcs to git. I describe two approaches that failed for me, and introduce a new tool that I was able to use successfully with my own projects, and that can be used to create git mirrors of active darcs repositories.

Rails on Git: How Much Hype Fits in 9MB?

Ruby On Rails has a Subversion repository with over 7500 commits at the time of writing. In this article I show how you can use Git to have a full local copy of the repository in 9MB, and use it to track upstream changes.

In a subsequent article I will show you how to use such a repository to easily maintain Rails patches for the six months it takes you to get them accepted into Core (wink).