Meta-CV

Much more interesting than writing a CV is, well, almost
everything. But there’s a whole class of activities that you can, if
you wave your hands in a certain way, justifiably consider part of
writing your CV, even though you’re not actually writing your
CV. You could call this writing your meta-CV, if you were some kind of
loon.

Obvious example: deciding how you want the CV to look. Classic
meta-CV writing, lots of scope for experimenting. Mmm,
fonts
.

But you know me. I need to take it just that little bit
further.

Two things stood out straight away: I wanted the CV under version
control, and I didn’t want to write it in Word (I’d rather have a PDF
version). The first was easy: I’ve got a Subversion setup for version
control, which I use for my web site. New repository for CV and other
non-web site creations: five minutes.

PDF? Well, OpenOffice.org
exports to PDF natively in version 1.1. But its standard file format
is zipped XML files, which annoyed me. How would I do diffs? For
version control zipped XML is as bad as any other binary
format. Explode, commit, implode? Too complicated.

Bah, I thought, and naturally decided to roll my own XML. Easy
version control. Easy editing (xemacs, of course!). And when writing
I would concentrate on the content, and not constantly fiddle with
layout. I already had a good idea of the structure I wanted to use
for the content, so the schema would be pretty easy.

How to get from XML to PDF? Through the strategic application of
more acronyms. Take one XML document. Whisk with XSLT to produce XSL-FO. Bake using Apache FOP. And hey poncho:
PDF. And while I’m at it, I could use a similar XSLT transform to give
me HTML sprinkled with CSS, no baking required.

And that’s where I am today: an XML CV, built to HTML and PDF
(with layouts more or less identical). All the content is tagged so I
can build targeted CVs by keyword – so much easier than
maintaining multiple documents in parallel.

Now bow down before my meta-CV mastery!

(No you can’t see it… yet.)

Advertisements

7 Comments

Filed under Random

7 responses to “Meta-CV

  1. st1

    XML schema for resumes

    I’ve been using this: http://xmlresume.sourceforge.net/

  2. Anonymous

    Subversion

    So why subversion over CVS? An attempt to get even more acronyms on the CV?

    • Re: Subversion

      Not really: I don’t think there are many jobs out there wanting n years of Subversion experience just yet.

      I saw it about a year ago, I think, and thought its goal – to replace CVS – was a good one. I liked features such as versioned directories and metadata, a single repository-wide revision number, and treating branches and tags as “just another lifestyle choice” achieved by tree copies within the repository rather than through CVS’s hoopla. (To tag a project: copy the project dir to the tags dir in your repos, wherever you put it, and give the dir whatever tag name you want. Commit. The repos revision bumps – it’s a constant-time repos change, done via database pointers not file copying – and everything in the tagged project retains its revision history. To branch: similar, but commit on the copied tree – a branch is just a tag with commits on it.)

      It’s still not at beta, but it works fine for me. I should hope so, I’m not exactly stressing it.

      • Anonymous

        job?

        you don’t need a job…how would you fit it in to your hectic geek lifestyle.

        I would like to be a fly on the wall when you explain to your Pauline how you’ve been spending your 37.5 hours of jobseeking time this week!

        I would lampoon you for being a techie nerd but I’m writing this on my tv….

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s