diff --git a/build.py b/build.py index ba34923..030ba25 100644 --- a/build.py +++ b/build.py @@ -6,6 +6,7 @@ from jinja2 import Environment, FileSystemLoader import yaml import time import json +from datetime import datetime class Website: def __init__(self, template_dir, public_dir): @@ -20,6 +21,7 @@ class Website: def build(self): self.fetch_pages() + self.sort_pages_by_date() self.process_page() self.fetch_tags() self.create_list() @@ -134,7 +136,6 @@ class Website: image_path = image_path.replace("/images/.", "/images") self.all_images.append(image_path) random.shuffle(self.all_images) - print(self.all_images) html_output = template.render( images=self.all_images ) @@ -154,6 +155,10 @@ class Website: with open(json_file, 'w', encoding='utf8') as f: json.dump(page_info_list, f, ensure_ascii=False, indent=4) + def sort_pages_by_date(self): + # Sort pages by date in descending order (newest first) + self.pages.sort(key=lambda x: x.date, reverse=True) + class Page: def __init__(self, metadata, md_content, filename, last_updated): diff --git a/content/about.md b/content/about.md index 2eb27e0..6b01e20 100644 --- a/content/about.md +++ b/content/about.md @@ -4,7 +4,7 @@ git: https://git.fioruil.ie/ --- Cailean Finn is a Media Artist and Creative Technologist from Waterford, Ireland. His practice is centred around investigating computational design, histories, and processes embedded within socio-technological systems. -Cailean holds a BSc in Computer Science (2019), and a MA in Art & Technology (2022) from the University of Limerick. +Cailean holds a BSc in Computer Science (2019), and a MA in Art & Technology (2022) from the University of Limerick, where he is currently pursuing his PhD in AI & Media Art, funded by CRT-AI. In his work, Cailean explores not only the technical aspects of technology, but also uses it as a tool to highlight the hidden processes and idiosyncratic nature of the human-machine relationship. In doing so, he hopes to reimagine and explore speculative realities that show the potential of emerging technology to be (re)shaped and (re)defined - ranging from Artificial Intelligence, to Creative Coding, and Computer Graphics. diff --git a/content/posts/(o)machine.md b/content/posts/(o)machine.md index eabc717..aa7cde7 100644 --- a/content/posts/(o)machine.md +++ b/content/posts/(o)machine.md @@ -4,7 +4,7 @@ type: Project year: 2022 image: o-machine.png tags: [AI, NLP, Simulation] -date: 2024-06-07 +date: 2022-06-07 showcase: - name: Speak It Now Eat It, Revision Performing Arts Festival year: 2022 diff --git a/content/posts/ai-x-body.md b/content/posts/ai-x-body.md index c531280..8a8e910 100644 --- a/content/posts/ai-x-body.md +++ b/content/posts/ai-x-body.md @@ -4,7 +4,7 @@ type: Publication year: 2022 image: aixbody.webp tags: [HPE, AI] -date: 2024-06-07 +date: 2022-12-12 draft: false --- This publication was created in collaboration with AIxDesign, as part of their AI Playground (S01) which ran from May 2022-February 2023. diff --git a/content/posts/beauty-and-the-beep.md b/content/posts/beauty-and-the-beep.md index 9dd9514..97a29ce 100644 --- a/content/posts/beauty-and-the-beep.md +++ b/content/posts/beauty-and-the-beep.md @@ -4,7 +4,7 @@ type: Project year: 2024 image: beep.png tags: [RL, AI, Unity, Simulation] -date: 2024-06-07 +date: 2024-05-01 showcase: - name: Exposed Torino Foto Festival year: 2024 diff --git a/content/posts/data.md b/content/posts/data.md index 5a7e9ce..97ca482 100644 --- a/content/posts/data.md +++ b/content/posts/data.md @@ -4,7 +4,7 @@ year: 2023 image: data.png type: Project tags: [Web, ML, p5] -date: 2024-06-07 +date: 2023-06-07 credits: Cailean Finn: Coding & Web Design Walt Nied: Interview & Script diff --git a/content/posts/dwelling.md b/content/posts/dwelling.md index 1451606..f138bf8 100644 --- a/content/posts/dwelling.md +++ b/content/posts/dwelling.md @@ -5,7 +5,7 @@ type: Project image: dwelling.png tags: [Unity, Performance, VFX] draft: false -date: 2024-06-07 +date: 2023-11-07 showcase: - name: Beta Festival, Project Arts Center year: 2023 diff --git a/content/posts/electronic-image.md b/content/posts/electronic-image.md index 486cc9a..08faad3 100644 --- a/content/posts/electronic-image.md +++ b/content/posts/electronic-image.md @@ -4,7 +4,7 @@ year: 2021 type: Project image: electronic-image.png tags: [Virtualisation, Video-Synthesis, MaxMSP, Jitter] -date: 2024-06-07 +date: 2021-09-01 showcase: - name: The Limerick Show, Ormston House year: 2022 diff --git a/content/posts/latent-mirror.md b/content/posts/latent-mirror.md index f10dee2..b365aad 100644 --- a/content/posts/latent-mirror.md +++ b/content/posts/latent-mirror.md @@ -4,7 +4,7 @@ year: 2022 type: Project image: latent-mirror.png tags: [Performance, AI, DeepFakes, TD] -date: 2024-06-07 +date: 2022-10-01 showcase: - name: Sound & Portraits, Imagine Arts Fesitval, WGOA year: 2022 diff --git a/content/posts/stubborn-vectors.md b/content/posts/stubborn-vectors.md new file mode 100644 index 0000000..faed6d4 --- /dev/null +++ b/content/posts/stubborn-vectors.md @@ -0,0 +1,47 @@ +--- +title: Stubborn Vectors +type: Project +year: 2024 +image: sv-image.webp +tags: [Affetcion Mapping, AI, Embedded Computing] +date: 2024-11-04 +showcase: + - name: Beta Festival + year: 2024 + location: Dublin +references: + - title: some-title + link: https://www.caileanfinn.ie +draft: false +--- +Stubborn Vectors is an interactive installation that explores the computational gaze of computer vision systems, which often oversimplify the complexities of our corporeal selves. + + +Computer vision is deeply entwined with surveillance technologies, accelerating the extraction of information to classify, analyse, and predict human behaviours—often capturing far more than individuals intend to reveal. This work focuses on Affection Mapping, a branch of machine learning dedicated to classifying emotions using computer vision. However, emotions are complex, evolving in response to our families, environments, and personal histories. This inherent complexity exposes the limitations of models attempting to construct a rigid taxonomy of human emotion. + + +In their pursuit to classify and represent the physical world, these systems inadvertently reveal an unfamiliar umwelt—a new lens through which meaning is extracted and reality is interpreted. By examining this computational gaze, we can observe how these systems function, their inherent biases, and how they influence and bleed into our physical world. + + +The installation is built as a computational system composed of computer vision and machine learning models. A dataset of archived footage is processed through this system to detect, segment, and extract features from each frame, with each feature represented as a multi-dimensional vector or embedding. This data is then sorted, reduced in dimensionality, and mapped into a two-dimensional space, creating a human-readable representation of the system's latent space. Using custom-built controllers, users can query the system with an emotional state, prompting it to navigate toward its nearest embedding within the space. + + + + +![sv-install](/images/stubborn-vectors/install-sv.jpg "sv install") + +![sv-install](/images/stubborn-vectors/install-sv-2.jpg "sv install") + +![sv-install](/images/stubborn-vectors/controller-emote.jpg "sv install") + +![sv-install](/images/stubborn-vectors/wip-sv-1.png "sv install") + +![sv-install](/images/stubborn-vectors/cailean-finn-beta-wip-1.jpg "sv install") + +![sv-install](/images/stubborn-vectors/cailean-finn-beta-wip-3.jpg "sv install") + +![sv-install](/images/stubborn-vectors/IMG_1234.jpg "sv install") + +![sv-install](/images/stubborn-vectors/IMG_1252.jpg "sv install") + +![sv-install](/images/stubborn-vectors/some-text.png "sv install") \ No newline at end of file diff --git a/content/posts/undefined.md b/content/posts/undefined.md index 9dcd14b..09408ac 100644 --- a/content/posts/undefined.md +++ b/content/posts/undefined.md @@ -4,7 +4,7 @@ year: 2022 type: Project image: undefined-panorama.png tags: [Web, Creative-Coding] -date: 2024-06-07 +date: 2023-01-01 showcase: - name: Exceptional Times, Uncertain Moves, Seo-Seoul Museum of Art year: 2022 diff --git a/public/about.html b/public/about.html index 0c9f3d7..28a4056 100644 --- a/public/about.html +++ b/public/about.html @@ -32,10 +32,9 @@
-
ABOUT

