commit ea516e247444fc26177358989416de619facc1d2 Author: vitrinekast Date: Mon Feb 17 14:50:50 2025 +0100 split the newsletter repo diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f6fe39a --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +dist +venv \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..0274fda --- /dev/null +++ b/README.md @@ -0,0 +1,59 @@ +# README.md + +### Installation +Create a virtual python environment using ` python -m venv venv` +Activate the virtual environment using `source venv/bin/activate` +Install the packages using `pip install -r requirements.txt` + + +### Running +Compile the content into a static site using +``` +python app.py +``` + +This creates the "dist" directory, with all of the HTML in there. +At the moment, `dist` is part of the `.gitignore`! + + +### Writing Content +Within the `content` directory, you can create/edit markdown files. When compiling the markdown content, `app.py` will look for jinja templates in the `templates` directory. If the markdown file is in the root of `content`, it will try to load a template with the same filename as the markdown file. For instance, `about.md` will look for `about.jinja`. +If the markdown file is in a subdirectory, it will look for a template with the same name as the subdirectory. At the moment, there is no functionality for deep nested folders. So, `recipes/tomato-soup.md` wants `recipes.jinja`. If the template does not exist, the default template is `post.jinja`. + +The project uses [Jinja](https://jinja.palletsprojects.com/), which allows for extending templates, using variables, looping trough variables, and other funky features! + +Additionally, `component-inventory.csv` is loaded as a dataset. + +### Transclusion +You'll be able to transclude one markdown file into another, by applying the following syntax: + +```MARKDOWN +{! path-to-file.md !} +``` + +The transclusion package also allows for transcluding specific lines: + +```MARKDOWN +{! path-to-file.md!lines=1 3 8-10 2} +``` +In the example above, it would read the file and include the lines 1, 3, 8, 9, 10, 2. + + + + +### Metadata +Metadata can be applied to markdown files using FrontMatters YAML. The metadata is accessable in the jinja tempaltes using `page.{metadata}`. In the example below, this could be, `page.title`. + +```MARKDOWN +--- + +title: Capacitors +type: Capacitor +valueSymbol: unf +description: This is the description +--- +``` + + +### Assets +At the moment, the `src/assets` directory is copied to the `dist` folder, to apply CSS. diff --git a/app.py b/app.py new file mode 100644 index 0000000..b924c1b --- /dev/null +++ b/app.py @@ -0,0 +1,278 @@ +import os +from pathlib import Path +import shutil +import csv +import re +from datetime import datetime + +from jinja2 import Environment, PackageLoader, select_autoescape +import frontmatter +from slugify import slugify +import pypandoc + +import xml.etree.ElementTree as ET + + +# TODO make newsletter URL's absolute to klank.school +env = Environment( + loader=PackageLoader("src"), + autoescape=select_autoescape() +) + +CONTENT_D = os.path.abspath("src/content") +OUTPUT_D = "dist" +OUT_ASSETS = "dist/assets" +SRC_ASSETS = "src/assets" +documents = {} +now = datetime.now() + +# Utils +def getParam(params, index): + if len(params) > index: + return params[index] + else: + return False + + +# jinja filter that can list documents +def listDocuments(params): + param = params.split(" ") + template = env.select_template(["snippets/list-documents.jinja"]) + html = template.render(documents=documents, layout=param[0], type=param[1]) + + return html + +# jinja filter that can list events +def listEvents(params): + param = params.split(" ") + tag = getParam(param, 1) + + if "events" not in documents: + return "" + + events = [] + if tag: + for event in documents["events"]: + if "tags" in event: + if tag in event["tags"]: + events.append(event) + else: + events = documents["events"] + + template = env.select_template(["snippets/list-events.jinja"]) + html = template.render(events=events, filter=param[0], tag=getParam(param, 1)) + + return html + +# jinja filter to make a slug out of a stirng +def slugify_filter(value): + return slugify(value) + +# jinja filter for date formatting +def prettydate(value, format='%d/%m/%Y'): + return datetime.fromtimestamp(int(value)).strftime(format) + + +# jinja filter to replace shortcodes in HTML +def shortcode_filter(value): + + shortcode_callbacks = { + "show": listDocuments, + "events": listEvents + } + + def shortcode_replacer(match): + + shortcode_name = match.group(1).strip() + param = match.group(2).strip() + + if shortcode_name in shortcode_callbacks: + return shortcode_callbacks[shortcode_name](param) + + return match.group(0) + + pattern = re.compile(r"{{\s*(\w+)\s+([^{}]+?)\s*}}") + return pattern.sub(shortcode_replacer, value) + + +env.filters["shortcode"] = shortcode_filter +env.filters["slugify"] = slugify_filter +env.filters["prettydate"] = prettydate + +# translate a single file into HTML +def render_single_file(page, path, dist, name = False): + name = Path(path).stem + template = env.select_template([f"{name}.jinja", "index.jinja"]) + html = template.render(documents=documents, page=page, name=name) + + if not os.path.exists(dist): + os.makedirs(dist) + + with open(f"{dist}/{name}.html", "w", encoding="utf-8") as output_file: + output_file.write(html) + + +# find a pre-rendered page +def get_existing_page(path, slug): + stem = Path(path).stem; + folder = os.path.basename(os.path.dirname(path)) + + if stem == "index" and folder != "content": + folder = Path(path).parent.parent.name + + if slug in documents: + return documents[slug] + + if folder == "content": + return False + + for doc in documents[folder]: + if doc["slug"] == slug: + return doc + + return False + +# build a slug including the folder +def get_slug(path, folder, filename): + if folder == "content": + return slugify(filename) + else: + return slugify(f"{folder}/{filename}") + +# compile markdown into cited HTML +def get_page_data(path, isPreload=False): + + filename = Path(path).stem + folder = os.path.basename(os.path.dirname(path)) + slug = get_slug(path, folder, filename) + + prerendered = get_existing_page(path, slug) + + if prerendered: + return prerendered + + page = frontmatter.load(path) + page['slug'] = slug + page.filename = filename + page.folder = folder + latex = page.content + + if "start_datetime" in page: + page["has_passed"] = datetime.fromtimestamp(page["start_datetime"]) < now + + + if "`include" in page.content: + latex = pypandoc.convert_text( + page.content, + to='md', + format='md', + extra_args=[ + "-N", + "--section-divs", + "--lua-filter=include-files.lua" + ]) + + page.body = pypandoc.convert_text( + latex, + to="html", + format="md", + extra_args=[ + "-N", + "--section-divs", + "--citeproc" + ]) + + return page + +# Do stuff to the circuit's pcb +def save_circuit_svg(filepath, outpath, name): + + tree = ET.parse(filepath) + root = tree.getroot() + + # Extract current width/height (in pixels) + width_px = float(root.get("width", 0)) + height_px = float(root.get("height", 0)) + + DPI = 300 + + # Convert px to mm + width_mm = (width_px * 25.4) / DPI > 15 + height_mm = (height_px * 25.4) / DPI + + # Set new width/height in mm + root.set("width", f"{width_px}mm") + root.set("height", f"{height_px}mm") + + os.makedirs(outpath, exist_ok = True) + + + tree.write(f"{outpath}/{name}") + + +# combine HTML & data with Jinja templates +def render_posts(path, output_path=OUTPUT_D): + name = Path(path).stem + + for filename in os.listdir(path): + file_path = os.path.join(path, filename) + + if filename.endswith(".md"): + page = get_page_data(file_path) + render_single_file(page, file_path, f"{output_path}/{name}", name) + elif os.path.isdir(file_path): + render_posts(file_path, f"{output_path}/{name}") + elif filename.endswith(".svg"): + save_circuit_svg(file_path, f"{output_path}/{name}", filename) + elif Path(filename).suffix in [".jpeg", ".mp3", ".jpg", ".png"]: + shutil.copyfile(file_path, f"{output_path}/{name}/{filename}") + else: + print("doing nothing with", filename) + +# Pre-load before compiling +def preload_documents(): + print("preload any needed data") + documents["meta"] = {"now": now.strftime("%d %B %Y")} + + for subdir in os.listdir(CONTENT_D): + path = os.path.join(CONTENT_D, subdir) + + if os.path.isdir(path): + name = Path(path).stem + documents.setdefault(name, []) + + for filename in sorted(os.listdir(path)): + cpath = os.path.join(path, filename) + if filename.endswith(".md"): + documents[name].append(get_page_data(cpath, isPreload=True)) + elif os.path.isdir(cpath): + documents[name].append(get_page_data(os.path.join(cpath, "index.md"), isPreload=True)) + + elif Path(path).suffix == '.md': + documents[Path(path).stem] = get_page_data(path, isPreload=True) + + +def copy_assets(): + if os.path.exists(OUT_ASSETS): + shutil.rmtree(OUT_ASSETS) + + shutil.copytree(SRC_ASSETS, OUT_ASSETS) + + +def main(): + preload_documents() + + for subdir in os.listdir(CONTENT_D): + path = os.path.join(CONTENT_D, subdir) + + if os.path.isdir(path): + print("rendering posts", path) + render_posts(path) + elif Path(path).suffix == '.md': + render_single_file(get_page_data(path), path, OUTPUT_D) + elif Path(path).suffix in [".csv"]: + print("not compiling this file!") + + copy_assets() + +main() diff --git a/get_events.py b/get_events.py new file mode 100644 index 0000000..f19c4cf --- /dev/null +++ b/get_events.py @@ -0,0 +1,65 @@ +import os +from pathlib import Path +import requests +import frontmatter + +def get_API(URL): + + try: + response = requests.get(URL) + response.raise_for_status() + return response.json() + + except requests.exceptoins.RequestException as e: + raise Exception(f"Failed getting the API response: {e}") + + +def create_calendar_item(item, filepath): + print("i will create an item for", item) + + try: + details = get_API("https://calendar.klank.school/api/event/detail/" + item['slug']) + print(details) + post = frontmatter.Post(content=details["description"]) + + for key in details: + post[key] = details[key] + + + with open(filepath, 'wb') as f: + frontmatter.dump(post, f) + print(f"Created file: {filepath}") + + except Exception as e: + print(f"An error occurred while getting the calendar events: {str(e)}") + exit(1) + + +def get_calendar_events(): + Path("src/content/events").mkdir(parents=True, exist_ok=True) + + + # Also get non unrepair events. + try: + items = get_API("https://calendar.klank.school/api/events?start=-1") + + for item in items: + filename = f"{item['slug']}.md" + filepath = os.path.join("src/content/events", filename) + + if os.path.isfile(filepath): + print("oh it already exists") + else: + print("did not store this yet") + create_calendar_item(item, filepath) + + except Exception as e: + print(f"An error occurred while getting the calendar events: {str(e)}") + exit(1) + + +def main(): + get_calendar_events() + + +main() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..1256be2 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,11 @@ +importlib_metadata==8.5.0 +Jinja2==3.1.4 +Markdown==3.7 +MarkupSafe==3.0.2 +python-frontmatter==1.1.0 +python-slugify==8.0.4 +PyYAML==5.1 +requests==2.32.3 +text-unidecode==1.3 +zipp==3.21.0 +pypandoc==1.15 \ No newline at end of file diff --git a/src/assets/app.js b/src/assets/app.js new file mode 100644 index 0000000..b48b1ce --- /dev/null +++ b/src/assets/app.js @@ -0,0 +1,17 @@ +const dialog = document.querySelector("dialog"); +const closeDialog = (e) => { + e.stopPropagation(); + console.log("close") + dialog.close(); + document.body.removeEventListener("click", closeDialog); +} +const showLightbox = (e) => { + e.preventDefault(); + e.stopPropagation(); + const img = dialog.querySelector("img"); + img.src = e.currentTarget.src; + img.alt = e.currentTarget.alt; + dialog.querySelector("p").textContent = e.currentTarget.alt; + dialog.showModal(); + document.body.addEventListener("click", closeDialog, false); +} diff --git a/src/assets/apple-touch-icon.png b/src/assets/apple-touch-icon.png new file mode 100644 index 0000000..42573c9 Binary files /dev/null and b/src/assets/apple-touch-icon.png differ diff --git a/src/assets/favicon-16x16.png b/src/assets/favicon-16x16.png new file mode 100644 index 0000000..425a36e Binary files /dev/null and b/src/assets/favicon-16x16.png differ diff --git a/src/assets/favicon-32x32.png b/src/assets/favicon-32x32.png new file mode 100644 index 0000000..bb73c72 Binary files /dev/null and b/src/assets/favicon-32x32.png differ diff --git a/src/assets/favicon.ico b/src/assets/favicon.ico new file mode 100644 index 0000000..e4dee82 Binary files /dev/null and b/src/assets/favicon.ico differ diff --git a/src/assets/image.png b/src/assets/image.png new file mode 100644 index 0000000..8743c04 Binary files /dev/null and b/src/assets/image.png differ diff --git a/src/assets/pwa-192x192.png b/src/assets/pwa-192x192.png new file mode 100644 index 0000000..e51abb9 Binary files /dev/null and b/src/assets/pwa-192x192.png differ diff --git a/src/assets/pwa-512x512.png b/src/assets/pwa-512x512.png new file mode 100644 index 0000000..3f25222 Binary files /dev/null and b/src/assets/pwa-512x512.png differ diff --git a/src/assets/pwa-maskable-192x192.png b/src/assets/pwa-maskable-192x192.png new file mode 100644 index 0000000..7365443 Binary files /dev/null and b/src/assets/pwa-maskable-192x192.png differ diff --git a/src/assets/pwa-maskable-512x512.png b/src/assets/pwa-maskable-512x512.png new file mode 100644 index 0000000..7f6b692 Binary files /dev/null and b/src/assets/pwa-maskable-512x512.png differ diff --git a/src/assets/repair-logs/pokemon.jpeg b/src/assets/repair-logs/pokemon.jpeg new file mode 100644 index 0000000..93369c9 Binary files /dev/null and b/src/assets/repair-logs/pokemon.jpeg differ diff --git a/src/assets/repair-logs/pokemon.webp b/src/assets/repair-logs/pokemon.webp new file mode 100644 index 0000000..7c41f7b Binary files /dev/null and b/src/assets/repair-logs/pokemon.webp differ diff --git a/src/assets/styles/layout.css b/src/assets/styles/layout.css new file mode 100644 index 0000000..d4d0b5b --- /dev/null +++ b/src/assets/styles/layout.css @@ -0,0 +1,17 @@ +* { + box-sizing: border-box; +} +body, +html { + margin: 0 0; + padding: 0 0; + width: 100%; + height: 100%; +} + +article:not(article article) { + max-width: var(--article-w); + margin: 0 auto; + padding: 16px; +} + diff --git a/src/assets/styles/screen.css b/src/assets/styles/screen.css new file mode 100644 index 0000000..de5bc30 --- /dev/null +++ b/src/assets/styles/screen.css @@ -0,0 +1,5 @@ +@media screen { + [template-type="front"] { + display: none; + } +} \ No newline at end of file diff --git a/src/assets/styles/style.css b/src/assets/styles/style.css new file mode 100644 index 0000000..fb01d61 --- /dev/null +++ b/src/assets/styles/style.css @@ -0,0 +1,79 @@ +:root { + --footnote-w: 170px; + --article-w: 800px; + --main-w: calc(1200px - 2rem); + --img-offset: -5ch; + --background: floralwhite; + --text: black; + --accent: orange; + --gap: 2rem; + font-size: 11px; +} + +@media (prefers-color-scheme: dark) { + body { + --background: #1b1b1b; + --text: white; + --background-invert: teal; + --text-invert: black; + } +} + +body { + background-color: var(--background); + color: var(--text); +} + +.m-0 { + margin: 0 0; +} + +.d-print, +.d-web { + display: none; +} + +@media screen { + .d-web { + display: inline-block; + } +} + +@media print { + .d-print { + display: inline-block; + } +} + +.sample { + border-radius: 20px; + display: inline-flex; + gap: .25rem; + padding: 4px; + background-color: lightgrey; + transition: .2s linera; + cursor: pointer; + align-items: center; +} + +.sample .icon { + display: inline-block; + width: 12px; + height: 12px; +} + +.sample:not([active]) .pause { + display: none; +} +.sample[active] .play { + display: none; +} +.sample label { + line-height: 100%; +} + + + +.sample[active], .sample:hover { + background-color: var(--accent); +} diff --git a/src/assets/styles/typography.css b/src/assets/styles/typography.css new file mode 100644 index 0000000..10b98ff --- /dev/null +++ b/src/assets/styles/typography.css @@ -0,0 +1,111 @@ +body { + font-family: "Fira Sans"; + font-size: 16px; +} +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0 0; + font-weight: bold; +} + +[template-type="front"] h1 { + font-size: 48px; +} +h1 { + font-weight: bold; + font-size: 32px; + margin: 0 0; +} + + +h1, +h2, +h3 { + line-height: 125%; +} + +header.sm h2 { + font-weight: normal; +} + +article header h2 { + font-weight:normal; +} + +h3 { +} +article { + line-height: 1.5; +} +li p { + margin: 0 0; +} +article h2, article h3, article h4, article h5 { + margin-top: .5rem; +} +a, +a[visited] { + color: var(--accent); +} +a p { + color: var(--text); +} +ul { + padding-left: 2ch; +} + +figure { + margin: 2rem 0; +} +article img { + max-width: 100%; +} +ins { + font-family: monospace; + text-decoration: none; + font-size: 70%; + background: color-mix(in srgb, LawnGreen 15%, transparent); + padding: 4px; + vertical-align: middle; +} +ins p { + display: inline; +} +sup li, article li:has(.footnote-back), li[count] { + list-style: none; +} +ins::before { + content: "+ "; + color: LawnGreen; + font-weight: bold; +} +[template-type="front"] h2 { + font-size: 20px; + font-style: italic; + font-weight: light; +} +sup:has(li), +article li:has(.footnote-back), +aside, figcaption, +.footnote { + font-family: monospace; + font-size: 80%; + line-height: 1.5; +} +.csl-entry { + margin-top: 1rem; +} + +sup li p, article li:has(.footnote-back) p { + margin-top: 0; +} + + + +p { + break-inside: avoid; +} \ No newline at end of file diff --git a/src/content/events/25-hour-radio-relay.md b/src/content/events/25-hour-radio-relay.md new file mode 100644 index 0000000..34f59fb --- /dev/null +++ b/src/content/events/25-hour-radio-relay.md @@ -0,0 +1,80 @@ +--- +boost: +- https://newsmast.community/users/tvandradio +description:

