# Matthew Hall — Full Content
> Complete public post corpus from matthewhall.com, concatenated for LLM ingestion. See /llms.txt for a structured index.
Generated: 2026-04-24T22:53:05.740Z
Posts: 86
---
# MCP Isn't Dead. We're Just Early.
Published: 2026-03-04
URL: https://matthewhall.com/posts/mcp-isnt-dead-were-just-early/
Tags: ai
The narrative this week is that MCP servers were a mistake. Back in January, OpenClaw creator Peter Steinberger wrote ["mcp were a mistake. bash is better."](https://x.com/steipete/status/2007876353463660757?s=20). This week, [Eric Holmes wrote a pointed post arguing that CLIs outperform MCP for AI agents](https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html), and it's been making the rounds. He's not entirely wrong - but the post describes a protocol in its infancy and draws conclusions about its ceiling. That's worth pushing back on.
## Today's MCP Servers have real problems worth admitting
Let's not be precious about it. Current MCP implementations are rough . I spent an hour last week tracking down why my Mac had slowed to a crawl, only to find 100+ zombie Node processes left behind by MCP servers that Claude Code had started and never cleaned up. The permission model is blunt - all-or-nothing access where you'd want scoped controls. Initialization fails silently. Re-auth prompts appear at random. If you've been running local MCP servers for any length of time, you've felt all of this.
Holmes is also right that CLIs have a genuine edge today. Composability through pipes, `grep`, `jq` - that's not nothing. They're debuggable, universal, and they don't require a background process to be healthy before your AI can do anything. Every platform in the world already offers a CLI you can use. These are real advantages.
These are the problems of a protocol that most people have been using for a few months. "Flaky early implementations" and "fundamentally limited" are not the same diagnosis.
## CLIs carry their own baggage that's easy to forget
The case for CLI assumes that what's convenient for humans to debug is what's best for machines to consume. That's not obvious.
CLI output is inconsistent, poorly documented, and changes between versions without warning. How far behind is the version of `wrangler` on your work laptop right now? I'm at least one major version behind on mine. When an AI agent misinterprets CLI output, you're left reverse-engineering free-form text with no schema to validate against. When an MCP call fails, you have a typed contract to check.
Holmes raises composability as a CLI strength - and it is, when the person composing is a human who knows what they're doing. But an AI agent chaining `grep | jq | awk` is navigating a surface area that's wide, poorly specified, and full of edge cases that no one documented because they seemed obvious. Unix pipes are flexible precisely because they're untyped - and that's also why they fail silently.
There's also an auth argument in the original post that doesn't hold up. Holmes suggests CLIs already handle auth fine through things like AWS profiles and GitHub CLI. That's true for a developer who set up their machine carefully. It doesn't extend to multi-agent workflows, or to any context where you want delegation, scoped permissions, or token revocation.
## The missing piece: MCP as infrastructure, not a local daemon
The version of MCP Holmes is critiquing is `uvx mcp-server` running on your laptop - a local process you have to install, manage, and troubleshoot. That's a real description of the early-adopter experience. It's not a description of where the protocol is going.
Streamable HTTP transport and OAuth 2.0 client credentials change the picture. Instead of installing and running a server locally, you point your client at a URL, complete an OAuth flow, and you're connected. The MCP server becomes infrastructure - {==hosted, maintained, updated==} by whoever runs the service. The end user never sees it. [Linear](https://linear.app/docs/mcp) and [Granola](https://www.granola.ai/blog/granola-mcp) are already shipping this way.
This is what the web API model looked like once it outgrew SOAP. You didn't install anything; you just called an endpoint. The "maintenance burden" argument against MCP largely evaporates when the server isn't running on your machine.
## Structured schemas do something CLIs fundamentally can't
What makes MCP interesting long-term isn't the transport layer - it's the contract.
When a service exposes an MCP interface, the AI gets a machine-readable copy of what actions are available and what they return. It means the agent can verify what it's doing, reason about errors, and behave predictably. Compare that to a CLI where the output format is "whatever the maintainer felt like that day" and breaking changes arrive in patch releases without a changelog entry.
The analogy that keeps coming to mind is OpenAPI and REST. Before OpenAPI, you had a thousand idiosyncratic JSON APIs with inconsistent patterns and documentation that was always slightly out of date. OpenAPI didn't replace REST - it gave REST a standard contract, which made far more useful. MCP is trying to do that for agent-tool interaction. The spec is from November 2025. We're at the "inconsistent early implementations" stage, not the "this is what it will always be" stage.
Streaming is the part of the spec that hasn't gotten enough attention - real-time updates from server to client. Hardly any MCP servers implement it today, which is part of why agentic workflows feel so clunky. But the capability is in the spec, and when it gets built out properly, it unlocks a class of long-running agent tasks that CLIs can't touch.
## This is like declaring REST dead in 1999
Holmes' critique of MCP reminds me of critiques of early REST: too much overhead, inconsistent behavior, easier to just use what we have. Those critiques weren't wrong about REST in 1999. They were wrong about REST as a category.
The early API era was messy - SOAP, custom XML interfaces, hand-rolled auth. Then OpenAPI came along and REST became infrastructure. We're somewhere in that messy middle period with MCP right now. The question isn't whether today's tooling is rough (it is), but whether the underlying abstraction is worth standardizing around. The problem it's trying to solve is real and the CLI isn't the answer to it.
---
# Media Diet: January 2026
Published: 2026-02-28
URL: https://matthewhall.com/posts/media-diet-january-2026/
Tags: media diet
🎬 The Rip - Oof. Just not great. Was excited for Damon and Affleck together again but they did not pull this one off. (C)
📺 Stranger Things Season 5 - I went to watch the finale in theatre and had an absolute blast. I don't think I've watched a single episode of Stranger Things with another human being in the room, so it was such a great experience. Overall a solid final season for such a long running show. (A)
📺 Irish Blood Season 1 - Ehhhh not great. Not worth a watch. (C)
🎬 Marty Supreme - Favorite movie of 2025! Just go see it. (A+)
📺 Pluribus Season 1 - Another great series from Vince Gilligan. Can't wait to see where this goes next. (A)
📺 Boots Season 1 - Took me a few episodes to get into it, but really enjoyed it in the end! (B+)
📺 Overcompensating Season 1 - Similar to Boots, took me a bit to get into, but then really enjoyed it. (B+)
🎬 She Rides Shotgun - Fantastic movie that I completely missed when it first came out! (A-)
📚 Son of Avonar by Carol Berg - Got in a book exchange with my book club. Enjoyed, but I'm not sure if I will continue the series. (B+)
📺 House of Guinness Season 1 - Very over the top but I enjoyed it! Good mindless TV. (A-)
🎬 People We Meet on Vacation - Cute but very predictable. (B+)
🎬 Is This Thing On - Another solid film directed by Bradley Cooper. It's been impressive to see his transition from acting to directing. (A-)
📺 Landman Season 2 - Oh my god this show. Just so ridiculous and over the top. It gets so cringey. It's more of a hate-watch than anything else. (B)
🎬 28 Years Later: The Bone Temple - I enjoyed the previous film but it wasn't my favorite in the 28 universe and left it unsure of the direction the series was going. The Bone Temple completely changed my mind. An absolutely incredible piece of film-making and my favorite of all the 28 universe. (A+)
📚Shadow of Mars by Glynn Stewart - I guess it's understandable for a book that's the 18th in the series, but this one felt a bit lost in the mix. Just filling in some context before the next book where the plot will take a major step forward. (B)
📚Mr. Styke by Brian McClellan - Solid little novella but left me wanting more. (B)
📺 Shoresy Season 5 - This show continues to be great fun. (A)
🎬 Nobody 2 - Eh not that great, feels like the first one should have been left as a standalone film. (B-)
🎬 The Fantastic Four: First Steps - What a snooze fest. Marvel has dropped so many snooze fests the last few years. (C+)
---
# Countdown to Kickoff 2026: Vancouver Whitecaps FC
Published: 2026-02-13
URL: https://matthewhall.com/posts/countdown-to-kickoff-2026-vancouver-whitecaps-fc/
Tags: mls, soccer, vancouver whitecaps
The [/r/MLS](https://www.reddit.com/r/mls) subreddit runs a series of posts about the "Countdown to Kickoff", giving overviews of a MLS team's previous season and their upcoming season. I wrote a post [for last years season](https://www.reddit.com/r/MLS/comments/1ixni4p/countdown_to_kickoff_2025_vancouver_whitecaps_fc/) too!
---
## Basic info:
**Full club name:** Vancouver Whitecaps FC
**Subreddit:** [r/WhitecapsFC](https://www.reddit.com/r/whitecapsfc/)
**Location:** Vancouver, BC Canada
**Stadium:** [BC Place](https://en.wikipedia.org/wiki/BC_Place) (22,120 for most games, expandable to 50,000+)
**Head Coach:** [Jesper Sørensen](https://en.wikipedia.org/wiki/Jesper_S%C3%B8rensen) (2nd season)
**Captain:** Ryan Gauld
**Owner:** Jeff Mallett (Chairman), Greg Kerfoot, Steve Luczo, Steve Nash
**Sporting Director**: Axel Schuster
**Reserve Team:** [Whitecaps FC 2](https://en.wikipedia.org/wiki/Whitecaps_FC_2)
**Kits:**
* Primary: [2025 "The Peak"](https://www.whitecapsfc.com/news/vancouver-whitecaps-fc-unveil-the-peak-jersey)
* Secondary: [2026 "Coastal"](https://www.whitecapsfc.com/news/vwfc-launch-coastal-jersey)
**Jersey Sponsor:** [Telus](https://www.whitecapsfc.com/news/telus-named-official-premier-partner-of-vancouver-whitecaps-fc#:~:text=VANCOUVER%2C%20BC%20%E2%80%93%20Vancouver%20Whitecaps%20FC,change%20in%20their%20local%20communities.)
**Trophies:**
* Canadian Championship (2015, 2022-2025)
* Western Conference Champions (2025)
## Rivalries:
1. [Cascadia Cup](https://cascadiacup.soccer/) \- A fan-created competition between the Vancouver Whitecaps, Portland Timbers, and Seattle Sounders. In the MLS era, Vancouver leads with eight wins, clinched in 2025. Last year was a dominant year for us with two wins and two ties. The Sounders and Timbers definitely treat us as the "little brothers" in this rivalry.
2. **Canadian MLS Teams: Toronto FC & CF Montreal** \- Unlike most Western Conference teams, we have some guaranteed opposition in the Eastern Conference every year: Toronto or Montreal. Outside of MLS play, we can also face them in the Canadian Championship. We've won the Canadian Championship four years running so Toronto and Montreal are looking for any chance to take us down this year -- and get the CONCACAF Champions Cup spot that goes with winning the Canadian Championship.
3. **LAFC** \- Last year this was a budding rivalry but this year I think we can say it's full blown! Our playoff match against them was one for the ages, with LA without a shot on target in the first half, then a last minute LAFC equalizer, and Vancouver surviving 9v11 in extra time to win on PKs. I've never been so stressed watching a game in my life. The battle of Son v Müller will continue this year!
4. **Canadian Premier League Teams: Vancouver FC** **& Pacific FC** \- The CPL, Canada's domestic league, Canada's domestic league, has two teams in British Columbia, the same province as Vancouver. Confusingly, one is called Vancouver FC, despite playing in Langley, about an hour from Vancouver proper. A Vancouver vs. Vancouver matchup was the finale of the Canadian Championship in 2025 - that's just how bad Toronto & Montreal were last year. Pacific FC is located on Vancouver Island, a 1.5 hour ferry ride from Vancouver. We've faced them twice in the Canadian Championship, in 2023 and 2024. It's our "Ferryside Derby".
5. **Inter Miami**: It started with none of their stars even getting on the flight to Vancouver in 2024, then we knocked them out in the CONCACAF Champions Cup last year, only for them to win the MLS Cup against us. For a team that's only played each other 4 times in their history, this may be a one-sided rivalry with Vancouver wanting revenge in 2026.
## Predicted XIs
We've got a few important players still returning from injury, and are playing in four different competitions this year, so I expect to see a lot of rotation in our XI. We will see how things look when Ranko Veselinović, Sam Adekugbe, and Ryan Gauld are all fully healed. Jesper Sørensen is likely to tweak this structure as we go, especially with Gauld out again for an extended period and not needing to fit Müller and Gauld in the same XI for a few months. There's also a matter of how Cheikh Sabaly is going to fit into the squad. He seems like too good of a player to be a White or Sabbi depth piece, so there could be some new formations to try out.
## 2025 Season in Review
* **Final Standings:** 2nd in West, 5th overall, 18-9-7 record, 63 pts, +28 GD
* **Playoffs:** Runner-Up
* **Attendance:** 21,806 Average, 53,957 Highest
What a season. I still can't believe it's real. From my best case scenario in last year's post:
- ✅ We win a Canadian Championship for the fourth year in a row.
- ✅ We make a massive summer signing.
- ❌ Gauld stays fit the entire year.
- ✅ We make it out of the Round of 16 in the CONCACAF Champions Cup.
- ✅ We make it out of the first round of the MLS playoffs by beating LAFC. *(Semifinals even better than the first round)*
- ❓Ryan Reynolds buys the Vancouver Whitecaps.
Well my hit rate was pretty good. Despite Gauld not staying fit we still managed to make it work and become the first MLS team to make it to a Domestic Cup, MLS Cup, and CONCACAF Cup final in the same season.
I had the privilege of going to four different finals all across North America. To properly paint a picture of the rollercoaster that our 2025 season was, I'm going to tell this in vignettes covering the most important games of the season.
Oh and there's still time for Ryan Reynolds to buy the team. Please Ryan. I'm begging you here.
### MLS Regular Season vs. CF Montreal
*2-0 Whitecaps Win*
*March 8, 2025*
We're off to the strongest start we've ever had in MLS. We're bouncing between the top few places in the Western Conference and I just keep pinching myself. We're playing attacking soccer that is just so much fun to watch.
Then I am at BC Place and I watch Ryan Gauld land weirdly when jumping for a ball, grabbing his knee, and clearly looking in pain. He needs to be helped off the field. This looks really really bad. Walking out of the stadium I'm telling my friend the season is over. Gauld is just so important to everything we do and what makes us work. There isn't any way we can go far this year without him.
### CONCACAF Champions Cup Semifinal @ Inter Miami
*1-3 (1-5 on aggregate) Whitecaps Win*
*April 30, 2025*
I miss out on watching the home leg of the semifinals because I'm away for work in the UK. I wake up the morning after the home leg and manage to stay spoiler free, enjoy some room service breakfast, and watch Vancouver just absolutely demolish Miami. I could never have expected this attack to work so well with us missing Gauld. Huge credit to Berhalter, Vite, and Cubas for stepping it up big time.
So of course I reroute myself on the way home to go through Miami. Don't think about how little sense this makes when looking at a map. I just had to see at least one leg of this historic run. Added bonus, I got to sit next to some of Ali Ahmed's family members on a flight from Toronto to Ft. Lauderdale.
I was very nervous going into this game. We've been playing well, and we smashed Miami in the first leg, but still. This is at their (temporary) home. Jordi Alba scoring at the very start of the game had the away fans shook.
We've all seen the Whitecaps fall apart after looking good. But they shake off their nerves and just get things done. It's feeling like we could actually win some trophies this year. I'm definitely not expecting to make a return trip to Ft. Lauderdale and their godforsaken temporary stadium again this year...
### CONCACAF Champions Cup Final @ Cruz Azul
*5-0 Whitecaps Loss*
*June 1, 2025*
What kind of tournament has yellow card suspensions roll over into the final? After Sebastian Berhalter has spent months perfectly filling our Gauld shaped hole, he's out for the final. We're using a 4-3-3 instead of our usual 4-4-2 and it just does not work. Ngando, Cubas, and Vite just can't handle the midfield on their own without Berhalter there. It was by far our worst performance of the year.
The one perk of losing so badly is the locals were very nice to us away fans! We had a great trip to Mexico City and the food was unreal. I hope we get another excuse for a Mexico City away trip this year.
Leaving this game it felt like we had missed an opportunity and it was going to be hard to recover from. Going into the summer window we promptly lose Pedro Vite -- who had been a key part of our midfield up to this point. There's no sign of Ryan Gauld returning anytime soon, rumour is that he may not be back at all this season. It's hard not to feel like it's all downhill from here.
### MLS Regular Season vs. Philadelphia Union
*7-0 Whitecaps Win*
*September 13, 2025*
Holy shit we have an honest to god superstar on the Vancouver Whitecaps! Thomas Müller is in town! As I read the rumours of his transfer I really didn't believe them. It just seemed so far fetched. We've never been _that_ kind of team.
His arrival is overshadowing the other events of the last few months. A very mixed run of form. Sam Adekugbe with an Achilles Tendon Rupture. Ranko Veselinović with an ACL Tear. Signing two new defenders from Europe who are immediately injured.
BUT WE HAVE DER RAUMDEUTER!
He's had a good start to his Whitecaps career but on his birthday, September 13th, he scores the first birthday hat-trick in MLS history. The Whitecaps absolutely demolish Philadelphia, the Supporters Shield leaders, with a 7-0 win -- a club record in MLS for the 'Caps.
It feels like anything is possible. We're going to win the MLS Cup!
### Canadian Championship Final vs. Vancouver FC
*4-2 Whitecaps Win*
*October 1, 2025*
Going into this game it felt like a foregone conclusion. In the first 10 minutes we've scored two goals. We fall asleep and let Vancouver FC put two away, but we close it out 4-2.
Now the most important part of this game isn't winning the final or a fourth title in a row. It is that Ryan Gauld is FINALLY BACK and gets a goal on his return.
Usually winning the Canadian Championship is how we sneak into the CONCACAF Champions Cup, but thanks to our performance in MLS we didn't need it this year! That means that bottom of the CPL Vancouver FC gets their international debut. Somehow they've managed to draw Cruz Azul, the unlucky sods.
### Western Conference Semifinal vs. LAFC
*2-2 (4-3 on PKs) Whitecaps Win*
*November 22, 2025*
LAFC was the team in the playoffs that scared me the most. They had been on an absolute tear and the chemistry between Bouanga and Son is something else to watch. When I was looking at the possible playoff brackets as the season was wrapping up, I was really hoping we could avoid them until the Western Conference final.
The first half was the platonic ideal of how the Whitecaps play. 2-0 up and LAFC hadn't even registered a shot on target. I am absolutely ecstatic.
LAFC changes their shape and it counteracts us perfectly. We're hanging on for dear life. We get to the 90th minute only up by a goal. Then Son scores _that free kick_ and we're down to 10 men.
Deep into stoppage time and we're down to 9 men. It's a constant barrage on Vancouver's goal. We're lucky as hell to keep things level. We somehow survive to PKs.
Then LAFC misses a PK. That's it. I know we can win. We're going through to the Western final.
### Western Conference Final @ San Diego
*1-3 Whitecaps Win*
*November 29, 2025*
No offence to San Diego, but this just felt like a sure thing.
They had a great regular season for an expansion side but between not figuring out how to keep Milan Iloski in the summer and all the drama around Chucky Lozano, this felt like a gimme.
After how stressful and nerve-wracking the semifinal against LAFC was, this one was easy. A lovely trip down to enjoy some sunshine in San Diego before we face the real test, a return to Ft. Lauderdale.
### MLS Cup @ Inter Miami
*3-1 Whitecaps Loss*
*December 6th, 2025*
Well after two trips to Ft. Lauderdale in the same year, I'm very happy to never visit that barren wasteland of a stadium ever again.
Don Garber continuously talking about our stadium situation rather than the game that was about to be played was an unsettling start to the day. I don't know what kind of impact that had on the players and staff, but there's no way they could completely ignore it.
After Andrés Cubas had a rough game in the Champions Cup Final, he had another rough final here. He was directly the cause of the second goal, falling asleep on the ball. For a player that is usually so tenacious it's hard to watch.
When Ali Ahmed scored to tie up the game the entire away end exploded. I've never felt anything like that in a crowd. It felt like we might be able to claw this game back.
We get our payback for all the LAFC post hits with Sabbi having a double post hit trying to tie the game up. Painful. We fought hard but Miami earned this win.
## Transfers Out:
* **Daniel Ríos (FW) loan ended, now with Montreal FC** - 4 goals in 43 appearances for a striker. If this was a stinker of a team with no attacking output that might get a pass but we had the best goal differential in MLS. We had a long stretch with Brian White out injured or away with the US National Team where we needed that extra bit of output and sadly Ríos just didn't step up. Hoping he's a better fit over in Montreal.
* **Max Anchor (GK) Contract Expired**, **now with Seattle Sounders** - A 21 year old depth keeper that mostly was with the Whitecaps 2 squad. Had a rough loan out to Pacific FC, making only 9 appearances. The Whitecaps recalled him to give us GK depth going into our playoff run. Somehow he won Pacific FC's Young Player of the Year for 2025 despite the short loan deal.
* **Mark O'Neill (DF) Contract Expired** - Depth CB that didn't get utilized during our CB injury crisis after Ralph Priso stepped up big time. Wishing him the best of luck!
* **Nicolas Fleuriau Chateau (FW) Contract Expired, now with Galway United** - Was off on loan at VPS in Finland. Only 4 goals in 22 appearances. Never managed to crack our first team.
* **Jayden Nelson (FW) to Austin FC** - Started off the season on a burner but ended it in a whimper. Once Emmanuel Sabbi recovered from injury and found his form he became a depth part of our attack. Sad to lose him as he was a very pacey sub to have on the bench. Hoping he gets more minutes with Austin, he has a lot of potential.
* **Ali Ahmed (FW) to Norwich City FC** - Anyone following either the Whitecaps or the Canadian National Team will know that Ahmed can be a frustrating player to watch. But it's worked! He may not have had that many goals for the Whitecaps but he put in a ton of work and got a ton of assists. Sad to lose him after already losing Nelson in the same window, but you love to see a guy get his dream move to Europe. He's been on an absolute burner since arriving in Norwich.
* **Joedrick Pupe (DF) Loaned to Sint-Truiden** - One of our two cursed summer signings in 2025. Arrived, was immediately injured, and Ralph Priso has stepped up so admirably as a centre back he never got a real chance with us. This is only a half-season loan so we will see how healthy our defence is able to stay this year.
* **Giuseppe Bovalina (DF) Loaned to Örebro SK** - This man needs some minutes! Only 21 years old and hasn't managed to make much of an impression yet. Hopefully with a full season loan he'll get some consistent playing time and we'll see what he can do.
## Transfers In:
* **Nikola Djordjevic (DF - RB) from Whitecaps 2** - We have a lot of depth in right back right now so I assume they will be spending most of their time back on loan to the Whitecaps 2 team, with the occasional appearance in cup games.
* **Mihail Gherasimencov (DF - LB) from Whitecaps 2** \- Well we have slightly less depth at left back and Adekugbe is injury prone, so there is a possibility he'll see some minutes.
- **Oliver Larraz (MF - CM) from Colorado Rapids** - Great pickup for depth in our midfield behind Cubas and Berhalter. From looking at how he plays it seems more likely to be Cubas' backup. Only 24 years old and did well at a mediocre Colorado last year. Should be a solid fit.
* **Bruno Caicedo (FW - RW) from Barcelona SC** - Filling one of our U-22 slots and a replacement for our winger losses. His output isn't anywhere near what Ahmed was contributing so it's a roll of the dice that Jesper Sørensen can work his magic on him.
* **Aziel Jackson (FW - AM) loan from Jagiellonia Białystok** - We do love ourselves a reclamation project at the Vancouver Whitecaps. After an underwhelming few years following a standout in their youth career, here's hoping the Whitecaps can get him back on track.
* **Cheikh Sabaly (FW - ST) from FC Metz** - Our most proven signing with the highest ceiling, having spent a solid amount of time with FC Metz bouncing between Ligue 1 and 2. He's had some really strong seasons and we're hoping he brings that same form here. We got him for a good deal with his contract ending in 6 months at FC Metz. He has primarily played as a striker, with some time as a right winger and an attacking midfielder. He seems like he's too good to be a depth piece so it will be interesting to see how he fits in.
## Draft Picks
* Round 1 (17) - Zach Ramsey (MF) from Washington, returned to college for 2026
* Round 1 (29) - Daniel Lugo (FW) from High Point, returned to college for 2026
* Round 2 (59) - Yeider Zuluaga (FW) from Seattle
* Round 3 (89) - Connor Lofy (MF) from Washington, returned to college for 2026
## Prognosis:
Last year was the best season in our club's history. It's hard to know what to expect from here. Can we keep this run going for another season?
We've got a big rebuild coming once Gauld, Müller, and White all age out. We're in win-now mode. We've lost some key pieces this off season and I don't know how our replacements will do.
Our stadium situation is a mess. It's the sticking point for our future here in Vancouver. Last year it felt like we made some progress, entering into a development agreement with the city, but the offseason updates have been messy. It feels more and more like the owners want to sell and know that moving the team to the US will make it a more valuable asset.
And with that, the three scenarios.
### Best Case:
Most important this season is some clarity on our stadium situation and team ownership going forward. It's been annoying enough having Garber talk about the situation right before the MLS Cup but the off-season updates have been pretty stressful. We need to leave this season with either a plan for a new soccer specific stadium or a deal with BC Place that makes financial sense, as well as clarity on ownership and investment going forward.
We made it to the final of three competitions last year, we're forced into the Leagues Cup this year, so let's make it to FOUR finals! Really see how good our depth is.
Winning the Canadian Championship for a fifth time goes without saying. Toronto and Montreal still seem to be in the middle of rebuilds. Not winning this would be a huge disappointment.
We need to win the MLS Cup or the Champions Cup this year to truly top 2025. A Leagues Cup win would be a nice bonus as well, but just doesn't feel as important as the other two. Preferably, both.
Topping it all off with a Supporters Shield win would be incredible, or at least #1 in the west. We were so close in 2025 with things falling apart in the last few games.
### Worst Case:
This is the last season the Whitecaps are in Vancouver. The Vancouver Whitecaps become the Las Vegas Whitecaps, and I'm forced to drive out to Langley to watch Vancouver FC play in the Canadian Premier League.
### Reasonable Case:
Our fifth Canadian Championship is the expectation. That's the trophy we should win no matter what, even if it's not a big one.
Then we need to make a deep run in at least one of the MLS Playoffs, CONCACAF Champions Cup, or the Leagues Cup. Getting to at least one final or semi-final would keep the momentum going.
Finishing in the top four of the West for the second year running is a must, even if we don't manage to top the division or the league.
Ending the season with clarity on our future stadium situation. Knowing where we're going to be playing for the next few years with a real plan in place that keeps us in Vancouver.
## Final Thoughts
I can't wait for another year of attacking soccer. It's been a hell of a ride following this team and seeing what they've been able to do. Who knows what 2026 has in store. I just really hope the Whitecaps are staying here in Vancouver for a long time to come.
## Online Resources
**Official Links:** [Website](https://www.whitecapsfc.com/) | [Bluesky](https://bsky.app/profile/did:plc:fi5h3wmxswojrmxfkjbkbr7c)
**Unofficial Links:** [The Third Sub](https://thethirdsub.ca/) | [Cascadia Cup](https://cascadiacup.soccer)
---
# Media Diet: December 2025
Published: 2026-01-24
URL: https://matthewhall.com/posts/media-diet-december-2025/
Tags: media diet
Hello 2026! I was looking through my post archives and I can't believe i've been writing media diets for four years now without missing a month. I was hoping these would be the lead in to me writing more consistently about other topics, which hasn't happened, but oh well!
The Little Drummer Girl Season 1 - I have no idea how I missed this back in 2018! One of my favorite John le Carré adaptations. (A)
The Narrow Road to the Deep North Season 1 - One of my favorite series of 2025. Intense to watch. (A)
Eternity - A film with so much potential but so poorly executed. Needed a lot of tightening up. (B)
A Murder in Time by Julie McElwain - Easy fun read but nothing special. (B)
Slow horses Season 2-5 - I don't know why i've been procrastinating watching this for so long after watching the first season when it came out. Really enjoyed it from start to finish! Looking forward to the next season. (A-)
Midnight Run - A 90s classic I hadn't ever watched. Silly and fun. Robert De Niro is great in it. (A-)
Sirens Season 1 - I expected something very different from this show. I still enjoyed it but it just felt like it could have been more. (B+)
Tron: Ares - Oh god this was miserable. Did not finish. (F)
A Man on the Inside Season 2 - Silly, easy, fun watching. Ted Danson is a treat and Mary Steenburgen was a perfect addition in season 2. (B+)
Night Agent Season 1 - Nothing special. Feels like the Netflix knock off of a cheap Amazon thriller show. (B-)
Caught Stealing - There was so much hype around this one that I had high expectations for it but it just didn't completely click for me. (B+)
Shetland Season 10 - Not their best work it feels a bit like the show is running out of steam. (B-)
Blue Moon - Richard Linklater's best film in the last few years bar none. Love seeing him work with Ethan Hawke yet again. Margaret Qualley's best acting yet. (A+)
Moonbound by Robin Sloan - I had a hard time with the pacing here. Sections of the books I loved and others I was left struggling to get through. (B)
Exciting Times by Naoise Dolan - I'm a sucker for Irish millennial stories like this. Not as good as Salley Rooney's best novels but I am excited to see what Naoise Dolan writes next! (A-)
The Other Half by Charlotte Vassell - Another easy fun read. Nothing special but I flew through it on vacation. (B+)
The Rainmaker Season 1 - Nowhere near as good as the book its based on. A lot of changes that just don't work well. (B)
I Love LA Season 1 - What a fantastic show. All the actors are incredible. ONe of my favorite shows of the year. (A)
Deep Rock Galactic: Survivor - What a fun mindless game! It ended up being my favorite game of 2025. Perfect for mindless times on the couch while watching some TV. (A)
Confessions of a Shopaholic - I am unsure if I saw this when it originally came out, but ooph. Not great. (C+)
Bridget Jones: Mad About the Boy - This on the other-hand was a perfect end to the Bridget Jones series! I'm far from the target audience and I've definitely missed at least one film in the series, but it hit just the right notes. (A)
---
# Things I Was Grateful For in 2025
Published: 2026-01-11
URL: https://matthewhall.com/posts/things-i-was-grateful-for-in-2025/
Tags: things i was grateful for
import GratefulFor from '@/components/shortcodes/GratefulFor.astro';
Every year seems to go faster and faster. It's hard to believe 2025 has come to a close and we're now in 2026. Even crazier is that this is the sixth year in a row I've written this post!
It was a year with extensive travel. I spent over 90 nights on the road, a personal record. I visited some fun places (Japan, London) and some less-fun (Dallas). It was a bit too much travel and I am hoping to spend a bit more time at home this year.
I got to watch my soccer team make it to four different finals. One at home in Vancouver, then in San Diego, in Mexico City, and in Miami. We may have only won one of them, but traveling to all of those games was an incredible experience. Hoping we'll be making it to a few more finals in 2026!
I've been fighting constant sinus issues for the last few years and finally had a septoplasty at the end of August to help with it. The recovery was much rougher than I expected, I was definitely exhausted for the last few months of the year. Sadly it hasn't had a huge impact on my quality of life, other than helping improve my sleep.
Finishing off the year we went to Puerto Vallarta for 10 days in the sun which was a very needed break. After returning, I've been feeling refreshed and excited for 2026!
### Movie - Marty Supreme
This one is a bit of a cheat since I watched it at the start of 2026, but it was my favorite 2025 film release! It's just a wild ride from start to finish that you can't tear your eyes away from.
I loved Uncut Gems and finally watched Good Time this year, but Josh Safdie really is mastering his craft with Marty Supreme. Josh has really honed his ability to have a constant pacing but making it a bit less intense.
It feels like the film will do pretty well in the award season and it deserves it! Timothée Chalamet and the rest of the cast delivered incredible performances. As a Canadian it was wild seeing Kevin O'Leary act -- although rich asshole is who he is in real life.
### TV - Long Story Short
One of my favorite shows of the last decade was BoJack Horseman and its creator is back with Long Story Short.
It's a very different vibe from BoJack but with a familiar art style. Covering the stories of a family over decades in time it seamlessly switches between characters and periods of life. Just like BoJack it will hit you in the feelings again and again.
I can't wait for season two! This feels like a show that could go on for a long time covering so many different characters in the extended family across different time periods.
### Book - Bury Our Bones in the Midnight Soil by V. E. Schwab
I've been reading V. E. Schwab for over a decade now, starting with her Vicious novel in 2013. It's been impressive to watch her hone her craft and grow as a writer. The Invisible Life of Addie LaRue in 2020 was a very impressive leap in her writing and Bury our Bones is yet another.
Covering multiple different characters over hundreds of years, it's an ambitious story that balances its complex elements perfectly. I find that sometimes a book of this scale can be hard to keep track of or to get invested in the characters, but Schwab handles it with perfection.
I also had the pleasure of seeing V.E. Schwab do a talk about the book before I had read it. She's a fantastic speaker and I highly recommend any fans of her work seeing her talk if you have the opportunity!
### Video Game - Deep Rock Galactic: Survivor
I've never even played the original Deep Rock Galactic game but I've thoroughly enjoyed with Survivor this winter. It's a perfect mindless game to play on the couch while watching some TV. I had been playing it on my Steam Deck but while writing this I noticed it's also available on mobile which is a dangerous addition.
Bullet Hell (or Bullet Heaven) has been one of my favorite genres of games for a while, starting with discovering the 1942 arcade game. I've been trying lots of different modern ones this year and this was by far my favorite.
### Podcast - Articles of Interest: Gear
Anyone who knows me is going to be very surprised that my top podcast of the year is about fashion. I can't say fashion has ever been something that particularly interests me, but how Avery Trufelman talks about fashion is something special.
Starting with the history of outdoor wear to modern GORE-TEX it paints a very compelling story, finishing with our current world where we're wearing Arcteryx jackets all the time.
### Activity - Pickleball
I am officially entering my old man era. I've played a bit of Pickleball the last few years but this summer got into a routine of playing it almost every weekend. It's been fun playing with friends and improving.
Going into this winter I am trying to play more consistently at some indoor facilities that have opened up in the area. It's great having high quality courts and reserved time to use them, very different from playing outdoors in the summer.
My weekly rotation of activities now includes Beach Volleyball, Bouldering, and Pickleball! It's a well-rounded mix, and I've stopped injuring myself like I did playing Ultimate Frisbee.
### App - Google Gemini & Antigravity
If you had asked me a year ago if Google would be making some of the best AI products by the end of 2025 I would have laughed. I should have known better than to ever doubt the ability of Google to pursue something they really want.
I've stopped using ChatGPT entirely and Gemini is my daily driver now for most activities, with some Claude in the mix as well. Their "Thinking" mode combined with Google Search data is unrivalled.
Near the end of the year they released Google Antigravity which has now replaced Cursor as my daily driver IDE. It giving out a reasonable amount of Opus 4.5 tokens doesn't help it either.
Honourable mention to Anthropic's Opus 4.5 which has been a huge step forward for vibe coding. It's getting a lot of hype right now - which it deserves.
### Tech - Pixelsnap
I've been jealous of iPhone's having MagSafe for years and I am so glad that the new Pixel 10 series finally added a completely compatible system! This seemingly small addition greatly improves daily use. No more of putting your phone on a wireless charging and being surprised when its no longer charging in the morning!
My favorite addition to my life thanks to Pixelsnap is a wallet that clips on the back of my phone. I try to carry as little as possible every day and this is a perfect way to reduce what I carry.
### Project - Mt. Unpleasant
What a fun adventure this project has been. Something completely different than anything I've ever worked on before. For the last 6 or so months i've been working with my good friend Jamie on a YouTube series of in-person Blood on the Clocktower.
It's been an resounding success that the Clocktower community has embraced. It's been exciting having real fans of the videos and building up a consistent audience. It's such a different thing to work on then anything else I've ever done which has been engaging to learn.
---
# Media Diet: November 2025
Published: 2025-12-25
URL: https://matthewhall.com/posts/media-diet-november-2025/
Tags: media diet
The last few months have been a complete blur. Writing this at the end of December and I have to look at my calendar to even remember what I did in November! I had a great trip to the UK for work plus a flight down to San Diego for the MLS Western Conference Finals.
🎥 Before the Devil Knows You're Dead - Watched an interview with Ethan Hawke where he was talking about this and I had never seen it. Great movie! (A-)
📺 The Lowdown Season 1 - More Ethan Hawke. I can never get enough of him. Another fantastic show from Sterlin Harjo. (A)
📚 The Rachel Incident by Caroline O'Donoghue - I love me an Irish novel. Great quick read. (A-)
📚 A Judgement of Powers by Benedict Jacka - Another great book from Jacka. A compelling, easy read . (A-)
📚 Teer & Kard Book 1-4 - Flew through the series while travelling. Great for passing the time on a train. (A-)
🎥 The Running Man - Ooph, what a stinker. Give it a miss. (C)
📺 Trigger Point Season 1-3 - I devoured this while traveling. Exciting and goes quick. (A)
🎥 The Long Walk - Impressed what they managed to do with this concept! (A-)
📺 Nobody Wants This Season 2 - Not as good as the first season but still love the dynamic. (B+)
🎥 Fast Charlie - Pierce Brosnan is fantastic. Love the two timelines. (A-)
🎥 How to Train Your Dragon - I'm so tired of live action remakes. I've yet to watch one that felt worth it. (C)
🎥 Everest - Saw someone else watching this on a flight and wanted to give it a watch. Does a great job showing the tension of a disaster on a climb. (B+)
🎥 Champions - This was a weird one. Left me conflicted . (B)
📺 Only Murders in the Building Season 5 - Dipping in quality but it will be interesting to see how they revamp it for the next season. (A-)
🎥 Laggies - What a cast. Not a perfect movie but a fun watch. (A)
📺 Mitchell and Webb Are Not Helping Season 1 - Love Mitchell and Webb but this wasn't their best work. A few great sketches here and there. (B)
📺 The Beast in Me Season 1 - Tense from start to finish. Fantastic acting. (A-)
🎥 Wake Up Dead Man: A Knives Out Mystery - What a film. My favorite in the series so far. There was something special about getting to watch it in a packed theater. (A+)
📚 The Impossible Fortune by Richard Osman - Somehow I missed when this one got released. Another decent book in this fun series. (B+)
🎥 Roofman - Fun and ridiculous. Perfect for watching on a flight. (A-)
📚 Brigands & Breadknives by Travis Baldree - Not my favorite in the series but enjoyed the new direction for the book. (A-)
🎮 Ball x Pit - Fun little game. Great mix of genres. Perfect for the Steam Deck. Worth a buy! (A)
---
# Media Diet: October 2025
Published: 2025-11-30
URL: https://matthewhall.com/posts/media-diet-october-2025/
Tags: media diet
Another month has just flown by! Vancouver International Film Festival was in October and managed to see a few great films. Rental Family was definitely my favorite of the bunch!
🎥 Rental Family - Super sweet and Brendan Fraser was fantastic in it. (A+)
🎥 Are We Good? - Great to see Marc Maron do a post film talk and discuss the movie. As someone who has listened to his podcast for years, really enjoyed it. (A)
🎥 The Mastermind - Decent but nothing that special. (B)
🎥 Jay Kelly - Fun movie and George Clooney does a good job, but nothing mind blowing. (B+)
📺 The Hunting Wives Season 1 - Ridiculous, over the top, and light. (B)
📺 Peacemaker Season 2 - The only piece of DC universe content I watch and it continues to be great!
📺 Task Season 1 - Love Mark Ruffalo. This was great TV. (A)
📺 Gen V Season 2 - Just fine, feeling burnt out on this universe. (B)
🎥 Mission: Impossible: The Final Reckoning - Now if I was burnt out on Gen V/The Boys universe, that doesn't remotely compare to the last few Mission Impossible films. Glad this is over with.
🎥 Good Fortune - Saw it in theatres but feels like it would have been better to wait and watch at home. (B+)
🎥 The Roses - For the combo of Olivia Colman and Benedict Cumberbatch it was pretty disappointing. (B-)
📺 Chad Powers Season 1 - Had no expectations and loved it! Light and fun. (A)
📺 Paradise Season 1 - Meh, fun concept, bad execution. (C+)
📺 Blue Lights Season 3 - Not their best season but still great! (A-)
🎥 A House of Dynamite - Super tense and loved how they ended it. (A)
📚 Verity by Colleen Hoover - I understand the obsession but just didn't click the same for me. (B)
📚 Alchemized by SenLinYu - Dragged at parts but impressive for a first time author. (B)
---
# Media Diet: September 2025
Published: 2025-10-31
URL: https://matthewhall.com/posts/media-diet-september-2025/
Tags: media diet
I was traveling a lot in September and managed to cruise through a ton of different films! I had a few nights off in different cities from work and used that break to see some new films in theaters too. I really wish Vancouver had something similar to a Alamo Drafthouse!
🎥 Friendship - Peak Tim Robinson. Enjoyed it but only for those whole enjoy his very particular style of comedy. (B+)
📺 The Paper Season 1 - A perfect sequel to The Office. Similar vibes without relying too much on the original show. (A)
🎥 The Naked Gun (2025) - This feels like a film that would be much better to watch in a packed theater. At home it felt pretty limp and disappointing. (C+)
🎥 I Used to Go Here - Cute and light. Nothing special but an easy watch. (B+)
🎥 Splitsville - Ridiculous and over the top, but very entertaining. (A-)
📺 Utopia (2024) Season 1 + 2 - Simple little Australian office comedy. (B+)
📺 The Pitt Season 1 - Can't believe it took so long to get to this show! One of my favorites of the year. Perfect medical drama. (A)
📚 Katabasis by R. F. Kuang - Continue to love and be very impressed by every book Kuang puts out. (A)
📚 The Regent's Mate by Glynn Stewart - Not very memorable but a good continuation of the series. (B)
🎥 Layer Cake (rewatch) - Daniel Craig is just incredible in this. (A)
🎥 Materialists - I was expecting something different than what this film ended up being. Enjoyed it but didn't below me away. (B+)
🎥 Good Time - Somehow had never watched this despite loving the Safdie's work. So intense. (A)
📺 Peacemaker Season 2 - The only piece of super hero content from either Marvel or DC i've enjoyed in the last few years. (A)
🎥 The Baltimorons - Possibly my favorite film i've seen this year. Perfect little movie from Jay Duplass. (A+)
🎥 Downton Abbey: The Grand Finale - I had seen every other part of this series so I needed to finish it off. A tidy little wrap up for the series. (A-)
🎥 The Outrun - Just devastating. Very powerful. Saoirse Ronan is incredible. (A)
📺 English Teacher Season 2 - Crushed this in a day. So bingeable of a series. I'm glad they've managed to resolve their production drama. (A)
🎥 One Battle After Another - So many incredible movies this month! This one is another competitor for best of the year. (A+)
📚 The Day of the Jackal by Frederick Forsyth - Watched the TV adaptation so wanted to read the book. Very different from the show which made it all the more enjoyable of a read. (A-)
📺 Platonic Season 2 - Just fine. It felt like the first season had a clear story arc but this season didn't feel necessary. (B)
---
# Media Diet: August 2025
Published: 2025-09-28
URL: https://matthewhall.com/posts/media-diet-august-2025/
Tags: media diet
Wow, I consumed a LOT of content this month! I got to spend a few weeks at home in October and also had sinus surgery at the end of the month. Recovery has been slow and has caused a LOT of TV & moving watching to happen.
📚 Isles of the Emberdark by Brandon Sanderson - Fascinating reading about the creation of this book, where he took an existing short story and expanded it. Hadn't read the original short story and found this very engaging! (A)
📺 Wednesday Season 1 - Completely missed the hype train on this one when it first aired. It was fine but nothing special. We'll see if I make it through season 2. (B)
📺 King of the Hill Season 14 - I never watched the original show regularly, but enjoyed the bit I did. This was a great way to handle a time jump and continue a series. Thoroughly enjoyed it from start to finish. (A)
📺 It's Always Sunny in Philadelphia Season 17 - The last few seasons have been pretty hit and miss, but this felt like a return to form—a bunch of callbacks to old episodes that worked perfectly. (A)
📺 The Bear Season 4 - Continue to love every season of this show. Somehow, it keeps getting better season after season. (A+)
📺 Family Law Season 4 - Just a solid comedy with some great actors shot where I live. Not a perfect show, but I always enjoy it. (A)
🎥 Jurassic World - What a terrible movie. Easily the worst of anything in the Jurassic franchise. It's impressive how boring they made dinosaurs. (F)
🎥 Sinners - It wasn't the film I expected from the trailer and all the hype I had heard about it, but I'll always love Ryan Coogler working with Michael B. Jordan. (A-)
🎥 The Wedding Banquet - Sweet, fun, and perfect for watching on a flight. (A-)
🎥 Weapons - Absolutely loved from start to finish. What a wild ride. Don't go into this one with any spoilers. (A)
📚 Icebreaker by Glynn Stewart - Not Stewart's best work, but an easy beach read. (B)
📺 Fisk Season 1-3 - A solid Australian comedy series. Nothing mind-blowing, but I enjoyed it all. (A)
📺 Long Story Short Season 1 - Wow. Just wow. I had high expectations, given that the creator of BoJack Horseman created it, but it surpassed them. One of my favorites of the year so far. Must watch TV. (A+)
🎥 Bend It Like Beckham (Rewatch) - Just a fun time. Nice and light. (A)
📚 Stone and Sky by Ben Aaronovitch - A weaker entry for a series I usually've enjoyed. Very forgettable. (C+)
🎥 KPop Demon Hunters - It was impossible to miss this one! Unexpected global phenomenon. I don't think it lives up to its hype, but it is fun. (B+)
🎥 School of Rock (Rewatch) - I was discussing Richard Linklater and how great this film is with a friend of mine. I hadn't rewatched it in years, and it still holds up. (A)
🎥 Thursday Murder Club - I loved the book series, but found the film adaptation just okay. For such an incredible cast, I was expecting more. (B)
📺 Dept Q Season 1 - Engaging British crime show. If you enjoy the genre, it's worth a watch. (B+)
🎥 The Bad Guys - It was just OK. I can see why kids love it, but it didn't have much of an impact on me. (B-)
🎥 Sovereign - What a different role for Nick Offerman, and he absolutely crushes it. Tense and engaging from start to finish. (A)
📺 Peep Show (Rewatch) - I watched the entirety of Peep Show while recovering from surgery—just the perfect show to rewatch. I fell asleep during episodes, but you always know what is going on—one of my all-time favorite TV shows. (A+)
---
# Media Diet: July 2025
Published: 2025-08-27
URL: https://matthewhall.com/posts/media-diet-july-2025/
Tags: media diet
Another busy summer month, including 2.5 weeks in Japan, with some work and a good amount of vacation. Almost all of my TV watching took place on flights!
The Old Guard and The Valkyrie Stratagem by Glynn Stewart - Continuing to enjoy all of Stewart's books thoroughly. They're very engaging and fun reads. Perfect popcorn for the brain. (A-)
Pokerface Season 2 - The first season was near-perfect TV, and I wasn't sure if they'd be able to live up to that standard. With the second season, they've managed to make some twists to the formula to elevate the show to another level. (A)
Murderbot Season 1 - I am a massive fan of the book series and enjoyed the show! I'm thrilled they adapted the "show within the show" so successfully. (A-)
Stone and Sky (Rivers of London, #10) by Ben Aaronovitch - A diversion from the normal course of the series and was a bit dull for it. (B-)
Adolescence Season 1 - Absolutely incredible TV. Just watch it. (A)
Forever Season 1 - Cute, sweet, easy watching. Love coming-of-age content. Some time on flights goes by quickly. (B+)
The Lies Arcana (Starship's Mage, #17) by Glynn Stewart - Another Stewart book! Not the best he's made, but perfectly serviceable. (B+)
Stick Season 1 - My favourite part of the show was just seeing Marc Maron acting some more. Overall, it's just okay television, predictable, but easy to watch. (B)
Such Brave Girls Season 2 - Continues to be some of the most incredible unhinged TV coming out of the UK. (A)
Happy Gilmore (Rewatch) - Hadn't watched for at least a decade and thoroughly exceeded my expectations. Such a fun film. So much nostalgia. (A-)
Rick and Morty Season 8 - The last few seasons haven't been that great, but this was a return to form! Some classic episodes. (B+)
---
# Media Diet: June 2025
Published: 2025-07-19
URL: https://matthewhall.com/posts/media-diet-june-2025/
Tags: media diet
For the first time in months, I spent more than half the month at home in Vancouver! It was great to spend time with friends, play a lot of Pickleball, and I started getting into bouldering.
🎥 Mountainhead - A satire that hits just a bit too close to home for our current world. The cast is fantastic. Worth a watch! (A-)
📚 Seekers in the Void by Glynn Stewart - Not my favorite book by Stewart, but a light and fun read. (B)
📺 Clarkson's Farm Season 4 - This series continues to surprise me every year. Definitely worth watching! (A)
🎥 Fountain of Youth - Ooph, what a snoozefest. Give this one a skip. (C)
📺 Adults Season 1 - Fun from start to finish. Can't wait for more of this. (A)
📚 The Counterfeit Candidate by Brian Klein - A little too outlandish for my taste. (B-)
🎥 Summer of 69 - Fun, light, breezy summer film. Good mindless fun. (A-)
📺 Welcome to Wrexham Season 4 - Continues to be an impressive and enjoyable docuseries. As someone who follows the team throughout the season, I was worried they wouldn't do justice to Paul Mullin and Ollie Palmer, but they covered it perfectly! (A)
🎥 28 Days Later (Rewatch) - The opening sequence of this film remains one of my favorites to this day. (A+)
🎥 28 Years Later - Feels completely different from either of its prequels. At first I found that a bit off-putting but the more I've had time to process it, the more i've appreciated that fact. Can't wait for the next sequels! (A-)
🎥 F1: The Movie - I'm not a hardcore F1 fan, so I didn't hate this as much as some others did. It was a decent summer blockbuster film. It would be a better film if it weren't labelled F1. (B)
📺 We Were Liars Season 1 - Hadn't read the book this was based on, and didn't know anything about it going in. It was an enjoyable watch, but not too memorable. (B)
📺 Murderbot Season 1 - I've always been a massive fan of the book series and was concerned about how it would adapt into television. I thought they did a pretty impressive job for a hard-to-adapt book series! (A-)
🎮 Thronefall - I got into tower defense games back with Warcraft 3 and haven't played many in the last decade. This was a fun re-entry into them. Provided many hours of mindless fun on the couch. (A)
📚 Bury Our Bones in the Midnight Soil by V. E. Schwab - Possibly my favorite book of the year so far. I had the pleasure of attending a talk with V. E. Schwab about the book before I read it, which really enhanced the experience. If you're a fan of fantasy books at all, give it a try! (A+)
---
# Media Diet: May 2025
Published: 2025-06-22
URL: https://matthewhall.com/posts/media-diet-may-2025/
Tags: media diet
After all of the travel and starting new TV series in April, May is when I finished them all! Not listed are a few books that I started and just could not make it through.
📺 1883 Season 1 - I finally started exploring the Yellowstone universe of shows after having multiple co-workers encouraging me to watch them, my favorite of the shows in the universe. (A)
📺 The Righteous Gemstones Season 4 - What a perfect way to end the series. My second favorite of the Danny McBride series, right after Eastbound & Down. I'm glad it allowed the four seasons to unfold as they did. (A)
📺 Etoile Season 1 - A fun Amy Sherman-Palladino TV show that doesn't live up to The Marvelous Mrs. Maisel or her other series. Unfortunately, it was cancelled after the first season. I would have liked to see where it could have gone next season. (B)
📺 Andor Season 2 - Solidifying itself as my second favorite piece of Star Wars content, right after the original series. Must watch TV if you're even remotely a Star Wars fan. (A+)
🎥 Rogue One (Rewatch) - The biggest issue with Andor is how it makes Rogue One pale in comparison with it. Just doesn't hold up for me the same way now. (B)
🎥 Warfare - My favorite war movie I've seen in at least a decade. Raw and unfiltered. Does not glamorize war at all. (A+)
📚 Antimatter Blues by Edward Ashton - Does not live up to the original Mickey7. Just read the first book and end with it. (B-)
📺 The Residence Season 1 - An interesting twist on the traditional detective show. Worth a watch if you're a fan of the genre. (A-)
📺 The Rookie Season 7 - The show feels very stale this season—lots of boring plotlines and convoluted characters. (C+)
📺 The Studio Season 1 - If you have an interest in Hollywood and the creation of films, it's a must-watch show. (A)
📺 The Last of Us Season 2 - This season may be getting a lot of hate from fans, but I still enjoyed it! (A-)
📺 The Rehearsal Season 2 - Nathan Fielder is a comedy genius. Just watch it. (A+)
📺 Hacks Season 4 - Somehow, this show keeps being as good season after season. (A)
📺 1923 Season 1 + 2 - Not as good as 1883 was, but still a solid two-season arc. Feels like there were a few characters who could have been dropped to make it tighter. (A-)
📚 My Name Is Lucy Barton by Elizabeth Strout - I loved the Oliver Kittridge books and wanted to give another one of Strout's books a try. It was good, but didn't blow me away in the same way. (B+)
🎥 Another Simple Favor - Light, fluffy, and fun. (B+)
---
# Impact Ratings: MLS Games Hit Hard by International Duty (June 2-10 2025)
Published: 2025-05-25
URL: https://matthewhall.com/posts/impact-ratings-june-2-10-2025/
Tags: mls, soccer, vancouver whitecaps
The early June international window is a weird one for MLS.
Only four MLS games are being played, and not many international squads are playing friendlies. The most significant disruption was when Canada played the Canadian Shield Tournament and the United States played friendlies against Turkey and Switzerland.
After this short window, we're back to MLS as usual for four days before the CONCACAF Gold Cup and Club World Cup start on June 14th. Be prepared for a much longer analysis of those absences closer to! Canada and the United States are expected to go deep into the tournament, causing huge impacts on various MLS teams.
If you're curious about how these numbers are put together, I detail them at the bottom of the post.
| June 7 | DC United | Chicago Fire FC |
| :----------------------------- | :-------- | :-------------- |
| # of Players | 0 | 0 |
| # of Minutes | 0 | 0 |
| % of Team Minutes | 0% | 0% |
| Weighted Average FotMob Rating | 0 | 0 |
| Match Impact | 0 | 0 |
Well, not much to talk about here. No call-ups for either team!
The March window only had a small impact on both teams. Only Brian Gutiérrez of the Chicago Fire was previously called to the United States but not invited for this window's friendlies.
| June 8 | Vancouver Whitecaps FC | Seattle Sounders FC |
| :----------------------------- | :--------------------- | :------------------ |
| # of Players | 6 | 0 |
| # of Minutes | 3,713 | 0 |
| % of Team Minutes | 26.79% | 0% |
| Weighted Average FotMob Rating | 7.16 | 0 |
| Match Impact | 38 | 0 |
This is looking like a very lopsided Cascadia Cup clash.
Going into this match, the Vancouver Whitecaps are riding high—a CCC Final on June 1st, top of the Supporters Shield, and top of the Cascadia Cup standings. Their only league loss this season was against the Chicago Fire during the last international break. Pedro Vite and Andres Cubas aren't off for international duty, which may help the Whitecaps, but being down five starters and a sub is still going to hurt.
Seattle has tied its only Cascadia Cup clash so far, a 1-1 draw with Portland. It's sitting 5th in the West, tied in points with Portland. Seattle is going to be fighting hard for some points in this one.
| June 8 | Portland Timbers | St. Louis City |
| :----------------------------- | :--------------- | :------------- |
| # of Players | 2 | 0 |
| # of Minutes | 1,776 | 0 |
| % of Team Minutes | 11.96% | 0% |
| Weighted Average FotMob Rating | 6.65 | 0 |
| Match Impact | 16 | 0 |
Portland missing two starters will be giving St. Louis some hope they can start turning their season around.
Timbers Goalkeeper Crapeau has had a rough start to the season but has improved in the last few matches.
Finn Surman has started 14 games this season and has become an essential part of the Timbers' defense.
| June 7 | Colorado Rapids | Austin FC |
| :----------------------------- | :-------------- | :-------- |
| # of Players | 1 | 0 |
| # of Minutes | 989 | 0 |
| % of Team Minutes | 6.66% | 0% |
| Weighted Average FotMob Rating | 7.09 | 0 |
| Match Impact | 9 | 0 |
There is only one call-up for the Rapids, and it's Zack Steffen, who was injured on May 16. It remains to be seen if he is withdrawn from the United States squad.
### How It's Analyzed
#### Percent of Team Minutes
For an 11-man team, over four matches of 90 minutes, what percentage of the players who played those minutes are unavailable? This is the quickest way to see what impact these absences will have. If you're missing 25%+ of the minutes played so far this season, it will significantly impact your team this week.
#### Weighted Average FotMob Rating
With 14-15 games into the 2025 MLS season we have a solid sample size, showing the impact each player has had to their team.
I've weighted these averages based on a player's number of minutes. A player who has only had a few minutes on the pitch shouldn't impact them in the same way.
#### Match Impact Score
This was the end number I was trying to reach—a clean, simple number that shows how much impact these absences will have on a team. It is based mainly on the percentage of team minutes missing, with some effect from the weighted average FotMob Rating. If you have any suggestions on making this metric more enjoyable, please let me know in the comments!
`((Weighted Average FotMob Rating * Percent of Team Minutes) / 5 ) * 100`
---
# Media Diet: April 2025
Published: 2025-05-16
URL: https://matthewhall.com/posts/media-diet-april-2025/
Tags: media diet
I spent far too much time on airplanes in April and watched way too much TV and film because of it.
📺 Side Quest Season 1 - I enjoyed this more than the most recent season of Mythic Quest! Fantastic vignettes of other gamers in the universe. It is recommended for anyone who's a gamer, even if you haven't watched Mythic Quest. (A)
📺 White Lotus Season 3 — This is a solid follow-up to the stellar second season. It features lots of new characters who you love to hate. This is going to provide meme content for years to come. (A)
📺 Dying for Sex Season 1 - Frontrunner for my favorite show of 2025. Incredibly emotional and deep. Shows the beauty of friendship and the devastation of cancer. Must watch TV. (A+)
🎥 Black Box - 2024 and 2025 are the years of the spy drama returning! This is a solid addition to the genre, but I won't be rushing back to rewatch it anytime soon. (B+)
📺 Reacher Season 3 - Pretty underwhelming television. It wasn't the best book and didn't adapt well to TV. (C+)
🎥 Audrey - An entirely forgettable Australian comedy film. (B-)
🎥 Mickey17 - Nowhere near as good as the book. I felt let down by the adaptation. (B)
📚 A Drop of Corruption by Robert Jackson Bennett - An incredible follow-up to the first novel. My favorite ongoing series right now. I can't wait for the next edition! (A+)
📚 Everything Is Tuberculosis by John Green - I have an undying love for John Green, and I enjoyed this sidestep into one of his passions. I learned a lot about TB! (A)
---
# Norther Super League: 2025 Pre-Season Rankings
Published: 2025-04-13
URL: https://matthewhall.com/posts/northern-super-league-pre-season-rankings/
Tags: nsl, soccer, vancouver rise
Canada's Pro Women's Soccer League, the Northern Super League (NSL), is kicking off its debut season in just over a week. It's launching with six teams spreading from coast to coast in Canada, from Vancouver to Halifax. This is the first attempt at professional women's soccer in Canada in over a decade when the USL W-League shut down in 2015.
Surprisingly, the average age for each roster is pretty similar, ranging from 24 to 26. Most teams have taken similar approaches, with a few older, experienced players and most of the roster being amateurs or coming straight from college.
Unsurprisingly, no full-blown soccer stars in their prime joined the league in its first year. With a $1.6 million salary cap, compared to USD 3.3 million (around CAD 4.6 million) in the NWSL, there was little chance of that.
A consistent theme is the depth players filled out from Canadian and US colleges who weren't picked up by an NWSL team. Understandably, a new league is seen as a chance to prove yourself, play professional soccer, and attract attention from a more significant league.
I've built out the rosters for every team, looked at each player's history across other leagues, and tried to build a consensus for each team. Here are my rankings of how I expect each team to finish at the end of the season, with some context on their coach and players.
###  #6 - Halifax Tides FC
I am worried about the Tides.
Their coach, Lewis Page, has coached college soccer in Prince Edward Island for 25 years. It doesn't appear that UPEI has ever done exceptionally well at that time. Of course, college football is entirely different, so we'll see how he does in his first pro coaching position!
The players themselves are a mixed bag. Out of their 22-player roster, only seven have deep professional experience, with the rest coming from various North American colleges and amateur sides.
In Goalkeeping, we have Canadian stalwart Erin McLeod, who is coming off an OK season with Stjarnan in Iceland. The only issue is that she's 42 years old. She'll be the Tide's starting goalkeeper wearing #1, while Anika Tóth will be her backup. She's young for a goalkeeper at 23 but has been playing consistently in League1 Ontario for Woodbridge Strikers and even has a few caps for Slovakia. I suspect that we will see McLeod rotated out to be more of a goalkeeping coach than the starter within a year or two.
The two players that will be the most exciting to watch are Sara Olai and Gunnhildur Yrsa Jónsdóttir. Olai was last at IF Brommapojkarna in Sweden, while Jónsdóttir was at Stjarnan with McLeod.
Canadian striker Saorla Miller is going to want to make an impression. She is 23 years old and spent last season at Keflavík in Iceland, scoring 6 goals across 23 appearances. Throughout her college career at the University of Memphis, she was named to the All-AAC First Team, All-South Region Second Team, and Scholar All-American Second Team.
Christabel Oduro has had a wide-ranging career playing across Turkey, Germany, France, Iceland, Malta, and Sweden. She hasn't stuck around at any of those teams for over a few years. We'll see if she continues to be a journeyman player in the NSL or if the Tides become a home for her.
Will those players prove a strong enough core of a team to build around? When one or two of them are injured, it feels like this team will fall apart entirely. I'm pretty confident they will finish dead last in their debut season.
###  #5 - Montréal Roses FC
The Roses have me only marginally less worried than the Tides.
Picking Robert Rositoiu as a coach can be seen in two different ways: Either they just liked the coach of the largest college in town or someone who had a fantastic time with their time at the semi-pro side A.S. Blainville. They were the champions in 2021 and 2022, won their league cup, and were the interprovincial champions in 2022. A solid resume for semi-pro soccer in Canada!
Their player roster looks marginally less thin than the Tide's. They have only 19 players on their roster, and seven have significant pro experience. Of those 19, there are three goalkeepers, leaving only 16 outfield players. I have to assume at least a few more signings are coming before the season truly kicks off; otherwise, they're just a few injuries away from being unable to field a side and make substitutes.
Tanya Boychuk and Julia Leas are leading the way on their exciting pro players. They both spent last season at Vittsjö GIK in Sweden. They finished just outside the relegation zone at 27 points, with the previous relegation play-off spot at 26 points. We'll have to see if that year together in Sweden helped them build chemistry.
Another Nordic player joining the Roses is Hailey Whitaker from Iceland's Valur. She had an excellent season at Valur and won the Icelandic 2024 Cup Championship.
They signed Charlotte Bilbault, a French international with 56 caps, to lock down the defense. Bilbault spent the last two seasons at Montpellier, which was solidly mid-table in France's Première Ligue.
Filling out their depth, there are some players from A.S. Blainville when Rositoiu was their coach (one, Mégane Sauvé) and McGill University last season while he was there (two, Stephanie Hill and Mara Bouchard).
The fundamentals seem way more solid at the Roses, with a coach with a good mix of experience and a diversified starting 11—even if at least three of their starters will be getting their first pro experience. If they can keep their core players fit for the year and flush out their depth a bit more, they should at least be able to beat the Tides and finish second last this season. Now, if they fill out their roster, add 3 or 4 more experienced senior players? I could see them pushing for the top this season.
###  #4 - Ottawa Rapid FC
Brand new leagues always have a great chance of a coaching redemption story, and it looks like Ottawa's Katrine Pedersen is another coach on the same path. She had an incredible playing career, with 210 caps for Denmark, becoming an assistant captain for the Denmark Women's team. She then spent 2021-2022 with AGF Fodbold in Denmark's top-division Elitedivisionen, where they avoided relegation by just one point.
The team has an impressive 11 players with professional experience from almost as many different leagues! The United State's NWSL, Norway's Toppserien, Sweden's Damallsvenskan, South Korea's WK League, Iceland's Besta deild kvenna, Spain's Liga F, France's Première Ligue, Portugal's Liga BPI. Impressive work by the scouting department finding players in all those leagues worldwide!
Canadian Desiree Scott is the flagship of the Ottawa project. She has played with various NWSL teams for the last decade, most recently with the Kansas City Current. She has 187 caps for the Canadian team and was a major part of their Olympic runs in 2012 and 2016. She's turning 38 later this year, which is definitely on the older side for a midfielder, and she only played 136 minutes for the Current last year. We'll have to see what impact she can have in the NSL.
The Rapid are one of the teams taking advantage of an NWSL loan, with Jyllissa Harris coming from the Houston Dash. She's lacked playtime with the Dash over the last 2 years but had a prolific college beforehand. She set countless records at the University of South Carolina, including all-time minutes, starters, and games played. She wants to make an impact in the NSL this year and is hoping to return to the Dash next year as a starter.
Across the midfield and forward positions, there are a variety of players in Nordic countries who want to make an impact. Ellen Gibson is arriving from Sweden, Johanne Fridlund from Norway, and Delaney Baie Pridham from Sweden (but is originally an American). All of them have been consistent players for their teams but haven't put up awe-inspiring numbers.
This team has two international call-ups this window, with Choo Hyo-Joo for South Korea and Kayla Adamek for Poland. Hyo-joo has been getting consistent starts with South Korea, starting all six matches in 2024. No details are readily available on her time with her previous club, the Hyundai Steel Red Angels, so it's hard to make more of a judgment on how she will fit with this team. Conversely, Adamek has started 4 of the 6 Euro Qualifiers that Poland has had so far this year. She only had six starts across the last season at her previous club, Reims.
It's a huge mix of different colleges and amateur sides when you get down into their depth positions. None of the depth players look like standouts at first glance, so it will be essential to see how they perform once the NSL kicks off this week.
The Rapid feels like they have the bones of a successful squad, but it's hard to know how effective the recruitment has been. Will they all gel well together, or will this be a mess?
###  #3 - AFC Toronto
A very similar coaching pick to the Roses is Marko Milanović, who has a mix of semi-pro experience with the North Toronto Nitros and college experience with TMU Bold. The founding group of AFC Toronto is also heavily involved with the North Toronto Nitros, making Milanović an unsurprising choice for them. The Nitros have been pretty OK the last few years, with Milanović in charge, finishing 4th, 10th, and 4th in the league in the previous three seasons.
It's another roster looking very thin on experience and deep on college and semi-pro talent. Nine of their 22 players have pro experience, but those pros mostly come from the NWSL rather than lower-quality leagues, as it is on most other teams.
Part of Toronto's roster strategy is one that I was surprised more teams in the NSL aren't taking - loaned players from the NWSL! Being our geographic neighbors and a top 3 Women's soccer league, they have lots of talent that need some time (and some minutes) to grow or don't fit the squad's needs.
The three Toronto loanees are Victoria Pickett from the North Carolina Courage, Mya Jones from the San Diego Wave, and Amanda West from the Houston Dash. All three played some decent minutes in 2024 for their teams but weren't locked in as starters. The three of them will make a massive impact in the NSL by playing as midfielders and strikers.
Two wildcards on the Toronto side could bump them up to 2nd or higher: Hong Hye-ji and Esther Okoronkwo. Both take international slots on the roster, with Hye-ji from South Korea and Okoronkwo from Nigeria. They both play for their respective National teams and seem to be capped relatively consistently. The issue is that the leagues they've spent the last few years playing in are not well-tracked by popular Football databases, so we have almost no metrics on their performance!
I am sure one up-and-coming Canadian player was being chased by the Vancouver Rise & Calgary Wild signed with Toronto: Kaylee Hunter. She's only 17 years old and has spent the last 2 years with the Whitecaps FC Girls Elite, with 12 goals out of 20 appearances last year. She has also been appearing for the Canada U20 team, scoring five goals in a 22-0 victory over Dominica in February 2025. We'll have to wait to see if she is a starter or will be given time to grow, but I am sure she will significantly impact the NSL.
The team has three call-ups for this international window, but only one senior call up in Canadian Emma Regan. She's had 7 caps for Canada previously and spent the last two years at HB Køge in Denmark's top-flight league.
Given Milanović's work with the North Toronto Nitros, it's unsurprising that four of their players came over to play for AFC Toronto and take up some depth roles across the squad. Having that core that knows each other well is excellent, but the issue is that they've never been an elite side. If these were players consistently winning in League1 Ontario, I'd feel much more optimistic about their chances.
Will Toronto be able to make the most of their loaned NWSL players? Or will they be held back by their reliance on North Toronto Nitro players?
###  #2 - Calgary Wild FC
Being able to attract Lydia Bedford as their coach almost pushes the Wild to 1st or 2nd, all on its own. No other coach in the NSL has the depth of experience that she has. Worked across the England U15, U16, and U17 women's teams before coaching Leicester City Women in England's top division, the WSL, before getting sacked after a string of six consecutive losses. Spent some time as an assistant across the WSL, including with Arsenal Women as an assistant and with Brentford's U18 side. It seems she is on a bit of a redemption project for her career, but her experience alone sets her apart from all the other managers.
Bedford has a solid squad to back this up, too! There are 13 players with professional experience from a variety of leagues, including the NWSL, A-League, and the Irish Premiere Division.
The start signing is undoubtedly Meggie Dougherty Howard, who spent the last eight years playing at a variety of teams across the NWSL. She's performed well in the NWSL the last few years, and I am sure she will tear it up in the NSL.
I'm not sure what the connection is between the Wild and Treaty United FC in Ireland, but four players for the team have arrived from there! Caleigh Boeckx, Danielle Steer, Mijke Roelfsema, and Talia White are going to bring a core of a team that already knows each other and how to play with each other, which I am sure will bring Calgary some instant chemistry.
There's also a duo of players arriving from Western United F.C. in the Australian A-League, Jaclyn Sawicki and Kahli Johnson. Both were consistent players in the A-League, putting in solid minutes and respectable numbers.
Calgary has a high potential with a very diverse group of players. Will they be able to make it click in their first game against the Rise this week?
###  #1 - Vancouver Rise FC
I'll get the bias out of the way from the start: I'm a season ticket holder for the Vancouver Rise, and their new jersey just arrived in the mail last week. Despite all of that, I think the Rise deserve the top pick.
Anja Heiner-Møller is a natural choice for Vancouver. She was a professional player in her youth before moving to managing. She has experience with the Whitecaps FC Girls Elite Academy, being the head coach there in 2018-2020. She has had vast experience since then, including being the head coach for BSF in Denmark's Elitedivisionen and working with Denmark's U16 and U19 sides. The Rise seems like a natural next step in her career.
I was expecting Katie Collar to get the nod for head coach, who led the Whitecaps FC Girls Elite to back-to-back Canadian Championships and made it into the group stage of the CONCACAF W Champions Cup. I was thrilled to see her named Assistant Coach, and I wouldn't be surprised if we see her step into the head coach role in the next few years.
They have fourteen total players that have professional experience and 5 of them are getting international callups this window. This is the highest number in either category across the entire NSL.
Quinn is getting called back up for the Canadian team after being left out for a few camps, and Holly Ward is getting her first call-up after being a regular with the U-20 side. Jessika Cowart is called up for the Philippines, where she has been a regular starter. Josie Longhurst is getting her first call-up to Wales after playing for their U17 and U19 sides.
Outside of Quinn, two other players from the NWSL are joining: Jasmyne Spencer and Nikki Stanton. Both have been very consistent in their careers, even though they're entering their older years.
Another player from Vittsjö GIK is joining the NSL, alongside Rose's two players, and Shannon Woeller is joining the Rise. She has been playing every game across her last 3 seasons of European soccer and looks to be heading up their defense. She started her career with the Whitecaps in 2008 and grew up locally, so this is a return home for Woeller!
The Rise ownership group, which also owns the Vancouver Whitecaps, is the most experienced in the NSL, and their commitment to this league is showing. They will be very disappointed if they don't win their first season in the NSL.
---
# Media Diet: March 2025
Published: 2025-04-05
URL: https://matthewhall.com/posts/media-diet-march-2025/
Tags: media diet
I'm off traveling for a good chunk of April, so I wanted to finish this media diet in a timely fashion. I know I won't get to it the moment I'm on the road. It was great to read a few books in the same month again after January was dominated by Stormlight Archives, causing me to be less excited about reading in February.
📺 School Spirits Season 2 - I found the first season just OK, but the second season found its groove. I can't wait to see what they do with Season 3. Worth checking out. (A-)
📺 Ripley Season 1 - A series I slowly worked my way through. It had some episodes that were incredible TV and others that were just OK. (A-)
📚 Picks and Shovels: A Martin Hench Novel by Cory Doctorow - I enjoyed all the core Martin Hench series books but didn't love this prequel. I didn't feel it was super necessary for a story to be told. (B+)
📚 Persuader by Lee Child - Season three of Reacher was coming out, and it was time to read yet another book in this series. It was... okay. It's probably the most underwhelming so far. There just isn't much to say about these books. (B)
📚 Mage-Queen's Thief by Glynn Stewart - Needed a break and a light Sci-fi novella in this series seemed a good choice. I breezed right through it. (B+)
📚 Interstellar Mage by Glynn Stewart - I didn't realize when I started it that it was an entirely different series in the same universe. It was fine, but the characters didn't grab me like the core series. (B)
📺 Running Point Season 1 - Light and funny with a solid cast. Good mindless series while doing other things. (B+)
📺 Severance Season 2 - It took me a while to get through the first season, but I loved watching the second season weekly when it came out! My favorite show of 2025 so far. (A+)
🎥 Zone of Interest - I had been on my Oscar watch list for a while, and I finally got to it. Loved it from start to finish. It is just an intense, emotional film. A must-watch. (A)
🎥 A Simple Favor - For my life, I can't figure out if I watched this when it first came out or not. It's silly and fun. We'll see how the sequel ends up being. (B)
📚 The Treasure Hunters Club by Tom Ryan - I'm not sure how I found this one, but I enjoyed it! It was a light, breezy Canadian adventure. (B+)
🎥 Paddington in Peru - The previous Paddington films were an unexpected love of mine. I went into them with incredibly low expectations and was blown away. I had high hopes for this sequel, but it was a letdown. It lost a lot of the magic that made the previous films. (C+)
📺 Mythic Quest Season 4 - It's hard to believe this series has been going on for four seasons! It is a mixed bag of a season, with some significant changes to the formula, but a bit staid at the same time. Has a standout murder mystery-themed episode. (B+)
📚 Mickey7 by Edward Ashton - I haven't had a chance to see the film adaptation yet, Mickey17, but the book is incredible. It's one of my favorite sci-fi books in the last few years. Similar vibes to Murderbot Diaries. (A)
---
# Impact Ratings: MLS Games Hit Hard by International Duty (March 2025)
Published: 2025-03-22
URL: https://matthewhall.com/posts/impact-ratings-march-2025/
Tags: mls, soccer, vancouver whitecaps
I guess I am turning into a soccer blogger! After writing about the [Vancouver Whitecaps' offseason](/posts/countdown-to-kickoff-2025-vancouver-whitecaps-fc/), I am returning to discuss how the international break impacts different matches this weekend in MLS.
---
MLS is ridiculed yearly for continuing to have matchdays during FIFA international breaks. It's the only major league in the world that still ignores them entirely, and we're nearing 100 players being unavailable this March 2025 window.
Every fan will complain about their team's missing players, but I wanted to look at the underlying data for those absences. I compiled a spreadsheet of every player called up, the number of minutes they've played this season, and their average FotMob ratings.
Taking these variables, you can see a few interesting metrics. I've broken them down below. You can also see [my raw spreadsheet](https://docs.google.com/spreadsheets/d/1BDj5d3Vqt-9vKsB73b3-i1AQIx3dUORp_owSxZUTxPg/edit?usp=sharing) where I've played all this out if you're interested. I'm no statistician, so if you have any suggestions for improvements here, I am all ears.
#### Percent of Team Minutes
For an 11-man team, over four matches of 90 minutes, what percentage of the players that played those minutes is unavailable? This is the quickest way to see what impact these absences will have. If you're missing 25%+ of the minutes played so far this season, it will significantly impact your team this week.
#### Weighted Average FotMob Rating
Four games into the 2025 MLS season is a small sample size, especially for new players to their teams, but it still gives you a rough idea of their impact on the team.
I've weighted these averages based on a player's number of minutes. A player who has only had a few minutes on the pitch shouldn't impact them in the same way.
#### Match Impact Score
This was the end number I was trying to reach—a clean, simple number that shows how much impact these absences will have on a team. It is based mainly on the percentage of team minutes missing, with some effect from the weighted average FotMob Rating. If you have any suggestions on making this metric more enjoyable, please let me know in the comments!
## March 22/23, 2025 Matches
| | Vancouver Whitecaps FC | Chicago Fire FC |
| ------------------------------ | ---------------------- | --------------- |
| \# of Players | 4 | 2 |
| \# of Minutes | 1,242 | 412 |
| % of Team Minutes | 31.36% | 10.40% |
| Weighted Average FotMob Rating | 7.34 | 7.10 |
| Match Impact | 46 | 15 |
The first-ever [Battle of the Berhalter](https://theprovince.com/sports/soccer/mls/vancouver-whitecaps/whitecaps-vs-chicago-berhalter-vs-berhalter). The match had me thinking about the impact of absences in the first place.
Vancouver is struck with four first-team players missing, all of whom have played at least 50% of the available minutes. Chicago is impacted but nowhere near as heavily, with neither player crossing 90% of the available minutes.
Vancouver is undefeated this season, and it is their match to lose. It will be an uphill battle with a few key injuries and four international unavailibilities.
| | Seattle Sounders FC | Houston Dynamo FC |
| ------------------------------ | ------------------- | ----------------- |
| \# of Players | 2 | 3 |
| \# of Minutes | 515 | 351 |
| % of Team Minutes | 13.01% | 8.86% |
| Weighted Average FotMob Rating | 6.67 | 6.85 |
| Match Impact | 17 | 12 |
It's a fairly even matchup. Houston is missing more players, but two are U-20/U-18 players who aren't getting any first-team minutes. This will be a recurring theme throughout: teams losing more players but not being impactful.
| | Real Salt Lake | FC Dallas |
| ------------------------------ | -------------- | --------- |
| \# of Players | 5 | 2 |
| \# of Minutes | 539 | 554 |
| % of Team Minutes | 13.61% | 13.99% |
| Weighted Average FotMob Rating | 7.13 | 6.49 |
| Match Impact | 19 | 18 |
Real Salt Lake is another case of more missing players, but most are depth pieces from their academy. Diego Luna will be their most significant loss, while Dallas must rely on their backup goalkeeper.
| | Colorado Rapids | Portland Timbers |
| ------------------------------ | --------------- | ---------------- |
| \# of Players | 2 | 3 |
| \# of Minutes | 443 | 322 |
| % of Team Minutes | 11.19% | 8.13% |
| Weighted Average FotMob Rating | 7.18 | 5.25 |
| Match Impact | 16 | 9 |
Both teams are missing goalkeepers - but Maxime Crépeau has fallen the pecking order for Portland and the Canadian MNT. He didn't start for Canada on Thursday against Mexico, and we'll see if he gets the nod against the USA on Sunday.
Colorado will hope to keep up its strong start to the season despite missing some key pieces.
| | Sporting Kansas City | LAFC |
| ------------------------------ | -------------------- | ------ |
| \# of Players | 2 | 2 |
| \# of Minutes | 230 | 499 |
| % of Team Minutes | 5.81% | 12.60% |
| Weighted Average FotMob Rating | 6.48 | 6.70 |
| Match Impact | 8 | 17 |
Kansas City had almost no impact until Zorhan Bassong got a late call-up to the Canadian MNT. Bouanga will be the most missed by the LAFC side. It will be a reasonably regular match for both teams.
| | Nashville SC | CF Montréal |
| ------------------------------ | ------------ | ----------- |
| \# of Players | 3 | 1 |
| \# of Minutes | 501 | 360 |
| % of Team Minutes | 12.65% | 9.09% |
| Weighted Average FotMob Rating | 7.03 | 6.87 |
| Match Impact | 18 | 12 |
Both teams only lose one important player - Joel Waterman for Montreal and Andy Najar for Nashville. Montreal is still a bottom-of-the-table team this year, so I imagine it will be an easy win for Nashville.
| | Philadelphia Union | St. Louis City SC |
| ------------------------------ | ------------------ | ----------------- |
| \# of Players | 7 | 1 |
| \# of Minutes | 1,697 | 0 |
| % of Team Minutes | 42.85% | 0.00% |
| Weighted Average FotMob Rating | 7.39 | 0.00 |
| Match Impact | 63 | 0 |
St. Louis is the exception from this list of MLS teams. Their only call-up is for a U-18 player with no first-team minutes. This is what you expected MLS teams to look like a decade ago when it made sense not to break for the international window.
On the other hand, Philly is the second most impacted team by the international window. This one will be tough for them, losing their starting goalkeeper, four other outfield players and two depth pieces.
| | Orlando City SC | D.C. United |
| ------------------------------ | --------------- | ----------- |
| \# of Players | 3 | 2 |
| \# of Minutes | 458 | 437 |
| % of Team Minutes | 11.57% | 11.04% |
| Weighted Average FotMob Rating | 5.99 | 6.63 |
| Match Impact | 14 | 15 |
It's a very even matchup! Orlando is losing their goalkeeper, which is always a roll of the dice. This one is anyone's game to win.
| | New York Red Bulls | Toronto FC |
| ------------------------------ | ------------------ | ---------- |
| \# of Players | 6 | 3 |
| \# of Minutes | 742 | 803 |
| % of Team Minutes | 18.74% | 20.28% |
| Weighted Average FotMob Rating | 7.29 | 6.80 |
| Match Impact | 27 | 28 |
It's another very even loss on the surface, but the Toronto side has been abysmal so far this year. Red Bulls are missing their starting goalkeeper, which is always a roll of the dice, but their outfield is in good shape. They'll be expecting to win this one.
| | Columbus Crew | New York City FC |
| ------------------------------ | ------------- | ---------------- |
| \# of Players | 4 | 4 |
| \# of Minutes | 1,161 | 341 |
| % of Team Minutes | 29.32% | 8.61% |
| Weighted Average FotMob Rating | 7.32 | 7.40 |
| Match Impact | 43 | 13 |
A perfect example of the number of players you're missing doesn't show the impact it will have. Columbus Crew is missing three locked-in starters, while NYCFC is just missing one, despite four total for each. Columbus is going to be relying on some depth for this one.
| | Charlotte FC | San Jose Earthquakes |
| ------------------------------ | ------------ | -------------------- |
| \# of Players | 3 | 2 |
| \# of Minutes | 974 | 309 |
| % of Team Minutes | 24.60% | 7.80% |
| Weighted Average FotMob Rating | 6.76 | 6.79 |
| Match Impact | 33 | 11 |
Charlotte is losing three starting players, while San Jose is just missing one. Both teams are having solid starts to their year, and San Jose hopes to capitalize on Charlotte's losses.
| | Minnesota United FC | LA Galaxy |
| ------------------------------ | ------------------- | --------- |
| \# of Players | 5 | 2 |
| \# of Minutes | 1,559 | 155 |
| % of Team Minutes | 39.37% | 3.91% |
| Weighted Average FotMob Rating | 7.16 | 6.25 |
| Match Impact | 56 | 5 |
Ooph, poor Minnesota. This should have been a walk in the park for them over a weak LA Galaxy side. All five of their missing players are regular starters, including their goalkeeper. Galaxy is just missing two depth options.
| | FC Cincinnati | Atlanta United |
| ------------------------------ | ------------- | -------------- |
| \# of Players | 2 | 8 |
| \# of Minutes | 344 | 1,740 |
| % of Team Minutes | 8.69% | 43.94% |
| Weighted Average FotMob Rating | 6.97 | 6.84 |
| Match Impact | 12 | 60 |
Atlanta United is the most impacted MLS team this window! Eight players are missing, covering 43% of their first-team minutes so far this season. Cincinnati is relatively unscathed, but they are losing their starting striker, Kévin Denkey, who is getting settled in after moving from Cercle Brugge this offseason.
| | Austin FC | San Diego FC |
| ------------------------------ | --------- | ------------ |
| \# of Players | 4 | 2 |
| \# of Minutes | 417 | 636 |
| % of Team Minutes | 10.53% | 16.06% |
| Weighted Average FotMob Rating | 6.72 | 7.16 |
| Match Impact | 12 | 23 |
Austin may be missing more players, but half are depth pieces who haven't been getting first-team minutes in 2025. San Diego will be pushing to keep their incredible first MLS season start strong.
| | New England Revolution | Inter Miami CF |
| ------------------------------ | ---------------------- | -------------- |
| \# of Players | 3 | 4 |
| \# of Minutes | 1,075 | 804 |
| % of Team Minutes | 27.15% | 20.30% |
| Weighted Average FotMob Rating | 6.82 | 7.02 |
| Match Impact | 37 | 29 |
This match is actually the bye for the week and not being played until July 9th. It's a mystery how Inter Miami got to skip this of all weeks...
---
# Media Diet: February 2025
Published: 2025-03-21
URL: https://matthewhall.com/posts/media-diet-february-2025/
Tags: media diet
My reading in January was dominated entirely by finishing Wind and Truth. It was such a slog at times, so I was so happy to move on to reading other books in February! I made a great dent in watching through all the Oscar nominated films I missed too. Was very happy to see Anora win, it was my favorite of 2024!
📚 Wind and Truth by Brandon Sanderson - I have a lot of mixed feelings about this book. It starts well, then meanders forever before finishing strong. It feels like Sanderson trapped himself in the literary structure of having a certain number of days to cover. I am happy that Sanderson is taking a break from the series for a while, but I am very excited to see where the universe leads from here! (B+)
🎥 Babygirl - What a fun and wild ride of a film. It's just enjoyable from start to finish - as long as you lean into its weirdness. (A-)
🎥 Nickel Boys - Absolutely heartbreaking, phenomenal filmmaking. One of my favorites of 2024. (A+)
📚 Bad Luck and Trouble by Lee Child - Another fun light read in the Reacher series, in preparation for watching Reacher Season 2. (B)
📺 Reacher Season 2 - Similar to the book itself, light and fun. Nothing special. Good TV for a flight. (B)
📚 Chimera's Fall by Glynn Stewart - It is incredible how often Stewart releases these books. Nice to just read one as they come out instead of marathoning my way through them! (A-)
📺 High Potential Season 1 - So great to see Kaitlin Olson get to lead her own show. She's always been hilarious and crushes it. (A)
📺 Shoresy Season 4 - A spin-off from Letterkenny that has outgrown its original. It's so much more heartfelt and tender in a special, weirdly Canadian way. (A)
📺 Unforgotten Season 6 - Didn't grab me as much as the previous seasons did, but an alright continuation of the series. (B)
📺 Jury Duty Season 1 - Just a ridiculous and hilarious TV show with an original concept. Don't read about it just go watch it. (A)
📺 On Call Season 1 - One of the most "American" police shows I've watched. Was thrilling and moved quick, but just was heavy on the copaganda.
📚 Jake's Magical Market by J.R. Mathews - My first foray into LitRPG outside of Dungeon Crawler Carl. Good but didn't click the same way for me that Carl did. (B)
🎥 Grand Theft Hamlet - Perfectly brings you back to what it was like to live through COVID19 in the most unique way. (A-)
🎥 September 5 - Watching a crisis happen from the perspective of the news team covering it, what a different way to experience a crisis. (A)
---
# Countdown to Kickoff 2025: Vancouver Whitecaps FC
Published: 2025-02-25
URL: https://matthewhall.com/posts/countdown-to-kickoff-2025-vancouver-whitecaps-fc/
Tags: mls, soccer, vancouver whitecaps
The [/r/MLS](https://www.reddit.com/r/mls) subreddit has been running a series of posts about the "Countdown to Kickoff", giving overviews of a MLS team's previous season and their upcoming season. The MLS season just kicked off over the weekend and I noticed that no one had written one about the team I support, the Vancouver Whitecaps, so I took it upon myself to [write one](https://www.reddit.com/r/MLS/comments/1ixni4p/countdown_to_kickoff_2025_vancouver_whitecaps_fc/)!
---
## Basic info:
**Full club name:** Vancouver Whitecaps FC
**Subreddit:** [r/WhitecapsFC](https://www.reddit.com/r/whitecapsfc/)
**Location:** Vancouver, BC Canada
**Stadium:** [BC Place](https://en.wikipedia.org/wiki/BC_Place) (22,120 for most games, expandable to 50,000+)
**Head Coach:** [Jesper Sørensen](https://en.wikipedia.org/wiki/Jesper_S%C3%B8rensen) (1st season)
**Captain:** [Ryan Gauld](https://en.wikipedia.org/wiki/Ryan_Gauld)
**Owner:** Jeff Mallett (Chairman), Greg Kerfoot, Steve Luczo, Steve Nash
**Sporting Director**: Axel Schuster
**Reserve Team:** [Whitecaps FC 2](https://en.wikipedia.org/wiki/Whitecaps_FC_2)
**Kits:**
* Primary: [2025 "The Peak"](https://www.whitecapsfc.com/news/vancouver-whitecaps-fc-unveil-the-peak-jersey)
* Secondary: [2024 "The 50"](https://www.whitecapsfc.com/news/the50jersey)
**Jersey Sponsor:** [Telus](https://www.whitecapsfc.com/news/telus-named-official-premier-partner-of-vancouver-whitecaps-fc#:~:text=VANCOUVER%2C%20BC%20%E2%80%93%20Vancouver%20Whitecaps%20FC,change%20in%20their%20local%20communities.)
**Trophies:**
* Canadian Championship (2015, 2022, 2023 and 2024)
## Rivalries:
1. [Cascadia Cup](https://cascadiacup.soccer/) \- A fan-created competition created in 2004 between the Vancouver Whitecaps, Portland Timbers, and Seattle Sounders. In the MLS era, it's tied between Vancouver & Seattle for the most wins, seven each. Last year was a very tight race, with a tie on points and goal difference going down to. Goals are the deciding factor for Portland. This year's Cascadia Cup is off to a great start, with the Whitecaps thrashing Portland 4-1 over the weekend. With Seattle & Vancouver only a few hour's drive apart, they have a great away fan turnout - I'll be down in Seattle for the September 27th match!
2. **Canadian MLS Teams: Toronto FC & CF Montreal** \- Unlike most Western Conference teams, we have some guaranteed opposition in the Eastern Conference every year: Toronto and Montreal. Outside of MLS play, we can also face them in the Canadian Championship. We've won the Canadian Championship three years running so Toronto and Montreal are looking for any chance to take us down this year.
3. **LAFC** \- A slowly budding rivalry! We've been knocked out of the playoffs by LAFC the last 2 years and played them in the Leagues Cup the previous year. When our former Goalkeeper Maxime Crépeau was with LAFC previously, the entire supporters section would boo whenever he picked up the ball. We're desperately hoping to avoid LAFC in the first round of the playoffs this year.
4. **Canadian Premier League Teams: Vancouver FC** **& Pacific FC** \- The Canadian version of the USL Championship has two teams in British Columbia, the same province as Vancouver. Confusingly, one is called Vancouver FC, despite playing in a city around 1 hour from BC Place called Langley. A Vancouver vs. Vancouver matchup hasn't occurred yet in the Canadian Championship, but this may be the year! Pacific FC is located on Vancouver Island, a 1.5 hour ferry ride from Vancouver. We've faced them twice in the Canadian Championship, both 2023 and 2024. It's our "Ferryside Derby".
5. **The Rest** \- We've got a chip on our shoulder from being generally forgotten by the greater MLS community. I'm unsure if it's because we're Canadian, the farthest Northwest team in MLS, we've always been a middle-of-the-pack team, or our name is last in every alphabetical list. We always feel we have something to prove against every team, particularly in the Western conference.
## Current Roster

## Predicted XIs
### Primary Choice

### Secondary Choice

Here's a predicted lineup per GlassCityFC's depth chart - plus some tweaks based on how we've played the last two games. He's a prolific Whitecaps tweeter who has gotten many scoops and predicted/suggested a few signings, including Ryan Gauld. Sabbi & Nelson are the big unknown at the moment based on how well Nelson played on Sunday.
## 2024 Season in Review
* **Final Standings:** 8th in West, 14th overall, 13-8-13 record, 47 pts, 3 GD
* **Playoffs:** Wildcard vs. Portland (5-0), Round One exit to LAFC
* **Attendance:** 26,121
I didn't write [last year's post](https://www.reddit.com/r/MLS/comments/1av0i36/countdown_to_kickoff_2024_vancouver_whitecaps_fc/), but many of their expectations were similar.
Last year, we made two big attacking signings: Fafa Picault and Damir Kreilach. Everyone expected Kreilach to make a difference on the team. Instead, he contributed almost nothing while Fafa Picault had the season of his career. Despite that, we're stuck with Kreilach for another season while Fafa enjoys the sunshine in Miami.
Speaking of Miami, we had a home match against Inter Miami last season. It was the moment our front office had been waiting to sell as many season tickets and ticket bundles as possible. It worked! Our average home attendance went from 16,745 to 26,121!!! Then, when it came down to it, none of Messi & friends made the flight to Vancouver for a mid-week match on our challenging turf field. The front office handled it the best they could, but it was a rough week for the team.
It was a rollercoaster of a season. By the 6th round, we were 1st in the West, bounced around a bit, and ended up 4th in round 23. It looked like a top 4 finish was possible until we had a backslide for the last seven rounds of the season, ending up in 8th.
We had one big summer signing with Stuart Armstrong, who joined as a free-agent DP. He arrived out of fitness and had a very slow ramp-up period. We only got to see how competent he was for a few matches before we crashed out of the playoffs to LAFC.
We fired our coach in the off-season, lost one of our DPs, and our ownership group announced they were looking for a buyer for the team. It's been eventful, to say the least.
## Transfers Out:
* **Ryan Raposo** **(DF) to Liaoning Tieren** \- A Canadian depth piece that served the Vancouver Whitecaps well. He had moments where he sparkled and showed lots of potential but never made it to our starting XI. He always had so much hustle and heart, never giving up on the ball. I'll miss having him on the team.
* **Alessandro Schöpf (MF) to Wolfsberger AC** \- One of the bigger whiffs by our recruitment over the last few years. Was on a large salary (for the Whitecaps, at least) and was never able to perform at the caliber we needed.
* **Fafà Picault (FW) to Inter Miami CF** \- Sad to lose Fafa, but I hope he loves playing with Messi! He had a huge season with us, putting up career-best numbers, and fit perfectly into last year's system.
* **Joe Bendik (GK) to retirement** \- Only ever played half a match for us in a friendly against Wrexham. Was the backup to the backup to the backup. Won't be missed.
* **Levonte Johnson (FW) to Colorado Springs Switchbacks** \- Another Canadian depth piece that just never quite fit with the Whitecaps team. He didn't have the finishing for an MLS-level team, and it was frustrating to watch play sometimes. The USL Championship seems like a great place for him to thrive.
* **Déiber Caicedo (FW) to Atlético Junior** \- Caicedo spent 4 years with the Whitecaps, with 1 year of that on load to Atlético Junior, and he just never fully clicked with our system or team. He struggled for form and for starts with us and was never able to make that big of an impact. He seems to fit better at Atlético Junior, wishing him all the best.
* **Stuart Armstrong (MF) to Sheffield Wednesday** \- The heartbreaking summer moment for Whitecaps fans, when it was announced that Stuart Armstrong was heading back to Europe. We had such high hopes for what the team could look like with Armstrong being fit and having great chemistry with Gauld. Sheffield Wednesday wanted him to help with their promotion push to the Premier League, which has not been going well - as of writing, they're 12th in the Championship and well out of the playoff spots.
## Transfers In:
* **Jayden Nelson (FW) from Rosenborg** \- Nelson just had the game of his career on the weekend against Portland. 1g/3a outdoes his entire career contribution from his time at Toronto FC. Excited to see if he can keep this up and fit well with Gauld & White.
* **Emmanuel Sabbi (FW) from Le Havre** \- If you had asked me 2 weeks ago who would be our most exciting signing of the year, I would have said Sabbi! Sadly, he's been sidelined with an injury and has been outshone by Jayden Nelson. I'm looking forward to seeing how he works out once he's fit.
* **Adrian Zendejas (GK) from Skövde AIK** \- This one has been a bit of a head-scratcher. He takes up a senior roster spot while we already have a solid backup GK in Boehmer and have Max Anchor on our Whitecaps 2 roster if we're really desperate. Boehmer was trusted in the Canadian Championship last year and ended up winning both the Best Young Canadian Player award and MVP of the tournament (George Gross Memorial Trophy). Hopefully he is on a low salary and is just a like for like replacement for Joe Bendik.
* **Daniel Ríos (FW) from C.D. Guadalajara (Loan)** \- A proven striker with MLS experience to back up and challenge Brian White. That is precisely what we need, and I hope he means I won't have to watch Damir Kreilach play too much for us this year.
## Draft Picks
* Round 1 (15) - Tate Johnson from North Carolina Tar Heels, signed to a Generation Adidas contract
* Round 2 (45) - Nikola Djordjevic from Southern Methodist
## Prognosis:
Last year was a mixed bag for us. At times, we looked like a team that could go the distance, but then it all fell apart dramatically.
A new coach, possible new owners, and a new DP or 2x U22? Anything could happen this year with the Whitecaps.
And with that, the three scenarios.
### Best Case:
We win a Canadian Championship for the fourth year in a row. We make a massive summer signing. Gauld stays fit the entire year. We make it out of the Round of 16 in the CONCACAF Champions Cup. We make it out of the first round of the MLS playoffs by beating LAFC. Ryan Reynolds buys the Vancouver Whitecaps, and we get our "Welcome to Vancouver" docuseries.
### Worst Case:
The Vancouver Whitecaps become the Las Vegas Whitecaps, and I'm forced to drive out to Langley to watch Vancouver FC play in the CPL. This would overshadow anything that could possibly happen on the pitch.
### Reasonable Case:
A buyer for the Whitecaps is found who wants to keep them in Vancouver, and some stability returns to the club. We sneak into the MLS playoffs, probably by thrashing the Timbers in the play-in match again, but exit in the first round to LAFC. We'll win a fourth Canadian Championship in a row against a very sad-looking Toronto FC side.
## Concluding Remarks
This year could go in absolutely any direction for the Vancouver Whitecaps. A disappointing loss to Saprissa in the CONCACAF Champions Cup, followed by a trashing of Portland in the span of 4 days, personifies this perfectly.
## Online Resources
**Official Links:** [Website](https://www.whitecapsfc.com/) | [Bluesky](https://bsky.app/profile/did:plc:fi5h3wmxswojrmxfkjbkbr7c)
**Unofficial Links:** [The Third Sub](https://thethirdsub.ca/) | [Cascadia Cup](https://cascadiacup.soccer/)
---
# Media Diet: January 2025
Published: 2025-02-02
URL: https://matthewhall.com/posts/media-diet-january-2025/
Tags: media diet
Other than a quick trip to Las Vegas for CES, I spent the entirety of January at home! It was great to get caught up on life, films, and TV shows. I still have a few of the most loved movies of 2024 to watch - Nickel Boys, Babygirl, Queer, Nosferatu, and The Brutalist. Hopefully, in February, I'll make it through a few more of them.
🎥 Wicked - This did not feel like it needed to be a 2 part film. It had so much fluff that could be trimmed down. It has some amazing singing and is one of the best film adaptations of a musical I've seen. (B+)
🎥 A Real Pain - Jesse Eisenberg and Kieran Culkin make for an incredible duo. This film is a perfect balance of intimate and intense. One of my favorite films about the ripple effects of the holocaust. (A)
📺 How to Die Alone Season 1 - Just OK. Took me a while to work my way through it. (B-)
🎥 Woman of the Hour - A solid directorial debut from Anna Kendrick. It is intense and well-paced. I'm looking forward to seeing what she directs next. (B+)
🎥 The Apprentice - I had high hopes for this one and it was a let down. Well acted but just felt too shallow. (B)
📺 Based on a True Story Season 2 - Another fun romp in this universe. Great mindless crime comedy. (A-)
📺 Mr Inbetween Season 1-3 - I have no idea how I missed this when it was originally airing. Incredible TV show. One of my favorites i've seen in years. (A+)
📺 Industry Season 3 - After marathoning the first two seasons, I procrastinated on season 3. It ended up being my favorite of the seasons and finishes just perfectly. So excited for another season. (A+)
📺 Landman Season 1 - So many mixed feelings about Landman. On the one hand, Billy Bob Thornton is incredible as a degenerate oil field landman. It effectively shows how brutal of a place the oil fields can be. My biggest issue with the show is the occasional oil and gas industry boosting it does. It takes you out of the show when there is an entirely unnecessary attack on alternative energy sources or just promoting how necessary Oil & Gas is. It feels like I'm watching a talk show on Fox, then goes right back to the drama. (B+)
📺 Silo Season 2 - The series continues to diverge from the books, but it pulls it off. A rare show where it's fairly different from the source material but fantastic in its own right. (A)
📺 Sex Lives of College Girls Season 3 - Continues to be a light, fun, enjoyable show. It lost a main character and replaced them effectively in its third season. (A-)
📺 The Agency Season 1 - Apparently, 2024 & 2025 are the years of the spy drama shows. This feels like it's the fifth I've watched in the last few months. It's decent but not one of the best in the genre. (B+)
🎥 The Last Showgirl - Pamela Anderson has the role of her life—one of my favorite films that came out in 2024. A must-watch. (A)
📺 Get Millie Black Season 1 - My first time watching a Jamaican crime show! It was different from the usual UK and US crime shows, but I didn't love it. (B-)
📺 After the Party Season 1 - Dark, intense, and challenging to watch. It's hard to watch a family tearing itself apart continually. (B+)
📺 Bump Season 1 - Fun Australian comedy show. It made for some good background noise. (B+)
📺 The Responder Seasons 1-2 - Martin Freeman kills it as a police officer who is falling apart. The secondary cast is excellent as well. It is an intense and realistic feeling. My favorite type of UK cop show. (A)
---
# AI is the Death of Daily Podcasts
Published: 2025-01-18
URL: https://matthewhall.com/posts/ai-is-the-death-of-daily-podcasts/
Tags: ai, podcasts, journalism
import Audio from '@/components/shortcodes/Audio.astro';

The way we consume news is changing. Are daily podcasts like The Daily about to become obsolete? AI is here, and it's changing everything.
Daily podcasts are one of the most popular and prolific genres of podcasts. They are released every weekday and cover a specific niche's news. They are the modern alternative to a daily newspaper, the perfect way to stay updated on the news you care about while you commute to or from work every day.
The most popular podcast in this genre is [The Daily from the New York Times](https://www.nytimes.com/column/the-daily), which is third on Apple's Podcast charts. Countless other podcasts focus on every niche and market. [The Daily Tech News Show](https://dailytechnewsshow.com/) covers tech news. [BBC Radio 4 Woman's Hour](https://www.bbc.co.uk/programmes/b007qlvb/episodes/player) discusses Women's voices and lives. [The Daily Meditation Podcast](https://dailymeditationpodcast.com/) discusses meditation. [BBC Radio 5 Football Daily](https://www.bbc.co.uk/programmes/p02nrsln/episodes/downloads) covers football ⚽️. The list goes on and on. If you are interested in something, chances are there is a daily podcast about it.
Thanks to AI, they will all be at death's door within the next few years. There is no need to find the right daily podcast that interests you; AI will know what you're interested in and how much time you have and can create it for you instantly.

## The Rise of AI Audio
2024 was a massive year for Audio AI tools. From perfect voice cloning to generating realistic-sounding conversations, it's all advanced rapidly in the last year.
Top of the pack is [Google's NotebookLM](https://notebooklm.google/) - the ability to create a podcast episode, voices, and all, with any content you provide. All is condensed down to let you input a complicated academic paper and get a podcast customized to your interests.
Skills that are only available to humans are rapidly being eroded and automated by AI. Humans can no longer create convincing conversations alone. We're crossing the AI audio uncanny valley. There is still a human touch to podcasts, but how long can that last?
Don't believe me? Here is a 30-minute podcast from NotebookLM from my own [2024 Things I Was Grateful For blog post](https://matthewhall.com/posts/things-i-was-grateful-for-in-2024/). It does a great job summarizing the points made and turning it into a reasonably natural conversation.
## The Advantages of Personalized AI News
One of the biggest goals of algorithmic feeds over the last decade has been customizing the news you receive. These feeds learn from users' interests and customize their content to those interests. This is the next level: customizing the content itself based on those interests and generating it dynamically.
TikTok has proven how addictive a truly personalized algorithmic feed can be. That level of insight into a person, combined with fully customized content, can take it to another level.
Of course, there are some scary trade-offs with fully personalized news. The proliferation of algorithmic feeds has escalated the creation of "bubbles" and news "echo chambers." Personalized AI-driven news takes that to another level.
## Google's "Daily Listen": A Glimpse into the Future

In January, [Google launched a "Daily Listen"](https://9to5google.com/2025/01/08/google-discover-daily-listen/) feature in its Discover feed inside the Google app on iOS and Android. This feature takes news that Google thinks you will be interested in and creates a podcast about it.
I've never found the Google Discover feed to do a great job of knowing my interests and providing related articles, but this is the first step in the custom daily podcast realm. It shows the power of combining Google's learnings about your interests and search history with their NotebookLM product.
You can see a future where you have a method of opting in and out of interests, customizing the length, and being able to "catch up" on the news you've missed. Whether it's been a week or an hour, and if you have five minutes or an hour to listen. AI would be able to put together the perfect daily podcast for you.
## Fake News Flourishes

We've all seen examples of Apple Intelligence's attempts at summarizing messages and failing in a hilarious fashion. This is a low-stakes issue that can happen when AI is trying to summarize content.
The algorithmic feed saw the rise of hyper-polarizing websites that drove engagement - the Breitbart's of the world. Combining the drive of AI companies to have usage with AI hallucinations and the demand for engagement is a scary possibility.
## The AI Slop Cycle Continues

AI slop was one of the words of the year in 2024. AI generated content that is meaningless crap that is overly verbose while saying nothing at all. We're already seeing low quality news articles profilerate across the internet, being scraped up by other AI algorithms, and used to train the next generation of AI models.
The decimation of the news industry has continued with AI. After barely surviving the upheavals in online advertising over the last decade, the new industry faces its existential threat.
Within the next year, the podcast industry is going to be as full of low-quality AI slop as the news industry is today.
## How much life is left?
AI-driven podcasts are coming, whether we like them or not. Their first target is daily news podcasts, which have to be created quickly and are generally based on existing written news stories. This is the perfect target for AI.
What can a company like the New York Times do to avoid this? They have daily podcasts, write about the news, and are suing AI companies to protect their content. They have shown loyalty to their staff in the past, but if they don't use AI in their podcast workflow, someone else will.
---
# Things I Was Grateful For in 2024
Published: 2025-01-12
URL: https://matthewhall.com/posts/things-i-was-grateful-for-in-2024/
Tags: things i was grateful for
import GratefulFor from '@/components/shortcodes/GratefulFor.astro';
It's hard to believe this is my fourth year writing this blog post. It feels like these last four years have flown by in the blink of an eye. In that time, I've lived in four different houses, flown on countless flights, and written nowhere near as many blog posts as I intended.
My monthly "[Media Diet](/tags/media-diet/)" blog posts make this one much easier to write. It's simple enough to search through everything I reviewed this year and remind myself of the standouts, even those I watched or read at the start of the year.
In 2025, I plan to write more than just my "[Media Diet](/tags/media-diet/)" posts and this end-of-year review. We'll see how that goes in practice, but it's a new year and a chance to try again!
###  Film - *Anora*
I've loved every single film Sean Baker has directed, and *Anora* has continued that trend. His previous film, *Red Rocket*, was my pick in 2021.
It's a wild and raucous ride from start to finish. In all the best ways, it feels like a much bigger film than Baker's previous work. For the last decade, I've been watching his movies as they've been released, and I've loved seeing his work grow in complexity and scale. He's always been a fantastic storyteller, and that continues with *Anora*.
I don't think it will win the Best Picture Oscar this year, but it deserves to. It's cinematically stunning, well-acted, and thoughtful, too. It's a movie everyone should make time to watch.
*Available on all major PPV platforms*
###  Book - *Intermezzo* by Sally Rooney
Sally Rooney's *Normal People* had a significant impact on me. I mostly read science fiction and fantasy, with the occasional deviation, but there was something about *Normal People* when I first read it. It was honest and raw in a way that science fiction and fantasy never are.
I've continued to read Sally Rooney's new books as they've been released. None of them has connected with me as strongly as *Intermezzo*. It is a successor to *Normal People*, and I hope it receives the faithful miniseries adaptation that *Normal People* received.
It's an intimate depiction of a fractured brotherly relationship. Although it was sometimes painful to read, it evoked visceral feelings of what the characters were going through. Nevertheless, it is engaging throughout and very hard to put down.
*Available everywhere books are sold*
###  TV Show - *Baby Reindeer*
I went back and forth a lot over my TV pick this year. I try to limit myself to new shows rather than new seasons, making it an even tighter competition.
In the end, I am settling on *Baby Reindeer*. It was the show I talked the most about, reflected the most upon, and deserves to be watched and discussed the most. The Edinburgh Fringe Festival has given me some of my favorite shows of the last decade, such as *Fleabag* and *Flight of the Conchords*. *Baby Reindeer* is added to that list of incredible crossovers from Fringe shows to unbelievable TV.
The discourse after its release adds another layer to the TV show. The real-life "Martha" is almost immediately outed and brought into the spotlight. How similar is the real-life person to the TV show? Did she treat Donny/Richard Gadd this way?
With a lawsuit underway, we may get more insights.
*Available on Netflix*
###  Podcast - *Serial: Guantánamo*
It's hard to believe that the first season of *Serial* came out a decade ago. I still vividly remember being on vacation and burning through the entire series. I had been listening to podcasts since the late 2000s—having to sync them from my laptop to an iPod—but it wasn't until this show that podcasts became mainstream.
I've listened to the following seasons of *Serial* and the spin-off shows, and they've been a mixed bag. Seasons two and three of *Serial* were underwhelming, while *S-Town*, *The Retrievals*, *The Kids of Rutherford County*, and *The Good Whale* were phenomenal.
Season four, *Guantánamo*, is a return to what makes my favorite podcasts. It digs deep and makes you think about Guantánamo, a place you've probably heard much about but don't know much about. It introduces you to engaging characters that give you a deeper insight into its topics.
If you haven't listened to *Serial* since its first season, I suggest you pick it back up again and listen to season four.
*Available wherever you get your podcasts*
###  Board Game - *Moonrakers*
Deck-builders have been one of my favorite board game types for the last few years, and *Moonrakers* perfects the format. It has some fantastic social interactions with your fellow players, forcing you to work together but also letting you screw someone over. It has a tremendous push-your-luck element, seeing how far you can go and what you can accomplish. Most important is the ability to assemble an incredibly satisfying engine.
I've had many fun evenings playing *Moonrakers* with friends this year and look forward to many more.
*Available from [IV Studios](https://shop.iv.studio/products/moonrakers)*
###  Video Game - *Balatro*
It's been a few years since any game has had me as addicted as *Balatro* did this year. I picked it up on the Switch and played it endlessly for a month. Then it came out on mobile, and that cycle repeated itself. It's now my favorite distraction when traveling. I've spent countless hours playing *Balatro* on my phone while I watch TV or a film on a flight.
It's a roguelike deck-building game based on a poker theme. If you didn't believe me about my love of deck-builders from *Moonrakers* above, this should solidify that. If you've ever played poker before, you're able to pick it up in a few minutes, but it takes hours to master. It's a game that lets you hop in and play for a few minutes or dive deep and spend a few hours trying to perfect a run.
*Available on consoles, PC, Mac, and mobile*
###  Activity - Beach Volleyball
For the last decade, I've played beach volleyball on and off. For most of that time, I've been a mediocre player, and my inconsistency in playing didn't help that. However, this year, I felt I had made a big step forward in my playing abilities.
In Vancouver, I'm lucky enough to have an indoor beach available for playing during our rainy winters and actual beaches on the ocean where I can play during the summer.
*Available at the beach*
###  Album - Billie Eilish *"Hit Me Hard and Soft"*
I've never been a massive fan of Billie Eilish's previous albums—but I have always loved her annual interview with *Vanity Fair*. Something about *"Hit Me Hard and Soft"* completely changed that for me.
I am not a good enough music critic to explain the change in detail. Something about Eilish's sound changed, and I could connect to it in a way I had never done before.
I was sad to miss her 2024 concert in Vancouver; she's definitely on my list to see the next time she's on tour.
*Available wherever you listen to music*
###  App - Cursor
2024 was the year AI took the world by storm. This year, I've tried dozens of AI-powered applications, but only one has completely changed a part of my life: Cursor.
AI programming assistants have existed for a few years now, and I've used GitHub CoPilot since it was released, but none work as elegantly as Cursor. Building a new Flutter application from scratch and improving a complex Laravel application adds tremendous value.
If you're a developer and haven't tried out Cursor yet, I highly encourage it. It changed how I work and gave me abilities I never had before.
*Available from [Cursor](https://www.cursor.com/)*
###  Gear - Ozlo Sleepbuds
I travel a bit and spend a lot of time in new surroundings. In hotel rooms with slamming doors, near busy streets with lots of noise, etc. I was woken up often until my Ozlo Sleepbuds entered my life.
They are now an essential part of my travel gear and improve the quality of my sleep. They let me listen to a podcast while falling asleep and then switch to white noise. They're even more critical for my partner when she's dealing with my snoring!
*Available from [Ozlo Sleep](https://ozlosleep.com/)*
##  Newsletter - Casey Newton's *Platformer*
I've been reading Casey Newton's work throughout his career at both CNET and The Verge. When he started his newsletter, Platformer, I subscribed immediately. He has always been a writer who can provide deep insights into complex and convoluted issues.
I don't work in social media, but as a very online person, it's an industry that I care about a lot. *Platformer* has been critical for me in keeping up with everything happening in the last few years. His work will become even more essential as we head into another Trump presidency, a possible US TikTok ban, and significant changes happening at Meta.
Bonus? Every newsletter issue has some great memes at the bottom of it.
*Available from [Platformer](https://www.platformer.news/)*
---
# Media Diet: December 2024
Published: 2025-01-02
URL: https://matthewhall.com/posts/media-diet-december-2024/
Tags: media diet
Another year of these Media Diet posts! I was hoping to get a lot more writing done in 2024 than I did, but I'm happy I at least kept these up. I spent a few weeks of December sick, which makes for a unique media diet. A few shows watched start to finish and an entire 15 book series read over two weeks.
📺 Arcane Season 1 - I procrastinated watching this for so long despite all the hype. With season 2 coming out, I finally gave it a shot and thoroughly enjoyed it! (A-)
📺 Douglas Is Cancelled Season 1 - This had so much potential but didn't live up to it. (B-)
📚 The Icarus Changeling by Timothy Zahn - A great addition to the Icarus Saga series. It continues to be a fun and exciting Sci-Fi series! (A-)
🎥 Loves Lies Bleeding - I love the career that Kristen Stewart has managed to have post-Twilight. She's played such a diverse range of characters and continues to here. Thrilling from start to finish. (A)
🎥 Juror #2 - I've mixed feelings about Clint Eastwood's directorial efforts, but I enjoyed this one. It's a solid courtroom drama. (A-)
📺 Lioness Season 2 - Not as good as the first season, but still a fun ride. Exciting from start to finish. (A-)
📺 Shetland Season 6 - The previous season started slow with a switch-up in the main characters, but they've proven their chemistry in their second outing together. Great co-leads and an exciting story make this show continue to work. (A)
📺 What We Do in the Shadows Season 6 - This series will be remembered as one of the best adaptations of a film into a TV series. It did everything right and was funny from start to finish. I am going to miss it! (A+)
📺 Say Nothing Season 1 - I've loved consuming all the content about The Troubles that has come out in the last few years. It's a period that I didn't learn too much about in school in Canada. I read more about the controversies surrounding the original Say Nothing book to add more context to the show. (A)
📺 Cobra Kai Season 6 Part 2 - I am tired of TV show seasons being split into multiple parts. Cobra Kai doing three parts is just ridiculous. This second part was pretty mediocre, and I am feeling very ready for this show to be over. (B-)
🎥 Saturday Night - The fact that this royally pissed off Chevy Chase makes it worth a watch. Interesting for anyone who cares about the history of comedy. (B+)
📚 Starship Mage 1-15 by Glynn Stewart - When I had an ear infection, it was annoying to listen to TV shows or films, and I spent a ton of time reading, so I read a ton. I picked up Starship Mage and quickly burned through all 15 books released so far. It's a fun and exciting blend of Sci-Fi and Fantasy. (A)
📺 The Day of the Jackal Season 1 - I had no idea this show existed until it was half over. James Bond vibes and such a fun ride from start to finish. I can't wait for another season of it! (A)
📺 Black Doves Season 1 - I never would have guessed that Keira Knightley could play such a convincing spy. She and Ben Whishaw work so well together on-screen. Worth the watch. (B+)
📺 Shrinking Season 2 - It continues to be the show that pulls at my heart strings the most—no slump with this second season. Significant development with all of the characters, and the addition of Brett Goldstein is excellent. (A+)
🎥 Kneecap - A fantastic film about a rap group I had no idea existed. One of my favorite films of the year. (A)
🎥 The Order - I discovered this from one of the best films of the year lists. It's a perfect action thriller heist film. (A)
📺 Motherland Season 3 - A great light UK comedy that made for perfect background noise while I was working on other things. (B+)
---
# Media Diet: November 2024
Published: 2024-12-24
URL: https://matthewhall.com/posts/media-diet-november-2024/
Tags: media diet
Another month with a very delayed media diet post. This time it's not for a fun reason like travel - it was 2 weeks fighting off an ear & nasal infection. Thankfully all recovered just in time for Christmas!
📚The Hod King by Josiah Bancroft - I'm slowly working through the rest of the The Books of Babel series. Each entry in the series I have enjoyed more than the last! (A)
📺 Lioness Season 1 - I was looking for a light but exciting action series to get me through some long travel days, and this hit the spot perfectly. It never slows down and is fun from start to finish. (A-)
🎥 Crush - I'm always a sucker for a coming-of-age film. This one was decent, but nothing too special. (B)
📺 Only Murders in the Building Season 4 - The show continues to be fun and ridiculous. I'm looking forward to the next season. (A-)
📚This Inevitable Ruin by Matt Dinniman - This is the 7th book in the Dungeon Crawler Carl series, and it is every bit as fun as the previous six books. I can't recommend this series enough to anyone who enjoys video games. (A)
🎥 Heretic - I went in with high expectations but was very disappointed. The first two-thirds have such a great setup, but the final third falls apart. (C+)
📺 The Franchise Season 1 - A behind-the-scenes satire about the making of comic book movies. Fun but not exceptional. (B+)
📺 Last Week Tonight With John Oliver Season 11 - John Oliver still has his magic, even if he's getting more grey hairs. This show will be an essential viewing point with Trump returning to office next year. (A)
🎥 My Old Ass - A bit of a disappointment. I loved the concept but don't think it executed as well as it could. I really enjoyed being set in Muskoka - an area of Ontario where I've spent a lot of time. (B+)
🎥 Gladiator (Rewatch) - I don't think I have watched it since I was 14. Silly, ridiculous, and over the top. (B)
🎥 Gladiator 2 - Had a lot of potential but didn't executive on it. Some great over the top battle set pieces (B-)
📺 Cheaters Season 2 - I had completely forgotten about this show but saw Season 2 had come out. A solid second outing with short little episodes. (B+)
📚 Rendezvous with Rama by Arthur C. Clarke - Another book I read for my Sci-Fi/Fantasy club that I did not enjoy. My biggest realization from this book club is that I do not want old Sci-Fi and Fantasy novels. (C)
🎥 Sweethearts - A very basic rom-com. It is decent background noise but not much else to it. (C+)
🎥 Den of Thieves - It was recommended by a friend but I just couldn't get into it. A bit too over the top for me. (C+)
📺 A Man on the Inside Season 1 - I went into it with very low expectations, but Ted Danson pulls it off. Charming. (A-)
---
# Media Diet: October 2024
Published: 2024-11-23
URL: https://matthewhall.com/posts/media-diet-october-2024/
Tags: media diet
October was dominated by travel and the recovery from all that traveling is what I am going to blame for this being so late. All that travel meant I watched a lot of TV and read many books!
📚 Heaven's River (Bobiverse Book 4) by Dennis E. Taylor - After loving the first three books in the series the 4th is a huge letdown. It clealry should have been left as a standalone trilogy. (C+)
📺 Ludwig Season 1 - David Mitchell of Peep Show fame in a very different series playing a very different character. A great twist on the standard police procedural show. (A)
🎥 Wolfs - What a snoozefest. Clooney and Pitt seem to have lost their chemistry. Had a hard time paying attention to this one. (C)
🎥 Nightbitch - Amy Adams is incredible, as always. Everyone should see this film. Saying more will ruyin it. (A+)
📚 Intermezzo by Sally Rooney - Rooney's last book didn't grab me the same way that Normal People did, but she's back to her magical ways with this one. Was engrossed in the characters from start to finish. (A+)
📚 We Solve Murders by Richard Osman - I just finished reading Osman's other books in time for this to come out. It's similar to his previous series with a fun new twist. I can't wait for the following books in the series. (A)
🎥 Rebel Ridge - An incredibly engrossing film that quickly made a flight go by. (A-)
📺 Alma's Not Normal Season 1 - A brutal but engrossing watch. Fantastic work by every actor in the series. (A-)
📺 Sweet Pea Season 1 - A solid thriller comedy that was fun to watch. Ella Purnell did great as the lead. (A-)
📺 The Office Australia Season 1 - This blend of the original UK Office series, blended with some of the charms of the US Office, but re-set in the 2020s in Australia, just works for me. I love Australian comedy shows, and this hits the mark for me. I'm hoping for many more seasons to come. (A)
📚 An Instruction in Shadow by Benedict Jacka - The second in Jacka's new series continues to engross. Had a hard time putting it down. (A)
📚 Polostan by Neal Stephenson - Not at all what I expect from a Stephenson novel. I am undecided if I will keep reading the series or not. I can say it was an interesting concept that traveled across the world. (B)
📺 Everyone Else Burns Season 2 - I loved Season 1 and Season 2. I can't wait for Season 3. It's such an oddball concept for a comedy, but it works well. (A)
---
# Media Diet: September 2024
Published: 2024-10-09
URL: https://matthewhall.com/posts/media-diet-september-2024/
Tags: media diet
This month marked the return of my local film festival, VIFF! It's one of my favorite times of the year when I see way too many films in two weeks. This year had some absolute standout films after a somewhat lackluster year in 2023.
📚 Senlin Ascends by Josiah Bancroft - Read for my Sci-fi & Fantasy Book Club. It started slow, but by the end, I was enjoying it. I'm looking forward to continuing with the rest of the series! (A-)
📚 For We Are Many & All These Worlds by Dennis E. Taylor - Continuing my sprint through the Bobiverse series, finishing what feels like a trilogy within the series in retrospect. It's a fun series to read, and I flew through it. (A-)
📺 Severance Season 1 - I know I know, this show was incredible, I should have finished it when it first came out. It's an impressive show and I am excited for season 2 to arrive. I promise to read this season in a timely manner. (A)
🎥 Chasing Amy (Rewatch) - I was taking my partner to a pre-screening of The 4:30 Movie, and she hadn't seen any of Kevin Smith's movies before, so I picked Chasing Amy as one to watch. It definitely feels a bit dated, but it still holds up! (A-)
🎥 The 4:30 Movie - We got to go to a pre-screening of the film hosted by Kevin Smith himself, with a Q&A that followed the film. It's not a perfect movie, but it's an adorable, fun ride. I'm also a sucker for coming-of-age films. (A-)
📺 The Grand Tour: One for the Road - I've been watching The Grand Tour, and Top Gear before it, for over a decade now. It's hard to believe it's come to an end. The Grand Tour era of the show had its ups and downs, but this was a solid special to finish off with. (A-)
📺 That 90s Show Season 2 - Nothing special but a light comedy show. Was fun to revisit the world of That 70s Show. (B)
📺 Industry Season 1 and 2 - I've been hearing about this show since it started airing a few years ago but just never made the time for it. I enjoyed the first two seasons! Fills the Succession shaped hole in my TV diet. (A)
🎥 The Wild Robot - My favorite animated film I've seen in a few years. It makes up for the things the recent Pixar films have been lacking. It was just short of becoming a film classic, though, just a few too many cheesy moments. (A-)
📺 The Perfect Couple Season 1 - I had heard many people talk about how fantastic this series was and was slightly disappointed. It's a fine mystery series but nothing that special. (B)
🎥 Bird - Barry Keoghan as an unhinged English Dad is quite the time! Nykiya Adams is a fantastic lead with a bright acting future ahead of her. (B+)
🎥 Anora - Sean Baker's films continue to be masterpieces. This may be my favorite of his films yet. Love seeing Baker getting bigger budgets and making even crazier films! So far it's my favorite film of the year. (A+)
🎥 A Different Man - I left the theatre with mixed feelings. It feels like a play and is an impressive film, but it feels like it lacks something. (B)
🎥 Conclave - Behind the scenes of a dramatic election of a Pope full of backstabbing and nefarious characters? Count me in. It has a stacked cast with Ralph Fiennes, Stanley Tucci, and John Lithgow. (A)
🎥 Black Dog - Stunning cinematography in a stark landscape wasn't executed perfectly. It was missing something to make it a film I'd remember and rewatch. (B+)
---
# Media Diet: August 2024
Published: 2024-09-07
URL: https://matthewhall.com/posts/media-diet-august-2024/
Tags: media diet
It's hard to believe that the summer is already come to an end, it just flew by. A slow start with a lot of cool and rainy weather made it feel like a shorter summer than usual. Hopefully our good weather continues to hold through September and we can enjoy it a bit longer.
📺 The Bear Season 3 - A massive change in pace for the series, with some deeply introspective episodes showcasing different characters. It didn't hit the same way as previous seasons, but I still loved it. (A-)
📺 Under the Bridge - Based on a true story and set in British Columbia, but I had never heard about it before! It's hard to watch, at times, for how cruel kids can be to each other. (B+)
📚 Under the Skin by Michel Faber - Suggested at my book club and was what the Under the Skin (2013) film was based on. It was very different from the film, but I enjoyed it. Very unsettling read. (A-)
📚 Tell No One by Harlan Coben - Wanted something light and engaging to read while camping and have a friend who loves the Coben series. Picked this up and it lived up to its reputation of a light & wild ride. (B+)
📚 Fool Me Once by Harlan Coben - Continued the Coben train while camping but this one was a let down. Twists were too similar to the last book. (C+)
📺 Motherland Season 2 - Continuing to thoroughly enjoy the series. Perfect light distraction show. (A)
🎥 Fly Me to the Moon - What a snoozefest of a film. There was no chemistry between the cast, the plot was boring, and I kept getting distracted during it. (C)
🎥 Rye Lane - One of my favorite romantic comedies of the last decade. A must watch. (A+)
📚 The Mercy of Gods by James S. A. Corey - A new series from the authors of The Expanse. Had a hard time getting into it. I may try the next book, but this one didn't do it for me. (C+)
🎥 Inside Out (Rewatch) - It continues to be one of the best Pixar films of the last decade. (A)
🎥 Inside Out 2 - Not as good as the original but a worthy addition to the universe. If you enjoyed the first one it's definitely worth the watch. (B+)
📚 Demon Copperhead by Barbara Kingsolver - Suggested to me by my partner, and wow, what a fantastic novel. So incredibly hard to read at points but you connect deeply with the characters. Will be thinking about this book for years to come. (A+)
📚 We Are Legion (We Are Bob) by Dennis Taylor - It has been an excellent month for reading, and I loved finishing it off with the Bobiverse series. Thoughtful while still being light and entertaining. I'm going to continue to fly through this series. (A)
---
# Media Diet: July 2024
Published: 2024-08-11
URL: https://matthewhall.com/posts/media-diet-july-2024/
Tags: media diet
Summer has been absolutely flying by, and Vancouver finally got hot in July! I enjoyed some adventures off to Victoria, a few days in Cupertino for an Apple event, and then a lovely week in Berkeley. I wrapped up the month with some backcountry camping, where I got a lot of reading done.
🎥 The Map of Tiny Perfect Things - Simple little rom-com. Not too memorable, but it was a good watch. (B)
📚 The Familiar by Leigh Bardugo - I loved Bardugo's Grishaverse book series, but I haven't been enjoy her Alex Stern series. Glad she has branched out with something new. It was very different from what she's written before, which I appreciated! (A-)
📚 Baby X by Kira Peikoff - Fun DNA based caper crossed with a bit of a love story. Good quick read. (A-)
📺 Motherland Season 1 - Reminds me of CBC's Workin' Moms but with an English twist. Looking forward to watching the rest of the series. (A)
🎥 Twister - I rewatched the original, which I don't think I've seen since the early 2000s. It was alright, but it didn't hold up. (B)
🎥 Twisters - After the Twister rewatch my expectations were even lower for Twisters. I really enjoyed it though! It was a fun summer film. Daisy Edgar-Jones is incredible as always. (A-)
📚 Someone You Can Build a Nest In by John Wiswell - Overall, I enjoyed it, it had some weird pacing problems. (B+)
🎥 The Bikeriders - I do not understand the love for this film. Absolute snoozefest. (C)
🎥 Deadpool 2 - Rewatch in preparation for the new film! Still holds up well (A-)
🎥 Deadpool and Wolverine - As someone who has seen every "legacy" Marvel film, this was the perfect goodbye to that era of comic book films. Brought back memories of seeing Elektra in theatres in Toronto on a hot summer day and having it just be me and my friends in the movie theatre. (A)
📺 The Jetty Season 1 - Great to see Jenna Coleman get to do a role with lots of range. It's a decent British detective mini-series but nothing mind-blowing. (B)
🎥 Copa 71 - Documentary looking at the original Woman's World Cup with the depressing insight of how the players were treated at the time. (B+)
📚 Annie Bot by Sierra Greer - Fantastic look at personhood and AI. Creepy, weird, and thoughtful all wrapped into an engaging story. (A)
---
# Media Diet: June 2024
Published: 2024-07-06
URL: https://matthewhall.com/posts/media-diet-june-2024/
Tags: media diet
It feels like summer has finally arrived in earnest after months of slowly peaking its head out and hiding again. Time for bike rides, reading books on the patio, and enjoying as many soccer games as possible!
🎥 Wild Things - Classic 90s thriller with Kevin Bacon that I somehow hadn't seen before. Great popcorn watch. (A)
📚 Aurora by David Koepp - I really enjoyed Koepp's previous book, Cold Storage, so wanted to give this a read. Was solid but not as good as Cold Storage. Writing this I discovered he's a prolific screenwriter too, I had no idea! Jurassic Park, Indian Jones, Mission: Impossible. So many films that I love! (B+)
🎥 Hit Man - Another classic from Richard Linklater that I am sure I am going to be rewatching for years to come. So far my favorite film of the year. (A+)
🎥 Road House - Ooph. I am not sure who thought this reboot was a good idea. (C-)
📺 The Jinx Season 2 - A docuseries that I never expected to get a second season, but it pays off! Great way to wrap up the insane story of Robert Durst. (A-)
🎥 All of Us Strangers - Continuing my love affair with both Andrew Scott and especially Paul Mescal. Mesmerizing from start to finish. (A)
📚 Upgrade by Blake Crouch - Did a re-read because I completely forgot the book and wanted to try the Netflix show out. Not the best of Crouch's books but still a fun one. (B)
📺 Welcome to Wrexham Season 3 - A new format and a shorter season leads to middling returns. I understand why they're going to run out of stories to tell outside of the football season, but hopefully, they can do more next season. (B-)
📺 Clarkson's Farm Season 3 - It's amazing what this show has managed to become. Originally just Clarkson being a moron starting a farm but developing into a heartwarming and insightful show. I love the side of Clarkson you get to see that isn't apparent on Top Gear. (A+)
📺 Shoresy Season 3 - Could basically copy/paste the description of Clarkson's Farm but replace it with Shoresy references. I always enjoyed Letterkenny but I think Shoresy has managed to surpass it. Something special about it. (A)
🎥 May December - Natalie Portman & Julianne Moore make a fantastic team. It's a film that sits with you and makes you think. (A-)
🎥 Self Reliance - Had high hopes for a Jake Johnson and Anna Kendrick combo. Was an easy to forget film after watching it. (B-)
📺 Colin from Accounts Season 2 - Continues to be a solid Australian comedy series, but it definitely waned a bit in its second season. (B)
🎥 Ramy Youssef: More Feelings - Ramy continues to be one of my favorite standup comedians. I can't wait for his upcoming TV series "Golf." (A)
🎥 Wicked Little Letters - Fun that it's based on a true story, but that's about as fun as it gets. (B)
🎥 A Family Affair - Was in the mood for a lowkey romcom. This was bad. Do not watch. (C)
🎥 Lisa Frankenstein - Marginally better than A Family Affair but still a stinker. (C+)
📚 Thursday Murder Club Books 1-4 by Richard Osman - I didn't love the first book but kept reading, and the series gets much better from there. I really enjoyed Osman on Taskmaster and had no idea he had created this series! (A)
---
# Media Diet: May 2024
Published: 2024-06-27
URL: https://matthewhall.com/posts/media-diet-may-2024/
Tags: media diet
I watched a ton of movies in the theatre this month which was a nice treat! It's always a great excuse to eat some popcorn with M&Ms. These posts keep slipping later and later in the month, so I'm going to try to get back on track with the next one!
🎥 Prom Dates - Was really looking forward to this one but found it very underwhelming. Barely even remember what happened in it at this point. (C-)
🎥 Anyone but You - I know this movie got a lot of hate but I went into it with 0 expectations and had a great time. Simple, stupid, mindless rom-com. (B+)
📺 Class of '07 Season 1 - Fun little comedy show that was worth a watch. (B+)
📺 Baby Reindeer Season 1 - Very curious how we will look back on this series in a decade. Was it exploiting a woman with mental illness? Was it illuminating a painful experience? Whatever it is, thoroughly enjoyed it. (A)
📚 Shantaram by Gregory David Roberts - A recommendation from my co-worker. Very different from what I usually read but was very interesting nonetheless. (A-)
🎥 Fall Guy - Perfect summer popcorn movie. Just go see it. (A)
🎥 The Idea of You - Adorable rom-com, perfect for being cuddled up on a date night. (A-)
📚 The Icarus Hunt by Timothy Zahn - Prequel? Book he re-wrote? Still don't really understand how this fits into the universe of the other books in the series. (B+)
📚 The Galactic Cold War #1 - #3 by Dan Moren - Solid and easy to read, but nothing too special. (B+)
🎥 Babes - Was a bit underwhelmed from it but maybe my expectations were too high for it. (B+)
🎥 Kingdom of the Planet of the Apes - Not as good as the previous films in this reboot series but still a fun film to see. (B+)
🎥 Furiosa: A Mad Max Saga - Nowhere near as good as Fury Road but still a fun ride! It was very divisive with my friends I saw it with, but for me, it was exactly what I wanted from it. Finishing it with shots from Fury Road was a mistake, though; it really shows how Furiosa pales in comparison. (B+)
🎮 A Short Hike - I saw some articles and videos about how fantastic this was but was a bit underwhelmed. Maybe a bit too simplistic for me compared to something like "Firewatch". (B-)
🎥 Alan Partridge's Scissored Isle - I love Steve Coogan but only have slowly jumped around through the Alan Partridge works. This one was a very entertaining film. (A-)
📺 Hacks Season 3 - Another solid season of Hacks, it continues to be one of my favorite shows on TV. (A)
📚 In Our Stars by Jack Campbell - A new series by Jack Campbell that is suspiciously identical in plot to his previous series? Was still enjoyable, but really felt like he had the opportunity to do something new and just did what he was comfortable with. (B)
---
# Media Diet: April 2024
Published: 2024-05-08
URL: https://matthewhall.com/posts/media-diet-april-2024/
Tags: media diet
I spent three weeks of April traveling in Europe, with very little time spent reading or watching TV or films, so it's a very light list this month! I enjoyed watching six soccer games over three weeks, replacing many other media I could consume.
📚 The Bezzle by Cory Doctorow - Another light fun book in the "Martin Hench" series from Cory Doctorow. I burned through this one in a week or so; it was a fun read. (A-)
📺 3 Body Problem - I had no hope for this being watchable. Combining a hard-to-adopt book with the David Benioff and D. B. Weiss combo seemed a recipe for success. I ended up being pleasantly surprised! They made some great modifications to the series, making it much more watchable on-screen. They picked a part of the book to end the season, and I have some questions about how they will adapt book 2, but overall, it was worth the watch. (B+)
📺 Fallout - Despite never having played the game, I was drawn to it by the rave reviews from my friends. I expected a light and entertaining experience, and boy, did it deliver! The game was a rollercoaster of insanity and chaos, keeping me hooked throughout my travels. (A)
📺 Blue Lights Season 2 - One of my surprise favorite shows of last year knocks it out of the park with their second season. There are some great new characters and some growth of existing characters paired with a great story. I can't wait for the next season. (A)
🎥 Challengers - Zendaya in a steamy love triangle? What more could you watch in a movie? Set against the backdrop of professional tennis, it makes for an exciting, engaging film. (A)
🎥 Civil War - As a fan of director Alex Garland's work, I was eagerly anticipating this film. It didn't disappoint. It was a captivating and emotional journey, completely different from what the trailer led me to expect - in the best way possible. (A-)
---
# Media Diet: March 2024
Published: 2024-04-14
URL: https://matthewhall.com/posts/media-diet-march-2024/
Tags: media diet
This media diet may look short, but that's just because I read the entirety of the Dungeon Crawler Carl series. After finishing it, I immediately backed the author [Matt Dinniman on Patreon](https://www.patreon.com/dinniman). What a great author and a fantastic series.
📺 Criminal Record Season 1 - Peter Capaldi & Cush Jumbo make a great combo, but the series lacked something. I enjoyed watching it, but they could have done more about it. (B+)
📚 The Tainted Cup by Robert Jackson Bennett - I've enjoyed Robert Jackson Bennett's previous books, but this one is different. It's one of my favorite fantasy books I've read in the last few years. It was hard to put down and kept me up late at night reading. I can't wait for the next books in the series. (A+)
📺 Avatar: The Last Airbender (2024) Season 1 - I'm a huge fan of the original series and begrudgingly gave this a watch. I don't understand who thought doing a direct remake of the original show, but live-action was a good idea. It adds nothing to the story and does nothing new of value. Switching from a 30-minute to an hour-long format caused many episodes to drag. (C+)
📚 Dungeon Crawler Carl Series by Matt Dinniman - I flew through this series; it's such a fun and easy read. I read all six books released this month and loved all of them. This is my first discovery of the "LitRPG" genre, and it is one that I'm excited to dive further into. You'll love this series if you enjoy fantasy books and video games. (A)
📺 The Dry Season 1 and 2 - After watching The Lovers, I discovered Roisin Gallagher's other show, The Dry. It is a solid, dark family drama. It is hard to find the episodes online to watch outside of the UK, but it is well worth the effort. (A)
📺 The Gentleman Season 1 - Peak Guy Ritchie. His style may be better suited for TV than film. I can't wait to see more of this. (A)
---
# Media Diet: February 2024
Published: 2024-03-11
URL: https://matthewhall.com/posts/media-diet-february-2024/
Tags: media diet
February was a very low-key month. I had no big travel plans, just a quick jaunt to Victoria for the Whitecaps vs Tigres soccer match and then back home. I enjoyed the break in travel, as things are looking like they will start ramping up again soon.
📚 The Three-Body Problem by Liu Cixin - I've read it before but re-read it for my Sci-Fi & Fantasy Book club. Still not its biggest fan. Some of it is the most fascinating writing I've ever read, but I skimmed to get through it at other times. (B)
📺 Drive to Survive Seasons 1 to 5 - I've been slowly watching my way through this while on my spin bike and have been enjoying it! I have a lot of friends who are F1 fans, and it's slowly been helping me get more into it. I look forward to following the 2024 season more closely! (A)
📺 One Day (2024) - A cute, fun, and occasionally depressing watch. It's worth the binge. (A-)
🎥 How to Have Sex - Brutal coming-of-age that is an essential watch. Great commentary on our culture of sex and consent. (A)
📺 This Is Going to Hurt Season 1 - I love both Ben Whishaw & Ambika Mod, and they both crush it in this show. Heart-wrenching black comedy. (A)
📚 The Red Knight by Miles Cameron - I enjoyed reading it, but it could have been more memorable. I never felt any motivation to keep reading the series. (B+)
📺 The Grand Tour: Sand Job - A solid return to form for the three hosts! I have not enjoyed the last few specials, but there was something about this one. Sadly, their next particular will be the end of The Grand Tour. (A-)
📺 Funny Woman Season 1 - A solid British comedy but nothing special. It is easy and fun to watch. (B+)
🎥 The Iron Claw - A vivid depiction of a wrestling family falling apart. It's hard to watch, but what a story. It's hard to believe it's based on a real family. (A)
📺 Life & Beth Season 1 - A very different Amy Schumer than has been in any film or TV! It's much more relatable and down to earth. I'm looking forward to watching Season 2. (A-)
🎮 Balatro - The rare video game on my media diet! It is an absolute blast—a rogue-like deck-building game blended with poker. It is perfect for playing while cuddling on the couch with the Switch. (A+)
---
# XMPP, not RSS: The downfall of the Read-Write Web
Published: 2024-02-16
URL: https://matthewhall.com/posts/xmpp-not-rss-the-downfall-of-the-read-write-web/
Tags: protocols, open web, xmpp, rss
> RSS was a legacy of the Read web, not the Read Write web. On top of that, its death is linked to the rise in the Read Write web.
I've been reading Chris Dixon's "Read Write Own" after my friend [Annika](https://annikalewis.com/)'s recommendation and hearing Dixon's interview on [Hard Fork](https://www.nytimes.com/2024/01/26/podcasts/hard-fork-ai-news-media-a16z-chris-dixon.html). It examines the history of the internet and discusses its future. He breaks it into 3 phases: "Read," "Read Write," and "Read Write Own."
"Read" is also known as Web 1.0. Websites built for consumption alone with limited interactivity. Consider reading an article in the New York Times or buying an item on Amazon.
"Read Write" is also known as Web 2.0. Websites where you could interact and create your content. Think about writing a post on Facebook, commenting on a Reddit thread, or posting a photo on Instagram.
"Read Write Own" is what Dixon describes as the future of the internet - The blockchain-based destiny of the internet. Not only do you "Read" and "Write," but you're seamlessly able to "Own" the content you create.
A continuous argument throughout the book is that the downfall of RSS is when the "Read Write" web failed. RSS is positioned as having started an open standard for the social internet, with examples like Twitter offering RSS feeds of profiles only to remove them.
In this piece, I argue that RSS was a legacy of the "Read" web, not the "Read Write" web. On top of that, its death is linked to the rise in the "Read Write" web. XMPP is the most accurate protocol comparison Dixon could have used for the "Read Write" web, and it didn't fail in the way Dixon argues.
## RSS is from the "Read" web
The first issue I have with Dixon's argument is his assertion that RSS is a legacy of the “Read Write” web rather than the "Read" web; I argue that RSS is a “Read” web protocol since it allows you to consume a website but not interact with it in any way. It gives you news articles and blog posts, not an interactive social media feed.
The "Read Write" web was defined by its bi-directionality. You read and reacted to someone's Facebook post. You created a thread on Reddit and disagreed with the comments.
With RSS, if you want to leave a comment on a blog post you read, you'll open the article in a web browser. It's as dumb as a computer-readable version of a website. It's just another failed "Read" open protocol and has little to do with the "Read Write" web.
### RSS is a pre-algorithmic feed
Today, we live in a world of algorithmic feeds. Every time you open a social media site, you read fresh content. No waiting for the people you follow to do anything new; the algorithm will find you fresh content to consume.
RSS was from a time before the algorithmic feed was commonplace. You opened Twitter, Facebook, or Instagram and just saw the most recent posts from your friends. RSS works the same way; it's designed to give you the most recent posts from the sites you followed.
Facebook introduced the [algorithmic feed in 2011](https://web.archive.org/web/20110925211838/http://blog.facebook.com/blog.php?post=10150286921207131), and then Google Reader was [shut down in 2013](https://googleblog.blogspot.com/2013/03/a-second-spring-of-cleaning.html). Google could read the tea leaves and see what was coming; the chronological feed was about to die.
RSS protocol was designed to fail in our modern algorithmic feed-driven world. It was for a "Read" web of a different era.
### Google Reader was a corporate network, anyway.
One of the applications pointed to by Dixon as the death of the open protocol and the rise of the corporate network is Google killing its Google Reader product in 2013.
What is rarely mentioned is that It had social features that were only available to Google Reader users. They weren't built upon the RSS protocol; they were custom in-house "corporate network" style features.
Before the launch of Google+, the Google Reader application offered an extensive friends system. You could add friends, follow them, and share news items privately and publicly. It was a corporate network built on the back of RSS.
## XMPP is the original "Read Write" Protocol
The protocol gets a quick shout-out in "Read Write Own" but doesn't go into much detail. Originally called Jabber, It's been around just as long as RSS - since 1999. It was the standard for instant messaging. It dreamed of a world where you didn't have six different messaging applications on your phone but instead had one application that let you message anyone, anywhere.
Almost every internet user, mobile phone owner, and gamer used XMPP - even if they didn't realize it. It was in your Gmail inbox, running on your PlayStation game console and powering your Facebook Messenger. It was everywhere.
It's estimated that [Google Reader had around 30 million users](https://www.theverge.com/23778253/google-reader-death-2013-rss-social) at its peak. XMPP, on the other hand, clears [3 billion users](https://xmpp.org/uses/instant-messaging/).
It supported a flexible extension system that saw widespread adoption. It has extensions for video chat, Off-the-record messaging, group chat, file transfer, etc. RSS had a module system that was barely used. Its only actual adoption was in the Podcast space with [Media RSS](https://en.wikipedia.org/wiki/Media_RSS).
It is truly a vision of a standard for "Read Write." It was designed to be a flexible specification that could be used for all manner of use cases. The possibilities XMPP planned for include chat rooms, network management, content syndication, collaboration tools, file sharing, gaming, remote systems control and monitoring, geolocation, middleware and cloud computing, VoIP, and identity services.
### XMPP Took off
RSS never got out of its nerd bubble. Google may have had Google Reader, and Twitter may have supported RSS feeds for profiles, but RSS was only utilized in various ways.
XMPP, on the other hand, was powering services that billions were using all around the world.
It was supported by [Google Talk](http://googletalk.blogspot.com/2006/01/xmpp-federation.html), the original of Google's messaging platforms. It was built into the Gmail web interface and used heavily.
It was built into [AOL's AIM messenger](https://web.archive.org/web/20080120143857/http://florianjensen.com/2008/01/17/aol-adopting-xmpp-aka-jabber/) for a few years, once the predominant messaging platform.
It was supported in the early days of [Facebook's Messenger platform](http://blog.facebook.com/blog.php?post=297991732130) before it became the giant it is today.
The messaging client I grew up using the most, [Microsoft's MSN Messenger](https://archive.is/lPr2G), even supported it before its death.
WhatsApp was using its fork of XMPP called [FunXMPP](https://mycodeplex.wordpress.com/2016/03/08/inside-of-whatsapp-part-1/) until just a few years ago and supporting billions of users.
It was prolific and lived up to the dream. I fondly remember using the Adium messaging client for Mac and talking to friends across Google Talk, AIM, and MSN Messenger.
### The "Read Write" Protocol Dream Still Died
Of all the significant deployments of XMPP and the billions of users it once supported, it's dwindled to just a few. [Nintendo Switch](https://www.process-one.net/blog/ejabberd-nintendo-switch-npns/), [Zoom](https://www.zdnet.com/article/zoom-patches-xmpp-vulnerability-chain-that-could-lead-to-remote-code-execution/), [Grindr](https://www.meetup.com/Los-Angeles-Android-Developers-Mobile-Developers-Meetup/events/221112018/), and [Kik](https://github.com/tomer8007/kik-bot-api-unofficial) are the last established applications using some variation of XMPP.
None of these support the fundamental goal of XMPP - federation to any client or another network. They all require their bespoke clients.
Why? Because it's way more work to build a proper extension, implement it through XMPP standards, and design appropriate fallbacks for clients that don't support your extension. It's much quicker to fully control the client and server and iterate however you want. They all live up to the "corporate networks" that Dixon describes.
## Open Protocols Are Right Time, Right Format
HTTP and Email were created to solve two generic problems: Delivering messages and transferring information. They were created when Internet protocol standards were starting to be developed. Both protocols have evolved dramatically over the last three decades, but they are solving the problems we still have today.
RSS solved a problem for a while: the "Read" web's chronological timeline. It had no modality to evolve into either the "Read Write" web or the evolution from chronological to algorithmic timelines. It was the correct format for its time, but not for the "Read Write" web.
XMPP emerged from an evolution of email's asynchronous communication to our need for synchronous instant messaging. It solved a core problem in the "Read Write" web and continues to solve them to this day. It was the wrong format, though. It was too hard to extend its functionality and too easy to remove interoperability with other networks. It was the incorrect format for an open "Read Write" web.
Blockchains must be in the correct format at the right time to be an open protocol that solves the failings of RSS and XMPP. So far, they are at the right time but in the wrong format. If developers at the time thought the onboarding and customization for XMPP were challenging, they're facing a new level of pain with Blockchains.
*Thanks to my friend [Annika](https://annikalewis.com/) for tons of helpful feedback on this article.*
---
# Media Diet: January 2024
Published: 2024-02-04
URL: https://matthewhall.com/posts/media-diet-january-2024/
Tags: media diet
Well, this was the most media I've consumed in a month in a very long time!
A combination of spending a lot of time flying and being a bit burnt out in between trips is to blame. I have been watching various series over the last few months that I finished up.
🎥 Nate Bargatze: Hello World - After hearing other standup comedians talk about how incredible Bargatze was, and with him coming to Vancouver for a show, I decided to try him. It just wasn't for me. Nothing special. (B)
📚 Fourth Wing (The Empyrean, #1) by Rebecca Yarros - This year's romance fantasy novel that took off. I usually try them out and don't make it more than 25% of the way through. I finished Fourth Wing and enjoyed the actual fantasy parts of it, but the romance was incredibly dull. (B-)
🎥 Poor Things - Yorgos Lanthimos is the master director of unhinged, intense films. This continues that trend with my favorite cinematography of his films to date. (A)
📺 The Great Season 3 - I've been "slow watching" this over the last few months, knowing it was the final season. It holds up to the previous seasons; sadly, it's over. (A-)
📺 Happy Valley Season 1 to 3 - I had watched the first season back when it was released but didn't realize it had continued. I loved it from start to finish. The 3rd season coming out many years later is a great way to end it. (A)
📺 Everyone Else Burns Season 1 - The Return of Simon Bird! He hasn't acted in anything notable since "The Inbetweeners" but crushes it in this. Fantastic, nuanced commentary on religion. (A-)
🎥 Dream Scenario - Love an unhinged black comedy starring Nicolas Cage. It's a bit inconsistent in the middle, but overall, it's worth a watch. (B+)
📺 For All Mankind Season 4 - My favorite Sci-Fi show on the air today keeps up the quality! It's another great time to jump into the future and some tense drama. (A)
🎥 Saltburn - I had so many people ask me if I had seen Saltburn that I finally got around to watching it. Barry Keoghan gives a masterclass on being incredibly creepy. I enjoyed the film all the way through but didn't find it as shocking as most report it to be. Other strange indie films have numbed me. (A)
📚 Huge: A Novel by Brent Butt - A departure from the comedic stylings of Brett Butt into the thriller, but he pulls it off! It's well worth a read. (A)
🎥 Chicken Run: Dawn of the Nugget - I can't believe the original Chicken Run came out 23 years ago, but this sequel still feels fresh! It is a must-watch for anyone who enjoys animated films. (A-)
📺 Halt and Catch Fire Season 1 to 3 - I watched the first season when it aired but never kept up with it. A co-worker told me how great the rest of the series is, so I finally returned to it. It's a great show that is well worth a watch. I am slowly making my way through the final season now. (A)
📚 Starter Villain by John Scalzi - Easy, fun, and funny read. Great for a light change of pace. (B+)
📺 Fargo Season 5 - I've found the Fargo TV series could have been more consistent, but Season 5 is a return to the first season's quality. Great characters, intense story
🎥 The Killer - A very uneven film. On one hand, it has one of the best fight scenes I've seen in years. On the other, I had a hard time caring about any of the characters. (B)
🎥 Funny Pages - I missed out on seeing this at Cannes in 2022 and was glad I finally got around to streaming it. They could have done more with the ending, but it was entertaining. (B+)
📺 How To with John Wilson Season 3 - This show will go down in history as a cinematic and storytelling masterpiece. (A+)
🎥 Out of Sight - A classic George Clooney film that I hadn't seen before. Great cast of secondary characters. Fun and worth a watch. (A-)
📚 My Murder: A Novel by Katie Williams - Tense from start to finish. Fun sci-fi vibes in an urban setting. (A-)
📺 The Lovers Season 1 - A sweet and funny Irish series. Perfect light viewing. (A-)
🎥 Next Goal Wins - Taika Waititi's disappointing fictional adaptation of the fantastic documentary. Skip this and watch the documentary instead. (C)
📚 Killing Floor by Lee Child - It was my first time reading a Lee Child book, and I enjoyed it! I'll only read some Jack Reacher novels, but I will jump through some of the best-reviewed ones. (B+)
---
# Media Diet: December 2023
Published: 2024-01-07
URL: https://matthewhall.com/posts/media-diet-december-2023/
Tags: media diet
Another year of Media Diets in the books! I spent almost three weeks of December on vacation, with one week in Mexico and two weeks over the Christmas break. I watched only a few TV shows and movies then and read many books. Nothing better than being on vacation and getting cuddled up with a book! Preferably on the beach in a warm destination, but in front of a fireplace, it works in a pinch.
📚 A Wizard of Earthsea by Ursula K. Le Guin - We read this for our Sci-Fi/Fantasy Book Club, and I have mixed feelings about it. Released in 1968, it influenced generations of fantasy novels to come. My biggest issue is with the pacing. Sections of the book just pulled me out of the story. (B)
📚 The Narrow Road Between Desires by Patrick Rothfuss - Yet another novella from Rothfuss to appease us while we wait for a true Kingkiller Chronicle sequel. I didn't enjoy his previous novella, "The Slow Regard of Silent Things, " but that is down to not liking Auri's character. Bast, on the other hand, is a character I love! It's a good read for anyone who's read the rest of the series. (A)
📚 The Lost Cause by Cory Doctorow - Too preachy but well-written and entertaining. A depressing vision of the future of California. (B)
🎥 Dumb Money - This one falls flat like every other film that has tried to recreate the "Big Short" magic. Watching if you're looking for something mindless but nothing special is fun. (B+)
🎭 Elf: The Musical - We celebrated an early Vancouver Christmas with my family and had two fun nights out - delicious meals followed by two shows. The first show was "Elf: The Musical," which was great fun. It's similar enough to the Elf film but has unique twists to make it a successful stage adaptation. (A)
🎭 East Van Panto: Beauty and the Beast - My first Panto experience, and it definitely won't be my last! What a wild romp of a show. (A)
📺 Shetland Season 8 - After re-watching the entirety of Shetland with my partner, who hadn't seen it before, it was time for the latest season! It was a significant change from previous seasons with a new star, but they adapted well. The show's heart is the same, even with a different lead character. (A-)
📚 The Icarus Plot + The Icarus Twin by Timothy Zahn - I discovered Zahn through his incredible Star Wars Thrawn trilogy from the 90s. I have read other books since then but didn't realize he had started this new series! I thoroughly enjoyed the books so far; they're fun, easy reads. (A-)
📺 Colin from Accounts Season 1 - Continuing with my love of Australian comedy shows, this was on a few "Best of 2023" lists, so I gave it a shot. It turns out it's both hilarious and heartwarming! It's worth watching on a gloomy January night. (A)
📺 Sunderland 'Til I Die Season 1 + 2 - Continuing my dive into Football/Soccer docuseries and documentaries, I finally wrapped up Sunderland. I can see its influence on "Welcome to Wrexham." Looking forward to their upcoming Season 3. (A-)
📺 Such Brave Girls Season 1 - I don't know what to write about this one. It's hard to watch. Selfish to the extreme. But a trainwreck that's hard to look away from. (A)
📺 Blue Lights Season 1 - I have a thing for the British/Irish/Scottish police drama series. They're so enjoyable about the format, especially compared to their American counterparts. Blue Lights is something special and unique in this genre. (A+)
📺 Letterkenny Season 12 - The final season! It's hard to believe this is over forever. I watched the first season in 2016 and have loved it ever since. 12 seasons in 7 years is quite the accomplishment. Not every season was a winner, but the universe has always been fun to visit. I'm glad that Shoresy is around to continue the universe. (A)
---
# Things I Was Grateful For in 2023
Published: 2024-01-01
URL: https://matthewhall.com/posts/things-i-was-grateful-for-in-2023/
Tags: things i was grateful for
import GratefulFor from '@/components/shortcodes/GratefulFor.astro';
It's hard to believe another year has passed, and it's time to reflect on another 12 months of life! It's been an eventful year. Lots of travel - both for work and pleasure. Moving within Vancouver again - hopefully, I won't repeat that in 2024.
I've enjoyed writing my media diet posts, but they need more substance. They were inspired by [Jason Kottke's Media Diet posts](https://kottke.org/23/12/my-recent-media-diet-the-end-of-2023-edition), and I appreciate the deeper insights his write-ups provide. I want to spend more time reflecting on what I watch next year.
I wrote various posts that weren't media diet posts this year, but nowhere near as many as I had intended to. The goal for next year is to write as many non-media diets as there are media diet blog posts. I'm getting closer every year!
### Blog Posts By The Numbers
- Articles: 4
- Media Diets: 12
- Project Updates: 6
- _Total Posts: 22_
###  Movie - The Holdovers
Paul Giamatti in a coming-of-age film directed by Alexander Payne. My ideal film! I've always been a sucker for coming-of-age films and have loved Payne's previous work.
I enjoyed attending a pre-screening in Vancouver with my partner and some close friends. Dominic Sessa's debut performance as "Angus Tully" is phenomenal. It's a perfect film to watch over the holidays; it will be a recurring Christmas classic for me!
###  TV - Poker Face
2023 was a fantastic year for television, so this was a tough pick, but it's a perfect modern reimagining of the "case-of-the-week" murder mystery series. Natasha Lyonne is incredible, as always.
The twist of the murder mystery "case-of-the-week" is not being police investigating but instead an individual with a unique ability. It is such a fun adaptation of the genre.
###  Book - A Desolation Called Peace by Arkady Martine
In 2023, I started a Sci-Fi and Fantasy Book club in Vancouver. I've loved having a book club of fellow Sci-Fi and Fantasy fans to read with and discuss different books.
One book we read this year was "A Memory Called Empire," the prior book in the "Teixcalaan" series. I enjoyed it enough to continue to the sequel, "A Desolation Called Peace," which was an incredible read.
The pair of books in the "Teixcalaan" offers a view into a futuristic Sci-fi world rooted in linguistics. I can't say I've ever read another series like it.
###  Podcast - Search Engine
The podcasts I listen to are one type of media I don't write about in my Media Diet posts. I listen to a fair number of podcasts, but many of their release schedule makes it hard to realize when they're "done" for a season to mention them.
For all the podcasts I listened to this year, there was a clear favorite - Search Engine by PJ Vogt. I thoroughly enjoyed PJ Vogt on Reply All and was happy to hear about his return to podcasting.
Some of my favorite episodes from this year include:
- "Why'd I take speed for twenty years?" - PJ reflects on his Adderall use through most of his life.
- "Why are drug dealers putting fentanyl in everything?" - Exactly what the name says.
- "Am I the victim of an international sushi scam?" - PJ keeps getting sick from eating the same sushi from a restaurant in NYC and investigates.
###  Game - The Legend of Zelda: Tears of the Kingdom
There was no competition for my best game of the year. "Tears of the Kingdom" was the only game I sank into for over 20 hours.
I played a few hours of "Diablo IV" and "World of Warcraft: Dragonflight," but I didn't reach the end game either.
"Tears of the Kingdom," on the other hand, was the only one I managed to play all the way through, and it kept me enthralled for hours.
It's been a strong year for Nintendo Switch releases, with both "Pikmin 4" and "Super Mario Bros. Wonder" being released. For once, my Switch was getting a decent amount of use!
###  Board Game - Sleeping Gods
It was a tough competition for my favorite board game of 2023. I played a lot of different games throughout the year. I had many rounds of "Moonrakers" and "Eclipse: Second Dawn for the Galaxy" with friends, lots of sessions of "Star Realms" and "Star Wars: The Deckbuilding Game" with my partner, and large group plays of "Blood on the Clocktower."
"Sleeping Gods" is a co-op legacy game. You work together, piloting a ship and exploring an unknown world, fighting bad guys, and completing quests as you go. A great group of four played this over a few months - usually with brunch on a weekend. Playing through with a group and a fun world to explore was an absolute joy.
If you enjoyed playing "Pandemic: Legacy" or are curious about legacy board games, try "Sleeping Gods"!
###  Activity - Watching ⚽ Soccer/Football
I've had season tickets to my local MLS soccer team for the last two years and have slowly become more interested in soccer. This year, I stepped it up to the next level - finally picking a Premiere league team to follow, going to the local supporters' pub, and watching games on TV.
On top of my season tickets to the Vancouver Whitecaps, I also got to go to two incredible games in Europe. First, I took a solo trip to London, where I saw a huge comeback in Arsenal vs. Bournemouth while standing right behind the net. Then, I went on a PSG vs. Lens trip in Paris in April with my partner and co-workers and saw both Mbappé and Messi score goals.
In the 2024/2025 season, I plan to finally join the Fantasy Premier League - something my brother-in-law has invited me to for years!
###  Album - Tessa Violet: My God!
I spend most of my music listening time on Spotify playlists, so I need help remembering full albums I enjoy. Thankfully there was a very memorable release for me this year - Tessa Violet's "My God!" and her ["Bad Bitch" music video](https://www.youtube.com/watch?v=ydaAxwp9HfI).
I've followed Tessa Violet's music career on YouTube for years, loved her 2019 release "Bad Ideas," and enjoyed this year's "My God!" even more.
I saw her perform in Vancouver this year; it was my favorite show. It was a fun show; she also had some incredible outfit changes. She's worth seeing live if you ever have the opportunity!
###  App - Obsidian
I've struggled for years to find an app I enjoy writing and editing documents. I've tried various web and desktop solutions, but nothing has felt right.
I wanted it to support various devices, allow syncing between them, let me write in the Markdown format, support Grammarly for editing my writing, and offer some customization of how it looks and works.
Obsidian checks all those boxes - and then some! It's a power user's best friend and has extensions galore. I'm still scratching the surface of how I use it, but I consistently use it across Mac, iPadOS, and Android.
###  Project - Weather Embed v2
The first version of Weather Embed was built during the COVID lockdowns in 2020 and has received little love since. It started as a simple API for generating weather forecast images to be embedded in newsletters, Slack posts, etc. Anywhere that a javascript widget wouldn't work.
I re-wrote that simple API project into a complete SaaS application this year and added a [few new features](https://matthewhall.com/posts/building-weather-embed-analytics-with-bunny-cdn/). Building a complete SaaS application from scratch solo has been very satisfying, using some new technology I hadn't used before.
Currently, Weather Embed is feature complete until new customer feature requests exist!
###  Blog Post - What We Watched (And Didn't Watch): Netflix's First Engagement Report
There is a small amount of competition on blog posts this year. The only other competition was [What I Want from Apple's "Reality Pro" XR Device](https://matthewhall.com/posts/what-i-want-from-apple-reality-pro/) and [Board Games For Product Teams](https://matthewhall.com/posts/board-games-for-product-teams/). The easy choice is my write-up on [Netflix's first engagement report](https://matthewhall.com/posts/what-we-watched-and-didnt-watch/).
Data analysis is something I need to improve in - I failed Statistics 100 at University on my first go-round. Since then, I've built some practical skills working at SaaS companies and digging into metrics, but this was different from anything I had done before.
It was very satisfying to extract some interesting takeaways from the data, and I hope to do this type of writing in the future.
###  Tech - Flutter
I have a long history of building mobile applications with non-native programming languages, primarily with web technologies. I last invested in mobile applications quite a few years ago, but I have followed the industry developments along the way.
I have been following Flutter and had a small idea to experiment with implementing Flutter - a [mobile app for finding airport lounges](https://matthewhall.com/posts/lounge-lookup-airport-lounge-mobile-app/). Flutter was a pleasure to work with, and the modern CI/CI tooling for building and publishing apps like Codemagic is refreshing.
I'm sure I'll be back with more Flutter applications in the future!
###  Gear - GaN II Chargers
Last year, I finally achieved my goal of charging every device I travel with over USB-C cables. The only thing lacking was a good charger that worked for multiple devices.
With the launch of portable GaN II chargers, I finally have the dream setup for traveling. One [Anker GaN II 100W charger](https://amzn.to/3vjEpLi), two 6ft USB-C cables, and a backup USB-A to USB-C cable (Primarily for use in rental cars for Android Auto.) It can handle charging my MacBook Pro, my iPad Pro, and my Pixel 7 with ease.
---
# What We Watched (And Didn't Watch): Netflix's First Engagement Report
Published: 2023-12-15
URL: https://matthewhall.com/posts/what-we-watched-and-didnt-watch/
Tags: netflix
For the first time in its history, Netflix has released detailed information on how much is being watched on the platform. After decades of secrecy and vague viewing numbers frustrating show-runners and actors, we finally have some answers. Thank you to the [WGA strike](https://www.wgacontract2023.org/the-campaign/what-we-won) for forcing the release of this data!
They're calling this their "[What We Watched](https://about.netflix.com/en/news/what-we-watched-a-netflix-engagement-report)" report and publishing it twice yearly. It lists every entry on the Netflix platform, its release date (for Netflix originals), whether it's available internationally, and its hours viewed rounded to 100,000 hours.
Frustratingly, it lacks vital information. There is no listing of each entry's Netflix ID (The number that shows up in your browser after `netflix.com/title/`), no info if it's a TV show or a Film, no idea on the length of the entry, or even if it's a Netflix original series.
Still, it's an exciting treasure trove of data for a nerd who loves TV and film. I spent a few hours going through the top 100 entries on the list, adding some helpful information for comparison, and finding some surprising insights from the list.
## "Hours Viewed" Is Intentionally Misleading
The headline metric across the report is "hours viewed rounded to 100,000". Specifically, if between 0 hours and 100,000 hours, it's rounded up in the report. An incredible 3,812 titles fall into this minimum bucket of 100,000 hours. That's around 20% of the entire Netflix platform that could never have been viewed in 6 months.
The "hours viewed" metric also combines viewing hours that aren't very comparable. The Brazilian Telenova "Chiquititas (2013)" is #38 globally (162,000,000 hours viewed). The context that is missing? It has 473 sixty-minute episodes on Netflix. Only around 342,495 views of the entire series have occurred, meaning fewer subscribers engage with that content.
The film "Your Place or Mine" ranks above it at #37 (163,000,000 hours viewed). Its 1h51m length means it's been viewed 88,108,108 times - 257 times more than "Chiquititas (2013)".
I spent some time breaking out the top 100 even further with the length per entry and the number of entries to get a more accurate sense of "user views." Unsurprisingly, the top entries mainly were films, not TV shows. Overall ranked #14, "The Mother," and #33, "Murder Mystery 2," take the top two spots, with 127,067,797 and 117,033,708 "views," respectively. It's not until the third place that a TV series shows up - "The Night Agent: Season 1" with 108,280,000 views.
## Am I old and out of touch?
I watch a lot of films and TV. I keep track of the industry. I even [write about what I'm watching every month](https://matthewhall.com/tags/media-diet). But I have watched so little of what is most watched on Netflix.
In the top 25 entries, the only things I've watched are "BEEF," "The Diplomat," and a regretful hate-watch of "Extraction 2".
I don't know what that says about me. Am I old and out of touch? Am I no longer Netflix's target audience? Should I even be paying for a Netflix subscription anymore?
Looking through some of the most watched entries, I see they're not even anything I am interested in. I'm not missing out on anything.
## Cancellation Surprises
I was a big fan of the Shadow and Bone series of books and was delighted when Netflix announced an adaptation. I thoroughly enjoyed the first two seasons and was surprised by its cancellation this year.
When this viewing report came out, seeing how well both seasons have been viewed was terrific. Both were in the top 100 most viewed entries, with Season 2 at #26 (192,900,000 hours) and Season 1 at #92 (99,500,000 hours).
It is a costly show to produce, but Netflix has other similar shows. Its best parallel is with The Crown. The highest-ranked season is Season 5, down at #153 (76,300,000 hours). It's followed by Season 1 at #389 (42,400,000 hours), Season 2 at #551 (33,300,000 hours), Season 4 at #555 (33,100,000 hours), and Season 3 at #646 (29,600,000 hours).
## Missed UX Opportunities

Digging around in the low-hanging "100,000 hours" entries, I noticed a variety of memorable episodes and spin-off series that are being completely missed because Netflix treats them as separate from their related TV show.
A perfect example of this is BoJack Horseman. Season 1 from 2014 is still raking in a reasonable 13,600,000 viewing hours. It has a Christmas Special episode that integrates with the first season, "Sabrina's Christmas Wish," but is displayed separately in the library.
If it was displayed as part of the TV season in the Netflix UI, it is easy to assume that it would generate millions of hours of viewing for Netflix.
## Is "Netflix Is a Joke" a Joke?

Over the last few years, Netflix has focused heavily on standup specials, even putting on a [standup festival](https://www.netflixisajokefest.com/). Standup specials were a great fit for Netflix, being cheap to produce and a reliable way to consistently add new content to their library to keep people coming back.
Looking through this data, is anyone watching standup specials on Netflix?
Highly controversial specials seem to be doing OK - "Chris Rock: Selective Outrage" is at #491 (36,200,000 hours), but nothing else released in 2023 comes close.
"John Mulaney: Baby J" lands at #1748 (11,900,000 hours), "Amy Schumer: Emergency Contact" at #4639 (3,200,000 hours), "Mae Martin: SAP" at #6741 (1,500,000 hours), and "Hannah Gadsby: Something Special" at #6916 (1,400,000 hours)
It seems that many of the specials on the platform are in the "100,000 hours" bucket - including "Patton Oswalt: Annihilation," "Patton Oswalt: I Love Everything: Special," "Judd Apatow: The Return," "John Mulaney & The Sack Lunch Bunch," "Marc Maron: Too Real," and "Mike Birbiglia: My Girlfriend's Boyfriend."
## Weekly Talk Shows Don't Age Well
I was surprised when Netflix announced "Patriot Act with Hasan Minhaj" in 2018 - their take on John Oliver's "Last Week Tonight" on HBO. I thoroughly enjoyed "Patriot Act" while it was on the air and was disappointed when Netflix canceled it in 2020.
Unsurprisingly, no one is going back and watching old episodes of a weekly talk show. Seasons 1 through 5 are all in the "100,000 hours" bucket, and only season 6 scrapes it into the "200,000 bucket".
At the time of cancellation, there was a lot of frustration about Netflix canceling a critically acclaimed show, but clearly, the root cause was that weekly talk shows don't make sense for the Netflix model.
## International Netflix is Huge

The top 10 most viewed shows on Netflix include a Korean show (The Glory) and a Spanish show (La Reina del Sur). Only 66% of the top 100 entries are English language shows. 15% is Korean, and 16% is Spanish.
## New Content is King

Perhaps unsurprisingly, the top 100 content is dominated by new content. Over 50% of the hours viewed are from content released in 2023, with 24% from 2022.
## TV > Movies

The top 100 movies had 1,784,000,000 hours of viewing. The TV series had 16,528,100,000 hours of viewing. 90% of all viewing hours are TV shows.
It makes it more surprising that Netflix continues to make big-budget films instead of focusing on shows.
## What did I miss?
Is there anything interesting in the data that I overlooked? Please share it in the comments!
I've made my [modified Netflix Engagement Report](https://docs.google.com/spreadsheets/d/15eq_R9fZERhRKj4lI3Cd8rh5ESC8H-7r/edit?usp=sharing&ouid=102620782256148854922&rtpof=true&sd=true) Public on Google Sheets.
---
# Media Diet: November 2023
Published: 2023-12-05
URL: https://matthewhall.com/posts/media-diet-november-2023/
Tags: media diet
Hard to believe that the end of the year is almost here and that I have only one more media diet post of 2023 to write! I've started reflecting on the [things I'm grateful for](https://matthewhall.com/posts/things-i-was-grateful-for-in-2022/) this year. It's been much easier to put together with a year of media diets to reflect upon!
🎭 Sweeney Todd: The Demon Barber of Fleet Street - I enjoyed the 2007 film adaptation but never saw the original stage production. I loved it; it was my favorite show on my trip to New York! (A+)
🎥 Philomena - I was listening to an interview with Steve Coogan and realized I had never seen this! I had no idea it had won an Oscar, either. Enjoyed it and continue to love Coogan! (A)
📺 Gen V Season 1 - I've enjoyed The Boys but went into this with very low expectations. Was pleasantly surprised! Can't wait to see what they do in the next season. (A-)
🎥 The Batman - I've watched so few DC movies in the last few years, but a friend convinced me to try it. Enjoyed it! Hope they make more DC films like this. (A)
🎥 Quiz Lady - Pretty underwhelming after all the positive reviews. Barely paid attention to it. (B-)
📺 Still Up Season 1 - I love British comedy shows and enjoyed this! (A-)
🎥 Gone Girl - Always enjoyable to rewatch! Still holds up time and time again. (A-)
📺 Upright Season 1 and 2 - Continuing my catch-up of Tim Minchin shows and movies I've missed. Loved seeing a young Milly Alcock! (A)
📚 The Adventures of Amina al-Sirafi by Shannon Chakraborty - I sometimes found it hard to get into. Still, I loved reading a series set in a very different part of the world than is usual for a fantasy book. (A-)
📺 Our Flag Means Death Season 2 - Continues to be an incredible series. Just as good as season 1. (A)
🎥 A Haunting in Venice - Didn't enjoy the previous film, "Death on the Nile", but this is a return to form. It's not as good as "Murder on the Orient Express," but it's still a great watch! (B+)
📺 Brawn: The Impossible Formula 1 Story - I've slowly been getting more into F1, thanks to Drive to Survive and some friends who follow it. I don't know much about past seasons, so this watch was great! (A)
📚 System Collapse by Martha Wells - Murderbot Diaries continues to be my favorite modern Sci-fi series. (A)
📺 Lessons in Chemistry - Great adaptation of the book, but it feels like it could have been 2 episodes longer. Ends way too abruptly. (A-)
📚 Defiant by Brandon Sanderson - The Skyward Series has ups and downs, but I enjoyed this finale. (A-)
🎥 Next Goal Wins (2014) - The documentary that the new 2023 film is based on. It's a must-see for a soccer fan. (A+)
📚 Bookshops & Bonedust by Travis Baldree - A fun prequel to Legends & Lattes, which I loved! Hope we get more books in this universe. (A)
---
# Lounge Lookup: Airport Lounge Mobile App
Published: 2023-12-04
URL: https://matthewhall.com/posts/lounge-lookup-airport-lounge-mobile-app/
Tags: projects
I travel for work regularly and spend far too much time in airports. So, of course, I spend most of that time in airport lounges. I'm always in new airports and need to find out where the lounges are.
Some applications provided by airlines and airline alliances allow for searching lounges, but they all suffer from various flaws. Ugly and challenging to use, being the primary one.
Another issue I run into is limited or unreliable internet access, depending on my country and the mediocre airport Wi-Fi. All of the existing options provided require internet access. An offline-first option needs to be included!
I've made mobile apps in the past, primarily with Cordova (or PhoneGap) and other web technologies like Ionic, but it's been quite a few years since I've built anything for mobile. I've been following Google's Flutter project closely since it launched, and I love its approach to mobile development. This was the perfect excuse to learn it.
I spent much time using ChatGPT 4 and GitHub CoPilot while learning Flutter. The Flutter documentation needs to be improved for a new developer, and the AI route was much quicker. It was conducive to ask the AIs to give me an example of "a scrollable list of card elements," see the example code, and use that to reference my implementation.

As an Android user, I appreciate Google's Material Design system. Flutter makes it incredibly easy to use it -- it's the default option! I kept things simple with a scrollable list of cards.

The only other view in the application is a settings menu to set what loyalty program you're using. Different lounges only allow access from specific airlines, and it's helpful to know immediately.
I travel primarily with Air Canada, so the first version of Lounge Lookup only supports Star Alliance lounges. I'll be adding support for Oneworld and SkyTeam lounges in the future.
Give [Lounge Lookup](https://loungelookup.com/) a try! Available on the [Apple App Store](https://apps.apple.com/app/lounge-lookup/id6467810189) and [Google Play Store](https://play.google.com/store/apps/details?id=com.randomshapes.loungelookup).
---
# Media Diet: October 2023
Published: 2023-11-10
URL: https://matthewhall.com/posts/media-diet-october-2023/
Tags: media diet
I did a lot of traveling this month and spent a lot of time on airplanes -- so it's a very long media diet this month! I'm happy to be back home for most of November and spend more time in the city.
🎥 Red, White, & Royal Blue - I wanted something light and fluffy. This delivered! Perfect for a lazy evening on the couch. (A-)
📺 Ahsoka Season 1 - I have been a Star Wars fan for most of my life but have been disappointed in most TV releases from Disney. Ashoka continues this trend. Nothing special. (B)
📚 Dawn by Octavia E. Butler - Read as part of my Sci-Fi and Fantasy Book club. I thoroughly enjoyed it and found it incredibly disturbing at the same time. I wonder if I'll read the rest of the series. (A)
📺 Only Murders in the Building Season 3 - I love both the cast and the idea of this series. Such a fun and ridiculous romp. (A)
📺 Beckham - I wasn't interested in football/soccer until later in life, so I didn't follow Beckham's career. It made the docuseries riveting to watch as I didn't know his story. It's such a great story told very well. (A+)
📺 Messi in America - The inverse of the Beckham docuseries. It only covers Messi's move to Miami in the MLS and feels like an advertisement for Apple TV and the MLS the entire time. I couldn't finish it. (F)
🎥 Matilda the Musical (film) - I always enjoyed Tim Minchin and had no idea he made this! Fun and easy-to-watch movie. (A-)
📺 The Long Shadow - Riveting from start to finish. A dark, true story I knew nothing about. (A-)
📚 An Inheritance of Magic by Benedict Jacka - A good friend introduced me to Benedict Jacka's other series, which I loved. It was a blast to read the first book in his new series. I couldn't put it down! (A)
📺 Shoresy Season 2 - Sadly, Letterkenny is ending, but Shoresy is a worthy successor. He has a lot of heart for how silly a show it is. (A)
🎥 The Holdovers - I'm a huge fan of Alexander Payne and was very excited to see a pre-screening. It was incredible; it is one of my favorite shows I've seen so far this year. A must-see. (A+)
🎭 Kimberly Akimbo - I went into this musical knowing nothing about it. I picked it because it had won a few Tony awards, and had high hopes. I found it very underwhelming and forgettable. (C)
🎭 Gutenberg! The Musical - Picked only because its stars are Josh Gad and Andrew Rannells! She was better than Kimberly Akimbo but wasn't anything special. (B+)
📺 Band of Brothers (Rewatch) - I watched it originally over a decade ago and started a re-watch because "[Masters of Air](https://www.youtube.com/watch?v=2RWohylGm3c)" is coming out in January. It's still absolutely incredible 22 years after its release. (A+)
📺 The Pacific - I somehow missed this when it was first released and only discovered it because of "Masters of Air." It's not as amazing as Band of Brothers, but it's still a good watch. (B+)
---
# Building Weather Embed Analytics with Bunny CDN
Published: 2023-11-06
URL: https://matthewhall.com/posts/building-weather-embed-analytics-with-bunny-cdn/
Tags: projects, weather embed
[Weather Embed](https://weatherembed.com/) is one of my favorite side projects over the last few years—a simple micro-SaaS for displaying the current weather in an image.
I've slowly been iterating on it and discovering what features would drive user value. I've been figuring out how to achieve this with the platform where it was initially built. I had designed it to generate the images for the weather as rarely as possible to lower the server load. The initial implementation relied on Cloudflare's CDN functionality to cache each customer's weather embed.
The issue with the [Cloudflare](https://cloudflare.com/) caching being in place is that I need to know when the image has been viewed! The request never makes it to our servers, so I never see it happen.
So, to get this information, I need to rely on the CDN. Sadly, Cloudflare keeps the required functionality behind a costly Enterprise pricing plan, so it was time to find a new CDN that better fits our needs.
After comparing a few different CDN options, I settled on [Bunny](https://bunny.net)! They checked all of my boxes:
✅ Request Logs in the base plan
✅ No minimum monthly fee
✅ Great worldwide presence
✅ Reputable brand with high reliability
Bunny offers the ability to store all request logs on their provided cloud storage, letting us download them every few hours, check for new views, and then store them in our database. From there, it was just a matter of generating charts in the web application!

I've also added a handy weekly report that gets delivered to our user's inbox at the start of every week, letting people see the traffic their Weather Embed has received!

Have ideas for other features for Weather Embed? Let me know!
---
# Media Diet: September 2023
Published: 2023-10-04
URL: https://matthewhall.com/posts/media-diet-september-2023/
Tags: media diet
For the first month in a very long time, this post is within the first week of the month! It's nice to get it out on time for a change. I caught up on a random mix of films and TV shows this month. I was constantly in the mood for a light, easy-to-watch comedy.
🎥 You Are So Not Invited to My Bat Mitzvah - I love coming-of-age films and went into this with high expectations. It was underwhelming. I expected better from the Sandler family teaming up. (C+)
📚 Jade Legacy by Fonda Lee - I read the first two books in this series ages ago and didn't love them, so I moved on to other books. After chatting about the series with a friend who loved it, I finally gave it a chance. Wow, do I regret not reading this earlier! Easily my favorite in the entire trilogy. It extends over many years and tells an incredible story. (A+)
📺 What We Do in the Shadows Season 5 - Still a solid comedy show but lots some of its magic. (B+)
🎥 Bottoms - What a fun, wild ride of a film. I was still determining what I was getting myself into going into it. (A-)
📺 Starstruck Season 3 - I'm glad they changed the formula a bit! Binged it all in an afternoon. (A)
🎥 No Hard Feelings - Gotta love a ridiculous sex comedy with Jennifer Lawrence in it! Exactly what I needed while having a lazy evening on the couch. (A-)
🎥 Spontaneous - Watched on the same day as No Hard Feelings and was much more underwhelming. I had to Google it to remember what film this was. (B-)
📺 Minx Season 2 - Not as good as Season 1, but still a fun watch. (B+)
🎥 Theater Camp - I was never a theatre kid, so that may be why I didn't connect with this film. It was just alright. (B)
📚 Killers of the Flower Moon - With the film adaptation coming out soon, I wanted to read the book, and wow, it did not disappoint! As someone who regularly visits Oklahoma for work, I am always interested in learning more about this crazy state's insane history.
📺 The Afterparty Season 2 - Another sequel season that isn't as good as its first. (B)
📺 Breeders Season 4 - The time jump worked well! It helped them change things up enough to keep it interesting and expand the show's scope. (A-)
📺 Reservation Dogs Season 3 - This show was perfect all the way through. Easily one of my favorite series finales of all time. A must-watch show for everyone. (A+)
🎥 Gran Turismo - Light, fun, and over the top. It's fun that it's based on a real-life story. (B+)
🎥 Flora and Son - An adorable film by the creator of Sing Street and Once. Beautiful all the way through. (A)
---
# Media Diet: August 2023
Published: 2023-09-10
URL: https://matthewhall.com/posts/media-diet-august-2023/
Tags: media diet
It's hard to believe it's already September and the Summer is over! It has flown by this year. I am not ready for a return to rain and cold. I hope to get a few trips to warm places this winter!
I spent the first half of August without the internet, so my Film watching this month is much more in theaters than it has been lately.
While putting this together, I noticed my July post was written but never posted. Technical difficulties! I utilize Cloudflare Pages to host this website, and it's continually failing builds. For now, I am manually pushing out builds to the site while I figure out what went wrong.
📺 Daisy Jones & The Six - I read the book earlier this year in preparation for the TV adaptation. I thought it was solid! It took me a little while to get into it, but I thoroughly enjoyed it. (A-)
📚 Hell Bent by Leigh Bardugo - I have almost no memory of the previous book, Ninth House. I never really got into the story or the characters. It's not my favorite work by Leigh Bardugo. (B-)
🎥 Mission: Impossible –
Dead Reckoning Part One - My god, do I hate that we're still doing two-part finales. Both this and Fast & The Furious were terrible. They both have almost identical shots in Rome, too. It's by far the worst entry in the Mission Impossible franchise. (C)
🎥 Barbie is definitely on my list of the year's top films so far. Greta Gerwig continues to be one of my favorite directors. (A+)
🎥 Spirited - Yes, a Christmas movie in August! After moving, I didn't have internet for a few weeks, which was still downloaded on my iPad. It was a light, fun watch. (B+)
🎥 Spider-Man: Across the Spider-Verse - Thoroughly enjoying the animated Spider-Verse films. I can't wait for the next one. (A)
🎥 Teenage Mutant Ninja Turtles: Mutant Mayhem - I was never big into TMNT as a kid, but I thoroughly enjoyed this film. It is an absolute blast from start to finish. (A)
Based on a True Story Season 1 - Love a comedy crime series. Kaley Cuoco and Chris Messina are fantastic. (A)
📺 The Bletchley Circle Season 1 + 2 - Continuing on the Crime Kick is an older series I never watched. I highly recommend it for those who enjoy British crime shows! (A)
📚 Light Bringer (Red Rising Saga, #6) by Pierce Brown - I started reading this series when I got a free pre-print edition of the first book at PAX West years ago. I loved this one after not getting into the last few books in the series. It's the best in the series in ages. (A+)
📺 Tom Clancy's Jack Ryan Season 4 - Better than the previous season but still needs to be better. (B)
📺 Justified: City Primeval Season 1 - I was a massive fan of Justified and was very excited about this return. Many critics complained about the lack of Boyd Crowder, but it did a great job without him. Very excited for the second season. (A-)
---
# Media Diet: July 2023
Published: 2023-08-13
URL: https://matthewhall.com/posts/media-diet-july-2023/
Tags: media diet
I'm finally all moved, and life is settling back to normal and looking forward to spending more time writing and working on some projects. Despite the move and the packing, or maybe thanks to it, I read and watched a ton this month.
As I was putting this together, I noticed this is my first repeat month of Media Diet posts! I've managed to do them consistently for an entire year. I'm happy with that as someone who has notoriously been flaky about posting. Here's to writing more normal blog posts in the next year too!
Indiana Jones Raiders of the Lost Ark - My 100th rewatch, but still just as enjoyable. Great rewatch before Dial of Destiny. (A+)
🎥 Indiana Jones and the Dial of Destiny - I went in with no expectations after how godawful Kingdom of the Crystal Skull was, but I thoroughly enjoyed this! Fun action movie with just enough fan service. (B+)
📚 Witch King by Martha Wells - Usually, I am a giant fan of Martha Wells, but wow, this was such a dud. Read as part of my Sci-Fi and Fantasy Book Club, and it was (almost) universally disliked. (C-)
🎥 Guardians of the Galaxy Vol. 3 - These worsen after each film. A shame they didn't stop with the first one. (C+)
🎥 Extraction 2 - What a snooze fest. The first one was at least some enjoyable action. I was barely able to pay attention to this one. (C)
📺 Never Have I Ever Season 4 - Continues to be a fantastic coming-of-age TV series with lots of laughs. (A)
🎥 Nimona - I loved the graphic novel and thoroughly enjoyed the film! They did a great job with it; worth a watch. (A)
📺 How I Met Your Father Season 2 - An improvement over Season 1! Fun and lighthearted. (B+)
Platonic Season 1 - Had its ups and downs. Decent watch but had the potential to be much more than it was. (B)
📺 The Bear Season 2 - Continues to be one of my favorite TV series of the last decade. Just watch it. (A+)
🎥 Creed III - Another series of films that shouldn't have kept going. (B-)
📚 Yumi and the Nightmare Painter by Brandon Sanderson - I usually enjoy Sanderson's books but have not loved his "Secret Project" series. I disliked the previous book, "The Frugal Wizard’s Handbook for Surviving Medieval England," so much that I didn't finish it. This one was good enough to finish, with some fun ideas, but just not that great of a read. (B)
📚 Resolute + Implacable by Jack Campbell - I just realized I was two books behind this series; I enjoyed getting caught back up! My favorite "beach read" Sci-Fi series. Easy reading and lots of fun. (A)
📺 It's Always Sunny in Philadelphia Season 16 - I hate to say it, but I enjoy the Always Sunny podcast more than the TV show. It feels like they've lost a bit of their spark. (B)
🎥 Thoroughbreds - Anna Taylor-Joy and Olivia Cooke are a fantastic combo. Super fun film. (A-)
📺 BEEF Season 1 - It took me a few episodes to get hooked, but what a wild ride. I thoroughly enjoyed how they wrapped up the series. (A+)
📺 Oppenheimer - I loved the film's first two-thirds, but I still don't know how I feel about the last third. It has changed so much and isn't the same film. Still well worth watching, though. (B+)
📺 The Righteous Gemstones Season 3 - Funny but could be better. I want it to be more like Eastbound & Down. (B+)
📺 Family Law Season 3 - One of the only TV shows today filmed AND set in Vancouver, where I live! I love getting to see my city as the backdrop. It's also a great show, and Jewel Staite is incredible, as always. (A)
📺 The Witcher Season 3 - What a terrible send-off for Henry Cavill. Overall the season was good, but the ending was just atrocious. (B)
---
# Media Diet: June 2023
Published: 2023-07-12
URL: https://matthewhall.com/posts/media-diet-june-2023/
Tags: media diet
Another hectic month, another significantly delayed media diet, and no other blog posts. I hope life will return to normal in July, and I'll be back on track! It was a light media month, with only a few TV shows finishing.
📚 Red Team Blues by Cory Doctorow - First book in a new series from Cory Doctorow. Solid, as always. (B+)
🎥 Scream VI - Continues to be a solid series. Hard to believe they're still making good movies in their sixth installment. (A-)
📺 The Grand Tour: Eurocrash - Sadly, this series has gone entirely off the rails. Hopefully, there won't be too many more mediocre specials left. (C+)
🎥 Are You There God? It's Me, Margaret. - Everyone has been raving about this film, but it just didn't click for me. (B)
📚 A Desolation Called Peace by Arkady Martine - Enjoyed more than the first book in the series! Much more my style. Big space battles and aliens. (A)
📺 The Other Two Season 3 - A wild ride of a perfect season. Fun season from start to finish. Sadly, it will be the last season, but it sounds like that's for the best. (A)
---
# Media Diet: May 2023
Published: 2023-06-16
URL: https://matthewhall.com/posts/media-diet-may-2023/
Tags: media diet
After a very quiet April for media, my May was fully back to normal! A wide variety of TV, Films, and Books. Having Barry, Ted Lasso, Succession, and The Marvelous Mrs. Maisel finish their runs was depressing. All three are some of my favorite shows of the last few years.
📺 The Diplomat Season 1 - A fun and wild thriller with a great cast. (A)
🎥 Women Talking - Sarah Polley is one of my favorite directors, and I have meant to watch this forever. Everyone should give this a watch. (A+)
🎥 Tetris - I went in with no expectations and enjoyed it. Wild ride. (B+)
🎥 Unpregnant - I have had this on my backlog for ages, and glad I finally got around to watching it. I'm a sucker for a coming-of-age story. (A)
📺 The Rookie Season 5 - I'm just here for Nathan Fillion. (B)
🎭 The Legend of Georgia McBride - Favorite live show I've seen recently! Great story and so much fun. (A)
🎥 Blackberry - I am too young to have experienced the rise of Blackberry, but I watched it fall. It was a wild ride and a fun film. (A)
📺 Bupkis Season 1 - Pete Davidson being Pete Davidson. (B-)
🎥 Shazam! Fury of the Gods - Wow, this was a dud. (C-)
🎮 The Legend of Zelda: Tears of the Kingdom - I haven't played many video games lately, but I have always been a Zelda fan. It is my favorite Zelda and one of my favorite games. (A+)
🎥 Fast X - Yeesh, this wasn't very good (F)
🎭 Cats - The musical, not the film of the musical. I didn't see why people loved it so much. (C)
📺 The Mandalorian Season 3 - Wasn't as good as Andor, but watchable. (B)
📺 Succession Season 4 - I was a latecomer to Succession but enjoyed watching that disaster of a family.
📺 DAVE Season 3 - Continues to be one of the best comedies on TV. The finale is wild. (A+)
📚 Yellowface by R. F. Kuang - Something completely different from her previous works, but I enjoyed it just as much! (A)
📚 Temeraire #7 to #9 by Naomi Novik - I thoroughly enjoyed this series. Found it very hard to put down. (A)
📺 Barry Season 4 - A wild way to finish the show-off. I loved every moment of it. I am glad they mixed things up. (A)
📺 Ted Lasso Season 3 - This has been my comfort show that I go back to and rewatch. This season had some ups and downs, but I loved how they finished it. (A+)
📺 The Marvelous Mrs. Maisel Season 5 - I am sad to see this is over, but I loved it the entire time. (A+)
---
# Media Diet: April 2023
Published: 2023-05-03
URL: https://matthewhall.com/posts/media-diet-april-2023/
Tags: media diet
I’ve spent most of April traveling, so it’s a different media diet than usual! Lots more books and only a few TV shows and films. I started the month with a quick work trip to the Bay Area, then enjoyed three weeks in Europe for work. I spent most of those weeks with co-workers, which was always a great experience. Three back-to-back conferences were an exhausting experience, though! Thankfully I finished up with a week of vacation in Morocco with my partner.
I started the European adventure in Laval, France, for the Laval Virtual VR Conference. A more intimate trade show in a smaller French city that I adored. I got to spend some quality time with some co-workers I don’t get to see very often and finished up with a weekend in Paris and a PSG football match.
Then on to Amsterdam, Netherlands, for KubeCon with my DevOps/Platform team at ArborXR. Much was over my head, but I learned much about modern server infrastructure and got some quality time with that team.
Finally, finishing up with my personal favorite of them all, Running Remote in Lisbon, Portugal. I am passionate about remote work, and this was just the conference for me. Learning a lot and networking with some of the remote working community was great.
Now onto my very, very short media diet for the month! Most of the TV shows I’ve been watching are still mid-season.
🎭 Pretty Woman: The Musical - What a bore of a musical. An utterly unnecessary adaptation of the lovely film. It adds nothing to the film; watch it instead. (C-)
🎥 All Quiet on the Western Front - A horrific detailed look at World War I. A must-watch film for everyone. (A)
📺 Doogie Kameāloha, M.D. Season 2 - I never watched the original “Doogie Howser” TV show, but I thoroughly enjoyed this reboot! It’s light, fluffy, and fun to view. (A)
📚 Temeraire #2 to #6 by Naomi Novik - 5 books in the month is where most of my time was spent! I’ve loved Naomi Novik’s other books and thoroughly enjoy the Temeraire series. They’re page-turners from start to finish. (A)
---
# What I Want from Apple's "Reality Pro" XR Device
Published: 2023-04-29
URL: https://matthewhall.com/posts/what-i-want-from-apple-reality-pro/
Tags: apple, xr
> Opinions expressed are solely my own and do not reflect those of [ArborXR](https://arborxr.com/).
After years of rumors and delays, we may be [within a few months](https://www.xrtoday.com/mixed-reality/will-apple-launch-its-mr-headset-at-the-wwdc/) of Apple's mythical XR device being released. I thought this device would never see the light of day. It seemed destined to go the way of the Apple Car, a much-talked-about project that [got killed before the world saw it](https://www.macrumors.com/2021/12/08/apple-car-project-loses-3-engineers/).
All the rumors are pointing towards it being announced at WWDC next month or [later this year](https://mixed-news.com/en/apples-xr-headset-wwdc-preview-uncertain/). I've spent a lot of time talking with co-workers and others in the XR space about what this mythical Apple device will be, and I've spent a lot of time thinking about what I hope Apple will release.
What follows is what I am hoping Apple is working on. Some line up with current rumors, and some diverge from it. I have worked exclusively on Mac laptops for over a decade and have spent the last six years in the XR industry.

### A New Class of XR Device
Apple loves taking an existing class of device and redefining it. Just look at the iPhone with smartphones, the Apple Watch with smartwatches, and the start of personal computing. Many are expecting their XR device to redefine the industry. I don't think this will (or should) happen.
There will still be a use case for the current class of VR devices like the Meta Quest 2, Pico Neo 4, and HTC Vive XR Elite. However, they will serve a very different use case and have a very different price point. They will continue to be standalone VR display-based headsets that are more useful for gaming and training that lack total immersion.

### Not a Gaming Platform
Apple has always had a tenuous relationship with video games and gamers. Steve Jobs [actively avoided any focus on gaming](https://arstechnica.com/gaming/2018/05/carmack-says-he-helped-convince-jobs-to-use-opengl-on-mac/), the Mac team seems set to make it difficult for game development on macOS, and only recently the iOS team has had [attention on gaming](https://tech.hindustantimes.com/tech/news/apple-arcade-gaming-subscription-service-launched-for-ios-mac-and-apple-tv-story-bOcAg1tgPd3vO9BMhV6zTO.html).
Today's breakout consumer uses for XR are almost all gaming related, from [Beat Saber on the Meta Quest](https://beatsaber.com/) to [Pokemon Go on your phone](https://pokemongolive.com/?hl=en). So Apple has to do something different and not compete directly with Meta's Quest. Meta has seen that they have had to [burn a lot of cash](https://www.businessinsider.com/charts-meta-metaverse-spending-losses-reality-labs-vr-mark-zuckerberg-2022-10) to compete with traditional gaming consoles.
### Productivity Focused
With the rumors that the device will support [existing iPad applications](https://www.cnbc.com/2023/04/24/apple-vr-headset-will-run-hundreds-of-thousands-of-ipad-apps-report.html), a [business app suite](https://appleinsider.com/articles/23/04/18/apple-is-working-on-gaming-and-fitness-apps-for-its-ar-headset-before-launch), and a [$3,000 price tag](https://mixed-news.com/en/apple-mixed-reality-headset-expectations/), this device will have the most straightforward direction. Meta [struggles with a $1,500 price tag](https://mixed-news.com/en/meta-has-just-released-quest-pro-and-is-already-lowering-the-price/) for the Quest Pro. It will focus on Apple customers already buying a $3,000 MacBook Pro and a $5,000 Mac Pro.
No existing XR device is excellent for the average productivity workflow. Apple could completely change this for software developers, digital creatives, and many more industries. They've worked hard to make the iPad a device that can be used for any of these industries, and they'll also bring it to XR.

### AR, not MR or VR
The current rumors are that this device will be a [VR device with a high-end passthrough](https://www.notebookcheck.net/Apple-Reality-Pro-AR-VR-headset-information-dump-reveals-an-iOS-like-interface-advanced-eye-tracking-and-close-to-US-3000-price.684524.0.html). Unless they've managed to crack the nut of high-end latency-less passthrough video, I hope this is not the case. Passthrough video always feels wonky and is less immersive than a complete AR experience. Especially at the $3,000 price tag, VR or MR seems like the wrong choice.
But AR is hard. Magic Leap has [raised billions of dollars](https://techcrunch.com/2021/10/11/seven-years-after-raising-542m-at-a-2b-valuation-magic-leap-raises-500m-at-a-2b-valuation/) and invested it in developing AR from scratch. It's impressive what they've achieved with the Magic Leap 2, but it's not an Apple-level product today.

### Deeply Integrated
With any new Apple device, this goes without saying; there will be deep integration with your other Apple devices and services. Apple loves a cohesive ecosystem where everything plays nicely together. It seems obvious to an XR outsider, but this is one of the significant failings in Meta's Quest 2 and Quest Pro. Its interaction with [Facebook, WhatsApp, and Instagram](https://www.meta.com/help/quest/articles/in-vr-experiences/social-features-and-sharing/messenger-in-vr/) needs to be improved.
Acting as an extension of your Mac or iPad is the ideal integration point. Having seamless virtual displays and interaction with your desktop applications. Still, it shouldn't be a mandatory connection as a tethered device, just an optional extension for better workflows.
### Easy to Use
Ease of use is XR's biggest failing to date - but one that has provided us an opportunity over at ArborXR to thrive. Using an XR device is challenging. So Apple has to make it easy.
No more cumbersome room setup. Typing with physical keyboards, not pointing with fingers. No new controllers to learn, just simple gestures. Apple needs to rethink the experience from scratch and redefine what it means to use XR.

### Only Time Will Tell
I don't have a ticket to WWDC, so I will watch the live stream from home like everyone else, but I am excited to see what Apple releases! No matter what they release, it will make a splash one way or another. Or maybe it will get killed right before anyone sees it.
---
# Weather Embed: From API to SaaS
Published: 2023-04-08
URL: https://matthewhall.com/posts/weather-embed-from-api-to-saas/
Tags: projects, weather embed
In the dark early days of the COVID pandemic in 2020, I set out to build a little side project: A way to generate an image containing a weather forecast. This was born out of a complaint I had heard from my friend Colin, who previously worked in hospitality marketing. Hotels send out emails to visitors before they check-in, and they wanted to include the weather forecast in those emails. Seems simple enough!
I consume many developer-focused API products, like Stripe and Twilio, but I have yet to build one myself. So this was my perfect excuse to make one! I spent a week whipping it together and launched it on a website and with subscriptions through RapidAPI.
It had a generous free tier, but surprisingly, it picked up quite a few subscribers over the years. At its peak, it was making me around $500/month.

### Realization
Recently I've been having a few more incoming support tickets about issues with the API. Either people need to understand how to use it or have technical problems with RapidAPI. So I asked about their use cases and was happy to discover it was all hospitality use cases.
The surprise was that they weren't technical people; they wanted to avoid fancy API automation features; they just wanted to put in some settings In a web panel, get a link, and use that in their email marketing tool.
How had I not realized this back in 2020! I had built the wrong product for the problem. An API was causing so much friction and pain for my users.
## Relaunch
Over a few days, I converted the initial idea into a multi-tenant SaaS app. Gone was the free tier, just a $10/month product for a basic image embed that anyone with no technical skills can set up in a few minutes.
This was one of my first experiences with ChatGPT and programming. I've used generative AI for many creative use cases, but this was my first excuse for it in development. I've been hearing from my developers at ArborXR, notably Simon, about all the incredible use cases they've found, and I was excited to try it for myself. I took my old typescript code for generating images that took me hours to create and asked ChatGPT 4 to convert it to PHP. I was blown away by the results! 90% was working instantly, using a specific programming library I specified, and I only needed to spend a few minutes fixing up the pieces that weren't functioning correctly.
With that part out of the way, I created a simple dashboard, set up a billing system and account management, and the world's most basic landing page. I've since shut down the RapidAPI project and notified current users they have 3 months to migrate to the new platform.

### Future
Right now, there is just a Basic plan with minimal customization and a custom enterprise plan with more customization available by reaching out. I want to take the time to fully flesh out the enterprise plan and build all that customization into the web application. Offering multiple fonts, weather icon libraries, size and layout options, and more.
For now, I am working directly with the enterprise customers to implement their requests in a more bespoke manner. I plan on doing that until it doesn't scale anymore, and then I will return to improving the web application.
[Visit Weather Embed](https://weatherembed.com)
[](https://weatherembed.com)
---
# Media Diet: March 2023
Published: 2023-04-02
URL: https://matthewhall.com/posts/media-diet-march-2023/
Tags: media diet
All of my favorite shows of 2023 are already done for the year, and I am still trying to figure out what I will do with myself! However, the Last of Us, Shrinking, and Poker Face were all incredible.
🎭 Katherine Ryan & Friends - Started the month with a bang, comedy shows as part of London's JFL festival! This was one of my favorite standup shows I have seen in ages, and Ed Gamble headlined. (A+)
🎭 & Juliet - I've been seeing a string of fantastic musicals while traveling the last few months, and I continued it with & Juliet! Such a fun show to see. (A)
🎥 Black Panther: Wakanda Forever - So underwhelming. It feels bland and generic, like every other Marvel film of the last few years. (C+)
📺 Poker Face Season 1 - The "mystery of the week" format works incredibly well when you combine Rian Johnson's magic with Natasha Lyonne's acting. (A+)
📺 The Last of Us Season 1 - I haven't played the video game before, so I went into this with low expectations and was blown away. I can't wait for the next season. (A)
📺 Shrinking Season 1 - Jason Segel and Harrison Ford is a combo I didn't know I needed. They are so great at this. (A+)
📺 Party Down Season 3 - A solid return for one of my all-time favorite TV Shows. The original was better, and I miss Casey Klein / Lizzy Caplan. It still was fun to watch and catch up with the characters. My favorite of all the recent TV show revivals. (B+)
📚 His Majesty's Dragon (Temeraire, #1) by Naomi Novik - I've loved many of Naomi Novik's recent works, including Spinning Silver and A Deadly Education. Still, I have never read her original fantasy series. I love a good alternate history! Great read, and looking forward to continuing with the rest of the series. (A-)
📺 Workin' Moms Season 7 - The final season! This may be my favorite comedy that the CBC has ever created. It's meandered in quality through its seven seasons, but I've enjoyed it the entire time. I can't wait to see what these actors do next. (A-)
📺 Extraordinary Season 1 - Fun little twist on the classic superhero show concept. (B+)
📺 Shadow and Bone Season 2 - I loved the books this series is based on and have enjoyed the show for the most part. Season 2 felt like a dip in quality, but it was still a fun ride. (B+)
🎥 Operation Fortune: Ruse de guerre - Guy Ritchie was so far off his usual quality mark with this. Save it for watching on a plane. (B-)
📺 The Curse - Pretty mediocre and unremarkable. I watched the full show and need help remembering the plot or the characters. (C+)
---
# 2022: A Year of Projects In Review
Published: 2023-03-31
URL: https://matthewhall.com/posts/2022-a-year-of-projects-in-review/
Tags: projects, 2022 projects
import YearOfProjects from '@/components/shortcodes/YearOfProjects.astro';
There were many times throughout the last year I thought I wouldn't make it, but here we are; it's done! Fifteen months later, with 12 projects completed. A little overdue, but I made it in the end. Having it off my chest and out in the world feels fantastic.
There were times throughout the year I felt anxious during the month about what I was going to build and how I was going to fit it into my schedule. I love making things, but in retrospect, the structure of one a month could have been better. There were some projects I should have iterated on and others that could have been more.
12 projects in 12 months were far too much! Life was hectic in 2022, between ArborXR growing like crazy, traveling a lot, and a busy personal life. There were many evenings and weekends I gave up on projects that I likely would have enjoyed doing something else better.
## Things I Didn’t Build
I've always had a long-running list of projects I want to build, but that list got even longer this year. So here's a rundown of some of the things I considered.
### Where To Ski
As mentioned in my [Ski Resort API post](/posts/building-a-ski-resort-api/), "Where To Ski" is an idea I've had on my list for years. Put something that tells you what resort near you has the best conditions.
When I first came up with that idea, I was skiing at Whistler and local mountains in Vancouver. Since then, my skiing habits have changed drastically, and now I only ski at Whistler, and it's just once or twice a year.
This is not one I will ever build, but I hope someone else takes it on!
### Podcast
I know, I know. We don't need another generic cis white male making a podcast, which is probably part of why I haven't made one.
I've had an idea for a podcast I have been working on for years called "Their Other Side." Taking historical figures and looking at the side of them that's less talked about, both the evil side of those we think of as good and vice versa.
I spent a few hours researching and came out with some episode outlines, but I never progressed past that point. I was sitting on the back burner for another day!
### Video Game
Video games are what first got me into development in the first place. Growing up, I wanted to be a game developer and played many video games.
One of my good friends, [Sam Walker](https://mors-immortalis.ca/), released a great game this year called [Dastardly](https://mors-immortalis.ca/projects/) which I loved being part of the play-testing process.
I have had a few different ideas I bounced around and prototyped. I've always loved the vertically scrolling shooter games such as [1942](https://en.wikipedia.org/wiki/1942_(video_game)). I was playing with how to modernize that idea for phones or VR.
As I've gotten older, I have been playing way less games. As a result, I purchased a Steam Deck in 2022 with a paltry number of hours played on it.
### Board Game
Unlike video games, board games have become something I play more and more of. One of my favorite ways of spending a weekday evening or weekend afternoon is to get together with friends and dig into a meaty board game. Some of my favorites from the last year are Eclipse, War Chest, and Sleeping Gods.
One of my favorite styles of board games is deck-building games. In my teenage years, I loved Magic: The Gathering but was never enthusiastic about having to construct and plan decks ahead of time, so deck-building games are a great alternative.
Thankfully I have friends who love to design board games, and I've had the chance to play tests and give feedback on various games in the last year. I can't wait to do more of that in 2023.
### Anything Web3
I started this year with an NFT project before the crypto winter began in earnest. I keep up to date with what's happening in crypto and what's being built, but I still need to catch my interest. So for now, I am just enjoying reading Web3 is going just great.
## Projects I Did Build
People close to me know that some of my projects have been flops. My sparkling water dispenser? It started a slow leak, and I gave up on it. My pannier disc golf bag? My prototype fell apart, and I moved on to a disc golf backpack I love.
I am incredibly proud of some projects and am excited to keep them growing. I've used BC Flights numerous times since building it and have a laundry list of features I want to add. Publish Perks just came out last week, and I am excited to keep growing it.
Marketing and promotion continue to be my weakest piece of all the web applications I built. Some product-led growth is needed for them to find their sweet spots.
## Next Year
One of my underlying goals for 2022 with this project wasn't just to build more projects and write more, too! That was a resounding success, with me writing more for pleasure than in years.
In 2023 I am going to focus more on just writing. Either about projects, I'm working on, technical ideas, or remote work tips. I've already been enjoying this, writing about some of the best board games to play with product teams.
I still have a bunch of projects I hope to release this year! First, I am iterating on a new Disc Golf Club Management project with some partners. A simple cookie compliance platform. A cross-platform parcel tracking application. We'll see how many make it through, but building and experimenting is just fun.
A few previous projects are in sore need of attention. I just revamped Weather Embed to be a SaaS platform instead of an API -- watch out for a blog post with more about that soon. ChatFox needs some love; we just moved from a Digital Ocean droplet to Google Cloud Run, removed some less-used features, and I have some exciting things I want to add to it for my use at ArborXR.
My biggest takeaway from this project was a renewed reminder of my love for building! I get a lot of satisfaction from taking an idea through completion. If you're interested in anything I've built or the pictures I haven't made and are interested in partnerships or collaboration, please reach out!
---
# Publish Perks - Super Powers for your Blog
Published: 2023-03-25
URL: https://matthewhall.com/posts/publish-perks-super-powers-for-your-blog/
Tags: projects, substack
import YearOfProjects from '@/components/shortcodes/YearOfProjects.astro';
15 months ago, I set out to create a project every month in 2022 and blog about it. You're not reading that wrong. I didn't typo the number of months in the year. I'm just slow!
After a year of being (mostly) on time, this final project ran well over my deadline. I could make many excuses, but I'm happy to have it wrapped up!
This is my most ambitious project of the year and something I've wanted to build all year long: Substack-style functionalities for any blog!
The first iteration of Publish Perks focuses on the essential feature of Substack that many blogs still need: Great newsletters. The last few years have seen the resurgence of newsletters, caused mainly by the surge of Substack authors. It's one of the most popular methods of consuming written content, and many blogs don't offer it!
Most blogs need help mangling together features from different platforms to get a seamless newsletter feature. For example, many connect a Mailchimp newsletter with a serverless function to create subscriptions. Unfortunately, it's a very complex and fragile setup for something that should be easy: sending an email for every new blog post.
I've been mulling over this problem for months and am so happy to finally have it released.

## Product
I built [Disc Dispatch](https://matthewhall.com/posts/disc-dispatch-disc-golf-event-newsletter/) to figure out some of the technical parts of building a newsletter platform. They're not easy! That knowledge was the essential building block to getting started.
Unlike anything else I built in 2022, Publish Perks is a complete Software as a Service platform with user accounts, an admin interface, an end-user interface, and emails it needs to send. There are lots of moving pieces!
On the admin side, it's pretty simple today. Some high-level analytics, the ability to see your posts and subscribers, and the information for including the newsletter in your website or blog.

All you need to do is signup with your RSS feed, add the form to your site, and you're done! Anytime you make a new blog post, it will send an email to all of your subscribers.

## Future
I started with Newsletters, but that's not where I want to end it.
I'd love to continue building out some basic analytics of your newsletter and your RSS feed. As a long-time Feedburner user, I miss seeing those stats before Google shuts it down!
Comments are another part of the blog ecosystem vastly underserved in modern blogs. The existing solutions are either scammy, unfriendly to non-developers, relying on Github, or just convoluted. A simple, clean comment infrastructure needs to be more robust.
In the long term, vision is the most critical part of Substack: Payment collection and cross-promotion of blogs. These are the hardest to create but some of the most valuable to bloggers.
How many of these am I actually going to build? We'll see! Not going to make any promises. A lot depends on how much I end up blogging and the traction I get from other blogs.
## Conclusion
Thank you for reading my last in a year (well, 15 months) of projects. Subscribe to my newsletter to read my reflections on this project.
Have a blog that doesn't have a newsletter? Give [Publish Perks](https://publishperks.com/) a try completely free of charge.
If you have any feature suggestions, please [shoot me an email](mailto:matthew@hall.vc). I'm more than happy to hear them!
---
# Media Diet: February 2023
Published: 2023-03-05
URL: https://matthewhall.com/posts/media-diet-february-2023/
Tags: media diet
Lots of stuff started this month but not much finished! It's really been the year of incredible TV shows. The Last of Us and Party Down have been welcome additions to Shrinking and Poker Face. Going to have lots to write about when they all finish!
🎥 Uncharted - I thought watching this on a plane would make it suck less... (C)
📺 That 90s Show - I thoroughly enjoyed That 70s Show and this is a nice light continuation. Nothing magical or special, but easy watching. (B+)
🎥 Strange World - All the recent Pixar and Disney releases have been underwhelming and this continues that trend. (B)
📺 Family Law Season 1 + 2 - I may be biased because i'm a Jewel Staite fanboy AND it's shot where I live in Vancouver, but i've really enjoyed this family drama! (A)
🎭 Pete Holmes - What a fantastic show and a great human being. (A)
🎭 Joe Pera - A giant weirdo but if you enjoy his style, you'll love seeing him live. (B+)
🎭 Patton Oswalt - Another comedian I've been wanting to see forever and put on a great show. (A-)
📺 Clarkson's Farm Season 2 - Despite all of Jeremy Clarkson's fuckups lately, this is still a solid piece of television. (A-)
📚 Blitz (The Checquy Files, #3) by Daniel O'Malley - This series continued to go downhill the more I read of it. (C)
📚 Montego by Brian McClellan - Great little prequel to Glass Imortals. (A)
📺 I Hate Suzie Too (I Hate Suzie Season 2) - I've loved Billie Piper forever and I think this is her strongest performance yet. What an incredible continuation of I Hate Suzie. (A+)
---
# USB-C Replacement Battery for The Carry-On Bag from Away
Published: 2023-02-20
URL: https://matthewhall.com/posts/usb-c-replacement-battery-for-the-carry-on-bag-from-away/
Tags: travel, gear
import Video from '@/components/shortcodes/Video.astro';
I love my ["The Carry-On bag from Away](https://www.awaytravel.com/ca/en/suitcases/carry-on?color=navy&usb_charger=included), but it has one fatal flaw - the integrated USB charger is only available for USB 2.0.

I originally went down the (insane) path of digging into Alibaba and seeing if I could find a manufacturer to make a custom-sized battery. Still, I realized I should see if anything out there already fits.
After digging around on Amazon, I found the INIU Portable Charger!

Not trusting the sizing listed on Amazon, I ordered one and patiently waited for it to arrive. It fits like a glove! It's the same 10,000 mAh at half the price of what [Away also sells replacements for](https://www.awaytravel.com/ca/en/battery).

Want your own? Head over to Amazon!
---
# Board Games For Product Teams
Published: 2023-02-08
URL: https://matthewhall.com/posts/board-games-for-product-teams/
Tags: board games, product teams
I've spent the last few years working in and building remote product teams. These are generally small teams of between three and nine people working towards a common goal or purpose. Comradery and team building are incredibly important on these teams. They're designed to be a high-functioning team that can work closely together to build things quickly. Being a fully remote team makes it harder to do that so we value the time in person together even more.
Board games are perfect for product teams to play together because they offer an engaging way to build relationships, improve communication, and enhance strategic thinking. In addition, by playing board games together, team members can get to know each other personally, learn each other's strengths, their weaknesses, and develop a sense of trust.

## Exit: The Game
We always try to find an escape room when I get one of my teams together for a conference or a meetup. We've done them all over, from Oklahoma City to the Isle of Man. They're a great way to see the team's dynamic. They also provide hilarious insight into how much engineers can overthink problems. Once, we spent 10 minutes trying to remember how to decode binary for no reason.
"Exit: The Game" is the board game version of an escape room. They're one-time-use games, making them perfect for bringing you to a team offsite and recycling afterward. They are best for around four players, so you can split up into a few smaller groups and compete in the same escape room!
Escape rooms benefit product teams by providing a unique opportunity for team members to work together, develop their problem-solving skills, and improve communication. The fast-paced, high-pressure environment of an escape room can also create a bonding experience for team members, as they are forced to rely on each other to succeed.
*Complexity: Beginner to Advanced*
*Cost: USD 14.95*
*Players: 3-6*
*Time: 60 Minutes*

### Fake Artist Goes to New York
Players take turns drawing a word, and the other players must guess the word based on the drawing. However, one player is the "fake artist" who does not know the word and must bluff their way through the round by pretending to know it. This requires players to be creative in their drawings, communicate effectively with their team, and work together to identify the fake artist.
Playing "Fake Artist Goes to New York" can help product teams to build trust, enhance their communication skills, and foster a supportive and collaborative team environment. The game also allows team members to showcase their unique perspectives and problem-solving approaches, helping them understand each other's strengths and work styles. Additionally, the fun and light-hearted nature of the game can break down barriers and encourage team members to interact with each other in a relaxed and enjoyable setting.
*Complexity: Beginner*
*Cost: USD 16.99*
*Players: 5-10*
*Time: 20 Minutes*

### Sushi Go Party!
This one is a throwback for me; it's one of the first board games I ever got into, playing with family and friends. You draft cards representing various sushi dishes and try to score the most points by creating the best combinations.
Playing "Sushi Go!" can help product teams to improve their strategic thinking, as they must make quick decisions about which cards to keep and which to pass based on their hand and the actions of their opponents. The game also requires players to think ahead and anticipate their opponent's moves, which can improve their ability to anticipate and respond to challenges in a collaborative setting.
*Complexity: Beginner*
*Cost: USD 19.99*
*Players: 2-8*
*Time: 20 Minutes*

### Decrypto
Teams take turns giving and guessing secret codes that represent words or phrases. The goal is to be the first team to correctly guess all the regulations while also trying to prevent the other team from doing the same.
Playing "Decrypto" can help product teams improve their communication skills. Players must work together to create concise code phrases that their team can guess while effectively tricking the other team. The game also requires players to think critically and creatively, as they must develop specific but easy-to-guess regulations.
*Complexity: Intermediate*
*Cost: USD 19.99*
*Players: 4-8*
*Time: 30 Minutes*

### Captain Sonar
This one may be even better when two different product teams are together and want to face off. In this game, teams of players take on the roles of crew members on competing submarines, trying to locate and sink each other's vessels while avoiding enemy fire.
Playing "Captain Sonar" can help product teams improve their communication and collaboration skills, as players must coordinate their actions and make quick decisions. The game also requires players to develop strategies to locate and attack the enemy submarine while avoiding their detection.
*Complexity: Intermediate*
*Cost: USD 50.00*
*Players: 6-8*
*Time: 60 Minutes*

### Just One
I have many fond memories of playing casual games at the beach with friends. You give one-word clues to help their team guess a mystery word, aiming to get the most points. It's quick, it's fun, and it's easy. Think of it as an icebreaker game to get the board game session started.
Playing "Just One" can help product teams improve their communication and collaboration skills, as players must work together to guess the mystery word based on the clues. Players must come up with unique and practical hints to help their team guess the word while avoiding duplicates with other players.
*Complexity: Beginner*
*Cost: USD 19.99*
*Players: 4-7*
*Time: 30 Minutes*

### One Night Ultimate Werewolf / Blood on the Clocktower
"One Night Ultimate Werewolf" and "Blood on the Clocktower" are social deception games that play vastly different than everything else on this list. In these games, players have secret roles or motives that they must conceal from the other players while trying to advance their interests. As a result, the gameplay often involves lying, bluffing, and misdirection, and the outcome is determined by the players' ability to deceive and outsmart each other.
In both games, players take on the role of villagers in a small town who must work together to identify and eliminate the evil players among them. However, you don't know who you can trust - is your co-worker truly a villager, or are they evil in disguise?
Playing social deception can help product teams improve their communication and collaboration skills, as players must gather information, make decisions, and develop strategies to identify the werewolves. Players must determine who is trustworthy and who is not based on their behavior and interactions with others.
The downsides of social deception games are apparent - you're spending them lying and manipulating each other! They're not for every team but can lead to fond memories shared across an entire team for years to come.
**One Night Ultimate Werewolf**
*Complexity: Beginner*
*Cost: USD 19.99*
*Players: 4-10*
*Time: 10 Minutes*
**Blood on the Clocktower**
*Complexity: Advanced*
*Cost: USD 119.99*
*Players: 5-20*
*Time: 60 Minutes*
---
# Media Diet: January 2023
Published: 2023-02-05
URL: https://matthewhall.com/posts/media-diet-january-2023/
Tags: media diet
2023 is off with a bang - and many flights with a lot of TV being watched. Two new shows started that I'm excited to talk about when they're finished -- Poker Face and Shrinking.
📺 Welcome to Chippendales - I always enjoy Kumail Nanjiani, and he's fantastic in this. It's an entertaining series until the terrible finale. I was so shocked watching it that I double-checked to ensure I didn't miss an episode or that this wasn't the finale. (C)
🎥 The Menu - I've procrastinated watching this for a few months, and I am glad I finally got to it. Great ride. (A)
🎥 Meet Cute - So bad. I couldn't finish it. Kaley Cuoco and Pete Davidson have no chemistry. Feels like a bad knockoff of Palm Springs. (F)
🎭 Mike Birbiglia: The Old Man and the Pool - I made the trek to New York to see this before it closed, and I wasn't disappointed. Birbiglia continues to be one of my favorite comedians of all time. (A+)
🎭 SIX - I had a Monday night in New York with limited shows available, so I picked SIX knowing very little about it. I loved it! Such a fun show. (A)
📚 Tress of the Emerald Sea by Brandon Sanderson - The first of Brandon Sanderson's Kickstarter campaign. It was a fun read but not my favorite of his work. He has a very different style of writing than his usual. (B)
🎥 Beirut - Someone on a podcast was talking about this film, so I put it on my iPad to watch while traveling. I'll never get tired of a brooding Jon Hamm. (A)
📺 The Peripheral Season 1 was fun to watch while trapped on flights, but I wonder if it's a good show. Still, I enjoyed it all the way through. (B+)
📺 The Sex Lives of College Girls Season 2 - Just an entertaining fun light comedy show. (B)
📺 Tom Clancy's Jack Ryan Season 2 - I watched the first season years ago when it first came out and somehow missed this coming out. Just as fun of a ride as the first season. (A-)
📺 Tom Clancy's Jack Ryan Season 3 - I continued with my Tom Clancy marathon with Season 3, and wow, it is just not that good. I am still determining what changed between seasons 2 and 3, but please undo it. (C+)
📚 The Rook (The Checquy Files, #1) by Daniel O'Malley - Been on an urban fantasy kick lately and had this series recommended to me. Significant mystery element to it too. (A)
📚 Stiletto (The Checquy Files, #2) by Daniel O'Malley - I continued the series and found the sequel a letdown compared to the first. The new characters just could be more engaging. (B)
🎥 Tár - Like The Menu, I had been procrastinating listening to this for a few months. I thoroughly enjoyed it. As someone with no musical talent, I love the insight into that world. (A-)
---
# Media Diet: December 2022
Published: 2023-01-03
URL: https://matthewhall.com/posts/media-diet-december-2022/
Tags: media diet
The last media diet of the year! It was an interesting month of content. I spent 2 weeks of it on vacation, one week with my partner and one week with family.
🎥 Marcel the Shell with Shoes On - Was my favourite movie of the year! Not much else needs to be said, just go watch it. (A+)
🎥 Weird: The Al Yankovic Story - I've always loved Weird Al and went into this with low expectations - it was released for free on The Roku Channel after all. How wrong I was to judge it, it was one of the funniest movies I've seen all year! Ridiculous and over the top, just like Weird Al himself (A)
📺 Under the Banner of Heaven - Great mini series about mormans and murder. Andrew Garfield does great. (A-)
📺 The White Lotus Season 2 - I didn't enjoy the first season at all but wanted to give the second season a shot. I was surprised how much I enjoyed it! (A-)
📺 Rick and Morty Season 6 - Didn't feel original or exciting this time around. Not sure if it's going downhill or if i've outgrown it. (B-)
📚 Across the Sand by Hugh Howey - I loved Hugh Howey's Silo series but this one just didn't click for me. (C+)
📚 Legends and Lattes by Travis Baldree - Cute fun adventure that was a blast to read. Nice quick story after Across the Sand dragged. (A)
📺 High School Season 1 - Insights into Tegan And Sara's childhood PLUS some nostalgia about going to High School in Calgary? What's not to love. (A)
🎥 Adopting Audrey - Underwhelming story. Felt like it could have been a lot more meaningful. (B-)
📚 Hunt the Stars & Eclipse the Moon by Jessie Mihalik - Pretty solid light Scifi with a romance tinge to it. Easy reads that were great for vacation. (B+)
📚 The Boys from Biloxi by John Grisham - I've always been a sucker for Grisham's legal thrillers and this one excels. (A)
📺 Letterkenny Season 11 - Still a solid show even after 11 seasons, but this one felt a bit lacking compared to the fresh Shoresy spin off that came out in May. (B+)
📺 Staged Season 3 - Fun twist on the previous two seasons, worth the watch. (A-)
📺 Fleishman Is in Trouble Season 1 - My unexpected hit that was my favourite show of 2022! Thoughtful commentary, great characters, incredible writing. (A+)
---
# Things I Was Grateful For in 2022
Published: 2023-01-02
URL: https://matthewhall.com/posts/things-i-was-grateful-for-in-2022/
Tags: things i was grateful for
import GratefulFor from '@/components/shortcodes/GratefulFor.astro';
This year has absolutely flown by, and I can't believe we're already entering 2023. It's been an incredible year all in all. Lots of travel, made some new friends, played plenty of board games, and a very successful year at work too.
###  Place – Cannes, France
I was lucky enough to attend the Cannes Film Festival for the second time in 2022. On my previous trip to Cannes I had rainy cold weather but had the opposite experience this year. Sunny and gorgeous the entire time. A week and a half spent seeing films, relaxing in the sun, eating delicious food, and enjoying time with my partner. Not much else to ask for!
*Available in France*
###  TV – Fleishman Is in Trouble
This was the last TV show I watched in 2022 and my surprise favorite! I hadn't heard much about the show, but I am glad I discovered it. The cast is incredible and have previously been in some of my all time favorite shows. Jesse Eisenberg (The Social Network), Lizzy Caplan (Party Down), Claire Danes (Homeland), Adam Brody (The O.C.), and Josh Radnor (How I Met Your Mother). Great chemistry between them all elevate the show. It provides a great insight to a relationship falling apart and the different perspectives on the experience.
*Available on [Disney+](https://www.disneyplus.com/series/fleishman-is-in-trouble/6AsNBtsoTVn3)*
###  Movie – Marcel the Shell with Shoes On
I didn't know what I expected going into this film, but it absolutely blew me away. Adorable, hilarious, astounding all around. Skip the trailer and just dive right in. Get to know Marcel, his world, and his incredible point of view. I watched it while on a flight and it made that time pass by instantly. I'm a lover of the mockumentary and this ones just about perfect.
*Available on pay per view streaming platforms*
###  Tech – Shure MV7
A microphone is a pretty boring pick for technology but for someone who works from home, it's a game changer. Paired with the [Elgato Wave Mic Arm LP](https://www.elgato.com/en/wave-mic-arm-lp) that goes underneath my monitor, it's a perfect microphone setup that doesn't block my screen.
*Available from [Shure](https://www.shure.com/en-US/products/microphones/mv7?variant=MV7-K)*
###  Gear – The Carry-On from Away
As I mentioned in [2022 Travel Gear](https://matthewhall.com/posts/travel-gear-2022-edition/), i'm loving The Carry-On from Away. It's just a solid carry on bag that is nearly flawless. It fits in every overhead bin i've tried, even on small regional planes. It fits an incredible amount of stuff in it too. My only gripe with it is that the portable battery is only available in USB 2.0 and not USB-C. C'mon Away, release an battery!
*Available from [Away](https://www.awaytravel.com/ca/en/suitcases/carry-on)*
###  Game – World of Warcraft: Dragonflight
To be completely honest, I didn't play many video games this year. I don't think my Nintendo Switch has been turned on more then a dozen times and my Steam Deck has been lightly used too. I had 2 weeks off during the winter holidays and spent a good amount of time getting back into World of Warcraft with it's new expansion, Dragonflight. It's a great expansion to the game with awesome new systems for professions and some fun endgame content.
*Available from [Blizzard](https://dragonflight.blizzard.com/en-us/)*
###  Board Game – Star Realms
Originally released in 2014 but new to me this year. It's a fantastic deck building game and portable enough to easily bring travelling. I played it extensively with friends while bike camping and on vacation with my partner in Mexico. I'm really excited for the new [Rise of Empire](https://www.kickstarter.com/projects/1172937197/star-realms-rise-of-empire/) Kickstarter to come out in 2023. The beauty of Star Realms deck-building combined with a 12 scenario legacy campaign sounds very exciting. It also has a great digital version which i've enjoyed playing on flights to pass some time.
*Available from [Star Realms](https://www.starrealms.com/) or your local board game store*
###  Podcast – The Always Sunny Podcast
I've been watching It's Always Sunny in Philadelphia for 15 years. It's consistently been one of my favourite shows to watch, to quote, and to meme. I've always enjoyed the creators of the show and have watched everything they've made since. Getting to listen to them ramble and shoot the shit every week in podcast form has been a blast.
*Available [wherever you get your podcasts](https://thealwayssunnypod.com/)*
###  Activity – Biking
I've gone through multiple phases in life where I biked regularly, mostly to commute or run errands. Biking has come in and out of my life a few times, and I am thoroughly enjoying being back into it. It's become my primary way to get to my local disc golf course! My biking highlight was going bike camping for the first time, something I am excited to do again in 2023.
*Available Outdoors*
###  Book – In the Shadow of Lightning by Brian McClellan
I discovered Brian McClellan and his “The Powder Mage” and “Gods of Blood and Powder” trilogies years ago and absolutely loved them. I've been following him ever since and he's really stepped things up with his new book, "In the Shadow of Lightning". Deep world-building and a really interesting glass-based magic system.
*Available from your [local book store](https://www.brianmcclellan.com/in-the-shadow-of-lightning)*
###  App – Beeper
I live across many chat applications - WhatsApp, Signal, Telegram, Facebook Messenger, Discord, iMessages, and texting. Keeping track of all of them has always been a giant hassle. I've tried lots of different solutions over the years but Beeper has been the first one thats knocked it out of the park. One seamless experience for all of my messaging platforms based on Matrix. I've been using it since it's first Beta availability and it's come a long way. The last half of 2022 it has been an incredibly stable and reliable product that is a pleasure to use.
*Available from [Beeper](https://www.beeper.com/)*
###  Technology – LASIK
During my winter holidays I took the plunge and got LASIK laser eye surgery! The recovery process has been so smooth and easy. Within 24 hours I was back to normal life and am just now finishing up my medicated eye drops. Really a marvel of modern technology.
*Available from [LASIK MD](https://www.lasikmd.com/)*
### Project – Publish Perks
Watch out for a full blog post about this project soon, it's my last of my year of projects! I subscribe to a few newsletters via Substack and have been procrastinating getting a newsletter setup for my blog for ages. I've been looking around at what's available and there's no easy option for a Substack like subscription experience but with your own blog... So I built it myself! I'm just putting the finishing touches on it and hope to launch it in the next week or two.
*Available from [Publish Perks](https://publishperks.com/)*
---
# Designing Christmas Cards with Generative AI
Published: 2022-12-17
URL: https://matthewhall.com/posts/designing-christmas-cards-with-generative-ai/
Tags: projects
import YearOfProjects from '@/components/shortcodes/YearOfProjects.astro';
This year, I decided I wanted to send out Christmas cards to all my family and friends. Something simple with a nice note in each of them. I've been travelling a lot this year and want to show that I still value people in my life, even when I don't get to spend time with them in person.
I started off shopping on [Etsy](https://etsy.com/) to find a mixed pack of cards that I liked. I looked for a while, but couldn't find anything that I loved that had a enough variety of different styles of cards. Eventually, I realized this was a great excuse to use Generative AI to create some cards myself!
For my last experiment with generative AI, I used [DALL-E 2 from OpenAI](https://openai.com/dall-e-2/). It worked well, but decided to experiment with [Stable Diffusion](https://stability.ai/) for this project. It's open source and easy to run directly on my Mac via [DiffusionBee](https://diffusionbee.com/).
## Generation

Definitely the most time-consuming part of this project, coming up with the images themselves! I generated well over 1,000 images to end up with the final 50 cards I ordered. I spent a lot of time going through [Lexica](https://lexica.art/) to get inspiration of generation prompts to use and put a festive twist on.

For some people in my life, I went in with a very specific prompt in mind – usually that was just people's pets with Santa hats on them. Others, I was trying to see what sort of artistic designs I could come up with. Mostly involving Christmas tree or cabins surrounded by snow and lights.

I really enjoy both watercolor and line drawing Christmas cards and spent a lot of time trying to generate those, but it was always a failure. Now that a new 2.0 model of Stable Diffusion has been released, I'll have to revisit and see what I can create!

## Ordering
One of the downsides of current generative AI models is that they are designed to create square images. Of course, most Christmas cards aren't squares, they're rectangles. I originally played with getting things generated in a different aspect ratio, but the results were always underwhelming compared to a square image.

I went hunting for a printing API that allowed me to order square cards and discovered [Prodigi](https://prodigi.com/). Their cards look great and are on nice paper stock. The only downside was that they were shipping from Europe, but they were the best option available.
The printing process allowed me to provide one layout file that had images for all parts of the card. Of course, I didn't want to go through and manually make these files over 50 times in Photoshop, so I turned to code!
I wrote a quick command line tool using [Laravel Zero](https://laravel-zero.com/) and image processing with [Intervention Image](https://image.intervention.io/). I took each of my images I generated, formatted them on a layout, and added some text to the back of the card. Furthermore, I uploaded them to the internet and created an order for that card to be shipped to my house, all at the same time.
## Results

They look fantastic! I am incredibly happy with them and I hope all my friends and family enjoy them too.
I misaligned my print layout by about 5px, so there is a little slice of white on the right side of the images – I updated my layout for the future if I ever need to re-order them. Thankfully, I don't think they're too noticeable.
The most painful part of this whole process was writing in the cards themselves. I probably write manually once per month at most these days, so this was a lot of writing by my standards. Every few cards, I'd have to take a break before my wrist was able to write again.
## Future
I was originally hoping to build a simple web application that let anyone design their own Christmas cards and then order them, but sadly ran out of time to make that happen this month.
I was envisioning a flow where you would land on the website, pick a general style of card such as a pet, house, Christmas tree, then be able to add your own extra prompts – with a few suggestions available. Then utilize the Stable Diffusion API to generate a few previews that let you add a card to your cart and order the ones you like!
If you are interested in some bespoke AI-generated Christmas cards, please [reach out](mailto:matthew@hall.vc). I really love the results of this card and can't wait to make some more for friends next year.

---
# Media Diet: November 2022
Published: 2022-12-10
URL: https://matthewhall.com/posts/media-diet-november-2022/
Tags: media diet
I did lots of travelling in November and absolutely devoured the rest of the Alex Verus series. One of my favourite fantasy series I've read in a long time!
🎥 Bros - I don't always love Billy Eichner, but this is a great romcom. Light, fun, and entertaining. (B+)
📺 The Dragon Prince Season 4 - This series has completely lost me. Every season has been slightly worse than the previous. Definitely nowhere near the glory of the original Avatar: The Last Airbender. (C)
📺 Atlanta Season 4 - What a final season. Donald Glover managed to finish off just as strong as he started. Definitely one of my favorite shows of all time. (A+)
📺 Last Week Tonight Season 9 - Can't believe I've been watching this show every week for 8 years now. The one and only "late night" TV show I have consistently watched. (A)
📺 Documentary Now! Season 4 - I'm a sucker for the mockumentary format. Documentary Now! has always been one of the standouts. Not every episode is perfect but the season as a whole is incredible. (A-)
📺 Andor Season 1 - I've been bored by all the recent Marvel and Star Wars TV series that Disney has put out the last year or two, but Andor was something different. Great world building, great story line, writing, great acting. Can't wait for more Star Wars like this. (A)
📺 Avenue 5 Season 2 - Wow has Avenue 5 ever been a disappointment. Great concept, terrible execution. (C)
📺 The Card Counter - Oscar Issac is brilliant, but overall the film was just fine. (B)
🎥 Emily the Criminal - Stressful from start to finish. Aubrey Plaza is brilliant. (A)
🎥 Blockbuster Season 1 - Perfectly serviceable background noise. The best part of it is that it it's on Netflix. (B-)
🎥 The Fabelmans - Loved the insight into Steven Spielberg. I am a sucker for films that are about the creation of film. (A)
🎥 White Noise - Wow, what a let-down. Love Noah Baumbach and the entire cast, but just not an interesting film. (D)
📚 Alex Verus Series by Benedict Jacka, Books 6 to 12 plus the novellas - Two months later and i've read this entire series in its entirety and I loved it. I'm sad it's all over now, but can't wait to read whatever Benedict Jacka writes next. (A)
---
# Travel Gear: 2022 Edition
Published: 2022-11-04
URL: https://matthewhall.com/posts/travel-gear-2022-edition/
Tags: travel, gear
I’ve traveled [a lot](https://nomadlist.com/@matthewhallca) in 2022 — The most trips of any year in my life. I’m just wrapping up the last trip for the year (that is currently planned, at least) and have been reflecting on the gear I choose to take traveling with me.
## Backpack: Aer Flight Pack 2

_Since 2019_
I don’t know if anyone will make a more perfect travel backpack than Aer has managed. It’s an ideal size, with all the suitable compartments, in a very logical layout. I can fit my laptop, iPad, and VR headset in the main section without any issues.

## Suitcase: The Carry-On from Away
_Since 2021_
After years of being frustrated with my 2 wheels Travelpro Platinum Magna 2 (2017) and continually running into airplane seats with it, I upgraded to a 4 wheel bag. I picked the aptly named “Carry-On” from Away. It’s served me very well, and I am ecstatic about the upgrade. I’ve found I enjoy the hard shell style of bag — I was always trying to fit too much in the soft bags and pushing them to their limits.
## Laptop: MacBook Pro 14” 2021

_Since 2021_
The new M1 MacBooks have been a life changer. The speed and battery life blend are perfect for traveling and working from home. Before this generation of MacBooks, I explored the other laptops that were out there, both running Linux and Windows. However, I’ve yet to find anything that beats the M1 MacBooks for battery life, the efficiency of use, and reliability.
## Tablet: iPad Pro 3rd Gen Wi-Fi + Cellular

_Since 2019_
I’m embarrassed to say that my iPad really only has 3 jobs:
1. Watching TV/Movies on flights
2. An external monitor when traveling
3. Writing in Ulysses
For such a powerful machine, it has been sorely misused. It is absolutely fantastic for those few tasks, though! The only reason I went with the iPad Pro was to have USB-C charging — if I was to buy something today, I would go with the new USB-C iPad instead.
## Earbuds: Jabra Elite 7 Pro

_Since 2022_
An unnecessary upgrade was caused by my losing my Jabra Elite 85t (2021) on a winery tour in France. I’ve been a longtime user of Jabra earbuds and am continually impressed with them. Very comfortable to wear for long periods and have excellent battery life.
## Headset: Jabra Evolve2 85

_Since 2020_
For all my love of the Jabra earbuds, the Jabra headsets could be better. I find them to randomly disconnect often. In addition, the sound cancellation is mediocre, and the companion software is slow and buggy.
Despite those issues, it’s still the best headset I’ve seen for work purposes. Having a boom mic that folds in is essential for traveling. The microphone is incredible and blocks out background noise.
I look forward to seeing a future Jabra headset that improves its flaws.
## Charger: iSmart 65W 2 USB C Ports + 2 USB A Ports

_Since 2021_
If you’ve noticed on this list, everything here charges over USB-C. This is because I’ve prioritized devices that utilize USB-C to make my life much easier when traveling. I generally bring two USB-C cables in my back with this charger, and it’s all I ever need.
An added bonus with this charger is the detachable power cable. I can swap it with a European line rather than dealing with a power adapter when I travel.
## Battery Pack: Anker PowerCore+ 26800mAh

_Since 2017_
Has 45w of Power Delivery USB-C that can charge my laptop or iPad, so I’ve never needed to replace it or upgrade! A beefy battery has often helped me in a tight spot.
## eBook Reader: Kindle Paperwhite 5

_Since 2021_
I read a lot — usually a book every week. Kindle has been my primary reading device for almost a decade, and I generally upgrade when there’s a compelling reason to. USB-C was the reason for the Paperwhite 5! My Kindle was the last item in my bag to use Micro USB.
## Camera: Pixel 6

_Since 2021_
I started off the year trying to travel with a Sony A7C. It was just too much camera for me, and I always brought it out of my bag. The Pixel camera was getting used for 90% of the photos I was taking, so I sold the A7C and now use the Pixel as my primary camera.
---
# Media Diet: October 2022
Published: 2022-11-01
URL: https://matthewhall.com/posts/media-diet-october-2022/
Tags: media diet
Between the Vancouver Film Festival and spending a lot of time on planes, I watched and read a lot this month! It's been a great month for movies, series, and books.
📺 Welcome to Wrexham Season 1 - what a fantastic sports documentary. I've been a football ⚽ fan for a few years now, and it's great to see behind the scenes at a Welsh club. Rob and Ryan are great too! A+
🎥 The Banshees of Inisherin - I love all of Martin McDonagh's films, and this is no exception! Amazing to have Colin Farrell and Brendan Gleeson back together again. A
🎥 The Whale - What a ride. Darren Aronofsky is hit or miss with me, but I thoroughly enjoyed this. A-
🎥 Do Revenge - The absolute perfect film for watching while stuck on a plane for 5 hours. Ridiculous, over the top, and so much fun. A+
📺 Ramy Season 3 - I love to keep getting to come back to this universe and see how Ramy grows and develops over time. It's great. A-
🎥 Emily (2022) - I went into this knowing nothing about Emily Brontë, and I left knowing slightly more. I am sure a hardcore fan would have gotten more out of this. B-
🎥 Bullet Train - A mediocre action movie. Lots of potential with its great cast and idea. C
📚 The Golden Enclaves (The Scholomance, #3) by Naomi Novik - A solid finale to the trilogy. Excited to see what Naomi Novik writes next. I love all her work. A
📺 Bad Sisters - I've got mixed feelings on this one. Every episode felt different, and I really swung between loving it and putting off watching it. Not for everyone. B
📚 The Emperor's Soul by Brandon Sanderson - I'm a Sanderson addict, so I'm always excited when I find something of his that I've missed. Great little novella. A-
🎥 The King's Jester - I love Hasan Minhaj and thoroughly enjoyed the intimacy of this new standup special. One of my favorite new specials I've watched all year. A
🎥 Bodies Bodies Bodies - I went into this with high hopes but was underwhelmed. Great premise and a fun cast, but it could have been better. B
📚 Alex Verus Series by Benedict Jacka, Books 1 to 5 - I've been devouring this series this month and absolutely loving it. It's a great read in a fun and compelling universe. A
📺 House of the Dragon - I went in with no expectations after the last few seasons of Game of Thrones. Wow, was I blown away. I didn't think I wanted more from the universe, but I loved it! A+
📺 The Lord of the Rings: The Rings of Power - A bit of a letdown. I had high hopes, but it just never clicked for me. Beautiful, but the writing was dry, and I still don't care about the characters. House of the Dragon being so well done ruined it for me. B
🎥 Clerks Trilogy - the first Clerks was one of the pivotal films for me to get excited about films. With the 3rd film coming out, it was time to revisit them all. Fun to reminisce in that universe. A
📺 Reboot (2022) - pretty decent sitcom! I've always loved shows that are about making other shows and movies. It's not as good as Episodes (2011), but still fun. B
📺 Brassic Season 4 - I'm a big fan of British comedy shows! Joe Gilgun was amazing in Misfits and is even better in Brassic. It's roamed a lot as a show over its four seasons, but I've enjoyed all of them. A-
---
# Disc Dispatch — Disc Golf Event Newsletter
Published: 2022-10-29
URL: https://matthewhall.com/posts/disc-dispatch-disc-golf-event-newsletter/
Tags: projects
import YearOfProjects from '@/components/shortcodes/YearOfProjects.astro';
This year I've started playing a lot more disc golf — something I am sure is evident from some of my [projects](/posts/manufacturing-a-disc-golf-pannier-bag/) this year. As part of that, I've been participating in some tournaments and pop-up events around the Greater Vancouver Area. They've been a ton of fun! I even [won my first tournament](https://www.pdga.com/player/197204/wins) — although I only had 1 opponent in my division.
There's only one source for finding Disc Golf Competitions — [Disc Golf Scene](https://www.discgolfscene.com/). The site is run by the [PDGA](https://www.pdga.com) and offers simple discovery and registration features. Its biggest flaw: it's heavily region based. For example, I can see a listing of everything happening in British Columbia, Canada but not any events happening just over the border in Washington, USA. There's also no functionality for getting updates on these events as they launch; you just need to check the website regularly to learn about events.
I've wanted to build an automated newsletter solution for a while now, so this was a great way to get my feet wet! I'm also excited that I can give something back to the disc golf community too.

## The Build
The PDGA offers an [excellent API](https://www.pdga.com/dev/api/rest/v1/services) for looking up information about events across North America, which is the backbone of this solution. It allows me to look up events across every region and find what's nearest to each subscriber based on latitude and longitude.
The user experience I was looking for was as simple as possible — [Visit the website](/projects/disc-dispatch/), enter your US ZIP Code or Canadian postal code, enter your email address, and that's it! I've added some basic customization, like the range around you that you want to see events from.
For now, the email and website are staying pretty basic, using out-of-the-box designs available with some light customization for my needs.

## The Tech
I've been loving building projects using Laravel with Livewire. It's so quick and flexible to get some light interaction systems available. I had the basic version of the website working in a few hours.
I got the chance to use some new functions in Laravel that I hadn't used before, primarily Signed URLs. These are a great addition to Laravel that make it incredibly easy to add gated subscription confirmation and unsubscription buttons without having to worry about any added security.
Emails are being sent with Amazon SES because it's just the absolute cheapest option out there. Even with 10,000 subscribers and a weekly newsletter, it will only cost $40. On the other hand, a mailing list software like Mailchimp would cost over $150 for the same number of subscribers.
Like with [BC Flights](https://bcflights.com/), I'm hosting on the lovely [Fly.io](https://fly.io/) again. It's made my DevOps life very simple: get things set up and scale if needed.
## Future
I'd love to expand the type of events available and offer more customization to subscribers regarding what kinds of events they're interested in. Pop-up courses, league matches, etc., are all prevalent in the Disc Golf community and need one good centralized source for information. So today, I just follow the various Greater Vancouver Area disc golf communities on Instagram to hear about upcoming events. Shout out to my fantastic local club, the Vancouver Disc Golf Association!
Signup for [Disc Dispatch](/projects/disc-dispatch/) now to get updates on Disc Golf events near you! If you have any requests or suggestions, I'd love to [hear from you](mailto:matthew@hall.vc)!

---
# Manufacturing a Disc Golf Pannier Bag
Published: 2022-10-23
URL: https://matthewhall.com/posts/manufacturing-a-disc-golf-pannier-bag/
Tags: projects, disc golf
import YearOfProjects from '@/components/shortcodes/YearOfProjects.astro';
_This is a follow-up to a previous post: [Prototyping a Disc Golf Pannier Bag](/posts/prototyping-a-disc-golf-pannier-bag/)_.
I’ve never built a physical product before. I’ve always focused on building digital things. Digital products have always been my comfort zone, and creating anything physical has always scared me — with good reason. Warehouses, upfront costs, shipping — I’m in a cold sweat just thinking about it. Despite all of that, I am in love with the idea of a genuine disc golf pannier bag. Living in Vancouver, our disc golf courses have bike racks that are always full in the evenings. All my best projects have always been things I needed; this is no exception.
### Research
I first Google “how to manufacture a backpack”. It’s not a joke when software developers talk about Google being one of the most important tools they use at work.

There’s a vast spectrum of options out there. Sites like Alibaba that focus on discovering Asian manufacturing facilities *(cheap)*, large companies that offer minor customizations (I.E., adding logos and color customization) to existing bags *(pricey)*, and lots of smaller boutique firms that provide complete design processes *(steep)*.
I did not want to invest the considerable amount of capital it would take to do the design process with a serious (and expensive) firm, so I went the Alibaba route. First, I looked through all of the vendors that offer disc golf bags and customization and reached out to a few of them.
My biggest priorities were finding someone who was easy to work with, would build a few rounds of prototypes, and had a low minimum order quantity if I decided to move forward with a complete order.
### Design
The side effect of working with an Alibaba-sourced manufacturing facility is that the design project is not very involved. It consisted of WhatsApp conversations and images being sent back and forth with the markup on top of them. No 3D renders or design files here. This was not what I expected when I fantasized about designing my disc golf pannier bag!

After some back and forth we figured out the details. We started with a base disc golf bag design, making it longer to accommodate the pannier mount. Next, we tweaked the pouches on the side and added a water bottle holder. Finally, I took some final images back and forth to confirm everyone understood, then the payment was made, and I just had to wait for it to arrive in the mail.
### Arrival
After waiting for a month, it arrived in the mail! I had just returned from traveling, which was the most exciting item in my mailbox. So I filled it up and took it out for a spin — and my first round of disc golf in a few weeks.

It worked precisely as envisioned! Which is, well, exactly how the prototype worked. It fit a decent number of discs, mounted to my bike correctly, and looked great.

Then the failure. It only took a few weeks of regular use before the bag started falling apart. The weight of the discs and the pannier mount to the bag just wasn’t up to the job. Sadly I’ve had to rip the pannier mount off, and it’s now used for storing extra discs in my closet.

### What’s Next?
I will also not move forward with manufacturing a disc golf bag this way. I am not interested in working with companies that create cheap, shoddy knockoffs. If I ever pursue this again, I want to find some high-quality manufacturing facilities that will make a product that will last a lifetime, not just a few uses.
I’ve always had over-the-shoulder bags, but after doing some user research, I found that most players biking to disc golf use larger backpacks that carry many more discs. So I’ve bought myself a backpack bag to try and started exploring the other backpack bags. Trying to find the design features I love — and those I don’t like.
I don’t think I have the time, energy, or motivation to pursue developing a disc golf pannier further right now. It’s too much work, and it’s just not something I have enough expertise to follow on my own.
Is developing a disc golf pannier bag something that gets you excited about it and interested in collaborating? [Please reach out](mailto:matthew@hall.vc)!
---
# Media Diet: September 2022
Published: 2022-10-08
URL: https://matthewhall.com/posts/media-diet-september-2022/
Tags: media diet
📚 The Paper Magician - Unnecessary addition to the original trilogy. Doesn't add much to the universe. Not worth reading. C
📺 Mo - Great companion piece to one of my favourite shows of all time, Ramy. A
📺 Reservation Dogs Season 2 - Managed to keep the magic alive of the first season and elevate it. A
📺 What We Do In The Shadows Season 4 - One of my favourite shows of the last few years but just didn't love it as much this season. B
📺 Never Have I Ever Season 3 - Somehow this show has gotten better season over season. Made a 10 hour plane ride fly by. A
🎥 Thor: Love and Thunder - Very dissapointed in Taika Waititi. Could have done so much more with Natalie Portman. C
🎥 Nope - I think my expectations of Jordan Peele are just so high now that this felt like a flop in comparison. B
🎥 Elvis - I've always found Baz Luhrmann to be pretty hit and miss and this was definitely a miss. Could have been an hour shorter. C
📺 Cobra Kai Season 5 - I am continually amazed how good this show is. It has no right to be this excellent after 5 seasons. A-
📺 Shetland Season 7 - Solid as always. One of my favourite British Crime shows ever made. A
📚 Lessons in Chemistry - Thoroughly enjoyed! A-
🎥 Confess, Fletch - Never seen any of the original films but this was a fun watch on a lazy evening! Jon Hamm is fantastic as always. B+
🎥 Empire of Light - Vancouver Film Festival started at the end of September so I got a chance to watch this pretty early! Had high hopes but was a bit of a muddled mess. Sam Mendes can do better. B-
---
# BCFlights - A Regional Flight Search Engine for British Columbia
Published: 2022-09-10
URL: https://matthewhall.com/posts/bc-flights-a-regional-flight-search-engine-for-british-columbia/
Tags: projects, bc flights
import YearOfProjects from '@/components/shortcodes/YearOfProjects.astro';
All my favorite projects start off as problems I run into in my life. [GrowlerFill](https://matthewhall.com/about/) started when I wanted to find somewhere to fill up beer growlers. [Ferries App](https://matthewhall.com/about/) for BC Ferries was scheduled when I lived on Vancouver Island and took the ferry every week or two.
A few months ago, I was visiting Vancouver Island and was trying to book a flight from the Comox area back to Vancouver for my partner. There are many different ways to fly from Vancouver Island to Vancouver. Floatplanes, planes, and helicopters from various airfields and floatplane bases. Some of them are available in travel search engines, like [Google Flights](http://flights.google.com/). Still, most are only available on their own websites.
When I wanted to go through all my options, I had to open up multiple different booking websites and check various different routes. Then cross reference 5 or 6 other tabs for pricing and times. Suffice it to say, it was a hassle.
This gave birth to the simply named [BCFlights.com](https://bcflights.com/), a one-stop solution for regional flights within British Columbia.
I started by compiling a list of all BC's regional airlines. It was a much longer list than I expected! Then started putting it all together and seeing how I could get the data needed to offer travel information.
## Data
I went through the different airlines and looked at how they loaded their route and scheduling data on their websites. Air Canada and WestJet were accessible — they're available through all the standard commercial systems for flight search.
There are two major systems for flights inside BC — [Intelisys](https://intelisysaviation.com/) and [Blue Sky Booking](https://www.blueskybooking.com/). Between the two, they cover most of the BC airlines.
I started off digging into Blue Sky Booking. It turned out to be much more of a pain in the ass than I was expecting. Route data is offered in a nice clean API, but scheduling, on the other hand... No API is being used, just website rendering with hideous tables and a very unreliable URL structure. It's been a while since I wrote any complex scraping code, but here we are.
Intelisys, on the other hand, was a dream to deal with. APIs are everywhere! Was quick to write one universal implementation that works for both airlines that use it. The only hiccup is that I still haven't figured out how to get my price calculation to always be correct. As a result, mysterious discounts that just don't make sense are being applied.
The rest are a fun mix of unique solutions. One airline uses Squarespace bookings, another Accuity Scheduling, and a few seem to be using their own custom in-house solutions built on WordPress. You've got to start somewhere!

## Frontend
It's hard for me to believe now, but 5 years ago, I was a full-stack web developer who implemented designs and helped create them. So it's safe to say that I've gotten very rusty in the last 5 years.
I started picking up a website template for a hotel and flight reservation system and was immediately overwhelmed. I spent too many hours trying to force everything to work the way I wanted it to.
Eventually, I realized this wasn't worth the effort. The template had 100s of features I would never touch. So I chucked it all out and started with basic, simple markup. Function over form!

## Future
For now, BC Flights completely covers my personal needs. I'm mostly flying to Nanaimo or Victoria from Vancouver, and I've covered all those routes. It's great to open up one page to quickly compare all available flights and their prices.
Right now, there are no affiliate programs or monetization in place. This seems like a natural addition one day. This could be combined with a slick website booking system, similar to what Google Flights offers.
Monitoring and notifying of local flight deals is another natural expansion. Automating this tracking and sending out emails when there is deals for your regular routes would be very helpful.
Some basics are also missing, such as picking roundtrip flights or even knowing if a route is possible. In addition, many airlines list ways they never or rarely fly, which pollutes my data.
Something else you think I should do? Let me know!
[Check Out BC Flights](https://bcflights.com/)
---
# Media Diet: August 2022
Published: 2022-09-01
URL: https://matthewhall.com/posts/media-diet-august-2022/
Tags: media diet
📺 Bunheads - Love anything Amy Sherman-Palladino makes. Was perfect to watch while recovering from COVID. A+
🎥 50/50 - More great COVID recovery TV. Joseph Gordon-Levitt and Anna Kendrick are fantastic. A+
📺 Cheaters - Great use of a 10 minute TV episode format. Quick and fun to watch. B+
📺 Black Bird - Another great serial killer miniseries. Riveting from start to finish. A
📚 State of Wonder by Ann Patchett - Loved the start but it lost me by the end. Just didn't find the second half of the book all that compelling. B
📺 Better Call Saul Season 6 - What an ending to an incredible TV Show. I loved Breaking Bad but I love Better Call Saul even more. I'm sad its over. A+
📺 For All Mankind Season 1,2, and 3 - Definitely the reason I watched almost no movies this month... I was busy watching ALL of it! Loved it all the way through but Season 1 was definitely the best. A-
📺 Only Murders in the Building Season 2 - Not as good as the first season but still a fun ride. B
📺 The Resort Season 1 - I love both Cristin Milioti and William Jackson Harper so I had to watch it. Was a fun ride but definitely lost me in the second half of the season. B-
📺 Loot Season 1 - Maya Rudolph playing a fictional version of MacKenzie Scott is pretty entertaining. B
📺 The Rehearsal Season 1 - Nathan Fielder is a comedic genius and it continues to show here. Go watch Nathan for You if you haven't seen it yet. A
📚 The Paper Magician Trilogy by Charlie N. Holmberg - After enjoying Spellbreaker and Spellmaker so much last month I gave Holmberg's other series a try and enjoyed it! Fun light reading. Perfect for travelling. B+
📚 Babel by R.F. Kuang - My favourite book i've read in ages. I'm a huge fan of her Poppy War trilogy and continue to love her work here. Can't recommend it enough! A+
---
# Adding Post Thumbnails and Having Fun with DALL-E 2
Published: 2022-08-13
URL: https://matthewhall.com/posts/adding-post-thumbnails-and-having-fun-with-dall-e-2/
Tags: projects, dall-e
import YearOfProjects from '@/components/shortcodes/YearOfProjects.astro';
I started off July with a very different project in mind for the month, but COVID-19 had other plans for me! I got the project to the 80% mark with time set aside to finish it off - then spent a week barely leaving bed with COVID-19. So here we are with something a bit different this month - playing with DALL-E 2 to create featured images for my blog!
I've always had a terrible track record with blogging and featured images. It's something I've always wanted to be consistent about having but with limited artistic abilities combined with laziness, it's always been a challenge. [Some](http://localhost:1313/posts/unlimited-sparkling-water-from-the-tap/) of my posts are a natural fit for having photos, but [others](http://localhost:1313/posts/5g-doesnt-matter-for-vr/) require some creativity.
Now that the fantastic DALL-E 2 has arrived, it's time to play with it! Casey Newton has been using DALL-E 2 to generate stunning images for his [Platformer newsletter](https://www.platformer.news/) with excellent results.
### Writing prompts is an art form
My first few attempts at DALL-E images were absolutely atrocious. There is such an art to writing these prompts. You need to be both specific and generic at the same time while giving it enough structure to figure out what you want. Sometimes you mess up your grammar a little bit, and instead of a specific painter's style, you get photos of that painter painting the view. Some techniques seem to work better than others too. For example, making things look like a Studio Ghibli film works excellent! On the other hand, I had a hard time getting anything to look like a Pixar film.
In the end, I spent about 4 hours playing with DALL-E and generating hundreds of different images to get together the 20 or so images I needed for my blog posts. Some I absolutely love, and some were just the best I managed to do work.




### Text is hard
For my [Adding YouTube Subscriptions to Plex](http://localhost:1313/posts/adding-youtube-subscriptions-to-plex/) post, I was trying to be lazy and just see what DALL-E could generate for me. Unfortunately, the results were underwhelming, to say the least. Text is almost always nonsensical, although you can tell that it has a general idea of what the YouTube logo looks like.




### Humans can be creepy
It was a friend's birthday this week, so I attempted to generate some AI paintings of her with her dog. The dog turns out great in almost every single photo! On the other hand, people are almost always incredibly creepy. This is some serious uncanny valley stuff. Hopefully, in future updates, it will get better at creating realistic humans.



### The results can be incredible
Now and then DALL-E 2 just absolutely knocks it out of the park and you get absolutely stunning results.

I'm looking forward to creating more DALL-E 2 art in the future! It is a blast to play with. I'll be posting some of my favourite images I generate over [on my Instagram](https://www.instagram.com/matthewhall_com/).
---
# Media Diet: July 2022
Published: 2022-08-07
URL: https://matthewhall.com/posts/media-diet-july-2022/
Tags: media diet
📚 [In the Shadow of Lightning by Brian McClellan](https://www.brianmcclellan.com/in-the-shadow-of-lightning) - Loved his Powder Mage series but he takes his writing to the next level with his new book. Couldn't put it down the entire time I read it. Can't wait for the sequel. A+
📚 [Upgrade by Blake Crouch](https://blakecrouch.com/books/upgrade/) - Great anxiety inducing thriller from Blake Crouch as always. A
📚 [Legion by Brandon Sanderson](https://www.brandonsanderson.com/collections-non-cosmere/) - I've read everything else that Brandon Sanderson has ever written but somehow I missed this series. Thoroughly enjoyed it! Great mix of psychology and fantasy. A
📚 [Spellbreaker + Spellmaker by Charlie N. Holmberg](https://charlienholmberg.com/book/spellbreaker/) - Cute little duology. Great summer reading by the pool. B+
📺 [Ms. Marvel](https://www.imdb.com/title/tt10857164/) - A good twist on the normal Marvel show formula. Started strong by ended weak. B-
📺 [The Bear Season 1](https://www.imdb.com/title/tt14452776/) - As someone who's never worked in a restaurant but loves eating in them - I loved the insights into the back of house. A
📺 [Conversations with Friends](https://www.imdb.com/title/tt11997646/) - Huge fan of Sally Rooney's work and loved the adaptation of Normal People. Found this fell a bit flat in comparison. B+
🎥 [Lightyear](https://www.imdb.com/title/tt10298810) - Toy Story is one of my favourite series of all time. This didn't live up to it but was perfectl adequate. B
🎥 [Godzilla vs. Kong](https://www.imdb.com/title/tt5034838/) - First of a few films I atched while bedridden with COVID. Mildly entertaining. C+
🎥 [Jurassic World Dominion](https://www.imdb.com/title/tt8041270/) - Even while bedridden I couldn't finish it. So so so bad. Makes Jurassic Park III look like a gem. F
🎥 [Doctor Strange in the Multiverse of Madness](https://www.imdb.com/title/tt9419884/) - Continues to be my least favourite Marvel character. D
📺 [Paper Girls Season 1](https://www.imdb.com/title/tt10623646/) - Loved the comic book series, great adapatation of it. A
---
# Adding YouTube Subscriptions to Plex
Published: 2022-07-15
URL: https://matthewhall.com/posts/adding-youtube-subscriptions-to-plex/
Tags: projects, youtube, plex
import YearOfProjects from '@/components/shortcodes/YearOfProjects.astro';
I consume tons of content: books, articles, podcasts, films, TV, and YouTube videos. I like to keep everything film and TV related in an application called [Plex](https://plex.tv/). It's a fantastic piece of software that lets you keep all your content in one place and track what you've watched (and haven't watched). I pay for most of the streaming services available in Canada, but I still download all my TV and Movies to Plex. It lets me keep track of what I watch in one cohesive place.

Only one type of video content is missing from my Plex server right now: my YouTube Subscriptions. I subscribe to a few dozen YouTube channels and have a habit of going to the `youtube.com/feed/subscriptions` page to catch up on what I've missed whenever I take a quick break and want a short video to watch.

Years ago, there was a [YouTubeTV plugin](https://github.com/kolsys/YouTubeTV.bundle) for Plex, but sadly it's long been abandoned and no longer works well inside Plex. It allowed you to access the full YouTube experience from inside of the Plex application.
So I started exploring all of the open-source software out there to see if I could create something comparable for handling my YouTube subscriptions. My Plex server runs on a [Synology NAS](https://www.synology.com/solution/what_is_nas) (home server) in my apartment and is capable of running a wide variety of software and makes it easy to spin up various open-source software.
First off was getting YouTube videos downloaded! I'm familiar with using [youtube-dl](https://github.com/ytdl-org/youtube-dl) and it's advanced alternative [yt-dlp](https://github.com/yt-dlp/yt-dlp) for downloading one-off videos. So I figured there must be someone out there that has built a service for automating your subscriptions!
I stumbled upon [Jeeaaasus/youtube-dl](https://github.com/Jeeaaasus/youtube-dl), which did what I needed it to — let me customize some yt-dlp configuration options and connect with my YouTube account to download all new videos and my subscriptions.
After fiddling around, I figured out [my yt-dlp customizations](https://gist.github.com/matthewhallcom/98586e376d88106a4e7ac5f8fdb724c2) to get it working just how I wanted it. I want it to embed metadata, download images, and use [SponsorBlock](https://sponsor.ajay.app/) to strip ads out of videos. So I did a dry run, and it worked perfectly!

Next up is getting the videos inside of Plex itself. Of course, I could add it as a Personal Media folder, but then I wouldn't get any pretty metadata about my YouTube subscriptions. Of course, the open-source community has built some solutions here!
There are two popular Plex plugins for grabbing YouTube metadata — [ZeroQI's Youtube Agent](https://github.com/ZeroQI/YouTube-Agent.bundle) and JordyAlkema's [Youtube-DL-Agent](https://github.com/JordyAlkema/Youtube-DL-Agent.bundle). I experimented with both and found that JordyAlkema's was much more consistent for my use case. In addition, it allowed the extraction of downloaded metadata rather than entirely relying on the YouTube API itself.

After setting up a new TV Show library that uses the Youtube-DL-Agent, things started importing and showing up inside my Plex library! All that's left is to figure out why my images aren't showing up. But for now, I'm thrilled to have all of my YouTube content centralized in one place!

---
# Scraping Last Minute Film Festival Tickets
Published: 2022-06-04
URL: https://matthewhall.com/posts/scraping-last-minute-film-festival-tickets/
Tags: projects, film festival
import YearOfProjects from '@/components/shortcodes/YearOfProjects.astro';
Anyone who knows me well knows that I love films. So I have a soft spot in my heart for going to film festivals. I've enjoyed multiple years of both the Vancouver International Film Festival and the Toronto International Film Festival.
I have had the pleasure of going to a few industry-specific festivals thanks to working on software used at Virtual Reality film festivals. They're a film nerd's dream come true, and I love having this excuse to go.
I was excited to go to one of these festivals earlier this year. Still, I encountered a nerd's favorite issue: a problem that automation can solve.
This festival released their tickets a few days ahead of time at 7am for the entire day. Unsurprisingly this caused a lot of server load every single morning and a lot of inconsistency in even being able to get a ticket. So on the second day of the festival, their system was inaccessible from 7am until around 10:30am. Once it was back, of course, there were no tickets left at all!

This led me to rely on their website's "Last Minute Tickets" section every day. Unsurprisingly, there's no way to get notified when tickets are available. You're just stuck refreshing the page every minute and hoping something pops up that you can claim. This became incredibly frustrating right away.
Being the nerd I am, I knew I could code my way to a solution. The term for this time of website automation is "scraping" — automatically interacting with a website to pull information out of it.
Being at the conference for a week, I needed a solution I could whip together quickly to get working. So I decided to try one of the no-code scraping tools parts of a recent YCombinator batch (Winter 2021), [Axiom.ai](https://axiom.ai/).

It's a great little browser extension that makes it easy to map out the browser automation you want it to do, then set up a schedule for how often you want it to run.

I started by just pulling the data into a Google Sheet to verify it was working. Then, after some issues with their CSS selectors and some practical tech support from their CTO, Simon, I got things working perfectly. Every 15 minutes, it would log in to the screening portal, navigate to the Last Minute Tickets section, check if any of these were newly listed, and notify me if they were.

The last piece of the puzzle is being notified when these tickets are available. In comes the beautiful [IFTTT](https://ifttt.com/)! Again, using the API integrations available, I could set up a JSON payload that sends from [Axiom.ai](https://axiom.ai/) to [IFTTT](https://ifttt.com/), then triggers a push notification on my phone.

It's not pretty, but it works! Thanks to this quick system, I saw a lot of films throughout my time at the festival.
Next time I'm at a festival using this approach, I hope to take this UI automation one step further — clicking the button to get the ticket itself! My approach here allowed me to get notifications, but I still had to open my browser and click to claim a ticket. This caused me to miss out on a few screenings while away from my phone. I'd expand this system to list all the screenings I want to go to and scrape them for their availability — automatically clicking to claim a ticket whenever they're available.
My recommendation for the festival? Fix your system. The server is going down because everyone needs to log in every day at 7am and refresh the page until tickets are available. Let people "bid" on tickets ahead of time and then lottery them off. Add in the ability to subscribe to email or push notifications to specific films you want to see for last-minute tickets. You'd avoid the refresh hell even more.
---
# Unlimited Sparkling Water From The Tap
Published: 2022-04-30
URL: https://matthewhall.com/posts/unlimited-sparkling-water-from-the-tap/
Tags: projects, sparkling water
import YearOfProjects from '@/components/shortcodes/YearOfProjects.astro';
import Video from '@/components/shortcodes/Video.astro';
I drank far too much Coca-Cola from my teenage years and into my early 20s. A disgusting amount that makes me cringe when I think back to it. It was a habit that was hard to kick; I believe, on some level, I had tied my developer/nerd identity with my Coca-Cola habit.
Thankfully I found that carbonated water was very effective at helping me stave off the Coca-Cola addiction — although it started a new obsession altogether, albeit a much healthier one. I started off buying flats of Perrier, which just seemed so wasteful.
Thankfully I found Sodastream and have been using them for years. Unlimited on sparkling tap water have both let me kick Coca-Cola and kept me incredibly hydrated.
Over time I’ve started to feel the downsides of the Sodastream. The first is that CO2 refills are EXPENSIVE. Of course, there are ways around this, such as using a [using a Paintball Canister](https://www.wired.com/2016/03/sodamod/). The other issue is that they only can be used with particular bottles. This is good if you’re not using them regularly, but they get dirty fast when you’re drinking at least a bottle a day. Finally, they’re not dishwasher safe — I’ve stupidly tested this, and the warm water of a dishwasher warped the bottle. I’ve never been able to get one sufficiently clean; after a few months of use, they just start looking gross.
In February of 2022, I moved into a new apartment with a built-in water filter next to the sink. In Vancouver, where I live, the tap water is delicious, and I have no need for filtered water. So I looked under the sink to see how it was plumbed in, and it was some very standard plastic tubing. This gave me a spark of an idea… I could make this tap on my counter dispense unlimited sparkling water!
## The Options
I started digging into what other people have done to solve this problem.
There are a few integrated faucet solutions, such as the [Grohe Blue](https://www.grohe.ca/kitchen-collections/modern/grohe-blue-chilled-sparkling) and [Zip HydroTap](https://www.zipwater.com/products/hydrotap-range). But, unfortunately, they’re… ludicrously expensive. We’re talking thousands of dollars just for dispensing some sparkling water. There’s no way I’m spending that type of money.

Then there are the more restaurant-focused approaches. Integrated chillers with carbonators in them. These were cheaper, but I wanted something a bit more custom.

Then the method I ended up going with was the most DIY of them all. I call it the Keg method.

The geniuses at KegLand have come up with a top for a keg that allows you to directly connect it to a water main to continually refill it with water. Then you attach a CO2 tank to it and plumb it to my existing water faucet. Sounds simple enough! Perfect for my needs.

## The Plan
The [keg lid instructions](https://www.kegland.com.au/media/pdf/Instruction%20Manual%20Soda%20Carbonator%20Keg%20Reactor%20Lid.pdf) have a really great overview of implementing this setup, providing a great starting place.

I wanted to re-use the existing tap and plumbing that was in place for filtered water, so I put together a diagram of all the customizations I needed to make.

From here, I just had to find a small keg and order all of the components I needed!
## The Build
I’m clearly out of practice at home renovation projects. I don’t know how many times in my life I’ve thought “measure twice cut once,” but for some reason, I just didn’t know this would apply to this project.
I went through three iterations of trying to connect this all together, with something going a bit wrong each time. The classic “multiple trips to the hardware store” problem was exacerbated by the parts I needed being very niche and only available online.
After trying a few different types of coupling, I quickly learned that duo tight fittings are the easiest to work with. All that matters is the external diameter of your tubing, and they’ll just slide in.
Eventually, I had all of the pieces I needed in one place. A keg, a CO2 tank, a regulator, some fittings, and the tubing connect it all together.

Next up was a test setup. Finally, putting it all together under the sink to make sure it actually works. Huge success!

Then for the most eventful part of the build -- keeping the water cool. Water only carbonates when the water is cold, so I needed to put the keg inside a fridge. Of course, I worked with very tight space constraints underneath my sink. After a lot of searching for the perfect-sized fridge, I gave up. Modifications were going to be needed! I picked up a cheap fridge and moved forward with taking a section of the top of it to fit the keg in.

This was by far the most frustrating part of this process. Fitting the keg inside the fridge, getting the tubing wired up, and ensuring nothing was leaking. All inside a very tight space.

Now I just need to add some insulation to the top to prevent a lot of wasteful cooling -- but it's all working great! I now have unlimited sparkling water coming from my tap.
## The End
Well, it works! It's cold, it's carbonated, and it's finicky. I am still working on fine-tuning it to get the carbonation just how I like it.
Would I suggest going through this method? Probably not. It was a headache, and I am worried about the ongoing maintenance of keeping it working. So instead, I will be watching for a used Albi Aqua or Everpure Exubera EV983050, an all-in-one unit I need to connect my water and CO2 lines.
---
# MatthewHall.ca Gets A Facelift
Published: 2022-04-17
URL: https://matthewhall.com/posts/matthewhallca-gets-a-facelift/
Tags: here
I picked up a new Macbook Pro last week and tried to get the previous version of this site running. It was a massive headache. It was running on multiple versions out-of-date edition of [Jekyll](https://jekyllrb.com/), which uses Ruby -- a language I have almost no experience with. After fighting with it for a few hours, I realized that this was a sign it was time to move on to something new!
I've moved over to using [Hugo](https://gohugo.io/), which is Javascript based -- a language I actually know how to use! It was a relatively straightforward process to get the existing content moved over, a new theme setup, and then deploy with Netlify. I've used Hugo for many simple projects over the last few years and quite enjoy using it. It's effortless and straightforward.
After doing this migration, I reflected on the different platforms I've used over the years. I dug into my Archive.org history, and I've been blogging on this site since 2009. Before that, I had a general tech blog called Games & Gadgets starting in 2006.
Of course, this means this site, and Games & Gadgets before it, have gone through countless iterations. The initial Games & Gadgets blog was based on a framework I had entirely forgotten about - [Serendipity](https://docs.s9y.org/). After that, I spent the better part of a decade building off of [WordPress](https://wordpress.org/), starting back with version 2.0. This stint with WordPress kickstarted my development career, and I did freelance WordPress Development under [Random Shapes](https://randomshapes.com/) for years.
As with many other developers in the last 15 years, WordPress got me deeper into software development, which made me realize how terrible a platform it is to work with. So I grew past it and moved to develop applications exclusively with [Laravel](https://laravel.com/) - although this website never had a Laravel version built.
After a very brief dalliance with [Ghost](https://ghost.org/), I realized the beauty of Jamstack websites for personal blogs. They're usually free to host, they never need patches or security fixes, and they're very portable between different Jamstack frameworks. So I initially built off Jekyll, the original "hot" Jamstack platform.
Blogging has fallen by the wayside in my life for most of the last 5 years, but this reflection made me realize how much it kickstarted the career I have today.
---
# Prototyping a Disc Golf Pannier Bag
Published: 2022-03-31
URL: https://matthewhall.com/posts/prototyping-a-disc-golf-pannier-bag/
Tags: projects, disc golf
import YearOfProjects from '@/components/shortcodes/YearOfProjects.astro';
import Gallery from '@/components/shortcodes/Gallery.astro';
I’ve been an avid disc golf player for most of my adult life. Last year in 2021, I played 105 rounds — almost once every 3 days!
I also am a bag addict. I’m always searching for the optimal bag. I’ve gone through at least a dozen backpacks over the last decade.
So, of course, my obsession extends to Disc Golf. I’ve tried numerous bags to find the perfect fit for me.
For the last year, I’ve been almost exclusively biking to play disc golf and am always pained to throw the bag over my shoulder and have it bouncing around while I ride.
I looked around online and was amazed that no one had built this before! The bike racks at my local course, Queen Elizabeth Park in Vancouver, usually overflow with bikes in the summer.
So this led me to a perfect project… Building my very own disc golf pannier prototype!
### The Prototype
None of my previous bags were a good fit for a pannier. I needed to find something longer to better mount against the bike.
Initially, I considered one of the many disc golf backpacks but decided against it. I don’t need that many discs!
Then I stumbled upon the MVP Disc Golf Competition Bag, and it seemed perfect for my needs! Just long enough to fit a pannier mount, holds a very reasonable 18 discs, and looks great.
I tracked down a hardware kit for converting any bag to a pannier, poked some holes in the bag, and attached the pannier rack to the bag. It was that easy!
### What’s Next?
I love this bag. It’s been so perfect. But, I want to try making it a genuine product made by an actual manufacturer. At the very least, go through the next phase of having complete prototypes made and go from there!
Interested in taking a prototype bag for a test run? Have feedback on what could make the pannier better? Please reach out!
See you on the course!

---
# Building a Ski Resort API
Published: 2022-03-20
URL: https://matthewhall.com/posts/building-a-ski-resort-api/
Tags: projects
import YearOfProjects from '@/components/shortcodes/YearOfProjects.astro';
Yes, yes, it's now March. Almost the end of March at that! The last month and a half have been very hectic — I moved, went to [Spain for MWC](https://arborxr.com/blog/barcelona-mobile-world-congress-and-tasty-tapas/), and then got sick! I created Ski API at the start of February before I moved, but this blog post got stuck on the back burner. So I'm choosing to go with a loophole. Even if the blog post wasn't done in February, the project was!
This was an idea that started out as another idea. It was a website that tells you which ski resort near you is the best to ski at today. I live in Vancouver, Canada, and we have many ski resorts near us. I have 3 resorts within a 30-minute drive, with another 3 under 2 hours away. This gluttony of choice can make it hard for many to decide where to ski! Should I stay at a local mountain, or is it worth the trek farther away?

As I started down that path, I realized that sourcing the data to build these suggestions didn't exist. So I wrote out the things that mattered the most for an MVP algorithm. It came down to 3 items: lift statuses, snow levels, and weather forecasts. Between these 3 variables, I can make a (relatively) accurate assessment of where it will be best to ski on any given day.
After some research, it became clear that no one offers this data. [Snow Forecast](https://www.snow-forecast.com/resorts/Whistler-Blackcomb/6day/top) offers some snow level details and forecasts, but not all.
There was one exception - lift statuses. My research led me to the incredible [Liftie project on Github](https://github.com/pirxpilot/liftie). It offers a [simple, clean web interface](https://liftie.info/) for seeing lift status at different ski resorts. But it only solved one of my core needs.
[](https://github.com/pirxpilot/liftie)
I love building APIs. It's what I've spent most of the last decade of my life doing. A few years ago, I created a little [weather embedding API](https://weatherembed.com/) and offered it through [RapidAPI](https://rapidapi.com/random-shapes-random-shapes-default/api/weather-embed). I decided I'd do the same thing with
After some back and forth, I decided to fork Liftie to add my needed functionality. It's a great project, but there were too many changes I wanted to make. It's designed as a [great, simple web application](https://liftie.info/) rather than my API-only approach.
The codebase is more or less a complete re-write of the Liftie project. All that's left is its base scraping logic. In addition, I've re-done the webserver logic of the database/caching system and added a whack load of new features. It offers a clean simple API for reading all the information about a resort that you would care about.

After finishing up [Ski API](https://skiapi.com/), it felt too late in the season to build my original idea of a "where to ski" recommender. It's on my list as my potential project for December! It felt too late in the season to build my original idea of a "where to ski" recommender. It's on my list as my potential project for December!
---
# A Crypto Skeptic makes an NFT
Published: 2022-01-25
URL: https://matthewhall.com/posts/a-crypto-skeptic-makes-an-nft/
Tags: projects, crypto, nft
import YearOfProjects from '@/components/shortcodes/YearOfProjects.astro';
I started and ended my crypto career very early. It started back in 2011, during the early days of Bitcoin. I was running a startup that offered Minecraft Server Hosting, called Tree Puncher. This was back when BTC was worth around $1 USD each. I accepted BTC for fun and kept it all in a "[hot wallet](https://time.com/nextadvisor/investing/cryptocurrency/hot-wallet-vs-cold-wallet/)", an amateur move even in 2011. This foray into crypto didn't last long, in 2012 my hot wallet was part of a [theft from a virtual server provider](https://arstechnica.com/information-technology/2012/03/bitcoins-worth-228000-stolen-from-customers-of-hacked-webhost/). I try not to think about the fact that there were hundreds of BTC in that wallet. Today it would be worth millions of dollars. I imagine I would be a crypto hype man today if I hadn't lost that hot wallet!
In the decade since I've avoided anything in the crypto space. The only exception is holding a little bit of ETH and BTC with Coinbase. I pay attention to what's happening in the space, it's pretty hard to avoid when you work in technology. I thought [ICO scams](https://www.investopedia.com/news/80-icos-are-scams-report/) would be the death of crypto, but I have been proven very wrong.
Recently, more people in my life have become more involved in crypto. People I respect in technology are buying into the technology. Venture capitalists are giving crypto startups millions of dollars. There must be something I'm missing here.
I decided my first step back into the world of crypto would be through making an NFT. Even though I don't believe in NFTs, I want to understand them. They are a fundamental part of the modern crypto world. I may think it's insane to care about owning a JPG but [Snoop Dog disagrees](https://twitter.com/SnoopDogg/status/1455598657202495492). As the crypto stans love to say, "[it's probably nothing](https://www.coindesk.com/business/2021/11/11/probably-nothing-why-people-still-hate-crypto/#:~:text=You%20can%20subscribe%20to%20get,Indeed%2C%20it%20would%20be%20something.&text=Citron%20said%20Wednesday%20evening%20the,crypto%20wallets%20into%20its%20app.)".
So without further adieu, say hello to the [Top Selling Phones NFT](https://opensea.io/collection/topphonesnft)!
[](https://opensea.io/collection/topphonesnft)
## **Where do you sell them?**
This was a rabbit hole I didn't expect to be so deep. I didn't realize was the 10,000 other options out there. All sorts of different marketplaces and different blockchains.
Some of the biggest options are:
* OpenSea - Ethereum, Polygon, and Klatyn
* Nifty Gateway - Ethereum, regular Credit/Debit
* Rarible - Ethereum, Flow, Tezos
Ethereum leads the pack in the NFT world. The sales on Ethereum on any given day are up to [150x the next top blockchain for NFTs](https://cryptoslam.io/), and more than the rest combined. OpenSea is similarly ranked, dwarfing the rest of the market in daily trading volume.
There's one big downside to Ethereum - gas fees. The cost to "mint" an NFT on the Ethereum blockchain is at least $55 USD. That's per NFT. If I was to mint 100 NFTs it would end up costing over $5,500 USD.
A lot of marketplaces offer "lazy minting". This means the NFT doesn't actually get added to the blockchain until someone buys it for the first time. Until then it's just a JPG living on a server somewhere... It kind of defeats the purpose, doesn't it? Mine as well upload it to [Imgur](https://imgur.com/).
Gas fees are the reason marketplaces offer other options. People like me want to be able to mint their NFT immediately without having to pay or wait. Polygon and others are L2s, or [Layer 2 Rollups](https://ethereum.org/en/developers/docs/scaling/layer-2-rollups/). They allow transactions to take place off the main Ethereum network and on a secondary - and much cheaper - network.
Since the whole point of this experiment was to make an NFT, I wasn't happy with a lazy mint! I decided to go with the Polygon L2 blockchain on the OpenSea marketplace.
## **What sort of NFT?**

This was a hard decision. I started off by doing research into some of the top-selling NFTs. Quickly I came to the realization that I was not going to be making any sort of "[Ape Yacht Club](https://opensea.io/assets?search[query]=Ape%20Yacht%20Club)" or "[Punk](https://opensea.io/assets?search[query]=Punk)". Going through the top projects the only art style I connected with and enjoyed was the "pixel art". It seemed perfect given my origin story in crypto. Most kids these days learned about the idea of pixels and pixel art through Minecraft.
Most of the most popular NFT collections are huge. 10,000 plus items. No one is making that many images by hand. They're all programmatically generated. You put together a collection of bodies, eyes, hairs, hats, scarves, etc. Then write some code to make every possible photo out of all the parts. I built a basic prototype to test out this approach and learned a lot! This process isn't anything revolutionary. It also has nothing to do with crypto. But, the bulk generation of these photos is some fun technology to play with. Despite this experiment, I decided to ditch this approach. Too many art assets to create and too many NFTs to deal with. I wanted a minimal project that had around 100 items in it.
Popular NFT projects generally have large communities and [grander aspirations than just being an NFT collection](https://hackmd.io/@mutantpunksnft/whitepaper). Some have [unique rollout plans](https://www.cryptocoven.xyz/rollout). For my first small NFT project, all of this was way over my head.
I decided I wanted to do something that people have an existing connection to. Avoid something that needs to be grown. Especially avoid any [apes](https://opensea.io/assets?search[query]=ape)…
I started poking around the internet for inspiration. I had a lot of failed ideas. Company logos? Done before. High-end sneakers? I know nothing about them. My own photography? No thank you. Disc golf discs? Not enough audience crossover. I do love the idea of [disc golf punks](https://opensea.io/collection/disc-golf-punks) though.
Finally, I stumbled upon [Wikipedia's List of best-selling mobile phones](https://en.wikipedia.org/wiki/List_of_best-selling_mobile_phones). The search stopped here, this was it! I've been a phone nerd for my entire adult life and have such fond memories of so many phones on this list. The [N-Gage](https://opensea.io/assets/matic/0x2953399124f0cbb46d2cbacd8a89cf0599974963/113527957571250459173920059109663876946190936030511132796406290566660956880897). Apple's original [iPhone](https://opensea.io/assets/matic/0x2953399124f0cbb46d2cbacd8a89cf0599974963/113527957571250459173920059109663876946190936030511132796406290573258026647553). Google's first [Pixel](https://opensea.io/assets/matic/0x2953399124f0cbb46d2cbacd8a89cf0599974963/113527957571250459173920059109663876946190936030511132796406290563362421997569). one of my very first phones, the [Nokia 1110](https://opensea.io/assets/matic/0x2953399124f0cbb46d2cbacd8a89cf0599974963/113527957571250459173920059109663876946190936030511132796406290686507724308481). So many gems on this list.
All I had left to do was the time-consuming, but boring, part:
1. Sourcing photos of every device
2. Write some software to programmatically generate pixel art of every device
3. [Publish them all on OpenSea](https://opensea.io/collection/topphonesnft)!
## **How do you convince someone to buy your NFT?**
You get people the ride the hype train! This was one of the most discouraging parts of all my NFT research. Almost worse than [their environmental impact](https://www.wired.com/story/nfts-hot-effect-earth-climate/). It appears that the vast majority of all NFT projects grow by pyramid scheme-style hype. A lot of projects act like the [classic pump and dump schemes](https://tittlepress.com/crypto/834147/). There's a whole community of "NFT Influencers" that pump projects - after they've gotten paid in cash or NFTs.
Since I had no expectation to actually sell any NFTs through this, I didn't pursue any NFT influencers. I've set up a [Twitter](https://twitter.com/TopPhonesNFT) and [Instagram](https://instagram.com/TopPhonesNFT) for the project and scheduled an entry to post every day. It's a few months of easy and automated content with curated hashtags attached. We'll see if that leads to any traffic but I'm not optimistic.
## **Should I Buy Your NFT?**

No. Please don't. I built this to learn I am not expecting to make any money from it.
If you're one of my friends or family, you can have one for free! DM me and I am happy to send you an NFT of your favorite phone. Now you can tell your co-workers you're on the NFT hype train too.
## **How do you feel about crypto now?**
Well, I definitely don't think that NFTs are the future, that's for sure. Especially with [Melania Trump getting into the space](https://www.washingtonpost.com/politics/2021/12/17/melania-trump-nft/). Pretty sure that's the sign an ecosystem is dying.
Despite what a lot of the [gaming industry thinks](https://www.cnbc.com/2021/12/20/cash-grab-or-innovation-the-video-game-world-is-divided-over-nfts.html#:%7E:text=Yung%20says%20the%20NFT%20approach,game%20and%20exchange%20it%20elsewhere.), I definitely do think NFTs have a future there. I have friends who have thousands of dollars in World of Warcraft gear or Counter-Strike Skins. They're very proud of them and I definitely think they'd want to make it their [Twitter Profile Pic](https://www.theverge.com/2022/1/20/22893502/nft-twitter-profile-picture-crypto-wallet-opensea-coinbase-right-click).
Owning a [gif of a basketball game](https://nbatopshot.com/) is never going to replace owning a [signed basketball](https://store.nba.com/autographed-basketballs/c-13303070+z-9576790-3818765603). Like [baseball cards](https://www.sportingnews.com/us/mlb/news/topps-nft-baseball-cards-what-to-know/gf5l6ylo983v18vchq9n4haby), they'll stay valuable for some. Just more for the collectors than the general public.
My main qualm with most crypto projects is they're not using crypto to solve problems. They take crypto and use it for a problem it's not helpful to. A lot of the time, it seems to make them harder or to leave [big security holes](https://decrypt.co/91076/opensea-exploit-sees-bored-ape-yacht-club-nft-sell-1700). [NBA Top Shots](https://nbatopshot.com/) doesn't need to be on a blockchain to make money. As someone whose primary motivation is to solve problems, this is a big turn-off.
2000s iTunes: "hey buy this content! It has DRM!"
2010s Bandcamp: "hey buy this DRM-free content!"
2020s N F T marketplaces: "hey buy this content-free DRM!"
I expect I'll likely do another Web3 experiment in my year of projects. Even though I don't believe in crypto technology, Many people I respect do, and it's still fun to play with!
Still curious? Can check out my [Top Selling Phones NFT](https://opensea.io/collection/topphonesnft) on OpenSea.

---
# Things I Was Grateful For in 2021
Published: 2022-01-20
URL: https://matthewhall.com/posts/things-i-was-grateful-for-in-2021/
Tags: things i was grateful for
import GratefulFor from '@/components/shortcodes/GratefulFor.astro';
It's hard to believe that I wrote my [2020 post](https://matthewhall.com/things-i-was-grateful-for-in-2020/) over a year ago. It's been quite the year, with changes good and bad, large and small.
In my personal life, I moved back to Vancouver. I spent a few months of 2020 in Vancouver, but in 2021 I moved back for good. I have loved living here again and being closer to my friends and family. It's my favorite city in the world, even when we're having [wildfires](https://www.cbc.ca/news/canada/british-columbia/bc-wildfires-2021-timeline-1.6197751), [torrential rain](https://www.cbc.ca/news/canada/british-columbia/bc-floods-2021-cleanup-abbotsford-merritt-princeton-1.6288008), [snowstorms](https://globalnews.ca/news/8480326/lower-mainland-15-20-cm-snow/), and [wind storms](https://www.narcity.com/vancouver/a-barge-has-crashed-into-vancouvers-seawall-as-strong-winds-cause-more-power-outages).
In my work life, [Vertigo Games acquired SpringboardVR](https://vertigo-games.com/vertigo-games-acquires-vr-arcade-platform-springboardvr/), and I helped [launch ArborXR](https://arborxr.com/blog/press-release-springboardvr-founders-launch-arborxr-following-sale-of-lbe-platform/). It's been a joy and a pleasure to work on a new product with the same team. We've had the opportunity to tackle some exciting projects. One of my favorites is our deployment with [Axon for Public Safety Training](https://arborxr.com/blog/arborxr-partners-with-axon-in-major-deployment-of-vr-for-public-safety-training/). Our team exploded in 2021 and will be growing even more in 2022 - [we're hiring](https://arborxr.com/careers/)!
With all that said, here are some of the things I was most grateful for in 2021.
##  Place - Kauaʻi, Hawaii
For someone who extensively traveled in 2019, the last two years have been an adjustment. So spending two weeks in Kauaʻi with my partner was a significant change of pace. Nevertheless, it was two of my favorite weeks of the year and an easy choice for this list.
Hawaii seemed like an excellent choice for a trip mid-pandemic. Cheap direct flights from Vancouver made it very appealing. I've been to Maui, Oʻahu, and Hawaiʻi (The "Big Island") before, but there is something incredible about Kauaʻi.
It's not the place to go if you want to party or be out late at the bar. Most evenings, everything nearby closed by 9 pm. But, the island itself is beautiful and serene—some of the most enjoyable hiking and beautiful beaches I've experienced.
It's hard to picture a better two weeks spent working remotely. I look forward to returning to Kauaʻi in the future and exploring even more of the island.
##  TV - Reservation Dogs
I considered writing about Ted Lasso [yet again](https://matthewhall.com/things-i-was-grateful-for-in-2020/#-tv--ted-lasso) this year. It's the only show I re-watched episodes of this year. Despite that, I've decided to keep with "first seasons" only for this list. Those accomplishments are more important to highlight. So few shows make it past their first season, and Reservation Dogs needs a second season.
Co-created by one of my favorite directors of the previous decade, Taika Waititi. He's behind some of my favorite films of the last decade, including "What We Do in the Shadows," "Hunt for the Wilderpeople," and "Jojo Rabbit." Everything he's ever made has had an impact on me. His unique voice permeates his work.
But enough about Waititi. The other co-creator, Sterlin Harjo, is the breakout success of this TV show. I knew shamefully little about him until this show. Thanks to a [fantastic interview with Marc Maron](http://www.wtfpod.com/podcast/episode-1252-sterlin-harjo) that changed! It was a pleasure to learn all about the 1491s, a Native American sketch comedy group he helped found. I can't wait to see what he creates in the future and watch his past works!
There's a fun bonus for the Canadian viewers too. Despite being set and filmed in Oklahoma, the cast is full of incredible Canadian talent. Three of the four main cast members are all from Canada!
_Available on Hulu or Disney+_
##  Movie - Red Rocket
Thanks to the COVID pandemic continuing in 2021, I had another year of watching lots of films. So many films. Far too many films.
I watch a good mix of films. Big Hollywood productions. Smaller Indie films. And, of course, the critically acclaimed Oscar bait too.
I enjoy them all, but I found I had a hard time with some of the critical darlings this year. In particular, both "The Green Knight" and "Spencer" weren't that interesting.
But "Red Rocket" knocked it out of the park. Sean Baker is an incredible director. I've loved Sean Baker's films and the punch to the gut that they deliver. I went into "Red Rocket" expecting to be in tears more than once. Instead, it was surprising how much of the film I spent laughing. Sean Baker has proven he doesn't need to crush your soul to make a gem of a movie.
Do yourself a favor and watch Red Rocket as soon as you can. Afterward, watch Sean Baker's last two films, Tangerine and The Florida Project. You'll be a better person for it.
_Still on my list to watch are The Worst Person in the World, The Power of the Dog, and Licorice Pizza._
_Available at a theatre near you_
##  Tech - mRNA Vaccines
They've saved over [half a million lives](https://www.ecdc.europa.eu/en/news-events/who-ecdc-nearly-half-million-lives-saved-covid-19-vaccination) and had [huge impacts on the economy](https://voxeu.org/article/economic-effects-covid-19-vaccines). They've [helped lower anxiety and reduced depressive symptoms](https://www.sciencedirect.com/science/article/pii/S0165032721012179) too.
Of course, the COVID-19 vaccine rollout has not been perfect or fair. COVID-10 vaccines have shown a [deep inequality](https://news.un.org/en/story/2021/09/1100192) in vaccine availability worldwide. The rollout has shown this could be the cause of the [situation we're in today](https://www.bbc.com/news/59462647).
Even ignoring the COVID-19 mRNA Vaccines, it's been quite the year for mRNA technology. From their potential for treating [cancer](https://pubmed.ncbi.nlm.nih.gov/28101688/) to [HIV](https://www.nih.gov/news-events/news-releases/experimental-mrna-hiv-vaccine-safe-shows-promise-animals), it's clear they're here to stay. I'm excited to see where they lead the future of medical treatments.
_Availability dependent on the country_
##  Gear - Sony a7c
A very recent addition to my travel bag, the Sony a7c is everything I want from a camera. Mirrorless but full-frame. Compact but powerful. Charges over USB-C so I can stop carrying a MicroUSB cable around when I travel.
I've been using Sony's mirrorless camera system for most of the last decade, and it continues to impress me. They are the perfect balance of ease of use with advanced controls when you want them.
In all honesty, it's TOO much camera for me, but it's a great excuse to work on my skills! I plan on keeping this camera around for a long time to come. So now I can spend my money on lenses...
_Available at most electronics stores_
##  Game - It Takes Two
I didn't play too many games during 2021, but even so, It Takes Two won this without breaking a sweat. The ingenious level design continues to surprise me. It has characters that make me laugh. A storyline that is heartwarming (and heartbreaking). I've always been a sucker for a great co-op game. This is one of my favorites of all time. It's so well-rounded that I have a hard time thinking of negatives for it.
I have had an absolute pleasure playing this online with my good friend Jameson. The seamless online co-op is a wonder to behold. Also, the second player doesn't even need to own the full game; there is a "Friends Pass" edition.
For anyone looking for a beautiful story-driven game to play with your friend or partner, give It Takes Two a try.
_Available on_ _[Windows](https://store.steampowered.com/app/1426210/It_Takes_Two/),_ _[Xbox](https://www.xbox.com/en-CA/games/store/it-takes-two/9NKJ0VZQ4N0L/0010), and_ _[Playstation](https://store.playstation.com/en-ca/product/UP0006-PPSA02342_00-ITTAKESTWORETAIL)_
##  Board Game - Eclipse
One of the best parts of returning to Vancouver has been getting back into in-person board games. It's been such a lovely change after a few years of primarily playing on Tabletop Simulator. There's nothing comparable to getting together in person with a few friends. The experience of cracking a beer and escaping is one of my favorite gaming experiences.
Eclipse is everything I love in board games. It's not too difficult to pick up and play for the first time, but it has a deep level of expertise to master. Every game is different, with it feeling a bit random but not so random that it feels like you have no control over it. Moving tiny spaceship figurines around a board is also very satisfying.
Usually, I have a hard time with long games, but I lose myself in Eclipse and don't know where the time has gone.
_Available at your local board game store_
##  Podcast - Underunderstood
I never found a podcast before and then spent the following week binging it. I listened to the entire back catalog, sponsored it on Patreon, and continued with the bonus episodes. It has everything I love in a podcast. Educational but entertaining stories, broad research on fascinating topics, and phenomenal hosts.
I love learning new obscure things, and Underunderstood is chock-full of them. Why isn't my McDonlands McFlurry stirred? Check. Does Jeff Goldblum have a secret tattoo? Check. Is this Reddit viral 9/11 photo a hoax? Check.
_Available_ _[wherever you download podcasts](https://underunderstood.com/)_
##  Activity - Disc Golf
I've played disc golf on and off for almost a decade now. So in 2021, I dove deep into it. I played over 100 rounds throughout the year, or once practically every 3 days. The perfect pandemic activity got me outside and enjoy some time with friends. Combined with biking to the courses, it even became a method of exercising.
One of my disc golf highlights was playing some courses that I had never played before. In particular, [Raptors Knoll](https://www.rkdiscgolfpark.com/) in Langley, BC. Raptors Knoll is the first "tournament level" course I've played and was a severe challenge.
In 2022 I hope to do a few things to improve my game. Work on my putting, make my distance drives more consistent, develop my sidearm throws. Then to top it all off, play in my first tournament.
_Likely available at your_ _[local park](https://udisc.com/courses)_
##  Place - Jaybird
I've always had a hard time motivating myself to exercise. It's something I've been trying to figure out for myself throughout my adult life. I always enjoy playing sports or biking for transportation. But a regular fitness routine has eluded me.
I've always found going to the gym boring, which always scared me away from going consistently. I don't get motivated by the "being yelled at" style of fitness instruction. This caused many more popular fitness studios to never work for me. Likewise, yoga classes have always frustrated me. I don't know the name of all the positions and can have a hard time keeping up.
Jaybird hits the perfect balance for me. It's a blended fitness class in a hot, dimly lit room. Instructors are great at talking you through the motions of your body. No more memorizing the name of positions. It's a welcoming place where I am always excited to spend an hour. I can't wait to go again later this week.
_Available in_ _[Vancouver or Toronto](https://jaybirdjaybird.com/)_
##  Book - Leviathan Falls
I read over 50 books this year, so picking a favorite was difficult, but I have to give it to Leviathan Falls. After nine books over a decade, The Expanse series continues to be one of my favorites. James S. A. Corey, AKA the writing duo of Daniel Abraham and Ty Franck, have proven themselves to be Scifi masters. I am very excited to read whatever they work on next!
It's refreshing to read a series where the new releases are consistent. Slow series like "A Song of Ice and Fire," "The Gentleman Bastards," and "The Kingkiller Chronicle" drain my excitement. I've dove deep into each of those fanbases but didn't last long. The Expanse has kept me around for a decade.
_Available at your local book store_
##  Album - Wilds by Andy Shauf
I didn't discover Andy Shauf at all until this year. Somehow I missed his incredible 2020 album The Neon Skyline. Thankfully I did stumble upon Wilds this year.
Both albums are such a pleasure to listen to. It was a fun surprise to learn that he's a Canadian artist - and I loved getting the album as part of [Arts & Crafts Record Club](https://recordclub.arts-crafts.ca/). I can't wait until I get a chance to see him perform live sometime in the future!
_Available on_ _[Bandcamp](https://andyshauf.bandcamp.com/album/wilds)_ _or any music streaming service_
---
# 2022: Building Something Every Month
Published: 2022-01-05
URL: https://matthewhall.com/posts/2022-building-something-every-month/
Tags: projects, 2022 projects
import YearOfProjects from '@/components/shortcodes/YearOfProjects.astro';
I'm not one for New Year's Resolutions, but I'm always trying to improve myself. I've been trying to find the motivation to write regular blog posts for 2+ years now without much luck. This year I am going to try doing something new, building a new project every month as a motivation to blog about them!
I've always found projects to be a way to decompress. To explore and be creative. I've never had much success or found much enjoyment from traditional artistic pursuits, like painting, crafts, or making music. Projects are where i've always found my creative outlet to be.
The idea of a "project" is going to have a very loose definition. It's whatever I am feeling excited about that month in whatever form it might take. Exploring what i'm excited and curious about - but making sure whatever I build it's [maintainable](https://matthewhall.com/build-maintainable-side-projects/).
---
# This is how vaccines are supposed to work.
Published: 2021-12-05
URL: https://matthewhall.com/posts/this-is-how-vaccines-are-supposed-to-work/
Tags: vaccines, covid-19
Last weekend I had the pleasure of getting my third COVID Vaccination, a half dose of Moderna as a booster shot to go with my two previous doses of Pfizer. While waiting my turn, I was scrolling through my Instagram discovery page and low and behold, I came across heaps of vaccine misinformation.
With the new [Omicron variant](https://www.who.int/news/item/26-11-2021-classification-of-omicron-(b.1.1.529)-sars-cov-2-variant-of-concern), the [return of restrictions across Europe](https://www.euronews.com/2021/11/29/covid-19-spike-felt-across-europe-as-vaccination-remains-stagnant), and the [wide government support for booster shots](https://globalnews.ca/news/8412131/covid-us-cdc-boosters-adults-omicron/), it seems like we're in store for another round of the vaccine debate.
## **Wasn't it just supposed to be two shots?**
The news told us it was just supposed to be two shots, and it was done with. What's all this talk about a booster shot now? Why were we lied to?
This sort of change is completely normal, especially when you consider the history of vaccines -- and is exactly what scientists expected to have happened[^](https://www.nytimes.com/2021/06/24/world/europe/covid-vaccine-mix-and-match-pfizer-moderna.html). A perfect example is the polio vaccine.
The original type of vaccine used as a single dose of live attenuated poliovirus that people drank. That's right, in 1950, you had a little sip of some full-on poliovirus. And young people around the world were excited to drink that[^](https://jamanetwork.com/journals/jama/article-abstract/393118)!
Since the 1950s there's been a continual change in how poliovirus vaccinations work in the United States. Not only has the type of vaccine changed, the recommended number of doses has changed too!
The Centre for Disease Control (CDC) now recommends that children get **FOUR** doses of the poliovirus vaccine[^](https://www.cdc.gov/vaccines/vpd/polio/public/index.html)! and for good reason:
Two doses of inactivated polio vaccine (IPV) are 90% effective or more against polio; three doses are 99% to 100% effective.[^](https://www.cdc.gov/vaccines/vpd/polio/hcp/effectiveness-duration-protection.html)
Scientists didn't figure this out right away. It took decades of study and improvements to vaccines and how/when they were dosed out.
Surprisingly, we don't even know how long people who received IPV vaccines will remain immune to polio[^](https://www.cdc.gov/vaccines/vpd/polio/hcp/effectiveness-duration-protection.html), DESPITE the polio vaccine having been around for **70 years**, just not enough research has been done.
Even with all the uncertainty and change with polio vaccines, they have had a remarkable impact on polio cases very quickly.

*Cases of Polio Paralysis in the United States*
## **But what if it's every year**
Virtually every major vaccine only lasts a certain amount of time: their effectiveness wanes due to virus mutations (like seasonal flu) OR your body begins to produce few antibodies[^](https://www.sciencedirect.com/science/article/pii/S0264410X19314793).
* The Td (tetanus-diphtheria) and Tdap (tetanus-diphtheria-pertussis) vaccines only protect for 10 years[^](https://www.cdc.gov/vaccines/adults/rec-vac/index.html).
* The Hepatitis A & B Vaccine, Twinrix®, only protects for up to 20 years[^](https://www.saskatoonhealthregion.ca/locations_services/Services/International-Travel/Documents/Purchase%20Vaccines/DC-51%20Hep%20A%20and%20%20B%20Twinrix%2002-14.pdf).
* The typhoid vaccine only lasts for 3 years[^](https://practio.co.uk/travel-health/vaccines/typhoid).
* Most of the HPV vaccines only protect for 10 or fewer years[^](https://www.cancer.gov/about-cancer/causes-prevention/risk/infectious-agents/hpv-vaccine-fact-sheet#:%7E:text=To%20date%2C%20protection%20against%20infections,with%20Gardasil%209%20(19).).
Very few vaccines are effective for your entire life and the only reason we don’t have to keep getting them over and over again is thanks to over 90% of the population ALSO getting them.
## **But it's _only_ 90% effective**
I wish it was 100% too. Sadly nothing is perfect.
In real-world conditions, there is a huge range of vaccine effectiveness:
* The mumps vaccines are only 49.2% to 88.0% effective[^](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3114893/).
* The Cholera vaccine is only 52% effective[^](https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(18)30108-7/fulltext).
Vaccines that are above 90% effective are the gold standard in vaccines, not the baseline.
## **It's going to mutate my DNA**
Well, all the evidence says that it doesn't and it’s not physically capable of doing so[^](https://www.unicef.org/montenegro/en/stories/covid-19-vaccine-does-not-change-human-dna). Besides, your DNA is changing all of the time! It's completely normal and expected for your DNA to change over time[^](https://www.sciencedaily.com/releases/2008/06/080624174849.htm). If you’ve ever been outside in the sun too long you’ve probably changed and damaged your DNA[^](https://www.sciencedaily.com/releases/2021/01/210114163929.htm).
## **I don't want to be infertile**
Good news for men, in a small study, the vaccine had the opposite effect. Men had MORE sperm after vaccination[^](https://jamanetwork.com/journals/jama/fullarticle/2781360)!

*Change in Semen Analysis Parameters Before and After COVID-19 Vaccination*
It's safe for women too! Since the vaccines became available there have been lots of babies born, and there's been no evidence to suggest that there are any negative side effects at all in any of the studies that have been conducted[^](https://www.nature.com/articles/s41577-021-00525-y).
On the other hand, getting COVID-19, even a minor case, reduces sperm quality and can cause miscarriages[^](https://www.sciencedirect.com/science/article/pii/S1642431X21000802#bib0765).
## **Well _I'm_ young and healthy**
Though you may be less likely to be hospitalized, you still can have long-term health impacts on your blood vessels and heart[^](https://www.sciencedaily.com/releases/2021/05/210506125817.htm) (and your sense of taste and smell). The COVID-19 vaccines, on the other hand, so far have no evidence of any long-term effects[^](https://www.cdc.gov/coronavirus/2019-ncov/vaccines/safety/safety-of-vaccines.html). The Pfizer and Moderna vaccines are now two of the most utilized vaccines in history with very few reports of even minimal side effects -- especially with the young and healthy.
## **I do my own research**
Great! I do too! I spent countless hours doing research -- and learning about polio in particular -- while writing this short blog post. There have been some great large studies on both the [Pfizer](https://www.nejm.org/doi/full/10.1056/NEJMoa2114255) and [Moderna](https://www.science.org/doi/10.1126/science.abl8912) boosters.
Dig into some deep academic papers and their source data! Interpreting them is a steep learning curve but has been well worth it in my life.
## **The end**
I honestly don't expect this to change anyone's opinions on the safety and importance of vaccinations, but god damn, did it feel therapeutic to write.
---
# Things I Was Grateful For In 2020
Published: 2021-01-13
URL: https://matthewhall.com/posts/things-i-was-grateful-for-in-2020/
Tags: things i was grateful for
import GratefulFor from '@/components/shortcodes/GratefulFor.astro';
With 2020 in the rearview mirror, I wanted to take a few minutes and think about some of the things — content, technology, software, etc. — that I was most thankful for in 2020. It has been a long, stressful, exhausting year, but some great things still came out of it.
##  Place — Iceland
I was fortunate to have a trip to Iceland before COVID-19 outbreaks hit North America and Europe. It was an incredible experience and one of my favourite countries I’ve been to so far in life.
We took a week and made a road trip around the entire island and got to see the wide variety of scenery that Iceland has to offer. It was filled with lots of hikes and visits to hot baths — and a few highway closures due to snow and storms.
I can’t wait to go back to Iceland again in the future and continue exploring it.
_Available once travel is safe again_
##  TV — Ted Lasso
Never before have I gone from being so uninterested in a TV Show to be one of its biggest fans. The concept of Jason Sudeikis playing an earnest ignorant American going to coach Football in the UK sounded like it would be an exhausting thing to watch. In reality, it evolves into a caring and lovely show full of in-depth character development. It takes a strong stance against gender stereotypes relating to masculinity while also developing strong on-screen female friendships that don’t revolve around the Men in the show.
I have been very pleasantly surprised to see Ted Lasso make many best of 2020 lists, and I can’t wait to see Season 2.
_Available on [Apple TV](https://tv.apple.com/us/show/ted-lasso/umc.cmc.vtoh0mn0xn7t3c643xqonfzy)_
##  Movie — Nomadland
2019 was a year of film festivals for me — Including my first visits to Cannes and TIFF. At the start of 2020, I was hoping to go to even more film festivals this year -- but of course, that didn’t happen! Thankfully a few festivals turned to online streaming this year, and I had the absolute pleasure of seeing Nomadland from the comfort of my own home as part of TIFF.
In a year that has me losing faith in humanity, this film helped bring it back. Depicting the often brutal life of someone travelling the country doing seasonal work — the friendships and connections developed are heartwarming.
I look forward to Frances McDormand, winning another very well deserved Oscar for her performance in this. No one else even came close this year to the performance she gave in Nomadland.
_Available on various VOD platforms_
##  Tech - 13” M1 Macbook Air
For the last 4 years, my primary machine has been a 15” Retina Macbook Pro with the butterfly keyboard - and for all those years, it’s been the bane of my existence. Other than it’s a gorgeous retina display, there has never been anything I’ve particularly liked about it. The touch bar has always been a letdown, the keyboard has broken on me and needed to be entirely replaced more than once, and I’ve had consistent performance and battery life issues.
I picked up an M1 Macbook Air, fully expecting to be returning it after finding it too slow to handle my daily workload. I did end up returning it in the end — but just so I could get a higher-end model. It is an absolute dream of a machine. It’s the first time I’ve been incredibly excited about a piece of hardware in years. It vastly outperforms my older but higher spec Macbook Pro, the keyboard is much more satisfying to use, and I don’t have a useless touch bar to deal with anymore.
I can’t wait to see what the future of Apple Silicon brings!
_Available from [the Apple Store](https://www.apple.com/ca/macbook-air/)_
##  Gear - Aer Flight Pack 2
Although I didn’t do too much travelling in 2020 for obvious reasons — the first few months of it were packed! For all of my travel, I had my faithful Aer Flight Pack 2 with me. It is a perfect backpack for a nerd on the go — pockets for everything, well laid out, and just the right amount of space. My laptop, iPad, kindle, mirrorless camera, and drone fit inside just right with room to spare for all the cables and adapters that I haul around with me.
The bag took quite the beating in my travels and still looks good as new. I’m eyeing up some of their [packable Go bags](https://www.aersf.com/go-collection) to pick up once travel is safe again.
_Available from [Aer](https://www.aersf.com/flight-pack-2-black)_
##  Audio - Jabra Evolve2 85
I spent most of 2020 sharing an office with my partner - something we haven’t ever had to do before. We both work in technology and spend a good chunk of our day on meetings. After a few weeks (maybe a few days) of taking all of our meetings in the same room, I was dying for some good noise-cancelling headphones.
The Evolve2 85 is extremely expensive, but the cost is worth it for me. They have an incredible battery life, the sound cancelling works wonders on both the speakers and the microphone, and they feel great to wear for hours on end. They will also work as a great pair of headphones for travelling — something I was sorely missing before. International flights with earbuds always proved to be a very uncomfortable time.
_Available from [Jabra](https://www.jabra.ca/business/office-headsets/jabra-evolve/jabra-evolve2-85)_
##  Gaming - Tabletop Simulator
In 2019 I moved to Toronto, and I had a year that was sadly lacking in board games — I was expecting 2020 to have a similar lack of board games, but the pandemic forced all of the board gaming online!
Tabletop Simulator has been an incredible tool for playing our favourites as well as exploring new games. It handles everything from the simple games, like King Domino, to the complex, like Terraforming Mars, incredibly well.
The effort that the community has put into making custom mods for it to bring different board games is incredible. Almost anything I’ve ever wanted to play I’ve been able to find. Thanks to Tabletop Simulator, I’ve purchased many new board games this year — hopefully, I’ll get a chance to play them in person sometime in 2021.
_Available from [Steam](https://store.steampowered.com/app/286160/Tabletop_Simulator/)_
##  Board Game - Azul
I can’t talk about Tabletop Simulator without mentioning a favourite game! Azul came out in 2017, and I’ve played a lot of it in the last few years, but it really made it to a special spot in my heart in 2020. It’s a simple, elegant, beautiful game that anyone can pick up and play easily but still has many in-depth strategies involved.
Earlier this year, we started doing Friday Afternoon board games with our Product team at SpringboardVR. We’re located across 4 countries and many timezones, so we don’t often get a lot of time to socialize. Azul turned out to be a hit across every team member and is played very regularly now.
_Available at your local board game store_
##  Podcast - According to Need
I’ve long been a fan of 99% Invisible — and am very excited to finally read their book, The 99% Invisible City — but their According to Need series is something even more special. I’ve spent most of my adult life living in two Canadian cities with substantial homeless populations — Toronto and Vancouver — and listening to this series of similar issues faced in Oakland was absolutely heartbreaking.
If you haven't listened to 99% Invisible before, this mini-series is a great place to start.
_Available [wherever you get your podcasts](https://99percentinvisible.org/need/)_
##  Book - Network Effect
I read a LOT of books this year — 60, according to Goodreads. The pandemic made me have more time at home, which turned into even more time to read. Throughout all of these books, there was one clear winner — Network Effect by Martha Wells.
I read mostly Sci-fi and Fantasy novels, and the Murderbot Diaries series — that Network Effect is a part of — is Science Fiction at it’s best. Smart, hilarious, fun and with deep thoughts about AI and the future of technology.
_Available from wherever you get books_
##  Side Project - ChatFox
In the darkest days of COVID in March and April, my partner went through two successive illnesses that caused us to be isolated at home for about 4 weeks. Going 4 weeks without ever leaving your home is probably something many people experienced for the first time this year — and is something I hope I never have to experience again.
During this time, the one bright note was that I took it as an opportunity to dive into a new side project, ChatFox, with a good friend and co-founder on previous projects, Alex Mason. It was a great way to fill countless hours while trapped at home, lazing on the couch while my partner played Animal Crossing. Learning both the Slack API and Typescript were exciting experiences, to say the least.
_Available at [ChatFox](/projects/chatfox/)_
---
# Building a Remote Development Team
Published: 2020-03-05
URL: https://matthewhall.com/posts/building-a-remote-development-team/
Tags: remote work, developers
What makes a remote development team successful? How can you build a team of employees who work together effectively across continents and time zones—even if they’ve never met? I’ve spent my entire development career working primarily remotely at a huge mix of companies, and in that time I’ve learned a lot about the benefits and pitfalls of different approaches to remote work. For the last three years, I’ve had the pleasure of leading the fully remote development team at SpringboardVR, where I’ve implemented what I consider to be the ideal setup for remote development teams.
## Don’t Blend Offices and Remote Workers
If you’ve started as a traditional office-based company, it can seem incredibly appealing to start adding some remote employees to the mix. Maybe you are running out of office space, or you’re trying to hire for a role that is hard to fill locally, or maybe you’re just trying to save some money compared to local salaries. The sad fact is that mixing office and remote employees just doesn’t work well.
I've spent time working remotely for two companies that mixed office workers and remote workers and both were a terrible experience—both for me and for my co-workers. It's easy for a fully remote team to get to know each other and become close, and it's easy for an in-person team to do the same, but it isn't easy for a mixed team to do so.
There's a wall that gets formed between the two groups where the remote employees are treated like second class citizens to the in-office ones. It's never (well, at least not in my experience) an intentional occurrence, it's just what happens naturally. The in-person employees communicate differently, don't document information the same, and don't feel the need to build the same kind of relationships with their remote counterparts that they do with their in-office co-workers.
It’s an issue shared by companies who have offices in different parts of the country—and in companies spanning multiple countries. How do you grow a shared culture when most of your employees across branches never interact other than over email? It takes a proactive effort of visiting each office and spending some time face to face with your counterparts to really ensure a cohesive culture develops.
I am sure there are some companies out there that are effectively blending both office and remote employees, but I always try to avoid it—especially as a developer. Unless you like working on little bug tickets all day and not having much interaction with the rest of the team, it’s just not a good experience.
## Hire Everywhere—But Nearby First
One of the most amazing parts about working remotely is being able to hire from anywhere in the world. Our team consists of members from Canada, the United States, Panama, Germany, Poland, and the United Kingdom. It’s amazing to be able to interview people in any country of the world and get a diverse team—but it can be a problem to hire too far away too quickly.
We hired one developer in Asia and it was incredibly difficult for both them and the rest of the team. They would stay up late for our team calls every week, and enjoyed a lot of time working with our Europe-based developers, but they weren’t connected with the rest of the team in the same way. Documenting effectively and working asynchronously as possible allowed them to be a productive employee, but it limited their ability to feel like a cohesive part of the team.
Too often I see job postings that are fully remote but with very stringent requirements about working 9 to 5 in the company’s local timezone. This really is the opposite of the dream fully remote team. You should be able to work at the hours you’re feeling most effective, rather than arbitrary hours set by the company. A few hours of overlap is important—an entire workday is not.
When you’re just starting to grow the team, make sure your new team members will have at least 3 or 4 hours of overlap with a chunk of the rest of the team. It will make it much easier for them to get involved in the company and its culture.
## Meet Up Early and Often
No matter how many video calls you have together, how many team bonding exercises you do remotely, or how many video games you play together in your off hours, nothing compares to getting some face-to-face time with the rest of your team.
I truly believe that an effective and productive development team can be built fully remotely—just look at GitLab and InVision—but nothing replaces the value of having some in-person time with each other.
The two biggest values we get from these are sharing of company vision and team building. It may seem like you’re paying your employees to spend a week off at summer camp together but the long term benefits of this time are astounding. Watch out for the “Post Retreat Sadness,” though—the first week or two after a retreat everyone may be feeling super motivated and in-tune with the company's vision, but they’re going to really miss seeing each other every day.
I love GitLab’s approach of providing a stipend for anytime someone travels to meet up with their co-workers. Even providing a small amount per coworker really encourages natural meetups. Many times, I’ve tacked on a visit to a remote coworker to a vacation that's in their region.
Currently at SpringboardVR, we have one full company retreat every year and multiple smaller developer meetups where possible. The goal is to get this up to two full team retreats every year, plus more opportunities to meet up at conferences and events.
## Use Webcams on Every Call
When you’re not seeing someone in person on a regular basis, it’s amazing how you can dehumanize a voice on the phone. Webcams should be on by default on every single call. It helps build connections and empathy between your co-workers in very unexpected ways. And as a bonus, iIt also lets you see any cute animals your co-workers may own!
As a VR company, we’ve been experimenting with doing meetings inside of VR. It’s been an interesting tradeoff of complete immersion in your meeting (without the distractions of Slack or email) but being without access to things like meeting notes or screen sharing. We’ve found that for smaller check-in calls with 3 to 5 people, VR meetings have been very effective to keep us all engaged—but for longer calls or calls where we need to refer to a document, they just aren’t there yet.
## Document Everything to Work Asynchronously
The most important part of effectively working as a remote team is being able to work asynchronously. If you’re continually running into blockers that require someone else on the team to act, it’s going to really slow everyone down.
All infrastructure should be as self service as possible. Admin access to all tools, easy self deployment options, and clear detailed documentation is necessary.
If you’ve never worked in an asynchronous manner before it’s going to take some time to get used to. We’re still working on this and are always trying to improve our documentation and processes. Every time we onboard a new team member, it helps us feel out the weak spots in our documentation, and to keep improving!
## Experiment and Learn
Remote teams aren’t a one-size-fits-all situation. Every team is going to have its own values, its own qualities, and its own approach to work. You’re going to have to experiment, listen to your team, and always try to improve.
I truly believe that remote working is going to be the future of work. It has so many benefits to both employers and to employees that it is just a no-brainer to me. The hardest part is going to be learning how to build an effective remote team—and that's learning we all need to do together and to share!
Working completely remotely can be difficult, but it's a way of working I don't plan on ever giving up—and I know most of my team feels the exact same way.
What has your experience been like in remote and partially remote teams? Any tips or tricks you would like to share? I’m always happy to hear them! Let me know in the comments below.
---
# 5G Doesn't Matter for VR
Published: 2020-01-01
URL: https://matthewhall.com/posts/5g-doesnt-matter-for-vr/
Tags: vr, 5g
News publications from _[Forbes](https://www.forbes.com/sites/solrogers/2019/01/30/the-arrival-of-5g-will-unlock-the-full-potential-of-vr-and-ar/#5bd079b57bcc)_ to _[VentureBeat](https://venturebeat.com/2019/10/03/ar-is-big-5g-will-make-it-huge/)_ have boasted that 5G is going to be the future of VR. But a lot of people in the industry, including [former Oculus CTO John Carmack](https://www.techradar.com/news/5g-vr-downplayed), have some serious concerns about the impact 5G will actually have on VR. What these publications are boasting is definitely the dream for VR – to use cheaper, slower, less battery-intensive hardware in standalone headsets and handle all the processing for the headsets on a remote server. We could have higher-quality graphics, way better battery life, and a much more immersive experience for a cheaper price. Who wouldn’t want that! But is 5G really the technology that is going to change this for VR?
## Speed

*Wireless Download Speeds Provided by Ookla*
The biggest selling point of 5G for VR is the theoretical speed being around 10Gbps – making it about 100x faster than 4G/LTE[^](https://www.telekom.com/en/company/details/5g-speed-is-data-transmission-in-real-time-544498). 5G marketing materials promote the “100x faster” argument but conveniently ignore many of the realities of the difference between 5G and 4G.
In particular, it ignores the more recent 4G specification of LTE-A, which has a theoretical speed of 1Gbps[^](https://www.4g.co.uk/4g-lte-advanced/). 5G only being 10x faster than 4G really doesn’t have the same ring to it, does it? Also, this is the speed for only mmWave 5G. Mid-band 5G has a theoretical speed of 5Gbps, and low-band 5G has a theoretical speed as low as 300Mbps.
Of course, there is also the difference between theoretical speed, hardware-supported speed, and real-world speed. LTE-A has a theoretical speed of 1Gbps, a current hardware-supported speed of 300Mbps, and a typical real-world speed of only 42Mbps[^](https://www.4g.co.uk/4g-lte-advanced/). While this specification has existed for 8 years, it is nowhere remotely close to reaching its theoretical speed.

*Theortical vs. Typical Download Speeds*
Assuming this is a perfect world and we could hit even 1/10th of the theoretical speed of 5G and have a 1Gbps connection, we then have to talk about the bandwidth requirements. Some countries, such as Canada where I live, have incredibly low data limits. “Unlimited” plans only became available in the last few years and even those have a limited speed after 5GB of data usage. If we really want to use intensive VR hardware over 5G, these data caps must be removed. Home internet providers faced this issue when video streaming first took off. And even today, it continues to impact those with rural internet connections powered by satellite connections. Without a change in how data caps are applied to the mobile internet, it’s going to be very hard for VR over 5G to truly take off.
## Latency

*SoftBank & Huawei 5G Latency Overview*
The latency of what you’re viewing in VR is one of the most important factors in an enjoyable VR experience. With too high of a latency, you suffer some serious motion sickness, which absolutely ruins any amount of immersion in your experience.
Currently, the launch hardware for 5G sees a latency of 8 to 12ms just from headset to tower[^](http://wirelessone.news/10-r/1368-5g-latency-30-ms-at-verizon). Verizon reports their early deployments have a latency of 30ms[^](https://www.verizon.com/about/news/customers-chicago-and-minneapolis-are-first-world-get-5g-enabled-smartphones-connected-5g). This doesn’t include a roundtrip connection to wherever the processing server for the headset is located or the time it takes that server to render whatever you’re going to view.
Of course, other things can be done to compensate for this latency. Google’s Project Stadia is attempting to do some incredible things with AI to combat latency with video game streaming. The way this AI works is that it’s trying to predict inputs with a keyboard and mouse or gamepad before they actually happen. Making AI predictions with a video game keyboard, which only has a few keys, and a mouse, which only has an X-axis, Y-axis, and velocity to predict VR input, is an entirely different story. Not only do you need to predict the controller inputs, but you also must predict each part of a human body moving in 3D space.
Until the latency for 5G is reduced to be much closer to the targeted 2ms of the 5G specifications, it’s going to be a nausea-inducing experience to use a VR headset over current 5G connections.
Headset manufacturers have been working very hard to reduce these latencies to as low as possible without even factoring in network latency. The general term used for VR is “Motion to Photon Latency” – the latency between a movement in VR and when that can be displayed. This has involved working on reducing the display’s pixel switching time, meaning how fast a display can switch what is showing for a pixel. With the amount of work that has gone into making local hardware work well for VR without even factoring in a network connection, it really shows how far-fetched 5G is for VR.
## Coverage

*5G Coverage Estimates*
Part of what makes mmWave 5G special is the higher frequencies it uses, but this comes at a huge cost. A 5G base station has so much less range than a 4G base station that it’s estimated it will require three times as many base stations[^](https://www.lightreading.com/mobile/5g/power-consumption-5g-basestations-are-hungry-hungry-hippos/d/d-id/749979) to cover the same area. Now, of course, this type of reduced coverage means that it’s never really going to be available in rural areas – a fact that T-Mobile’s CTO confirmed[^](https://arstechnica.com/information-technology/2019/04/millimeter-wave-5g-will-never-scale-beyond-dense-urban-areas-t-mobile-says/). Can you really picture a world where a VR headset is going to be sold that can only be used if you have reliable 5G access? This would cut out a huge percentage of the world and result in many upset people who purchase one of these headsets only to set it up at home and find out it won’t work.
Now, this may make it seem like it’s going to work great for those who live in a major city. But the other side effect of requiring higher frequencies is that its ability to penetrate materials decreases substantially[^](https://www.networkcomputing.com/networking/5g-will-hit-wall-literally-2019). This means that if you live in a large concrete apartment building – like most modern apartment buildings – chances are that you won’t have much or any coverage inside your own apartment except for right by your window.
One of the ways that 5G gets such high theoretical speeds is through a technology called multiplexing. At its most basic, this simply means sending data over multiple concurrent connections rather than just one. This is the same technology used by Wifi 802.11n, newer Wifi specifications, and current wireless headsets like the HTC Vive Wireless Adapter. One of the most important parts of the design of multiplexing is the ability for it to dynamically scale the number of concurrent connections depending on how stable the connection is between you and the access point. This is why the HTC Vive Wireless Adapter requires line of sight. The moment you put a wall in the way, it degrades the quality of the connection, and you can no longer maintain such a high connection speed. 5G is going to be affected by this exact issue – but do we really want our experiences in VR dynamically degrading as our connections get worse? Any change in the quality of a VR experience while you are inside of a headset is going to cause a lot of discomfort.
## But how could it work?

*Oculus Quest Hand Tracking*
Ultimately, I believe 5G will contribute to VR but we will have to wait and see what that contribution looks like. At the 2019 [VRX Conference in San Francisco](https://events.vr-intelligence.com/vrx/), I heard about an implementation where edge servers were onsite and used 5G for a backpack-less free-roam experience. Definitely an effective use of 5G for VR, but also something that could be handled just as well with Wifi 6.
Additional research is the leading contender in making 5G work well for VR. It’s what has taken VR this far and made the headsets we have today possible. Ultraleap has spent years developing hand-tracking technology, which has helped pave the way for the Oculus Quest to offer hand tracking in a standalone headset. If you’ve ever played a game at SandboxVR and experienced their absolutely atrocious hand tracking, despite having hardware Velcro-ed to your hands and powerful servers onsite to process it, then you understand how impressive this feat is.
Using 5G for just part of a VR experience is also a possibility. For example, keep the main effort of VR interaction local to the headset, but let an edge server handle partial rendering of a scene or specific complex models in a scene. This may not revolutionize VR in the home, but it will improve the quality of experiences on future standalone headsets.
## What else is 5G good for?

I definitely don’t buy into all the hype surrounding 5G. I haven’t read a single use case that I actually believe will be an industry changer. But there is still lots to look forward to with 5G!
It’s nice to be getting faster mobile internet! Faster internet to our mobile devices will continue to increase our quality of life, especially in major cities. I’m writing this article on an iPad with built-in LTE right now – I hope we see a future where 5G chips are more readily available on laptops for working while traveling.
Expect your devices to switch from 5G to 4G connections when you move from outdoors to indoors. It’s definitely an improvement over LTE-A, but it’s by no means the giant leap forward all the marketing materials claim. It’s definitely not going to cause what Intel claims[^](https://venturebeat.com/2018/10/11/intel-90-of-5g-data-will-be-video-but-ar-gaming-and-vr-will-grow/) – “a new dawn of VR-driven experiences will emerge as early as 2025.”
What will the future of VR really be? There’s no doubt in my mind it involves getting rid of all the wires. Every time I use my Oculus Quest or do a free-roam experience, it makes it harder for me to go back to using a tethered headset. With Qualcomm’s new XR2 specification, we’ll see standalone headsets slightly more powerful than the Oculus Quest, but don’t expect a giant difference, just a marginal increase. With desktop headsets, I’m hoping we’ll see new wireless headsets based on the Wifi 6 specification, and I’d love to have a wireless version of the Valve Index or HP Reverb.
I’m excited to see what creative applications people will come up with for 5G in 2020 and beyond!
---
# Build Maintainable Side Projects
Published: 2019-12-09
URL: https://matthewhall.com/posts/build-maintainable-side-projects/
Tags: projects, software
I’ve been building businesses online since I was 16 years old, and during that entire time, I had a terrible history of keeping my projects online and working properly. Whenever I had a new and exciting idea for my previous projects – and more importantly their users – it was forgotten and left behind. From GrowlerFill to Ferries App, I’ve left many unhappy users in my wake.
For a long time, I felt really guilty about this. For the last three years, I chose not to build any side projects and just focused on building the SpringboardVR product to be the best it can be. But recently, SpringboardVR has grown and matured, and with that, my role as CTO has evolved as well. I’m no longer a hybrid Backend Developer, Lead Developer, and CTO. Instead, the CTO role is consuming more and more of my time. As a result, I am losing my connection to programming and running out of excuses for trying out new technologies. All of this is culminating in the desire to start looking at building some small side projects again – and causing me to take a hard look at what caused my previous failures.
A few years ago when the USB-C specification was becoming popular, I purchased my first USB-C phone and laptop. It sparked an idea for a new side project. My friend Jamie and I decided to build a database of USB-C devices to help people figure out how devices and cables work together. We were pretty far down the path of building it – we had a basic API in place, a beautiful frontend, and then it was time to start inputting our data. We went through the usual options for trying to source data... Is there an existing API or dataset we can leverage? Can we scrape it from somewhere? Can we cheaply source it from real humans using something like Mechanical Turk?
After our research, we realized that the knowledge we needed for this project was too technical, disparate, and new to be automated in any meaningful way. We would have to go through hundreds of Amazon product listings, hardware listings for phones, tablets, and laptops, and manually combine all this information into our own database. And worse, we would have to continue doing this for the foreseeable future to keep things up-to-date. This was the death of the project for me and what sparked this realization – you must account for maintainability when coming up with side projects.
Along with my usual metrics for building a side project – Will I use it personally? Is there a way to monetize it? – I’m adding a new one... How maintainable is it?
Maintainable doesn’t just mean automating your source of data. It means how many hours per month you’re willing to put into keeping your product online, working, and making your users happy.
If it’s an iOS or Android application, you have to update it with every new software release because they change the requirements and limitations for applications. This may seem like a non-issue when you’re starting out, but just wait until you’re trying to remember how your build system works for a 4-year-old project that you never touch.
If it’s a database-driven app like my USB-C database, how many hours per month will it take to keep the dataset fresh and functional? Can you hire someone part-time to handle it, or do you have to take care of it all yourself?
For any side project you build, it will require a certain number of hours per month to answer support emails, help customers get set up, and keep the infrastructure running smoothly. Even if you use a Platform as a Service for your infrastructure, build a beautiful onboarding system, and offer a detailed knowledge base, there will still be something you’re going to have to assist with now and then.
Two new businesses I am advising on currently – ChatFox and CRO Notes – are perfect examples of products that have a very low maintenance burden. Both these have founders who have primary jobs that keep them busy, so they need products that can run themselves for the most part. Thus far, each has been incredibly easy-to-maintain – but they’re both just one external API change away from requiring a whole lot of maintenance work.
---
# Ably Broadcaster for Laravel
Published: 2019-11-01
URL: https://matthewhall.com/posts/ably-broadcaster-for-laravel/
Tags: ably, laravel
**This is now [built into Laravel](https://github.com/laravel/framework/blob/7ef38c8f25f0f243d4512661ac0ec649236d738c/src/Illuminate/Broadcasting/Broadcasters/AblyBroadcaster.php)! No need to use this package.**
Since the incarnation of our Laravel backend at [SpringboardVR](https://springboardvr.com/) we've constantly had issues with our WebSocket setup. We use WebSockets heavily at SpringboardVR- all of our software needs to be highly reactive across our multiple Single Page Applications, our Desktop software, and our VR software. Unlike a traditional web application where one user means one constant subscription, for each of our users this generally means 10+ constant subscriptions anytime their business is open and using our software. Each of their VR machines is an active subscription and we have web applications that our users keep open constantly on multiple devices. Our WebSocket setup needs to be rock solid, fast, and reliable for thousands of devices across multiple continents.
Over the last 3 years we've gone through a progression of using [Pusher](https://pusher.com/), [Laravel Echo Server](https://github.com/tlaverdure/laravel-echo-server), [Laravel WebSockets](https://docs.beyondco.de/laravel-websockets/), and then recently back to Pusher again. Throughout all of them we were constantly fighting with both scaling up our usage and scaling our services globally.
After our experiences with Laravel Echo Server and Laravel WebSockets we came to the conclusion that WebSocket servers belong with MySQL Databases and Redis Clusters- something we don't want to deal with hosting and managing in-house. Without a dedicated DevOps person on our team there was just too much involved with keeping these sorts of services running reliably.
We've been using Pusher again for the last 3 months but after seeing how high the latency is for some of our customers we decided to look into some of our alternatives - and that's how we found [Ably](https://ably.io/)!
## Why Ably over Pusher?
### Global Deployment
SpringboardVR has customers all over the world and one of the issues we were seeing with Pusher was very high latency for all of our non-US customers. Pusher is only in one datacenter per application while Ably is 15 across the world. In our testing so far we've seen an incredible lowering of our WebSocket latency in all edge locations.
### Pricing
The pricing for Pusher just doesn't make any sense. You're stuck picking from 4 specific tiers no matter what type of application you're building. What if you have an app that uses a lot of connections but a few messages? Or vice versa? Ably lets you pick the usage you want across both connections and messages, letting you pay for a package that makes sense for your application.
### Pusher & Laravel Echo Compatible
While we were evaluating options for replacing Pusher one of our biggest requirements was that we could continue to use [Laravel Echo](https://laravel.com/docs/5.8/broadcasting#installing-laravel-echo). As Pusher and Laravel Echo are already heavily baked into our multiple Single Page Applications as well as our Desktop system we wanted a seamless transition where we could slowly move over from our existing Pusher infrastructure.
### Lots more awesome features
On top of everything else there are a **ton** of interesting features that Ably offers that Pusher doesn't have anything comparable too- [Ably has a great list breaking them all down](https://www.ably.io/compare/ably-vs-pusher). Some of our favourites are MQTT, AMQP, and STOMP support allowing you do build full microservice communication on the back of Ably. They even have gRPC and WebSub support coming soon- technologies we're very excited to play with.
## Getting Ably and Laravel to Play Nicely
In our initial testing of Ably we decided to use Ably's fantastic Pusher interop layer. But, as we we're now looking to roll Ably out to Production we've decided it was time to build a custom Broadcast driver for Laravel that adds in Ably support!
**[Introducing the Ably Laravel Broadcaster!](https://github.com/springboardVR/Laravel-Ably-Broadcaster)**
This driver extends the native [Laravel Broadcasting system](https://laravel.com/docs/6.x/broadcasting) and works with [Laravel Echo](https://github.com/laravel/echo)!
Currently to use Ably with Laravel Echo in the frontend you need to enable the Pusher Protocol Support inside of your Abbly account.
1. Go to Settings for your Application
2. Enable Pusher protocol support under Protocol Adapter Settings
Once you've got that setup you can continue to configuring your Laravel application.First you need to add the new Broadcaster as a composer dependency
```
composer require springboardvr/laravel-ably-broadcaster
```
Change your default Broadcast driver name in `config/broadcasting.php`
```
'default' => env('BROADCAST_DRIVER', 'ably'),
```
Then you need to add Ably to your `config/broadcasting.php` config file under `connections`.
```
'ably' => [
'driver' => 'ably',
'key' => env('ABLY_KEY'),
],
```
Then you need to update your `.env` file with your Ably configuration details. The Key is available in the API Keys section of Ably. You need a key with full Privileges.
The `ABLY_KEY` value will look something like `g7CSSj.E08Odw:t2w2LkZ7OcR2Xk7S`
For the `MIX_ABLY_KEY` value you need to take everything before the `:` in your `ABLY_KEY`, like `g7CSSj.E08Odw`
```
BROADCAST_DRIVER=ably
ABLY_KEY=
MIX_ABLY_KEY=
```
Once you've got the Laravel side setup you also need to update Laravel Echo to use Ably! It keeps using the Pusher JS library but you use the Websocket Host that Ably provides.
```
import Echo from "laravel-echo"
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: process.env.MIX_ABLY_KEY,
wsHost: 'realtime-pusher.ably.io',
wsPort: 443,
disableStats: true,
encrypted: true,
});
```
That's it! Public, Private, and Presence channels will all work as with Pusher.
### What's Next?
In the near future we're going to be evaluating adding full Ably support using the Ably Javascript SDK to the Laravel Echo library. There is a lot of awesome features that you miss out on by using the Pusher interop layer and we want to have access to all the features Ably offers!
We hope everyone falls in love with Ably as much as we have at SpringboardVR!
---
# Running Laravel in Kubenetes at Scale
Published: 2018-09-01
URL: https://matthewhall.com/posts/running-laravel-in-kubernetes-at-scale/
Tags: kubernetes, laravel
### [Article Written by Jamie Spittal](https://www.jamiespittal.com/)
Here at [SpringboardVR](https://springboardvr.com/) we’ve recently finished a migration of our cluster from being managed by [Kops, hosted on AWS](https://github.com/kubernetes/kops) to running on [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine/). I won’t go into detail why we moved our cluster, but the important thing to take away is that we treated our new cluster as [a new start](http://arresteddevelopment.wikia.com/wiki/ANUSTART) when it came to running our [Laravel](https://laravel.com/) application in a more [Cloud Native](https://stackify.com/cloud-native/) way. With this new cluster we leveraged everything we’ve learned over the past year running a production Laravel app in Kubernetes to help us set up a system that maximizes performance. First, though let’s go over what our application looks like.
## How Springboard Uses Laravel
SpringboardVR’s humble MVP was a full Laravel app hosted on a single [EC2](https://aws.amazon.com/ec2/) server. We’ve grown a huge amount since then, not only in team size but also in the complexity of services that we offer. Our product now includes five independent [VueJS](https://vuejs.org/) SPAs, a native Windows application, a full 360° VR game launcher, and the backbone of it all, that original Laravel app, which we now just call _**“The API”.**_
_**The API**_ has changed a lot since the beginning— gone are the days of [AngularJS](https://angularjs.org/) mixed with [Blade templates](https://laravel.com/docs/5.7/blade) and [Foundation](https://foundation.zurb.com/). Now Laravel solely exposes a [graphQL](https://github.com/Folkloreatelier/laravel-graphql) API. This is a great setup as it means the API is much more cohesive and we’ve even implemented [Domain Driven Design](https://medium.com/@munza/large-scale-laravel-application-9d52c3d38e51) to separate concerns even further.
At the end of the day, this is still one big n’beefy Laravel application, and that poses some challenges when trying to run at large scale, in today’s “Cloud Native” world…
## Challenge 1: Dockerizing Laravel
Docker– if you’re unaware– is the de-facto containerization solution today. Containerization is one of the core tenants of Cloud Native so it’s important that we set up this foundational piece of the puzzle right.
> My best advice is to treat the different services and features of Laravel as completely separate Docker containers.
It’s pretty easy to give MAMP the boot and get Laravel running locally with Docker. Heck, you can even whip up a quick docker-compose.yaml file on a remote server and see that [Laravel Welcome](https://github.com/laravel/laravel/blob/master/resources/views/welcome.blade.php) screen we all know and love within a few minutes. But, running Laravel in production usually requires things like cron jobs, a queue worker and, in our case a websocket server for events. I’ve found that pre-built Laravel Docker solutions have all too much or too little in the way of features. Don’t worry though, it’s pretty easy to create your own Laravel Docker solution that fits your application’s needs.
When it comes to writing Dockerfiles, my best advice is to treat the different services and features of Laravel as completely separate Docker containers. This works great on Kubernetes as well as locally. For us it looks like this: _PHP-FPM, NGINX, Redis, MySQL, Laravel Echo, Laravel Horizon, and MailHog_, all separate.
Here’s our [docker-compose.yaml](https://gist.github.com/Spittal/e309593e0aa102882640f9a5c5f60d98) file and the [docker-compose.override.yaml](https://gist.github.com/Spittal/81b92f505c5cd0f846f75f1b60a3eb8c) we use to run our apps locally. As you can see we don’t have any build step and we’re using completely pre-built images. Not only does this speed up local development by removing build steps, it also more accurately reflects the set-up we’ll use when deploying the app to Kubernetes.
I should note: the above files **will not** be a perfect drop-in for your applications. I’m glossing over the fact that we build and maintain our own Docker images which is a large part of ‘tuning’ the application as these Docker images contain all the configuration for things like PHP-FPM and Laravel Echo. For a more in-depth look at Dockerizing your Laravel apps I recommend [these](https://hackernoon.com/stop-deploying-laravel-manually-steal-this-docker-configuration-instead-da9ecf24cd2e) [three](https://medium.com/@shakyShane/laravel-docker-part-1-setup-for-development-e3daaefaf3c) [reads](http://laradock.io/).
## Challenge 2: How to Deploy to Kubernetes
Over the last year I’ve gone through countless iterations of the way I deploy The API to Kubernetes. What started as a single Kubernetes [deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) yaml file, has now transformed into into this…

As you can see, it’s very similar to how we separated our docker containers above! So let’s break this down, starting with the managed services.
I made the mistake early on trying to put _everything_ in Kubernetes. **DON’T DO THAT. LEARN FROM MY MISTAKES.** Managing a MySQL database in Kubernetes is a massive pain, and just isn’t worth your time when there are fantastic services like Google’s CloudSQL or AWS’ RDS.
If you don’t need granular control of your database or redis (and let’s be real, you don’t, you’re using Laravel) you should always reach for a managed service, it will save you many hours and give you peace of mind. I promise, it’s worth the price!
Now let’s look at the deployments, they use the exact same Docker images as our local docker-compose.yml file. Because we use the exact same Docker environment on both local and production we have reduced the number of issues that will work locally then break on production. Another benefit to splitting up the deployments is that we can scale them independently of one another.
This setup is in contrast to a more ‘traditional’ way to deploy Laravel where every feature is deployed as one. The ‘one-big-deployment’ is how I first had The API setup, until we noticed that were were sending clients multiples of the same email. The issue was, we had scaled up our deployment to multiple replicas and with that came multiple Laravel Cron jobs running. The Crons would simultaneously process the same job and accidentally send out duplicate emails… _whoops._
Of course, having this many deployments can be a bit of an administrative burden. To reduce workload we’ve leveraged the Kubernetes package manager [Helm](https://helm.sh/). Helm makes it easier for us, not only because we can deploy updates with a single command, but we can abstract out common configuration (new image tags, resource allocation, ect) into variables that can be set at deployment time. Another bonus of Helm is we can deploy out multiple environments of the API (staging, QA, production, ect…) by using a single CLI command and just changing a few arguments.

What our Helm chart looks like in the folder structure
To keep things nice and organized, we keep a .devops folder version controlled in the root of the Laravel app, this keeps all of our devops configuration (including the Helm chart) right next to the application code. It’s editable, and visible by the whole team. With a system like this a deployment is just a single helm install .devops/chart from reality.
One last thing: You may have spotted ingress-nginx in the chart above. This is how we direct public traffic to our application. I won’t go into detail here because [this post](https://danielfm.me/posts/painless-nginx-ingress.html) is an absolutely fantastic resource when it comes to deploying ingress-nginx with excellence.
## Challenge 3: Tuning PHP for Cloud Native
When tuning you need to set up a feedback loop that often looks like like this: _Test, Monitor, Tweak, Repeat._ So, the first step here is we need to setup the tools that allows us to run tests and see quantitative results of the test. Let’s first look at our monitoring solution.
One of the primary reasons we left AWS for GKE is because Google has [monitoring and logging built-in with Stackdriver](https://cloud.google.com/monitoring/kubernetes-engine/). This feature is still in beta but we found it fairly intuitive and it automatically exposes some really useful metrics. Everyone’s monitoring solution is going to look slightly different and if you’re on GKE I would recommend using Stackdriver, but if your cluster is hosted somewhere else you can never go wrong with rolling out the popular [Prometheus Operator and Grafana](https://github.com/coreos/prometheus-operator) for monitoring.

Stackdriver showing metrics during one of many load-testing sessions
When it comes to testing tools, we’ve found that the most useful is a load testing tool called [Locust](https://locust.io/). Locust uses Python code to define user behaviour, then using that behaviour can generate a swarm of users to attack your site. Not only does this mean we can mirror traffic relatively accurately, but because it’s all configured with Python code, we can version control our tests and any of our developers can run, edit and add to the suite of user behaviours.
After running a few tests it became pretty clear that we weren’t handling load very well. But that’s okay, that’s the promise of Cloud Native applications! We have tools like [horizontal pod autoscaling](http://horizontal%20pod%20autoscaling/) and [load balancers](https://cloud.google.com/load-balancing/) that will ease all these troubles, **right..?** Well, _sort of– _ but you have to careful with these things especially when working with an older language like PHP. With that in mind let’s take a closer look at the “tweak” part of the tuning loop.
If you’re like me, you’ve seen this before…
```
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
```
You’ve probably thought to yourself “Oh, this is [FPM stuff](http://php.net/manual/en/install.fpm.configuration.php), I can deal with that later…” But, let me tell you two things: one, FPM is arguably the most important component of your entire application and, two, you should consider dumping dynamic if you’re running FPM in Kubernetes.
dynamic is great if you’re using a single huge server with lots of RAM and CPU but one of our Cloud Native goals is to make smaller, high performant replicas that we can scale horizontally. So, [might I suggest a move to static as your FPM governor](https://haydenjames.io/php-fpm-tuning-using-pm-static-max-performance/) of choice. With static our Kubernetes Pods will be predictable and have optimum performance. Through much trial and error I’ve found that having few max\_children per pod while giving the FPM container lots of CPU results in maximum speed.
With the static FPM governor, we have a very stable pod that we can use with the Kubernetes horizontal pod autoscaler to manage replicas! But, of course it’s never that simple. If you’re familiar with Kubernetes’ HPA then you know that by default it can only scale using CPU as a metric. This is what I first tried and found it was a pretty horrible metric for scaling, particularly bad if you’re using static as an FPM governor. This is because in static mode FPM will liberally suck up available CPU for maximum performance. I needed a more reliable metric to dictate my app replicas.

FPM Status Page: It’s not the most beautiful status page, but it works.
Hey! did you know that FPM has a [status page](http://php.net/manual/en/install.fpm.configuration.php#pm.max-requests)? Neither did I. How about that there’s [Prometheus](https://prometheus.io/) [exporter](https://github.com/hipages/php-fpm_exporter) for the data exposed by that status page? Yup, that exists too! It gets better, turns out you can do all of that and then use a [tool provided by Google](https://github.com/GoogleCloudPlatform/k8s-stackdriver/tree/master/prometheus-to-sd) to send that data to Stackdriver, which only then can be used by the [Kubernetes Custom Metrics Api](https://github.com/kubernetes/metrics) to scale your deployments using an HPA!
Yeah… that last paragraph is confusing (I found [this article](https://medium.com/uptime-99/kubernetes-hpa-autoscaling-with-custom-and-external-metrics-da7f41ff7846) extremely helpful in setting this whole system up). But the long and short of it is, using these tools I can monitor the number of “active FPM processes” to auto-scale my deployments. This metric is separated from how much CPU is needed for each task, doesn’t care about the amount of time each request takes, and it _pretty accurately_ represents the number of clients that are using our application at any given time!
This might not be the perfect metric for your use-case but once you have the Custom Metrics API set up, the world is your oyster when it comes what you can use to auto-scale. For example, many people like to use Nginx traffic metrics to scale, which is also a great strategy.
## Conclusion
While it can involve a lot of patience, time, and experimentation I believe Laravel can successfully be brought into the Cloud Native era. We covered moving away from single server deployments of Laravel to using Docker to split concerns, Helm to deploy, Kubernetes to host and schedule, and finally HPAs, FPM, Locust, and Stackdriver to reliably auto-scale your app.
Naturally, distilling over a years worth of knowledge into a single article means we’ve glossed over a _**huge **_ amount of complexity, but hopefully you can take away a few tips and tricks. Maybe after this you’ll have the confidence to deploy your next Laravel app on Kubernetes.