Software
Newer GPLed Software
Submitted by dmuth on Mon, 2007-03-12 23:39. SoftwareThis page holds some of the newer GPL software which I have written.
- Drupal Backup
- This is a standalone PHP script which, when run from the command line, will back up an entire installation of Drupal. It runs mysqldump on the database to a file in DOCUMENT_ROOT, then backs up the entire website, including the database dump.
For security reasons, both the database backup and main backup have a random number appended to them, to keep an attacker from successfully guessing the filename of a backup.
My Drupal Modules
Submitted by dmuth on Sat, 2006-02-11 17:03. Drupal | SoftwareThis page contains any Drupal modules that I have written.
- Sanity module - This module is used to check some basic settings in your Drupal installation such as crontab frequency, number of nodes indexed per crontab, and node size, and will warn you if there is anything that may cause performance issues. (It can also be found on the Drupal website at http://drupal.org/project/sanity)
This is still a module in early phases of development, and suggestions are welcome!
Older GPLed Software
Submitted by dmuth on Mon, 2006-01-16 22:37. SoftwareThis page holds some older software that I have written. It dates back as far as 2000, so please don't judge my coding style and skill level based on this code, because such a judgement would be many years out of date. 
The software can be found below. Feel free to contact me if you have any questions about it.
- PHP DB Driver
- This is an Object-Oriented library which wraps calls to the PHP database drivers. It provides for a greater level of abstraction in an environment where the database platform itself may change.
My Drupal Patches
Submitted by dmuth on Mon, 2006-01-16 22:31. Drupal | SoftwareI'm a big fan of Drupal. Every one in a awhile, however, I'll come across a bug in one of its modules. Since I know PHP, I've found that it's usually quicker for me to find and fix the problem, and submit the patch to the author, rather than just wait for the problem to be fixed. Plus, it takes some of the workload off of the author.
Here are the patches I have written:
- Acidfree 4.6.0:
Woodchuck
Submitted by dmuth on Sat, 2006-01-07 21:32. SoftwareThis utility parses logfiles from any UNIX system, and prints out any lines which don't fit into user-defined regular expressions. That way, anything out of the ordinary will be printed. Great for discovering unusual activity on a system.
The recommended way of using this program is running it from cron on a daily basis and e-mailing the output to the system admin who can then look at the unusual entries in more detail. The crontab might look like:
30 4 * * * /usr/local/bin/woodchuck |mail -s "Unusual logfile entries" root@host
This is written in Perl.
Virtusergen
Submitted by dmuth on Sat, 2006-01-07 21:29. SoftwareThis utility overcomes some limitations in Sendmail, namely in that it's not possible to directly forward addresses in virtual domains directly to multiple users or programs. Sure, one can forward to a local alias, but having to create the local alias is time consuming and prone to error. What's worse is if you have a program with the same name in a different directory, then you have to come up with unique names for the symlinks and change your alias definitions accordingly.
Aaahh!
So, I wrote virtusergen. It allows you to keep addresses for virtual domains in seperate files and to have addresses that forward directly to multiple users or programs. That stuff I mentioned above about local symlinks and programs is taken care of by this program, leaving your time free to get back to more important things.
Scurry
Submitted by dmuth on Sat, 2006-01-07 21:26. SoftwareA program to automate FTP connections, as well as Secure Copy connections with Secure Shell versions 1 and 2. It features an "address book", which can be used to assisgn abstract identifers to sites, and can be used to copy files from a webtree on a developmental machine to a live machine. That's how I used manage this website (before installing Drupal, for example.
PHP Postgres Driver
Submitted by dmuth on Sat, 2006-01-07 21:24. SoftwareAn Object-Oriented abstraction library for talking to a Postgres database from PHP. It supports such feature as storing credentials for the database in internal structures, so that you only need to specify an abstract "identifier", as well as methods for catching errors and passing them back to the caller, as opposed to printing them on the screen.
This is written in PHP and is API compcatable with PHP MySQL Driver, also written by me.
PHP MySQL Driver
Submitted by dmuth on Sat, 2006-01-07 21:20. SoftwareAn Object-Oriented abstraction library for talking to a MySQL database from PHP. It supports such feature as storing credentials for the database in internal structures, so that you only need to specify an abstract "identifier", as well as methods for catching errors and passing them back to the caller, as opposed to printing them on the screen.
This is written in PHP
and is API compatable with PHP Postgres Driver, also written by me.
PHP DB Driver
Submitted by dmuth on Sat, 2006-01-07 21:17. SoftwareThis is an Object-Oriented abstraction library for the other PHP database drivers that I have written, which include PHP MySQL Driver and PHP Postgres Driver. The purpose for this library is to wrap calls to the other two libraries. That way, an application can be built with calls to this library, and if at some point, the underlying database is switched to a new platform, the only thing that needs to be changed is a single line of code in this library.
This is written in PHP and requires either PHP MySQL Driver or PHP Postgres Driver in order to actually be able to connect to a database.