Radio WORM presents, live and direct from UBIK, everything you never + realised you needed to hear on the radio…for 25 hours straight.

The 25 Hour + Radio Relay is an all-day, all-night mix of radiomakers and sound artists of all + descriptions, sharing old and new work, DIY experiments and high-tech performances + for your collective listening pleasure.

Join us in person or listen online + from 5pm on Saturday 25 January as we pass the baton from performers to poets to + gameshow hosts to improv musicians to font designers to volkskeuken to ???, all + the way through to 6pm on Sunday 26 January.

Free entry, no booking required, + camp out with us for as long as you can handle!

BYOP (bring your own pillow, + yoga mat, camping mattress…)

+end_datetime: 1737910800 +id: 27 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - 0 + - 0 + height: 901 + name: 25 Hour Radio Relay + size: 310303 + url: e3146e26dbf6a3e77600b885da48ebda.jpg + width: 1000 +multidate: true +next: null +online_locations: '' +parent: null +parentId: null +place: + address: Boomgaardsstraat 71, 3012 XA Rotterdam + id: 5 + latitude: null + longitude: null + name: Worm +plain_description: 'Radio WORM presents, live and direct from UBIK, everything you + never realised + + you needed to hear on the radio…for 25 hours straight. + + + The 25 Hour Radio Relay is an all-day, all-night mix of radiomakers and sound + + artists of all descriptions, sharing old and new work, DIY experiments and + + high-tech performances for your collective listening pleasure. + + + Join us in person or listen online from 5pm on Saturday 25 January as we pass + + the baton from performers to poets to gameshow hosts to improv musicians to font + + designers to volkskeuken to ???, all the way through to 6pm on Sunday 26 + + January. + + + Free entry, no booking required, camp out with us for as long as you can handle! + + + BYOP (bring your own pillow, yoga mat, camping mattress…)' +prev: 3rd-klankschool-dagandavond +recurrent: null +resources: [] +slug: 25-hour-radio-relay +start_datetime: 1737820800 +tags: +- performances +- radio +- relay +- worm +title: 25 Hour Radio Relay +--- + +

Radio WORM presents, live and direct from UBIK, everything you never realised you needed to hear on the radio…for 25 hours straight.

The 25 Hour Radio Relay is an all-day, all-night mix of radiomakers and sound artists of all descriptions, sharing old and new work, DIY experiments and high-tech performances for your collective listening pleasure.

Join us in person or listen online from 5pm on Saturday 25 January as we pass the baton from performers to poets to gameshow hosts to improv musicians to font designers to volkskeuken to ???, all the way through to 6pm on Sunday 26 January.

Free entry, no booking required, camp out with us for as long as you can handle!

BYOP (bring your own pillow, yoga mat, camping mattress…)

\ No newline at end of file diff --git a/src/content/events/3rd-klankschool-dagandavond.md b/src/content/events/3rd-klankschool-dagandavond.md new file mode 100644 index 0000000..64a30c3 --- /dev/null +++ b/src/content/events/3rd-klankschool-dagandavond.md @@ -0,0 +1,46 @@ +--- +boost: [] +description:

Sound performances by

+end_datetime: 1737666000 +id: 28 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - 0 + - 0 + height: 1698 + name: 3rd Klankschool Dag&Avond + size: 251857 + url: 79ac9e1617282f521d8027737ed71cbd.jpg + width: 1200 +multidate: false +next: 25-hour-radio-relay +online_locations: '' +parent: null +parentId: null +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: "Sound performances by\n\n * Ardore\n\n * Dada Phone & Stephen\ + \ Kerr & joak & ...\n\n * TBA!" +prev: unrepair-cafe-2 +recurrent: null +resources: [] +slug: 3rd-klankschool-dagandavond +start_datetime: 1737658800 +tags: +- klankschool +- noise +- performances +title: 3rd Klankschool Dag&Avond +--- + +

Sound performances by

\ No newline at end of file diff --git a/src/content/events/4-avond.md b/src/content/events/4-avond.md new file mode 100644 index 0000000..e106a26 --- /dev/null +++ b/src/content/events/4-avond.md @@ -0,0 +1,49 @@ +--- +boost: [] +description:

Improvisation, noise and other performances on the first floor of + Catu:

+end_datetime: 1739484000 +id: 31 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - -0.37 + - -0.87 + height: 1700 + name: 4. avond + size: 551708 + url: 829a860a8a7d9c4c28edc06aa551b0ef.jpg + width: 1200 +multidate: false +next: null +online_locations: '' +parent: null +parentId: null +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: "Improvisation, noise and other performances on the first floor\ + \ of Catu:\n\n * Luis Lopes (guitar) & Johanna Monk (woodwinds, poetry) & Philipp\ + \ Ernsting\n (drums)\n\n * tell me what I'm seeing\n\n * TBA!" +prev: snackbar-frieda-opening +recurrent: null +resources: [] +slug: 4-avond +start_datetime: 1739473200 +tags: +- catu +- performances +- noise +- klankschool +title: 4. avond +--- + +

Improvisation, noise and other performances on the first floor of Catu:

\ No newline at end of file diff --git a/src/content/events/extratonal-infrastructure-16-qoa-en-primeiro.md b/src/content/events/extratonal-infrastructure-16-qoa-en-primeiro.md new file mode 100644 index 0000000..1063ad5 --- /dev/null +++ b/src/content/events/extratonal-infrastructure-16-qoa-en-primeiro.md @@ -0,0 +1,138 @@ +--- +boost: [] +description:

Date: Friday, 15 November 2024
Door: + 19:30h CET
Start: 20:00h CET
Entrance: 5 + euro
Location: Varia (Gouwstraat 3, Rotterdam)

November + is home to multiple interventions by The + Platform For Extratonality. During this intermediate music event we + welcome QOA and Primeiro, two artists with a tendency to enthrall through elemental + improvisations.

QOA, is the monikor of Nina Corti, an + experimental electroacoustic musician, sound and visual artist from the Argentine + and Latin American experimental contemporary music scene. Their sound is characterised + by the collage of field recordings in natural environments and their multiple transformations, + combined with spoken word, live sampling, drones, synthesis and frequency rhythms, + creating an extended listening experience. Qoa is part of AMPLIFY Digital + Arts Initiative (Amplify D.A.I), international network of artists from + Argentina, Canada, Peru and the UK, supported by Mutek and British Council. This + year they was one of the 8th Latin American artists selected for Nicolas Jaar's + Ladridos project.

https://qoa.cargo.site/
https://qoaqoa.bandcamp.com/album/sauco-2

Primeiro + blends experimental electronics with samples of acoustic instruments and field recordings + made by him, exploring the dynamic relationship between sound and territories. He + develops intricate soundscapes with multiple layers that evoke a sense of tranquility + and meticulous craft. Additionally, he organizes the Feed the River + festival, which explores our connection with water bodies as sentient entities requiring + our care and nurturing, and the use of sound to foster meaningful transformative + dialogues.

This event is made possible with the kind support of Popunie + Rotterdam, Stichting Volkskracht, Fonds Podiumkunsten, Gemeente Rotterdam and Stimuleringsfonds + Creatieve Industrie

+end_datetime: 1731704400 +id: 6 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - 1 + - -0.88 + height: 986 + name: 'Extratonal Infrastructure #16: QOA en Primeiro' + size: 297245 + url: 43abdc1e52982aeb9040888e2a1127c6.jpg + width: 986 +multidate: false +next: sounds-of-making-xpub1-presents-protocols-for-collective-performance +online_locations: '' +parent: null +parentId: null +place: + address: Gouwstraat 3, Rotterdam + id: 3 + latitude: null + longitude: null + name: Vaira +plain_description: 'Date: Friday, 15 November 2024 + + Door: 19:30h CET + + Start: 20:00h CET + + Entrance: 5 euro + + Location: Varia (Gouwstraat 3, Rotterdam) + + + November is home to multiple interventions by The Platform For Extratonality + + [https://extratonal.org/]. During this intermediate music event we welcome QOA + + and Primeiro, two artists with a tendency to enthrall through elemental + + improvisations. + + + QOA, is the monikor of Nina Corti, an experimental electroacoustic musician, + + sound and visual artist from the Argentine and Latin American experimental + + contemporary music scene. Their sound is characterised by the collage of field + + recordings in natural environments and their multiple transformations, combined + + with spoken word, live sampling, drones, synthesis and frequency rhythms, + + creating an extended listening experience. Qoa is part of AMPLIFY Digital Arts + + Initiative (Amplify D.A.I), international network of artists from Argentina, + + Canada, Peru and the UK, supported by Mutek and British Council. This year they + + was one of the 8th Latin American artists selected for Nicolas Jaar''s Ladridos + + project. + + + https://qoa.cargo.site/ [https://qoa.cargo.site/] + + https://qoaqoa.bandcamp.com/album/sauco-2 + + [https://qoaqoa.bandcamp.com/album/sauco-2] + + + Primeiro blends experimental electronics with samples of acoustic instruments + + and field recordings made by him, exploring the dynamic relationship between + + sound and territories. He develops intricate soundscapes with multiple layers + + that evoke a sense of tranquility and meticulous craft. Additionally, he + + organizes the Feed the River festival, which explores our connection with water + + bodies as sentient entities requiring our care and nurturing, and the use of + + sound to foster meaningful transformative dialogues. + + + This event is made possible with the kind support of Popunie Rotterdam, + + Stichting Volkskracht, Fonds Podiumkunsten, Gemeente Rotterdam and + + Stimuleringsfonds Creatieve Industrie' +prev: lets-unrepair-things-together-2 +recurrent: null +resources: [] +slug: extratonal-infrastructure-16-qoa-en-primeiro +start_datetime: 1731697200 +tags: +- extratonal +- performances +- primeiro +- qoa +- varia +title: 'Extratonal Infrastructure #16: QOA en Primeiro' +--- + +

