Welp, like Nadia tripping down a flight of stairs, my “Russian Doll = Groundhog Day + Donnie Darko” hypothesis has just experienced a swift and grisly death. It was Nadia herself who killed it when she cried out, somewhere between her second and third fatal tumble down the yeshiva stairwell, “This is like The Game … I’m Michael Douglas!”
There is, of course, a meta-clever subversiveness to Nadia declaring she’s someone other than Bill Murray in Groundhog Day — the series’ most obvious cinematic touchstone, a comparison that’s been made in pretty much each and every review of the show. But if Russian Doll is insisting that Nadia isn’t weatherman Phil Conners (or Donnie Darko), then what’s it insinuating when it tells us she is like Douglas’s Nicholas Van Orton?
The Game, David Fincher’s post-Seven, pre-Fight Club thriller, is about an ultra-wealthy investment banker who receives an invitation into the titular, enigmatic game as a 48th-birthday gift from his younger brother, Conrad (Sean Penn). Conrad hopes the game will teach Nicholas about — or perhaps manipulate him into — embracing life more joyfully so as not to end up like their father, who killed himself on his 48th birthday. Nicholas is subsequently led to believe that the shadowy firm behind the game has rejected his application for entry, only to find his life beginning to unravel around him. He soon can’t tell what’s real and what’s the result of the game’s Orwellian forces. (Also, The Game came out in 1997, so at least one of my previous theories still stands. Russian Doll loves the ’90s!)
Nadia, we know from her conversation with Ruth at her 36th birthday party, is wary of ending up like her mother, who presumably died from mental health-related causes sometime before the latter half of her 30s. “She would’ve been proud you made it to 36,” Ruth tells Nadia — who shoots back, “Or glad that I’m now older than her.” By comparing her predicament to The Game, I think Nadia’s telling us that what’s bugging her most right now isn’t the absurd loopiness of her time loop itself, but that someone or something is manipulating her timeline to teach her something she may not be prepared to learn.
Nadia also works as … a game developer. I initially didn’t buy it when Nadia told her hookup that’s what she did for a living, and I’d still like to binge that hypothetical prequel, please, the one that shows Nads confidently chain-smoking her way up the chain of command on Silicon Valley, the one that addresses why she develops games at all — considering the fact that, as she previously asserted, she doesn’t play them. (Again, see her reluctance to learn whatever she thinks the universe wants to teach her.) I think this episode implies that she develops games because, erm, she’s just a straight-up savant genius? That’s what I gather when she offhandedly addresses the bodega guys in a foreign tongue before heading to her code meeting, and that’s evident at the meeting when she suavely schools her tech-bro colleagues after they incorrectly identify a bug as having been written by her. Nadia fixes the glitch before the assembled beardos can even protest. (Or, as I suspect they were screwing up the courage to do, let her go.)
I said last week that Nadia, with her Ratso Rizzo mannerisms, is a little stuck out of time. At the code meeting, she’s also out of place. While the code dudes’ greige shirts and hoodies blend into their anodyne office environs, Nadia sports red and black, the colors of blood and death (and also, the colors of the show’s title card). Her ensemble stands out as positively vibrant. When she fixes Bob’s coding bug, the computerized image of an inert man on the screen behind her begins to run. She reanimates him. She may not play games, but she sure can manipulate them. Is her whole, FUBAR’d circumstance derived from some metaphysical code glitch?
Nadia abruptly exits the meeting when her phone rings. “That’s my drug dealer, I gotta take this,” she informs Bob and the beardos. (In moments like this, Russian Doll is laugh-out-loud funny.) She’s still trying to determine the pharmacological origins of Max’s laced “cock-a-roach,” which she’s convinced is the cause of her M.C. Escher–esque death spiral. After all, it’s actually the day after the party now. She survived the night and even woke up in her own apartment, downed a raw egg with Tabasco sauce, listened to Max prattle on about Dolores Huerta after reading about her in “an actual physical newspaper.” You know, just normal, everyday stuff that I’m sure won’t prove portentous for some reason later on.
It takes a few do-overs (death-overs?) for Nadia to get to the bottom of things. Here’s where (I’m sorry, Russian Doll, but it’s true!) the show leans into its Groundhog Day bona fides. It’s a comical death montage! After Wardog the dealer tells Nadia he rolled the Israeli-style joints with nothing but cocaine, she winds up outside in a phone argument with John and, SPLAT! — falls through the bar’s open cellar doors. Transported back to the party bathroom, she strides up to Max, snaps the joint out of her mouth and marches it back down to the bar. (A shoutout here to the legendary 7B, which, last I visited, really did smell “like George Plimpton after a weeklong bender.”) Wardog’s Walter White sidekick, Dr. Daniel, informs Nadia the joint is actually laced with ketamine to help cancer patients with their depression. “I am happy for those cancer people, but this wasn’t a fucking cancer party,” she seethes. She exits the bar, spots Fahran the bodega guy with his drunk friend, doesn’t watch where she’s going and, SPLAT! — keels over on those cellar doors again. “Those things are a menace!” she yells into the bathroom sink before yelling at Max about the “crazy-person cancer ketamine” in her joint. She tries to exit down the stairs and SPLAT! — the stairs and SPLAT!! — the stairs and SPLAT!!!
Three quick deaths later, Nadia’s priorities have suddenly changed. “I got bigger fish to fry,” she tells Max about her cancer ketamine sticks. “I gotta figure out how to get down the stairs.” She yells at everyone to clear the stairwell, and everyone does except this one punk rat who somehow manages to knock her over the railing, SPLAT.
Finally, Nadia stops getting killed for long enough to receive a useful piece of information from Max. “We have done ketamine,” she tells Nads, deflating her theory that this whole trip is due to a drug she’s never tried. “Most recently at Louis’s christening.”
If the drugs aren’t making Nadia crazy, then maybe what’s making her crazy is that she’s actually crazy, like her mother ostensibly was.
“Crazy” is a crazy-big motif in this episode. Nadia rails against being called crazy, yet she and others can’t stop suggesting that that’s what she is. Dr. Daniel asks her if there’s a history of mental illness in her family. She, in turn, describes his joints as being laced with “crazy-person cancer ketamine.” Max tells her she’s crazy and she replies, “I AM NOT CRAZY. I hate when people call me crazy.” She then admits to Ruth that she thinks she may be going crazy, only to tell the ambulance crew en route to Bellevue, “A bunch of mama’s boys don’t get to decide I’m crazy.”
Wondering whether she’s crazy is what prompts Nadia, after she manages to make it through to the morning, to pay Ruth a visit — not at her shrink’s office in the basement, where the crazy people go, but in her home kitchen, which Ruth says Nadia likes because it provides “sustenance, safety, nourishment.” “What was her diagnosis?” Nadia begs to know about her mother. “Do not confuse your mother with her damage,” Ruth insists.
A slightly crisper picture of Nadia’s maybe-craziness starts to emerge, and yes, it does involve her mother. After her fatal ambulance crash (oh, sorry: SPLAT!) Nadia kisses her mother’s pendant, which she’s been wearing around her neck this whole time. “Nobody locks us up,” she whispers. If crazy is what her situation now qualifies as, she decides in that moment to embrace it. “Let’s fuck this party in the mouth,” she says in the bathroom. “This is the greatest party!” she exclaims to Max, who’s relieved she started cooking for the party way back on Thursday. “Thursday! What a concept!” Nadia cries. “It’s never gonna be Thursday again!”
Except then she walks past a pot of flowers and they’re dying. Somehow, time is still slipping away to … somewhere.
Readers! I end this recap with a question for you. There was another movie reference in this episode: The password to get into 7B’s underground drug den is “Jodorowsky’s Dune.” Jodorowsky’s Dune was a 2014 documentary about Chilean-French filmmaker Alejandro Jodorowsky’s attempt to make what would have been the first big-screen adaptation of Dune, with a cast that would’ve included Salvador Dali and Mick Jagger. The documentary, I’m told, makes the case that Jodorowsky’s Dune was the greatest movie never made. But I haven’t seen the documentary and I haven’t seen the Dune that was made, David Lynch’s 1984 Dune. Someone tell me what it all means!
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()}});
}, {"3":3,"6":6,"17":17,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(17),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(3),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 i=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||i.classList.remove("open")})}function gtmSendReport(e,n,t){let i={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(i.eventLabel=n.href),gtm.reportNow(i)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const i=t.split("?"),o=new URLSearchParams(i[1]);for(let e of n.entries())o.set(e[0],e[1]);t=`${i[0]}?${o.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()||auth.isMobileAppRequest())&&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;
}, {"3":3,"4":4,"17":17,"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();
// ]]