Transitopia Map Update (May 2025)
See what's changed on the updated Transitopia Cycling map.
See what's changed on the updated Transitopia Cycling map.
See what's changed on the updated Transitopia Cycling map.
A short tutorial on creating a UI plugin framework in React
I wrote about the newly launched improvements to graph visualization in Neolace.
A short tutorial on an easy way to decompress files with Deno.
It turns out that writing a parser is... surprisingly easy with the right tool!
(26 min video) Launched in 2020, LabXchange is a life sciences education platform powered by Open edX, and now freely available at www.labxchange.org. This talk explains how LabXchange was built using Open edX, with a focus on the lessons learned, contributions, and insights that will be useful for others who integrate with or build on Open edX as a platform.
A blog post I coauthored after the Open edX Core Committers Program had been around for one year, reviewing its successes and previewing its upcoming expansion.
A tech talk / demo about deploying multiple instances of the Open edX LMS onto Kubernetes.
(46 min video) Together with David Ormsbee, I gave a talk about "Blockstore", the new content storage system we're building for Open edX.
This is a quick update to my tutorial on hosting Django Apps on Ubuntu with Nginx and uWSGI. I recently wanted to move to a mix of Python 3.4 and Python 2.7 web apps on one of my servers that was set up as described in that tutorial. Here's how to do that.
The company I work for is looking to hire another C++ developer. So I got to thinking about interview questions in general, and questions that would demonstrate an understanding of C++ pointer arithmetic in particular. Then an interesting question occurred to me.
When we launched the Okanagan Car Share Co-op (OGO) in Kelowna this August, we needed to set up a phone number for the co-op. We wanted a local phone number, the ability for our staff to answer the incoming calls during business hours, after-hours voicemail, and a 24/7 "emergency" line that co-cop members can call if they are having any problems with one of the co-op's cars. I proposed a VoIP solution to the board that we went forward with; it cost us nothing to setup, with no investment hardware or physical installation, and has all the features we wanted for under $50 per month.
An old article about a specific way of hosting a django application.