Crisp leaves, clean color palettes, and just sooo much murder — is it really fall without a new Ryan Murphy offering? This year Murphy brought a whopping six shows to air, and while the Menendez-focused season of Monsters got the most attention, Grotesquerie brought the most in terms of vibes. The new FX seriesarrived upon the altar, full of biblical references, a slow-burn detective plot, boiled babies (sorry), and, yes, Travis Kelce. If the brisk ten-episode season, which wrapped up this week, isn’t enough to feed your cravings, here are the books to carry you all the way through a happy and horrifying fall.
… If you want more hardboiled, tortured detectives
Niecy Nash-Betts’s detective Lois Tryon is a new addition to the beloved canon of flask-sipping, cigarette-smoking, steely-eyed detectives who have seen too much to be shocked by anything … until this. For another dose of wise-crackin’ detective work with a side of violence, try A Rage in Harlem, the first in Chester Himes’s Harlem Detectives series starring “Coffin” Ed Johnson and “Grave Digger” Jones. A Rage in Harlem takes off at 100 and never slows down: illegal dice games, a fake nun selling tickets to heaven, an egg-covered runaway hearse, a wrestling match in skintight rubber suits, a blink-and-you’ll-miss-it trans-coded love story, a trunk of gold, a dame who calls her boyfriends “Daddy-O.” It’s a seething, obsessive portrayal of Harlem in the ’50s, which Himes warns might eat you up: “Stick in a hand and draw back a nub.” Like Grotesquerie, a sturdy stomach is advised.
Don’t be fooled by the zany marketing campaign of Sayaka Murata’s novel Earthlings — dark things wait within. Somewhat sweetly, though, the cannibalism that arrives toward the end of the book isn’t exactly one of those things. Murata writes about the heavy cloak of normality that sweeps over to cover sexual and familial abuse as her teenage heroine Natsuki discovers that to be a young girl is to be ignored, disbelieved, punished. As an adult, Natsuki returns to the mountains where she spent her childhood holidays, along with her cousin and her asexual husband, in order to escape a society that ignores abuse and reprimands anything out of the ordinary. Along the way, there’s some cannibalism. It goes into strangely affectionate detail: Look forward to Natsuki waking up with a half-chewed finger in her mouth.
With its grim family dinner, Grotesquerie leans into the scares right from the off. Keep the thrills coming with Jessica Guess’s Cirque Berserk, which stars four teens who make an annual sacrifice to the queen of the underworld in exchange for eternal youth. The adolescent killers slash, stab, and batter their way through a group of unsuspecting high-schoolers, set delightfully in an abandoned theme park with its sparkling fairground lights. Cirque Berserk goes hard with the blood and violence in a throwback to the slashers of yore. The teen killers have a flair for the dramatic, a trait that they share with Grotesquerie (jocks being hung from a Ferris wheel, why not?), and there’s a sick sense of humor to the brutality — an irreverence that matches Grotesquerie’s freak. Picture a flask of vodka passed across a corpse, a pool of blood lit up by neon signs, an illicit kiss soundtracked by screams.
Toni Cade Bambara’s epic saga Those Bones Are Not My Child is set during the Atlanta child murders from 1979 to 1981. Zala Spencer is an overworked mother of three whose life is violently disrupted when her eldest child, Sonny, goes missing. Zala’s frantic search for her son becomes the gateway to a sprawling account of a community in crisis and a Black family confronted with an indifferent police force and hostile national media. As a fictionalized true-crime narrative, what makes Those Bones unique is Bambara’s choice to follow not the serial killer but the trail of destruction left in their wake. Grotesquerie,too, does plenty to critique our collective obsession with true crime, especially as the opening episodes satirize a priest and nun brought together by their shared love of gore and violence. Those Bones Are Not My Child is a stirring complement, rounding out the picture of a nightmarish killer to include the shockwaves of impact that spiral outward, unseen.
Even before Grotesquerie’s sharp mid-season twist, fans were questioning the nature of Lois’s reality. Was Lois in a coma, or even purgatory? For more queasy, unsettling effects in your imaginative consumption, try Samanta Schweblin’s Fever Dream. A dizzying, spiraling novella translated from the Spanish by Megan McDowell, Fever Dream is a dialogue in a sick bed — perhaps a death bed — between a woman waiting for her small daughter and the small boy who sits, instead, by her side. There is something wrong with the boy; he may have done something to her, or he may just be a symptom of a larger wrongness. The woman doubts what is happening to her, doubts her surroundings, doubts her recent experiences, but the boy urges her on, merciless. Reading this book feels like sitting in a little pool of light as the darkness closes in, tighter and tighter around you until it swallows you up.
From the first episode of Grotesquerie there’s an uneasy sense that things are bad and getting worse. Apocalyptic preachers bang on Lois’s car, seeking entry while she regards them with boredom and another sip from that trusty flask. For another end of the world that features not a bang but a whimper, try Julia Armfield’s Private Rites, which stars three sisters dealing with the death of their cruel genius father in the midst of a watery apocalypse. Inspired by King Lear, Armfield’s new novel depicts a city on the brink, slipping from the tight, frantic perspectives of the sisters into a larger understanding of the city itself, which is slowly being flooded by a never-ending rain. As the city sinks, people still find time for sex, familial bickering … and of course, cults. It’s a queer end to the world you won’t want to miss.
If what you want from any Ryan Murphy venture is just sheer, scary camp, we humbly suggest our new novel Feast While You Can. Much like Grotesquerie’s balloon-filled crime scene or mid-investigation carpool karaoke, Feast plays with a camp sensibility that extends from your final girl to the demon she’s fighting. Angelina Sicco lives with her brother in the tiny, conservative mountain town where she was born, doing her best to lure hot queer women with her disheveled femme antics. She’s a little too successful when a family party brings two intruders: her brother’s ex-girlfriend Jagvi, now an out lesbian and a constant thorn in Angelina’s side … and the eldritch supernatural beast from local legend. We wrote Feast While You Can as a contribution to the horror canon that flexes humor as one of the most surprising and unsettling tools at its disposal, so sign up for a monster who calls you “baby” and a love interest ready to fight the monster for (literal) possession.
Look no further than Sister Holiday, the nun turned detective heroine of Margot Douaihy’s Scorched Grace. Set with sticky, delightful detail in New Orleans, Sister Holiday is the heroine you never knew you needed: foul-mouthed, tattooed, and gold-toothed, “equal parts methodical focus and capriciousness with the patience of a hunter and an appetite for femme fatales.” She’s tougher than Grotesquerie’s Sister Megan, and a delight to follow as she hunts down the arsonist murderer who attacked her convent. And like all good detective heroes, she’s got more up her sleeve—you can already find the sequel, Blessed Water, out on shelves.
There’s a lot of casual gore in Grotesquerie, from that first moment when Lois opens the pot and looks down grimly into what-she-won’t-forget. If you’re looking for still more ways to unsettle your stomach, take Mariana Enríquez’s epic horror novel Our Share of Night for a ride. Unfolding against the backdrop of Argentina’s military dictatorship, Our Share of Night features a once-in-a-generation medium able to channel a dark force that warps his body and offers untold and dangerous power. It’s hard for a book to do a jump-scare, but Enríquez manages it, particularly in one scene in which a casual claw slices sleekly and viscerally through someone’s face. Like Grotesquerie, Our Share of Night isn’t afraid to illuminate horrific scenes, including tortured children — but its scale is grander, and its vengeance (so far) much more deadly.
Then skip the horror and stick to your jock romantic heroes with Farrah Rochon’s The Dating Playbook, in which football player Jamar Dixon teams up with personal trainer Taylor (eh? eh?) Powell to get back in shape and take a second shot at the NFL. The only problem: He doesn’t want anyone to know, so to cover their tracks, Jamar and Taylor pretend to be in a relationship. The Dating Playbook is an excellent take on the classic fake relationship trope, and beneath the sweet banter and sexy tension there’s a quiet and moving subplot about grief. It makes excellent post-Grotesquerie reading, not least because the low-stakes charm is sure to banish any lingering nightmares.
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(3),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(136),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,"3":3,"12":12,"124":124,"136":136}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(408),Fingerprint2=require(407),DS=require(406),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(408),_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,"408":408,"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","aaa-module-mounting.legacy":"aaa-module-mounting.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.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();
// ]]