Cailean Finn is a Media Artist and Creative Technologist from Waterford, Ireland. His practice is centred around investigating computational design, histories, and processes embedded within socio-technological systems.

-

Cailean holds a BSc in Computer Science (2019), and a MA in Art & Technology (2022) from the University of Limerick.

+

Cailean holds a BSc in Computer Science (2019), and a MA in Art & Technology (2022) from the University of Limerick, where he is currently pursuing his PhD in AI & Media Art, funded by CRT-AI.

In his work, Cailean explores not only the technical aspects of technology, but also uses it as a tool to highlight the hidden processes and idiosyncratic nature of the human-machine relationship. In doing so, he hopes to reimagine and explore speculative realities that show the potential of emerging technology to be (re)shaped and (re)defined - ranging from Artificial Intelligence, to Creative Coding, and Computer Graphics.

Currently, he is exploring emergent behaviours of virtual life through Evolutionary Computation and Reinforcement Learning. Additionally, he is experimenting with simulations as a medium for these investigations into embodied intelligence, and its potential impact on various ecologies, as it slowly becomes more ubiquitous. Cailean is also a member of CONCEPTNULL, a community-based organisation, which runs a bi-monthly newsletter and hosts events with a focus on New Media Art in Ireland.

@@ -54,7 +53,7 @@

