ADVERTISEMENT

STREAMING REVIEWS: Acting excellence, and a tepid characters montage

Published Mar 14, 2023 11:18 pm

A scene from Living, which stars Oscar best actor nominee Bill Nighy


The two films today highlight a host of celebrated actors and actresses. Living delivers, with Bill Nighy leading the cast; while Sharper has Julianne Moore and Sebastian Stan, but fails to ignite. Living (Amazon Prime, on Demand) - Nominated for a Best Actor performance at the Oscars, Bill Nighy turns in a really impressive performance in the film Living. The screenplay is written by Kazuo Ishiguro (also nominated), and is based on the film Ikiru of Akira Kurosawa. At its heart, it’s a deep character study of the kind of person we always take for granted, bound by the job he has, and the type we often ignore or presume doesn’t have much of a life of his own. Fastidious, a by-the-book sort of fellow, Bill Nighy takes on the character of a department head in the Civil Service of Britain in the 1950’s. It’s when a visit to the doctor reveals that he has only months to live, that his world turns upside down. It may be no coincidence that Ishiguro was drawn to write the screenplay of this piece, given that he is the author of the novel The Remains of the Day, which chronicled in detail the life of a butler - we all recall the film adaptation that starred Anthony Hopkins as said butler. It would seen that a life of silent service, exacting competence and dedication to said life, are recurring themes in Remains, and now in Living. The Kurosawa film is in turn inspired by a short story of Tolstoy, so we can glean what kind of pace and treatment we’ll be subjected to… with pleasure. It’s not a fast paced film, but rather one that revels in the details, the little nuances and expressions, rather than bombastic words or grand gestures. And yes, Nighy is magnificent. Sharper (Apple TV+) - If we had this film on Apple about two decades ago, the structure and subject matter would have been considered stylized and riveting. It tackles the upper echelon of con artists - the ‘sharper’, as defined as someone who survives on his/her wits and cunning - and follows individual characters as chapters in the film, allowing them to interact with the other characters we’ve been introduced to, or see exploiting. To top it all, there’s an interesting set of actors brought together for this project. There’s Sebastian Stan, Julianne Moore, John Lithgow, Justice Smith, and relative newcomer, Briana Middleton. They’re all in their own ways, parlaying role of modern day grifters.
Given the firepower that’s been assembled for the film, what bothers me then is how there’s never a sufficient spark lit under the characters. It starts off with a lot of promise in a bookshop, when the characters portrayed by Briana Middleton and Justice Smith meet - he works in the store, while she enters looking for a particular book. Flirtation that’s quite subtle happens, and we are charmed as there is chemistry between the two. But unfortunately, it pretty much goes downhill from there. The con is revealed; but by the next chapter has started, we’ve been relegated to detached observers and don’t truly invest in any of the characters. It’s especially disappointing when Sebastian Stan and Julianne Moore show up, and so much undercurrent is produced, but never delivered on. Definitely something missing here.
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.