Philipp Geyer

jump to main content


So, where did this all begin? I used to have my CV as an document. Every time I needed to update it, I fought with formatting, and ended up rewriting it. I didn't enjoy it. I just wanted to have my CV content separate and not have to worry about the formatting. Of course there is always formatting to worry about, but if I could abstract that away and deal with it later, that would make me happy.

So the obvious thing to me was to use emacs org-mode. I previously used org-mode to write my dissertation, so had some experience using it for writing documents. I found a LaTeX stylesheet which I modified (albeit only slightly) and this allowed me to create a nicely styled PDF by just writing content into the source file.

At some point, I thought it would be a good idea to make an executable where the command line flags would output the content of my CV. This then needed to embed the original data into it, so I had to carve out the data from the org-mode file and embed it into the source for the executable.

At this point, I had several languages in play for the project, so I thought it'd be fun to see how many different languages I could use. So I wrote another script to convert my CV to a man-page… because why not.

I have some other things planned for other languages and outputs, but that's all for now on that.

One of the issues I have with a CV is that it has to be pretty short, so I cannot give much information about what I worked on. As a compromise I've written a few short paragraphs about each project, so that I can expand and explain what I think might have been the most interesting parts. I will still try to keep these pretty brief, no-one is likely to be interested in a 5,000 word article on how I implemented the menu UI for the iOS version of Call of Duty: Black Ops Zombies.