Date: Friday, 15 November 2024
Door: 19:30h CET
Start: 20:00h CET
Entrance: 5 euro
Location: Varia (Gouwstraat 3, Rotterdam)

November is home to multiple interventions by The Platform For Extratonality. During this intermediate music event we welcome QOA and Primeiro, two artists with a tendency to enthrall through elemental improvisations.

QOA, is the monikor of Nina Corti, an experimental electroacoustic musician, sound and visual artist from the Argentine and Latin American experimental contemporary music scene. Their sound is characterised by the collage of field recordings in natural environments and their multiple transformations, combined with spoken word, live sampling, drones, synthesis and frequency rhythms, creating an extended listening experience. Qoa is part of AMPLIFY Digital Arts Initiative (Amplify D.A.I), international network of artists from Argentina, Canada, Peru and the UK, supported by Mutek and British Council. This year they was one of the 8th Latin American artists selected for Nicolas Jaar's Ladridos project.

https://qoa.cargo.site/
https://qoaqoa.bandcamp.com/album/sauco-2

Primeiro blends experimental electronics with samples of acoustic instruments and field recordings made by him, exploring the dynamic relationship between sound and territories. He develops intricate soundscapes with multiple layers that evoke a sense of tranquility and meticulous craft. Additionally, he organizes the Feed the River festival, which explores our connection with water bodies as sentient entities requiring our care and nurturing, and the use of sound to foster meaningful transformative dialogues.

This event is made possible with the kind support of Popunie Rotterdam, Stichting Volkskracht, Fonds Podiumkunsten, Gemeente Rotterdam and Stimuleringsfonds Creatieve Industrie

\ No newline at end of file diff --git a/src/content/events/extratonal-infrastructure-17-dianaband-vegetable-wife-with-jae-hyung-park-and-lucija-gregov.md b/src/content/events/extratonal-infrastructure-17-dianaband-vegetable-wife-with-jae-hyung-park-and-lucija-gregov.md new file mode 100644 index 0000000..9a2afe5 --- /dev/null +++ b/src/content/events/extratonal-infrastructure-17-dianaband-vegetable-wife-with-jae-hyung-park-and-lucija-gregov.md @@ -0,0 +1,161 @@ +--- +boost: [] +description: '

Date: Saturday, 30 November 2024

Door: 19:30h CET

Start: + 20:00h CET

Entrance: 5 euro

Location: Varia (Gouwstraat 3, Rotterdam)

Join + us for a new episode in the extratonal infrastructure series - the extra in Rotterdam''s + cultural life. Come and watch three acts that will truly push the boundaries of + conventions through approaches that create unpredictability and contingencies. Be + on time and it is fine!

Dianaband (Dooho & Wonjung) is an interdisciplinary + artist duo based in Seoul. In their sound performance ''Cats and Paper Boxes'' Dooho + plays with feedback resonance. Through various objects placed between a contact + microphone and mobile speakers, he creates hidden sounds, subtle coincidences, and + unpredictable sound events. Wonjung rides on this tidal wave with the Drawing Synthesizer, + an instrument where ''drawing'' is ''making sound''. Exploring the infinite possibilities + of drawing with paper and pencil, she manages the momentum of the spatial narrative + all around the space.

https://dianaband.info/

Vegetable + Wife is from Seoul. She yearns for noise and noise-making beings that escape from + ethics and morality. She tries to strip away the many ideas attached to these sounds, + while simultaneously suturing them with different origins. Her sound exists inside + a tear-and-paste loop through synthesising, collaging, recording and mixing. With + visual artist Jae-hyung Park, this sound is synthesized with video to extend its + scape.

https://meek-as-a-lamb.github.io/imheeju/

Lucija + Gregov is a cellist, improviser, composer and programmer. She has been developing + projects and researching in the fields of classical music, electroacoustic music, + improvisation, experimental music, radio and sound art. Through many interdisciplinary + collaborations, Lucija seeks to push the boundaries of traditional cello playing, + which further extends her interpretation, technique and ideas. Her instrumental + cello practice is the starting point of the sonic exploration, through which, over + time, she disintegrated traditional techniques in order to discover a more personal + and sincere sound aesthetic.

https://lugregov.com/

This + event is made possible with the kind support of Popunie Rotterdam, Stichting Volkskracht, + Fonds Podiumkunsten, Gemeente Rotterdam and Stimuleringsfonds Creatieve Industrie.

' +end_datetime: 1733004000 +id: 14 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - 0 + - 0 + height: 1200 + name: 'Extratonal Infrastructure #17: Dianaband, Vegetable Wife with Jae-hyung Park + and Lucija Gregov' + size: 577770 + url: c8e7b7851a720187cd4fce798f0405fc.jpg + width: 1200 +multidate: false +next: lets-unrepair-things-together-analog-video-edition +online_locations: '' +parent: null +parentId: null +place: + address: Gouwstraat 3, Rotterdam + id: 3 + latitude: null + longitude: null + name: Vaira +plain_description: 'Date: Saturday, 30 November 2024 + + + Door: 19:30h CET + + + Start: 20:00h CET + + + Entrance: 5 euro + + + Location: Varia (Gouwstraat 3, Rotterdam) + + + Join us for a new episode in the extratonal infrastructure series - the extra in + + Rotterdam''s cultural life. Come and watch three acts that will truly push the + + boundaries of conventions through approaches that create unpredictability and + + contingencies. Be on time and it is fine! + + + Dianaband (Dooho & Wonjung) is an interdisciplinary artist duo based in Seoul. + + In their sound performance ''Cats and Paper Boxes'' Dooho plays with feedback + + resonance. Through various objects placed between a contact microphone and + + mobile speakers, he creates hidden sounds, subtle coincidences, and + + unpredictable sound events. Wonjung rides on this tidal wave with the Drawing + + Synthesizer, an instrument where ''drawing'' is ''making sound''. Exploring the + + infinite possibilities of drawing with paper and pencil, she manages the + + momentum of the spatial narrative all around the space. + + + https://dianaband.info/ [https://dianaband.info/] + + + Vegetable Wife is from Seoul. She yearns for noise and noise-making beings that + + escape from ethics and morality. She tries to strip away the many ideas attached + + to these sounds, while simultaneously suturing them with different origins. Her + + sound exists inside a tear-and-paste loop through synthesising, collaging, + + recording and mixing. With visual artist Jae-hyung Park, this sound is + + synthesized with video to extend its scape. + + + https://meek-as-a-lamb.github.io/imheeju/ + + [https://meek-as-a-lamb.github.io/imheeju/] + + + Lucija Gregov is a cellist, improviser, composer and programmer. She has been + + developing projects and researching in the fields of classical music, + + electroacoustic music, improvisation, experimental music, radio and sound art. + + Through many interdisciplinary collaborations, Lucija seeks to push the + + boundaries of traditional cello playing, which further extends her + + interpretation, technique and ideas. Her instrumental cello practice is the + + starting point of the sonic exploration, through which, over time, she + + disintegrated traditional techniques in order to discover a more personal and + + sincere sound aesthetic. + + + https://lugregov.com/ [https://lugregov.com/] + + + This event is made possible with the kind support of Popunie Rotterdam, + + Stichting Volkskracht, Fonds Podiumkunsten, Gemeente Rotterdam and + + Stimuleringsfonds Creatieve Industrie.' +prev: lets-unrepair-things-together-4 +recurrent: null +resources: [] +slug: extratonal-infrastructure-17-dianaband-vegetable-wife-with-jae-hyung-park-and-lucija-gregov +start_datetime: 1732993200 +tags: +- extratonal +- varia +title: 'Extratonal Infrastructure #17: Dianaband, Vegetable Wife with Jae-hyung Park + and Lucija Gregov' +--- + +

Date: Saturday, 30 November 2024

Door: 19:30h CET

Start: 20:00h CET

Entrance: 5 euro

Location: Varia (Gouwstraat 3, Rotterdam)

Join us for a new episode in the extratonal infrastructure series - the extra in Rotterdam's cultural life. Come and watch three acts that will truly push the boundaries of conventions through approaches that create unpredictability and contingencies. Be on time and it is fine!

Dianaband (Dooho & Wonjung) is an interdisciplinary artist duo based in Seoul. In their sound performance 'Cats and Paper Boxes' Dooho plays with feedback resonance. Through various objects placed between a contact microphone and mobile speakers, he creates hidden sounds, subtle coincidences, and unpredictable sound events. Wonjung rides on this tidal wave with the Drawing Synthesizer, an instrument where 'drawing' is 'making sound'. Exploring the infinite possibilities of drawing with paper and pencil, she manages the momentum of the spatial narrative all around the space.

https://dianaband.info/

Vegetable Wife is from Seoul. She yearns for noise and noise-making beings that escape from ethics and morality. She tries to strip away the many ideas attached to these sounds, while simultaneously suturing them with different origins. Her sound exists inside a tear-and-paste loop through synthesising, collaging, recording and mixing. With visual artist Jae-hyung Park, this sound is synthesized with video to extend its scape.

https://meek-as-a-lamb.github.io/imheeju/

Lucija Gregov is a cellist, improviser, composer and programmer. She has been developing projects and researching in the fields of classical music, electroacoustic music, improvisation, experimental music, radio and sound art. Through many interdisciplinary collaborations, Lucija seeks to push the boundaries of traditional cello playing, which further extends her interpretation, technique and ideas. Her instrumental cello practice is the starting point of the sonic exploration, through which, over time, she disintegrated traditional techniques in order to discover a more personal and sincere sound aesthetic.

https://lugregov.com/

This event is made possible with the kind support of Popunie Rotterdam, Stichting Volkskracht, Fonds Podiumkunsten, Gemeente Rotterdam and Stimuleringsfonds Creatieve Industrie.

\ No newline at end of file diff --git a/src/content/events/extratonal-special-3-sound-is-political.md b/src/content/events/extratonal-special-3-sound-is-political.md new file mode 100644 index 0000000..e68fc56 --- /dev/null +++ b/src/content/events/extratonal-special-3-sound-is-political.md @@ -0,0 +1,126 @@ +--- +boost: [] +description: '

We are moved to invite you to our 3rd Extratonal + Special: sound is political. For this edition we ask you to be present with + your political ears, to feel with us what it means to have a voice that is (not) + heard, to notice which voices are not present in the room, to desire together social + transformations, to listen to less heard histories, to pinch our autonomous bubbles, + to be touched by sound waves and connect with them consciously. This journey is + going to be led by our very special line up:

Luca Soucant + will perform the lecture-performance ''The Resonance of Gender: Thinking through + a Feedbacking Scold’s Bridle.''Luca studies the relationship between sound, gender, + power, and social structures within the entanglement of the human and non-human.

https://www.lucasoudant.com/

YoKolina + is an interdisciplinary fashion designer whose artistic practice involves stage + clothes, performance, and music. For Extratonal, she will bring to life her moth + costume, embodying an insect that deals with existence.

https://yokolina.hotglue.me/

Natalia + Roa is a writer, editor and interdisciplinary artist. Together with Colombian + percussionist Luis Orobio, she will weave a tapestry of sound, + rhythm, and storytelling around the concept of ashé, which are narratives and soundscapes + of Abya Yala that offer an alternative present to a growing dismemory. From a sonic + legacy, ashé signifies permanence: the constant gaze for and at the instruments, + the bodies, and the tunes with which enslaved people declared their emancipation, + blending ritual with celebration, we remember.

https://nataliaroa.co/about

This + event is made possible with the kind support of Popunie Rotterdam, Stichting Volkskracht, + Fonds Podiumkunsten, Gemeente Rotterdam and Stimuleringsfonds Creatieve Industrie.

' +end_datetime: 1730494800 +id: 5 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - -0.03 + - -1 + height: 600 + name: 'Extratonal Special #3: Sound Is Political' + size: 179457 + url: f26012d0e6bf0ccb20941a21e69f54f6.jpg + width: 600 +multidate: false +next: palestine-cinema-days-around-the-world-naila-and-the-uprising +online_locations: '' +parent: null +parentId: null +place: + address: Gouwstraat 3, Rotterdam + id: 3 + latitude: null + longitude: null + name: Vaira +plain_description: 'We are moved to invite you to our 3rd Extratonal Special + + [https://extratonal.org/]: sound is political. For this edition we ask you to be + + present with your political ears, to feel with us what it means to have a voice + + that is (not) heard, to notice which voices are not present in the room, to + + desire together social transformations, to listen to less heard histories, to + + pinch our autonomous bubbles, to be touched by sound waves and connect with them + + consciously. This journey is going to be led by our very special line up: + + + Luca Soucant will perform the lecture-performance ''The Resonance of Gender: + + Thinking through a Feedbacking Scold’s Bridle.''Luca studies the relationship + + between sound, gender, power, and social structures within the entanglement of + + the human and non-human. + + + https://www.lucasoudant.com/ [https://www.lucasoudant.com/] + + + YoKolina is an interdisciplinary fashion designer whose artistic practice + + involves stage clothes, performance, and music. For Extratonal, she will bring + + to life her moth costume, embodying an insect that deals with existence. + + + https://yokolina.hotglue.me/ [https://yokolina.hotglue.me/] + + + Natalia Roa is a writer, editor and interdisciplinary artist. Together with + + Colombian percussionist Luis Orobio, she will weave a tapestry of sound, rhythm, + + and storytelling around the concept of ashé, which are narratives and + + soundscapes of Abya Yala that offer an alternative present to a growing + + dismemory. From a sonic legacy, ashé signifies permanence: the constant gaze for + + and at the instruments, the bodies, and the tunes with which enslaved people + + declared their emancipation, blending ritual with celebration, we remember. + + + https://nataliaroa.co/about [https://nataliaroa.co/about] + + + This event is made possible with the kind support of Popunie Rotterdam, + + Stichting Volkskracht, Fonds Podiumkunsten, Gemeente Rotterdam and + + Stimuleringsfonds Creatieve Industrie.' +prev: lets-un-repair-things-together +recurrent: null +resources: [] +slug: extratonal-special-3-sound-is-political +start_datetime: 1730487600 +tags: +- extratonal +- performances +- varia +title: 'Extratonal Special #3: Sound Is Political' +--- + +

