Inigo Surguy


28th March 2011

Dave, Dan, Moh and myself went to the National Hack the Government 2011 hackday and created Nabbd - an iPhone application and server that helps you keep track of your valuables, and report them stolen. The server is live at, but isn't much use without the iPhone app that isn't distributed at the moment.

21st February 2011

I haven't been adding any new entries here for a while, but I have uploaded various bits of code to my GitHub repository.

They are using a variety of licenses, but generally either the GPLv3 or Apache v2.

17th February 2009

My entry has won the Elsevier Article 2.0 first prize. It can be accessed via this site.

24th August 2008

Redisplaying the Olympics using Semantic Web technologies: some alternative visualizations of 2008 Beijing data, created from data in RDF and SPARQL, processed in Jena and Scala, and displayed in Prefuse Flex, Processing and Exhibit.

11th March 2008

I've now written up some notes on the OOXML BRM, and what you can do about it.

5th March 2008

Last week, I was attending the Ecma376/OOXML (Office Open XML) BRM (Ballot Resolution Meeting) in Geneva. The best description of it so far has been from Tim Bray, although I'm not yet commenting on his opinion of the process.

I haven't yet had time to write a post on this, but I've commented on the Open Malaysia blog and on Andy Updegrove's blog here and here.

6th November 2007

The Oxfordshire Semantic Web Interest Group (OxonSWIG) is meeting this evening at the Oxford University Computing Labs from 6:30pm. There will be talks from Professor Ian Horrocks of OWL and SWRL fame, and from Boris Motik, Yevgeny Kazakov and Birte Glimm.

17th August 2007

After several happy years of employment, I've now left CSW, and I've set up a small consultancy company 67 Bricks with an old friend and colleague. We are providing "Insight from Information" - and I'm looking forward to using a lot of the experience in knowledge management, the Semantic Web, XML, and team building that I've acquired over the last few years. I'm blogging our progress at the 67 Bricks blog.

4th August 2007

This year, I was presenting again at the XML Summer School. My talks were "Blueprint for an XML application" and "Automating the Recognition and Identification of Knowledge". As always, it was a lot of fun, and it was really enjoyable to meet or catch up with some of the greatest XML experts in the world, as well as having some great discussions with the delegates.

2nd June 2007

I'm a member of the BSI's expert group to review OOXML, and I've recently been writing code to automatically validate the XML examples in the specification.

14th May 2007

A conversion of Peter Norvig's Python spelling corrector into Scala, a statically-typed object-functional language on the JVM.

10th March 2007

I'm giving a presentation at the Oxford SWIG (Semantic Web Interest Group) on Wednesday 14th March - the title is "Birds, Kittens and Ann Widdecombe". I'm mostly talking about SKOS, an RDF syntax for controlled vocabularies such as thesauri and taxonomies.

15th February 2007

My partner Michelle Reid has set up as a freelance proofreader and editor, after some time working directly for companies such as Oxford University Press as an editor. She's promoting her services via her blog, and her most recent post The Rights of the Writer provides a list of rights that authors have, echoing Daniel Pennacís "The Rights of the Reader".

19th April 2006

I've written an article about Rediscovering JavaScript. It's aimed at developers who may know a bit about JavaScript, but haven't been keeping track of the various changes to the language and libraries that there have been over the last few years. I've been keen on developing in JavaScript for a long time, and I've been disappointed that many "serious" developers dislike it; but with the rise of Ajax this seems to be changing.

