WHO GNU? In his commentary on OFFLFIRSOCH, Solderpunk noted how some happy users of common GNU software were surprised by the existance of GNU Units as an alternative to using web-based unit converters. My own Gopher Banker currency converter reads Units currency data and uses it to do conversions, so I was pretty well aware of it already. But GNU Recutils was also referenced and I'd only recently discovered that via the phlog of the corresponding OFFLFIRSOCH submission's author. I've now earmarked Recutils as a solution for a variety of problems. None of which, frankly, I can really be bothered putting the work into solving, but it's nice to have the option. Anyway I thought I'd pick out some GNU projects that I think are a little under-appreciated and highlight them here for the UNIX nerds in the audience (or perhaps they _are_ the audience here on Gopher). Some might be more 'interesting' than genuinely useful to many people, but that's half the fun. MTOOLS http://www.gnu.org/software/mtools/ I discovered GNU Mtools while debugging a fault with installing the Syslinux bootloader, which turned out to be due to an installation issue with a separate library. I've forgotten exactly what Syslinux needs to do with Mtools when it's copying boot files to a directory, but I rediscovered the necessity for it yesterday when I determined that my failure to reenact this installation method when replacing the OS files on my Internet Client test SD card that I wiped out with Rsync (as I whined about in my last post) was the reason why it wouldn't boot even with the file list exactly as it was before my disaster. This is one of those lessons that I'm learning _very_ slowly, one disaster at a time. GNU Mtools itself is a fun little alternative universe for interacting with FAT filesystems in UNIX. It basically lets you access them like on MSDOS, without all those fancy things like mounting and unmounting, or unalphabetical partition names. If you know your basic MSDOS file systems commands, you just wack an "m" on the front and there you've got them on your *NIX as well. mcd, mdir, mcopy, mmove, mdel, even mformat (careful!). It's great fun to play with, and a little mind bending to be using a file system in Linux without mounting it. Like MSDOS, the tools are also centred around usage on floppy disks, so you get lots of old floppy formatting options, and most remarkably a remote floppy disk access system, floppyd. From the Mtools manual: Floppyd is used as a server to grant access to the floppy drive to clients running on a remote machine, just as an X server grants access to the display to remote clients. It has the following syntax: floppyd [-d] [-l] [-s port] [-r user] [-b ipaddr] [-x display] devicenames floppyd is always associated with an X server. It runs on the same machine as its X server, and listens on port 5703 and above. No doubt Mtools was more familiar to people in the 90s, and maybe well used by older UNIXers than me back in the day. It's interesting though to see that it's still important for configuring bootloaders (at least non-UEFI), and still being worked on with the latest release just last year. ENSCRIPT http://www.gnu.org/software/enscript/ GNU Enscript is most useful to me for converting plain text into Postscript in order to preserve formatting when sharing fixed-width text content such as data in tables or ASCII-art diagrams with people who don't understand fixed/variable width fonts. Of course such people usually need the Postscript converted into PDF as a second step afterwards so that they know what to do with it. It also supports output in HTML and RTF formats. Again its history goes back to the 1990s when Adobe apparantly had an Enscript program to do such bidding, and this was written as an open-source alternative. A rather impressive additional feature of the GNU version is systax highlighting for source code, or "language sensitive code highlighting" as the documentation calls it. This is actually handled by an included companion program called 'states'. Although named as if someone was trying to hide some backdoor code out of sight, states is quite a neat syntax highlighting system that reads language definitions from text files that can be updated independently of the Enscript program. It comes with a pretty good range of supported languages, although naturally a little dated since the last release of GNU Enscript was in 2012. I use its HTML syntax highlighting for the HTML modes of GophHub, my Gopher interface to GitHub: gopher://tilde.club/7/~freet/gophhub/?html=1 There are some limitations, often with detecting the language via filename extension (it only identifies Makefiles if they start with "makefile.", for example), but it works quite well. I also saw someone in Gopherspace is working on the development code, but unfortunately I forget where their Gopher hole is burried. MAILUTILS https://www.mailutils.org/ GNU Mailutils contains a wonderful selection of tools for managing email, server side or client side, including converting between standard storage formats, serving and fetching mail via the usual internet protocols, and even reading email via its beautifully antiquated email client 'mail'. Typical of other GNU *utils projects such as Inetutils and Coreutils, it takes a Swiss Army Knife approach and seems to try and have a tool for everything you could want to do with Email. The omission here, so obvious that it seems like it must be deliberate, is that although there are servers for IMAP and POP, there's no SMTP server. It does have its own equivalent to the 'sendmail' command for sending mail to an SMTP server, called 'putmail', but it looks like the authors wanted to avoid the minefield that is SMTP server software, and who could blame them? In general Mailutils seems well suited to small-scale personal mail usage, including personal mail servers. Such as an IMAP server running on a home network, using the 'movemail' command to fetch messages from a 'real' mail server on the big scary internet via POP or IMAP (movemail allows IMAP to be used much the same as POP for this purpose, grabbing only new messages and optionally deleting them from the server afterwards). But the individual tools could also be very handy for small tasks anywhere that you're dealing with email in a standard format. It does often take a bit of work to decipher exactly what a tool can and can't do from the documentation though. Mailutils is maintained by Sergey Poznyakoff who appears to have been active in its development for over twenty years, and it still gets regular releases. GV http://www.gnu.org/software/gv/ GNU GV is a Postscript/PDF viewer. I use it as my primary viewer for both, but of course that means mainly with PDFs. In fact the rendering is all done by Ghostscript (which can actually display PS/PDF files in an X window itself, though far less conveniently), which is useful because the last release was in 2013 so that avoids the compatibility problems that crop up with other unmaintained PDF viewers attempting to upen modern PDFs. GV has a nice simple interface, which includes a handy little area for selecting pages to print. For my Internet Client system it also has the great advantage of sending each page as a complete image to the X server, so when accessing it via a networked X connection from one of my old PCs I can drag the page view around without the lag of having the new page view constantly updating over the network like it does in other PDF viewers. The disadvantages of GV are also quite significant though, mainly that it doesn't allow text to be selected or searched. It also makes no attempt at displaying indexes or internal links. These are the downsides of relying on Ghostscript, which is designed mainly for output to printers rather than an interactive display. It also seems to get rather confused by the orientation of pages sometimes, and it's not unusal to get half a page shown on its side in the page view (this is sometimes fixable by manually setting the orientation in a drow-down menu at the top of the window). One thing you do get (at least on PCs as slow as mine) is the fun of watching Ghostscript build big PDFs up while you watch, drawing lines and text all over the place before finally revealing the bitmap images that go in betweeen. PDFs of complex maps are especially entertaining, although also very slow. This might be different in the new Ghostscript versions where the PDF rendering code is no longer itself written in Postscript, I haven't tried them yet. Turning off anti-aliasing may also be necessary to get the rendering speed up to something reasonable, and perhaps to make the result less blurry (its effectiveness seems to vary, I usually leave it off). I probably haven't really sold GV to you, but it has its niche, and I often find myself in that niche there with it (oh how cosy!). POKE http://www.jemarch.net/poke In stark contrast to the other GNU projects that I've mentioned, this is actually a new one (relatively, first released in 2021)! GNU Poke is a program and programming language designed for reverse-engineering and manipulating structured binary data. Not something most people find a particular necessity for, including myself, but an interesting and somehow vaguely magical endeavour. As I say, I don't really have much use for it, so I haven't actually tried it myself. But I did watch the video that's on the project's homepage, as well as read through some of the similar content in the manual, and on an academic level I find it quite interesting. Somewhat like GNU Recutils that I mentioned at the start, it's potentially a good tool for doing various things that I can't be bothered to do either way. CONCLUSION Of course I'm not stuck to GNU software particularly, lots of non-GNU software is just as interesting to me if not more so, and as much as I appreciate the FSF's philosophy I don't get myself too wound up on the nitty gritty details of 'freedom' that it pursues. The GNU project is just one software collection which has the very serious advantage of both indexing and hosting its projects online. Take away one of those two features and it becomes a reason why so much other open-source software gets lost to time. - The Free Thinker