see copyright notice. Page created 27-Jun-2024. Use the button groups above to navigate quickly around the site.
I've written a number of utilities (that's an old-fashioned word for "apps") to help with the management of files on a Microsoft Windows™ system. Whilst these are one-offs for my use only, I thought I'd write a page to document them for posterity. Someone, somewhere might find my ideas useful!
My go-to [sorry!] programming tool for these and other PC projects is Richard Russell's BBC Basic for Windows. It includes an 80x86 assembler, easy access to the Windows™ API, and a comprehensive library of functions to build menus, dialogue boxes etc.; moreover, it can create standalone (.exe) files which are compact and quick to activate. Thoroughly recommended!
Every serious computer geek needs a way to view the "raw" contents of a file, as a sequence of byte values and/or text characters. Because most files (like the 80x86 processors themselves) use a "little-endian" format for multi-byte values, I designed my Dump window to show each row of 16 bytes "backwards" in hex, and and "forwards" as ASCII characters. That way word and longword values can be read easily from the hex pane.
Dump navigates directly through the file contents without caching them in memory, so it starts up instantly and uses very few resources.
Files are opened via the File menu, or by drag-and-drop to a desktop icon. The first version relied on the Up, Dn, Pg Up and Pg Dn keys to scroll, but that was tedious with large files so I added a scroll bar. One day I'll get round to providing a search facility!
I get depressed when I see so much file activity on an apparently dormant PC, especially when it's connected to the internet. Call me old-fashioned, but I was happier in the days when disk drives were idling most of the time, only springing into life when a user started doing something. Apart from a few well-documented log or journal files, when you logged in to a system in the morning you could expect to see the same disk contents as when you logged out the previous day!
Software updates were special and infrequent events, always instigated by the owner, or manager, of the computer. This was the case largely because each update of a package was thoroughly tested and debugged before being released; nowadays I get the impression that some vendors fling out their flaky efforts every few days, perhaps in an attempt to maintain a higher version number than their competitors'!
Unsurprisingly then, I routinely disable automatic updates on my computers, and leave them offline for most of the time. That's kept their file systems fairly stable, and made this utility, CFC (Check for Changes) a useful tool to alert me to any unusual goings-on.
CFC maintains a reference list of all the files on a drive, along with their sizes, and creation and modification times. When executed, it scans the drive, pausing for intervention if any attribute has changed, or a new file is found. The progress bar, normally green, becomes yellow or red in these cases, and the Next buttons can be used to step through individual files (and folders (directories)) on disk or in the reference list, until the next unchanged file is reached. The ..< buttons provide a quick exit to the parent folder if a whole raft of changed files is encountered. CFC runs in "administrator" mode, but may still be denied access to some files; it lists these in a file named denied.log. Another file, exempt.dat, provides CFC with a list of files that are expected to change frequently (wildcards are permitted) and should be omitted from the scan.
This utility has proved invaluable in alerting me to unexpected events, and occasionally finding "lost" files, which I've accidentally moved or saved to the wrong folder. I always run it and keep a copy of the reference file before any major upgrade or installation; it's interesting to compare the degrees of file system chaos caused by various suppliers!
Once again, I've painstakingly re-invented from scratch a wheel that's already available off the shelf! ALOG lists the contents of a web server's access.log.* file, grouping the entries under each successive referrer and user-agent (in blue and green respectively). If the accessed root is a subdomain other than "www" then it is also listed. Any access returning a status other than 200 or 304 is highlighted in red.
Optionally (as pictured) ALOG can filter the host address, and/or include or exclude selected robots (crawlers). A File menu includes options to open the Next or Previous log file.
All the content pages on this website started life as templates created by my NavBld utility. It's driven by a text file that defines a hierarchical "tree" like the fragment shown here. Successive lines at each tab level contain an index digit, a single-word subdirectory name, and a description. When given an index sequence (e.g. 324) NavBld will create a template page in the appropriate folder (e.g. gallery/ animals/ btrflies/ index.html) pre-loaded with its full HTML header, site logo, all the top and bottom navigation stuff, main title and copyright/history note. If such a page already exists, NavBld retains its content but rewrites the menus etc. - this makes it easy to add or rearrange items in the tree without having to manually edit any of the files at that level.