• Tangerine

    Tangerine

    ★★★★

    As excited as I am to see how Baker cashes his blank check, I’m going to miss the days of guerrilla iPhone filmmaking and cinema out of the mundane. He has such a talent for finding grace in grime, grit, and grunge—revealing humanity in underseen reality.

    Then again, Anora is a spiritual successor to Tangerine in all the ways that matter, and I love it all the more for doing more with more.

  • Coherence

    Coherence

    ★★★★

    Unbelievable concept, only occasionally spoiled by inelegant exposition—good thing they had that book on hand. Everything that might feel low-budget or amateur in a different movie makes Coherence all the more frightening. Like a home video where you don't know who's behind the camera.

  • Dune: Part Two

    Dune: Part Two

    ★★★★★

    Tailor made for me in a way no other film was this year—Denis’ approach to science fiction, sharp religious deconstruction, and a transmutation of my favorite novel that makes it feel more imminently applicable than ever.

    Rewatched after reflecting on my end-of-year list, where Dune has remained bolted to the top since last March. While this is my favorite film of 2024 and the one I’ll revisit the most, it’s hard to justify placing it above the searing brain-worm of Red…

  • Goodrich

    Goodrich

    ★★★½

    I’m not sure I’ve ever cried watching a movie (not a point of pride, more a point of concern), but here I am on a 10 PM flight, crying because of Goodrich. Dammit, Petey.

  • The Monkey

    The Monkey

    ★★

    Perkins is hit or miss as a comedy director, and as the film escalates, the hits start thinning out. It’s full of genuinely unfunny characterizations, most notably from a detour with Elijah Wood. Theo James is doing his best, but everything feels stuck between trying too hard and bad improv comedy. It plays like Perkins reaching for whatever you’d call Ari Aster's tonal triumph with Beau Is Afraid—which, if nothing else, makes me retroactively appreciate Beau Is Afraid more.

    Any…

  • Perfect Blue

    Perfect Blue

    ★★★★

    Millennia ago, we'd have called Satoshi Kon a prophet.

  • Ben-Hur

    Ben-Hur

    ★★★★½

    Should have ended when Heston turned his back on the Sermon on the Mount—but maybe that’s just me being a cynic. His revenge quest ending in dissatisfaction rings truer than the protracted Passion narrative that neatly ties everything up (it feels silly to critique Jesus for being a narrative cop-out, although…).

    But the film does lose its propulsive power the moment Messala exits (Stephen Boyd’s performance is a special effect). Up to that point, it’s almost sci-fi how well-paced and…

  • The Children's Hour

    The Children's Hour

    ★★★★½

    “Perhaps a whole culture is changing. It's possible, you know.”

    Every line, explicit or throwaway, cuts through artifice like a sledgehammer. You can tell Wyler had been thinking about this film for thirty-something years, and his entrapment in the cultural mores of the early ’60s becomes a boon to its intended sense of powerlessness, his inability to embrace queerness forcing the film into a restraint that paradoxically heightens its simmering frustration—The pressure cooker of conformity rages, inside of and beyond…

  • A Few Good Men

    A Few Good Men

    ★★★★½

    About once a day, completely unprompted, Jessep's voice erupts in my head:

    YOU WANT ME ON THAT WALL!

    YOU NEED ME ON THAT WALL!

    No idea why. I don’t even have a wall.

  • Captain America: Brave New World

    Captain America: Brave New World

    ★½

    119 minutes too long

  • Companion

    Companion

    ★★★

    Original concept, well built-out. Great Sophie Thatcher performance. It’s succinctly about one of my greatest fears: cringey men falling in love with ChatGPT.

    But the social commentary is really obvious, and too easy—focused on how incels are pathetic (duh) rather than on how frighteningly compelling the temptation of artificiality actually is. Jack Quaid is a guy I like, but I’ve never seen him add much depth to a role, and that’s a huge problem here. Then there’s the filmmaking, which is fine but perhaps too tongue-in-cheek to be poignant or scary.

  • The Gorge

    The Gorge

    ★½

    Hot snipers fall in love without ever meeting, communicating through written messages from their opposing posts—great premise. But boy, did my interest plummet the moment they actually entered the gorge. Yikes.

    And what was going on with ATJ's Russian accent?

' ].join(''); if ( adsScript && adsScript === 'bandsintown' && adsPlatforms && ((window.isIOS && adsPlatforms.indexOf("iOS") >= 0) || (window.isAndroid && adsPlatforms.indexOf("Android") >= 0)) && adsLocations && adsMode && ( (adsMode === 'include' && adsLocations.indexOf(window.adsLocation) >= 0) || (adsMode === 'exclude' && adsLocations.indexOf(window.adsLocation) == -1) ) ) { var opts = { artist: "", song: "", adunit_id: 100005950, div_id: "cf_async_b80fed0c-836d-492b-9d98-ac638a47c7fd" }; adUnit.id = opts.div_id; if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } var c=function(){cf.showAsyncAd(opts)};if(typeof window.cf !== 'undefined')c();else{cf_async=!0;var r=document.createElement("script"),s=document.getElementsByTagName("script")[0];r.async=!0;r.src="//srv.tunefindforfans.com/fruits/apricots.js";r.readyState?r.onreadystatechange=function(){if("loaded"==r.readyState||"complete"==r.readyState)r.onreadystatechange=null,c()}:r.onload=c;s.parentNode.insertBefore(r,s)}; } else { adUnit.id = 'pw-b80fed0c-836d-492b-9d98-ac638a47c7fd'; adUnit.className = 'pw-div'; adUnit.setAttribute('data-pw-' + (renderMobile ? 'mobi' : 'desk'), 'sky_atf'); if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } window.addEventListener('DOMContentLoaded', (event) => { adUnit.insertAdjacentHTML('afterend', kicker); window.ramp.que.push(function () { window.ramp.addTag('pw-b80fed0c-836d-492b-9d98-ac638a47c7fd'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-b80fed0c-836d-492b-9d98-ac638a47c7fd'));