Topic: Process

Lessons I Learned from Creating a MOOC

Posted in Process

The first MOOC course​ that I worked on​ was a three-part series based on the Civil War and Reconstruction​ taught by Professor Eric Foner. I've learned many valuable lessons on how to design an effective course using the edX platform. I gathered some best practices to share with others interested in creating MOOCs.

Massing and Patching of MATCH and PASS: Towards Sustainability

Posted in Process

In this first of a three-part summary, we recount the circumstances that drove the decision to migrate two dental school projects, MATCH and PASS, to an open and sustainable framework. We also listed a few questions that we must address before moving forward with the implementation.

Rebuilding CompilED

Posted in Process

We moved CompilED to Hugo, a general-purpose static site generator, to test this framework’s flexibility and durability to accommodate our blog’s requirements and workflow. This post outlines how we converted CompilED from Movable Type, streamlined its user experience, and optimized the site for accessibility, responsive design, and searchability.

Python Deployment Chronicles: Pinning virtualenv, setuptools and pip

Posted in Process

In my previous post I talked about how to ensure that none of your Python project's dependencies are being downloaded from the Internet when you create a fresh virtualenv and install them. This is good for deployments: each deployment is completely reproducible since every package's source is installed from a specific version of the codebase that's versioned alongside the code you're deploying, and deployments don't require external network access to succeed.

Python Deployment Chronicles: Preventing network access with “pip install”

Posted in Process

Anders has written several times about our deployment strategy for Django apps at CCNMTL. Aside from containment of each project with virtualenv, we also try to make sure that deployments never depend on anything external, and can be done without access to the wider Internet. We do this by an aggressive form of version pinning: in each project's repository, we check in source tarballs of all the project's dependencies, including Django itself. We then have a pip requirements file that points to each of these local files in order. (Here's an example, and the bootstrap script that uses it.)

Simplify, Simplify, Simplify

Posted in Process

I see programmers as inherently helpful people. Given a 57-step flowchart describing the steps some poor soul has to execute manually, most programmers get a little gleam in their eye and set about providing a streamlined solution. Programmers truly love removing those inefficiencies. Meanwhile, the customer stops wrestling with a frustrating system and gets on with his job.

Follow CompilED: