Skip to content

Commit

Permalink
Update README.md for new course website
Browse files Browse the repository at this point in the history
  • Loading branch information
benhylau committed Sep 25, 2018
1 parent dbce526 commit 20dba2a
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 43 deletions.
62 changes: 21 additions & 41 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,26 @@
# Building the Peer-to-Peer Internet
_**Workshop Series** by [Toronto Mesh](https://tomesh.net)_

[![Build Status](https://travis-ci.org/tomeshnet/p2p-internet-workshop.svg?branch=master)](https://travis-ci.org/tomeshnet/p2p-internet-workshop)
[![GitHub release](https://img.shields.io/github/release/tomeshnet/p2p-internet-workshop.svg)](https://github.com/tomeshnet/p2p-internet-workshop/releases)

**Workshop Series** _by Toronto Mesh_, [tomesh.net/peer-to-peer-internet](https://tomesh.net/peer-to-peer-internet/)

## Description

Participants will learn about community networks, wireless mesh networks, distributed applications, and train their pet Raspberry Pi to do networking things. While this course assumes no technical expertise, all sessions contain a technical hands-on component and a reflection activity to explore the role of technologies on our society. A socially-minded tinkerer who enjoys a collaborative learning experience will be the ideal participant.

Participants will be expected to bring their own laptop.
This course can be facilitated in an environment without internet access. Participants will be expected to bring their own laptop.

**Schedule:** Tuesdays April 10 - May 15, [register through the Toronto Public Library workshop](https://www.torontopubliclibrary.ca/detail.jsp?Entt=RDMEVT23011&R=EVT23011)
**Duration:** 1.5 hours per week for 6 weeks
**Discussion:** https://chat.tomesh.net/#/room/#reading-networks:tomesh.net
**Discussion:** [#p2p-internet-workshop:tomesh.net](https://chat.tomesh.net/#/room/#p2p-internet-workshop:tomesh.net)

## Module Topics

1. [What is mesh?](./module-1/README.md)
1. [Setting up your first node](./module-2/README.md)
1. [Building nodes (hardware)](./module-3/README.md)
1. [Planning a network](./module-4/README.md)
1. [Measuring networks](./module-5/README.md)
1. [Living on a decentralized network](./module-6/README.md)
1. [What is mesh?]({{ site.baseurl }}/articles/module-1/)
1. [Setting up your first node]({{ site.baseurl }}/articles/module-2/)
1. [Building nodes (hardware)]({{ site.baseurl }}/articles/module-3/)
1. [Planning a network]({{ site.baseurl }}/articles/module-4/)
1. [Measuring networks]({{ site.baseurl }}/articles/module-5/)
1. [Living on a decentralized network]({{ site.baseurl }}/articles/module-6/)

## Learning Outcomes

Expand All @@ -35,15 +33,15 @@ Participants will be expected to bring their own laptop.

## Expectations

- TPL will provide Raspberry Pi 2s and 3s
- A set of hardware is available for each participant
- Participants will bring their own laptop
- Participants will receive primer information via a [welcome email](./general/welcome-email.txt), which includes [laptop setup instructions](./SETUP.md), a Linux shell primer, and a [pre-workshop survey](./general/pre-workshop-survey.md)
- Participants will receive primer information via a [welcome email]({{ site.baseurl }}/articles/general/general-welcome-email.pdf), which includes [laptop setup instructions]({{ site.baseurl }}/articles/general/general-laptop-setup-instructions.pdf), a Linux shell primer, and a [pre-workshop survey]({{ site.baseurl }}/articles/general/general-pre-workshop-survey.pdf)
- Participants are comfortable using a computer before, with no assumptions about prior programming or networking knowledge

## Facilitation Guidelines

- Each module should be presented by a lead facilitator driving the session according to the lesson plan
- Aim to have one helper for every 3 to 4 students, responsible for:
- Aim to have one helper for every 6 students, responsible for:
- Providing assistance during hands-on sections
- Keeping groups on schedule for each activity
- Having one helper observe the class and providing feedback ([sample reflection questions](http://www.teachhub.com/teaching-strategies-value-self-reflection))
Expand All @@ -54,38 +52,20 @@ Participants will be expected to bring their own laptop.

## Workshop Materials

Workshop materials such as lesson plans and worksheets are written as simple [Markdown](https://en.wikipedia.org/wiki/Markdown) files. Each presentation slide deck is created as a Markdown-based [GitBook](https://www.gitbook.com). All generated assets are published to [GitHub Pages individually](https://github.com/tomeshnet/p2p-internet-workshop/tree/gh-pages) and [GitHub Releases as an archive](https://github.com/tomeshnet/p2p-internet-workshop/releases) for download.

If you want to generate these assets yourself, simply run `./install-dependencies.sh` and `./build.sh` and you will find the generated assets in the `output` folder. The `./package.sh` script is used to zip up the generated assets into archives convenient for download, which is the form you will find in the GitHub Releases.

Travis CI is configured to build, package, and publish a new release to GitHub Releases when you push a new tag, so to publish a new package, all you need is to find the current version with `git tag`, and if the next one should be `v0.4`, you do:

git tag v0.4
git push --tag

When using the GitBook presentations at a workshop, you can either:

- Load the appropriate module from GitHub Pages, such as [module-1-presentation](https://tomeshnet.github.io/p2p-internet-workshop/module-1-presentation/index.html)
- Or serve the slides from your local machine by cloning this repository, navigate to the appropriate presentation directory of the module to run `gitbook serve`, then navigate to [localhost:4000](http://localhost:4000) from your browser to see the slides
Class materials are written as [Markdown](https://en.wikipedia.org/wiki/Markdown) files and presentation slides are created as a Markdown-based [GitBook](https://www.gitbook.com). All generated assets are hosted on [GitHub Pages]({{ site.baseurl }}/) and packaged as a downloadable archive on [GitHub Releases](https://github.com/tomeshnet/p2p-internet-workshop/releases/latest).

## Course Design
When facilitating the workshop in an offline environment, you can run `gitbook serve` from a `presentation` directory to serve the slides on `http://localhost:4000`.

### Objectives
If you want to generate course assets yourself, simply run `./install-dependencies.sh` and `./build.sh`. You will find the generated assets in the `output` folder. The `./package.sh` script is used to zip up the generated assets into downloadable archives and to create the course website.

- Create syllabus with sufficient flexibility so it can be adapted to Toronto Libraries in other areas and other settings
- With a community network project as basis, establish regular hack nights at the Toronto Libraries' Innovation Hubs
- Engage students and equip them with necessary knowledge to continue involvement in local mesh community efforts
- Publish this as open-source syllabus that other communities can adopt to kick-start a mesh community
[Travis CI](https://travis-ci.org/) is configured to build, package, and publish a new release to GitHub Pages and Releases whenever a new tag is pushed. So all you need to create a new release is to push a new tag with `git tag <version>` and `git push --tag`.

## Credits

### Credits
The first version of this syllabus is created by [Toronto Mesh](https://tomesh.net) contributors: [@benhylau](https://github.com/benhylau), [@darkdrgn2k](https://github.com/darkdrgn2k), [@dcwalk](https://github.com/dcwalk), [@uditvira](https://github.com/uditvira), [@Shrinks99](https://github.com/Shrinks99), and [@Pedro-on-a-bike](https://github.com/Pedro-on-a-bike). While most of the material is created new, the course also incorporates many prior works listed [here]({{ site.baseurl }}/articles/general/general-extra-resources.pdf), or otherwise reference in their individual course modules.

- [@benhylau](https://github.com/benhylau)
- [@darkdrgn2k](https://github.com/darkdrgn2k)
- [@uditvira](https://github.com/uditvira)
- [@Pedro-on-a-bike](https://github.com/Pedro-on-a-bike)
- [@Shrinks99](https://github.com/Shrinks99)
- [@dcwalk](https://github.com/dcwalk)
Hands-on activities rely on software from many projects: [mesh-orange](https://github.com/tomeshnet/mesh-orange), [mesh-router-builder](https://github.com/benhylau/mesh-router-builder), [mesh-workshop](https://github.com/benhylau/mesh-workshop/), [steamlink](https://github.com/steamlink), [cjdns](https://github.com/cjdelisle/cjdns/), [Yggdrasil](https://yggdrasil-network.github.io/about.html), [IPFS](https://ipfs.io/), [Secure Scuttlebutt](https://github.com/ssbc/). Course material generation uses [markdown-pdf](https://github.com/alanshaw/markdown-pdf) and [gitbook-cli](https://github.com/GitbookIO/gitbook-cli). The course website is built with [Jekyll](https://jekyllrb.com/), and the theme is from [Mozilla's Open Leadership Training Series](https://github.com/mozilla/open-leadership-training-series). Icons from [Font Awesome](http://fontawesome.io/) and [Jake Ingman](https://thenounproject.com/search/?q=mesh&i=74809) are used.

## License

All Building the Peer-to-Peer Internet workshop materials at [github.com/tomeshnet/p2p-internet-workshop/](https://github.com/tomeshnet/p2p-internet-workshop/) are licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/), the text of which is included in the repository [`LICENSE`](./LICENSE).
All _Building the Peer-to-Peer Internet_ workshop materials at [github.com/tomeshnet/p2p-internet-workshop/](https://github.com/tomeshnet/p2p-internet-workshop/) are licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/), the text of which is included in the repository `LICENSE` file.
2 changes: 1 addition & 1 deletion SETUP.md → general/laptop-setup-instructions.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Setup Instructions
# Laptop Setup Instructions

To participate in the workshop, you will need access to the software described below. You will also need an up-to-date web browser.

Expand Down
2 changes: 1 addition & 1 deletion package.sh
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ for mod in module-*; do
filename="$mod.pdf"
echo "* [$filename]($filename)" >> "$dst/pdf-assets.md"

if [ -f output/$mod/worksheet/*.pdf ]; then
if [ -f "output/$mod/worksheet/*.pdf" ]; then
echo "" >> "$dst/pdf-assets.md"
echo "### Class worksheets" >> "$dst/pdf-assets.md"
for doc in output/$mod/worksheet/*.pdf; do
Expand Down

0 comments on commit 20dba2a

Please sign in to comment.