My 2024 media diet 1/20/25

By Chris Johnson

For the past few years now, I’ve been keeping track of the media I watch and read. This is my list for 2024 in ascending chronological order:

Books

  • Tinker Tailor Soldier Spy ★★★★☆
  • Kafka Was All the Rage ★★★★☆
  • A Moveable Feast ★★★★☆
  • SPQR: A History of Ancient Rome ★★★★☆
  • Mastery ★★★★★
  • Lisbon: War in the Shadows of the City of Light ★★★★☆
  • A Gentleman in Moscow ★★★★★
  • Tough without a Gun: Humphrey Bogart ★★★★☆
  • Aubrey/Maturin: The Thirteen Gun Salute ★★★★☆
  • The Expanse: Leviathan Wakes ★★★★★
  • Slow Productivity ★★★☆☆
  • Aubrey/Maturin: The Nutmeg of Consolation ★★★★☆
  • The Honourable Schoolboy ★★★★☆
  • Breakfast at Tiffany’s ★★★★★
  • Napoleon: A Life ★★★★☆
  • The Burnout Society ★★★★★
  • Lincoln’s Virtues ★★★☆☆
  • A Perfect Spy ★★★★★

Movies

  • Run Lola Run ★★★★★
  • The Beekeeper ★★★☆☆
  • Anatomy of a Fall ★★★★★
  • The Holdovers ★★★☆☆
  • Dune: Part 2 ★★★★★
  • Monkey Man ★★★☆☆
  • Challengers ★★★★★
  • Mad Max 2: Road Warrior ★★★★★
  • Mad Max 3: Beyond Thunderdome ★★☆☆☆
  • Furiosa ★★☆☆☆
  • Love Lies Bleeding ★★★★☆
  • Deadpool & Wolverine ★★★☆☆
  • Le Samouraï ★★★★☆
  • Bullitt ★★★★☆
  • Wolfs ★★☆☆☆
  • Hit Man ★★★☆☆
  • La Piscine ★★★★★
  • Anora ★★★★★
  • The Witch ★★★★☆
  • Heretic ★★★☆☆
  • Juror #2 ★★★★★
  • Big Trouble in Little China ★★★★☆
  • Queer ★★★★☆
  • Gladiator 2 ★★★☆☆
  • I Am Love ★★★★☆
  • Babygirl ★★★☆☆
  • Nosferatu (2024) ★★☆☆☆
  • Miller’s Crossing ★★★★☆

Plays

  • Asi Wind’s Inner Circle (Magic) ★★★★★
  • Job (by Max Wolf Friedlich) ★★★★★
  • Enemy of the People ★★★★★
  • Mother Play ★★★★
  • Oh, Mary! ★★★★☆

My 2023 media diet 1/18/24

By Chris Johnson

For the past few years now, I’ve been keeping track of the media I watch and read. This is my list for 2023 in ascending chronological order:

Books

  • The Looking Glass War ★★★★☆
  • 4,000 Weeks ★★★★★
  • The Lion in the Living Room ★★★★☆
  • Rat Pack Confidential ★★★☆☆
  • The Alchemist ★★★★★
  • Aubrey/Maturin: The Reverse of the Medal ★★★★☆
  • Why Buddhism is True ★★★★★
  • Aubrey/Maturin: The Letter of Marque ★★★★★
  • Be Useful ★★★★☆
  • Mindset: The New Psychology of Success ★★★★☆
  • A New World Begins ★★★★☆

