As the saying goes, nostalgia is for people who don’t understand history. That refrain kept popping into my head while I watched “The Rabbit Hole,” the 90-minute premiere of Hulu’s weird, handsomely made 11.22.63.
This show isn’t high art. It’s going for the same fun, bizarre, heartfelt pop-culture mechanics that helped The X-Files gain its following two decades ago. The premise, based on a Stephen King novel of the same name, is fascinating. The cast is obviously having fun — especially James Franco, who brings an unexpected levity to his role. And despite its lengthy running time, “The Rabbit Hole” moves at charmingly eager pace.
Nevertheless, the true test will be the show’s view of history. Or, to put it more accurately, the ways we see the past through the eyes of the show’s lead character, Jake Epping (Franco).
Jake is a soon-to-be-divorced teacher living in Lisbon, Maine. His father has recently died. He seems to lack any meaning in his life. The first time we see him, his listless face and slumped posture tell us everything we need to know. Unhappiness seeps from his pores.
After Jake signs the divorce papers in a tense scene with his ex-wife, Christy (Brooklyn Sudano), he finds purpose in a wildly unexpected place: a local diner. We meet the diner’s owner, Al Templeton (Chris Cooper), and a couple of minutes after he disappears into the back of the place, he stumbles out looking like hell. Al says he has cancer, but that’s only half of the truth. When Jake comes back the next day, he learns the rest: Al can travel in time.
At Al’s behest, Jake goes into a closet in the back of the diner. After walking tentatively down a dark, deep hallway, he falls onto a sunlit gravel road surrounded by picture-perfect Americana. But it isn’t the where that’s fascinating, but the when: October 21, 1960.
From there, the main thrust of the mini-series takes shape. Al wants Jake to prevent the assassination of John F. Kennedy, thereby changing the course of history. Al is partially driven by his experiences in the Vietnam War, which he believes wouldn’t have happened under Kennedy’s watch.
Jake isn’t as shocked as you’d expect. He’s a little freaked out, of course, but he’s mostly intrigued. What does the present day have for him, anyway? A failed marriage. No family. He’s on the road to nowhere. But, Al adds, there’s an important rule he’ll have to consider: If Jake makes any lasting changes, he can never come back to his own time.
Here are the other rules: Each time you go back, everything resets. You always arrive at 11:58 a.m. on October 21, 1960. No matter how long you stay in the past, only two minutes pass in the present.
Al doesn’t understand why Jake needs to think things over. But who wouldn’t? Even though Jake’s life is depressing, he’d be giving up everything he knows, along with all of the technological and medical gains made since the early ‘60s. As Al sees it, though, this is a golden opportunity; he’s used the portal to gamble on past sports events, and even buys cheap meat from a butcher in 1960 to feed his customers.
Jake is on the fence until he goes to visit Al at home, where he finds him dead in the same room where they discussed his obsessive research on Lee Harvey Oswald. Before Al died, I wrote in my notes that his hope is the fever dream of the hopeless. But if Jake actually prevents the assassination, will Al have a different fate?
Armed with meticulous research, charge cards, a fake Social Security card, and just about anything else he needs, Jake travels back down that darkened hallway to do the utter impossible.
First stop: a makeover. Jake gets his haircut, shaves off that awful facial hair, and puts on a fine suit, but he still doesn’t quite fit in. His vernacular is off, and he calls attention to himself by buying a flashy car. Jake doesn’t want to fit in, though; he wants to savor everything. Things get out of hand after he places a bet in a dive bar. Thanks to Al’s notebook of sports stats, he wins $3,600, but the low-level gangster who runs the book sics a goon on him.
That beautiful yellow convertible is easy to trail, and the gangster’s minion follows Jake back to his motel. Jake cleverly props his phone on the bed, playing an annoying clip that calls back to one of his inattentive students from an earlier scene, then knocks the man on the head and gets the hell out of town. He wistfully looks at a photo of Christy on his phone, then chucks it into a river — he’s committing to the past. But is he doing it with open eyes?
Ready to enjoy his new lease on life, Jake chuckles about how cheap everything is. Despite the looming horror of Kennedy’s assassination, 1960 is a dream for him. There is a moment, however, that punctures Jake’s joyful nostalgia trip: As he goes to the bathroom, a black man solemnly says, “You’re going the wrong way, sir.” He then recognizes the “white” and “colored” signs, and the era’s segregation becomes impossible to ignore. But nevertheless, it’s a moment Jake can walk away from unharmed.
Only a small segment of society can enjoy this so-called glory of the past. As a straight white man unimpeded by disability, Jake is free to enjoy himself without acknowledging radical intolerance. Will 11.22.63 do the same? Will we only get offhand references to the racial and gender plights of the 1960s? I’m not asking for a treatise on race or gender relations, but the show’s handling of Jake’s rosy view will certainly dictate how well it works.
The sobering moment Jake shares with the black man is brief, but it left me with a lot of questions. Does Jake think about how he wouldn’t have been able to marry Christy if he met her in 1960? (Anti-miscegenation laws weren’t deemed unconstitutional in the United States until 1967.) When Jake flirts with the blonde, kind-faced Sadie (Sarah Gadon), does he think about the unbalanced dynamics between them? Probably not. The show needs to embrace a clear-eyed view of the past. Otherwise, the trippier moments have nothing to hold on to.
Meanwhile, Jake’s boisterousness and ego force him to face the peculiarities of time travel. Through Al’s voice-over, we hear a particularly important piece of advice:
You’re going to feel apart from other people … that doesn’t go away. Tread lightly. Don’t get too close to anyone … that never ends well. The past doesn’t want to be changed. […] If you do something that really fucks with the past, the past fucks with you.”
Al wasn’t exaggerating. Time’s cruel control is embodied by a homeless man Jake keeps meeting, who tells him he’s not supposed to be there. Al brushed off Jake’s mentions of the man earlier in the episode, but it’s clear that his appearances matter.
Time also pushes back hard, revealing itself to have dark sense of humor. When Jake tries to call his father on a payphone, the connection is bad. He walks away, and when he turns around to try again, a car swerves onto the sidewalk, obliterating the phone booth. As he rushes over to the accident, the bloodied, dying driver says to him, “You aren’t supposed to be here.” It’s a line he’ll hear again and again.
So, we already know what Jake must do: He needs to see if Oswald will try to assassinate General Edwin Walker in 1963. If Oswald is involved, that’s enough indication that he’ll play a role in Kennedy’s assassination too. But, of course, that’s still a few years down the road. For now Jake becomes embroiled in the affairs of Oswald’s friend and alleged handler, George de Mohrenschildt (Jonny Coyne). The trail leads Jake to a Kennedy stump speech in Dallas, where an audience full of black and white people beam with hope. George proves to be difficult to follow, though, when he goes to a closed-off part of the campaign stop. Jake lies to get inside, but security realizes something’s up. He leads them on a chase down a secluded hall in the large building, where the mysterious homeless man makes another brief appearance.
“The Rabbit Hole” tilts toward the surreal when Jake tries to hide. After he slips into a room, he discovers it’s crawling with roaches — and they’re all attracted to him. The moment he gets out of the room, he’s knocked out by a guard and wakes up to an interrogation. He’s able to weasel his way out by pretending to be a crazed Kennedy fan, but the worst of time’s push-back is still ahead of him.
Jake continues to trail George, who goes into a popular restaurant where Dallas’s elite love to dine. Al’s voice-over guides Jake through the ways “time” — which, at this point, feels less like a nebulous entity and more like an omnipotent character with a sick sense of humor — will try to stop him from changing anything. After a certain point, he’s in the dark; Al was stopped by a fire when he previously tried to follow George. Jake narrowly dodges a fallen chandelier, then gets close enough to George’s table to hear what he’s saying and see who he’s talking to. Apparently, Al’s research is correct: George is meeting with the CIA, and he even mentions Oswald’s name. But will he recruit Oswald to kill Kennedy?
Jake’s thrill about this hard-won knowledge is short-lived. When he returns to the boarding house where he was staying, he finds it engulfed in flames. The young son of the owner is dead. And when Jack sneaks through the wreckage, he discovers that all of Al’s research and his book of sports statistics were destroyed. This pushes Jake back to Maine, dejected. He’s ready to return to his own time — but first he has to make a stop.
“The Rabbit Hole” actually begins with one of Jake’s much older students, Harry Dunning, speaking directly to the camera about how his father, Frank, brutally killed his entire family. It happened Halloween night, 1960. As the camera pulls away from Harry’s monologue, we see we’re in a classroom; he’s reading from a short story. The importance of his apparently true story doesn’t emerge until the very end of the episode, when Jake drives to Kentucky to save Harry’s family. It seems like deadly naïve course of action.
We end with Jake spying on the Dunning family. Frank’s jaw is tense as he speaks to his belabored wife. The kids are shuffling around them. As Jake watches, we can catch a steely determination in his eye. That look says it all. He believes he can change history for the better.
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();
// ]]