notebooks for collaborative tools session

master
manetta 2 years ago
parent 281309b7ef
commit a6bc48017e

@ -26,21 +26,6 @@
"Who has the power to make decisions?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Protocols in flux\n",
"\n",
"* code of conduct\n",
"* membership guidelines\n",
"* terms of service\n",
"* commitment statements\n",
"* meeting guidelines\n",
"* collaboration agreements\n",
"* ...\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
@ -115,16 +100,27 @@
"* Zulip/Rocketchat/Mattermost (free and open source software, but there are many more of this kind of tools, such as Slack/Discord/Microsoft Teams/etc/etc/etc/...)\n",
"* Git issue tracker\n",
"* MediaWiki discussion pages\n",
"* mailinglists\n",
"* (self-hosted) chat environments\n",
"* ...\n",
"\n",
"## Shared environment\n",
"## Shared environments\n",
"\n",
"* shared file storage\n",
"* text-editing in real time\n",
"* terminal sharing in real time\n",
"* shared server\n",
"* ...\n",
"\n"
"\n",
"## Protocols in flux\n",
"\n",
"* code of conduct\n",
"* membership guidelines\n",
"* terms of service\n",
"* commitment statements\n",
"* meeting guidelines\n",
"* collaboration agreements\n",
"* ...\n"
]
},
{
@ -306,26 +302,39 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Jupyter Pi\n",
"## tmux\n",
"\n",
";)\n",
"Tmux: a terminal multiplexer\n",
"\n",
"https://git.xpub.nl/XPUB/jupyterpi"
"Sharing a terminal in real time.\n",
"\n",
"https://pzwiki.wdka.nl/mediadesign/Tmux\n",
"\n",
"![](https://upload.wikimedia.org/wikipedia/commons/5/50/Tmux.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## tmux\n",
"## Jupyter Pi\n",
"\n",
"Tmux: a terminal multiplexer\n",
";)\n",
"\n",
"Sharing a terminal in real time.\n",
"https://git.xpub.nl/XPUB/jupyterpi\n",
"\n",
"https://pzwiki.wdka.nl/mediadesign/Tmux\n",
"Which brings all sorts of ways to collaborate **and** is now updated to make use of a **new feature**: *real-time collaborative notebooks* (!)\n",
"\n",
"![](https://upload.wikimedia.org/wikipedia/commons/5/50/Tmux.png)"
"https://blog.jupyter.org/how-we-made-jupyter-notebooks-collaborative-with-yjs-b8dff6a9d8af\n",
"\n",
"`!!! NEEDS TESTING !!!`\n",
"\n",
"To use it, you need to be logged in to the soupboat with the same user.\n",
"\n",
"We made a `shared` user account that you can use for this. \n",
"\n",
"* login: https://hub.xpub.nl/soupboat/~shared/__lab__/\n",
"* password: The password will be shared ;)."
]
},
{
@ -334,7 +343,9 @@
"source": [
"## API's\n",
"\n",
"These 3 collaboration tools also come with an API: \n",
"Most of these tools also have an API (ta-ta-ta-tam!)\n",
"\n",
"These API's make it possible to think of all sorts of other forms of collaboration, types of collective practice and software sociality. The allow for stretching existing tools and adding new features. The API's make the tools open ended for other types of usages. \n",
"\n",
"* https://pzwiki.wdka.nl/mw-mediadesign/api.php (the XPUB course wiki API)\n",
"* https://git.xpub.nl/api/swagger (the XPUB Gitea API)\n",

@ -0,0 +1,123 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Oh my Git!\n",
"\n",
"![](https://post.lurk.org/system/cache/media_attachments/files/107/763/566/139/941/382/original/a9f23a7691b7845e.png)\n",
"\n",
"XPUB's Git: https://git.xpub.nl/\n",
"\n",
"Git introduction tutorial: https://rogerdudler.github.io/git-guide/\n",
"\n",
"Visual cheat sheet: https://ndpsoftware.com/git-cheatsheet.html"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Most commonly used git commands\n",
"\n",
"`git pull`\n",
"\n",
"`git status`\n",
"\n",
"`git log`\n",
"\n",
"`git add filename.txt`\n",
"\n",
"`git commit -m \"my short summary of what has changed\"`\n",
"\n",
"`git push`"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Clone, branch, merge & forking\n",
"\n",
"`git clone https://git.xpub.nl/username/repository_name`\n",
"\n",
"`git checkout`\n",
"\n",
"`git merge`\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Oh my Git, let's do it \n",
"\n",
"We will make a Git repository together, that includes:\n",
"\n",
"* `playcard.html`: the most epic playcard ever\n",
"* `playcard.css`: CSS rules to style the playcard\n",
"* `playcard.ipynb`: notebook in which we generate a PDF based on the HTML + CSS files\n",
"* `.gitignore`: a gitignore file that includes the notebook: we do not want to push changes in the notebook back to git\n",
"* `README.md`: a README file written in markdown"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Possible way how Git's features can be used?\n",
"\n",
"* How to write a narrative story in git... ? Like imagine mapping the idea of parallel branches to a world with parallel realities \n",
"\n",
"\n",
"![](https://i.redd.it/3nypv8br5f301.jpg)\n",
"\n",
"https://i.redd.it/3nypv8br5f301.jpg"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Diving further into Git: *Oh shit Git!*\n",
"\n",
"<img src=\"https://wizardzines.com/zines/oh-shit-git/cover_hu820f401f4c3f84d12801fd52a338b934_1141571_800x0_resize_q75_box.jpg\" width=\"300px\">\n",
"\n",
"https://ohshitgit.com/\n",
"\n",
"https://wizardzines.com/zines/oh-shit-git/\n",
"\n",
"https://hub.xpub.nl/bootleglibrary/read/741/pdf"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}

@ -0,0 +1,96 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Collective playcard generating time!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Git cheatsheet\n",
"\n",
"`git pull`\n",
"\n",
"`git status`\n",
"\n",
"`git log`\n",
"\n",
"`git add filename.txt`\n",
"\n",
"`git commit -m \"my short summary of what has changed\"`\n",
"\n",
"`git push`"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Generate playcard.pdf"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"from weasyprint import HTML, CSS\n",
"\n",
"HTML(filename='playcard.html').write_pdf('playcard.pdf', stylesheets=[CSS(filename='playcard.css')])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Weasyprint links\n",
"\n",
"https://doc.courtbouillon.org/weasyprint/stable/\n",
"\n",
"https://weasyprint.org/"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## CSS links\n",
"\n",
"https://pzwiki.wdka.nl/mediadesign/Paged_Media_CSS_examples"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Loading…
Cancel
Save