Movies

  • Avatar 2 ★★★☆☆
  • She Said ★★★★☆
  • Elvis ★★★★☆
  • Beverly Hills Cop ★★★★★
  • Good Liar ★★★☆☆
  • The Banshees of Inisherin ★★★★★
  • Everything Everywhere All at Once ★★★★☆
  • The Menu ★★★★☆
  • The Fabelmans ★★★★★
  • Tár ★★★★★
  • Amsterdam ★★☆☆☆
  • John Wick 4 ★★★☆☆
  • Bullet Train ★★☆☆☆
  • Guardians of the Galaxy Vol. 3 ★★★★☆
  • Asteroid City ★★★☆☆
  • The Life Aquatic with Steve Zissou ★★★★★
  • Mission: Impossible Dead Reckoning Pt. 1 ★★★☆☆
  • Indiana Jones and the Dial of Destiny ★★☆☆☆
  • Barbie ★★★☆☆
  • Oppenheimer ★★★★☆
  • Killers of the Flower Moon ★★★★☆
  • Prey ★★★☆☆
  • The Killer ★★★★☆
  • Napoleon (2023) ★★★☆☆
  • Poor Things ★★★★☆
  • Godzilla Minus One ★★★★☆
  • The Boy and the Heron ★★★★★
  • Maestro ★★★☆☆
  • Ferrari ★★★★☆
  • American Fiction ★★★★★

Plays

  • Harry Potter and the Cursed Child ★★☆☆☆
  • Sweeney Todd ★★★★★

Disabling Intercom during Playwright tests 11/5/23

By Chris Johnson

I recently ran into an issue where the Intercom chat widget was interfering with my Playwright integration tests. The widget was opening up and keeping some key elements from being clickable. A user could have easily dismissed the widget, but I didn’t want to bother dismissing it within Playwright. I couldn’t find any particular guidance on how to keep the widget from loading in the usual places on the web, so I had to come up with my own solution.

What I ended up doing was intercepting all outbound requests Playwright was making and skipping any that called the Intercom domain.

I created this helper function:

import { Page } from '@playwright/test'

export async function blockIntercom(page: Page) {
  await page.route('**/*', route => {
    if (route.request().url().includes('intercom.io')) {
      route.abort()
    } else {
      route.continue()
    }
  })
}

And then called it in the test files that were affected:

import { Page, test } from '@playwright/test'
import { blockIntercom } from 'helpers/block-intercom'

let page: Page

test.beforeAll(async ({ browser }) => {
  page = await browser.newPage()
  blockIntercom(page)
})

// your tests begin here

It shouldn’t be too difficult to modify this to also block chat widgets from other vendors like Zendesk or Drift.

My 2022 media diet 1/10/23

By Chris Johnson

For the past few years now, I’ve been keeping track of the media I watch and read. This is my list for 2022 in ascending chronological order:

Books

  • Homo Deus ★★★★★
  • Death’s End ★★★★☆
  • Waking Up ★★★★★
  • When We Cease to Understand the World ★★★★★
  • 21 Lessons for the 21st Century ★★★★☆
  • Master of the Senate: The Years or Lyndon Johnson ★★★★★

Movies

  • The Highwaymen ★★★★★
  • Body Heat ★★★★★
  • The Card Counter ★★★★☆
  • The French Dispatch ★★★★☆
  • Don’t Look Up ★★★★☆
  • The Tragedy of Macbeth ★★★★★
  • Spencer ★★★☆☆
  • House of Gucci ★★★☆☆
  • Nightmare Alley ★★★★☆
  • West Side Story (2021) ★★★★★
  • Licorice Pizza ★★★★★
  • The Batman ★★★★☆
  • Drive my Car ★★★★☆
  • The Last Detail ★★★☆☆
  • Top Gun: Maverick ★★★★☆
  • One Flew Over the Cuckoos Nest ★★★★★
  • Nope ★★★★☆
  • Enter the Dragon ★★★★☆
  • Don’t Worry Darling ★★★☆☆
  • See How They Run ★★★☆☆
  • When Harry Met Sally ★★★★★
  • Notting Hill ★★★★☆
  • Spirited ★☆☆☆☆
  • Ambulance ★★★★☆
  • Glass Onion ★★★☆☆
  • Long Kiss Goodnight ★★★☆☆