We are moved to invite you to our 3rd Extratonal Special: sound is political. For this edition we ask you to be present with your political ears, to feel with us what it means to have a voice that is (not) heard, to notice which voices are not present in the room, to desire together social transformations, to listen to less heard histories, to pinch our autonomous bubbles, to be touched by sound waves and connect with them consciously. This journey is going to be led by our very special line up:

Luca Soucant will perform the lecture-performance 'The Resonance of Gender: Thinking through a Feedbacking Scold’s Bridle.'Luca studies the relationship between sound, gender, power, and social structures within the entanglement of the human and non-human.

https://www.lucasoudant.com/

YoKolina is an interdisciplinary fashion designer whose artistic practice involves stage clothes, performance, and music. For Extratonal, she will bring to life her moth costume, embodying an insect that deals with existence.

https://yokolina.hotglue.me/

Natalia Roa is a writer, editor and interdisciplinary artist. Together with Colombian percussionist Luis Orobio, she will weave a tapestry of sound, rhythm, and storytelling around the concept of ashé, which are narratives and soundscapes of Abya Yala that offer an alternative present to a growing dismemory. From a sonic legacy, ashé signifies permanence: the constant gaze for and at the instruments, the bodies, and the tunes with which enslaved people declared their emancipation, blending ritual with celebration, we remember.

https://nataliaroa.co/about

This event is made possible with the kind support of Popunie Rotterdam, Stichting Volkskracht, Fonds Podiumkunsten, Gemeente Rotterdam and Stimuleringsfonds Creatieve Industrie.

\ No newline at end of file diff --git a/src/content/events/index.md b/src/content/events/index.md new file mode 100644 index 0000000..2f59c7b --- /dev/null +++ b/src/content/events/index.md @@ -0,0 +1,8 @@ +--- +title: Overview of all events +published: false +nested: 'events' +start_datetime: 0 +--- + +Overview of all? \ No newline at end of file diff --git a/src/content/events/its-sonic-bath-daaaay.md b/src/content/events/its-sonic-bath-daaaay.md new file mode 100644 index 0000000..efdbb72 --- /dev/null +++ b/src/content/events/its-sonic-bath-daaaay.md @@ -0,0 +1,78 @@ +--- +boost: [] +description:

Dear listeners, 👂

on Saturday the 23rd of November, you are + warmly invited to join a workshop about sonic awareness, at extrapractice .
Margo is going to guide you somewhere in + between free musical improvisation and deep listening. We will sing, and breathe, + and move, and make funny noises with funny objects. 🪠

But most of all, we’re + going to tune in to our environment and listen. So put on your most comfy clothes + and come make bubbles with friends! 🫧

It begins at 13.00 and lunch is included + (vegan and gluten free). 🥗

5 euros of participation is asked, with 10 spots + available.

Send a message at marguerite.maire@outlook.fr

+end_datetime: 1732424400 +id: 15 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - 0 + - 0 + height: 1350 + name: 🛀🛀🛀It’s sonic bath daaaay! 🛀🛀🛀 + size: 213008 + url: 607c905a35e634ef58247939c910df36.jpg + width: 1080 +multidate: false +next: lets-unrepair-things-together-4 +online_locations: '' +parent: null +parentId: null +place: + address: Linker Rottekade 5a, Rotterdam + id: 6 + latitude: null + longitude: null + name: ExtraPractice +plain_description: 'Dear listeners, 👂 + + + on Saturday the 23rd of November, you are warmly invited to join a workshop + + about sonic awareness, at @extrapractice + + [https://www.instagram.com/extrapractice/] . + + Margo is going to guide you somewhere in between free musical improvisation and + + deep listening. We will sing, and breathe, and move, and make funny noises with + + funny objects. 🪠 + + + But most of all, we’re going to tune in to our environment and listen. So put on + + your most comfy clothes and come make bubbles with friends! 🫧 + + + It begins at 13.00 and lunch is included (vegan and gluten free). 🥗 + + + 5 euros of participation is asked, with 10 spots available. + + + Send a message at marguerite.maire@outlook.fr' +prev: lets-unrepair-things-together-3 +recurrent: null +resources: [] +slug: its-sonic-bath-daaaay +start_datetime: 1732363200 +tags: +- extrapractice +- sonic awareness +title: 🛀🛀🛀It’s sonic bath daaaay! 🛀🛀🛀 +--- + +

Dear listeners, 👂

on Saturday the 23rd of November, you are warmly invited to join a workshop about sonic awareness, at @extrapractice .
Margo is going to guide you somewhere in between free musical improvisation and deep listening. We will sing, and breathe, and move, and make funny noises with funny objects. 🪠

But most of all, we’re going to tune in to our environment and listen. So put on your most comfy clothes and come make bubbles with friends! 🫧

It begins at 13.00 and lunch is included (vegan and gluten free). 🥗

5 euros of participation is asked, with 10 spots available.

Send a message at marguerite.maire@outlook.fr

\ No newline at end of file diff --git a/src/content/events/klankschool-performances.md b/src/content/events/klankschool-performances.md new file mode 100644 index 0000000..2792980 --- /dev/null +++ b/src/content/events/klankschool-performances.md @@ -0,0 +1,139 @@ +--- +boost: [] +description: '

when we have performed many thousands,
we shall shake + them into confusion, in order that we might not know,
and in order not to let + any evil person envy us,
when he knows that there are so many of our kisses.

Klankschool + is back in catullusweg for more performances, workshops and listening.

6pm: + Klankserver longtable discussion

Here at klankschool we have our own + server, running open source software to provide this + calendar, an audio + sharing platform, the website, + and more to come.

This + evening we will introduce some of these services, show how to use them, and have + a longtable discussion about what it means to have an artist run server, what we + plan to do with it, and why we want it.

For + more info on the discussion, see the event.

7pm: Delicious Vegan + Dinner

8pm: Performances

... 🥁 🎹 🔌 Lukasz Moroz , Maciej + Müller and Tymon Kolubiński

... 🏠 Ariela Bergman "“the house that inhabits + you”

... 🫥 mitsitron & 🌀 Stephen Kerr

... 👲🏻 🧑‍🦽 HOLLOWMIST

... + 📱 Dada phone

... 🪠 Archibald “Harry” Tuttle

... and more