Last Modified:

-

Thu Jun 20 17:36:45 2024

+

Mon Nov 4 15:31:48 2024

diff --git a/public/articles/(o)machine.html b/public/articles/(o)machine.html index eda6745..50797f5 100644 --- a/public/articles/(o)machine.html +++ b/public/articles/(o)machine.html @@ -87,7 +87,7 @@

Last Modified:

-

Mon Jul 15 12:39:18 2024

+

Mon Nov 4 15:16:04 2024

diff --git a/public/articles/ai-x-body.html b/public/articles/ai-x-body.html index 32a966a..ccd3bda 100644 --- a/public/articles/ai-x-body.html +++ b/public/articles/ai-x-body.html @@ -58,7 +58,7 @@

Last Modified:

-

Fri Jun 21 10:56:49 2024

+

Mon Nov 4 15:17:45 2024

diff --git a/public/articles/beauty-and-the-beep.html b/public/articles/beauty-and-the-beep.html index 4b96142..2231b55 100644 --- a/public/articles/beauty-and-the-beep.html +++ b/public/articles/beauty-and-the-beep.html @@ -132,7 +132,7 @@

Last Modified:

-

Thu Jul 4 15:35:45 2024

+

Mon Nov 4 15:17:50 2024

diff --git a/public/articles/data.html b/public/articles/data.html index fa26cea..df4f565 100644 --- a/public/articles/data.html +++ b/public/articles/data.html @@ -96,7 +96,7 @@

Last Modified:

-

Fri Jun 21 11:57:13 2024

+

Mon Nov 4 15:17:55 2024

diff --git a/public/articles/dwelling.html b/public/articles/dwelling.html index 11e8cee..74dc907 100644 --- a/public/articles/dwelling.html +++ b/public/articles/dwelling.html @@ -183,7 +183,7 @@

Last Modified:

-

Mon Jul 15 12:41:55 2024

+

Mon Nov 4 15:18:00 2024

diff --git a/public/articles/electronic-image.html b/public/articles/electronic-image.html index 6b30ef6..e483f50 100644 --- a/public/articles/electronic-image.html +++ b/public/articles/electronic-image.html @@ -101,7 +101,7 @@

Last Modified:

-

Fri Jun 21 15:15:35 2024

+

Mon Nov 4 15:18:07 2024

diff --git a/public/articles/latent-mirror.html b/public/articles/latent-mirror.html index 88364b1..22075ac 100644 --- a/public/articles/latent-mirror.html +++ b/public/articles/latent-mirror.html @@ -97,7 +97,7 @@

