Monthly Archives: May 2006

Modeling enumerated types in the database

Let’s say you have an Employees table and you want a column to track the status of an employee such as [’employed’, ‘resigned’, ‘retired’, ‘terminated’, etc…]. You have a couple of options including: Using your database’s custom enumeration data-type if … Continue reading

Posted in Database, Ruby, Software Engineering | 3 Comments

When installing MySQL always set the sql-mode

As I’ve described before, MySQL has some appalling out of the box settings which will thwart your attempts at good data integrity! They’ve clearly seen the light though and at least give you an option to achieve good data integrity … Continue reading

Posted in MySQL, Systems Administration | 1 Comment

Running Ruby on Rails with Apache 2 and mod_fcgid

My hosted Linux server runs Debian Sarge 3.1 with Apache 2. As most Ruby users have heard Apache 2 is rumored to be problematic with FastCGI. This evening I’ve been working on putting up a new Ruby on Rails site … Continue reading

Posted in Ruby, Systems Administration | Leave a comment

Use env to ensure a script will work in cron

I’ve often written scripts only to discover once added to crontab that it relies on an environment setting such as having the java command in the PATH or having CVSROOT set. To avoid this I now run scripts I’m developing … Continue reading

Posted in Systems Administration | 1 Comment

Avoid hard-coding the path to the interpreter in your scripts

In general when trying to write portable scripts don’t start them with #!/bin/bash , instead start them with #!/usr/bin/env bash . The only caveat is that you DO NOT want to do this for critical security scripts because it opens … Continue reading

Posted in Ruby, Systems Administration | 4 Comments

Creating database test fixtures and the rails export fixtures plugin

Being able to quickly and easily create test fixtures for your database is important yet it’s not always easy. There are basically 3 approaches I’ve seen used: 1. Use a MySQL or PostgreSQL dump that gets imported before the tests … Continue reading

Posted in Database, Java, MySQL, Ruby, Software Engineering | 3 Comments

Unix and Windows Sysadmin in downtown San Francisco

My buddy Mike at UrbanaSoft is looking for an experienced full-time Unix and Windows sysadmin in downtown San Francisco. Pay is between $80-$100k depending on experience plus benefits and all that good stuff. If you’re qualified and interested or know … Continue reading

Posted in Systems Administration | Leave a comment

Moving MySQL tables live with zero downtime

The biggest challege to moving large amounts of data into production with (almost) zero downtime with MySQL is that the old table will be dropped and the new table locked while you’re loading the data. If you try that while … Continue reading

Posted in Database, MySQL, Systems Administration | 2 Comments