feat: update all CDN URLs (#4)
* feat: update all CDN URLs * feat: fix URL * chore: update CHANGELOG.md
This commit is contained in:
parent
7dd79765dc
commit
9f8b2c1402
96 changed files with 345 additions and 349 deletions
|
@ -1,9 +0,0 @@
|
|||
[[plugins]]
|
||||
package = "netlify-plugin-cache"
|
||||
|
||||
[plugins.inputs]
|
||||
paths = [ ".cache", "dist/assets/images" ]
|
||||
|
||||
[build]
|
||||
publish = "dist"
|
||||
command = "npm run build"
|
|
@ -3,7 +3,7 @@ title: The Way of Kings
|
|||
author: Brandon Sanderson
|
||||
isbn: 9780765326355
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/the-way-of-kings.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/the-way-of-kings.jpeg
|
||||
tags: ["fantasy"]
|
||||
year: 2010
|
||||
---
|
||||
|
|
|
@ -4,7 +4,7 @@ subtitle: A Little Book That Teaches You When to Quit
|
|||
author: Seth Godin
|
||||
isbn: 9781591841661
|
||||
rating: 4
|
||||
image: https://cdn.wonderfulfrog.com/the-dip.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/the-dip.jpeg
|
||||
tags: ["self help"]
|
||||
year: 2007
|
||||
---
|
||||
|
|
|
@ -4,7 +4,7 @@ subtitle: A Counterintuitive Approach to Living a Good Life
|
|||
author: Mark Manson
|
||||
isbn: 9780062457714
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/subtle-art.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/subtle-art.jpeg
|
||||
tags: ["self help"]
|
||||
year: 2016
|
||||
---
|
||||
|
|
|
@ -4,7 +4,7 @@ subtitle: A Proven Plan for Financial Fitness
|
|||
author: Dave Ramsey
|
||||
isbn: 9780785289081
|
||||
rating: 3
|
||||
image: https://cdn.wonderfulfrog.com/total-money-makeover.webp
|
||||
image: https://cdn.wonderfulfrog.com/images/total-money-makeover.webp
|
||||
tags: ["finance"]
|
||||
year: 2003
|
||||
---
|
||||
|
|
|
@ -4,7 +4,7 @@ subtitle: And What To Do About It
|
|||
author: Gary Taubes
|
||||
isbn: 9780307272706
|
||||
rating: 3
|
||||
image: https://cdn.wonderfulfrog.com/why-we-get-fat.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/why-we-get-fat.jpeg
|
||||
tags: ["self help", "diet"]
|
||||
year: 2010
|
||||
---
|
||||
|
|
|
@ -4,7 +4,7 @@ subtitle: Choosing a Focused Life in a Noisy World
|
|||
author: Cal Newport
|
||||
isbn: 9780525536512
|
||||
rating: 4
|
||||
image: https://cdn.wonderfulfrog.com/digital-minimalism.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/digital-minimalism.jpg
|
||||
tags: ["white guy productivity", "technology"]
|
||||
year: 2019
|
||||
---
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Dare to Lead
|
|||
author: Brené Brown
|
||||
isbn: 9781473562523
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/dare-to-lead.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/dare-to-lead.jpeg
|
||||
tags: ["leadership", "self help", "business"]
|
||||
year: 2018
|
||||
---
|
||||
|
|
|
@ -4,7 +4,7 @@ subtitle: How to Leverage Your Efforts In Software Engineering to Make a Disprop
|
|||
author: Edmond Lau
|
||||
isbn: 9780996128100
|
||||
rating: 4
|
||||
image: https://cdn.wonderfulfrog.com/the-effective-engineer.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/the-effective-engineer.jpeg
|
||||
tags: ["leadership", "software development", "technology"]
|
||||
year: 2015
|
||||
---
|
||||
|
|
|
@ -4,7 +4,7 @@ subtitle: An Easy & Proven Way to Build Good Habits & Break Bad Ones
|
|||
author: James Clear
|
||||
isbn: 9780735211292
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/atomic-habits.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/atomic-habits.jpeg
|
||||
tags: ["psychology", "self help"]
|
||||
year: 2018
|
||||
---
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Ego Is The Enemy
|
|||
author: Ryan Holiday
|
||||
isbn: 9781591847816
|
||||
rating: 3
|
||||
image: https://cdn.wonderfulfrog.com/ego-is-the-enemy.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/ego-is-the-enemy.jpeg
|
||||
tags: ["stoicism", "self help"]
|
||||
year: 2016
|
||||
---
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Meditations
|
|||
author: Marcus Aurelius
|
||||
isbn: 9780140449334
|
||||
rating: 2
|
||||
image: https://cdn.wonderfulfrog.com/meditations.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/meditations.jpeg
|
||||
tags: ["stoicism"]
|
||||
year: 180
|
||||
---
|
||||
|
|
|
@ -4,7 +4,7 @@ subtitle: Rules for Focused Success in a Distracted World
|
|||
author: Cal Newport
|
||||
isbn: 9781455586691
|
||||
rating: 2
|
||||
image: https://cdn.wonderfulfrog.com/deep-work.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/deep-work.jpeg
|
||||
tags: ["white guy productivity"]
|
||||
year: 2016
|
||||
---
|
||||
|
|
|
@ -4,7 +4,7 @@ subtitle: Unlocking the Power of Sleep and Dreams
|
|||
author: Matthew Walker
|
||||
isbn: 9781501144318
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/why-we-sleep.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/why-we-sleep.jpeg
|
||||
tags: ["sleep"]
|
||||
year: 2017
|
||||
---
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Astrophysics for People in a Hurry
|
|||
author: Neil deGrasse Tyson
|
||||
isbn: 9780393609394
|
||||
rating: 2
|
||||
image: https://cdn.wonderfulfrog.com/astro-in-hurry.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/astro-in-hurry.jpeg
|
||||
tags: ["science"]
|
||||
year: 2017
|
||||
---
|
||||
|
|
|
@ -3,7 +3,7 @@ title: The Hate U Give
|
|||
author: Angie Thomas
|
||||
isbn: 9780062498533
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/the-hate-u-give.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/the-hate-u-give.jpg
|
||||
tags: ["fiction", "racism"]
|
||||
year: 2017
|
||||
---
|
||||
|
|
|
@ -4,7 +4,7 @@ subtitle: A Year of Black Resistance and Power
|
|||
author: Desmond Cole
|
||||
isbn: 9780385686341
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/the-skin-were-in.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/the-skin-were-in.jpeg
|
||||
tags: ["politics", "canada", "racism"]
|
||||
year: 2020
|
||||
---
|
||||
|
|
|
@ -4,7 +4,7 @@ subtitle: Conquer Your Hidden Fear and Take Life to the Next Level
|
|||
author: Gay Hendricks
|
||||
isbn: 9780061735363
|
||||
rating: 3
|
||||
image: https://cdn.wonderfulfrog.com/the-big-leap.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/the-big-leap.jpg
|
||||
tags: ["self help"]
|
||||
year: 2009
|
||||
---
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Jonny Appleseed
|
|||
author: Joshua Whitehead
|
||||
isbn: 9781551527253
|
||||
rating: 4
|
||||
image: https://cdn.wonderfulfrog.com/jonny-appleseed.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/jonny-appleseed.jpeg
|
||||
tags: ["fictional", "emotional"]
|
||||
year: 2018
|
||||
---
|
||||
|
|
|
@ -4,7 +4,7 @@ subtitle: The Invisible Art
|
|||
author: Scott McCloud
|
||||
isbn: 9780060976255
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/understanding-comics.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/understanding-comics.jpg
|
||||
tags: ["comics", "art", "history"]
|
||||
year: 1993
|
||||
---
|
||||
|
|
|
@ -4,7 +4,7 @@ subtitle: Ruth Bader Ginsburg's Life & Work
|
|||
author: Victoria Ortiz
|
||||
isbn: 978054497364
|
||||
rating: 4
|
||||
image: https://cdn.wonderfulfrog.com/dissenter-on-the-bench.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/dissenter-on-the-bench.jpeg
|
||||
tags: ["biography"]
|
||||
year: 2019
|
||||
---
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Peace Talks
|
||||
author: Jim Butcher
|
||||
image: https://cdn.wonderfulfrog.com/jim-butcher-peace-talks.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/jim-butcher-peace-talks.jpeg
|
||||
isbn: 9780393609394
|
||||
rating: 2
|
||||
tags: ["fiction", "fantasy"]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: What We Don’t Talk About When We Talk About Fat
|
||||
author: Aubrey Gordon
|
||||
image: https://cdn.wonderfulfrog.com/9780807041307_p0_v1_s1200x630.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/9780807041307_p0_v1_s1200x630.jpg
|
||||
url: https://www.yourfatfriend.com/book
|
||||
isbn: 9780807041307
|
||||
rating: 5
|
||||
|
|
|
@ -4,7 +4,7 @@ subtitle: Why You Can't Pay Attention - and How to Think Deeply Again
|
|||
author: Johann Hari
|
||||
isbn: 9781526620224
|
||||
rating: 4
|
||||
image: https://cdn.wonderfulfrog.com/stolen-focus.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/stolen-focus.jpg
|
||||
tags: ["focus", "adhd", "psychology"]
|
||||
year: 2022
|
||||
---
|
||||
|
@ -13,7 +13,7 @@ I found this book mostly interesting and easy to digest. Hari has a writing styl
|
|||
|
||||
I was originally frustrated with the author because Hari kept the focus on their experience on their retreat but did not acknowledge the amount of privilege in being able to do so. I see this sort of advice frequently in the self-help sphere and I’m tired of it. It was distracting from their points regarding our relationship to our technology and the software that powers them.
|
||||
|
||||
I’m relieved that they *eventually* acknowledged their privilege but it took at least 1/4 of the book. It was worth sticking with it because the rest of the book stops talking about the retreat and focuses more on where their research on focus and attention lead to.
|
||||
I’m relieved that they _eventually_ acknowledged their privilege but it took at least 1/4 of the book. It was worth sticking with it because the rest of the book stops talking about the retreat and focuses more on where their research on focus and attention lead to.
|
||||
|
||||
I thought the "voodoo doll" analogy was especially apt. Facebook, Google, et al are creating what are effectively "voodoo dolls" of everyone who uses their services. As they acquire more data on a person, that "voodoo doll" becomes closer to looking and acting like them. Everything they do is in service of improving that doll - until they know you better than you know yourself!
|
||||
|
||||
|
|
|
@ -5,6 +5,6 @@ author: "Gareth Gaudin"
|
|||
year: 2021
|
||||
isbn: 9781459822290
|
||||
rating: 4
|
||||
image: https://cdn.wonderfulfrog.com/the-monster-sisters-vol-2.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/the-monster-sisters-vol-2.jpg
|
||||
tags: ["adventure"]
|
||||
---
|
||||
|
|
|
@ -4,7 +4,7 @@ publisher: Image Comics
|
|||
author: Majorie Liu, Sana Takeda
|
||||
volume: 1
|
||||
year: 2017
|
||||
image: https://cdn.wonderfulfrog.com/monstress-vol-1.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/monstress-vol-1.jpeg
|
||||
rating: 3
|
||||
tags: ["fantasy"]
|
||||
---
|
||||
|
|
|
@ -4,7 +4,7 @@ publisher: Image Comics
|
|||
author: Majorie Lui, Sana Takeda
|
||||
volume: 2
|
||||
year: 2017
|
||||
image: https://cdn.wonderfulfrog.com/monstress-vol-2-tp_77ea1f170a.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/monstress-vol-2-tp_77ea1f170a.jpg
|
||||
isbn: 9781534300415
|
||||
rating: 3
|
||||
tags: ["fantasy"]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Super Mario World 2: Yoshi's Island"
|
||||
platform: Super Nintendo
|
||||
image: https://cdn.wonderfulfrog.com/Yoshi's_Island_(Super_Mario_World_2)_box_art.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/Yoshi's_Island_(Super_Mario_World_2)_box_art.jpg
|
||||
tags: ["platformer"]
|
||||
year: 1995
|
||||
---
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Majora's Mask 3D"
|
||||
platform: Nintendo 3DS
|
||||
image: https://cdn.wonderfulfrog.com/Majora's_Mask_3D_cover.png
|
||||
image: https://cdn.wonderfulfrog.com/images/Majora's_Mask_3D_cover.png
|
||||
tags: ["adventure", "single player"]
|
||||
year: 2015
|
||||
---
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Mario & Luigi: Dream Team"
|
||||
platform: Nintendo 3DS
|
||||
image: https://cdn.wonderfulfrog.com/MarioLuigiDreamTeam.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/MarioLuigiDreamTeam.jpg
|
||||
tags: ["rpg", "turn based", "single player"]
|
||||
year: 2013
|
||||
---
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
---
|
||||
title: "Donkey Kong Country: Tropical Freeze"
|
||||
platform: Nintendo Wii U
|
||||
image: https://cdn.wonderfulfrog.com/DKC5_box_art.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/DKC5_box_art.jpg
|
||||
tags: ["platformer", "challenging", "single player", "multiplayer"]
|
||||
year: 2014
|
||||
---
|
||||
|
||||
Another challenging game. DKCTF nails the difficulty perfectly. As mentioned before, every failure feels like it's 100% the fault of the player. The controls are spot on and frankly should be the model for any platformer going forward. There are various control schemes to suit practically any player. My only minor gripe was that the buttons for each scheme were not customizable -- but the default options are fine. Going from the first level to the last is fairly short experience, but in typical DKC fashion the meat of the game comes from replaying levels and grabbing all the collectables. If that's not really your thing then you've still got a solid platformer that should scratch the itch. Visually the game is amazing to look at... I mean just look at this:
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/dkctf.jpg", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/dkctf.jpg", "", "" %}
|
||||
|
||||
The soundtrack is all aces as well -- composed by the same guy behind the first games - David Wise. It provides a fitting background - intense enough that it energizes you, but not overbearing that it comes the star of the show.
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Professor Layton vs. Phoenix Wright: Ace Attorney"
|
||||
platform: Nintendo 3DS
|
||||
image: https://cdn.wonderfulfrog.com/Laytonvsaceattorneycover.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/Laytonvsaceattorneycover.jpg
|
||||
tags: ["puzzle", "narrative", "visual novel", "single player"]
|
||||
year: 2014
|
||||
---
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "The Wonderful 101"
|
||||
platform: Nintendo Wii U
|
||||
image: https://cdn.wonderfulfrog.com/Wonderful_101_box_artwork.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/Wonderful_101_box_artwork.jpg
|
||||
tags: ["action", "beat em up", "single player"]
|
||||
year: 2013
|
||||
---
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Fallout 4
|
||||
platform: PC
|
||||
image: https://cdn.wonderfulfrog.com/Fallout_4_cover_art.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/Fallout_4_cover_art.jpg
|
||||
tags: ["rpg", "action", "single player"]
|
||||
year: 2015
|
||||
---
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Persona 3 Portable"
|
||||
platform: PlayStation Portable
|
||||
image: https://cdn.wonderfulfrog.com/p3p.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/p3p.jpg
|
||||
tags: ["rpg", "turn based", "persona", "single player"]
|
||||
youtube: true
|
||||
year: 2009
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Shovel Knight
|
||||
platform: Nintendo Wii U
|
||||
image: https://cdn.wonderfulfrog.com/Shovel_knight_cover.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/Shovel_knight_cover.jpg
|
||||
tags: ["platformer", "retro", "single player"]
|
||||
year: 2014
|
||||
---
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Tomb Raider
|
||||
platform: PC
|
||||
image: https://cdn.wonderfulfrog.com/TombRaider2013.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/TombRaider2013.jpg
|
||||
tags: ["action", "adventure", "puzzle", "reboot", "single player"]
|
||||
year: 2013
|
||||
---
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Assassin's Creed IV: Black Flag"
|
||||
platform: PlayStation 3
|
||||
image: https://cdn.wonderfulfrog.com/Assassin's_Creed_IV_-_Black_Flag_cover.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/Assassin's_Creed_IV_-_Black_Flag_cover.jpg
|
||||
tags: ["action", "adventure", "single player"]
|
||||
year: 2013
|
||||
---
|
||||
|
@ -12,9 +12,9 @@ It also helps when the protagonist is likable - Connor was just pretty flat over
|
|||
|
||||
I'd have to rank the Assassin's Creed games as follows:
|
||||
|
||||
1) ACII
|
||||
2) AC: Brotherhood
|
||||
3) ACIV: Black Flag
|
||||
4) Assassin's Creed
|
||||
5) ACIII
|
||||
6) AC: Revelations
|
||||
1. ACII
|
||||
2. AC: Brotherhood
|
||||
3. ACIV: Black Flag
|
||||
4. Assassin's Creed
|
||||
5. ACIII
|
||||
6. AC: Revelations
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: DOOM
|
||||
platform: PC
|
||||
image: https://cdn.wonderfulfrog.com/Doom_Cover.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/Doom_Cover.jpg
|
||||
tags: ["action", "fps", "retro shooter", "single player"]
|
||||
year: 2016
|
||||
---
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
---
|
||||
title: Hyper Light Drifter
|
||||
platform: PC
|
||||
image: https://cdn.wonderfulfrog.com/HyperLightDrifterBoxArt.png
|
||||
tags: ["action", "hack and slash", "retro", "indie", "open world", "single player"]
|
||||
image: https://cdn.wonderfulfrog.com/images/HyperLightDrifterBoxArt.png
|
||||
tags:
|
||||
["action", "hack and slash", "retro", "indie", "open world", "single player"]
|
||||
year: 2016
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Vanquish
|
||||
platform: PlayStation 3
|
||||
image: https://cdn.wonderfulfrog.com/PG_Vanquish_box_artwork.png
|
||||
image: https://cdn.wonderfulfrog.com/images/PG_Vanquish_box_artwork.png
|
||||
tags: ["action", "platinum", "shooter", "single player"]
|
||||
year: 2010
|
||||
---
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Persona 5
|
||||
platform: PlayStation 4
|
||||
image: https://cdn.wonderfulfrog.com/Persona_5_cover_art.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/Persona_5_cover_art.jpg
|
||||
tags: ["rpg", "turn based", "single player", "persona"]
|
||||
year: 2016
|
||||
---
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Axiom Verge
|
||||
platform: Nintendo Switch
|
||||
image: https://cdn.wonderfulfrog.com/Axiom_Verge_Title.png
|
||||
image: https://cdn.wonderfulfrog.com/images/Axiom_Verge_Title.png
|
||||
tags: ["action", "metroidvania", "indie", "single player"]
|
||||
year: 2015
|
||||
---
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Her Story
|
||||
platform: PC
|
||||
image: https://cdn.wonderfulfrog.com/Her_Story_store_art.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/Her_Story_store_art.jpg
|
||||
tags: ["pc", "narrative", "simulator", "indie", "single player"]
|
||||
year: 2015
|
||||
---
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
---
|
||||
title: "Middle-earth: Shadow of Mordor"
|
||||
platform: PC
|
||||
image: https://cdn.wonderfulfrog.com/Shadow_of_Mordor_cover_art.jpg
|
||||
tags: ["action", "nemesis system", "hack and slash", "single player", "open world"]
|
||||
image: https://cdn.wonderfulfrog.com/images/Shadow_of_Mordor_cover_art.jpg
|
||||
tags:
|
||||
["action", "nemesis system", "hack and slash", "single player", "open world"]
|
||||
year: 2014
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Citizen Sleeper
|
||||
platform: PC
|
||||
image: https://cdn.wonderfulfrog.com/Citizen_Sleeper_cover_art.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/Citizen_Sleeper_cover_art.jpg
|
||||
tags: ["narrative", "visual novel", "indie", "rpg", "single player"]
|
||||
year: 2022
|
||||
rating: 4
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: History of the 90s
|
||||
rating: 4
|
||||
image: https://cdn.wonderfulfrog.com/history-of-the-90s.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/history-of-the-90s.jpeg
|
||||
url: https://curiouscast.ca/podcast/466/history-of-the-90s/
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Hunting Warhead
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/hunting-warhead.webp
|
||||
image: https://cdn.wonderfulfrog.com/images/hunting-warhead.webp
|
||||
url: https://www.cbc.ca/listen/cbc-podcasts/387-hunting-warhead
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Maintenance Phase
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/maintenance-phase.webp
|
||||
image: https://cdn.wonderfulfrog.com/images/maintenance-phase.webp
|
||||
url: https://www.maintenancephase.com/
|
||||
---
|
||||
|
||||
|
@ -13,5 +13,3 @@ A phenomenal podcast that challenged everything I knew about fatness, dieting, f
|
|||
- [Halo Top Ice Cream](https://maintenancephase.buzzsprout.com/1411126/7127890-halo-top-ice-cream)
|
||||
- [The Biggest Loser](https://maintenancephase.buzzsprout.com/1411126/7353850-the-biggest-loser)
|
||||
I used to watch this show religiously with my parents. I'd look to it at times for inspiration. Realizing the literal hell the cast when through now is horrifying.
|
||||
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: Reply All
|
||||
url: https://gimletmedia.com/shows/reply-all
|
||||
rating: 3
|
||||
image: https://cdn.wonderfulfrog.com/reply-all.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/reply-all.jpeg
|
||||
---
|
||||
|
||||
There are too many episodes to this podcast, but I have been shared a few interesting ones from my partner. I was never a regular listener, and have not listened since it [effectively imploded](https://www.vulture.com/article/gimlet-reply-all-controversy-spotify-test-kitchen.html)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Running from COPS
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/running-from-cops.webp
|
||||
image: https://cdn.wonderfulfrog.com/images/running-from-cops.webp
|
||||
url: https://podcasts.apple.com/ca/podcast/headlong-running-from-cops/id1459118695
|
||||
---
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Surviving Y2K
|
||||
rating: 4
|
||||
image: https://cdn.wonderfulfrog.com/surviving-y2k.webp
|
||||
image: https://cdn.wonderfulfrog.com/images/surviving-y2k.webp
|
||||
url: https://podcasts.apple.com/ca/podcast/headlong-surviving-y2k/id1464251414
|
||||
---
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: "You're Wrong About"
|
||||
url: https://yourewrongabout.com/
|
||||
rating: 3
|
||||
image: https://cdn.wonderfulfrog.com/youre-wrong-about.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/youre-wrong-about.jpeg
|
||||
---
|
||||
|
||||
## Favourite episodes
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: If Books Could Kill
|
||||
url: https://www.ifbookspod.com/
|
||||
image: https://cdn.wonderfulfrog.com/if-books-could-kill.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/if-books-could-kill.jpeg
|
||||
---
|
||||
|
||||
I will follow Michael Hobbes to the ends of the earth.
|
||||
|
@ -11,6 +11,6 @@ I will follow Michael Hobbes to the ends of the earth.
|
|||
- [The Art of the Deal](https://www.buzzsprout.com/2040953/14286395-the-art-of-the-deal)
|
||||
- [Malcolm Gladwell's "Outliers"](https://www.buzzsprout.com/2040953/11658428-malcolm-gladwell-s-outliers)
|
||||
- [Rich Dad Poor Dad](https://www.buzzsprout.com/2040953/12593204-rich-dad-poor-dad)
|
||||
- [The Subtle Art of Not Giving a F*ck](https://www.buzzsprout.com/2040953/14006961-the-subtle-art-of-not-giving-a-f-ck)
|
||||
- [The Subtle Art of Not Giving a F\*ck](https://www.buzzsprout.com/2040953/14006961-the-subtle-art-of-not-giving-a-f-ck)
|
||||
How is it that I always fall for the light right-wingers? I still respect the book for the impact it had on me, but Mark Manson has completely lost the plot lately. His second book was not worth the money I paid for it.
|
||||
- [The 48 Laws of Power](https://www.buzzsprout.com/2040953/13887364-the-48-laws-of-power)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: 9/12
|
||||
rating: 4
|
||||
image: https://cdn.wonderfulfrog.com/21dcd7ff8bee7ea7122dd755078befbef85978d7ee34af54840833a606d375da90a4f8a295842e8d2b58f4db5dfa6a69859a209e3c346f5f268546110b2b6d45.jpeg
|
||||
image: https://cdn.wonderfulfrog.com/images/21dcd7ff8bee7ea7122dd755078befbef85978d7ee34af54840833a606d375da90a4f8a295842e8d2b58f4db5dfa6a69859a209e3c346f5f268546110b2b6d45.jpeg
|
||||
url: https://art19.com/shows/9-12
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: A Death in Cryptoland
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/adeathincryptoland-podcast-template-lg.avif
|
||||
image: https://cdn.wonderfulfrog.com/images/adeathincryptoland-podcast-template-lg.avif
|
||||
url: https://www.cbc.ca/listen/cbc-podcasts/904-a-death-in-cryptoland
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Boys Like Me
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/BoysLikeMe-podcast-template.avif
|
||||
image: https://cdn.wonderfulfrog.com/images/BoysLikeMe-podcast-template.avif
|
||||
url: https://www.cbc.ca/listen/cbc-podcasts/1035-boys-like-me
|
||||
---
|
||||
|
||||
|
@ -14,4 +14,3 @@ It's so easy to become radicalized because it happens so slowly - it's insidious
|
|||
I can't remember when I got out of the movement. It happened slowly if I remember right. I'd disagree with a small point, and then I found myself disagreeing more until I recognized it for what it was. Nothing but hateful rhetoric.
|
||||
|
||||
It can be hard for a lot of men to reach that point, though. They become so entrenched in their beliefs that they can't think rationally anymore.
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Conversations With People Who Hate Me
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/Conversations-With-People-Who-Hate-Me-Square-Logo.png
|
||||
image: https://cdn.wonderfulfrog.com/images/Conversations-With-People-Who-Hate-Me-Square-Logo.png
|
||||
url: https://www.dylanmarron.com/podcast
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Project Unabom
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/313x0w.webp
|
||||
image: https://cdn.wonderfulfrog.com/images/313x0w.webp
|
||||
url: https://podcasts.apple.com/ca/podcast/project-unabom/id1627613321
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: The Redemption of Jar Jar Binks
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/Jar_Jar_250x250.jpg
|
||||
image: https://cdn.wonderfulfrog.com/images/Jar_Jar_250x250.jpg
|
||||
url: https://www.ted.com/podcasts/the-redemption-of-jar-jar-binks
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: The Flamethrowers
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/theflamethrowers-podcast-template.avif
|
||||
image: https://cdn.wonderfulfrog.com/images/theflamethrowers-podcast-template.avif
|
||||
url: https://www.cbc.ca/listen/cbc-podcasts/1026-the-flamethrowers
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: The New Gurus
|
||||
rating: 5
|
||||
image: https://cdn.wonderfulfrog.com/the-new-gurus.webp
|
||||
image: https://cdn.wonderfulfrog.com/images/the-new-gurus.webp
|
||||
url: https://podcasts.apple.com/ca/podcast/the-new-gurus/id1659385785
|
||||
---
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ Here's a non-exhaustive list of topics you'll find here: web development, music,
|
|||
|
||||
I really like frogs, like a lot. So I made myself a mascot. They don't have a name yet, but perhaps you can think of one?
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/logo.svg", "A pixel art version of a frog. They are currently unnamed.", "What should we call them?" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/logo.svg", "A pixel art version of a frog. They are currently unnamed.", "What should we call them?" %}
|
||||
|
||||
## Professional
|
||||
|
||||
|
|
|
@ -10,6 +10,11 @@ All the changes that are fit to read!
|
|||
|
||||
If preferred, the [commit log is available here][commits].
|
||||
|
||||
## September 29th 2024
|
||||
|
||||
- Switched to [Cloudflare Pages](https://pages.cloudflare.com/) for deployments and hosting.
|
||||
- Switched to [Backblaze B2](https://www.backblaze.com/cloud-storage) for asset storage. Served through Cloudflare.
|
||||
|
||||
## July 7th 2024
|
||||
|
||||
- Update `<published>` tag to `<pubDate>` tag to match [RSS 2.0 spec](https://www.rssboard.org/rss-specification#ltpubdategtSubelementOfLtitemgt)
|
||||
|
|
|
@ -6,7 +6,7 @@ tags: [email, protonmail]
|
|||
|
||||
I've been an avid Gmail user since its inception sometime in 2004. I remember hunting for a beta invite back when they were highly coveted. I have received 25,467 emails and sent 1,738. The first email I sent was to a local shop to buy my old G3 iMac.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/first_gmail.png", "A screenshot of the 'Welcome to Gmail' email everyone received when they first opened their account", "Gmail was different, alright." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/first_gmail.png", "A screenshot of the 'Welcome to Gmail' email everyone received when they first opened their account", "Gmail was different, alright." %}
|
||||
|
||||
In the years since I got my Gmail account I've realized that I've become the product for Google. My information - who I am, my interests, everything - is their endgame. Plain and simple I don't like that they have this information. I doubt there is any way for me to reliably erase myself from their databases, so I've opted to do the next best thing - try to reduce the amount of new information acquired.
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ tags: ["music", "vinyl", "collecting"]
|
|||
|
||||
I’m here to tell you vinyl collecting isn’t all its cracked up to be. Like many hobbies, it takes time and dedication to truly appreciate. I’m here to offer a cautionary tale to anyone looking to start the hobby. It’s important to make sure you want to do it for the right reasons - something I didn’t do when I started.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/mmb.jpg", "Record cover of Mogwai's Mr. Beast", "Mogwai's Mr. Beast" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/mmb.jpg", "Record cover of Mogwai's Mr. Beast", "Mogwai's Mr. Beast" %}
|
||||
|
||||
At some point in 2008 I decided to begin my vinyl journey. After hearing about records making a quiet comeback from my friend I thought I might see what this was all about on a whim. After perusing the local music store’s then-growing record collection I came out with [Mogwai's Mr. Beast](https://itunes.apple.com/ca/album/mr-beast/794356427). When I returned home I asked my parents for their old record player. My Mom returned my request with surprise.
|
||||
|
||||
|
@ -24,11 +24,11 @@ At some point in 2008 I decided to begin my vinyl journey. After hearing about r
|
|||
|
||||
Off to the garage we went. Beneath a pile of old DVDs and other relics of another age - there it was. With the player was a giant container of records. I lugged the two with anticipation and enthusiasm upstairs. The record player was Dual's CS 728Q.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/dual.png", "Poster for the Dual CS 728Q record player", "The subtle off-white colouring, the tasteful thickness of it..." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/dual.png", "Poster for the Dual CS 728Q record player", "The subtle off-white colouring, the tasteful thickness of it..." %}
|
||||
|
||||
I didn't have a sound system at the time - so my setup was a messy daisy-chain of cords that eventually lead to a pair a cheap computer speakers. I excitedly rummaged through my parents collection looking for one album in particular. With a pleased grin I found it. I was looking for [Pink Floyd's Wish You Were Here](https://itunes.apple.com/ca/album/wish-you-were-here/1065973975).
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/wywh.png", "Record cover of Pink Floyd's Wish You Were Here", "Pink Floyd's Wish You Were Here" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/wywh.png", "Record cover of Pink Floyd's Wish You Were Here", "Pink Floyd's Wish You Were Here" %}
|
||||
|
||||
I admired the gatefold LP for some time before placing it on the platter. Pressing the start button the record started turning. The tone arm swung over and locked into place, hovering over the record. Gently it lowered itself until it landed with a subtle popping sound. It was at this point I realized what a phono preamp was - and without having one means there is very little sound. Undeterred, I cranked the volume on my tinny little speakers. It wasn't much but I could hear it! David Gilmour's wailing guitar pumping through the needle to my speakers. It was a magical moment for me. I listened to the whole album on those horrible speakers, completely enthralled in the medium.
|
||||
|
||||
|
@ -40,7 +40,7 @@ As with most things I get interested in, I launched into this new hobby with rec
|
|||
|
||||
With my new desire to acquire any and all kinds of vinyl I wandered into shops and would eat up anything that looked remotely interesting. About a year into the hobby I started to notice that more and more of my favourite artists were releasing brand new pressings of their upcoming albums. The writing was on the wall - the record companies were taking notice of the resurgence of vinyl and were preparing to go in swinging. I didn’t think much of it at the time of course.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/djf.png", "Record cover of Dinosaur Jr.'s Farm", "Dinosaur Jr.'s Farm" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/djf.png", "Record cover of Dinosaur Jr.'s Farm", "Dinosaur Jr.'s Farm" %}
|
||||
|
||||
It was also around this time I started to notice more of the minor annoyances with vinyl - chiefly the maintenance aspect. By virtue of the way the medium works, anything like dust, dirt, or small particles are the enemy. They cause pops and cracks, or worse skips. My brand new records started showing these symptoms after a few plays. Again though I falsely convinced myself this was all part of the charm and just needed to be accepted; the worrying never stopped though. I would often have to convince myself the record would be fine and to just play it. For the large part I was still enjoying the hobby, but starting to realize some of the downsides that came with it.
|
||||
|
||||
|
@ -48,7 +48,7 @@ It was also around this time I started to notice more of the minor annoyances wi
|
|||
|
||||
During this time I can recall a particularly vivid memory relating to a record purchase. In 2009 Animal Collective released their breakout album [Merriweather Post Pavilion](https://itunes.apple.com/ca/album/merriweather-post-pavilion/300683110). I remember picking it up at the store after months of anticipation (and listening to low-quality album leaks). After the usual ritual of gatefold admiration, I put the record on the platter and hit start. With headphones hooked up, I put on my pair of Sony MDRV6s and laid down on the bed. I closed my eyes. Soon the opening notes of In the Flowers began. I lost myself on a sonic odyssey - interrupted only by the necessity to flip the record over. It was one point in my life where I recall listening to an album front to back without _any_ distractions. Despite my slow-growing annoyance with vinyl as a hobby, this is one memory I always look on fondly.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/acmpp.jpg", "Record cover of Animal Collective's Merriweather Post Pavilion", "Animal Collective's Merriweather Peace Pavilion" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/acmpp.jpg", "Record cover of Animal Collective's Merriweather Post Pavilion", "Animal Collective's Merriweather Peace Pavilion" %}
|
||||
|
||||
## Annoyance turns to irritation
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ This is an update to my post from a few months ago about a cautionary tale into
|
|||
|
||||
I believe this all started because of my ruthless quest for minimalism. I don’t mean in the popular sense of owning no furniture like that photo of Steve Jobs, but speaking more in a sense of values. If something isn’t providing me any value, why should I continue to own it? That was the conclusion I arrived at when it came to evaluating my vinyl collection.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/CB867BB6-6F62-44AC-B1F4-B9B8D290D75C.jpeg", "Steve Jobs sitting cross-legged in his living room with sparse furniture", "Not my idea of minimalism" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/CB867BB6-6F62-44AC-B1F4-B9B8D290D75C.jpeg", "Steve Jobs sitting cross-legged in his living room with sparse furniture", "Not my idea of minimalism" %}
|
||||
|
||||
After talking with my partner, she said something along the lines of it being okay to collect things. It sounds silly, but that single bit of permission and validation told me that the collection does indeed bring my joy and value. It cemented the fact that the collection is now a part of who I am — it helps define my identity as an avid music listener. Once someone told me it’s okay, it completed changed my perception. Perhaps all I was looking for to begin with was permission to collect them?
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ excerpt: A look back at what happened in 2019 - professionally. For me.
|
|||
tags: ["career", "growth", "personal", "react", "swift"]
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/dude-pretending-to-read.png", "A dude sitting on a chair with legs crossed casually pretending to read but seemingly looking off into the distance with a confident smile, or perhaps to look at a neat dog. From Open Doodles.", "A dude sitting on a chair with legs crossed casually pretending to read but seemingly looking off into the distance with a confident smile, or perhaps to look at a neat dog. From Open Doodles." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/dude-pretending-to-read.png", "A dude sitting on a chair with legs crossed casually pretending to read but seemingly looking off into the distance with a confident smile, or perhaps to look at a neat dog. From Open Doodles.", "A dude sitting on a chair with legs crossed casually pretending to read but seemingly looking off into the distance with a confident smile, or perhaps to look at a neat dog. From Open Doodles." %}
|
||||
|
||||
2019 was a slow year for professional development. As things started to stagnate near the end of the year, I sensed it was time to move on and look for a new job. Before we talk about 2019, I wanted to revisit the goals from 2018:
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ excerpt: June 2020.
|
|||
tags: ["recently"]
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/wolfgang.jpg", "Wolfgang reading a book in an idyllic forest paradise", "#lifegoals" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/wolfgang.jpg", "Wolfgang reading a book in an idyllic forest paradise", "#lifegoals" %}
|
||||
|
||||
My pet project these last few weeks has been my [CHIP-8 interpreter](https://github.com/devinwl/chip-8). I've been following tutorials around the internet to try and figure things out. I've learned a lot more than I expected and even rekindled a bit of interest in hardware. I took a course in university that used an ARM processor for learning assembly language.
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ excerpt: July 2020.
|
|||
tags: ["recently"]
|
||||
---
|
||||
|
||||
{% image "https://wonderfulfrog.b-cdn.net/lady-actually-reading.svg", "Lady reading her book in what must be eventually pretty uncomfortable, but at least she has a nice cactus. From Open Doodles.", "Lady reading her book in what must be eventually pretty uncomfortable, but at least she has a nice cactus. From Open Doodles." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/lady-actually-reading.svg", "Lady reading her book in what must be eventually pretty uncomfortable, but at least she has a nice cactus. From Open Doodles.", "Lady reading her book in what must be eventually pretty uncomfortable, but at least she has a nice cactus. From Open Doodles." %}
|
||||
|
||||
My [CHIP-8 emulator](https://github.com/devinwl/chip-8) took a back seat last month. I haven’t made any progress on it since late May. I hope to return to it, but right now my interests have shifted to different projects.
|
||||
|
||||
|
|
|
@ -84,11 +84,11 @@ Well, turns out iTunes — sorry — Music(.app) — has a handy feature called
|
|||
- Matched (uploaded and updated using iTunes Match)
|
||||
- Uploaded (uploaded tracks saved using iTunes Match)
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/amm.png" , "Smart Playlist filters", "The various settings to get my 'Apple Music music'" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/amm.png" , "Smart Playlist filters", "The various settings to get my 'Apple Music music'" %}
|
||||
|
||||
I also added a filter to show music only from May 18th 2018. This date is important because it was the day I re-subscribed to Apple Music after not using it past the free trial. That cut down my list to 2,221 songs. Thus, I had my Apple Music music.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/stats.png" , "2,221 total songs", "2,221 total songs - wow!" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/stats.png" , "2,221 total songs", "2,221 total songs - wow!" %}
|
||||
|
||||
I also made another Smart Playlist to find all of my Purchased music (1,107 songs), and downloaded those. A grand total of about 3,300 songs from Apple.
|
||||
|
||||
|
@ -106,7 +106,7 @@ One caveat is that any tracks that were Matched (using iTunes Match) were likely
|
|||
|
||||
This step I knew I wanted to use as many automated tools as possible. There are likely a ton of databases out there for music, but I ended up liking [MusicBrainz](https://musicbrainz.org) the most. Especially because they have an app — [Picard](https://picard.musicbrainz.org) — that makes re-tagging very seamless. This is especially useful for YouTube rips as they don’t have any IDv3 tags, but Picard can scan by audio signature and match that way instead! Really cool. It wasn’t always right, but it was generally very close most of the time.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/60percent.gif" , "60% of the time, it works every time", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/60percent.gif" , "60% of the time, it works every time", "" %}
|
||||
|
||||
This worked pretty well at the start, but it was a fairly manual process. I’d have to:
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ excerpt: November 2020.
|
|||
tags: ["recently"]
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/e460bb30-2ef1-4a3c-af6d-f7ff9c696bac.jpeg", "A frog recounting his struggles about trying his hardest, and feeling like it’s never enough. By Cat's Cafe.", "Mood." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/e460bb30-2ef1-4a3c-af6d-f7ff9c696bac.jpeg", "A frog recounting his struggles about trying his hardest, and feeling like it’s never enough. By Cat's Cafe.", "Mood." %}
|
||||
|
||||
Well, now it’s November. That happened. Here’s some things that caught my interest this month.
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ excerpt: December 2020.
|
|||
tags: ["recently"]
|
||||
---
|
||||
|
||||
{% image "https://wonderfulfrog.b-cdn.net/tumblr_594d8523021106f126390d49d5a0a1a0_1db9a35a_1280.jpg", "Little Big Things by Cat's Cafe", "Sometimes the hardest thing is just getting out of bed" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/tumblr_594d8523021106f126390d49d5a0a1a0_1db9a35a_1280.jpg", "Little Big Things by Cat's Cafe", "Sometimes the hardest thing is just getting out of bed" %}
|
||||
|
||||
Not a long one this month. The holidays are upon us, but it doesn’t exactly feel like it to me. It’s a strange time to be sure.
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ A lot of good things happened this year too:
|
|||
- [Google is being sued by the US for antitrust violations.][antitrust]
|
||||
- We got Season 2 of The Mandalorian.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/8deaca3a-3ad8-4a2b-9068-b6ea1b7f7ec1.jpeg", "A screenshot of my phone with a news heading that says 'BIDEN BEATS TRUMP'", "A cherished screenshot" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/8deaca3a-3ad8-4a2b-9068-b6ea1b7f7ec1.jpeg", "A screenshot of my phone with a news heading that says 'BIDEN BEATS TRUMP'", "A cherished screenshot" %}
|
||||
|
||||
I had to search for both positive and negative events because my brain is having enough trouble dealing with the present, let alone reasoning what happened in the past.
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ tags: ["recently", "valheim"]
|
|||
youtube: true
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/forestsunrise.png", "A screenshot of Valheim with a sunrise coming through a thick, dense forest." , "Look at them god rays" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/forestsunrise.png", "A screenshot of Valheim with a sunrise coming through a thick, dense forest." , "Look at them god rays" %}
|
||||
|
||||
Like Christmas, I am always shocked at how fast February goes by, even though it’s the same length (except Leap Years) every year.
|
||||
|
||||
|
@ -61,7 +61,7 @@ Here’s my favorite bit ever:
|
|||
|
||||
## Playing
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/moonrise.png", "My mighty viking with the moon as a backdrop." , "Look at them... moon rays" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/moonrise.png", "My mighty viking with the moon as a backdrop." , "Look at them... moon rays" %}
|
||||
|
||||
Without a doubt (and likely to my partner’s dismay) the majority of my time the past few weeks has been in [Valheim](https://www.valheimgame.com). I initially felt like the survival aspects of the game weren’t for me, having had enough of it in Minecraft. What sucked me right in though was the sheer quality of this Early Access title (can you believe it’s a team of **five people**?). The aesthetic of retro, low-poly models combined with a modern lightning engine creates this nostalgic but fresh vibe that fits in a game of its kind.
|
||||
|
||||
|
@ -69,24 +69,24 @@ Progressing in the game is done by destroying one of the five major bosses, with
|
|||
|
||||
A group of us (6) decided to get the game on a Friday evening, and before I knew it it was 1AM. Then it was 1AM Saturday. It kept going on like this. I lived and breathed the game. It sucks you in quick if you’re not careful.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/newheim.png", "My cozy viking home." , "If there exists a survival game, I will build a cottage in it" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/newheim.png", "My cozy viking home." , "If there exists a survival game, I will build a cottage in it" %}
|
||||
|
||||
Here are some screenshots of our journey to take down The Elder, the second boss of the game. His summoning location was far away from our little home of “Newheim” (which replaced our old village, now referred to as “Oldheim”), across the great sea. We built our first boat capable of holding more than one or two people and set sail.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/sailingtoelder.png", "A group of six hapless Vikings sailing their way to slay an unknown evil." , "To boldly go where no Viking has gone before..." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/sailingtoelder.png", "A group of six hapless Vikings sailing their way to slay an unknown evil." , "To boldly go where no Viking has gone before..." %}
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/elderdistance.png", "Our map showing the distance from our main base to The Elder." , "1 day later..." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/elderdistance.png", "Our map showing the distance from our main base to The Elder." , "1 day later..." %}
|
||||
|
||||
After a day’s journey (which is about 30 minutes), we broke shore at what we called “Elderheim” (we have an incredibly clever naming scheme, if you haven’t noticed). We hastily built a small house and a portal to allow us to return to the island if we died (which we did, multiple times).
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/elderheim.png", "A screenshot of Valheim showing a hastily built shelter in the pouring rain." , "The black forest is aptly named" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/elderheim.png", "A screenshot of Valheim showing a hastily built shelter in the pouring rain." , "The black forest is aptly named" %}
|
||||
|
||||
With our base deployed and our bellies full of food, we set out to summon The Elder and take them out. I don’t have any shots of us during the fight, but you can rest assured it was a delightful, flailing mess. We all died at least once or twice. We ran out of arrows mid fight and had to speedily drop them on the ground to share.
|
||||
|
||||
In the end though, we triumphed!
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/elderdown.png", "The corpse of the mighty Elder!" , "Triumph!" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/elderdown.png", "The corpse of the mighty Elder!" , "Triumph!" %}
|
||||
|
||||
We’ve since taken down the third boss and are on our way to number four. The Mountain has proved to be a tough biome to survive, and if our brief excursion into the Plains has been any indication — the fun is only just beginning.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/stones.png", "The severed head of The Elder attached to a sacrificial stone altar. With this we gain strange new magical powers." , "And now, the mountain beckons us..." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/stones.png", "The severed head of The Elder attached to a sacrificial stone altar. With this we gain strange new magical powers." , "And now, the mountain beckons us..." %}
|
||||
|
|
|
@ -5,7 +5,7 @@ tags: ["recently", "valheim"]
|
|||
youtube: true
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/coolbow.png", "My Valheim character under the moon.", "The lighting in this game is so good!" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/coolbow.png", "My Valheim character under the moon.", "The lighting in this game is so good!" %}
|
||||
|
||||
Right up until the end of the month things were looking up pandemic-wise, but our province announced that more restrictions are going to be in place for the next few weeks. Cases have been trending upward for the younger age groups (20-30s). It felt like up until this announcement that were was a chance that summer might mean a vaccine for people in my age range. Not to mention that AstraZeneca has been suspended recently in Canada. Back to waiting.
|
||||
|
||||
|
@ -27,7 +27,7 @@ Been keeping busy on the games front lately! The Switch is a wonderful console.
|
|||
|
||||
Our group finished what I would consider to be the “campaign” of the game: the 5 bosses. We wrapped up about mid-March, slaying the mighty Yalguth after a long, hard battle. It was a lot of fun because it required coordination and resource management.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/theend.png", "Our heroes stand triumphant and display their grisly trophy!", "Our heroes stand triumphant and display their grisly trophy!" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/theend.png", "Our heroes stand triumphant and display their grisly trophy!", "Our heroes stand triumphant and display their grisly trophy!" %}
|
||||
|
||||
Since we finished all the bosses, we’ve fallen off the game. Without the next boss to work toward, the game became resource-gathering and base-building. A fun activity, but does not appeal to everyone. Without my friends playing, I don’t find myself all that interested.
|
||||
|
||||
|
@ -35,7 +35,7 @@ For $20 though, some of the best times I’ve had with a game in recent memory.
|
|||
|
||||
There are updates planned for Valheim that could be pretty exciting (like the Mistlands, Firelands, and Deep North being implemented), which might pull our group back in.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/yagluthsummon.png", "The summoning area for Yagluth, the final boss. He wants totems from his Fuling followers.", "The summoning area for Yagluth, the final boss. He wants totems from his Fuling followers." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/yagluthsummon.png", "The summoning area for Yagluth, the final boss. He wants totems from his Fuling followers.", "The summoning area for Yagluth, the final boss. He wants totems from his Fuling followers." %}
|
||||
|
||||
### Stardew Valley
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ excerpt: Everybody does it differently.
|
|||
tags: ["vim", "development"]
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/vimsetup.png", "A screenshot of my `vim` setup in action.", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/vimsetup.png", "A screenshot of my `vim` setup in action.", "" %}
|
||||
|
||||
I thought it would be fun to talk about my `vim` configuration. Everyone does it differently, and I wanted to toss my hat into the ring.
|
||||
|
||||
|
@ -271,7 +271,7 @@ let g:coc_global_extensions = [
|
|||
\ ]
|
||||
```
|
||||
|
||||
This runs these `coc` plugins all the time. Since I’m always mucking about in JavaScript, this isn’t a big deal. It’s smart enough to know when I’m *not* in JavaScript and to not complain, which works for me.
|
||||
This runs these `coc` plugins all the time. Since I’m always mucking about in JavaScript, this isn’t a big deal. It’s smart enough to know when I’m _not_ in JavaScript and to not complain, which works for me.
|
||||
|
||||
```vim
|
||||
if isdirectory('./node_modules') && isdirectory('./node_modules/prettier')
|
||||
|
@ -336,14 +336,14 @@ set statusline=%f%=%m%r%h%w%y[%04l,%04v]
|
|||
|
||||
This sets up my status line to show me what I need to know:
|
||||
|
||||
* The file I’m editing
|
||||
* A marker if the file has been modified but not saved
|
||||
* What language mode I’m in
|
||||
* What line I’m on
|
||||
* What column I’m on
|
||||
- The file I’m editing
|
||||
- A marker if the file has been modified but not saved
|
||||
- What language mode I’m in
|
||||
- What line I’m on
|
||||
- What column I’m on
|
||||
|
||||
```vim
|
||||
highlight Comment cterm=italic gui=italic
|
||||
```
|
||||
|
||||
My font of choice is [Operator Mono](https://www.typography.com/fonts/operator/overview), and it has beautiful cursive italics that I want to see. Anything comments in the file (or certain keywords) are converted into *italics*.
|
||||
My font of choice is [Operator Mono](https://www.typography.com/fonts/operator/overview), and it has beautiful cursive italics that I want to see. Anything comments in the file (or certain keywords) are converted into _italics_.
|
||||
|
|
|
@ -5,7 +5,7 @@ tags: ["recently"]
|
|||
youtube: true
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/mistergotcha.png", "The Nib's 'Mister Gotcha' comic", "'Curious!' - the catchphrase of those 'just asking questions'" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/mistergotcha.png", "The Nib's 'Mister Gotcha' comic", "'Curious!' - the catchphrase of those 'just asking questions'" %}
|
||||
|
||||
[Mister Gotcha][mistergotcha] is prime material when I complain about Apple and its ecosystem. There’s lots to complain about, but I’m a heavy user. Out of the options available, they are (in my opinion) the best choice as a consumer. That doesn’t mean they are perfect, though. Apple can (and should) do better.
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ excerpt: May 2021.
|
|||
tags: ["recently"]
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/coffee_time_with_dexter.jpg", "Miitopia: where you end up in cafe enjoying your coffee, with Dexter from Dexter's Lab being your barista.", "Dexter's Cafe" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/coffee_time_with_dexter.jpg", "Miitopia: where you end up in cafe enjoying your coffee, with Dexter from Dexter's Lab being your barista.", "Dexter's Cafe" %}
|
||||
|
||||
I got vaccinated this month. Canada’s rollout has been slower than say the US, but come vaccine day I was in and out within 20 minutes (that’s including my 15 minute waiting period). There are rumours that the 8 week waiting period between doses might be shortened.
|
||||
|
||||
|
@ -34,7 +34,7 @@ My game _du jour_ is undoubtedly Miitopia. The Switch version is a port of the 3
|
|||
|
||||
What really grabbed me about it was the ability to plonk your own Miis into the game. I’ve taken the opportunity to put my friends in as our main party so far, and inject whatever famous person I feel like making (fictional or otherwise). Thanks to the game’s fantastic writing, you can end up with some hilarious moments that wouldn’t otherwise happen without such creative freedom.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/miitopia_newman.jpg", "My character in Miitopia exclaiming 'Newman!' when the Dark Lord suddenly appears.", "Newman's incredible presence is no match for my scrappy attitude!" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/miitopia_newman.jpg", "My character in Miitopia exclaiming 'Newman!' when the Dark Lord suddenly appears.", "Newman's incredible presence is no match for my scrappy attitude!" %}
|
||||
|
||||
The Dark Lord in my game is none other than Newman himself, eternal enemy to Jerry Seinfeld. My Carefree Guide, the guy you meet at the very start, is Kramer (who is pretty good pals with Newman), and this moment made me laugh out loud:
|
||||
|
||||
|
|
|
@ -37,21 +37,21 @@ The game idea we eventually landed on was originally a joke we proposed to each
|
|||
|
||||
My job was art and in the first few hours I got to my drawing board. Okay, so it isn't a board but a sketchbook.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/FirstGameplayConcept.jpg", "In this concept art a untrustworthy manager is asking the player about 'those quarterly numbers', meanwhile the player has a thought bubble that says 'I'm losing him... tighten up!' referring to their handshake grip.", "Sketch of a gameplay concept" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/FirstGameplayConcept.jpg", "In this concept art a untrustworthy manager is asking the player about 'those quarterly numbers', meanwhile the player has a thought bubble that says 'I'm losing him... tighten up!' referring to their handshake grip.", "Sketch of a gameplay concept" %}
|
||||
|
||||
I originally drew this image after started taking our joke concept seriously. I added some nonsensical business speak and we all seemed to enjoy the humour.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/MinigameConcept.jpg", "Another concept art featuring the untrustworthy manager. This time, they have a noodle-like neck with the manager's head appearing dislodged from their body, to the left. The manager asks 'are you even paying attention?' while the player has a thought bubble that says 'maintain eye contact!'", "Sketch of a character with a very stretchy neck" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/MinigameConcept.jpg", "Another concept art featuring the untrustworthy manager. This time, they have a noodle-like neck with the manager's head appearing dislodged from their body, to the left. The manager asks 'are you even paying attention?' while the player has a thought bubble that says 'maintain eye contact!'", "Sketch of a character with a very stretchy neck" %}
|
||||
|
||||
At one point we had toyed with requiring constant eye-contact by using the mouse (something I think that would be fun), and then having ridiculously cartoon-y stretchy necks as they rapidly moved around the screen.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/UIConcept.jpg", "A sketch of the game UI. There are 'grip gauges' on the left side of the screen, representing the player's grip strength. In the center of a gauge is a target, where the player was intended to guide their gauge to. On the bottom is a text box, with generic business-like responses which the player could choose.", "Sketch of UI prototype" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/UIConcept.jpg", "A sketch of the game UI. There are 'grip gauges' on the left side of the screen, representing the player's grip strength. In the center of a gauge is a target, where the player was intended to guide their gauge to. On the bottom is a text box, with generic business-like responses which the player could choose.", "Sketch of UI prototype" %}
|
||||
|
||||
We wanted to implement dialogue responses into the game as a way to engage with the characters — another added element to the game beyond holding a few buttons. We wanted to bind them to the keys you'd use to maintain your handshake grip, so answering them would require letting up your grip for a moment.
|
||||
|
||||
After I got busy with gameplay concepts and had decided on how we wanted to play the game, I got busy with coming up with our cast of characters.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/CharacterDesigns.jpg", "A sketch of various characters. They have exaggerated features like elongated faces or big mouths. One character is intricately detailed and has a sense of false confidence. He is saying 'bro, closers close, bro.'", "A rogue's gallery of various characters" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/CharacterDesigns.jpg", "A sketch of various characters. They have exaggerated features like elongated faces or big mouths. One character is intricately detailed and has a sense of false confidence. He is saying 'bro, closers close, bro.'", "A rogue's gallery of various characters" %}
|
||||
|
||||
We came up with the stereotypical origin story of the struggling child who has never met their birth father. A natural progression for the main character we thought was the humble origins of a lowly fry cook turned Regional Franchise Manager. With all that in mind, we came up with some “business people” to interact with. In our original plans we had even greater heights for our character to reach: shaking hands with the President, the Pope, negotiating peace treaties with alien races… there was no bar too high.
|
||||
|
||||
|
@ -59,15 +59,15 @@ The dude in the middle ended up closely resembling our McBurger CEO (“Chief Mc
|
|||
|
||||
Afterward we decided we needed the Mom and Dad characters to play a part. The Mom I went super stereotypical, but didn't end up using it at all in the end (you'll see how it diverges later).
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/MomDesign.jpg", "A sketch of 'Mom', with a soft, round face. Her hair is poofy and circular. She is wearing a pearl necklace with over-sized pearls.", "It's Mom." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/MomDesign.jpg", "A sketch of 'Mom', with a soft, round face. Her hair is poofy and circular. She is wearing a pearl necklace with over-sized pearls.", "It's Mom." %}
|
||||
|
||||
The Dad I went vaguely European and kinda hipster vibes. Very strong jaw to highlight his traditional masculinity. A chunky moustache that resembles Ron Swanson's push broom. I knew right away that he should be annoyingly buff and he wants to show it off with tight-fitting shirts.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/DadsonDesign.jpg", "A sketch of 'Dad', with featuring hard lines and dark colors. Dad has sharp eyes and a large nose. His eyebrows are large rectangular shapes. His mustache looks like a large push-broom.", "It's Dad." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/DadsonDesign.jpg", "A sketch of 'Dad', with featuring hard lines and dark colors. Dad has sharp eyes and a large nose. His eyebrows are large rectangular shapes. His mustache looks like a large push-broom.", "It's Dad." %}
|
||||
|
||||
I wanted to have a plaid shirt for Dad, but couldn't figure out how to make it work in pixel art. This is the only artifact I have left: it's a blown-up sprite that came from a screenshot of my screen-share over Discord.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/DadsonPlaid.png", "An early in-game screenshot of 'Dad'. He looks like the sketch version with red skin. He is wearing a plaid shirt, and his chest muscles are very defined.", "It's Dad -- in plaid." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/DadsonPlaid.png", "An early in-game screenshot of 'Dad'. He looks like the sketch version with red skin. He is wearing a plaid shirt, and his chest muscles are very defined.", "It's Dad -- in plaid." %}
|
||||
|
||||
I doodled for most of the first night then went to bed. First thing the following morning was purchasing a copy of [Aseprite](https://www.aseprite.org) and getting into it. I had my work cut out for me: I needed to do a bunch of characters and backgrounds, and fast.
|
||||
|
||||
|
@ -75,21 +75,21 @@ I stuck with the default palette in Aseprite. I thought giving myself constraint
|
|||
|
||||
It had been a long time since I've made tiny squares into pictures, but I found my footing after a few hours. The first character I made had green skin and kinda looked like [Piccolo from DBZ](https://dragonball.fandom.com/wiki/Piccolo). Naturally I added antennae and the likeness was _impeccable_.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/sheet1.png", "A sprite sheet of various characters early in the design phase. Much like the sketch versions, so far characters feature weird face shapes and alien skin colours. Of note is a character with blue skin and a chubby face, with large jowls.", "It's a bad pixel art drawing of a guy that might or might not be Piccolo." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/sheet1.png", "A sprite sheet of various characters early in the design phase. Much like the sketch versions, so far characters feature weird face shapes and alien skin colours. Of note is a character with blue skin and a chubby face, with large jowls.", "It's a bad pixel art drawing of a guy that might or might not be Piccolo." %}
|
||||
|
||||
Then I started to play with this concept. What if all the characters are weird aliens? The blue character turned into the CEO (“Chief”), and as a joke I transformed him into [Dodoria](https://dragonball.fandom.com/wiki/Dodoria) (inevitably DBZ makes it into anything I'm involved with). Dadson is slowly taking shape (although looks kinda like a fish). The character on the left was supposed to be our middle manager, but I ended up scrapping this for something else later.
|
||||
|
||||
A few more hours later I had a new version of Mom created. I thought the original design was kinda boring, and thought it would be funny if Mom was a punk-y rebel (a mix of the side-cut and spike hair). She never ended up “feeling” like a Mom, but it was a fun character to create.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/sheet4.png", "Another early sprite sheet featuring the previously sketched cast of characters. On the sheet each character has a different facial expression. The blue character has a scared, bored, smiling, and determined expression. 'Mom' has been added as well. She has blue hair, with one half being spiked and the other in a side-part fashion. She has the same array of expressions (scared, bored, smiling), except instead of determined she has a beaming/happy expression, no doubt showing her love of their child (the player)", "Mom is back -- in punk form." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/sheet4.png", "Another early sprite sheet featuring the previously sketched cast of characters. On the sheet each character has a different facial expression. The blue character has a scared, bored, smiling, and determined expression. 'Mom' has been added as well. She has blue hair, with one half being spiked and the other in a side-part fashion. She has the same array of expressions (scared, bored, smiling), except instead of determined she has a beaming/happy expression, no doubt showing her love of their child (the player)", "Mom is back -- in punk form." %}
|
||||
|
||||
Then the middle manager (“Francis”) took shape with a new form. I thought a long-faced ([Squidward](https://en.wikipedia.org/wiki/Squidward_Tentacles)-esque) would be funny, and leaned into it. I wanted to have the slick-back hair from the start because it captures the feeling of a typical grease ball.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/sheet5.png", "The sprite sheet has a new character - Francis - added with green skin and gelled, slick back brown hair. They have a long face and a long nose that goes straight down. They are wearing a basic white dress shirt. There are different expressions like before - scared, bored, neutral, and determined.", "You just know Francis would never give you weekends off." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/sheet5.png", "The sprite sheet has a new character - Francis - added with green skin and gelled, slick back brown hair. They have a long face and a long nose that goes straight down. They are wearing a basic white dress shirt. There are different expressions like before - scared, bored, neutral, and determined.", "You just know Francis would never give you weekends off." %}
|
||||
|
||||
At this point we had our cast of characters and various facial expressions! Here's a mini time-lapse of the entire spritesheet taking form:
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/SpritesheetEvolution.gif", "An animation showing the evolution of the in-game character design. As the animation progresses, more characters are added, and various UI elements like gauges and buttons are added. A rough version of the logo is revealed, which is a cropped version of a handshake, showing just the hands.", "A time-lapse of the game's spritesheet." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/SpritesheetEvolution.gif", "An animation showing the evolution of the in-game character design. As the animation progresses, more characters are added, and various UI elements like gauges and buttons are added. A rough version of the logo is revealed, which is a cropped version of a handshake, showing just the hands.", "A time-lapse of the game's spritesheet." %}
|
||||
|
||||
I didn't end up having time for backgrounds and relied on my teammates for that. Photoshop wizardry got us there in the end!
|
||||
|
||||
|
@ -119,53 +119,53 @@ I took the time to redraw our characters using what I learned during the jam. Th
|
|||
|
||||
My first stop was Dadson. I thought I could come up with better colours that went with the heavy red vibe but with a touch of purple.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/Dadson1.png", "A single sprite of 'Dad' (Dadson). His design is the same as before, but the color selection has been made deliberate. His red skin looks warmer and the shadows/darker colors are less purple.", "It's Dad -- in (better) colour." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/Dadson1.png", "A single sprite of 'Dad' (Dadson). His design is the same as before, but the color selection has been made deliberate. His red skin looks warmer and the shadows/darker colors are less purple.", "It's Dad -- in (better) colour." %}
|
||||
|
||||
From there I started to embellish the details like his annoying muscles and stern eyes. I spent a fair amount of time doing anatomy studies to capture those rippling biceps. In between revising Dadson and other characters, I came back and re-applied what I had learned (again). You'll notice the jump is pretty substantial — look at the shading on his face. I wanted to highlight his jaw and defined facial features.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/DadsonFullEvolution.gif", "A time-lapse animation of the various tweaks applied to Dadson's design. His eyes are slightly softened, and the contours of his muscles become more defined in his shirt. The eyebrows and mustache are rounded to look a bit more cartoon-like. A small tuft of chest hair is visible underneath his tight-fitting shirt.", "It's Dad -- in time-lapse." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/DadsonFullEvolution.gif", "A time-lapse animation of the various tweaks applied to Dadson's design. His eyes are slightly softened, and the contours of his muscles become more defined in his shirt. The eyebrows and mustache are rounded to look a bit more cartoon-like. A small tuft of chest hair is visible underneath his tight-fitting shirt.", "It's Dad -- in time-lapse." %}
|
||||
|
||||
I felt like my shading improve substantially as I went on. I feel way more confident when it comes to getting a good shade gradient going.
|
||||
|
||||
I also played with talking and blinking sprites in between revisions.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/Dadson-talk-blink.gif", "An animated version of Dadson's sprite. He can be seen opening and closing his mouth representing speech, and he occasionally blinks.", "It's Dad -- talking and blinking." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/Dadson-talk-blink.gif", "An animated version of Dadson's sprite. He can be seen opening and closing his mouth representing speech, and he occasionally blinks.", "It's Dad -- talking and blinking." %}
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/DadsonTalkRage4.gif", "Another animated version of Dadson's sprite. Again he is talking, but his facial expression is different. He is clearly angry. His eyes are narrowed and his mouth is open wide - apparently as he is yelling.", "It's Dad -- talking and blinking. He's also quite pissed." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/DadsonTalkRage4.gif", "Another animated version of Dadson's sprite. Again he is talking, but his facial expression is different. He is clearly angry. His eyes are narrowed and his mouth is open wide - apparently as he is yelling.", "It's Dad -- talking and blinking. He's also quite pissed." %}
|
||||
|
||||
### Francis
|
||||
|
||||
At some point when I was revising Dadson I decided to take a stab at Francis. I wasn't happy with the shading or green colours. I started with a new colour palette for him. I came up with this:
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/FrancisNew.png", "A revised version of Francis' head sprite. The colours have been updated - the brown hair looks warmer and shinier (to highlight a combination of hair gel and grease), and his green skin has a tinge of yellow now. His irises are purple.", "Still not giving weekends off." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/FrancisNew.png", "A revised version of Francis' head sprite. The colours have been updated - the brown hair looks warmer and shinier (to highlight a combination of hair gel and grease), and his green skin has a tinge of yellow now. His irises are purple.", "Still not giving weekends off." %}
|
||||
|
||||
The shading isn't quite right. I needed to highlight his gaunt features. I thought it would be funny if he had more sassy body language, so I went with an arms folded pose. This was hard to get right and I spent a fair bit of time searching for various references.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/FrancisBodySassy.png", "A sprite of just Francis' body. His arms are crossed and he is slightly leaning to his left. It gives off an air of disinterest.", "Sassafrass bod." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/FrancisBodySassy.png", "A sprite of just Francis' body. His arms are crossed and he is slightly leaning to his left. It gives off an air of disinterest.", "Sassafrass bod." %}
|
||||
|
||||
Once I plugged them together I got into it and finally landed on the right shading.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/FrancisNew3.png", "A fully assembled version of Francis' new sprite featuring his new head and body together. The shading on his face has been changed to highlight his gaunt cheeks.", "You want time off? You're lucky to even have this job." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/FrancisNew3.png", "A fully assembled version of Francis' new sprite featuring his new head and body together. The shading on his face has been changed to highlight his gaunt cheeks.", "You want time off? You're lucky to even have this job." %}
|
||||
|
||||
I had a lot of fun with his facial expressions. I even did talking/blinking animations which I think came out excellent.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/FrancisFaces.png", "Francis with a few facial expressions - snide/confident, bored and looking to his right, and sheer terror. The terror face has exaggerated eyes with shrunken pupils.", "The many faces of Francis." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/FrancisFaces.png", "Francis with a few facial expressions - snide/confident, bored and looking to his right, and sheer terror. The terror face has exaggerated eyes with shrunken pupils.", "The many faces of Francis." %}
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/FrancisTalk.gif", "An animation of Francis talking. His mouth is fairly closed and small, which lends to a sycophant or lackey vibe.", "The way he talks is even sniveling." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/FrancisTalk.gif", "An animation of Francis talking. His mouth is fairly closed and small, which lends to a sycophant or lackey vibe.", "The way he talks is even sniveling." %}
|
||||
|
||||
### Chief
|
||||
|
||||
I had an idea of where I wanted to go here. I was looking for a [pre-world domination Jeff Bezos](https://media.npr.org/assets/img/2020/07/27/bezos2_wide-d887a33c25f471b95d41e058ef764ac95d72a56b-s1600-c85.webp), something that suggests a kinda disarming, but looks pretty affable kinda guy.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/ChiefNewFace.png", "A revised face for 'Chief', the boss. The blue shade is deeper and more saturated compared to the old sprite. He has horns on both sides of his face, which curl backwards at an angle. He lacks eyebrows but his eyebrow muscles are large and round. His face is pudgy with large jowls.", "A new face won't fool me. This guy wants to take over the world." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/ChiefNewFace.png", "A revised face for 'Chief', the boss. The blue shade is deeper and more saturated compared to the old sprite. He has horns on both sides of his face, which curl backwards at an angle. He lacks eyebrows but his eyebrow muscles are large and round. His face is pudgy with large jowls.", "A new face won't fool me. This guy wants to take over the world." %}
|
||||
|
||||
The shading on the sides of his chin look kinda like tiger stripes, which might've been fun to explore. I later claned up the shading which removed the tiger stripe look. Then I came up with fun facial expressions. I thought it would be interesting to not have Chief react in fear with an extreme grip, but more of a curious interest, something that suggests a “I may have underestimated this guy…” feeling.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/ChiefNewFaces2.png", "Different facial expressions for Chief. A neutral/small smile, an evil/confident smile, a bored/disappointed look, and a look of genuine surprise. The latter would be used when the player overwhelmed Chief's grip, as if they never expected the player to be so strong-willed and determined.", "The many moods of Chief. This is morning mist." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/ChiefNewFaces2.png", "Different facial expressions for Chief. A neutral/small smile, an evil/confident smile, a bored/disappointed look, and a look of genuine surprise. The latter would be used when the player overwhelmed Chief's grip, as if they never expected the player to be so strong-willed and determined.", "The many moods of Chief. This is morning mist." %}
|
||||
|
||||
Can't forget his new body (which I think sells the whole package).
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/ChiefNewFull.png", "A full body sprite for the Chief wearing a dark grey business suit with a red tie. The grey has a coolness to it, which matches the cool of his blue colour. The suit is obviously ill-fitted with stretching and creases - to suggest someone who has grown fat from his increasing power. His build is fat and stocky.", "That ain't no Dad bod." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/ChiefNewFull.png", "A full body sprite for the Chief wearing a dark grey business suit with a red tie. The grey has a coolness to it, which matches the cool of his blue colour. The suit is obviously ill-fitted with stretching and creases - to suggest someone who has grown fat from his increasing power. His build is fat and stocky.", "That ain't no Dad bod." %}
|
||||
|
||||
### Mom
|
||||
|
||||
|
@ -175,7 +175,7 @@ Better yet, how the hell do I make pixel art hair?
|
|||
|
||||
I took on the challenge, and started with the face.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/MomFaceEvolution.gif", "An animation showing the different revisions of the new 'Mom' sprite. Her eyes go from green to red and back to green. Her hair colour becomes a saturated blue (fun fact: the same blue as Chief). The detail in her hair increases to where individual strands and groups of hair are visible. Her skin colour becomes redder and warmer, and less pale. Her lipstick transforms from a nude brown to a reddish-pink.", "From punk to party girl. Wait. That's not Mom!" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/MomFaceEvolution.gif", "An animation showing the different revisions of the new 'Mom' sprite. Her eyes go from green to red and back to green. Her hair colour becomes a saturated blue (fun fact: the same blue as Chief). The detail in her hair increases to where individual strands and groups of hair are visible. Her skin colour becomes redder and warmer, and less pale. Her lipstick transforms from a nude brown to a reddish-pink.", "From punk to party girl. Wait. That's not Mom!" %}
|
||||
|
||||
I wanted — for lack of a better word — a more “motherly” face, which eventually meant age her up. It was important to me to keep her fun spirit, but stay within “Mom territory”. I struggled to get the skin colour palette right for a long time. At one point I gave up and made her skin yellow, which was super fun (even though it looked like she had permanent jaundice). That did allow me to see where I was going wrong with my colours though, and I eventually landed on the right look.
|
||||
|
||||
|
@ -183,16 +183,16 @@ I scrapped the spiked hair because I couldn't get it to look right, and I though
|
|||
|
||||
Mom's body sprite challenged me. I had to learn how to shade better to capture the look I wanted (I'll say it — I had no idea how to draw breasts). I initially started with a shoulder-less dress for flair and fun, but I think it looked a little _too fun_, so I brought it back with a nice coral cardigan.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/MomFullEvolution.gif", "An animation showing the evolution of Mom's body sprite and clothing. It starts with a red, shoulder-less dress and becomes a grey shirt and an orange cardigan. The cardigan itself goes through several revisions with small details like the trim shading changing. Shading details on her neck and upper chest are changed slightly. The final cardigan is a bright orange with a checkered/woven hem.", "Now, that's the Mom I know." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/MomFullEvolution.gif", "An animation showing the evolution of Mom's body sprite and clothing. It starts with a red, shoulder-less dress and becomes a grey shirt and an orange cardigan. The cardigan itself goes through several revisions with small details like the trim shading changing. Shading details on her neck and upper chest are changed slightly. The final cardigan is a bright orange with a checkered/woven hem.", "Now, that's the Mom I know." %}
|
||||
|
||||
I'm proud of how this one came out. It challenged me in many different aspects but came out almost exactly how I wanted it to. I feel like I improved my skills a lot with this one.
|
||||
|
||||
Finally, here are some before and after versions of the character sprites.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/DadsonBeforeAfter.gif", "An animation showing the changes between the old and final designs of Dadson.", "Dadson, before and after." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/ChiefBeforeAfter.gif", "An animation showing the changes between the old and final designs of Chief.", "Chief, before and after." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/FrancisBeforeAfter.gif", "An animation showing the changes between the old and final designs of Francis.", "Francis, before and after." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/MomBeforeAfter.gif", "An animation showing the changes between the old and final designs of Mom.", "Mom, before and after." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/DadsonBeforeAfter.gif", "An animation showing the changes between the old and final designs of Dadson.", "Dadson, before and after." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/ChiefBeforeAfter.gif", "An animation showing the changes between the old and final designs of Chief.", "Chief, before and after." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/FrancisBeforeAfter.gif", "An animation showing the changes between the old and final designs of Francis.", "Francis, before and after." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/MomBeforeAfter.gif", "An animation showing the changes between the old and final designs of Mom.", "Mom, before and after." %}
|
||||
|
||||
### The rest
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ excerpt: Bit of a weird week.
|
|||
tags: ["weaknotes"]
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/noblewarrior_d2rbeta.png", "Like Link in Zelda, I have NobleWarrior the ever-living Paladin. Never the same character, but I always make a new one every so often.", "For me, this is an image I can hear" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/noblewarrior_d2rbeta.png", "Like Link in Zelda, I have NobleWarrior the ever-living Paladin. Never the same character, but I always make a new one every so often.", "For me, this is an image I can hear" %}
|
||||
|
||||
- [More stories from victims at Blizzard]. I'm saddened and disappointed to hear that Morhaime was largely an accessory and protected the harassers. I had him pegged as one of the last few good executives. I guess they don't exist after all.
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ excerpt: The One Where Apple Sucks A Lot.
|
|||
tags: ["weaknotes"]
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/podophobia.png", "", "Nobody likes centipedes, and anybody who says otherwise is a liar!" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/podophobia.png", "", "Nobody likes centipedes, and anybody who says otherwise is a liar!" %}
|
||||
|
||||
I'm noticing that these weekly posts are turning into a link dump rather than a weekly look at what's going on in my life. I'm not sure if that's what I want to do going forward, and I'll have a think on it.
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ excerpt: It's the fourth one.
|
|||
tags: ["weaknotes"]
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/C0664BF8-4E3C-4285-8F5C-BECD7E0347B1.jpeg", "A sketchbook page of my doodles using my Copic markers. Mostly loose shapes and some human heads using the Loomis Method. There is a block of cheese." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/C0664BF8-4E3C-4285-8F5C-BECD7E0347B1.jpeg", "A sketchbook page of my doodles using my Copic markers. Mostly loose shapes and some human heads using the Loomis Method. There is a block of cheese." %}
|
||||
|
||||
Been a while since my last entry. Since then I went to Calgary again. I didn’t end up doing much this time. I was by myself for most of the trip. I underestimated how weird it feels not only being alone but in an unfamiliar place. It hit me harder than I ever expected. On the upside I managed to get work done on my site (which should be evident soon).
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ excerpt: Electric boogaloo.
|
|||
tags: ["mdx", "development", "netlify", "eslint"]
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/v2lines.png", "A screenshot of GitHub showing the number of files changed. 7,664 lines added, 1,668 lines removed.", "That's a lot of lines!" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/v2lines.png", "A screenshot of GitHub showing the number of files changed. 7,664 lines added, 1,668 lines removed.", "That's a lot of lines!" %}
|
||||
|
||||
Welcome to version 2.0! I've been working away at the site for a few weeks now. There have been plenty of changes under the hood, and the front-facing side of things look similar.
|
||||
|
||||
|
@ -68,10 +68,10 @@ I spent a lot of time making sure the developer experience (read: me) was enjoya
|
|||
|
||||
Some favourite packages of mine in no particular order:
|
||||
|
||||
* [eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y) Accessibility is important, and this will catch the easiest errors before it leaves the editor!
|
||||
* [eslint-plugin-simple-sort](https://github.com/lydell/eslint-plugin-simple-import-sort) I like things being in alphabetical order. This took some extra configuration to get it *just right*. I'll share my config below.
|
||||
* [rehype-img-size](https://github.com/ksoichiro/rehype-img-size) Adds the width and height of any (local) image that is processed by `rehype`.
|
||||
* [rehype-slug](https://github.com/rehypejs/rehype-slug) Adds `id` tags to all Markdown headers.
|
||||
- [eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y) Accessibility is important, and this will catch the easiest errors before it leaves the editor!
|
||||
- [eslint-plugin-simple-sort](https://github.com/lydell/eslint-plugin-simple-import-sort) I like things being in alphabetical order. This took some extra configuration to get it _just right_. I'll share my config below.
|
||||
- [rehype-img-size](https://github.com/ksoichiro/rehype-img-size) Adds the width and height of any (local) image that is processed by `rehype`.
|
||||
- [rehype-slug](https://github.com/rehypejs/rehype-slug) Adds `id` tags to all Markdown headers.
|
||||
|
||||
Simple sort `eslintrc` config:
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ excerpt: I can't decide what to call my weekly posts anymore.
|
|||
tags: ["stray thoughts"]
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/collage.jpeg", "My popular last.fm scrobbles from the last week. From the top left: David Bowie - The Next Day, Turnstile - GLOW ON, Sleigh Bells - Texis, Angels & Airwaves - Lifeforms, Thrice - Horizons/East, Deafheaven - Infinite Granite, Japanese Breakfast - Jubilee, The Slang - Divide, Tyler, The Creator - IGOR", "From last.fm" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/collage.jpeg", "My popular last.fm scrobbles from the last week. From the top left: David Bowie - The Next Day, Turnstile - GLOW ON, Sleigh Bells - Texis, Angels & Airwaves - Lifeforms, Thrice - Horizons/East, Deafheaven - Infinite Granite, Japanese Breakfast - Jubilee, The Slang - Divide, Tyler, The Creator - IGOR", "From last.fm" %}
|
||||
|
||||
Been fiending [Diablo 2: Resurrected][d2r] since it came out. I’ve been playing the original on and off for years. It was the first game I can recall that I saved up my own money for. I went to the (now defunct) game store downtown and bought their copy in the display window outside. Before I knew it I made my Necromancer and slaying the demons of Hell! My Mom surely must've bought it for me since I wasn't even close to 17 yet.
|
||||
|
||||
|
@ -12,20 +12,19 @@ The game has relit the fire when it comes to gaming. Lately I purchase new games
|
|||
|
||||
All that being said, I feel conflicted buying this game. On the one hand, Blizzard has been on a downward trend lately (to put it mildly), capping with a lawsuit over mistreatment and sexual harassment (“a culture of harassment”). Their response was tone deaf to say the least. The fallout has been staggering[^1]. It does not feel good buying a game from a studio that treats their employees like this, and is seeking profit over compelling games. It should be no surprise that a company wants profit, but I feel like the "old Blizzard" at least tried to make incredible games while making money.
|
||||
|
||||
On the other hand Blizzard had little to do with D2R. They own the IP and oversaw development, but Vicarious Visions were the masterminds behind this remaster. They did a fantastic job. They did such a good job that Blizzard merged with them (in hindsight, probably wasn't the best move). The artists, developers, everyone on the team crushed it. They deserve to be praised. I want Blizzard to know *this* is how you do a remaster, not that god awful mess that was Warcraft 3: Reforged. I’m opting to vote with my wallet as a way to say “more of this”.
|
||||
On the other hand Blizzard had little to do with D2R. They own the IP and oversaw development, but Vicarious Visions were the masterminds behind this remaster. They did a fantastic job. They did such a good job that Blizzard merged with them (in hindsight, probably wasn't the best move). The artists, developers, everyone on the team crushed it. They deserve to be praised. I want Blizzard to know _this_ is how you do a remaster, not that god awful mess that was Warcraft 3: Reforged. I’m opting to vote with my wallet as a way to say “more of this”.
|
||||
|
||||
I don’t support the way the company treats their employees. I think it’s possible to engage with problematic entertainment. I don't think boycotting is the answer. I know I said as much a few posts ago, but I'm changing my mind. Boycotting is much more likely to tell the executives that they should continue to treat their employees poorly for poor sales or some other stupid reason. I've seen others try to offset the carbon footprint[^2] when purchasing from Amazon, and I'm doing something similar by donating to causes that support the affected employees inside Blizzard. I'm raising awareness of the issues going on at the studio to everyone I know that engages with Blizzard games. All that being said, if you personally feel like boycotting Blizzard by-and-large, then go for it.
|
||||
|
||||
I recently started [scrobbling again on Last.fm]({{ meta.social.lastfm }}). There is a conspicuous omission of about 6 years where I stopped worrying about it. I wish I had opted to continue using the service. I like flipping through this data. What was I into on March 2012?
|
||||
|
||||
I’m reading Aubrey Gordon’s book *[What We Don't Talk About When We Talk About Fat](https://www.yourfatfriend.com/book)*. It’s making me reevaluate my relationship with my weight. To be more specific, this book and the podcast [Maintenance Phase](https://www.yourfatfriend.com/podcast) are doing that.
|
||||
I’m reading Aubrey Gordon’s book _[What We Don't Talk About When We Talk About Fat](https://www.yourfatfriend.com/book)_. It’s making me reevaluate my relationship with my weight. To be more specific, this book and the podcast [Maintenance Phase](https://www.yourfatfriend.com/podcast) are doing that.
|
||||
|
||||
I used to believe that losing weight was a willpower thing. That if I tried hard enough I could do it. At one point I did it — I got ridiculously thin using a severe caloric deficit diet. It worked but at what cost? My friends worried about me. But I was thin! Look at how easy it was! I maintained the weight and tweaked my plan for a few months. Then as all unsustainable diets go, I slowly dropped the plan and gained all the weight back (and then some). The diet in hindsight was not maintainable, even though I had managed to convince myself it was. It was horribly boring. I was hungry almost all the time.
|
||||
|
||||
This is all to say: maybe I don’t need to lose weight. Maybe I’m fine as I am? I can just be me. Get clothes that fit me properly. Make sure I eat balanced meals. My body could be predisposed to stay at this weight. I feel healthy (as one can be in the middle of a pandemic). My head is full of old, preconceived notions when it comes to fatness. I'm on a new journey to relearn and reevaluate my relationship with being fat. In my case fat is not an accurate descriptor — following the book I would be described as "small fat", and I can fit into straight-sized clothing. What I am learning is that it's not the death sentence that the 90s would tell us. There are people that are bigger. It *can* come from genetics, as much as my old self would disagree. To quote Maintenance Phase: "it's a little more complicated!"
|
||||
This is all to say: maybe I don’t need to lose weight. Maybe I’m fine as I am? I can just be me. Get clothes that fit me properly. Make sure I eat balanced meals. My body could be predisposed to stay at this weight. I feel healthy (as one can be in the middle of a pandemic). My head is full of old, preconceived notions when it comes to fatness. I'm on a new journey to relearn and reevaluate my relationship with being fat. In my case fat is not an accurate descriptor — following the book I would be described as "small fat", and I can fit into straight-sized clothing. What I am learning is that it's not the death sentence that the 90s would tell us. There are people that are bigger. It _can_ come from genetics, as much as my old self would disagree. To quote Maintenance Phase: "it's a little more complicated!"
|
||||
|
||||
[^1]: Google "blizzard lawsuit" and you'll see plenty of results of high-ranking staff leaving the company.
|
||||
|
||||
[^2]: I recently learned that the term "carbon footprint" was coined by none other than BP, as in the big oil company. I lack a better term to describe what I'm trying to illustrate, so I'm going to use it here. To my chagrin.
|
||||
|
||||
[d2r]: https://diablo2.blizzard.com/en-us/
|
||||
|
|
|
@ -4,7 +4,7 @@ excerpt: Are collected thoughts really stray?
|
|||
tags: ["stray thoughts"]
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/collage2.jpg", "My popular albums from last.fm this week. Turnstile - Step to Rhythm, Turnstile - Nonstop Feeling, Beirut - Gallipoli, Bknapp - PS1 Beats, Japanese Breakfast- Jubilee, Chip Tanaka - Domingo, Deafheaven - Infinite Granite, Angels & Airwaves - Lifeforms, and Bknapp - Crossing Animals" , "From last.fm" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/collage2.jpg", "My popular albums from last.fm this week. Turnstile - Step to Rhythm, Turnstile - Nonstop Feeling, Beirut - Gallipoli, Bknapp - PS1 Beats, Japanese Breakfast- Jubilee, Chip Tanaka - Domingo, Deafheaven - Infinite Granite, Angels & Airwaves - Lifeforms, and Bknapp - Crossing Animals" , "From last.fm" %}
|
||||
|
||||
Going strong on Diablo 2. I’ve reached the point where I have Hell Mephisto on farm now and I’m grinding for new gear. It’s a relaxing game to play with its rote paths. I like to get into the groove and kinda zone out. It’s meditative for me, in a sense.
|
||||
|
||||
|
|
|
@ -6,23 +6,23 @@ tags: ["rankings"]
|
|||
|
||||
As we move onto the year ahead that will be 2022 (please don’t be the sequel everyone expects it to be), I always like to look at the past year and see what caught my attention. Let’s look at all the games I played in 2021. Keep in mind these didn’t all come out that year. Meanwhile I’ll rank them all.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/spiritfarer.png", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/spiritfarer.png", "", "" %}
|
||||
|
||||
## \#16 — Spiritfarer
|
||||
|
||||
I dig the universe for this game. I think there’s a lot to like. That being said, I found the game far too grindy. The combination of excessive travelling and backtracking killed it for me. I’m going to keep an eye on the studio though and see what else they make.
|
||||
|
||||
___
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/spvtwce.png", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/spvtwce.png", "", "" %}
|
||||
|
||||
## \#15 — Scott Pilgrim vs. the World
|
||||
|
||||
It’s the Scott Pilgrim game that everyone loved. Not much else to say. I’m glad it’s getting a port for modern consoles. Personally I think it’s fine, not my cup of tea.
|
||||
|
||||
___
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/sm3dwbf.png", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/sm3dwbf.png", "", "" %}
|
||||
|
||||
## \#14 — Super Mario 3D World & Bowser’s Fury
|
||||
|
||||
|
@ -30,49 +30,49 @@ A fun Mario game, fine enough. This game came out before Odyssey though, and it
|
|||
|
||||
I don’t like how in order to 100% the game, you need to play every single level 4 times (or play with 4 friends once). I had a hell of a time making a dent in the final level (World Crown), and couldn’t do it. Knowing that I’d have to do it another 3 times just knocked the wind out of my sails. I like to 100% my Mario games, they’re usually a lot of fun to do. Not this time.
|
||||
|
||||
___
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/paradisekiller.png", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/paradisekiller.png", "", "" %}
|
||||
|
||||
## \#13 — Paradise Killer
|
||||
|
||||
Even though this game has elements of my favourite games, it didn’t grab me in the way I thought it would. I gave up on it pretty quickly, but want to go back and try it again. Maybe something didn’t click right away…
|
||||
|
||||
___
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/gunpoint.png", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/gunpoint.png", "", "" %}
|
||||
|
||||
## \#12 — Gunpoint
|
||||
|
||||
I’m an avid follower of [Tom Francis](https://www.pentadact.com) (the developer of the game). It took me a long time to finally sit down and play through the entirety of it (which is about 2-3 hours). I absolutely loved the rewiring mechanic. It allows for a ton of flexibility while fitting within a set of rules. It’s got just the right about of spy flick and film noir mixed together. A perfect amount of camp. For $10, you could do worse.
|
||||
|
||||
___
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/cfb.png", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/cfb.png", "", "" %}
|
||||
|
||||
## \#11 — Catherine: Full Body
|
||||
|
||||
The game piqued my interest but didn’t grab me all that strongly. I do want to go back and give it an honest shot though. I didn’t get too far in my first playthrough. The puzzle mechanics were brain teaser fuel.
|
||||
|
||||
___
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/godofwar.png", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/godofwar.png", "", "" %}
|
||||
|
||||
## \#10 — God of War
|
||||
|
||||
One of the reasons I bought a PS5 was so I could play games like this at 60 FPS. I will complete this game. It’s a lot of fun. I keep getting distracted right as I’m in the middle of it though, so I keep restarting from the beginning months later. But I will do it!
|
||||
|
||||
___
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/miitopia.png", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/miitopia.png", "", "" %}
|
||||
|
||||
## \#9 — Miitopia
|
||||
|
||||
A surprisingly fun and humorous RPG. I had no idea it was a 3DS port. I spent a surprising amount of time [crafting Miis from Star Trek to Seinfeld](/posts/recently-06-2021) to fit into my whacky universe. And my friends too of course.
|
||||
|
||||
___
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/nmh3.png", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/nmh3.png", "", "" %}
|
||||
|
||||
## \#8 — No More Heroes III
|
||||
|
||||
|
@ -80,9 +80,9 @@ I first played this at a friend’s board game get-together. Everybody could not
|
|||
|
||||
I’m not entirely sure why they brought the open-world stuff back though. I think the 2nd game made the right call ditching it.
|
||||
|
||||
___
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/sv.png", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/sv.png", "", "" %}
|
||||
|
||||
## \#7 — Stardew Valley
|
||||
|
||||
|
@ -90,9 +90,9 @@ The coziest of couch games. One of my favourite games on the SNES is Harvest Moo
|
|||
|
||||
I had a lot of fun playing this and lost many hours tending to my farm. Something else caught my attention which drew me away, but I’m eager to get back and finish the story.
|
||||
|
||||
___
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/hades.png", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/hades.png", "", "" %}
|
||||
|
||||
## \#6 — Hades
|
||||
|
||||
|
@ -100,9 +100,9 @@ What else can I say that hasn’t been already? The game is fantastic and has ev
|
|||
|
||||
I decided to revisit the game after my initial playthrough and get all of the extra content. I shared my original thoughts in [this post](/posts/recently-11-2020), and [mentioned it again later in 2021](/posts/recently-05-2021).
|
||||
|
||||
___
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/d2r.png", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/d2r.png", "", "" %}
|
||||
|
||||
## \#5 — Diablo II: Resurrected
|
||||
|
||||
|
@ -114,17 +114,17 @@ Once I take my rose-tinted glasses though, I can see that even a passionate rema
|
|||
|
||||
In summary: best remaster I’ve seen. But a remaster can’t solve a game’s underlying problems (unless it changes things, which tends to go against the spirit of a remaster). That being said, Blizzard have expressed their intentions of adding new runewords and quality-of-life features. I plan to check those out eventually.
|
||||
|
||||
___
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/ypee.png", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/ypee.png", "", "" %}
|
||||
|
||||
## \#4 — Yuppie Psycho
|
||||
|
||||
I never expected a 2D, topdown game to frighten me so much. I was unsettled in almost every moment playing this game. It’s balanced well with genuine moments of humour. The levity takes the edge off between horrifying encounters. There are plenty of delightful jabs at office culture while navigating the heights and depths of Sintracorp.
|
||||
|
||||
___
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/metroiddread.png", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/metroiddread.png", "", "" %}
|
||||
|
||||
## \#3 — Metroid Dread
|
||||
|
||||
|
@ -134,9 +134,9 @@ This game wins my totally-not-made-up-category of “Best Game That I Didn’t F
|
|||
|
||||
I like the game and gameplay. The Dread part of the title fits in well as I do dread going up against the EMMIs (a stupid name though). The game is plenty hard without being punishing. It rewards skillful play without requiring it.
|
||||
|
||||
___
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/valheim.png", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/valheim.png", "", "" %}
|
||||
|
||||
## \#2 - Valheim
|
||||
|
||||
|
@ -144,9 +144,9 @@ This game got its hooks in me fast and deep. I was sucked in for a month straigh
|
|||
|
||||
The game was in early-access at the time (and is still as of this writing), but as far as an early-access game goes it felt full-featured. Rough around the edges and clunky in spots, but the core experience was enthralling. So much so that [I wrote about it](/posts/recently-03-2021) — [twice](/posts/recently-04-2021)! I look forward to going back once there have been more updates.
|
||||
|
||||
___
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/tgaac.png", "", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/tgaac.png", "", "" %}
|
||||
|
||||
## \#1 - The Great Ace Attorney Chronicles
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ excerpt: Is it the Apple of kettles?
|
|||
tags: ["tea", "reviews"]
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/stagg-kettle.jpg", "My drawing of a Fellow Stagg kettle shaded with Copic markers" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/stagg-kettle.jpg", "My drawing of a Fellow Stagg kettle shaded with Copic markers" %}
|
||||
|
||||
The Fellow Stagg is without a doubt the most money I will ever spend on a kettle. It’s been lauded in coffee circles, but how does it stack up on the small things? Let’s sweat over those details.
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ tags: ["recently"]
|
|||
youtube: true
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/lastfm-feb-2022.jpeg", "My popular albums from last.fm this month. Failure - Wild Type Droid, The Weeknd - Dawn FM, Ladyhawke - Time Flies, Magdelena Bay - Mercurial World, Drop Nineteens - National Coma, Ramones - Ramones, Daft Punk - Random Access Memories, David Bowie - Toy, and Drop Nineteens - Delaware", "From last.fm" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/lastfm-feb-2022.jpeg", "My popular albums from last.fm this month. Failure - Wild Type Droid, The Weeknd - Dawn FM, Ladyhawke - Time Flies, Magdelena Bay - Mercurial World, Drop Nineteens - National Coma, Ramones - Ramones, Daft Punk - Random Access Memories, David Bowie - Toy, and Drop Nineteens - Delaware", "From last.fm" %}
|
||||
|
||||
I'd like to get back into the habit of writing these. I'll start one month late for some reason, though.
|
||||
|
||||
|
|
|
@ -6,24 +6,24 @@ tags: ["gba", "updates", "burnout"]
|
|||
|
||||
What’s happened since my last post?
|
||||
|
||||
* I got engaged!
|
||||
* We bought a condo!
|
||||
* I finished several projects at work! One of them even launched in the App Store and Play Store!
|
||||
* I found out I love home projects (I love DIY)!
|
||||
* I learned a lot about home electrical.
|
||||
* We painted a lot! Almost the whole place.
|
||||
* I got a Steam Deck and I love it!
|
||||
* I got into custom keyboards for a bit. I’m kinda off the hobby now. I’d still like to make one, but stop there.
|
||||
* I put together a BBQ all by myself!
|
||||
* I dyed my hair for the first time.
|
||||
* I learned how to solder.
|
||||
* We took a trip to Calgary.
|
||||
* I got to be a beekeeper for about 15 minutes!
|
||||
* I cut and re-soldered Hue light strips. That was time-consuming but worth it! They are flexible now.
|
||||
* I got my Playdate (finally)!
|
||||
* I got into modding GameBoys.
|
||||
* I burned out (oops)
|
||||
* I learned how to install a faucet and drain.
|
||||
- I got engaged!
|
||||
- We bought a condo!
|
||||
- I finished several projects at work! One of them even launched in the App Store and Play Store!
|
||||
- I found out I love home projects (I love DIY)!
|
||||
- I learned a lot about home electrical.
|
||||
- We painted a lot! Almost the whole place.
|
||||
- I got a Steam Deck and I love it!
|
||||
- I got into custom keyboards for a bit. I’m kinda off the hobby now. I’d still like to make one, but stop there.
|
||||
- I put together a BBQ all by myself!
|
||||
- I dyed my hair for the first time.
|
||||
- I learned how to solder.
|
||||
- We took a trip to Calgary.
|
||||
- I got to be a beekeeper for about 15 minutes!
|
||||
- I cut and re-soldered Hue light strips. That was time-consuming but worth it! They are flexible now.
|
||||
- I got my Playdate (finally)!
|
||||
- I got into modding GameBoys.
|
||||
- I burned out (oops)
|
||||
- I learned how to install a faucet and drain.
|
||||
|
||||
## Engaged
|
||||
|
||||
|
@ -31,17 +31,17 @@ I proposed to my girlfriend after we got the keys to our new place. I tried my b
|
|||
|
||||
## Home Projects
|
||||
|
||||
I *love* home projects. The place we bought needs refreshing. I took it upon myself to update all the light fixtures and light switches by myself (just kidding I had help), and I managed to it without us being electrocuted! I did manage to arc electricity once but that's no big deal, right?
|
||||
I _love_ home projects. The place we bought needs refreshing. I took it upon myself to update all the light fixtures and light switches by myself (just kidding I had help), and I managed to it without us being electrocuted! I did manage to arc electricity once but that's no big deal, right?
|
||||
|
||||
I had a minor panic attack after that, but I'm alive and still have a healthy respect for electricity!
|
||||
|
||||
I've since:
|
||||
|
||||
* Built a shelf from scratch
|
||||
* Replaced a bathroom faucet
|
||||
* Fixed a leaky drain trap
|
||||
* Installed curtains and rods
|
||||
* Painted nearly every room
|
||||
- Built a shelf from scratch
|
||||
- Replaced a bathroom faucet
|
||||
- Fixed a leaky drain trap
|
||||
- Installed curtains and rods
|
||||
- Painted nearly every room
|
||||
|
||||
I'm certain I'm forgetting something.
|
||||
|
||||
|
@ -65,7 +65,7 @@ I went with Funnyplaying’s IPS screen, a dehum/dehiss kit, a new shell/buttons
|
|||
|
||||
The installation process for a new screen couldn't be easier, even for a newbie like me. There are a few solder points and running wire. Getting the dehum/dehiss kit aligned properly was tricky. I’m not sure I detect any difference using it either. The rest was re-assembly. Behold!
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/q5f6yoq.jpg", "A modified Game Boy Advance with a clear shell, teal buttons/trim, and an IPS screen.", "" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/q5f6yoq.jpg", "A modified Game Boy Advance with a clear shell, teal buttons/trim, and an IPS screen.", "" %}
|
||||
|
||||
I decided to try my hand at modding an original Game Boy which was a lot of fun, but 30 year old parts make it challenging. I’ll make a separate post someday about my trials and tribulations.
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ Apple produced a short called [The Lost Voice](https://www.youtube.com/watch?v=r
|
|||
|
||||
## Playing
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/2023-11-27-21_41_16-greenshot.png", "A screenshot of the game Valheim. In it, the player crouches in the middle of the frame. He is on the castle ramparts, with a courtyard below. Directly ahead of the courtyard is a forge area and warehouse. The castle grows in height in the center. Windmills on the castle rooftop are visible.", "Our mighty castle after many hours of work. I'm quite fond of the ramparts / courtyard area." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/2023-11-27-21_41_16-greenshot.png", "A screenshot of the game Valheim. In it, the player crouches in the middle of the frame. He is on the castle ramparts, with a courtyard below. Directly ahead of the courtyard is a forge area and warehouse. The castle grows in height in the center. Windmills on the castle rooftop are visible.", "Our mighty castle after many hours of work. I'm quite fond of the ramparts / courtyard area." %}
|
||||
|
||||
Like clockwork, my friends and I started up another Valheim server. It's a lot like that meme where people get into Minecraft for 2 weeks. Once a year at least, we will likely start up a new Valheim server.
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ I've always had a fascination with space and astronomy. I hope that one day I ca
|
|||
|
||||
The photo in question is [this one here](https://www.nasa.gov/image-article/apollo-8-earthrise/), taken during the Apollo 8 mission by Bill Anders.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/earthrise.jpg", "A photo of Earth peeking from behind the moon, from the perspective of the Apollo 8 spacecraft. The Earth is vibrant blue, with sweeping white clouds across the surface. The moon contrasts the setting with a craggy, gray surface.", "Earthrise" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/earthrise.jpg", "A photo of Earth peeking from behind the moon, from the perspective of the Apollo 8 spacecraft. The Earth is vibrant blue, with sweeping white clouds across the surface. The moon contrasts the setting with a craggy, gray surface.", "Earthrise" %}
|
||||
|
||||
This video by [Phil Edwards](https://www.youtube.com/@PhilEdwardsInc) goes into the weeds of how a simple photograph was achieved. I figured the story was pretty simple: an astronaut picked up the camera and snapped a pic and that was that - not so!
|
||||
|
||||
|
@ -20,4 +20,3 @@ For instance, did you know that the cameras they used had no viewfinders (or in
|
|||
Or how about how the photo was originally taken at a different angle - it was rotated after the fact!
|
||||
|
||||
There's so much more to the story and worth your time. Especially for anyone interested in space or photography!
|
||||
|
||||
|
|
|
@ -7,15 +7,16 @@ tags:
|
|||
- rebuild
|
||||
youtube: true
|
||||
---
|
||||
|
||||
Welcome to version 3.0! This has been my pet project for the better part of a year, with plenty of false starts and scrapped ideas.
|
||||
|
||||
First off, if what you're after is the source code - [here it is](https://github.com/wonderfulfrog/wonderfulfrog.com). If you'd like to learn more, read on dear reader!
|
||||
|
||||
I’ve had a Figma file ready for months now that outlined my basic design - all I needed to do was build it. The problem was I could not settle on how I wanted to do it.
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/figma-v3.png", "A screenshot from Figma showing my blog prototype. There are various elements visible like buttons and widgets. A colour scheme using teal.", "Figma screenshot" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/figma-v3.png", "A screenshot from Figma showing my blog prototype. There are various elements visible like buttons and widgets. A colour scheme using teal.", "Figma screenshot" %}
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/figma-v3-lightmode.png", "Another screenshot from Figma showing my blog prototype. This is showing the 'light theme' with a serif title font, monospaced body font, and teal accent colours.", "Astute observers will notice the site you're looking at doesn't look a whole lot like the design!" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/figma-v3-lightmode.png", "Another screenshot from Figma showing my blog prototype. This is showing the 'light theme' with a serif title font, monospaced body font, and teal accent colours.", "Astute observers will notice the site you're looking at doesn't look a whole lot like the design!" %}
|
||||
|
||||
Something that always frustrated me was having my content along the code. I sought out a solution for this for months. I tried a whole bunch of headless CMS options like [Sanity](https://www.sanity.io/), [Hygraph](https://hygraph.com/), [Ghost](https://ghost.org/), and even hosting my own [WordPress](https://wordpress.com) (that was an exciting prospect until I discovered their mobile app does not support plugins).
|
||||
|
||||
|
@ -43,7 +44,7 @@ As an alternative, I was thinking of using [Astro](https://astro.build/), but it
|
|||
|
||||
Simply put modern React confuses the hell out of me. I’m not all in for [“server vs client components”](https://nextjs.org/learn/react-foundations/server-and-client-components). I’m certainly not the only one[^4]. I don't want this post to digress into my thoughts on modern React so I'm going to sidestep that for now. I am forced to learn its newest architecture for work, but for my personal site I'd rather things be <mark>easy</mark>. I'm tired of having to deal with breaking changes all the time. I longed for the days of PHP where stuff just worked forever. It was time to embrace an old foe: boring technology.
|
||||
|
||||
Boring technology - to me, anyway - is something that’s been around for a while, probably a few years. It’s stable. It’s been around long enough that someone has asked the basic questions on how to do XYZ on StackOverflow. And something important to me is that it’s also *averse to breaking changes*. It tries its best to avoid them, and if they must then there is a clear migration path and plenty of warning.
|
||||
Boring technology - to me, anyway - is something that’s been around for a while, probably a few years. It’s stable. It’s been around long enough that someone has asked the basic questions on how to do XYZ on StackOverflow. And something important to me is that it’s also _averse to breaking changes_. It tries its best to avoid them, and if they must then there is a clear migration path and plenty of warning.
|
||||
|
||||
My first thought was WordPress. That’s nice boring technology. Battle tested. There are even some web dev folks out there using it as a headless CMS. I ended up not using it because the mobile publishing experience was no good. It didn’t support plugins on the mobile app. I knew I’d want something like [ACF](https://www.advancedcustomfields.com/) at least.
|
||||
|
||||
|
@ -57,23 +58,23 @@ So I decided to do what every web dev with a blog does: rebuild their blog from
|
|||
|
||||
Eleventy is a static site generator. It does what probably other popular options like Next.js or Astro do. I chose it because:
|
||||
|
||||
* It’s stable
|
||||
* It’s reliable
|
||||
* It’s fast
|
||||
* It outputs pure HTML and CSS with no JS
|
||||
* But you can add client-side JS if you want
|
||||
* It uses Markdown files for content
|
||||
* Has great documentation
|
||||
* Minimal tooling required - it’s all plain JS
|
||||
* The developer seems like a cool person
|
||||
- It’s stable
|
||||
- It’s reliable
|
||||
- It’s fast
|
||||
- It outputs pure HTML and CSS with no JS
|
||||
- But you can add client-side JS if you want
|
||||
- It uses Markdown files for content
|
||||
- Has great documentation
|
||||
- Minimal tooling required - it’s all plain JS
|
||||
- The developer seems like a cool person
|
||||
|
||||
Those are my biggest reasons for choosing it. But it also does some cool stuff like:
|
||||
|
||||
* Grouping content into collections for easy parsing
|
||||
* Converts JavaScript data stores into collections
|
||||
* Has plugins for optimizing images
|
||||
* Is fine with organizing things however you want
|
||||
* Did I mention it’s fast?
|
||||
- Grouping content into collections for easy parsing
|
||||
- Converts JavaScript data stores into collections
|
||||
- Has plugins for optimizing images
|
||||
- Is fine with organizing things however you want
|
||||
- Did I mention it’s fast?
|
||||
|
||||
A whole site build from scratch takes 30 seconds, and most of the time is fetching images (for optimization, more on that later).
|
||||
|
||||
|
@ -89,10 +90,10 @@ I wanted to focus on vanilla CSS as much as possible, and use a little post-proc
|
|||
|
||||
A methodology that resonated with me was [CUBE CSS](https://cube.fyi/). CUBE standing for <mark>Composition, Utility, Block, and Exception</mark>. The site has a great explanation of how that breaks down, but for my own purposes, I interpreted it as:
|
||||
|
||||
* Composition: utility classes that do one thing and one thing well, e.g. a wrapper class for centering a layout and giving it a `max-width`.
|
||||
* Utility: Design tokens and extremely simple utility classes. Very similar to the utility classes that [Tailwind](https://tailwindcss.com/) provides, albeit fewer.
|
||||
* Blocks: Like components in React. It's a wild west here, anything goes. What I found those was that my composition and utility classes did 90% of the work for me.
|
||||
* Exception: Your odd one-offs (like arbitrary values in Tailwind). Uses `data` attributes as the selector because exceptions are represented by state changes (or React props, perhaps?).
|
||||
- Composition: utility classes that do one thing and one thing well, e.g. a wrapper class for centering a layout and giving it a `max-width`.
|
||||
- Utility: Design tokens and extremely simple utility classes. Very similar to the utility classes that [Tailwind](https://tailwindcss.com/) provides, albeit fewer.
|
||||
- Blocks: Like components in React. It's a wild west here, anything goes. What I found those was that my composition and utility classes did 90% of the work for me.
|
||||
- Exception: Your odd one-offs (like arbitrary values in Tailwind). Uses `data` attributes as the selector because exceptions are represented by state changes (or React props, perhaps?).
|
||||
|
||||
I organized everything following this methodolgy, and added a `global.css` file that ties everything together with `@import`and `@import-glob` statements. I used PostCSS to process the CSS into a single file.
|
||||
|
||||
|
@ -102,10 +103,10 @@ I used a JavaScript [Template Data File](https://www.11ty.dev/docs/data-template
|
|||
|
||||
What PostCSS plugins am I using? The following:
|
||||
|
||||
* [`postcss-import`](https://github.com/postcss/postcss-import) - Any `@import` statements are replaced with the file being imported.
|
||||
* [`postcss-import-ext-glob`](https://github.com/dimitrinicolas/postcss-import-ext-glob) - Like using `@import` but with glob file paths. More of a developer convenience.
|
||||
* [`autoprefixer`](https://github.com/postcss/autoprefixer) - Not as essential these days, but there are still some vendor-prefixed CSS rules.
|
||||
* [`cssnano`](https://github.com/cssnano/cssnano) - Minifies my CSS, and fast.
|
||||
- [`postcss-import`](https://github.com/postcss/postcss-import) - Any `@import` statements are replaced with the file being imported.
|
||||
- [`postcss-import-ext-glob`](https://github.com/dimitrinicolas/postcss-import-ext-glob) - Like using `@import` but with glob file paths. More of a developer convenience.
|
||||
- [`autoprefixer`](https://github.com/postcss/autoprefixer) - Not as essential these days, but there are still some vendor-prefixed CSS rules.
|
||||
- [`cssnano`](https://github.com/cssnano/cssnano) - Minifies my CSS, and fast.
|
||||
|
||||
Combining two CSS strings is perhaps not the most efficient way of doing things, but it makes sense to me and seems fast enough.
|
||||
|
||||
|
@ -206,7 +207,7 @@ Finally, `helperClassesToCss` ties everything together to make adding new classe
|
|||
```js
|
||||
const helperClasses = [
|
||||
["mx", ["margin-left", "margin-right"]],
|
||||
["my", ["margin-top", "margin-bottom"]]
|
||||
["my", ["margin-top", "margin-bottom"]],
|
||||
];
|
||||
const variant = "1";
|
||||
const value = "16px";
|
||||
|
@ -282,7 +283,7 @@ For example, my catalogue content is inside `/catalogue`. Inside that folder are
|
|||
|
||||
Just one property but it achieves a lot. It applies the `catalogue` tag to every file inside this directory.
|
||||
|
||||
Because I'm using the `tags` feature, 11ty will automatically group everything inside this directory into a new collection called `catalogue`, which I can access from the global collections using `collections.catalogue`. With just a few lines of code I have *my entire catalogue* in an array! No fetching or setup required. Done and done!
|
||||
Because I'm using the `tags` feature, 11ty will automatically group everything inside this directory into a new collection called `catalogue`, which I can access from the global collections using `collections.catalogue`. With just a few lines of code I have _my entire catalogue_ in an array! No fetching or setup required. Done and done!
|
||||
|
||||
But wait... I can keep going... take for example my `/catalogue/books` folder. This one also has a template data file in here called `books.11tydata.js` which lets me use JS in here:
|
||||
|
||||
|
@ -290,7 +291,8 @@ But wait... I can keep going... take for example my `/catalogue/books` folder. T
|
|||
module.exports = {
|
||||
layout: "layouts/catalogue-item",
|
||||
tags: "book",
|
||||
permalink: "catalogue/books/{% raw %}{{ page.fileSlug }}{% endraw %}/index.html",
|
||||
permalink:
|
||||
"catalogue/books/{% raw %}{{ page.fileSlug }}{% endraw %}/index.html",
|
||||
linkTitle: "View book details",
|
||||
eleventyComputed: {
|
||||
tertiary: (data) =>
|
||||
|
@ -301,11 +303,11 @@ module.exports = {
|
|||
|
||||
Lets go through this one:
|
||||
|
||||
* Every file inside uses the `layouts/catalogue-item` layout
|
||||
* Applies the `book` tag (and therefore generates a new collection, automatically)
|
||||
* Creates a permalink using the `fileSlug` variable per page
|
||||
* Changes the `linkTitle` frontmatter
|
||||
* Uses `eleventyComputed` (which is a special field) to inject frontmatter into the template's frontmatter
|
||||
- Every file inside uses the `layouts/catalogue-item` layout
|
||||
- Applies the `book` tag (and therefore generates a new collection, automatically)
|
||||
- Creates a permalink using the `fileSlug` variable per page
|
||||
- Changes the `linkTitle` frontmatter
|
||||
- Uses `eleventyComputed` (which is a special field) to inject frontmatter into the template's frontmatter
|
||||
|
||||
Highly suggest reading the docs on [Computed Data](https://www.11ty.dev/docs/data-computed/).
|
||||
|
||||
|
@ -352,8 +354,8 @@ module.exports = async function () {
|
|||
|
||||
This allows for my Last.fm data to be accessible via the global `data` field! The only catch is that this data is generated at build time and not live. This can be solved different ways, such as:
|
||||
|
||||
* Rebuild the site periodically
|
||||
* Make a web component that fetches the data live
|
||||
- Rebuild the site periodically
|
||||
- Make a web component that fetches the data live
|
||||
|
||||
For now I'm content to trigger a build every so often in order for the data to be "live-ish". In the future it would be fun to build a web component (or perhaps someone out there has done that already)! 11ty is very compatible with web components.
|
||||
|
||||
|
@ -361,7 +363,7 @@ For now I'm content to trigger a build every so often in order for the data to b
|
|||
|
||||
Media storage was still a thorny issue. I couldn't decide on how I wanted to manage it for a while. All I knew for certain was that I was tired of keeping it in my repo - it needed to be elsewhere.
|
||||
|
||||
As I dug into 11ty, I discovered a truly magical plugin called [`eleventy-img`](https://www.11ty.dev/docs/plugins/image/). It takes an image (either locally or remote), optimizes it, and stores it in the *output* directory. The image can therefore be put anywhere you like, and with a small bit of shortcode it works like magic. For example:
|
||||
As I dug into 11ty, I discovered a truly magical plugin called [`eleventy-img`](https://www.11ty.dev/docs/plugins/image/). It takes an image (either locally or remote), optimizes it, and stores it in the _output_ directory. The image can therefore be put anywhere you like, and with a small bit of shortcode it works like magic. For example:
|
||||
|
||||
```
|
||||
{% raw %}{% image "https://path.to.image.jpg" %}{% endraw %}
|
||||
|
@ -377,13 +379,13 @@ I decided to do the painstaking process of manually updating all of my content b
|
|||
|
||||
The [Eleventy Excellent](https://eleventy-excellent.netlify.app/) starter was a huge inspiration for this site. I used its organization structure a lot. My `config` folder holds a lot of stuff:
|
||||
|
||||
* Custom collections, `config/collections`
|
||||
* My design tokens, `config/design-tokens`
|
||||
* Filters, `config/filters`
|
||||
* Plugins, `config/plugins`
|
||||
* Shortcodes, `config/shortcodes`
|
||||
* Transforms, `config/transforms`
|
||||
* Constants, `config/constants.js`
|
||||
- Custom collections, `config/collections`
|
||||
- My design tokens, `config/design-tokens`
|
||||
- Filters, `config/filters`
|
||||
- Plugins, `config/plugins`
|
||||
- Shortcodes, `config/shortcodes`
|
||||
- Transforms, `config/transforms`
|
||||
- Constants, `config/constants.js`
|
||||
|
||||
### Custom collections
|
||||
|
||||
|
@ -401,10 +403,10 @@ As mentioned, a bunch of `.json` files that have my design tokens in here. That'
|
|||
|
||||
11ty has a lot of [built-in plugins](https://www.11ty.dev/docs/plugins/), but also makes it easy to define your own. In my case I've defined a customized Markdown processor using [`markdown-it`](https://github.com/markdown-it/markdown-it). I added some neat features:
|
||||
|
||||
* [Footnotes](https://github.com/markdown-it/markdown-it-footnote)
|
||||
* [Abbreviations](https://github.com/markdown-it/markdown-it-abbr)
|
||||
* [Heading anchors](https://github.com/valeriangalliat/markdown-it-anchor)
|
||||
* [Code highlighting using Prism](https://github.com/jGleitz/markdown-it-prism)
|
||||
- [Footnotes](https://github.com/markdown-it/markdown-it-footnote)
|
||||
- [Abbreviations](https://github.com/markdown-it/markdown-it-abbr)
|
||||
- [Heading anchors](https://github.com/valeriangalliat/markdown-it-anchor)
|
||||
- [Code highlighting using Prism](https://github.com/jGleitz/markdown-it-prism)
|
||||
|
||||
I'm also using the [`@11ty/eleventy-plugin-rss`](https://www.11ty.dev/docs/plugins/rss/) plugin to generate my RSS feed. I'm glad to see that 11ty supports RSS feeds out-of-the-box. I always hated that setting up an RSS feed in Next.js felt rather hacky.
|
||||
|
||||
|
@ -430,12 +432,12 @@ A couple of properties that are passed to my `.eleventy.config.js` file.
|
|||
|
||||
To create and manage my content I use [Decap CMS](https://decapcms.org/) (formerly Netlify CMS). As far as I can tell it's the only game in town that does what I want:
|
||||
|
||||
* Git-backed file system that works with flat file structures
|
||||
* Works on desktop and mobile
|
||||
* Has preview deploys using pull requests
|
||||
* Configurable schema for content
|
||||
- Git-backed file system that works with flat file structures
|
||||
- Works on desktop and mobile
|
||||
- Has preview deploys using pull requests
|
||||
- Configurable schema for content
|
||||
|
||||
It's honestly not my favourite, but it works well enough that I want to continue using it. I've toyed with making my own solution for years, but I think that's something best left to someone who has time to not only build it but *maintain* it.
|
||||
It's honestly not my favourite, but it works well enough that I want to continue using it. I've toyed with making my own solution for years, but I think that's something best left to someone who has time to not only build it but _maintain_ it.
|
||||
|
||||
The only thing I can't seem to figure out is a custom media library. As previously mentioned I use Bunny.net for all my media storage, and they don't offer a plugin for it. From what I can tell it's not possible to roll your own either.
|
||||
|
||||
|
@ -457,11 +459,11 @@ I drew big inspiration from a recent favourite game of mine: [Super Mario Wonder
|
|||
|
||||
I borrowed heavily from the triangle pattern on this screen, as well as the slightly angled text which I used for my headers:
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/Super-Mario-Bros-Wonder10212023-084101-75299.jpg", "A screenshot of the game Super Mario Bros. Wonder. In this screenshot a level transition screen is visible, displaying a heading saying 'Badge Challenge' and 'Wall-Climb Jump II'. Both headings have a slanted or tilted effect that makes the text look like it is angled upwards. Near the bottom of the screen is a transition from a purple background to a white background, with a zig-zag pattern between the two colours, which looks like a perforated edge.", "Screenshot of game UI from Super Mario Bros. Wonder." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/Super-Mario-Bros-Wonder10212023-084101-75299.jpg", "A screenshot of the game Super Mario Bros. Wonder. In this screenshot a level transition screen is visible, displaying a heading saying 'Badge Challenge' and 'Wall-Climb Jump II'. Both headings have a slanted or tilted effect that makes the text look like it is angled upwards. Near the bottom of the screen is a transition from a purple background to a white background, with a zig-zag pattern between the two colours, which looks like a perforated edge.", "Screenshot of game UI from Super Mario Bros. Wonder." %}
|
||||
|
||||
And for the buttons I pretty much copied it straight from the game!
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/Super-Mario-Bros-Wonder10212023-084101-96390.jpg", "A screenshot of Super Mario Bros. Wonder showing the style of buttons used in the game. The buttons have a 3D bevel effect, with the button colour changing to yellow when active or highlighted. The buttons have a white outline surrounding them.", "Screenshot of game UI from Super Mario Bros. Wonder." %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/Super-Mario-Bros-Wonder10212023-084101-96390.jpg", "A screenshot of Super Mario Bros. Wonder showing the style of buttons used in the game. The buttons have a 3D bevel effect, with the button colour changing to yellow when active or highlighted. The buttons have a white outline surrounding them.", "Screenshot of game UI from Super Mario Bros. Wonder." %}
|
||||
|
||||
I'm very pleased with how that came out. For reference, here is the CSS I used to achieve the effect:
|
||||
|
||||
|
@ -487,27 +489,29 @@ I'm very pleased with how that came out. For reference, here is the CSS I used t
|
|||
* I applied this to a wrapping element, and gives it the
|
||||
* white outline.
|
||||
*/
|
||||
filter: drop-shadow(1px 0 0 var(--color-white))
|
||||
drop-shadow(-1px 0 0 var(--color-white))
|
||||
drop-shadow(0 -1px 0 var(--color-white))
|
||||
drop-shadow(0 1px 0 var(--color-white));
|
||||
filter: drop-shadow(1px 0 0 var(--color-white)) drop-shadow(
|
||||
-1px 0 0 var(--color-white)
|
||||
)
|
||||
drop-shadow(0 -1px 0 var(--color-white)) drop-shadow(
|
||||
0 1px 0 var(--color-white)
|
||||
);
|
||||
```
|
||||
|
||||
The colour scheme was tricky to figure out. I knew that I wanted a teal colour as my primary one, but where to go from there stumped me. I was originally going to use Tailwind's colours to make it easier for me, but I wanted to challenge myself to come up with one on my own. So I stewed on it for a week...
|
||||
|
||||
I stumbled upon [Themescura](https://www.xypnox.com/blag/posts/themescura/introducing-themescura/) and found the philosophy resonated with me. The basis for a colour scheme has 5 elements:
|
||||
|
||||
* Primary - Also known as the "brand colour"
|
||||
* Secondary - A... second colour.
|
||||
* Background - The colour of the site's background
|
||||
* Surface - A colour that is sort of a mix between Primary and Background
|
||||
* Text - The colour of the site's overall text
|
||||
- Primary - Also known as the "brand colour"
|
||||
- Secondary - A... second colour.
|
||||
- Background - The colour of the site's background
|
||||
- Surface - A colour that is sort of a mix between Primary and Background
|
||||
- Text - The colour of the site's overall text
|
||||
|
||||
I also extrapolated a few extra colours that are based on these five:
|
||||
|
||||
* Border - The colour of borders! Like a darkened version of the Primary colour. Works well when paired with Surface.
|
||||
* Shadow - A very dark version of the Primary colour.
|
||||
* Fade Text - A mix of the Text colour and Background colour.
|
||||
- Border - The colour of borders! Like a darkened version of the Primary colour. Works well when paired with Surface.
|
||||
- Shadow - A very dark version of the Primary colour.
|
||||
- Fade Text - A mix of the Text colour and Background colour.
|
||||
|
||||
The [source code for Themescura](https://github.com/xypnox/xypnox.github.io/blob/v2/src/theme.ts) provides a "developer way" to create the colours from the base five. I used this way as a starting point, then tweaked the values using HSL until I was happy.
|
||||
|
||||
|
@ -568,28 +572,28 @@ Here are some resources I used (likely heavily) while building the site.
|
|||
|
||||
### Inspiration
|
||||
|
||||
* [Eleventy Excellent](https://eleventy-excellent.netlify.app/) ([view source](https://github.com/madrilene/eleventy-excellent))
|
||||
* [Aleksandr Hovhannisyan](https://www.aleksandrhovhannisyan.com/) ([view source](https://github.com/AleksandrHovhannisyan/aleksandrhovhannisyan.com))
|
||||
* [Andy Bell](https://andy-bell.co.uk/) ([view source](https://github.com/Andy-set-studio/personal-site-eleventy))
|
||||
* [Cory Dransfeldt](https://coryd.dev/) ([view source](https://github.com/cdransf/coryd.dev))
|
||||
* [Lea Verou](https://lea.verou.me/) ([view source](https://github.com/LeaVerou/lea.verou.me))
|
||||
- [Eleventy Excellent](https://eleventy-excellent.netlify.app/) ([view source](https://github.com/madrilene/eleventy-excellent))
|
||||
- [Aleksandr Hovhannisyan](https://www.aleksandrhovhannisyan.com/) ([view source](https://github.com/AleksandrHovhannisyan/aleksandrhovhannisyan.com))
|
||||
- [Andy Bell](https://andy-bell.co.uk/) ([view source](https://github.com/Andy-set-studio/personal-site-eleventy))
|
||||
- [Cory Dransfeldt](https://coryd.dev/) ([view source](https://github.com/cdransf/coryd.dev))
|
||||
- [Lea Verou](https://lea.verou.me/) ([view source](https://github.com/LeaVerou/lea.verou.me))
|
||||
|
||||
### Data Cascade
|
||||
|
||||
* [The Data Cascade](https://www.11ty.dev/docs/data-cascade/)
|
||||
* [I Finally Understand Eleventy's Data Cascade.](https://benmyers.dev/blog/eleventy-data-cascade/)
|
||||
- [The Data Cascade](https://www.11ty.dev/docs/data-cascade/)
|
||||
- [I Finally Understand Eleventy's Data Cascade.](https://benmyers.dev/blog/eleventy-data-cascade/)
|
||||
|
||||
### 11ty setup and configuration
|
||||
|
||||
* [Build a Blogroll with Eleventy](https://benmyers.dev/blog/eleventy-blogroll/)
|
||||
* [From Wordpress To Eleventy With Ease](https://heydonworks.com/article/wordpress-to-eleventy/)
|
||||
* [Optimizing Images with the 11ty Image Plugin](https://www.aleksandrhovhannisyan.com/blog/eleventy-image-plugin/)
|
||||
- [Build a Blogroll with Eleventy](https://benmyers.dev/blog/eleventy-blogroll/)
|
||||
- [From Wordpress To Eleventy With Ease](https://heydonworks.com/article/wordpress-to-eleventy/)
|
||||
- [Optimizing Images with the 11ty Image Plugin](https://www.aleksandrhovhannisyan.com/blog/eleventy-image-plugin/)
|
||||
|
||||
### 11ty and design
|
||||
|
||||
* [What Are Design Tokens?](https://css-tricks.com/what-are-design-tokens/)
|
||||
* [Configuring Web Fonts in 11ty with Global Data](https://www.aleksandrhovhannisyan.com/blog/configuring-web-fonts-in-11ty-with-global-data/)
|
||||
* [Easily Use Design Tokens In Eleventy](https://heydonworks.com/article/design-tokens-in-eleventy/)
|
||||
- [What Are Design Tokens?](https://css-tricks.com/what-are-design-tokens/)
|
||||
- [Configuring Web Fonts in 11ty with Global Data](https://www.aleksandrhovhannisyan.com/blog/configuring-web-fonts-in-11ty-with-global-data/)
|
||||
- [Easily Use Design Tokens In Eleventy](https://heydonworks.com/article/design-tokens-in-eleventy/)
|
||||
|
||||
[^1]: Search for "nextjs react hydration error" to see what I mean.
|
||||
[^2]: Here is [a post on 11ty.dev](https://www.11ty.dev/blog/stability/) with additional information, if you're curious.
|
||||
|
@ -597,4 +601,4 @@ Here are some resources I used (likely heavily) while building the site.
|
|||
[^4]: People smarter than me have created posts outlining their problems with modern React. Here is a small sample: [Annoyed at React](https://blog.cassidoo.co/post/annoyed-at-react/) [React, where are you going?](https://dev.to/matfrana/react-where-are-you-going-5284) [Switching Costs](https://adactio.com/journal/20837) [Removing React is just weakness leaving your codebase](https://begin.com/blog/posts/2024-01-26-removing-react-is-just-weakness-leaving-your-codebase)
|
||||
[^5]: Thank you to xypnox for the insight! [View Mastodon post](https://fosstodon.org/@xypnox/112082656802343799)
|
||||
|
||||
*[HSL]: Hue, Saturation, and Lightness
|
||||
\*[HSL]: Hue, Saturation, and Lightness
|
||||
|
|
|
@ -13,7 +13,7 @@ tags:
|
|||
- disco elysium
|
||||
---
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/ramonadithered.jpg", "test", "Our cat Ramona but she's been dithered!" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/ramonadithered.jpg", "test", "Our cat Ramona but she's been dithered!" %}
|
||||
|
||||
I don't write enough anymore, and this felt low effort enough that I could at least write _something_. And then the ball started rolling and I wrote even more!
|
||||
|
||||
|
@ -61,7 +61,7 @@ Since playing around with Supabase I'd like to utilize it somehow for a feature
|
|||
|
||||
### Disco Elysium
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/6039889e2f27c47416b8eb4434f07dcfb9c1a42575577c53eeaddfab6dd17809.jpg", "A screenshot of the game Disco Elysium with the partner Kim Kitsuragi shooting at another character in the shot. The bullet has just been fired and everybody is mid-surprise and shock.", "Disco Elysium" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/6039889e2f27c47416b8eb4434f07dcfb9c1a42575577c53eeaddfab6dd17809.jpg", "A screenshot of the game Disco Elysium with the partner Kim Kitsuragi shooting at another character in the shot. The bullet has just been fired and everybody is mid-surprise and shock.", "Disco Elysium" %}
|
||||
|
||||
What an incredible game. This is a genre-defining game, for sure. I've finished it and I immediately went in for another run. The first game I structured my character around Empathy, Inland Empire (or in other words, associating thoughts with inanimate objects), and Authority. It was interesting having a sensitive character who is able to read the subtle changes in someone's facial expression or body language. My Inland Empire would come up with ridiculous hunches, and a staggering number turned out to be correct. Sometimes the different skills (your various forms of inner thoughts) would fight with each other, or get things wrong. They are often right, but can't always be trusted.
|
||||
|
||||
|
@ -73,7 +73,7 @@ I want to keep writing about this game but I'll reserve it for a dedicated post.
|
|||
|
||||
### Pentiment
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/pentiment.jpeg", "A screenshot of the game Pentiment, which is shown inside a storybook with Latin writing. The protagonist is overlaid a piece of artwork matching the pose of the artwork. He is opposite of another character saying 'Like Dido, we ordinary women are merely tools in the tales of men. We can never be the protagonists of our own stories.'", "Pentiment" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/pentiment.jpeg", "A screenshot of the game Pentiment, which is shown inside a storybook with Latin writing. The protagonist is overlaid a piece of artwork matching the pose of the artwork. He is opposite of another character saying 'Like Dido, we ordinary women are merely tools in the tales of men. We can never be the protagonists of our own stories.'", "Pentiment" %}
|
||||
|
||||
We just started playing Pentiment the other night. It's a painterly game that takes place in 16th century Europe. The typography in this game is stunning. Each character seems to have a different style of writing. Sometimes mistakes are made and the text is erased and written in correctly. It's always beautifully revealed with the flair of someone actually writing.
|
||||
|
||||
|
|
|
@ -19,8 +19,7 @@ I won't lie, it's been hard to keep my spirits up lately. But this small amount
|
|||
|
||||
I've been working on my [Three.js Journey](https://threejs-journey.com/) course as well, which has been a welcome educational distraction. My crowning achievement may be the RAMONA CUBE.
|
||||
|
||||
<video src="https://wonderfulfrog.b-cdn.net/ramonacube.mp4" controls
|
||||
width="100%"></video>
|
||||
<video src="https://cdn.wonderfulfrog.com/videos/ramonacube.mp4" controls width="100%"></video>
|
||||
|
||||
## Links
|
||||
|
||||
|
@ -107,4 +106,4 @@ I spent about a week trialing switching over to the [Catppuccin](https://github.
|
|||
|
||||
If you're looking for resources on nerding out in your terminal, I have two that I've been particularly enjoying: [typecraft](https://www.youtube.com/@typecraft_dev) and [Dreams of Code](https://www.youtube.com/@dreamsofcode)/[Dreams of Autonomy](https://www.youtube.com/@dreamsofautonomy)
|
||||
|
||||
{% image "https://wonderfulfrog.b-cdn.net/tmux.png", "A screenshot of a terminal window. On the left is a file tree, and in the center is a code editor. On the right side are two tmux panes split horizontally, with a terminal in the top and a running 11ty server on the bottom.", "A `tmux` session open while editing this site!" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/tmux.png", "A screenshot of a terminal window. On the left is a file tree, and in the center is a code editor. On the right side are two tmux panes split horizontally, with a terminal in the top and a running 11ty server on the bottom.", "A `tmux` session open while editing this site!" %}
|
||||
|
|
|
@ -32,7 +32,7 @@ I'm going to suggest using Bandcamp because it's my favourite service, but that
|
|||
|
||||
[Bandcamp][bandcamp] has wonderful tools for finding music that fits into practically any genre you like. You can be as broad as "alternative", or get into the weeds with something like "industrial shoegaze" (and I hope something like that exists, even though I just made it up). Being able to mix and match like this is so powerful!
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/bandcamp-screenshot.jpg", "Screenshot of bandcamp.com showing a list of artists that match the genres 'shoegaze' and 'industrial'. There is a grid of album art on the left, with a panel on the right showing the currently playing song or album.", "I'm so happy to see that 'industrial shoegaze' is indeed a thing!" %}
|
||||
{% image "https://cdn.wonderfulfrog.com/images/bandcamp-screenshot.jpg", "Screenshot of bandcamp.com showing a list of artists that match the genres 'shoegaze' and 'industrial'. There is a grid of album art on the left, with a panel on the right showing the currently playing song or album.", "I'm so happy to see that 'industrial shoegaze' is indeed a thing!" %}
|
||||
|
||||
All you need to do is start typing your favourite genre into the search bar and search by "Music tagged with 'your genre'". That's it! You now have a feed of music to try and sample, it's just that easy. New music is being added all the time, so you can keep coming back for more. If you're feeling extra spicy, you can use the "surprise me" sort option and see what you get.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue