ADVERTISEMENT

STREAMING REVIEWS: An age-old problem

Published Sep 29, 2021 08:14 am

Today, we consider two films that have themes of aging embedded in their stories. One comes from M. Night Shyamalan, up to new tricks, and there’s one from Clint Eastwood, the reliable, old dog with no new tricks?

Old (Video On Demand) - In this latest from Horror master, M. Night Shyamalan, the trailer to this film pretty much gave away the premise, and so all we had left was discovering where he would take us with the premise, and how far he would go in scaring the bejesus out of us. If you recall, it’s about a family on a tropical holiday: father, mother, 11-year-old daughter, and son who’s around 6. The mystery unravels when they go to a secluded beach, along with some guests from the resort, only to discover that they age really rapidly, practically going through a full life cycle in just one day. So it’s all about the discovery, the disbelief, turning against each other, and other permutations of people being made vulnerable - in the name of Medicine & Science?


Gael Garcia Bernal and Vicky Krieps play the Dad & Mom, and as you'd expect, there’s a rotating cast to play the ‘children’. It all works pretty well, as we suspend disbelief throughout much of the film. If anything, it’s as M. Night tries to make this all make sense, and explain things, that the film falters, with a rather weak resolution and ending. It’s almost like you wished he just left us hanging, with no real explanation, then give us reasoning that’s such a dud. In typical Alfred Hitchcock and Stan Lee fashion, look out for the M. Night cameo - in fact, you don’t even have to stay alert for this one, as it’s more than a split-second appearance. M. Night, your tricks are beginning to feel stale and ridiculous. The suspense and action are strong, it’s just the home stretch that ends up spoiling things.

Cry Macho (HBO Max) - Let me first put it out there that in his time, I’ve admired and really liked the films of Clint Eastwood. And when I say films, I’m not just talking about him as the star of his films, but also as a Director. Beyond Unforgiven and Million Dollar Baby, he did direct American Sniper, Sully, and Mystic River. But of late, it’s like there’s a tired old formula that plays on Repeat, whenever he stars and directs. While it’s only natural, given his age, he’ll play some old retired guy, who’s put out of his element, and will show that either an old dog can learn new tricks, or that he’ll cope with the situation in some realistic but unexpected manner. It’s like there’ll be variations, but they’re all on the same key, on the same theme.

Unfortunately, Cry Macho is no different. And when the script calls for him to walk gingerly or with pace, and you can see he’s trying, but it just isn’t there - it’s painful to watch. Or when we’re asked to believe that this 91-year-old can still break a horse. In this film, the premise has to do with Clint playing a retired, washed-up cowhand, asked to head down to Mexico and retrieve the teenage son of his ranch boss. A son he didn’t really recognize but suddenly wants to make amends to. So predictably, we’re going to get this generational pairing, of Clint’s character bonding with a young, sullen delinquent, and the boy’s fighting cock, named, what else, Macho. You immediately see where this is heading, and while there is a charm to the last half of the film, even the dialogue sounds like it’s twenty years too late.

Related Tags

crymacho
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.