Table of contents for cfdiff
Exhibit A, a snippet of a diff of some CF code that I’ve talked about recently:
Looks rather ordinary, right? Added lines, deleted lines, updated lines. No big thing.
The kicker for this one, is that I wrote the differencing engine, and I did it in ColdFusion. It’s a CFC that makes it as easy as Diffs=DiffArrays(A,B) then Parallelize(Diffs,A,B) and voila! Not an earth-shattering accomplishment by any measure, but it felt good to start and finish a project in an afternoon, especially for such a useful utility.
A few weeks ago I wrote a basic CF front-end to our Subversion repository, as all the ones I looked at were either a pain to configure or just plain sucked. (The one with Horde falls into the former category, while the built-in one for Apache falls into the latter.) I’d gotten pretty much everything I wanted out of it, with the exception of being able to generate diffs. It didn’t get tackled at the time because, really, I’m the only one that would care. But I had it in the back of my mind.
Saturday morning I woke up needing to finish it. I researched how to write a differencing engine and sat down and did it. It took the better part of a day (they are surprisingly tricky little beasts), but it’s done.
After a week of meetings and the drudgeries of school work (why oh why did I decide to go back?), I got to be productive. I had to sacrifice the better part of my Saturday to do it, but the feeling at the end was worth it.