development

Remote Diff

Ever wanted to do a diff between a local file and a remote one?  I have, so I wrote a simple shell script that'll do it for you.  It requires scp, diff, and rm to be available on your system, which should be the case on any modern *nix.  The -b option to diff tells [...]

Good UI Design

I'm a stickler for good UI design.  I don't claim to be a wiz
at it myself, though I'd like to think I'm better than many.  I
love coming across web sites that are a breeze to use.  Hell, I
love coming across web sites that aren't painful to use.  In a fit
of spastic home-all-alone Googling, I hit [...]

Eclipse's Incremental Find

Little Eclipse gem I just found.  On the in-file Find dialog,
there's an "incremental" checkbox.  If you check it, Eclipse will
find the first match as you type, updating for every keystroke,
just like FireFox's in-page text searching.  I've longed for that
feature for months, and never noticed that it was sitting there right
under my nose.

Ant For Server Configuration

I use Apache ant for a lot of things, almost none of which have anything
to do with building software. Simeon knows
much of what I do with it from the course of various discussions, and while
he was using it for something a week or two ago, he suggested that I blog
about some of my experience. [...]

cvs2svn Rules!

I've been moving all my stuff from CVS to Subversion over the past
few months.  Some of the stuff (like server config files) I've
just been moving the top revision across since the history is of little
concern.  The larger projects, however, I've migrated the whole
history with the fantastic cvs2svn
tool.  It somehow reads your CVS directory, figures out [...]

How Nested Sets Work

I got an email question today about how nested sets work, after the
developer started using my TreeManager component.  I figured that
was a good topic for a blog post, so here it is.

Nested sets operate based on two fields, rpos and lpos (right
position and left position).  They're calculated by doing a depth
first traversal of the tree; [...]

Neuromancer Extension

I've used Neuromancer
(from Rob Rohan)
on several projects, and I finally decided to implement form posts, in
addition to the raw posts that it already supports.  Like it
should be with a well designed library, adding the new functionality
was a snap.  I forwarded the changes to Rob, and I'd expect them
to be in the next Neuromancer release, which [...]

Weird MySQL INSERT Quirk

I wrote an INSERT query today (for the first time in months), and
missed a comma between two of my values.  I also missed one of the
columns in the column list, so there while there was an extra value,
two of them weren't separated by a comma.  Something like this (though with CFQUERYPARAM, of course):
INSERT INTO mytable
    [...]

Connector/J 3 Gotcha

As is pretty common knowledge, CFMX 6, CFMX 7, and BD all ship with
JDBC drivers for MySQL 3.x.  There have been several posts (here's
one from Steven Erat)
about installing MySQL Connector/J 3.x, which is the driver for MySQL
4.x.  In particular, it supports the new authentication scheme
that was introduced in the 4 series.
I've done this on several
servers [...]

And Again! (ComboBox)

Based on some user feedback and some more of my own use, I've made a
couple more little tweaks to the script.  In a nutshell, orm
submission blocking now works in a far less intrusive way, hitting TAB
will select the active item before changing focus, and ESCAPE will
close the dropdown if it's open.
I've also been looking for [...]