My personal website
A non-exhaustive list of various software projects I have developed or contributed to over the years.
lettuce-io/lettuce-core:
Fix: Support TLS CA only verification when connecting to a Redis Cluster. Improvements made to refresh logging.
actix/actix-web:
⭐ Features: Added a type safe multipart form extractor.
juhaku/utoipa:
Features: Added support for various parts of the OpenAPI specification.
OpenAPITools/openapi-generator:
Various improvements to the Rust code generators. Member of Rust technical committee.
tmccombs/tls-listener:
Features: Added native-tls and openssl library support, made it possible to reload TLS certificates at runtime, with
examples.
lettre/lettre:
Features: Added support for configuring local IP addresses, added functions to allow access to the TLS peer certificate.
stephaneyfx/brightness:
⭐ Features: Added support for Windows. Fix: Ensure blocking and async is used appropriately.
Turasa/libsignal-service-java:
Fix: Ensure that the WebSocketConnection respects the ConnectionSpecs.
libvirt/libvirt-rust:
Fix: Removed invalid functions, added test case to ensure symbols are valid.
⭐ Solar Screen Brightness
https://github.com/jacob-pro/solar-screen-brightness
A Windows & Linux desktop application to smoothly adjust monitor brightness according to sunrise/sunset times.
⭐ Actix Extensible Rate Limit
https://github.com/jacob-pro/actix-extensible-rate-limit
Rate limiting middleware for the actix-web framework, with support for a variety of custom and advanced use-cases.
Sunrise Sunset Calculator
https://github.com/jacob-pro/sunrise-sunset-calculator
A library for computing times of sunrise and sunset based on latitude / longitude. Implementations in C and Rust.
⭐ WSL2 DNS Agent
https://github.com/jacob-pro/wsl2-dns-agent
A utility for automatically updating WSL2 DNS configs when using a VPN.
cspice-rs
https://github.com/jacob-pro/cspice-rs
Rust bindings and high-level safer APIs for NASA’s SPICE Toolkit
mdBook Bibfile Referencing
https://github.com/jacob-pro/mdbook-bibfile-referencing
A plugin for mdBook (Rust online book generator) that adds a Pandoc generated bibliography to each chapter.
Calpol
https://github.com/jacob-pro/calpol
A health monitor that tests HTTP and SMTP servers on a regular interval, checking that they are up and have valid
certificates etc. Tests exceeding a failure threshold trigger automated SMS and email notifications. The service
is manageable via a REST API and CLI client.
Kiwi Joinery
https://github.com/kiwi-joinery
Developed a website for a joinery company including:
- The public facing website (HTML/CSS/JavaScript).
- A REST API using Rust (Actix Web & Diesel frameworks, Postgres).
- An administration website using Rust WASM (Yew Framework).
Docker Certbot HAProxy
https://github.com/jacob-pro/docker-certbot-haproxy
A docker image for automating LetsEncrypt Certbot certificate rotation with HAProxy.
Docker OpenVPN Router
https://github.com/jacob-pro/docker-openvpn-router
A docker image that creates a NAT router behind an OpenVPN tunnel.
Some interesting software projects during my degree at the University of Bristol (2018-2021):
COMS10009 Object Oriented Programming (Y1):
https://github.com/jacob-pro/scotland-yard
A game written using JavaFX. I developed a substantial extension to the game to support online multiplayer using
websockets.
COMS20805 Software Product Engineering (Y2, Group Project):
A group project to develop a prototype app for the Bristol Medical School ‘coMforT’ to be used for ‘Mindfulness-based
Cognitive Therapy’.
- Developed the backend server using Java, Spring Boot, Hibernate, Postgres, and OpenAPI, with extensive integration tests.
- Setup a CI/CD pipeline using CircleCI to compile/test the sever, OpenAPI client libraries, Android app, and deploy to Amazon Elastic Container Registry.
- Made contributions to the Android app (Java)
COMS20001 Concurrent Computing (Y2):
https://github.com/jacob-pro/game-of-life
High performance concurrent implementations of Conway’s Game of Life, written in Go and Rust.
https://github.com/jacob-pro/arm-kernel
Developed a basic operating system kernel targeting ARM Cortex;
using Rust and C in an unhosted / bare-metal environment.
COMS30046 - Advanced Computer Architecture (Y3)
https://github.com/jacob-pro/processor-simulator
Implemented an out-of-order superscalar processor simulator, capable of running small programs compiled
for the ARM Cortex M0 instruction set in ELF format.
Commercial projects while employed at Createanet (Aug 2017 - Aug 2018):
hrn - world ratings
https://appadvice.com/app/hrn-world-ratings/1318772006
Developed an iOS social media and reviews app (Objective-C) and the entire REST API to power it (PHP/MySQL).
Features included user profiles with photo, video and status posts, a timeline, comments, and push notifications.
Punti Verdi
https://appadvice.com/app/punti/1434540547
Developed the iOS app (Objective-C) for a coffee shop rewards program.
GEAV Contractor Control
https://appadvice.com/app/geav-contractor-control/1304304792
Developed an iOS health and safety forms app (Objective-C).
Implemented a form controls library configurable with JSON (text input, radio buttons, dropdowns, signature input, etc.).
Also performed substantial maintenance on the REST API and admin website codebase (PHP/MySQL).
Circles
https://appadvice.com/app/circles-group-video-chat/1273432314
Redeveloped the iOS app (Swift) as well as the REST API (PHP/MySQL) for a group video call app.
Sentimento
Jointly developed the iOS app (Objective-C) for a photo storage / sharing service.
myAllergy Passport
https://apps.apple.com/gb/app/myallergy-passport/id1437609648
Developed the iOS app (Objective-C) for sharing allergy information.
Whitecroft Lighting
https://www.apkmonk.com/app/uk.co.createanet.whitecroft/
Developed the website (PHP/MySQL) used to administer their sales management app.