ADVERTISEMENT

STREAMING REVIEWS: From duo to solo

Published Oct 3, 2021 08:49 pm

On Amazon Prime, there’s a ballet-based film that aspires to be a poorer cousin to Black Swan, while on Netflix, there’s a strong solo performance from Jake Gyllenhaal in a movie that’s challenging to watch.

Birds of Paradise (Amazon Prime) - Set in present-day Paris, in one of the ballet academies, this film aches to be a cousin to Black Swan, but with stark differences. At the center of the narrative are two American-born dancers aiming for the top prize of the academy. One is Kate (Diana Silvers), who’s on a scholarship, and trying to fight for the prize on sheer talent, while short on confidence that she truly belongs. Up against her, is Marine (Kristine Froseth), the daughter of the French US Ambassador, the privileged one who feels entitled and almost bursting with arrogance. These two rivals predictably lock horns, complicated by the fact they have to share a room, and there’s only one bed. Obviously, we know where this will lead to.


So yes, it is a queer love story, of rivals turned into lovers, of ambition having to be redefined, even in the midst of being bi- and having shared one of the top male dancers. It’s all shot with a surreal tone, trying to be edgier and more stylized than it has any right to be, given the very YA coming of age premise. If you’ll criticize this film, it’ll be on two major counts - the dancing is lackluster and amateurish, and the acting of the two leads is so-so. On the first count, one could say that isn’t the point of the film; but on the second count, one is left with a gaping hole of what could have been. Silvers and Froseth do seem to be giving it all they have, but it just doesn’t make for investing strongly in the characters they’re portraying. 

The Guilty (Netflix USA) - Apparently, it was Jake Gyllenhaal himself who approached Antoine Fuqua to create an American adaptation of the original Danish film. Shot in the midst of the pandemic, it apparently took only 11 shooting days to complete the film. In it, the police officer portrayed by Gyllenhaal has been demoted to manning the 911 hotline, while pending an investigation into the actions of him and his partner that resulted in the death of a suspect. What we’re then treated to is a grim, realistic morning of handling these emergency calls. There’s a man saying he’s been robbed by a prostitute, a woman who claims she’s being abducted while her children were left home, and calls that come from the ex-wife of the officer - seems he has domestic issues of his own.


Gyllenhaal is very much the star here, as he’s in every frame of the film. All those calls I mentioned are disembodied voices - and while the likes of Ethan Hawke, Riley Keough, and Paul Dano dramatically provide the voices, we never see them. So structurally, the tension, the suspense, the drama, all have to emanate from Jake alone. And while he turns in an impressive, bravura performance; I will admit that the film’s structure can be a challenge to watch, and one definitely has to be in the mood to sit through this. In terms of structure, I’d compare it to Tom Hardy in Locke, where the whole film is shot while he’s on his mobile, driving in his car. Here, at least we’re given the luxury of watching Jake move to the toilet, away from his desk assignment, and so on. If you’re ready to watch Jake throughout the whole film, then sign up for the ride, as the acting is top notch. 

Related Tags

theguilty birdsofparadise
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.