Skills:

Software development

Software development of various kinds is my primary activity; it's what I am employed to do at my day job.

Java development

I've developed significant client-side Java applications (such as a voice-conferencing client, and an educational Ethernet simulation). I use Java 1.3 with Swing.

I also do server-side Java applications (the server for the above-mentioned voice-conferencing system).

Finally, I have experience with Java servlets (the Web-based administration interface for the voice-conferencing system).

Windows/C++ development

I've been developing Windows/C++ applications since 1994. Most of these are available as shareware.

Some highlights include the leafChat IRC client and the leafDrums software drum machine.

Web design

I've had a Web site since 1995, and have been developing sites ever since.

I'm a strong proponent of current Web standards and the separation of style and document structure. I've been using CSS (for layout, not just font specifications) since 1997. This site should be an example of my technical style.

I mostly do sites for mys'elf, but occasionally have developed for other people. For example, London Independent Photography's Countdown 2000 project.

Graphic design

I don't have any formal training in graphic design or typography, but I've taken an interest in the area for a long time. My preference is for clean, simple designs; hopefully, this site should provide an example.

Usability

I also take an interest in usability, and try to concentrate on this for Web projects. However, I do try to balance usability with quality of appearance; in some cases, I prefer a better appearance over a minor usability gain. (For example, links on this site are not blue and underlined...)

XML

I've done quite a lot of work with XML, both as a general data format for software, and to store content for Web use. For example, the web site for my evening class (on Web design) is developed using XML to store the content, and XSLT (via a small custom Java application) to produce output HTML.

Miscellaneous skills

Writing

I'm an amateur writer and have also worked as amateur editor on several projects, including a fan-fiction magazine I edit called Gathering, and on some of the DALnet IRC network's user documentation. (I also did the XML-based system for that site, by the way.)

Teaching

I have worked as a lecturer at De Montford University (teaching Java); I also give seminars and internal training in my work; and I periodically run an evening class on Web design.