In revisiting the history of Oulipo, it’s useful to consider this
@@ -221,13 +242,7 @@ href="https://www.goodreads.com/book/show/26196054-one-hundred-twenty-one-days">
Hundred Twenty-One Days, that traces Mathematicians lives through
World War I and II.
-
diff --git a/epicpedia_2024/2024-10-21-SI25-NOTES.md b/epicpedia_2024/2024-10-21-SI25-NOTES.md
index e91e8a4..680d42b 100644
--- a/epicpedia_2024/2024-10-21-SI25-NOTES.md
+++ b/epicpedia_2024/2024-10-21-SI25-NOTES.md
@@ -9,8 +9,30 @@
## Oulipo
-* https://oulipo.net/
-* https://oulipo.net/fr/contraintes/s7
+
+
+
+## N+7, an algorithm?
+
+In Oulipo, their *protocols* are defined as *constraints*,
+You could also usefully consider N+7 as an example of an *algorithm*.
+
+![](A_Computer_Glossary-Algorithm.png)
+
+*
+*
+
+## Another famous constraint: No e
+
+La Disparation (A Void in English), by Georges Perec
+
+*
+*
+
+
+## Oulipo *zines*
+
+
## Who are the Women of Oulipo? (a constraint ;)
@@ -37,20 +59,7 @@ A quick summary (with repaired links):
* Valérie Beaudouin's [Metrometer](https://academic.oup.com/dsh/article-abstract/11/1/23/969581?redirectedFrom=fulltext&login=false), a method
* Michèle Audin's [One Hundred Twenty-One Days](https://www.goodreads.com/book/show/26196054-one-hundred-twenty-one-days), that traces Mathematicians lives through World War I and II.
-## Oulipo *zines*
-
-
-
-## Algorithm
-
-N+7 is useful as an example of an *algorithm*.
-
-![](A_Computer_Glossary-Algorithm.png)
-
-
-## N+7
-
-
+## N+7 applied
Let's feed the first paragraph of [Who are the Women of Oulipo](https://www.catranslation.org/feature/who-are-the-women-of-oulipo/) to get from:
@@ -80,26 +89,31 @@ to absurd (n+7)
* [Allison Parrish](https://www.decontextualize.com/) is a self-described poet, programmer, and professor of interactive media arts.
Her work often contains examples of code and libraries that resonate with many of the protocols from Die Maschine, and the techniques of Oulipo.
-
-
## Unknown Unknowns
Self-publishing project + publications from Angie Waller
-*Last Night Bust Stop Yoga Pants, Chicago Illinois*
+## Reading like a computer
-Example.
+Reading like a computer, 2018
+*
+*
+*
-## Epicpedia
+## Last Night Bus Stop Yoga Pants (Love Unknown Romance)
-[notes on epicpedia](epicpedia_2024_notes.html)
+
-## Han Kang as script...
+*Last Night Bus Stop Yoga Pants, Chicago Illinois*
-If time perform? or just read.
+
+
+## Epicpedia
+
+[notes on epicpedia](epicpedia_2024_notes.html)
## Rhetorical Space
@@ -118,26 +132,46 @@ Lorraine Code, Rhetorical Spaces, Essays on Gendered Locations (1995)
Each constraint (or freedom), determines a rhetorical space, of possible meaning, but which also determines the kinds of collaboration that can (and should) take place within it.
+## In-class exercise
-## Exercise
+1. As a group: choose a text (Women of Oulipo, TOS, Definition of Rhetorical Space?)
+2. Starting in pairs, develop some protocols/algorithms to treat the chosen text. Perform your algorithm *by hand* (or *on paper*) -- ie not with code.
-As a group: choose a text (Women of Oulipo, TOS, Definition of Rhetorical Space?)
-
-Starting in pairs, develop some protocols/algorithms to treat the chosen text. Perform your algorithm *by hand* (or *on paper*) -- ie not with code.
+In
## Exercises for over break
+For over the break, think about a protocol/algorithm/constraint that you would like to try to implement in a web page (using HTML + javascript, and eventually other libraries or APIs).
+
+It's important to formulate an objective that is attainable. If coding is new to you, start with something relvatively simple or perhaps already well-defined, but which still interests you such as:
+
* Metronome (could work with just an audio tag, webaudio api and/or libraries like tonejs or pizzicato).
* n+7 generator
-Would be good to visit each to find a suitable project, make sure good resources are available.
-
-?>?
+What resources do you need?
* https://developer.mozilla.org/en-US/docs/Web/JavaScript
-[Install our own jsbin?](https://jsbin.com/help/running-a-local-copy-of-jsbin/)
+## Readings+Listenings for the break
+
+*The Laurence Rassel Show* is a radio show made in 2007, a collaboration between the art and media org Constant (where Laurence Rassel was a core member at the time), and DJ/musician Terre Thamlitz.
+
+Consider, some different links of the progam online, from Terre Thamlitz's own site, to an archival copy of publicrec.org (with supporting documents), to the physical CD (in library):
+
+*
+*
+
+And contrast with less contextualized presence on other networks:
+*
+*
+*
+
+READINGS to go with TLRS...
+
+* [Roland Barthes, Death of the Author](https://hub.xpub.nl/bootleglibrary/book/249)
+* [Peggy Phelan, from Unmarked](https://hub.xpub.nl/bootleglibrary/read/833/pdf#page=23)
+* [Michel Foucault, What is an Author](https://hub.xpub.nl/bootleglibrary/read/260/pdf#page=113)
diff --git a/epicpedia_2024/epicpedia_2024.html b/epicpedia_2024/epicpedia_2024.html
deleted file mode 100644
index c12e3f7..0000000
--- a/epicpedia_2024/epicpedia_2024.html
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/epicpedia_2024/epicpedia_2024.ipynb b/epicpedia_2024/epicpedia_2024.ipynb
deleted file mode 100644
index 4b8cd49..0000000
--- a/epicpedia_2024/epicpedia_2024.ipynb
+++ /dev/null
@@ -1,118 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "id": "e2544890-3bb4-4457-a4c3-9711121c59f9",
- "metadata": {},
- "source": [
- "Epicpedia: graduation work made in 2008 by Networked Media student Annemieke van der Hoek \n",
- "https://pzwiki.wdka.nl/mediadesign/Epicpedia\n",
- "\n",
- "Later Annemieke would present the work, in collaboration with her sister as a theater performance and workshop at VJ12: \n",
- "https://video.constantvzw.org/vj12/epicpedia.ogv\n",
- "\n",
- "Following example begrudginly given here: \n",
- "https://stackoverflow.com/questions/52283962/how-to-find-textual-differences-between-revisions-on-wikipedia-pages-with-mwclie\n",
- "\n",
- "https://www.mediawiki.org/wiki/API:Compare\n",
- "\n",
- "\n",
- "Considering: \n",
- "https://en.wikipedia.org/wiki/Han_Kang\n",
- "\n",
- "Oldest revision: \n",
- "https://en.wikipedia.org/w/index.php?title=Han_Kang&oldid=376586279\n",
- "\n",
- "Thanks, Fred, now I see that there's a [REST API](https://www.mediawiki.org/wiki/API:REST_API) as well. Not sure what the differences are.\n",
- "\n",
- "Also using the URLSearchParams class in js: \n",
- "https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n",
- "\n",
- "Using the classic/action API, there's page > revisions: \n",
- "https://www.mediawiki.org/wiki/API:Revisions\n",
- "\n",
- "Examples given on API:Revisions page:\n",
- "\n",
- "Last 5 edits\n",
- "\n",
- "https://www.mediawiki.org/w/api.php?action=query&prop=revisions&titles=MediaWiki&rvlimit=5&rvprop=timestamp|user|comment\n",
- "\n",
- "first edits\n",
- "\n",
- "https://www.mediawiki.org/w/api.php?action=query&prop=revisions&titles=MediaWiki&rvlimit=5&rvprop=timestamp|user|comment&rvdir=newer\n",
- "\n",
- "Adding ids and flags\n",
- "\n",
- "https://www.mediawiki.org/w/api.php?action=query&prop=revisions&titles=MediaWiki&rvlimit=5&rvprop=timestamp|user|comment|ids|flags&rvdir=newer\n",
- "\n",
- "adapted to Han Kang's entry:\n",
- "\n",
- "https://www.mediawiki.org/w/api.php?action=query&prop=revisions&titles=Han_Kang&rvlimit=5&rvprop=timestamp|user|comment|ids|flags&rvdir=newer\n",
- "\n",
- "https://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Han%20Kang&rvlimit=5&rvprop=timestamp|user|comment|ids|flags&rvdir=newer\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "id": "b3a48c4e-dcb3-4fa7-9524-e4fc8eae8a39",
- "metadata": {},
- "outputs": [
- {
- "ename": "ModuleNotFoundError",
- "evalue": "No module named 'mwclient'",
- "output_type": "error",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
- "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
- "Cell \u001b[0;32mIn[1], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mmwclient\u001b[39;00m\n\u001b[1;32m 3\u001b[0m revisions \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(page\u001b[38;5;241m.\u001b[39mrevisions(prop\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mids\u001b[39m\u001b[38;5;124m'\u001b[39m)) \n\u001b[1;32m 4\u001b[0m last_revision_id \u001b[38;5;241m=\u001b[39m revisions[\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m][\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mrevid\u001b[39m\u001b[38;5;124m'\u001b[39m]\n",
- "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'mwclient'"
- ]
- }
- ],
- "source": [
- "import mwclient\n",
- "\n",
- "revisions = list(page.revisions(prop='ids')) \n",
- "last_revision_id = revisions[-1]['revid']\n",
- "first_revision_id = revisions[0]['revid']\n",
- "compare_result = site.get('compare', fromrev=last_revision_id, torev=first_revision_id)\n",
- "html_diff = compare_result['compare']['*']\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "f710d169-e284-4e27-834b-e31d98d7bf63",
- "metadata": {},
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3 (ipykernel)",
- "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.11.2"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 5
-}
diff --git a/epicpedia_2024/epicpedia_2024.js b/epicpedia_2024/epicpedia_2024.js
deleted file mode 100644
index 841b029..0000000
--- a/epicpedia_2024/epicpedia_2024.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var url = "https://en.wikipedia.org/w/api.php";
-
-var params = {
- action: "compare",
- format: "json",
- fromtitle: "Template:Unsigned",
- totitle: "Template:UnsignedIP",
- origin: "*"
-
-};
-fetch(url + "?" + (new URLSearchParams(params)).toString())
- .then(resp => resp.json())
- .then(data => {
- console.log("data", data);
- })
- .catch(err => {
- console.log("bad", err);
- });
diff --git a/epicpedia_2024/radio_plays.html b/epicpedia_2024/radio_plays.html
deleted file mode 100644
index e080c2e..0000000
--- a/epicpedia_2024/radio_plays.html
+++ /dev/null
@@ -1,172 +0,0 @@
-
-
-
-
-
-
- radio_plays
-
-
-
-