updates to notes

main
Michael Murtaugh 1 month ago
parent 67c0255247
commit e1e4602010

@ -168,10 +168,31 @@ Experimentalism</a>)</li>
<li>An (off-screen) Exercise</li> <li>An (off-screen) Exercise</li>
</ul> </ul>
<h2 id="oulipo">Oulipo</h2> <h2 id="oulipo">Oulipo</h2>
<p><a href="https://oulipo.net/" class="uri">https://oulipo.net/</a></p>
<h2 id="n7-an-algorithm">N+7, an algorithm?</h2>
<p>In Oulipo, their <em>protocols</em> are defined as
<em>constraints</em>,<br />
You could also usefully consider N+7 as an example of an
<em>algorithm</em>.</p>
<p><img src="A_Computer_Glossary-Algorithm.png" /></p>
<ul>
<li><a href="https://oulipo.net/fr/contraintes/s7"
class="uri">https://oulipo.net/fr/contraintes/s7</a></li>
<li><a href="http://www.spoonbill.org/n+7/"
class="uri">http://www.spoonbill.org/n+7/</a></li>
</ul>
<h2 id="another-famous-constraint-no-e">Another famous constraint: No
e</h2>
<p>La Disparation (A Void in English), by Georges Perec</p>
<ul> <ul>
<li>https://oulipo.net/</li> <li><a href="https://fr.wikipedia.org/wiki/La_Disparition_(roman)"
<li>https://oulipo.net/fr/contraintes/s7</li> class="uri">https://fr.wikipedia.org/wiki/La_Disparition_(roman)</a></li>
<li><a href="https://oulipo.social/about"
class="uri">https://oulipo.social/about</a></li>
</ul> </ul>
<h2 id="oulipo-zines">Oulipo <em>zines</em></h2>
<p><a href="https://oulipo.net/fr/publications"
class="uri">https://oulipo.net/fr/publications</a></p>
<h2 id="who-are-the-women-of-oulipo-a-constraint">Who are the Women of <h2 id="who-are-the-women-of-oulipo-a-constraint">Who are the Women of
Oulipo? (a constraint ;)</h2> Oulipo? (a constraint ;)</h2>
<p>In revisiting the history of Oulipo, its useful to consider this <p>In revisiting the history of Oulipo, its 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</a>, that traces Mathematicians lives through Hundred Twenty-One Days</a>, that traces Mathematicians lives through
World War I and II.</li> World War I and II.</li>
</ul> </ul>
<h2 id="oulipo-zines">Oulipo <em>zines</em></h2> <h2 id="n7-applied">N+7 applied</h2>
<h2 id="algorithm">Algorithm</h2>
<p>N+7 is useful as an example of an <em>algorithm</em>.</p>
<p><img src="A_Computer_Glossary-Algorithm.png" /></p>
<h2 id="n7">N+7</h2>
<p><a href="http://www.spoonbill.org/n+7/"
class="uri">http://www.spoonbill.org/n+7/</a></p>
<p>Lets feed the first paragraph of <a <p>Lets feed the first paragraph of <a
href="https://www.catranslation.org/feature/who-are-the-women-of-oulipo/">Who href="https://www.catranslation.org/feature/who-are-the-women-of-oulipo/">Who
are the Women of Oulipo</a> to get from:</p> are the Women of Oulipo</a> to get from:</p>
@ -285,8 +300,24 @@ techniques of Oulipo.</li>
<p>Self-publishing project + publications from Angie Waller</p> <p>Self-publishing project + publications from Angie Waller</p>
<p><a href="https://www.unknownunknowns.org/" <p><a href="https://www.unknownunknowns.org/"
class="uri">https://www.unknownunknowns.org/</a></p> class="uri">https://www.unknownunknowns.org/</a></p>
<p><em>Last Night Bust Stop Yoga Pants, Chicago Illinois</em></p> <h2 id="reading-like-a-computer">Reading like a computer</h2>
<p>Example.</p> <p>Reading like a computer, 2018</p>
<ul>
<li><a
href="https://www.unknownunknowns.org/product/reading-like-a-computer"
class="uri">https://www.unknownunknowns.org/product/reading-like-a-computer</a></li>
<li><a href="https://www.theguardian.com/news/series/facebook-files"
class="uri">https://www.theguardian.com/news/series/facebook-files</a></li>
<li><a
href="https://www.theguardian.com/news/gallery/2017/may/24/hate-speech-and-anti-migrant-posts-facebooks-rules"
class="uri">https://www.theguardian.com/news/gallery/2017/may/24/hate-speech-and-anti-migrant-posts-facebooks-rules</a></li>
</ul>
<h2 id="last-night-bus-stop-yoga-pants-love-unknown-romance">Last Night
Bus Stop Yoga Pants (Love Unknown Romance)</h2>
<p><a
href="https://www.unknownunknowns.org/category/love-unknown-romance"
class="uri">https://www.unknownunknowns.org/category/love-unknown-romance</a></p>
<p><em>Last Night Bus Stop Yoga Pants, Chicago Illinois</em></p>
<h2 id="epicpedia">Epicpedia</h2> <h2 id="epicpedia">Epicpedia</h2>
<p><a href="epicpedia_2024_notes.html">notes on epicpedia</a></p> <p><a href="epicpedia_2024_notes.html">notes on epicpedia</a></p>
<h2 id="han-kang-as-script">Han Kang as script…</h2> <h2 id="han-kang-as-script">Han Kang as script…</h2>

