Published: Jun 2023

Open-source contributions

Here are some of my contributions to open-source software over the years:

Here are some of the things I developed in my day job at the NCI National Facility. They're probably available under a GPL or BSD style open source license if you're interested. Contact for access.

  • nfrcp, a souped-up version of the traditional unix rcp command. It uses a multithreaded, double-buffered reader and writer to speed up file copies, and can maintain a database of checksums so that file corruption can be detected. For more details, see the manual page.
  • License Shadowing Daemon, a mechanism for controlling the scheduling of jobs on a supercomputer cluster when application software licenses are involved.

    LSD consists of a server process (the daemon) and a client-side library. The daemon maintains the state of the system and communicates with the job schedulers and license servers. It also has a built in web server so its state can be easily inspected. The client side library is called by the job schedulers to communicate with the daemon. For more details, see the manual page or the slides from a presentation I gave during development.

  • Mancini. Mancini is designed to handle the administration of users and projects for organisations that provide access to large-scale computational and data-storage resources for a large user community.

    Mancini is written in Python, using the Django web-application framework, and consists of

    • A web application, served by a web server as a WSGI (Python) application
    • A database that holds information about users, projects and other things.
    • One or more "agents" (daemons) that look in the database for actions to carry out. This is the way that users get added to LDAP, directories get created on filesystems etc.

    Mancini was designed to limit the amount of havoc that can be wreaked in the event of a database or web application compromise. In particular, the web application does not have access to any stored credentials that allow the addition or modification of entries in the LDAP name service.