Paul Boddie

Nationality British

Personal Profile

Projects and Contributions

Project Highlights
Principal developer
2018 -
The development of components such as device drivers and servers for the L4 Runtime Environment running on the Fiasco.OC microkernel, deployed on MIPS-based devices.
Principal developer
2016 -
The development of a toolchain for a Python-like language, analysing source code and generating output code in the C programming language for further processing by existing compilers and tools.
Principal developer
2014 -
The development of standards-based (iCalendar, iTIP, iMIP) groupware functionality for deployment with widely-used e-mail systems. This involves integration with mail transport systems such as Exim and Postfix, plus familiarity with mail storage systems such as Cyrus and Dovecot.
Principal developer
2012 - 2017
Assisted the GNU Mailman project, volunteering to complete a migration of the Mailman Wiki from Atlassian Confluence to MoinMoin. The ConfluenceConverter software distribution was developed primarily by myself for this project.
Principal developer
Developed the userinstall tool for using root filesystems and User Mode Linux instances; applied Debian cross-bootstrap tools to enable more convenient installation of Debian on various hardware products being used for hardware experimentation.
Package maintainer
Supported the Shedskin project leading to the software being included as a package in the Debian GNU/Linux distribution.
Delivered several improvements and enhancements to the MoinMoin wiki (collaborative editing) software.
Developed enhancements to the Web interface of the Mercurial version control tool, with changes being incorporated into official releases of the project's code, and documentation improvements also being submitted.

An extensive list of Free Software projects which I have either initiated or to which I have contributed is available as a repository collection.


Centre for Molecular Medicine Norway, University of Oslo, Norway
(February 2020 to January 2022)

Position Researcher
Responsibilities Development and maintenance of Web applications and data processing pipelines.

Maintaining Web applications such as JASPAR and UniBind, these having been written in Python using the Django Web framework. Additional functionality was also developed and introduced, and a variety of housekeeping work was undertaken, such as porting the software to Python 3 and corresponding compatible Django version, auditing bundled resources, and writing a software licence manifest compliant with the REUSE specification.

Developing deployment scripts and automated deployment techniques for Web applications and establishing an appropriate deployment environment for these applications, this employing virtual machines running the Red Hat Enterprise Linux distribution.

Developing processing pipelines concerned with the packaging and publishing of data via the JASPAR and UniBind applications. The objective of this work was to formalise the way in which computed data would be prepared for deployment within each Web application, and the work was pursued whilst also having to continually adapt to ongoing modification and reorganisation of the upstream data computation activities.

Investigating Web application deployment using container technologies such as Docker and Podman, using tools such as Buildah for container preparation. Although container images were considered for direct deployment, the use of containers was more helpful as a way of producing simple software packages for eventual deployment in a virtual machine environment managed using OpenStack.

Working Languages English

University of Oslo, Norway
(November 2018 to August 2019)

Position Senior Engineer
Responsibilities Development of a text-mining solution for a research project.
Working Languages English

Biotechnology Centre of Oslo, Norway
(February 2014 to June 2014)

Position Software Developer
Responsibilities Further development and implementation of a database and accompanying service in a research group.

Analysis and refinement of an existing database storing proteomics information (employing C++, Qt and SQLite).

Working Languages English

Biotechnology Centre of Oslo, Norway
(June 2006 to March 2013)

Position Software Developer
Responsibilities Designing and implementing bioinformatics solutions; maintaining software written in a research group.

Redevelopment of a data integration solution (iRefIndex), previously under maintenance as a Java and MySQL solution, and the development of associated tools such as tabular data parsers and XML data parsers. Technologies involved for new development include Python, SQL (PostgreSQL), POSIX Shell, XML, XSLT and a selection of GNU/Linux tools.

Maintenance of a data visualisation solution (iRefScape) written in Java for the Cytoscape visualisation platform.

Public documentation and Web site development and maintenance involving MediaWiki and MoinMoin, including theme/skin and extension development and involving HTML and CSS wrangling (and Python development for the latter).

Version control repository maintenance and administration, initially involving CVS and ViewCVS/ViewVC, subsequently involving Mercurial and hgweb, with theme development undertaken for the latter.

Provided development assistance to a group deploying a portal based on Galaxy in order to integrate the SAML 2.0 authentication/authorisation mechanism with the existing Galaxy code.

Working Languages English

Zett Rubrikktjenester AS, Oslo, Norway
(February 2005 to June 2005)

