castle amber

Resume of John Bokma

You can download my complete resume as a PDF file.

Personal Details

Name:John Bokma
Languages:Dutch (native), English (fluently)


I am a freelance Senior Perl Developer with over 25 years' experience, including exposure to MySQL, Apache HTTP Server, Python, XML, RelaxNG, HTML, and CSS.

I'm an active proponent of Modern Perl. I like writing technical documentation and unit tests; both have saved my customers and me a lot of time over the years. I prefer to reuse code as much as possible, hence I often start a project with researching available (partial) solutions on CPAN.

My personal development projects include a blog that's generated from XML files using Perl. I am currently working on a new version using Markdown for input instead.



Web Scraping

Over the years many projects I've been working on involved parsing crawled data and storing the required result. I like challenges like how to make web crawlers robust. I prefer strict parsing of HTML, with many checks and extensive logging using Log::Log4perl. This way changes to HTML, which often occur in my experience, are detected early and collecting invalid data or missing additional data might be avoided.


Besides parsing HTML I've also experience with parsing XML, several custom formats and domain specific languages (DSLs).

Data Munging

Another task that often is assigned to me up is the conversion of data from one format to another; including data cleaning and verification. For example, modifying the text output of a legacy application in such a way that it's suitable to be printed on newly designed labels. Often the input format has to be reverse engineered, a challenge I like.


I prefer to use extensive testing of the custom modules and scripts I write. My favorite module is Test::Most because the module provides the most commonly used testing functions with a single line, avoiding a lot of boilerplate.

Systems Administration

My main development environment is currently Ubuntu 15.10 running in a virtual machine on OS X. My router runs OpenWrt, and I use a fanless computer to study FreeBSD. I also use two different VPS providers for hosting my websites. I do the administration of each of those systems, e.g. updates, firewall rules and other security related tasks, installing and configuring software e.g. Apache HTTP server, NGINX , Postfix, Dovecot, OpenSSH, MySQL.


I like to write technical documentation. I prefer to use mark up languages like Org Mode (Emacs), Markdown, LaTeX. This makes version control and searching from the command line easy. Plain text also makes it very easy to generate code from documentation, and vice versa. Where required, PDF versions can be generated using tools like Emacs, Pandoc, pdflatex.

Other Skills

I would be happy to discuss my experience with and exposure to: Python, MySQL, XML, XSLT, XSL-FO, RelaxNG, Apache HTTP Server, NGINX , HTML, CSS, SEO.


TH "Rijswijk"

Computer Science, BSc; 1991.

Utrecht University

Design of Algorithms, MSc; 1994.


DelftX: FP101x Introduction to Functional Programming

Haskell, Monads; final grade: 98%; December 2014; course info; verified certificate (PDF).

Introduction to Big Data with Apache Spark

Apache Spark, Python, Vagrant; final grade: 100%; July 2015; course info ; verified certificate (PDF).

Scalable Machine Learning

Apache Spark, Python, Vagrant; final grade: 100%; August 2015; course info ; verified certificate (PDF).



LaTeX resume template for Pandoc based on a LaTeX resume by Jason R. Blevins. The template can be used to create either a LaTeX or PDF file given a Markdown file as input. The template was used to create this resume. Repository: resume-pandoc.


Developing Web Applications with Apache, MySQL, memcached, and Perl

Technical Editor; ISBN-13: 978-0470414644; 2009.

Modern Perl

I did some voluntarily reviewing, and am listed in the Credits section.

A Retrospective Study of Polyallergy as A Marker of Non-Epileptic Seizures in the Epilepsy Monitoring Unit

I provided the Perl program used in this study; article in Psychosomatics 55(6); June 2014; abstract.

Optimization of molecular methods and statistical procedures for forensic fingerprinting of microbial soil communities

I assisted with Perl programming; article in International Research Journal of Microbiology (IRJM); ISSN: 2141-5463; Vol. 3(11) pp. 363-372; November 2012; full length research paper (PDF)

See also




Resume of John Bokma (PDF)