TV Series

  • Midnight Mass ★★★★★
  • Station 11 ★★★★★
  • The Night Manager ★★★★★

Plays

  • Beetlejuice ★★★☆☆
  • American Buffalo ★★★★☆

My 2021 media diet 1/30/22

By Chris Johnson

For the past few years now, I’ve been keeping track of the media I watch and read. This is my list for 2021 in ascending chronological order:

Books

  • The Murder of Roger Ackroyd ★★★★★
  • The 12 Week Year ★★★★☆
  • Cactus League ★★★☆☆
  • Kitchen Confidential ★★★★☆
  • The Spy and the Traitor ★★★★☆
  • Interview with the Vampire ★★★☆☆
  • Can’t Even ★★★☆☆
  • The Magician’s Nephew ★★★★☆
  • Essentialism ★★★★★
  • How to do Nothing ★★★★☆
  • Zero to One ★★★★★
  • Soccernomics ★★★☆☆
  • The Immortal Irishman ★★★★☆

Movies

  • Prospect (2018) ★★★★☆
  • Soul ★★★★☆
  • The Molly Maguires ★★★☆☆
  • The Man Who Would be King ★★★★☆
  • Russia House ★★★★☆
  • Minari ★★★★☆
  • Sound of Metal ★★★★★
  • Margin Call ★★★★★
  • The Trial of the Chicago 7 ★★★★☆
  • Nomadland ★★★★☆
  • Mank ★★★★★
  • Promising Young Woman ★★★★☆
  • The Father ★★★★★
  • Judas and the Black Messiah ★★★★★
  • Ma Rainey’s Black Bottom ★★★★☆
  • Wolfwalkers ★★★★★
  • Another Round ★★★★★
  • All is Lost ★★★★☆
  • In the Heights ★★★★☆
  • The Suicide Squad ★★☆☆☆
  • Reminiscence ★★★☆☆
  • A Most Violent Year ★★★★☆
  • James Bond: No Time To Die ★★★☆☆
  • Hereditary ★★★★☆
  • The Last Duel ★★★★☆
  • Dune Part 1 ★★★★☆
  • The Green Knight ★★★☆☆
  • Robin Hood (2010) ★★★☆☆
  • The Power of the Dog ★★★★☆
  • The Matrix Resurrections ★★★☆☆
  • Tenet ★★★★☆

My 2020 media diet 1/19/21

By Chris Johnson

For the past few years now, I’ve been keeping track of the media I watch and read. This is my list for 2020 in ascending chronological order:

Books

  • Harry Potter and the Goblet of Fire ★★★★☆
  • The Spy Who Came In From the Cold ★★★★★
  • Harry Potter and the Order of the Phoenix ★★★★★
  • Star Trek New Frontier: House of Cards ★★★☆☆
  • Primal Blueprint ★★★★☆
  • Harry Potter and the Half-Blood Prince ★★★★★
  • Stop Reading the News ★★★★★
  • The Dream Machine ★★★★★
  • Grant ★★★★☆
  • The Dark Forest ★★★★★
  • Harry Potter and the Deathly Hallows ★★★★★

