Selected Projects
Transitopia
(In early development) An online map of cycling, pedestrian, and transit routes. Currently only shows cycling.
Active: 2024 - present
Role: Sole developer
www.transitopia.orgtransitopia/transitopia-webCalendarDate
A tiny, high performance TypeScript library for dealing with calendar dates like "August 15, 2023".
Active: 2023 - present
Role: Sole developer
CalendarDatequantity-math-js
A TypeScript library for dealing with numbers with units like "10 meters".
Active: 2022 - present
Role: Sole developer
quantity-math-jsNeolace
A next-generation knowledge graph platform. Like a wiki that has keeps itself up to date and has integrated review workflows and graph visualizations.
Active: 2021 - 2023
Role: Lead developer
neolaces3-lite-client
A lightweight but powerful S3 client
Active: 2021 - present
Role: Sole developer
s3-lite-clientVertex Framework
A TypeScript graph data management framework that adds type safety and ORM-like features to Neo4j.
Active: 2020 - 2023
Role: Sole developer
vertex-frameworkTechNotes
An open engineering library that aimed "to provide a comprehensive, open, practical library of technological knowledge."
Active: 2020 - 2023
Role: Founder, lead developer
LabXchange
LabXchange is a very feature-rich life sciences education platform and community, powered by Open edX, Django, and Discourse. An OpenCraft project.
Active: 2018 - 2020
Role: Lead developer
www.labxchange.orgBORIS
Game engine and mobile web app that powers "Apocalypse Made Easy", an outdoor, team-based apocalypse survival training game.
Active: 2017 - 2019
Role: Lead developer
from-the-storm/BORISRatio
Simple, flexible web application for managing personal budgets.
Active: 2017
Role: Sole developer
ratioOpen edX SAML/Shibboleth Integration
I was the lead developer of the new SSO features of the Open edX Cypress release, which included SAML/Shibboleth integration. An OpenCraft project.
Active: 2015
Role: Lead developer
open.edx.orgedx-platform PR 8140Open edX Content Libraries
I led the engineering design and implementation of the new "Content Libraries" feature of the Open edX platform. An OpenCraft project.
Active: 2015
Role: Lead developer
edx.readthedocs.ioedx-platform PR 6459Agents of Nature
Place-based educational adventure game for kids that can only be played in parks.
Active: 2011 - 2014
Role: Lead developer
agentsofnature.comExplore150 App
Location-based app to connect with Canadian historic and cultural sites, as part of Canada's sesquicentennial celebrations.
Active: 2013 - 2014
Role: Lead developer
www.explore150.caOGO Website
I developed and maintained the website for the OGO Car Share Co-op.
Active: 2013 - 2018
Role: Sole developer
ogocarshare.caDisseminate
An application for displaying synchronized multimedia presentation on a group of iPads via an ad-hoc Bluetooth or Wi-Fi mesh network.
Active: 2014
Role: Sole developer
Quotations Collection
A collection of my favourite quotations.
Active: 2006 - present
bradenmacdonald.coms3eMapView
An extension for the Marmalade Mobile Game SDK that implements native geographical map support on iOS and Android.
Active: 2012 - 2013
Role: Sole developer
marmalade/s3eMapViewastrodendro
A Python package for computation and analysis of astronomical data using dendrograms.
Active: 2011 - 2012
Role: Major contributor
www.dendrograms.orgdendrograms/astrodendroQuantified Comparison of Molecular Cloud Structure
My undergraduate thesis: using "dendrograms" to produce a quantified difference score between two data sets representing molecular clouds. Also led to this paper.
Active: 2011 - 2012
static.bradenm.comastrocube
Python package for loading and viewing radio astronomy data cubes.
Active: 2011 - 2012
Role: Sole developer
astrocubeDifferential Cryptanalysis Example
An Excel workbook to help understand and teach differential cryptanalysis. Includes code for a working attack.
Active: 2011
Role: Author
DiffCryptDemoGet to Know Website
This non-profit program's complex website supports their numerous initiatives. I developed the site with PHP for several years and later re-wrote it using Django.
Active: 2008 - 2014
Role: Lead developer
www.get-to-know.orgMorningstar Office
I designed and spec'd Morningstar Interactive's unique eco-friendly Kelowna office space, which was featured in Armstrong Ceiling & Wall Systems 2013/14 catalogue.
Active: 2010
Nexus
Custom time tracking, payroll, and password management software used at Morningstar Interactive.
Active: 2009 - 2014
Role: Sole developer
Scholarium
Scholarium was a Facebook app that let university students share their timetable, find classmates, and rate professors. It had a few thousand users, and according to random people, it was one of the best Facebook apps for students. Sadly, I can't find a screenshot.
Active: 2006 - 2008
Role: Sole developer
Tom Mah Karate
I designed, developed, and maintained the website for Tom Mah School of Karate and the Kelowna Traditional Martial Arts & Fitness Centre, which included a custom-built CMS, photo gallery, and other apps written from scratch.
Active: 2001 - 2007
Role: Sole developer & designer
KDE User Account Control Module
One of my first open-source projects - a KDE control center module for viewing and changing basic information about your UNIX user account, such as full name, password, or the user avatar seen in kdm.
Active: 2003
Role: Author of the first version
Part of plasma-desktop