Archive for the ‘Tools’ Category

You're doing it wrong: GNot Invented Here

A while ago, I was working at a company in South Florida. And I happened to be reading the manual for their build tool, which was called ‘make’, and it mentioned a special syntax available for cases where more than one output file could be built by a single application of a rule.
The example most [...]

Crossing Over

Recently I’ve been doing a lot of work at a very low level. Not “should I use a primitive type or a class” low, but more like “how many cycles will this take?” low.
Today I was chatting with some folks on IRC, and the subject of binary searching came up. Now, I don’t know if [...]

Using Doxygen’s \test command with C++

I’m working on some C++ code that is documented using Doxygen. Nothing earth-shattering there.
But I’m doing unit testing, and writing unit tests. In this case, I’m using the boost C++ libraries. That means my tests don’t look like classes, the way they might look if I was using CppUnit or CxxUnit. Instead, they look like [...]

Which ‘which’ is which?

The ‘which’ utility is one of those really useful commands that never seems to cross the bridge from Unix to Windows. The CMD.EXE special %$PATH:f syntax seems to promise some relief, but of course it’s never that simple – I at least want to type “which foo” rather than “which foo.exe”.
So here’s which.cmd – a [...]

Some bash goodness

Here’s some bash goodness (well, not really) to make ‘less’ a little bit more useful.
less() {
       local -a args
       for arg
               case “$arg” in
               *:[[:digit:]]* )

Unit tests for MySQL scripts

Recently I had the opportunity to develop a unit testing framework for MySQL scripts in mostly-pure SQL. While I can’t share the code, I can certainly describe what we did, and why we did it. Hopefully it will be useful to you.

Gotcha: XML include processing in CruiseControl.NET

Release 1.4 of CruiseControl.NET includes a new Configuration Preprocessor. The great thing is that this provides a C preprocessor-like macro syntax, so projects can be made using relatively powerful templates.
The bad thing is that it’s new, and so there are some gotcha’s laying around. I just found one:
I defined a ccnet.config file structured like this:


[wiki | reviews:byname:guiffy_suremerge:20060706]

Table of Contents

Review of Guiffy SureMerge

Editorial Notes
Product Explanation
Two-way Comparison
Three-way Comparison
Directory Compare

Jiff command-line utility
SureMerge command-line utility
HTML comparison reports
International Character Encodings
Java API

Ease of Use

Review of Guiffy SureMerge

Editorial Notes

Date: March 2006
Product: Guiffy SureMerge 7.2 “Dogwood”
Vendor: Guiffy Software (
Reviewer: Austin Hastings

Bill Ritcher, coder and CEO of Guiffy, is aware of the review. He became aware [...]

[wiki | tools:byname:guiffy_suremerge]

Guiffy SureMerge

SureMerge is a Java-based tool for both compare and merge operations. The tool is the primary focus of Guiffy Software. Austin Hastings wrote a review of the tool for the CM Crossroads web site. That review is available here, as well.

[wiki | tools:compare]

Compare (diff) Tools

diff is of course the archetype of this class of tools. There are various implementations of the Unix command line diff utility, but the GNU diffutils package is considered representative of all of these. The tools are:

Beyond Compare


Guiffy SureMerge