Movies

  • 1917 ★★★★★
  • Little Women ★★★★★
  • Dolemite is My Name ★★★★★
  • Marriage Story ★★★★★
  • Jiro Dreams of Sushi ★★★★☆
  • Birds of Prey: Harley Quinn ★★★★☆
  • Contagion ★★★★☆
  • Missing Link ★★★★☆
  • Attack the Block ★★★★★
  • Onward ★★★★☆
  • The General ★★★★☆
  • Hostiles ★★★★☆
  • Barbarella ★★★☆☆
  • The Limey ★★★★☆
  • Bumblebee ★★★★☆
  • Train to Busan ★★★★★
  • Jumanji: The Next Level ★★★★☆
  • Cabin in the Woods ★★★★★
  • Batman Ninja ★★☆☆☆
  • Tremors ★★★★★
  • Her Smell ★★★☆☆
  • The Vast of Night ★★★★☆
  • Sorry to Bother You ★★★★☆
  • 6 Underground ★★★☆☆
  • The Imitation Game ★★★★☆
  • Everybody Knows ★★★★☆
  • Mississippi Grind ★★★☆☆
  • That Darn Cat ★★★☆☆
  • Burning (2018) ★★★★☆
  • Mulan (2020) ★★★☆☆
  • The Lighthouse ★★★★☆
  • Mulan (1998) ★★★★☆
  • Howl’s Moving Castle ★★★★★
  • Glass ★★★☆☆
  • Ponyo ★★★★☆
  • Borat Subsequent Movie Film ★★★☆☆
  • King of New York ★★★☆☆
  • Free Solo ★★★★☆
  • Blue Ruin ★★★★★
  • The Insider ★★★★★
  • Overlord ★★★★☆
  • Mary and the Witch’s Flower ★★★☆☆
  • Wonder Woman 1984 ★★★☆☆
  • Enola Holmes ★★★★☆

Plays

  • Hamilton (Disney+) ★★★★★

Stop reading the news every day 9/25/20

By Chris Johnson

I recently finished a book by Rolf Dobelli titled Stop Reading the News. Dobelli makes a compelling case to switch from daily news consumption to reviewing news once a week or not at all. As Dobelli argues that there’s not a lot you can do about the news literally as it happens, so why amp up your anxiety by consuming it every single day?

Now, I’m not ready to totally abandon the news — especially these days with COVID-19 raging in my home country — so I’m trying out the once a week strategy with a subscription to the print edition of The Economist. They give you the week’s news in a relatively condensed format that you can read in one sitting. Also, since it’s the print edition, I’m not getting lost following links all around the web. I’m also keeping tabs on COVID-19 cases in my area with tools like then Google News Coronavirus map, and as Dobelli suggests, I still read news about tech and development that have an impact on my career.

Stop Reading the News is a short book and I’d suggest giving it a read if you’re at all interested in understanding Dobelli’s reasoning for cutting back on the news and strategies for how to replace news in your life.

Newer model static sites 9/22/20

By Chris Johnson

Sites that are served statically (meaning they aren’t backed by a scripting language or a database) have big advantages in terms of speed, simplicity, and security. But as Leon Paternoster notes, the definition of static sites is changing, and we’re losing speed and simplicity in the process.

Under the traditional static model, the heavy lifting of building pages from includes and local or external data is done when the website is compiled into flat HTML files, whether that’s on a PC or a server. This happens out of view (hence Jekyll, incidentally), completely separately from any user involvement. Javascript is used to enhance UI, perhaps through offering sorting or filtering functions. All the user does is download the HTML file and its assets.

Under a newer model (which even has its own Netlify-created brand name of JAMstack) much of this heavy lifting is moved to the user’s browser. Websites are created as SPAs, where HTML, CSS, data and javascript are downloaded in one bundle and the javascript creates pages based on user interaction.

The issue with a “newer model” static site is that the JavaScript required to render a page is often so large and complex that it can take a significant amount of time to download and then execute on a device. That could be a recipe for frustration when visitors have spotty internet connections or are using relatively slow phones or laptops.

Mac apps I use 2020 5/15/20

By Chris Johnson

I’ve been a Mac user since right before the transition to Intel in 2006. Over the years I’ve collected a large number of third party apps that I use regularly for work and sometimes for play. I’ve left default Apple apps off the list, but I use those as well.

If there’s any alternative apps you think I should try, reach out to me on Twitter.

My 2019 media diet 1/3/20

By Chris Johnson

For a few years now, I’ve been keeping track of the media I watch, read, and play. This is my list for 2019 in ascending chronological order:

