Monthly Archive for October, 2004

BlueDragon

I partially retract my anti-BlueDragon wrath of a few days ago. Turns out BD installs a key into a NewAtlanta-specific registry file, and doesn't bother to remove it when it gets uninstalled. So to reinstall, you need to go manually remove the key from the registry file. The file is located at /usr/local/NewAtlanta/.registry. Of course, my wrath is still in full bloom that this was even a problem to begin with. ; )

Death to BlueDragon!!

More fun with BlueDragon tonight. I've never gotten BD to connect to apache2 on my mac. New Atlanta didn't bother to include a connector that actually works, even though BD will happily attempt to connect itself. So tonight, I thought that I'd reinstall a new version of BD, since there were a couple bug reports in the database that suggested this might have been fixed. I've managed to hobble along until now using the internal web server, but that's not going to fly any more, as I need to have CFML and JSP running on the same apache vhost, and the BD doesn't do JSPs in the free edition.

First time running the installer and it says "you need to uninstall first". That makes sense, so I go run the uninstaller and delete the remaining tidbits. "You need to uninstall first." Go empty my trash, delete the various installer log and error files. "You need to uninstall first." Find the startup item still lingering, along with a few preference files, and delete those too. "You need to uninstall first." Do a search over my entire hard disk for anything with 'bluedragon' in the name, and delete everything except for a couple files from Dreamweaver and CFEclipse. "You need to uninstall first." At this point there is literally NOTHING related to BlueDragon anywhere on the computer, aside from the installer, the ZIP the installer came in, and the PDF-format compatibility guide. I shut down Apache just for good measure. "You need to uninstall first."

Fuck BlueDragon.

CVS Authentication

As part of my cvs.fusebox.org project, I made up a little CFC that will perform authentication against a CVS passwd file. I didn't want to have to maintain two sets of credentials for all the CVS users, so this proved a very good solution. The implementation was actually pretty simple; the most difficult part being the crypt script (I used Perl) for doing the UNIX crypt on the passwords.

Because the passwd format is pretty standardized, the CFC should work on .htpasswd or even /etc/passwd files as well, as long as you're not using shadow passwords. I haven't packaged it up for distribution, but if anyone's interested, I'd be happy to send you a copy, along with the Perl script.

BlueDragon

I installed BlueDragon on my server a while back, so that I just throw together a little comment management script for the blogs in CFML, rather than JSP. Since then I haven't used it much until the last week or two. I wrote a very simple FB4 site with an access-controlled section for the Fusebox development team, and promptly spent about five days trying to get it to work on BlueDragon.

The first round of problems were with the core files themselves. Nothing major, just various little bits of unsupported syntax (like using a string on the left side of a CFSET). Next was some enormous problems with using CFCs. I have two CFCs in the app, and I eventually discovered that if the CFC file is changed, you need to kill off any cached instances or you'll get all kinds of trouble. Finally, exception handling by pattern doesn't work on BD 6.1, but thankfully, it's supposed to be fixed in 6.2, due out sometime soon.

I haven't totally forsaken BD yet, but after the last week, I'm pretty close. Not that using JSPs for everything would be easier, but at least it would be consistent.

Neuromancer

I downloaded Neuromancer today, which is a JavaScript library for doing web service calls without page requests. It's pretty slick, though it definitely has a few quirks. However, I spent some time working with it and managed to tack on what amounts to listeners for remote actions.

To put it in English, what you had to do is make your remote connection, and then do a setTimeout for a "while", and then deal with the returned values from the remote operation. Hardly ideal. My mods let you instead pass an listener (or even handler) to the remote method, and that listener is invoked when the remote method completes. Very similar to how Flash Remoting works, and much nicer to work with.

Hopefully, my changes will be incorporated into the actual Neuromancer releases, but I haven't heard back from Rob (the guy who wrote it) about that yet. If not, I'll probably make them available either as a modified gateway.js, or as a patch file for it, depending on the Neuromancer license.

Fusebox Moving Ahead

I'm happy to say that the Fusebox development effort is at long last using version control. Yee-Haw!! After much persuasion and a few hours of work, I've set up a CVS repository and gotten everything squared away for it's continued use. Currently, both read-only and read-write access are both restricted to specific users, but in the future, anonymous access may be allowed, and/or development snapshots may be available for download.

And the Brackets are Done

I spent a bunch of time this weekend designing and mocking up the monitor brackets for the counter computer out of paper. Very high-tech stuff. After that, I laid them out on the computer, all to scale, so I can print out the plans, mock it up again to double check, and then use them as a pattern for actually cutting and shaping the metal. Should be fun.