My home page is here.
Table of Contents
Macquarie University, Sydney
Doctor of Philosophy in Mathematics 2011-2015
Christ's College, University of Cambridge
Part III Mathematics (MMATH) 2010-2011
Bachelor's degree in Mathematics (BA) 2007-2010
Jan 2020 - Present
Senior software developer (11 months); Director of technology (Current)
- Designed, developed and distributed a cross-platform mobile and web application to combine existing textbook content with new interactive questions. Used TypeScript, SQLite and Capacitor.
- Created a local development environment for an existing Java web application. Used Docker, NGINX and Firejail to locally develop features that spanned multiple production servers.
- Constructed a Web API for automatically scheduling examinations. Used Java Servlets and MySQL.
- Designed and implemented a grade book which allows instructors to specify a custom weighted marking algorithm.
Cybera Data Science Fellowship
Data science fellow
- Collaborated with an industry partner to clean, explore and analyse 7 years of live events data stored in a PostgreSQL database with over 13 million entries.
- Used Python scripts and Jupyter notebooks for data cleaning and exploration. Used the R programming language for data analysis and modelling.
- Used the Plotly Express visualisation library for histograms, scatter plots, box plots, choropleth maps etc.. Constructed a generalised linear model (GLM) for analysing count data and a log linear model for analysing sales data.
University of Calgary
Sep 2017-Sep 2019
- Designed and completed projects in pure mathematics and computer science leading to a publication in a peer-reviewed journal and another paper under review.
- Used the Coq programming language in seminar series on HoTT.
- Created a formal proof of a well-known result in category theory using Coq.
- Provided mentoring support for two PhD students.
- Reviewed two papers for mathematics journals.
- Organised the University of Calgary Peripatetic Seminar (Dec 2017-May 2019) and chaired a session of the Alberta Mathematics Dialogue 2018.
- Used Jupyter notebooks to lecture 4 classes of around 230 students each.
Jun 2016-Aug 2017
Software engineer (5 months); Chief technology officer (9 months)
- Developed a cross-platform mobile and desktop application to teach A-level mathematics using interactive graphs, videos and integrated testing. Used F#, .NET and Xamarin.
- Created a web front-end and API for teachers to track student progress.
- Showcased application at the BETT education technology conference.
Debate Chamber Ltd.
Jul 2016-Aug 2016
Summer school tutor
- Guided classes of around 14 A-level students through university level material using a combination of presentations, exercises and group work.
Masaryk University, Brno
Oct 2015-Nov 2015
Visiting postdoctoral researcher
- Plenary speaker at the multi-disciplinary Eduard Cech Institute Workshop.
Macquarie University, Sydney
Jan 2012-Dec 2013
- Demonstrated solutions on the whiteboard for three undergraduate mathematics courses.
- Guided and motivated first year students at the drop-in centre.
- Fog of war chess: (https://github.com/mwpb/fogofwarchess) Library to play a variant of chess in which the player can only see squares to which they can move. Proof of concept at fogofwarchess.com.
- Advent of code: (https://github.com/mwpb/adventOfCode2019) Java solutions to all problems in the 2019 advent of code.
- Colimits in Coq: Computer verification of a result in category theory using the coq proof assistant. Available at https://github.com/mwpb/postulated-colimits-in-coq.
- Java prettier formatter: A formatter for Java files that uses the Prettier formatter. Available at https://marketplace.visualstudio.com.
- Cryptopals challenges: (https://github.com/mwpb/matasano-go) Solutions written in Go. Work in progress: currently first three sets completed.
- Kaggle Box Office Predictions: (https://github.com/mwpb/kaggle-projects) Competition to predict the revenue of films. Uses IPython and Google Colab.
Professional development and prizes
2018: Mitacs online workshop: Managing Project Timelines
2016: University of Michigan on Coursera: Using Python to Access Web Data
2016: University of Michigan on Coursera: Using Databases with Python
2008: Christ's College Whelan Prize for First Class Examination Performance
- Tangent infinity-categories and Goodwillie calculus. Joint with Kristine Bauer and Michael Ching. Available at arXiv.
- Involution algebroids: a generalisation of Lie algebroids for tangent categories. Joint with Benjamin MacAdam. Available at arXiv.
- A Synthetic Version of Lie’s Second Theorem. Applied Categorical Structures, 2018.02.06. Available at arXiv and publisher.
- Connected Lie Groupoids are Internally Connected and Integral Complete in Synthetic Differential Geometry. Symmetry, Integrability and Geometry: Methods and Applications, 2016.06.29. Available at arXiv and publisher.