summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--txt/books.txt6
-rw-r--r--www/photo.causal.agency/.gitignore5
-rw-r--r--www/photo.causal.agency/0062/body1
-rw-r--r--www/photo.causal.agency/0062/date1
-rw-r--r--www/photo.causal.agency/0062/film1
-rw-r--r--www/photo.causal.agency/0062/lens1
-rw-r--r--www/photo.causal.agency/0063/body1
-rw-r--r--www/photo.causal.agency/0063/date1
-rw-r--r--www/photo.causal.agency/0063/film1
-rw-r--r--www/photo.causal.agency/0063/lens1
-rw-r--r--www/photo.causal.agency/0064/body1
-rw-r--r--www/photo.causal.agency/0064/date1
-rw-r--r--www/photo.causal.agency/0064/film1
-rw-r--r--www/photo.causal.agency/0064/lens1
-rw-r--r--www/photo.causal.agency/0065/body1
-rw-r--r--www/photo.causal.agency/0065/date1
-rw-r--r--www/photo.causal.agency/0065/film1
-rw-r--r--www/photo.causal.agency/0065/lens1
-rw-r--r--www/photo.causal.agency/0066/body1
-rw-r--r--www/photo.causal.agency/0066/date1
-rw-r--r--www/photo.causal.agency/0066/film1
-rw-r--r--www/photo.causal.agency/0066/lens1
-rw-r--r--www/photo.causal.agency/0067/body1
-rw-r--r--www/photo.causal.agency/0067/date1
-rw-r--r--www/photo.causal.agency/0067/film1
-rw-r--r--www/photo.causal.agency/0067/lens1
-rw-r--r--www/photo.causal.agency/0068/body1
-rw-r--r--www/photo.causal.agency/0068/date1
-rw-r--r--www/photo.causal.agency/0068/film1
-rw-r--r--www/photo.causal.agency/0068/lens1
-rw-r--r--www/photo.causal.agency/0069/body1
-rw-r--r--www/photo.causal.agency/0069/date1
-rw-r--r--www/photo.causal.agency/0069/film1
-rw-r--r--www/photo.causal.agency/0069/lens1
-rw-r--r--www/photo.causal.agency/0070/body1
-rw-r--r--www/photo.causal.agency/0070/date1
-rw-r--r--www/photo.causal.agency/0070/film1
-rw-r--r--www/photo.causal.agency/0070/lens1
-rw-r--r--www/photo.causal.agency/0071/body1
-rw-r--r--www/photo.causal.agency/0071/date1
-rw-r--r--www/photo.causal.agency/0071/film1
-rw-r--r--www/photo.causal.agency/0071/lens1
-rw-r--r--www/photo.causal.agency/0072/body1
-rw-r--r--www/photo.causal.agency/0072/date1
-rw-r--r--www/photo.causal.agency/0072/film1
-rw-r--r--www/photo.causal.agency/0072/lens1
-rw-r--r--www/photo.causal.agency/0073/body1
-rw-r--r--www/photo.causal.agency/0073/date1
-rw-r--r--www/photo.causal.agency/0073/film1
-rw-r--r--www/photo.causal.agency/0073/lens1
-rw-r--r--www/photo.causal.agency/0074/body1
-rw-r--r--www/photo.causal.agency/0074/date1
-rw-r--r--www/photo.causal.agency/0074/film1
-rw-r--r--www/photo.causal.agency/0074/lens1
-rw-r--r--www/photo.causal.agency/0075/body1
-rw-r--r--www/photo.causal.agency/0075/date1
-rw-r--r--www/photo.causal.agency/0075/film1
-rw-r--r--www/photo.causal.agency/0075/lens1
-rw-r--r--www/photo.causal.agency/0076/body1
-rw-r--r--www/photo.causal.agency/0076/date1
-rw-r--r--www/photo.causal.agency/0076/film1
-rw-r--r--www/photo.causal.agency/0076/lens1
-rw-r--r--www/photo.causal.agency/0077/body1
-rw-r--r--www/photo.causal.agency/0077/date1
-rw-r--r--www/photo.causal.agency/0077/film1
-rw-r--r--www/photo.causal.agency/0077/lens1
-rw-r--r--www/photo.causal.agency/0078/body1
-rw-r--r--www/photo.causal.agency/0078/date1
-rw-r--r--www/photo.causal.agency/0078/film1
-rw-r--r--www/photo.causal.agency/0078/lens1
-rw-r--r--www/photo.causal.agency/0079/body1
-rw-r--r--www/photo.causal.agency/0079/date1
-rw-r--r--www/photo.causal.agency/0079/film1
-rw-r--r--www/photo.causal.agency/0079/lens1
-rw-r--r--www/photo.causal.agency/0080/body1
-rw-r--r--www/photo.causal.agency/0080/date1
-rw-r--r--www/photo.causal.agency/0080/film1
-rw-r--r--www/photo.causal.agency/0080/lens1
-rw-r--r--www/photo.causal.agency/0080/note3
-rw-r--r--www/photo.causal.agency/2024-06-08/R1-07534-002A.txt10
-rw-r--r--www/photo.causal.agency/2024-06-12/R1-07671-017A.txt3
-rw-r--r--www/photo.causal.agency/2024-06-12/R1-07671-019A.txt4
-rw-r--r--www/photo.causal.agency/2024-06-12/R1-07671-022A.txt8
-rw-r--r--www/photo.causal.agency/2024-07-03/000099810023.txt6
-rw-r--r--www/photo.causal.agency/2024-08-29/000054970005.txt3
-rw-r--r--www/photo.causal.agency/2024-08-29/000054970006.txt2
-rw-r--r--www/photo.causal.agency/2024-09-05/06124000003.txt6
-rw-r--r--www/photo.causal.agency/2024-09-05/06124000009.txt5
-rw-r--r--www/photo.causal.agency/2024-09-05/06124000010.txt3
-rw-r--r--www/photo.causal.agency/2024-09-05/06124000014.txt4
-rw-r--r--www/photo.causal.agency/2024-09-05/06124000017.txt4
-rw-r--r--www/photo.causal.agency/2024-09-05/06124000018.txt5
-rw-r--r--www/photo.causal.agency/2024-09-05/06124000023.txt5
-rw-r--r--www/photo.causal.agency/2024-09-05/06124000024.txt5
-rw-r--r--www/photo.causal.agency/2024-09-05/06124000025.txt5
-rw-r--r--www/photo.causal.agency/2024-09-05/06124000026.txt4
-rw-r--r--www/photo.causal.agency/2024-09-05/06124000027.txt3
-rw-r--r--www/photo.causal.agency/2024-09-05/06124000032.txt4
-rw-r--r--www/photo.causal.agency/2024-09-05/06124000033.txt4
-rw-r--r--www/photo.causal.agency/2024-09-05/06124000038.txt4
-rw-r--r--www/photo.causal.agency/2024-09-05/06124000042.txt3
-rw-r--r--www/photo.causal.agency/2024-09-05/06124000044.txt8
-rw-r--r--www/photo.causal.agency/2024-09-05/body1
-rw-r--r--www/photo.causal.agency/2024-09-05/film1
-rw-r--r--www/photo.causal.agency/2024-09-05/lens1
-rw-r--r--www/photo.causal.agency/2024-09-07/body1
-rw-r--r--www/photo.causal.agency/2024-09-07/film1
-rw-r--r--www/photo.causal.agency/2024-09-07/lens1
-rw-r--r--www/photo.causal.agency/2024-09-12/body1
-rw-r--r--www/photo.causal.agency/2024-09-12/film1
-rw-r--r--www/photo.causal.agency/2024-09-12/lens1
-rw-r--r--www/photo.causal.agency/2024-09-14/body1
-rw-r--r--www/photo.causal.agency/2024-09-14/film1
-rw-r--r--www/photo.causal.agency/2024-09-14/lens1
-rw-r--r--www/photo.causal.agency/2024-09-15/body1
-rw-r--r--www/photo.causal.agency/2024-09-15/film1
-rw-r--r--www/photo.causal.agency/2024-09-15/lens1
-rw-r--r--www/photo.causal.agency/2024-09-22/body1
-rw-r--r--www/photo.causal.agency/2024-09-22/film1
-rw-r--r--www/photo.causal.agency/2024-09-22/lens1
-rw-r--r--www/photo.causal.agency/2024-09-28/body1
-rw-r--r--www/photo.causal.agency/2024-09-28/film1
-rw-r--r--www/photo.causal.agency/2024-09-28/lens1
-rw-r--r--www/photo.causal.agency/2024-09-29/body1
-rw-r--r--www/photo.causal.agency/2024-09-29/film1
-rw-r--r--www/photo.causal.agency/2024-09-29/lens1
-rw-r--r--www/photo.causal.agency/2024-10-01/body1
-rw-r--r--www/photo.causal.agency/2024-10-01/film1
-rw-r--r--www/photo.causal.agency/2024-10-01/lens1
-rw-r--r--www/photo.causal.agency/2024-10-05/body1
-rw-r--r--www/photo.causal.agency/2024-10-05/film1
-rw-r--r--www/photo.causal.agency/2024-10-05/lens1
-rw-r--r--www/photo.causal.agency/2024-10-06/body1
-rw-r--r--www/photo.causal.agency/2024-10-06/film1
-rw-r--r--www/photo.causal.agency/2024-10-06/lens1
-rw-r--r--www/photo.causal.agency/2024-10-12/body1
-rw-r--r--www/photo.causal.agency/2024-10-12/film1
-rw-r--r--www/photo.causal.agency/2024-10-12/lens1
-rw-r--r--www/photo.causal.agency/2024-10-17/body1
-rw-r--r--www/photo.causal.agency/2024-10-17/film1
-rw-r--r--www/photo.causal.agency/2024-10-17/lens1
-rw-r--r--www/photo.causal.agency/2024-10-20/body1
-rw-r--r--www/photo.causal.agency/2024-10-20/film1
-rw-r--r--www/photo.causal.agency/2024-10-20/lens1
-rw-r--r--www/photo.causal.agency/2024-10-23/body1
-rw-r--r--www/photo.causal.agency/2024-10-23/film1
-rw-r--r--www/photo.causal.agency/2024-10-23/lens1
-rw-r--r--www/photo.causal.agency/2024-10-27/body1
-rw-r--r--www/photo.causal.agency/2024-10-27/film1
-rw-r--r--www/photo.causal.agency/2024-10-27/lens1
-rw-r--r--www/photo.causal.agency/2024-11-02/body1
-rw-r--r--www/photo.causal.agency/2024-11-02/film1
-rw-r--r--www/photo.causal.agency/2024-11-02/lens1
-rw-r--r--www/photo.causal.agency/2024-11-06/body1
-rw-r--r--www/photo.causal.agency/2024-11-06/film1
-rw-r--r--www/photo.causal.agency/2024-11-06/lens1
-rw-r--r--www/photo.causal.agency/2024-11-09/body1
-rw-r--r--www/photo.causal.agency/2024-11-09/film1
-rw-r--r--www/photo.causal.agency/2024-11-09/lens1
-rw-r--r--www/photo.causal.agency/2024-11-12/body1
-rw-r--r--www/photo.causal.agency/2024-11-12/film1
-rw-r--r--www/photo.causal.agency/2024-11-12/lens1
-rw-r--r--www/photo.causal.agency/2024-11-16/body1
-rw-r--r--www/photo.causal.agency/2024-11-16/film1
-rw-r--r--www/photo.causal.agency/2024-11-16/lens1
-rw-r--r--www/photo.causal.agency/2024-11-18/body1
-rw-r--r--www/photo.causal.agency/2024-11-18/film1
-rw-r--r--www/photo.causal.agency/2024-11-18/lens1
-rw-r--r--www/photo.causal.agency/2024-11-23/body1
-rw-r--r--www/photo.causal.agency/2024-11-23/film1
-rw-r--r--www/photo.causal.agency/2024-11-23/lens1
-rw-r--r--www/photo.causal.agency/2024-12-21/body1
-rw-r--r--www/photo.causal.agency/2024-12-21/film1
-rw-r--r--www/photo.causal.agency/2024-12-21/lens1
-rw-r--r--www/photo.causal.agency/2024-12-28/body1
-rw-r--r--www/photo.causal.agency/2024-12-28/film1
-rw-r--r--www/photo.causal.agency/2024-12-28/lens1
-rw-r--r--www/photo.causal.agency/2025-01-18/body1
-rw-r--r--www/photo.causal.agency/2025-01-18/film1
-rw-r--r--www/photo.causal.agency/2025-01-18/lens1
-rw-r--r--www/photo.causal.agency/2025-01-26/body1
-rw-r--r--www/photo.causal.agency/2025-01-26/film1
-rw-r--r--www/photo.causal.agency/2025-01-26/lens1
-rw-r--r--www/photo.causal.agency/2025-02-08/body1
-rw-r--r--www/photo.causal.agency/2025-02-08/film1
-rw-r--r--www/photo.causal.agency/2025-02-08/lens1
-rw-r--r--www/photo.causal.agency/2025-02-11/body1
-rw-r--r--www/photo.causal.agency/2025-02-11/film1
-rw-r--r--www/photo.causal.agency/2025-02-11/lens1
-rw-r--r--www/photo.causal.agency/2025-02-17/body1
-rw-r--r--www/photo.causal.agency/2025-02-17/film1
-rw-r--r--www/photo.causal.agency/2025-02-17/lens1
-rw-r--r--www/photo.causal.agency/2025-02-23/body1
-rw-r--r--www/photo.causal.agency/2025-02-23/film1
-rw-r--r--www/photo.causal.agency/2025-02-23/lens1
-rw-r--r--www/photo.causal.agency/2025-02-25/body1
-rw-r--r--www/photo.causal.agency/2025-02-25/film1
-rw-r--r--www/photo.causal.agency/2025-02-25/lens1
-rw-r--r--www/photo.causal.agency/2025-03-15/body1
-rw-r--r--www/photo.causal.agency/2025-03-15/film1
-rw-r--r--www/photo.causal.agency/2025-03-15/lens1
-rw-r--r--www/photo.causal.agency/2025-03-16/body1
-rw-r--r--www/photo.causal.agency/2025-03-16/film1
-rw-r--r--www/photo.causal.agency/2025-03-16/lens1
-rw-r--r--www/photo.causal.agency/2025-03-18/body1
-rw-r--r--www/photo.causal.agency/2025-03-18/film1
-rw-r--r--www/photo.causal.agency/2025-03-18/lens1
-rw-r--r--www/photo.causal.agency/2025-03-19/body1
-rw-r--r--www/photo.causal.agency/2025-03-19/film1
-rw-r--r--www/photo.causal.agency/2025-03-19/lens1
-rw-r--r--www/photo.causal.agency/2025-03-22/body1
-rw-r--r--www/photo.causal.agency/2025-03-22/film1
-rw-r--r--www/photo.causal.agency/2025-03-22/lens1
-rw-r--r--www/photo.causal.agency/2025-03-23/body1
-rw-r--r--www/photo.causal.agency/2025-03-23/film1
-rw-r--r--www/photo.causal.agency/2025-03-23/lens1
-rw-r--r--www/photo.causal.agency/c35/body1
-rw-r--r--www/photo.causal.agency/c35/lens1
-rw-r--r--www/photo.causal.agency/fx-3/body1
-rw-r--r--www/photo.causal.agency/fx-3/lens1
-rw-r--r--www/photo.causal.agency/gear.html65
-rw-r--r--www/photo.causal.agency/generate.sh86
-rw-r--r--www/photo.causal.agency/mastodon.sh54
-rw-r--r--www/photo.causal.agency/trips.html39
-rw-r--r--www/text.causal.agency/044-film-review.7208
-rw-r--r--www/text.causal.agency/Makefile1
226 files changed, 703 insertions, 66 deletions
diff --git a/txt/books.txt b/txt/books.txt
index fc3fb203..ec739490 100644
--- a/txt/books.txt
+++ b/txt/books.txt
@@ -1,5 +1,11 @@
+[ 2025 ]
+
+  2. ★★☆ Nicola Griffith, Spear
+  1. ★★☆ Ruthanna Emrys, A Half-Built Garden
+
 [ 2024 ]
 
