September, 2005


28
Sep 05

Server migration: the final piece

On Monday, we finally completed the final piece of server migration, migrating our Jabber service.

This was our hardest task of the actual migration, in my opinion. It had the most users, and we, for whatever reason, couldn’t just use the same software we had been using.

On our old machine, we had been running jabberd 1.4.3, with a conference component as well as several bridges to other IM systems (AIM and ICQ, if I recall). It hung occasionally, but generally we were happy with it. Well, as long as we didn’t need to touch it.

First, we were interested in a more modern server. For instance, one that supported STARTTLS. So we first tried Jive Messenger, a Java-based jabber server with a built in conference component. Since we already had Java 5 installed, this seemed like a good idea. Because this was a new bit of software, I decided to test it out on my own home server before subjecting our users to it. It was all great until I tied to join a chat room from our existing 1.4.3 server. That exposed a series of s2s bugs that pushed Jive to the bottom of the stack. Let me be clear, however: I am a big fan of Jive Messenger. I think that it will someday be the best jabber server for small installations. And for some folks, it is probably the best server right now.

Next, I tried (locally) to use jabberd2, my next choice. On my home box (which is an AMD64), the s2s component kept crashing when using the conference component. Ok, next server, jabberd 1.4.4, a point upgrade to what we were using. This would actually segfault when registering a new account. No good. Try jabberd 1.4.3.1, same problem. Next, ejabberd. Too alien. Next, jabberd2 again. This time, I tried it on our new server, hoping that its non-64bitness would help. The conference component still had issues — it was crashing every seven seconds. At this point, we are almost back to Jive. I had one more trick, which was to use my jabberd 1.4.3.1 build to run the conference component rather than JCR. Finally, success!

Now, to migrate users. The migration tool that comes with the jabberd2 source has you add a service configuration blob to your jabberd 1.4 configuration and then run the tool against it. It seemed like a good idea, but, of course, didn’t actually work. For whatever reason, the migrate.pl script could ask our old jabber server about a user via this new “migrate” service, but the jabber server wouldn’t return any actual information. Hm. Must be missing a component to the jabberd 1.4 server or something. After googling, finding a Ruby script for doing the migration in a google-cached mail message, installing Ruby, installing mysql-ruby, fixing the script to deal with inadvertent line breaks, we got the Ruby script to work. As a bonus, it migrated more stuff (vCard data and offline messages). Actually, the script was quite a nice solution, I just wish it was easier to find.

So here we are, on jabberd2. Whew.


6
Sep 05

New life for an old scanner

About 3 or 4 years ago, I bought my mother a scanner for her iMac (G3). Now, my mother isn’t a photographer or particularly interested in scanning pictures or old photos. What she uses a scanner for is OCR. At the time, she was assembling a report for her church, and folks frequently gave her hard copies of things rather than emailing her the documents. This wasn’t the absolute best solution, since the OCR software frequently introduced a fair number of errors, but it beat typing everything in.

This scanner (which replaced an older, SCSI scanner that we couldn’t get to work with the new iMac) was a well-recommened (for the Mac, anyway) Canon scanner. I forget the model number, but it is essentially a LiDE 30. At the time, my mother was either running OS 9, or at least still largely relying on Classic to get stuff done. The scanner came with an OEM version of OmniPage SE for OS 9. It worked, but it was largely unintuitive to use.

It was then that I learned that scanners were the black-hole of usability on the Macintosh. Where the Mac had made many things very easy that had once been hard, scanner support was still largely left up to the vendors, who were only marginally interested in making their stuff work on the Mac. In short, it sucked.

Fast forward a few years: after one hard disk meltdown, one iMac replacement (to a new 17″ iMac G5), and Tiger, Classic is gone, and with it, any ability to even use the scanner to do anything, let alone OCR. Fortunately, the burning need for this functionality had lessened, so it wasn’t that big of a deal.

I would occasionally look for ways to get that scanner back in business. What was frustrating is that it looked like the cheapest thing to do was to buy a new scanner! The only OCR software that I knew about was OmniPage Pro, which was $400. The scanner was only $150 new.

Enter VueScan. This weekend, I convinced my mother to download it (ok, actually I just downloaded it for her) and try it out. For the first time on the Mac, scanning was easy! It was straightforward. OCR worked. The scanner is back in business.

Only time will tell if this $90 package is ultimately worth it, but I was impressed.