Position Systems Developer ("Systemutvikler")
Responsibilities Writing software for internal systems integration.
Working Languages Norwegian

Ementor ASA, Oslo, Norway
(May 2001 to October 2004)

Position Senior Consultant ("Seniorkonsulent")
Responsibilities Principally, working on project assignments for different Ementor customers. Additionally, participating in internal activities such as proposal and documentation reviews.

Implementation of Web user interfaces and supporting services (including Web services) for a public sector data access application, using JSP and Java, SOAP, XML, XSLT, Apache (Axis, Cocoon, Tomcat, httpd) and C++ technologies.

Acting as "release manager" for release 1.0 of an internal Java-based Web application development framework, performing quality assurance, writing documentation, developing new features and supporting interested parties. This framework has been used in several Ementor projects.

Development of new Web services for a customer in the online classified advertisements market, using JSP and Java technologies. Development of XML services and tools using XSLT, Java and various third-party libraries (such as Apache Xerces/Xalan).

Working Languages Norwegian, some English

Infercor AS, Oslo, Norway
(October 1998 to April 2001)

Position Consultant (Software Engineer)
Responsibilities Development of software in Java and Python, using JDBC, ODBC and Sybase APIs. Configuration of Sun Solaris and Windows NT and bundled software. Integrating the company's software with third-party software and systems.

Developing database "emulation" software in Java in order to re-create the behaviour of one database management system (UniData) on another (Sybase ASE).

Re-implementing components of the company's user interface technology in Python in order to facilitate application development on open database platforms.

Participating in working groups, led by a major consultancy group, to improve company procedures. Preparing proposals for improved revision control systems and documentation.

Integrating third-party fax software (Zetafax) and commerce software (Navision, Visma) with the company's product (Infer) using tools such as Python, Samba and standard Unix utilities.

Working Languages English, some Norwegian

CERN, Geneva, Switzerland
(August 1996 to August 1998)

Position CERN Fellow
Responsibilities Development, maintenance and support of software for the Electronic Document Handling (EDH) project in the Administrative Support, Systems and User Interfaces (AS-SU) group. Electronic documents are implementations of paper forms found at CERN in certain administrative procedures, and are used via in-house client software and World Wide Web browsers.

Developing interactive electronic forms as part of a small team using the C, C++, and Java programming languages and Oracle database access tools.

Investigating more effective development methods in order to improve productivity and re-use within the project. Prototyping software in the Python programming language and utilising CORBA-related products (such as Xerox PARC's ILU).

Providing user support for the project's software. Responding to reports through the use of the Remedy request tracking system. Maintaining existing software through the development of updates and fixes.

Working Languages English, French

CERN, Geneva, Switzerland
(July 1995 to September 1995)

Position Summer Student
Responsibilities Development of software, and evaluation of software tools in the AS-SU group.

Developing a tool for operators to carry out basic maintenance tasks for the EDH project, using the Perl programming language (supporting Oracle database access and the Curses terminal output toolkit).

Developing an early World Wide Web viewing capability for the EDH project, where EDH documents were converted from an in-house format to HTML, using the C programming language, in conjunction with proprietary project libraries.

Working Languages English

Academic Achievements

Qualifications BSc. (Hons.) Computer Science (First), Heriot-Watt University, Edinburgh, Scotland.

The Andrew Stewart Prize, during university studies.

The Governors' Silver Medal, academic achievement at Advanced Level.

Other Qualifications

1990-1992 Advanced Level: Chemistry (A), General Studies (A), Mathematics (A), Physics (A).
1988-1990 GCSE: 7 A grades, 1 B grade.


I have in recent years developed interests in photography, electronics, retrocomputing and open computing hardware.

I have been a member of the Fellowship of the Free Software Foundation Europe, and volunteered to improve one of the organisation's online services, providing visual consistency with other services along with an informal calendar solution for members.

From 2006 until 2010, I was an organising volunteer for the EuroPython conference (a volunteer-run conference for the Python community in Europe). This involved contributing and maintaining the conference Web site, running registration and producing timetables, badges and publicity materials, communicating with sponsors and attendees, acting as event volunteer and session chair.

Starting from an involvement in the CERN Ski Club I have reached a reasonable level of proficiency in the sport of snowboarding and have continued to snowboard since moving to Norway. I go swimming regularly, play squash and football occasionally, and have previously played badminton very occasionally. Once upon a time, I played the piano and the clarinet.