ࡱ> }|Y RbjbjWW -==N]4  Z\\\\\\$K?  Z ZSZ<r^f RAndrew GarrardHYPERLINK "http://cgi.www.fluppet.org/cgi-bin/www.fluppet.org/Andrew/contact.cgi"http://cgi.www.fluppet.org/cgi-bin/www.fluppet.org/Andrew/contact.cgiPRIVATE "TYPE=PICT;ALT=Please follow this link to my contact form"INCLUDEPICTURE \d "../images/web_email.gif" Alternative versions:  HYPERLINK "http://www.fluppet.demon.co.uk/Andrew/cv.doc" Non-annotated Word document | HYPERLINK "http://www.fluppet.demon.co.uk/Andrew/cv.html"HTML | HYPERLINK "http://www.fluppet.demon.co.uk/Andrew/cv_annotated.html"Annotated HTML | HYPERLINK "http://www.fluppet.demon.co.uk/Andrew/cv.ps"PostScript | HYPERLINK "http://www.fluppet.demon.co.uk/Andrew/cv.pdf"PDF (Acrobat) Curriculum Vitae Name:Andrew William GarrardAddress:Available HYPERLINK "http://cgi.www.fluppet.org/cgi-bin/www.fluppet.org/Andrew/contact.cgi"on request. E-mail: INCLUDEPICTURE \d "../images/web_email.gif"  HYPERLINK "http://cgi.www.fluppet.org/cgi-bin/www.fluppet.org/Andrew/nph-contact.cgi"  (See  HYPERLINK \l "email" below)PRIVATE "TYPE=PICT;ALT=Note about my email (and why this isn't a mailto:)"Date of Birth:20th February 1974Education (HYPERLINK \l "earlyed"since age 11)King's College, LondonSeptember 2000-September 2001Downing College, CambridgeOctober 1992-July 1995King Edward VI's School, NorwichSeptember 1985-July 1992Examination results and qualificationsDegree results: HYPERLINK \l "KCLexams"MScHYPERLINK "KCLresults.ps"Distinction2001Graduated BA (hons) Computer Science 1995 / MA 1999:Part II Computer Science TriposHYPERLINK \l "third"3rd1995Part IB Computer Science Tripos2:21994Part IA Computer Science Tripos2:21993S-levels: Physics11992A-levels: PhysicsA1992ChemistryA1992MathematicsA1992Further MathematicsC1992A.E.B. Basic Test: ElectronicsDistinction1991Computer AwarenessDistinction1991G.C.S.E.: Computer StudiesA1991Five subjectsA1990Three subjectsB1990One subjectC1990Projects: MSc: HYPERLINK \l "cond"A program conditioner (a program comprehension tool) BA: HYPERLINK \l "ugproj"A simple compiler with a pre-emptive run-time environmentMSc course component options`Data structures and their implementation in C++', `Algorithm design and analysis', `Geometric algorithms and their applications', `Scientific parallel and distributed computing', `Parallel algorithms', `Text searching and processing', `Advanced research topics' and `Cryptography and information security'HYPERLINK \l "mscattend"I also attended, but was not examined on:`Numerical analysis', `Multimedia compression methods and systems', `Group project' and `Algorithmic issues in the world wide web'.References:Available HYPERLINK "http://cgi.www.fluppet.org/cgi-bin/www.fluppet.org/Andrew/contact.cgi"on request. Previous employmentSoftware Engineer, Advanced Rendering Technology Ltd, July 1996-September 2000HYPERLINK \l "slc"Writing a shading language compiler for a custom architecture, HYPERLINK \l "asmshad"writing shaders in assembler, HYPERLINK \l "testsuite"test suite development, HYPERLINK \l "capi"implementing a reference software version of the architecture, HYPERLINK \l "hwasm"hardware assembly, HYPERLINK \l "chipsim"working on a chip simulator, HYPERLINK \l "VHDL"debugging and developing a revision of the ASIC in VHDL, HYPERLINK \l "plugin"plug-in development for Windows NT applications Junior Programmer, Perihelion Distributed Software , August 1995-July 1996HYPERLINK \l "harmtest"Testing the Helios-ARM embedded real-time operating system, HYPERLINK \l "pardi"working on the Pardi distributed computing library, HYPERLINK \l "zinc"developing a multi-platform user interface with Zinc, HYPERLINK \l "gl"developing an embedded graphics library Programmer, LOOKSystems, August-September 1994HYPERLINK \l "looksys"Implementing routines for printer drivers and font manipulation (on the Acorn platform)Programmer, Norwich Computer Services, June-August 1994HYPERLINK \l "ncs"Designing and implementing the Archive magazine bulletin-board system and supporting softwareComputing skillsOperating systems: HYPERLINK \l "OSexp"Substantial experience developing under (x86/Alpha) Linux, Solaris, NetBSD (RiscBSD) and RISC OS.HYPERLINK \l "OSsome"Some exposure to developing under Windows NT (Visual C++), DOS, AIX, DEC UNIX, SunOS, IRIX, AmigaDOS, BeOS, MVS and Helios-ARM.Languages: HYPERLINK \l "fluent"Fluent in C++, ISO C, ARM assembler, RenderMan shading language, (BBC) BASIC, UNIX shells (bash), PERL 4, (X)Emacs LISP and HTML.HYPERLINK \l "limitedlang"Varying limited experience in OpenGL, ADA95/83, Modula-3, FORTRAN 77, ML, Logo, PERL 5, Java, FORTH, VHDL, NESL, tcl, and assembly language for Alpha, x86, 6805, 68K and MIPS.Also substantial development with Flex/Bison, CVS/RCS, Expect/DejaGNU and PVM.Positions of responsibilityMarking undergraduate coursework at King's College London (2001):`Operating systems' (second year), `Computer graphics systems' (second year), `Human computer interaction' (first year - including lab session supervision), `Systems architecture & assembly language programming' (first year) Publicity Officer to the Cambridge University Tiddlywinks Club (1998-2001) and to the English Tiddlywinks Association (1998-2001, 2002-) Head of Computer Society, Norwich School, 1992Head of Robotics Society, Norwich School, 1990-1992Member of Computer Club Committee, Norwich School, 1990-1992Secretary, Young Enterprise company, 1991Non-academic achievementsYoung Enterprise Scheme (Examination passed: Merit 1991)Clean HYPERLINK \l "driving"UK driving licence, normal road vehicles (Test passed: July 1991) Annotations Because the above CV is necessarily brief, some sections may be prone to misinterpretation. The following annotations are intended to fill in missing details and remedy any misconceptions which may arise. Email contact details I prefer to be contacted at this address; I have a number of other addresses used for specific purposes. On principle, I will not purchase any product from a company which has contacted me as part of an unsolicited bulk emailing campaign, and I delete emails which appear as such without reading them - I politely (and optimistically) request that any such company refrain from contacting me or including me on any automated mailing lists. As such, I would also be grateful if those reading this document would refrain from placing my email address anywhere where it can be publicly read, and picked up by such a company, without my views on the subject being made known to them. If you have a legitimate reason for contacting me, I encourage you to send the message from a valid email address, and to provide a meaningful subject line, so as to avoid accidental deletions - or to use my HYPERLINK "http://cgi.www.fluppet.org/cgi-bin/www.fluppet.org/Andrew/contact.cgi"contact form. Please see also my HYPERLINK "http://www.fluppet.demon.co.uk/"home page. Education before age 11 Tradition has it that you only list education since age 11 on a CV. For completeness, though, I went to SS Peter and Paul Voluntary Aided Primary school in Eye (a.k.a. Eye Primary School) from age 4 to 11. On my MSc results A PostScript transcript of my results is available HYPERLINK "http://www.fluppet.demon.co.uk/Andrew/KCLresults.ps"here. Unlike my undergraduate course I had learnt the benefits of doing some work here, so my results are reasonably satisfactory. Some of the examiners had a slightly higher expectation for exact transcription of a given code fragment (over proof of comprehension of its functionality) than I would like - a view shared by some of my fellow students - or my results may have been more uniformly high. Still, I don't feel in a position to complain. I should state that my borderline exam (text searching and processing) was due primarily to bad planning. I was involved in some undergraduate coursework marking, which took up a lot of my time near the start of my exams. This was partly due to an unexpected additional coursework, for which some of my fellow markers was not available; retrospectively I should have said "no" rather than feeling obliged to help out. Anyway, finding I had little time to revise my cryptography, I rushed the revision, and only found out after that exam that I had less recollection of the text searching course than I had believed, hence producing my problem. I'm chalking that one up to experience. On why I got a third If anyone cares about my academic record, this is going to be a question. And the answer is simple - I didn't do enough work until it was too late. That's not to say that I wasn't learning anything, just that I was spending too much time on interesting problems (mostly computer related) rather than doing work. I'd like to think that I've learn my lesson, albeit too late. Getting a third is not to be recommended, but I wish I'd done it earlier so that I'd had a bigger impetus to pull my socks up before the end of the course. I managed to make excuses for my performance for the first two years (that I wasn't a physicist, and that I'd spent so much time typing in my second year that I couldn't write fast enough - both are true, but not nearly so much of an issue as the amount of work I wasn't doing). I'd like to think that I've since managed to cover most of the tripos in my self-education, but I'd have far preferred to have learnt it when I was supposed to. Computer Studies GCSE This is separate because Norwich School didn't actually offer this qualification - I had to arrange it separately. A-grade GCSEs Namely Maths, Nuffield combined science (two subjects), French and English language. B-grade GCSEs Namely English Literature, Latin and Classical civilisation. C-grade GCSEs Namely Art (bit too much time generating computer graphics, which sadly put me out of practice at drawing before the exam came up). My MSc project: a program conditioner This project is on-line in my HYPERLINK "http://www.fluppet.demon.co.uk/Software/index.html"software page. It's not really production quality code, but it might be useful (I intend to tidy it up in the near future, and possibly get a paper out of it). This project, written in C++ and using flex and bison, used some of the knowledge of compilers I'd picked up in ART (and some interest that I had from beforehand, including my undergraduate days). On a similar theme, I've since been doing some work for a PhD student at KCL on satisfiability checkers for S5, propositional temporal logic, and first order temporal logic. Between various bits of graphical hackery, that is. My undergraduate project: a simple compiler with a pre-emptive run-time environment This was actually intended to be a starting step towards my ongoing project (with some friends) of getting an operating system that I'd actually like to use. What I ended up doing was writing a compiler (for a language that was C-like and a little PERL-like) in BBC BASIC mainly because I wasn't yet comfortable with C, and didn't want to use the ARM linking system. The resulting ARM binary ran on an Acorn RiscPC, using it's own pre-emptive scheduler, running under RISC OS's interrupt handling. Sadly Martin Richards's advanced compiler course came too late in the tripos to help me, and what I learnt most of all is not to reinvent the wheel - or at least to do it properly. I still have an interest in operating systems, though. MSc topics I attended, but on which I was not examined The MSc course required that I undertake a fixed number of courses; however, since I was there to learn, I attended a few extras (and did the coursework for them). Of the group project (which was the design of a web site) I was involved in some design discussions, but not the implementation (other than in an advisory role). Retrospectively I should have taken the data compression exam rather than text searching - of which I was less confident, and left myself too little revision time while trying to get some marking done - but I decided that a challenge was the way forward. Writing a shading language compiler for ART A little background: Advanced Rendering Technology make a RenderMan compatible renderer (see HYPERLINK "http://www.pixar.com/"Pixar's web site for what RenderMan is), which uses a hardware-accelerated ray-tracer to generate images from a a RenderMan scene description. Part of this is a compiler which takes shading language and produces binary code for the custom hardware, including some code transformations specific to the architecture. I actually had three goes at this, with various complexity and functionality. Others later took over the project, with more experience with compilers, and slightly less ambitious plans for what code would be acceptable (which enabled faster results than I was managing). My compilers were written in C++. Writing shaders in assembler for ART In addition to the shading language compiler, ART had some custom shaders provided for use with their 3D Studio Max plug-in (and later the Maya one). For efficiency, these shaders were hard-coded in assembler, rather than in RenderMan Shading Language. Hence I have a pretty good understanding of a number of common texturing algorithms. As a consequence I had the dubious distinction of having the largest number of lines of code in ART's first release, although since they were in assembler (which was closely related to ARM code) it's not really a fair comparison. Test suite development for ART As ART's product developed, they required an automated test suite. This I was tasked with, and coded in Expect and Tcl/Tk using DejaGNU; it was a "run a set of tests and compare the results for speed and for a difference threshold" problem, so there were a few auxiliary utilities too. A reference software version of ART's architecture The ART hardware ran in an embedded environment; I was in a team of two who re-implemented the renderer matching the API of the embedded version, with a view to allowing the research team to try out some relatively major changes in functionality and see in detail what was happening to the data structures involved. Hence I'm pretty up on handling data structures for ray-tracing, although the ART architecture is patented. Hardware assembly for ART By this I mean a screwdriver, not a C to VHDL conversion. Shortly before I left (so I wasn't in a long-term project) ART was preparing to ship a new product revision; I helped put together some products to ship, before the external supplier was up to speed. This means I'm competent at assembling computers (although I'd done this for myself a few times before) and securing cables and internal components for shipping (which is a bit keener than I've been with my own hardware). A chip simulator for ART While ART has a VHDL variant of the behaviour of their custom chips, the simulator of this level of detail runs very slowly. I worked on updating a C-based simulator of the functionality of the chip (which interpreted binaries in simulated memory) to cross-check against the VHDL code, and which could be used by the renderer development team to test their code when chips were not available - and when the details of chip behaviour were to be examined. This taught me a little about how to emulate hardware, and a bit about how the hardware itself works. Debugging and developing a revision of ART's ASIC in VHDL While not actually part of the hardware team, after the aforementioned chip simulator I was tasked with reviewing some of the functionality of the custom ASIC, which was being revised. This involved examining the VHDL from which the ASIC was generated, and making some corrections to it. This gave me a grounding in VHDL, upon which I continue to expand. Plug-in development for ART ART's hardware renderer ships with plug-ins for 3D Studio Max and Maya (both, at the time I worked on them, under Windows NT). I was involved in some of the development of these plug-ins, in Visual C++, and hence know the internal workings of these products in some detail. Testing Helios-ARM for Perihelion Distributed Software As I joined Perihelion (after graduating with my B.A.), Helios-ARM was being developed. I was tasked with producing some simple tests, and re-running them as updates were made. These were written in C, and spawned from the shell - and manually examined for success. Working on Pardi for Perihelion Distributed Software Perihelion were developing a PVM and MPI-compatible library based on the (Transputer) Helios IPC protocol. I was tasked with some early testing and development for it, giving me a little experience in the development of parallel applications under PVM. Developing a multi-platform GUI for Perihelion Distributed Software This was intended to be a front-end to Pardi - although only preliminary work was done, mainly due to the fragility of Zinc (at the time) on its various platforms. Only a subset of the available features of Zinc worked on any given platform, and the subset varied according to platform. I did learn a bit about GUI programming, though. Developing a graphics library for Helios-ARM for Perihelion Shortly before I left Perihelion, I began development on an ARM-based graphics library for use in Helios. This was developed in parallel in C and ARM-code, and involved a fair bit of low-level optimisation. Developing for LOOKSystems I developed most of a printer driver (for a dye-sublimation printer under RISC OS), giving me a bit of an insight into the working of printer drivers and colour correction, mostly in ARM code. I also helped code some curve simplification code in BASIC and ARM code, for font translation. I was only employed there for a couple of weeks during a summer vacation, though. Developing a BBS at Norwich Computer Services Before the internet took off, Norwich Computer Services (who produced Archive magazine for Acorn computers) were running a bulletin-board; this I implemented, using some Acorn BBS software. One achievement was an implementation of minesweeper, using the bulletin-board scripting language - which had no array support and no loop constructs! Substantial experience at developing under... To clarify, this means I have developed hundreds of programs under these environments - mostly using gcc/g++ except for RISC OS, where the Acorn C Desktop Development Environment and BBC BASIC or its internal assembler were used. Incidentally, I frequently use several variants of Windows and Mac OS, but do not develop code under them. Some exposure to developing under... To clarify, this means I've developed a few programs under these environments. Although these programs are generally not very complex, I do have some understanding of the unique features of each O/S. Languages: Fluent in... By this I mean that I am happiest in these languages, and have written at least tens if not hundreds of programs (or scripts, or pages) in each. I almost never need to refer to a manual, and I could write a compiler or interpreter, given time, which would process code from any of these languages and produce a good approximation to appropriate output without reference to a language specification. Languages: Varying limited experience in... This means I'm at least happy reading code in these language, and have written some code in each. I understand the "way the language works", and would be able to produce simple code in them with occasional reference to a manual of some sort. I'm actively revising my PERL, Java and VHDL knowledge, along with several assemblers. Driving licence I hold a clean UK driving licence, and I am currently preparing to take a RoSPA advanced driving test. abc56pqr)*-.efgqruvWXYdetuEH jEHUj Uj?UjvUjUjUjU jUH*jH*U0JjH*UH* jH*U>ghij?$$rO>%$$$$$$0$$$$ghijkttuvwx    - : < F G H i x z     UV  W  X  Y               Bjkttuvwx4$$$$$$?$$rO>% %&'(rst m n @ D E F Z [ ԙj U0J0JH*jD Uj Uj4 Uj U jUmHH*6H*jH*U0JjV U jUEH j EHU jEHUjEHU8    - : < F G tt?$$rO>%$$$$$?$$rO>% G H i x z q?$$rO>%$?$$rO>%$$$$$    H I J K L M m y?$$rO>%?$$rO>%$$$   H I J K L M m       ! " , . / 4 5 6 B D E J K L ` b c h i }        & ( ) . / 0 1 2 3 4 5 @   bm  p$$?$$rO>%$      ! " , . / 4 5 6 B D E J K L ` pPXx$$$?$$rO>%` b c h i } $$?$$rO>%$        & ( ) . / 0 1 2 `dX$?$$rO>%2 3 4 5 @ y?$$rO>%$$?$$rO>%$[ \ q r NOhijyz9: !"#FGcd{|}()>?@QRTUljUjLUjUjfUj U jUmHj Uj Uj U0J0J jUB@        JKLMN !"#/     ()*uvwxySTU      !"#$8    ^        JKLM{?$$rO>%$$?$$rO>% MN !"#/0~$y$$?$$rO>%$?$$rO>%/ h{Hx$?$$rO>%$?$$rO>%$     ()*uvwxyx8x*$$4FO %$*$$4FO %*$$4FO %$ lmn  yz345_`lm9:89N jUmHjUj!UjUjOUjUjoUjUjU0J jUj$UASTU *$$4FO %$$*$$4FO %      !"#$8XL$$$?$$rO %$NOPfgbcyz{ !>?*+[\stu& ' x y z ""D"E"F"J"K",,,,,,,s5t5jUjUj-Uj0UjU jUmHjFUjUjhU0J jUjUBRSTUVb&'()*,-./01MNOPQRS:BCDEFG{|}~               TRSTUVb&|PP$$$?$$rO %&'()*,-./01MNOP~{$?$$rO %?$$rO %$PQRS:~wwww & F$?$$rO %?$$rO %$ BCDEFG{|}~<?$$rO %$?$$rO %$PQRSTU !!&&**!+0+++++g,,6//j224U41X*9) &'  2PQRSTU|{?$$rO %$$?$$rO %U !!&&**!+0+dddd?$$rO %$0+++++g,,6//j224458+8d::;;==|??AAbCCDdddd4458+8d::;;==|??AAbCCDDE F GNGHHII;KjKLLLBNhNĿ~ytoje`[}U q-@])C$?;[!t555555MMR0J0J jUjUDDE F GNGHHII;KjKLLLBNhN1OJOPQQRbRRRddddddhN1OJOPQQRbRRR]nuW+0P. A!"#$n%DyK yK http://cgi.www.fluppet.org/cgi-bin/www.fluppet.org/Andrew/contact.cgiDyK yK Zhttp://www.fluppet.demon.co.uk/Andrew/cv.docDyK yK \http://www.fluppet.demon.co.uk/Andrew/cv.htmlDyK yK phttp://www.fluppet.demon.co.uk/Andrew/cv_annotated.htmlDyK yK Xhttp://www.fluppet.demon.co.uk/Andrew/cv.psDyK yK Zhttp://www.fluppet.demon.co.uk/Andrew/cv.pdfDyK yK http://cgi.www.fluppet.org/cgi-bin/www.fluppet.org/Andrew/contact.cgiDyK yK http://cgi.www.fluppet.org/cgi-bin/www.fluppet.org/Andrew/nph-contact.cgiJDd} S|  c XA4My Pictures\web_email.gifbz^HCpy^VP<nN(gLͬ*@j^HCpy^PNG  IHDR} |sBITO PLTEi-BtRNS AbKGD-IDATxS[ kTXs3J H]O16r2{L+wG /G/0+T" p0,5o3 xVP]Emû emakslpهQ&H4)憎sƻ5~{UM:av''du \ȢIENDB`mDyK emailqDyK earlyedsDyK  KCLexamsDyK FKCLresults.psmDyK thirdkDyK condoDyK ugprojuDyK  mscattendDyK yK http://cgi.www.fluppet.org/cgi-bin/www.fluppet.org/Andrew/contact.cgiiDyK slcqDyK asmshaduDyK  testsuitekDyK capimDyK hwasmqDyK chipsimkDyK VHDLoDyK pluginsDyK  harmtestmDyK pardikDyK zincgDyK glqDyK looksysiDyK ncsmDyK OSexpoDyK OSsomeoDyK fluentyDyK  limitedlangqDyK drivingDyK yK http://cgi.www.fluppet.org/cgi-bin/www.fluppet.org/Andrew/contact.cgiDyK yK @http://www.fluppet.demon.co.uk/DyK yK hhttp://www.fluppet.demon.co.uk/Andrew/KCLresults.psDyK yK fhttp://www.fluppet.demon.co.uk/Software/index.htmlDyK yK ,http://www.pixar.com/ [$@$NormalmH 0@0 Heading 1$@&5<A@<Default Paragraph Font8V@8FollowedHyperlink>*B* (U@( Hyperlink>*B*8O8H1$dd@&5CJ0KH$hnH 4O4H2$dd@&5CJ$hnH 4O4H3$dd@&5CJhnH  W@A Strong5>Ob>Definition Term CJhnH BORBDefinition Listh CJhnH $X@q$Emphasis6N[ lNt5R*.8>AMjG m  ` 2 M/  &PU0+DR+-/0134567:;<=?@CDEFGIJKN @ 4hNR,29BHLOb5q)-fquXdt% mE[qN i y 9 " F c |  ( ? Q T m y4_l98Ofbz >[t&yEJ(((s111NXtCX4X4X4XXXCXX4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/X2$)IW#r 2$1vz/8<<==????@@@@AAAAUB_BaBgBCCuCzCDD>EDEEEUIXINNNvea c F!I!E"S"$%n&y&''))2 292G279G9R9<[===+@0@uG}GIIEKGKMM5MCMN Andrew William Garrard C:\My Documents\cv_annotated.docAndrew William Garrard5C:\WINDOWS\TEMP\AutoRecovery save of cv_annotated.asdAndrew William Garrard5C:\WINDOWS\TEMP\AutoRecovery save of cv_annotated.asdAndrew William Garrard5C:\WINDOWS\TEMP\AutoRecovery save of cv_annotated.asdAndrew William Garrard5C:\WINDOWS\TEMP\AutoRecovery save of cv_annotated.asd*ԝș@h OJQJo(@ ȢNP@G:Times New Roman5Symbol3& :Arial"qh-xFޛxF@e @!!20OAndrew GarrardAndrew William GarrardAndrew William Garrard Oh+'0   < H T`hpxAndrew GarrardndrAndrew William Garrardndr Normal.dotiAndrew William Garrard7drMicrosoft Word 8.0a@@QGf@^^fe @ ՜.+,D՜.+,L hp  For personal usee!Oj Andrew Garrard Title(RZ _PID_GUID _PID_HLINKSAN{01BDAF66-D23F-11D7-AC6C-F8A52954D44B}A4_~http://www.pixar.com/y{3http://www.fluppet.demon.co.uk/Software/index.html0?x4http://www.fluppet.demon.co.uk/Andrew/KCLresults.ps9}u http://www.fluppet.demon.co.uk/\YrFhttp://cgi.www.fluppet.org/cgi-bin/www.fluppet.org/Andrew/contact.cgidjodrivingpgl limitedlang}}ifluentqyfOSsome cOSexpnc`ncsp}]looksysglZgl WzincTpardiQ harmtestleNpluginKVHDLyqHchipsim EhwasmBcapi? testsuiteda<asmshadsl9slc\Y6Fhttp://cgi.www.fluppet.org/cgi-bin/www.fluppet.org/Andrew/contact.cgi3 mscattendj0ugproj -cond*thirdM 'KCLresults.ps$ KCLexamsnh!earlyedemailZJhttp://cgi.www.fluppet.org/cgi-bin/www.fluppet.org/Andrew/nph-contact.cgi\YFhttp://cgi.www.fluppet.org/cgi-bin/www.fluppet.org/Andrew/contact.cgiTR-http://www.fluppet.demon.co.uk/Andrew/cv.pdf04,http://www.fluppet.demon.co.uk/Andrew/cv.ps* 8http://www.fluppet.demon.co.uk/Andrew/cv_annotated.htmlDA .http://www.fluppet.demon.co.uk/Andrew/cv.html_C-http://www.fluppet.demon.co.uk/Andrew/cv.doc\YFhttp://cgi.www.fluppet.org/cgi-bin/www.fluppet.org/Andrew/contact.cgiK_My Pictures\web_email.gif  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPRSTUVWXYZ[\]^`abcdefghiklmnopqstuvwxyz{~Root Entry F}nGf@Ѧr^fData Q+1Table_WordDocument-SummaryInformation(jDocumentSummaryInformation8r<CompObjjObjectPool@Ѧr^f@Ѧr^f  FMicrosoft Word Document MSWordDocWord.Document.89q