Henry Story's Resume

Professional Overview

I have been working on the Semantic Web since 2004 at Sun Microsystems, where I do research and development as well as Evangelism. This involves writing demo applications, frameworks to support them (so(m)mer), blogging, and travelling to give talks and present papers on the nascent platform sometimes called Web 3.0. In order to make this grow virally I have been emphasizing the very impressive advantages for Social Networking that can be provided.

Previously to that I worked on the BabelFish machine translation service at AltaVista. I there gained full life cycle experience on a high profile project, as I was involved in everything from its initial architecture and design, to its deployment, testing and even PR. I was fully involved in the development of all three tiers of the service: rewriting the legacy back end application to use sockets, developing the middle tier for performance and scalability, and developing a flexible front end.

Skill Overview

  • Over 12 years of work experience as a Software Engineer
  • Architectural and management experience
  • Very strong experience in Web Applications in very high volume environment (J2EE)
  • Good Object Oriented (OO) and declarative programming knowledge
  • Well developed analytic skills (mathematics, logic and psychology)
  • Trilingual: English, French and German
  • Well organized, efficient, quick learner, open source team worker, successful risk taker

Research Overview

My interests revolve around three attractors:

  • Artificial Intelligence,
  • The Internet,
  • Philosophy of Mind and Language

Educational History

October 1994-October 1995
Foundations of Advanced Information Technology (FAIT) MSc at Imperial College Department of Computing (DOC),
October 1991 - July 1993
Studied part time (self-funded) MPhil in Philosophy at Birkbeck College (Philosophy of Mind, Language and Wittgenstein).
September 1987-June 1990
Completed 3 year BA in Philosophy at King's College London.
Specialised in Modal Logic, Philosophy of Language and Philosophy of Mind.
Previous
  • A-levels in Maths (A), Physics (B),
  • baccalaureate in Philosophy (Mathematic stream)

Employment History

September 2008 - September 2010
Social Web Architect, Sun Microsystems
October 2004 - August 2008
Senior Staff Engineer at Sun Microsystems, Semantic Web R&D
  • Research and Developement:
    • so(m)mer: A java/RDF mapping engine.
    • Architecting and Developing Semantic Web Prototype Applications:
      • BlogEd: A simple Blog Editor.
      • Beatnik Semantic Address Book
  • Semantic Web Consulting in Sun
  • Standard Work:
    • Contributor to Atom syntax and protocol specification (rfc 4287)
    • Contributor to Atom protocol specification
Technologies:
  • the Semantic Web formats such as RDF, N3, NTriples, ...
  • OWL ontologies such as FOAF, ...
  • semantic web tools such as cwm, euler, Sesame,...
November 2003 - June 2004
CTO for family startup whilst contributing to various OpenSource Projects. This has allowed me to play with
  • Apple's OSX
  • xhtml, css: I finally rewrote my web pages with these. What an improvement!
  • snipsnap, bloged: blogging tools I have contributed source to, and helped develop the web site with
  • XML-RPC communication between bloged and snipsnap
  • Nanning (an Aspect Oriented Framework using Dynamic Proxies) is heavily used by PicoContainer and is part of SnipSnap
  • RSS 1.0 (for Real Simple Syndication) is an RDF compliant (Semantic Web enabled) format for publishing blogs.
March 2003 - August 2003
Deployment specialist at Philips Consumer Electronics, Eindhoven. The tools I used here were mainly,
  • bash and Solaris: a lot of advanced scripts to move a lot of files around.
  • ATG 5.2 programming
  • CVS: I had used it before, but here we used it to its limits (often inapropriately)
September 2002 - January 2003
Software engineer at startup in Staines, UK working on java VPN telecoms tools. Some of the technologies used were:
  • Java Remote Method Invocation (RMI)
  • MySQL, PostgreSQL
  • Java Database Connectivity (jdbc)
April 2002 - June 2002
Research Assistant for INSEAD (Fontainebleau, France) Semantic Web project. Telecommuting from California.
October 2002 - December 2002
Working for Systran, SA France on machine translation project. Telecommuting from California.
January 2001 - August 2001
At eTranslate I worked on a Vignette adapter for their GlobalLink product, a human translation automation solution for large web sites. The adapter had been originally written to their TCL interface. With the release of the Vignette Java APIs I was able to use these to architect a much more reliable system.
Some notworthy tools we used were:
  • ant: a much better make
  • enhydra application server: a small open source web server that uses xmlc to generate pages, instead of the more habitual jsp type mechansims. Very original.
  • xmlc: a DOM generator.
  • junit: a very helpful testing environment.