The article talks about the Prototype library, the logging library log4javascript, and walks-through the process of writing code to sort HTML tables (inspired by Stuart Langridge's sorttable) using functional programming idioms.

18th April 2006

My employer CSW Informatics has launched its new website.

11th December 2005

Added my FOAF profile (see the Friend of a Friend project)

14th February 2004

Speeding up Log4J in JDK 1.5 by removing unused log methods from the bytecode - a longer article explaining how the log-removal code that I posted yesterday works.

13th February 2004

Remove all overhead from log4J calls that are not used using JDK 1.5beta's instrumentation packages. Just a zip of the code at the moment - more to follow.

22nd November 2003

I've tweaked the site design to use slightly different CSS. The hardest thing to make work was the code listings - the HTML pre tag prevents lines from wrapping, and there doesn't seem to be any way within CSS to turn off the wrapping behaviour while maintaining the whitespace-preservation behaviour (that is - the CSS "whitespace: pre" includes the "whitespace: nowrap" behaviour, and there's no way of disabling nowrap while enabling pre).

21st September 2003

An Ant task to deploy WAR files to an iPlanet 6 server (zip). Just the code at the moment without any docs, but it's simple to use.

7th March 2003

I've finally written up how to do client side SVG image generation with XSLT. To see any of it working, you'll need Internet Explorer 6 with the Adobe SVG plugin, or a build of Mozilla that includes SVG support.

2nd December 2002

Kuro5hin are currently running a Christmas Programming Fun Challenge. The task is to:

Write a program to count the number of words contained in the Project Gutenberg version of Shakespeares first folio. Also output the ten most used words, along with the number of times they were used

The objective is to make as fast a program as possible. My entry is in Java, and on my computer it runs faster than the Perl and Awk submissions, and one of the C++ submissions, but is slower than the other C and C++ submissions.

Java NIO is a lot faster reading a file in earlier versions of the JDK. It's the half second that the JVM takes to start up that really slows the Java down - some of the C++ entries can run entirely in that time.

24th October 2002

The Omniscient debugger for Java (mentioned by William Grosso) looks very interesting. It:

I haven't yet had a chance to try it on anything serious.

According to an article on JavaSoft, there is a similar commercial product - RetroVue, the Total Recall Debugger. Unfortunately, there's no evaluation version.

20th October 2002

I finally have my copies of Practical XML for the Web from Glasshaus! Now all I've got to do is get the spelling of my name on Amazon correct...

18th October 2002

Okay, so I have to admit the "more details tomorrow" was a blatant lie. In fact, I went to Canada for two weeks, and then worked on a contract to introduce the Communiqué CMS to QinetiQ. I'm planning to do a full write-up of the client-side XSLT/SVG thing - in the meantime, email me if you want more information.

26th August 2002

I've got client-side generation of SVG with XSLT working. More details tomorrow.

21st August 2002

I've been redesigning my website to use DocBook XML. Why DocBook? Mostly because there are so many existing DocBook stylesheets and associated tools to convert DocBook XML into HTML, PDF, RTF, etc. It's been very easy to convert the existing articles with an XSLT stylesheet because they were in XHTML already.

Now I'm using DocBook, I can start using all the advice I was giving about client-side XSLT in Practical XML for the Web Professional. The message is:

I'm using a set of JSP taglibs that I wrote for these pages, such that browsers capable of using client-side XSLT will do so, and those that can't will have the content rendered server-side with Xalan and sent down to them. This page is still normal HTML, but the programming articles below are in XML.

I'm still experimenting with getting the JSP tag library OpenSymphony OSCache to work on this server, so pages may render slowly.

18th August 2002

I've started reading Ray Ozzie's new weblog, at about the same time as I'm starting Bruce Schneier's "Secrets and Lies: Digital Security in a Networked World". Ray Ozzie's Groove seems like a response to Bruce Schneier - the message of Groove is that:

17th August 2002

Just got my copy of Content Management Systems (Tools of the Trade) from Glasshaus. According to the back cover:

This book makes excellent reading for anyone involved in the content management process. It will guide you through the process of arriving at a content management solution, including the background knowledge you need to know, how to go about getting a solution, implementing the solution, and migrating existing content to it.

I wrote part of the chapter on "Building your own Content Management System" - the focus of the chapter was to say:

I find it amazing that there are still plenty of companies paying web agencies thousands of pounds to update their sites on their behalf, when they could be spending hundreds of thousands on buying a CMS. I think it's said best by Martin Burns on Evolt:

The night your site advertised PCs at £10.00 (rather than £1000) and you couldn't correct it until the design agency came in the next morning. Now that's an epiphany.

16th August 2002

Having finally got my domain name sorted out by Verisign, I've resolved to start updating this web page more frequently. My web hosting is coming from KGB Internet, a Canadian company that sells good value hosting for Java/JSP/Tomcat sites.

Programming articles

All code is covered under the Gnu General Public License (GPL) unless otherwise noted.




HTML, CSS, XML, XSL, and JavaScript

Note: Topics without links are things that I've done, but not yet written up in XML form

Contact me

Email me at:

Valid XHTML 1.0!