Last Modified:

-

Fri Jun 21 15:02:03 2024

+

Mon Nov 4 15:19:18 2024

diff --git a/public/articles/stubborn-vectors.html b/public/articles/stubborn-vectors.html new file mode 100644 index 0000000..b2f0aca --- /dev/null +++ b/public/articles/stubborn-vectors.html @@ -0,0 +1,94 @@ + + + + + + + + + + + + + cailean.finn + + + + + + + + + +
+ + +
+
+
Stubborn Vectors, 2024
+
+ +
✳ Affetcion Mapping
+ +
✳ AI
+ +
✳ Embedded Computing
+ +
+
+ +
+
+

Stubborn Vectors is an interactive installation that explores the computational gaze of computer vision systems, which often oversimplify the complexities of our corporeal selves.

+

Computer vision is deeply entwined with surveillance technologies, accelerating the extraction of information to classify, analyse, and predict human behaviours—often capturing far more than individuals intend to reveal. This work focuses on Affection Mapping, a branch of machine learning dedicated to classifying emotions using computer vision. However, emotions are complex, evolving in response to our families, environments, and personal histories. This inherent complexity exposes the limitations of models attempting to construct a rigid taxonomy of human emotion.

+

In their pursuit to classify and represent the physical world, these systems inadvertently reveal an unfamiliar umwelt—a new lens through which meaning is extracted and reality is interpreted. By examining this computational gaze, we can observe how these systems function, their inherent biases, and how they influence and bleed into our physical world.

+

The installation is built as a computational system composed of computer vision and machine learning models. A dataset of archived footage is processed through this system to detect, segment, and extract features from each frame, with each feature represented as a multi-dimensional vector or embedding. This data is then sorted, reduced in dimensionality, and mapped into a two-dimensional space, creating a human-readable representation of the system's latent space. Using custom-built controllers, users can query the system with an emotional state, prompting it to navigate toward its nearest embedding within the space.

+

sv-install

+

sv-install

+

sv-install

+

sv-install

+

sv-install

+

sv-install

+

sv-install

+

sv-install

+

sv-install

+
+ + +
+
Exhibited:
+
+ +
+

(2024) + Beta Festival, + Dublin

+
+ +
+
+ + + + + + + +
+

Last Modified:

+

Mon Nov 4 15:06:45 2024

+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/public/articles/undefined.html b/public/articles/undefined.html index 3378520..77d8548 100644 --- a/public/articles/undefined.html +++ b/public/articles/undefined.html @@ -107,7 +107,7 @@

Last Modified:

-

Fri Jun 21 15:08:57 2024

+

Mon Nov 4 15:18:31 2024

