From ae0487886b94f04e15ae105b570c0c55bf410e0a Mon Sep 17 00:00:00 2001 From: Devon Campbell Date: Sun, 23 Jun 2024 20:15:56 -0400 Subject: [PATCH 01/10] Restructure for animated gifs Animated gifs can't go through the asset pipeline since they come out as a single frame of the original animation. Previously, I had only a couple of them and didn't have my assets structured very well. I had the assets that needed to be passthrough copied alongside those that could go through the pipeline. It wasn't bad since there weren't many animations. I mapped just those to passthrough copy to go to a single directory. This will become more fraught as I add more since there's more opportunity for collisions. When mapping to an output directory, I can't maintain the inner structure of that directory. The files are flattened. I moved everything around, both to separate images that can go through the pipeline from those which can't and to allow for a simple passthrough copy that will maintain the directory structure so that each blog post can have its own directory of passthrough copied animated gifs in the build. --- .eleventy.js | 9 ++-- assets/fonts/example.html | 16 ------- create-blog-post.sh | 45 +++++++++++------- {assets/css => css}/theme.css | 0 .../android-chrome-192x192.png | Bin .../android-chrome-512x512.png | Bin .../favicon => favicon}/apple-touch-icon.png | Bin {assets/favicon => favicon}/favicon-16x16.png | Bin {assets/favicon => favicon}/favicon-32x32.png | Bin {assets/favicon => favicon}/favicon.ico | Bin {assets/favicon => favicon}/site.webmanifest | 0 {assets/fonts => fonts}/BitBold.woff | Bin {assets/fonts => fonts}/style.css | 0 .../about/devon.lol-button-03.gif | Bin .../about/good-news-everyone.gif | Bin .../script-discovery.gif | Bin 0 -> 108293 bytes .../script-discovery.tape | 13 +++++ {assets/images => images}/logo.png | Bin {assets/images => images}/mastodon-logo.png | Bin {assets/images => images}/personal-avatar.png | Bin .../about/images}/devon.lol-button-01.png | Bin .../about/images}/devon.lol-button-02.png | Bin src/{about.md => about/index.md} | 8 ++-- .../images}/braga.jpg | Bin .../images}/chicago.jpg | Bin .../knoxville-tn-covid-vaccination-page.png | Bin .../images}/knoxville.jpg | Bin .../images}/milwaukee.jpg | Bin .../images}/minneapolis.jpg | Bin .../images}/montreal.jpg | Bin .../images}/philadelphia.jpg | Bin .../images}/pittsburgh.jpg | Bin .../images}/portland.jpg | Bin .../images}/porto.jpg | Bin .../images}/seattle.jpg | Bin .../images}/slc.jpg | Bin .../index.md} | 28 +++++------ .../images}/getting-a-curse.jpg | Bin .../index.md} | 4 +- .../index.md} | 2 +- .../index.md} | 2 +- .../index.md} | 2 +- .../index.md} | 2 +- .../images}/betrayal.jpg | Bin .../images}/delta-manifold.jpg | Bin .../images}/dread-delusion.jpg | Bin .../images}/haak.jpg | Bin .../images}/immortality.jpg | Bin .../images}/lunacid.jpg | Bin .../images}/midnight-fight-express.jpg | Bin .../images}/neon-white.jpg | Bin .../images}/pentiment.jpg | Bin .../images}/persona-5.jpg | Bin .../images}/spookware.jpg | Bin .../images}/teardown.jpg | Bin .../images}/timespinner.jpg | Bin .../index.md} | 28 +++++------ .../images}/arcane-dimensions.jpg | Bin .../images}/quake-box.png | Bin .../images}/quake-done-quick.jpg | Bin .../images}/quakespy.jpg | Bin .../index.md} | 10 ++-- .../{the-old-web.md => the-old-web/index.md} | 2 +- .../index.md} | 2 +- .../index.md} | 2 +- .../covid-comfort-report-card-october-2023.md | 26 +++++----- src/feed/curses-aint-all-bad.md | 2 +- .../rapid-fire-game-reviews-holiday-2022.md | 26 +++++----- .../the-most-influential-game-in-history.md | 8 ++-- 69 files changed, 122 insertions(+), 115 deletions(-) delete mode 100644 assets/fonts/example.html rename {assets/css => css}/theme.css (100%) rename {assets/favicon => favicon}/android-chrome-192x192.png (100%) rename {assets/favicon => favicon}/android-chrome-512x512.png (100%) rename {assets/favicon => favicon}/apple-touch-icon.png (100%) rename {assets/favicon => favicon}/favicon-16x16.png (100%) rename {assets/favicon => favicon}/favicon-32x32.png (100%) rename {assets/favicon => favicon}/favicon.ico (100%) rename {assets/favicon => favicon}/site.webmanifest (100%) rename {assets/fonts => fonts}/BitBold.woff (100%) rename {assets/fonts => fonts}/style.css (100%) rename {assets/images => images}/about/devon.lol-button-03.gif (100%) rename {assets/images => images}/about/good-news-everyone.gif (100%) create mode 100644 images/blog/outsourcing-my-memory-to-gum/script-discovery.gif create mode 100644 images/blog/outsourcing-my-memory-to-gum/script-discovery.tape rename {assets/images => images}/logo.png (100%) rename {assets/images => images}/mastodon-logo.png (100%) rename {assets/images => images}/personal-avatar.png (100%) rename {assets/images/about => src/about/images}/devon.lol-button-01.png (100%) rename {assets/images/about => src/about/images}/devon.lol-button-02.png (100%) rename src/{about.md => about/index.md} (80%) rename {assets/images/blog/covid-comfort-report-card-october-2023 => src/blog/covid-comfort-report-card-october-2023/images}/braga.jpg (100%) rename {assets/images/blog/covid-comfort-report-card-october-2023 => src/blog/covid-comfort-report-card-october-2023/images}/chicago.jpg (100%) rename {assets/images/blog/covid-comfort-report-card-october-2023 => src/blog/covid-comfort-report-card-october-2023/images}/knoxville-tn-covid-vaccination-page.png (100%) rename {assets/images/blog/covid-comfort-report-card-october-2023 => src/blog/covid-comfort-report-card-october-2023/images}/knoxville.jpg (100%) rename {assets/images/blog/covid-comfort-report-card-october-2023 => src/blog/covid-comfort-report-card-october-2023/images}/milwaukee.jpg (100%) rename {assets/images/blog/covid-comfort-report-card-october-2023 => src/blog/covid-comfort-report-card-october-2023/images}/minneapolis.jpg (100%) rename {assets/images/blog/covid-comfort-report-card-october-2023 => src/blog/covid-comfort-report-card-october-2023/images}/montreal.jpg (100%) rename {assets/images/blog/covid-comfort-report-card-october-2023 => src/blog/covid-comfort-report-card-october-2023/images}/philadelphia.jpg (100%) rename {assets/images/blog/covid-comfort-report-card-october-2023 => src/blog/covid-comfort-report-card-october-2023/images}/pittsburgh.jpg (100%) rename {assets/images/blog/covid-comfort-report-card-october-2023 => src/blog/covid-comfort-report-card-october-2023/images}/portland.jpg (100%) rename {assets/images/blog/covid-comfort-report-card-october-2023 => src/blog/covid-comfort-report-card-october-2023/images}/porto.jpg (100%) rename {assets/images/blog/covid-comfort-report-card-october-2023 => src/blog/covid-comfort-report-card-october-2023/images}/seattle.jpg (100%) rename {assets/images/blog/covid-comfort-report-card-october-2023 => src/blog/covid-comfort-report-card-october-2023/images}/slc.jpg (100%) rename src/blog/{covid-comfort-report-card-october-2023.md => covid-comfort-report-card-october-2023/index.md} (94%) rename {assets/images/blog/curses-aint-all-bad => src/blog/curses-aint-all-bad/images}/getting-a-curse.jpg (100%) rename src/blog/{curses-aint-all-bad.md => curses-aint-all-bad/index.md} (96%) rename src/blog/{good-enough-is-great.md => good-enough-is-great/index.md} (98%) rename src/blog/{how-to-stop-feeding-ai.md => how-to-stop-feeding-ai/index.md} (94%) rename src/blog/{im-on-youtube.md => im-on-youtube/index.md} (98%) rename src/blog/{implementing-webmentions-is-a-pain.md => implementing-webmentions-is-a-pain/index.md} (97%) rename {assets/images/blog/rapid-fire-game-reviews-holiday-2022 => src/blog/rapid-fire-game-reviews-holiday-2022/images}/betrayal.jpg (100%) rename {assets/images/blog/rapid-fire-game-reviews-holiday-2022 => src/blog/rapid-fire-game-reviews-holiday-2022/images}/delta-manifold.jpg (100%) rename {assets/images/blog/rapid-fire-game-reviews-holiday-2022 => src/blog/rapid-fire-game-reviews-holiday-2022/images}/dread-delusion.jpg (100%) rename {assets/images/blog/rapid-fire-game-reviews-holiday-2022 => src/blog/rapid-fire-game-reviews-holiday-2022/images}/haak.jpg (100%) rename {assets/images/blog/rapid-fire-game-reviews-holiday-2022 => src/blog/rapid-fire-game-reviews-holiday-2022/images}/immortality.jpg (100%) rename {assets/images/blog/rapid-fire-game-reviews-holiday-2022 => src/blog/rapid-fire-game-reviews-holiday-2022/images}/lunacid.jpg (100%) rename {assets/images/blog/rapid-fire-game-reviews-holiday-2022 => src/blog/rapid-fire-game-reviews-holiday-2022/images}/midnight-fight-express.jpg (100%) rename {assets/images/blog/rapid-fire-game-reviews-holiday-2022 => src/blog/rapid-fire-game-reviews-holiday-2022/images}/neon-white.jpg (100%) rename {assets/images/blog/rapid-fire-game-reviews-holiday-2022 => src/blog/rapid-fire-game-reviews-holiday-2022/images}/pentiment.jpg (100%) rename {assets/images/blog/rapid-fire-game-reviews-holiday-2022 => src/blog/rapid-fire-game-reviews-holiday-2022/images}/persona-5.jpg (100%) rename {assets/images/blog/rapid-fire-game-reviews-holiday-2022 => src/blog/rapid-fire-game-reviews-holiday-2022/images}/spookware.jpg (100%) rename {assets/images/blog/rapid-fire-game-reviews-holiday-2022 => src/blog/rapid-fire-game-reviews-holiday-2022/images}/teardown.jpg (100%) rename {assets/images/blog/rapid-fire-game-reviews-holiday-2022 => src/blog/rapid-fire-game-reviews-holiday-2022/images}/timespinner.jpg (100%) rename src/blog/{rapid-fire-game-reviews-holiday-2022.md => rapid-fire-game-reviews-holiday-2022/index.md} (90%) rename {assets/images/blog/the-most-influential-game-in-history => src/blog/the-most-influential-game-in-history/images}/arcane-dimensions.jpg (100%) rename {assets/images/blog/the-most-influential-game-in-history => src/blog/the-most-influential-game-in-history/images}/quake-box.png (100%) rename {assets/images/blog/the-most-influential-game-in-history => src/blog/the-most-influential-game-in-history/images}/quake-done-quick.jpg (100%) rename {assets/images/blog/the-most-influential-game-in-history => src/blog/the-most-influential-game-in-history/images}/quakespy.jpg (100%) rename src/blog/{the-most-influential-game-in-history.md => the-most-influential-game-in-history/index.md} (95%) rename src/blog/{the-old-web.md => the-old-web/index.md} (99%) rename src/blog/{web-browser-review-06-2024.md => web-browser-review-06-2024/index.md} (99%) rename src/blog/{which-dominoes-fall-after-reddit.md => which-dominoes-fall-after-reddit/index.md} (99%) diff --git a/.eleventy.js b/.eleventy.js index 8bc7cfb..b4d9775 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -21,15 +21,14 @@ module.exports = function(eleventyConfig) { eleventyConfig.addPlugin(embedYouTube); eleventyConfig.addPlugin(pluginRss); - eleventyConfig.addPassthroughCopy({ "assets/css": "css" }); - eleventyConfig.addPassthroughCopy({ "assets/fonts": "fonts" }); - eleventyConfig.addPassthroughCopy({ "assets/images/*": "images" }); - eleventyConfig.addPassthroughCopy({ "assets/favicon": "/" }); + eleventyConfig.addPassthroughCopy("css"); + eleventyConfig.addPassthroughCopy("fonts"); + eleventyConfig.addPassthroughCopy("images/**/*.{gif,png,jpg,jpeg}"); + eleventyConfig.addPassthroughCopy({ "favicon": "/" }); eleventyConfig.addPassthroughCopy({ "node_modules/simpledotcss/simple.css": "css/simple.css", }); eleventyConfig.addPassthroughCopy({ "src/robots.txt": "robots.txt" }); - eleventyConfig.addPassthroughCopy({ "assets/images/about/devon.lol-button-03.gif": "images/devon.lol-button-03.gif" }); eleventyConfig.addFilter("buildPageTitle", function(title) { if (this.page.url === '/') { diff --git a/assets/fonts/example.html b/assets/fonts/example.html deleted file mode 100644 index 7cf183b..0000000 --- a/assets/fonts/example.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - -

Generated from: http://www.cufonfonts.com


-

AaBbCcDdEeFfGgHhŞşIıİi Example

