The First Library Carpentry Workshop in Africa

Aug 25-26, 2016

9:00 - 17:00

Instructors: Cam Macdonell

Helpers: Martie Van Deventer, Anelda Van Der Walt, Martin Dreyer

The organizers are grateful to NeDICC, North-West University and Talarify for their support of this workshop.

General Information

Library Carpentry is not an official organization, but a group of people who want to extend the mission of Software Carpentry and Data Carpentry to help librarians learn the tools that are fast becoming common place for all walks of librarians. This hands-on workshop will cover basic concepts and tools, and include discussions to elicit feedback about what exactly Library Carpentry should be in order to be of service to librarians all over the world. Participants will be encouraged to help one another and to apply what they have learned to their own library problems.

For more information on the origins of Software Carpentry please see the following paper "Best Practices for Scientific Computing".

Who: The workshop is aimed at Librarians interested to learn skills relevant to the Library of the Future. The workshop will also include a lesson sprint to familiarise participants with lesson design and contribution to allow further development of materials relevant to the South African Library Community. No prior programming experience is required. Everyone is welcome. Limited space available.

Where: CSIR. Get directions with OpenStreetMap or Google Maps.

Requirements: Participants must bring a laptop with a Mac, Linux, or Windows operating sytem (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below). They are also required to abide by Software Carpentry's Code of Conduct.

Accessibility: We are committed to making this workshop accessible to everybody. The workshop organisers have checked that:

Materials will be provided in advance of the workshop and large-print handouts are available if needed by notifying the organizers in advance. If we can help making learning easier for you (e.g. sign-language interpreters, lactation facilities) please get in touch and we will attempt to provide them.

Contact: Please mail mvandeve AT csir DOT co DOT za for more information.

Flyer: Here is the original flyer for this workshop.


Schedule

Day 1

09:00 Introductions, IceBreaking and Jargon-busting.
09:30 Intro to Library Carpentry
10:30 Tea/Coffee
11:00 Formatting Data and Library Carpentry
12:30 Lunch
13:15 OpenRefine
15:15 Tea/Coffee
15:30 More OpenRefine
16:30 Wrap-up

Day 2

09:00 Meeting the Library Carpentry Community
10:00 Collaborating with Github
10:30 Tea/Coffee
10:00 More Github
12:30 Lunch break
13:30 Lesson Sprint - learning to contribute
15:00 Tea/Coffee
15:30 Lesson Sprint continues
16:30 Wrap-up

Etherpad: http://pad.software-carpentry.org/2015-08-25-CSIR.
We will use this Etherpad for chatting, taking notes, and sharing URLs and bits of code.


Syllabus

Data Management in Speadsheets

  • Formatting data & problems
  • Dates as data
  • Quality control
  • Exporting data
  • Data format caveats
  • Cleaning data with OpenRefine

Collaborating with Git

  • Creating a repository
  • Recording changes to files: add, commit, ...
  • Viewing changes: status, diff, ...
  • Ignoring files
  • Working on the web: clone, pull, push, ...
  • Sharing your work
  • Where to host work, and why
  • Reference...

Setup

To get the most out of this Library Carpentry workshop, you will need access to the software described below. In addition, you will need an up-to-date web browser.

We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.

Git

Git is a version control system that lets you track who made changes to what when and has options for easily updating a shared or public version of your code on github.com. You will need a supported web browser (current versions of Chrome, Firefox or Safari, or Internet Explorer version 9 or above).

You will need an account at github.com for parts of the Git lesson. Basic GitHub accounts are free. We encourage you to create a GitHub account if you don't have one already. Please consider what personal information you'd like to reveal. For example, you may want to review these instructions for keeping your email address private provided at GitHub.

Windows

Git should be installed on your computer as part of your Bash install (described above).

Mac OS X

Video Tutorial

For OS X 10.9 and higher, install Git for Mac by downloading and running the most recent "mavericks" installer from this list. After installing Git, there will not be anything in your /Applications folder, as Git is a command line program. For older versions of OS X (10.5-10.8) use the most recent available installer labelled "snow-leopard" available here.

Linux

If Git is not already available on your machine you can try to install it via your distro's package manager. For Debian/Ubuntu run sudo apt-get install git and for Fedora run sudo yum install git.

Text Editor

When you're writing code, it's nice to have a text editor that is optimized for writing code, with features like automatic color-coding of key words. The default text editor on Mac OS X and Linux is usually set to Vim, which is not famous for being intuitive. if you accidentally find yourself stuck in it, try typing the escape key, followed by :q! (colon, lower-case 'q', exclamation mark), then hitting Return to return to the shell.

For all operating systems, we recommend the Atom editor. However if you are already familiar with another text editor, feel free to use it.

Spreadsheet Program

For this workshop you will need a spreadsheet program. Many people already have Microsoft Excel installed, and if you do, you're set!

If you need a spreadsheet program, there are a few other options, like OpenOffice and LibreOffice. Install instructions for LibreOffice, which is free and open source, are here.

  1. Download the Installer
    Install LibreOffice by going to the installation page. The version for Windows should automatically be selected. Click on the button below "Main Installer" Download Version x.y.z. You will go to a page that asks about a donation, but you don't need to make one. Your download should begin automatically.
  2. Install LibreOffice
    Once the installer is downloaded, double click on it and it should install.
  3. To use LibreOffice, double click on the icon and it will open.

OpenRefine

OpenRefine (previously Google Refine) is a tool for data cleaning that runs through a web browser, and any browser - Safari, Firefox, Chrome, Explorer - should work fine. You will need to download OpenRefine and install it, and when you open it, it will run through the browser, but you don't need an internet connection, and the data will all be stored on your computer.

Windows

  1. Go to the OpenRefine download page
  2. Click on Windows kit to download the install file
  3. To use it, unzip, and double-click on openrefine.exe (if you're having issues with openrefine.exe try refine.bat instead)
  4. OpenRefine will then open in your web browser.
  5. If it doesn't open automatically, open a web broswer after you've started the program and go to the URL http://localhost:3333 and you should see OpenRefine.

Mac

  1. Go to the OpenRefine download page
  2. Click on Mac kit to download the install file
  3. To use it, unzip, drag the openrefine icon to the Applications folder, and then double click on the icon.
  4. OpenRefine will then open in your web browser.
  5. If it doesn't open automatically, open a web broswer after you've started the program and go to the URL http://localhost:3333 and you should see OpenRefine.

Linux

  1. Go to the OpenRefine download page
  2. Click on Linux kit to download the install file
  3. To use it, unzip, then type ./refine in a terminal to start
  4. OpenRefine will then open in your web browser.
  5. If it doesn't open automatically, open a web broswer after you've started the program and go to the URL http://localhost:3333 and you should see OpenRefine.

OpenRefine may require you to install Java, please follow the instructions it provides to do so.