ADVERTISEMENT

Seasick in a sea of pretension - A review of 'Triangle of Sadness'

Published Nov 26, 2022 09:15 pm
Dolly de Leon (center) in one of the scenes from 'Triangle of Sadness'

I’m a big fan of Ruben Östlund’s films, and how they love to put the spotlight on modern life and pretension. In his films, there exist elements of modern life that are regarded as ridiculous, and primed to be put into the spotlight for the beginnings of social commentary and back-handed humor. 

His Force Majeure in 2014 asked as us to re-examine the role of the father as protector in the face of particular stressful situations. A rather woefully tepid American adaptation that starred Will Ferrell followed. In 2017, The Square poked vicious fun at the Art world, and how it was riddled with pretension and artifice. Gloriously scathing and funny, The Square went on to win the Cannes Palme dOr that year. 

Now we have the much heralded 2022 Cannes Palme d’Or winner, Triangle of Sadness. Much publicized on account of the involvement of our Dolly de Leon in a pivotal role - so impressive an acting turn that some film pundits are predicting it may land her an Oscar nomination for Best Supporting Actress. Dolly portrays Abigail, who works on a luxury cruise ship as part of its janitorial staff, cleaning the rooms and toilets of the super-rich and/or entitled who join the cruise.

Now fair warning here, but don’t forget the talk is about Best Supporting Actress. Those rushing to watch this film and expecting Dolly to be in every frame of the film will be sorely disappointed. Yes, it’s an important role, but while we may catch glimpses of Dolly when the sequences on the luxury liner commence, the role of Abigail only really blossoms over the last third of the film. 

Until that point, it’s the stormy relationship between male model Carl (Harris Dickinson) and popular supermodel Yaya (Charlbi Kriek) that takes center stage. The role of the man as provider when the woman is obviously earning more money becomes the crux of the silly and ponderous exchanges between the two. They’re both entitled and on the wrong side of smart, and Östlund wonderfully turns these scenes into wry comedy and a subliminal battle of the sexes. 

Once we board the ship, the most memorable characters would be Russian oligarch Dimitry (Zlatko Burić), the ship’s absentee captain, Thomas (Woody Harrelson), and the stern female chief steward Paula (Vicki Berlin). There’s much undertone of angst while the conversations circle around the ironies of being a communist in a capitalistic milieu, and the converse of being a capitalist in a communist country. It’s America versus East Europe, but with the American taking on the side of socialism. It’s hilarious, and this is precisely what Östlund excels in, mixing the ridiculous with the sublime, and making the political always personal. 

Triangle of Sadness has its regular run in theaters on Nov. 30. Curiosity about Dolly de Leon and her role is a great bait for people to watch the film. Just be ready to be floored by the vicious, satirical comedy, and how Östlund plays with his material in a manner that we can only admire. 

Related Tags

Triangle of Sadness
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.