Home
Valid XHTML 1.0!
Valid CSS!
My Curriculum Vitae

Webpages | Education | Employment | Skills | Software

E-mail

Top of pageWebpages
Homepage AngelWeb RPG World Hermes
Effusion gTinyfugue AMGS RadioAtlantide


Top of pageEducation
Establishment Subject Grade Year
Bishop Vesey's Grammar School GCSE Spanish A 1991
GCSE German A 1992
GCSE Science (Double) A,A 1993
GCSE English Literature
GCSE Mathematics
GCSE Latin
B
B
B
1993
GCSE English Language
GCSE Religious Studies
GCSE History
GCSE Economics
C
C
C
C
1993
A-level General Studies B 1995
A-level Biology C 1995
A-level German D 1995
A-level Economics E 1995
University of Kent at Canterbury Foundation Year Chemistry with Mathematics Passed 1996
Cell and Molecular Biology BSc (hons) 1999
University of London, Birkbeck College Computing Science MSc 2002


Top of pageWork Experience
Date Place of work Type of work
Aug 1998 C. J. Simms Secretarial temp. work
Sept 1998 Docklands Railway Management Ltd Data Entry
Sept 1998 Stanley Morgan Working on a Services Booklet
Sept 1998 Business Post Data Entry
Sept 1999 Sarah Bonnell School IT Technician - setting up systems, and assisting teachers
Sept 1999 - July 2001 King Edward's School Witley & Rodborough School Milford Research Student: Web design for the intranet (and Boarding School Resident Tutor) Experienced some NT/Linux administration.
Oct 2001- Oct 2002 University studying for MSc
October 2002 - July 2003 Freelance Webdesign/Programming
July 2003 + Institute of Education - University of London Training Analyst


Top of pageSkills
  • Programming in C/C++/Java
  • GUI programming in Swing (Java), GTK+ (C)
  • Methodologies: Object Oriented Programming, MVC Programming, Extreme Programming
  • Algorithm optimisation
  • XML, Schemas, DTDs
  • XHTML, JavaScript, DOM, and CSS (Cascading Style Sheets) for web design.
  • PHP
  • Front Page, First Page 2000 and Dreamweaver and other WYSIWYG HTML editors.
  • SQL (Oracle)
  • Using/Administrating Linux/UNIX/Windows/Mac.
  • Intel x86 assembler
  • Software Engineering/Information Systems (analysis and design of systems)
  • SSADM/UML
  • Component and logic level computer architecture
  • Theory of OS and Network design


Top of page    Projects

As part of a university project I had to create a program into which could be written programs in a small machine language (basic RISC assembler). The programs then could be run or stepped through, with output visibly displayed. It was pretty much an emulator for a RISC architecture. The program was written in an object oriented way allowing new instruction classes to be dropped in without any model re-code. A model:delegate structure was followed, so that the GUI could be removed, or replaced with any other delegate without re-writing the model.

SMALE: Small Machine Language Editor

This was another University project, even more complicated than SMALE. The task was to create a compression algorithm that took a DTD and conforming XML file, and then compressed the XML file based upon the DTD rules. This allowed far greater compression as the structure is constrained by the DTD and can be mostly removed on the assumption that the decompression process has access to the same DTD. The result was a program that compressed XML files smaller than any alternative utility, though with only marginal improvement over a tool working in a similar way using schemas. As with SMALE the model:delegate path was taken to remove dependancy on any one interface.

XMLCompress: XML Compression Utility

Since early 2001 I have been involved with the Mozilla web-browser project as a volunteer contributor to the Quality Assurance triaging team. Due to my interest in the wider possibilities that this project provides I have become involved with two independent spin-off/plug-in projects.

The first is a as plugin writer and co-sitemaintainer for the Sherlock project which was renamed to Mycroft. A Sherlock/Mycroft plugin is a file of xml which adds a new search engine to Mozilla's search capability. They don't look like much, just a text file, so here's a screenshot of the result.

Sherlock/Mycroft search plugins in use

The second is as project leader for the Hermes project which is a project of my own conception to add web-mail access to the Mozilla side-bar. The following screenshots show Hermes in the sidebar without a service selected, the list of services available, and the third shot shows the next version of Hermes, nicknamed xHermes showing a XUL interface and SMS and Bank login options available aswell as webmail services.

Hermes: Mozilla Sidebar Tab   Hermes: Mozilla Sidebar Tab   xHermes: Mozilla Sidebar Tab

The Gtinyfugue project was created to design a graphical front-end to the popular terminal MU* client tinyfugue. Gtinyfugue requires the gnome2 libraries, and of course tinyfugue, to be installed. The project uses GTK+ (with help from glade) to create the graphical interface, and an embedded terminal widget (vte) in which to run the tinyfugue application. More work is required in making the application into a fully-featured graphical MU* client, and development occurs over at sourceforge.

Gtinyfugue: MU* Client

BitTorrent is a distributed file distribution protocol. Its purpose is to allow download sites with minimal bandwidth to distribute files to many users by tapping into the upstream of downloaders and letting them share parts of the file with each other. The benefit to small companies in providing downloads via BitTorrent is immense, as shown with recent BitTorrent releases of the latest Red Hat and Mandrake releases. My application takes advantage of bittorrent's useful protocol, and allows for multiple transfers to be displayed within a single application window, while simultaneously allowing the user to chat with friends on IRC within the same application. More information available here. Below is a screenshot showing the transfers pane with a single transfer in progress.

BitTorrent Graphical Sharer

This shell/nautilus script is quite simple, it turns the selected file into torrent which can then be shared with others. The script handles automatic updating of a webpage to take account of the new torrent file. Below are screenshots of the script, using gdialog to request input from the user. This script works as a shell script, or a nautilus script.

Torrent Generator Script

I wrote my own PHP powered weblog with management tools.

© 2003