+  2. ★☆☆ R. A. MacAvoy, Tea with the Black Dragon
   1. ★☆☆ Sybil Lamb, The Girl Who Was Convinced Beyond All Reason That She Could Fly
 
 [ 2023 ]
diff --git a/www/photo.causal.agency/.gitignore b/www/photo.causal.agency/.gitignore
index 4e55d718..e6e1a830 100644
--- a/www/photo.causal.agency/.gitignore
+++ b/www/photo.causal.agency/.gitignore
@@ -1,3 +1,6 @@
-*.JPG
 *.jpg
+*.JPG
+app.json
+posted.txt
 static/
+token.json
diff --git a/www/photo.causal.agency/0062/body b/www/photo.causal.agency/0062/body
new file mode 100644
index 00000000..3676b877
--- /dev/null
+++ b/www/photo.causal.agency/0062/body
@@ -0,0 +1 @@
+Konica C35 Automatic
diff --git a/www/photo.causal.agency/0062/date b/www/photo.causal.agency/0062/date
new file mode 100644
index 00000000..26d2ee87
--- /dev/null
+++ b/www/photo.causal.agency/0062/date
@@ -0,0 +1 @@
+April 5-6, 2025
diff --git a/www/photo.causal.agency/0062/film b/www/photo.causal.agency/0062/film
new file mode 100644
index 00000000..24c56374
--- /dev/null
+++ b/www/photo.causal.agency/0062/film
@@ -0,0 +1 @@
+Kodak UltraMax 400
diff --git a/www/photo.causal.agency/0062/lens b/www/photo.causal.agency/0062/lens
new file mode 100644
index 00000000..3fef9a43
--- /dev/null
+++ b/www/photo.causal.agency/0062/lens
@@ -0,0 +1 @@
+Konica Hexanon 38mm f/2.8
diff --git a/www/photo.causal.agency/0063/body b/www/photo.causal.agency/0063/body
new file mode 100644
index 00000000..3676b877
--- /dev/null
+++ b/www/photo.causal.agency/0063/body
@@ -0,0 +1 @@
+Konica C35 Automatic
diff --git a/www/photo.causal.agency/0063/date b/www/photo.causal.agency/0063/date
new file mode 100644
index 00000000..c85682d5
--- /dev/null
+++ b/www/photo.causal.agency/0063/date
@@ -0,0 +1 @@
+April 6, 2025
diff --git a/www/photo.causal.agency/0063/film b/www/photo.causal.agency/0063/film
new file mode 100644
index 00000000..24c56374
--- /dev/null
+++ b/www/photo.causal.agency/0063/film
@@ -0,0 +1 @@
+Kodak UltraMax 400
diff --git a/www/photo.causal.agency/0063/lens b/www/photo.causal.agency/0063/lens
new file mode 100644
index 00000000..3fef9a43
--- /dev/null
+++ b/www/photo.causal.agency/0063/lens
@@ -0,0 +1 @@
+Konica Hexanon 38mm f/2.8
diff --git a/www/photo.causal.agency/0064/body b/www/photo.causal.agency/0064/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/0064/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/0064/date b/www/photo.causal.agency/0064/date
new file mode 100644
index 00000000..f1ec6872
--- /dev/null
+++ b/www/photo.causal.agency/0064/date
@@ -0,0 +1 @@
+April 4-6, 2025
diff --git a/www/photo.causal.agency/0064/film b/www/photo.causal.agency/0064/film
new file mode 100644
index 00000000..42423702
--- /dev/null
+++ b/www/photo.causal.agency/0064/film
@@ -0,0 +1 @@
+BT21 Star 400
diff --git a/www/photo.causal.agency/0064/lens b/www/photo.causal.agency/0064/lens
new file mode 100644
index 00000000..fcf3c232
--- /dev/null
+++ b/www/photo.causal.agency/0064/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7, Yashica ML 42-75 f/3.5-4.5
diff --git a/www/photo.causal.agency/0065/body b/www/photo.causal.agency/0065/body
new file mode 100644
index 00000000..3676b877
--- /dev/null
+++ b/www/photo.causal.agency/0065/body
@@ -0,0 +1 @@
+Konica C35 Automatic
diff --git a/www/photo.causal.agency/0065/date b/www/photo.causal.agency/0065/date
new file mode 100644
index 00000000..de490c39
--- /dev/null
+++ b/www/photo.causal.agency/0065/date
@@ -0,0 +1 @@
+April 6-12, 2025
diff --git a/www/photo.causal.agency/0065/film b/www/photo.causal.agency/0065/film
new file mode 100644
index 00000000..75a90c86
--- /dev/null
+++ b/www/photo.causal.agency/0065/film
@@ -0,0 +1 @@
+Ilford FP4 Plus 125
diff --git a/www/photo.causal.agency/0065/lens b/www/photo.causal.agency/0065/lens
new file mode 100644
index 00000000..3fef9a43
--- /dev/null
+++ b/www/photo.causal.agency/0065/lens
@@ -0,0 +1 @@
+Konica Hexanon 38mm f/2.8
diff --git a/www/photo.causal.agency/0066/body b/www/photo.causal.agency/0066/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/0066/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/0066/date b/www/photo.causal.agency/0066/date
new file mode 100644
index 00000000..803a4b62
--- /dev/null
+++ b/www/photo.causal.agency/0066/date
@@ -0,0 +1 @@
+April 12, 2025
diff --git a/www/photo.causal.agency/0066/film b/www/photo.causal.agency/0066/film
new file mode 100644
index 00000000..f07cfc3e
--- /dev/null
+++ b/www/photo.causal.agency/0066/film
@@ -0,0 +1 @@
+Lomography CN 400
diff --git a/www/photo.causal.agency/0066/lens b/www/photo.causal.agency/0066/lens
new file mode 100644
index 00000000..eaab4375
--- /dev/null
+++ b/www/photo.causal.agency/0066/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7
diff --git a/www/photo.causal.agency/0067/body b/www/photo.causal.agency/0067/body
new file mode 100644
index 00000000..3676b877
--- /dev/null
+++ b/www/photo.causal.agency/0067/body
@@ -0,0 +1 @@
+Konica C35 Automatic
diff --git a/www/photo.causal.agency/0067/date b/www/photo.causal.agency/0067/date
new file mode 100644
index 00000000..bbfc292a
--- /dev/null
+++ b/www/photo.causal.agency/0067/date
@@ -0,0 +1 @@
+April 12-13, 2025
diff --git a/www/photo.causal.agency/0067/film b/www/photo.causal.agency/0067/film
new file mode 100644
index 00000000..1a1b1714
--- /dev/null
+++ b/www/photo.causal.agency/0067/film
@@ -0,0 +1 @@
+Astrum Foto 200
diff --git a/www/photo.causal.agency/0067/lens b/www/photo.causal.agency/0067/lens
new file mode 100644
index 00000000..3fef9a43
--- /dev/null
+++ b/www/photo.causal.agency/0067/lens
@@ -0,0 +1 @@
+Konica Hexanon 38mm f/2.8
diff --git a/www/photo.causal.agency/0068/body b/www/photo.causal.agency/0068/body
new file mode 100644
index 00000000..3676b877
--- /dev/null
+++ b/www/photo.causal.agency/0068/body
@@ -0,0 +1 @@
+Konica C35 Automatic
diff --git a/www/photo.causal.agency/0068/date b/www/photo.causal.agency/0068/date
new file mode 100644
index 00000000..c460408f
--- /dev/null
+++ b/www/photo.causal.agency/0068/date
@@ -0,0 +1 @@
+April 13-17, 2025
diff --git a/www/photo.causal.agency/0068/film b/www/photo.causal.agency/0068/film
new file mode 100644
index 00000000..6227f2a9
--- /dev/null
+++ b/www/photo.causal.agency/0068/film
@@ -0,0 +1 @@
+Wolfen UN 54
diff --git a/www/photo.causal.agency/0068/lens b/www/photo.causal.agency/0068/lens
new file mode 100644
index 00000000..3fef9a43
--- /dev/null
+++ b/www/photo.causal.agency/0068/lens
@@ -0,0 +1 @@
+Konica Hexanon 38mm f/2.8
diff --git a/www/photo.causal.agency/0069/body b/www/photo.causal.agency/0069/body
new file mode 100644
index 00000000..3676b877
--- /dev/null
+++ b/www/photo.causal.agency/0069/body
@@ -0,0 +1 @@
+Konica C35 Automatic
diff --git a/www/photo.causal.agency/0069/date b/www/photo.causal.agency/0069/date
new file mode 100644
index 00000000..939dfe29
--- /dev/null
+++ b/www/photo.causal.agency/0069/date
@@ -0,0 +1 @@
+April 17, 2025
diff --git a/www/photo.causal.agency/0069/film b/www/photo.causal.agency/0069/film
new file mode 100644
index 00000000..cb06f7ff
--- /dev/null
+++ b/www/photo.causal.agency/0069/film
@@ -0,0 +1 @@
+Konica VX 400 Super (exp. 2008)
diff --git a/www/photo.causal.agency/0069/lens b/www/photo.causal.agency/0069/lens
new file mode 100644
index 00000000..3fef9a43
--- /dev/null
+++ b/www/photo.causal.agency/0069/lens
@@ -0,0 +1 @@
+Konica Hexanon 38mm f/2.8
diff --git a/www/photo.causal.agency/0070/body b/www/photo.causal.agency/0070/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/0070/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/0070/date b/www/photo.causal.agency/0070/date
new file mode 100644
index 00000000..d0bfb87b
--- /dev/null
+++ b/www/photo.causal.agency/0070/date
@@ -0,0 +1 @@
+April 18, 2025
diff --git a/www/photo.causal.agency/0070/film b/www/photo.causal.agency/0070/film
new file mode 100644
index 00000000..24e393c6
--- /dev/null
+++ b/www/photo.causal.agency/0070/film
@@ -0,0 +1 @@
+JCH Streetpan 400
diff --git a/www/photo.causal.agency/0070/lens b/www/photo.causal.agency/0070/lens
new file mode 100644
index 00000000..eaab4375
--- /dev/null
+++ b/www/photo.causal.agency/0070/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7
diff --git a/www/photo.causal.agency/0071/body b/www/photo.causal.agency/0071/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/0071/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/0071/date b/www/photo.causal.agency/0071/date
new file mode 100644
index 00000000..8eaecd35
--- /dev/null
+++ b/www/photo.causal.agency/0071/date
@@ -0,0 +1 @@
+April 18-20, 2025
diff --git a/www/photo.causal.agency/0071/film b/www/photo.causal.agency/0071/film
new file mode 100644
index 00000000..d41d547a
--- /dev/null
+++ b/www/photo.causal.agency/0071/film
@@ -0,0 +1 @@
+Rollei Reinhold 640
diff --git a/www/photo.causal.agency/0071/lens b/www/photo.causal.agency/0071/lens
new file mode 100644
index 00000000..eaab4375
--- /dev/null
+++ b/www/photo.causal.agency/0071/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7
diff --git a/www/photo.causal.agency/0072/body b/www/photo.causal.agency/0072/body
new file mode 100644
index 00000000..3676b877
--- /dev/null
+++ b/www/photo.causal.agency/0072/body
@@ -0,0 +1 @@
+Konica C35 Automatic
diff --git a/www/photo.causal.agency/0072/date b/www/photo.causal.agency/0072/date
new file mode 100644
index 00000000..8eaecd35
--- /dev/null
+++ b/www/photo.causal.agency/0072/date
@@ -0,0 +1 @@
+April 18-20, 2025
diff --git a/www/photo.causal.agency/0072/film b/www/photo.causal.agency/0072/film
new file mode 100644
index 00000000..24c56374
--- /dev/null
+++ b/www/photo.causal.agency/0072/film
@@ -0,0 +1 @@
+Kodak UltraMax 400
diff --git a/www/photo.causal.agency/0072/lens b/www/photo.causal.agency/0072/lens
new file mode 100644
index 00000000..3fef9a43
--- /dev/null
+++ b/www/photo.causal.agency/0072/lens
@@ -0,0 +1 @@
+Konica Hexanon 38mm f/2.8
diff --git a/www/photo.causal.agency/0073/body b/www/photo.causal.agency/0073/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/0073/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/0073/date b/www/photo.causal.agency/0073/date
new file mode 100644
index 00000000..668a1ac5
--- /dev/null
+++ b/www/photo.causal.agency/0073/date
@@ -0,0 +1 @@
+April 20, 2025
diff --git a/www/photo.causal.agency/0073/film b/www/photo.causal.agency/0073/film
new file mode 100644
index 00000000..6968664d
--- /dev/null
+++ b/www/photo.causal.agency/0073/film
@@ -0,0 +1 @@
+Ilford Ortho Plus 80
diff --git a/www/photo.causal.agency/0073/lens b/www/photo.causal.agency/0073/lens
new file mode 100644
index 00000000..eaab4375
--- /dev/null
+++ b/www/photo.causal.agency/0073/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7
diff --git a/www/photo.causal.agency/0074/body b/www/photo.causal.agency/0074/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/0074/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/0074/date b/www/photo.causal.agency/0074/date
new file mode 100644
index 00000000..0aec6293
--- /dev/null
+++ b/www/photo.causal.agency/0074/date
@@ -0,0 +1 @@
+April 20-27, 2025
diff --git a/www/photo.causal.agency/0074/film b/www/photo.causal.agency/0074/film
new file mode 100644
index 00000000..326aaee3
--- /dev/null
+++ b/www/photo.causal.agency/0074/film
@@ -0,0 +1 @@
+Wolfen NP100
diff --git a/www/photo.causal.agency/0074/lens b/www/photo.causal.agency/0074/lens
new file mode 100644
index 00000000..eaab4375
--- /dev/null
+++ b/www/photo.causal.agency/0074/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7
diff --git a/www/photo.causal.agency/0075/body b/www/photo.causal.agency/0075/body
new file mode 100644
index 00000000..3676b877
--- /dev/null
+++ b/www/photo.causal.agency/0075/body
@@ -0,0 +1 @@
+Konica C35 Automatic
diff --git a/www/photo.causal.agency/0075/date b/www/photo.causal.agency/0075/date
new file mode 100644
index 00000000..0aec6293
--- /dev/null
+++ b/www/photo.causal.agency/0075/date
@@ -0,0 +1 @@
+April 20-27, 2025
diff --git a/www/photo.causal.agency/0075/film b/www/photo.causal.agency/0075/film
new file mode 100644
index 00000000..dd589471
--- /dev/null
+++ b/www/photo.causal.agency/0075/film
@@ -0,0 +1 @@
+Harman Phoenix 200
diff --git a/www/photo.causal.agency/0075/lens b/www/photo.causal.agency/0075/lens
new file mode 100644
index 00000000..3fef9a43
--- /dev/null
+++ b/www/photo.causal.agency/0075/lens
@@ -0,0 +1 @@
+Konica Hexanon 38mm f/2.8
diff --git a/www/photo.causal.agency/0076/body b/www/photo.causal.agency/0076/body
new file mode 100644
index 00000000..3676b877
--- /dev/null
+++ b/www/photo.causal.agency/0076/body
@@ -0,0 +1 @@
+Konica C35 Automatic
diff --git a/www/photo.causal.agency/0076/date b/www/photo.causal.agency/0076/date
new file mode 100644
index 00000000..3a8a41d3
--- /dev/null
+++ b/www/photo.causal.agency/0076/date
@@ -0,0 +1 @@
+April 27, 2025
diff --git a/www/photo.causal.agency/0076/film b/www/photo.causal.agency/0076/film
new file mode 100644
index 00000000..cb06f7ff
--- /dev/null
+++ b/www/photo.causal.agency/0076/film
@@ -0,0 +1 @@
+Konica VX 400 Super (exp. 2008)
diff --git a/www/photo.causal.agency/0076/lens b/www/photo.causal.agency/0076/lens
new file mode 100644
index 00000000..3fef9a43
--- /dev/null
+++ b/www/photo.causal.agency/0076/lens
@@ -0,0 +1 @@
+Konica Hexanon 38mm f/2.8
diff --git a/www/photo.causal.agency/0077/body b/www/photo.causal.agency/0077/body
new file mode 100644
index 00000000..3676b877
--- /dev/null
+++ b/www/photo.causal.agency/0077/body
@@ -0,0 +1 @@
+Konica C35 Automatic
diff --git a/www/photo.causal.agency/0077/date b/www/photo.causal.agency/0077/date
new file mode 100644
index 00000000..a35d7362
--- /dev/null
+++ b/www/photo.causal.agency/0077/date
@@ -0,0 +1 @@
+April 27 – May 4, 2025
diff --git a/www/photo.causal.agency/0077/film b/www/photo.causal.agency/0077/film
new file mode 100644
index 00000000..ffcc1ab6
--- /dev/null
+++ b/www/photo.causal.agency/0077/film
@@ -0,0 +1 @@
+Flic Film Aurora 400
diff --git a/www/photo.causal.agency/0077/lens b/www/photo.causal.agency/0077/lens
new file mode 100644
index 00000000..3fef9a43
--- /dev/null
+++ b/www/photo.causal.agency/0077/lens
@@ -0,0 +1 @@
+Konica Hexanon 38mm f/2.8
diff --git a/www/photo.causal.agency/0078/body b/www/photo.causal.agency/0078/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/0078/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/0078/date b/www/photo.causal.agency/0078/date
new file mode 100644
index 00000000..7e2a323a
--- /dev/null
+++ b/www/photo.causal.agency/0078/date
@@ -0,0 +1 @@
+April 27 – May 3, 2025
diff --git a/www/photo.causal.agency/0078/film b/www/photo.causal.agency/0078/film
new file mode 100644
index 00000000..6a2f64b6
--- /dev/null
+++ b/www/photo.causal.agency/0078/film
@@ -0,0 +1 @@
+AristaEDU Ultra 200
diff --git a/www/photo.causal.agency/0078/lens b/www/photo.causal.agency/0078/lens
new file mode 100644
index 00000000..ad833bed
--- /dev/null
+++ b/www/photo.causal.agency/0078/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7, Yashica ML Macro 55mm f/2.8
diff --git a/www/photo.causal.agency/0079/body b/www/photo.causal.agency/0079/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/0079/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/0079/date b/www/photo.causal.agency/0079/date
new file mode 100644
index 00000000..d44c408e
--- /dev/null
+++ b/www/photo.causal.agency/0079/date
@@ -0,0 +1 @@
+May 3, 2025
diff --git a/www/photo.causal.agency/0079/film b/www/photo.causal.agency/0079/film
new file mode 100644
index 00000000..7438f38e
--- /dev/null
+++ b/www/photo.causal.agency/0079/film
@@ -0,0 +1 @@
+Lucky SHD 400
diff --git a/www/photo.causal.agency/0079/lens b/www/photo.causal.agency/0079/lens
new file mode 100644
index 00000000..197595bc
--- /dev/null
+++ b/www/photo.causal.agency/0079/lens
@@ -0,0 +1 @@
+Yashica ML Macro 55mm f/2.8
diff --git a/www/photo.causal.agency/0080/body b/www/photo.causal.agency/0080/body
new file mode 100644
index 00000000..3676b877
--- /dev/null
+++ b/www/photo.causal.agency/0080/body
@@ -0,0 +1 @@
+Konica C35 Automatic
diff --git a/www/photo.causal.agency/0080/date b/www/photo.causal.agency/0080/date
new file mode 100644
index 00000000..17eb8868
--- /dev/null
+++ b/www/photo.causal.agency/0080/date
@@ -0,0 +1 @@
+May 4-14, 2025
diff --git a/www/photo.causal.agency/0080/film b/www/photo.causal.agency/0080/film
new file mode 100644
index 00000000..a87ca638
--- /dev/null
+++ b/www/photo.causal.agency/0080/film
@@ -0,0 +1 @@
+Konica 400 VX Super (exp. 2005)
diff --git a/www/photo.causal.agency/0080/lens b/www/photo.causal.agency/0080/lens
new file mode 100644
index 00000000..3fef9a43
--- /dev/null
+++ b/www/photo.causal.agency/0080/lens
@@ -0,0 +1 @@
+Konica Hexanon 38mm f/2.8
diff --git a/www/photo.causal.agency/0080/note b/www/photo.causal.agency/0080/note
new file mode 100644
index 00000000..72945eda
--- /dev/null
+++ b/www/photo.causal.agency/0080/note
@@ -0,0 +1,3 @@
+first roll I didn't even have the lab scan as a backup!
+shot at EI 100 and clearly overexposed.
+is the one-stop-per-decade rule even real?
diff --git a/www/photo.causal.agency/2024-06-08/R1-07534-002A.txt b/www/photo.causal.agency/2024-06-08/R1-07534-002A.txt
deleted file mode 100644
index 6a70030e..00000000
--- a/www/photo.causal.agency/2024-06-08/R1-07534-002A.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-profile of Ayla on the couch in our apartment.
-behind her on the left of the frame is a warm brick wall.
-there's a band from what might be a light leak
-just to the right of her head.
-I've DIY replaced the light seals
-on this camera so we'll see how it looks
-on the next roll.
-there's also a narrow dark band
-at the right edge of the frame.
-I don't know what's up with that.
diff --git a/www/photo.causal.agency/2024-06-12/R1-07671-017A.txt b/www/photo.causal.agency/2024-06-12/R1-07671-017A.txt
deleted file mode 100644
index a42ac1da..00000000
--- a/www/photo.causal.agency/2024-06-12/R1-07671-017A.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Ayla lying on the couch,
-head propped up on her arm,
-smiling at her phone.
diff --git a/www/photo.causal.agency/2024-06-12/R1-07671-019A.txt b/www/photo.causal.agency/2024-06-12/R1-07671-019A.txt
deleted file mode 100644
index 110edad8..00000000
--- a/www/photo.causal.agency/2024-06-12/R1-07671-019A.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Ayla outside in stark lighting
-as the sun was just starting to set,
-looking at some yellow long flowers
-growing on a large bush.
diff --git a/www/photo.causal.agency/2024-06-12/R1-07671-022A.txt b/www/photo.causal.agency/2024-06-12/R1-07671-022A.txt
deleted file mode 100644
index 89dc567e..00000000
--- a/www/photo.causal.agency/2024-06-12/R1-07671-022A.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Ayla looking back
-from halfway down a staircase
-leading towards an old stone building.
-there's a black band
-of underexposed film
-on the right edge of the frame.
-a problem with the shutter
-at slower speeds or something?
diff --git a/www/photo.causal.agency/2024-07-03/000099810023.txt b/www/photo.causal.agency/2024-07-03/000099810023.txt
deleted file mode 100644
index 0b3d18b8..00000000
--- a/www/photo.causal.agency/2024-07-03/000099810023.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-Ayla on a peak of the mountain
-facing away from me
-but turning back towards the camera.
-she's wearing a pink tshirt
-and carrying a red backpack.
-her hair is messy blowing in the wind.
diff --git a/www/photo.causal.agency/2024-08-29/000054970005.txt b/www/photo.causal.agency/2024-08-29/000054970005.txt
deleted file mode 100644
index 89cfbe7f..00000000
--- a/www/photo.causal.agency/2024-08-29/000054970005.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Ayla in an orange sweater
-pulling her fingers through her hair
-and making a squinting face.
diff --git a/www/photo.causal.agency/2024-08-29/000054970006.txt b/www/photo.causal.agency/2024-08-29/000054970006.txt
deleted file mode 100644
index dcf4b50e..00000000
--- a/www/photo.causal.agency/2024-08-29/000054970006.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Ayla in an orange sweater
-looking to the side and smiling.
diff --git a/www/photo.causal.agency/2024-09-05/06124000003.txt b/www/photo.causal.agency/2024-09-05/06124000003.txt
new file mode 100644
index 00000000..7b3b59e9
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/06124000003.txt
@@ -0,0 +1,6 @@
+looking up at the corner of a grey office building
+of at least 18 floors that we can see,
+on a clear blue sky.
+the sun is on the left,
+illuminating that side of the building brightly
+and leaving the other side in relative shadow.
diff --git a/www/photo.causal.agency/2024-09-05/06124000009.txt b/www/photo.causal.agency/2024-09-05/06124000009.txt
new file mode 100644
index 00000000..acee212d
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/06124000009.txt
@@ -0,0 +1,5 @@
+a huge dark brown brick building
+that is part of a hospital complex.
+it is in the sun,
+but the smaller building behind the camera
+is casting a big shadow in the middle.
diff --git a/www/photo.causal.agency/2024-09-05/06124000010.txt b/www/photo.causal.agency/2024-09-05/06124000010.txt
new file mode 100644
index 00000000..d280e6b5
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/06124000010.txt
@@ -0,0 +1,3 @@
+some really tall, thin trees
+with branches only really high up.
+their dark green leaves are against a bright sky.
diff --git a/www/photo.causal.agency/2024-09-05/06124000014.txt b/www/photo.causal.agency/2024-09-05/06124000014.txt
new file mode 100644
index 00000000..b45b6c58
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/06124000014.txt
@@ -0,0 +1,4 @@
+nine small square windows in a grid
+on a brown brick wall.
+a conduit runs under them
+with a light on either side.
diff --git a/www/photo.causal.agency/2024-09-05/06124000017.txt b/www/photo.causal.agency/2024-09-05/06124000017.txt
new file mode 100644
index 00000000..8b4d2ae5
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/06124000017.txt
@@ -0,0 +1,4 @@
+a closeup of some old walkup stairs.
+the metal frame of the staircase is rusted
+and the wooden steps are decaying.
+they were once painted but almost all of it has come off.
diff --git a/www/photo.causal.agency/2024-09-05/06124000018.txt b/www/photo.causal.agency/2024-09-05/06124000018.txt
new file mode 100644
index 00000000..0a184588
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/06124000018.txt
@@ -0,0 +1,5 @@
+a covered driveway under a building.
+the near wall is in shadow
+but the sun is playing nicely on the far part,
+out from the covered portion.
+beyond is a tree and a wooden fence.
diff --git a/www/photo.causal.agency/2024-09-05/06124000023.txt b/www/photo.causal.agency/2024-09-05/06124000023.txt
new file mode 100644
index 00000000..655ad84e
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/06124000023.txt
@@ -0,0 +1,5 @@
+a brick wall that has a hole in it,
+which is covered by wooden planks,
+except bricks are missing from below it,
+and generally don't seem to be holding together.
+all of that behind a chain link fence right in front of it.
diff --git a/www/photo.causal.agency/2024-09-05/06124000024.txt b/www/photo.causal.agency/2024-09-05/06124000024.txt
new file mode 100644
index 00000000..65ff67be
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/06124000024.txt
@@ -0,0 +1,5 @@
+a grey utility door on the back of a building
+below ground level,
+surrounded by vegetation on all sides,
+and a little white wooden fence
+to the left.
diff --git a/www/photo.causal.agency/2024-09-05/06124000025.txt b/www/photo.causal.agency/2024-09-05/06124000025.txt
new file mode 100644
index 00000000..66cb1aaa
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/06124000025.txt
@@ -0,0 +1,5 @@
+a metal box affixed to a light brick wall
+with the number 1786 in black raised lettering on it.
+the surface of the metal is rusting a light orange.
+just to the right of the box,
+a bundle of black wires climbs straight up the wall.
diff --git a/www/photo.causal.agency/2024-09-05/06124000026.txt b/www/photo.causal.agency/2024-09-05/06124000026.txt
new file mode 100644
index 00000000..765411fe
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/06124000026.txt
@@ -0,0 +1,4 @@
+what may have been a storefront
+with the address 1107.
+it's a door set into the building
+behind a locked metal grate.
diff --git a/www/photo.causal.agency/2024-09-05/06124000027.txt b/www/photo.causal.agency/2024-09-05/06124000027.txt
new file mode 100644
index 00000000..1695ade9
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/06124000027.txt
@@ -0,0 +1,3 @@
+a metal wire sphere
+suspended by two crossing metal bars
+below some trees.
diff --git a/www/photo.causal.agency/2024-09-05/06124000032.txt b/www/photo.causal.agency/2024-09-05/06124000032.txt
new file mode 100644
index 00000000..fb83f216
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/06124000032.txt
@@ -0,0 +1,4 @@
+looking up at a concrete building in the sun.
+it's got a detailed pattern of depth
+around the windows.
+the sky is blue.
diff --git a/www/photo.causal.agency/2024-09-05/06124000033.txt b/www/photo.causal.agency/2024-09-05/06124000033.txt
new file mode 100644
index 00000000..fb83f216
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/06124000033.txt
@@ -0,0 +1,4 @@
+looking up at a concrete building in the sun.
+it's got a detailed pattern of depth
+around the windows.
+the sky is blue.
diff --git a/www/photo.causal.agency/2024-09-05/06124000038.txt b/www/photo.causal.agency/2024-09-05/06124000038.txt
new file mode 100644
index 00000000..30c9eb53
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/06124000038.txt
@@ -0,0 +1,4 @@
+a selfie in some dirty reflective surface I found on the street.
+I’m holding up an analog camera to my face
+and wearing a light coloured tshirt and green little shorts.
+there’s a blue car behind me.
diff --git a/www/photo.causal.agency/2024-09-05/06124000042.txt b/www/photo.causal.agency/2024-09-05/06124000042.txt
new file mode 100644
index 00000000..535d76b0
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/06124000042.txt
@@ -0,0 +1,3 @@
+the side of an old brick factory building
+with a fire escape going up to one window.
+the building is in shadow and the sky is white.
diff --git a/www/photo.causal.agency/2024-09-05/06124000044.txt b/www/photo.causal.agency/2024-09-05/06124000044.txt
new file mode 100644
index 00000000..67ac2df5
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/06124000044.txt
@@ -0,0 +1,8 @@
+the back of something like a building over a garage,
+with a high short window
+and a door with some steps leading down.
+the building is mostly in shadow
+except an area on the left side of the window,
+where the sun must be reflecting off something,
+given the orientation of this particular building
+and the time of day.
diff --git a/www/photo.causal.agency/2024-09-05/body b/www/photo.causal.agency/2024-09-05/body
new file mode 100644
index 00000000..6a2a5ad8
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/body
@@ -0,0 +1 @@
+Yashica FX-2
diff --git a/www/photo.causal.agency/2024-09-05/film b/www/photo.causal.agency/2024-09-05/film
new file mode 100644
index 00000000..7c8bf080
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/film
@@ -0,0 +1 @@
+Shanghai Color 400
diff --git a/www/photo.causal.agency/2024-09-05/lens b/www/photo.causal.agency/2024-09-05/lens
new file mode 100644
index 00000000..61e7cfd8
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-05/lens
@@ -0,0 +1 @@
+Yashica ML 28–85mm ƒ/3.5-4.5
diff --git a/www/photo.causal.agency/2024-09-07/body b/www/photo.causal.agency/2024-09-07/body
new file mode 100644
index 00000000..1828b2a2
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-07/body
@@ -0,0 +1 @@
+Zenit-122
diff --git a/www/photo.causal.agency/2024-09-07/film b/www/photo.causal.agency/2024-09-07/film
new file mode 100644
index 00000000..bf3453cb
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-07/film
@@ -0,0 +1 @@
+Ilford HP5+ 400
diff --git a/www/photo.causal.agency/2024-09-07/lens b/www/photo.causal.agency/2024-09-07/lens
new file mode 100644
index 00000000..dcd0812c
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-07/lens
@@ -0,0 +1 @@
+Helios-44M-5 58mm ƒ/2
diff --git a/www/photo.causal.agency/2024-09-12/body b/www/photo.causal.agency/2024-09-12/body
new file mode 100644
index 00000000..6a2a5ad8
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-12/body
@@ -0,0 +1 @@
+Yashica FX-2
diff --git a/www/photo.causal.agency/2024-09-12/film b/www/photo.causal.agency/2024-09-12/film
new file mode 100644
index 00000000..7c8bf080
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-12/film
@@ -0,0 +1 @@
+Shanghai Color 400
diff --git a/www/photo.causal.agency/2024-09-12/lens b/www/photo.causal.agency/2024-09-12/lens
new file mode 100644
index 00000000..b7c8829c
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-12/lens
@@ -0,0 +1 @@
+Yashica ML 42–75mm ƒ/3.5–4.5
diff --git a/www/photo.causal.agency/2024-09-14/body b/www/photo.causal.agency/2024-09-14/body
new file mode 100644
index 00000000..6a2a5ad8
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-14/body
@@ -0,0 +1 @@
+Yashica FX-2
diff --git a/www/photo.causal.agency/2024-09-14/film b/www/photo.causal.agency/2024-09-14/film
new file mode 100644
index 00000000..0fb06431
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-14/film
@@ -0,0 +1 @@
+Fomapan Creative 200, Harman Phoenix 200
diff --git a/www/photo.causal.agency/2024-09-14/lens b/www/photo.causal.agency/2024-09-14/lens
new file mode 100644
index 00000000..b7c8829c
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-14/lens
@@ -0,0 +1 @@
+Yashica ML 42–75mm ƒ/3.5–4.5
diff --git a/www/photo.causal.agency/2024-09-15/body b/www/photo.causal.agency/2024-09-15/body
new file mode 100644
index 00000000..6a2a5ad8
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-15/body
@@ -0,0 +1 @@
+Yashica FX-2
diff --git a/www/photo.causal.agency/2024-09-15/film b/www/photo.causal.agency/2024-09-15/film
new file mode 100644
index 00000000..c3e0e2b4
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-15/film
@@ -0,0 +1 @@
+Harman Phoenix 200, Ilford FP4 Plus 125
diff --git a/www/photo.causal.agency/2024-09-15/lens b/www/photo.causal.agency/2024-09-15/lens
new file mode 100644
index 00000000..b7c8829c
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-15/lens
@@ -0,0 +1 @@
+Yashica ML 42–75mm ƒ/3.5–4.5
diff --git a/www/photo.causal.agency/2024-09-22/body b/www/photo.causal.agency/2024-09-22/body
new file mode 100644
index 00000000..eafb759d
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-22/body
@@ -0,0 +1 @@
+Praktica MTL3
diff --git a/www/photo.causal.agency/2024-09-22/film b/www/photo.causal.agency/2024-09-22/film
new file mode 100644
index 00000000..44fd8200
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-22/film
@@ -0,0 +1 @@
+Shanghai Color 400, Ilford Delta 100
diff --git a/www/photo.causal.agency/2024-09-22/lens b/www/photo.causal.agency/2024-09-22/lens
new file mode 100644
index 00000000..d1617296
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-22/lens
@@ -0,0 +1 @@
+Pentacon 50mm ƒ/1.8
diff --git a/www/photo.causal.agency/2024-09-28/body b/www/photo.causal.agency/2024-09-28/body
new file mode 100644
index 00000000..eafb759d
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-28/body
@@ -0,0 +1 @@
+Praktica MTL3
diff --git a/www/photo.causal.agency/2024-09-28/film b/www/photo.causal.agency/2024-09-28/film
new file mode 100644
index 00000000..186deeaa
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-28/film
@@ -0,0 +1 @@
+Wolfen NC500
diff --git a/www/photo.causal.agency/2024-09-28/lens b/www/photo.causal.agency/2024-09-28/lens
new file mode 100644
index 00000000..d1617296
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-28/lens
@@ -0,0 +1 @@
+Pentacon 50mm ƒ/1.8
diff --git a/www/photo.causal.agency/2024-09-29/body b/www/photo.causal.agency/2024-09-29/body
new file mode 100644
index 00000000..eafb759d
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-29/body
@@ -0,0 +1 @@
+Praktica MTL3
diff --git a/www/photo.causal.agency/2024-09-29/film b/www/photo.causal.agency/2024-09-29/film
new file mode 100644
index 00000000..75a90c86
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-29/film
@@ -0,0 +1 @@
+Ilford FP4 Plus 125
diff --git a/www/photo.causal.agency/2024-09-29/lens b/www/photo.causal.agency/2024-09-29/lens
new file mode 100644
index 00000000..038971f7
--- /dev/null
+++ b/www/photo.causal.agency/2024-09-29/lens
@@ -0,0 +1 @@
+Takumar 35mm ƒ/3.5, Takumar 135mm ƒ/3.5
diff --git a/www/photo.causal.agency/2024-10-01/body b/www/photo.causal.agency/2024-10-01/body
new file mode 100644
index 00000000..eafb759d
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-01/body
@@ -0,0 +1 @@
+Praktica MTL3
diff --git a/www/photo.causal.agency/2024-10-01/film b/www/photo.causal.agency/2024-10-01/film
new file mode 100644
index 00000000..dd589471
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-01/film
@@ -0,0 +1 @@
+Harman Phoenix 200
diff --git a/www/photo.causal.agency/2024-10-01/lens b/www/photo.causal.agency/2024-10-01/lens
new file mode 100644
index 00000000..a88822d3
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-01/lens
@@ -0,0 +1 @@
+Takumar 135mm ƒ/3.5, Pentacon 50mm ƒ/1.8
diff --git a/www/photo.causal.agency/2024-10-05/body b/www/photo.causal.agency/2024-10-05/body
new file mode 100644
index 00000000..eafb759d
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-05/body
@@ -0,0 +1 @@
+Praktica MTL3
diff --git a/www/photo.causal.agency/2024-10-05/film b/www/photo.causal.agency/2024-10-05/film
new file mode 100644
index 00000000..6bb4ba69
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-05/film
@@ -0,0 +1 @@
+Ferrania P30, Harman Phoenix
diff --git a/www/photo.causal.agency/2024-10-05/lens b/www/photo.causal.agency/2024-10-05/lens
new file mode 100644
index 00000000..d1617296
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-05/lens
@@ -0,0 +1 @@
+Pentacon 50mm ƒ/1.8
diff --git a/www/photo.causal.agency/2024-10-06/body b/www/photo.causal.agency/2024-10-06/body
new file mode 100644
index 00000000..eafb759d
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-06/body
@@ -0,0 +1 @@
+Praktica MTL3
diff --git a/www/photo.causal.agency/2024-10-06/film b/www/photo.causal.agency/2024-10-06/film
new file mode 100644
index 00000000..968fca45
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-06/film
@@ -0,0 +1 @@
+CineStill 800T
diff --git a/www/photo.causal.agency/2024-10-06/lens b/www/photo.causal.agency/2024-10-06/lens
new file mode 100644
index 00000000..d1617296
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-06/lens
@@ -0,0 +1 @@
+Pentacon 50mm ƒ/1.8
diff --git a/www/photo.causal.agency/2024-10-12/body b/www/photo.causal.agency/2024-10-12/body
new file mode 100644
index 00000000..6a2a5ad8
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-12/body
@@ -0,0 +1 @@
+Yashica FX-2
diff --git a/www/photo.causal.agency/2024-10-12/film b/www/photo.causal.agency/2024-10-12/film
new file mode 100644
index 00000000..7c8bf080
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-12/film
@@ -0,0 +1 @@
+Shanghai Color 400
diff --git a/www/photo.causal.agency/2024-10-12/lens b/www/photo.causal.agency/2024-10-12/lens
new file mode 100644
index 00000000..87eda797
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-12/lens
@@ -0,0 +1 @@
+Yashica MC 35–70mm ƒ/3.5–4.5
diff --git a/www/photo.causal.agency/2024-10-17/body b/www/photo.causal.agency/2024-10-17/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-17/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2024-10-17/film b/www/photo.causal.agency/2024-10-17/film
new file mode 100644
index 00000000..fb690ad8
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-17/film
@@ -0,0 +1 @@
+Fomapan Creative 200
diff --git a/www/photo.causal.agency/2024-10-17/lens b/www/photo.causal.agency/2024-10-17/lens
new file mode 100644
index 00000000..13f1fc49
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-17/lens
@@ -0,0 +1 @@
+Yashica DSB 50mm ƒ/1.9
diff --git a/www/photo.causal.agency/2024-10-20/body b/www/photo.causal.agency/2024-10-20/body
new file mode 100644
index 00000000..1828b2a2
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-20/body
@@ -0,0 +1 @@
+Zenit-122
diff --git a/www/photo.causal.agency/2024-10-20/film b/www/photo.causal.agency/2024-10-20/film
new file mode 100644
index 00000000..7c8bf080
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-20/film
@@ -0,0 +1 @@
+Shanghai Color 400
diff --git a/www/photo.causal.agency/2024-10-20/lens b/www/photo.causal.agency/2024-10-20/lens
new file mode 100644
index 00000000..cf233451
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-20/lens
@@ -0,0 +1 @@
+Helios 44M-5 58mm ƒ/2, SMC Takumar 35mm ƒ/3.5
diff --git a/www/photo.causal.agency/2024-10-23/body b/www/photo.causal.agency/2024-10-23/body
new file mode 100644
index 00000000..eafb759d
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-23/body
@@ -0,0 +1 @@
+Praktica MTL3
diff --git a/www/photo.causal.agency/2024-10-23/film b/www/photo.causal.agency/2024-10-23/film
new file mode 100644
index 00000000..7c8bf080
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-23/film
@@ -0,0 +1 @@
+Shanghai Color 400
diff --git a/www/photo.causal.agency/2024-10-23/lens b/www/photo.causal.agency/2024-10-23/lens
new file mode 100644
index 00000000..abcaed38
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-23/lens
@@ -0,0 +1 @@
+Super-Takumar 135mm ƒ/3.5, Pentacon 50mm ƒ/1.8
diff --git a/www/photo.causal.agency/2024-10-27/body b/www/photo.causal.agency/2024-10-27/body
new file mode 100644
index 00000000..eafb759d
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-27/body
@@ -0,0 +1 @@
+Praktica MTL3
diff --git a/www/photo.causal.agency/2024-10-27/film b/www/photo.causal.agency/2024-10-27/film
new file mode 100644
index 00000000..ad59eb5e
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-27/film
@@ -0,0 +1 @@
+Reflx Lab 800T
diff --git a/www/photo.causal.agency/2024-10-27/lens b/www/photo.causal.agency/2024-10-27/lens
new file mode 100644
index 00000000..d1617296
--- /dev/null
+++ b/www/photo.causal.agency/2024-10-27/lens
@@ -0,0 +1 @@
+Pentacon 50mm ƒ/1.8
diff --git a/www/photo.causal.agency/2024-11-02/body b/www/photo.causal.agency/2024-11-02/body
new file mode 100644
index 00000000..6a2a5ad8
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-02/body
@@ -0,0 +1 @@
+Yashica FX-2
diff --git a/www/photo.causal.agency/2024-11-02/film b/www/photo.causal.agency/2024-11-02/film
new file mode 100644
index 00000000..cea1eb40
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-02/film
@@ -0,0 +1 @@
+Kodak Portra 800 (shot at 1600)
diff --git a/www/photo.causal.agency/2024-11-02/lens b/www/photo.causal.agency/2024-11-02/lens
new file mode 100644
index 00000000..13f1fc49
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-02/lens
@@ -0,0 +1 @@
+Yashica DSB 50mm ƒ/1.9
diff --git a/www/photo.causal.agency/2024-11-06/body b/www/photo.causal.agency/2024-11-06/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-06/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2024-11-06/film b/www/photo.causal.agency/2024-11-06/film
new file mode 100644
index 00000000..7c8bf080
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-06/film
@@ -0,0 +1 @@
+Shanghai Color 400
diff --git a/www/photo.causal.agency/2024-11-06/lens b/www/photo.causal.agency/2024-11-06/lens
new file mode 100644
index 00000000..f4270bba
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-06/lens
@@ -0,0 +1 @@
+Yashica ML 50mm ƒ/2
diff --git a/www/photo.causal.agency/2024-11-09/body b/www/photo.causal.agency/2024-11-09/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-09/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2024-11-09/film b/www/photo.causal.agency/2024-11-09/film
new file mode 100644
index 00000000..fb690ad8
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-09/film
@@ -0,0 +1 @@
+Fomapan Creative 200
diff --git a/www/photo.causal.agency/2024-11-09/lens b/www/photo.causal.agency/2024-11-09/lens
new file mode 100644
index 00000000..f4270bba
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-09/lens
@@ -0,0 +1 @@
+Yashica ML 50mm ƒ/2
diff --git a/www/photo.causal.agency/2024-11-12/body b/www/photo.causal.agency/2024-11-12/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-12/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2024-11-12/film b/www/photo.causal.agency/2024-11-12/film
new file mode 100644
index 00000000..cf9df85c
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-12/film
@@ -0,0 +1 @@
+Flic Film Elektra 100 (Kodak Aerocolor IV)
diff --git a/www/photo.causal.agency/2024-11-12/lens b/www/photo.causal.agency/2024-11-12/lens
new file mode 100644
index 00000000..31116f95
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-12/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm ƒ/1.7
diff --git a/www/photo.causal.agency/2024-11-16/body b/www/photo.causal.agency/2024-11-16/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-16/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2024-11-16/film b/www/photo.causal.agency/2024-11-16/film
new file mode 100644
index 00000000..c0f6ee30
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-16/film
@@ -0,0 +1 @@
+Flic Film Elektra 100 (Kodak Aerocolor IV), Harman Phoenix 200
diff --git a/www/photo.causal.agency/2024-11-16/lens b/www/photo.causal.agency/2024-11-16/lens
new file mode 100644
index 00000000..31116f95
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-16/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm ƒ/1.7
diff --git a/www/photo.causal.agency/2024-11-18/body b/www/photo.causal.agency/2024-11-18/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-18/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2024-11-18/film b/www/photo.causal.agency/2024-11-18/film
new file mode 100644
index 00000000..ada88ac3
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-18/film
@@ -0,0 +1 @@
+Ferrania P30
diff --git a/www/photo.causal.agency/2024-11-18/lens b/www/photo.causal.agency/2024-11-18/lens
new file mode 100644
index 00000000..31116f95
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-18/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm ƒ/1.7
diff --git a/www/photo.causal.agency/2024-11-23/body b/www/photo.causal.agency/2024-11-23/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-23/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2024-11-23/film b/www/photo.causal.agency/2024-11-23/film
new file mode 100644
index 00000000..d198f26d
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-23/film
@@ -0,0 +1 @@
+Ferrania P33
diff --git a/www/photo.causal.agency/2024-11-23/lens b/www/photo.causal.agency/2024-11-23/lens
new file mode 100644
index 00000000..f4270bba
--- /dev/null
+++ b/www/photo.causal.agency/2024-11-23/lens
@@ -0,0 +1 @@
+Yashica ML 50mm ƒ/2
diff --git a/www/photo.causal.agency/2024-12-21/body b/www/photo.causal.agency/2024-12-21/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2024-12-21/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2024-12-21/film b/www/photo.causal.agency/2024-12-21/film
new file mode 100644
index 00000000..fb690ad8
--- /dev/null
+++ b/www/photo.causal.agency/2024-12-21/film
@@ -0,0 +1 @@
+Fomapan Creative 200
diff --git a/www/photo.causal.agency/2024-12-21/lens b/www/photo.causal.agency/2024-12-21/lens
new file mode 100644
index 00000000..3bee8822
--- /dev/null
+++ b/www/photo.causal.agency/2024-12-21/lens
@@ -0,0 +1 @@
+Yashica ML 50mm ƒ/2, Yashica DSB 28mm ƒ/2.8
diff --git a/www/photo.causal.agency/2024-12-28/body b/www/photo.causal.agency/2024-12-28/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2024-12-28/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2024-12-28/film b/www/photo.causal.agency/2024-12-28/film
new file mode 100644
index 00000000..ad59eb5e
--- /dev/null
+++ b/www/photo.causal.agency/2024-12-28/film
@@ -0,0 +1 @@
+Reflx Lab 800T
diff --git a/www/photo.causal.agency/2024-12-28/lens b/www/photo.causal.agency/2024-12-28/lens
new file mode 100644
index 00000000..a64ba4b7
--- /dev/null
+++ b/www/photo.causal.agency/2024-12-28/lens
@@ -0,0 +1 @@
+Yashica DSB 28mm f/2.8
diff --git a/www/photo.causal.agency/2025-01-18/body b/www/photo.causal.agency/2025-01-18/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2025-01-18/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2025-01-18/film b/www/photo.causal.agency/2025-01-18/film
new file mode 100644
index 00000000..c20afa1a
--- /dev/null
+++ b/www/photo.causal.agency/2025-01-18/film
@@ -0,0 +1 @@
+Reflx Lab 400D
diff --git a/www/photo.causal.agency/2025-01-18/lens b/www/photo.causal.agency/2025-01-18/lens
new file mode 100644
index 00000000..10ce84b5
--- /dev/null
+++ b/www/photo.causal.agency/2025-01-18/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7, Yashica DSB 135mm f/2.8
diff --git a/www/photo.causal.agency/2025-01-26/body b/www/photo.causal.agency/2025-01-26/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2025-01-26/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2025-01-26/film b/www/photo.causal.agency/2025-01-26/film
new file mode 100644
index 00000000..0d5a24a4
--- /dev/null
+++ b/www/photo.causal.agency/2025-01-26/film
@@ -0,0 +1 @@
+Street Candy ATM400
diff --git a/www/photo.causal.agency/2025-01-26/lens b/www/photo.causal.agency/2025-01-26/lens
new file mode 100644
index 00000000..eaab4375
--- /dev/null
+++ b/www/photo.causal.agency/2025-01-26/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7
diff --git a/www/photo.causal.agency/2025-02-08/body b/www/photo.causal.agency/2025-02-08/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2025-02-08/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2025-02-08/film b/www/photo.causal.agency/2025-02-08/film
new file mode 100644
index 00000000..6b8ba9dc
--- /dev/null
+++ b/www/photo.causal.agency/2025-02-08/film
@@ -0,0 +1 @@
+Kodak Portra 800
diff --git a/www/photo.causal.agency/2025-02-08/lens b/www/photo.causal.agency/2025-02-08/lens
new file mode 100644
index 00000000..08cc1075
--- /dev/null
+++ b/www/photo.causal.agency/2025-02-08/lens
@@ -0,0 +1 @@
+Yashica ML 42-75mm f/3.5-4.5
diff --git a/www/photo.causal.agency/2025-02-11/body b/www/photo.causal.agency/2025-02-11/body
new file mode 100644
index 00000000..1828b2a2
--- /dev/null
+++ b/www/photo.causal.agency/2025-02-11/body
@@ -0,0 +1 @@
+Zenit-122
diff --git a/www/photo.causal.agency/2025-02-11/film b/www/photo.causal.agency/2025-02-11/film
new file mode 100644
index 00000000..fb690ad8
--- /dev/null
+++ b/www/photo.causal.agency/2025-02-11/film
@@ -0,0 +1 @@
+Fomapan Creative 200
diff --git a/www/photo.causal.agency/2025-02-11/lens b/www/photo.causal.agency/2025-02-11/lens
new file mode 100644
index 00000000..25cae06f
--- /dev/null
+++ b/www/photo.causal.agency/2025-02-11/lens
@@ -0,0 +1 @@
+Helios-44M-5 58mm f/2
diff --git a/www/photo.causal.agency/2025-02-17/body b/www/photo.causal.agency/2025-02-17/body
new file mode 100644
index 00000000..1828b2a2
--- /dev/null
+++ b/www/photo.causal.agency/2025-02-17/body
@@ -0,0 +1 @@
+Zenit-122
diff --git a/www/photo.causal.agency/2025-02-17/film b/www/photo.causal.agency/2025-02-17/film
new file mode 100644
index 00000000..8cf5c5b8
--- /dev/null
+++ b/www/photo.causal.agency/2025-02-17/film
@@ -0,0 +1 @@
+Fomapan Classic 100
diff --git a/www/photo.causal.agency/2025-02-17/lens b/www/photo.causal.agency/2025-02-17/lens
new file mode 100644
index 00000000..25cae06f
--- /dev/null
+++ b/www/photo.causal.agency/2025-02-17/lens
@@ -0,0 +1 @@
+Helios-44M-5 58mm f/2
diff --git a/www/photo.causal.agency/2025-02-23/body b/www/photo.causal.agency/2025-02-23/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2025-02-23/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2025-02-23/film b/www/photo.causal.agency/2025-02-23/film
new file mode 100644
index 00000000..75a90c86
--- /dev/null
+++ b/www/photo.causal.agency/2025-02-23/film
@@ -0,0 +1 @@
+Ilford FP4 Plus 125
diff --git a/www/photo.causal.agency/2025-02-23/lens b/www/photo.causal.agency/2025-02-23/lens
new file mode 100644
index 00000000..eaab4375
--- /dev/null
+++ b/www/photo.causal.agency/2025-02-23/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7
diff --git a/www/photo.causal.agency/2025-02-25/body b/www/photo.causal.agency/2025-02-25/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2025-02-25/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2025-02-25/film b/www/photo.causal.agency/2025-02-25/film
new file mode 100644
index 00000000..ea743873
--- /dev/null
+++ b/www/photo.causal.agency/2025-02-25/film
@@ -0,0 +1 @@
+Flic Film Elektra (Kodak Aerocolor)
diff --git a/www/photo.causal.agency/2025-02-25/lens b/www/photo.causal.agency/2025-02-25/lens
new file mode 100644
index 00000000..033bc748
--- /dev/null
+++ b/www/photo.causal.agency/2025-02-25/lens
@@ -0,0 +1 @@
+Yashica ML 50mm f/2
diff --git a/www/photo.causal.agency/2025-03-15/body b/www/photo.causal.agency/2025-03-15/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-15/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2025-03-15/film b/www/photo.causal.agency/2025-03-15/film
new file mode 100644
index 00000000..58e2f25c
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-15/film
@@ -0,0 +1 @@
+Kodak Ektar 100, Shanghai Color 400
diff --git a/www/photo.causal.agency/2025-03-15/lens b/www/photo.causal.agency/2025-03-15/lens
new file mode 100644
index 00000000..eaab4375
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-15/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7
diff --git a/www/photo.causal.agency/2025-03-16/body b/www/photo.causal.agency/2025-03-16/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-16/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2025-03-16/film b/www/photo.causal.agency/2025-03-16/film
new file mode 100644
index 00000000..c2518f1e
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-16/film
@@ -0,0 +1 @@
+Shanghai Color 400, Fomapan Creative 200
diff --git a/www/photo.causal.agency/2025-03-16/lens b/www/photo.causal.agency/2025-03-16/lens
new file mode 100644
index 00000000..eaab4375
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-16/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7
diff --git a/www/photo.causal.agency/2025-03-18/body b/www/photo.causal.agency/2025-03-18/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-18/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2025-03-18/film b/www/photo.causal.agency/2025-03-18/film
new file mode 100644
index 00000000..fb690ad8
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-18/film
@@ -0,0 +1 @@
+Fomapan Creative 200
diff --git a/www/photo.causal.agency/2025-03-18/lens b/www/photo.causal.agency/2025-03-18/lens
new file mode 100644
index 00000000..eaab4375
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-18/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7
diff --git a/www/photo.causal.agency/2025-03-19/body b/www/photo.causal.agency/2025-03-19/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-19/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2025-03-19/film b/www/photo.causal.agency/2025-03-19/film
new file mode 100644
index 00000000..ada88ac3
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-19/film
@@ -0,0 +1 @@
+Ferrania P30
diff --git a/www/photo.causal.agency/2025-03-19/lens b/www/photo.causal.agency/2025-03-19/lens
new file mode 100644
index 00000000..eaab4375
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-19/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7
diff --git a/www/photo.causal.agency/2025-03-22/body b/www/photo.causal.agency/2025-03-22/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-22/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2025-03-22/film b/www/photo.causal.agency/2025-03-22/film
new file mode 100644
index 00000000..618ed9ba
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-22/film
@@ -0,0 +1 @@
+Ferrania P30, Shanghai GP3 100, AristaEDU Ultra 400
diff --git a/www/photo.causal.agency/2025-03-22/lens b/www/photo.causal.agency/2025-03-22/lens
new file mode 100644
index 00000000..eaab4375
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-22/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7
diff --git a/www/photo.causal.agency/2025-03-23/body b/www/photo.causal.agency/2025-03-23/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-23/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/2025-03-23/film b/www/photo.causal.agency/2025-03-23/film
new file mode 100644
index 00000000..0352ae38
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-23/film
@@ -0,0 +1 @@
+Fujifilm Acros 100 II, Rollei Superpan 200
diff --git a/www/photo.causal.agency/2025-03-23/lens b/www/photo.causal.agency/2025-03-23/lens
new file mode 100644
index 00000000..eaab4375
--- /dev/null
+++ b/www/photo.causal.agency/2025-03-23/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7
diff --git a/www/photo.causal.agency/c35/body b/www/photo.causal.agency/c35/body
new file mode 100644
index 00000000..3676b877
--- /dev/null
+++ b/www/photo.causal.agency/c35/body
@@ -0,0 +1 @@
+Konica C35 Automatic
diff --git a/www/photo.causal.agency/c35/lens b/www/photo.causal.agency/c35/lens
new file mode 100644
index 00000000..3fef9a43
--- /dev/null
+++ b/www/photo.causal.agency/c35/lens
@@ -0,0 +1 @@
+Konica Hexanon 38mm f/2.8
diff --git a/www/photo.causal.agency/fx-3/body b/www/photo.causal.agency/fx-3/body
new file mode 100644
index 00000000..0962ee7d
--- /dev/null
+++ b/www/photo.causal.agency/fx-3/body
@@ -0,0 +1 @@
+Yashica FX-3
diff --git a/www/photo.causal.agency/fx-3/lens b/www/photo.causal.agency/fx-3/lens
new file mode 100644
index 00000000..eaab4375
--- /dev/null
+++ b/www/photo.causal.agency/fx-3/lens
@@ -0,0 +1 @@
+Carl Zeiss Planar T* 50mm f/1.7
diff --git a/www/photo.causal.agency/gear.html b/www/photo.causal.agency/gear.html
new file mode 100644
index 00000000..e058d341
--- /dev/null
+++ b/www/photo.causal.agency/gear.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<title>Photography Equipment</title>
+<style>
+html { color: #bbb; background-color: black; font-family: monospace; }
+body { max-width: 76ch; margin: auto; }
+</style>
+
+<h1>Photography Equipment</h1>
+<p>
+this is a (probably incomplete) list of equipment I use to Do Photography.
+
+<h2>Cameras</h2>
+<ul>
+<li>Yashica FX-3 (every day)
+<li>Konica C35 Automatic (Hexanon 38mm f/2.8) (every day)
+<li>Praktica MTL3 (probably on loan to a friend)
+<li>Zenit-122
+<li>Yashica FX-2
+</ul>
+
+<h2>Lenses</h2>
+<ul>
+<li>Carl Zeis Planar T* 50mm f/1.7 (FX-3 default)
+<li>Yashica DSB 50mm f/1.9 (FX-2 kit lens)
+<li>Helios-44M-5 58mm f/2 (Zenit-122 kit lens)
+<li>Pentacon 50mm f/1.8 (MTL3 kit lens)
+<li>Osawa MC 70-210mm f/4-5 (C/Y)
+<li>Takumar SMC 35mm f/3.5
+<li>Super-Takumar 135mm f/3.5
+<li>Yashica ML 28-85mm f/3.5-4.5 (wonky focus at 28mm)
+<li>Yashica ML 42-75mm f/3.5-4.5
+<li>Yashica MC 35-70mm f/3.5-4.5 (bad aperture)
+<li>Yashica ML 50mm f/2 (sticky aperture)
+<li>Yashica DSB 28mm f/2.8
+<li>Yashica DSB 135mm f/2.8
+<li>Yashica ML Macro 55mm f/2.8
+<li>Yashica ML 28mm f/2.8
+<li>Yashica ML 75-150mm f/4
+</ul>
+
+<h2>Flash</h2>
+<ul>
+<li>Reflx Lab Simple Flash
+<li>Starblitz 318M
+</ul>
+
+<h2>Tripod</h2>
+<ul>
+<li>Sirui Traveler 5C
+</ul>
+
+<h2>Scanning</h2>
+<ul>
+<li>Filmomat SmartConvert
+<li>Canon EOS Rebel SL3
+<li>Yashica ML Macro 55mm f/2.8 (at f/11)
+<li>Yashica 13mm extension tube (also have 20mm and 27mm)
+<li>Urth C/Y-EF adapter
+<li>Skier CS-700 copy stand
+<li>Valoi 135 film holder
+<li>CineStill CS-Lite
+<li>the box the CS-Lite came in
+</ul>
diff --git a/www/photo.causal.agency/generate.sh b/www/photo.causal.agency/generate.sh
index 26279229..83a3128b 100644
--- a/www/photo.causal.agency/generate.sh
+++ b/www/photo.causal.agency/generate.sh
@@ -35,23 +35,36 @@ encode() {
 }
 
 page_title() {
-	date -j -f '%F' $1 '+%B %e, %Y'
+	case $1 in
+		(leader) echo 'Film Leader';;
+		(20*) date -j -f '%F' $1 '+%B %e, %Y';;
+		(0*) echo Roll $(dc -e "${1}p");;
+	esac
 }
 
 page_head() {
-	local date=$1
-	local title=$(page_title $date)
-	local body lens film
+	local page=$1
+	local title=$(page_title $page)
+	local date body lens film note
 
-	if test -f $date/body; then
-		body=$(encode $date/body)
+	if test -f $page/date; then
+		date=$(sed 's/\([0-9]\)-\([0-9]\)/\1–\2/g' $page/date | encode)
+	fi
+	if test -f $page/body; then
+		body=$(encode $page/body)
 	fi
-	if test -f $date/lens; then
-		lens=$(encode $date/lens)
+	if test -f $page/lens; then
+		lens=$(
+			sed '
+				s,f/,ƒ/,g
+				s/\([0-9]\)-\([0-9]\)/\1–\2/g
+			' $page/lens |
+			encode
+		)
 	else
 		lens=$(
 			identify -format '%[EXIF:LensModel]' \
-				$date/$(ls -1 $date | head -n 1) 2>/dev/null |
+				$page/$(ls -1 $page | head -n 1) 2>/dev/null |
 			sed '
 				s/\([A-Z]\)\([0-9]\)/\1 \2/
 				s,f/,ƒ/,
@@ -60,8 +73,11 @@ page_head() {
 			encode
 		)
 	fi
-	if test -f $date/film; then
-		film=$(encode $date/film)
+	if test -f $page/film; then
+		film=$(encode $page/film)
+	fi
+	if test -f $page/note; then
+		note=$(encode $page/note)
 	fi
 
 	cat <<-EOF
@@ -78,7 +94,8 @@ page_head() {
 	details { max-width: 78ch; margin: 0.5em auto; }
 	</style>
 	<h1>${title}</h1>
-	<p>📷 ${body:-}${body:+ · }${lens}${film:+ 🎞️ }${film:-}</p>
+	<p>${date:+📆 }${date:-} 📷 ${body:-}${body:+ 🔘 }${lens:-}${film:+ 🎞️ }${film:-}</p>
+	${note:+<p>}${note:-}${note:+</p>}
 	EOF
 }
 
@@ -104,14 +121,21 @@ photo_id() {
 
 page_photo() {
 	local photo=$1 preview=$2 description=$3
-	if ! test -f $description; then
-		description=/dev/null
-	fi
 	photo_info $photo
 	cat <<-EOF
 	<figure id="$(photo_id $photo)">
 		<a href="${photo##*/}">
+	EOF
+	if test -f $description; then
+		cat <<-EOF
 			<img src="../${preview}" alt="$(encode $description)">
+		EOF
+	else
+		cat <<-EOF
+			<img src="../${preview}">
+		EOF
+	fi
+	cat <<-EOF
 		</a>
 		<figcaption>
 	EOF
@@ -123,11 +147,15 @@ page_photo() {
 			${PhotographicSensitivity} ISO
 		EOF
 	fi
-	cat <<-EOF
+	if test -f $description; then
+		cat <<-EOF
 			<details>
 				<summary>description</summary>
 				$(encode $description)
 			</details>
+		EOF
+	fi
+	cat <<-EOF
 		</figcaption>
 	</figure>
 	EOF
@@ -208,13 +236,13 @@ atom_tail() {
 }
 
 set --
-for date in 20*; do
-	mkdir -p static/${date}
-	page=static/${date}/index.html
+for entry in 20* 0*; do
+	mkdir -p static/${entry}
+	page=static/${entry}/index.html
 	if ! test -f $page; then
 		echo $page >&2
-		page_head $date >$page
-		for photo in ${date}/*.[Jj][Pp][Gg]; do
+		page_head $entry >$page
+		for photo in ${entry}/*.[Jj][Pp][Gg]; do
 			preview=$(preview $photo)
 			if ! test -f static/${photo}; then
 				ln $photo static/${photo}
@@ -222,9 +250,23 @@ for date in 20*; do
 			page_photo $photo $preview ${photo%.[Jj][Pp][Gg]}.txt >>$page
 		done
 	fi
-	set -- $date "$@"
+	set -- $entry "$@"
 done
 
+mkdir -p static/leader
+page=static/leader/index.html
+if [ leader -nt $page ]; then
+	echo $page >&2
+	page_head leader >$page
+	for photo in leader/*.[Jj][Pp][Gg]; do
+		preview=$(preview $photo)
+		if ! test -f static/${photo}; then
+			ln $photo static/${photo}
+		fi
+		page_photo $photo $preview xxx >>$page
+	done
+fi
+
 echo static/index.html >&2
 index_head >static/index.html
 echo static/feed.atom >&2
diff --git a/www/photo.causal.agency/mastodon.sh b/www/photo.causal.agency/mastodon.sh
new file mode 100644
index 00000000..1eaa1114
--- /dev/null
+++ b/www/photo.causal.agency/mastodon.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+set -eu
+
+Instance=https://tilde.zone
+Root=${1:-static}
+
+if ! test -f app.json; then
+	echo 'No app.json!' >&2
+	exit 1
+fi
+chmod 600 app.json
+
+if ! test -f token.json; then
+	client_id=$(jq -r .client_id app.json)
+	client_secret=$(jq -r .client_secret app.json)
+	echo "Please open ${Instance}/oauth/authorize?client_id=${client_id}&scope=write&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code"
+	printf 'Enter code: '
+	read -r code
+	curl -Ss -X POST \
+		-F 'grant_type=authorization_code' \
+		-F "client_id=${client_id}" \
+		-F "client_secret=${client_secret}" \
+		-F 'redirect_uri=urn:ietf:wg:oauth:2.0:oob' \
+		-F "code=${code}" \
+		${Instance}/oauth/token >token.json
+fi
+chmod 600 token.json
+
+access_token=$(jq -r .access_token token.json)
+
+if ! test -f posted.txt; then
+	touch posted.txt
+fi
+
+photo=$(
+	find ${Root} -type f -path '*/0*/*.jpg' |
+	sort | comm -13 posted.txt - | head -n 1
+)
+preview=${Root}/preview/${photo##*/}
+
+media_id=$(
+	curl -Ss -X POST \
+		-H "Authorization: Bearer ${access_token}" \
+		-F "file=@${preview}" \
+		${Instance}/api/v2/media |
+	jq -r .id
+)
+
+curl -Ss -X POST \
+	-H "Authorization: Bearer ${access_token}" \
+	-F "media_ids[]=${media_id}" \
+	${Instance}/api/v1/statuses >/dev/null
+
+echo ${photo} >>posted.txt
diff --git a/www/photo.causal.agency/trips.html b/www/photo.causal.agency/trips.html
index 2adf3a71..d65aeaef 100644
--- a/www/photo.causal.agency/trips.html
+++ b/www/photo.causal.agency/trips.html
@@ -32,15 +32,28 @@ input[type="number"] { width: 5ch; }
 </select>
 <label for="roll-film">Film:</label>
 <input id="roll-film" list="films" required>
+<span>Exposures:</span>
+<span>
+<input id="roll-36" type="radio" name="roll-exposures" value="36" checked>
+<label for="roll-36">36</label>
+<input id="roll-27" type="radio" name="roll-exposures" value="27">
+<label for="roll-27">27</label>
+<input id="roll-24" type="radio" name="roll-exposures" value="24">
+<label for="roll-24">24</label>
+<input id="roll-12" type="radio" name="roll-exposures" value="12">
+<label for="roll-12">12</label>
+</span>
 <button type="button" onclick="loadRoll()">Load</button>
 </form>
 
 <datalist id="films">
+	<option>Ferrania P30 80</option>
+	<option>Flic Film Elektra 100</option>
+	<option>Ilford FP4 Plus 125</option>
+	<option>Fomapan Creative 200</option>
 	<option>Harman Phoenix 200</option>
-	<option>Ilford HP5 Plus 400</option>
 	<option>Shanghai Color 400</option>
-	<option>Fomapan Creative 200</option>
-	<option>Fomapan Action 400</option>
+	<option>Reflx Lab 800T</option>
 </datalist>
 </section>
 
@@ -205,8 +218,9 @@ function setTrips() {
 		rollB.appendChild(document.createTextNode(rollTrips[0].film));
 		rollLi.appendChild(rollB);
 		rollLi.appendChild(document.createTextNode(` (${rollTrips[0].body})`));
+		let body = bodies.find(body => body.name == rollTrips[0].body);
 		let rollUl = document.createElement("ul");
-		for (let trip of rollTrips) {
+		for (let [index, trip] of rollTrips.entries()) {
 			let li = document.createElement("li");
 			let b = document.createElement("b");
 			b.appendChild(document.createTextNode(trip.date));
@@ -214,8 +228,13 @@ function setTrips() {
 			li.appendChild(document.createTextNode(
 				`: ${trip.firstExposure}–${trip.lastExposure}`
 			));
-			li.appendChild(document.createElement("br"));
-			li.appendChild(document.createTextNode(trip.lens));
+			if (
+				body.mount != body.name &&
+				(!index || trip.lens != rollTrips[index-1].lens)
+			) {
+				li.appendChild(document.createElement("br"));
+				li.appendChild(document.createTextNode(trip.lens));
+			}
 			if (trip.note) {
 				li.appendChild(document.createElement("br"));
 				li.appendChild(document.createTextNode(`“${trip.note}”`));
@@ -238,6 +257,10 @@ function setTripBody() {
 		option.appendChild(document.createTextNode(lensString(lens)));
 		select.appendChild(option);
 	}
+	let lastTrip = trips.findLast(trip => trip.body == bodyName);
+	if (lastTrip) {
+		select.value = lastTrip.lens;
+	}
 	let roll = rolls[body.name];
 	if (roll) {
 		document.getElementById("trip-film").value = roll.film;
@@ -255,6 +278,7 @@ setTripBody();
 function clearForm(form) {
 	let inputs = form.querySelectorAll("input");
 	for (input of inputs) {
+		if (input.type == "radio") continue;
 		input.value = null;
 	}
 }
@@ -307,7 +331,8 @@ function loadRoll() {
 	if (!form.checkValidity()) return;
 	let body = document.getElementById("roll-body").value;
 	let film = document.getElementById("roll-film").value;
-	rolls[body] = { id: nextId++, film, used: 0, exposures: 36 };
+	let exposures = +new FormData(form).get("roll-exposures");
+	rolls[body] = { id: nextId++, film, exposures, used: 0 };
 	localStorage.setItem("nextId", nextId);
 	setRolls();
 	clearForm(form);
diff --git a/www/text.causal.agency/044-film-review.7 b/www/text.causal.agency/044-film-review.7
new file mode 100644
index 00000000..8e8feca8
--- /dev/null
+++ b/www/text.causal.agency/044-film-review.7
@@ -0,0 +1,208 @@
+.Dd October 12, 2024
+.Dt FILM-REVIEW 7
+.Os "Causal Agency"
+.
+.Sh NAME
+.Nm film review
+.Nd stock, that is
+.
+.Sh DESCRIPTION
+this summer I got really into analog photography.
+I've tried out a bunch of different film stocks,
+thanks to the local photo lab,
+and I've
+.Em developed
+(pun intended)
+some preferences.
+here they are.
+.
+.Sh BLACK & WHITE
+.Bl -enum
+.It
+Ilford FP4+ (ISO 125, United Kingdom)
+.Pp
+definitely my favourite b&w film.
+I love the fine grain and contrast
+with good shadow detail.
+really just exactly what I want
+out of a b&w film I think.
+ISO 125 is quite generous for what it is,
+but it's still best suited for sunny days.
+.Pp
+sample:
+.Lk https://photo.causal.agency/2024-09-29/
+.
+.It
+Fomapan Creative (ISO 200, Czech Republic)
+.Pp
+I've only shot one roll of this so far,
+but I really like the balance it strikes
+between fine grain and high speed.
+it just seems like a good go-to film
+for what I like to do with b&w photography,
+given the extra flexibility over FP4.
+.Pp
+sample:
+.Lk https://photo.causal.agency/2024-09-14/
+.
+.It
+Ferrania P30 (ISO 80, Italy)
+.Pp
+another that I've only shot one roll of,
+but I really like the results.
+obviously it swings in the other direction
+in terms of film sensitivity,
+but more importantly
+it has a distinctive look.
+that's harder in b&w than it is in colour!
+.Pp
+sample:
+.Lk https://photo.causal.agency/2024-10-05/
+.
+.It
+Ilford Delta 100 (United Kingdom)
+.Pp
+as far as I'm concerned this is just more expensive FP4.
+it certainly looks good
+but I'd rather save the couple extra dollars.
+.Pp
+sample:
+.Lk https://photo.causal.agency/2024-09-22/
+.
+.It
+Ilford HP5+ (ISO 400, United Kingdom)
+.Pp
+it's like, ok.
+more grainy than I'd like,
+but that's to be expected of high speed.
+my real problem with it
+is the lack of contrast.
+maybe I should only be shooting it pushed,
+but I don't want to pay the extra fee
+to have my local photo lab do that.
+.Pp
+sample:
+.Lk https://photo.causal.agency/2024-09-07/
+.
+.It
+Fomapan Action (ISO 400, Czech Republic)
+.Pp
+I almost wonder if something went wrong
+either in shooting or processing
+the one roll of this I shot.
+everything came out very low contrast.
+.Pp
+sample:
+I didn't end up uploading any.
+.El
+.
+.Sh COLOUR
+.Bl -enum
+.It
+Shanghai Color (ISO 400, China)
+.Pp
+I love the desaturated colours
+and the grain on this.
+I guess I like fine grain in b&w
+and coarse grain in colour.
+I think this is well suited
+to the subjects I like to photograph,
+like old brick buildings,
+but it also does nature quite nicely.
+I think this will be a good one to capture fall with.
+.Pp
+ok so this is almost certainly repackaged
+Wolfen Color NC500
+(made in germany).
+but the thing is,
+shanghai does a better job packaging it.
+they use real metal cassettes
+and add film edge markings.
+and their box design is way nicer.
+and on top of THAT,
+my local photo lab
+sells it for cheaper than NC500.
+.Pp
+sample:
+.Lk https://photo.causal.agency/2024-09-22/
+.
+.It
+Harman Phoenix (ISO 200, United Kingdom)
+.Pp
+phoenix is a fun film!
+the lack of yellow filter
+and anti-halation layer
+can produce some neat effects.
+in the right conditions
+it also sometimes looks exceedingly normal.
+but it also sometimes just...
+doesn't work well.
+underexposed areas can get really bad.
+apparently it can be better to shoot it at ISO 100.
+I should give that a try,
+or just be more diligent with
+how I'm metering.
+.Pp
+sample:
+.Lk https://photo.causal.agency/2024-08-10/
+.
+.It
+CineStill 800T (USA?)
+.Pp
+I can't really say much about this yet.
+I don't have much experience with indoor photography.
+the lack of anti-halation layer
+does tend to make lights look sinister as hell, though.
+I'll probably shoot
+one of the cheaper repackagings
+of ISO 800 cinema film
+in the future.
+.Pp
+sample:
+.Lk https://photo.causal.agency/2024-10-06/
+.
+.It
+Film Washi
+.Dq X
+(ISO 100, France)
+.Pp
+this is mostly pretty normal film
+without a yellow filter.
+not much to say about it.
+I'd be more interested to try washi's
+other repackaged b&w technical films,
+but I think I missed them being in stock here.
+.Pp
+sample:
+.Lk https://photo.causal.agency/2024-08-23/
+.
+.It
+Fujifilm 400 (Japan?)
+.Pp
+I shot my two first ever rolls on this.
+they were surprisingly good!
+the scans did the film dirty though.
+that was before I found the good photo lab.
+.
+.It
+Kodak Gold (ISO 200, USA)
+.Pp
+ok so this is a cheap film, right?
+but it's too damn good.
+fine grain, accurate colour.
+it looks like digital to me,
+and that's not what I want.
+even fuji has a little more character to it than this.
+puts me off kodak.
+.Pp
+sample:
+.Lk https://photo.causal.agency/2024-07-01/
+.El
+.
+.Sh AUTHORS
+.An Juniper Aq Mt june@causal.agency
+.
+.Pp
+if you have suggestions
+for film stocks I should try,
+send me an email.
diff --git a/www/text.causal.agency/Makefile b/www/text.causal.agency/Makefile
index a8683a20..6b1bd02f 100644
--- a/www/text.causal.agency/Makefile
+++ b/www/text.causal.agency/Makefile
@@ -43,6 +43,7 @@ TXTS += 040-sound-memory.txt
 TXTS += 041-albums-2022.txt
 TXTS += 042-comfort-music.txt
 TXTS += 043-little-blessings.txt
+TXTS += 044-film-review.txt
 
 all: colb ${TXTS}