@ -9,8 +9,30 @@
## Oulipo ## Oulipo
* https://oulipo.net/ <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)
* <https://oulipo.net/fr/contraintes/s7>
* <http://www.spoonbill.org/n+7/>
## Another famous constraint: No e
La Disparation (A Void in English), by Georges Perec
* <https://fr.wikipedia.org/wiki/La_Disparition_(roman)>
* <https://oulipo.social/about>
## Oulipo *zines*
<https://oulipo.net/fr/publications>
## Who are the Women of Oulipo? (a constraint ;) ## 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 * 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. * 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* ## N+7 applied
## Algorithm
N+7 is useful as an example of an *algorithm*.
![](A_Computer_Glossary-Algorithm.png)
## N+7
<http://www.spoonbill.org/n+7/>
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: 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. * [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. 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 ## Unknown Unknowns
Self-publishing project + publications from Angie Waller Self-publishing project + publications from Angie Waller
<https://www.unknownunknowns.org/> <https://www.unknownunknowns.org/>
*Last Night Bust Stop Yoga Pants, Chicago Illinois* ## Reading like a computer
Example. Reading like a computer, 2018
* <https://www.unknownunknowns.org/product/reading-like-a-computer>
* <https://www.theguardian.com/news/series/facebook-files>
* <https://www.theguardian.com/news/gallery/2017/may/24/hate-speech-and-anti-migrant-posts-facebooks-rules>
## Epicpedia ## Last Night Bus Stop Yoga Pants (Love Unknown Romance)
[notes on epicpedia](epicpedia_2024_notes.html) <https://www.unknownunknowns.org/category/love-unknown-romance>
## 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 ## 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. 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?) In
Starting in pairs, develop some protocols/algorithms to treat the chosen text. Perform your algorithm *by hand* (or *on paper*) -- ie not with code.
## Exercises for over break ## 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). * Metronome (could work with just an audio tag, webaudio api and/or libraries like tonejs or pizzicato).
* n+7 generator * 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 * 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):
* <https://www.comatonse.com/writings/2007_laurencerasselshow.html>
* <http://publicrec.org/archive/2-01/2-01-014/2-01-014.html>
And contrast with less contextualized presence on other networks:
* <https://www.discogs.com/master/191938-Laurence-Rassel-Terre-Thaemlitz-The-Laurence-Rassel-Show>
* <https://soundcloud.com/fedoriko/useless-movement>
* <https://www.youtube.com/watch?v=9_LNOBUAmLI>
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)

@ -1,20 +0,0 @@
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<input id="title" type="text" />
<button id="go">go</button>
<script src="epicpedia_2024.js"></script>
<script>
let title_elt = document.querySelector("#title");
let go_elt = document.querySelector("#go");
go_elt.addEventListener("click", e => {
let title = title_elt.value;
console.log("search for article named", title);
});
</script>
</body>
</html>

