Like each of the ladies themselves, the Real Housewives of New York City is a show of opposing and discordant halves. There is the carefree and fun-loving side of the show, which is mirrored by the dark and misery-inducing half. There is the real half and the fake half. And this week, the show was literally divided in two: The first 30 minutes were devoted to sparkles and frivolity, and the latter to black eyeshadow and witchery. It was really confusing to watch.
Ramona really represents the duality of the show very well. She’s fun, she’s bubbly, and she deliberately keeps the plot moving. At the same time, she’s out of control, frightening, and maybe drunk. The unpredictability makes it really hard to root for her. Or anybody really, as the rest of the women are forced to circle her, amused but also afraid, knowing that she’s going to remain on the show precisely because of her insanity. They are forced, then, to try to find some way to deal with it. Oh, how we miss Bethenny, who was if anything consistent.
(Before we get to who won the episode — and really, I’m just delaying here because in truth nobody won — I’d like to say something about the alcoholic plotline that the producers and other housewives are clearly preparing for Ramona. First of all, Bravo, you created this monster. You identified her so much with Pinot Grigio that she came out with her own line of it. She can’t go to rehab now because she has a vested financial interest in continuing to drink. And in truth, Ramona’s only acting so confrontational because Bravo makes that sort of entertainment value a requirement for remaining on the show. It’s disingenuous to say to a cast member: “Act crazy!” and then edit the show to make it seem like she’s doing so because she has a drinking problem. Not that she’s not crazy, really, but come on guys — that’s cheap.)
Okay, so, here we go:
In truth, Ramona started out the episode pretty strong. She was aware of her foibles in the photo shoot. “Hopefully I’m relaxed in front of the camera, because you know I get a little stiff. I want Sonja to get here to make me laugh,” she said, making hilarious “soft eyes” because she knows what happens if she doesn’t squint. She admits to having a little “tummy” and is amusingly ditzy about how hard it is to be a model. “To have a photographer say: ‘Smile,’” she groans. “It’s not easy!” But, of course, as is her wont, Ramona spoils it all by going berserk on a friend at a public function. The key is to look into her black eyes — which, at the Pinot party, were frighteningly framed by dramatic eyeliner. When they flash, it’s time to run. Suffice to say, the fight that she got into with Jill at her own party was inappropriate and way off the handle. They’re both hypocrites about talking behind one another’s backs, but Ramona really lost it when she started chasing Jill around behind the bar like she was going to hit her. Jill hadn’t really even said anything that bad, if she said anything at all, but Ramona made it seem like she’s stabbed her in the back, literally, not figuratively. “I should have said: ‘Jill, you’re an effing bitch. How dare you speak behind my back that way?” she howled. Then, later, ridiculously, she claimed: “It wasn’t a fight, it was a discussion.” With discussions like these, who needs cage fights?
Just because she, too, went off the handle during the Pinot party, Jill also loses. But we have to give her props, she is mercilessly setting up Ramona to become the “Jill” of season four. “I know Ramona really well, and her friends are scared with her,” she says, subtly encouraging Cindy to go around badmouthing her. For the rest of the episode she was sort of Jill-esque — bouncing between being fun at the costume store, bitchy at Sonja’s party, and bossy at Cindy’s dentist. “I don’t think she needs to call attention to her teeth because she has so many,” she notes. Now people can have too many teeth? And don’t even get us started on that “GIVE THESE TRINKETS TO RAMONA FOR ME” move she made while crying in the car at the end. That doesn’t work with anyone other than your parents, at any age older than 8, with any thing other than a macaroni necklace.
Although Kelly was pretty much a nonentity in this episode, she did manage to look like a Playboy bunny and simultaneously fire off one of the more hypocritical lines of the night. “I didn’t realize that Sonja was so flamboyant and free with her body parts like that,” she sniped, in her own go-to nearly naked “costume” attire. “I’m 42 years old and it’s time to hide things. She’s 40-whatever and she’s just keeps wanting to show it.”
Ugh, LuAnn. Another week, another battle between Asshole LuAnn and Fun LuAnn. First she makes a jab at Ramona for being matronly. Then she and Jill have a rom-com costume montage, which was sort of fun and cute. Then she’s right back to being an asshole again with Ramona about the wine, trying to quiz her about the provenance of her grapes. Ramona startles her by knowing most of the answers — even correcting LuAnn about the aging process, which doesn’t sit well. “Ramona’s behavior is becoming worse,” she tut-tutts. “The more she drinks, the more friends she’s losing.” As we said above, we’re worried about this plotline. Blaming someone’s crazy reality-show behavior on drinking is a little like calling someone’s parents when you get in a fight on the playground. It’s cheating.
Like the rest, there are two sides to Cindy that we are only beginning to discover. There’s the with-it, pragmatic, business owner, and then there’s the completely oblivious, spoiled rich lady. “We were up all night, because I could hear them,” she said to Jill about her babies — or rather her babies and the baby nannies who were up taking care of them. Now, it’s perfectly fine to have baby nannies — probably most people would if they could afford them. But one should probably steer clear of complaining about how much noise they make as they care for your children. (Also, who sits cross-legged on the counter off of which they are also eating?) But in the same scene she gets off some wise lines. “Nobody has anything nice to say about Ramona,” she notes. “Everything that is said about Ramona is clarified, ‘We’ve been through the ups and the lows’ … Her core is not good.” While we were back and forth on her, and while we liked her honesty about her own horsiness at the dentist (who knew everyone in the world has caps?), she lost us when she carped on her ex, Kevin, about how he was holding the babies when she clearly never holds them herself. Babies are like rubber; they are designed to withstand new parents. Being held upside down is not the end of the world. Not like having your teeth caps fall off, or anything.
Like Kelly, Alex was a nonentity on this episode. She looked cute enough as Cleopatra, and was funny about Sonja’s snide comments about her boobs. (“I cantilevered them a little,” she admitted.) She had good lines here and there (“Ramona is to Pinot Grigio as salt is to the ocean”) and also looked pretty in both of her scenes. We particularly loved it when she and Sonja managed to stay in the shot right in the middle of Jill and Ramona’s fight while staying entirely out of it, but it was still not enough to win her the episode.
Okay, I know this is controversial because many readers have turned against Sonja, but I’m going to have to hand her the win. Yes, her party was sad and small and stupid. Yes, she was flighty and ridiculous and made an ass of herself (literally, the main visual I can remember from the episode is the bruise on her ass). BUT, she pulled a real coup by making half of the episode go by without a fight or any kind of bitchery. This is the Sonja that we used to love — the absurd one who hires a costume designer to design … a premade costume she already bought. It’s the Sonja who tells the hired help, “I’ve always been very frugal.” It’s the Sonja who thinks LuAnn would come to a costume party as Josephine Baker or Grace Jones, two black ladies. Yes, she made some snide comments to Alex about her boobs and her nudie pictures (Alex either didn’t hear or didn’t care), and yes she came across as sort of an idiot, but she was a fun and entertaining idiot, and Chris March did make her costume look fabulous. So, win.
Ancillary Winners:
Melissa, the Assistant That Pulled Off Saying “You Look Like a Young Pamela Anderson” to Ramona: That took a pair.
Chris March: I wish he’d lose a little weight — I didn’t like the way they subtly noted that he had to take the elevator to the top floor — but like the dog that was all over his legs, I can’t get enough of him.
Cindy’s brother Howie: After that weird caftan he was wearing in the first episode, he’s clearly learned he should dress up. But there’s still that off sexual-tension thing with his sister, which heightens when Kevin shows up and he gets jealous.
Brian: Sonja’s fake boyfriend was teased for getting manscaped, but I think (and I say I think, because fat in the lower abdomen on men can sometimes assemble itself in six-pack-like shapes) had a hot enough body to pull it off.
Whoever’s Name Kept Getting Bleeped Out: Has that ever happened before? I want her lawyers.
Ancillary Losers:
Cindy’s Baby Nurses: LuAnn’s nanny at least got her own plotline.
Sonja’s Michael: Okay, he’s adorable. But is he working for FREE?
Ceasar, Sonja’s Stylist: For being so un-psyched to appear on this show. He’s like a real-life disappointing gay friend.
Jennifer: Was she maybe supposed to be on the show or something? Why on earth did she let Bravo film her wedding? If she wasn’t making a bid to get on the show, she should know better than to get involved as a pawn.
Eva Amurri: Oh, girl. You’re actually fancy. What are you doing at Ramona Singer’s fake-fancy wine party?
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"4":4,"12":12,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]