Developer

I have been an active web developer since 1999. I am proficient with dozens of languages but specialise in Python and PHP, and in a few different frameworks, namely Drupal and Django. I also enjoy the odd task in MIPS, MATLAB, C, or VHDL when required. I am a strong proponent of open source, web standards, and accessibility.

From the blog:

Recursively deleting directories via FTP

Apr 05, 2004

ftp_rmdirr() allows the deletion of whole directory trees on remote servers via FTP.

Recursively deleting a folder in PHP

Apr 05, 2004

rmdirr() allows the deleting of a folder, along with the folders contents.

Recursively creating directory structures

Apr 05, 2004

mkdirr allows you to create whole directory trees independent of what folders exist in the path.

Recursively copying directories in PHP

Apr 05, 2004

copyr can be used to copy a file, or recursively copy a folder and its contents.

Quickly converting a MySQL timestamp to a Unix Timestamp

Apr 05, 2004

mysql2unixtime() converts MySQL timestamps to unix timestamps

Quick JavaScript email obfuscation

Apr 05, 2004

mail_obfuscate allows you to quickly obfuscate an email address in JavaScript to prevent spambots harvesting the address.

Quick and easy random string generation

Apr 05, 2004

str_rand() provides a quick wrapper for customised random string output.

Outputing a MySQL result in a HTML table

Apr 05, 2004

mysql_draw_table() outputs a MySQL result set as a HTML table.

Making time periods readable

Apr 05, 2004

time_duration() is a flexible function for making time periods readable.

Improved PHP syntax highlighting

Apr 05, 2004

PHP_Highlight uses PHP’s built in tokenizer to provide reliable syntax highlighting for PHP code when server-side highlighting is required.