Books

  • Ancillary Mercy ★★★☆☆
  • Show Stopper!: The Race to Create Windows NT ★★★★☆
  • The Life-Changing Magic of Tidying Up ★★★★☆
  • Killers of the Flower Moon ★★★★☆
  • The Soul of a New Machine ★★★★★
  • Digital Minimalism ★★★★☆
  • A Brief History of Thought: A Philosophical Guide to Living ★★★★★
  • Harry Potter and the Philosopher’s Stone ★★★★☆
  • Educated ★★★★★
  • A Murder of Quality ★★★★☆
  • Rise and Fall of the Third Reich ★★★★★
  • Harry Potter and the Chamber of Secrets ★★★★★
  • The Three-Body Problem ★★★★☆
  • Hooked ★★★☆☆
  • Beneath a Surface ★★★☆☆
  • How to Break Up With Your Phone ★★★★☆
  • We Learn Nothing ★★★★★
  • Atomic Habits ★★★☆☆
  • Harry Potter and the Prisoner of Azkaban ★★★★★
  • Enemies of the People: My Family’s Journey to America ★★★★★

Movies

  • Coco ★★★★☆
  • Ready Player One ★★☆☆☆
  • Kiss Kiss Bang Bang ★★★★☆
  • Deadpool 2 ★★★☆☆
  • The Favourite ★★★★★
  • A Streetcar Named Desire ★★★★★
  • Prisoners (2013) ★★★★★
  • Captain Marvel ★★☆☆☆
  • Mandy ★★★☆☆
  • Locke ★★★★★
  • Major League ★★★☆☆
  • The Meg ★★★☆☆
  • Avengers: Endgame ★★★★★
  • The Wife ★★★★☆
  • John Wick: Chapter 3 ★★★★☆
  • Noah ★★★☆☆
  • Letters from Iwo Jima ★★★★☆
  • The Bit Player ★★★★☆
  • How to Train Your Dragon: The Hidden World ★★★☆☆
  • Bone Tomahawk ★★★★☆
  • Tomb Raider (2018) ★★★☆☆
  • Spider-Man: Far From Home ★★★★☆
  • Road House ★★☆☆☆
  • Bad Times at the El Royale ★★★☆☆
  • Hobbs & Shaw ★★★★☆
  • Once Upon a Time in Hollywood ★★★★☆
  • The Ballad of Buster Scruggs ★★★★☆
  • Machete ★★★☆☆
  • A Quiet Place ★★★★★
  • Widows ★★★★☆
  • It: Chapter 2 ★☆☆☆☆
  • Slow West ★★★★★
  • Hustlers ★★★★☆
  • Joker ★★★★☆
  • Get Carter (1971) ★★★☆☆
  • Deadwood: The Movie ★★★☆☆
  • Jojo Rabbit ★★★★☆
  • Midsommar ★★★★★
  • Parasite ★★★★★
  • Alita: Battle Angel ★★★☆☆
  • Detective Pikachu ★★★☆☆
  • Shazam! ★★★★☆
  • Ford vs Ferrari ★★★★★
  • The Shop Around the Corner ★★★☆☆
  • Terminator: Dark Fate ★★☆☆☆
  • The Irishman ★★★★★
  • Hercules ★★☆☆☆
  • Green Room ★★★★★
  • Queen & Slim ★★★★☆
  • Knives Out ★★★★★
  • Star Wars: Rise of Skywalker ★★☆☆☆
  • Jumanji: Welcome to the Jungle ★★★★☆
  • Uncut Gems ★★★★★

Plays

  • Burn This ★★★★★
  • Network ★★★★☆
  • Dear Evan Hansen ★★★☆☆
  • Sea Wall / A Life ★★★★★
  • Betrayal ★★★★★
  • Come From Away ★★★☆☆
  • Iolanthe ★★☆☆☆
  • David Byrne’s American Utopia ★★★★★
  • To Kill a Mockingbird (Ed Harris) ★★★★☆
  • A Bright Room Called Day ★★☆☆☆