summaryrefslogtreecommitdiff
path: root/frontend/site/projects/museum
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2021-04-19 23:32:54 +0200
committerJules Laplace <julescarbon@gmail.com>2021-04-19 23:32:54 +0200
commit7bdbeab4b2e354a6eaf2f319e56cdd92805dc1a0 (patch)
tree9263940b4f7db847dcca88a49b6d9be0c224a573 /frontend/site/projects/museum
parent9aa828997d56f7895b2b26603719593386f4eb93 (diff)
adding a flash, adding a bunch of german..
Diffstat (limited to 'frontend/site/projects/museum')
-rw-r--r--frontend/site/projects/museum/constants.js92
-rw-r--r--frontend/site/projects/museum/icons.js13
-rw-r--r--frontend/site/projects/museum/subtitles.js12
-rw-r--r--frontend/site/projects/museum/text-overlays.js157
-rw-r--r--frontend/site/projects/museum/views/credits.css13
-rw-r--r--frontend/site/projects/museum/views/credits.js270
-rw-r--r--frontend/site/projects/museum/views/essay.css18
-rw-r--r--frontend/site/projects/museum/views/essay.js33
-rw-r--r--frontend/site/projects/museum/views/flash.css8
-rw-r--r--frontend/site/projects/museum/views/flash.js43
-rw-r--r--frontend/site/projects/museum/views/home.js1
-rw-r--r--frontend/site/projects/museum/views/jakrawal.links.css5
-rw-r--r--frontend/site/projects/museum/views/jakrawal.links.js3
-rw-r--r--frontend/site/projects/museum/views/nav.overlay.js62
-rw-r--r--frontend/site/projects/museum/views/text.overlay.css20
-rw-r--r--frontend/site/projects/museum/views/text.overlay.js5
-rw-r--r--frontend/site/projects/museum/views/titles.css1
-rw-r--r--frontend/site/projects/museum/views/titles.overlay.js23
18 files changed, 609 insertions, 170 deletions
diff --git a/frontend/site/projects/museum/constants.js b/frontend/site/projects/museum/constants.js
index 5c9cca0..08b2312 100644
--- a/frontend/site/projects/museum/constants.js
+++ b/frontend/site/projects/museum/constants.js
@@ -31,6 +31,26 @@ export const ARTISTS = {
We spirits defy linear temporality, mixing material and human life of different times... We are nodes of the causal network that gives events and codes coherence and meaning. One can recognise our ways when people (now and then) self-organise, envision, resist and revolt…
</p>
`,
+ statement_de: `
+ <p>
+ <b>AFU. This is not a hackerspace.</b>
+ </p>
+ <p>
+ Willkommen zu einer wilden Archäologie im Weltraum! Besetzt die Archäologie! Besetzt Hackerspaces!
+ </p>
+ <p>
+ Wir brauchen dringend mehr Höhlenmalereien in Hackerspaces. Mehr Gremien von Müttern, die uns mit Wildheit und Sorgfalt führen. Mehr PC-Türme von Babylon. Mehr hieroglyphische Verschlüsselung und mehr hybride Kreaturen. Das Artefakt ist die wirkende Kraft, die mit HERitage und HERstory untergeordnete Hackerspaces erschafft.
+ </p>
+ <p>
+ Alles von Hand gemacht, vor Tausenden von Jahren, neu gemischt, von Hand genäht, durch Software gestern erstellt, heute in einem 3D-Drucker konzipiert und morgen neu erdacht... Der Drucker selbst ist das Fetischobjekt von Open-Source- und Making-Communities. Vergessen Sie 'Do-it-yourself'. Es war schon immer die Zeit für 'Do-it-together'. Wir, Women of Color, die unsichtbaren Geister und Arbeitskräfte, haben Computer und Systeme erdacht und gebaut... Wir haben immer gebastelt. Und wir existieren nicht im Dualismus von Macherin/Gemacht.
+ </p>
+ <p>
+ Vergessen Sie die Götterlisten, die Wissenschaftler*innen aus den antiken Materialien erstellt haben. Es besteht keine Notwendigkeit für Hierarchien von Göttern oder die Vorherrschaft eines Gottes über einen anderen. Nur wenige Geister behielten ihre Identität über Jahrtausende hinweg. Im Weltraum ziehen wir Geister den Göttern vor. Geister, die fließend sind und von denen einer den anderen nachahmt. Geister, Diĝir, Nin, die sich um ihre Räume und Menschen kümmern... Der Geek wird in der Punk-Archäologie durch das Basteln und Codieren von Geistern, Maskeraden, Hexen, Göttinnen und Daimonen (Geistwesen) aufgelöst... 
+ </p>
+ <p>
+ Wir Geister widersetzen uns der linearen Zeitlichkeit, vermischen materielles und menschliches Leben verschiedener Zeiten... Wir sind Knotenpunkte des kausalen Netzwerks, das Ereignissen und Codes Kohärenz und Bedeutung verleiht. Man kann unsere Wege erkennen, wenn Menschen (hin und wieder) sich selbst organisieren, Visionen entwickeln, Widerstand leisten und revoltieren...
+ </p>
+ `,
image: "",
globePosition: {
top: "15.1%",
@@ -69,6 +89,26 @@ export const ARTISTS = {
Perhaps becoming disembodied I am liberated from my specificity, and can make new configurations of being. Virtually, I can leapfrog the physical restrictions of nationhood, sexed bodies, and color. But mostly that’s not how it actually feels. The same illusions that impose those restrictions in the first place are still out here like a hangover. The digital relations and the appification of life doesn’t yet satisfy actual bodily needs: wages for affordable food, real human affection, shelter, and a future. They’ve instead increased the speed of the bottom to top cash funnel. Depression, my anxiety and accompanying loneliness, parallels the rise in my screen use; it’s by now kind of obvious, there’s no coincidence. The desire for touch and taste is a hard one to sublimate. 
</p>
`,
+ statement_de: `
+ <p>
+ <i>Untitled</i>, 2021
+ </p>
+ <p>
+ Dieses Werk hat eigentlich keinen Titel. In vielerlei Hinsicht ist es untypisch für mein künstlerisches Schaffen, das normalerweise objektbasiert, körperbezogen und sehr physisch ist. Etwas nur für den Zweck einer Online-Erfahrung zu machen, während eines Höhepunkts der COVID-19-Krise zu arbeiten, in einem temporären Atelier in Brasilien - mit der Herausforderung, Materialien in Geschäften für Kunstbedarf mit leeren Regalen zu finden - hat mich dazu gebracht, das Projekt als einmalige Sache anzugehen. Ein großer Druck fiel weg: Objekte, die ich gemacht habe, konnten sofort nach der Ausstellung wieder zerfallen, weil ihre Beziehung zur Ausstellung invertiert war: Das Last Museum ist dauerhaft, die Kunstwerke sind es nicht. Und wo findet diese Ausstellung überhaupt statt - irgendwo zwischen meinem inneren Monolog und dem Ihren, nie weit genug draußen, aber auch nicht ganz in unseren Köpfen. Für uns beide steht nicht viel auf dem Spiel, und diese schwachen Beziehungen sind von Angst erfüllt.
+ </p>
+ <p>
+ Das Reale, das in diesen Raum hinein transportiert wurde, wurde in São Paulo im Stadtviertel Santa Ifigênia gedreht, benannt nach der gleichnamigen schwarzen äthiopischen Heiligen. Dieser historische Teil des Stadtzentrums hat sich je nach den Konsumbedürfnissen der Bevölkerung gewandelt: Zu Beginn des 20. Jahrhunderts war es das Viertel für den Kauf von Stoffen, dann Radios, dann Fernseher und Videorekorder, jetzt CPUs, Laptops, Server und alles Mögliche. Trotz jahrzehntelanger Vernachlässigung durch die Stadt und Korruption sind die traditionellen Familienbetriebe immer noch da und halten durch. Die Bezeichnungen für die High-Tech-Waren, die sie verkaufen, beschwören Visionen von China, Apple Stores, Silicon Valley, staubfreien Räumen, Glasgebäuden, weißen Menschen mit ordentlichen Haarschnitten herauf. In Wirklichkeit werden hier Laptops geöffnet und kurzerhand vor ihren braunhäutigen Besitzer*innen verlötet, Gaming-Stacks zusammengebaut, während man in einem freundlichen, überfüllten Lagerhaus wartet und plaudert; da iPhone wird mit einem Bildschirm einer anderen Marke ausgestattet (...). Die Magie hier ist eine raubkopierte Version der gesamten Adobe-Suite, billig genug, dass man es sich tatsächlich leisten kann, diese Programme zu besitzen, sie zu erlernen und sich vielleicht einen Job zu besorgen.
+ </p>
+ <p>
+ Drei Häuserblocks entfernt von dem, was heute das wichtigste physische Technologie-Einkaufszentrum der Stadt ist, liegt das, was wir aus São Paulo als Crack-Land bezeichnen. Es ist der Abgrund, in den man sinkt, wenn man durch alle zerbrechlichen Fäden des menschlichen affektiven Auffangnetzes gefallen ist. Die Menschen dort sind Menschen wie du und ich, aber sie haben alles verloren, was ihnen Halt geben könnte - sie leben in einem Zustand des ewigen Kreislaufs zwischen dem Sammeln von Pappkartons für Bargeld, dem Beschaffen von 3 Dollar für Crack, dem High-Werden und dem anschließenden tagelangen Zusammenbruch. 
+ </p>
+ <p>
+ Die physische Nähe dieser beiden Knotenpunkte, Crack-Land und Santa Ifigênia, ist eine hässliche Karikatur dessen, dass App-Entwickler*innen uns User*innen nennen und analysieren, wie man am besten eine Sucht auslöst. Ich habe keine Crack-Süchtigen gefilmt, aber ich denke, Sie sollten wissen, dass diese dünnhäutige Realität überall um uns herum war, da meine dreiköpfige Crew und ich schnell filmten, um die Arbeit der Leute nicht zu unterbrechen, die uns freundlicherweise in ihre Räume ließen oder dem Risiko zustimmten, indem sie uns ihre illegale Ware filmen ließen.
+ </p>
+ <p>
+ Vielleicht werde ich dadurch, dass ich körperlos werde, von meiner Besonderheit befreit und kann neue Konfigurationen des Seins vornehmen. Auf virtuelle Weise kann ich die physischen Beschränkungen von Nationalität, geschlechtlichen Körpern und Farbe überspringen. Aber meistens fühlt es sich nicht wirklich so an. Die gleichen Illusionen, die diese Beschränkungen überhaupt erst auferlegen, sind immer noch da, wie ein Kater. Die digitalen Beziehungen und die Appifizierung des Lebens befriedigen bisher noch nicht die tatsächlichen körperlichen Bedürfnisse: Lohn für bezahlbares Essen, echte menschliche Zuneigung, Obdach und eine Zukunft. Stattdessen haben sie die Geschwindigkeit der Diskrepanz zwischen arm und reich erhöht. Die Depression, meine Angst und die damit einhergehende Einsamkeit, gehen einher mit dem Anstieg meiner Bildschirmnutzung. Es ist mittlerweile irgendwie offensichtlich, dass das kein Zufall ist. Das Verlangen nach Berührung und Geschmack ist schwer zu sublimieren.
+ </p>
+ `,
image: "",
globePosition: {
top: "59%",
@@ -98,6 +138,17 @@ export const ARTISTS = {
‘My works embed Wiradjuri knowledge and are anchored on Gumbaynggirr Country where I now live. <i>Dhurany Yanggu</i> transmits the concept of ‘message sticks’, an ancient form of communication that has been used for tens of thousands of years—which is still in use today in some parts of Australia. Textiles, clay, rock, trees, plants and minerals have formed the substance of my practice over the past decade, directing the atmosphere and meaning of my sculptures, films and photographs.  In addition, the video documentation of objects is meant to prove to its recipient that the messages being carried are undisputable. Colonial histories are long and hypnotising, remembered by the people and imprinted on the land itself. The objects placed become marks in the landscape that are distinctive to my Wiradjuri nation. They hold many stories of loss, disaster, destruction and change. Each object acts as a mediator defining a land and culture that has endured massive change, and draws on archaeologies of land and place.’
</p>
`,
+ statement_de: `
+ <p>
+ <i>Dhurany Yanggu</i> (message song of running water), 2021
+ </p>
+ <p>
+ <i>Dhurany yanggu</i> (Botschafts-Song des fließenden Wassers) der Wiradjuri-Künstlerin Nicole Foreshew ist eine Sammlung von handgefertigten, aneinandergereihten und gesammelten Skulpturen, die an Standorten im Urumbilum-River-Gebiet im ländlichen Australien installiert wurden, wo die Künstlerin heute lebt. Der Urumbilum ist ein ganzjährig Wasser führender Fluss im Einzugsgebiet des Clarence River in den Gumbaynggirr Country, Northern Tablelands und Northern Rivers Regionen von New South Wales, Australien. Gumbaynggirr ist eines der größten Aborigines-Nation-Gebiete an der Küste von New South Wales.
+ </p>
+ <p>
+ „Meine Arbeiten beziehen das Wissen der Wiradjuri mit ein und sind in Gumbaynggirr Country verankert, wo ich jetzt lebe. Dhurany Yanggu vermittelt das Konzept der 'Botschafts-Stöcke', eine uralte Form der Kommunikation, die seit Zehntausenden von Jahren verwendet wird - und die in einigen Teilen Australiens auch heute noch in Gebrauch ist. Textilien, Ton, Felsen, Bäume, Pflanzen und Mineralien haben in den letzten zehn Jahren die Grundlage meines künstlerischen Schaffens gebildet und bestimmen die Atmosphäre und Bedeutung meiner Skulpturen, Filme und Fotografien. Darüber hinaus soll die Videodokumentation von Objekten dem Rezipienten zeigen, dass die Botschaften, die sie transportieren, unbestreitbar sind. Die koloniale Geschichte ist lang und hypnotisierend, sie wird von den Menschen erinnert und ist dem Land selbst eingeprägt. Die platzierten Objekte werden zu Markierungen in der Landschaft, die unverwechselbar für meine Wiradjuri-Nation sind. Sie bergen viele Geschichten von Verlust, Katastrophen, Zerstörung und Veränderung. Jedes Objekt nimmt eine vermittelnde Funktion ein, in dem es ein Land und eine Kultur definiert, die massiven Veränderungen unterworfen war, und greift auf Archäologien von Land und Ort zurück.“
+ </p>
+ `,
image: "",
globePosition: {
top: "68%",
@@ -136,7 +187,30 @@ export const ARTISTS = {
Catapulted from the interior back to the exterior, we encounter the same meteorite, but this time as a 3 dimensional meteorite crystal, balanced on the peak of the mountain (reminiscent of Rene Magritte’s surrealist masterpiece <i>La clef de verre</i>, 1959).  A title originally stolen from the English detective novel, <i>The Glass Key</i> reveals the dream when one attempts to force a locked space with a fragile decoder and the key shatters in the lock. An excerpt from Clarice Lispector’s most enigmatic short story discusses the birth of the metaphysical round object that denies all understanding.
</p>
<p>
- <i>The Glass Key</i> ends not by focusing on a natural history object (spar or meteorite) but perhaps the most uniquely anthropogenic crystal: Trinitite.  Laying on a bed of snow crystals, a dark green fragment remains—an object composed of fused sand, created when the desert was super-heated by the first nuclear explosion: Trinity.  A video of the explosion closes the cycle, where <i>The Desert Turned to Glass</i>. A nuclear winter descends, and we retreat from the pinnacles of mountains and temples into our isolated underground caves, connected through a communication system designed to survive a nuclear apocalypse. Lispector’s lament closes our eclipsed world.”
+ <i>The Glass Key</i> ends not by focusing on a natural history object (spar or meteorite) but perhaps the most uniquely anthropogenic crystal: Trinitite.  Laying on a bed of snow crystals, a dark green fragment remains—an object composed of fused sand, created when the desert was super-heated by the first nuclear explosion: Trinity.  A video of the explosion closes the cycle, where <i>The Desert Turned to Glass</i>. A nuclear winter descends, and we retreat from the pinnacles of mountains and temples into our isolated underground caves, connected through a communication system designed to survive a nuclear apocalypse. Lispector’s lament closes our eclipsed world.
+ </p>
+ `,
+ statement_de: `
+ <p>
+ <i>The Glass Key</i> wurde vor allem in der historischen Cosmic Ray Research Station in den kanadischen Rocky Mountains zur Wintersonnenwende gedreht. The Glass Key reist durch die Zeit und den Raum der Menschen, die versuchen, ihren Platz im Kosmos zu verstehen und ein Gespür dafür zu kommunizieren: von der antiken Sonnenanbetung bis hin zur heutigen Neutrino- und Dunkle-Materie-Forschung. Erzählerisch beginnt das Werk mit einer paradoxen Besteigung des mystischen „Sonnenberges“, während das Subjekt in eine tiefere innere, psychologische, „kosmische Höhle“ eintaucht.
+ </p>
+ <p>
+ Der Soundtrack, der das Projekt leitet und als binaurales Werk für das Hören über Kopfhörer komponiert ist, besteht aus drei Komponenten: Ein nachhallender Drone wird aus Feldaufnahmen von MIT-Radomen und WWI-Schallspiegeln generiert; flirrende Feldaufnahmen von ionosphärischen Kollisionen knistern rund um den Schädel und fangen gelegentlich die Signale von Satelliten ein. Schließlich werden literarische Textfragmente in Morsecode übersetzt, der sich im Puls eines Herzschlags ausdrückt. Diese drei Ebenen werden räumlich miteinander vermischt, von der raumgreifenden Klanglandschaft über die Schwelle des Kopfes in das Innere des Körpers. 
+ </p>
+ <p>
+ Als Gegenstück zu modernen wissenschaftlichen Untersuchungen der kosmischen Strahlung wurden zur Frühlings-Tagundnachtgleiche LIDAR-Aufnahmen (Laser-3D-Messung) an einem Maya-Tempel in Yucatan durchgeführt. The Glass Key zeichnet nicht nur die architektonische Geschichte der mesoamerikanischen Kultur nach, sondern folgt auch Robert Smithsons Reise durch die Landschaft im Jahr 1969, als er versuchte, ortsspezifische Kunst in speziellem Kontrast zum archivarischen Format der Fotografie und der Kartografie zu definieren. 
+ </p>
+ <p>
+ Während wir uns dem Gipfel der Cosmic Research Station nähern, werden wir über die historische Verwendung des isländischen Spats in der antiken Navigation und in wissenschaftlichen Prozessen an die Materialität des Lichts erinnert. Thomas Pynchon hat gemutmaßt, dass eine solche Polarisierung des Lichts auch eine verborgene Welt für das Nicht-Menschliche und die Verdoppelung der Existenz zwischen dem Sichtbaren und dem Nicht-Sichtbaren erzeugt, eine Art Superpositionalität zwischen Ort und Nicht-Ort. Ein Pop-up-Video der 1980er-Jahre HyperCard-Codiersprache (ein Vorläufer des heutigen User-Interface des Internets) visualisiert die uralte antithetische Ikonographie der Höhle im Berg (ein Dreieck innerhalb eines Dreiecks). 
+ </p>
+ <p>
+ Falls es eine Antithese zum reinen Licht der Sonne oder dem fast masselosen Zustand von Neutrinos gibt, dann ist es die Geschichte der Meteoriten. Nichts Feststofflicheres fällt aus dem Kosmos in die Erdatmosphäre. Und doch kommt er als leuchtender Feuerball vom Himmel. Ein Querschnitt des ältesten bekannten Meteoriten, der auf der Erde eingeschlagen ist, wird in der Cosmic Ray Research Station in 2 km Höhe zu einem Portal in das Canadian Neutrino Observatory (SNO), das 2 km unter der Erdoberfläche liegt. Mircea Eliade, einer der Begründer der vergleichenden Religionswissenschaft, erinnert uns daran, dass das älteste Wort für Eisen an•bar ist - bzw. das Piktogramm für Feuer•Himmel - die Quelle des mystischsten Materials vor der klassischen Antike. 
+ </p>
+ <p>
+ Vom Innenraum zurück ins Außen katapultiert, begegnen wir demselben Meteoriten, diesmal aber als dreidimensionaler Meteoritenkristall, der auf dem Gipfel des Berges balanciert (was an Rene Magrittes surrealistisches Meisterwerk La clef de verre, 1959, erinnert). Der ursprünglich von einem englischen Detektivroman entliehene Titel The Glass Key erzählt von dem Traum, wenn man versucht, mit einem zerbrechlichen Decoder einen verschlossenen Raum aufzubrechen und der Schlüssel im Schloss zerspringt. Ein Auszug aus Clarice Lispectors rätselhaftester Kurzgeschichte handelt von der Geburt des metaphysischen runden Objekts, das sich jedem Verständnis verweigert.
+ </p>
+ <p>
+ <i>The Glass Key</i> endet nicht etwa mit einer Betrachtung eines naturgeschichtlichen Objekts (Spat oder Meteorit), sondern mit dem vielleicht einzigartigsten anthropogenen Kristall: Trinitit. Auf einem Bett aus Schneekristallen liegend, bleibt ein dunkelgrünes Fragment zurück - ein Objekt, das aus verschmolzenem Sand besteht und entstand, als die Wüste durch die erste Atomexplosion überhitzt wurde: Trinitit. Ein Video der Explosion beschließt den Zyklus, in dem The Desert Turned to Glass (Die Wüste verwandelte sich zu Glas). Ein nuklearer Winter bricht herein, und wir ziehen uns von den Gipfeln der Berge und Tempel in unsere isolierten unterirdischen Höhlen zurück, verbunden durch ein Kommunikationssystem, das entworfen wurde, um eine nukleare Apokalypse zu überleben. Lispectors Klagelied beschließt unsere verfinsterte Welt.
</p>
`,
image: "",
@@ -155,6 +229,9 @@ export const ARTISTS = {
statement: `<p>
<i>Wildfires</i> occur frequently during the dry season in northern Thailand’s high mountains. The source of fire is not natural but arson. In the past it was hypothesized that local people set the fires to clear land for agricultural use, or for hunting. There were efforts to solve the problem at the community level, but the fires only became more severe. Strangely, the blazes often occurred in the national park—an area difficult for villagers to access. During the wildfire suppression efforts of May 2020, a group of scholars and volunteers discovered important evidence that would change the original hypothesis: They found several instances of improvised devices made of clothes pegs connected to a small battery by a power cable. Combustion was triggered by a small clod of clay positioned in the middle between the pegs, acting as a timer—after melting in the heat the wires attached to the batteries would ignite. Villagers who were interviewed said that this was not a technique that they were familiar with. Although we cannot know the intention of the burners, it is likely that the park’s natural resources are being used to benefit some group of people. And the poor have always been condemned. 
</p>`,
+ statement_de: `<p>
+ In der Trockenzeit kommt es im Hochgebirge Nordthailands häufig zu Flächenbränden. Die Ursache der Feuer ist nicht natürlich, sondern Brandstiftung. In der Vergangenheit wurde vermutet, dass die Einheimischen die Brände legen, um Land für die landwirtschaftliche Nutzung oder für die Jagd zu roden. Man versuchte, das Problem auf Gemeindeebene zu lösen, aber die Brände wurden nur noch schlimmer. Seltsamerweise traten die Brände oft im Nationalpark auf - einem Gebiet, das für die Dorfbewohner schwer zugänglich ist. Während der Löscharbeiten im Mai 2020 entdeckte eine Gruppe von Wissenschaftler*innen und Freiwilligen wichtige Beweise, die die ursprüngliche Hypothese verändern sollten: Sie fanden mehrere Fälle von improvisierten Geräten, die aus Wäscheklammern bestanden und über ein Stromkabel mit einer kleinen Batterie verbunden waren. Die Verbrennung wurde durch einen kleinen Lehmklumpen ausgelöst, der in der Mitte zwischen den Wäscheklammern positioniert war und als Timer fungierte - nachdem er in der Hitze geschmolzen war, entzündeten sich die an den Batterien befestigten Drähte. Die befragten Dorfbewohner sagten, dass ihnen diese Technik nicht bekannt war. Obwohl man die Absicht der Brandstifter nicht genau kennen kann, ist es wahrscheinlich, dass die natürlichen Ressourcen des Parks genutzt werden, um irgendeiner Gruppe von Menschen zu nutzen. Und die Armen wurden schon immer an den Pranger gestellt.
+ </p>`,
image: "",
globePosition: {
top: "39%",
@@ -181,6 +258,17 @@ export const ARTISTS = {
The structure is present in central Accra, giving a mysterious backdrop for the prints and works that I share in the videos. It connects in sync with my narrative; to understand ways and visual forms which can take on the journey to an afterlife.
</p>
`,
+ statement_de: `
+ <p>
+ Ich wählte den Ort wegen seiner ursprünglich vorgesehenen Funktion: ein Krematorium. Dies war eines der ehrgeizigen, aber leider unvollendeten Projekte, die von Ghanas Kwame-Nkrumah-Regierung in den 1970er-Jahren initiiert wurden. Das Gebäude ist bis heute verlassen. 
+ </p>
+ <p>
+ Ich interessiere mich sehr für die raue Ästhetik des Betons, die mit den zerkratzten Wänden einhergeht und die sich in den letzten fünfzig Jahren entwickelt hat. Der Eindruck, den das Gebäude erweckt, hat etwas Historisches und erinnert mich an das Ausgangsmaterial für ein Werk, das ich aus Grabmalereien entnommen habe: das altägyptische Totenbuch.
+ </p>
+ <p>
+ Das Bauwerk befindet sich im Zentrum von Accra und bietet eine geheimnisvolle Kulisse für die Drucke und Arbeiten, die ich in den Videos zeige. Es verbindet sich synchron mit meiner Erzählung: um Wege und visuelle Formen zu verstehen, die die Reise in ein Leben nach dem Tode antreten können.
+ </p>
+ `,
image: "",
globePosition: {
top: "44%",
@@ -196,7 +284,7 @@ export const ARTIST_ORDER = [
export const PROJECT_PAGE_SET = new Set(["essay", "artists", "credits"])
export const ESSAYS = {
- nadim: { title: "About The Last Museum", author: "Nadim Samman", },
+ nadim: { title: "Curator's Essay", author: "Nadim Samman", },
statements: { title: "Artist Statements", author: "", },
}
diff --git a/frontend/site/projects/museum/icons.js b/frontend/site/projects/museum/icons.js
index db90d67..db0f5f5 100644
--- a/frontend/site/projects/museum/icons.js
+++ b/frontend/site/projects/museum/icons.js
@@ -14,6 +14,7 @@ export const ArrowRight = (
export const Globe = (
<svg viewBox="0 0 1408 701" xmlns="http://www.w3.org/2000/svg">
+ <g filter="url(#filter0_d)">
<path d="M285.175 688.967C285.795 692.203 288.938 691.576 290.919 692.424C296.884 694.982 303.163 695.823 309.763 695.823C554.808 695.716 799.861 695.709 1044.91 695.83C1053.2 695.838 1060.74 693.372 1068.41 691.063C1075.13 689.031 1081.75 686.665 1088.37 684.328C1099.32 680.465 1110.32 676.73 1121.14 672.525C1130.41 668.926 1139.52 664.899 1148.58 660.809C1160.64 655.371 1172.79 650.068 1184.54 644.01C1197.48 637.34 1210.14 630.092 1222.67 622.672C1231.23 617.612 1239.35 611.832 1247.66 606.373"/>
<path d="M1143.61 350.766C1146.11 351.122 1148.94 350.851 1151.03 351.97C1155.04 354.108 1159.09 349.896 1162.11 352.227C1164.26 351.906 1165.69 351.507 1167.13 351.507C1185.54 351.464 1203.96 351.478 1222.37 351.478C1262.4 351.478 1302.42 351.478 1342.45 351.478C1360.86 351.478 1379.28 351.471 1397.69 351.493C1399.13 351.493 1400.56 351.735 1402.68 351.92C1402.68 354.315 1402.72 356.453 1402.67 358.591C1402.58 362.154 1402.54 365.718 1402.3 369.267C1402.05 373.073 1401.76 376.886 1401.22 380.656C1400.54 385.424 1399.73 390.185 1398.73 394.896C1396.82 403.819 1395.12 412.813 1392.59 421.572C1389.99 430.609 1386.43 439.368 1383.46 448.312C1380.52 457.207 1376.1 465.402 1371.63 473.556C1366.58 482.785 1361.63 492.121 1355.9 500.923C1347.94 513.124 1339.2 524.827 1329.22 535.475C1319.46 545.887 1309.82 556.492 1299.2 565.992C1286.45 577.402 1272.77 587.786 1259.39 598.498C1256.13 601.107 1252.5 603.23 1249.23 605.44C1247.32 605.14 1245.53 604.634 1243.74 604.627C1232.22 604.556 1220.7 604.62 1209.17 604.556C1207.39 604.549 1205.58 603.815 1203.84 603.957C1202.08 604.107 1200.1 604.549 1198.71 605.547C1194.12 608.854 1189.96 612.795 1185.25 615.909C1176.98 621.383 1168.54 626.614 1159.97 631.596C1147.01 639.129 1133.94 646.505 1120.76 653.654C1112.97 657.88 1104.96 661.728 1096.9 665.406C1088.57 669.197 1080.05 672.568 1071.62 676.139C1065.79 678.612 1059.98 681.121 1054.16 683.608"/>
<path d="M391.365 6.87024C390.638 5.10276 390.638 5.08138 388.515 5.09564C371.41 5.20967 354.298 5.63728 337.208 5.25956C332.183 5.14553 328.007 6.57091 323.667 8.30276C317.723 10.6689 311.686 12.8284 305.878 15.4796C299.114 18.5584 292.472 21.9295 285.915 25.4217C277.049 30.1468 268.283 35.0573 259.538 39.9963C249.945 45.4127 240.296 50.7366 231.672 57.7067C230.696 58.4978 228.85 58.5619 227.46 58.4265C225.293 58.2127 223.013 57.8991 221.067 57.0011C215.85 54.5922 211.025 56.7089 206.065 57.7709C204.062 58.1985 201.974 58.3196 200.021 58.8898C196.415 59.9446 192.495 60.6074 189.416 62.5673C185.539 65.0332 181.883 64.6769 177.792 63.9927C175.12 67.3495 175.034 69.3521 177.792 72.6662C177.03 73.5855 176.224 74.5619 175.105 75.916C173.416 74.4123 172.091 73.2292 170.687 71.9748C168.876 72.3383 166.981 72.7161 165.085 73.0938"/>
@@ -677,6 +678,18 @@ export const Globe = (
<path d="M1124.01 298.791C1123.54 298.791 1123.07 298.791 1122.59 298.791"/>
<path d="M1224.86 380.316C1224.5 380.673 1224.15 381.029 1223.79 381.385"/>
<path d="M750.92 473.585C748.482 475.025 745.575 476.051 745.518 480.491C745.952 480.926 746.786 481.752 747.527 482.501C753.885 478.125 754.241 477.213 751.276 473.941"/>
+ </g>
+ <defs>
+ <filter id="filter0_d" x="0.959961" y="0.349609" width="1493.73" height="1186.64" filterUnits="userSpaceOnUse" colorInterpolationFilters="sRGB">
+ <feFlood floodOpacity="0" result="BackgroundImageFix"/>
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
+ <feOffset/>
+ <feGaussianBlur stdDeviation="2.5"/>
+ <feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
+ </filter>
+ </defs>
</svg>
)
diff --git a/frontend/site/projects/museum/subtitles.js b/frontend/site/projects/museum/subtitles.js
index d9fd17b..2b18875 100644
--- a/frontend/site/projects/museum/subtitles.js
+++ b/frontend/site/projects/museum/subtitles.js
@@ -1,4 +1,10 @@
export const SUBTITLES = {
+ 'foreshew-1': {
+ title: '<i>Dhurany Yanggu</i>',
+ subtitle: '(message song of running water)',
+ subtitle_de: 'Botschafts-Song des fließenden Wassers',
+ },
+
'stankievech-1': {
headphones: true,
title: 'Mountain of the Sun, Cosmic Cave',
@@ -6,6 +12,7 @@ export const SUBTITLES = {
audio_url: "/last-museum/static/uploads/3/audio/Frame01-24sec.mp3",
cursor: "/last-museum/static/uploads/3/cursor/The_Last_Museum_-_Symbols-04.png",
text: "This 'mountain of the sun', as it is also called, is the equivalent of Meru, also entitled 'white mountain'. Meru is encircled by a green belt, by the fact of being situated in the middle of the sea, and a triangle of light radiates at its peak. / We have said that the zodiac’s two gates which are respectively the entry to and exit from the ‘cosmic cave’, and which certain traditions designate as the ‘gate of men’ and the ‘gate of the gods’, inevitably must correspond to the two solstices.",
+ text_de: "Dieser ‚Berg der Sonne‘, wie er auch genannt wird, ist das Pendant zu Meru, der auch ‚weißer Berg‘ genannt wird. Meru ist von einem grünen Gürtel umgeben, dadurch, dass er in der Mitte des Meeres liegt, und an seinem Gipfel strahlt ein Dreieck aus Licht. / Wir haben bereits gesagt, dass die beiden Tore des Tierkreises, die jeweils den Eingang und den Ausgang der ‚kosmischen Höhle‘ darstellen und die von einigen Überlieferungen als ‚Tor der Menschen‘ und ‚Tor der Götter‘ bezeichnet werden, zwangsläufig den beiden Sonnenwenden entsprechen müssen.",
credit: "René Guénon",
next: "stankievech-2",
},
@@ -15,6 +22,7 @@ export const SUBTITLES = {
audio_url: "/last-museum/static/uploads/3/audio/Frame02-33sec.mp3",
cursor: "/last-museum/static/uploads/3/cursor/The_Last_Museum_-_Symbols-133.png",
text: "If an artist could see the world through the eyes of a caterpillar he might be able to make some fascinating art. Each one of these secret dens was also the entrance to the abyss. Dungeons that dropped away from the eyes into a damp cosmos of fungus and mold-an exhibition of clammy solitude. The double aspect of Quetzalcoatl is less a person than an operation of totemic perception. Quetzalcoatl becomes one half of an enantiomorph (coatl means twin) in search of the other half. A mirror looking for its reflection but never quite finding it. The morning star of Quetzal is apt to be polarized in the shadowy reflection of the evening star.",
+ text_de: "Wenn ein Künstler die Welt mit den Augen einer Raupe betrachten könnte, wäre er vielleicht in der Lage, eine faszinierende Kunst zu erschaffen. Jede dieser geheimen Höhlen war auch der Eingang zum Abgrund. Verliese, die vor den Augen in einen feuchten Kosmos aus Pilzen und Schimmel abfielen - eine Zurschaustellung von klammer Einsamkeit. Der Doppelaspekt von Quetzalcoatl hat weniger mit einer Person zu tun als mit einer totemistischen Wahrnehmungshandlung. Quetzalcoatl wird zur einen Hälfte eines Enantiomorphs (coatl bedeutet Zwilling) auf der Suche nach der anderen Hälfte. Ein Spiegel, der nach seinem Spiegelbild sucht, es aber nie ganz findet. Der Morgenstern des Quetzal neigt dazu, in der schattenhaften Reflexion des Abendsterns polarisiert zu werden.",
credit: "Robert Smithson",
next: "stankievech-3",
},
@@ -24,6 +32,7 @@ export const SUBTITLES = {
audio_url: "/last-museum/static/uploads/3/audio/Frame03-24sec.mp3",
cursor: "/last-museum/static/uploads/3/cursor/The_Last_Museum_-_Symbols-134.png",
text: "Down where the “Hidden People” live, inside their private rock dwellings, where humans who visit them can be closed in and never find a way out again. Iceland spar is what hides the Hidden People, makes it possible for them to move through the world that thinks of itself as “era,” provides that all-important ninety-degree twist to their light, so they can exist alongside our own world but not be seen. They and others as well, visitors from elsewhere, of non-human aspect.",
+ text_de: "Dort unten, wo die „Hidden People“, die „Verborgenen Menschen“, leben, in ihren privaten Felsbehausungen, wo Menschen, die sie besuchen, eingeschlossen werden können und nie wieder einen Weg nach draußen finden. Der Islandspat ist es, der die „Hidden People“ verbirgt, der es ihnen ermöglicht, sich durch die Welt zu bewegen, die sich selbst als „Ära“ betrachtet, und der für die wichtige neunzig-Grad-Drehung ihres Lichts sorgt, sodass sie neben unserer eigenen Welt existieren können, aber nicht gesehen werden. Sie und auch andere, Besucher von anderswo, von nicht-menschlichem Erscheinungsbild.",
credit: "Thomas Pynchon",
next: "stankievech-4",
},
@@ -33,6 +42,7 @@ export const SUBTITLES = {
audio_url: "/last-museum/static/uploads/3/audio/Frame04-30sec.mp3",
cursor: "/last-museum/static/uploads/3/cursor/The_Last_Museum_-_Symbols-135.png",
text: "The Sumerian word AN.BAR, the oldest word designating iron, is made up of the pictograms ‘sky’ and ‘fire.’ We shall do well to bear in mind the early religious significance attaching to aeroliths. They fall to earth charged with celestial sanctity; in a way, they represent heaven. This suggests why so many meteorites were worshipped or identified with a deity. Peoples worked with meteoric iron for a long time before learning how to use ferrous ores. When Cortez enquired of the Aztec chiefs whence they obtained their knives they simply pointed to the sky.",
+ text_de: "Das sumerische Wort AN.BAR, das älteste Wort zur Bezeichnung von Eisen, setzt sich aus den Piktogrammen 'Himmel' und 'Feuer' zusammen.... Wir tun gut daran, uns die frühe religiöse Bedeutung vor Augen zu halten, die den Aerolithen zukommt. Sie fallen mit himmlischer Heiligkeit aufgeladen auf die Erde; in gewisser Weise repräsentieren sie den Himmel. Dies legt nahe, warum so viele Meteoriten verehrt oder mit einer Gottheit identifiziert wurden. ... Die Völker arbeiteten lange Zeit mit meteoritischem Eisen, bevor sie lernten, eisenhaltige Erze zu verwenden. ... Als Cortez sich bei den Aztekenhäuptlingen erkundigte, woher sie ihre Messer hatten, zeigten sie einfach in den Himmel.",
credit: "Mircea Eliade",
next: "stankievech-5",
},
@@ -42,6 +52,7 @@ export const SUBTITLES = {
audio_url: "/last-museum/static/uploads/3/audio/Frame05-36sec.mp3",
cursor: "/last-museum/static/uploads/3/cursor/The_Last_Museum_-_Symbols-136.png",
text: "Seeing the egg is impossible: the egg is supervisible just as there are supersonic sounds. No one can see the egg. Does the dog see the egg? Only machines see the egg. —The egg is invisible to the naked eye. From one egg to another one arrives at God, who is invisible to the naked eye. —The egg could have been a triangle that rolled for so long in space that it became oval. —Is the egg basically a vessel? Could it have been the first vessel sculpted by the Etruscans? No. The egg originated in Macedonia. There it was calculated, fruit of the most arduous spontaneity. In the sands of Macedonia a man holding a stick drew it. And then erased it with his bare foot.",
+ text_de: "Das Ei zu sehen ist nicht möglich: Das Ei ist ebenso unsichtbar wie Überschalltöne. Keiner kann das Ei sehen. Sieht der Hund das Ei? Nur Maschinen sehen das Ei. – Das Ei ist unsichtbar für das bloße Auge. Von einem Ei zum anderen gelangt man zu Gott, der für das bloße Auge unsichtbar ist. – Das Ei könnte ein Dreieck gewesen sein, das so lange im Raum gerollt ist, bis es oval wurde. – Ist das Ei im Grunde ein Gefäß? Könnte es das erste Gefäß gewesen sein, das von den Etruskern geformt wurde? Nein. Das Ei hat seinen Ursprung in Makedonien. Dort wurde es berechnet, Frucht der mühsamsten Spontaneität. Im Sand von Makedonien zeichnete es ein Mensch mit einem Stock. Und radierte es dann mit seinem bloßen Fuß wieder aus.",
credit: "Clarice Lispector",
next: "stankievech-6",
},
@@ -50,6 +61,7 @@ export const SUBTITLES = {
popup: "trinity",
audio_url: "/last-museum/static/uploads/3/audio/Frame06-46sec.mp3",
text: "My anarchy obeys subterraneously a law in which I deal occultly with astronomy, mathematics and mechanics. And my hunger is fed by these putrefying beings in decomposition. My rite is a purifier of forces. But malignancy exists in the jungle. I swallow a mouthful of blood that fills me entirely. I hear cymbals and trumpets and tambourines that fill the air with noise and uproar drowning out the silence of the disc of the sun and its marvel. I want a cloak woven from threads of solar gold. The sun is the magical tension of the silence. On my journey to the mysteries I hear the carnivorous plant that laments times immemorial: and I have obscene nightmares beneath the sick winds. I am enchanted, seduced, transfixed by furtive voices. The almost unintelligible cuneiform inscriptions speak of how to conceive and give formulae about how to feed from the force of darkness. They speak of naked and crawling females. And the solar eclipse causes secret terror that nonetheless announces a splendor of heart.",
+ text_de: "Meine Anarchie gehorcht auf unterbewusste Weise einem Gesetz, in dem ich mich okkult mit Astronomie, Mathematik und Mechanik beschäftige. Und mein Hunger wird von diesen verfaulenden Wesen in der Zersetzung genährt. Mein Ritus ist ein Reiniger der Kräfte. Aber Bösartigkeit existiert im Dschungel. Ich schlucke einen Mund voll Blut, der mich ganz ausfüllt. Ich höre Schlaginstrumente und Trompeten und Tamburine, die die Luft mit Lärm und Getöse füllen und die Stille der Sonnenscheibe und ihres Wunders übertönen. Ich möchte einen Mantel, gewebt aus Fäden aus Sonnengold. Die Sonne ist die magische Spannung der Stille. Auf meiner Reise zu den Geheimnissen höre ich die fleischfressende Pflanze, die die Zeiten beklagt: und ich habe obszöne Albträume unter den kranken Winden. Ich bin verzaubert, verführt, gefesselt von verstohlenen Stimmen. Die fast unverständlichen Keilschriftinschriften sprechen davon, wie man schwanger wird, und nennen Formeln, wie man sich von der Kraft der Dunkelheit ernährt. Sie sprechen von nackten und kriechenden Frauen. Und die Sonnenfinsternis löst einen heimlichen Schrecken aus, der dennoch einen Glanz des Herzens verkündet.",
credit: "Clarice Lispector",
next: "nora-1",
},
diff --git a/frontend/site/projects/museum/text-overlays.js b/frontend/site/projects/museum/text-overlays.js
index 50991dd..ddbee83 100644
--- a/frontend/site/projects/museum/text-overlays.js
+++ b/frontend/site/projects/museum/text-overlays.js
@@ -5,64 +5,125 @@ export const TEXT_OVERLAYS = {
/* nora al-badri */
'nora-2': {
- text: `
- <h2>AFU. This is not a hackerspace.</h2>
- <p>
- Welcome to some savage archaeology in outta space! Occupy Archaeology! Occupy hackerspaces!
- </p>
- <p>
- We are in dire need of more cave paintings in hackerspaces. More boards of mothers leading us with ferocity and care. More PC towers of Babylon. More hieroglyphic encryption and more hybrid creatures. The artefact is the agent creating subaltern hackerspaces with HERitage und HERstory.
- </p>
- <p>
- All made by hand, thousands of years ago, remixed, stitched by hand through software yesterday, conceived in a 3D printer today and reimagined tomorrow… The printer itself is the fetish object of open source and making communities. Forget ‘do-it-yourself’. It has always been the time for ‘do-it-together’. We, women of color, the invisible spirits and workforce, imagined and built computers and systems… We did the tinkering, always. And we don’t exist in dualisms of maker/made.
- </p>
- <p>
- Forget the god-lists that scientists made up of the ancient materials. No need for hierarchies of gods or domination of one god over another. Few spirits kept their identity throughout millennia. In outta space we prefer spirits to gods. Spirits that are fluid and that emulate from one to another. Spirits, Diĝir, Nin, that care for their spaces and people… The geek is resolved in punk archaeology by the crafting and coding of spirits, masquerades, witches, goddesses and daimons...
- </p>
- <p>
- We spirits defy linear temporality, mixing material and human life of different times... We are nodes of the causal network that gives events and codes coherence and meaning. One can recognise our ways when people (now and then) self-organise, envision, resist and revolt…
- </p>
- `
+ text: {
+ en: `
+ <h2>AFU. This is not a hackerspace.</h2>
+ <p>
+ Welcome to some savage archaeology in outta space! Occupy Archaeology! Occupy hackerspaces!
+ </p>
+ <p>
+ We are in dire need of more cave paintings in hackerspaces. More boards of mothers leading us with ferocity and care. More PC towers of Babylon. More hieroglyphic encryption and more hybrid creatures. The artefact is the agent creating subaltern hackerspaces with HERitage und HERstory.
+ </p>
+ <p>
+ All made by hand, thousands of years ago, remixed, stitched by hand through software yesterday, conceived in a 3D printer today and reimagined tomorrow… The printer itself is the fetish object of open source and making communities. Forget ‘do-it-yourself’. It has always been the time for ‘do-it-together’. We, women of color, the invisible spirits and workforce, imagined and built computers and systems… We did the tinkering, always. And we don’t exist in dualisms of maker/made.
+ </p>
+ <p>
+ Forget the god-lists that scientists made up of the ancient materials. No need for hierarchies of gods or domination of one god over another. Few spirits kept their identity throughout millennia. In outta space we prefer spirits to gods. Spirits that are fluid and that emulate from one to another. Spirits, Diĝir, Nin, that care for their spaces and people… The geek is resolved in punk archaeology by the crafting and coding of spirits, masquerades, witches, goddesses and daimons...
+ </p>
+ <p>
+ We spirits defy linear temporality, mixing material and human life of different times... We are nodes of the causal network that gives events and codes coherence and meaning. One can recognise our ways when people (now and then) self-organise, envision, resist and revolt…
+ </p>
+ `,
+ de: `
+ <h2>AFU. This is not a hackerspace.</h2>
+ <p>
+ Willkommen zur wilden Archäologie im All! Occupy Archäologie! Occupy Hackerspaces!
+ </p>
+ <p>
+ Wir brauchen dringend mehr Höhlenmalereien in Hackerspaces, mehr Platinen von Müttern, die uns mit Grausamkeit und Sorgfalt führen, mehr PC-Türme von Babylon, mehr Hieroglyphenverschlüsselung und mehr hybride Kreaturen. Das Artefakt ist der Agent, der mit HERitage und HERstory subalterne Hackerspaces schafft.
+ </p>
+ <p>
+ Alles von Hand vor tausenden von Jahren gemacht, neu gemischt, gestern von Hand durch Software gestiched, heute im 3D-Drucker empfangen und morgen neu erdacht. Der Drucker selbst ist das Fetischobjekt der Open-Source- und Making-Communities. Vergiss "Do-it-yourself". Es war schon immer die Zeit für "do-it-together". Wir, die Women of Color, die unsichtbaren Geister und Arbeitskräfte haben Computer und Systeme erdacht und gebaut. Wir haben immer gebastelt. Und wir existieren nicht in Dualismen von Maker/Made.
+ </p>
+ <p>
+ Vergiss die Götterlisten, die sich die Wissenschaftler aus den alten Materialien zusammengebastelt haben. Wir brauchen keine Hierarchien von Göttern oder die Vorherrschaft eines Gottes über den anderen. Nur wenige Geister behielten ihre Identität über die Jahrtausende hinweg. Im Weltall ziehen wir Geister den Göttern vor, Geister, die fließend sind und die von einem zum anderen übergehen. Geister, Diĝir, Nin, die sich um ihre Räume und Menschen kümmern. Der Geek wird in der Punk-Archäologie durch das Basteln und Codieren von Geistern, Maskeraden, Hexen, Göttinnen und Daimonen aufgelöst.
+ </p>
+ <p>
+ Wir, die Geister, trotzen einer strengen und linearen Zeitlichkeit, und vermischen materielles und menschliches Leben verschiedener Zeiten. Wir sind die Knotenpunkte des kausalen Netzwerks, die Ereignissen und Codes Kohärenz und Bedeutung verleihen. Man wird Wege erkennen, wie sich die Menschen damals und heute selbst organisieren, sich Dinge vorstellen, Widerstand leisten und sich erheben.
+ </p>
+ `,
+ }
},
'nora-nefertiti': {
- text: `
- <h2>Nature/Nefertiti</h2>
- <p>
- In another time and space Nefertiti comes back to us replanted as a spirit on our ship. A vigorous leader at the Nile by nature rejecting domination. Her eco feminism started with the sun, Aton, as source of energy and leaves her in a body of plants along the Nile waters to be found. Worshipping non-invasive technologies as well as all lifeforms and plants of the planetary realm. She is the brown divine eco-cyberfeminist. She changed and went on to be the 3D printed casted icon and is the spirit in the domain of tinkering. Tinkering that is happening in a political context in a more equal society. Not the tinkering that is reserved to the privileged classes.
- </p>
- `
+ text: {
+ en: `
+ <h2>Nature/Nefertiti</h2>
+ <p>
+ In another time and space Nefertiti comes back to us replanted as a spirit on our ship. A vigorous leader at the Nile by nature rejecting domination. Her eco feminism started with the sun, Aton, as source of energy and leaves her in a body of plants along the Nile waters to be found. Worshipping non-invasive technologies as well as all lifeforms and plants of the planetary realm. She is the brown divine eco-cyberfeminist. She changed and went on to be the 3D printed casted icon and is the spirit in the domain of tinkering. Tinkering that is happening in a political context in a more equal society. Not the tinkering that is reserved to the privileged classes.
+ </p>
+ `,
+ de: `
+ <h2>Natur/Nefertiti</h2>
+ <p>
+ In einer anderen Zeit und in einem anderen Raum kommt Nofretete zu uns zurück, um als Geist auf unser Schiff umgepflanzt zu werden. Eine kraftvolle Anführerin am Nil, die von Natur aus die Herrschaft ablehnt. Ihr Öko-Feminismus begann mit der Sonne, Aton, als Energiequelle und hinterlässt sie in einem Pflanzenkörper, der entlang des Nilwassers zu finden ist. Sie verehrt nicht-invasive Technologien sowie alle Lebensformen und Pflanzen des planetarischen Reiches. Sie ist die braune überirdische Öko-Cyberfeministin. Sie veränderte sich und wurde zur 3D-gedruckten, generativen Ikone und ist der Geist im Bereich des Tinkerns. Tinkering, das in einem politischen Raum in einer gleichberechtigteren Gesellschaft stattfindet. Nicht das Tüfteln, das den privilegierten Klassen vorbehalten ist.
+ </p>
+ `
+ }
},
'nora-horus-2': {
- text: `
- <h2>Horus/Her</h2>
- <p>
- Horus is a multilayered sky spirit and shapeshifter reflecting our many existing realities. Her is diasporic roaming the planets without borders nowhere in exile but belonging everywhere. A secret feathered daughter of Isis she will provide safety for the marginalised and disenfranchised. She is the protective spirit of our hackerspaces that are not just open, but also safe and that add a layer of care, love and compassion to the space. Her domain is the dream, our dreams in which we are also flying. A bird of prey she will fight her enemies with no mercy.
- </p>
- `
+ text: {
+ en: `
+ <h2>Horus/Her</h2>
+ <p>
+ Horus is a multilayered sky spirit and shapeshifter reflecting our many existing realities. Her is diasporic roaming the planets without borders nowhere in exile but belonging everywhere. A secret feathered daughter of Isis she will provide safety for the marginalised and disenfranchised. She is the protective spirit of our hackerspaces that are not just open, but also safe and that add a layer of care, love and compassion to the space. Her domain is the dream, our dreams in which we are also flying. A bird of prey she will fight her enemies with no mercy.
+ </p>
+ `,
+ de: `
+ <h2>Horus/Her</h2>
+ <p>
+ Horus ist eine vielschichtiger Himmelsgeist und Formwandlerin, die unsere vielen existierenden Realitäten widerspiegelt. Sie ist diasporisch, durchstreift die Planeten ohne Grenzen, nirgendwo im Exil, aber überall zugehörig. Als heimliche gefiederte Tochter der Isis bietet sie den Marginalisierten und Entrechteten Sicherheit. Sie ist der schützende Geist unserer Hackerspaces, die nicht nur offen, sondern auch sicher sind und dem Raum eine Ebene von Fürsorge, Liebe und Mitgefühl hinzufügen. Ihre Domäne ist der Traum, unsere Träume, in denen auch wir fliegen. Als Raubvogel wird sie ihre Feinde ohne Gnade bekämpfen.
+ </p>
+ `,
+ }
},
+
'nora-peg-stairs-close': {
- text: `
- <h2>Foundation Peg/Nin</h2>
- <p>
- The many pegs are placed within the chaotic structure of the spaceship. They are part of the infrastructure and mark the inner world of the mothership. The ritualistic pegs with their hieroglyphic encryption are not meant to be seen by the public once the spaceship is on its way. She is the material commemoration and dedication to our female spirits that is a marker of the gender fluidity and syncretism over time.
- </p>
- `
+ text: {
+ en: `
+ <h2>Foundation Peg/Nin</h2>
+ <p>
+ The many pegs are placed within the chaotic structure of the spaceship. They are part of the infrastructure and mark the inner world of the mothership. The ritualistic pegs with their hieroglyphic encryption are not meant to be seen by the public once the spaceship is on its way. She is the material commemoration and dedication to our female spirits that is a marker of the gender fluidity and syncretism over time.
+ </p>
+ `,
+ de: `
+ <h2>Fundament Figurine/Nin</h2>
+ <p>
+ Die vielen Figurinen sind innerhalb der chaotischen Struktur des Raumschiffs platziert. Sie sind Teil der Infrastruktur und markieren die Innenwelt des Mutterschiffs. Die rituellen Pflöcke mit ihrer hieroglyphischen Verschlüsselung sind nicht dazu bestimmt, von der Öffentlichkeit gesehen zu werden, wenn das Raumschiff unterwegs ist. Sie ist die materielle Erinnerung und Widmung an unsere weiblichen Geister, die ein Marker für die Gender-Fluidität und den Synkretismus im Laufe der Zeit ist.
+ </p>
+ `,
+ }
},
'nora-lamassu-2': {
- text: `
- <h2>Lamma</h2>
- <p>
- She, the powerful who protects you. A hybrid microcosm herself, her powers go beyond this cosmos and our understanding of bodies. She switched gender many times. One of the most popular spirits, the most numerous on seals. Protectress, intercessor, and guardian. The protector of our divine places, for mothers and non-mothers for spouses and non-spouses. She will talk in your name to other spirits no matter their ranks and she can mediate between you, the divine, other species and the machine.
- </p>
- `
+ text: {
+ en: `
+ <h2>Lamma</h2>
+ <p>
+ She, the powerful who protects you. A hybrid microcosm herself, her powers go beyond this cosmos and our understanding of bodies. She switched gender many times. One of the most popular spirits, the most numerous on seals. Protectress, intercessor, and guardian. The protector of our divine places, for mothers and non-mothers for spouses and non-spouses. She will talk in your name to other spirits no matter their ranks and she can mediate between you, the divine, other species and the machine.
+ </p>
+ `,
+ de: `
+ <h2>Lamma</h2>
+ <p>
+ Sie, die Mächtige, die dich beschützt. Selbst ein hybrider Mikrokosmos, gehen ihre Kräfte über diesen Kosmos und unser Verständnis von Körpern hinaus. Sie wechselte viele Male das Geschlecht. Eine der beliebtesten Geister, die zahlreichste auf Siegeln. Beschützerin, Fürsprecherin und Hüterin. Die Beschützerin unserer überirdischen Orte, für Mütter und Nicht-Mütter, für Gemahlinnen und Nicht-Gemahlinnen. Sie spricht in Ihrem Namen mit anderen Geistern, egal welchen Rang sie haben, und sie kann zwischen Ihnen, dem Göttlichen, anderen Spezies und der Maschine vermitteln.
+ </p>
+ `,
+ }
},
'nora-queen-of-night': {
- text: `
- <h2>Queen of the Hacker Night</h2>
- <p>
- Sister Ishtar. Around her it was dark and noisy in the server room and her body red and glowing in that windowless nights of computation. She is gracefully watching over our multiplying feminist servers. Caressing our creatures. A creature herself. Caressing also the machines that she built with her body and mind. She has many superpowers one of which is to rule the underworld and to break meritocratic assertiveness. She laughs at the hackers stupidity who believe in skills and meritocracy, a term coined by a poor fella who meant it satirical. She rewards practices in free software production that are outside of coding such as building a compassionate community.
- </p>
- `
+ text: {
+ en: `
+ <h2>Queen of the Hacker Night</h2>
+ <p>
+ Sister Ishtar. Around her it was dark and noisy in the server room and her body red and glowing in that windowless night of computation. She is gracefully watching over our multiplying feminist servers. Caressing our creatures. A creature herself. Caressing also the machines that she built with her body and mind. She has many superpowers one of which is to rule the underworld and to break meritocratic assertiveness. She laughs at the hackers stupidity who believe in skills and meritocracy, a term coined by a poor fella who meant it to be satirical. She rewards practices in free software production that are outside of coding such as building a compassionate community.
+ </p>
+ `,
+ de: `
+ <h2>Königin der Hacker Nacht</h2>
+ <p>
+ Schwester Ishtar. Um sie herum war es dunkel und laut im Serverraum und ihr Körper rot und glühend in den fensterlosen Nächten des Rechnens. Anmutig wacht sie über unsere sich vermehrenden feministischen Server. Sie streichelt unsere Kreaturen. Ein Geschöpf selbst. Sie streichelt auch die Maschinen, die sie mit ihrem Körper und ihrem Geist gebaut hat. Sie hat viele Superkräfte, eine davon ist, die Unterwelt zu beherrschen und die meritokratische Durchsetzungskraft zu brechen. Sie lacht über die Dummheit der Hacker, die an skills und Meritokratie glauben, ein Begriff, der von einem armen Kerl geprägt wurde, der ihn doch satirisch meinte. Sie belohnt Praktiken in der freien Softwareproduktion, die außerhalb des Codens liegen, wie der Aufbau einer mitfühlenden Gemeinschaft.
+ </p>
+ `,
+ }
},
}
diff --git a/frontend/site/projects/museum/views/credits.css b/frontend/site/projects/museum/views/credits.css
index d4b6f72..aaf05c7 100644
--- a/frontend/site/projects/museum/views/credits.css
+++ b/frontend/site/projects/museum/views/credits.css
@@ -72,6 +72,12 @@
font-size: 2vw;
}
+.icon-rows {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-between;
+}
.page-credits .page-subtitle {
margin-bottom: 1rem;
@@ -111,7 +117,6 @@
justify-content: flex-start;
align-items: center;
padding: 3vh 0 6vh 0;
- width: 100%;
}
.page-credits .icons img {
height: 7vh;
@@ -121,6 +126,12 @@
height: 8vh;
}
+.icons img.kw-logo {
+ position: relative;
+ bottom: -0.1vh;
+ height: 10vh;
+}
+
.page-credits .page-title {
padding-top: 1rem;
width: 100%;
diff --git a/frontend/site/projects/museum/views/credits.js b/frontend/site/projects/museum/views/credits.js
index 87da80b..c256dee 100644
--- a/frontend/site/projects/museum/views/credits.js
+++ b/frontend/site/projects/museum/views/credits.js
@@ -1,4 +1,5 @@
import React, { Component } from 'react'
+import { connect } from 'react-redux'
import actions from 'site/actions'
import { history } from "site/store"
@@ -7,13 +8,12 @@ import { LastMuseumLogo } from "../icons"
import "./credits.css"
-export default class Credits extends Component {
+class Credits extends Component {
constructor(props) {
super(props)
this.handleClick = this.handleClick.bind(this)
this.goHome = this.goHome.bind(this)
- this.state = {
- }
+ this.changeLanguage = this.changeLanguage.bind(this)
}
componentDidMount() {
@@ -28,7 +28,12 @@ export default class Credits extends Component {
history.push(`/last-museum/home/`)
}
+ changeLanguage() {
+ actions.site.changeLanguage(this.props.language === "de" ? "en" : "de")
+ }
+
render() {
+ const { language } = this.props
return (
<div className="page page-credits">
<div className="page-title">{LastMuseumLogo}</div>
@@ -37,91 +42,21 @@ export default class Credits extends Component {
<div className="page-subtitle">CREDITS</div>
</div>
<div className="page-right">
- <div className="page-subtitle">ARTWORK CREDITS</div>
+ <div className="page-subtitle">{CREDITS_STRINGS.artwork_credits_head[language]}</div>
</div>
</div>
<div className="page-content">
- <div className="page-left">
- <div className="credits-rows">
- <div>
- <div>Curator:</div> <a href="http://nadimsamman.com/">Nadim Samman</a>
- </div>
- <div>
- <div>Developer:</div> <a href="https://asdf.us/">Jules LaPlace</a>
- </div>
- <div>
- <div>Design:</div> <a href="https://sometimes-always.com/">Sometimes Always</a>
- </div>
- </div>
- <div>
- Commissioned by:<br/>
- <b>KW Institute for Contemporary Art</b><br/>
- Auguststraße 69<br/>
- 10117 Berlin<br/>
- Tel. +49 30 243459-0<br/>
- Fax +49 30 243459-99<br/>
- <a href="mailto:info@kw-berlin.de?subject=The+Last+Museum">info@kw-berlin.de</a><br/>
- <br/>
- KW Institute for Contemporary Art is institutionally supported by the Senate Department for Culture and Europe, Berlin.<br/>
- <br/>
- The Last Museum is produced in collaboration with Polyeco Contemporary Art Initiative (PCAI), Athens<br/>
- <br/>
- <b>Press Enquiries:</b><br/>
- Natanja von Stosch<br/>
- Tel. +49 30 243459 41<br/>
- <a href="mailto:nvs@kw-berlin.de?subject=The+Last+Museum">nvs@kw-berlin.de</a><br/>
- <b>Press Releases and Image Material:</b><br/>
- <a href="https://kw-berlin.de/en/press">kw-berlin.de/en/press</a>
- </div>
- </div>
+ <div className="page-left" dangerouslySetInnerHTML={{ __html: CREDITS_STRINGS.site_credits[language] }} />
<div className="page-right columns">
- <div className="column">
- <b>Charles Stankievech</b><br/>
- <i>The Glass Key</i><br/>
- Cinematography, Soundtrack, LIDAR and Ionospheric Recordings, Hypercard Programming: Charles Stankievech<br/>
- Fieldwork Recording Assistant: Ala Roushan<br/>
- <br/>
- VR Capture thanks to Sudbury Neutrino Laboratory (SNO).<br/>
- <br/>
- <b>Nora Al-Badri</b><br/>
- <i>This Is Not A Hacker Space</i><br/>
- Location: C-Base, Berlin, Germany<br/>
- Videography: Siska<br/>
- Soundtrack mix: Shamsa<br/>
- Track mixed in: Cadans - No Connection (Broken Mix)<br/>
- Melodic Acapella female sound: Lynn Adib<br/>
- poem: Nikki Giovanni ‘Ego Tripping’<br/>
- <span style={{ lineHeight: 1 }}>الأمل</span> Al-Amal/ Hope Mars Mission (via YouTube)<br/>
- Special thanks to the Norberta, Gregor and the spaceship crew in Berlin-Mitte; Andy and CCC.<br/>
- <br/>
- </div>
- <div className="column">
- <b>Juliana Cerqueira Leite</b><br/>
- <i>Untitled</i><br/>
- Location: Santa Ifigênia, São Paulo, Brasil<br/>
- Videography & Sound design: Juliana Cerqueira Leite <br/>
- <br/>
- <b>Zohra Opoku</b><br/>
- <i>The Myths of Eternal Life</i><br/>
- Videography & Sound Design: Zohra Opoku<br/>
- Location: Unfinished mortuary, Accra, Ghana.<br/>
- <br/>
- <b>Nicole Foreshew</b><br/>
- <i>Dhurany Yanggu</i> 
(message song of running water)<br/>
- Location: Gumbaynggirr Country, Northern Tablelands and Northern Rivers districts of New South Wales, Australia.<br/>
- Videography & Sound Design: Nicole Foreshew<br/>
- <br/>
- <b>Jakrawal Nilthamrong</b><br/>
- <i>Barn Burner</i> <br/>
- Location: Chiang Mai, Thailand. <br/>
- Videography & Sound Design: Jakrawal Nilthamrong
- </div>
+ <div className="column" dangerouslySetInnerHTML={{ __html: CREDITS_STRINGS.artist_credits_1[language] }} />
+ <div className="column" dangerouslySetInnerHTML={{ __html: CREDITS_STRINGS.artist_credits_2[language] }} />
</div>
</div>
- <div className="page-content">
+ <div className="page-content icon-rows">
<div className="icons">
+ <img className="kw-logo" src="/last-museum/static/media/last-museum/kw-black.png" />
<img src="/last-museum/static/media/last-museum/arte-logo-black.png" />
<img src="/last-museum/static/media/last-museum/pcai-logo-black.png" className='pcai' />
<img src="/last-museum/static/media/last-museum/berlin-logo-black.png" />
@@ -130,11 +65,188 @@ export default class Credits extends Component {
<div className="home-link" onClick={this.goHome}>
Home
</div>
+ <div className="home-link language-link black" onClick={this.changeLanguage}>
+ {this.props.language === "de" ? (
+ <span><b>de</b> / en</span>
+ ) : (
+ <span>de / <b>en</b></span>
+ )}
+ </div>
</div>
)
}
}
+const mapStateToProps = state => ({
+ language: state.site.language,
+})
+
+export default connect(mapStateToProps)(Credits)
+
+
+const CREDITS_STRINGS = {
+ artwork_credits_head: {
+ en: "ARTWORK CREDITS",
+ de: "CREDITS DER KUNSTWERKE",
+ },
+
+ site_credits: {
+ en: `
+ <div class="credits-rows">
+ <div>
+ <div>Curator:</div> <a href="http://nadimsamman.com/">Nadim Samman</a>
+ </div>
+ <div>
+ <div>Developer:</div> <a href="https://asdf.us/">Jules LaPlace</a>
+ </div>
+ <div>
+ <div>Design:</div> <a href="https://sometimes-always.com/">Sometimes Always</a>
+ </div>
+ </div>
+ <div>
+ Commissioned by:<br/>
+ <b>KW Institute for Contemporary Art</b><br/>
+ Auguststraße 69<br/>
+ 10117 Berlin<br/>
+ Tel. +49 30 243459-0<br/>
+ Fax +49 30 243459-99<br/>
+ <a href="mailto:info@kw-berlin.de?subject=The+Last+Museum">info@kw-berlin.de</a><br/>
+ <br/>
+ KW Institute for Contemporary Art is institutionally supported by the Senate Department for Culture and Europe, Berlin.<br/>
+ <br/>
+ The Last Museum is produced in collaboration with Polyeco Contemporary Art Initiative (PCAI), Athens<br/>
+ <br/>
+ Press Enquiries:<br/>
+ Natanja von Stosch<br/>
+ Tel. +49 30 243459 41<br/>
+ <a href="mailto:nvs@kw-berlin.de?subject=The+Last+Museum">nvs@kw-berlin.de</a><br/>
+ Press Releases and Image Material:<br/>
+ <a href="https://kw-berlin.de/en/press">kw-berlin.de/en/press</a>
+ </div>
+ `,
+ de: `
+ <div class="credits-rows">
+ <div>
+ <div>Kurator:</div> <a href="http://nadimsamman.com/">Nadim Samman</a>
+ </div>
+ <div>
+ <div>Entwickler:</div> <a href="https://asdf.us/">Jules LaPlace</a>
+ </div>
+ <div>
+ <div>Design:</div> <a href="https://sometimes-always.com/">Sometimes Always</a>
+ </div>
+ </div>
+ <div>
+ Im Auftrag von:<br/>
+ <b>KW Institute for Contemporary Art</b><br/>
+ Auguststraße 69<br/>
+ 10117 Berlin<br/>
+ Tel. +49 30 243459-0<br/>
+ Fax +49 30 243459-99<br/>
+ <a href="mailto:info@kw-berlin.de?subject=The+Last+Museum">info@kw-berlin.de</a><br/>
+ <br/>
+ Die KW Institute for Contemporary Art werden institutionell gefördert von der Senatsverwaltung für Kultur und Europa, Berlin.
+ <br/>
+ The Last Museum wird in Zusammenarbeit mit der Polyeco Contemporary Art Initiative (PCAI), Athen, produziert.
+ <br/>
+ Press Enquiries:<br/>
+ Natanja von Stosch<br/>
+ Tel. +49 30 243459 41<br/>
+ <a href="mailto:nvs@kw-berlin.de?subject=The+Last+Museum">nvs@kw-berlin.de</a><br/>
+ Press Releases and Image Material:<br/>
+ <a href="https://kw-berlin.de/en/press">kw-berlin.de/en/press</a>
+ </div>
+ `
+ },
+
+ artist_credits_1: {
+ en: `
+ <b>Charles Stankievech</b><br/>
+ <i>The Glass Key</i><br/>
+ Cinematography, Soundtrack, LIDAR and Ionospheric Recordings, Hypercard Programming: Charles Stankievech<br/>
+ Fieldwork Recording Assistant: Ala Roushan<br/>
+ VR Capture thanks to Sudbury Neutrino Laboratory (SNO).<br/>
+ <br/>
+ <b>Nora Al-Badri</b><br/>
+ <i>This Is Not A Hacker Space</i><br/>
+ Location: C-Base, Berlin, Germany<br/>
+ Videography: Siska<br/>
+ Soundtrack mix: Shamsa<br/>
+ Track mixed in: Cadans - No Connection (Broken Mix)<br/>
+ Melodic Acapella female sound: Lynn Adib<br/>
+ poem: Nikki Giovanni ‘Ego Tripping’<br/>
+ <span style="lineHeight: 1">الأمل</span> Al-Amal/ Hope Mars Mission (via YouTube)<br/>
+ Special thanks to the Norberta, Gregor and the spaceship crew in Berlin-Mitte; Andy and CCC.<br/>
+ <br/>
+ `,
+ de: `
+ <b>Charles Stankievech</b><br/>
+ <i>The Glass Key</i><br/>
+ Location: Cosmic Ray Research Station, kanadische Rocky Mountains (Wintersonnenwende)<br />
+ Videografie, Sound Design, LIDAR und Ionosphären-Aufnahmen, Hypercard-Programmierung: Charles Stankievech<br/>
+ Assistent für Feldaufnahmen: Ala Roushan<br/>
+ VR-Aufnahme dank des Sudbury Neutrino Laboratory (SNO).<br/>
+ <br/>
+ <b>Nora Al-Badri</b><br/>
+ <i>This Is Not A Hacker Space</i><br/>
+ Location: C-Base, Berlin, Germany<br/>
+ Videografie: Siska<br/>
+ Soundtrack-Mix: Shamsa<br/>
+ Track gemixt in: Cadans - No Connection (Broken Mix)<br/>
+ Melodische weibliche Acapella-Stimme: Lynn Adib<br/>
+ Gedicht: Nikki Giovanni ‘Ego Tripping’<br/>
+ <span style="lineHeight: 1">الأمل</span> Al-Amal/ Hope Mars Mission (via YouTube)<br/>
+ Ein besonderer Dank geht an Norberta, Gregor und die Raumschiff-Crew in Berlin-Mitte; Andy und CCC.<br/>
+ <br/>
+ `,
+ },
+
+ artist_credits_2: {
+ en: `
+ <b>Juliana Cerqueira Leite</b><br/>
+ <i>Untitled</i><br/>
+ Location: Santa Ifigênia, São Paulo, Brasil<br/>
+ Videography & Sound design: Juliana Cerqueira Leite <br/>
+ <br/>
+ <b>Zohra Opoku</b><br/>
+ <i>The Myths of Eternal Life</i><br/>
+ Videography & Sound Design: Zohra Opoku<br/>
+ Location: Unfinished mortuary, Accra, Ghana.<br/>
+ <br/>
+ <b>Nicole Foreshew</b><br/>
+ <i>Dhurany Yanggu</i> 
(message song of running water)<br/>
+ Location: Gumbaynggirr Country, Northern Tablelands and Northern Rivers districts of New South Wales, Australia.<br/>
+ Videography & Sound Design: Nicole Foreshew<br/>
+ <br/>
+ <b>Jakrawal Nilthamrong</b><br/>
+ <i>Barn Burner</i> <br/>
+ Location: Chiang Mai, Thailand. <br/>
+ Videography & Sound Design: Jakrawal Nilthamrong
+ `,
+ de: `
+ <b>Juliana Cerqueira Leite</b><br/>
+ <i>Untitled</i><br/>
+ Location: Santa Ifigênia, São Paulo, Brasilien<br/>
+ Videografie & Sound Design: Juliana Cerqueira Leite <br/>
+ <br/>
+ <b>Zohra Opoku</b><br/>
+ <i>The Myths of Eternal Life</i><br/>
+ Videografie & Sound Design: Zohra Opoku<br/>
+ Location: Unvollendete Leichenhalle, Accra, Ghana.<br/>
+ <br/>
+ <b>Nicole Foreshew</b><br/>
+ <i>Dhurany Yanggu</i> 
(Botschaftslied des fließenden Wassers)<br/>
+ Location: Gumbaynggirr Country, Northern Tablelands und Northern Rivers Regionen von New South Wales, Australien.<br/>
+ Videografie & Sound Design: Nicole Foreshew<br/>
+ <br/>
+ <b>Jakrawal Nilthamrong</b><br/>
+ <i>Barn Burner</i> <br/>
+ Location: Chiang Mai, Thailand. <br/>
+ Videografie & Sound Design: Jakrawal Nilthamrong
+ `,
+ }
+}
+
/*
Sources:<br/>
René Magritte, <i>The Glass Key (La clef de verre)</i>, 1959, oil on canvas.<br/>
diff --git a/frontend/site/projects/museum/views/essay.css b/frontend/site/projects/museum/views/essay.css
index 129c768..a3cae05 100644
--- a/frontend/site/projects/museum/views/essay.css
+++ b/frontend/site/projects/museum/views/essay.css
@@ -18,8 +18,15 @@
.page .home-link.black {
color: #000;
}
+.page .home-link.language-link {
+ position: fixed;
+ top: 2.2rem;
+ left: 0;
+}
-
+.page-essay.page-artists .artist-list .artists-heading {
+ margin-bottom: 1rem;
+}
.page-essay.page-artists .artist-list {
justify-content: flex-start;
}
@@ -35,6 +42,7 @@
padding-bottom: 10vh;
}
.page-essay .page-title {
+ text-shadow: 0 0 5px #000;
cursor: pointer;
font-size: 10vw;
}
@@ -83,7 +91,8 @@
}
.globe path {
/*stroke: rgb(255, 121, 13);*/
- stroke: rgb(0, 0, 0);
+ /*stroke: rgb(0, 0, 0);*/
+ stroke: rgb(255, 255, 255);
stroke-miterlimit: 10;
stroke-linecap: round;
stroke-linejoin: round;
@@ -97,8 +106,13 @@
font-family: 'Druk Wide', sans-serif;
text-transform: uppercase;
font-size: 2vw;
+ color: white;
+ text-shadow: 0 0 3px #fff;
cursor: pointer;
}
+.globe .globe-image .number:hover {
+ text-shadow: 0 0 6px #fff;
+}
.page a.jules-link {
font-weight: normal;
diff --git a/frontend/site/projects/museum/views/essay.js b/frontend/site/projects/museum/views/essay.js
index 5e98822..8a0d2d4 100644
--- a/frontend/site/projects/museum/views/essay.js
+++ b/frontend/site/projects/museum/views/essay.js
@@ -1,4 +1,5 @@
import React, { Component } from 'react'
+import { connect } from 'react-redux'
import actions from 'site/actions'
import "./artists.css"
@@ -9,7 +10,7 @@ import { ArrowLeft, ArrowRight, Globe } from "site/projects/museum/icons"
import { history } from "site/store"
-export default class Essays extends Component {
+class Essays extends Component {
state = {
currentIndex: 0,
detail: false,
@@ -23,6 +24,7 @@ export default class Essays extends Component {
this.nextEssay = this.nextEssay.bind(this)
this.close = this.close.bind(this)
this.goHome = this.goHome.bind(this)
+ this.changeLanguage = this.changeLanguage.bind(this)
}
componentDidMount() {
@@ -52,6 +54,10 @@ export default class Essays extends Component {
history.push(`/last-museum/home/`)
}
+ changeLanguage() {
+ actions.site.changeLanguage(this.props.language === "de" ? "en" : "de")
+ }
+
scrollToTop() {
setTimeout(() => {
Array.from(this.ref.current.querySelectorAll(".artist-detail")).forEach(el => {
@@ -65,6 +71,7 @@ export default class Essays extends Component {
}
render() {
+ const { language } = this.props
const { currentIndex, detail } = this.state
return (
<div className="page page-artists page-essay" ref={this.ref}>
@@ -85,6 +92,7 @@ export default class Essays extends Component {
key={key}
essayId={key}
index={index}
+ language={language}
isCurrent={detail && currentIndex === index}
onClose={this.close}
/>
@@ -98,11 +106,25 @@ export default class Essays extends Component {
<div className={detail ? "home-link black" : "home-link"} onClick={this.goHome}>
Home
</div>
+ <div className={detail ? "home-link language-link black" : "home-link language-link"} onClick={this.changeLanguage}>
+ {this.props.language === "de" ? (
+ <span><b>de</b> / en</span>
+ ) : (
+ <span>de / <b>en</b></span>
+ )}
+ </div>
</div>
)
}
}
+const mapStateToProps = state => ({
+ interactive: state.site.interactive,
+ language: state.site.language,
+})
+
+export default connect(mapStateToProps)(Essays)
+
const EssayDetail = props => {
switch (props.essayId) {
case 'nadim':
@@ -112,7 +134,7 @@ const EssayDetail = props => {
}
}
-const ArtistStatements = ({ essayId, index, isCurrent, onClose }) => (
+const ArtistStatements = ({ essayId, index, isCurrent, language, onClose }) => (
<div className={isCurrent ? "artist-detail visible" : "artist-detail"}>
<div className="page-title" onClick={onClose}>ARTIST STATEMENTS</div>
<br /><br />
@@ -121,7 +143,7 @@ const ArtistStatements = ({ essayId, index, isCurrent, onClose }) => (
return (
<div key={key} className={key}>
<div className="page-subtitle">{artist.name}</div>
- <div className="page-content artist-statement" dangerouslySetInnerHTML={{ __html: artist.statement }} />
+ <div className="page-content artist-statement" dangerouslySetInnerHTML={{ __html: language === 'de' ? artist.statement_de : artist.statement }} />
</div>
)
})}
@@ -134,7 +156,7 @@ const NadimEssay = ({ essayId, index, isCurrent, onClose }) => (
<div className="page-subtitle">By Nadim Samman</div>
<div className="page-content">
<p>
- <i>The Last Museum</i> is an exhibition that explores productive tensions between the putative ‘anywhere’ of the digital and its relation to local particulars. Deploying a hybrid offline-online format, the project invites an international group of artists to reimagine site-specificity, through a sequence of interventions that cut across both real and virtual domains. The artists are <b>Nora Al-Badri</b> (Germany/Iraq), <b>Juliana Cerqueira Leite</b> (Brazil), <b>Nicole Foreshew</b> (Wiradjuri Nation/Australia), <b>Jakrawal Nilthamrong</b> (Thailand), <b>Zohra Opoko</b> (Ghana), and <b>Charles Stankievech</b> (Canada).
+ <i>The Last Museum</i> is an exhibition that explores productive tensions between the putative ‘anywhere’ of the digital and its relation to local particulars. Deploying a hybrid offline-online format, the project invites an international group of artists to reimagine site-specificity, through a sequence of interventions that cut across both real and virtual domains. The artists are <b>Nora Al-Badri</b> (Germany/Iraq), <b>Juliana Cerqueira Leite</b> (Brazil), <b>Nicole Foreshew</b> (Wiradjuri Nation/Australia), <b>Jakrawal Nilthamrong</b> (Thailand), <b>Zohra Opoku</b> (Ghana), and <b>Charles Stankievech</b> (Canada).
</p>
<ArtistGlobe />
<p>
@@ -161,9 +183,6 @@ const NadimEssay = ({ essayId, index, isCurrent, onClose }) => (
<p>
At its core, The Last Museum explores how tangibility and distance interact, how things that seem fixed in place might (or do) escape in various forms. In a sense, then, it clear that we are dealing with an issue as old as art itself (albeit, employing contemporary tools). At least one of the exhibition’s artists, Zohra Opoku, explicitly takes up an art-historical precursor for the crossing of spatial and metaphysical thresholds. The Egyptian Book of the Dead is her inspiration for a series of interventions in a half-built mortuary in Accra, Ghana. Draped with screen-printed fabric, the unfinished site is (literally) shrouded in images that stimulate reflection on how stillness and passage come together. In this work and more, the <i>The Last Museum</i> hovers somewhere between life and death, lockdown and escape.
</p>
- <p>
- The Last Museum launches 30 April and runs until 6 June 2021, at <a href="https://www.kw-berlin.de/" target="_blank">www.kw-berlin.de</a>.
- </p>
</div>
</div>
)
diff --git a/frontend/site/projects/museum/views/flash.css b/frontend/site/projects/museum/views/flash.css
new file mode 100644
index 0000000..d046bab
--- /dev/null
+++ b/frontend/site/projects/museum/views/flash.css
@@ -0,0 +1,8 @@
+.flash {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100vw;
+ height: 100vh;
+ background: #ff790d;
+} \ No newline at end of file
diff --git a/frontend/site/projects/museum/views/flash.js b/frontend/site/projects/museum/views/flash.js
new file mode 100644
index 0000000..74cb9ec
--- /dev/null
+++ b/frontend/site/projects/museum/views/flash.js
@@ -0,0 +1,43 @@
+import React, { Component } from 'react'
+
+import "./flash.css"
+
+import { ARTISTS } from "site/projects/museum/constants"
+
+export default class Flash extends Component {
+ constructor(props) {
+ super(props)
+ this.state = {
+ flashing: false,
+ artist_name: "",
+ }
+ }
+
+ componentDidUpdate(prevProps) {
+ if (this.props.location.pathname !== prevProps.location.pathname) {
+ this.flash()
+ }
+ }
+
+ flash() {
+ const { page_name } = this.props.match.params
+ const artist_name = page_name.split('-')[0]
+ if (!(artist_name in ARTISTS)) {
+ return
+ }
+ if (artist_name !== this.state.artist_name) {
+ this.setState({ flashing: true, artist_name })
+ setTimeout(() => {
+ this.setState({ flashing: false })
+ }, 100)
+ }
+ }
+
+ render() {
+ if (!this.state.flashing) return null
+ return (
+ <div className="flash" />
+ )
+ }
+}
+
diff --git a/frontend/site/projects/museum/views/home.js b/frontend/site/projects/museum/views/home.js
index 7c42ef9..fbd0372 100644
--- a/frontend/site/projects/museum/views/home.js
+++ b/frontend/site/projects/museum/views/home.js
@@ -104,6 +104,7 @@ class Home extends Component {
const mapStateToProps = state => ({
interactive: state.site.interactive,
+ language: state.site.language,
})
export default connect(mapStateToProps)(Home)
diff --git a/frontend/site/projects/museum/views/jakrawal.links.css b/frontend/site/projects/museum/views/jakrawal.links.css
index 51869e0..02cba49 100644
--- a/frontend/site/projects/museum/views/jakrawal.links.css
+++ b/frontend/site/projects/museum/views/jakrawal.links.css
@@ -30,10 +30,11 @@
.jakrawal-text {
position: absolute;
- bottom: 5rem;
+ bottom: 2rem;
left: 0;
width: 100%;
padding: 0 5rem 0 5rem;
+ /*color: rgba(255, 121, 13, 1.0);*/
color: rgba(255, 121, 13, 1.0);
font-family: "Druk Wide";
font-size: 1.66vw;
@@ -48,6 +49,6 @@
.jakrawal-text-icon {
position: absolute;
top: 1rem;
- right: 1.5rem;
+ right: 3rem;
cursor: url(/last-museum/static/uploads/3/cursor/The_Last_Museum_-_Symbols-103.png), pointer;
}
diff --git a/frontend/site/projects/museum/views/jakrawal.links.js b/frontend/site/projects/museum/views/jakrawal.links.js
index 60ed64f..c69673c 100644
--- a/frontend/site/projects/museum/views/jakrawal.links.js
+++ b/frontend/site/projects/museum/views/jakrawal.links.js
@@ -7,7 +7,8 @@ import { history } from "site/store"
const JAKRAWAL_TEXTS = [
"<i>Wildfires</i> occur frequently during the dry season in northern Thailand’s high mountains. The source of fire is not natural but arson.",
- "In the past it was hypothesized that local people set the fires to clear land for agricultural use, or for hunting. There were efforts to solve the problem at the community level, but the fires only became more severe.",
+ "In the past it was hypothesized that local people set the fires to clear land for agricultural use, or for hunting.",
+ "There were efforts to solve the problem at the community level, but the fires only became more severe.",
"Strangely, the blazes often occurred in the national park—an area difficult for villagers to access.",
"During the wildfire suppression efforts of May 2020, a group of scholars and volunteers discovered important evidence that would change the original hypothesis.",
"They found several instances of improvised devices made of clothes pegs connected to a small battery by a power cable.",
diff --git a/frontend/site/projects/museum/views/nav.overlay.js b/frontend/site/projects/museum/views/nav.overlay.js
index d3951cf..7a6c7a5 100644
--- a/frontend/site/projects/museum/views/nav.overlay.js
+++ b/frontend/site/projects/museum/views/nav.overlay.js
@@ -1,4 +1,5 @@
import React, { Component } from 'react'
+import { connect } from 'react-redux'
import actions from 'site/actions'
@@ -7,6 +8,7 @@ import "./nav.css"
import TextOverlay from './text.overlay'
import JakrawalLinks from './jakrawal.links'
import TitlesOverlay from './titles.overlay'
+import Flash from './flash'
import { ARTISTS, ARTIST_ORDER, PROJECT_PAGE_SET } from "site/projects/museum/constants"
import { ArrowLeft, ArrowRight } from "site/projects/museum/icons"
import MuteButton from "site/audio/mute.button"
@@ -14,13 +16,15 @@ import { history } from "site/store"
import Counter from './counter'
-export default class NavOverlay extends Component {
+class NavOverlay extends Component {
state = {
showHome: false,
+ showLanguage: false,
showFooter: false,
showArtist: false,
showCounter: false,
showMuteButton: false,
+ isProjectPage: false,
artist: {},
}
@@ -30,6 +34,7 @@ export default class NavOverlay extends Component {
this.previousArtist = this.previousArtist.bind(this)
this.nextArtist = this.nextArtist.bind(this)
this.goHome = this.goHome.bind(this)
+ this.changeLanguage = this.changeLanguage.bind(this)
}
componentDidMount() {
@@ -52,41 +57,49 @@ export default class NavOverlay extends Component {
if (pathkey === 'start') {
this.setState({
showHome: false,
+ showLanguage: true,
showFooter: false,
showArtist: false,
showCounter: false,
currentArtist: null,
showMuteButton: false,
+ isProjectPage: false,
artist: {},
})
}
else if (pathkey === 'home') {
this.setState({
showHome: false,
+ showLanguage: true,
showFooter: true,
showArtist: false,
showCounter: false,
currentArtist: null,
showMuteButton: true,
+ isProjectPage: false,
artist: {},
})
}
else if (PROJECT_PAGE_SET.has(pathkey)) {
this.setState({
showHome: false,
+ showLanguage: false,
showFooter: false,
showArtist: false,
showCounter: false,
showMuteButton: false,
+ isProjectPage: true,
})
}
else if (pathkey in ARTISTS) {
const shouldShowFooter = this.state.currentArtist !== pathkey
this.setState({
showHome: true,
+ showLanguage: true,
showFooter: true,
showArtist: true,
showMuteButton: true,
+ isProjectPage: false,
showCounter: pathkey === 'nilthamrong' && path_chapter !== "home",
currentArtist: pathkey,
artist: ARTISTS[pathkey],
@@ -94,10 +107,12 @@ export default class NavOverlay extends Component {
} else {
this.setState({
showHome: false,
+ showLanguage: false,
showFooter: false,
showCounter: false,
showArtist: false,
showMuteButton: false,
+ isProjectPage: false,
currentArtist: null,
artist: {},
})
@@ -109,7 +124,9 @@ export default class NavOverlay extends Component {
// this.footerRef.current.classList.add("instant")
this.footerRef.current.classList.add("visible")
this.footerTimeout = setTimeout(() => {
- this.footerRef.current.classList.remove("visible")
+ if (this.footerRef.current) {
+ this.footerRef.current.classList.remove("visible")
+ }
}, 5000)
}
@@ -135,21 +152,15 @@ export default class NavOverlay extends Component {
history.push(`/last-museum/home/`)
}
+ changeLanguage() {
+ actions.site.changeLanguage(this.props.language === "de" ? "en" : "de")
+ }
+
render() {
- const { showArtist, showHome, showMuteButton, showCounter, showFooter, artist } = this.state
+ const { showArtist, showHome, showLanguage, showMuteButton, showCounter, showFooter, isProjectPage, artist } = this.state
return (
<div className="museum-nav">
<JakrawalLinks location={this.props.location} match={this.props.match} />
- <div className="home-corner">
- {showHome && (
- <div className="home-link" onClick={this.goHome}>
- Home
- </div>
- )}
- {showMuteButton && (
- <MuteButton />
- )}
- </div>
{showCounter && <Counter />}
<TextOverlay location={this.props.location} match={this.props.match} />
{showFooter && (
@@ -168,8 +179,33 @@ export default class NavOverlay extends Component {
)
)}
<TitlesOverlay location={this.props.location} match={this.props.match} />
+ <div className="home-corner">
+ {showHome && (
+ <div className="home-link" onClick={this.goHome} style={{ opacity: isProjectPage ? 0 : 1 }}>
+ Home
+ </div>
+ )}
+ {showLanguage && (
+ <div className="home-link" onClick={this.changeLanguage}>
+ {this.props.language === "de" ? (
+ <span><b>de</b> / en</span>
+ ) : (
+ <span>de / <b>en</b></span>
+ )}
+ </div>
+ )}
+ {showMuteButton && (
+ <MuteButton />
+ )}
+ </div>
+ <Flash location={this.props.location} match={this.props.match} />
</div>
)
}
}
+const mapStateToProps = state => ({
+ language: state.site.language,
+})
+
+export default connect(mapStateToProps)(NavOverlay)
diff --git a/frontend/site/projects/museum/views/text.overlay.css b/frontend/site/projects/museum/views/text.overlay.css
index 4c67361..3c4c43b 100644
--- a/frontend/site/projects/museum/views/text.overlay.css
+++ b/frontend/site/projects/museum/views/text.overlay.css
@@ -4,19 +4,22 @@
top: 1rem;
right: 2rem;
transform: scale(0.7);
- cursor: pointer;
+ cursor: url(/last-museum/static/uploads/3/cursor/The_Last_Museum_-_Symbols-72.png) 50 50, pointer;
}
.text-overlay {
position: fixed;
- top: 0;
+ top: 50%;
left: 0;
+ transform: translateY(-50%);
width: 100vw;
- height: 100vh;
- color: #FF790D;
+ max-height: 100vh;
+ /*color: #FF790D;*/
+ color: #fff;
+ text-align: justify;
font-family: "Druk Wide", sans-serif;
- font-size: 1.3vw;
- padding: 1rem 10vw 1rem 1rem;
- cursor: url(/last-museum/static/uploads/3/cursor/The_Last_Museum_-_Symbols-72.png) 50 50, pointer;
+ font-size: 1.6vw;
+ padding: 1rem 10vw 1rem 10rem;
+ cursor: url(/last-museum/static/uploads/3/cursor/The_Last_Museum_-_Symbols-41.png) 50 50, pointer;
overflow: auto;
}
.text-overlay::-webkit-scrollbar {
@@ -35,7 +38,8 @@
}
.text-overlay h2 {
font-family: 'Druk Wide', sans-serif;
- font-size: 1.7vw;
+ font-size: 1.9vw;
margin-bottom: 1rem;
margin-top: 2rem;
+ color: #FF790D;
}
diff --git a/frontend/site/projects/museum/views/text.overlay.js b/frontend/site/projects/museum/views/text.overlay.js
index 3584fa3..862e0b2 100644
--- a/frontend/site/projects/museum/views/text.overlay.js
+++ b/frontend/site/projects/museum/views/text.overlay.js
@@ -62,7 +62,7 @@ class TextOverlay extends Component {
render() {
const { open, content } = this.state
- const { popups, interactive } = this.props
+ const { popups, interactive, language } = this.props
if (!interactive || !content) return null
if (content.popup && !popups[content.popup]) return null
if (!content.popup && !open) {
@@ -84,7 +84,7 @@ class TextOverlay extends Component {
...(content.textStyle || {}),
}}
onClick={this.toggle}
- dangerouslySetInnerHTML={{ __html: content.text }}
+ dangerouslySetInnerHTML={{ __html: content.text[language] || content.text.en }}
/>
)
}
@@ -92,6 +92,7 @@ class TextOverlay extends Component {
const mapStateToProps = state => ({
audio: state.audio,
+ language: state.site.language,
popups: state.site.popups,
interactive: state.site.interactive,
})
diff --git a/frontend/site/projects/museum/views/titles.css b/frontend/site/projects/museum/views/titles.css
index 311fa6f..0b44b48 100644
--- a/frontend/site/projects/museum/views/titles.css
+++ b/frontend/site/projects/museum/views/titles.css
@@ -8,6 +8,7 @@
font-family: "Druk Wide";
font-size: 1.66vw;
transition: opacity 0.5s;
+ text-align: center;
opacity: 0;
}
diff --git a/frontend/site/projects/museum/views/titles.overlay.js b/frontend/site/projects/museum/views/titles.overlay.js
index 169dd85..f82f08a 100644
--- a/frontend/site/projects/museum/views/titles.overlay.js
+++ b/frontend/site/projects/museum/views/titles.overlay.js
@@ -11,6 +11,8 @@ const HEADPHONES_SHOW_DELAY = 500
const HEADPHONES_HIDE_DELAY = 3000
const TITLE_SHOW_DELAY = 1000
const TITLE_HIDE_DELAY = 6000
+const SUBTITLE_HIDE_DELAY = 1000
+
const FIRST_SUBTITLE_DELAY = 3000
const SUBTITLE_DELAY = 3500
const LAST_SUBTITLE_DELAY = 5000
@@ -100,16 +102,27 @@ class TitlesOverlay extends Component {
}, HEADPHONES_SHOW_DELAY)
}
- showTitle() {
+ showTitle(showSubtitle) {
if (!this.titleRef.current) return
+ let title;
+ if (showSubtitle) {
+ title = (this.props.language === 'de' && this.state.content.subtitle_de) || this.state.content.subtitle
+ } else {
+ title = (this.props.language === 'en' && this.state.content.subtitle_en) || this.state.content.title
+ }
this.titleRef.current.innerHTML = ""
this.titleRef.current.style.color = this.state.content.color || "rgba(255, 121, 13, 1.0)"
this.titleRef.current.style.opacity = 0
this.titleTimeout = setTimeout(() => {
- this.titleRef.current.innerHTML = this.state.content.title
+ this.titleRef.current.innerHTML = `<div>${title}</div>`
this.titleRef.current.style.opacity = 1
this.titleTimeout = setTimeout(() => {
this.titleRef.current.style.opacity = 0
+ if (this.state.content.subtitle && !showSubtitle) {
+ setTimeout(() => {
+ this.showTitle(true)
+ }, SUBTITLE_HIDE_DELAY)
+ }
}, TITLE_HIDE_DELAY)
}, TITLE_SHOW_DELAY)
}
@@ -135,6 +148,7 @@ class TitlesOverlay extends Component {
const { content, showText } = this.state
const { popups, interactive } = this.props
if (!interactive || !content) return null
+ console.log(content)
return (
<div>
<div
@@ -148,9 +162,7 @@ class TitlesOverlay extends Component {
<div
ref={this.titleRef}
className="chapter-title"
- >
- {this.state.content.title}
- </div>
+ />
<div
ref={this.textRef}
className={showText ? "charles-text visible" : "charles-text"}
@@ -176,6 +188,7 @@ const mapStateToProps = state => ({
audio: state.audio,
popups: state.site.popups,
interactive: state.site.interactive,
+ language: state.site.language,
})
export default connect(mapStateToProps)(TitlesOverlay)