@ -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
}

@ -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);
});

@ -1,172 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>radio_plays</title>
<style>
html {
line-height: 1.5;
font-family: Georgia, serif;
font-size: 20px;
color: #1a1a1a;
background-color: #fdfdfd;
}
body {
margin: 0 auto;
max-width: 36em;
padding-left: 50px;
padding-right: 50px;
padding-top: 50px;
padding-bottom: 50px;
hyphens: auto;
overflow-wrap: break-word;
text-rendering: optimizeLegibility;
font-kerning: normal;
}
@media (max-width: 600px) {
body {
font-size: 0.9em;
padding: 1em;
}
h1 {
font-size: 1.8em;
}
}
@media print {
body {
background-color: transparent;
color: black;
font-size: 12pt;
}
p, h2, h3 {
orphans: 3;
widows: 3;
}
h2, h3, h4 {
page-break-after: avoid;
}
}
p {
margin: 1em 0;
}
a {
color: #1a1a1a;
}
a:visited {
color: #1a1a1a;
}
img {
max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 1.4em;
}
h5, h6 {
font-size: 1em;
font-style: italic;
}
h6 {
font-weight: normal;
}
ol, ul {
padding-left: 1.7em;
margin-top: 1em;
}
li > ol, li > ul {
margin-top: 0;
}
blockquote {
margin: 1em 0 1em 1.7em;
padding-left: 1em;
border-left: 2px solid #e6e6e6;
color: #606060;
}
code {
font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
font-size: 85%;
margin: 0;
}
pre {
margin: 1em 0;
overflow: auto;
}
pre code {
padding: 0;
overflow: visible;
overflow-wrap: normal;
}
.sourceCode {
background-color: transparent;
overflow: visible;
}
hr {
background-color: #1a1a1a;
border: none;
height: 1px;
margin: 1em 0;
}
table {
margin: 1em 0;
border-collapse: collapse;
width: 100%;
overflow-x: auto;
display: block;
font-variant-numeric: lining-nums tabular-nums;
}
table caption {
margin-bottom: 0.75em;
}
tbody {
margin-top: 0.5em;
border-top: 1px solid #1a1a1a;
border-bottom: 1px solid #1a1a1a;
}
th {
border-top: 1px solid #1a1a1a;
padding: 0.25em 0.5em 0.25em 0.5em;
}
td {
padding: 0.125em 0.5em 0.25em 0.5em;
}
header {
margin-bottom: 4em;
text-align: center;
}
#TOC li {
list-style: none;
}
#TOC ul {
padding-left: 1.3em;
}
#TOC > ul {
padding-left: 0;
}
#TOC a:not(:hover) {
text-decoration: none;
}
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
</head>
<body>
<p>Georges Perec - Die Maschine</p>
<ul>
<li><a href="https://hub.xpub.nl/bootleglibrary/read/918/pdf">The
Machine: English translation</a></li>
<li><a href="https://hub.xpub.nl/bootleglibrary/book/789">Mainframe
Experimentalism</a>, Bellos article (chapter 2)</li>
<li><a
href="https://hub.xpub.nl/bootleglibrary/read/789/epub#epubcfi(/6/22%5Bchp02%5D!/4/2/4/1:0)"
class="uri">https://hub.xpub.nl/bootleglibrary/read/789/epub#epubcfi(/6/22[chp02]!/4/2/4/1:0)</a></li>
<li><a href="https://calibre.constantvzw.org/read/29/pdf">VJ12
programme</a></li>
</ul>
</body>
</html>

@ -1,7 +0,0 @@
Georges Perec - Die Maschine
* [The Machine: English translation](https://hub.xpub.nl/bootleglibrary/read/918/pdf)
* [Mainframe Experimentalism](https://hub.xpub.nl/bootleglibrary/book/789), Bellos article (chapter 2)
* <https://hub.xpub.nl/bootleglibrary/read/789/epub#epubcfi(/6/22[chp02]!/4/2/4/1:0)>
* [VJ12 programme](https://calibre.constantvzw.org/read/29/pdf)
Loading…
Cancel
Save