diff --git a/public/gallery.html b/public/gallery.html index 3767725..6b0cdf3 100644 --- a/public/gallery.html +++ b/public/gallery.html @@ -34,157 +34,191 @@ diff --git a/public/images/stubborn-vectors/IMG_1234.JPG b/public/images/stubborn-vectors/IMG_1234.JPG new file mode 100644 index 0000000..353ce18 Binary files /dev/null and b/public/images/stubborn-vectors/IMG_1234.JPG differ diff --git a/public/images/stubborn-vectors/IMG_1252.JPG b/public/images/stubborn-vectors/IMG_1252.JPG new file mode 100644 index 0000000..b792abd Binary files /dev/null and b/public/images/stubborn-vectors/IMG_1252.JPG differ diff --git a/public/images/stubborn-vectors/IMG_5333.JPG b/public/images/stubborn-vectors/IMG_5333.JPG new file mode 100644 index 0000000..a3c911d Binary files /dev/null and b/public/images/stubborn-vectors/IMG_5333.JPG differ diff --git a/public/images/stubborn-vectors/NO FEE 12 Beta Festival 2024.jpg b/public/images/stubborn-vectors/NO FEE 12 Beta Festival 2024.jpg new file mode 100644 index 0000000..37e7f75 Binary files /dev/null and b/public/images/stubborn-vectors/NO FEE 12 Beta Festival 2024.jpg differ diff --git a/public/images/stubborn-vectors/Screenshot from 2024-10-23 12-07-57.png b/public/images/stubborn-vectors/Screenshot from 2024-10-23 12-07-57.png new file mode 100644 index 0000000..730161c Binary files /dev/null and b/public/images/stubborn-vectors/Screenshot from 2024-10-23 12-07-57.png differ diff --git a/public/images/stubborn-vectors/Screenshot from 2024-10-24 21-19-23.png b/public/images/stubborn-vectors/Screenshot from 2024-10-24 21-19-23.png new file mode 100644 index 0000000..5ad6715 Binary files /dev/null and b/public/images/stubborn-vectors/Screenshot from 2024-10-24 21-19-23.png differ diff --git a/public/images/stubborn-vectors/cailean-finn-beta-wip-1.jpg b/public/images/stubborn-vectors/cailean-finn-beta-wip-1.jpg new file mode 100644 index 0000000..10206bd Binary files /dev/null and b/public/images/stubborn-vectors/cailean-finn-beta-wip-1.jpg differ diff --git a/public/images/stubborn-vectors/cailean-finn-beta-wip-2.jpg b/public/images/stubborn-vectors/cailean-finn-beta-wip-2.jpg new file mode 100644 index 0000000..6ac1465 Binary files /dev/null and b/public/images/stubborn-vectors/cailean-finn-beta-wip-2.jpg differ diff --git a/public/images/stubborn-vectors/cailean-finn-beta-wip-3.jpg b/public/images/stubborn-vectors/cailean-finn-beta-wip-3.jpg new file mode 100644 index 0000000..1bfbe2e Binary files /dev/null and b/public/images/stubborn-vectors/cailean-finn-beta-wip-3.jpg differ diff --git a/public/images/stubborn-vectors/cailean-finn-beta-wip-4.jpg b/public/images/stubborn-vectors/cailean-finn-beta-wip-4.jpg new file mode 100644 index 0000000..1b2b204 Binary files /dev/null and b/public/images/stubborn-vectors/cailean-finn-beta-wip-4.jpg differ diff --git a/public/images/stubborn-vectors/controller-emote.JPG b/public/images/stubborn-vectors/controller-emote.JPG new file mode 100644 index 0000000..149a1c4 Binary files /dev/null and b/public/images/stubborn-vectors/controller-emote.JPG differ diff --git a/public/images/stubborn-vectors/controller.JPEG b/public/images/stubborn-vectors/controller.JPEG new file mode 100644 index 0000000..e128e07 Binary files /dev/null and b/public/images/stubborn-vectors/controller.JPEG differ diff --git a/public/images/stubborn-vectors/install-sv-2.JPG b/public/images/stubborn-vectors/install-sv-2.JPG new file mode 100644 index 0000000..e469153 Binary files /dev/null and b/public/images/stubborn-vectors/install-sv-2.JPG differ diff --git a/public/images/stubborn-vectors/install-sv.JPG b/public/images/stubborn-vectors/install-sv.JPG new file mode 100644 index 0000000..ca2dc47 Binary files /dev/null and b/public/images/stubborn-vectors/install-sv.JPG differ diff --git a/public/images/stubborn-vectors/some-text.png b/public/images/stubborn-vectors/some-text.png new file mode 100644 index 0000000..83d65c8 Binary files /dev/null and b/public/images/stubborn-vectors/some-text.png differ diff --git a/public/images/stubborn-vectors/wip-sv-1.png b/public/images/stubborn-vectors/wip-sv-1.png new file mode 100644 index 0000000..81ff4a6 Binary files /dev/null and b/public/images/stubborn-vectors/wip-sv-1.png differ diff --git a/public/images/sv-image.webp b/public/images/sv-image.webp new file mode 100644 index 0000000..91a0f71 Binary files /dev/null and b/public/images/sv-image.webp differ diff --git a/public/json/articles.json b/public/json/articles.json index 44a9b20..349f680 100644 --- a/public/json/articles.json +++ b/public/json/articles.json @@ -1,33 +1,38 @@ [ { - "name": "(O)MACHINE", - "filename": "/articles/(o)machine.html", - "image": "o-machine.png" + "name": "Stubborn Vectors", + "filename": "/articles/stubborn-vectors.html", + "image": "sv-image.webp" }, { - "name": "AI x Body", - "filename": "/articles/ai-x-body.html", - "image": "aixbody.webp" + "name": "Moloch", + "filename": "/articles/moloch.html", + "image": "moloch.png" }, { "name": "Beauty and The Beep", "filename": "/articles/beauty-and-the-beep.html", "image": "beep.png" }, + { + "name": "Dwelling", + "filename": "/articles/dwelling.html", + "image": "dwelling.png" + }, { "name": "The BIG D.A.T.A Interview", "filename": "/articles/data.html", "image": "data.png" }, { - "name": "Dwelling", - "filename": "/articles/dwelling.html", - "image": "dwelling.png" + "name": "Undefined Panorama", + "filename": "/articles/undefined.html", + "image": "undefined-panorama.png" }, { - "name": "The Electronic Image, An Object of Time and Energy", - "filename": "/articles/electronic-image.html", - "image": "electronic-image.png" + "name": "AI x Body", + "filename": "/articles/ai-x-body.html", + "image": "aixbody.webp" }, { "name": "Latent Mirror", @@ -35,13 +40,13 @@ "image": "latent-mirror.png" }, { - "name": "Moloch", - "filename": "/articles/moloch.html", - "image": "moloch.png" + "name": "(O)MACHINE", + "filename": "/articles/(o)machine.html", + "image": "o-machine.png" }, { - "name": "Undefined Panorama", - "filename": "/articles/undefined.html", - "image": "undefined-panorama.png" + "name": "The Electronic Image, An Object of Time and Energy", + "filename": "/articles/electronic-image.html", + "image": "electronic-image.png" } ] \ No newline at end of file diff --git a/public/list.html b/public/list.html index 55e585a..ce50aff 100644 --- a/public/list.html +++ b/public/list.html @@ -37,17 +37,21 @@
-
+
-
- +
+
-
✳ AI
+
✳ Affetcion Mapping
-
✳ NLP
+
✳ AI
-
✳ Simulation
+
✳ Embedded Computing
-

