23 April 2009

A Tag Cloud for my Resume.

I'm revising my CV as I'll move to Nantes and I wanted to create a Tag Cloud to illustrate my resume. Paul and Richard suggested to use wordle to generate the cloud but I wanted to generate it on the fly, for any language, whenever I want, etc...
so I stored my skills in a RDF file which looks like this:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!ENTITY info "plum">
<!ENTITY bio "blue">
<!ENTITY other "lightgray">
<!ENTITY devtool "magenta">
<!ENTITY devlang "darkRed">
<!ENTITY os "purple">
<!ENTITY database "orange">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://ontology.lindenb.org/tagcloud/">
<Tag rdf:about="https://javacc.dev.java.net/">
<title xml:lang="en">JavaCC is a parser/scanner generator for java</title>
<title xml:lang="fr">Un generateur de parser pour java</title>
<Tag rdf:about="http://en.wikipedia.org/wiki/Awk">

<Tag rdf:about="http://en.wikipedia.org/wiki/GNU_bison">
<title>Lex/Yacc & Flex/Bison</title>

Advantages: I can store the labels for various languages, use xml entities like <!ENTITY devlang "darkRed"> to quickly change a color, etc...

This XML file is then transformed with the following XSLT stylesheet

And (tada !) here is the result

Waves... :-)

(And the icing on the cake : it is a RDFa output).

Note: Pawel Szczesny did great job for his CV too.



Rich Apodaca said...

Pierre, very cool idea.

Does the y-axis represent time also like it does in Pawel's cloud? It's great because I can get an instant idea of how long he's been doing something and what might have led him from one interest to another.

Pierre Lindenbaum said...

Rich, there is no Y axis, the tags are just sorted alphabetically.

Rob Shell said...

Snaz it up a bit by pasting your resume into Wordle at http://www.wordle.net/create

Benjamin Good said...

Very cool. Since I'm in c.v. writing mode I've been thinking about this sort of thing too - thanks for posting your code! Now, all I have is a very quick Wordle of my phd thesis but I really like the connection to the structured document you have here. I think you could make a very popular service out of a form where users submit the elements of a document (c.v. or otherwise) and then get a wordlesque interface for tuning the cloudy visualization. thanks again.