Software
Weirdly: adv. In a strikingly odd or unusual manner
C/C++ PHP Java BASIC Games Tools Web Odds and Ends

PHP is a powerful scripting language that feels like a cross between C and HTML. It is very useful for creating dynamic web pages, server scripts, or stand-alone shell scripts. The web page you are viewing right now makes extensive use of PHP, and over time I have written several different tools that apply it to various purposes. Here is a list of some of the nicer ones that I've made.

MailMasher
View Code

This is a tool I wrote to help end users remove large e-mails that are waiting for them on the server. A very common problem with e-mail on a dial-up connection occurs when trying to download a large message. It takes so long to download the message that the mail client gives up, thinking that it's not getting any response from the server. This happens all the time with Microsoft's "Outlook Express" and leads to many calls for an ISP's technical support desk.

Although it was previously in use by an ISP for which I performed the gruesome task of technical support, it would appear that they no longer wanted it after I left. So if you would like to see a working version of it, there's currently a copy running at http://very.weirdly.net/mailmasher.php.

Alarm Clock
View Code

A simple script I wrote that searches my computer for music, then plays songs or albums at random. When starting, it slowly tapers the speaker volume from zero up to a pre-selected level. I wrote this so that I could use it as an alarm clock in the morning. It's very nice to have an alarm clock that doesn't startle you awake with sudden noise, doesn't play advertisements, and can play your own selection of music.

Fetchcomics
View Code

There are quite a few daily comics that I enjoy reading, and most of them are available for free via the internet. Unfortunately, in order to view them, I am forced to plough through a large number of advertisements on a separate web page for each one.

This script is one that I wrote which downloads the comics that I want to read, copying them directly on to my computer. This allows me to view them all on the same page, and without any unwanted solicitations.

Sportlog

Being both an avid cyclist and a bit of a geek, I like to collect statistics on the trips I take on my bicycle. At first I built a simple database to keep track of my numbers, but it's a bit of a pain to manually enter them using MySQL. To make it simpler I decided to write a series of web forms and scripts that could be used to enter the data. This snowballed into a multi-user data tracking system, and a library that can be easily modified to handle a variety of multi-user systems. This involves too many different files to be viewed directly through this web page, but if you would like to see the scripts, they are available through the link above.

If you want to take a look at the page, it can be viewed at http://sportlog.weirdly.net. please note that it is a side project that is slowly being developed, so it is not yet complete. I did just recently add a signup "wizard", so if you want to log into the page and see how it works, you can now do so after signing up for an account.

Diagrami

I took up origami some time ago, and have designed and folded several different shapes over time. Eventually I decided to index them and present them publicly, so I registered the domain www.diagrami.com and started photographing my work. I created a database from which the images and the corresponding information could be retrieved, and wrote the page using PHP and MySQL.

Since then however, I have had the delightful joy of crossing paths with Celeste Agnes, who is now both my fiance and my main consultant on page design. She presented an entire new look for the page and I rewrote the back-end code. The key difference "under the hood" is the fact that it no longer uses MySQL to store and fetch the data. That method was becoming problematic, primarily because I was maintaining the database on a separate machine from the one that hosted the site. I replaced that with my own custom PHP functions that use AWK to query the data from local text files, each file being the eqivalent of a database table.