(O)MACHINE

+

Stubborn Vectors

-
+
-
- +
+
-
✳ HPE
-
✳ AI
+
✳ Unity
+ +
✳ Simulation
+ +
✳ RL
+
-

AI x Body

+

Moloch

@@ -134,6 +142,25 @@

Beauty and The Beep

+
+ +
+ +
+ +
+ +
✳ Unity
+ +
✳ Performance
+ +
✳ VFX
+ +
+ +

Dwelling

+
+
@@ -153,44 +180,38 @@

The BIG D.A.T.A Interview

-
+
-
- +
+
-
✳ Unity
- -
✳ Performance
+
✳ Web
-
✳ VFX
+
✳ Creative-Coding
-

Dwelling

+

Undefined Panorama

-
+
-
- +
+
-
✳ Virtualisation
- -
✳ Video-Synthesis
- -
✳ MaxMSP
+
✳ HPE
-
✳ Jitter
+
✳ AI
-

The Electronic Image, An Object of Time and Energy

+

AI x Body

@@ -214,42 +235,44 @@

Latent Mirror

-
+
-
- +
+
✳ AI
-
✳ Unity
+
✳ NLP
✳ Simulation
-
✳ RL
-
-

Moloch

+

(O)MACHINE

-
+
-
- +
+
-
✳ Web
+
✳ Virtualisation
-
✳ Creative-Coding
+
✳ Video-Synthesis
+ +
✳ MaxMSP
+ +
✳ Jitter
-

Undefined Panorama

+

The Electronic Image, An Object of Time and Energy

diff --git a/server.js b/server.js index 3ef1bb5..0e5b145 100644 --- a/server.js +++ b/server.js @@ -50,7 +50,7 @@ app.use((req, res, next) => { // Route to serve the index.html file app.get('/', (req, res) => { IncrementCounter() - res.sendFile(path.join(__dirname, 'public', 'index.html')); + res.sendFile(path.join(__dirname, 'public', 'about.html')); }); // Routes to serve the HTML files without .html extension diff --git a/templates/about.html b/templates/about.html index 2a3231f..c2667f1 100644 --- a/templates/about.html +++ b/templates/about.html @@ -3,7 +3,6 @@ {% block content %}
-
ABOUT
{{ content }}