- - - - \ No newline at end of file diff --git a/create-blog-post.sh b/create-blog-post.sh index e6ab268..127a1a4 100755 --- a/create-blog-post.sh +++ b/create-blog-post.sh @@ -1,29 +1,40 @@ #!/bin/bash -check_existing_file() { - if [ -e "$1/$2.md" ]; then - echo "Error: A file with the name '$2.md' already exists in the '$1' directory." +check_existing_blog_file() { + if [ -e "src/blog/$1/index.md" ]; then + echo "Error: A file with the name 'index.md' already exists in the 'src/blog/$1' directory." exit 1 fi } -read -p "Enter the title for the new blog post: " title +check_existing_feed_file() { + if [ -e "src/feed/$1.md" ]; then + echo "Error: A file with the name '$1.md' already exists in the 'src/feed' directory." + exit 1 + fi +} + +if [ -n "$1" ]; then + title=$1 +else + read -p "Enter the title for the new blog post: " title +fi + kebab_title=$(echo "$title" | tr '[:upper:]' '[:lower:]' | tr ' ' '-') -check_existing_file "src/blog" "$kebab_title" -check_existing_file "src/feed" "$kebab_title" +check_existing_blog_file "$kebab_title" +check_existing_feed_file "$kebab_title" -# Create a new blog post file with the appropriate frontmatter and content -echo "---" > "src/blog/$kebab_title.md" -echo "title: $title" >> "src/blog/$kebab_title.md" -echo "layout: article.njk" >> "src/blog/$kebab_title.md" -echo "date: git Last Modified" >> "src/blog/$kebab_title.md" -echo "tags: post" >> "src/blog/$kebab_title.md" -echo "excerpt: Placeholder text for excerpt" >> "src/blog/$kebab_title.md" -echo "---" >> "src/blog/$kebab_title.md" -echo -e "\nThis is the content of the new blog post." >> "src/blog/$kebab_title.md" +mkdir -p "src/blog/$kebab_title" +echo "---" > "src/blog/$kebab_title/index.md" +echo "title: $title" >> "src/blog/$kebab_title/index.md" +echo "layout: article.njk" >> "src/blog/$kebab_title/index.md" +echo "date: git Last Modified" >> "src/blog/$kebab_title/index.md" +echo "tags: post" >> "src/blog/$kebab_title/index.md" +echo "excerpt: Placeholder text for excerpt" >> "src/blog/$kebab_title/index.md" +echo "---" >> "src/blog/$kebab_title/index.md" +echo -e "\nThis is the content of the new blog post." >> "src/blog/$kebab_title/index.md" -# Create a new feed file with the appropriate frontmatter echo "---" > "src/feed/$kebab_title.md" echo "title: $title" >> "src/feed/$kebab_title.md" echo "relativeUrl: /blog/$kebab_title" >> "src/feed/$kebab_title.md" @@ -32,4 +43,4 @@ echo "tags: feed" >> "src/feed/$kebab_title.md" echo "---" >> "src/feed/$kebab_title.md" echo -e "\nThis is the content of the new blog post." >> "src/feed/$kebab_title.md" -$EDITOR "src/blog/$kebab_title.md" +$EDITOR "src/blog/$kebab_title/index.md" diff --git a/assets/css/theme.css b/css/theme.css similarity index 100% rename from assets/css/theme.css rename to css/theme.css diff --git a/assets/favicon/android-chrome-192x192.png b/favicon/android-chrome-192x192.png similarity index 100% rename from assets/favicon/android-chrome-192x192.png rename to favicon/android-chrome-192x192.png diff --git a/assets/favicon/android-chrome-512x512.png b/favicon/android-chrome-512x512.png similarity index 100% rename from assets/favicon/android-chrome-512x512.png rename to favicon/android-chrome-512x512.png diff --git a/assets/favicon/apple-touch-icon.png b/favicon/apple-touch-icon.png similarity index 100% rename from assets/favicon/apple-touch-icon.png rename to favicon/apple-touch-icon.png diff --git a/assets/favicon/favicon-16x16.png b/favicon/favicon-16x16.png similarity index 100% rename from assets/favicon/favicon-16x16.png rename to favicon/favicon-16x16.png diff --git a/assets/favicon/favicon-32x32.png b/favicon/favicon-32x32.png similarity index 100% rename from assets/favicon/favicon-32x32.png rename to favicon/favicon-32x32.png diff --git a/assets/favicon/favicon.ico b/favicon/favicon.ico similarity index 100% rename from assets/favicon/favicon.ico rename to favicon/favicon.ico diff --git a/assets/favicon/site.webmanifest b/favicon/site.webmanifest similarity index 100% rename from assets/favicon/site.webmanifest rename to favicon/site.webmanifest diff --git a/assets/fonts/BitBold.woff b/fonts/BitBold.woff similarity index 100% rename from assets/fonts/BitBold.woff rename to fonts/BitBold.woff diff --git a/assets/fonts/style.css b/fonts/style.css similarity index 100% rename from assets/fonts/style.css rename to fonts/style.css diff --git a/assets/images/about/devon.lol-button-03.gif b/images/about/devon.lol-button-03.gif similarity index 100% rename from assets/images/about/devon.lol-button-03.gif rename to images/about/devon.lol-button-03.gif diff --git a/assets/images/about/good-news-everyone.gif b/images/about/good-news-everyone.gif similarity index 100% rename from assets/images/about/good-news-everyone.gif rename to images/about/good-news-everyone.gif diff --git a/images/blog/outsourcing-my-memory-to-gum/script-discovery.gif b/images/blog/outsourcing-my-memory-to-gum/script-discovery.gif new file mode 100644 index 0000000000000000000000000000000000000000..13ef2ea8b636d3447136524f031f170ec1dd92a6 GIT binary patch literal 108293 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

