Programming

Chronos

A Task Reporting system

I was sitting at my desk at work a week or two ago wondering where another day had just disappeared to. Then the idea struck me: “Why don’t you find out?” and thus Chronos was born.

Chronos is a system of two parts. The first part is a C# application which takes a snapshot of the titles of all the windows you have open once a minute and adds them to a database.

The second part is an ASP.NET web interface (also written in C#) that allows you to assign each of these windows to a specific task. The system can then provide summaries on what tasks you spent what amount of time on!

Here is a quick run down on what needs to be done to get it installed:

  1. Install IIS
  2. Install the MSDE or SQL Server database (used mixed mode authentication, don’t just use the windows authentication)
  3. Get and install the .NET 2 framework
  4. Configure IIS to use .NET 2.0 instead of 1.1, you may also need to add default.aspx to the list of default documents.
  5. Copy the contents of the .zip file into your inetpub/wwwroot directory
  6. Create a config file & database by running config_generator. Save the file to the same directory
  7. Edit the create_task.bat file to reflect your installed path then run it.
  8. Alter the new scheduled task to only run when logged in
  9. The system should now be collecting data, if the scheduled task fails, ensure the configuration file is in the same directory as the snapshot_generator executable.
  10. Go nuts!!

I must stress that the code available for download here is only a proof-of-concept that I whipped up over the course of a couple of days. I am hoping to improve it so it can be released as a semi-professional open-source product boasting:

  • An installer;
  • Multi-user support;
  • Data export options and
  • An extensive array of reports to run.

Download the source code for Chronos

Mini-CMS

A lightweight CMS

Mini-CMS is a content management system based on the brilliant TinyMCE rich-text edior. The system works completely independantly of a database, perfect for those small sites with budget hosting.

A demo is available on the website.

PKSMailer

A Secure MIME PHP emailing classPKSMailer is a secure mailing API for PHP based on PHPMailer using the PHP OpenSSL functions.

The alterations were mainly for my own use and I never really intended to release it, so don’t expect to find any documentation of the changes. I didn’t really want to see it disappear, so I’ve decided to put it up in its current state. There is example usage in the “secure example.php” file; the rest of the documentation refers purely to the excellent PHPMailer class it was built from.

Download the Class.