Frequently asked questions for the littleutils:

[01]  Where did the littleutils come from?

[02]  Where did the name "littleutils" come from?

[03]  But wait... aren't some of utilities redundant with the "stat" command
      found in coreutils?

[04]  And isn't the filehash utility redundant with the "cksum" command also
      found in coreutils?


The answers for the littleutils FAQ:

[01]  Where did the littleutils come from?

	The littleutils are a collection of little programs that I wrote over
	the years to "scratch an itch".  For example, many years ago I
	discovered that the digital camera I was using at work saved JPEG
	images very inefficiently.  With the "jpegtran" utility, I could
	losslessly make the image files *much* smaller.  However, it look a lot
	of typing, and I could only do one image at a time.  Thus, the
	"opt-jpg" script was born.  This let me optimize a bunch of files at
	once by typing "opt-jpg *.jpg".  And to get the "opt-jpg" script to
	work, I had to write the "filesize" utility.

	Some of the other "itches I scratched" include optimizing PNG and GIF
	image files, removing trailing whitespace from source code, finding
	duplicate files in a directory tree, optimizing tarballs, etc.

[02]  Where did the name "littleutils" come from?

	Well, on the very first release (way back in 2004), the package was
	actually called "miscutils".  A quick Google search a few days later
	revealed this to be a poor name choice, as there were *several* other
	packages out there called miscutils, most notably those associated with
	Java, Python, Ruby, and some of the BSD Unix variants.

	For subsequent releases, the package was renamed "littleutils", as a
	Google search revealed that this alternate name was essentially unused.

	And in a couple of aspects, "littleutils" is a better name than
	"miscutils" anyway.  Most of the utilities are quite small, and many of
	them are dedicated to making data files (such as image files and
	tarballs) smaller.  I actually considered "smallutils" at one point,
	but alas, it's already in use out there...  and "littleutils" rolls off
	the tongue more easily anyway.

[03]  But wait... Aren't some of the littleutils redundant with the "stat"
      command found in coreutils?

	Yes and no.  The "stat" command (an excellent little utility written by
	Michael Meskes) can be used to emulate the functionality of the
	"filedate", "filemode", "filenode", "fileown", and "filesize"
	utilities.  However, when I was first writing these utilities (circa
	2002), the coreutils package hadn't been released yet.

	However, even upon discovering the "stat" command, I've kept my own
	versions around for two reasons:  [1] They're a little easier to use;
	and [2] they can handle an arbitrary number of files.  Getting "stat"
	output into script-worthy format generally requires a manpage lookup,
	and the number of files that can be processed by "stat" is limited by
	the command-line length limit.  The "-f" and "-p" options of the
	littleutil versions allow an unlimited number of files to be processed
	without assistance from "xargs".

	Additionally, the "randomize" command (released in 2004) is redundant
	with coreutil's "shuf" and "sort -R" (new program and new option both
	released in 2006), and the "lrealpath" command (released in 2004) is
	highly similar to coreutil's "realpath" command (released in 2012).

[04]  And isn't the "filehash' utility redundant with the "cksum" command also
      found in coreutils?

	Again, yes and no.  The "cksum" command (written by Q. Frank Xia and
	David MacKenzie) can replicate all of the functionality of "filehash",
	though pipes with "dd" are required to achieve the equivalent of the
	"-n" and "-o" options and "xargs" must be used to process an unlimited
	number of files (like the "-f" and "-p" options can do).

	The "filehash" utility was rewritten in Python for littleutils-1.4.0.
	It runs at about two-thirds the speed of the C-based "cksum" (or prior
	C-based "filehash") but will be easier to maintain going forward.
