Saturday, February 29, 2020

Authoring Open Educational Resources using only Open Source Software

Recently a leader in the Alberta OER community, Michael McNally, suggested that it is difficult or impossible to only use open source software (OSS) when creating open educational resources (OER). I agree with his point that using only OSS doesn't make OER more "pure", but perhaps it is still an interesting challenge.

Here are some of my suggestions, please comment if anything is missing. And I do understand the hypocrisy of posting this on a Google-hosted blog.

Writing Text

Text is still often the primary medium for OER, and there are a number of great open-source text-authoring tools. LibreOffice is a great office suite, and it is similar to traditional office suites so there shouldn't be much of a learning curve.

If you prefer collaborative writing, perhaps check out Nextcloud. You'll need to host it somewhere, if you are in Alberta consider Cybera's Rapid Access Cloud which uses OpenStack.

Diagrams and Graphics

Inkscape is a great vector editing and layout program. For image editing and creation, check out GIMP, Krita, or MyPaint.


One of the best simple audio recording and editing programs is also open source, Audacity. There are others, of course, but it should do everything you need.


My favorite open-source video editing program is Open Shot, but you may also want to check out Shotcut.

Hosting video is another issue, though. You can host videos in a learning management system such as Moodle, or check out alternatives such as MediaGoblin, Kaltura, or ClipBucket.

Operating System

Linux has gotten much easier to install and use if you'd like to replace Windows or MacOS. My current favorite distribution is Peppermint.


As previously mentioned, Albertans can avoid the big five cloud providers by running servers on RAC, but your institution may have self-hosted instances of Pressbooks or similar open-source hosting platforms.

Hopefully those cover anything you may need to use when creating OER with OSS. In some cases these tools are preferable to commercial products.

Of course if you are philosophically opposed to proprietary software then you are probably already familiar with most of these.

As always, please comment if you have any other suggestions.

Monday, February 3, 2020

Getting new copies of Jupyter notebooks with shutil and nbgitpuller

Getting a Fresh Set of Jupyter Notebooks

If you would like to update your copy of notebooks, for example on the Callysto Hub, you can delete the folder and pull the files from GitHub again. This is useful if something no longer works, or if the repository has been updated.

Unfortunately you can’t just select a directory in Jupyter hub and delete it if it contains files. One way to delete a folder, though, is to use the Python command shutil.rmtree() which is a shell utility command that will remove a whole directory tree.

To remove a folder, create a new Python 3 notebook in the same folder as the one you want to delete (but not inside the folder to be deleted).

In a code cell, type (or paste) the following two lines:

import shutil

Replace curriculum-notebooks with the name of the folder you would like to delete. Then run the cell, and you should see that the folder no longer exists.

Then you can click on an nbgitpuller link, for example from, that pulls down a new copy of the repository or notebook files that you are interested in.

You can also see the process in this video.