$hvfuOV>9MM|jW=!{^C{c?Yn#)Whxsj^eh)2f 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

=OcKDh#p4a~S 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 [It does](/blog/the-old-web)! @@ -24,8 +24,8 @@ You can follow me [on Mastodon](https://techhub.social/@RadDevon). I tend to be If you want to link to my site, you can use these buttons! -![A button with "Devon.Lol" in green text giving off a neon glow on top of a purple background with shapes on top of it in green, a lighter purple, pink, and blue. The background is inspired by the funky carpeting at the arcades of the 90s.](./assets/images/about/devon.lol-button-01.png) -![A button with a purple border and a character from Earthbound glowing green on top of a black background. To his right, "Devon.Lol" is written in pink and glows blue.](./assets/images/about/devon.lol-button-02.png) -A button resembling a dialog box from the SNES RPG Earthbound. "Devon.LoL" is written inside in white. +![A button with "Devon.Lol" in green text giving off a neon glow on top of a purple background with shapes on top of it in green, a lighter purple, pink, and blue. The background is inspired by the funky carpeting at the arcades of the 90s.](./src/about/images/devon.lol-button-01.png) +![A button with a purple border and a character from Earthbound glowing green on top of a black background. To his right, "Devon.Lol" is written in pink and glows blue.](./src/about/images/devon.lol-button-02.png) +A button resembling a dialog box from the SNES RPG Earthbound. "Devon.LoL" is written inside in white. Feel free to skip the buttons too if you prefer. I personally prefer when links to other sites have some context, so text links are even better. Any link is appreciated. diff --git a/assets/images/blog/covid-comfort-report-card-october-2023/braga.jpg b/src/blog/covid-comfort-report-card-october-2023/images/braga.jpg similarity index 100% rename from assets/images/blog/covid-comfort-report-card-october-2023/braga.jpg rename to src/blog/covid-comfort-report-card-october-2023/images/braga.jpg diff --git a/assets/images/blog/covid-comfort-report-card-october-2023/chicago.jpg b/src/blog/covid-comfort-report-card-october-2023/images/chicago.jpg similarity index 100% rename from assets/images/blog/covid-comfort-report-card-october-2023/chicago.jpg rename to src/blog/covid-comfort-report-card-october-2023/images/chicago.jpg diff --git a/assets/images/blog/covid-comfort-report-card-october-2023/knoxville-tn-covid-vaccination-page.png b/src/blog/covid-comfort-report-card-october-2023/images/knoxville-tn-covid-vaccination-page.png similarity index 100% rename from assets/images/blog/covid-comfort-report-card-october-2023/knoxville-tn-covid-vaccination-page.png rename to src/blog/covid-comfort-report-card-october-2023/images/knoxville-tn-covid-vaccination-page.png diff --git a/assets/images/blog/covid-comfort-report-card-october-2023/knoxville.jpg b/src/blog/covid-comfort-report-card-october-2023/images/knoxville.jpg similarity index 100% rename from assets/images/blog/covid-comfort-report-card-october-2023/knoxville.jpg rename to src/blog/covid-comfort-report-card-october-2023/images/knoxville.jpg diff --git a/assets/images/blog/covid-comfort-report-card-october-2023/milwaukee.jpg b/src/blog/covid-comfort-report-card-october-2023/images/milwaukee.jpg similarity index 100% rename from assets/images/blog/covid-comfort-report-card-october-2023/milwaukee.jpg rename to src/blog/covid-comfort-report-card-october-2023/images/milwaukee.jpg diff --git a/assets/images/blog/covid-comfort-report-card-october-2023/minneapolis.jpg b/src/blog/covid-comfort-report-card-october-2023/images/minneapolis.jpg similarity index 100% rename from assets/images/blog/covid-comfort-report-card-october-2023/minneapolis.jpg rename to src/blog/covid-comfort-report-card-october-2023/images/minneapolis.jpg diff --git a/assets/images/blog/covid-comfort-report-card-october-2023/montreal.jpg b/src/blog/covid-comfort-report-card-october-2023/images/montreal.jpg similarity index 100% rename from assets/images/blog/covid-comfort-report-card-october-2023/montreal.jpg rename to src/blog/covid-comfort-report-card-october-2023/images/montreal.jpg diff --git a/assets/images/blog/covid-comfort-report-card-october-2023/philadelphia.jpg b/src/blog/covid-comfort-report-card-october-2023/images/philadelphia.jpg similarity index 100% rename from assets/images/blog/covid-comfort-report-card-october-2023/philadelphia.jpg rename to src/blog/covid-comfort-report-card-october-2023/images/philadelphia.jpg diff --git a/assets/images/blog/covid-comfort-report-card-october-2023/pittsburgh.jpg b/src/blog/covid-comfort-report-card-october-2023/images/pittsburgh.jpg similarity index 100% rename from assets/images/blog/covid-comfort-report-card-october-2023/pittsburgh.jpg rename to src/blog/covid-comfort-report-card-october-2023/images/pittsburgh.jpg diff --git a/assets/images/blog/covid-comfort-report-card-october-2023/portland.jpg b/src/blog/covid-comfort-report-card-october-2023/images/portland.jpg similarity index 100% rename from assets/images/blog/covid-comfort-report-card-october-2023/portland.jpg rename to src/blog/covid-comfort-report-card-october-2023/images/portland.jpg diff --git a/assets/images/blog/covid-comfort-report-card-october-2023/porto.jpg b/src/blog/covid-comfort-report-card-october-2023/images/porto.jpg similarity index 100% rename from assets/images/blog/covid-comfort-report-card-october-2023/porto.jpg rename to src/blog/covid-comfort-report-card-october-2023/images/porto.jpg diff --git a/assets/images/blog/covid-comfort-report-card-october-2023/seattle.jpg b/src/blog/covid-comfort-report-card-october-2023/images/seattle.jpg similarity index 100% rename from assets/images/blog/covid-comfort-report-card-october-2023/seattle.jpg rename to src/blog/covid-comfort-report-card-october-2023/images/seattle.jpg diff --git a/assets/images/blog/covid-comfort-report-card-october-2023/slc.jpg b/src/blog/covid-comfort-report-card-october-2023/images/slc.jpg similarity index 100% rename from assets/images/blog/covid-comfort-report-card-october-2023/slc.jpg rename to src/blog/covid-comfort-report-card-october-2023/images/slc.jpg diff --git a/src/blog/covid-comfort-report-card-october-2023.md b/src/blog/covid-comfort-report-card-october-2023/index.md similarity index 94% rename from src/blog/covid-comfort-report-card-october-2023.md rename to src/blog/covid-comfort-report-card-october-2023/index.md index 2c30b2d..0e15374 100644 --- a/src/blog/covid-comfort-report-card-october-2023.md +++ b/src/blog/covid-comfort-report-card-october-2023/index.md @@ -1,7 +1,7 @@ --- title: Covid Comfort Report Card, October, 2023 layout: article.njk -date: git Last Modified +date: 2023-10-22 # Revert to `git Last Modified` after next modification tags: post excerpt: If you travel as a Covid-cautious person, you'll find it more or less comfortable to exist in some cities based on a number of factors. Here's my roundup of the cities I've visited. --- @@ -16,7 +16,7 @@ I'll be looking at some subjective factors like my own experiences existing in t ## Braga, Portugal -![A pedestrian square in Braga, Portugal. It is a sunny day with blue skies. Two birds are flying off the left side of the photo. Mid-rise mixed use buildings line the right side of the photo. The square consist of a couple of raised beds of grass and rows of flowers — pink, orange, red, white, and purple. A pedestrian path runs down the middle of the beds and to the right, against the buildings. Trees are planted in the middle of the right portion of the walking path. Many people are walking and sitting around the square.](./assets/images/blog/covid-comfort-report-card-october-2023/braga.jpg) +![A pedestrian square in Braga, Portugal. It is a sunny day with blue skies. Two birds are flying off the left side of the photo. Mid-rise mixed use buildings line the right side of the photo. The square consist of a couple of raised beds of grass and rows of flowers — pink, orange, red, white, and purple. A pedestrian path runs down the middle of the beds and to the right, against the buildings. Trees are planted in the middle of the right portion of the walking path. Many people are walking and sitting around the square.](./src/blog/covid-comfort-report-card-october-2023/images/braga.jpg) No one here was anything but nice to me. I never got a sideways glance and no one ever accosted me — at least, not in English! 😅 @@ -24,7 +24,7 @@ I don't have per-city vaccination data on Portugal, but [86.1% of the country is ## Chicago, Illinois -![The Chicago River lined with buildings on either side. The water is a greenish-blue with a maroon bridge crossing it and a boat that has just passed under the bridge, moving away from the camera. The sky is cloudy and overcast, with a bird flying just right of center. Two tall glass buildings are in the center of the photo in the distance.](./assets/images/blog/covid-comfort-report-card-october-2023/chicago.jpg) +![The Chicago River lined with buildings on either side. The water is a greenish-blue with a maroon bridge crossing it and a boat that has just passed under the bridge, moving away from the camera. The sky is cloudy and overcast, with a bird flying just right of center. Two tall glass buildings are in the center of the photo in the distance.](./src/blog/covid-comfort-report-card-october-2023/images/chicago.jpg) Chicago is one of the friendliest US cities I've been to for the Covid-conscious. Masking is relatively common, especially on public transit. Lots of masking in the airport which is great to see. @@ -32,13 +32,13 @@ Chicago is one of the friendliest US cities I've been to for the Covid-conscious ## Knoxville, Tennessee -![A rendition of the Henley Street Bridge in Lego at a Lego convention in Knoxville, Tennessee](./assets/images/blog/covid-comfort-report-card-october-2023/knoxville.jpg) +![A rendition of the Henley Street Bridge in Lego at a Lego convention in Knoxville, Tennessee](./src/blog/covid-comfort-report-card-october-2023/images/knoxville.jpg) The South maintains its reputation of being friendly… as long as you're exactly like them. In this case, that means that you are anti-vax and certainly not masked. I was accosted no less than three times in a few weeks in Knoxville while masked. If you're wearing a mask here, even in a crowded public area, you'll very likely be the only one. Moving around in downtown, I would see a handful of people in a given week who were also masked. Knoxville has a site for Covid vaccination data… but unless there's something wrong with my browser or internet connection, that site is literally empty. I see boxes with labels where data should be, yet those boxes have no numbers in them. I thought the site was just broken and maybe I could [download Knoxville's data as a CSV](https://www.tn.gov/content/dam/tn/health/documents/cedep/novel-coronavirus/datasets/COVID_VACCINE_COUNTY_SUMMARY.CSV), but, again, unless there's a weird problem on my end, this link produces a CSV with only column headers and no actual data. -![A Tennessee Covid vaccination data page with several boxes for data… but all of the boxes are empty.](./assets/images/blog/covid-comfort-report-card-october-2023/knoxville-tn-covid-vaccination-page.png) +![A Tennessee Covid vaccination data page with several boxes for data… but all of the boxes are empty.](./src/blog/covid-comfort-report-card-october-2023/images/knoxville-tn-covid-vaccination-page.png) It's safe to assume this means the number is embarrassingly low — so low, in fact, Knoxville is willing to literally kill people by giving them insufficient information about whether or not they should visit in order to avoid sharing it. We can extrapolate from the [CDC's data on Tennessee as a whole](https://covid.cdc.gov/covid-data-tracker/#vaccinations_vacc-people-booster-percent-total): only 56.4% have received the full series and an abysmal 10.6% have received a bivalent booster. Maybe not worth killing people over — that problem will take care of itself — but certainly worth getting embarrassed over. @@ -46,7 +46,7 @@ So, if your path happens to intersect with Knoxville and assuming you value your ## Milwaukee, Wisconsin -![A photo of Lake Michigan in Milwaukee. The sky is bright blue with wispy clouds. The lake water is blue green and dominates the right side of the picture, but there is a small peninsula jutting out into it, covered with grass and trees. On the left side of the photo, a walking path runs along the lakefront. Several people are walking and running on the path. In the distance on the left side of the photo, you can see the city skyline.](./assets/images/blog/covid-comfort-report-card-october-2023/milwaukee.jpg) +![A photo of Lake Michigan in Milwaukee. The sky is bright blue with wispy clouds. The lake water is blue green and dominates the right side of the picture, but there is a small peninsula jutting out into it, covered with grass and trees. On the left side of the photo, a walking path runs along the lakefront. Several people are walking and running on the path. In the distance on the left side of the photo, you can see the city skyline.](./src/blog/covid-comfort-report-card-october-2023/images/milwaukee.jpg) Milwaukee seemed generally accepting of masking. I was shouted at once out of a moving mini-van — a great way to be taken seriously when delivering medical advice. I didn't see many other people masking. Perhaps more than a town like Knoxville, but not by much. Comfort level in general was still much higher though. @@ -64,7 +64,7 @@ In a moment of weakness, I allowed myself to be convinced I should visit the Mal I made my way through the mall. It was relatively uneventful. It was about like I thought it would be. I did think that, since it's the Mall of America, it would probably be packed to the brim with cool stores. Instead, it seems to be suffering like most malls, with lots of empty storefronts and stores that almost certainly couldn't have afforded the rent in the mall's heyday. Anti-vaxxers though can thrive in even the most downtrodden shopping mall. -![The “Got Kilt?” storefront in the Mall of America in Minneapolis. A cardboard standup of a kilt-wearing man greets you at the entrance. Through the glass, you can see some Funkopops, several items of clothing, and a few plushies.](./assets/images/blog/covid-comfort-report-card-october-2023/minneapolis.jpg) +![The “Got Kilt?” storefront in the Mall of America in Minneapolis. A cardboard standup of a kilt-wearing man greets you at the entrance. Through the glass, you can see some Funkopops, several items of clothing, and a few plushies.](./src/blog/covid-comfort-report-card-october-2023/images/minneapolis.jpg) I was walking through the mall, masked, minding my own business, when a man called out to me, "nice mask." I felt the corners of my mouth turned up. "A compliment! How nice," I though to myself, but this was a Trojan horse. Now that my guard was down, the guy dropped his bomb: "THE PANDEMIC IS OVER, YA KNOW!" It's the last time I ever drop my guard and expose my soft underbelly to a man wearing a camo t-shirt and a baseball cap to cover up a "business in the front" haircut while leaving his luscious "party in the back" exposed. @@ -76,7 +76,7 @@ If I had to guess, I'd say we're hovering around the 55% mark with some of the o ## Montreal, Quebec, Canada -![A gray stone cathedral in Montreal, Quebec. Several people are walking in a pedestrian square in the foreground of the frame. Cars drive past the cathedral, just beyond the square. One of the cathedral's two towers (the one on the right side of the frame) has scaffolding built up on it. The sky is mostly overcast, but the light of the sun illuminates through the clouds behind that same tower.](./assets/images/blog/covid-comfort-report-card-october-2023/montreal.jpg) +![A gray stone cathedral in Montreal, Quebec. Several people are walking in a pedestrian square in the foreground of the frame. Cars drive past the cathedral, just beyond the square. One of the cathedral's two towers (the one on the right side of the frame) has scaffolding built up on it. The sky is mostly overcast, but the light of the sun illuminates through the clouds behind that same tower.](./src/blog/covid-comfort-report-card-october-2023/images/montreal.jpg) Montreal was lovely and everyone there was lovely to me. No one blinked twice at my mask, and if they delivered any Minneapolis-style sick burns, they were in a language I did not understand. @@ -86,7 +86,7 @@ What I can see though is that the adult age grouping that surely represents a la ## Philadelphia, Pennsylvania -![Looking down Elfreth's Alley, a historic street in Philadelphia, Pennsylvania. The sky is bright blue with wispy clouds. The center of the street is cobblestones, and to either side of the stones, the street is brick. The cobbled section is lined with red bollards. The street is narrow and lined with early American homes on either side. The homes are all red brick, some with off-white (yellow-ish) wooden trim. The first home on the left has a green door and a bicentennial flag on a pole.](./assets/images/blog/covid-comfort-report-card-october-2023/philadelphia.jpg) +![Looking down Elfreth's Alley, a historic street in Philadelphia, Pennsylvania. The sky is bright blue with wispy clouds. The center of the street is cobblestones, and to either side of the stones, the street is brick. The cobbled section is lined with red bollards. The street is narrow and lined with early American homes on either side. The homes are all red brick, some with off-white (yellow-ish) wooden trim. The first home on the left has a green door and a bicentennial flag on a pole.](./src/blog/covid-comfort-report-card-october-2023/images/philadelphia.jpg) No one has ever said anything to me or treated me differently in Philadelphia because I was wearing a mask. In fact, I've had quite a few lovely interactions while masked. Lots of people are still masking in the city, especially on public transit. I didn't notice quite the same levels of masking at the airport as I did at O'Hare, but it's still a very comfortable place to be Covid-conscious, at least on this "feel" metric. Let's see how it compares on the more metric-y metrics. @@ -98,7 +98,7 @@ Sadly, I don't see any data about uptake of the bivalent booster. Unless Philade ## Pittsburgh, Pennsylvania -![A panorama of the former Pittsburgh Glass Company. In the center is a square with small trees in planters. All around are castle-like buildings made entirely of glass. The sky is partly cloudy and blue and is reflected in the buildings. A street lies in the foreground, with an armored vehicle to the left and some cars on the right. People are walking around and enjoying the square.](./assets/images/blog/covid-comfort-report-card-october-2023/pittsburgh.jpg) +![A panorama of the former Pittsburgh Glass Company. In the center is a square with small trees in planters. All around are castle-like buildings made entirely of glass. The sky is partly cloudy and blue and is reflected in the buildings. A street lies in the foreground, with an armored vehicle to the left and some cars on the right. People are walking around and enjoying the square.](./src/blog/covid-comfort-report-card-october-2023/images/pittsburgh.jpg) By the time I got to Pittsburgh, I was on a bit of a hair trigger after having been harassed for masking in so many American cities. My head was on a bit of a swivel. I was out one evening getting bubble tea, and a frat bro shouted at me out of a car. Aside from that, people were very nice. My experience was colored more by the accrued psychic damage from months of harassment up to that point than it was by Pittsburgh itself. @@ -106,7 +106,7 @@ By the time I got to Pittsburgh, I was on a bit of a hair trigger after having b ## Portland, Oregon -![Multi-colored houses near downtown Portland, Oregon. The photo looks down a sidewalk. On the left, a few cars are parked on the street. On the right, you see three brightly colored Victorian houses, each a unique mix of various shades of blue, pink, red, green, purple, and yellow. The sky is blue, and the sun shines brightly from behind one of the houses.](./assets/images/blog/covid-comfort-report-card-october-2023/portland.jpg) +![Multi-colored houses near downtown Portland, Oregon. The photo looks down a sidewalk. On the left, a few cars are parked on the street. On the right, you see three brightly colored Victorian houses, each a unique mix of various shades of blue, pink, red, green, purple, and yellow. The sky is blue, and the sun shines brightly from behind one of the houses.](./src/blog/covid-comfort-report-card-october-2023/images/portland.jpg) I always felt comfortable masking in Portland. It seems people mask at a higher rate than in other cities — comparable to Chicago and Seattle. I can't recall ever being harassed about it. @@ -114,13 +114,13 @@ Portland does not, best I can tell, publish its own data, but [the Oregon Health ## Porto, Portugal -![A cloudy day in Porto showing a street in the touristy part of town. The ground is wet, and a couple walks toward the camera carrying folded umbrellas. On the right of the frame, we see outdoor seating for a couple of restaurants. on the left, buildings each about seven stories high. The ground level has a series of arches. Further down, the street is lined on both sides by buildings of a similar height, and the street begins to curve left and go up a hill. A dozen or so people are walking the streets and surrounding areas in the shot.](./assets/images/blog/covid-comfort-report-card-october-2023/porto.jpg) +![A cloudy day in Porto showing a street in the touristy part of town. The ground is wet, and a couple walks toward the camera carrying folded umbrellas. On the right of the frame, we see outdoor seating for a couple of restaurants. on the left, buildings each about seven stories high. The ground level has a series of arches. Further down, the street is lined on both sides by buildings of a similar height, and the street begins to curve left and go up a hill. A dozen or so people are walking the streets and surrounding areas in the shot.](./src/blog/covid-comfort-report-card-october-2023/images/porto.jpg) I don't have much to say about Porto that I didn't already say about Braga. People were kind and no one hassled me during my time here. ## Salt Lake City, Utah -![A sea of concrete running through downtown Salt Lake City: this shot is taken from a center of a six-lane plus turning lane monstrosity gouging through the center of downtown Salt Lake City. You can see the traffic lights faced to the lane carrying traffic going away from the camera. The pole holds four signals, all red. There are very few cars in the frame. Further in the distance, you can see some highrise buildings. On the left, a glass building with some yellow accents. On the right, a building currently under construction along with an orange construction crane.](./assets/images/blog/covid-comfort-report-card-october-2023/slc.jpg) +![A sea of concrete running through downtown Salt Lake City: this shot is taken from a center of a six-lane plus turning lane monstrosity gouging through the center of downtown Salt Lake City. You can see the traffic lights faced to the lane carrying traffic going away from the camera. The pole holds four signals, all red. There are very few cars in the frame. Further in the distance, you can see some highrise buildings. On the left, a glass building with some yellow accents. On the right, a building currently under construction along with an orange construction crane.](./src/blog/covid-comfort-report-card-october-2023/images/slc.jpg) Salt Lake City wasn't my favorite place to be — their downtown is made up primarily of endless criss-crossing highways — but I wasn't accosted a single time about my mask. I even got a haircut here while masked, and the barber was very friendly. I was here for a conference, and the conference required masking which was awesome! That led to SLC being one of my most comfortable places, along with Philly, Chicago, Portland, Seattle… and anywhere that *isn't* the US. 😅 @@ -128,7 +128,7 @@ Salt Lake City wasn't my favorite place to be — their downtown is made up prim ## Seattle, Washington -![The most nineties car you have ever seen, parked on a street in Seattle, Washington. It is a Subaru, Baja — a car with a truck bed. The car is painted teal, pink, grey, red, and yellow. It is apparently a delivery car for a restaurant called Un Bien Caribbean and Latin Food.](./assets/images/blog/covid-comfort-report-card-october-2023/seattle.jpg) +![The most nineties car you have ever seen, parked on a street in Seattle, Washington. It is a Subaru, Baja — a car with a truck bed. The car is painted teal, pink, grey, red, and yellow. It is apparently a delivery car for a restaurant called Un Bien Caribbean and Latin Food.](./src/blog/covid-comfort-report-card-october-2023/images/seattle.jpg) I love Seattle. I've spent a lot of time here, and I've never felt uncomfortable masking. Masking is still relatively common, and I know from my time living there that vaccination rates are sky-high… but let's see exactly *how* sky-high they are. diff --git a/assets/images/blog/curses-aint-all-bad/getting-a-curse.jpg b/src/blog/curses-aint-all-bad/images/getting-a-curse.jpg similarity index 100% rename from assets/images/blog/curses-aint-all-bad/getting-a-curse.jpg rename to src/blog/curses-aint-all-bad/images/getting-a-curse.jpg diff --git a/src/blog/curses-aint-all-bad.md b/src/blog/curses-aint-all-bad/index.md similarity index 96% rename from src/blog/curses-aint-all-bad.md rename to src/blog/curses-aint-all-bad/index.md index a92dfef..9c4f4d2 100644 --- a/src/blog/curses-aint-all-bad.md +++ b/src/blog/curses-aint-all-bad/index.md @@ -1,14 +1,14 @@ --- title: Curses Ain't All Bad layout: article.njk -date: git Last Modified +date: 2022-12-03 # Revert to `git Last Modified` after next modification tags: post excerpt: Curse of the Dead Gods taught me something about life while I was learning that curses don't really need to be avoided at all costs. Sometimes, they can even be a good thing. --- I was very bad at the video game Curse of the Dead Gods at first because "curses" were, in my mind, something to be avoided at all costs. I thought of them as punishments for doing poorly, and I didn't want to be punished. -![The main character of Curse of the Dead Gods getting a curse](./assets/images/blog/curses-aint-all-bad/getting-a-curse.jpg) +![The main character of Curse of the Dead Gods getting a curse](./src/blog/curses-aint-all-bad/images/getting-a-curse.jpg) You can't avoid them, though, and once you've played a few times, you realize curses aren't all that bad. In fact, the rewards you get by making blood offerings generally outweigh the problems the curses introduce. The curses usually even have a tiny upside. diff --git a/src/blog/good-enough-is-great.md b/src/blog/good-enough-is-great/index.md similarity index 98% rename from src/blog/good-enough-is-great.md rename to src/blog/good-enough-is-great/index.md index 8e9eff4..54d6a8c 100644 --- a/src/blog/good-enough-is-great.md +++ b/src/blog/good-enough-is-great/index.md @@ -1,7 +1,7 @@ --- title: What If "Good Enough" Is Actually Great? layout: article.njk -date: git Last Modified +date: 2024-03-31 # Revert to `git Last Modified` after next modification tags: post excerpt: I make the argument that maybe "good enough" is better than we think. --- diff --git a/src/blog/how-to-stop-feeding-ai.md b/src/blog/how-to-stop-feeding-ai/index.md similarity index 94% rename from src/blog/how-to-stop-feeding-ai.md rename to src/blog/how-to-stop-feeding-ai/index.md index d39798b..8f57828 100644 --- a/src/blog/how-to-stop-feeding-ai.md +++ b/src/blog/how-to-stop-feeding-ai/index.md @@ -1,7 +1,7 @@ --- title: How to Stop Feeding AI layout: article.njk -date: git Last Modified +date: 2023-08-14 # Revert to `git Last Modified` after next modification tags: post excerpt: It's now possible to tell OpenAI's bot not to crawl your web site, so I did it. --- diff --git a/src/blog/im-on-youtube.md b/src/blog/im-on-youtube/index.md similarity index 98% rename from src/blog/im-on-youtube.md rename to src/blog/im-on-youtube/index.md index 510e880..86ca1ef 100644 --- a/src/blog/im-on-youtube.md +++ b/src/blog/im-on-youtube/index.md @@ -1,7 +1,7 @@ --- title: I'm on YouTube (Hurray, I guess?) layout: article.njk -date: git Last Modified +date: 2024-02-19 # Revert to `git Last Modified` after next modification tags: post excerpt: I launched a video game channel where I try out and share new (to me) games. It's on YouTube because the alternatives aren't great. --- diff --git a/src/blog/implementing-webmentions-is-a-pain.md b/src/blog/implementing-webmentions-is-a-pain/index.md similarity index 97% rename from src/blog/implementing-webmentions-is-a-pain.md rename to src/blog/implementing-webmentions-is-a-pain/index.md index f0a5787..fa39f16 100644 --- a/src/blog/implementing-webmentions-is-a-pain.md +++ b/src/blog/implementing-webmentions-is-a-pain/index.md @@ -1,7 +1,7 @@ --- title: Implementing webmentions is a pain layout: article.njk -date: git Last Modified +date: 2024-06-20 # Revert to `git Last Modified` after next modification tags: post excerpt: Facebook, Twitter, and the others have taken control of the web by making it easy for regular people to interact online. Our answer for interactions people can own is Webmentions, but they have an Achilles' heel… --- diff --git a/assets/images/blog/rapid-fire-game-reviews-holiday-2022/betrayal.jpg b/src/blog/rapid-fire-game-reviews-holiday-2022/images/betrayal.jpg similarity index 100% rename from assets/images/blog/rapid-fire-game-reviews-holiday-2022/betrayal.jpg rename to src/blog/rapid-fire-game-reviews-holiday-2022/images/betrayal.jpg diff --git a/assets/images/blog/rapid-fire-game-reviews-holiday-2022/delta-manifold.jpg b/src/blog/rapid-fire-game-reviews-holiday-2022/images/delta-manifold.jpg similarity index 100% rename from assets/images/blog/rapid-fire-game-reviews-holiday-2022/delta-manifold.jpg rename to src/blog/rapid-fire-game-reviews-holiday-2022/images/delta-manifold.jpg diff --git a/assets/images/blog/rapid-fire-game-reviews-holiday-2022/dread-delusion.jpg b/src/blog/rapid-fire-game-reviews-holiday-2022/images/dread-delusion.jpg similarity index 100% rename from assets/images/blog/rapid-fire-game-reviews-holiday-2022/dread-delusion.jpg rename to src/blog/rapid-fire-game-reviews-holiday-2022/images/dread-delusion.jpg diff --git a/assets/images/blog/rapid-fire-game-reviews-holiday-2022/haak.jpg b/src/blog/rapid-fire-game-reviews-holiday-2022/images/haak.jpg similarity index 100% rename from assets/images/blog/rapid-fire-game-reviews-holiday-2022/haak.jpg rename to src/blog/rapid-fire-game-reviews-holiday-2022/images/haak.jpg diff --git a/assets/images/blog/rapid-fire-game-reviews-holiday-2022/immortality.jpg b/src/blog/rapid-fire-game-reviews-holiday-2022/images/immortality.jpg similarity index 100% rename from assets/images/blog/rapid-fire-game-reviews-holiday-2022/immortality.jpg rename to src/blog/rapid-fire-game-reviews-holiday-2022/images/immortality.jpg diff --git a/assets/images/blog/rapid-fire-game-reviews-holiday-2022/lunacid.jpg b/src/blog/rapid-fire-game-reviews-holiday-2022/images/lunacid.jpg similarity index 100% rename from assets/images/blog/rapid-fire-game-reviews-holiday-2022/lunacid.jpg rename to src/blog/rapid-fire-game-reviews-holiday-2022/images/lunacid.jpg diff --git a/assets/images/blog/rapid-fire-game-reviews-holiday-2022/midnight-fight-express.jpg b/src/blog/rapid-fire-game-reviews-holiday-2022/images/midnight-fight-express.jpg similarity index 100% rename from assets/images/blog/rapid-fire-game-reviews-holiday-2022/midnight-fight-express.jpg rename to src/blog/rapid-fire-game-reviews-holiday-2022/images/midnight-fight-express.jpg diff --git a/assets/images/blog/rapid-fire-game-reviews-holiday-2022/neon-white.jpg b/src/blog/rapid-fire-game-reviews-holiday-2022/images/neon-white.jpg similarity index 100% rename from assets/images/blog/rapid-fire-game-reviews-holiday-2022/neon-white.jpg rename to src/blog/rapid-fire-game-reviews-holiday-2022/images/neon-white.jpg diff --git a/assets/images/blog/rapid-fire-game-reviews-holiday-2022/pentiment.jpg b/src/blog/rapid-fire-game-reviews-holiday-2022/images/pentiment.jpg similarity index 100% rename from assets/images/blog/rapid-fire-game-reviews-holiday-2022/pentiment.jpg rename to src/blog/rapid-fire-game-reviews-holiday-2022/images/pentiment.jpg diff --git a/assets/images/blog/rapid-fire-game-reviews-holiday-2022/persona-5.jpg b/src/blog/rapid-fire-game-reviews-holiday-2022/images/persona-5.jpg similarity index 100% rename from assets/images/blog/rapid-fire-game-reviews-holiday-2022/persona-5.jpg rename to src/blog/rapid-fire-game-reviews-holiday-2022/images/persona-5.jpg diff --git a/assets/images/blog/rapid-fire-game-reviews-holiday-2022/spookware.jpg b/src/blog/rapid-fire-game-reviews-holiday-2022/images/spookware.jpg similarity index 100% rename from assets/images/blog/rapid-fire-game-reviews-holiday-2022/spookware.jpg rename to src/blog/rapid-fire-game-reviews-holiday-2022/images/spookware.jpg diff --git a/assets/images/blog/rapid-fire-game-reviews-holiday-2022/teardown.jpg b/src/blog/rapid-fire-game-reviews-holiday-2022/images/teardown.jpg similarity index 100% rename from assets/images/blog/rapid-fire-game-reviews-holiday-2022/teardown.jpg rename to src/blog/rapid-fire-game-reviews-holiday-2022/images/teardown.jpg diff --git a/assets/images/blog/rapid-fire-game-reviews-holiday-2022/timespinner.jpg b/src/blog/rapid-fire-game-reviews-holiday-2022/images/timespinner.jpg similarity index 100% rename from assets/images/blog/rapid-fire-game-reviews-holiday-2022/timespinner.jpg rename to src/blog/rapid-fire-game-reviews-holiday-2022/images/timespinner.jpg diff --git a/src/blog/rapid-fire-game-reviews-holiday-2022.md b/src/blog/rapid-fire-game-reviews-holiday-2022/index.md similarity index 90% rename from src/blog/rapid-fire-game-reviews-holiday-2022.md rename to src/blog/rapid-fire-game-reviews-holiday-2022/index.md index 495a430..ca856b5 100644 --- a/src/blog/rapid-fire-game-reviews-holiday-2022.md +++ b/src/blog/rapid-fire-game-reviews-holiday-2022/index.md @@ -1,7 +1,7 @@ --- title: Rapid Fire Game Reviews Holiday 2022 layout: article.njk -date: git Last Modified +date: 2022-12-27 # Revert to `git Last Modified` after next modification tags: post excerpt: I give my thoughts on some games I got to try recently including Spookware, Neon White, Timespinner, Delta Manifold, Dread Delusion, Lunacid, Immortality, Astalon, and Phoenotopia, among others. --- @@ -10,25 +10,25 @@ These are my thoughts on some games I've played over the last few months, in no ## Spookware -![Screenshot of Spookware featuring the three skeleton player characters standing on the deck of a cruise ship](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/spookware.jpg) +![Screenshot of Spookware featuring the three skeleton player characters standing on the deck of a cruise ship](./src/blog/rapid-fire-game-reviews-holiday-2022/images/spookware.jpg) The microgames of [WarioWare](https://www.igdb.com/games/warioware-inc-mega-microgames) paired with the cute and self-aware irreverence of [Undertale](https://www.igdb.com/games/undertale) (featuring skeletons just to complete the analogy). I really like the vibe here. The one surprising thing about the game is that a lot of it _isn't_ the WarioWare-style microgames. There's a old style adventure game bridging between the somewhat rare microgame segments. That part can be tedious. I'd like to see a sequel that de-emphasizes this aspect of the game and leans harder into the microgames. Still a lot of fun though. It had me laughing out loud. ## Neon White -![Screenshot of Neon White featuring the player character's first-person perspective on a giant bust statue on the left, a dark gray treasure chest with gold trim on the right, a spider-like demon standing next to a potted tree center, and a large white building just behind the demon with a red breakable wall on one of its faces](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/neon-white.jpg) +![Screenshot of Neon White featuring the player character's first-person perspective on a giant bust statue on the left, a dark gray treasure chest with gold trim on the right, a spider-like demon standing next to a potted tree center, and a large white building just behind the demon with a red breakable wall on one of its faces](./src/blog/rapid-fire-game-reviews-holiday-2022/images/neon-white.jpg) One of my favorite things to do in a game is to refine my skill. I like to throw myself against a challenge over and over until I finally overcome it. I think a lot about an old PS2 game that I never hear anyone talk about anymore: [Stuntman](https://www.igdb.com/games/stuntman). You played a stunt driver going from movie to movie taking on-the-fly direction as you pulled the stunts needed for various movie scenes. I don't hear people talking about that game, but it was a favorite of mine. This is that but with an art style that screams "Japanese video game!" I'm pretty sure this _isn't_ Japanese, but it could pass. Lots of fun to be had here. I look forward to getting deeper into it and refining my times! ## Timespinner -![Screenshot of Timespinner featuring the player character at the bottom of stairs, backed by her small green dragon familiar, hitting a red enemy with a sword](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/timespinner.jpg) +![Screenshot of Timespinner featuring the player character at the bottom of stairs, backed by her small green dragon familiar, hitting a red enemy with a sword](./src/blog/rapid-fire-game-reviews-holiday-2022/images/timespinner.jpg) More than any game I've tried, this game reminds me of [Symphony of the Night](https://www.igdb.com/games/castlevania-symphony-of-the-night). That's one of my favorites, so I'm excited to play more of this. It feels right in all the ways Symphony did. ## Teardown -![Screenshot of Teardown featuring a large yellow piece of construction machinery with a red arm being driven through the side of a red building. A light can be seen through the hole in the side of the building. A car is parked on the right and a truck with trailer on the left.](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/teardown.jpg) +![Screenshot of Teardown featuring a large yellow piece of construction machinery with a red arm being driven through the side of a red building. A light can be seen through the hole in the side of the building. A car is parked on the right and a truck with trailer on the left.](./src/blog/rapid-fire-game-reviews-holiday-2022/images/teardown.jpg) The destruction is so cool. Not too sure about the game they've wrapped around it. It's neat, but setting up a route to race out of a level once I start destroying stuff wouldn't be my first choice of activity. I want to take my time and bask in the destruction. @@ -46,29 +46,29 @@ I just finished [Dark Pictures: Little Hope](https://www.igdb.com/games/the-dark ## Persona 5 Royal -![Screenshot of Person 5 Royal featuring the player character standing just inside the turnstiles in a Japanese train station. A group of three young women are standing and talking a few feet away.](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/persona-5.jpg) +![Screenshot of Person 5 Royal featuring the player character standing just inside the turnstiles in a Japanese train station. A group of three young women are standing and talking a few feet away.](./src/blog/rapid-fire-game-reviews-holiday-2022/images/persona-5.jpg) Slick, stylish, and beautiful. Tedious and not very fun to play. A soundtrack that parks itself in your head well after the meter runs out. ## Delta Manifold -![Screenshot of Delta Manifold from the player character's perspective, looking down the barrel of a rectangular flat-shaded gun, aiming and firing at a large black humanoid figure with a triangular torso in a green environment covered with vines](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/delta-manifold.jpg) +![Screenshot of Delta Manifold from the player character's perspective, looking down the barrel of a rectangular flat-shaded gun, aiming and firing at a large black humanoid figure with a triangular torso in a green environment covered with vines](./src/blog/rapid-fire-game-reviews-holiday-2022/images/delta-manifold.jpg) I wish I liked this one more, but it needs a lot of polish. Some better sign-posting would be nice too. I don't want literal signposts, but I need something more than the game is giving me to tell me what to do next. The levels are just random hallways and rooms connected together with tons of dead-ends. I can't tell if I'm missing something or if someone just banged these out really quick in Unity and left all the parts where they landed. The description on the game's Steam page says it wants to be [Metroid Prime](https://www.igdb.com/games/metroid-prime). I want it to be too, but it's not there yet. ## Dread Delusion and Lunacid -![Screenshot of Dread Delusion from the player character's perspective, at the top of steps approaching a doorway to a buiding. A tree is directly in front, and to the right, a giant pink moon with red wisps coming out of it, behind mountains and evergreen trees in the distance.](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/dread-delusion.jpg) +![Screenshot of Dread Delusion from the player character's perspective, at the top of steps approaching a doorway to a buiding. A tree is directly in front, and to the right, a giant pink moon with red wisps coming out of it, behind mountains and evergreen trees in the distance.](./src/blog/rapid-fire-game-reviews-holiday-2022/images/dread-delusion.jpg) I'm lumping these together because they're both first-person RPGs that call out [King's Field](https://www.igdb.com/games/king-s-field) as an influence. Dread Delusion has a fun surreal art style but feels a bit more aimless. Both games have you wondering around a fair bit, but I felt the pain of it more in Dread Delusion. Something about the sparseness of the world and the same-ness of the environments I've been going through so far makes me feel this game is the thinner of the two, even though I'm pretty sure it's the one that has been "released" while Lunacid is still in early access. It's cool and I want to play more, but I'm not in love. -![Screenshot of Lunacid from the player character's perspective as they hold a sword, in a hallway in a tight catacomb with a slime-covered skeleton in front. Just beyond the skeleton, a bright yellow-green light floods in from a grate on the ceiling.](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/lunacid.jpg) +![Screenshot of Lunacid from the player character's perspective as they hold a sword, in a hallway in a tight catacomb with a slime-covered skeleton in front. Just beyond the skeleton, a bright yellow-green light floods in from a grate on the ceiling.](./src/blog/rapid-fire-game-reviews-holiday-2022/images/lunacid.jpg) Lunacid feels different. There's something about the darkness of it. Everything is darker. I'm spending a lot of time in tight corridors. It's a lot different from the bright environments of Dread Delusion, and I like it. I feel like I'm really discovering in this game. I'm poking at walls and finding things the game wants me to think I wasn't supposed to find. Yesterday, I found an item that was very surprising, and I'm exciting to see how it fits into this game. When I level up in Dread Delusion, it doesn't really feel like anything has changed. In Lunacid, I feel like my character is actually progressing. There's a lot I'm excited about here. ## Immortality -![Screenshot of Immortality showing an actress on the left with large hoop earrings twirling her hair and looking at the clapper loader who stands at the right edge of the frame. The clapper loader is about to clap the clapper board which has the following text: "Minsky. Gino DeGiorgio Entertainment. Dir. John DURICK. INT/NIGHT. 7-20-70. 44A. 2." Three other actors stand just behind the clapper board looking at the actress on the left. The caption reads "Scene 44A, take two."](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/immortality.jpg) +![Screenshot of Immortality showing an actress on the left with large hoop earrings twirling her hair and looking at the clapper loader who stands at the right edge of the frame. The clapper loader is about to clap the clapper board which has the following text: "Minsky. Gino DeGiorgio Entertainment. Dir. John DURICK. INT/NIGHT. 7-20-70. 44A. 2." Three other actors stand just behind the clapper board looking at the actress on the left. The caption reads "Scene 44A, take two."](./src/blog/rapid-fire-game-reviews-holiday-2022/images/immortality.jpg) I love what this game is in my head, but I'm not sold yet on what it is in reality. Because of the way I play games, I'm scared to death about the prospect of trying to come back to this game in four months when I remember I want to play more of it but _don't_ remember anything that happened in it. I hope the game has a mechanism to ease me back in at that point, but very few games actually do have something like that. When that day comes, I'm probably going to feel like I need to restart... and there's zero chance I actually do that. The anxiety about the way this game will fit into my life fills me with dread even while I've enjoyed my time with the game so far. @@ -76,13 +76,13 @@ I love what this game is in my head, but I'm not sold yet on what it is in reali ## Haak -![Screenshot of Haak showing the player character, a black figure with a round head and oblong oblique-angled yellow eyes. The character wears a blue cape and stands on a concrete interstate bridge in front of a large soldier wearing a uniform jumpsuit and a single-piece goggle and holding a large firearm. The soldier guards a hollowed-out bus that has been fashioned as a continuation of the bridge, with spikes on top and a sign that says "NEO." The bridge has spikes in the near background. Further in the background, we see a dilapidated billboard with a woman holding a drink and smiling next to foreign text, a watch tower, and a large building in disrepair. The sky is a pink orange.](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/haak.jpg) +![Screenshot of Haak showing the player character, a black figure with a round head and oblong oblique-angled yellow eyes. The character wears a blue cape and stands on a concrete interstate bridge in front of a large soldier wearing a uniform jumpsuit and a single-piece goggle and holding a large firearm. The soldier guards a hollowed-out bus that has been fashioned as a continuation of the bridge, with spikes on top and a sign that says "NEO." The bridge has spikes in the near background. Further in the background, we see a dilapidated billboard with a woman holding a drink and smiling next to foreign text, a watch tower, and a large building in disrepair. The sky is a pink orange.](./src/blog/rapid-fire-game-reviews-holiday-2022/images/haak.jpg) This Metroidvania is just really well executed. Moving around feels great. The unlockable abilities are paced well, and I haven't felt stuck so far. Just a nice experience with fun art and a cute cat helping you find your way, at least in the early parts. ## Midnight Fight Express -![Screenshot of Midnight Fight Express showing the main character wearing black pants, black shoes, a black jacket, and a white shirt. He stands on top of a train running next to an empty track. He reaches back to punch one of several opponents dressed in colorful outfits as another group approaches from behind, one baring a knife.](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/midnight-fight-express.jpg) +![Screenshot of Midnight Fight Express showing the main character wearing black pants, black shoes, a black jacket, and a white shirt. He stands on top of a train running next to an empty track. He reaches back to punch one of several opponents dressed in colorful outfits as another group approaches from behind, one baring a knife.](./src/blog/rapid-fire-game-reviews-holiday-2022/images/midnight-fight-express.jpg) The [Arkham Asylum](https://www.igdb.com/games/batman-arkham-asylum) combat works in an isometric game. I thought this was going to be great, but I think it will be ultimately forgettable. I nearly forgot to include it here! @@ -96,7 +96,7 @@ A flashy action game that's a bit awkward to play. Maybe it would get better if ## Pentiment -![Screenshot of Pentiment showing the main character Andreas with long light-brown hair wearing a red cap, a red tunic over an off-white shirt and blue pants. He is speaking to a man with gray hair, mustache, and beard wearing an off-white shirt, gray pants, and a maroon apron, standing with his sheep next to a blacksmith's anvil and forge. Tongs and horseshoes hang on a rack in front of the forge. The man's text box says, "Do you have a moment to lend me a hand?" in a casual script. Andreas's text box shows two response options written in a more formal font: "Of course" and "I'm already late to the abbey"](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/pentiment.jpg) +![Screenshot of Pentiment showing the main character Andreas with long light-brown hair wearing a red cap, a red tunic over an off-white shirt and blue pants. He is speaking to a man with gray hair, mustache, and beard wearing an off-white shirt, gray pants, and a maroon apron, standing with his sheep next to a blacksmith's anvil and forge. Tongs and horseshoes hang on a rack in front of the forge. The man's text box says, "Do you have a moment to lend me a hand?" in a casual script. Andreas's text box shows two response options written in a more formal font: "Of course" and "I'm already late to the abbey"](./src/blog/rapid-fire-game-reviews-holiday-2022/images/pentiment.jpg) This is another one that I'm in love with the idea of but not yet the game. I'll give it some more time. I've just played a few minutes at this point. @@ -112,6 +112,6 @@ The worst thing about Phoenotopia is that I can neither pronounce nor spell its ## Betrayal at Club Low -![Screenshot of Betrayal at Club Low showing the main character — a blue man with glowing blue eyes wearing a pink and gray flannel over a yellow button-up shirt with orange collar, tan denim pants, and black shoes. He has a red hat with a slice of pizza on it and a red pizza bag on his back. He stands in a room with purple walls and wood flooring. On one wall hangs a blue glowing shovel in a red frame. On another wall, tusks of a large animal that glow blue and have lights on each of the tusks' tips. To the main character's right is a bin of yellow tennis balls. To his left, a series of security monitors on a desk, all showing a tennis match. A man wearing a brown jacket, black pants, and brown shoes sits at the desk with two empty drink cans in front of him along with a tennis racket and a custom computer keyboard with green, red, orange, yellow, and brown keys.](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/betrayal.jpg) +![Screenshot of Betrayal at Club Low showing the main character — a blue man with glowing blue eyes wearing a pink and gray flannel over a yellow button-up shirt with orange collar, tan denim pants, and black shoes. He has a red hat with a slice of pizza on it and a red pizza bag on his back. He stands in a room with purple walls and wood flooring. On one wall hangs a blue glowing shovel in a red frame. On another wall, tusks of a large animal that glow blue and have lights on each of the tusks' tips. To the main character's right is a bin of yellow tennis balls. To his left, a series of security monitors on a desk, all showing a tennis match. A man wearing a brown jacket, black pants, and brown shoes sits at the desk with two empty drink cans in front of him along with a tennis racket and a custom computer keyboard with green, red, orange, yellow, and brown keys.](./src/blog/rapid-fire-game-reviews-holiday-2022/images/betrayal.jpg) This one was a surprise. I went in expecting nothing. Actually, based on the... scrappiness of the interface, I expected this to be janky. It isn't. It's simple but polished. It's a point-and-click adventure with some tabletop RPG-style dice-rolling mechanics laid on top. The dice rolling is surprisingly deep. You're allowed two re-rolls per action, and you can select which dice to re-roll. Outcomes on the dice can add other rules as well like allowing you to re-roll opponent dice or swap results with your opponent. The art style is funky. It almost looks like it doesn't all belong together, but it works. If you want something quirky and charming as heck, this is a good choice. diff --git a/assets/images/blog/the-most-influential-game-in-history/arcane-dimensions.jpg b/src/blog/the-most-influential-game-in-history/images/arcane-dimensions.jpg similarity index 100% rename from assets/images/blog/the-most-influential-game-in-history/arcane-dimensions.jpg rename to src/blog/the-most-influential-game-in-history/images/arcane-dimensions.jpg diff --git a/assets/images/blog/the-most-influential-game-in-history/quake-box.png b/src/blog/the-most-influential-game-in-history/images/quake-box.png similarity index 100% rename from assets/images/blog/the-most-influential-game-in-history/quake-box.png rename to src/blog/the-most-influential-game-in-history/images/quake-box.png diff --git a/assets/images/blog/the-most-influential-game-in-history/quake-done-quick.jpg b/src/blog/the-most-influential-game-in-history/images/quake-done-quick.jpg similarity index 100% rename from assets/images/blog/the-most-influential-game-in-history/quake-done-quick.jpg rename to src/blog/the-most-influential-game-in-history/images/quake-done-quick.jpg diff --git a/assets/images/blog/the-most-influential-game-in-history/quakespy.jpg b/src/blog/the-most-influential-game-in-history/images/quakespy.jpg similarity index 100% rename from assets/images/blog/the-most-influential-game-in-history/quakespy.jpg rename to src/blog/the-most-influential-game-in-history/images/quakespy.jpg diff --git a/src/blog/the-most-influential-game-in-history.md b/src/blog/the-most-influential-game-in-history/index.md similarity index 95% rename from src/blog/the-most-influential-game-in-history.md rename to src/blog/the-most-influential-game-in-history/index.md index 9b9b811..6395bda 100644 --- a/src/blog/the-most-influential-game-in-history.md +++ b/src/blog/the-most-influential-game-in-history/index.md @@ -1,7 +1,7 @@ --- title: The Most Influential Game in History layout: article.njk -date: git Last Modified +date: 2023-01-18 # Revert to `git Last Modified` after next modification tags: post excerpt: The most influential game is not Fortnite or Minecraft or Mario 64 or the original Super Mario Brothers. It's not any of the usual suspects, but it's fingerprints can be found all over modding, Twitch streaming, speedrunning, machinima, the keyboard + mouse control scheme, and online multiplayer gaming. --- @@ -10,13 +10,13 @@ It's hard to overstate the influence of [Minecraft](https://www.igdb.com/games/m You could make a case for plenty of other games being the most influential too. [Super Mario Brothers](https://www.igdb.com/games/super-mario-bros) showed games could be more than just score chases. [Pitfall](https://www.igdb.com/games/pitfall) opened the door for developers not employed by the console maker to make games. [Mario 64](https://www.igdb.com/games/super-mario-64) was the template for 3D platforming. [Rogue](https://www.igdb.com/games/rogue) has a whole modern genre named after it! But in spite of everything these games and Minecraft brought to the table, none of them is the most influential game ever. Instead, that title belongs to another game with Minecraft's pixelly graphics and a first-person perspective. It's a game that, like Minecraft, was PC-first and created incredible longevity by fostering an enthusiastic modding community. It's a game that planted the seeds for some of the innovations Minecraft brought forward. -![The Quake box art consisting of the title at the top written in white with the stylized 'Q' above a large brown stylized 'Q' logo, all on black](./assets/images/blog/the-most-influential-game-in-history/quake-box.png) +![The Quake box art consisting of the title at the top written in white with the stylized 'Q' above a large brown stylized 'Q' logo, all on black](./src/blog/the-most-influential-game-in-history/images/quake-box.png) [Quake](https://www.igdb.com/games/quake) was the Minecraft of its day, and its day was about 15 years before the release of Minecraft. Let's take a look at the staggering number of innovations Quake brought gamers in the mid 90s. ## Modding -![A screenshot of the Arcane Dimensions Quake mode showing a red brick wall on the left with an arch cut into it. Beyond the arch is a tall and narrow yellow stained glass window with repeated divided circles and to the right of that, another archway made of a tan colored concrete. Directly ahead in the image is a white broken archway leading to a churchy-looking room containing a portal. There is a torch on the right side wall.](./assets/images/blog/the-most-influential-game-in-history/arcane-dimensions.jpg) +![A screenshot of the Arcane Dimensions Quake mode showing a red brick wall on the left with an arch cut into it. Beyond the arch is a tall and narrow yellow stained glass window with repeated divided circles and to the right of that, another archway made of a tan colored concrete. Directly ahead in the image is a white broken archway leading to a churchy-looking room containing a portal. There is a torch on the right side wall.](./src/blog/the-most-influential-game-in-history/images/arcane-dimensions.jpg) Modding was around before Quake, but it came of age with Quake. Many community map and mod makers were ultimately hired as level designers and game developers. Valve recruited early employees out of the community and brought the team behind Quake mod Team Fortress in-house to build its sequel on Half-Life… which was itself built on the Quake 2 engine. @@ -40,7 +40,7 @@ Since the game included a few demos, you could run your benchmark against one of ## Speedrunning -![The Quake Done Quick logo consisting of an overhead wireframe of a Quake map with an arrow drawn through it to indicate a run path starting at an 'X' and terminating at another 'X'. Superimposed on the map are actual in-game rocket launcher graphics showing the location of rocket launcher pickups in the map. A shambler graphic is overlaid near the end of the run path, presumably showing the location of a shambler enemy in the level. The “Quake guy” is shown in the lower right of the logo holding a stopwatch in his right hand and a trophy in his left. The words “Quake done Quick” with stylized 'Q's appear to his left.](./assets/images/blog/the-most-influential-game-in-history/quake-done-quick.jpg) +![The Quake Done Quick logo consisting of an overhead wireframe of a Quake map with an arrow drawn through it to indicate a run path starting at an 'X' and terminating at another 'X'. Superimposed on the map are actual in-game rocket launcher graphics showing the location of rocket launcher pickups in the map. A shambler graphic is overlaid near the end of the run path, presumably showing the location of a shambler enemy in the level. The “Quake guy” is shown in the lower right of the logo holding a stopwatch in his right hand and a trophy in his left. The words “Quake done Quick” with stylized 'Q's appear to his left.](./src/blog/the-most-influential-game-in-history/images/quake-done-quick.jpg) Quake’s demo file format was great for watching others compete in deathmatch or capture the flag matches, but it was also used to records speedruns through the game’s levels. @@ -68,7 +68,7 @@ This was the dawn of the WASD + mouse control scheme that is standard among firs Before Quake, multiplayer gameplay on PC required either a game client that could dial up directly to another user’s modem or entering another player’s IP address in the game client. Enter QSpy, a Quake server browser that made it easier to find and connect to multiplayer games. -![Screenshot of the QuakeSpy application showing the menubar and toolbar on top, a list of source categories on the left (including id official servers divided by game mode, PlanetQuake servers, best.com, and Australian servers), a series of tabs just below the toolbar and right of the sidebar (with options “All Servers,” “Passed Filters,” “Filtered Out,” “Favorites,” and “Never Ping”), a list of servers below the tabs (with columns for server name, ping, address, player count/capacity, and game), a list of the selected server's players on the left side below the server list, and a list of the server's options to the right of that](./assets/images/blog/the-most-influential-game-in-history/quakespy.jpg) +![Screenshot of the QuakeSpy application showing the menubar and toolbar on top, a list of source categories on the left (including id official servers divided by game mode, PlanetQuake servers, best.com, and Australian servers), a series of tabs just below the toolbar and right of the sidebar (with options “All Servers,” “Passed Filters,” “Filtered Out,” “Favorites,” and “Never Ping”), a list of servers below the tabs (with columns for server name, ping, address, player count/capacity, and game), a list of the selected server's players on the left side below the server list, and a list of the server's options to the right of that](./src/blog/the-most-influential-game-in-history/images/quakespy.jpg) Side note: QSpy later became QuakeSpy and then [GameSpy](https://en.wikipedia.org/wiki/GameSpy), which eventually became an editorial site that operated until 2013. diff --git a/src/blog/the-old-web.md b/src/blog/the-old-web/index.md similarity index 99% rename from src/blog/the-old-web.md rename to src/blog/the-old-web/index.md index 38ba101..78655b1 100644 --- a/src/blog/the-old-web.md +++ b/src/blog/the-old-web/index.md @@ -1,7 +1,7 @@ --- title: The Old Web layout: article.njk -date: git Last Modified +date: 2023-10-01 # Revert to `git Last Modified` after next modification tags: post excerpt: I got tired of the commercial web, so I went looking for the Old Web. I'm talking about the web where people made pages just because they wanted to share something, not because they wanted to sell something. Fortunately, I found it. A lot of it. --- diff --git a/src/blog/web-browser-review-06-2024.md b/src/blog/web-browser-review-06-2024/index.md similarity index 99% rename from src/blog/web-browser-review-06-2024.md rename to src/blog/web-browser-review-06-2024/index.md index 7c7affd..ab68528 100644 --- a/src/blog/web-browser-review-06-2024.md +++ b/src/blog/web-browser-review-06-2024/index.md @@ -1,7 +1,7 @@ --- title: Web Browser Review, June 2024 layout: article.njk -date: git Last Modified +date: 2024-06-10 # Revert to `git Last Modified` after next modification tags: post excerpt: I love the Arc Browser, but every time they add new AI features of refer to me as a "member," I feel like I'm teetering over a cliff. I decided to look for a replacement. --- diff --git a/src/blog/which-dominoes-fall-after-reddit.md b/src/blog/which-dominoes-fall-after-reddit/index.md similarity index 99% rename from src/blog/which-dominoes-fall-after-reddit.md rename to src/blog/which-dominoes-fall-after-reddit/index.md index 2c67b01..12fae6b 100644 --- a/src/blog/which-dominoes-fall-after-reddit.md +++ b/src/blog/which-dominoes-fall-after-reddit/index.md @@ -1,7 +1,7 @@ --- title: Which Dominoes Fall After Reddit? layout: article.njk -date: git Last Modified +date: 2023-07-01 # Revert to `git Last Modified` after next modification tags: post excerpt: Twitter and Reddit have started their decline in usefulness in favor of what they hope is an ascent to profitability. Which sites will be the next to follow in their footsteps? --- diff --git a/src/feed/covid-comfort-report-card-october-2023.md b/src/feed/covid-comfort-report-card-october-2023.md index ebd4aef..5543c50 100644 --- a/src/feed/covid-comfort-report-card-october-2023.md +++ b/src/feed/covid-comfort-report-card-october-2023.md @@ -15,7 +15,7 @@ I'll be looking at some subjective factors like my own experiences existing in t # Braga, Portugal -![A pedestrian square in Braga, Portugal. It is a sunny day with blue skies. Two birds are flying off the left side of the photo. Mid-rise mixed use buildings line the right side of the photo. The square consist of a couple of raised beds of grass and rows of flowers — pink, orange, red, white, and purple. A pedestrian path runs down the middle of the beds and to the right, against the buildings. Trees are planted in the middle of the right portion of the walking path. Many people are walking and sitting around the square.](./assets/images/blog/covid-comfort-report-card-october-2023/braga.jpg) +![A pedestrian square in Braga, Portugal. It is a sunny day with blue skies. Two birds are flying off the left side of the photo. Mid-rise mixed use buildings line the right side of the photo. The square consist of a couple of raised beds of grass and rows of flowers — pink, orange, red, white, and purple. A pedestrian path runs down the middle of the beds and to the right, against the buildings. Trees are planted in the middle of the right portion of the walking path. Many people are walking and sitting around the square.](./src/blog/covid-comfort-report-card-october-2023/images/braga.jpg) No one here was anything but nice to me. I never got a sideways glance and no one ever accosted me — at least, not in English! 😅 @@ -23,7 +23,7 @@ I don't have per-city vaccination data on Portugal, but [86.1% of the country is # Chicago, Illinois -![The Chicago River lined with buildings on either side. The water is a greenish-blue with a maroon bridge crossing it and a boat that has just passed under the bridge, moving away from the camera. The sky is cloudy and overcast, with a bird flying just right of center. Two tall glass buildings are in the center of the photo in the distance.](./assets/images/blog/covid-comfort-report-card-october-2023/chicago.jpg) +![The Chicago River lined with buildings on either side. The water is a greenish-blue with a maroon bridge crossing it and a boat that has just passed under the bridge, moving away from the camera. The sky is cloudy and overcast, with a bird flying just right of center. Two tall glass buildings are in the center of the photo in the distance.](./src/blog/covid-comfort-report-card-october-2023/images/chicago.jpg) Chicago is one of the friendliest US cities I've been to for the Covid-conscious. Masking is relatively common, especially on public transit. Lots of masking in the airport which is great to see. @@ -31,13 +31,13 @@ Chicago is one of the friendliest US cities I've been to for the Covid-conscious # Knoxville, Tennessee -![A rendition of the Henley Street Bridge in Lego at a Lego convention in Knoxville, Tennessee](./assets/images/blog/covid-comfort-report-card-october-2023/knoxville.jpg) +![A rendition of the Henley Street Bridge in Lego at a Lego convention in Knoxville, Tennessee](./src/blog/covid-comfort-report-card-october-2023/images/knoxville.jpg) The South maintains its reputation of being friendly… as long as you're exactly like them. In this case, that means that you are anti-vax and certainly not masked. I was accosted no less than three times in a few weeks in Knoxville while masked. If you're wearing a mask here, even in a crowded public area, you'll very likely be the only one. Moving around in downtown, I would see a handful of people in a given week who were also masked. Knoxville has a site for Covid vaccination data… but unless there's something wrong with my browser or internet connection, that site is literally empty. I see boxes with labels where data should be, yet those boxes have no numbers in them. I thought the site was just broken and maybe I could [download Knoxville's data as a CSV](https://www.tn.gov/content/dam/tn/health/documents/cedep/novel-coronavirus/datasets/COVID_VACCINE_COUNTY_SUMMARY.CSV), but, again, unless there's a weird problem on my end, this link produces a CSV with only column headers and no actual data. -![A Tennessee Covid vaccination data page with several boxes for data… but all of the boxes are empty.](./assets/images/blog/covid-comfort-report-card-october-2023/knoxville-tn-covid-vaccination-page.png) +![A Tennessee Covid vaccination data page with several boxes for data… but all of the boxes are empty.](./src/blog/covid-comfort-report-card-october-2023/images/knoxville-tn-covid-vaccination-page.png) It's safe to assume this means the number is embarrassingly low — so low, in fact, Knoxville is willing to literally kill people by giving them insufficient information about whether or not they should visit in order to avoid sharing it. We can extrapolate from the [CDC's data on Tennessee as a whole](https://covid.cdc.gov/covid-data-tracker/#vaccinations_vacc-people-booster-percent-total): only 56.4% have received the full series and an abysmal 10.6% have received a bivalent booster. Maybe not worth killing people over — that problem will take care of itself — but certainly worth getting embarrassed over. @@ -45,7 +45,7 @@ So, if your path happens to intersect with Knoxville and assuming you value your # Milwaukee, Wisconsin -![A photo of Lake Michigan in Milwaukee. The sky is bright blue with wispy clouds. The lake water is blue green and dominates the right side of the picture, but there is a small peninsula jutting out into it, covered with grass and trees. On the left side of the photo, a walking path runs along the lakefront. Several people are walking and running on the path. In the distance on the left side of the photo, you can see the city skyline.](./assets/images/blog/covid-comfort-report-card-october-2023/milwaukee.jpg) +![A photo of Lake Michigan in Milwaukee. The sky is bright blue with wispy clouds. The lake water is blue green and dominates the right side of the picture, but there is a small peninsula jutting out into it, covered with grass and trees. On the left side of the photo, a walking path runs along the lakefront. Several people are walking and running on the path. In the distance on the left side of the photo, you can see the city skyline.](./src/blog/covid-comfort-report-card-october-2023/images/milwaukee.jpg) Milwaukee seemed generally accepting of masking. I was shouted at once out of a moving mini-van — a great way to be taken seriously when delivering medical advice. I didn't see many other people masking. Perhaps more than a town like Knoxville, but not by much. Comfort level in general was still much higher though. @@ -63,7 +63,7 @@ In a moment of weakness, I allowed myself to be convinced I should visit the Mal I made my way through the mall. It was relatively uneventful. It was about like I thought it would be. I did think that, since it's the Mall of America, it would probably be packed to the brim with cool stores. Instead, it seems to be suffering like most malls, with lots of empty storefronts and stores that almost certainly couldn't have afforded the rent in the mall's heyday. Anti-vaxxers though can thrive in even the most downtrodden shopping mall. -![The “Got Kilt?” storefront in the Mall of America in Minneapolis. A cardboard standup of a kilt-wearing man greets you at the entrance. Through the glass, you can see some Funkopops, several items of clothing, and a few plushies.](./assets/images/blog/covid-comfort-report-card-october-2023/minneapolis.jpg) +![The “Got Kilt?” storefront in the Mall of America in Minneapolis. A cardboard standup of a kilt-wearing man greets you at the entrance. Through the glass, you can see some Funkopops, several items of clothing, and a few plushies.](./src/blog/covid-comfort-report-card-october-2023/images/minneapolis.jpg) I was walking through the mall, masked, minding my own business, when a man called out to me, "nice mask." I felt the corners of my mouth turned up. "A compliment! How nice," I though to myself, but this was a Trojan horse. Now that my guard was down, the guy dropped his bomb: "THE PANDEMIC IS OVER, YA KNOW!" It's the last time I ever drop my guard and expose my soft underbelly to a man wearing a camo t-shirt and a baseball cap to cover up a "business in the front" haircut while leaving his luscious "party in the back" exposed. @@ -75,7 +75,7 @@ If I had to guess, I'd say we're hovering around the 55% mark with some of the o # Montreal, Quebec, Canada -![A gray stone cathedral in Montreal, Quebec. Several people are walking in a pedestrian square in the foreground of the frame. Cars drive past the cathedral, just beyond the square. One of the cathedral's two towers (the one on the right side of the frame) has scaffolding built up on it. The sky is mostly overcast, but the light of the sun illuminates through the clouds behind that same tower.](./assets/images/blog/covid-comfort-report-card-october-2023/montreal.jpg) +![A gray stone cathedral in Montreal, Quebec. Several people are walking in a pedestrian square in the foreground of the frame. Cars drive past the cathedral, just beyond the square. One of the cathedral's two towers (the one on the right side of the frame) has scaffolding built up on it. The sky is mostly overcast, but the light of the sun illuminates through the clouds behind that same tower.](./src/blog/covid-comfort-report-card-october-2023/images/montreal.jpg) Montreal was lovely and everyone there was lovely to me. No one blinked twice at my mask, and if they delivered any Minneapolis-style sick burns, they were in a language I did not understand. @@ -85,7 +85,7 @@ What I can see though is that the adult age grouping that surely represents a la # Philadelphia, Pennsylvania -![Looking down Elfreth's Alley, a historic street in Philadelphia, Pennsylvania. The sky is bright blue with wispy clouds. The center of the street is cobblestones, and to either side of the stones, the street is brick. The cobbled section is lined with red bollards. The street is narrow and lined with early American homes on either side. The homes are all red brick, some with off-white (yellow-ish) wooden trim. The first home on the left has a green door and a bicentennial flag on a pole.](./assets/images/blog/covid-comfort-report-card-october-2023/philadelphia.jpg) +![Looking down Elfreth's Alley, a historic street in Philadelphia, Pennsylvania. The sky is bright blue with wispy clouds. The center of the street is cobblestones, and to either side of the stones, the street is brick. The cobbled section is lined with red bollards. The street is narrow and lined with early American homes on either side. The homes are all red brick, some with off-white (yellow-ish) wooden trim. The first home on the left has a green door and a bicentennial flag on a pole.](./src/blog/covid-comfort-report-card-october-2023/images/philadelphia.jpg) No one has ever said anything to me or treated me differently in Philadelphia because I was wearing a mask. In fast, I've had quite a few lovely interactions while masked. Lots of people are still masking in the city, especially on public transit. I didn't notice quite the same levels of masking at the airport as I did at O'Hare, but it's still a very comfortable place to be Covid-conscious, at least on this "feel" metric. Let's see how it compares on the more metric-y metrics. @@ -97,7 +97,7 @@ Sadly, I don't see any data about uptake of the bivalent booster. Unless Philade # Pittsburgh, Pennsylvania -![A panorama of the former Pittsburgh Glass Company. In the center is a square with small trees in planters. All around are castle-like buildings made entirely of glass. The sky is partly cloudy and blue and is reflected in the buildings. A street lies in the foreground, with an armored vehicle to the left and some cars on the right. People are walking around and enjoying the square.](./assets/images/blog/covid-comfort-report-card-october-2023/pittsburgh.jpg) +![A panorama of the former Pittsburgh Glass Company. In the center is a square with small trees in planters. All around are castle-like buildings made entirely of glass. The sky is partly cloudy and blue and is reflected in the buildings. A street lies in the foreground, with an armored vehicle to the left and some cars on the right. People are walking around and enjoying the square.](./src/blog/covid-comfort-report-card-october-2023/images/pittsburgh.jpg) By the time I got to Pittsburgh, I was on a bit of a hair trigger after having been harassed for masking in so many American cities. My head was on a bit of a swivel. I was out one evening getting bubble tea, and a frat bro shouted at me out of a car. Aside from that, people were very nice. My experience was colored more by the accrued psychic damage from months of harassment up to that point than it was by Pittsburgh itself. @@ -105,7 +105,7 @@ By the time I got to Pittsburgh, I was on a bit of a hair trigger after having b # Portland, Oregon -![Multi-colored houses near downtown Portland, Oregon. The photo looks down a sidewalk. On the left, a few cars are parked on the street. On the right, you see three brightly colored houses, each a unique mix of various shades of blue, pink, red, green, purple, and yellow. The sky is blue, and the sun shines brightly from behind one of the houses.](./assets/images/blog/covid-comfort-report-card-october-2023/portland.jpg) +![Multi-colored houses near downtown Portland, Oregon. The photo looks down a sidewalk. On the left, a few cars are parked on the street. On the right, you see three brightly colored houses, each a unique mix of various shades of blue, pink, red, green, purple, and yellow. The sky is blue, and the sun shines brightly from behind one of the houses.](./src/blog/covid-comfort-report-card-october-2023/images/portland.jpg) I always felt comfortable masking in Portland. It seems people mask at a higher rate than in other cities — comparable to Chicago and Seattle. I can't recall ever being harassed about it. @@ -113,13 +113,13 @@ Portland does not, best I can tell, publish its own data, but [the Oregon Health # Porto, Portugal -![A cloudy day in Porto showing a street in the touristy part of town. The ground is wet, and a couple walks toward the camera carrying folded umbrellas. On the right of the frame, we see outdoor seating for a couple of restaurants. on the left, buildings each about seven stories high. The ground level has a series of arches. Further down, the street is lined on both sides by buildings of a similar height, and the street begins to curve left and go up a hill. A dozen or so people are walking the streets and surrounding areas in the shot.](./assets/images/blog/covid-comfort-report-card-october-2023/porto.jpg) +![A cloudy day in Porto showing a street in the touristy part of town. The ground is wet, and a couple walks toward the camera carrying folded umbrellas. On the right of the frame, we see outdoor seating for a couple of restaurants. on the left, buildings each about seven stories high. The ground level has a series of arches. Further down, the street is lined on both sides by buildings of a similar height, and the street begins to curve left and go up a hill. A dozen or so people are walking the streets and surrounding areas in the shot.](./src/blog/covid-comfort-report-card-october-2023/images/porto.jpg) I don't have much to say about Porto that I didn't already say about Braga. People were kind and no one hassled me during my time here. # Salt Lake City, Utah -![A sea of concrete running through downtown Salt Lake City: this shot is taken from a center of a six-lane plus turning lane monstrosity gouging through the center of downtown Salt Lake City. You can see the traffic lights faced to the lane carrying traffic going away from the camera. The pole holds four signals, all red. There are very few cars in the frame. Further in the distance, you can see some highrise buildings. On the left, a glass building with some yellow accents. On the right, a building currently under construction along with an orange construction crane.](./assets/images/blog/covid-comfort-report-card-october-2023/slc.jpg) +![A sea of concrete running through downtown Salt Lake City: this shot is taken from a center of a six-lane plus turning lane monstrosity gouging through the center of downtown Salt Lake City. You can see the traffic lights faced to the lane carrying traffic going away from the camera. The pole holds four signals, all red. There are very few cars in the frame. Further in the distance, you can see some highrise buildings. On the left, a glass building with some yellow accents. On the right, a building currently under construction along with an orange construction crane.](./src/blog/covid-comfort-report-card-october-2023/images/slc.jpg) Salt Lake City wasn't my favorite place to be — their downtown is made up primarily of endless criss-crossing highways — but I wasn't accosted a single time about my mask. I even got a haircut here while masked, and the barber was very friendly. I was here for a conference, and the conference required masking which was awesome! That led to SLC being one of my most comfortable places, along with Philly, Chicago, Portland, Seattle… and anywhere that *isn't* the US. 😅 @@ -127,7 +127,7 @@ Salt Lake City wasn't my favorite place to be — their downtown is made up prim # Seattle, Washington -![The most nineties car you have ever seen, parked on a street in Seattle, Washington. It is a Subaru, Baja — a car with a truck bed. The car is painted teal, pink, grey, red, and yellow. It is apparently a delivery car for a restaurant called Un Bien Caribbean and Latin Food.](./assets/images/blog/covid-comfort-report-card-october-2023/seattle.jpg) +![The most nineties car you have ever seen, parked on a street in Seattle, Washington. It is a Subaru, Baja — a car with a truck bed. The car is painted teal, pink, grey, red, and yellow. It is apparently a delivery car for a restaurant called Un Bien Caribbean and Latin Food.](./src/blog/covid-comfort-report-card-october-2023/images/seattle.jpg) I love Seattle. I've spent a lot of time here, and I've never felt uncomfortable masking. Masking is still relatively common, and I know from my time living there that vaccination rates are sky-high… but let's see exactly *how* sky-high they are. diff --git a/src/feed/curses-aint-all-bad.md b/src/feed/curses-aint-all-bad.md index 86318dd..af353b0 100644 --- a/src/feed/curses-aint-all-bad.md +++ b/src/feed/curses-aint-all-bad.md @@ -7,7 +7,7 @@ tags: feed I was very bad at the video game Curse of the Dead Gods at first because "curses" were, in my mind, something to be avoided at all costs. I thought of them as punishments for doing poorly, and I didn't want to be punished. -![The main character of Curse of the Dead Gods getting a curse](./assets/images/blog/curses-aint-all-bad/getting-a-curse.jpg) +![The main character of Curse of the Dead Gods getting a curse](./src/blog/curses-aint-all-bad/images/getting-a-curse.jpg) You can't avoid them, though, and once you've played a few times, you realize curses aren't all that bad. In fact, the rewards you get by making blood offerings generally outweigh the problems the curses introduce. The curses usually even have a tiny upside. diff --git a/src/feed/rapid-fire-game-reviews-holiday-2022.md b/src/feed/rapid-fire-game-reviews-holiday-2022.md index 2ff4f12..91b7740 100644 --- a/src/feed/rapid-fire-game-reviews-holiday-2022.md +++ b/src/feed/rapid-fire-game-reviews-holiday-2022.md @@ -9,25 +9,25 @@ These are my thoughts on some games I've played over the last few months, in no # Spookware -![Screenshot of Spookware featuring the three skeleton player characters standing on the deck of a cruise ship](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/spookware.jpg) +![Screenshot of Spookware featuring the three skeleton player characters standing on the deck of a cruise ship](./src/blog/rapid-fire-game-reviews-holiday-2022/images/spookware.jpg) The microgames of [WarioWare](https://www.igdb.com/games/warioware-inc-mega-microgames) paired with the cute and self-aware irreverence of [Undertale](https://www.igdb.com/games/undertale) (featuring skeletons just to complete the analogy). I really like the vibe here. The one surprising thing about the game is that a lot of it _isn't_ the WarioWare-style microgames. There's a old style adventure game bridging between the somewhat rare microgame segments. That part can be tedious. I'd like to see a sequel that de-emphasizes this aspect of the game and leans harder into the microgames. Still a lot of fun though. It had me laughing out loud. # Neon White -![Screenshot of Neon White featuring the player character's first-person perspective on a giant bust statue on the left, a dark gray treasure chest with gold trim on the right, a spider-like demon standing next to a potted tree center, and a large white building just behind the demon with a red breakable wall on one of its faces](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/neon-white.jpg) +![Screenshot of Neon White featuring the player character's first-person perspective on a giant bust statue on the left, a dark gray treasure chest with gold trim on the right, a spider-like demon standing next to a potted tree center, and a large white building just behind the demon with a red breakable wall on one of its faces](./src/blog/rapid-fire-game-reviews-holiday-2022/images/neon-white.jpg) One of my favorite things to do in a game is to refine my skill. I like to throw myself against a challenge over and over until I finally overcome it. I think a lot about an old PS2 game that I never hear anyone talk about anymore: [Stuntman](https://www.igdb.com/games/stuntman). You played a stunt driver going from movie to movie taking on-the-fly direction as you pulled the stunts needed for various movie scenes. I don't hear people talking about that game, but it was a favorite of mine. This is that but with an art style that screams "Japanese video game!" I'm pretty sure this _isn't_ Japanese, but it could pass. Lots of fun to be had here. I look forward to getting deeper into it and refining my times! # Timespinner -![Screenshot of Timespinner featuring the player character at the bottom of stairs, backed by her small green dragon familiar, hitting a red enemy with a sword](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/timespinner.jpg) +![Screenshot of Timespinner featuring the player character at the bottom of stairs, backed by her small green dragon familiar, hitting a red enemy with a sword](./src/blog/rapid-fire-game-reviews-holiday-2022/images/timespinner.jpg) More than any game I've tried, this game reminds me of [Symphony of the Night](https://www.igdb.com/games/castlevania-symphony-of-the-night). That's one of my favorites, so I'm excited to play more of this. It feels right in all the ways Symphony did. # Teardown -![Screenshot of Teardown featuring a large yellow piece of construction machinery with a red arm being driven through the side of a red building. A light can be seen through the hole in the side of the building. A car is parked on the right and a truck with trailer on the left.](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/teardown.jpg) +![Screenshot of Teardown featuring a large yellow piece of construction machinery with a red arm being driven through the side of a red building. A light can be seen through the hole in the side of the building. A car is parked on the right and a truck with trailer on the left.](./src/blog/rapid-fire-game-reviews-holiday-2022/images/teardown.jpg) The destruction is so cool. Not too sure about the game they've wrapped around it. It's neat, but setting up a route to race out of a level once I start destroying stuff wouldn't be my first choice of activity. I want to take my time and bask in the destruction. @@ -45,29 +45,29 @@ I just finished [Dark Pictures: Little Hope](https://www.igdb.com/games/the-dark # Persona 5 Royal -![Screenshot of Person 5 Royal featuring the player character standing just inside the turnstiles in a Japanese train station. A group of three young women are standing and talking a few feet away.](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/persona-5.jpg) +![Screenshot of Person 5 Royal featuring the player character standing just inside the turnstiles in a Japanese train station. A group of three young women are standing and talking a few feet away.](./src/blog/rapid-fire-game-reviews-holiday-2022/images/persona-5.jpg) Slick, stylish, and beautiful. Tedious and not very fun to play. A soundtrack that parks itself in your head well after the meter runs out. # Delta Manifold -![Screenshot of Delta Manifold from the player character's perspective, looking down the barrel of a rectangular flat-shaded gun, aiming and firing at a large black humanoid figure with a triangular torso in a green environment covered with vines](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/delta-manifold.jpg) +![Screenshot of Delta Manifold from the player character's perspective, looking down the barrel of a rectangular flat-shaded gun, aiming and firing at a large black humanoid figure with a triangular torso in a green environment covered with vines](./src/blog/rapid-fire-game-reviews-holiday-2022/images/delta-manifold.jpg) I wish I liked this one more, but it needs a lot of polish. Some better sign-posting would be nice too. I don't want literal signposts, but I need something more than the game is giving me to tell me what to do next. The levels are just random hallways and rooms connected together with tons of dead-ends. I can't tell if I'm missing something or if someone just banged these out really quick in Unity and left all the parts where they landed. The description on the game's Steam page says it wants to be [Metroid Prime](https://www.igdb.com/games/metroid-prime). I want it to be too, but it's not there yet. # Dread Delusion and Lunacid -![Screenshot of Dread Delusion from the player character's perspective, at the top of steps approaching a doorway to a buiding. A tree is directly in front, and to the right, a giant pink moon with red wisps coming out of it, behind mountains and evergreen trees in the distance.](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/dread-delusion.jpg) +![Screenshot of Dread Delusion from the player character's perspective, at the top of steps approaching a doorway to a buiding. A tree is directly in front, and to the right, a giant pink moon with red wisps coming out of it, behind mountains and evergreen trees in the distance.](./src/blog/rapid-fire-game-reviews-holiday-2022/images/dread-delusion.jpg) I'm lumping these together because they're both first-person RPGs that call out [King's Field](https://www.igdb.com/games/king-s-field) as an influence. Dread Delusion has a fun surreal art style but feels a bit more aimless. Both games have you wondering around a fair bit, but I felt the pain of it more in Dread Delusion. Something about the sparseness of the world and the same-ness of the environments I've been going through so far makes me feel this game is the thinner of the two, even though I'm pretty sure it's the one that has been "released" while Lunacid is still in early access. It's cool and I want to play more, but I'm not in love. -![Screenshot of Lunacid from the player character's perspective as they hold a sword, in a hallway in a tight catacomb with a slime-covered skeleton in front. Just beyond the skeleton, a bright yellow-green light floods in from a grate on the ceiling.](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/lunacid.jpg) +![Screenshot of Lunacid from the player character's perspective as they hold a sword, in a hallway in a tight catacomb with a slime-covered skeleton in front. Just beyond the skeleton, a bright yellow-green light floods in from a grate on the ceiling.](./src/blog/rapid-fire-game-reviews-holiday-2022/images/lunacid.jpg) Lunacid feels different. There's something about the darkness of it. Everything is darker. I'm spending a lot of time in tight corridors. It's a lot different from the bright environments of Dread Delusion, and I like it. I feel like I'm really discovering in this game. I'm poking at walls and finding things the game wants me to think I wasn't supposed to find. Yesterday, I found an item that was very surprising, and I'm exciting to see how it fits into this game. When I level up in Dread Delusion, it doesn't really feel like anything has changed. In Lunacid, I feel like my character is actually progressing. There's a lot I'm excited about here. # Immortality -![Screenshot of Immortality showing an actress on the left with large hoop earrings twirling her hair and looking at the clapper loader who stands at the right edge of the frame. The clapper loader is about to clap the clapper board which has the following text: "Minsky. Gino DeGiorgio Entertainment. Dir. John DURICK. INT/NIGHT. 7-20-70. 44A. 2." Three other actors stand just behind the clapper board looking at the actress on the left. The caption reads "Scene 44A, take two."](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/immortality.jpg) +![Screenshot of Immortality showing an actress on the left with large hoop earrings twirling her hair and looking at the clapper loader who stands at the right edge of the frame. The clapper loader is about to clap the clapper board which has the following text: "Minsky. Gino DeGiorgio Entertainment. Dir. John DURICK. INT/NIGHT. 7-20-70. 44A. 2." Three other actors stand just behind the clapper board looking at the actress on the left. The caption reads "Scene 44A, take two."](./src/blog/rapid-fire-game-reviews-holiday-2022/images/immortality.jpg) I love what this game is in my head, but I'm not sold yet on what it is in reality. Because of the way I play games, I'm scared to death about the prospect of trying to come back to this game in four months when I remember I want to play more of it but _don't_ remember anything that happened in it. I hope the game has a mechanism to ease me back in at that point, but very few games actually do have something like that. When that day comes, I'm probably going to feel like I need to restart... and there's zero chance I actually do that. The anxiety about the way this game will fit into my life fills me with dread even while I've enjoyed my time with the game so far. @@ -75,13 +75,13 @@ I love what this game is in my head, but I'm not sold yet on what it is in reali # Haak -![Screenshot of Haak showing the player character, a black figure with a round head and oblong oblique-angled yellow eyes. The character wears a blue cape and stands on a concrete interstate bridge in front of a large soldier wearing a uniform jumpsuit and a single-piece goggle and holding a large firearm. The soldier guards a hollowed-out bus that has been fashioned as a continuation of the bridge, with spikes on top and a sign that says "NEO." The bridge has spikes in the near background. Further in the background, we see a dilapidated billboard with a woman holding a drink and smiling next to foreign text, a watch tower, and a large building in disrepair. The sky is a pink orange.](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/haak.jpg) +![Screenshot of Haak showing the player character, a black figure with a round head and oblong oblique-angled yellow eyes. The character wears a blue cape and stands on a concrete interstate bridge in front of a large soldier wearing a uniform jumpsuit and a single-piece goggle and holding a large firearm. The soldier guards a hollowed-out bus that has been fashioned as a continuation of the bridge, with spikes on top and a sign that says "NEO." The bridge has spikes in the near background. Further in the background, we see a dilapidated billboard with a woman holding a drink and smiling next to foreign text, a watch tower, and a large building in disrepair. The sky is a pink orange.](./src/blog/rapid-fire-game-reviews-holiday-2022/images/haak.jpg) This Metroidvania is just really well executed. Moving around feels great. The unlockable abilities are paced well, and I haven't felt stuck so far. Just a nice experience with fun art and a cute cat helping you find your way, at least in the early parts. # Midnight Fight Express -![Screenshot of Midnight Fight Express showing the main character wearing black pants, black shoes, a black jacket, and a white shirt. He stands on top of a train running next to an empty track. He reaches back to punch one of several opponents dressed in colorful outfits as another group approaches from behind, one baring a knife.](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/midnight-fight-express.jpg) +![Screenshot of Midnight Fight Express showing the main character wearing black pants, black shoes, a black jacket, and a white shirt. He stands on top of a train running next to an empty track. He reaches back to punch one of several opponents dressed in colorful outfits as another group approaches from behind, one baring a knife.](./src/blog/rapid-fire-game-reviews-holiday-2022/images/midnight-fight-express.jpg) The [Arkham Asylum](https://www.igdb.com/games/batman-arkham-asylum) combat works in an isometric game. I thought this was going to be great, but I think it will be ultimately forgettable. I nearly forgot to include it here! @@ -95,7 +95,7 @@ A flashy action game that's a bit awkward to play. Maybe it would get better if # Pentiment -![Screenshot of Pentiment showing the main character Andreas with long light-brown hair wearing a red cap, a red tunic over an off-white shirt and blue pants. He is speaking to a man with gray hair, mustache, and beard wearing an off-white shirt, gray pants, and a maroon apron, standing with his sheep next to a blacksmith's anvil and forge. Tongs and horseshoes hang on a rack in front of the forge. The man's text box says, "Do you have a moment to lend me a hand?" in a casual script. Andreas's text box shows two response options written in a more formal font: "Of course" and "I'm already late to the abbey"](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/pentiment.jpg) +![Screenshot of Pentiment showing the main character Andreas with long light-brown hair wearing a red cap, a red tunic over an off-white shirt and blue pants. He is speaking to a man with gray hair, mustache, and beard wearing an off-white shirt, gray pants, and a maroon apron, standing with his sheep next to a blacksmith's anvil and forge. Tongs and horseshoes hang on a rack in front of the forge. The man's text box says, "Do you have a moment to lend me a hand?" in a casual script. Andreas's text box shows two response options written in a more formal font: "Of course" and "I'm already late to the abbey"](./src/blog/rapid-fire-game-reviews-holiday-2022/images/pentiment.jpg) This is another one that I'm in love with the idea of but not yet the game. I'll give it some more time. I've just played a few minutes at this point. @@ -111,6 +111,6 @@ The worst thing about Phoenotopia is that I can neither pronounce nor spell its # Betrayal at Club Low -![Screenshot of Betrayal at Club Low showing the main character — a blue man with glowing blue eyes wearing a pink and gray flannel over a yellow button-up shirt with orange collar, tan denim pants, and black shoes. He has a red hat with a slice of pizza on it and a red pizza bag on his back. He stands in a room with purple walls and wood flooring. On one wall hangs a blue glowing shovel in a red frame. On another wall, tusks of a large animal that glow blue and have lights on each of the tusks' tips. To the main character's right is a bin of yellow tennis balls. To his left, a series of security monitors on a desk, all showing a tennis match. A man wearing a brown jacket, black pants, and brown shoes sits at the desk with two empty drink cans in front of him along with a tennis racket and a custom computer keyboard with green, red, orange, yellow, and brown keys.](./assets/images/blog/rapid-fire-game-reviews-holiday-2022/betrayal.jpg) +![Screenshot of Betrayal at Club Low showing the main character — a blue man with glowing blue eyes wearing a pink and gray flannel over a yellow button-up shirt with orange collar, tan denim pants, and black shoes. He has a red hat with a slice of pizza on it and a red pizza bag on his back. He stands in a room with purple walls and wood flooring. On one wall hangs a blue glowing shovel in a red frame. On another wall, tusks of a large animal that glow blue and have lights on each of the tusks' tips. To the main character's right is a bin of yellow tennis balls. To his left, a series of security monitors on a desk, all showing a tennis match. A man wearing a brown jacket, black pants, and brown shoes sits at the desk with two empty drink cans in front of him along with a tennis racket and a custom computer keyboard with green, red, orange, yellow, and brown keys.](./src/blog/rapid-fire-game-reviews-holiday-2022/images/betrayal.jpg) This one was a surprise. I went in expecting nothing. Actually, based on the... scrappiness of the interface, I expected this to be janky. It isn't. It's simple but polished. It's a point-and-click adventure with some tabletop RPG-style dice-rolling mechanics laid on top. The dice rolling is surprisingly deep. You're allowed two re-rolls per action, and you can select which dice to re-roll. Outcomes on the dice can add other rules as well like allowing you to re-roll opponent dice or swap results with your opponent. The art style is funky. It almost looks like it doesn't all belong together, but it works. If you want something quirky and charming as heck, this is a good choice. diff --git a/src/feed/the-most-influential-game-in-history.md b/src/feed/the-most-influential-game-in-history.md index a5c241b..7bde5f0 100644 --- a/src/feed/the-most-influential-game-in-history.md +++ b/src/feed/the-most-influential-game-in-history.md @@ -10,13 +10,13 @@ It's hard to overstate the influence of [Minecraft](https://www.igdb.com/games/m You could make a case for plenty of other games being the most influential too. [Super Mario Brothers](https://www.igdb.com/games/super-mario-bros) showed games could be more than just score chases. [Pitfall](https://www.igdb.com/games/pitfall) opened the door for developers not employed by the console maker to make games. [Mario 64](https://www.igdb.com/games/super-mario-64) was the template for 3D platforming. [Rogue](https://www.igdb.com/games/rogue) has a whole modern genre named after it! But in spite of everything these games and Minecraft brought to the table, none of them is the most influential game ever. Instead, that title belongs to another game with Minecraft's pixelly graphics and a first-person perspective. It's a game that, like Minecraft, was PC-first and created incredible longevity by fostering an enthusiastic modding community. It's a game that planted the seeds for some of the innovations Minecraft brought forward. -![The Quake box art consisting of the title at the top written in white with the stylized 'Q' above a large brown stylized 'Q' logo, all on black](./assets/images/blog/the-most-influential-game-in-history/quake-box.png) +![The Quake box art consisting of the title at the top written in white with the stylized 'Q' above a large brown stylized 'Q' logo, all on black](./src/blog/the-most-influential-game-in-history/images/quake-box.png) [Quake](https://www.igdb.com/games/quake) was the Minecraft of its day, and its day was about 15 years before the release of Minecraft. Let's take a look at the staggering number of innovations Quake brought gamers in the mid 90s. # Modding -![A screenshot of the Arcane Dimensions Quake mode showing a red brick wall on the left with an arch cut into it. Beyond the arch is a tall and narrow yellow stained glass window with repeated divided circles and to the right of that, another archway made of a tan colored concrete. Directly ahead in the image is a white broken archway leading to a churchy-looking room containing a portal. There is a torch on the right side wall.](./assets/images/blog/the-most-influential-game-in-history/arcane-dimensions.jpg) +![A screenshot of the Arcane Dimensions Quake mode showing a red brick wall on the left with an arch cut into it. Beyond the arch is a tall and narrow yellow stained glass window with repeated divided circles and to the right of that, another archway made of a tan colored concrete. Directly ahead in the image is a white broken archway leading to a churchy-looking room containing a portal. There is a torch on the right side wall.](./src/blog/the-most-influential-game-in-history/images/arcane-dimensions.jpg) Modding was around before Quake, but it came of age with Quake. Many community map and mod makers were ultimately hired as level designers and game developers. Valve recruited early employees out of the community and brought the team behind Quake mod Team Fortress in-house to build its sequel on Half-Life… which was itself built on the Quake 2 engine. @@ -40,7 +40,7 @@ Since the game included a few demos, you could run your benchmark against one of # Speedrunning -![The Quake Done Quick logo consisting of an overhead wireframe of a Quake map with an arrow drawn through it to indicate a run path starting at an 'X' and terminating at another 'X'. Superimposed on the map are actual in-game rocket launcher graphics showing the location of rocket launcher pickups in the map. A shambler graphic is overlaid near the end of the run path, presumably showing the location of a shambler enemy in the level. The “Quake guy” is shown in the lower right of the logo holding a stopwatch in his right hand and a trophy in his left. The words “Quake done Quick” with stylized 'Q's appear to his left.](./assets/images/blog/the-most-influential-game-in-history/quake-done-quick.jpg) +![The Quake Done Quick logo consisting of an overhead wireframe of a Quake map with an arrow drawn through it to indicate a run path starting at an 'X' and terminating at another 'X'. Superimposed on the map are actual in-game rocket launcher graphics showing the location of rocket launcher pickups in the map. A shambler graphic is overlaid near the end of the run path, presumably showing the location of a shambler enemy in the level. The “Quake guy” is shown in the lower right of the logo holding a stopwatch in his right hand and a trophy in his left. The words “Quake done Quick” with stylized 'Q's appear to his left.](./src/blog/the-most-influential-game-in-history/images/quake-done-quick.jpg) Quake’s demo file format was great for watching others compete in deathmatch or capture the flag matches, but it was also used to records speedruns through the game’s levels. @@ -68,7 +68,7 @@ This was the dawn of the WASD + mouse control scheme that is standard among firs Before Quake, multiplayer gameplay on PC required either a game client that could dial up directly to another user’s modem or entering another player’s IP address in the game client. Enter QSpy, a Quake server browser that made it easier to find and connect to multiplayer games. -![Screenshot of the QuakeSpy application showing the menubar and toolbar on top, a list of source categories on the left (including id official servers divided by game mode, PlanetQuake servers, best.com, and Australian servers), a series of tabs just below the toolbar and right of the sidebar (with options “All Servers,” “Passed Filters,” “Filtered Out,” “Favorites,” and “Never Ping”), a list of servers below the tabs (with columns for server name, ping, address, player count/capacity, and game), a list of the selected server's players on the left side below the server list, and a list of the server's options to the right of that](./assets/images/blog/the-most-influential-game-in-history/quakespy.jpg) +![Screenshot of the QuakeSpy application showing the menubar and toolbar on top, a list of source categories on the left (including id official servers divided by game mode, PlanetQuake servers, best.com, and Australian servers), a series of tabs just below the toolbar and right of the sidebar (with options “All Servers,” “Passed Filters,” “Filtered Out,” “Favorites,” and “Never Ping”), a list of servers below the tabs (with columns for server name, ping, address, player count/capacity, and game), a list of the selected server's players on the left side below the server list, and a list of the server's options to the right of that](./src/blog/the-most-influential-game-in-history/images/quakespy.jpg) Side note: QSpy later became QuakeSpy and then [GameSpy](https://en.wikipedia.org/wiki/GameSpy), which eventually became an editorial site that operated until 2013. From 9d493413c84e60fe287bf3a3c150663b552ea3f2 Mon Sep 17 00:00:00 2001 From: Devon Campbell Date: Mon, 24 Jun 2024 00:22:24 -0400 Subject: [PATCH 02/10] Add syntax highlighting --- .eleventy.js | 13 ++++ css/prism-synthwave84.css | 140 ++++++++++++++++++++++++++++++++++++++ package-lock.json | 15 ++++ package.json | 1 + 4 files changed, 169 insertions(+) create mode 100644 css/prism-synthwave84.css diff --git a/.eleventy.js b/.eleventy.js index b4d9775..65d3262 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -8,6 +8,7 @@ const markdownItEleventyImg = require("markdown-it-eleventy-img"); const pluginRss = require("@11ty/eleventy-plugin-rss"); const embedYouTube = require("eleventy-plugin-youtube-embed"); const sanitizeHtml = require("sanitize-html"); +const syntaxHighlight = require("@11ty/eleventy-plugin-syntaxhighlight"); const metadata = require("./src/_data/metadata.json"); const sanitize = (html) => { @@ -20,6 +21,7 @@ const sanitize = (html) => { module.exports = function(eleventyConfig) { eleventyConfig.addPlugin(embedYouTube); eleventyConfig.addPlugin(pluginRss); + eleventyConfig.addPlugin(syntaxHighlight); eleventyConfig.addPassthroughCopy("css"); eleventyConfig.addPassthroughCopy("fonts"); @@ -108,6 +110,17 @@ module.exports = function(eleventyConfig) { return sortedMentions; }); + eleventyConfig.addTransform('includePrismTheme', function(content, outputPath) { + // Automatically inject the Prism theme CSS, but only in HTML files that need it. + if (outputPath.endsWith('.html') && content.includes('