John DiMarco's Software


UNIX shell scripting is a surprisingly useful way to write simple CGI applications for the web. Because UNIX was designed well before the web, the usual set of of UNIX utilities does not include any tools for functionality specific to CGIs. Something that is badly needed by any non-trivial CGI shell script is a tool to parse and unpack URL-encoded data. So I wrote one, available from my GitHub page:
The HTTP protocol defines some simple and standard ways of authenticating users who use web pages: HTTP Basic Authentication and HTTP Digest Authentication. These are implemented in every web browser, and are useful over HTTPS. But there is no standard mechanism to "log out", other than shutting down and restarting the browser. I wrote an extension to the Firefox web browser, httplogout, that adds the ability to log out from all such sessions.

Sadly, in 2018 Mozilla dropped support for the XUL API that I was using, and provided no alternate API for the functionality my extension needed, and so my extension stopped working in mainstream Firefox as of Firefox 57. But my extension is still useful for people running forks of Firefox that support XUL.


In the 1990s and 2000s, I wrote some open-source software, mostly system utilities. Most of this I have not modified in years, but some of it may still be of use.
In the 1990s, I significantly modified a couple of open-source packages that others originally wrote. My version of these are as follows:
Valid HTML 4.01 Transitional