' +end_datetime: 1729368000 +id: 1 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - 0 + - 0 + height: 1920 + name: 2nd KLANKSCHOOL DAG&AVOND + size: 1286409 + url: a6734cfcec029795d1bfcc853137aafb.jpg + width: 1080 +multidate: false +next: server-introduction +online_locations: '' +parent: null +parentId: null +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: '> WHEN WE HAVE PERFORMED MANY THOUSANDS, + + > WE SHALL SHAKE THEM INTO CONFUSION, IN ORDER THAT WE MIGHT NOT KNOW, + + > AND IN ORDER NOT TO LET ANY EVIL PERSON ENVY US, + + > WHEN HE KNOWS THAT THERE ARE SO MANY OF OUR KISSES. + + + Klankschool is back in catullusweg for more performances, workshops and + + listening. + + + + + + 6PM: KLANKSERVER LONGTABLE DISCUSSION + + + + + Here at klankschool we have our own server, running open source software to + + provide this calendar [https://calendar.klank.school/], an audio sharing + + platform [https://funk.klank.school/library], the website + + [https://klank.school/], and more to come [https://live.klank.school]. + + + This evening we will introduce some of these services, show how to use them, and + + have a longtable discussion about what it means to have an artist run server, + + what we plan to do with it, and why we want it. + + + For more info on the discussion, see the event. + + [https://calendar.klank.school/event/server-introduction] + + + + + + 7PM: DELICIOUS VEGAN DINNER + + + + + + 8PM: PERFORMANCES + + + + + ... 🥁 🎹 🔌 Lukasz Moroz , Maciej Müller and Tymon Kolubiński + + + ... 🏠 Ariela Bergman "“the house that inhabits you” + + + ... 🫥 mitsitron & 🌀 Stephen Kerr + + + ... 👲🏻 🧑‍🦽 HOLLOWMIST + + + ... 📱 Dada phone + + + ... 🪠 Archibald “Harry” Tuttle + + + ... and more + + + ' +prev: null +recurrent: null +resources: [] +slug: klankschool-performances +start_datetime: 1729353600 +tags: +- klankschool +- live +- noise +- performance +title: 2nd Klankschool Dag&Avond +--- + +

when we have performed many thousands,
we shall shake them into confusion, in order that we might not know,
and in order not to let any evil person envy us,
when he knows that there are so many of our kisses.

Klankschool is back in catullusweg for more performances, workshops and listening.

6pm: Klankserver longtable discussion

Here at klankschool we have our own server, running open source software to provide this calendar, an audio sharing platform, the website, and more to come.

This evening we will introduce some of these services, show how to use them, and have a longtable discussion about what it means to have an artist run server, what we plan to do with it, and why we want it.

For more info on the discussion, see the event.

7pm: Delicious Vegan Dinner

8pm: Performances

... 🥁 🎹 🔌 Lukasz Moroz , Maciej Müller and Tymon Kolubiński

... 🏠 Ariela Bergman "“the house that inhabits you”

... 🫥 mitsitron & 🌀 Stephen Kerr

... 👲🏻 🧑‍🦽 HOLLOWMIST

... 📱 Dada phone

... 🪠 Archibald “Harry” Tuttle

... and more

\ No newline at end of file diff --git a/src/content/events/lets-un-repair-things-together.md b/src/content/events/lets-un-repair-things-together.md new file mode 100644 index 0000000..63aa008 --- /dev/null +++ b/src/content/events/lets-un-repair-things-together.md @@ -0,0 +1,35 @@ +--- +boost: [] +description: '' +end_datetime: 1730415300 +id: 7 +image_path: null +isAnon: true +isMine: false +is_visible: true +likes: [] +media: [] +multidate: false +next: extratonal-special-3-sound-is-political +online_locations: '' +parent: null +parentId: null +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: '' +prev: server-introduction +has_log: true +recurrent: null +resources: [] +slug: lets-un-repair-things-together +start_datetime: 1730394000 +tags: [] +title: let's (un) repair things together +--- + +### Logs +Repaired an audio amplifier by replacing a switch, a megaphone by cleaning the battery ports, and discovered the fireworks that is blown fuses. \ No newline at end of file diff --git a/src/content/events/lets-unrepair-things-together-1.md b/src/content/events/lets-unrepair-things-together-1.md new file mode 100644 index 0000000..7921d0d --- /dev/null +++ b/src/content/events/lets-unrepair-things-together-1.md @@ -0,0 +1,41 @@ +--- +boost: [] +description:

Bring your (un)broken devices and sound makers!

+end_datetime: 1731016800 +id: 10 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: [] +multidate: false +next: lets-unrepair-things-together-2 +online_locations: '' +parent: + id: 9 + is_visible: false + recurrent: + frequency: 1w + start_datetime: 1730998800 +parentId: 9 +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: Bring your (un)broken devices and sound makers! +prev: palestine-cinema-days-around-the-world-naila-and-the-uprising +recurrent: null +resources: [] +slug: lets-unrepair-things-together-1 +start_datetime: 1730998800 +tags: +- klankschool +- noise +- repair +title: Let's (un)repair things together! +--- + +

Bring your (un)broken devices and sound makers!

\ No newline at end of file diff --git a/src/content/events/lets-unrepair-things-together-2.md b/src/content/events/lets-unrepair-things-together-2.md new file mode 100644 index 0000000..93dfe64 --- /dev/null +++ b/src/content/events/lets-unrepair-things-together-2.md @@ -0,0 +1,41 @@ +--- +boost: [] +description:

Bring your (un)broken devices and sound makers!

+end_datetime: 1731621600 +id: 11 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: [] +multidate: null +next: extratonal-infrastructure-16-qoa-en-primeiro +online_locations: [] +parent: + id: 9 + is_visible: false + recurrent: + frequency: 1w + start_datetime: 1730998800 +parentId: 9 +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: Bring your (un)broken devices and sound makers! +prev: lets-unrepair-things-together-1 +recurrent: null +resources: [] +slug: lets-unrepair-things-together-2 +start_datetime: 1731603600 +tags: +- klankschool +- noise +- repair +title: Let's (un)repair things together! +--- + +

Bring your (un)broken devices and sound makers!

\ No newline at end of file diff --git a/src/content/events/lets-unrepair-things-together-3.md b/src/content/events/lets-unrepair-things-together-3.md new file mode 100644 index 0000000..1a297da --- /dev/null +++ b/src/content/events/lets-unrepair-things-together-3.md @@ -0,0 +1,46 @@ +--- +boost: [] +description:

Bring your (un)broken devices and sound makers!

+end_datetime: 1732226400 +id: 12 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: [] +multidate: null +next: its-sonic-bath-daaaay +online_locations: [] +parent: + id: 9 + is_visible: false + recurrent: + frequency: 1w + start_datetime: 1730998800 +parentId: 9 +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: Bring your (un)broken devices and sound makers! +prev: sounds-of-making-xpub1-presents-protocols-for-collective-performance +recurrent: null +has_log: true +resources: [] +slug: lets-unrepair-things-together-3 +start_datetime: 1732208400 +tags: +- klankschool +- noise +- repair +title: Let's (un)repair things together! +--- + +

Bring your (un)broken devices and sound makers!

+ +### Logs + +Toy keyboards are fun, especially if you apply the card method of infinite drone music. \ No newline at end of file diff --git a/src/content/events/lets-unrepair-things-together-4.md b/src/content/events/lets-unrepair-things-together-4.md new file mode 100644 index 0000000..554814d --- /dev/null +++ b/src/content/events/lets-unrepair-things-together-4.md @@ -0,0 +1,48 @@ +--- +boost: [] +description:

Bring your (un)broken devices and sound makers!

+end_datetime: 1732831200 +id: 16 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: [] +multidate: null +next: extratonal-infrastructure-17-dianaband-vegetable-wife-with-jae-hyung-park-and-lucija-gregov +online_locations: [] +parent: + id: 9 + is_visible: false + recurrent: + frequency: 1w + start_datetime: 1730998800 +parentId: 9 +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: Bring your (un)broken devices and sound makers! +prev: its-sonic-bath-daaaay +recurrent: null +resources: [] +has_log: true +slug: lets-unrepair-things-together-4 +start_datetime: 1732813200 +tags: +- klankschool +- noise +- repair +title: Let's (un)repair things together! +--- + +

Bring your (un)broken devices and sound makers!

+ +### Logs + +There were five of us today + +- The openproject instance now sends email notifications. diff --git a/src/content/events/lets-unrepair-things-together-4x.md b/src/content/events/lets-unrepair-things-together-4x.md new file mode 100644 index 0000000..b9e1c0b --- /dev/null +++ b/src/content/events/lets-unrepair-things-together-4x.md @@ -0,0 +1,49 @@ +--- +boost: [] +description:

Bring your (un)broken devices and sound makers!

+end_datetime: 1732831200 +id: 16 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: [] +multidate: null +next: extratonal-infrastructure-17-dianaband-vegetable-wife-with-jae-hyung-park-and-lucija-gregov +online_locations: [] +parent: + id: 9 + is_visible: false + recurrent: + frequency: 1w + start_datetime: 1730998800 +parentId: 9 +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: Bring your (un)broken devices and sound makers! +prev: its-sonic-bath-daaaay +recurrent: null +resources: [] +slug: lets-unrepair-things-together-4 +start_datetime: 1733413200 +has_log: true +tags: +- klankschool +- noise +- repair +title: Let's (un)repair things together! +--- + +

Bring your (un)broken devices and sound makers!

+ +### Logs + +Someone came in with a pokemon camera that could also play audio from a small SD card. However, the camera only had a small speaker, so we added an audio jack! +Additionally, we worked on 4 casette players, all of them had issues with the belts. We'll need to order some replacement belts to get them working again. One of the casette players wouldnt turn on, but after a bit of cleaning of the battery holder, this was resolved. + +![Pokemon camera now has a much needed audio jack](/assets/repair-logs/pokemon.webp) \ No newline at end of file diff --git a/src/content/events/lets-unrepair-things-together-6.md b/src/content/events/lets-unrepair-things-together-6.md new file mode 100644 index 0000000..b416745 --- /dev/null +++ b/src/content/events/lets-unrepair-things-together-6.md @@ -0,0 +1,41 @@ +--- +boost: [] +description:

Bring your (un)broken devices and sound makers!

+end_datetime: 1734040800 +id: 19 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: [] +multidate: null +next: lets-unrepair-things-together-7 +online_locations: [] +parent: + id: 9 + is_visible: false + recurrent: + frequency: 1w + start_datetime: 1730998800 +parentId: 9 +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: Bring your (un)broken devices and sound makers! +prev: lets-unrepair-things-together-analog-video-edition +recurrent: null +resources: [] +slug: lets-unrepair-things-together-6 +start_datetime: 1734022800 +tags: +- klankschool +- noise +- repair +title: Let's (un)repair things together! +--- + +

Bring your (un)broken devices and sound makers!

\ No newline at end of file diff --git a/src/content/events/lets-unrepair-things-together-7.md b/src/content/events/lets-unrepair-things-together-7.md new file mode 100644 index 0000000..31cfca4 --- /dev/null +++ b/src/content/events/lets-unrepair-things-together-7.md @@ -0,0 +1,46 @@ +--- +boost: [] +description:

Bring your (un)broken devices and sound makers!

+end_datetime: 1734645600 +id: 20 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: [] +multidate: null +next: lets-unrepair-things-together-8 +online_locations: [] +parent: + id: 9 + is_visible: false + recurrent: + frequency: 1w + start_datetime: 1730998800 +parentId: 9 +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: Bring your (un)broken devices and sound makers! +prev: lets-unrepair-things-together-6 +recurrent: null +resources: [] +slug: lets-unrepair-things-together-7 +start_datetime: 1734627600 +has_log: true +tags: +- klankschool +- noise +- repair +title: Let's (un)repair things together! +--- + +

Bring your (un)broken devices and sound makers!

+ +### Logs + +We explored the circuit bending of an analog video mixer, and continued installing Linux on a server from the V2 Winter Market \ No newline at end of file diff --git a/src/content/events/lets-unrepair-things-together-8.md b/src/content/events/lets-unrepair-things-together-8.md new file mode 100644 index 0000000..69ba549 --- /dev/null +++ b/src/content/events/lets-unrepair-things-together-8.md @@ -0,0 +1,41 @@ +--- +boost: [] +description:

Bring your (un)broken devices and sound makers!

+end_datetime: 1735250400 +id: 21 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: [] +multidate: null +next: unrepair-cafe +online_locations: [] +parent: + id: 9 + is_visible: false + recurrent: + frequency: 1w + start_datetime: 1730998800 +parentId: 9 +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: Bring your (un)broken devices and sound makers! +prev: lets-unrepair-things-together-7 +recurrent: null +resources: [] +slug: lets-unrepair-things-together-8 +start_datetime: 1735232400 +tags: +- klankschool +- noise +- repair +title: Let's (un)repair things together! +--- + +

Bring your (un)broken devices and sound makers!

\ No newline at end of file diff --git a/src/content/events/lets-unrepair-things-together-analog-video-edition.md b/src/content/events/lets-unrepair-things-together-analog-video-edition.md new file mode 100644 index 0000000..1b78818 --- /dev/null +++ b/src/content/events/lets-unrepair-things-together-analog-video-edition.md @@ -0,0 +1,45 @@ +--- +boost: [] +description:

Bring your (un)broken devices and sound makers!

This time, we'll + work with video! Analog video mixers, camera's, anything with lights.

Come + by!

+end_datetime: null +id: 18 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: [] +multidate: false +next: lets-unrepair-things-together-6 +online_locations: '' +parent: null +parentId: null +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: 'Bring your (un)broken devices and sound makers! + + + This time, we''ll work with video! Analog video mixers, camera''s, anything with + + lights. + + + Come by!' +prev: extratonal-infrastructure-17-dianaband-vegetable-wife-with-jae-hyung-park-and-lucija-gregov +recurrent: null +resources: [] +slug: lets-unrepair-things-together-analog-video-edition +start_datetime: 1734022800 +tags: +- catu +- klankschool +title: Let's (un)repair things together! Analog Video edition! +--- + +

Bring your (un)broken devices and sound makers!

This time, we'll work with video! Analog video mixers, camera's, anything with lights.

Come by!

diff --git a/src/content/events/palestine-cinema-days-around-the-world-naila-and-the-uprising.md b/src/content/events/palestine-cinema-days-around-the-world-naila-and-the-uprising.md new file mode 100644 index 0000000..5f8c062 --- /dev/null +++ b/src/content/events/palestine-cinema-days-around-the-world-naila-and-the-uprising.md @@ -0,0 +1,113 @@ +--- +boost: [] +description: '

In 2023, Film Lab Palestine had to postpone their + Palestine Cinema Days festival. Instead of celebrating cinema in + Palestine, they brought Palestine to the world in 86 cities, across 139 venues, + spanning 41 countries. November 2nd marks the day the Balfour Declaration was signed, + and in an effort to amplify Palestinian voices, we are joining Palestine + Cinema Days Around The World and are screening Naila And The Uprising + directed by Julia Bacha​.

Alongside the film screening Fairtrade Palestine + will be selling a variety of products from the West Bank, and we will have anti-colonial, + liberation and encampment advice zines available via rot + shop to copy and print your own selection from. There will also be + silkscreen solidarity shirts from Video for sale. All donations + for the zines and shirts will go directly to two families in Gaza, and grassroots + mutual aid initiative The Sanabel Team.

Naila And The Uprising
by + Julia Bacha​

Documentary, 76 mins.
Chronicling the remarkable journey of + Naila Ayesh and a fierce community of women at the frontlines, whose stories weave + through the most vibrant, nonviolent mobilisation in Palestinian history – the First + Intifada in the late 1980s.

Languages: Arabic, English, Hebrew, French.
Subtitles: + English.

' +end_datetime: 1730581200 +id: 8 +image_path: null +isAnon: true +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - 0 + - 0 + height: 778 + name: Palestine Cinema Days Around The World - Naila And The Uprising + size: 165250 + url: e79f8e017e8fdb1a603e1ed4d5a4f450.jpg + width: 778 +multidate: false +next: lets-unrepair-things-together-1 +online_locations: +- https://varia.zone/en/palestine-cinema-days-naila-and-the-uprising.html +parent: null +parentId: null +place: + address: Gouwstraat 3 + id: 4 + latitude: null + longitude: null + name: Varia +plain_description: 'In 2023, Film Lab Palestine had to postpone their Palestine Cinema + Days + + festival. Instead of celebrating cinema in Palestine, they brought Palestine to + + the world in 86 cities, across 139 venues, spanning 41 countries. November 2nd + + marks the day the Balfour Declaration was signed, and in an effort to amplify + + Palestinian voices, we are joining Palestine Cinema Days Around The World + + [https://aflamuna.org/calls/palestine-cinema-days-around-the-world-24/] and are + + screening Naila And The Uprising directed by Julia Bacha . + + + Alongside the film screening Fairtrade Palestine + + [https://www.fairtradepalestine.org/] will be selling a variety of products from + + the West Bank, and we will have anti-colonial, liberation and encampment advice + + zines available via rot shop [https://www.rot-shop.com/zine-distro-fundraiser] + + to copy and print your own selection from. There will also be silkscreen + + solidarity shirts from Video for sale. All donations for the zines and shirts + + will go directly to two families in Gaza, and grassroots mutual aid initiative + + The Sanabel Team. + + + Naila And The Uprising + + by Julia Bacha + + + Documentary, 76 mins. + + Chronicling the remarkable journey of Naila Ayesh and a fierce community of + + women at the frontlines, whose stories weave through the most vibrant, + + nonviolent mobilisation in Palestinian history – the First Intifada in the late + + 1980s. + + + Languages: Arabic, English, Hebrew, French. + + Subtitles: English.' +prev: extratonal-special-3-sound-is-political +recurrent: null +resources: [] +slug: palestine-cinema-days-around-the-world-naila-and-the-uprising +start_datetime: 1730570400 +tags: +- Palestine Cinema Days +title: Palestine Cinema Days Around The World - Naila And The Uprising +--- + +

In 2023, Film Lab Palestine had to postpone their Palestine Cinema Days festival. Instead of celebrating cinema in Palestine, they brought Palestine to the world in 86 cities, across 139 venues, spanning 41 countries. November 2nd marks the day the Balfour Declaration was signed, and in an effort to amplify Palestinian voices, we are joining Palestine Cinema Days Around The World and are screening Naila And The Uprising directed by Julia Bacha​.

Alongside the film screening Fairtrade Palestine will be selling a variety of products from the West Bank, and we will have anti-colonial, liberation and encampment advice zines available via rot shop to copy and print your own selection from. There will also be silkscreen solidarity shirts from Video for sale. All donations for the zines and shirts will go directly to two families in Gaza, and grassroots mutual aid initiative The Sanabel Team.

Naila And The Uprising
by Julia Bacha​

Documentary, 76 mins.
Chronicling the remarkable journey of Naila Ayesh and a fierce community of women at the frontlines, whose stories weave through the most vibrant, nonviolent mobilisation in Palestinian history – the First Intifada in the late 1980s.

Languages: Arabic, English, Hebrew, French.
Subtitles: English.

\ No newline at end of file diff --git a/src/content/events/server-introduction.md b/src/content/events/server-introduction.md new file mode 100644 index 0000000..765cf11 --- /dev/null +++ b/src/content/events/server-introduction.md @@ -0,0 +1,66 @@ +--- +boost: [] +description:

The Long Table is a format for discussion that uses the + setting of a domestic dinner table as a means to generate public conversation. Conceived + in 2003 by Lois Weaver in response to the divided nature of conventional panel discussions, + the Long Table allows voices to be heard equally, disrupting hierarchical notions + of 'expertise'. It was inspired by Maureen Gorris's film Antonia's Line, + the central image of which is a dinner table getting longer and longer to accomodate + a growing family of outsiders, eccentrics and friends - until finally it has to + be moved outside. Since then, the Table has been set at institutions and festivals + worldwide, and invited hundreds of people to sit and share their views on myriad + topics. The Long Table is an open-source format; you are welcome to use it as a + means of generating discussion on any subject you choose.

--- https://www.split-britches.com/long-table

+end_datetime: 1729357200 +id: 4 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - 0 + - 0 + height: 1063 + name: 'Server Longtable ' + size: 159728 + url: f6c89423d8e4a15114f861ec401a4e41.jpg + width: 750 +multidate: false +next: lets-un-repair-things-together +online_locations: '' +parent: null +parentId: null +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: "> The Long Table is a format for discussion that uses the setting\ + \ of a domestic\n> dinner table as a means to generate public conversation. Conceived\ + \ in 2003 by\n> Lois Weaver in response to the divided nature of conventional panel\n\ + > discussions, the Long Table allows voices to be heard equally, disrupting\n> hierarchical\ + \ notions of 'expertise'. It was inspired by Maureen Gorris's film\n> Antonia's\ + \ Line, the central image of which is a dinner table getting longer\n> and longer\ + \ to accomodate a growing family of outsiders, eccentrics and friends\n> - until\ + \ finally it has to be moved outside. Since then, the Table has been set\n> at institutions\ + \ and festivals worldwide, and invited hundreds of people to sit\n> and share their\ + \ views on myriad topics. The Long Table is an open-source\n> format; you are welcome\ + \ to use it as a means of generating discussion on any\n> subject you choose.\n\ + > \n> --- https://www.split-britches.com/long-table\n> [https://www.split-britches.com/long-table]" +prev: klankschool-performances +recurrent: null +resources: [] +slug: server-introduction +start_datetime: 1729353600 +tags: +- klankschool +- longtable +- server +title: 'Server Longtable ' +--- + +

The Long Table is a format for discussion that uses the setting of a domestic dinner table as a means to generate public conversation. Conceived in 2003 by Lois Weaver in response to the divided nature of conventional panel discussions, the Long Table allows voices to be heard equally, disrupting hierarchical notions of 'expertise'. It was inspired by Maureen Gorris's film Antonia's Line, the central image of which is a dinner table getting longer and longer to accomodate a growing family of outsiders, eccentrics and friends - until finally it has to be moved outside. Since then, the Table has been set at institutions and festivals worldwide, and invited hundreds of people to sit and share their views on myriad topics. The Long Table is an open-source format; you are welcome to use it as a means of generating discussion on any subject you choose.

--- https://www.split-britches.com/long-table

\ No newline at end of file diff --git a/src/content/events/snackbar-frieda-opening.md b/src/content/events/snackbar-frieda-opening.md new file mode 100644 index 0000000..d239a6f --- /dev/null +++ b/src/content/events/snackbar-frieda-opening.md @@ -0,0 +1,103 @@ +--- +boost: [] +description: '

With great enthusiasm we are announcing the opening of Snackbar Frieda! + Frieda is not just any snackbar. We hand out snacks on a donation basis, which means + in return for any contribution you like. We strive for a world where food is a shared + good rather than a means to profit. Snackbar Frieda is based in a squatted space, + because we believe empty spaces in the city should be used for the common good. + This project is an experiment to see what life can look like when we take care + of each other and our city''s needs, through self-organization and solidarity. It + is a labor of love, entirely volunteer-run. That means that we’re welcoming + YOU to join and build this place together with us! Come by for an event, a build + day or a snack!

Vol enthousiasme openen wij snackbar Frieda! Frieda is niet + zomaar een snackbar. We werken op donatiebasis, snacks zijn gratis of je doneert + wat je kan missen. In onze ideale wereld is eten een gedeeld goed dat wordt ingezet + voor verbinding, niet voor winst. Met dit project willen we experimenteren met verschillende + manieren van samenleven; door zelf te organiseren met solidariteit en zorg voor + elkaar en de stad. Omdat Rotterdam volstaat met lege gebouwen die gebruikt kunnen + en moeten worden, zit Snackbar Frieda in een gekraakt pand. Frieda is een passieproject: + we draaien volledig op vrijwilligers en onze eigen tijd. Iedereen is van harte welkom + om mee te doen en deze plek samen met ons vorm te geven. Kom langs voor een + evenement, bij de bouwdag of voor een snack! 

' +end_datetime: 1738436400 +id: 30 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - -0.31 + - -1 + height: 1698 + name: Snackbar Frieda Opening! + size: 271582 + url: bf4581942ff9cec4b05bd345d3acbc1a.jpg + width: 1200 +multidate: false +next: 4-avond +online_locations: '' +parent: null +parentId: null +place: + address: Bajonetstraat 49, 3014 ZC Rotterdam + id: 7 + latitude: null + longitude: null + name: Snackbar Frieda +plain_description: 'With great enthusiasm we are announcing the opening of Snackbar + Frieda! Frieda + + is not just any snackbar. We hand out snacks on a donation basis, which means in + + return for any contribution you like. We strive for a world where food is a + + shared good rather than a means to profit. Snackbar Frieda is based in a + + squatted space, because we believe empty spaces in the city should be used for + + the common good. This project is an experiment to see what life can look like + + when we take care of each other and our city''s needs, through self-organization + + and solidarity. It is a labor of love, entirely volunteer-run. That means + + that we’re welcoming YOU to join and build this place together with us! Come by + + for an event, a build day or a snack! + + + Vol enthousiasme openen wij snackbar Frieda! Frieda is niet zomaar een snackbar. + + We werken op donatiebasis, snacks zijn gratis of je doneert wat je kan missen. + + In onze ideale wereld is eten een gedeeld goed dat wordt ingezet voor + + verbinding, niet voor winst. Met dit project willen we experimenteren met + + verschillende manieren van samenleven; door zelf te organiseren met solidariteit + + en zorg voor elkaar en de stad. Omdat Rotterdam volstaat met lege gebouwen die + + gebruikt kunnen en moeten worden, zit Snackbar Frieda in een gekraakt pand. + + Frieda is een passieproject: we draaien volledig op vrijwilligers en onze eigen + + tijd. Iedereen is van harte welkom om mee te doen en deze plek samen met ons + + vorm te geven. Kom langs voor een evenement, bij de bouwdag of voor een snack! ' +prev: unrepair-cafe-ewaste-walk +recurrent: null +resources: [] +slug: snackbar-frieda-opening +start_datetime: 1738418400 +tags: +- free +- frieda +- rotterdam +- snacks +title: Snackbar Frieda Opening! +--- + +

With great enthusiasm we are announcing the opening of Snackbar Frieda! Frieda is not just any snackbar. We hand out snacks on a donation basis, which means in return for any contribution you like. We strive for a world where food is a shared good rather than a means to profit. Snackbar Frieda is based in a squatted space, because we believe empty spaces in the city should be used for the common good. This project is an experiment to see what life can look like when we take care of each other and our city's needs, through self-organization and solidarity. It is a labor of love, entirely volunteer-run. That means that we’re welcoming YOU to join and build this place together with us! Come by for an event, a build day or a snack!

Vol enthousiasme openen wij snackbar Frieda! Frieda is niet zomaar een snackbar. We werken op donatiebasis, snacks zijn gratis of je doneert wat je kan missen. In onze ideale wereld is eten een gedeeld goed dat wordt ingezet voor verbinding, niet voor winst. Met dit project willen we experimenteren met verschillende manieren van samenleven; door zelf te organiseren met solidariteit en zorg voor elkaar en de stad. Omdat Rotterdam volstaat met lege gebouwen die gebruikt kunnen en moeten worden, zit Snackbar Frieda in een gekraakt pand. Frieda is een passieproject: we draaien volledig op vrijwilligers en onze eigen tijd. Iedereen is van harte welkom om mee te doen en deze plek samen met ons vorm te geven. Kom langs voor een evenement, bij de bouwdag of voor een snack! 

\ No newline at end of file diff --git a/src/content/events/sounds-of-making-xpub1-presents-protocols-for-collective-performance.md b/src/content/events/sounds-of-making-xpub1-presents-protocols-for-collective-performance.md new file mode 100644 index 0000000..ad4a96c --- /dev/null +++ b/src/content/events/sounds-of-making-xpub1-presents-protocols-for-collective-performance.md @@ -0,0 +1,115 @@ +--- +boost: [] +description: '

XPUB1 (first-year students of the Piet Zwart Institute’s Experimental + Publishing MA) invite you to participate in their first collective public appearance: + a moment of making things (public). This event is free!

They write: “Through + a series of experiments at Radio WORM, we’ve been asking ourselves: What is radio? + What does it mean to “go live” and perform together? Imagine the thrill—and the + nerves—of creating something live, using your voice, thoughts, and experimental + sounds that use little to no conventional means of expression.

“We invite + you into a communal space where such moments can be lived together, stretching the + boundaries of connections through DIY sounds and self-made protocols. These protocols + aren’t just guidelines telling us what to do; they’re creative proposals that open + up space for improvisation and re-invention. We see them as tools for collaborative + engagement, empowering all of us to create in the moment and transform live sound + together.”

So jump in for recording, transforming and performing sound with + XPUB1! This event is for anyone who appreciates the raw, transformative power of + sound. Join in shaping a live moment of collective expression, where live sound + performance is felt, shared, and re-imagined together.

The results of these + collective audio experiments will be recorded onsite, and possibly used as materials + for future episodes of the collective’s weekly radio show, that you can hear every + Monday from 10am-12pm until the end of this academic year.

This event is made + possible with the financial support of the Network for Archives of Design and Digital + Culture

' +end_datetime: 1732129200 +id: 13 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - 0 + - 0 + height: 560 + name: 'Sounds of Making: XPUB1 presents Protocols for Collective Performance' + size: 194599 + url: c52eafad6986d73becef0e37a2462e7c.jpg + width: 1000 +multidate: false +next: lets-unrepair-things-together-3 +online_locations: '' +parent: null +parentId: null +place: + address: Boomgaardsstraat 71, 3012 XA Rotterdam + id: 5 + latitude: null + longitude: null + name: Worm +plain_description: 'XPUB1 (first-year students of the Piet Zwart Institute’s Experimental + Publishing + + MA) invite you to participate in their first collective public appearance: a + + moment of making things (public). This event is free! + + + They write: “Through a series of experiments at Radio WORM, we’ve been asking + + ourselves: What is radio? What does it mean to “go live” and perform together? + + Imagine the thrill—and the nerves—of creating something live, using your voice, + + thoughts, and experimental sounds that use little to no conventional means of + + expression. + + + “We invite you into a communal space where such moments can be lived together, + + stretching the boundaries of connections through DIY sounds and self-made + + protocols. These protocols aren’t just guidelines telling us what to do; they’re + + creative proposals that open up space for improvisation and re-invention. We see + + them as tools for collaborative engagement, empowering all of us to create in + + the moment and transform live sound together.” + + + So jump in for recording, transforming and performing sound with XPUB1! This + + event is for anyone who appreciates the raw, transformative power of sound. Join + + in shaping a live moment of collective expression, where live sound performance + + is felt, shared, and re-imagined together. + + + The results of these collective audio experiments will be recorded onsite, and + + possibly used as materials for future episodes of the collective’s weekly radio + + show, that you can hear every Monday from 10am-12pm until the end of this + + academic year. + + + This event is made possible with the financial support of the Network for + + Archives of Design and Digital Culture' +prev: extratonal-infrastructure-16-qoa-en-primeiro +recurrent: null +resources: [] +slug: sounds-of-making-xpub1-presents-protocols-for-collective-performance +start_datetime: 1732111200 +tags: +- radio +- worm +title: 'Sounds of Making: XPUB1 presents Protocols for Collective Performance' +--- + +

XPUB1 (first-year students of the Piet Zwart Institute’s Experimental Publishing MA) invite you to participate in their first collective public appearance: a moment of making things (public). This event is free!

They write: “Through a series of experiments at Radio WORM, we’ve been asking ourselves: What is radio? What does it mean to “go live” and perform together? Imagine the thrill—and the nerves—of creating something live, using your voice, thoughts, and experimental sounds that use little to no conventional means of expression.

“We invite you into a communal space where such moments can be lived together, stretching the boundaries of connections through DIY sounds and self-made protocols. These protocols aren’t just guidelines telling us what to do; they’re creative proposals that open up space for improvisation and re-invention. We see them as tools for collaborative engagement, empowering all of us to create in the moment and transform live sound together.”

So jump in for recording, transforming and performing sound with XPUB1! This event is for anyone who appreciates the raw, transformative power of sound. Join in shaping a live moment of collective expression, where live sound performance is felt, shared, and re-imagined together.

The results of these collective audio experiments will be recorded onsite, and possibly used as materials for future episodes of the collective’s weekly radio show, that you can hear every Monday from 10am-12pm until the end of this academic year.

This event is made possible with the financial support of the Network for Archives of Design and Digital Culture

\ No newline at end of file diff --git a/src/content/events/unrepair-cafe-1.md b/src/content/events/unrepair-cafe-1.md new file mode 100644 index 0000000..ae9f73c --- /dev/null +++ b/src/content/events/unrepair-cafe-1.md @@ -0,0 +1,49 @@ +--- +boost: [] +description:

Come along to a low-key hangout where we sometimes repair stuff

See + unrepair.klank.school + for more details

+end_datetime: 1736456400 +id: 23 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - 0 + - 0 + height: 789 + name: (Un)Repair Cafe + size: 284414 + url: 58b176cdbbf8f949537160d701393ba4.jpg + width: 1200 +multidate: false +next: unrepair-cafe-server-tour +online_locations: '' +parent: null +parentId: null +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: 'Come along to a low-key hangout where we sometimes repair stuff + + + See unrepair.klank.school [https://unrepair.klank.school/] for more details' +prev: unrepair-cafe +recurrent: null +resources: [] +slug: unrepair-cafe-1 +start_datetime: 1736442000 +tags: +- klankschool +- noise +- repair +title: (Un)Repair Cafe +--- + +

Come along to a low-key hangout where we sometimes repair stuff

See unrepair.klank.school for more details

\ No newline at end of file diff --git a/src/content/events/unrepair-cafe-2.md b/src/content/events/unrepair-cafe-2.md new file mode 100644 index 0000000..caeef43 --- /dev/null +++ b/src/content/events/unrepair-cafe-2.md @@ -0,0 +1,49 @@ +--- +boost: [] +description:

Come along to a low-key hangout where we sometimes repair stuff

See + unrepair.klank.school + for more details

+end_datetime: 1737666000 +id: 24 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - 0 + - 0 + height: 789 + name: (Un)Repair Cafe + size: 284414 + url: 4e3461a8b3685c53145c2e2c7d6a056f.jpg + width: 1200 +multidate: false +next: null +online_locations: '' +parent: null +parentId: null +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: 'Come along to a low-key hangout where we sometimes repair stuff + + + See unrepair.klank.school [https://unrepair.klank.school/] for more details' +prev: unrepair-cafe-server-tour +recurrent: null +resources: [] +slug: unrepair-cafe-2 +start_datetime: 1737651600 +tags: +- klankschool +- noise +- repair +title: (Un)Repair Cafe +--- + +

Come along to a low-key hangout where we sometimes repair stuff

See unrepair.klank.school for more details

\ No newline at end of file diff --git a/src/content/events/unrepair-cafe-ewaste-walk.md b/src/content/events/unrepair-cafe-ewaste-walk.md new file mode 100644 index 0000000..778d7f3 --- /dev/null +++ b/src/content/events/unrepair-cafe-ewaste-walk.md @@ -0,0 +1,53 @@ +--- +boost: [] +description:

So many machines. So many possibilities....

Join us at Catu + on Jan 30th (18h) to discuss building a datacenter with second-hand computers.

+end_datetime: 1738270800 +id: 29 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - 0 + - 0 + height: 841 + name: '(Un)Repair Cafe: Let''s build a datacenter' + size: 202204 + url: 7f8e25147a6adf530b00bfb32e9dbaa3.jpg + width: 1200 +multidate: false +next: snackbar-frieda-opening +online_locations: '' +parent: null +parentId: null +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: 'So many machines. So many possibilities.... + + + Join us at Catu on Jan 30th (18h) to discuss building a datacenter with + + second-hand computers. + + + ' +prev: 25-hour-radio-relay +recurrent: null +resources: [] +slug: unrepair-cafe-ewaste-walk +start_datetime: 1738256400 +tags: +- datacenter +- ewaste +- repair +title: '(Un)Repair Cafe: Let''s build a datacenter' +--- + +

So many machines. So many possibilities....

Join us at Catu on Jan 30th (18h) to discuss building a datacenter with second-hand computers.

\ No newline at end of file diff --git a/src/content/events/unrepair-cafe-server-tour.md b/src/content/events/unrepair-cafe-server-tour.md new file mode 100644 index 0000000..3b8f3d1 --- /dev/null +++ b/src/content/events/unrepair-cafe-server-tour.md @@ -0,0 +1,48 @@ +--- +boost: [] +description:

Join us at Catu on January 16th for a tour of the klankschool server.

Threre + will also be some games on the theme of software.

+end_datetime: 1737061200 +id: 25 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - 0 + - 0 + height: 1600 + name: '(Un)repair cafe: Server Tour +' + size: 480128 + url: 2998f35d7ebacd633144798ac4b6af74.jpg + width: 1200 +multidate: false +next: unrepair-cafe-2 +online_locations: '' +parent: null +parentId: null +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: 'Join us at Catu on January 16th for a tour of the klankschool + server. + + + Threre will also be some games on the theme of software.' +prev: unrepair-cafe-1 +recurrent: null +resources: [] +slug: unrepair-cafe-server-tour +start_datetime: 1737046800 +tags: +- klankschool +- server +title: '(Un)repair cafe: Server Tour + more' +--- + +

Join us at Catu on January 16th for a tour of the klankschool server.

Threre will also be some games on the theme of software.

\ No newline at end of file diff --git a/src/content/events/unrepair-cafe.md b/src/content/events/unrepair-cafe.md new file mode 100644 index 0000000..c79f67c --- /dev/null +++ b/src/content/events/unrepair-cafe.md @@ -0,0 +1,49 @@ +--- +boost: [] +description:

Come along to a low-key hangout where we sometimes repair stuff

See + unrepair.klank.school + for more details

+end_datetime: 1735851600 +id: 22 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - 0 + - 0 + height: 789 + name: (Un)Repair Cafe + size: 284364 + url: 762aca6eda6c23508e3951414fe65167.jpg + width: 1200 +multidate: false +next: unrepair-cafe-1 +online_locations: '' +parent: null +parentId: null +place: + address: Catullusweg 11 + id: 1 + latitude: 51.8766465 + longitude: 4.5242688 + name: Catu +plain_description: 'Come along to a low-key hangout where we sometimes repair stuff + + + See unrepair.klank.school [https://unrepair.klank.school] for more details' +prev: lets-unrepair-things-together-8 +recurrent: null +resources: [] +slug: unrepair-cafe +start_datetime: 1735837200 +tags: +- klankschool +- noise +- repair +title: (Un)Repair Cafe +--- + +

Come along to a low-key hangout where we sometimes repair stuff

See unrepair.klank.school for more details

\ No newline at end of file diff --git a/src/content/events/water-of-love.md b/src/content/events/water-of-love.md new file mode 100644 index 0000000..8cc8759 --- /dev/null +++ b/src/content/events/water-of-love.md @@ -0,0 +1,122 @@ +--- +boost: +- https://gts.varia.zone/users/varia +description: '

Join us at Varia for Water of Love, the + second phase of Valentina Vella’s long-term project School of Love and Chaos + (after Bad at Love, a performance with Luke Deane that took place + in March 2024 at Paviljoen aan het water).

School of Love and Chaos weaves + together themes of love and ecological threats through autofictional storytelling, + science fiction, poetry, and performance, using cities closely linked to water—Rotterdam, + New Orleans, Venice, and Rome—as its narrative landscapes. The threat of annihilation + (the fear of losing physical and/or emotional control) is its narrative engine. + At the core of this project lies a question: is there a significant correspondence + between the material infrastructures we live surrounded by, and our intimate lives? + How do the ways we, in the West, tend to handle physical survival—particularly in + the face of ecological threats like flooding that are exacerbated by climate change—relate + to how we manage romantic relationships, friendships, and community bonds? How does + that feel in our bodies and in the body of these imaginary and autofictional characters?

Water + of Love focuses more specifically on the many ways the Netherlands has tried + to keep nature at bay. What does that do to our love life? Does the ocean have any + opinions about the Dutch? Why does the Balgstuw Ramspol look like a gigantic condom?

There + will be readings, there will be music, there will be completely improvised moments + and there will be time to ask and answer questions!

Supported by CBK Rotterdam (Centre for Visual Arts + Rotterdam)

with Valentina Vella, mitsitron, Stephen Kerr and other Klankschool + folks

with the kind support of Amy Gowen (HumDrumPress) as wrangler

' +end_datetime: 1737149400 +id: 26 +image_path: null +isAnon: false +isMine: false +is_visible: true +likes: [] +media: +- focalpoint: + - 0 + - 0 + height: 604 + name: Water of Love + size: 210847 + url: d1855a7804a57e27b82723ba9cec94b4.jpg + width: 750 +multidate: false +next: unrepair-cafe-2 +online_locations: '' +parent: null +parentId: null +place: + address: Gouwstraat 3 + id: 4 + latitude: null + longitude: null + name: Varia +plain_description: 'Join us at Varia for Water of Love, the second phase of Valentina + Vella’s + + long-term project School of Love and Chaos (after Bad at Love, a performance + + with Luke Deane that took place in March 2024 at Paviljoen aan het water). + + + School of Love and Chaos weaves together themes of love and ecological threats + + through autofictional storytelling, science fiction, poetry, and performance, + + using cities closely linked to water—Rotterdam, New Orleans, Venice, and Rome—as + + its narrative landscapes. The threat of annihilation (the fear of losing + + physical and/or emotional control) is its narrative engine. At the core of this + + project lies a question: is there a significant correspondence between the + + material infrastructures we live surrounded by, and our intimate lives? How do + + the ways we, in the West, tend to handle physical survival—particularly in the + + face of ecological threats like flooding that are exacerbated by climate + + change—relate to how we manage romantic relationships, friendships, and + + community bonds? How does that feel in our bodies and in the body of these + + imaginary and autofictional characters? + + + Water of Love focuses more specifically on the many ways the Netherlands has + + tried to keep nature at bay. What does that do to our love life? Does the ocean + + have any opinions about the Dutch? Why does the Balgstuw Ramspol look like a + + gigantic condom? + + + There will be readings, there will be music, there will be completely improvised + + moments and there will be time to ask and answer questions! + + + Supported by CBK Rotterdam [http://www.cbkrotterdam.nl/] (Centre for Visual Arts + + Rotterdam) + + + with Valentina Vella, mitsitron, Stephen Kerr and other Klankschool folks + + + with the kind support of Amy Gowen (HumDrumPress) as wrangler' +prev: unrepair-cafe-server-tour +recurrent: null +resources: [] +slug: water-of-love +start_datetime: 1737138600 +tags: +- performance +- sound +- varia +- water +title: Water of Love +--- + +

Join us at Varia for Water of Love, the second phase of Valentina Vella’s long-term project School of Love and Chaos (after Bad at Love, a performance with Luke Deane that took place in March 2024 at Paviljoen aan het water).

School of Love and Chaos weaves together themes of love and ecological threats through autofictional storytelling, science fiction, poetry, and performance, using cities closely linked to water—Rotterdam, New Orleans, Venice, and Rome—as its narrative landscapes. The threat of annihilation (the fear of losing physical and/or emotional control) is its narrative engine. At the core of this project lies a question: is there a significant correspondence between the material infrastructures we live surrounded by, and our intimate lives? How do the ways we, in the West, tend to handle physical survival—particularly in the face of ecological threats like flooding that are exacerbated by climate change—relate to how we manage romantic relationships, friendships, and community bonds? How does that feel in our bodies and in the body of these imaginary and autofictional characters?

Water of Love focuses more specifically on the many ways the Netherlands has tried to keep nature at bay. What does that do to our love life? Does the ocean have any opinions about the Dutch? Why does the Balgstuw Ramspol look like a gigantic condom?

There will be readings, there will be music, there will be completely improvised moments and there will be time to ask and answer questions!

Supported by CBK Rotterdam (Centre for Visual Arts Rotterdam)

with Valentina Vella, mitsitron, Stephen Kerr and other Klankschool folks

with the kind support of Amy Gowen (HumDrumPress) as wrangler

\ No newline at end of file diff --git a/src/content/index.md b/src/content/index.md new file mode 100644 index 0000000..97dc9c7 --- /dev/null +++ b/src/content/index.md @@ -0,0 +1,15 @@ +--- +title: "Let's unrepair together" +--- + +# Let's unrepair together + +Hello! Every thursday we're hanging out at Cato, to unrepair together. In januari 2025 we're kickstarting a series of hangouts where we'll dive into topics like server maintainance, salvaging electronic components and making sound devices. + +Come hang out! + +{{ events upcoming repair }} + + +### Past hangouts +{{ events passed repair}} diff --git a/src/content/newsletters/december.md b/src/content/newsletters/december.md new file mode 100644 index 0000000..6e1b8e3 --- /dev/null +++ b/src/content/newsletters/december.md @@ -0,0 +1,100 @@ +--- +title: A newsletter for december +published: false +--- + +# Klankbord Digest January 2025 + +Hello and welcome to the klankbord: a discussion list for the +klankschool community. + +### A brief history of Klankschool + +Back in Spring 2024 there were a few meetings about Klankschool at +[Varia](https://vvvvvvaria.org), a space for everyday technology in +the South of Rotterdam. The plan was to start building a community +space on Wolphaertstraat where members could run classes about sound. +People voiced their desires and talked with each other on WhatsApp. +However, due to the upkeep of the building it was not possible to get +started in this space. Currently, it is not clear when Klankschool +might be able to move to the location on Wolphaertstraat. Despite +this, activity around Klankschool has persisted. + +## Upcoming at Klankschool + +{{ events upcoming }} + +## Recently at Klankschool + +{{ events passed}} + +## FAQs + +### What is [Klankschool](https://klank.school)? + +Klankschool is a loose affiliation of sound artists and sonic +practitioners based in and around Rotterdam, NL. We hangout on +Thursday evenings in the social space at +[Catu](https://radar.squat.net/en/rotterdam/catu). During these +evenings people [(un)repair](https://unrepair.klank.school) audio +devices, do circuit bending and hack away on servers. Sometimes there +are [peformance +evenings](https://calendar.klank.school/event/3rd-klankschool-dagandavond). Sometimes +there's a bite to eat. Often it's a bit cold -- so layer up and bring +your broken audio equipment! Entrance is gratis and donations are +always welcome. + +### What's the purpose of this discussion list? + +This list offers a place to chat about experimental sound +practices. It's a discussion list which means communication is +multi-directional. Emails sent to klankbord@we.lurk.org are circulated +to everyone subscribed to the list. It's good for sharing open calls, +promoting relevant events, talking with like-minded folks, asking for +spare electrical components etc.. The list is moderated. To contact a +moderator directly, email klankbord-owner@we.lurk.org. + +### Where can I discover off-circuit, sonic events in and around Rotterdam? + +Klankschool's [calendar](https://calendar.klank.school) is available +online. There are several ways of subscribing to and sharing events +(RSS, ICS/ICAL, Fediverse, HTML embed). You can also upload your own +events to the calendar. It's moderated by a few people who check it on +a semi-regular basis. Please feel encouraged to +[register](https://calendar.klank.school/register) for an account, +this will allow you to upload events more easily. + +### I wrote some software for making sound, where can I share it? + +Check out our [gitea](https://code.klank.school)! It's a bit like +GitHub / GitLab. Send an email to klankbord-owner@we.lurk.org if you +want a login. + +### I am organising something at Klankschool, how can I spread the word? + +Best send an email to this mailing list about your workshop / class / +performance and / or post it on the calendar. + +### Is there a membership fee? + +Not at the moment. + +### Does Klankschool have a system for sharing sounds with other people? + +Watch this space! :) + +## Shoutouts + +Big thanks to + +**[V2_](https://v2.nl)** + +**[Catu](https://radar.squat.net/en/rotterdam/catu)** + +**[Varia](https://vvvvvvaria.org)** + +**[Lag](https://laglab.org/)** + +**[LURK](https://lurk.org)** + +**[NL_CL](https://netherlands-coding-live.github.io/)** diff --git a/src/content/newsletters/index.md b/src/content/newsletters/index.md new file mode 100644 index 0000000..228927f --- /dev/null +++ b/src/content/newsletters/index.md @@ -0,0 +1,6 @@ +--- +title: The newsletters +published: false +nested: 'newsletters' +--- +Klank.school newsletters \ No newline at end of file diff --git a/src/content/newsletters/server_update_two.md b/src/content/newsletters/server_update_two.md new file mode 100644 index 0000000..2f3741c --- /dev/null +++ b/src/content/newsletters/server_update_two.md @@ -0,0 +1,130 @@ +I'd like to begin this month's Klankbord Digest with a server update. +Let's backtrack a bit to understand how the current circumstances +arose. The server began as a prototype on a Mac Pro Trash Bin computer +which I borrowed from a university. It had 16 GB of RAM and for this +reason, it was possible to run loads of software on the machine. For +this purpose, I used Incus, which is a Linux Container Management +System. It's a fork of LXD, which is made by Canonical. Canonical +decided to make LXD proprietary a while ago, and so Incus was the +natural alternative. So, I set up a bunch of containers inside of this +machine and these were capable of communicating with each other. There +was an advantage to using Incus over using LXD. For example, it was +possible to launch different operating systems on top of the host +operating system. And this was no longer easily doable with LXD. + +I thought it would be a good idea to install Arch Linux on the Trash +Bin as the host operating system. This was probably not a good idea, +because Arch Linux offers very up-to-date software and is constantly +changing. If software is not kept up-to-date, things break. And when +the software is updated, sometimes things break. In any case, I wanted +to be able to launch different operating systems because various +pieces of software that I wanted to run on the machine were +well-suited to those operating systems. For example, I wanted to run +an OpenProject instance for collaborative project management. In the +past I attempted to build this Ruby on the Rails application from +source inside a Ubuntu container. I found that that simply didn't work +in the long-run. The background jobs processor wasn't working at +all. Everything got clogged up, and it crashed. Slowly. And that was +the end of that, because the system was simply unusable. Thus, running +OpenProject in a Debian environment, without running Debian on the +machine itself, was the main reason why I wanted to run +Incus. However, the OpenProject instance will not make a +reappearance. Partly because it used 1.6 GB of memory. This was not an +issue on the Trashbin, but was an issue on the next server. + +Which brings me to a discussion of the next machine: a second-hand +Supermicro, which I picked up from v2_ around Christmas. This machine, +it turns out, used 90 watts of electricity per hour, which is a lot. +For whatever reason, the fan was running at full blast all the time. +Everyone who saw it said it shouldn't be doing that. But it was doing +it and it wasn't clear why. In any case, the task, as I saw it, before +I understood how much electricity this thing was consuming, was to +transfer the containers from the Trashbin to the Supermicro +machine. There were many containers and I wasn't going to use all of +them. Using a laptop and a VPN and an Ethernet cable, I was able to +transfer the required containers to the Supermicro +server. Technically, when running different operating systems with +Incus it's better to use KVMs, or Kernel Virtual Machines. As I wasn't +doing that it was already suffering from mis-configuration issues. + +Furthermore, I decided to install Arch Linux on the Supermicro machine +as well. There was a bit of complexity involved in booting the server, +because it needed to be network booted, and that was something I had +not previously encountered. It was quite the adventure but I set it up +hastily. When I installed the operating system, it was an `fdisk` +situation. I set aside eight GB of SWAP space and a 120 GB root +partition, which makes limited sense. No way was there going to be 120 +GB worth of software on the machine. More likely: it was going to run +out of RAM. At least things were up and running at this point. There +was the OpenProject. There was a live coding system, Flok. There was +a SFTP server. There was a container for the websites (why not just +use `/var/www/`...?). There was a Gitea instance and a Gitea runner. +There was a container for the PostgreSQL databases. And, finally, one +for the calendar also. These were all online at one point and using +up a lot of memory. The Supermicro server only had four gigabytes of +memory. Unsurprisingly, it could not handle all of this and +crashed. Therefore migrating some of the data / processes elsewhere +was required. The primary reason for this was to reduce memory +consumption. Accordingly the [calendar](https://calendar.klank.school) +moved to a VPS in Graz, Austria. This is now online and should stay +online as long as the VPS is going! + +In any case, the supermicro server joined the Varia hub. Very +exciting. Everything was routed through a VPN, and I had to +reconfigure various web servers inside several containers in order to +make it work as expected. One advantage of using system containers on +a per-application basis is that a more granular picture of web +requests can be assembled. Each container had its own web server as +depicted in the following diagram. + +``` + live.klank.school + o + | + | code.klank.school + | o + | | ++-----------+---------+-------------------------------------+ +| | | | +| +-------+---------+-----+ +-------------------------+ | +| | B | | | | B | | +| | O +---+---------+--+ | | O +-------+ +-------+ | | +| | X | | | | | | X | Nginx | | Gitea | | | +| K | | o HAProxy o--+--+---+----+---o---+--+---o | | | +| L | O | | | | | T | | | | | | +| A | N +---+------------+ | | H +-------+ +-------+ | | +| N | E | | | R | | +| K +-------+---------------+ | E | | +| | | E | | +| S | +-------------------------+ | +| E +-------+------------------+ | +| R | B | | each BOX is a container | +| V | O +--+----+ +------+ | | +| E | X | | | | Flok | | o---o is a web request | +| R | | o----+---+-o | | | +| | T | Nginx | | | | | +| | W +-------+ +------+ | | +| | O | | +| +--------------------------+ | ++-----------------------------------------------------------+ + +``` + +Despite the advantages of using containers, the decision was made to +stop using them. Some might say to use Docker instead, but I don't +think it makes a difference. There's no need to containerise all the +services on a machine. Excessive complexity and surprising +dependencies are a downside of containers. Thus, I preferred to keep +it simple because the environments were becoming a messy labyrinth of +proxy devices, system containers and storage units. I understood what +was going on but no-one else did. I wanted to change this, but +couldn't find quite the right moment to do so. And didn't. So I simply +pulled the plug on the Supermicro server. + +To be honest, I was having a bit of a strange week when I made this +decision. However, it was the right decision to make, along with +changing the DNS provider. March 8th was a deadline which I set for +myself to change the DNS provider. This was insofar that, for the past +couple of years, March 8th has been a day of International +Trans*Feminist anti-colonial Counter-cloud action. Thus, in an effort +to defund the cloud, there's a new DNS provider. diff --git a/src/templates/base.jinja b/src/templates/base.jinja new file mode 100644 index 0000000..437df41 --- /dev/null +++ b/src/templates/base.jinja @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + +{% block title %} + {%- if page['title'] -%} + {{ page['title'] }} + {%- else -%} + I dont have a title + {%- endif -%} +{% endblock %} + + + +
+
+ {%- block content %}{% endblock -%} +
+ {% block aside %} + + {% endblock %} +
+ + +

+
+ + + + \ No newline at end of file diff --git a/src/templates/index.jinja b/src/templates/index.jinja new file mode 100644 index 0000000..2d23c08 --- /dev/null +++ b/src/templates/index.jinja @@ -0,0 +1,27 @@ +{% extends "base.jinja" %} + +{% block content %} +
+ +
+

{{page['title']}}

+
+ {{page['body']|shortcode}} + + + {% if page['nested'] %} + + + {% endif %} +
+{% endblock %} + +{% block aside %} {% endblock %} \ No newline at end of file diff --git a/src/templates/newsletters.jinja b/src/templates/newsletters.jinja new file mode 100644 index 0000000..dcbaeba --- /dev/null +++ b/src/templates/newsletters.jinja @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + {% block title %} + + {% if page['title'] %} + {{ page['title'] }} + {% else %} + The title + + {% endif %} + {% endblock %} + + + + +settings for newssletter only {{ name }} +
+
+
+ {{ page['body'] | shortcode }} +
+
+ + +
+ + + + + + + \ No newline at end of file diff --git a/src/templates/snippets/inventory.jinja b/src/templates/snippets/inventory.jinja new file mode 100644 index 0000000..19f0fad --- /dev/null +++ b/src/templates/snippets/inventory.jinja @@ -0,0 +1,48 @@ +{%- macro inventory(compare, compareWith) -%} +{%- set ns = namespace(has_inventory=false) -%} +{%- for item in documents.inventory -%} + {%- if (item[compare]) -%} + {%- if (item[compare].capitalize() | slugify) == (compareWith.capitalize() | slugify) -%} + {%- set ns.has_inventory = true -%} + + {%- endif -%} + {%- endif -%} +{%- endfor -%} + +{%- if ns.has_inventory -%} + + + + + + + + + + + + {%- for item in documents.inventory -%} + {%- if (item[compare]) -%} + {%- if (item[compare].capitalize() | slugify)== compareWith -%} + + + + + + + + + + {%- endif -%} + {%- else -%} + other {{compare}} {{item}} + {%- endif -%} + {%- endfor -%} + + +
NameValuetypeWhereWhen
{{item.Name}}{{item.Value}}{{item.type}}{{item.Where}}{{item.Date}}
+ +{%- else -%} + No components were identified yet {{compare}} {{compareWith}} +{%- endif -%} +{%- endmacro -%} \ No newline at end of file diff --git a/src/templates/snippets/list-documents.jinja b/src/templates/snippets/list-documents.jinja new file mode 100644 index 0000000..13e6d9c --- /dev/null +++ b/src/templates/snippets/list-documents.jinja @@ -0,0 +1,32 @@ + +{% if documents[type]|length > 0 %} + +{% endif %} \ No newline at end of file diff --git a/src/templates/snippets/list-events.jinja b/src/templates/snippets/list-events.jinja new file mode 100644 index 0000000..af3d9c4 --- /dev/null +++ b/src/templates/snippets/list-events.jinja @@ -0,0 +1,35 @@ +{% set the_events = events|sort(attribute="start_datetime") %} + +{% if filter == "upcoming" %} + {% set the_events = events|sort(attribute="start_datetime")|rejectattr("has_passed")%} +{% elif filter == "passed" %} + {% set the_events = events|sort(attribute="start_datetime", reverse=true)|selectattr("has_passed")%} +{% endif %} + +{% if events|length > 0 %} + + +{% endif %} \ No newline at end of file diff --git a/src/templates/snippets/page-circuit.jinja b/src/templates/snippets/page-circuit.jinja new file mode 100644 index 0000000..66afa27 --- /dev/null +++ b/src/templates/snippets/page-circuit.jinja @@ -0,0 +1,13 @@ +{%- macro showCircuit(content) -%} + {% if content['pcb'] %} +
+
+

Paper circuit: {{content['title']}}

+
+ +
+ +
+
+{% endif %} +{%- endmacro -%} diff --git a/src/templates/snippets/page-cover.jinja b/src/templates/snippets/page-cover.jinja new file mode 100644 index 0000000..399bddd --- /dev/null +++ b/src/templates/snippets/page-cover.jinja @@ -0,0 +1,24 @@ +{% from 'snippets/page-detail.jinja' import showDetail with context %} +{% from 'snippets/page-front.jinja' import pageFront with context %} +{% from 'snippets/page-circuit.jinja' import showCircuit with context %} + + +{%- macro showCoverPage(chapter, documents, index) -%} +
+ {{chapter['title']}} +
+
+ +

Chapter {{index}}

+

{{chapter['title']}}

+ + {% if chapter['nested'] %} + + + {% endif %} +
+{%- endmacro -%} \ No newline at end of file diff --git a/src/templates/snippets/page-detail.jinja b/src/templates/snippets/page-detail.jinja new file mode 100644 index 0000000..a638b41 --- /dev/null +++ b/src/templates/snippets/page-detail.jinja @@ -0,0 +1,84 @@ +{%- macro showDetail(content, parentChapter) -%} +
+
+ {{content['title']}} +
+ +
+ +

[[chapter title]]

+ +

{{content['title']}}

+ + {% if content['alsoKnownAs'] %} +
Also known as {{content['alsoKnownAs']}}
+ {% endif %} + + {% if content['shortDescription'] %} +

{{content['shortDescription'] }}

+ {% endif %} + + {% if content['sample'] %} +
+ + + + + + + + + + + +
+ + + {% endif %} +
+{% if content['BOM'] %} + +{% endif %} +
+ {{content['body']}} +
+ + {% if content['image'] %}{% endif %} {% if content['material'] %} + +
+
Material
+
{{content['material']}}
+
Usage
+
{{content['usage']}}
+
Typically found in
+
{{content['whereToFind']}}
+ {% if content['schematicSymbol'] %} +
Schematic symbol
+
+ {% endif %} +
+ {% endif %} +
+{%- endmacro -%} diff --git a/src/templates/snippets/page-front.jinja b/src/templates/snippets/page-front.jinja new file mode 100644 index 0000000..a7f81ba --- /dev/null +++ b/src/templates/snippets/page-front.jinja @@ -0,0 +1,30 @@ +{%- macro showFront(content) -%} +
+
+ {{detail['title']}} +
+
+

{{detail['title']}}

+
Also known as {{detail['alsoKnownAs']}}
+
+ + {% if detail['image'] %}{% endif %} + +
+
Material
+
{{detail['material']}}
+
Usage
+
{{detail['usage']}}
+
Typically found in
+
{{detail['whereToFind']}}
+ {% if detail['schematicSymbol'] %} +
Schematic symbol
+
+ {% endif %} +
+ + + {{detail['body']}} + +
+ {%- endmacro -%} diff --git a/src/templates/snippets/pages-nest.jinja b/src/templates/snippets/pages-nest.jinja new file mode 100644 index 0000000..b417f87 --- /dev/null +++ b/src/templates/snippets/pages-nest.jinja @@ -0,0 +1,14 @@ +{% from 'snippets/page-detail.jinja' import showDetail with context %} +{% from 'snippets/page-front.jinja' import pageFront with context %} +{% from 'snippets/page-circuit.jinja' import showCircuit with context %} + + +{%- macro showNestedPages(chapter, documents) -%} + {% if chapter['nested']%} +
{{ documents[chapter['nested']]|length }} 
+ {% for nest in documents[chapter['nested']] %} + {{ showDetail(nest, chapter) }} + {{ showCircuit(nest) }} + {% endfor %} + {% endif %} +{%- endmacro -%} \ No newline at end of file