Software Samples and Downloads

All software listed below is available free of charge, and may be distributed freely. The software is provided as-is, with no warranty, implied or otherwise.

PHP Utilities:

ReportList (Zip archive, Latest version: 2007-06-08)
ReportList (Zip archive, 2007-01-05)
ReportList (Zip archive, 2004-04-30)

This class is designed to output lists or reports of data, typically directly from database query results, but also quite useful for quickly formatting generic array results for display. Features include record linking (i.e. the link for each row in the resulting list depends on the values of data within that row - useful in drill-down style reporting systems), record pagination, column sorting, customizable list colors and styles, row highlighting, and downloading to delimited text files and XML.
 
Read a tutorial suite of examples using the ReportList class here.

SqlCommand (Zip archive, Latest version: 2005-12-07)
SqlCommand (Zip archive, 2004-04-01)

The SqlCommand class improves the functionality and simplicity of calling stored procedures in a Microsoft SQL Server database via PHP (using the PEAR database connectivity library). The Zip file contains the class itself, as well as full documentation and example usage. Click here to view the readme file.
 
Read an article about this class on SitePoint or locally here.

C# Utilities:

Use XML Query Definitions in .NET Applications (C# Class)

The methodology behind using XML query definitions to build OleDbCommand and SqlCommand objects in your .NET applications, on-the-fly at runtime. This allows you to decouple more of your database code from your middle-tier logic than even stored procedure usage alone will allow for.
 
Read an article about this on SitePoint or locally here.

JavaScript Utilities:

JavaScript Encoding

An example of a simple JavaScript encoding of an html page. When the page loads you are prompted for a password. Enter the correct password and the page displays properly - enter the wrong password and you see only an "Invalid password" message. Viewing the source of the page shows only the encoded content. This example is just a basic demonstration of the technique - the real power would come from dynamically producing such encoded pages (using PHP, for example) where you could randomly re-encode the output, or vary the encoding formulas. Including a JavaScript md5 library to hash the password would probably also help.
 
Click here to view an example of an encoded page (when prompted, the correct password is "Calico".)