I discovered some softened down version of the Xtreem programming methodology. Mostly it was fun to experience life at a start up.
September 1996 - September 2000
Engineering lead on the BabelFish project.
I was responsible for the BabelFish as a project from its inception in late 1997. The project caught the headlines of every major newspaper around the world including a special edition of Wired Magazine. It was nominated for Webbies two years in a row. A search I made on Lexus Nexus in January 2000 returned over 200 articles in most of the major world newspapers.
The project started as a CGI and was rewritten as Servlets and Java Beans for ATG's Dynamo application server. Over 1.3 million translations a day are processed this way when I left AltaVista.
Before that I contributed to the now defunct Cow9 Java applet.
February 1996 - August 1996
Web projects for the Department of Computing, Imperial College, London.
  • HTML and CGI database server in Perl to help build a reference of electronic commerce initiatives in the world, for the OSM consortium (now dead).
  • Fractal Laboratory Java Applet
  • Java servers linked to:
    • April (Agent Process Interaction Language)
    • Eclipse (The ECRC Constraint Logic Parallel System)
October 1993 - February 1995
Programmer/analyst for the University of Westminster Transport Studies Group.
  • Developed and programmed the year long INSIGHT transport simulation project. The project was written using Visual Basic, linked to an Access database. Used many graphical tools, including Photoshop, Photostyler, and the Geographical Information System ARC/INFO.
  • Contract for the OPCS (Office of Population Census and Surveys) to give a graphical rendering of their travel survey data stored in a Clipper database.
April 1992 - March 1992
Research assistant for Wakeham Associates. Research on the private health market in the UK.
February 1991 - June 1991

Working for Stratex France, sole licensee of Ninja Turtles products for France and Francophone Switzerland. Designed advertising leaflets of products.

December 1990 - March 1991
Teaching blind children English in Paris.
October 1990 - December 1990
Photography exhibition in Fontainebleau, France. A selection of my exhibits are available on line.

Skills

Computing Skills

Artificial Intelligence

FAIT course.

Artificial Intelligence stream. Courses taken include:

  • Domain theory and fractals
  • Introduction to artificial intelligence
  • Logic programming foundations
  • Natural language processing
  • Deductive databases
  • Distributed artificial intelligence
  • Non-monotonic and meta-level reasoning
  • Planning and temporal reasoning
  • Parallel algorithms
  • Logic model theory and proof theory
  • and Prolog practicals.

Summer project:
Distributed Temporal Reasoning: sketch of a Just-in-time Meeting Scheduler, (120 page report): various techniques for designing Intelligent Personal Organisers with the ability to organise meetings over the internet with other such Personal Organisers.

Imperative Languages

Java
I started learning Java in fall 1995 and have been using it nearly continuously since (even if not quite as much as I would have liked).
  • Recently I have been contributing to open source java projects such as bloged
  • At the startup in Staines I worked on a Java VPN management server.
  • At eTranslate I helped build various parts of their java product that used the enhydra application server.
  • At AltaVista I deployed the Babel Fish within ATG's "100%" pure java application server called Dynamo. This helped us increase the traffic from 500 thousand to over 1.3 million translations a day.
  • Before that I spent some time writing the now defunct Cow9 applet for Alta Vista.
  • I wrote a fractal applet as early as 1995, which won a prize on Gamellan.
Visual Basic
Main language for the one year University of Westminster INSIGHT project looking into consumer acceptance of new technologies to help predict traffic patterns for cars, busses, etc.
C
The initial Babel Fish CGI was written in C.
Pascal
Teaching language. Last used 1985.

Internet Tools

Php
Saved me a lot of time when developing my mother's electronic art gallerywhich is running on a BSD server with no uptodate Java Virtual Machine.
Java Servlets
The BabelFish was built around the servlet architecture.
Java Beans
Jhtml,jsp
JHTML was ATGs advanced version of jsp.
xmlc
Xmlc produces java classes from html or xml input that contain all the methods to manipulate the Document Object Model (DOM) that the html represents. By using xmlc, as enhydra does, web development can very clearly distinguish between the job of the Graphical User Interface designers who manipulate the html, and the programmers that can instantiate the business logic using the DOM.The UI designers need only prototype their web pages as a storyboard, that can be easily worked on using a simple web browser. Very original in its simplicity.
CGI [Common Gateway Interface]
Yes, the first version of the BabelFish was a c cgi.
html, xhtml, css
http
The BabelFish used some subtle HTTP tricks to do some of its more advanced work, such as translating the result of forms.
xml
Most application servers now read and write their config files in XML. At eTranslate we used XML as the communication format between the enhydra application server and Vignette TCL scripts. I replaced this with the Vignette Java API as soon as they came out with it.
Another example of 'simple is beautiful'.
Perl
Used it to generate reports from the BabelFish logs. I keep using it here and again, but never so often that I don't have to consult the manual heavily before using it.
The Ethereal Network Analyser
A very usefull tool to help debug network communication. At eTranslate I had to debug the communication between a java program and tcl scripts residing inside Vignette. This tools allowed me to see exactly what was going over the ether.

