MS Access via JDBC

We recently made the move from an IIS Windows web server to an Apache *nix based web server as part of our efforts to consolidate our library's server infrastructure. And for reasons I won't expound upon, we had one MS Access DSN that didn't get migrated to MSSQL and that needed to be used still. Since ColdFusion uses a Windows only driver for MS Access, I needed to figure out a way around this. I found a couple of JDBC drivers for Access (Easysoft's JDBC-ODBC Bridge and HXTT's Access Pure Java JDBC Drivers), but these seemed to be a bit on the expensive side for the short amount of time that I'd need to keep Access in production.

I did notice on Easysoft's website that they were using the JdbcOdbc bridge, so after a little bit more digging, I found the syntax to use configure ColdFusion to use MS Access through the JdbcOdbc Bridge; the JDBC URL is

jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=/path/to/datasource.mdb;DriverID22;

and the Driver Class

sun.jdbc.odbc.JdbcOdbcDriver

For the very basic inserting of data from a seldom-used web form into a single table, this band aid fix has been doing pretty good!

RedHat Support Kudos

It's been a while since I've posted anything, so I figured this would be a good point to start on...

To start the process of standardizing our server platform in the library, we recently purchased a couple of servers to run RedHat on. I was going through the process yesterday of activating the subscriptions, and a funny thing happened...the second subscription got appended to the first as an extension instead of a new subscription.

I looked all over the place trying to figure out where the subscription had gone to, and read, and reread the directions (there's not really that much to it). I had deleted and re-added the system (in an effort to clear the entitlements) so many times I lost count.

I finally broke down and decided to give RedHat a call. I have to say this was perhaps one of the best service calls I've ever had with a software vendor. After my last several experiences with software vendors (we just put in a new media center for college students), I had pretty low expectations. I figured I'd be on the phone for most of the morning trying to convince someone that I did in fact have two, three-year subscriptions and not one, three-year with a three-year extension.

Things started off normal enough for these things...a labyrinth of options to choose from. After I got the options to get to technical support, someone actually picked up the phone on the second ring! After I explained what I had done, he looked at my account and immediately knew what had happened. He said that he wasn't able to help, but would transfer me to someone who could. Now this is what surprised me, instead of me getting transferred to the folks that could help me, he actually talked to those people, explained what the problem was, and then connected me so I could talk to those people. By the time I actually spoke with the account rep, she already knew what the problem was and what needed to be done to fix the problem instead of me rehashing my story over and over again.

I wish more companies handled issues like this...my five minute problem literally took five minutes to resolve. Too many times in the recent past I've gotten the run-around for what I believed a rather straight-forward issue. It's very refreshing to have this kind of experience with a software vendor!

Postgres on Ubuntu

I was setting my computer up for a database systems class I'm taking this semester. I got to the point of getting PostgreSQL 8.1, pgAdmin III, and the JDBC drivers installed, but I couldn't figure out how to connect to the darn thing. I knew it created the account postgres, but since I was installing through apt-get, there wasn't any point that I set the password.

I finally broke down and started reading the documentation (which is excellent by the way), but all of the documents about the initial configuration were on compiling from the sources. I finally got tired of clicking "Next" in the docbook files and stumbled across a post at hocuspok.us.

The step I was missing (and I'm sure I would have eventually found) was running:

> sudo su postgres -c psql template1
template1=# ALTER USER postgres WITH PASSWORD '$password$';
template1=# \q

Even after just playing with this for a couple of hours, I'm seriosly thinking of changing my development DB from MySQL to PostgreSQL. Pretty impressive!

Improving Ubuntu GUI Resposiveness

I ran across this on Digg under the title How to Make Firefox Over 40% Faster. While the improvement actually has nothing to do with Firefox, it does cover how to improve the CPU scaling settings.

Quick breakdown...

Uninstall powernowd

sudo apt-get remove powernowd

Enable speed-stepping (I'm running Centrino)

sudo modprobe speedstep-centrino

Enable the ondemand governor

sudo modprobe cpufreq-ondemand

This step is a change from Martin's directions, his says to use sudo, but you can't write to /sys with sudo, so

echo ondemand | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Now it's just a matter of updating your performance settings:

Open /etc/modules and add

speedstep-centrino
cpufreq-ondemand

Install sysfsutils

sudo apt-get install sysfsutils

Add to /etc/sysfs.conf

devices/system/cpu/cpu0/cpufreq/scaling_governor=ondemand

Basically what this is doing is stepping up the processor frequency if the CPU reaches 80% utilization.

Goobuntu?

The Register is reporting the Google is at work on a Linux distro based on Ubuntu. I was introduced to Ubuntu about a month ago (thanks Phil) and have to admit it's a really nice distro. I was especially impressed with the ease of installation (on one CD opposed to Fedora's four), the graphical apt-get utility, and the detail available on their wiki on how to do just about everything. I was actually able to install the Sun Java 1.5 SDK in about 10 minutes on Ubuntu (opposed to the approximately 45 minutes it took to do it in Fedora).

Ubutuntu is definately worth checking out...even before Goobuntu is out!

cat to an ISO Image?

I was recently putzing around on a Linux box and looking at different ways to work with the server as a CD Server. I ran across a command to concatenate a CD into an ISO image of the hard drive. It's actually a lot easier than the way I was backing up CD images on my local system.

[wsgrah@server /usr/cds]# cat /dev/cdrom > image.iso

If that's not cool enough, you can also virtually mount the image for use on the local system and network users connected with:

mount image.iso /cdrom -t iso9660 -o loop

There's a little more configuration needed to finish the SAMBA access to the image, but the nice thing (at least in my case) is that you can map one logical drive in Windows to the share and then access the CDs directly from the network instead of mapping each CD-ROM resource (you run into a problem at 26 CDs).