From 3c588cb48d4d3026c8a00faa8732c0655328e63c Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Fri, 2 Oct 2026 10:33:53 +0200 Subject: * MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Automated-commit-by: commitall Signed-off-by: Robert Günzler --- Caddyfile | 53 - Caddyfile.valid_paths | 9 - humans.txt | 17 - index.html | 58 - links | 1 + links/hero.css | 89 - links/main.css | 527 - links/~ssh | 16 - makefile | 2 +- map/controls.js | 39 - map/index.html | 18 - map/main.js | 284 - map/style.css | 28 - media | 1 + media/content/2025/apr-train.jpg | Bin 46464 -> 0 bytes media/content/2025/jan-sky.jpg | Bin 18316 -> 0 bytes media/content/2025/jul-beer.jpg | Bin 43706 -> 0 bytes media/content/2025/jul-tueb.jpg | Bin 70867 -> 0 bytes media/content/2025/mar-cistern.jpg | Bin 60862 -> 0 bytes media/content/2025/mar-istanbul.jpg | Bin 28950 -> 0 bytes media/content/2025/may-coffee.jpg | Bin 28785 -> 0 bytes media/content/2025/may-rays.jpg | Bin 57628 -> 0 bytes media/content/2025/oct-baumk.jpg | Bin 82880 -> 0 bytes media/content/2025/oct-bbahv.jpg | Bin 44788 -> 0 bytes media/content/2025/sep-han.jpg | Bin 67777 -> 0 bytes media/content/about/me.jpg | Bin 90580 -> 0 bytes media/content/cv.pdf | Bin 25242 -> 0 bytes media/content/like/sakura.jpg | Bin 217407 -> 0 bytes media/content/photos/be-anti.jpg | Bin 15009 -> 0 bytes media/content/photos/be-late-summer.jpg | Bin 47561 -> 0 bytes media/content/photos/br-arch.jpg | Bin 52084 -> 0 bytes media/content/photos/br-ferris.jpg | Bin 30970 -> 0 bytes media/content/photos/br-grilled-cheese.jpg | Bin 23213 -> 0 bytes media/content/photos/de-traindoor.jpg | Bin 26531 -> 0 bytes media/content/photos/is-dew.jpg | Bin 46112 -> 0 bytes media/content/photos/is-figures.jpg | Bin 19715 -> 0 bytes media/content/photos/jp-gradient.jpg | Bin 35478 -> 0 bytes media/content/photos/jp-mirror-1.jpg | Bin 53220 -> 0 bytes media/content/photos/jp-sakura.jpg | Bin 70784 -> 0 bytes media/content/photos/kr-birches.jpg | Bin 72561 -> 0 bytes media/content/photos/kr-fog.jpg | Bin 29307 -> 0 bytes media/content/photos/kr-lamps.jpg | Bin 41668 -> 0 bytes media/content/photos/kr-moon.jpg | Bin 10485 -> 0 bytes media/content/photos/tr-boat.jpg | Bin 29165 -> 0 bytes media/content/photos/tr-hedge.jpg | Bin 55574 -> 0 bytes .../plan9-cursors/xcursor-plan9-preview.png | Bin 1329 -> 0 bytes media/content/read/alharthi_celestial.jpg | Bin 4950 -> 0 bytes media/content/read/atwood_testaments.jpg | Bin 5363 -> 0 bytes media/content/read/bradbury_martian.jpg | Bin 5094 -> 0 bytes media/content/read/broad_japan.jpg | Bin 6290 -> 0 bytes media/content/read/cronin_passage.jpg | Bin 6499 -> 0 bytes media/content/read/elgin_tongue.jpg | Bin 4701 -> 0 bytes media/content/read/gibson_neuromancer.jpg | Bin 6992 -> 0 bytes media/content/read/goenawan_miwako.jpg | Bin 6779 -> 0 bytes media/content/read/gould_jumper.jpg | Bin 5677 -> 0 bytes media/content/read/grrm_dunkegg.jpg | Bin 7066 -> 0 bytes media/content/read/grrm_fireblood.jpg | Bin 6780 -> 0 bytes media/content/read/hunt_thomas_pragprog.jpg | Bin 3966 -> 0 bytes media/content/read/kaestner_emil.jpg | Bin 6958 -> 0 bytes media/content/read/kawabata_snow.jpg | Bin 3226 -> 0 bytes media/content/read/kawakami_night.jpg | Bin 7521 -> 0 bytes media/content/read/kowalczuk_freiheit.jpg | Bin 4985 -> 0 bytes media/content/read/kuang_babel.jpg | Bin 6084 -> 0 bytes media/content/read/kutscher_stumme_tod.jpg | Bin 5693 -> 0 bytes media/content/read/lovecraft_madness.jpg | Bin 4199 -> 0 bytes media/content/read/mann_venedig.jpg | Bin 3932 -> 0 bytes media/content/read/miller_circe.jpg | Bin 9132 -> 0 bytes media/content/read/murakami_miso.jpg | Bin 6467 -> 0 bytes media/content/read/murata_convenience.jpg | Bin 4731 -> 0 bytes media/content/read/neuvel_only_human.jpg | Bin 4292 -> 0 bytes media/content/read/rek_devine_bears.jpg | Bin 2610 -> 0 bytes media/content/read/rek_devine_busy.jpg | Bin 2739 -> 0 bytes media/content/read/shea_illuminatus.jpg | Bin 6727 -> 0 bytes media/content/read/smith_shore.jpg | Bin 5813 -> 0 bytes media/content/read/stephenson_crash.jpg | Bin 6248 -> 0 bytes media/content/read/vonnegut_champions.jpg | Bin 5522 -> 0 bytes .../content/sony-wf1000xm3-battery/01_pry_open.jpg | Bin 31359 -> 0 bytes .../content/sony-wf1000xm3-battery/02_lid_off.jpg | Bin 31003 -> 0 bytes .../sony-wf1000xm3-battery/03_screws_out.jpg | Bin 26690 -> 0 bytes .../content/sony-wf1000xm3-battery/04_lift_top.jpg | Bin 61433 -> 0 bytes .../sony-wf1000xm3-battery/05_battery_out.jpg | Bin 51758 -> 0 bytes .../sony-wf1000xm3-battery/06_battery_in.jpg | Bin 39397 -> 0 bytes .../sony-wf1000xm3-battery/battery_comparison.jpg | Bin 94750 -> 0 bytes .../content/sony-wf1000xm3-battery/headphones.jpg | Bin 41946 -> 0 bytes media/content/unicode-range/after.jpg | Bin 6478 -> 0 bytes media/content/unicode-range/before.jpg | Bin 6534 -> 0 bytes media/interface/logo.svg | 411 - media/services/icon.png | Bin 15616 -> 0 bytes media/services/thumbnail.jpg | Bin 11198 -> 0 bytes robots.txt | 5 - site/2025.html | 82 +- site/2026.html | 39 +- site/404.html | 32 +- site/Caddyfile | 50 + site/about.html | 58 +- site/audio.html | 39 +- site/bts-rm-pre-debut.html | 32 +- site/bts-suga-pre-debut.html | 32 +- site/feed.txt | 4 +- site/gsix.html | 32 +- site/hokkaido.html | 39 +- site/humans.txt | 17 + site/ibaraki.html | 39 +- site/index.html | 59 + site/japan.html | 48 +- site/journal.html | 32 +- site/kamakura.html | 39 +- site/like.html | 45 +- site/links/hero.css | 89 + site/links/main.css | 541 + site/making-the-map.html | 32 +- site/map/assets/style.json | 12085 +++++++++++++++++++ site/map/controls.js | 39 + site/map/index.html | 18 + site/map/main.js | 284 + site/map/style.css | 28 + site/media/content/2025/apr-train.jpg | Bin 0 -> 46464 bytes site/media/content/2025/jan-sky.jpg | Bin 0 -> 18316 bytes site/media/content/2025/jul-beer.jpg | Bin 0 -> 43706 bytes site/media/content/2025/jul-tueb.jpg | Bin 0 -> 70867 bytes site/media/content/2025/mar-cistern.jpg | Bin 0 -> 60862 bytes site/media/content/2025/mar-istanbul.jpg | Bin 0 -> 28950 bytes site/media/content/2025/may-coffee.jpg | Bin 0 -> 28785 bytes site/media/content/2025/may-rays.jpg | Bin 0 -> 57628 bytes site/media/content/2025/oct-baumk.jpg | Bin 0 -> 82880 bytes site/media/content/2025/oct-bbahv.jpg | Bin 0 -> 44788 bytes site/media/content/2025/sep-han.jpg | Bin 0 -> 67777 bytes site/media/content/about/me.jpg | Bin 0 -> 90580 bytes site/media/content/about/me.jpg.bak | Bin 0 -> 185261 bytes site/media/content/cv.pdf | Bin 0 -> 25242 bytes site/media/content/like/sakura.jpg | Bin 0 -> 217407 bytes site/media/content/photos/be-anti.jpg | Bin 0 -> 15009 bytes site/media/content/photos/be-late-summer.jpg | Bin 0 -> 47561 bytes site/media/content/photos/br-arch.jpg | Bin 0 -> 52084 bytes site/media/content/photos/br-ferris.jpg | Bin 0 -> 30970 bytes site/media/content/photos/br-grilled-cheese.jpg | Bin 0 -> 23213 bytes site/media/content/photos/de-traindoor.jpg | Bin 0 -> 26531 bytes site/media/content/photos/is-dew.jpg | Bin 0 -> 46112 bytes site/media/content/photos/is-figures.jpg | Bin 0 -> 19715 bytes site/media/content/photos/jp-gradient.jpg | Bin 0 -> 35478 bytes site/media/content/photos/jp-mirror-1.jpg | Bin 0 -> 53220 bytes site/media/content/photos/jp-sakura.jpg | Bin 0 -> 70784 bytes site/media/content/photos/kr-birches.jpg | Bin 0 -> 72561 bytes site/media/content/photos/kr-fog.jpg | Bin 0 -> 29307 bytes site/media/content/photos/kr-lamps.jpg | Bin 0 -> 41668 bytes site/media/content/photos/kr-moon.jpg | Bin 0 -> 10485 bytes site/media/content/photos/tr-boat.jpg | Bin 0 -> 29165 bytes site/media/content/photos/tr-hedge.jpg | Bin 0 -> 55574 bytes .../plan9-cursors/xcursor-plan9-preview.png | Bin 0 -> 1329 bytes site/media/content/read/alharthi_celestial.jpg | Bin 0 -> 4950 bytes site/media/content/read/atwood_testaments.jpg | Bin 0 -> 5363 bytes site/media/content/read/bradbury_martian.jpg | Bin 0 -> 5094 bytes site/media/content/read/broad_japan.jpg | Bin 0 -> 6290 bytes site/media/content/read/cronin_passage.jpg | Bin 0 -> 6499 bytes site/media/content/read/elgin_tongue.jpg | Bin 0 -> 4701 bytes site/media/content/read/gibson_neuromancer.jpg | Bin 0 -> 6992 bytes site/media/content/read/goenawan_miwako.jpg | Bin 0 -> 6779 bytes site/media/content/read/gould_jumper.jpg | Bin 0 -> 5677 bytes site/media/content/read/grrm_dunkegg.jpg | Bin 0 -> 7066 bytes site/media/content/read/grrm_fireblood.jpg | Bin 0 -> 6780 bytes site/media/content/read/hunt_thomas_pragprog.jpg | Bin 0 -> 3966 bytes site/media/content/read/kaestner_emil.jpg | Bin 0 -> 6958 bytes site/media/content/read/kawabata_snow.jpg | Bin 0 -> 3226 bytes site/media/content/read/kawakami_night.jpg | Bin 0 -> 7521 bytes site/media/content/read/kowalczuk_freiheit.jpg | Bin 0 -> 4985 bytes site/media/content/read/kuang_babel.jpg | Bin 0 -> 6084 bytes site/media/content/read/kutscher_stumme_tod.jpg | Bin 0 -> 5693 bytes site/media/content/read/lovecraft_madness.jpg | Bin 0 -> 4199 bytes site/media/content/read/mann_venedig.jpg | Bin 0 -> 3932 bytes site/media/content/read/miller_circe.jpg | Bin 0 -> 9132 bytes site/media/content/read/murakami_miso.jpg | Bin 0 -> 6467 bytes site/media/content/read/murata_convenience.jpg | Bin 0 -> 4731 bytes site/media/content/read/neuvel_only_human.jpg | Bin 0 -> 4292 bytes site/media/content/read/rek_devine_bears.jpg | Bin 0 -> 2610 bytes site/media/content/read/rek_devine_busy.jpg | Bin 0 -> 2739 bytes site/media/content/read/shea_illuminatus.jpg | Bin 0 -> 6727 bytes site/media/content/read/smith_shore.jpg | Bin 0 -> 5813 bytes site/media/content/read/stephenson_crash.jpg | Bin 0 -> 6248 bytes site/media/content/read/vonnegut_champions.jpg | Bin 0 -> 5522 bytes .../content/sony-wf1000xm3-battery/01_pry_open.jpg | Bin 0 -> 31359 bytes .../content/sony-wf1000xm3-battery/02_lid_off.jpg | Bin 0 -> 31003 bytes .../sony-wf1000xm3-battery/03_screws_out.jpg | Bin 0 -> 26690 bytes .../content/sony-wf1000xm3-battery/04_lift_top.jpg | Bin 0 -> 61433 bytes .../sony-wf1000xm3-battery/05_battery_out.jpg | Bin 0 -> 51758 bytes .../sony-wf1000xm3-battery/06_battery_in.jpg | Bin 0 -> 39397 bytes .../sony-wf1000xm3-battery/battery_comparison.jpg | Bin 0 -> 94750 bytes .../content/sony-wf1000xm3-battery/headphones.jpg | Bin 0 -> 41946 bytes site/media/content/unicode-range/after.jpg | Bin 0 -> 6478 bytes site/media/content/unicode-range/before.jpg | Bin 0 -> 6534 bytes site/media/interface/logo.svg | 411 + site/media/services/icon.png | Bin 0 -> 15616 bytes site/media/services/thumbnail.jpg | Bin 0 -> 11198 bytes site/niigata.html | 39 +- site/nikko.html | 41 +- site/notes.html | 44 +- site/photos.html | 32 +- site/plan9-cursors.html | 42 +- site/porta.html | 39 +- site/pyonji.html | 42 +- site/read.html | 211 +- site/read_2024.html | 170 + site/read_2025.html | 191 + site/read_2026.html | 127 + site/robots.txt | 5 + site/shikoku.html | 39 +- site/sony-wf1000xm3-battery.html | 41 +- site/toyama.html | 39 +- site/unicode-range.html | 42 +- site/varlink.html | 40 +- site/yamanashi.html | 39 +- src/inc/2025.htm | 32 +- src/inc/2025.md | 28 +- src/inc/2026.htm | 7 +- src/inc/2026.md | 8 +- src/inc/about.htm | 26 +- src/inc/index.html | 58 + src/inc/like.htm | 6 +- src/inc/meta.baseof.htm | 18 +- src/inc/meta.nav.htm | 2 +- src/inc/plan9-cursors.htm | 1 + src/inc/plan9-cursors.md | 2 + src/inc/pyonji.htm | 1 + src/inc/pyonji.md | 2 + src/inc/read.htm | 451 +- src/inc/read_2024.htm | 107 + src/inc/read_2025.htm | 128 + src/inc/read_2026.htm | 64 + src/inc/unicode-range.htm | 1 + src/inc/varlink.htm | 1 + src/inc/varlink.md | 2 + vcs | 11 +- ~thesis | 1 - 232 files changed, 15435 insertions(+), 2548 deletions(-) delete mode 100644 Caddyfile delete mode 100644 Caddyfile.valid_paths delete mode 100644 humans.txt delete mode 100644 index.html create mode 120000 links delete mode 100644 links/hero.css delete mode 100644 links/main.css delete mode 100644 links/~ssh delete mode 100644 map/controls.js delete mode 100644 map/index.html delete mode 100644 map/main.js delete mode 100644 map/style.css create mode 120000 media delete mode 100644 media/content/2025/apr-train.jpg delete mode 100644 media/content/2025/jan-sky.jpg delete mode 100644 media/content/2025/jul-beer.jpg delete mode 100644 media/content/2025/jul-tueb.jpg delete mode 100644 media/content/2025/mar-cistern.jpg delete mode 100644 media/content/2025/mar-istanbul.jpg delete mode 100644 media/content/2025/may-coffee.jpg delete mode 100644 media/content/2025/may-rays.jpg delete mode 100644 media/content/2025/oct-baumk.jpg delete mode 100644 media/content/2025/oct-bbahv.jpg delete mode 100644 media/content/2025/sep-han.jpg delete mode 100644 media/content/about/me.jpg delete mode 100644 media/content/cv.pdf delete mode 100644 media/content/like/sakura.jpg delete mode 100644 media/content/photos/be-anti.jpg delete mode 100644 media/content/photos/be-late-summer.jpg delete mode 100644 media/content/photos/br-arch.jpg delete mode 100644 media/content/photos/br-ferris.jpg delete mode 100644 media/content/photos/br-grilled-cheese.jpg delete mode 100644 media/content/photos/de-traindoor.jpg delete mode 100644 media/content/photos/is-dew.jpg delete mode 100644 media/content/photos/is-figures.jpg delete mode 100644 media/content/photos/jp-gradient.jpg delete mode 100644 media/content/photos/jp-mirror-1.jpg delete mode 100644 media/content/photos/jp-sakura.jpg delete mode 100644 media/content/photos/kr-birches.jpg delete mode 100644 media/content/photos/kr-fog.jpg delete mode 100644 media/content/photos/kr-lamps.jpg delete mode 100644 media/content/photos/kr-moon.jpg delete mode 100644 media/content/photos/tr-boat.jpg delete mode 100644 media/content/photos/tr-hedge.jpg delete mode 100644 media/content/plan9-cursors/xcursor-plan9-preview.png delete mode 100644 media/content/read/alharthi_celestial.jpg delete mode 100644 media/content/read/atwood_testaments.jpg delete mode 100644 media/content/read/bradbury_martian.jpg delete mode 100644 media/content/read/broad_japan.jpg delete mode 100644 media/content/read/cronin_passage.jpg delete mode 100644 media/content/read/elgin_tongue.jpg delete mode 100644 media/content/read/gibson_neuromancer.jpg delete mode 100644 media/content/read/goenawan_miwako.jpg delete mode 100644 media/content/read/gould_jumper.jpg delete mode 100644 media/content/read/grrm_dunkegg.jpg delete mode 100644 media/content/read/grrm_fireblood.jpg delete mode 100644 media/content/read/hunt_thomas_pragprog.jpg delete mode 100644 media/content/read/kaestner_emil.jpg delete mode 100644 media/content/read/kawabata_snow.jpg delete mode 100644 media/content/read/kawakami_night.jpg delete mode 100644 media/content/read/kowalczuk_freiheit.jpg delete mode 100644 media/content/read/kuang_babel.jpg delete mode 100644 media/content/read/kutscher_stumme_tod.jpg delete mode 100644 media/content/read/lovecraft_madness.jpg delete mode 100644 media/content/read/mann_venedig.jpg delete mode 100644 media/content/read/miller_circe.jpg delete mode 100644 media/content/read/murakami_miso.jpg delete mode 100644 media/content/read/murata_convenience.jpg delete mode 100644 media/content/read/neuvel_only_human.jpg delete mode 100644 media/content/read/rek_devine_bears.jpg delete mode 100644 media/content/read/rek_devine_busy.jpg delete mode 100644 media/content/read/shea_illuminatus.jpg delete mode 100644 media/content/read/smith_shore.jpg delete mode 100644 media/content/read/stephenson_crash.jpg delete mode 100644 media/content/read/vonnegut_champions.jpg delete mode 100644 media/content/sony-wf1000xm3-battery/01_pry_open.jpg delete mode 100644 media/content/sony-wf1000xm3-battery/02_lid_off.jpg delete mode 100644 media/content/sony-wf1000xm3-battery/03_screws_out.jpg delete mode 100644 media/content/sony-wf1000xm3-battery/04_lift_top.jpg delete mode 100644 media/content/sony-wf1000xm3-battery/05_battery_out.jpg delete mode 100644 media/content/sony-wf1000xm3-battery/06_battery_in.jpg delete mode 100644 media/content/sony-wf1000xm3-battery/battery_comparison.jpg delete mode 100644 media/content/sony-wf1000xm3-battery/headphones.jpg delete mode 100644 media/content/unicode-range/after.jpg delete mode 100644 media/content/unicode-range/before.jpg delete mode 100644 media/interface/logo.svg delete mode 100644 media/services/icon.png delete mode 100644 media/services/thumbnail.jpg delete mode 100644 robots.txt create mode 100644 site/Caddyfile create mode 100644 site/humans.txt create mode 100644 site/index.html create mode 100644 site/links/hero.css create mode 100644 site/links/main.css create mode 100644 site/map/assets/style.json create mode 100644 site/map/controls.js create mode 100644 site/map/index.html create mode 100644 site/map/main.js create mode 100644 site/map/style.css create mode 100644 site/media/content/2025/apr-train.jpg create mode 100644 site/media/content/2025/jan-sky.jpg create mode 100644 site/media/content/2025/jul-beer.jpg create mode 100644 site/media/content/2025/jul-tueb.jpg create mode 100644 site/media/content/2025/mar-cistern.jpg create mode 100644 site/media/content/2025/mar-istanbul.jpg create mode 100644 site/media/content/2025/may-coffee.jpg create mode 100644 site/media/content/2025/may-rays.jpg create mode 100644 site/media/content/2025/oct-baumk.jpg create mode 100644 site/media/content/2025/oct-bbahv.jpg create mode 100644 site/media/content/2025/sep-han.jpg create mode 100644 site/media/content/about/me.jpg create mode 100644 site/media/content/about/me.jpg.bak create mode 100644 site/media/content/cv.pdf create mode 100644 site/media/content/like/sakura.jpg create mode 100644 site/media/content/photos/be-anti.jpg create mode 100644 site/media/content/photos/be-late-summer.jpg create mode 100644 site/media/content/photos/br-arch.jpg create mode 100644 site/media/content/photos/br-ferris.jpg create mode 100644 site/media/content/photos/br-grilled-cheese.jpg create mode 100644 site/media/content/photos/de-traindoor.jpg create mode 100644 site/media/content/photos/is-dew.jpg create mode 100644 site/media/content/photos/is-figures.jpg create mode 100644 site/media/content/photos/jp-gradient.jpg create mode 100644 site/media/content/photos/jp-mirror-1.jpg create mode 100644 site/media/content/photos/jp-sakura.jpg create mode 100644 site/media/content/photos/kr-birches.jpg create mode 100644 site/media/content/photos/kr-fog.jpg create mode 100644 site/media/content/photos/kr-lamps.jpg create mode 100644 site/media/content/photos/kr-moon.jpg create mode 100644 site/media/content/photos/tr-boat.jpg create mode 100644 site/media/content/photos/tr-hedge.jpg create mode 100644 site/media/content/plan9-cursors/xcursor-plan9-preview.png create mode 100644 site/media/content/read/alharthi_celestial.jpg create mode 100644 site/media/content/read/atwood_testaments.jpg create mode 100644 site/media/content/read/bradbury_martian.jpg create mode 100644 site/media/content/read/broad_japan.jpg create mode 100644 site/media/content/read/cronin_passage.jpg create mode 100644 site/media/content/read/elgin_tongue.jpg create mode 100644 site/media/content/read/gibson_neuromancer.jpg create mode 100644 site/media/content/read/goenawan_miwako.jpg create mode 100644 site/media/content/read/gould_jumper.jpg create mode 100644 site/media/content/read/grrm_dunkegg.jpg create mode 100644 site/media/content/read/grrm_fireblood.jpg create mode 100644 site/media/content/read/hunt_thomas_pragprog.jpg create mode 100644 site/media/content/read/kaestner_emil.jpg create mode 100644 site/media/content/read/kawabata_snow.jpg create mode 100644 site/media/content/read/kawakami_night.jpg create mode 100644 site/media/content/read/kowalczuk_freiheit.jpg create mode 100644 site/media/content/read/kuang_babel.jpg create mode 100644 site/media/content/read/kutscher_stumme_tod.jpg create mode 100644 site/media/content/read/lovecraft_madness.jpg create mode 100644 site/media/content/read/mann_venedig.jpg create mode 100644 site/media/content/read/miller_circe.jpg create mode 100644 site/media/content/read/murakami_miso.jpg create mode 100644 site/media/content/read/murata_convenience.jpg create mode 100644 site/media/content/read/neuvel_only_human.jpg create mode 100644 site/media/content/read/rek_devine_bears.jpg create mode 100644 site/media/content/read/rek_devine_busy.jpg create mode 100644 site/media/content/read/shea_illuminatus.jpg create mode 100644 site/media/content/read/smith_shore.jpg create mode 100644 site/media/content/read/stephenson_crash.jpg create mode 100644 site/media/content/read/vonnegut_champions.jpg create mode 100644 site/media/content/sony-wf1000xm3-battery/01_pry_open.jpg create mode 100644 site/media/content/sony-wf1000xm3-battery/02_lid_off.jpg create mode 100644 site/media/content/sony-wf1000xm3-battery/03_screws_out.jpg create mode 100644 site/media/content/sony-wf1000xm3-battery/04_lift_top.jpg create mode 100644 site/media/content/sony-wf1000xm3-battery/05_battery_out.jpg create mode 100644 site/media/content/sony-wf1000xm3-battery/06_battery_in.jpg create mode 100644 site/media/content/sony-wf1000xm3-battery/battery_comparison.jpg create mode 100644 site/media/content/sony-wf1000xm3-battery/headphones.jpg create mode 100644 site/media/content/unicode-range/after.jpg create mode 100644 site/media/content/unicode-range/before.jpg create mode 100644 site/media/interface/logo.svg create mode 100644 site/media/services/icon.png create mode 100644 site/media/services/thumbnail.jpg create mode 100644 site/read_2024.html create mode 100644 site/read_2025.html create mode 100644 site/read_2026.html create mode 100644 site/robots.txt create mode 100644 src/inc/index.html create mode 100644 src/inc/read_2024.htm create mode 100644 src/inc/read_2025.htm create mode 100644 src/inc/read_2026.htm delete mode 120000 ~thesis diff --git a/Caddyfile b/Caddyfile deleted file mode 100644 index b2997b4..0000000 --- a/Caddyfile +++ /dev/null @@ -1,53 +0,0 @@ -# vim: noet ts=2 sw=2 -{ - admin off - auto_https off - http_port {$CADDY_HTTP_PORT:1414} - default_bind {$CADDY_HOST:0.0.0.0} -} - -http:// { - encode zstd gzip - - handle /healthz { - respond OK 200 - } - - handle_errors { - @404 expression {http.error.status_code} == 404 - rewrite @404 /site/404.html - file_server - } - - @valid_paths { - import Caddyfile.valid_paths - } - handle @valid_paths { - root . - try_files {path} {path}/index.html {path}.html =404 - file_server - } - - # catch all - respond 404 - - log { - format filter { - wrap console { - time_format wall_milli - level_format color - } - fields { - common_log delete - request>headers>Accept-Encoding delete - request>headers>Accept-Language delete - request>headers>Connection delete - request>headers>Authorization delete - request>remote_addr ip_mask { - ipv4 24 - ipv6 32 - } - } - } - } -} diff --git a/Caddyfile.valid_paths b/Caddyfile.valid_paths deleted file mode 100644 index 47d13ba..0000000 --- a/Caddyfile.valid_paths +++ /dev/null @@ -1,9 +0,0 @@ -path / -path /~* -path /humans.txt -path /index.html -path /robots.txt -path /links/* -path /media/* -path /site/* -path /map/* diff --git a/humans.txt b/humans.txt deleted file mode 100644 index 4ef6ead..0000000 --- a/humans.txt +++ /dev/null @@ -1,17 +0,0 @@ -/* WHAT IS THIS? */ - https://humanstxt.org - -/* TEAM */ - Everything: Robert - Site: robert [at] gnzler.de - Location: Berlin, Germany - -/* THANKS */ - Devine (100r.co/wiki.xxiivv.com) - for the inspiration to throw out hugo and start over - -/* SITE */ - Last update: (footer indicates when each page was last updated) - Language: English - Doctype: HTML5 - Software: home-grown website generator written in zig, neovim for editing diff --git a/index.html b/index.html deleted file mode 100644 index 8ad9049..0000000 --- a/index.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - gzr.im - - - -
- my avatar; a penrose-inspired impossible hexagon - -
- - diff --git a/links b/links new file mode 120000 index 0000000..74f4e52 --- /dev/null +++ b/links @@ -0,0 +1 @@ +./site/links/ \ No newline at end of file diff --git a/links/hero.css b/links/hero.css deleted file mode 100644 index a28f835..0000000 --- a/links/hero.css +++ /dev/null @@ -1,89 +0,0 @@ -:root { - --body-spacing: 0; - --hero-width: 700px; - --hero-nav-width: calc(var(--hero-width) / 2); - --hero-section-width: calc((var(--hero-nav-width) / 2) - (var(--hero-section-border-width) / 2)); - --hero-section-border-width: 1px; -} - -body { - width: 100vw; - height: 100vh; - - display: grid; - place-items: center; -} - -main.hero { - display: grid; - place-items: center; -} - -main.hero>img { - height: 33vh; - width: 66vw; -} - -main.hero>nav { - width: calc(700px / 2); -} - -main.hero>nav section { - display: block; - margin-left: 1rem; -} - -main.hero>nav section+section { - margin-top: 15px; -} - -main.hero>nav section.left { - margin-right: var(--hero-section-width); - text-align: end; - - padding-right: 15px; - border-right: var(--hero-section-border-width) solid var(--fg); -} - -main.hero>nav section.right { - margin-left: var(--hero-section-width); - text-align: start; - - padding-left: 15px; - border-left: var(--hero-section-border-width) solid var(--fg); -} - -main.hero ul, -main.hero ol { - padding: 0; - margin: 0; -} - -main.hero>nav li+li { - margin-top: 5px; -} - -@media (pointer: coarse), -(hover: none) { - main.hero { - [title] { - position: relative; - display: inline-flex; - } - - [title]:focus::after { - content: attr(title); - position: absolute; - top: 3rem; - left: 1rem; - color: color-mix(in srgb, var(--fg) 90%, transparent); - background-color: color-mix(in srgb, var(--bg) 90%, transparent); - border: 1px solid; - text-wrap: nowrap; - width: min-content; - max-width: 100vw; - padding: 1px 5px; - z-index: 9999; - } - } -} diff --git a/links/main.css b/links/main.css deleted file mode 100644 index 7467bf2..0000000 --- a/links/main.css +++ /dev/null @@ -1,527 +0,0 @@ -:root { - --black: #0f0f0f; - --white: WhiteSmoke; - --ac: MediumPurple; - - --fg: var(--black); - --bg: var(--white); - - --body-spacing: 45px; - --body-line-height: 1.3; - --body-inline-padding: 15px; - - --dashed: 1px dashed color-mix(in srgb, var(--bg) 80%, var(--fg)); -} - -::selection { - background: var(--ac); - opacity: 1.0; - color: var(--black); - padding: 10px; -} - -a { - color: var(--fg); - -} - -a:hover { - background: color-mix(in srgb, var(--ac) 40%, transparent); -} - -body { - background: var(--bg); - color: var(--fg); - overflow-x: hidden; - font-family: var(--ff, sans-serif); - padding: var(--body-spacing); - margin: 0; -} - -body>*+* { - margin-top: var(--body-spacing); -} - -header { - display: flex; - gap: var(--body-spacing); - align-items: center; -} - -header>* { - display: inline-block; -} - -header a { - text-decoration: none; -} - -header a img { - max-height: 55px; - vertical-align: bottom; -} - -nav section { - display: inline-block; - line-height: var(--body-line-height); - vertical-align: top; -} - -nav section+* { - margin-left: 1rem; -} - -nav ul { - margin: 0; - padding: 0; -} - -main { - clear: both; - max-width: 700px; - margin: 0 auto; -} - -main>* { - margin-bottom: 30px -} - -main blockquote { - margin-left: 0; - border-left: 1px dashed var(--fg); - padding-left: var(--body-inline-padding); -} - -main>h1 { - font-size: 1.5rem; -} - -main>h2 { - font-size: 1.3rem; -} - -main>h3 { - font-size: 1.2rem; -} - -main>h4 { - font-size: 1.1rem; -} - -main p { - line-height: var(--body-line-height); - margin-top: 0; -} - -figure { - margin: 0; - padding-bottom: var(--body-inline-padding); -} - -figure > img { - max-height: 30vh; -} - -figcaption { - text-align: end; - font-size: smaller; - padding: 2px -} - -main hr { - border-color: color-mix(in srgb, var(--fg) 20%, var(--bg)); - clear: both; -} - -main img { - max-width: 100%; - object-fit: contain; -} - -main>q { - max-width: 500px; - display: block; - margin-left: 30px; -} - -main pre { - background: color-mix(in srgb, var(--bg) 95%, var(--fg)); - border: var(--dashed); - padding: var(--body-inline-padding); - margin-bottom: 30px; - overflow-x: scroll; -} - -main code { - font-family: monospace; -} - -main p>code { - border: var(--dashed); - padding: 1px 4px; -} - -main code comment { - color: #777 -} - -main ol, -main ul { - margin-top: 0; - margin-bottom: 30px; - line-height: var(--body-line-height); -} - -/*main ol li+*,*/ -/*main ul li+* {*/ -/* margin-top: 1ex;*/ -/*}*/ - -main ol li>p, -main ul li>p { - margin: 0; -} - -main ol { - list-style-type: decimal-leading-zero; -} - -main ul { - list-style-type: square; -} - -/* task list */ - -main ul.task-list li { - list-style-type: none; - padding: 5px; -} - -main ul.task-list li+* { - margin-top: 1ex; -} - -main ul.task-list li:has(label:hover) { - padding: 4px; - background: color-mix(in srgb, var(--fg) 5%, transparent); - border: 1px solid color-mix(in srgb, var(--fg) 10%, transparent); -} - -main ul.task-list li:has(input:checked) { - padding: 4px; - background: color-mix(in srgb, var(--ac) 10%, transparent); - border: 1px solid color-mix(in srgb, var(--ac) 20%, transparent); -} - -main ul.task-list input { - margin: 0 1em 0 -2em; -} - -/* table */ - -main table img { - max-width: 100%; - display: block; - margin: 20px 0; -} - -main table tr th { - text-align: start; - font-weight: bold -} - -main table tr>* { - padding: 5px var(--body-inline-padding); - vertical-align: top; -} - -/* date */ - -main span.date { - font-family: monospace; - display: inline-block; - width: 100%; - text-align: end; -} - -/* toc */ - -main nav.table-of-contents { - /*max-width: 30ch;*/ - - position: sticky; - top: 1rem; - - float: right; - margin-right: -22ch; -} - -main nav.table-of-contents>ol { - list-style: inside disclosure-closed; -} - -main nav.table-of-contents>ol>:first-child { - text-transform: none; - line-height: 2.0; -} - -/* footnotes */ - -main section#footnotes { - margin-bottom: 0; - font-size: smaller; -} - -main section#footnotes hr { - display: none; -} - -main .footnote-back { - margin-left: 1ch; -} - -/* footer */ - -footer { - font-size: 0.9rem; - border-top: 1px solid color-mix(in srgb, var(--fg) 20%, var(--bg)); - padding-top: var(--body-spacing); - line-height: var(--body-line-height); - clear: both; -} - -body>a[href="#top"]:last-child { - float: right; - margin-top: -2rem; -} - -details[open]>*:not(summary) { - margin: 1ex 0 0 0; -} - -/* modular */ - -.col2 { - columns: 2 -} - -.capital { - text-transform: capitalize -} - -.nocapital { - text-transform: unset !important; -} - -.notice { - padding: var(--body-inline-padding); - border: 1px solid var(--ac); - background-color: color-mix(in srgb, var(--ac) 10%, var(--bg)); - color: color-mix(in srgb, var(--fg) 90%, var(--bg)); -} - -.notice, -.notice>* { - font-size: 0.8rem; -} - -.notice h1 { - text-align: end; - font-size: 0.9rem; - text-transform: capitalize; -} - -ul.nobull li { - list-style-type: none -} - -.hidden { - display: none -} - -.fullpage { - /* - * NOTE: 7rem = the height of header + footer, then the spacing between - * header and content and footer and line and content - */ - --header-and-footer-max-height: calc(7rem + (var(--body-spacing) * 3)); - - width: calc(100vw - (var(--body-spacing) * 2)); - height: calc(100vh - (var(--body-spacing) * 2) - var(--header-and-footer-max-height)); -} - -/* puts child item into center */ -.centering { - display: grid; - place-items: center; -} - -/* positions self in center */ -.center { - display: block; - margin: 0 auto; -} - -.squish { - display: flex; - flex-flow: row wrap; -} - -@media (max-width: 768px) { - .squish { - width: 100%; - padding: 0; - } -} - -.squish>* { - max-width: 100%; - max-height: 100%; -} - -.size-s { - max-height: 150px; -} - -.size-m { - max-height: 220px; -} - -.size-l { - max-height: 400px; -} - -.float-l { - float: left; - padding-right: var(--body-inline-padding); -} - -.float-r { - float: right; - padding-left: var(--body-inline-padding); -} - -.cutout { - width: 100%; - max-height: 9rem; - object-fit: cover; - object-position: 0 50%; -} - -:is(div, p):has(>.i) { - display: flex; - flex-flow: row wrap; - grid-gap: var(--body-inline-padding); -} - -:is(div, p)>.i { - max-width: 100%; -} - -/* theme */ - -@media (prefers-color-scheme: dark) { - :root { - --fg: var(--white); - --bg: var(--black); - } - - .mono { - filter: invert(1) - } -} - -/* mobile */ - -@media (max-width: 768px) { - :root { - --body-spacing: 25px; - } - - main ul, - main ol { - padding: 0 var(--body-inline-padding); - } - - main ul a, - main ol a { - line-height: 1.8; - } - - main img { - max-width: 100%; - } - - main nav.table-of-contents { - float: unset; - margin-right: unset; - position: unset; - } - - main nav.table-of-contents>ol { - columns: 2; - list-style: outside disclosure-closed; - } - - main nav.table-of-contents>ol>:first-child { - display: none; - } -} - -@media (max-width: 320px) {} - -/* typography */ - -:root { - --vf-grad: 0; -} - -@media (prefers-color-scheme: dark) { - :root { - --vf-grad: -50; - } -} - -html { - font-variation-settings: "GRAD" var(--vf-grad, 0); -} - -main p { - text-decoration-skip-ink: auto; -} - -main { - margin-block-start: var(--body-spacing); -} - -main pre, -main code, -main var, -main samp, -main kbd, -main h1, -main h2, -main h3, -main h4, -main h5, -main h6 { - -webkit-hyphens: manual; - hyphens: manual; -} - -h1 { - font-variant-numeric: lining-nums; - font-variant-ligatures: discretionary-ligatures; -} - -td, -math, -time[datetime*=":"] { - font-variant-numeric: tabular-nums lining-nums slashed-zero; -} - -iframe { - border: 0; - margin: 0; - padding: 0; -} diff --git a/links/~ssh b/links/~ssh deleted file mode 100644 index 9619d1e..0000000 --- a/links/~ssh +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - diff --git a/makefile b/makefile index 092f90c..ef67e73 100644 --- a/makefile +++ b/makefile @@ -10,7 +10,7 @@ watch: $(rbc_BIN) $(rbc_BIN) gen --list $(src_DIR) $(site_DIR) | entr -cd -- $(MAKE) gen serve: $(rbc_BIN) - $(rbc_BIN) serve . + $(rbc_BIN) serve $(site_DIR) watch-and-serve: @ $(MAKE) -j2 watch serve diff --git a/map/controls.js b/map/controls.js deleted file mode 100644 index e407a0c..0000000 --- a/map/controls.js +++ /dev/null @@ -1,39 +0,0 @@ -export class CustomControl { - _map = undefined; - _container = undefined; - _data = undefined; - - constructor(data) { - if (Object.hasOwn(data, "label") && - Object.hasOwn(data, "icon") && - Object.hasOwn(data, "onclick")) { - this._data = data; - } else { - throw new Error("missing required property"); - } - } - - onAdd(map) { - this._map = map; - this._container = document.createElement('div'); - this._container.className = 'maplibregl-ctrl maplibregl-ctrl-group'; - - const button = document.createElement('button'); - button.type = 'button'; - button.title = this._data.label; - button.textContent = this._data.icon; - button.onclick = () => { - this._data.onclick(); - } - - this._container.appendChild(button); - // this._map.on('mousedown', () => { }); - return this._container; - } - - onRemove() { - this._container.parentNode.removeChild(this._container); - // this._map.off('mousedown', () => { }); - this._map = undefined; - } -} diff --git a/map/index.html b/map/index.html deleted file mode 100644 index a0ca740..0000000 --- a/map/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - -
- -
-
- - diff --git a/map/main.js b/map/main.js deleted file mode 100644 index 5340ca1..0000000 --- a/map/main.js +++ /dev/null @@ -1,284 +0,0 @@ -import * as MaplibreGL from 'https://cdn.skypack.dev/maplibre-gl?min'; -import * as Diplomat from 'https://cdn.skypack.dev/@americana/diplomat?min'; -import * as PMTiles from 'https://cdn.skypack.dev/pmtiles?min'; -import * as D3 from 'https://cdn.skypack.dev/d3?min'; -import turf from 'https://cdn.skypack.dev/turf?min'; - - -// local imports -import { - CustomControl, -} from './controls.js'; - -// add the PMTiles plugin to the maplibregl global. -const pmproto = new PMTiles.Protocol(); -MaplibreGL.addProtocol('pmtiles', pmproto.tile); - -// globals -export const map = initMap(); -export const urlState = initUrlState(); - - -function initUrlState() { - const params = new URLSearchParams(window.location.search); - - if (params.has('show')) { - const show = params.get('show'); - const vals = show.split(','); - if (vals.includes('japan')) { - loadJapan(); - } - } - - return params; -} - -function initMap() { - const map = new MaplibreGL.Map({ - container: 'map', - style: 'https://tiles.openfreemap.org/styles/positron', - }); - - // overwrite basemap style - const style = D3.json('https://tiles.openfreemap.org/styles/positron') - style.then((data) => { - data.layers = data.layers.map((l) => { - if (l.id === "boundary_2") { - l.paint["line-color"] = "red"; - } - if (l.id === "boundary_3") { - l.minzoom = 4; - l.paint["line-color"] = "orange"; - } - if (l.id === "label_state") { - l.minzoom = 4; - l.paint["text-color"] = "orange"; - } - if (l.id === "label_other") { - l.minzoom = 4; - l.paint["text-color"] = "orange"; - } - return l; - }); - map.setStyle(data); - }); - - map.addControl(new MaplibreGL.FullscreenControl()); - - map.addControl(new MaplibreGL.NavigationControl({ - showZoom: true, - showCompass: true, - visualizeRoll: true, - visualizePitch: true, - })); - - map.addControl(new MaplibreGL.GlobeControl()); - - map.addControl(new MaplibreGL.GeolocateControl({ - positionOptions: { - enableHighAccuracy: true - }, - })); - - map.addControl(new CustomControl({ - label: 'Japan', - icon: '🇯🇵', - onclick: () => { - loadJapan(); - }, - })); - map.addControl(new CustomControl({ - label: 'Raw', - icon: 'R', - onclick: () => { - loadRaw(); - }, - })); - map.addControl(new CustomControl({ - label: 'Visited', - icon: 'V', - onclick: () => { - loadVisited(); - }, - })); - - // https://github.com/osm-americana/diplomat/ - map.once("styledata", (event) => { - Diplomat.localizeStyle(map); - }); - - return map; -} - - -function loadRaw() { - const raw = D3.json('export-data/data.geojson'); - raw.then((data) => { - if (map.getSource('raw') === undefined) { - map.addSource('raw', { - type: 'geojson', - data: data, - }); - map.addLayer({ - id: 'raw', - source: 'raw', - type: 'heatmap', - paint: { - // Increase the heatmap weight based on frequency and property magnitude - 'heatmap-weight': [ - 'interpolate', - ['linear'], - ['get', 'mag'], - 0, - 0, - 6, - 1 - ], - // Increase the heatmap color weight weight by zoom level - // heatmap-intensity is a multiplier on top of heatmap-weight - 'heatmap-intensity': [ - 'interpolate', - ['linear'], - ['zoom'], - 0, - 1, - 9, - 3 - ], - // Color ramp for heatmap. Domain is 0 (low) to 1 (high). - // Begin color ramp at 0-stop with a 0-transparency color - // to create a blur-like effect. - 'heatmap-color': [ - 'interpolate', - ['linear'], - ['heatmap-density'], - 0, - 'rgba(33,102,172,0)', - 0.2, - 'rgb(103,169,207)', - 0.4, - 'rgb(209,229,240)', - 0.6, - 'rgb(253,219,199)', - 0.8, - 'rgb(239,138,98)', - 1, - 'rgb(178,24,43)' - ], - // Adjust the heatmap radius by zoom level - 'heatmap-radius': [ - 'interpolate', - ['linear'], - ['zoom'], - 0, - 2, - 9, - 20 - ], - }, - }); - } - map.fitBounds(turf.bbox(data), { - padding: 50, - }); - }) -} - -function loadVisited() { - // add data - const vis = D3.json('export-data/visited.geojson'); - vis.then((data) => { - if (map.getSource('visited') === undefined) { - map.addSource('visited', { - type: 'geojson', - data: data, - }); - // boundaries - map.addLayer({ - id: 'visited-bounds', - type: 'fill', - source: 'visited', - layout: {}, - paint: { - 'fill-color': 'hotpink', - 'fill-opacity': 0.6, - }, - filter: ['==', '$type', 'Polygon'], - }); - // labels - map.addLayer({ - id: 'visited-labels', - type: 'symbol', - source: 'visited', - layout: { - 'text-field': '{iso3166}\n{timestamp}', - 'text-font': ['Noto Sans Regular'], - 'text-size': 12, - 'text-variable-anchor': ['top', 'bottom', 'left', 'right'], - 'text-radial-offset': 0.3, - 'text-justify': 'auto', - }, - paint: { - 'text-color': 'black', - 'text-opacity': 1.0, - }, - filter: ['==', '$type', 'Polygon'], - }); - } - map.fitBounds(turf.bbox(data), { - padding: 50, - }); - }); -} - -function loadJapan() { - function normalizeLocation() { - let addr = window.location.toString(); - let idx = addr.lastIndexOf("/"); - return addr.slice(0, idx); - } - - const jpn_url = 'export-data/japan-admin_level=4.pmtiles' - const jpn = new PMTiles.PMTiles(jpn_url); - pmproto.add(jpn); - jpn.getHeader().then(hdr => { - map.fitBounds([[hdr.minLon, hdr.minLat],[hdr.maxLon, hdr.maxLat]], { - padding: 1, - }); - // map.addSource('jpn', { - // type: 'vector', - // url: `pmtiles://${normalizeLocation()}/${jpn_url}`, - // attribution: '© OSM-Boundaries' - // }); - // map.addLayer({ - // id: 'jpn-bounds', - // source: 'jpn', - // 'source-layer': 'japan-bounds', - // type: 'line', - // layout: {}, - // paint: { - // 'line-color': 'orange', - // 'line-width': 2, - // 'line-opacity': 0.5, - // }, - // }); - // map.addLayer({ - // id: 'jpn-labels', - // source: 'jpn', - // 'source-layer': 'japan-labels', - // type: 'symbol', - // layout: { - // 'text-field': '{name_en}', - // 'text-font': ['Noto Sans Regular'], - // 'text-size': 12, - // 'text-variable-anchor': ['top', 'bottom', 'left', 'right'], - // 'text-radial-offset': 0.2, - // 'text-justify': 'auto', - // }, - // paint: { - // 'text-color': 'black', - // 'text-opacity': 1.0, - // }, - // }); - }); -} diff --git a/map/style.css b/map/style.css deleted file mode 100644 index b9639bf..0000000 --- a/map/style.css +++ /dev/null @@ -1,28 +0,0 @@ -@import url("https://esm.sh/maplibre-gl/dist/maplibre-gl.css"); - -body { - margin: 0; -} - -#map { - width: 100vw; - height: 100vh; -} - -header { - position: absolute; - top: 0; - left: 0; - z-index: 9999; - padding: 15px 10px; - - & nav a { - background: black; - color: white; - - & [alt="gzr.im"] { - max-height: 55px; - vertical-align: bottom; - } - } -} diff --git a/media b/media new file mode 120000 index 0000000..5dcb8f9 --- /dev/null +++ b/media @@ -0,0 +1 @@ +./site/media/ \ No newline at end of file diff --git a/media/content/2025/apr-train.jpg b/media/content/2025/apr-train.jpg deleted file mode 100644 index 874cde3..0000000 Binary files a/media/content/2025/apr-train.jpg and /dev/null differ diff --git a/media/content/2025/jan-sky.jpg b/media/content/2025/jan-sky.jpg deleted file mode 100644 index 5e9c6ad..0000000 Binary files a/media/content/2025/jan-sky.jpg and /dev/null differ diff --git a/media/content/2025/jul-beer.jpg b/media/content/2025/jul-beer.jpg deleted file mode 100644 index 58af3c4..0000000 Binary files a/media/content/2025/jul-beer.jpg and /dev/null differ diff --git a/media/content/2025/jul-tueb.jpg b/media/content/2025/jul-tueb.jpg deleted file mode 100644 index 1d78367..0000000 Binary files a/media/content/2025/jul-tueb.jpg and /dev/null differ diff --git a/media/content/2025/mar-cistern.jpg b/media/content/2025/mar-cistern.jpg deleted file mode 100644 index 2f31829..0000000 Binary files a/media/content/2025/mar-cistern.jpg and /dev/null differ diff --git a/media/content/2025/mar-istanbul.jpg b/media/content/2025/mar-istanbul.jpg deleted file mode 100644 index ca145bc..0000000 Binary files a/media/content/2025/mar-istanbul.jpg and /dev/null differ diff --git a/media/content/2025/may-coffee.jpg b/media/content/2025/may-coffee.jpg deleted file mode 100644 index 962abb1..0000000 Binary files a/media/content/2025/may-coffee.jpg and /dev/null differ diff --git a/media/content/2025/may-rays.jpg b/media/content/2025/may-rays.jpg deleted file mode 100644 index 99313c8..0000000 Binary files a/media/content/2025/may-rays.jpg and /dev/null differ diff --git a/media/content/2025/oct-baumk.jpg b/media/content/2025/oct-baumk.jpg deleted file mode 100644 index fefc9d5..0000000 Binary files a/media/content/2025/oct-baumk.jpg and /dev/null differ diff --git a/media/content/2025/oct-bbahv.jpg b/media/content/2025/oct-bbahv.jpg deleted file mode 100644 index 1d0ba0b..0000000 Binary files a/media/content/2025/oct-bbahv.jpg and /dev/null differ diff --git a/media/content/2025/sep-han.jpg b/media/content/2025/sep-han.jpg deleted file mode 100644 index 14db8e8..0000000 Binary files a/media/content/2025/sep-han.jpg and /dev/null differ diff --git a/media/content/about/me.jpg b/media/content/about/me.jpg deleted file mode 100644 index a397e09..0000000 Binary files a/media/content/about/me.jpg and /dev/null differ diff --git a/media/content/cv.pdf b/media/content/cv.pdf deleted file mode 100644 index 5b2c1cf..0000000 Binary files a/media/content/cv.pdf and /dev/null differ diff --git a/media/content/like/sakura.jpg b/media/content/like/sakura.jpg deleted file mode 100644 index f4f176d..0000000 Binary files a/media/content/like/sakura.jpg and /dev/null differ diff --git a/media/content/photos/be-anti.jpg b/media/content/photos/be-anti.jpg deleted file mode 100644 index 0d59e8e..0000000 Binary files a/media/content/photos/be-anti.jpg and /dev/null differ diff --git a/media/content/photos/be-late-summer.jpg b/media/content/photos/be-late-summer.jpg deleted file mode 100644 index 065afca..0000000 Binary files a/media/content/photos/be-late-summer.jpg and /dev/null differ diff --git a/media/content/photos/br-arch.jpg b/media/content/photos/br-arch.jpg deleted file mode 100644 index 2b4bdcf..0000000 Binary files a/media/content/photos/br-arch.jpg and /dev/null differ diff --git a/media/content/photos/br-ferris.jpg b/media/content/photos/br-ferris.jpg deleted file mode 100644 index facf08c..0000000 Binary files a/media/content/photos/br-ferris.jpg and /dev/null differ diff --git a/media/content/photos/br-grilled-cheese.jpg b/media/content/photos/br-grilled-cheese.jpg deleted file mode 100644 index ff312d2..0000000 Binary files a/media/content/photos/br-grilled-cheese.jpg and /dev/null differ diff --git a/media/content/photos/de-traindoor.jpg b/media/content/photos/de-traindoor.jpg deleted file mode 100644 index 22efda1..0000000 Binary files a/media/content/photos/de-traindoor.jpg and /dev/null differ diff --git a/media/content/photos/is-dew.jpg b/media/content/photos/is-dew.jpg deleted file mode 100644 index c826591..0000000 Binary files a/media/content/photos/is-dew.jpg and /dev/null differ diff --git a/media/content/photos/is-figures.jpg b/media/content/photos/is-figures.jpg deleted file mode 100644 index f86bbb8..0000000 Binary files a/media/content/photos/is-figures.jpg and /dev/null differ diff --git a/media/content/photos/jp-gradient.jpg b/media/content/photos/jp-gradient.jpg deleted file mode 100644 index 3699c29..0000000 Binary files a/media/content/photos/jp-gradient.jpg and /dev/null differ diff --git a/media/content/photos/jp-mirror-1.jpg b/media/content/photos/jp-mirror-1.jpg deleted file mode 100644 index aa542fa..0000000 Binary files a/media/content/photos/jp-mirror-1.jpg and /dev/null differ diff --git a/media/content/photos/jp-sakura.jpg b/media/content/photos/jp-sakura.jpg deleted file mode 100644 index 2566904..0000000 Binary files a/media/content/photos/jp-sakura.jpg and /dev/null differ diff --git a/media/content/photos/kr-birches.jpg b/media/content/photos/kr-birches.jpg deleted file mode 100644 index 647c2f0..0000000 Binary files a/media/content/photos/kr-birches.jpg and /dev/null differ diff --git a/media/content/photos/kr-fog.jpg b/media/content/photos/kr-fog.jpg deleted file mode 100644 index ea02212..0000000 Binary files a/media/content/photos/kr-fog.jpg and /dev/null differ diff --git a/media/content/photos/kr-lamps.jpg b/media/content/photos/kr-lamps.jpg deleted file mode 100644 index 6da8f71..0000000 Binary files a/media/content/photos/kr-lamps.jpg and /dev/null differ diff --git a/media/content/photos/kr-moon.jpg b/media/content/photos/kr-moon.jpg deleted file mode 100644 index 44ee5fb..0000000 Binary files a/media/content/photos/kr-moon.jpg and /dev/null differ diff --git a/media/content/photos/tr-boat.jpg b/media/content/photos/tr-boat.jpg deleted file mode 100644 index 30eb455..0000000 Binary files a/media/content/photos/tr-boat.jpg and /dev/null differ diff --git a/media/content/photos/tr-hedge.jpg b/media/content/photos/tr-hedge.jpg deleted file mode 100644 index e2a79d7..0000000 Binary files a/media/content/photos/tr-hedge.jpg and /dev/null differ diff --git a/media/content/plan9-cursors/xcursor-plan9-preview.png b/media/content/plan9-cursors/xcursor-plan9-preview.png deleted file mode 100644 index 83b6f08..0000000 Binary files a/media/content/plan9-cursors/xcursor-plan9-preview.png and /dev/null differ diff --git a/media/content/read/alharthi_celestial.jpg b/media/content/read/alharthi_celestial.jpg deleted file mode 100644 index 7637602..0000000 Binary files a/media/content/read/alharthi_celestial.jpg and /dev/null differ diff --git a/media/content/read/atwood_testaments.jpg b/media/content/read/atwood_testaments.jpg deleted file mode 100644 index 1cb41b4..0000000 Binary files a/media/content/read/atwood_testaments.jpg and /dev/null differ diff --git a/media/content/read/bradbury_martian.jpg b/media/content/read/bradbury_martian.jpg deleted file mode 100644 index 562c847..0000000 Binary files a/media/content/read/bradbury_martian.jpg and /dev/null differ diff --git a/media/content/read/broad_japan.jpg b/media/content/read/broad_japan.jpg deleted file mode 100644 index c0d9dd0..0000000 Binary files a/media/content/read/broad_japan.jpg and /dev/null differ diff --git a/media/content/read/cronin_passage.jpg b/media/content/read/cronin_passage.jpg deleted file mode 100644 index b530ff2..0000000 Binary files a/media/content/read/cronin_passage.jpg and /dev/null differ diff --git a/media/content/read/elgin_tongue.jpg b/media/content/read/elgin_tongue.jpg deleted file mode 100644 index 17fdb25..0000000 Binary files a/media/content/read/elgin_tongue.jpg and /dev/null differ diff --git a/media/content/read/gibson_neuromancer.jpg b/media/content/read/gibson_neuromancer.jpg deleted file mode 100644 index 085cb49..0000000 Binary files a/media/content/read/gibson_neuromancer.jpg and /dev/null differ diff --git a/media/content/read/goenawan_miwako.jpg b/media/content/read/goenawan_miwako.jpg deleted file mode 100644 index 484be30..0000000 Binary files a/media/content/read/goenawan_miwako.jpg and /dev/null differ diff --git a/media/content/read/gould_jumper.jpg b/media/content/read/gould_jumper.jpg deleted file mode 100644 index 9d1d9ea..0000000 Binary files a/media/content/read/gould_jumper.jpg and /dev/null differ diff --git a/media/content/read/grrm_dunkegg.jpg b/media/content/read/grrm_dunkegg.jpg deleted file mode 100644 index 15ebeac..0000000 Binary files a/media/content/read/grrm_dunkegg.jpg and /dev/null differ diff --git a/media/content/read/grrm_fireblood.jpg b/media/content/read/grrm_fireblood.jpg deleted file mode 100644 index d26dec4..0000000 Binary files a/media/content/read/grrm_fireblood.jpg and /dev/null differ diff --git a/media/content/read/hunt_thomas_pragprog.jpg b/media/content/read/hunt_thomas_pragprog.jpg deleted file mode 100644 index 6c8fac6..0000000 Binary files a/media/content/read/hunt_thomas_pragprog.jpg and /dev/null differ diff --git a/media/content/read/kaestner_emil.jpg b/media/content/read/kaestner_emil.jpg deleted file mode 100644 index 40a4201..0000000 Binary files a/media/content/read/kaestner_emil.jpg and /dev/null differ diff --git a/media/content/read/kawabata_snow.jpg b/media/content/read/kawabata_snow.jpg deleted file mode 100644 index 028a1b7..0000000 Binary files a/media/content/read/kawabata_snow.jpg and /dev/null differ diff --git a/media/content/read/kawakami_night.jpg b/media/content/read/kawakami_night.jpg deleted file mode 100644 index ee03fdf..0000000 Binary files a/media/content/read/kawakami_night.jpg and /dev/null differ diff --git a/media/content/read/kowalczuk_freiheit.jpg b/media/content/read/kowalczuk_freiheit.jpg deleted file mode 100644 index 0f2bf57..0000000 Binary files a/media/content/read/kowalczuk_freiheit.jpg and /dev/null differ diff --git a/media/content/read/kuang_babel.jpg b/media/content/read/kuang_babel.jpg deleted file mode 100644 index 1f06141..0000000 Binary files a/media/content/read/kuang_babel.jpg and /dev/null differ diff --git a/media/content/read/kutscher_stumme_tod.jpg b/media/content/read/kutscher_stumme_tod.jpg deleted file mode 100644 index af7cbe8..0000000 Binary files a/media/content/read/kutscher_stumme_tod.jpg and /dev/null differ diff --git a/media/content/read/lovecraft_madness.jpg b/media/content/read/lovecraft_madness.jpg deleted file mode 100644 index e9b8b72..0000000 Binary files a/media/content/read/lovecraft_madness.jpg and /dev/null differ diff --git a/media/content/read/mann_venedig.jpg b/media/content/read/mann_venedig.jpg deleted file mode 100644 index d9e787b..0000000 Binary files a/media/content/read/mann_venedig.jpg and /dev/null differ diff --git a/media/content/read/miller_circe.jpg b/media/content/read/miller_circe.jpg deleted file mode 100644 index 3e87eb7..0000000 Binary files a/media/content/read/miller_circe.jpg and /dev/null differ diff --git a/media/content/read/murakami_miso.jpg b/media/content/read/murakami_miso.jpg deleted file mode 100644 index 68a67c0..0000000 Binary files a/media/content/read/murakami_miso.jpg and /dev/null differ diff --git a/media/content/read/murata_convenience.jpg b/media/content/read/murata_convenience.jpg deleted file mode 100644 index 59ca7b5..0000000 Binary files a/media/content/read/murata_convenience.jpg and /dev/null differ diff --git a/media/content/read/neuvel_only_human.jpg b/media/content/read/neuvel_only_human.jpg deleted file mode 100644 index 98bfc8e..0000000 Binary files a/media/content/read/neuvel_only_human.jpg and /dev/null differ diff --git a/media/content/read/rek_devine_bears.jpg b/media/content/read/rek_devine_bears.jpg deleted file mode 100644 index d2dd148..0000000 Binary files a/media/content/read/rek_devine_bears.jpg and /dev/null differ diff --git a/media/content/read/rek_devine_busy.jpg b/media/content/read/rek_devine_busy.jpg deleted file mode 100644 index f5f2b13..0000000 Binary files a/media/content/read/rek_devine_busy.jpg and /dev/null differ diff --git a/media/content/read/shea_illuminatus.jpg b/media/content/read/shea_illuminatus.jpg deleted file mode 100644 index 56164d4..0000000 Binary files a/media/content/read/shea_illuminatus.jpg and /dev/null differ diff --git a/media/content/read/smith_shore.jpg b/media/content/read/smith_shore.jpg deleted file mode 100644 index 6c7ae99..0000000 Binary files a/media/content/read/smith_shore.jpg and /dev/null differ diff --git a/media/content/read/stephenson_crash.jpg b/media/content/read/stephenson_crash.jpg deleted file mode 100644 index bbfecec..0000000 Binary files a/media/content/read/stephenson_crash.jpg and /dev/null differ diff --git a/media/content/read/vonnegut_champions.jpg b/media/content/read/vonnegut_champions.jpg deleted file mode 100644 index 05c41ed..0000000 Binary files a/media/content/read/vonnegut_champions.jpg and /dev/null differ diff --git a/media/content/sony-wf1000xm3-battery/01_pry_open.jpg b/media/content/sony-wf1000xm3-battery/01_pry_open.jpg deleted file mode 100644 index 12ae41d..0000000 Binary files a/media/content/sony-wf1000xm3-battery/01_pry_open.jpg and /dev/null differ diff --git a/media/content/sony-wf1000xm3-battery/02_lid_off.jpg b/media/content/sony-wf1000xm3-battery/02_lid_off.jpg deleted file mode 100644 index 566a553..0000000 Binary files a/media/content/sony-wf1000xm3-battery/02_lid_off.jpg and /dev/null differ diff --git a/media/content/sony-wf1000xm3-battery/03_screws_out.jpg b/media/content/sony-wf1000xm3-battery/03_screws_out.jpg deleted file mode 100644 index caa06d6..0000000 Binary files a/media/content/sony-wf1000xm3-battery/03_screws_out.jpg and /dev/null differ diff --git a/media/content/sony-wf1000xm3-battery/04_lift_top.jpg b/media/content/sony-wf1000xm3-battery/04_lift_top.jpg deleted file mode 100644 index 4b7c97f..0000000 Binary files a/media/content/sony-wf1000xm3-battery/04_lift_top.jpg and /dev/null differ diff --git a/media/content/sony-wf1000xm3-battery/05_battery_out.jpg b/media/content/sony-wf1000xm3-battery/05_battery_out.jpg deleted file mode 100644 index 0974adc..0000000 Binary files a/media/content/sony-wf1000xm3-battery/05_battery_out.jpg and /dev/null differ diff --git a/media/content/sony-wf1000xm3-battery/06_battery_in.jpg b/media/content/sony-wf1000xm3-battery/06_battery_in.jpg deleted file mode 100644 index 780058b..0000000 Binary files a/media/content/sony-wf1000xm3-battery/06_battery_in.jpg and /dev/null differ diff --git a/media/content/sony-wf1000xm3-battery/battery_comparison.jpg b/media/content/sony-wf1000xm3-battery/battery_comparison.jpg deleted file mode 100644 index d29a85b..0000000 Binary files a/media/content/sony-wf1000xm3-battery/battery_comparison.jpg and /dev/null differ diff --git a/media/content/sony-wf1000xm3-battery/headphones.jpg b/media/content/sony-wf1000xm3-battery/headphones.jpg deleted file mode 100644 index 2c8c1af..0000000 Binary files a/media/content/sony-wf1000xm3-battery/headphones.jpg and /dev/null differ diff --git a/media/content/unicode-range/after.jpg b/media/content/unicode-range/after.jpg deleted file mode 100644 index 40da8b2..0000000 Binary files a/media/content/unicode-range/after.jpg and /dev/null differ diff --git a/media/content/unicode-range/before.jpg b/media/content/unicode-range/before.jpg deleted file mode 100644 index bd8bab2..0000000 Binary files a/media/content/unicode-range/before.jpg and /dev/null differ diff --git a/media/interface/logo.svg b/media/interface/logo.svg deleted file mode 100644 index 341407d..0000000 --- a/media/interface/logo.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - diff --git a/media/services/icon.png b/media/services/icon.png deleted file mode 100644 index cff53b9..0000000 Binary files a/media/services/icon.png and /dev/null differ diff --git a/media/services/thumbnail.jpg b/media/services/thumbnail.jpg deleted file mode 100644 index 5ad3918..0000000 Binary files a/media/services/thumbnail.jpg and /dev/null differ diff --git a/robots.txt b/robots.txt deleted file mode 100644 index 77696ca..0000000 --- a/robots.txt +++ /dev/null @@ -1,5 +0,0 @@ -User-agent: * -Disallow: / - -User-agent: GPTBot -Disallow: / diff --git a/site/2025.html b/site/2025.html index 331845c..81ea009 100644 --- a/site/2025.html +++ b/site/2025.html @@ -8,7 +8,7 @@ - + gzr.im — 2025 @@ -19,21 +19,21 @@
@@ -87,9 +87,7 @@ -
-2025
-
+

2025

december

diff --git a/src/inc/2025.md b/src/inc/2025.md index 978c4be..56d0dbe 100644 --- a/src/inc/2025.md +++ b/src/inc/2025.md @@ -2,9 +2,7 @@ toc: true --- -
-2025
-
+# 2025 ## december @@ -15,9 +13,9 @@ toc: true ## november -* coworked from [secondhome](https://secondhome.io/coworking-space-london/east-london/) +* coworked from [secondhome↗](https://secondhome.io/coworking-space-london/east-london/) * took the caledonian sleeper to london -* went to [sotm eu](https://2025.stateofthemap.eu/) in dundee, scotland +* went to [sotm eu↗](https://2025.stateofthemap.eu/) in dundee, scotland * visited edinburgh * went to london via amsterdam and eurostar - deployed geopulse @@ -32,18 +30,18 @@ toc: true - had g. parents visit - visited brandenburg a.h. with family - saw an m8 played live -- went to [boiling the ocean 7](https://mastodon.social/@tbernard/115299658733621750) +- went to [boiling the ocean 7↗](https://mastodon.social/@tbernard/115299658733621750) ## september ![](/media/content/2025/sep-han.jpg){alt=hannover class=i} -- went to [all-systems-go](https://media.ccc.de/c/asg2025) +- went to [all-systems-go↗](https://media.ccc.de/c/asg2025) - had surinamese food - saw parcels live - visited amsterdam - took the sleeper train -- got really into the passage for two weeks ↪ {[read#sep25]} +- got really into the passage for two weeks - had delicious coffee in linden - played chunithm @ hi-score (again) - went to hannover (again) @@ -76,7 +74,7 @@ toc: true ## june - saw linkin park at olympiastadion -- played chunithm @ hi-score +- played chunithm @ [hi-score↗](https://hi-score.org/) - went to hannover - visited gärten der welt @@ -105,9 +103,9 @@ toc: true - held our first "plancake" - learned about unikernels 🐒 - had a hard time hiking in the snow -- visited [bușteni](https://en.wikipedia.org/wiki/Bu%C8%99teni), romania +- visited [bușteni↗](https://en.wikipedia.org/wiki/Bu%C8%99teni), romania - built a hugo page -- saw [engin](https://www.enginmuezik.com/) live +- saw [engin↗](https://www.enginmuezik.com/) live - started a new job - bought a new bass @@ -118,13 +116,13 @@ toc: true - watched season 2 of severance - finished my japanese deck on anki -- went to [basilica cistern](https://en.wikipedia.org/wiki/Basilica_Cistern) in istanbul +- went to [basilica cistern↗](https://en.wikipedia.org/wiki/Basilica_Cistern) in istanbul - had kokoreç again - published {[unicode-range]} - made custom anki cards for turkish - went to marji's place in kadiköy - had lebanese-turkish breakfast -- had seafood dinner in [tuzla](https://en.wikipedia.org/wiki/Tuzla,_Istanbul) +- had seafood dinner in [tuzla↗](https://en.wikipedia.org/wiki/Tuzla,_Istanbul) - visited istanbul - visited wrocław @@ -147,7 +145,7 @@ toc: true - published {[plan9-cursors]} - ate at kaijin ramen and got inspired to make mapo tofu -- [implemented](https://github.com/containers/podman/pull/25029) gpu support for podman-kube +- [implemented↗](https://github.com/containers/podman/pull/25029) gpu support for podman-kube - reorganised anime folder on shimakaze - watched one pace "whole cake island" arc - published {[sony-wf1000xm3-battery]} @@ -157,5 +155,5 @@ toc: true - watched season 1 of mr robot - started a daily workout and anki (for japanese) routine - made a collage of bits and pieces collected throughout december -- [fixed](https://lists.sr.ht/~rjarry/aerc-devel/patches/56975) an aerc stylesheet bug +- [fixed↗](https://lists.sr.ht/~rjarry/aerc-devel/patches/56975) an aerc stylesheet bug - went ice skating diff --git a/src/inc/2026.htm b/src/inc/2026.htm index 01e2a64..f3da4a2 100644 --- a/src/inc/2026.htm +++ b/src/inc/2026.htm @@ -33,9 +33,7 @@ -
-2026
-
+

2026

september

-
-

↪ {[2025]}

+

<<< last year

diff --git a/src/inc/2026.md b/src/inc/2026.md index a081deb..2c0e992 100644 --- a/src/inc/2026.md +++ b/src/inc/2026.md @@ -2,9 +2,7 @@ toc: true --- -
-2026
-
+# 2026 ## september @@ -64,6 +62,4 @@ toc: true * _TODO_ * visited mecklemburg-vorpommern with [raus.life](https://raus.life) ---- - -↪ {[2025]} +<<< last year diff --git a/src/inc/about.htm b/src/inc/about.htm index a552a68..89af696 100644 --- a/src/inc/about.htm +++ b/src/inc/about.htm @@ -1,14 +1,20 @@ - +

Why make this?

- I am a software engineer based in Berlin. + This website is an attempt to capture some parts of my life into a form of + online public diary, all while using minimalistic + (and sometimes not so + minimalistic) technologies.

- Come back later... maybe I have come up with something clever to put here - :) + Todays online spaces tend to obscure the raw simplistic nature of the web and + the consequence is, that websites are predominantly made by the already + tech-savy. Inspired by the indieweb community I am trying push back against + this trend.

-
-

- By the way... you can download a complete dump of this page: - ↪ here -

-
+ +

Who am I

+

+ My name is Robert. I do software for fun but also for a job. +

+ +me diff --git a/src/inc/index.html b/src/inc/index.html new file mode 100644 index 0000000..fd8f146 --- /dev/null +++ b/src/inc/index.html @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + gzr.im + + + +
+ my avatar; a penrose-inspired impossible hexagon + +
+ + diff --git a/src/inc/like.htm b/src/inc/like.htm index d03475c..485e885 100644 --- a/src/inc/like.htm +++ b/src/inc/like.htm @@ -1,9 +1,9 @@

dithered sakura

-

- here’s some stuff i like: -

+ +

some stuff i like

+