Fast Times

I’d like to think that I post more frequently when I am busier, but there are apparently limits to that. It would probably make for an interesting graph.

The past few weeks have been, to put it mildly, insane. No time for blog entries nor tweets. A lot of things are coming together at once, including the new Subway project (the old one is on hold), and the City’s staff augmentation RFP. The latter was critically important to my company and its employees so it took top priority until its deadline passed. I’ve been working extra-hard to get some technical issues ironed out for the Subway project, which we’re doing in Rails. I should have my head examined for taking on something like this, but it’s such an interesting opportunity that couldn’t be missed. Hopefully I can back off of it while my subcontractor carries it for the next few weeks, as my other night job has been suffering a bit. Oh ya, then there’s the day job, but this necessarily gets my normal work hours, except it seems I’m pulled away frequently for things like doctor’s appointments, physiotherapy, and this past Thursday, for my wife’s car accident.

Someone just ahead of her in the middle lane abruptly attempted a left turn directly in her path. She hit into the truck before being able to touch the brake pedal. The RAV4 was rendered inoperable and had to be towed away, and I left work to pick her up. I was also away Friday to help deal with the aftermath (police report, rental car (Pontiac G6: yuck!), and helping her out as she got quite stiff and sore. Plus the kids had minor surgery Thursday night so I had to tend to them as well. The other guy readily admitted responsibility so no problem there. We have no idea what will happen to the RAV4, but I doubt that it will be written off.

Anyway I am excited to be back hard on my Clerk’s work again. It’s not Rails work but it’s a lot better than Classic ASP.

How to Quickly Configure an Unbuntu/Rails Development Virtual Machine

I’m starting a new Rails project, and as usual I want a new dedicated virtual machine to keep it isolated from my other development environments. Since it will be based on Ruby on Rails, Ubuntu is my choice for operating systems. Though it’s not terribly onerous, I didn’t feel much like installing from scratch, so I found a great resource here: http://hex.io/1lda

After starting the VM and installing VMware Tools as per the site’s instructions (http://hex.io/1ldb) and excellent script (I recommend upgrading the kernel before this to avoid having to run “sudo vmware-config-tools.pl –d” again, like I had to) I used the Synaptic Package Manager to install Ruby, Rails, MySQL Server & client + tools, Git, the full version of vim, and several other packages.

Since my project will use SQL Server as the back-end database, I needed to install a suitable database adapter. Instructions for one such adapter are at http://hex.io/1ld5. As documented, specific versions of support gems are required.

The number one annoyance for me to running Ubuntu in a VM is that horrific speaker beep when doing filename completion or trying to scroll past the end of file in vim.

After some research, I found two complementary solutions. First, edit /etc/modprobe.d/blacklist.conf and add the following lines:

# turn off the PC speaker
blacklist pcspkr

This kills the beep once and for all. However it would be nice to get a visual beep, so add the following to ~/.inputrc:

set bell-style visible

There were also keyboard issues as the VM image is set to an international keyboard by default. I changed the keyboard to a Generic 104-key model and set the layout to English Canadian. No more irritating accent characters.

Here’s a nice article on configuring remote access in Ubuntu: http://hex.io/1ld8. This way the VM can be running on a host in the server room and I can connect to it using my main workstation. I particularly like the bit about allowing multiple users to access different virtual screens.

At the end of the day, I have a pretty current VM image that’s ready for Rails development action.