Aquileo | Recent posts to newshttps://sourceforge.net/p/littleutils/news/2026-02-18T01:29:28.943000ZRecent posts to newsAquileo | littleutils-1.4.0 released2026-02-18T01:29:28.943000Z2026-02-18T01:29:28.943000ZBrian Lindholmhttps://sourceforge.net/u/brian_lindholm/https://sourceforge.netb76737550831c198ff87aff5380a59fdb76f7e85<div class="markdown_content"><p>The filehash, notabs, notrail, opt-gif, opt-jpg, opt-pdf, opt-png, rot-jpg, and recomp-jpg utilities were all rewritten in Python. These utilities now use fewer temp files and (most) offer multi-threaded operation, making all (except filehash) much faster.</p> <p>The original bash- and C-based repeats utility was deleted. Now repeats is a symlink to repeats.py.</p> <p>A Python-based preplace now accompanies lreplace. It is faster and uses straight string replacements instead of regular expressions.</p> <p>API CHANGE!! The fileown utility now prints "uid:gid" instead of "uid.gid", as expected by more recent versions of chown.</p> <p>The imagsize utility has been updated to read all possible JPEG SOFx markers, enabling it to work with a broader range of JPEG images, including those that are arithmetic-encoded.</p> <p>In recognition of these extensive changes, littleutils is being promoted to version 1.4.0. New and changed options for utilities include the following:</p> <p>filedate: Gained the -U(TC_time) option.<br/> filehash: Gained the -T(hreads) option.<br/> notabs: Gained the -f(ilelist) and -p(ipe) options.<br/> notrail: Gained the -a(ll_whitespace), -f(ilelist), and -p(ipe) options.<br/> opt-gif: Gained the -f(ilelist), -p(ipe), and -T(hreads) options.<br/> opt-jpg: Gained the -f(ilelist), -p(ipe), -r(otate), -M(ax_quality), and -T(hreads) options.<br/> opt-pdf: Gained the -f(ilelist), -p(ipe), and -T(hreads) options. API CHANGE!! The previous -f(orce) option was changed to -F(orce).<br/> opt-png: Gained the -f(ilelist), -p(ipe), and -T(hreads) options. Now tries optipng in addition to pngcrush.<br/> recomp-jpg: Gained the -f(ilelist), -p(ipe), and -T(hreads) options. Now runs opt-jpg in the background.<br/> rot-jpg: Gained the -f(ilelist), -p(ipe), and -T(hreads) options. Now runs opt-jpg in the background.</p></div>Aquileo | littleutils-1.2.8 released2025-10-18T14:11:50.662000Z2025-10-18T14:11:50.662000ZBrian Lindholmhttps://sourceforge.net/u/brian_lindholm/https://sourceforge.netfb89f5dbcc65705b9fb88b5fb34802652c02abda<div class="markdown_content"><p>New littleutil pdfbw4, which is used to reduce the size of images embedded in PDF documents by converting them to black-and-white (not grayscale). Like pdfquant, it is targeted at PDF files created by scanning software. For strictly black-and-white PDFs, it does a better job.</p> <p>The pren, uppercase, and lowercase utilities now have a -g option that will use the git command to rename files instead of perl's internal rename function. It is useful for doing large-scale renames in git repositories.</p> <p>BUG FIX! A long-standing error in repeats.py that caused options -7 and -8 to use different b2sum tree depths rather than different digest sizes was fixed. This resulted in greater memory consumption when -7 was used.</p> <p>The repeats.pl and repeats.py utilities were tweaked significantly to improve speed, particularly when scanning a large number of small files.</p></div>Aquileo | littleutils-1.2.7 released2024-12-15T15:10:23.725000Z2024-12-15T15:10:23.725000ZBrian Lindholmhttps://sourceforge.net/u/brian_lindholm/https://sourceforge.netf10dc5dc20e522cde7f6601ed7972a652081e975<div class="markdown_content"><p>The imagsize utility now handles WEBP image files.</p> <p>Changed the default "fuzz distance" in pdfidiff from 1 to 15.</p> <p>API CHANGE!! All three duplicate file finders (repeats, repeats.pl, and repeats.py) will now use the -i option in place of the -m option. The functionality is exactly the same, with only the name of the option having been changed.</p> <p>Added the -m option to repeats.pl and repeats.py to limit the search for duplicates to files of a minimum size. This is intended to be used for "quick-and-dirty" searches for large duplicates that can be deleted (or replaced with links) to quickly save storage space.</p> <p>When reporting statistics, repeats.pl and repeats.py now report the total size of extra copies along with the total size of all files that have duplicates. This better indicates the total amount of space that could be saved by replacing duplicates with links.</p> <p>FOLLOW-UP: There was an issue with the littleutils_1.2.7-1.debian.tar.gz that caused the littleutils-base package to incorrectly call for the non-existent "python" package instead of "python3". This has been fixed in littleutils_1.2.7-2.debian.tar.gz, and the newly posted packages should now install properly.</p></div>Aquileo | littleutils-1.2.6 released2023-06-25T20:29:46.575000Z2023-06-25T20:29:46.575000ZBrian Lindholmhttps://sourceforge.net/u/brian_lindholm/https://sourceforge.netc03b944cc5e80a7ad50d2967761b8ffb7d69658d<div class="markdown_content"><p>API CHANGE!! The to-bzip utility has been renamed to-bzip2 to better differentiate from the new to-bzip3.</p> <p>Added to-bzip3. Additionally, the to-7zip, to-lzip, to-lzma, to-xz, and to-zst utilities will now all convert .bz3 files.</p> <p>The filehash utility now uses unlocked I/O for most algorithms, which can be faster in certain circumstances. It also prints hash results in base64 if the -B option is used and in BSD-style format if the -C option is used.</p> <p>The recomp-jpg utility now recompresses grayscale JPEG images as grayscale. There is also a new -d option to select between 'float', 'int', and 'fast' DCT methods</p> <p>The repeats utility now reads 16384 bytes per file in stage 2 instead of 65536. This reduces the I/O and CPU time for most data sets. Also, repeats.pl has been updated to silently skip unreadable files and directories instead of aborting, and a new repeat.py utility that functions similarly to repeats.pl has been added</p> <hr/> <p>The littleutils-1.2.6a release fixes a single typo in the m4/lib-prefix.m4 file that caused a spurious error message when running ./configure. The resulting build is the same as before, but 1.2.6a provides a cleaner build.</p></div>Aquileo | littleutils-1.2.5 released2021-10-29T22:16:30.640000Z2021-10-29T22:16:30.640000ZBrian Lindholmhttps://sourceforge.net/u/brian_lindholm/https://sourceforge.net40d7840cd45d21820c5e4b111d2e07aeeb5b9e46<div class="markdown_content"><p>Upgrade build system from autoconf-2.69 to 2.71.</p> <p>New littleutil pdfquant, which is used to reduce the size of the colormap used by images embedded in PDF documents. It is targeted at PDF files created by scanning software.</p> <p>The filesize utility will now totalize the sum of all file sizes if the -t option is used.</p> <p>The tempname utility will now add 8 random characters to the filename prefix instead of 6.</p> <p>The randomize and tempname utilities now use CLOCK_MONOTONIC time as a fallback for /dev/urandom.</p> <p>The filehash utility will now print hash results in base64 instead of hex if the -b option is used.</p></div>Aquileo | littleutils-1.2.4 released2021-03-28T16:18:45.125000Z2021-03-28T16:18:45.125000ZBrian Lindholmhttps://sourceforge.net/u/brian_lindholm/https://sourceforge.netba0562e1f306bc840b0ca87710db81302287ac74<div class="markdown_content"><p>Major update of scripts to use modern bash(1) techniques. Functionality is unchanged.</p> <p>Fixed memory reporting in lsysinfo under Cygwin.</p></div>Aquileo | littleutils-1.2.3 released2020-11-27T16:54:02.566000Z2020-11-27T16:54:02.566000ZBrian Lindholmhttps://sourceforge.net/u/brian_lindholm/https://sourceforge.netdd6fcf7e949781ebfbecc349eca1a881ebb6425b<div class="markdown_content"><p>Added repeats.pl, which is perl-based utility that functions very similarly to repeats. This was previously called repeats_clone.pl in the source code but was never installed.</p> <p>Massively cleaned up manpages, with a particular emphasis on better layout in wider terminal windows.</p></div>Aquileo | littleutils-1.2.2 released2020-09-26T17:45:52.443000Z2020-09-26T17:45:52.443000ZBrian Lindholmhttps://sourceforge.net/u/brian_lindholm/https://sourceforge.net58b219bf032c747073fee100075ba607f8db3b02<div class="markdown_content"><p>Portability fixes for recent releases of img2pdf and ghostscript.</p></div>Aquileo | littleutils-1.2.1 released2020-07-25T21:53:17.790000Z2020-07-25T21:53:17.790000ZBrian Lindholmhttps://sourceforge.net/u/brian_lindholm/https://sourceforge.net49149a583fc9cb8cacc6a378693cf238d07fb50e<div class="markdown_content"><p>The pdfidiff utility now uses poppler (via pdftocairo) as the default PDF rendering engine. The -g option may be used to select the previous ghostscript (gs) engine.</p> <p>The opt-pdf utility now tries both poppler and ghostscript to minimize the size of a PDF file.</p> <p>The repeats utility now reads 65536 bytes per file in stage 2 instead of only 4096. This greatly reduces the number of files evaluated in stage 3 and saves time for most data sets.</p></div>Aquileo | littleutils-1.2.0 released2020-03-22T16:39:51.978000Z2020-03-22T16:39:51.978000ZBrian Lindholmhttps://sourceforge.net/u/brian_lindholm/https://sourceforge.neta4b089fa5cec091fc26044445d72cf0b7b847943<div class="markdown_content"><p>The build intrastructure now supports out-of-tree builds. In celebration of this new feature, littleutils is being promoted to version 1.2.0.</p> <p>Added -x and -X options to uppercase and lowercase to support extension-only file renames.</p> <p>Added new littleutil to-zst, to recompress files using Zstd. Additionally, to-lzip, to-lzma, and to-xz have been updated to convert .zst files to their respective target file formats.</p> <p>Added -7 and -8 options to filehash to support BLAKE2B 256-bit and 512-bit hashes. The repeats utility now uses BLAKE2B-512 as the default to reduce the risk of false positives and to speed things up (by a factor of 3 in some cases, but normally less) relative to the previous default of SHA256.</p></div>