Databases

SQL
You can't access a modern database without it.
Oracle
At eTranslate I interacted a lot with an Oracle database. So I have a working knowledge of the beast.
Mysql
At the Staines startup they moved from PostgrSQL to Mysql to speed up their application, but forgot to look at the overall architecture of the product, which is where the bottleneck really was. database.
Access
Database used for the one year INSIGHTproject for the University of Westminster and the European community ROMANSEproject.
Clipper
Main tool in the contract with the Office of Population of Census and Surveys (OPCS) which was to give a graphical front end to a Clipper database, for data consistency checking purposes.
Prolog
Though mostly known in AI circles, Prolog can be thought of as a very powerful database tool, which allows for intelligent searches. Very heavily used on the FAITcourse.
DBASE II
first database tool used

High Level Research Languages

April
Agent Process Interaction language. High level language that makes it very easy to write Intelligent Agents that can communicate and travel to any other supporting machine on the Internet. Main development tool for my FAITdistributed temporal reasoner Summer Project to explore the possibility of Intelligent Personal Organisers.
ECLIPSE
I used the European Computer-Industry Research Centre (ECRC) Constraint Logic Parallel System (ECLIPSE) heavily during my Summer Project on the FAITcourse, where I first Linked it to Aprilusing C, then wrote a temporal reasoner in it.
Prolog
Logic Programming Language. Main research language for the Artificial Intelligence stream on the FAITcourse.
Lisp
I used it to program my Xemacs editor, but it's been a while now.

Web Servers

Apache
The BabelFish was the first major Alta Vista service to run on Apache. It used Apache for over two years.
Dynamo
The Babel Fish front end was deployed on NT inside of Dynamo. Dynamo is a Java application server. Since early 2001 Dynamo was replace with a web server developed by AltaVista written in java.
Microsoft IIS
Babel Fish used IIS as the web server during 2000 as the front end moved to NT. This lasted until AltaVista switched all its web servers to one developed internally in Java.
Java Web Server
I developed the Babel Fish servlet with the Java Web Server, and was responsible for finding two important security holes, one of which may have led to it being discontinued ;-)

Other tools

CVS
Very simple but free Version Control System. Much simpler, much less powerful and much cheaper than ClearCase, which is why it is the tool used at eTranslate. Everybody is waiting with excitement for subversion to be ready.
ClearCase
This is the software management tool that we have been using at Alta Vista. It is complex, powerful, and very expensive.
Latex
Wrote my 120 Summer Project report for the FAITcourse in it.
HTML
I often edit html with vi.
Tcl-Tk
Interesting but superseded by java. I learned about it at Imperial College and used it for a project.
tcsh, bash
I use bash every day, ever since I converted from tcsh
PhotoShop
Photo retouching tools used on the INSIGHT project. Now I would use The Gimp
ARC/INFO
Geographical Information system tool, important part of the INSIGHTproject
StarOffice
StarOffice offers most of the features of the MS Office Suite, and runs on most operating systems, especially Linux. Furthermore it is free. Incredible! Now that I am on OSX I also can use it for the few occasions when I need MS compatible tools.

Operating Systems

Unix
I first installed Linux on my fathers blazingly fast 40Mhz DX2 laptop in the summer of 1995. Since 1997 I have used Linux continuously as my development platform. I have recently installed it on a laptop, and it works perfectly. I can even play DVDs on it! My favorite desktop is KDE. Other flavors of Unix I have used include: Solaris, Digital Unix (OSF1, TRUE64) and recently the astoundingly tasty Apple OSX.
Windows 3.1
Wrote the whole INSIGHTproject on this platform. Amazingly I don't remember it ever crashing on me. Perhaps that was because I only used Microsoft tools on it.
Windows NT
The Java version of the Babel Fish (January 2000) running inside ATG's Dynamo, was initially deployed on two 4cpu Intel machines running NT.
I have been known to run NT or Windows 9x inside VMWare, on my Linux box.
VAX-VMS
The second OS I used after whatever was running on the DEC2020's

Other Skills

Languages

  • French: lived more than 10 years in France, where I received a baccalaureate in Philosophy,
  • German: mother is Austrian, went to the German section in the international school in Fontainebleau, (CES International)
  • English: BA in philosophy, and MSc.

Sport

Games

Go: 8 kyu on KGS

Photography

It has been some time now that I have not worked carefully with photography...

Valid XHTML + RDFa