I have developed software on and for a wide range of technologies.
The web
I have experience of developing small and medium-sized web sites with the following technologies:
- IIS, ASP and ASP.NET
- Apache
- PHP
- Perl
- XML and XSLT
In addition, I have experience of developing business logic layers for use with IIS using ATL and ISAPI.
This site is a CSS-based design, built from a set of XSL and XML files using a custom-written Java application. The graphics were designed by me using Adobe Illustrator.
Web site projects have included work on an extensible Open Archives Initiative repository for IIS, and work designing and developing a dynamic Clinical Governance website.
Windows
As well as web application designed with ASP and ASP.NET, I have built Windows applications using Win32 from C, .NET and C# and Visual Basic.
Recent Windows projects have included an Open Archives Initiative harvester and support utilities for websites.
Mac OS X
I have experience of developing Mac OS X applications using C, Java or Objective-C with both the Cocoa and Carbon APIs.
My released Mac OS X projects include Zoom, a Z-machine interpreter.
Palm OS
I have developed several applications for Palm OS, mostly concerned with data collection and designed to report to Windows applications.
Recent Palm OS projects have included a data collection application for medical students, a series of drivers, libraries and applications for driving computerised weighing machines, and a strong cryptography library and example applications.
UNIX/Linux
I have used and developed for several variants of UNIX and UNIX-like operating systems (including Solaris, Linux, FreeBSD and Unixware). Zoom is an example of an application developed by me for multiple UNIX versions.
While working for Marconi, I developed SNMP and H323 test suites using Perl, C++, TCL and Apache: these were designed to run on Linux and Unixware.
Programming languages
Programming language design has been something of an interest for me since well before I went to University, so over the years I have learnt a very wide variety of languages, including:
- C, C++ and Objective-C
- Perl
- PHP
- Java
- C# and Visual Basic.NET
- SQL (MySQL and SQL Server variants)
- XSL/XPath
- TCL
- ML
I have also designed and implemented some toy languages of my own, as well as written my own bottom-up parser library.