Friday, 18 October

02:21

A Witches Bwew [QC RSS]

don't worry it's non-alcoholic bitters

01:49

Scarecrow’s 2024 Psychotronic Challenge: Day 17 [The Stranger]

"Many great films have been poo-pooed because of dumb titles. It’s time to let go of your judgment and enjoy one of those." by Megan Seling

17. DON’T BLAME THE NAME: Many great films have been poo-pooed because of dumb titles. It’s time to let go of your judgment and enjoy one of those.

Uncle Peckerhead

Four reasons to look past the stupid name and watch Uncle Peckerhead:

1. It’s a fun and splattery blood-filled comedy horror movie.

Duh, a DIY punk band from New Jersey, is about to head out on their first tour but whoops! Their wheels just got repo’d. In order to make their first show, Duh trusts a seemingly friendly van-owning stranger named Peckerhead (“It’s what my daddy called me every day until he died”) to be their driver/roadie for the week-long journey. All he wants in return is some money for food and gas. The catch? Every night at midnight he turns into a man-eating monster.

And he is not demure nor mindful when feasting. Hey throws guts all around the room! He splatters blood across the walls and floor! He pulls  man’s head gets pulled off his body with the spine still attached! It’s all so gory, but also done with so much enthusiasm you can’t help but laugh while gagging.

2. Folks from the Chris Gethard universe are in it!

Chris Gethard is hilarious and The Chris Gethard Show never should’ve been cancelled. See Shannon O'Neill and David Bluvband from the CGS in Uncle Peckerhead

3. The music rips!

The fictional band, Duh, is fronted by Jeff Riddle of the non-fictional band Five Hundred Bucks. They sound like as if Uncle Peckerhead ate a member of Green Day, RVIVR, the Menzingers, and Lucero, and they all started a new band in Peckerhead’s stomach. Some of the songs in the movie appear on Five Hundred Bucks’ 2022 album $500, which you can hear/buy/love on Bandcamp. (You can also buy Duh merch.)

4. A man-eating monster gets projectile diarrhea after eating a band of shitty pseudo-screamo douchebags, and it! Is! Hilarious!

Enough said.

Best quote: “Some people taste like dog shit and then other people taste like watermelon sherbet.”

Snack suggestion: Extra Toasty Cheeze-Its aka the ultimate road trip snack

The Stranger is participating in Scarecrow Video’s Psychotronic Challenge all month long! Every October, Scarecrow puts together a list of cinematic themes and invites folks to follow along and watch a horror, sci-fi, or fantasy flick that meets the criteria. This year, Stranger staffers are joining the fun and we’re sharing our daily recommendations here on Slog! Read more about Scarecrow’s 2024 challenge—and get the watch list—here. And you can track our daily recommendations here💀

01:00

00:14

Ticket Alert: Foster The People, Disturbed, and More Seattle Events Going On Sale This Week [The Stranger]

Plus, Panda Bear and More Event Updates for October 17 by EverOut Staff

You better run, better run because Foster The People are coming for you on their Paradise State of Mind tour. Experimental pop prince Panda Bear is going on tour to support his first solo album in five years, Sinister Gift. Plus, Disturbed is coming to Seattle next spring to celebrate 25 years of their debut album The Sickness. Read on for details on those and other newly announced events, plus some news you can use.

Tickets go on sale at 10 am unless otherwise noted.

ON SALE FRIDAY, OCTOBER 18

MUSIC

Alison Moyet
The Showbox (May 11, 2025)

Black Tiger Sex Machine Presents Church Dome
Tacoma Dome (Apr 4–5, 2025)
On sale at noon

Cymande
The Crocodile (Feb 22, 2025)

Thursday, 17 October

23:49

Link [Scripting News]

One of the things that makes me want to see Automattic stick around and grow is that they have a really large codebase that has been scaled, debugged and maintained for over 20 freaking years. And the most important thing -- they don't break users. The code I wrote to run against WordPress in the 00s still runs today. To me as a developer this speaks very loudly. It means it's safe to develop here. It means there's discipline in their development organization. Most companies don't do this, but the ones who do, have earned my deep respect. For all of Microsoft's sins, they were incredibly good at this too. It's why I liked working with them, and also why we laughed at each others' jokes if you can believe that. In some ways all the open source stuff is too complicated. I understand the concept of "development org" -- so I look at it that way. I dig around their codebase, see how they do things, and figure it'll work out pretty well if I just do it that way. Because the last people they're going to break are themselves. What I see on their latest APIs is maturity and completeness. They didn't rush off to the next thing before finishing. I found that in their Calypso API, which I've been building on. Honestly this is my kind of platform, it's what Manila's API would look like today probably if we had continued developing it. I'll see if I can find the docs around here somewhere. Long time ago. ;-)

Link [Scripting News]

I made the reallySimple package for Node.js because I wanted to make it as easy as possible to read feeds in Node apps. It should be as easy as reading a file. Give it the URL of a feed, get back a JavaScript object that's as simple as feeds are. It can read RSS, Atom and RDF feeds, but you get the same object regardless of what form the feed was in. I'm up for creating some example apps if you're interested. There is a very simple Hello World app included in the package and a set of demo apps. It's MIT-licensed, so you can do whatever you want with the code. It would lovely to see it ported. The idea is to plant some seeds in the Node.js world to make it easy for developers to try out new ideas with feeds, figuring the easier it is, the more people will do it. Be creative. Blow our minds! :-)

23:35

Winamp failed to confuse people about software freedom [Planet GNU]

The Winamp Collaborative License included restrictions that rendered Winamp nonfree

23:28

How to install Windows 11 on supported and unsupported PCs, 24H2 edition [OSnews]

We’ve pulled together all kinds of resources to create a comprehensive guide to installing and upgrading to Windows 11. This includes advice and some step-by-step instructions for turning on officially required features like your TPM and Secure Boot, as well as official and unofficial ways to skirt the system-requirement checks on “unsupported” PCs, because Microsoft is not your parent and therefore cannot tell you what to do.

There are some changes in the 24H2 update that will keep you from running it on every ancient system that could run Windows 10, and there are new hardware requirements for some of the operating system’s new generative AI features. We’ve updated our guide with everything you need to know.

↫ Andrew Cunningham at Ars Technica

In the before time, the things you needed to do to make Windows somewhat usable mostly came down to installing applications replicating features other operating systems had been enjoying for decades, but as time went on and Windows 10 came out, users now also had to deal with disabling a ton of telemetry, deleting preinstalled adware, dodge the various dark patterns around Edge, and more. You have wonder if it was all worth it, but alas, Windows 10 at least looked like Windows, if you squinted.

With Windows 11, Microsoft really ramped up the steps users have to take to make it usable. There’s all of the above, but now you also have to deal with an ever-increasing number of ads, even more upsells and Edge dark patterns, even more data gathering, and the various hacks you have to employ to install it on perfectly fine and capable hardware. With Windows 10’s support ending next year, a lot of users are in a rough spot, since they can’t install Windows 11 without resorting to hacks, and they can’t keep using Windows 10 if they want to keep getting updates.

And here comes 24H2, which makes it all even worse. Not only have various avenues to make Windows 11 installable on capable hardware been closed, it also piles on a whole bunch of “AI” garbage, and accompanying upsells and dark patterns, Windows users are going to have to deal with. Who doesn’t want Copilot regurgitating nonsense in their operating system’s search tool, or have Paint strongly suggest it will “improve” your quick doodle to illustrate something to a friend with that unique AI Style™ we all love and enjoy so much?

Stay strong out there, Windows folks. Maybe it’ll get better. We’re rooting for you.

The costs of the i386 to x86-64 upgrade [OSnews]

If you read my previous article on DOS memory models, you may have dismissed everything I wrote as “legacy cruft from the 1990s that nobody cares about any longer”. After all, computers have evolved from sporting 8-bit processors to 64-bit processors and, on the way, the amount of memory that these computers can leverage has grown orders of magnitude: the 8086, a 16-bit machine with a 20-bit address space, could only use 1MB of memory while today’s 64-bit machines can theoretically access 16EB.

All of this growth has been in service of ever-growing programs. But… even if programs are now more sophisticated than they were before, do they all really require access to a 64-bit address space? Has the growth from 8 to 64 bits been a net positive in performance terms?

Let’s try to answer those questions to find some very surprising answers. But first, some theory.

↫ Julio Merino

It’s not quite weekend yet, but I’m still calling this some light reading for the weekend.

22:42

The Mysteries of Joan Vassos [The Stranger]

At least we still have Pascal. by Megan Burbank

Captain Kim’s elimination two weeks ago was really a harbinger of doom for this season of The Golden Bachelorette: Last week, we said goodbye to pharmacy field trip boys Charles L. and Gary, and I’m really starting to get worried because, with each elimination, the remaining contestants are getting increasingly dull. Soon enough it will just be Joan Vassos surrounded by some empty golf shirts and no-show socks.

But that day is not today. So let’s watch a grown woman cry while gently dabbing her under-eyes, because anything more effective would disturb her makeup, in between ads for Halloween drinks at Applebee’s, magnesium supplements, and Marshall’s, which is using Chappell Roan songs to show they are a Cool Department Store. (Get that ad money, Kayleigh Rose!)

It’s week five, seven men remain, and Pascal’s back must be tired from carrying the remains of this season. As his laundry journey continues, he’s graduated to hand-steaming his clothes, which he is doing in his underwear, while Girl Dad Keith relives his trauma from last week, when he struggled to express himself verbally with Joan. “I just wasn’t me,” he says in a self-castigating tone. He never knows what’s going on in Joan’s head!

Right now, what’s on Joan’s mind is a coffee date with Trista Sutter (née Rehn), the first Bachelorette, who is 51, because that’s how long this show has been on. Trista was also an important moderating voice on The Golden Bachelor, pulled in for a consultation with Gerry (pronounced like Gary) like some wise elder stateswoman. 

Trista’s advice to Joan is to “share more,” and Joan looks at Trista like she’s a wise oracle of love. Joan says once again that part of her heart will always belong to John, and that she still feels guilty about trying to find love again, and now I’m wondering if maybe Joan should have gone to therapy instead of The Golden Bachelorette.

What if we kissed in front of reality show cameras while knowing full well neither of us are emotionally prepared for a serious relationship since the death of our respective partners? COURTESY OF ABC

Meanwhile, at the mansion, a date card has arrived! The first one-on-one date (also known as a date) is going to Keith, the show’s biggest fretter and overthinker. (As a fretter and overthinker myself, I am allowed to say this!) Keith is so relieved. “I’m going to have the best time of my life with her,” he says, not at all setting unreasonable expectations for what’s basically a Hinge date with someone he’s talked to twice.

They’re going on a helicopter, of course. (See also: Facing your fear of heights, previously discussed in week three.) Joan says Keith reminds her of John, and they rise into the air, where they gaze upon some Spanish-style tract housing before buzzing the mansion in an act of cruelty toward the other men, who wave from the pool and admit that they’re jealous. Chock comes right out and announces that he hopes Joan and Keith aren’t a fit, which is a mean-spirited thing to say, but I also think he should be getting a kinder edit than this. The man’s mother died last week! Have some respect!

Back on the helicopter, Joan and Keith drink some champagne. A bumpy small aircraft and glass drinkware? Couldn’t be me, but okay! I guess they couldn’t wait five minutes before landing at Babcock Winery, where they spend the rest of their date drinking wines with names like Love Garden rosé. The vineyard owners, a married couple, appear on-camera to share that they’ve been together for 32 years, because the Bachelor franchise loves to bring in married strangers to remind the contestant and lead what may happen IF THINGS GO WELL… This happens almost as much as the Pretty Woman date or buzzing the mansion on helicopter dates as if this is Top Gun and oh my god is the Bachelor franchise just a grab bag of references to box office hits of the ’80s?

Like Keith, I’m overthinking things!

Back in reality, Joan tells the winery owners she and John were also married 32 years before she was widowed. “I could’ve been them just three years ago,” she says wistfully.

Okay, sorry, I need to be serious for a minute. Is Joan okay? I mean, probably not, right? I really hope she finds the second great love of her life, but I don’t think it’s going to be on this show, because three years is really not very long time to grieve a decades-long marriage, and Joan can’t stop talking about John, and when she talks about what she wants out of a relationship, she says repeatedly how much she loved being in a couple and how it made her feel safe, but nothing specific about the partnership she sees with any of the guys on this show who are obsessed with her. And okay, sure! We live in a patriarchal society that rewards partnership and often doesn’t know what to do with unmarried women! But just not wanting to be single is a really insubstantial basis for a relationship with another human being. You are actually supposed to like them!

Back at the mansion, Mark is having a spiritual experience with a hummingbird. As some knockoff of Hans Zimmer’s Interstellar score plays, Mark shares with Pascal that he believes his wife sends him signs from the afterlife in the form of hummingbirds, and he wasn’t feeling so sure about This Process, but then he saw one, and “it’s like she’s there and she’s saying this is right.” I am so worried for Mark! He is too pure for this show.

At the vineyard, Keith talks about protecting his daughters (three of ’em! The men on this show all have three daughters, as far as I can tell) from his ex-wife’s unspecified substance abuse issues. Joan responds by saying, “Being vulnerable is, like, really scary,” and says that because he raised daughters, he must be comfortable crying, which is either a joke or just gender essentialism. Who can say?

Joan gives him a little kiss. She doesn’t really kiss anyone on this show with any conviction, and it’s making her true feelings a mystery!

Uh-oh, back at the mansion, Chock is spiraling. Another date card arrives: Mark is finally getting his one-on-one, while Chock, Jordan, Jonathan, Pascal, and Guy have a forced fun bowling group date ahead of them. Guy is worried his knees, hamstrings, and shoulder won’t survive.

Hey, speaking of Guy: News recently came out that his ex-wife filed a restraining order against him. My kingdom for a single comprehensive background check on this show!

omg jonathan buttoned his shirt all the way up???? ABC PRESS

The men have to wear matching bowling shirts, and it’s a growth moment for Jonathan, who buttons his up all the way! Pascal is, of course, a diva about the outfits because they’re not “Gucci or Prada” and bowling isn’t a sport for Europeans. “It’s all about fun today,” says Guy, looking very shiny.

While the rest of the men bowl, Chock sidles up to Joan and says things that sound like what you’d hear on a harassing phone call but are meant to be romantic. The men take offense at Chock using the date to get closer to Joan, even though that’s the point of group dates, not winning at a sport. (This is a common misconception, and probably one I would make, too, but luckily I do not have enough forehead Botox to ever be allowed on reality TV.)

Jonathan shows Joan his mother’s driver’s license, so I guess he isn’t afraid of identity theft, and Jordan says things are getting serious with Joan, an insane thing to say after one date.

Once again, Joan says she longs to be in a couple again, and I feel like I’ve been transported back to the 1950s against my will. Come on, Joan, isn’t it nice to have a credit card in your own name?

“I see a beautiful future for us,” says Chock.

Joan says she has some difficult decisions ahead and is surprised that she can see a future with more than one of these men, and the cruel plot of the Bachelor franchise pans out once again: Someone who would never do polyamory in real life is gonna have to on this show, and mess will follow! 

“I wouldn’t want to be in her place right now,” says Pascal. You said a mouthful there, my brother in Christ. Me neither!

Now it’s time for Joan’s date with Mark. It’s awful, despite being on a fancy boat. They’re “just careening down the water,” says Mark, as some knockoff of Hans Zimmer’s Pirates of the Caribbean score plays. Joan says she’s cold. They gaze out at the water and look miserable. “We’re really having a good time,” Joan tells the camera, her face a rictus of pain.

They mostly talk about being widowed and how much they loved their spouses. When Mark talks about his wife, I feel a little mist gathering behind my eyes because it’s embarrassing but sometimes this show really does get to me. And also, this guy is doomed.

Maybe because Joan said the bad date was good, Mark is heartbroken the next day to be dumped by Joan in front of God and everyone at the mansion ahead of the rose ceremony. If this isn’t a setup for him to be the next Golden Bachelor after he’s eliminated, I will be genuinely disappointed, because he seems very nice, and I want good things for Paul Hollywood’s more handsome fraternal twin.

Joan says she couldn’t sleep all night because something was missing between them, and she attributes it to Mark not having processed his wife’s death. “I didn’t see me in our conversations when we were talking,” she says, which is funny because actually, that’s true of her, too: She talks about wanting to be in a couple, but not the men as specific potential partners. “I feel like I just came into this a little too early for you… I need somebody who is as far along in their journey as I am,” she tells Mark, and I think she’s projecting a little because I don’t think she’s farther along in her grief journey than Mark at all, and also, that’s kind of a condescending way to talk about grieving, which isn’t a linear process! I think she just wasn’t feeling it, which is fine! But no need to tie yourself up into a little people-pleasing pretzel about rejecting a man in the year of our lord 2024!

Mark takes this well, but Pascal does not. “I’m very sad,” he says. “He was my best friend.”

As the gloomy piano of rejection plays, Mark gets into a black SUV to go home. “There’s still love in the world,” he says. “I’ll find mine one day.”

Now it’s time for more men to get kicked off! Pascal says he hopes he is chosen at the rose cérémonie. Keith worries he won’t be. Guy shows up wearing a bold lavender suit that is somehow also plaid (?!). Jordan says there’s a good chance he could be going home, and I once again forgot he didn’t already.

Joan arrives in a strapless black dress with a lace skirt. She believes her husband is in this room, but this rose cérémonie is the hardest one yet. Pascal gets called first, followed by Chock and Guy. “It’s the final rose tonight,” says Jesse Palmer, as if he’s asking for a scalpel while performing brain surgery, and dark horse Jordan gets to stay another week!

The remaining men and Guy's lavender *and* plaid suit. ABC PRESS

That means Keith and Jonathan have to go home. “I love you, big guy,” says Joan to Keith, turning me into a sentient barf emoji. “You have made such an imprint on my heart,” she tells Jonathan. Jonathan says he felt validated and seen by Joan, “and I can’t ask for anything more than that.”

Jonathan says he’s devastated, but wishes the best for Joan and says, “Maybe my journey’s just beginning,” and I have no idea what increasingly boring men will advance through next week’s hometowns, but it looks like Jonathan and Mark are both being set up as potential Golden Bachelors.

It’s weird Joan is sending home the hottest man on this show (Jonathan) and also the nicest (fretter and overthinker Girl Dad Keith!), but what can I say? She’s a mystery to me.

At least we still have Pascal.

Captain Kim sightings: 0.

This week’s rating, out of 10 anchor emojis: ⚓⚓⚓⚓

21:56

20:21

I Saw U: Puking in the Art Gallery, Rocking Your Manly Mane of Brown Hair, and Riding Your Bike at Golden Gardens at Sunset [The Stranger]

See someone? Say something! by Anonymous

Puking in our Art Gallery

To the girl in the Von Dutch hat who came into our art gallery and threw up in her hands and on my co-worker at 10 am, you made us laugh hope ur ok

burke-gilman bestie

we passed each other twice walking the trail opposite ways. i liked your smile, you said you liked mine - maybe we could hang out some other time?

on E Mercer and 15th Ave

In a checkered cardigan you watched me struggle to parallel park, and gave me a look of understanding and shot me a 🤘sign. Need more people like you.

For the Empire

I am a really shy nerd and you looked like Captain America. I complimented your Star Wars tattoo at goth bar but then quickly ran away.

Light Rail Long Haired Cutie

We both get off at UW station in the morning. You rocking your manly mane of brown hair. Take this curly haired gal out for a coffee?

Kind stranger on the NW corner of Othello Station

I was en route to crash a wedding. Blue suit, bolo tie, & all. With a warm smile, you spotted & removed some lint on my jacket. TY for your kindness.

9/18 Tauruses

Hi 4/23 and 5/1—it's 4/24. Our discussions at Pine Box were really something I enjoyed. I hope we meet again.

Golden Gardens Bike Babe

I was walking my sweatered dog. You were riding your bike. We shared a very prolonged gaze & smile on the north end of the beach. At sunset. Hi :)

Is it a match? Leave a comment here or on our Instagram post to connect!

Did you see someone? Say something! Submit your own I Saw U message here and maybe we'll include it in the next roundup!

19:49

Rust 1.82.0 released [LWN.net]

Version 1.82.0 of the Rust language has been released. There are a lot of new features this time, including a cargo info command, tier-1 support for 64-bit Apple Arm systems, a new native syntax (&raw) to create raw pointers, changes to unsafe extern, unsafe attributes, standardized rules around the handling of floating-point not-a-number values, and more.

19:35

Android 15’s security and privacy features are the update’s highlight [OSnews]

Android 15 started rolling out to Pixel devices Tuesday and will arrive, through various third-party efforts, on other Android devices at some point. There is always a bunch of little changes to discover in an Android release, whether by reading, poking around, or letting your phone show you 25 new things after it restarts.

In Android 15, some of the most notable involve making your device less appealing to snoops and thieves and more secure against the kids to whom you hand your phone to keep them quiet at dinner. There are also smart fixes for screen sharing, OTP codes, and cellular hacking prevention, but details about them are spread across Google’s own docs and blogs and various news site’s reports.

↫ Kevin Purdy at Ars Technica

It’s a welcome collection of changes and features to better align Android’ theft and personal privacy protection with how thieves steal phones in this day and age. I’m not sure I understand all of them, though – the Private Space, where you can drop applications to lock them behind an additional pin code, confuses me, since everyone can see it’s there. I assumed Private Space would also give people in vulnerable positions – victims of abuse, journalists, dissidents, etc. – the option to truly hide parts of their life to protect their safety, but it doesn’t seem to work that way.

Android 15 will also use “AI” to recognise when a device is yanked out of your hands and lock it instantly, which is a great use case for “AI” that actually benefits people. Of course, it will be even more useful once thieves are aware this feature exists, so that they won’t even try to steal your phone in the first place, but since this is Android, it’ll be a while before Android 15 makes its way to enough users for it to matter.

18:49

Evaluating tail call elimination in the face of return address protection, part 1 [The Old New Thing]

Tail call elimination is straightforward if the tail call is to a function with a compatible stack parameter layout as the original function, since you can just replace the parameter slots on the stack with the new parameters. (The register-based parameters you can just overwrite directly in registers.)

The obvious case where this applies is where the tail-calling and tail-called functions both have the same number of stack-based parameters. Just reuse the slots and jump to the next function.

But you can also employ tail calling even if the number of stack-based parameters does not match exactly.

One case where the tail call is possible is if the tail-called function has fewer parameters as the tail-calling function, and the calling convention is caller-clean. In that case, you can reuse the stack slots for the outbound parameters, and just leave any extra ones uninitialized. The tail-called function won’t use them, but the original caller will still clean them up. (Note that this doesn’t work in reverse: If the tail-called function has more parameters than the tail-calling function, you can’t just smash the extra parameters onto the stack beyond those of the tail-calling function, because that’s writing into stack space that belongs to the original caller.)

Here’s an example of a tail call on x86-32 to a function with fewer stack-based parameters.

int __cdecl g(int c);

int __cdecl f(int a, int b)
{
    int v = helper(a, b);

    return g(a + b);
    
}

You can reuse the stack space for the tail call to g

    ; on entry, stack parameters are at [esp+4]
    ; and [esp+8]

    ; v = helper(a, b)
    push    [esp+8]
    push    [esp+8]
    call    helper

    ; reuse the "a" slot for the outbound
    ; "c" slot
    mov     [esp+4], eax

    ; tail call to g
    jmp     g

The caller of f will clean up two stack slots, and everything will return to normal. What the original caller doesn’t realize is that we reused one of them for g, and the other still contains leftover data from f. Logically, you can think that we inlined all of g into f.

How does this interact with return address protection?

Since we aren’t creating any imbalance in call or ret instructions, compact shadow stacks are still happy. And since the return address did not move in memory, parallel shadow stacks and return address signing are still satisfied. (For architectures that use a link register, don’t forget to authenticate the link register before jumping to the tail-called function, so that the link register on entry to the tail-called function is untagged.)

Next time, we’ll look at another type of tail call elimination and study how it interacts with return address protection.

The post Evaluating tail call elimination in the face of return address protection, part 1 appeared first on The Old New Thing.

Inbox Jukebox [The Stranger]

The best new music to hit Dave Segal's inbox. by Dave Segal

This column was called Inbox Jukebox until the pandemic disrupted, well, everything. When the column resumed, it assumed a different, wordier name, due to a former editor's preference. Now, Inbox Jukebox is back, by popular (?) demand. Every day, I sift through the hundreds of tracks that bombard my inbox. Here and every two weeks, I will discuss two artists whose music most impressed me. This time it's adventurous LA-via-Australia jazz bassist Anna Butterss and Seattle organic-techno phenom tondiue, whose new releases merit deep listening.

Anna Butterss, “Dance Steve” (International Anthem)

LA-based multi-instrumentalist Anna Butterss has emerged as a key figure in the West Coast experimental jazz renaissance—while also doing sessions with mainstream artists such as Phoebe Bridgers and Jason Isbell. Best known as a bassist who also plays with the great SML collective, Tortoise guitarist Jeff Parker, and Makaya McCraven, the Australia-born Butterss also sings, programs drums, plays guitar, flute, drums, synths, and piano.

Butterss's strong solo debut album, 2022's Activities, reveals their deft compositional skills within a minimalist framework, as unusual, moving melodies waft over intricate rhythm matrices. The LP's most popular track, "Doo Wop" weaves an evocative "ooh wah ooh wah ooh" reprise through a spectral, dubby post-rock trawl; the results are at once unconventional and catchy as hell. 

Butterss's fingerprints are also all over SML's cerebral and full-bodied Small Medium Large (2024), an innovative melding of Jon Hassell's Fourth World music, chamber jazz, and experimental electronic music. Now with their sophomore album, Mighty Vertebrate, Butterss further burnishes their rep as an important boundary-pusher. Eventful intricacies fill every second of it. 

The album gets off to a fantastic start with "Bishop," whose faint afrobeat rhythmic undertow locks in with Far East Asian percussive timbres, Ben Lumsdaine's robust drumming, and Butterss's vibrantly bubbling bass line. "Shorn"—which may be titled in honor of Butterss' close-cropped haircut—places their inspirational flute solo and Josh Johnson's mellifluous alto sax over a fascinating rhythmic procession. The track's gorgeous, exotic, and alluringly unclassifiable. 

While "Ella" proves that Butterss can write a straightforward, tender ballad and "Counterpoint" reveals their facility for morose, ECM-ish meditativeness, they're at their best when fusing unlikely elements. For example, "Pokemans" exists at that odd nexus where post-rock aggression and ambient-jazz serenity meet, and the placid "Lubbock" pits Gregory Uhlmann's Tortoise-like circular, spaghetti-Western guitar riff against Johnson's languid sax lament. On "Breadrich," huge, funky beats and a lascivious bass line power a song that's the closest Butterss comes to pop—although its chord progressions and timbres are too weird for the charts. Nevertheless, it builds to a maximal celebratory anthem. 

Mighty Vertebrate attains a peak with "Dance Steve," on which Parker gets off a pointillistic guitar solo that's as cool as a Wes Montgomery/Pat Martino jam session. The track seems at once non-Western and rooted in the fusionoid funk of '70s Weather Report, with Lumsdaine's drums smacking with a satisfying rotundity. "Dance Steve"'s strange combination of elements coheres into a highly distinctive sound. Here's hoping a Butterss—and/or SML—tour is on the horizon.

<a href="https://intlanthem.bandcamp.com/album/mighty-vertebrate">Mighty Vertebrate by Anna Butterss</a>

tondiue, “Mind” “Dubman Dub It” (Kelp Roots)

Part of the multifaceted Seattle record label/event organizers Apt E with Max Washburn, tondiue (aka Cameron Kelley) strikes me as one of the most talented producers in the region's underground-club sphere. This was apparent from tondiue's first release, 2021's Painted Creature. An aptitude for creating distinctive, psychedelic techno and ambient music that radiate an unclichéd spirituality shines hard throughout the tondiue catalog. Kelley has described their creative impulse as deriving from "exploring the sacred roots of afrofuturistic sound design." 

Those attributes build to a peak with the new album, Word to the Centipede. Opening track "Mind" (not a Talking Heads cover) begins with an intriguing, resonant drone before staccato beats and wonky bass pressure enter the frame. A hazy, humid synth upends your equilibrium while electronic lizard-tongue snip-snips and enigmatic bird and animal utterances crowd the midrange... and we're off on a bizarre techno safari. I've heard a lot of electronic music over the last five decades, and "Mind" ranks highly in the pantheon of consciousness-altering specimens. 

Elsewhere, "Chickadee"'s dank, deep dub-centric dance music lunges at skewed angles, leading to contorted, spasmodic movements. Kelley wreathes the ill bass jabs and renegade snares with hyperreal jungle vibes—the ecosphere, not the genre. On "Glyph," tondiue forges funky, chunky, and distinctive dub techno that beats the Orb at their own game, with no need for goofy vocal samples. This music is earthy yet anything but earthbound. The question is, does Seattle have an audience adventurous and limber enough to dance to music this sick?   

If you like your techno euphoric and strange in an understated way, you'll dig "Dubman Dub It." Listening to this track feels like having MDMA injected into your main vein and striding weightlessly. The nearly 13-minute "Chocolate" is odd, organic acid-techno that feels refreshingly free from the grid's strictures. Here as elsewhere on Word to the Centipede, Kelley liberates techno from rote mechanics and imbues it with a healthy biome of psychedelic tones and effects. It behooves you to follow tondiue's next moves closely.

tondiue performs at Groundhum Sessions 3 with Huggy Pillow and IVVY featuring THC.XLR at Fremont Abbey on October 17, 7:30 pm, $20 adv/$25 DOS, $15 students, all ages.

<a href="https://kelproots.bandcamp.com/album/word-to-the-centipede">Word to the Centipede by tondiue</a>

18:00

The Vicious Cycle of Overburdened Public Defenders [The Stranger]

Interim King County Department of Public Defense Director Matt Sanders on Caseload Standards and Budgetary Needs by Ashley Nerbovig

As the King County Department of Public Defense (DPD) began the project to dramatically lower case loads for its attorneys in the next three years, its longtime director, Anita Khandelwal, resigned from her post at the end of September with very little explanation. King County Executive Director Dow Constantine appointed Matt Sanders, managing attorney at DPD’s associated counsel for the accused division, to replace her. 

In his first month as interim director of DPD, Sanders threw himself into coordinating the reduction of caseloads and advocating for increased funding for attorneys so the lowered caseloads don’t result in clients without any representation.

Caseloads became an immediate issue for DPD earlier this year, when the Washington State Bar Association’s (WSBA) Governing Board adopted new standards for public defenders, switching from a flat case limit to a weighted case standard, which takes into account how much actual time an attorney spends on a case. 

The WSBA based its new standards on a 17-year-long study spanning 17 states to determine how much time an attorney needs to deliver constitutional representation to a client. Because of the way King County set up the DPD, the department automatically adopted the new standards with a three-year phase in cycle. 

However, most public defense departments statewide follow the Washington State Supreme Court standards, which is now weighing whether to implement the WSBA’s new caseloads across the state. That’s really not entirely King County DPD’s business, but Sanders is making a fuss in solidarity with other defenders. I sat down to chat with him about his new role at the department and about the chaos that is public defense in Washington right now.    

This conversation was edited and condensed for clarity.

How’s the new gig? Do you miss Anita?

Anita was a giant in the field of public defense. Where we were when she first came on to where we are six years later, it’s just amazing the amount she's been able to build. 

Thankfully, since I was the managing attorney for a couple years at ACA [Associated Counsel for the Accused division], I had some experience with some aspects of the job. But there's been something of a learning curve with the proposed budget coming out from the executive last Monday, and the revised caseloads being a statewide topic for discussion. It's kind of an exciting time to step into the role. It's getting a little bit more manageable every day.

Are you hoping to secure the top job?

I've spent my entire career basically at DPD. I care a lot about this place and its sustainability, and I wouldn't have agreed to be the interim director if I wasn't prepared to be the permanent director. 

How'd you guys make out so far in budget talks with King County?

I think that the short answer is that we need more full-time employees. There was a pretty significant difference between what we had asked for and what we were given in the proposed budget. One of the challenges that we confront at DPD is communicating the reasons why we need more funding to council members so that they can take it into consideration before finalizing the budget.

Do you feel like it's a tough time to be advocating for people charged with crimes?

There was that period in 2020, you know, after the wake of George Floyd, where it really felt like we were turning a corner. Unfortunately, it seems like things are kind of returning back to how they were before, and maybe even worse. SPD just signed the biggest contract that they've ever signed with the City. 

It's never easy from the public defense perspective, and it's made more challenging this year because we're trying to implement these new caseload standards, and it's never been done anywhere in the country. But, you know, public defenders are fighters, right? We're naturally fighters. We're fighting prosecutors, or sometimes it feels like we're even going against the court. We saw [King County] Presiding Judge Melinda Young, she's the presiding judge at the criminal court, write an open letter to the Seattle Times basically voicing her objections to the caseload standards.

Talk about these new standards. What’s happening, when is it happening?

There's three phases. Phase one doesn't actually become a mandate until July 2025. We are implementing them early in preparation to work out the kinks that way, when we hit July 2025, we're ready to go.

And they’ll make life better for DPD attorneys, hopefully retain them longer?

The short answer is yes. The standards are definitely better than what we currently have at DPD. Phase two is really where you're going to start to see the benefit. But they're definitely better. 

Under the current standards that the Supreme Court has, you can have 150 felony cases. That's an outrageously high number. At DPD, we never have someone that high. We would never, but in other parts of the state, people are at 150.

Under the new standards, the maximum amount of credits is 110, and cases and felonies can be weighted from one to eight. And so even if you get just all one weight of credits, you're still at 110 cases, which is much better than 150. Then, when you consider that a homicide might be seven and these other cases might be four or five, you're going to have a significant dropoff in your caseload, and that will allow folks to actually work their cases. And, you know, have defendants who go to court, go to trial quicker, get their cases resolved quicker. And it just gets better from there because then phase two is 90 credits, and phase three is 47 credits.

But earlier you said you need more full-time employees?

We need more full-time employees in order to be able to implement phase one of the caseload standards, and with our current allotment in the proposed budget, it puts in jeopardy our ability to fully implement phase one.

I think the modeling that was used to sort of decide DPD budget allocation just had flaws in it. There were just things that were not considered in that model. They will obviously improve in different iterations, but the challenge is explaining what was the defect in the model. The model never took into consideration transfer cases. (Transfer cases are basically when a lawyer quits an ongoing case, often because they’re leaving DPD.)

On average, it takes 75 percent longer to finish a transfer case. Some cases, like homicides, are two-and-a-half times longer, and the only people who can take those cases are really experienced attorneys. We've lost over 50 experienced attorneys in the last two years. That's over 19 percent attrition. And so you look at those two factors, like all these transfer cases that aren't being accounted for in the model, plus people leaving the work because of the case loads, it creates a situation where we need more funding to hire, hiring laterally during the year. And I can break that down for you. I know, like I've been in the weeds now for basically, like, two weeks, non-stop, but that's essentially the crux of the matter.

Can you explain a little more about why that increased time for transfer cases matters?

So a person says, ‘This work is too hard for me,’ or ‘I'm going to move,’ or ‘I've taken this job at this other law firm, but this murder case isn't done,’ right? Now we have to give that case to somebody else. That's where the inefficiency and the hidden work isn't captured in the model. The case has to get transferred to somebody, but they can't just pick up where the other person left off, because they have to confirm what work was done, right? So that creates double work all the while the client is sitting in custody, right? And homicide cases can take twice as long to resolve.

We were talking earlier about my career, like what I was doing before becoming a supervisor. I was in Kent working on felonies, and I received a homicide case once, it was transferred from a private firm to us. And you know, my co-counsel, Deb Wilson, and I, we had other cases that we had to go to trial first. We worked the case aggressively, but under the circumstances with our other cases, it took two years for that case to get to trial. He was in custody for two years, and after a two-month trial, the jurors acquitted him in two hours. 

Imagine that, to be in custody for two years. You have family, kids. We know you have a strong case. We get there as fast as we can. And the jurors acquit you in two hours. My colleagues, Anna Samuel and Michael Schuler, had a case where the client was charged with murder, a Black man. My client was a Black man, too. Their client sat in custody for five years and was acquitted. What we’re talking about is effective assistance of counsel. We have all these cases and we need more attorneys to be able to handle the load to prevent stuff like that from happening.

Ok, and what happens if the caseload standards go in and you don't get those additional attorneys? Will we see DPD coming out and saying, “We just don't have someone to cover this case?”

I mean, that's what we want to avoid at all costs. None of us come into this work wanting to do that. And I hate to even say that as a threat, but it’s a warning, right? Because it is a numbers game. Everyone's going to be capped at 110 credits. Once an attorney hits that max, they can't get any more cases until maybe the next month. So next month, something drops off, maybe they can take some cases. But once we hit the cap, we hit the cap.

My biggest fear is that we'll end up reaching a point where we can't take any more cases, and then folks in jail basically have to wait their turn for an attorney to have some capacity. That's not what we want at all. And I know that's not what the county wants, either. But it's the risk that we run by giving us what we have right now on the proposed budget.

King County is already implementing these standards in phases, but the Washington State Supreme Court is still deciding whether to implement these standards statewide? What effect could the Washington State Supreme Court decision have for you guys?

That would be disheartening for the state, just because most of the state is experiencing what we're experiencing at DPD, but just far worse. If the Supreme Court isn't adopted, it's going to be hugely problematic for the majority of the state for public defenders, and for them providing defendants with counsel.

These other parts of the state are already struggling to find public defenders, and without these standards it's going to make it that much harder, because King County is implementing them. If you're a public defender and you want to stay where you live, because that's where you grew up, but they're not changing these standards for you, then you might have to apply to DPD. You might have to consider that option because we're the only shop in town that is implementing these standards.

But! Okanogan County Deputy Prosecuting Attorney Teddy Chow told the Washington Supreme Court that cutting public defender caseloads could result in prosecutors filing fewer cases, and then vigilante justice! What’s your response?

We're in a crisis when it comes to public defenders nationwide. Experienced public defenders are leaving the field in droves. The task force was commissioned to create these revised caseload standards to make this job more manageable and to keep people who are mission-driven in the work. People want to do the work, they just can't sustain it. They want to have some semblance of work-life balance. 

And the revised caseload standards come from a RAND study that looked at all these different states over 17 years, and came up with these recommendations, saying, given how difficult these cases are nowadays, with body cams and social media and cell phones, these new standards represent what a public defender should be expected to do now. Reducing caseloads is the best tool we have to try to sort of stem the tide of this exodus. 

We're in a crisis. If we do nothing, it's going to become a complete catastrophe. If we don't do it, it's just going to get worse and worse and worse.

People will have an opportunity to submit public comments to the Washington State Supreme Court up until October 31. What’s important for people to know when submitting their thoughts on this issue?

Sometimes people say, “Well, it won't affect me,” or, “If I get in trouble, I'll hire a private attorney,” or something. But think about the kid who plays on your son's little league team. What if he got in trouble for something. Who knows what happened, but wouldn't you want to make sure that he's going to have a good attorney? What if your brother gets popped on something and you don't know if he did or didn't do it, and you just want to make sure that he's going to have an attorney that looks at his case and make sure that he's treated fairly? That is what's at stake when we talk about public defense.

In all these different ways, from police accountability to protecting constitutional rights, public defense matters. We’re the ones in the trenches handling the vast majority of these cases, reading the vast majority of these police reports, and seeing what’s happening, and so if you care about that, then write, leave a comment. The Supreme Court wants to hear from you and wants to hear why it matters to you. It’s bigger than public defense. It’s bigger than just the defendant's issue. It’s very much a community issue. I serve the community. I try to explain this to folks. We are here to serve the community in the best way we know how. And if that matters to you, then leave a comment.

Editor's Note: An earlier version of this story misstated Deb Wilson's name.

Slog AM: Jonathan Choe Films Andrea Suarez's Unhinged Campaign Ads, Secret Service Gets Roasted for Trump Assassination Attempt, One Direction's Liam Payne Died [The Stranger]

The Stranger's morning news roundup. by Hannah Krieg

Good morning: Hey, Seattle. You can expect more of the same weather today. This morning, temperatures will stay in the low 50s and you may see some showers. In the afternoon, things will dry up, the sun will poke out of the clouds a little, and temperatures will peak at about 56 degrees. 

Leave Maya Henry alone: One Direction band member Liam Payne died yesterday after falling from his hotel balcony in Argentina. His ghoulish fans have launched a hate campaign against his ex-fiancée, Maya Henry, blaming her for his death because she recently sent him a cease-and-desist letter, accusing him of obsessive and harassing behavior. You freaks better leave her alone. This is not her fault, and blaming her will only scare women into silence about abuse. 

Secret Service sucks ass: An independent, bipartisan review panel released a scathing report about the Secret Service's failure to interrupt the near-miss assassination attempt on former President Donald Trump this summer. The panel called the Secret Service "bureaucratic, complacent, and static,” arguing that without reform such an attack can and will happen again. 

Archdiocese says sorry: The Archdiocese of Los Angeles agreed to pay a historic settlement of $880 million to more than 1,300 victims of clergy sexual abuse. And they deserve every penny!

Let’s fucking go:

NEW: The FTC has finalized its “Click to Cancel” rule – which will require companies to make it as easy to cancel a subscription as it is to sign up.

Unwanted subscriptions add up for Americans, and our Administration is taking action to save families time and money. pic.twitter.com/wdIcKac6PN

— The White House (@WhiteHouse) October 16, 2024

A moment of clarity: In the city council’s select budget committee meeting today, Council Member Cathy Moore made an important point while discussing the future of the City’s JumpStart payroll expense tax. The mayor proposed stealing from the tax's fund to backfill a deficit in the 2025-2026 budget, disregarding its legal obligation to pay for affordable housing, Green New Deal initiatives, and a few other select priorities. But that plan would still leave a deficit for 2027. Moore said in the meeting that if the City wants to fix the deficit long-term, then the mayor’s plan won’t cut it. The City must either cut spending or find new revenue, she said. So, next time the mayor brags about balancing a budget in the face of a huge deficit without raising taxes, remember he just punted the problem two years at the expense of more than $200 million in affordable housing. 

This is your sign to answer unsaved numbers: You may just get a call from the Mayor of Seattle.

I need Bruce Harrell to phone bank me. I need it https://t.co/JEvVaImsRa

— Hannah Krieg (@hannahkrieg) October 17, 2024

Ashley has something to say!

Federal oversight of Seattle cops continues: Yesterday, US District Court Judge James L. Robart checked in with the City and the Seattle Police Department (SPD) on their progress in meeting the goals of a federal settlement established about 12 years ago to curb biased policing, among other things. The City argued that they’re very nearly in compliance with everything in the settlement agreement except for crowd control management policy. The City claimed they made progress in that area and had recently sent a new policy to the city council for approval, which the court would have a chance to approve at a later date.

One major change that doesn’t seem so good: The new crowd control policy allows other local law enforcement agencies that SPD calls for backup—who don't have special training—to use “less lethal crowd control tools," such as blast balls or pepper spray, on protesters. Kinda of defeats the purpose of what Robart wanted to see in the policy, which included intensive training for SPD officers to avoid mass disproportional force against crowds. I will have more on that and the hearing later.

LMAO Robart mentions the fact that the police contract requires more than preponderance of evidence for discipline when the case involves something that might result in termination or make it harder for cops to get a job in the future

— Ashley Nerbovig (@AshleyNerbovig) October 16, 2024

Now over to Vivian. Team effort on the Slog this morning!

So much for supporting teachers and students: After student bullies on Instagram, right-wingers on Facebook, and conservative commentator Brandi Kruse ran English teacher K. Wayne out of Peninsula School District over their drag persona, Jack King Goff, students testified to the school board that the departure was just the latest example of out-of-control online bullying in the district. Then the Superintendent published a letter addressing the rise of harmful online bullying, promising to add it to the district's ongoing review of belonging policy. So how did the school board, which includes Republican Superintendent of Public Instruction candidate David Olson, respond? It passed a version of a policy from the Washington State School Directors Association to restrict the way staff can express themselves online, which makes clear they can be disciplined or fired for this sort of thing in the future.

In a statement, Board President Natalie Wimberley said that while she understood concerns about ambiguity, lawyers "thoroughly vetted" the policy, which is meant to balance staff expression with the district's responsibility to maintain an orderly learning environment. They're not trying to infringe on anyone's rights, she said. "Our governance must remain thoughtful and prudent, not tied emotionally to any particular moment or group, but focused on what will best serve our students and staff now and in the future." Their lack of consideration for "particular" groups is clear. She did not give an answer for why the board has not substantively responded to months of complaints about anti-Black and anti-gay bullying. The Stranger reminded her that she is a public official and it is her job to answer such questions. The local teacher's union did not respond to a request for comment. The district says similar policies have been implemented in other districts.

Would you look at that: You know all those unhinged campaign videos that State House candidate Andrea Suarez has been posting on Twitter? The ones where she calls her opponent, Shaun Scott, a communist, despite the fact that literally every Democratic org and basically the whole Seattle delegation in Olympia supports him? Turns out, fallen KOMO reporter Jonathan Choe filmed some of them! A previous version of this blurb incorrectly stated that Suarez paid him. Choe kindly pointed out that filmed as an "in-kind" donation, giving his labor for free because he believes in her so much. Choe went from splicing together gushing montages of the Proud Boys to playing campaign videographer for Suarez. Huge career shift!

My friend sent me a video of them filming it together lol. BTS https://t.co/O4c2io5LoR pic.twitter.com/IdRErRupvT

— Hannah Krieg (@hannahkrieg) October 16, 2024

Beirut: Yesterday, Israel launched new strikes on the capital of Lebanon. Lebanese officials report Israel has killed at least 2,350 people and wounded almost 11,000 others in the last month. 

Yemen: The US sent B-2 stealth bombers to strike the Houthis’ underground weapons facilities in Yemen on Wednesday. I could not find how many people the US killed in the strikes. US defense officials told CNN that these five facilities stored advanced conventional weapons used to target military and civilian vessels in the Red Sea and the Gulf of Aden. Houthis have targeted more than 80 merchant vessels in the last year, claiming to attack ships linked to Israel as a way to pressure the country into stopping its genocide in Gaza. However, Houthis have attacked many ships with seemingly little to no connection to Israel, according to the AP

ICYMI: We dropped our endorsement package this week for the upcoming election. Rip open that ballot and do as we say!

Good old-fashioned election denial: Republican nominee Donald Trump's freaky lil VP pick, JD Vance, finally admitted yesterday that he does not believe Trump lost the 2020 election. He told a reporter, “No, I think there are serious problems in 2020. So did Donald Trump lose the election? Not by the words that I would use.” Vance usually redirects questions about who won the 2020 election. Most famously, in a debate earlier this month, Democratic nominee Kamala Harris's VP pick Tim Walz asked Vance if Trump lost in 2020 and Vance said, "Tim, I’m focused on the future.” Walz called that a "damning non-answer." 

For your ears: My friend recommended this song because I cannot be bothered to think of a song every week. I don’t have good taste!

17:14

16:49

Link [Scripting News]

The question has come up in various contexts, is a Substack feed a blog? Yes, I think it can be. For some reason people thought I'd say no. In 2003, I compiled a list of things that make a blog a blog, and it's not about the software you use, rather it's about who's writing it, and whether they're being edited. Now it's a different question to ask if I would use it. I would not. Because it forces you to use their editor. And that's a pernicious form of lock-in. It might sound like a small thing, but it means you can't easily try out something new. You are not available to other software developers as a possible user, so no software will be designed for you. I know how well that kind of system works. And that's probably why they lock you into using their editor. If I can't switch without breaking everything, I'm not going there.

[$] A look at the aerc mail client [LWN.net]

Email has become somewhat unfashionable as a collaboration tool for open-source projects, but there are still a number of projects—such as PostgreSQL and the Linux kernel—that expect contributors to send and review patches via email. The aerc mail client is aimed at developers looking for a text-based, efficient, and extensible client that is meant to be used for working with Git and email. It uses Vim-style keybindings by default, and has an interface inspired by tmux that lets users manage multiple accounts, mails, and embedded terminals at once.

Five new stable kernels [LWN.net]

Greg Kroah-Hartman has announced the release of the 6.11.4, 6.6.57, 6.1.113, 5.15.168, and 5.10.227 stable kernels. As usual, this set of updates contains a long list of important fixes throughout the kernel tree.

16:28

Page 13 [Flipside]

Page 13 is done.

16:07

Link [Scripting News]

Mathew Ingram asks if AI will save us or kill us. It could both save and kill us. That's what's so disturbing about evolving. We live such short lives, people aren't really designed to evolve, but because of medicine and other tech, we are often forced to do it. Evolution can come many ways. Losing a job may force you to evolve. The dissolution of a marriage. Having life-saving surgery with a long recovery saves you for sure, but it might also kill you because you can't go back to being the person you were before. There might not be a path back. One thing's for sure we need saving. We can't survive without radical change. We're on a path that doesn't work. Is there any way for us to change radically without a complete collapse? Well, actually kind of looks like we might have been given a path out through AI. But it means we must give up control. But here's the funny thing about that. We aren't giving up anything because no one has any control. That's a political question in the US, can one person become a mad king and thus gain complete control. But he's 78 and not in good health, and that control could only last a few years at most. We will need saving from that. If somehow we could configure AI so it did what humans can't and won't do, at least our civilization might have a way forward if not our species. Just some random thoughts. Maybe unthinkable, but they occur to me anyway, which is why I have a blog. 😄

Sudanese Brothers Arrested in ‘AnonSudan’ Takedown [Krebs on Security]

The U.S. government on Wednesday announced the arrest and charging of two Sudanese brothers accused of running Anonymous Sudan (a.k.a. AnonSudan), a cybercrime business known for launching powerful distributed denial-of-service (DDoS) attacks against a range of targets, including dozens of hospitals, news websites and cloud providers. The younger brother is facing charges that could land him life in prison for allegedly seeking to kill people with his attacks.

Image: FBI

Active since at least January 2023, AnonSudan has been described in media reports as a “hacktivist” group motivated by ideological causes. But in a criminal complaint, the FBI said those high-profile cyberattacks were effectively commercials for the hackers’ DDoS-for-hire service, which they sold to paying customers for as little as $150 a day — with up to 100 attacks allowed per day — or $700 for an entire week.

The complaint says despite reports suggesting Anonymous Sudan might be state-sponsored Russian actors pretending to be Sudanese hackers with Islamist motivations, AnonSudan was led by two brothers in Sudan — Ahmed Salah Yousif Omer, 22, and Alaa Salah Yusuuf Omer, 27.

AnonSudan claimed credit for successful DDoS attacks on numerous U.S. companies, causing a multi-day outage for Microsoft’s cloud services in June 2023. The group hit PayPal the following month, followed by Twitter/X (Aug. 2023), and OpenAI (Nov. 2023). An indictment in the Central District of California notes the duo even swamped the websites of the FBI and the Department of State.

Prosecutors say Anonymous Sudan offered a “Limited Internet Shutdown Package,” which would enable customers to shut down internet service providers in specified countries for $500 (USD) an hour. The two men also allegedly extorted some of their victims for money in exchange for calling off DDoS attacks.

The government isn’t saying where the Omed brothers are being held, only that they were arrested in March 2024 and have been in custody since. A statement by the U.S. Department of Justice says the government also seized control of AnonSudan’s DDoS infrastructure and servers after the two were arrested in March.

AnonSudan accepted orders over the instant messaging service Telegram, and marketed its DDoS service by several names, including “Skynet,” “InfraShutdown,” and the “Godzilla botnet.” However, the DDoS machine the Omer brothers allegedly built was not made up of hacked devices — as is typical with DDoS botnets.

Instead, the government alleges Skynet was more like a “distributed cloud attack tool,” with a command and control (C2) server, and an entire fleet of cloud-based servers that forwards C2 instructions to an array of open proxy resolvers run by unaffiliated third parties, which then transmit the DDoS attack data to the victims.

Amazon was among many companies credited with helping the government in the investigation, and said AnonSudan launched its attacks by finding hosting companies that would rent them small armies of servers.

“Where their potential impact becomes really significant is when they then acquire access to thousands of other machines — typically misconfigured web servers — through which almost anyone can funnel attack traffic,” Amazon explained in a blog post. “This extra layer of machines usually hides the true source of an attack from the targets.”

The security firm CrowdStrike said the success of AnonSudan’s DDoS attacks stemmed from a combination of factors, including sophisticated techniques for bypassing DDoS mitigation services. Also, AnonSudan typically launched so-called “Layer 7” attacks that sought to overwhelm targeted “API endpoints” — the back end systems responsible for handling website requests — with bogus requests for data, leaving the target unable to serve legitimate visitors.

The Omer brothers were both charged with one count of conspiracy to damage protected computers. The younger brother — Ahmed Salah — was also charged with three counts of damaging protected computers.

A passport for Ahmed Salah Yousif Omer. Image: FBI.

If extradited to the United States, tried and convicted in a court of law, the older brother Alaa Salah would be facing a maximum of five years in prison. But prosecutors say Ahmed Salah could face life in prison for allegedly launching attacks that sought to kill people.

As Hamas fighters broke through the border fence and attacked Israel on Oct. 7, 2023, a wave of rockets was launched into Israel. At the same time, AnonSudan announced it was attacking the APIs that power Israel’s widely-used “red alert” mobile apps that warn residents about any incoming rocket attacks in their area.

In February 2024, AnonSudan launched a digital assault on the Cedars-Sinai Hospital in the Los Angeles area, an attack that caused emergency services and patients to be temporarily redirected to different hospitals.

The complaint alleges that in September 2023, AnonSudan began a week-long DDoS attack against the Internet infrastructure of Kenya, knocking offline government services, banks, universities and at least seven hospitals.

Security updates for Thursday [LWN.net]

Security updates have been issued by Debian (python-cryptography), Fedora (dnsdist and python-virtualenv), Red Hat (java-1.8.0-openjdk, java-11-openjdk, java-17-openjdk, and java-21-openjdk), Slackware (libssh2 and mozilla), SUSE (haproxy, keepalived, libarchive, libnss_slurm2, php8, and python310-pytest-html), and Ubuntu (linux, linux-aws, linux-aws-5.15, linux-gcp, linux-gcp-5.15, linux-gkeop, linux-gkeop-5.15, linux-hwe-5.15, linux-ibm, linux-ibm-5.15, linux-intel-iotg, linux-intel-iotg-5.15, linux-kvm, linux-lowlatency, linux-lowlatency-hwe-5.15, linux-nvidia, linux-oracle, linux-oracle-5.15, linux-raspi, linux-xilinx-zynqmp, linux, linux-aws, linux-aws-5.4, linux-bluefield, linux-gcp, linux-gcp-5.4, linux-gkeop, linux-hwe-5.4, linux-ibm, linux-ibm-5.4, linux-kvm, linux-oracle, linux-oracle-5.4, linux-raspi, linux-raspi-5.4, linux-xilinx-zynqmp, and linux, linux-aws, linux-aws-6.8, linux-gcp, linux-gcp-6.8, linux-hwe-6.8, linux-ibm, linux-lowlatency, linux-lowlatency-hwe-6.8, linux-nvidia, linux-nvidia-6.8, linux-nvidia-lowlatency, linux-oem-6.8, linux-oracle, linux-oracle-6.8, linux-raspi).

16:00

The Big Idea: Alex Kingsley [Whatever]

Debut author Alex Kingsley is here today to talk to us about crabs, monsters, being an outsider, and how all these things are inexorably connected. Follow along through their Big Idea for their new novel, Empress of Dust, and see what it really means to be a monster, or if being a monster is even possible.

ALEX KINGSLEY:

What does it mean to be monstrous? 

Looking back on Empress of Dust, I think that’s The Big Idea. It’s not, however, the idea that I started with. I don’t generally write from a theme because if I start the process by going “this is the huge philosophical question I’m going to tackle” usually the final product basically feels like the characters are screaming “THIS IS THE BIG PHILOSOPHICAL QUESTION! WOW! PROFOUND!” and it ends up feeling disingenuous and, honestly, boring. I feel much better about the work I do when it starts at the micro level. I don’t necessarily know what the story is really going to be about yet, but I have a starting point that excites me. 

When I have the seed of an idea but I don’t know where it’s going, I let it gestate until it comes to term, like I’m holding kindling until there’s a spark. This process works really well for me because usually there’s like five sparks at once and I’m holding so many fires that I’m burning my hands, so it only makes sense to wait until I know I’m ready to pursue an idea before I start working on it. 

I knew I wanted to write about crabs for a long time. I have been fascinated by crabs ever since I read The Time Machine at age twelve. Sure the Eloi and the Morlocks were cool, but I cared way more about the giant crabs at the end. Like, hello? We spent the whole book focused on humanoids, and we’re just gonna brush past the giant crabs like it didn’t happen? I was first introduced to the concept of carcinisation (the evolutionary theory that nature desperately wants us all to become crabs) on Tumblr, because yes, I am still on Tumblr, and yes, it’s actually still pretty active. Mostly I found the idea of crabs as God’s perfect creature to be really funny, but I also thought it was something I wanted to explore in my writing one day. 

One night I had a dream about giant crabs, and it was a sign that my subconscious was ready to churn out the story. I started writing the next day. Originally it was going to be a short story called “Harvard Bites the Bullet,” but the more I wrote, the more I wanted to spend time with these characters — and these crabs. I started asking questions that needed answers, so I started answering them. 

Eventually it developed from “here’s a fun story about how everything becomes crabs” to an examination of the concept of monstrousness. I’m sure we’re all familiar with the “actually the real monsters were the humans the whole time!” narrative (eg “actually Frankenstein is the name of the monster because Victor is really the villain), and I wanted to make a point of not making my messaging as simple as that. In fact, I didn’t even want there to be messaging so much as I wanted there to be questions, and the main question turned out to be this: does monstrousness even exist? 

The idea of what is or isn’t a monster comes from whatever group society deems to be the outsiders. We see this in our own reality all the time with marginalized groups. To be clear, I am not saying that the giant crabs are an allegory for a particular group of people. As Freud famously didn’t say, “sometimes a crab is just a crab.” However, it becomes pretty clear from the start of the book that the crabs are only considered monstrous because of the narratives that humanity has pushed. Right from the start, the main character, Harvard, feels he has more in common with the crabs than he does other people. (I listened to “Willard!” By Will Wood a lot while working on this story)

That’s the other side of the monster coin: each of the four POV characters feel, in their own way, that they are monstrous. Each has followed their own unique path to becoming an outcast, which led them to become desert scavengers in the first place. Society has failed them all in different ways, but each of them thinks that they have failed society (which, at risk of putting too fine a point on it, may have something to do with the fact that they are ironically named after institutions associated with success.)

So if the humans are monsters and the crabs are monsters but the whole point of the concept of a monster is to separate the monsters from what is “normal,” what even is a monster? This is a question that gets explored further as the story goes on. I don’t think it counts as a spoiler when I see that even the most (seemingly) monstrous humans are just trying to do their best in a world that feels like it’s against them. 

The concept of monstrousness in this story is also deeply linked to transness. As many trans people go through the process of understanding themselves, they do feel monstrous, because they feel like such a deviation from the norm. When I was in fourth grade and didn’t have the language to articulate my identity, I called myself a “mixed-gender creature.” I don’t think I’ve ever stopped viewing myself as a creature, and I don’t think that’s a bad thing. I didn’t want to make Harvard’s transness a major plotpoint, because I enjoy stories in which characters are just casually queer without there needing to be a narrative reason. One of the other characters, for instance, is non-binary, and that’s never really brought up because it’s just normal.

If you read the novel, though, you’ll see that Harvard’s identity as a trans man is still crucial to the story — the same way that my transness does not define me, but is an important part of who I am. 

In conclusion: perhaps the real friends are the monsters we made along the way. 


Empress of Dust: Amazon|Publisher|Goodreads

Author socials: Website|Instagram|Bluesky|Mastodon|Tiktok

 

View From a Hotel Window, 10/17/24: NYC [Whatever]

pxl_20241016_2153491913444698619430911440

Oh, midtown. You have such medium-sized buildings in you. Plus a few skyscrapers! You know, here and there.

Today: NYCC! A panel on audiobooks, and then a panel on the worst reviews the panelists have ever gotten. Gonna be fun. Plus I’ll sign some books there. If you’re going, see you there. If you’re not going, well, have a Good Friday anyway, if you can.

— JS

15:21

Link [Scripting News]

I keep writing on my hybrid WordPress/Mastodon blog at my kitchen table. This morning I wrote about why I don't believe in the Ya Gotta Believe, a baseball slogan coined by a 1973 Mets pitcher Tug McGraw. It's on-topic because the Mets are in a challenging series with the Dodgers for the National League championship. No matter how it turns out, this is a historic year for the Mets, and no matter how it turns out I won't love the Mets any less if they lose. I think true believers believe in that -- love -- without any expectations, win or lose, or maybe even more if they lose. BTW, I know the rendering of the post isn't complete on Mastodon, and there are errors. I'm working with the people at Automattic at getting this right. I'm glad to see that Mastodon has the flexibility to do that. Anyway, I believe in the things I believe in, not because I "gotta." I don't like the slogan because it doesn't reflect how I feel about the team. My philosophy is respectful (in a way) of the teams the Mets beat, because I understand that their fans don't love them any less because they lost. If anything I think the better slogan for the Mets would be this: Wait till next year! 😄

14:35

Halcyon Afternoon [Original Fiction Archives - Reactor]

Original Fiction The Mongolian Wizard

Halcyon Afternoon

The Mongolian Wizard #10

Illustrated by Dave Palumbo

Edited by

By

Published on October 17, 2024

1 Share
An illustrated montage of a woman freeing a colorful bird from a cage; a group of masked bandits; and a woman and man in a rowboat.

Ritter grapples with a cunning adversary in this new Mongolian Wizard story, presented in celebration of the 50th World Fantasy Convention’s Toastmaster, Michael Swanwick . . .


Five days before the battle for Paris, Ritter found himself in a meadow, under a clear blue sky, enjoying a picnic lunch with Lady Angélique de La Fontaine. How she had managed this, he did not know. But her aristocratic connections, combined with her military rank as a psychic surgeon, had conjured up a wicker basket filled with cold chicken, ripe brie, white grapes, a crusty baguette, a bottle of Crémant d’Alsace, tinned goose liver pâté, and a handful of ginger snaps wrapped up in a linen napkin. Also, and even more surprisingly, she had arranged a daylong leave of absence for a Prussian officer on indefinite assignment to British Intelligence.

As they ate, they chatted about art, books, the peccadillos of mutual acquaintances—anything and everything but the war. At one point Ritter gestured at the wicker cage they had brought along with the blanket and basket of foodstuffs. “This bird—a kingfisher, by the look of him—is a charming fellow. But why is he here with us?”

“She,” Angélique said. “This is no kingfisher but a halcyon. She lays her eggs on a floating nest upon the sea. To protect them, she has power over the winds. So long as little Halçi is with us, the weather will be clement.”

A pleasant while later, when they had fallen into a companionable silence, Angélique dabbed away a crumb from the corner of Ritter’s mouth and, rising gracefully to her feet, said, “We’d best go indoors now. It looks like it’s going to rain.”

Ritter looked at the small cottage at the edge of the meadow and then at the halcyon in its wicker house. “Rain? But you said—”

Putting her hands on her hips, Angélique scowled most fetchingly down at him. “Kapitänleutnant Franz-Karl Ritter, you are, if I may say so, one damnably difficult man to seduce!”

Hearing it put that way, Ritter naturally concluded that he had no choice but to go wherever she wished and do whatever she desired.

Afterward, they lay naked upon a surprisingly large and comfortable bed, while Angélique queried Ritter about the history of every bullet scratch and saber scar on his body. With her fingertips, she traced an ugly discoloration on his forearm. “And this?”

Ritter laughed. “I fell out of a tree when I was a boy. It was the first time I had ever been seriously hurt and with the bone sticking out of my arm and blood everywhere, I was of course terrified. I hobbled home in tears, clutching one arm in the other, and when I got there, my father slapped me to stop my crying.”

“How horrible!”

“It was not horrible at all. It worked. While he set the bone and bandaged me up and dosed me with laudanum, my father explained the standards of behavior expected from one of our class. I went to sleep that night feeling very proud of the man I was meant to be.”

“Yes, but still—”

Ritter yawned. “Please forgive me,” he said. A warm breeze fluttered the lace curtains in the windows and the sunlight pouring through them was as golden as honey. Bees hummed comfortably in the clover outside. “I’m a little drowsy.”

“That is nothing to apologize for,” Lady Angélique said. “Here, place your head in my lap. If you wish to nap, do so.”

Looking up through her hair, which she had let fall to enclose both their heads in a cascade of gold, Ritter felt a moment of perfect contentment. “What was it Goethe wrote?” He yawned again. “Verweile doch, du bist so schön. Linger awhile, you are so beautiful. I could live in this moment forever.”

“My silver-tongued scoundrel.” Angélique’s smile fluttered and faded in Rittter’s vision. His eyes closed and he drifted off to sleep.

A fist pounded and a voice muffled by the thickness of the door cried, “Commandant Ritter! Vous êtes—”

“—ordered to report to Command. My leave is canceled. Why else would a messenger be sent me?” Ritter grumbled as he struggled to his feet. Raising his voice: “All right! Jawohl! D’accord!” He threw on his uniform, commenting less to Angélique than to himself, “I speak so many languages these days I hardly know which one to think in.”

A hasty kiss and Ritter was at the door. He flung it open.

There was no one there.

Jeering in a way absolutely incompatible with the woman he was coming to know, Lady Angélique said, “Made you look!”

Then, without any transition, they were sitting—clothed, and fashionably so—at a small table on a terrace overlooking the Seine.

Before the war, this café had been one of Ritter’s favorite places in Paris. With the current shortages, he was certain it did not look this pleasant anymore. But the illusion was perfect, down to the hot metal aroma that came from the espresso machines, mingled with the smell of coffee brewing.

Lady Angélique raised a crystal goblet. “Santé!” She drank.

Ritter neither touched his glass nor responded to the toast. “Obviously,” he said, “I’m still asleep. Who are you and what are you doing in my dreams?”

The false Angélique pouted. A drop of wine, red as blood, lingered on her lower lip. “You are no gentleman, sir. You find yourself in a romantic situation with—I shall employ no false modesty—a devastatingly beautiful woman. Even in a dream, you should be smitten.”

“As for your appearance, it is stolen from a woman I sincerely admire. On you it looks grotesque. As for my behavior, I am a gentleman by birth and nothing can alter that. I am also a soldier by profession. You are clearly an enemy operative whom I am honor-bound to oppose, whether I am awake or asleep. Answer my question.”

The lady sighed and put down her glass. “Very well.”

White clouds drifted slowly across the glassy surface of a sky-blue lake fringed with water lilies. Ritter recognized the lake as one belonging to the estate of his late uncle near Venusberg. He had spent many pleasant hours there in his youth.

They were on a rowboat and Ritter was working the oars. The woman sitting opposite him had luxuriant red hair that fell over her shoulders in artful curls. She was dressed in white and carried a silk parasol to protect her skin from the sun. Her face was beautiful in a way totally unlike Angélique’s. “I am Hélène, Baroness D’Alcyone. But you, my sweet, may call me Leni, if you wish.”

Leni was the German diminutive of Hélène. “You are not French, then?” Ritter said.

“I am Alsatian by birth. The title is my husband’s.”

Ritter was wearing canvas shoes, light duck trousers, and a sleeveless rowing shirt. He noticed that Hélène’s eyes did not meet his. She was watching the actions of his muscles as he labored. “And your purpose?”

“I should think it obvious.” Hélène leaned forward. Had her décolletage previously been so low? “I desire an intimate, passionate relationship with you.”

“I seem to be quite the lady’s man today,” Ritter said dryly.

Hélène leaned back. “I beg your pardon?”

“Never mind. Your plan, I take it, is to begin an imaginary affair with me that will continue until I have become addicted to your beauty and your amorous skills. Then you will withhold your ghostly favors until I agree to betray Sir Toby by sharing his secrets with your handlers.”

“It sounds so tawdry put that way. But, yes, something like that.”

“Does your husband know of your…profession?”

The baroness’s laughter was like silver bells. “Goodness, no! Oh, dear Andre knows that I serve the Mongolian Wizard, as any dream-walker must. But he thinks me a spy.”

“Isn’t that what you are?”

“No, silly. I’m a succubus.”

“A succubus is a courtesan of the imagination,” Hélène said. They were strolling through what Ritter at first assumed, from its opulence, to be the vulgar palace of a nouveau-peerage upstart. Then the preponderance of red velvet curtains and smoky, gold-flecked mirrors combined with the poor quality of the statuary and the smell of stale cigars revealed it to be a brothel. They passed by an open doorway and the activities within were such as would be expected in such a place. “It is a rare skill to be able to create a physically convincing illusion of intercourse within somebody’s mind. But I can do more than that. You wish to make love atop the Jungfrau? Or beneath the sea? The snow will be warm, the water breathable. Your every night will be a delightful respite from the war.”

“Is there a point to this?” Ritter asked.

They passed by more open doorways. The baroness squeezed Ritter’s arm. “You are not looking,” she said. “You should. I assure you that you will see nothing that I would not willingly and enthusiastically do with you. Unleash your inner voyeur. He might pick up a few ideas.”

“I really don’t think this is a productive use of either your time or mine.”

Hélène cocked her head, as if listening to otherworldly voices. Then she said, “Why not? In dreams there are no consequences. The beds are like clouds and the nights never end. Why not take advantage of them?”

“It is a matter of morality.”

Again, that elfin laughter. “Oh, la! What a liar you are. Where do you think this brothel came from? It is constructed from your memories. I assure you, I have never visited such an establishment.”

It was a hit and it stung. But Ritter forced back his embarrassment. “I am not proud of having done so. But I always tipped more than was expected and never required any of the ladies to perform acts they found distasteful.” He did not add that most of these visits had occurred at times of great loneliness—it would have sounded like an apology.

“If this part of your history offends you, then tell me something of which you are proud.”

Ritter considered. “Very well. I was once robbed by highwaymen. I was in a coach that was stopped by three brigands and, upon their captain’s command, the coachman and all the passengers alit. The men were well-armed and the other passengers were respectable citizens who had no notion of putting up a fight, so I had no option but to surrender my valuables. I burned with humiliation, though, for I was a newly commissioned officer and thought the incident was a smear upon my honor.” Ritter smiled at the memory. “I was very young.”

“So thrilling! Were you bold and gallant?”

“No, I was methodical and observant. The highwaymen wore kerchiefs over their lower faces to disguise themselves and hats pulled low to obscure their eyes. But they could not disguise their heights, their stances, the sound of their voices. Also, I noted that their horses were old and spavined, and this told me what class of people they were.

“Their captain saw me looking about and asked why.

“‘So I can give accurate testimony at your trial,’ I replied.

“At that, his two underlings threw me down in the dirt at their captain’s feet. His boots had distinctive silver buckles far better than anything else he wore. Doubtless they were part of the loot from an earlier robbery.

“I heard the sound of a pistol being cocked. ‘I doubt this will ever come to court,’ the captain said, and fired. I felt a blinding pain in the side of my skull. Then the fellow roared with laughter and, joking with one another, the highwaymen climbed on their horses and departed.

“The coachman and a lawyer from Hamburg helped me to my feet. By slow degrees, they made me realize that, as a joke, the highwayman had fired into the air while simultaneously kicking me in the head.

“I swore to myself that he would pay for that.

“Men can travel only so far at night, and thieves will necessarily want a nearby bolt-hole in case of pursuit. So I made my way to the nearest village the next evening, dressed in clothes borrowed from my ostler. There were only two taverns in the village and one was so quiet I did not bother going in. But, standing in the doorway of the other, I saw three revelers who, by their heights, their stances, and their voices, were my prey, buying drinks for all their friends. One wore boots with silver buckles. I turned away, lest they see my bandaged face and suspect who I was, and joined a table of glum-looking men who had been excluded from the festivities. A single round of beer and a sympathetic ear bought me the identities of all three and where they lived.

“The next day, four soldiers and I returned with warrants for the highwaymen, beginning with the captain, who was the only one I cared about. He lived in one of those rural buildings that are half farmhouse and half barn. Alas for him, on seeing us, he seized a rapier from a peg by the door and came roaring out, swinging wildly. The soldiers scattered, because no man is more dangerous with a sword than he who has no idea what he is doing. But I stood my ground and, leveling my pistol, shot him right in the center of his chest. That was the first time I killed a man.”

“Oh, my! You must have felt terrible afterward.”

“I felt nothing but pride in my cool-headedness.”

Hélène cocked her head again. Then she said, “That was an ugly story. Why did you tell me it?”

“To let you know that all the time you are toying with me, I am observing you, and that it is dangerous to let me learn too much. Don’t you think it is time that I woke up?”

“Oh, you can’t do that. Not until I’ve had my wicked way with you.”

“That will never happen.”

A third cock of her head, and then a flirtatious smile. “Never is a long time. A great deal can happen before it is over.”

Now they were in Sir Toby’s office. It smelled of leather and old paper and expensive tobacco. There was a dagger mounted on the wall and a stuffed owl atop the bookcase. “Tell me something,” Ritter said, before the succubus could develop an unhealthy interest in her surroundings.

Hélène shoved a mound of documents off the desk and perched upon its edge. “Anything!”

“Who am I?”

With a mocking lift of one eyebrow Hélène said. “Don’t you know?”

“You haven’t once addressed me by name. Nor have you made any references to my likes, dislikes, or personal history. I mentioned my superior’s name and you did not react to it, which would be strange indeed if you had any idea who he was. So you are squandering your rare talent on someone who is to you a random stranger. It makes no sense. It beggars all logic. It makes me wonder exactly what your game is.”

“What a prig you are!” Hélène’s eyes flashed. “And a pill. You are a prig and a pill. How dare you treat me so rudely? You forget, sir, that I am a baroness.”

Ritter, who had been holding it back, now channeled his own anger into speech. “You are no lady, much less a baroness. Your every word and action betray your origins in the lower classes. You hold a wineglass not by the stem, as a lady would, but by the bowl. And, by the way, do not imagine that a sidewalk café serves wine in crystal—the breakage would be ruinous. When I was rowing, your glance went where no properly reared woman would allow a man to see it going. Your accent is good, which means you have been schooled for your role. Yet when you speak as a lady you sound scripted, when you speak like a demimondaine you are unconvincing, and when you speak naturally you revert to schoolgirl diction—from ‘Made you look!’ to ‘a prig and a pill.’ Meanwhile, your dream leaps from locale to locale, as if they were so many painted backdrops in a comic opera. Finally, there is the ridiculous coincidence of the name D’Alcyone with the halcyon bird. Tell me, exactly how old are you?”

In a tiny voice, Hélène said, “Twenty-one.”

“The fact that you think that is a worldly age tells me you are much younger. Sixteen perhaps?”

Indignantly, Hélène said, “I’m eighteen! Last month.”

Out of nowhere, a voice said, “All right. This can stop now.”

“Yes, Maître,” Hélène said.

“What?”

A woman half-materialized in the chair behind Sir Toby’s desk. She was heavyset, plainly dressed, and bore an air of authority. “What have you learned from today’s session?”

Eyes downcast, Hélène said, “That…some men are immune to desire?”

“Who the blazes are you?” Ritter demanded of the ghostly newcomer, still too angry to be polite.

“I am the one charged with, as you said, schooling this wayward waif.” To Hélène, the Maître said, “Put together the clues: This man’s anger when you assumed the appearance of what should have been his purely theoretical idea of perfect beauty. His reference to that woman as someone he sincerely admires. Saying that you look grotesque in her form. Refusing to so much as glance at the activities in the maison de tolérance, though they were based on his own experiences. His constant and excessive coldness in the face of your generous offers.”

“I…”

“Idiot child. You never had a chance with him. The fool is in love.”

“Ohhhh.” Hélène clapped her hands in delight. “I was afraid the fault was mine.”

“Hellfire and brimstone!” Ritter exclaimed. “What is all this about?”

“Shall I tell him?” Hélène asked. “It is most satisfying to tell a man to his face that he has been used.”

The Maître nodded and Hélène said, “A succubus is not simply sent out into the dreams of powerful men. She has to be trained in the social graces first. You have been quite helpful in that regard—particularly the tip about how to hold a wineglass. I thank you for that.

“Oh, and I was never going to roll in the sheets with you, dream or not.” Hélène blew Ritter a kiss. “So your virtue is safe and you may wake up now.”

When Ritter was done telling Lady Angélique a lightly censored version of his dream—omitting the brothel and Hélène’s assuming her appearance—she turned to the birdcage and said, “But how does Halçi fit into this escapade?”

“Normally, a dream-walker has to be physically close to her subject to enter his dreams. But if she establishes an empathy with an animal, even so slight a one as a halcyon, it can be used as a kind of amplifier. I can reach into Freki’s thoughts from miles away. Where did you acquire that bird?”

“From a funny little shop in the rue de Beaune. She was not easy to buy. The shopkeeper told me she would only sell Halçi to someone of quality.”

“She wanted someone of the upper classes for her protégé to practice on. You mentioned a picnic, and she reasoned you would be accompanied by a man of some social standing. Was the woman stout? Of a certain age? Imposing?”

“That does seem to describe her.”

“Then she will be long gone by the time we can notify the authorities to arrest her.”

Unhurriedly, Lady Angélique donned her dress. Then, lifting the birdcage, she opened the back door of the cottage, which faced onto the forest.

“What are you doing?” Ritter asked. Following Angélique’s lead, he had begun to get dressed, though more slowly, for he was covertly watching her body disappear from view.

“Halçi is an innocent girl and the world is a wicked place. I am setting her free so she cannot be used to ensnare other men in the poor girl’s education.” Angélique opened the cage door. In an instant, the bird perched there. Then she was gone.

Almost, Ritter said that it would make little difference in the succubus’s training. But, staring up at the side of Angélique’s face as she in turn gazed after her vanished halcyon, he realized in a flash that the Maître had been right. That he was completely, absolutely, in love with her. On the instant, he determined to tell her so, and damn the consequences. “Angélique, I just now realized something. I—”

A fist hammered on the door. “Kapitänleutnant Ritter!” The voice was male, impersonal, military. “Again?” Ritter groaned. “I am coming!” he shouted, to silence his summoner. To Angélique he said, “I must go.”

“I know.”

“I don’t want to.”

“I know that too.”

As he was fastening his belt and pulling up his boots, Ritter called Freki in from the fields. Then he went outside where a soldier gave him the expected orders to return to duty. He and the wolf followed the messenger down the road, away from the picnic meadow. Glancing over his shoulder, he saw Lady Angélique standing in the doorway, her face a pale, sad oval.

Then Ritter turned his gaze forward, toward the future.

He was back in the war again.

The post Halcyon Afternoon appeared first on Reactor.

Median [Original Fiction Archives - Reactor]

Original Fiction Horror

Median

A professional caregiver’s commute takes an unsettling detour when car trouble forces her to pull over on the highway, where she begins receiving distressing phone calls from strangers…

Illustrated by Elijah Boor

Edited by

By

Published on March 13, 2024

15 Share
A woman walks along a busy highway median while the specter of a three-headed dog watches her.

When Carla’s little car broke down on the highway, she was in the fast lane, and instead of pulling over to the far side of the road, she had to stop on the median.

She sat there, jiggling the wheel with one hand and fiddling the ignition with the other, a hot, low sun glaring through the hatchback’s rear glass. Only a few years back, a turn of a key would make an engine cough, and if it didn’t, it meant the battery was dead. Or the alternator—something electrical. Now, cars were all electric, even more of a mystery than ever, and she had zero chance of figuring out the problem.

But it didn’t matter, really. Dead was dead. She could press the start button all she liked. Nothing happened.

“Now what?” she asked. “Who do I call?”

Carla typed “roadside assistance” into her phone and hit enter. Trucks blasted past, so close the car shook as if grabbed by a fist. She stared at the Google logo until it disappeared, leaving a blank screen, white on white.

It had happened before. Her discount mobile provider was prone to denial of service attacks. But she still had phone service. She texted her sister Francisca in Montreal: Can you send me the roadside assistance number for the 401? When no reply came, she tried phoning both her sisters, then her supervisor. All three calls rang straight through to voicemail. 

She would have sat there forever, alternating between pressing the button and working through her contact list, but a semi skinned by and clipped off her side mirror. A popping sound. The car pitched back and forth, bouncing on its wheels like a carnival ride. Then another truck took off her door handle.

The rear wheels of her car parted from the asphalt. It bucked once, canting into the oncoming lane. A cement truck hit the edge of the bumper. The whole rear end crunched. The car spun onto the median and slammed into the low concrete barrier.

Carla pulled herself out of the car and fell onto the gravel. She sat there, brushing dirt from her scrubs. It was her Easter pair, festooned with daffodils and tulips.

Someone will stop, she thought. Someone will come. Someone has already dialed 911. But nobody stopped. Certainly not the cement truck, which had long since disappeared beyond the highway’s distant curve.

She climbed to her feet and waved at an oncoming car. One of its headlights glinted in the sun. The driver turned his head as he passed, mirrored sunglasses square on her, but he didn’t slow. The other drivers didn’t even look at her. The truck drivers stared straight over her head.

“I’m right here,” Carla said, waving her arms.

Gravel and grime studded the skin of her palms and forearms, blood seeping from the abraded skin. She picked a piece of gravel out of her flesh and chucked it at her car. Such a little thing, there on the median; the rear end looked like something had taken a bite out of it. A rear wheel dangled like a broken tooth.

Hands shaking, she dialed 911. Three tries to hit the green button. She turned up the volume and listened to the ringtone, holding the phone to her head with both hands, as if praying.

“911. What is the nature of your emergency?”

“Car accident. I had a car accident. On the 401. West of Milton.”

“Please stay on the line.”

They put her on hold. Carla leaned her whole weight on her car, digging her elbows into the rusty roof panel. Not a good car, but the best she could afford. A 1995 hatchback with a pair of retrofitted drive trains installed by a guy in Oshawa who Frankensteined cheap cars in his backyard. She’d drained her savings account to buy it, and in two years, its charge range had gone down by half. To get enough juice to do her evening appointments, she had to stop and charge it halfway through her shift, and then charge it again to get home.

“You’re a write-off, aren’t you?” she asked the car.

When she laid her forehead on her arms, the phone went dead. Maybe she canceled the call by accident, or maybe they hung up on her. In any case, she dialed 911 again and waited.

“911. What is the nature of”

Dead again. The screen protector was cracked, so maybe it was shorting out the screen? She peeled off the pieces and dropped them to the median. Dialed again.

“911. What”

“Hello?” she yelled. “Hello?”

No answer, though service was fine, three of the four bars glowing white. She dialed work.

“This is the office of Care Point Care Services. Our office hours are eight am to four pm, Monday to Friday. Please leave a detailed message including patient name, address, and phone number, and your call will be returned within one business day.”

“This is Carla. I’ve had a car accident. I’m not going to make the rest of my appointments. That’s, uh . . . hang on.” Carla fished the printout from her pocket of her scrubs. “Deborah Anders, Karen Gagnon, and David Chan. Can you let them know I won’t be there? And I won’t be able to do my appointments tomorrow, either. My car is dead. Okay. Thanks.”

Because of the staffing shortage, the office was barely covered on weekends. Probably nobody would pick up Carla’s message until tomorrow morning, and in the meantime her clients would wait. Deb needed her dinnertime feeding. Her G-tube site was getting painful, the skin around the external bumper pink and swelling. Carla had been treating it for a week with anti-inflammatories and ice. Karen had a colostomy bag that needed emptying before her bath, and Dave was waiting for meds and a toilet transfer. All three needed to be moved from chair to bed. If Carla didn’t show up, nobody would get washed, medicated, fed, or toileted. They’d wait, abandoned, wondering if anyone was ever going to come.

Carla tried again to wave down a car, flinging her arms around semaphore-wild. Nobody stopped. Nobody even slowed.

She crawled into the back seat of the hatchback and rooted around. Her coffee was splashed across the dashboard, the red Tim Hortons cup rolling on the gritty floor mat. She carried a big bottle of distilled water in case her patients ran out, but now it was smashed.

Her black Care Point backpack was fine, though. Bandages, scissors, and sterile swabs. The pair of tweezers she used to pick lint out of Deb’s G-tube site. A box of latex gloves and a pack of N95 masks, size small. A blood pressure cuff, finger oximeter, and stethoscope. Plastic bottles of acetaminophen, ibuprofen, and aspirin. Anti-inflammatory gel, antiseptic cream, hand sanitizer. In the outer pocket were her wallet, keys, charge cords, and the bag of cappuccino candies she’d bought on a whim, hoping the caffeine would perk her up between visits.

Carla popped a candy into her mouth and crunched down hard. It splintered and melted into a hunk between her molars. She worried at the candy with her tongue as she pulled up the map on her phone and zoomed in on her location.

Not much detail available, not with the connection problems, but some of the map was preloaded. The highway a double yellow line on a gray background, with a sliver of blue zigzagging across it—a creek or something. Satellite view showed trees and fields. Cars and trucks frozen into specks on the dark gray highway, caught in time by the overhead camera. The median a light gray strip between the eastbound and westbound lanes, like meat in an old sandwich.

If she could cross the highway, she could walk . . . walk where? To the east was Campbellville, which looked like nothing more than warehouses and parking lots. They’d be empty on a Sunday. Probably wouldn’t even have security guards, just rotating cameras behind which might or might not be a pair of human eyes. To the west were residential acreages, but they looked like the kind of places where nobody actually lived—second or third homes for rich people, their empty blue pools pocking the green satellite expanse. But to the northeast was a casino. People would be there, and help.

Her phone rang. Carla nearly dropped it in her eagerness to answer.

“Hello?” she yelled.

“It’s my mother.” A woman’s voice, faint against the roar of traffic. “She’s by herself and she’s on the floor. She can’t get herself up.”

Carla wasn’t allowed to exchange phone numbers with clients. Care Point claimed it protected carers’ privacy, but really, it kept clients from trying to arrange discount services under the table. A firing offense, so Carla had never broken the rule. How had this one gotten her number?

“Is it Deb Anders?” she asked. “Or Karen Gagnon?”

“Nina Sandhu. She lives at 454 Frobisher Boulevard in Milton.”

“I’m sorry but she’s not my client. Even if she was, I can’t go anywhere right now.”

“You’re supposed to—” The woman gasped. A horn sounded.

“Are you driving?” Carla asked.

“Yes, I’m trying to get to my mom. But I’m caught in traffic. It’ll be an hour and a half, at least. That’s why I need you to go there, right now.”

“Me? I can’t help anyone,” said Carla. “I can’t even help myself.”

“But who else can I ask?”

“Call 911,” Carla said. “Tell them she needs a lift assist.” She hung up.

North. The casino was on the north side of the highway. She’d have to cross the westbound lanes. Carla swung her legs over the concrete barrier and stood at the edge of the fast lane, trying to judge the speed and distance of the oncoming cars. At this angle, it all looked impossible, the traffic not slowing one bit. Which was strange. Anything a little odd on the highway caused a slowdown—everyone lifting their foot from the accelerator and gawking. She was right there. The hatchback was right there. Why wasn’t anyone slowing?

Maybe because their feet weren’t on the accelerator. Maybe everyone was using smart cruise control, the cars continually adjusting for optimal speed and distance to keep the traffic flowing.

But if one of the cars pasted her as she tried to run across the highway, then they’d stop. They’d have to.

Problem was, Carla wasn’t built for speed, never had been. She could deadlift clients out of bed six times a day, but running? She couldn’t remember the last time she’d tried. She didn’t have to get across all three lanes at once, though. She could cross the first lane, and stand on the divider line waiting for a gap so she could run across the next. The cars wouldn’t hit her if she stood still. Not unless one of them was changing lanes.

She tightened the straps on her backpack and hooked her thumbs in tight, making herself into the smallest possible human bundle. She dug her toes into the gravel, and leaned in, and watched for a gap. There. And there. And there. If she picked the right moment, she’d get across fine. Or maybe the car that hit her would be small, and she would survive.

Her phone rang.

“Hello,” she yelled.

A kid’s voice: “They’re fighting. He’s hurting my mom. Again.”

“Diego?” she asked. It had to be her nephew—no other kid would call her. But it didn’t make sense. Her older sister’s family was on vacation in Tulum. Carla was supposed to water their plants tomorrow. “Diego, is that you? This is Tía Carla.”

“Can you come?”

It wasn’t Diego. “Who is this?” she asked.

“Liam. He’s hitting her head.”

“Liam,” she said. “Get as far away as you can and hide.” No idea who this kid was or why he was calling her, but it didn’t matter because there was only one answer. “There’s nothing you can do. Hide. And call 911.” She hung up.

Trying to run across the highway was just stupid. She’d be roadkill a hundred times over. A smear on the asphalt. A human stain.

Maybe she could walk along the median. When the highway curved, the traffic would have to slow down, wouldn’t it? Even just a bit, enough to make a difference.

Gravel crunched under her sneakers as she trudged east. Dust and dirt flew in her face, microscopic bits of oil and tar and rubber, aerosolized by the wheels. She reached into her backpack and retrieved an N95 mask.

Mask in place, she protected her eyes with her hand, keeping her gaze low to avoid the worst of the dust. One of her sneakers had blood on the toe—where had that come from? Her arms, she guessed, the road rash. She picked another bit of gravel out of her forearm. Blood fell on her foot, her knee, her thigh. Three drops, then stopped.

She wasn’t shocky anymore, at least. Her hands weren’t shaking, but she was exhausted. Every step felt like she was going uphill, and the sun on her back was fierce. A long evening shadow stretched in front of her, cool blue against the orange-tinted gravel. Magic hour, that’s what photographers called it. When the sun went down, it’d get cold.

Her phone rang.

“Hello?”

A wheezing voice made itself heard over the roar of traffic.

“It feels like I’ve broken my arm, but I didn’t.”

“Dave, is that you? David Chan?”

“No. I’m sweating like crazy just sitting here. And my back hurts.”

“That sounds like you’re having a heart attack,” she said.

“Okay, what do I do?”

“You need to go to the hospital. Don’t try to drive, it’s too dangerous.”

“I can call an Uber.”

“Good. While you’re waiting, get an aspirin. Chew it up and swallow it.” She hung up.

As the highway slid into the curve, the median widened into a grassy strip of wasteland. Fresh green sprouted under the mat of last year’s growth, coated with salty grime from a season of snowplows.

The curve. She’d thought the traffic might slow around it, but no. If anything, the stream was faster, the cars packed tighter as the evening commute thickened. None of the drivers turned to look at her as they passed. Many were glued to their phones, just passengers in self-driving cars. Which gave her an idea. If a self-driving car registered her as an obstacle, it would have to stop. And then everyone would have to slow down. It only took one car to make a traffic jam.

She stepped onto the white lane divider, as if on a tightrope. Widened her stance and held her arms out from her sides to make her silhouette more recognizable. Here is a human person. See?

The cars aimed themselves in her direction. Side mirrors blitzed past her hip, her shoulder, her head. A truck flashed its lights. It skimmed past, and the suction from eighteen whirling wheels yanked at her flowered scrubs.

She gave it a good long try, standing square to the oncoming sensors, squinting to protect her eyes from the flying grime, but it was no good. She stepped back onto the median.

As Carla trudged east through the curve, a structure appeared in the distance, stained red by the last dregs of sunset. A bridge for an overpass, flanked by the arms of a cloverleaf. This was the intersection on the map, with the Campbellville warehouses to the south and the casino to the north. Good. She couldn’t get across the highway, but maybe she could climb off it.

One central bridge column parted the median, weeds growing thick at its base. She ran her hands up and down the concrete. It was smooth. No handholds. And even if she could shinny up—which she couldn’t—she’d never be able to haul her ass over the concrete overhang of the bridge deck. An extreme athlete could do it, maybe, but not her.

She called 911 again. This time it didn’t even ring. Dead air.

The sun set fast. Headlights turned the world into flashing intersections of night and bright, like the nightclubs she’d gone to with her sisters, back when they were all so young. On the dance floor, she’d lose herself in sensory overload, throwing herself into a bounded world of risk. A curated encounter with the unknown, where she could decide for herself from moment to moment how much danger she wanted to find.

Beyond the overpass, the median widened and dipped. Scrubby bushes grew in the ditch, and a stand of trees forced the two arms of the highway apart.

Her phone rang.

“Hello?” she said.

“Someone just smashed the window of a bank. Queen and Spadina.”

“I don’t care,” said Carla. She hung up.

Far ahead, a long, lithe shadow darted into the glare of headlights. It slid across all three lanes and turned to look at her, pointy ears sticking up from its head like horns. Then it vanished into the trees of the median.

A dog wouldn’t attack her, not unless it was rabid. A coyote wouldn’t either. All the same, a chill coursed through her, starting at her toes and shivering up her torso to her throat.

Carla hugged herself, and when her phone rang, she dropped it, cracking the screen.

“Hello,” she said.

“Is that all you have to say?” An elderly voice. Genderless. Crotchety.

“Hello,” she repeated. “What?”

“Aren’t you supposed to ask me what the problem is?”

“Okay. What’s your problem?” she asked. “Tell me everything.”

“When there’s a fire alarm I’m supposed to wheel myself into the stairwell and wait on the landing. It’s the refuge area, they said. So that’s what I did. I’ve been sitting here for hours now, waiting for someone to come. I can’t go up or down, and I can’t get back into the hallway. The door’s too heavy.”

“Did you try calling someone?”

“Why? Are you telling me to call someone who cares?”

“I mean, is there someone in your building who can help?”

“No. You’re not supposed to use the elevators during a fire alarm, but next time, you bet that’s what I’m going to do. Either that or just sit in my apartment. It’s not like there’s actually a fire.”

“What about your neighbors? Do you have the number of anyone in your building?”

“Aren’t you supposed to ask for my address?”

“Why? I can’t help you.”

“What’s that supposed to mean?”

“Did you try banging on the door? Use something hard.”

“So you’re not sending someone?”

Carla shifted the phone to her other ear and leaned in as if it would help her understand.

“Who do you think you’re talking to?” she asked.

“911. Aren’t you 911?”

“No. I’m not.”

“I guess I got the wrong number. Fine.”

“Wait,” Carla yelled. “When you get through to 911, can you tell them I’m stranded on the median of the 401 by the Campbellville overpass?”

“Tell them yourself,” they said, and hung up.

Ahead, near the trees, headlights caught on something shiny. It flashed in the beams, and the longer Carla watched it, the more it seemed like the flashes were coming in a pattern. Short-short-short. Long-long-long.

She walked toward it, why not? She had to keep moving anyway. It was getting cold, and the last thing she needed was to flirt with hypothermia.

Walking in the bottom of the ditch, the low beams of the headlights pointed straight at her, painful in their brilliance. She had to keep her eyes on her toes to keep from being dazzled. So she didn’t notice the wreck until she saw blood pooling on the median.

A four-door sedan, upside down, wheels spinning. A man in the driver’s seat, his body pillowed by the airbag. A woman in the other seat, her face plunged through the windshield. Carla got on her knees and shrugged off her backpack. She pulled out the stethoscope and fitted the earpieces tight in her ears. Easy to reach the driver’s back, with him collapsed forward. No breath, no heartbeat. She didn’t need to check the passenger to know she was gone, too, with her neck twisted, jaw pointing at the sky.

Still on her knees, she dialed 911, hugging herself, chin tucked in tight. The call connected, rang once, and went dead. Carla swiped the phone on the thigh of her scrubs and tried again. When the call didn’t connect, she crawled over to look in the back of the car.

Two empty baby seats hung from the back seat. No children anywhere, not lying on the ceiling of the car, not in the dirt and weeds and gravel of the median. Obviously, that meant no kids had been in the car when it crashed. But not far away, under a bush, was a plastic sippy cup. The milk inside smelled cool and fresh, and it wouldn’t have if it’d been sitting in the car even for a little while, not when the day had been so hot. Carla stood and looked around, shading her eyes against the glare.

There, at the edge of the median, were two small forms, raccoon-sized and crawling on all fours toward the fast lane. Carla dropped the sippy cup and ran across the ditch, up the slope, and into the dazzle of headlights.

No doubt now, those crawling bundles were children, their cushy diapered bottoms in terry-cloth onesies lit by the flashing lights. Their tiny hands slapped the asphalt, cloth-bootied feet propelling them in a four-point monkey-walk, knees not even hitting the ground.

A truck blasted its horn. Carla screamed and plunged into traffic, reaching for the children with both arms, as if she could envelop the whole highway and scoop them to safety. Cars buffeted her as she dodged across the lanes, grazing her hip, her elbow. Horns bellowed. She stopped on a dashed lane divider, breath rasping, hands clawing at her jaw as the traffic swirled past. Ahead, in the brief spaces between cars, the children humped over the slow lane and onto the shoulder. Their bald heads gleamed in the headlights.

One child turned and smiled at Carla before it disappeared off the far side of the road. A truck bore down on her. Its side-view mirror struck her head, and she fell backward into traffic.

When Carla clawed herself awake, she was at the bottom of the ditch with a new crack in the glass of her phone, three missed calls from unknown numbers, and a text from Francisca in Montreal.

I just got off a double. Gotta get some sleep. Call me tomorrow, ok?

The time stamp showed the text was only ten minutes old. Maybe her sister was still awake.

I’m in trouble, Carla typed. Been stuck in the middle of the 401 for hours now. No way to get off it. Can’t get through to 911.

She waited. No response.

When you get this, call 911. Tell them there’s a fatal car accident on the median of the 401, near the Campbellville overpass.

Then she tried 911 again, just in case. The call didn’t connect. But there would be at least one phone in the wreck, likely two, and one of them would work.

She walked back to the sedan and got on her knees. Reaching around the driver, she shone her phone light into the depths of the interior, but couldn’t see much, not with the airbag in the way. No way to reach around the driver, either—her arms weren’t long enough. But she could try to wrench the door open, pull the driver out.

It wasn’t the first time she’d touched a dead person, not even the first time that week. One of her clients was a late-stage cancer patient with no mobility. He should have been in the hospital but was refusing to go. She’d arrived for his evening appointment to find him mouth open like a baby bird, staring at the ceiling and gasping his final breaths.

No matter how hard Carla pulled, she couldn’t get the dead man out of the driver’s seat—the airbag was trapping his thighs. Carla got the scissors from her backpack, tried to cut through the tough reinforced plastic, but they wouldn’t bite. So she got in close, leaning over the dead man, pressing the bloody bag tight. With the scissors in her fist like a dagger, she slammed the point down on the plastic over and over until it deflated with a hiss. Then she dragged the man out of his seat and lay him on the median with his hands crossed over his chest.

On the underside of the dashboard lay an iPhone, a photo of two bald, grinning toddlers on the lock screen. She swiped at it until the emergency call screen surfaced.

“911?” said a woman. Carla was too relieved to notice the interrogative tone.

“I’m on the median of the 401 by the Campbellville overpass. Two people are dead. And there were two children. I can’t find the children.”

“No,” said the woman. “That’s not it. There’s been an accident at the Bombay Grill. 370 Pearson Street. In Mississauga. One of the cars came through my window.”

“Is anyone hurt?” Carla asked.

“The driver is bleeding from her head. She’s walking around, though. Yelling at the guy who wrecked her car.”

“Tell her to sit before she falls down.”

“Okay.” Voices in the background. Come in and sit down, said the woman. 911 says you have to sit down. No, you have to sit. Sit. Radha, get her a towel and a cup of chai. “Yes, she’s sitting now.”

“Are you calling from the restaurant?”

“Yes, the Bombay Grill is my business.”

“Do you have a pen?”

“I do.”

“I need you to call 911 and report a car accident on the 401, on the median by the Campbellville overpass. Two fatalities and two missing children. Would you do that for me?”

“But aren’t you 911?”

“No, I’m really not. I need your help.”

“Of course. I’ll call right away.”

“Thanks.” Carla clung to the dead man’s phone with both hands, reluctant to hang up. Sirens sounded in the background.

“There’s the fire truck,” said the woman. “Will you be okay?”

“I’m not sure,” said Carla. “I really don’t know.”

When she hung up, the night seemed darker than before, the headlights dimmer. The wheels of the upended car were still spinning, slowly.

If she could find the dead woman’s phone, she could use it to try 911 again, but it wouldn’t work. Nobody would come. Nobody would help. She was alone. One faint point on the map of chaos.

Carla sat beside the dead man and brushed the hair off his forehead with gentle fingers. His eyes stared. She could close his eyes, but without something to weigh down the eyelids, they’d keep sliding open. When people placed coins over the eyes of the dead, it wasn’t to pay the ferryman, they did it to keep their illusions. A dead person with closed eyes seemed to be sleeping peacefully, even if their jaw was gaping. A dead person with open eyes wasn’t a person. It was a thing.

She found two pebbles, cold and smooth. She closed the man’s eyes and gently placed them on his eyelids.

A shadow moved through the trees. The dog was back, likely attracted by the scent of blood. Carla climbed to her feet, stiff and awkward, and put her body between the dog and the car. She clapped her hands.

“Go away,” she yelled. “Get out of here.”

She threw a rock at the dog. Bad aim. Its head swiveled on a long neck, then another head, and another. Not one dog, but three, though only one body was visible. And not like any kind of animal she’d ever seen. Flat heads, eyes nearly level with their noses. Wide grinning mouths and impossibly sharp ears.

Carla put the dead man’s phone in her pocket. She raked both hands though the gravel. Then her phone rang. She flung the gravel at the dogs and snatched at the phone.

“Hello,” she yelled.

“Is this 911?” An elderly man.

“No.” All these people thought she could help them; she could almost laugh. “What’s your problem?”

“I seem to be trapped. In my apartment. It’s been days and days and nobody’s come. I’ve been waiting.”

His voice had the light, childish cadence of dementia. Carla had heard it many times. It could be frustrating to deal with, but Carla always made an effort to be patient. And right now, it felt good to talk to someone.

“That sounds really awful,” she said. “What are you waiting for?”

“To go. I’m waiting to go.”

“Go where?”

“The place you’re supposed to go, when you’re dead.”

“Oh,” she said. She expected him to say he was waiting for his mother to pick him up from school, or for some long-dead spouse to take him home. Dementia patients were usually anxious to go somewhere, desperate for someone to deliver them from disorder. But he didn’t sound disordered. He sounded nice.

“I was hoping you’d tell me what I’m supposed to do,” he said.

The dog walked toward her, heads low, crouching as if stalking her. It still looked like one dog with three heads. But that couldn’t be, could it?

“I’m sorry,” Carla said. “I’m not sure how I can help.”

“If you can’t, who will?”

Family, usually. It almost always fell to family members. Even if a client got three home care visits per day, it was never enough. Family had to pick up the slack. Who else?

“You haven’t been living alone, have you?” she asked. “Do you have someone caring for you?”

“Oh, yes, I did, until I died. And now there’s nobody. What do you think I should do?”

Call 911, Carla thought. The ultimate answer, the last-ditch option—call 911 and beg for help. Wasn’t that what she’d been trying to do for hours, find someone, anyone to help her? Someone who couldn’t deny her, put her off. And everyone she’d talked to, they wanted the same.

“If you’re dead,” Carla said slowly, “I think you should get into bed, cover yourself up warm and cozy, and remember all the good things in your life. Try to go to sleep.”

The dog was belly-crawling toward her now. Snaky necks extending from one thick-muscled torso, tongues lolling.

“I can do that,” he said. “Thank you.”

“You’re welcome.”

Carla slid the phone into her pocket and reached out to pet the dog. Those protrusions on either side of the heads weren’t ears after all, but horns, sharp enough to draw blood.

“Good boy,” she said. “Good dog.”

She sat in the dirt and weeds of the median with the dog’s heads in her lap. Its ears were wizened carbuncles, tortured masses of scar tissue. Carla caressed them gently with both hands and the dog’s eyes narrowed. It kicked up one hind foot to show her its belly.

Her phone rang. She kept one hand on the dog as she answered it.

“911,” she said. “How can I help you?”

Buy the Book

Median
Median

Median

Kelly Robson

The post Median appeared first on Reactor.

The River Judge [Original Fiction Archives - Reactor]

Original Fiction Epic Fantasy

The River Judge

In this prequel novelette to the critically acclaimed THE WATER OUTLAWS, nine-year-old Li Li is introduced to a web of community secrets and family intrigue when she helps her mother…

Illustrated by Dawn Yang

Edited by

By

Published on March 6, 2024

3 Share
A young person drinks from a bowl of red liquid as around them, waves crash into ships, flames burn at the edge of a village, and ghostly figures rise from a river of blood.

 

The first time Li Li buried a corpse, she was nine years old.

Her father had been shut up inside one of the inn’s private dining rooms all day. At such times it was understood that he was never to be disturbed. The rule had been drilled deep in Li Li since she was a small child—whether she had fallen on the riverbank and matted her hair with blood, or a patron of the inn became belligerent with drink and flung wine in her mother’s face—knocking to interrupt her father was strictly forbidden.

Such times were for business, he always said. Meetings with business associates, planning for the inn’s future. How could Li Li’s mother expect the place to prosper if she did not respect the undisturbed peace needed for such work?

This time, only one other man had joined him. Li Li hadn’t seen the man arrive, but her mother had waited on them with the finest meals and wine, the door always shutting firmly again when she had barely crossed the threshold to leave. Li Li had been ordered to get on with her usual long list of daily chores, gathering the washing and scrubbing dishes and packing out the night soil from the latrine buckets. But some rebellious river current always seemed to draw her into baiting dragons, including tempting her father’s fury.

When she snuck close to listen through the wall this time, however, she couldn’t hear much of interest. Only her father’s voice rising and falling in conversation with the other man’s. Then the two of them laughing together, her father much louder and longer.

She was still listening when everything went silent.

Li Li scurried from the door in apprehension of being caught. Her father’s temper might be the chief concern, but both her parents disliked her tendency to lurk around corners and in shadows. They disliked a great many things about her—she had once eavesdropped on them telling people she was “strange and cold, like a stone” and “not a proper child at all.” After that, she’d sat up on a hill once for half a day, challenging herself to stay perfectly still. It took so much strength that she decided being a stone was a compliment, and had begun testing her muscles with stillness as often as she could. She had always been stocky but small, and the other children in the town tended to be surprised at her strength, when they deigned to notice her.

She had stayed motionless as granite by the door for a long time today, lest a sound give her away. When that sudden silence reverberated so deep and strange, she threw herself back into her chores with an overdone vigor, as if to prove she’d never left them. She had relocated to the kitchen to sweep out the hearth’s charcoal and ash when her father’s silence bloomed into several loud crashes and thumps audible through the entire inn—which after a short time evolved into shouting at her mother.

That, at least, was very normal.

Li Li’s mother kept her voice low, though the front room was empty of patrons this time of the afternoon, especially as travelers through the town had been dribbling off since the new magistrate had arrived. In contrast, Li Li’s father never seemed to worry about potential patrons at all, even when the inn wasn’t empty. None of the guests ever seemed bothered by his taking his house in hand, anyway.

His voice snapped off in furious declarations, vibrating through the walls about how “this isn’t your concern, the inn would have been ruined, it was the only way . . .”

Li Li did what she usually did when her parents argued: she made herself scarce and still. As unnoticed as a shadow on the wall. If this argument followed the customary routine, her father would shout at her mother and then her mother would storm through the inn to find Li Li, raining down cruel digs and extra chores as if passing on a bucket of vitriol that was too hot to hold on to for long.

Li Li knew how to navigate such attacks as little as she knew how to handle her mother’s interleaved spikes of affection or proclamations of her child’s preciousness. In a bid to stay out of sight, she slipped into the back storeroom of the inn, intending to hide out among the earthenware pickling jars and stacked dense heads of winter cabbage.

Until she saw the dead man.

He sat slumped against the great cisterns of wine in the back of the storeroom, his head fallen forward from its own weight. His clothes were finer than any Li Li had seen, his robes spreading in layers of wide, embroidered skirts, and fur-trimmed leather armoring his legs where they stuck out in a stiff sprawl. Crimson stained the luxurious clothes, a shining wetness slowly creeping wider from below the man’s collar and across his chest. More blood dripped from his manicured beard and mustache, leaving a spotted pattern upon his lap.

Li Li was so fascinated she momentarily forgot her parents’ fighting. She had seen a dead body before, of course, but not like this, in rich clothes dumped in the back of a storeroom. She stared for several long moments, watching for the tells she always tried to squash when staying motionless herself. The rise and fall of breath, the twitch of eyelids, the shift of a cramped muscle . . .

No breath moved the man’s lips or chest. His eyes were half-lidded and filmy, and one wrist had folded against the ground at an odd angle. His skin had gone white with a hint of purple, like the inside of a taro root, and the blood was beginning to dry into the color of rust.

Dead. Li Li felt very proud of herself for such a definitive conclusion.

Curious, she crouched down and scooted closer to the body, staying on her knees as if standing too tall might wake the man from wherever he dwelled on the other side. Then she reached out a daring finger and poked it against his cheek.

It was shockingly cold. And soft. And still felt like human skin.

Li Li jerked her hand back.

Only then did she notice something behind the dead man: a fine black hat with long, swooping wings that lay crushed against the floor. She was not old enough to recognize it as a mark of high office, but she would recall it later.

From the front room drifted in the bitter hiss of her mother. “. . . that kind of business here at the inn . . .”

Li Li’s father snorted back something much louder—a lot of words about “just think it through,” and was her head empty, and no good wife would peck at such trivial objections. Then a sudden series of bangs and slams, as if someone moving about in anger. Li Li froze, a nebulous idea cobwebbing through her that she must be violating some rule by finding the corpse, much less touching it, and would be shouted at until her ears rang, and then have mountains of extra chores piled atop her. Like scouring out all the latrine buckets on top of the usual collection of night soil to sell to farmers, until the smell got in her nails and hair and clung for days . . .

After a moment’s thought, she crept out of the storeroom as if she’d never been, and in a roundabout fashion snuck back into the front room. Her mother slumped at one of the empty tables, a cold cup of tea untouched before her. Li Li’s father was wrapping himself in heavy layers to go outside.

“I have to go downriver and speak to Elder Mu,” he said, without looking at his wife. “The investigators might arrive before I return. Make sure they have no cause for questions.”

Li Li’s mother raised stricken eyes. “But what about—”

“Just take care of it! Must I do everything for this family?” Her father shut the door hard behind him. A gust of cold settled in his wake.

Li Li’s mother noticed her daughter then, and Li Li tensed. But to her surprise, her mother only reached out for her.

She came obediently.

Her mother crushed her in with both arms, face pressed against Li Li’s hair. As usual when this happened, Li Li stood very still until she was released.

“Go play,” her mother told her, sounding sad. “Outside, eh?”

Li Li went.

Outside was frigid. Li Li wrapped her arms tightly around herself and counted out the three thousand steps over to the shipping house on the river where her cousin Li Jun lived, stamping her boots every few paces to keep the numbness at bay. Her father and mother didn’t like her playing with Li Jun, but they couldn’t stop it on account of being family.

But Li Jun wasn’t at home. Only her mother, Auntie Ru, a large and muscular woman who was tearing the hide off a couple of boatmen so loud the paper vibrated in the windows.

“River licenses? Do you think I give three farts for the capital’s nonsense about river licenses? You’re paid what the ledgers say you’re paid!” Her gaze fell heavy on Li Li.

“My elder cousin . . . ?” Li Li asked.

“On the river, most like. Ai! How dare you turn your back on me!” Auntie Ru grabbed the case from her counting rods and began to beat the two boatmen around the head with it.

Li Li retreated. She’d heard her parents muttering about her cousin’s family—how Li Jun ran wild, and how Auntie Ru didn’t act proper in the least. As a widow with no sons Auntie Ru had been permitted to inherit her late husband’s shipping brokerage, and Li Li’s father made frequent bitter remarks toward the way she ran it. And toward his dead brother for marrying her in the first place. And toward Li Li whenever he paid enough attention to notice her associating with the family more than he liked.

He needn’t have worried so much. Li Li didn’t like her aunt much, either.

Now she walked back to her family’s inn and paced about the yard with gloved hands over her tingling ears. The chickens fluttered about and squawked at her, and she scattered their evening meal early, her fingers becoming stiff sausages. The temperature plummeted until it knifed into her bones and teeth, but she stayed outside until the gray sky became grayer and she stopped feeling the tips of every extremity.

When she went back in, two patrons sat at a table, their rumpled clothes those of merchants off the water, their faces red and bunched with impatience. “Girl! We’ve been waiting an age. Hot wine and rice, and kill a chicken for us if you have it.”

“Yes, Uncles.” Li Li went back outside through the kitchen, grabbing the sharpest butchering knife on the way. A single swipe to catch a chicken; she held its warmth tight against her body and sliced with one swift move. The blood drained fast and practiced and red upon the frozen ground.

She took the bird back into the kitchen to prepare and went into the storeroom to get the wine—where she found her mother heaving at the arm of the dead man, tears dribbling down her jaw.

The corpse had collapsed on its side now, but had shifted only a few paces closer to the back door.

Li Li looked at her mother, looked at the corpse, and then back at her mother, who was not scolding or sniping but instead giving the distinct impression that their roles had reversed, and her small daughter of less than ten years had become the authority who had walked in on her doing something untoward.

Li Li pointed at the front room. “Guests,” she said.

She walked past to ladle out bowls of cloudy yellow wine, then returned to the kitchen to prepare the food. The men ate and she sent them on their way, but by that time another patron had arrived demanding a meal and lodging. Li Li cooked and served, made up a room, and scrubbed out all the plates and bowls and pots once the man had retired.

By then it was full dark, an oppressive pitch aided by the overcast layer smothering any moon and stars. Li Li took a candle to the storeroom.

The room was empty, save for the dead man, who had now been wrapped—badly—in a length of rough cloth. Li Li moved past to where the back door was ajar.

Her mother stood in the patchy grasses behind the inn, shoving a spade against the ground, each motion barely chipping away another sliver of frozen dirt. Her breath huffed out in a gasping sob with every hit.

Li Li went back inside and brought the sole lodger a full hot pitcher of wine, no extra charge, and peeked out to make sure his room only saw the road. Then she listened until she heard his drunken snores and bundled back up in her warmest clothes.

She walked the three thousand steps to her cousin’s place. All was dark, the living quarters behind the shipping house shuttered up tight. Li Li carefully lifted the latch of the tool shed where her aunt kept supplies for the vegetable patch. She borrowed a pickaxe and a digging knife and hiked back, stopping every so often to heave the heavy pickaxe from one shoulder to the other.

When she returned, her mother’s body formed a curled crescent motionless around the haft of the spade.

Li Li thumped the pickaxe off her shoulder and sent the sharp end into the ground. Then again. And again.

Her mother roused at that. The two of them worked into the deep night, wood hafts blistering their hands. Then Li Li helped her mother drag the man out of the storeroom and into his shallow grave, where they packed the frozen clay tight atop him.

The next day, Li Li’s shoulders ached and her hands cracked and bled. She wrapped her fingers in cloth and went to return the pickaxe and knife.

“What did you take those for?” asked Li Jun.

“I had to bury the dead,” Li Li said.

Li Jun laughed. She was three years older than Li Li, tall and lithe like the eels that slithered down the river, and her hair stuck out as wild as if she’d not only been out on the frigid water but swimming its depths. Maybe she had. “Make sure you bury them deep,” she said. “Otherwise they’ll come back as ghosts.”

Li Li did not laugh back. She had seen ghosts before, but only of her ancestors, and only in dreams. The idea of the dead man haunting the inn did not scare her, but it did annoy her. He had no right to invade her home.

She resolved to keep a close watch for ghosts.

She was still watching when, two days later, the Empire’s investigators arrived.

They stayed at the inn.

They stayed at the inn, and demanded lodging and food without offering coin, and were rude to Li Li’s mother, complaining that the food was too dry and the wine too weak. Then they interviewed every man in town and many of the women.

Li Li’s father returned at midday but kept himself scarce, leaving his wife to wait on the interlopers. She stayed meek to them and then snapped at Li Li in the kitchen for peeling too much meat off the winter melon.

When the investigators went out to chase down anyone they decided to suspect, a handful of the townspeople congregated in the inn’s front room in their place, and Li Li’s father emerged to gather with them. Together they hunched over drinks, voices bouncing tense off the wooden walls.

“What will we do? How could they know so fast?”

“Some damned mouth must’ve talked.”

“Even the swiftest boat would take more than a day from Bianliang. I heard it was sorcery; an omen came of the magistrate’s death . . .”

“Why would the Imperial augurs be casting their eyes all the way down here?”

As Li Li retreated back to the kitchen, she heard her father grunt. “Same reason they pay just enough attention to send these grasping judges in the first place,” he said. “Mark me, our worth to the capital is merely what they can scrape out of our pockets and stomachs . . .”

A weight seemed to hang over the inn all day, a heavy darkness that made the candles gutter and the rafters creak. Until that evening, when the townsfolk returned to the front room but the investigators did not—and all with a sudden roar of good cheer as if an overstretched noodle had finally snapped. The men laughed and shouted and toasted each other in every variety of the inn’s wine, and the center of the party seemed to be Li Li’s father.

“To Brother Li!” they cried. “A true man of the Empire!”

Wine sloshed and another sloppy cheer went up—until they saw Li Li watching and quieted.

“Eh, it’s all right, Brother Li’s daughter knows not to yap, don’t you, girl?” said a younger one of the Tong brothers. Li Li knew him vaguely—the Tong family did a good deal of business with her aunt, and the eldest Tong brother had two daughters a bit older than her that Li Jun was fast friends with. Sometimes the three deigned to allow the littler cousin to join their group—which Li Li always did, even if they made her take enough bruises to prove her worth. They were bigger, and could always wrestle her down, but she never gave in.

Like a stone.

Elder Tong was staring at her, and Li Li realized he expected an answer. Her parents often scolded her for letting grown-ups’ questions linger in the air for a moment too long. “Yes, Uncle,” she said.

The men’s hands unclenched, their faces relaxing back into easy smiles.

“I’d best be off anyway,” Elder Tong said, rising and reaching for his fur-lined cap and outer wraps. “My elder brother thinks setting off for a delivery up in Ying Province might be in order, just in case anyone gets around to asking questions . . .”

“About today, or about your ‘deliveries’?” said another of the men, with a tone in his voice that Li Li had come to recognize as a joke. The others guffawed.

“You want to stop benefitting, that’s fine with us! Go on!” Elder Tong roared, laughing harder than any of them, while the joker raised his hands and hastily declared his lack of any desire for a change.

“To Brother Tong and Brother Li! Heroes of the Empire!” the men cried raucously. Elder Tong brushed them off and slapped Li Li’s father on the shoulder.

“After today, Brother Li’s talents far outstrip those of us lowly boatmen. Shall we do some cleanup for you on the river, Brother? We can take the boats, find a convenient swamp . . .”

“Oh, no, no, I couldn’t ask such a thing,” Li Li’s father said in his booming voice. “The cleaning part is easy, just a trifle. I wish you good hauls and a swift return.”

Once the men had all left, Li Li’s father staggered to bed sauced with his own drink and fell into a motionless slumber. He might have been mistaken for a dead man himself, but for the snuffling snores reminiscent of a rooting hog.

Li Li went to pick up the scattered wine bowls and to wipe up the drink that sopped tables and benches. She wrung out the wet rags and went into the storeroom for a bucket and mop.

Her mother sat on a stool in the back, staring at two more corpses. Li Li couldn’t see their faces, but the hems of their skirts had the silken trim of the two Imperial investigators.

Li Li’s mother raised her eyes with something like hopelessness, sweaty hair falling across her face. The spade leaned against her knee, her hands drooped across it like the branches of a shrub that had given up against too harsh a clime, with no willingness left to lift its leaves toward the sun.

Li Li curled her own hands. Her scabbing blisters crackled against themselves.

No men from the government came for some time after that. None of the people in the town had any sort of ear into the capital, or knew any reason the magistrate was not replaced or more investigators sent. Li Li continued working at the inn alongside her parents, although, slowly, her father disappeared more often and returned sodden with wine, and her mother snapped less and retreated into a hollow shell, her skin beginning to shrink tight against her bones.

Over the years, as if now by custom, here and there another body would appear in the storeroom for the women to tidy. A tax collector who had come to raid the residents’ pockets. A regular merchant from off the river who’d been suspected of slipping overweighted stones onto the payment scales. A boatman who became sloppy with drink every time he came through and made aggressive attentions on married women. Then another man from the capital who’d proclaimed officiously that he had come to enforce the river’s ferry licenses, as he’d had information that many in the area were in violation—and a few weeks later, his cousin from a nearby village whom the gossip reported as having leaked such business about his neighbors. Once, a poor but handsome local man who’d caused trouble for a friend of Li Li’s father by competing over a marriage contract.

Sometimes, after a disappearance rid the region of some acknowledged pestilence, Li Li’s father would get a few grins or nods from select guests, and he would always smile back and put on a genial act of ignorance. Occasionally more investigators arrived, but they either came and left again or ended up in the storeroom like so many others.

Traveling the river was dangerous, everyone knew. Storms and cutthroats and serpents of the river’s wide depths . . . The people of the villages in this bend of the river were well-used to donning a wide-eyed innocence. See nothing, hear nothing, speak nothing of their own, not to some uncaring government official from far away.

And every time, once night fell, Li Li and her mother would drag the bodies out into the dark, heaving a growing collection of digging tools along with their burden. They’d discovered, eventually, that a nearby bog provided the most forgiving ground for grave digging, soft muck that would suck down a buried corpse with no outward sign, and that only froze across the very top layer in winter. It still took half the night to drag a body such a distance, and then to excavate enough mud for even a shallow covering. In cold months it might take the whole night, as they broke through the ice to where the swampiness somehow still churned warm beneath.

The river itself might have provided a more secretive maw, but the inn had been built far back from potential spring floodwaters, and an easy walk for a sailor or merchant was not such for dragging a corpse.

Li Li imagined the men’s flesh decaying in the bog until their bones settled into the depths and crisscrossed atop each other. Like chopsticks thrown into the bottom of a basin to wash. Stacks of latticed chaos.

It was not until she was fifteen that the Empire sent another magistrate.

The position had remained vacant for so long that the local magisterial compound had become overgrown with knotweed, its ornate scrollwork broken in places and the tiles of its sweeping roof crumbling or chipped away. The retinue that preceded the new magistrate ordered the men of the town to scrape the weeds free and make every meticulous repair, with no mind paid to the labor that would ordinarily occupy their days—the fish that failed to come fat and fresh to market, the crops struggling untended, the dike walls and building stilts in need of this season’s maintenance.

A muttering resentment blackened the town. Li Li was old enough now to comprehend it. The people did not need or want a new magistrate—for any rulings, the military governor in the nearest prefectural city could be appealed to, and conveniently, he was so far away and his attention on so many more important matters that here in this bend of the river they could live their lives without interference. The governor’s lack of attention might mean he was also no reliable source of justice, but that was all right, too, because this tiny bustling town and its surrounding tiny sprawl of villages and farms could largely oversee itself. Small squabbles were solved by a clean verdict of fists, larger ones sometimes by a gang of one man’s friends banging on the other’s door in the dark with the silver flash of a knife, or sometimes more civilly by their neighbors dragging them before a wealthy estate like the Mus’ for a judgment. The Mu family were not true nobility of the type who had such heaven-granted judicial authority, and their eccentricities and occasional viciousness were well-known, but a decision with their teeth behind it was one all would respect. Most considered it a fair enough court for these parts, out here on the rural reaches of the Four Great River Deltas.

And sometimes, a person who upset the balance of this bend in the river would simply disappear.

Bones in a chopstick pile.

Li Li did not, at this point, remember the previous magistrate very clearly, although somehow the image of his noble hat smashed against the floor had stuck in her mind with the sharpness of recent detail. She could not recall whether they had buried it with him.

The new magistrate arrived off the river amid a great fanfare of silken banners and golden bells, far beyond anything Li Li remembered seeing in the town. But this part of the river had been burgeoning bit by bit, its vibrancy and traffic flourishing, and perhaps someone thought it merited notice. Certainly the sole local inn had lately been humming through every watch of every day.

Most of that work had been falling on Li Li. Her father had grown increasingly absent, more often than not returning only to raid fistfuls of silver from the inn and depart again . . . Even when home, he intruded so much, while completing so little, that it sometimes seemed questionable whether their workload truly lightened with his presence. Her mother still rose at the same time and moved among the same chores, but over the years had faded to a weary remoteness, and Li Li would frequently find her gripping a door frame or a table and staring at nothing.

The last few months the inn had gained the assistance of Li Li’s cousin as well—after Li Jun’s mother had succumbed to a hemorrhagic fever in late summer. The shipping business had gone to Li Li’s father, who promptly sold it to the Mus for a tidy sum. Li Jun had approached her uncle with a humble but passionate argument not to sell, promising she could do the work of the ledgers and even go out as a helmsman herself and report everything back to him. But Li Li’s father would not entertain the notion.

“I shall do my responsibility by my brother,” he said to her, “and find you a decent marriage contract. A difficult order, I dare to guess. Of course, you’re not to blame for how you were raised—if a plant is allowed to grow to weed it will naturally become hardened to proper pruning.”

Li Li, eavesdropping as usual, knew her cousin well enough to see Li Jun’s posture knot into the tightness of angry defiance, even if she was wise enough not to challenge the uncle who now held control of her life.

Instead, she unloaded in long monologues to Li Li later about how she was going to go off and join the Tongs on their boats for good, just as soon as they would have her. Li Li did not think it likely. Tong women might be just as brawny as the men, saying all hands were needed when scrubbing down a salt barge, but what was accepted on the river was not the same as the ways of the town, and the Tong elders wouldn’t pick a fight with Li Li’s father.

Practicality would win out. Li Jun might be older, but she had never been practical enough.

Today Li Li let her cousin’s usual complaints fade into the background, drowned behind the day’s never-ending duties. Her feet ached and her hands had split in stinging cracks from the washing. Her father had chosen to forego supervising the inn today, as he often did, leaving it to Li Li and her mother and cousin. When Li Li’s mother entreated him to please stay and help, this one time—he told her he trusted her, and wasn’t that flattering? That he could delegate the family income to her entirely, that it made him proud . . . and she wouldn’t prove him wrong, would she?

Li Li’s mother flinched and hunched, a hand going to the side of her abdomen. She’d been making that same motion commonly of late.

“Lie down, Auntie,” Li Jun said, her face crinkling in concern. “You don’t look well. We’ll take care of the guests and then bring you some tea and tonic broth.”

Li Li had the distinct feeling she ought to have said that first, but she hadn’t thought to. A dark scorn spiked as she watched her mother hobble to her room—one that had been biting at Li Li more and more often. Guilt lapped vaguely on its heels: children were to protect and provide service and support to their forebears; it was what children existed for.

But if her own father wouldn’t care for her mother’s weaknesses, why should she?

She followed Li Jun to fetch wine for the packed front room of guests. Too many guests. The new magistrate’s presence certainly hadn’t damped the number of travelers, at least not yet. Some of those travelers would have brought their own provisions for her to cook, but the inn wouldn’t have enough meat to feed the rest—not until the Tongs returned with more stores for the town.

Li Li was already bracing for the endless complaints sure to pelt down upon them. The inn had better have enough wine.

She didn’t want to know how the men might react, if the inn didn’t have enough wine.

At the entrance to the storeroom, however, Li Li almost ran into her cousin’s back, where Li Jun stopped stock-still in the doorway.

Piled behind the barrels were the familiar stacked limbs of ever more bodies. Rich clothes, limp hands, slack faces. And this time a very large lot of blood, seeping across the floor as if a barrel of dark fruit wine had spilled across it.

The dangling limbs were too many to easily count. More than her father had ever left them to take care of at once before . . . Li Li’s scorn at her mother’s weakness sharpened into a white-hot anger at her father. Does he not realize how long this chore takes?

And now her mother leaving her to it alone . . . !

“Aiya,” whispered Li Jun. “Look, it’s the new magistrate.”

The same swooping black headdress lay a bit apart from the corpse pile. The visceral stamp of the first man, six or seven years ago, had never left Li Li’s memory.

“What do we do?” Li Jun asked.

“We clean it up,” Li Li said. “That’s our job. Father does his business, and he says it’s his women’s job to clean up.”

“The other disappearances . . .” Li Jun was clever, which was good, because it saved Li Li time explaining. She had no concern that Li Jun would cause any trouble. Li Jun was of the local populace, and family besides, and everyone knew how the government officials stripped prosperity from the villages and played games with the residents’ livelihoods. How pretty women were advised to appear less so when near the eyes of government men, and how their husbands were advised never to step in, lest they lose more than a wife.

“We’ll have to deal with it after the guests go to bed,” Li Li said, assuming the authority of experience.

As if in response, rowdy shouts erupted from the front room, demanding what was taking so long with the meat and wine. Li Li’s eyes crawled over the corpses. A hopelessness wanted to throttle her. How many bodies to drag? How many trenches to dig?

Li Jun seemed to be thinking the same. “Could we get them to the river? I could swim, weight them down in one of the caves . . .”

Li Jun might be older, but she was ignorant of the way dead bodies sagged like sacks of rice in the shape of a man. “We’d need a mule and a cart for that,” Li Li said.

They’d need to rid the inn of the bodies the same way they always did. Li Li’s fury at her father welled up and up, flooding her. Drowning her.

“Where are those useless wenches?” came a yell from the front room. “Meat, girls, or I’ll butcher the lot of you instead!”

Li Li recklessly wondered what would happen if she walked out of the inn and left it all undone. Would her father have to bury his own corpses for a change?

But no, her cousin and her mother would do it, her mother falling and fainting, and though Li Li didn’t strictly love her mother, she did feel a familial duty, and the image reeked of an injustice so vast it made her teeth hurt. But the prospect of dragging so many out to bury—and with so many guests who would already keep them up late into the night with demands and complaints, that the wine was too thin or the beds too cold, or that the inn did not have enough meat—

Li Li’s eyes flashed wide.

“Cousin?” Li Jun said. “What is it?”

Li Li had begun moving, retrieving the cleavers. Knives in hand, she appraised the body on the top of the pile. It stood to reason a man would not taste different from a goat or a hog.

And she knew how to butcher those.

“You get the wine,” she said to Li Jun. “I’ll bring the meat.”

The guests went to bed full and happy, and the inn even had a surplus of shanks that Li Li placed on hooks as she had been taught. Only this time she took some care to disguise any humanlike foot or hand or expanse of bared and hairy skin.

Once the guests had been calmed and put up, and any repeated whines or calls for yet another cup had been dealt with, Li Jun helped Li Li mop up the blood from the butchering and burn the men’s clothes. Tomorrow the guests would not only tell tales of a well-stocked inn, but rhapsodize about how warm the place had been kept on a blustery night. What luxury!

“Your father is a hero,” Li Jun said in a hush, as they finished. “I never knew!”

Li Li snorted. “He’s not a hero. He only does the easy part.”

“Maybe he’d let me help,” Li Jun said. She spun the mop to crack it against one of the pillars of the back room. “I’ve done summers with the Tongs keeping ruffians off their boats, and I’m just as good with a knife as them. My mother said she’d marry me to the first boy who could swim longer than me or beat me in a fistfight, and I’m not married, am I? And the Weng boy drowned trying!”

Li Jun loved telling that story.

“You oughtn’t be so proud of not being married,” Li Li said. “Your parents are dead. Now you’re dependent on charity until you do find a husband.”

Li Jun’s eyes narrowed. “Why, though? The Tong sisters are going to take over the salt barges eventually, their father said so, and the Mus don’t have a son either and they taught their daughters to hunt tigers. We aren’t any weaker than them. Besides, you’re right, you and your mother run the whole inn, your father doesn’t do anything. I bet I could do his other ‘business’ just fine, too.” She made a stabbing gesture in the air. “I’ve heard of groups of female bandits in the hills. Maybe I’ll go join them.”

Li Li had heard such tales, too. She wasn’t sure she’d like that. Women annoyed her just as much as men, most days. She wasn’t even sure she was a real woman; she seemed to be cursed in some way—her women’s monthly water still had never come, at this point surely backing up its toxins into her blood. Meanwhile, the eyes of the boys in the town skimmed past and through her, which was just as well since she was repulsed by them in turn. She was old enough now that Li Jun and the Tongs bragged openly in front of her of their ever-escalating obscene exploits—Li Li was pretty sure they’d even “done things” with each other while out on the boats, which they said didn’t count. Li Li was unclear on whether this was because they were all girls, or if because they were all involved then none of them could score anything above the others, but all of it sounded so distinctly unenjoyable that she secretly dreamed of worming her way out of ever sharing a marriage bed.

Sometimes men didn’t get married. Rarely, but sometimes. Maybe she could become a man. Gossip said one of the Mu daughters had done that the other way around, but rules were different for rich eccentrics who taught their daughters to fight tigers.

“I could be a bandit,” Li Jun was saying. “A hero of the hills. Like your father, but not leaving all the work to the womenfolk. I bet I’d be great at it.”

She produced a knife and threw it in one move. The blade buried itself in a doorjamb across the room, the handle vibrating with the force of it.

Li Li walked over and wrenched it out. “You’d better not say such things when the Imperial investigators arrive.”

Her cousin’s expression went shocked and tense. Maybe from nervousness. Maybe eagerness.

Li Li sighed and handed the blade back. “Just don’t say anything, right? They’ll come eat all our food and go away again.”

Unless my father kills them first, she added silently.

Li Li had spent no serious worry over her cousin knowing the truth. But she ought to have remembered a far deeper concern than Li Jun telling tales about what she knew: her cousin was uncontrollable.

Without consulting Li Li at all, she conspired with the Tong sisters, who had just come back downriver with their family. The Tong girls spread wild rumors of a wakening water demon among the surrounding towns, and Li Jun plunged into the deep, gray fathoms of the river and swam below every one of the investigators’ boats during the last days of their approach, holding her breath so long they neither saw a ripple of her arrival nor when she surfaced afterward.

When the investigators disembarked at the inn they jumped at every small sound, dark moons pressed out beneath their eyes and their fine beards and caps awry.

“Something knocking at our boats—”

“A river demon, everyone is saying so!”

“It must have been that which devoured the magistrate and his men, we mustn’t stay long . . .”

“It’s this place, this place is surely cursed!”

Li Jun came back to the inn rather insufferable. “I fixed it all, didn’t I?” she bragged. “See, I told you I’d make a good hero.”

“It’s not done yet,” Li Li said. “And you should have asked first. This isn’t some game.”

“Stop being such a mud-stuck clam,” Li Jun said. “They swallowed it like fish bait. They’re going to leave and no one is ever going to come back to bother us, you watch!”

Such a plan might have worked. Even Li Li had to admit it, though she refused to say so aloud.

If only it hadn’t been for the ghost.

After so many years of corpses, Li Li had ceased to worry about ghosts. She knew ghosts could enter the world at times, everyone knew such a thing, but they were so rare, and so often mysterious in their methods of manifestation, and as likely to bestow beneficence as to make trouble. More importantly, Li Li’s father had been killing people for enough years that Li Li had become jaded to the possibility that one might return.

Until this magistrate did.

He didn’t visit in dreams, the way Li Li’s ancestors had on brief flickering occasions. He didn’t make his presence known through strange events, either cursed or blessed, nor did he return as animal or insect, nor through cold or wind.

He came as a shadow.

The inn was abuzz with it the next day, the day the investigators had been hastening to depart, with their report of the magistrate’s demise via river demon. But four of the six investigators had seen the magistrate in the night, along with another three guests.

They talked in hushed voices of his shadow sliding silently out from cracks in the darkness.

Reluctantly, the delegation’s leader determined that they must remain longer and seek communication with the apparition. He assigned himself and one of his men to depart to a neighboring town to find a spirit medium, giving his other four unhappy subordinates strict instructions to keep watch for the ghost.

Traveling for a medium would take at least a full day and night. The four remaining investigators lurked sour and white-faced around the inn, and Li Li tried to go about her duties as if she did not feel the weight of a dozen panthers scrambling up her back. Her cousin was even jumpier.

“What if he tells them somehow?” Li Jun whispered while they cleaned out the lodging rooms, no matter how Li Li tried to shush her. “What if he can tell them who killed him?”

“My father’s gone again anyway,” Li Li said. As had become his habit, he had disappeared up or downriver before any investigation descended.

But the thought snuck up from her heart, in the greatest of familial betrayals: No great loss, if they do come for him. After all, hadn’t Li Jun said herself how Li Li and her mother were the ones who truly ran the inn?

If the investigators took her father away . . .

No more long absences while only returning to yell at Li Li and her mother or plunder the inn’s savings. No more finding fault with their work while barely moving to help with the inn’s chores, only drinking and heckling and reminding them that it all came from him.

No more bodies left in the storeroom for them to clean up at the most inconvenient times, while he alone raked in the whispered adulation of any in the town who knew.

Her prior disrespectful words had been nothing but truth: her father only did the easy part. Any of them could kill a man just as well, couldn’t they? It didn’t take some great skill to stab into rich soft skin that was sopped with beef and potent rice wine, did it?

She made a retreat into the kitchen and ground tea and cardamom and pepper, too much and too fast until she struck too hard and the pestle cracked.

She stopped. Forced herself to stillness. The spices had scattered across the counter.

Maybe, with her father gone, her mother might cease being so sick and weak all the time. At least her mother worked hard. At least she did what needed doing. A small, fleeting part of Li Li wondered if, with her father gone, her mother might become a figure she would gladly pay daughterly duties toward.

Besides, Li Li was discovering that she despised injustice even more than weakness. Not because of any souls-deep sympathy for her family and neighbors, but because of the way it added up so wrong and out of joint, like a ledger that wouldn’t match itself. The world ought to balance.

It ought to, and it never did. The rich government officials took whatever they wanted, and Li Li’s father killed whomever he wanted, with Li Li and her mother crunched in the fissures of it all and working their hands to bleeding.

She returned to her chores and allowed herself to imagine a future where her father met some timely end. With his nuisance removed, her mother could gain widow’s rights to the inn, the same as Li Jun’s mother had. They’d finally be able to run it in peace, doing a hard day’s work and then retiring to bed without worry . . .

Thus it was that when Li Li came into the back storeroom to lock everything up for the night, and she saw the great swooping headdress shadowed on the wall by a light that came from nowhere, she stopped cold and still as a rock but did not turn away.

Li Li stared at the shadow. She did not feel afraid.

The inn was quiet. The remaining guests would be in bed, trying to sleep—or failing to sleep, what with word of a ghost about. Most had fled with nervousness at such an interaction, leaving the rooms near-empty for once.

The shadow elongated slightly, the body growing taller and thinner. Somehow, the magisterial headdress simultaneously stretched wider, until its authority yawned to near comical levels.

“Do you speak?” Li Li inquired finally.

The shadow was silent.

“Are you here for vengeance against my father?”

Again, no reply. No movement.

Li Li wondered if the magistrate even knew her father had been the one to assassinate him. When she’d chopped through the gristle of the body, she’d noted the knife wound that gaped between the back ribs.

If the ghost didn’t know who had been responsible for such an end, she supposed she had now told. But the shadow had not extinguished itself.

What else might it be seeking?

With a start, she wondered if her own actions had caused this manifestation. Cooking human flesh . . . could such a thing release a restless ghost? After all, even among the ardent admirers of her father’s activities, most would frown on what she had done.

The thought made her angry. Those men had not been working their hands raw to help ill mothers defray exhaustion when dumped with such inconvenient corpses, and she was sure how they would judge her nonetheless. But her solution wasn’t of some inferior moral character. It was clever.

“They won’t find your remains,” she declared to the ghost. “If it’s my father you want to point at, though—is that it? Is that what you’re looking for? Well, if he didn’t want anything found, he should have done it himself. The old magistrate, the one before you—he’s buried in the yard out by the larch tree, and anyone who—”

The shadow winked out.

Li Li stood in the empty night, stood long enough for her feet to grow stiff against the unmoving ground, stood stiller than any rock face on a carven mountain. The strange righteousness that had filled her had burst as suddenly as it appeared, leaving a vague void behind.

She’d told on her father. Her family, her elder. Her father. An act against Benevolence, against nature, even more than eating human flesh.

She should be flooded with guilt and shame.

Instead, something had begun to sizzle and bubble within the emptiness like when the river churned with typhoon-fed floods.

Something very like excitement. Or power.

The inn was awoken by screams.

Li Li struggled out of sleep in disorientation, deep dreams still snatching at her. The light had begun to turn, almost at dawn—almost when she would have been rising anyway—

Someone screamed again. Li Li was struck by the sudden instant certainty that the scream belonged to her mother.

She was on her feet without being fully awake, racing outside without proper outerwear or boots, her breath fogging with the late-autumn cold and her ears ringing with the aftermath of those screams. The first edges of dawn cracked weak and watery over the yard.

Others from the inn were stumbling out into these last dregs of night. The few guests who had remained—and Li Jun, too, wrapped hastily in a blanket, the Tong sisters with her, strapping young women who stood with the confidence that they were no longer children. Li Li hadn’t known they’d stayed over with Li Jun; they usually lived out of their boats.

Li Li’s eyes raked across the yard—and found her mother.

Her mother, who knelt a few paces before the larch tree, her worn thinness suddenly in such sharp relief that her fragility seemed shocking. Someone had chipped up the clay beside her.

The four remaining Imperial investigators surrounded the shallow grave beneath. One leaned a pickaxe haft against his hip, another had discarded a spade upon the ground. In the pitted earth, a half-unburied human skull stared from naked and collapsed sockets. His fine clothes had turned to dust, roots twining through where his flesh had been. But somehow the swooping magistrate’s hat was still as broad and black and fine as the day his corpse had appeared in their storeroom.

Within Li Li, the surprise of it warred with smug satisfaction. She’d told the ghost, and the ghost had communicated to them, even with no spirit medium to interpret.

Now the scales will balance. Everyone will get what they deserve.

“Explain this, innkeeper,” said one of the investigators to Li Li’s mother. He bit the words so sharply that spit flew forth with them.

Li Li’s mother hunched over against the ground, shaking her head over and over, not in defiance but desperation. Her breath keened high and hard, so fast she couldn’t seem to speak.

Li Li did not feel sympathy. Her mother had always reacted with overly high humors. Once the investigators had taken Li Li’s father away, and the inn slipped back to normal, all this frenzy would recede and everything would turn calm.

One of the other men turned to his partners. “The snake cannot move without the head—the husband must also be involved. Bind her and take her to the magistrate’s compound. The chief will decide if they face justice here or if it’s to be prisoner transport to Bianliang.”

The words took many heartbeats to coalesce into meaning, so contrary were they to Li Li’s expectations. Why would they—but her mother hadn’t—

They assumed

Li Li began to call out—what, she hadn’t determined; she only knew that this was not the way she had meant anything to go. Before she could, her mother launched herself at the feet of one of the investigators.

The motion was one of supplication. As if to clutch at their hems and press her face upon their boots in weeping entreaty.

The man’s lip lifted in a sneer. In that moment, with a movement that was almost casually slow, he moved the pickaxe from against the side of his leg.

The head of the tool thumped against the ground in front of him. Directly in the path of Li Li’s mother as she fell at his feet.

The dirt-clodded spike of the pickaxe plunged through the soft skin just below her jaw.

Her cries cut off with a wet crunch. Her limbs flopped boneless against the ground in the sudden silence.

“Stupid woman,” said the investigator. “At least now we won’t have to—”

A choked gurgle cut him off as the edge of the spade thunked straight into his throat.

The investigator struggled against suddenly folding limbs, his eyes casting about in confusion. He hadn’t seen Li Li grab the spade off the ground. Hadn’t seen her heave it upward with all her strength.

People always underestimated her strength.

She yanked the spade back from his neck, and blood fountained forth, more than she’d ever seen when butchering animal or human. The other three investigators had begun to move by then, hands fumbling for the blades at their sides. Li Jun’s knife took one of them in the chest. The Tongs tackled another with a shout, pounding him into the earth. The last man stumbled in his shock, and Li Li heaved the spade again.

Its dull metal rang hard against his skull.

He clattered onto the ground. Li Jun dove in to grab the man’s own short sword, and she plunged it through his body as if driving a fence post.

The Tongs stood up. The elder of them pressed a nonchalant hand against a bloody slash that gaped her forearm open. The younger gripped a jagged rock in one hand. Bits of white bone shone through the face of the man unmoving below them.

The elder Tong sister jerked a chin at the inn’s few patrons who had braved the haunted night. Three of them, all men, watching with slack jaws and wide eyes—two merchants from off the river and one man from a neighboring village who’d stayed to sleep off his drink.

“We’ll have to kill them, too,” the elder Tong said. “They saw.”

“No—please, we won’t—” started one of the merchants, at the same time the other began to shout. “How dare—!”

Li Jun’s newly retrieved knife found the shouting man in the liver.

The man who had begged broke into a panicked run, but the younger Tong dropped her rock to grab one of the short swords and caught up with him easily. She loped back over to join her sister and Li Jun in surrounding the final man.

“Wait,” Li Li said.

The others stopped, their expressions aggressive questions. The only sound came from the still-dying merchant whose gut Li Jun had buried her knife in; he curled on the ground with moans ever more thready and pitiful. One of the cocks crowed suddenly, calling out the start of the day in an unsettling contrast.

Li Li approached the local man. “You’re not from off the river,” she said. “Do you know what my father did here?”

His chin trembled in a nod, his ragged mustache shaking. “I heard—rumors, miss. Only rumor.”

“Would you ever have told men like these?” She pointed back at the dead investigators.

Shock suffused his face. “Of course not! Never.”

“Good. Speak nothing of this, either. Remember what protection this place has given you.”

“Yes, miss. Of course, miss. We are all loyal to your father, miss.”

Li Li tasted bitterness at that, and her hand twitched to complete the violence here, but she held the judgment at bay. Instead, she said, “Go home to your family.”

He wasted no time in scrambling away, backing up with jerky bows. By that time the man on the ground had stopped moving.

Everything had stopped moving.

Li Li let the edge of the spade fall to the dirt, let her hand grip tightly against its haft. She didn’t want to turn around. Didn’t want to look at her mother’s body.

She didn’t want to look at the rest of the bodies, either. So much to clean up . . .

She hadn’t meant for anything to go this way.

But she hadn’t started any of it, either. That had been the investigator, and the vile officials before him, and most of all—

Li Jun stepped over and rested a hand against her shoulder. “You did right. None of this was your fault.”

“I know,” Li Li said. “It’s my father’s.”

Rumor said that when the investigators’ leader learned his four subordinates had been devoured by the river demon, he and his right-hand man scurried straight back to the capital, convinced they had enough for their report after all.

Rumor said the capital seemed prone to forget the magisterial post existed, after that. Or perhaps they tried to assign men to it and failed, until a harried minister looked at the judiciary lists and decided leaving one remote bend of the river to the military governor was good enough.

Rumor also, however, now knew the name of Li Li’s father, and knew embroidered stories of a skeleton found beneath his inn, stories whispered as often in admiration as in judgment. They were carefully never whispered where they might reach the ears of Bianliang—not that they likely would have been deemed important, by those far away whose wish was to ignore such a troublesome rural town. Even so, Li Li sometimes wondered if she’d been wise in sparing the local villager’s life. Her generosity was returned to her, however, when still other rumors reported how her father heard the tales being told of his name and how he shook with fear as he ran. He fled toward the western mountains with no glance back at the inn or the living daughter he left behind.

The daughter was just fine with that.

Li Li and Li Jun smartened up the inn with some help from the Tongs, and Li Li made certain to declare to the right ears that her father’s other “business” was finished and had disappeared along with him. Most took this to mean that no more skeletons would be buried in the inn’s yard, and indeed, none ever were again.

The law technically provided no way for Li Li to come into ownership of the inn, as her father was still alive, and even if he had not been, as an unmarried daughter she would not inherit. In this bend of the river that lacked a magistrate, however, no one was too fussed about each and every stroke of law. Li Li declared that of course she must keep up the inn for her father in his absence, and that was enough for most people not to question.

If any questions did arise, they were not heard for long before mysteriously going silent.

Thus, for the next four years the inn at the bend in the river gradually became even busier and more prosperous, growing into a well-known stop for hungry traders. And if gossip whispered anything else about the inn and its young proprietor, it was wise enough not to whisper too loud.

Four years was how long it took for Li Li’s father to decide the law would no longer remember his name, and then to return to claim his wealth.

Li Li was wiping down tables when his shadow loomed up in the door. He stepped inside with his chest puffed out in assumed ownership, then stood in the center of the clean and polished front room, fists on his hips. His eyes crawled over the walls and tables, the customers comfortably tucking in food and wine, the expanded wings that had been added on with their newly carved wooden screens and the delicate brushwork scrolls Li Li had hung upon the walls for both aesthetics and luck.

His shape sucked away the smooth balance of the space more than any shadow from beyond the grave. Cold gripped Li Li’s heart, as if another ghost had entered her home.

That’s all this man was. A ghost.

She straightened her clothes and approached him. From the way his eyes slid uncertainly she could tell he did not recognize her until she said, “Hello, Father.”

His smile slipped, just a touch, before it shuddered back into place. “I see my inn is not as well-kept as it could be, but not ruined. Good girl. I knew you’d handle things until I returned.”

Li Li had come to consider her natural lack of expression to be an asset for just such moments as these. No stirrings showed on her face.

“You must be so tired,” she said to her father. “Come into a private room. I’ll bring you a meal.”

He grunted and took what he considered his due. Li Li served him stew and steamed buns and noodles simmered in sauce, along with the inn’s most fragrant wine. He rambled on about how he’d returned to sell the property, as innkeeping life no longer fit him.

When did it fit you? thought Li Li. When have you ever kept the inn?

“I have a few buyers nibbling about. And I don’t want you to worry; I’m only considering the ones who are also willing to bring a bride price. We’ll get this business done.”

Li Li barely blinked at the casual assumption she would be sold off as a rich man’s concubine. This must be what it felt like, to have power.

“I’ve been doing your business,” she said instead.

Her father’s wine-glazed eyes wobbled over to her, uncomprehending.

Both your businesses,” Li Li added silkily.

She pulled up a chair and sat beside him, leaning in against the table as if they shared secrets in a conspiracy. “Let’s be truthful, Father. You never did those businesses yourself anyway. I’ve been doing both since the beginning. For ten years now.”

Her father licked his lips, a quicksilver nervousness darting through his eyes for the first time.

“You’re feeling heavy,” Li Li said. “That’s a mineral sleeping powder in the wine. It’s very potent.”

And made everything much more tidy and convenient, she’d come to find.

It took a moment for her father’s eyes to grow wet and wide, and then he jerked as if to lurch up or swipe at her before falling heavily back in the chair. “Can’t. You . . .”

His lips flapped against the words until they were unintelligible.

“None of this was ever yours.” Li Li’s voice became a slither. “I saw so clearly, by the end. You claimed ownership but left every meaningful task to us. Because this bit now, it’s no work at all, is it? To kill a man who’s soft with meat and wine, and only full of air and words.”

Her father tried to answer. Fear suffused every line of his face.

Li Li’s knife moved with the whispering speed borne of four years of practice.

That night, Li Li straightened her inn with great care. She had plenty of meat stored up for the inn’s travelers—the ones who would leave to travel onward, rather than those who would best serve by staying on her hooks to fill the bellies of the next . . . those she judged to be too much like magistrates or fathers, or the rude oglers or complainers who demeaned and demanded.

The inn never wanted for traffic, here on this busy bend of the river. If not everyone made it up- or downstream, well, everyone knew the river was dangerous. Full of cutthroats and smugglers and undertows and ghosts and demons.

And Li Li. Who met and judged, just like a magistrate.

Tonight, however, she made a very special soup only for herself.

She waited for Li Jun to come back from the river—to come back from making the river more dangerous, as one of those smugglers and cutthroats who caused so many to hoard their silver in fear. Today she came from accompanying the Tongs upriver, returning with hulls that bulged with silver and salt and spices, dried fish and pickled vegetables . . . all “donations” from choice estates, as Li Jun laughingly liked to say. She and Li Li added her share of the silver to a lockbox below the inn floor, alongside the establishment’s own quickly expanding riches.

The inn was becoming impressively flush. Nobody had ever asked how the two cousins had come to run it, or how they had achieved such success. At least, nobody had asked for long.

Li Jun had spoken with great prescience, those years ago: they did a very good job without any husbands at all. Or fathers.

Tonight, Li Li left her cousin in charge, and she carried her freshly made soup up to her mother’s grave on a hilltop overlooking the town. The streets and buildings spread out below, multiplying outward in a slow creep every season as the town expanded. Beyond them the river stretched wide and fathomless, a muddy gray-gold snake draped across the landscape, the farms on the other side tiny at this distance.

Li Li sat with her mother, and she leaned against an ash tree and drank her special soup while she watched the sun set.

Her home had never felt so peaceful.

Buy the Book

The River Judge
The River Judge

The River Judge

S.L. Huang

The post The River Judge appeared first on Reactor.

13:49

CodeSOD: Ancestry Dot Dumb [The Daily WTF]

Damiano's company had more work than staff, and opted to hire a subcontractor. When hiring on a subcontractor, you could look for all sorts of things. Does their portfolio contain work similar to what you're asking them to do? What's the average experience of their team? What are the agreed upon code quality standards for the contract?

You could do that, or you could hire the cheapest company.

Guess which one Damiano's company did? If you're not sure, look at this code:

if(jQuery('table').hasClass('views-view-grid')){
  var EPid= ".views-view-grid";
  jQuery(EPid +' td').each(function(){

   if(!jQuery(this).parent().parent().parent().parent().parent().hasClass('view-article-in-right-sidebar') && !jQuery(this).parent().parent().parent().parent().parent().hasClass('view-offers-in-right-sidebar')){
    var title = jQuery(this).find("h2 a").html();

    var body = jQuery(this).find(".field-name-body").html();
    var datetime = jQuery(this).find(".field-name-field-event-date-time").html();
    var flyer = jQuery(this).find(".field-name-field-flyer a").attr("href");
    var imageThumb = jQuery(this).find(".field-name-field-image-thumb").html();
    var readMore = '<a href="'+jQuery(this).find("h2 a").attr("href")+'" class="read-more">READ MORE</a>';

    var str = '<div class="thumb-listing listpage">';

    if(title != null && title != ""){
      if(imageThumb && imageThumb != "" && imageThumb != null)
        str = str + imageThumb;
      if(datetime && datetime != "" && datetime != null)
        str = str + '<div class="lp-date ">'+datetime+'</div>';
      str = str + '<div class="lp-inner clear"><div class="lp-title">'+title+'</div>';
      str = str + body + '</div><div class="sep2"></div>';
      str = str + readMore;
    }
    if(flyer)
      str = str + '<a class="download-flyer" href="'+flyer+'"><?php if(isset($node) && $node->type == "events"){ echo 'download the flyer'; }else {echo 'download the article';} ?></a>';

    str = str + '</div>';
    jQuery(this).children('.node').remove();

    jQuery(this).append(str);
  }
});

This was in a Drupal project. The developer appointed by the contractor didn't know Drupal at all, and opted to build all the new functionality by dropping big blobs of JavaScript code on top of it.

There's so much to hate about this. We can start with the parent().parent() chains. Who doesn't love to make sure that your JavaScript code is extremely fragile against changes in the DOM, while at the same time making it hard to read or understand.

I like that we create the EPid variable to avoid having a magic string inside our DOM query, only to still need to append a magic string to it. It hints at some programming by copy/paste.

Then there's the pile of HTML-by-string-concatenation, which is always fun.

But this couldn't be complete without this moment: <?php if(isset($node) && $node->type == "events"){ echo 'download the flyer'; }else {echo 'download the article';} ?>

Oh yeah, buried in this unreadable blob of JavaScript there's a little bonus PHP, just to make it a little spicier.

The entire project came back from the contractor in an unusable state. The amount of re-work just to get it vaguely functional quickly outweighed any potential cost savings. And even after that work went it, it remained a buggy, unmaintainable mess.

Did management learn their lesson? Absolutely not- they bragged about how cheaply they got the work done at every opportunity, and entered into a partnership agreement with the subcontractor.

[Advertisement] Picking up NuGet is easy. Getting good at it takes time. ProGet costs less than half of Artifactory and is just as good. Our easy-to-read comparison page lays out the editions, features, and pricing of the different editions of ProGet and Artifactory.Learn More.

11:35

Grrl Power – Dabbler’s Science Corner #7 [Grrl Power]

One more DSC to go then we’ll cut back to the story in progress. Things have settled down a bit but there’s still lots to do.

Max is being pretty unfair to Russia here. Infrastructure and upkeep is not a sexy thing to spend tax dollars on, but it is absolutely critical. I personally find it super embarrassing when a bridge collapses somewhere. I mean, as a citizen of my particular nation, which happens to have had the largest economy in the world since the late 1800’s, (I’m not sure how accurate this is, but I have to say I’m really surprised the UK’s GDP wasn’t WAY bigger around that time since they were big in the world conquering business at the time. Though I suppose you could arguably add the GDPs of all their vassal countries to theirs, depending on the extent to which they were conquered.) Anyway, my point is that the U.S. shouldn’t have collapsing bridges, but keeping them from collapsing is only important to a whole lot of people just after one has collapsed.

I don’t know a lot about Russia’s dedication to infrastructure, but I think the general sentiment is that any dictatorship swamped with oligarchs probably doesn’t have the general interest of the proletariat in mind. But you never know, I’m sure there are some dictatorships out there with their usual raft of horrific human rights violations, but not a single bridge collapse or train derailment or… I don’t know. Pothole? Well, maybe not within 5 miles of the dictatorial palace anyway. Still, as we saw… see with the Ukraine invasion – god, that’s still going on – it would seem Russian expenditures on upkeep can be very selective.

And a dungeon, once it exists is like an oil well that keeps building pressure. Farm it/pump it out every so often and you’re good, but it can get away from you if you don’t pay attention to it. Not usually in a decade, as Max suggests. Usually they grow down and become more intricate as they add chambers and floors, and eventually a certain level of monster power/magic density causes a sort of reflux that can cause a break. But dungeons can also encounter things that prevent their usual expansion, like pockets of low mana, or a lair of something that won’t be budged, like a dragon or something. Also another dungeon can limit their growth options, and if they don’t wind up fighting/absorbing/combining, that can cause a dungeon to break to the surface before expected. None of those things are likely on Earth, well, except the low mana pockets.


Oh, speaking of dungeons, there’s a three book series called simply “Blue Core” that I enjoyed. It’s kind of a weird isekai, as the person wakes up as a dungeon core and has seemingly little memory of his prior life. In fact it’s not really all that clear that it is an isekai until I think the middle of the second book when he starts thinking about what is clearly Earth tech. But I enjoyed it, even though there’s some kind of weird tentacle sex stuff which is passed off a a bonding thing… well it does factor into the story but it seems a little out of place. Not that I don’t mind weird sex stuff in books, it’s just kind of only a factor in the scenes where it happens. Anyway, if you like wildly OP MCs (and I do) and a good cast of supporting characters, then check it out. It was written by the same guy that did a book I really liked called Invading the System, and… holy shit, book 2 just came out! Thanks for not telling me Amazon. Dick. Welp, I’m going to go read that now.


The new vote incentive is up!

Dabbler went somewhere tropical, in a very small bikini. As you might guess, it doesn’t stay on for long, which of course, you can see over at Patreon. Also she has an incident with “lotion,” and there’s a bonus comic page as well.

 

 


Double res version will be posted over at Patreon. Feel free to contribute as much as you like.

10:35

Decisions as effort [Seth's Blog]

Why are we more likely to get tasks done than to take on new initiatives?

Checking something off a to-do list requires far less emotional energy than adding something to the list was in the first place.

As is often the case, “resistance” is the answer.

It’s easy to type a book, hard to write one. That’s because writing one involves making choices.

The effort to perform a task we’ve done before is known in advance. So are the risks. There’s social pressure to do what we promised, and little friction in the way. It’s work, but not challenging.

Initiatives, on the other hand, go the other way around. The effort and repercussions are unknown, and in many settings, the social pressure to accept the status quo is high.

The most important work we do is to make decisions. Decisions don’t seem effortful (turn left or right, say yes or no) but the apparent risk and emotional labor is real. Hard decisions are hard because of the story we tell ourselves about repercussions and responsibility.

Once we acknowledge that taking initiative (which is more accurately described as ‘offering initiative’) requires effort, we can allocate the time and resources to do it well.

05:28

Joe Marshall: Lisp vs. golang [Planet Lisp]

It's no secret that I'm an aficionado of Lisp. It's my go to language, especially when I don't know what I'm doing. I call it research and prototyping, but it's really just playing around until something works.

We had a need for some auditing of some of our databases at work. They ought to agree with each other and with what GitHub and CircleCI think. It took a couple of weeks part time to prototype a solution in Common Lisp. It showed that the databases were in 99% agreement and found the few points of disagreement and anomalies that we ought to fix or look out for.

I want to integrate this information into a dashboard on one of our tools. I prototyped this by spinning up a Common Lisp microservice that returns the information in JSON format.

But management prefers that new services are written in golang. It would be easier for me to rewrite the service in golang than to try to persuade others to use Common Lisp. It also gives me the opportunity to compare the two languages head to head on a real world problem.

No, this is not a fair comparison. When I wrote the Lisp code I was exploring the problem space and prototyping. I'm much more experienced with Lisp than with golang. The golang version has the advantage that I know what I want to do and how to do it. In theory, I can just translate the Common Lisp code into golang. But then again, this is a “second system” which is not a prototype and has slightly larger scope and fuller requirements. So this cannot be a true head to head comparison.

The first point of comparison is macros (or lack thereof). I generally don't use a lot of macros in Common Lisp, but they come in handy when I do use them. One macro I wrote is called audit-step, which you can wrap around any expresion and it prints out a message before and after the expression is evaluated. The steps are numbered in sequence, and nested steps get nested numbers (like step 2.3.1). If you wrap the major function bodies with this macro, you get a nice trace of the call sequence in the log.

Golang doesn't have macros, but it has first class functions. It's easy enough to write a function that takes a function as an argument and wraps it to output the trace messages. In fact, the macro version in Common Lisp just rewrites the form into such a function call. But the macro version hides a level of indentation and a lambda. In golang, my major functions all start with

func MajorFunction (args) int {
        return AuditStep("MajorFunction", "aux message", func() int {
                // body of MajorFunction
                // Actual code goes here.
        })    
}

The bodies of all my major functions are indented by 16 spaces, which is a little much.

I like higher order functions. I can write one higher order function and parameterize it with functions that handle the specific cases. In my auditing code, one such workhorse function is called collate. It takes a list of objects and creates a table that maps values to all objects in the list that contain that value. To give an example, imaging you have a list of objects that all have a field called foo. The foo field is a string. The collate function can return a table that maps strings to all objects that have that string in the foo field.

collate is very general. It takes a list of objects and four keyword arguments. The :key argument is a function that extracts the value to collate on. The :test argument is a function that compares two keys (it defaults to eql if not specified). The :merger argument is a function to add the mapped object to its appropriate collection in the table (it defaults to adjoin). The :default argument specifies the initial value of a collection in the table (it defaults to nil).

The :merger function is the most interesting. It takes the key and the object and the current value of the table at that key. It returns the new value of the table at that key. The default merger function is adjoin, which adds the object to the collection at the key if it is not already there. But you can specify a different merger function. For example, if you want to count the number of objects at each key, you can specify a merger function that increments a counter.

The functional arguments to the collate function are often the results of other higher order functions. For example, the :key argument is often the result of composing selector functions. The :merger argument is often the result of composing a binary merge function with a unary transformer function. The transformer function is often the result of composing a number of primitive selectors and transformers.

In Common Lisp, it is quite easy to write these higher order functions. We can compose two unary functions with the compose2 function:

(defun compose2 (f g)
  (lambda (x) (funcall f (funcall g x)))

and then compose as many functions as we like by fold-left of compose2 starting with the identity function:

(defun compose (&rest fs)
  (fold-left #'compose2 #'identity fs))

We can compose a binary function with a unary function in three ways: we can pipe the output of the binary function into the unary function, or we can pipe the output of the unary function into one or the other of the inputs of the binary function.

(defun binary-compose-output (f g)
  (lambda (x y) (funcall f (funcall g x y))))

(defun binary-compose-left (f g)
  (lambda (x y) (funcall f (funcall g x) y)))

(defun binary-compose-right (f g)
  (lambda (x y) (funcall f x (funcall g y))))

The collate function can now assume that a lot of the work is done by the :key and :merger functions that are passed in. It simply builds a hash table and fills it:

(defun collate (item &key (key #'identity) (test #'eql) (merger (merge-adjoin #'eql)) (default nil))
  (let ((table (make-hash-table :test test)))
    (dolist (item items table)
      (let ((k (funcall key item)))
        (setf (gethash k table) (funcall merger (gethash k table default) item))))))

(defun merge-adjoin (test)
  (lambda (collection item)
    (adjoin item collection :test test)))

So suppose, for example, that we have a list of records. Each record is a three element list. The third element is a struct that contains a string. We want a table mapping strings to the two element lists you get when you strip out the struct. This is easily done with collate:

(collate records
  :key (compose #'get-string #'third)
  :test #'equal      ; or #'string= if you prefer
  :merger (binary-compose-right (merge-adjoin #'equal) #'butlast))

The audit code reads lists of records from the database and from GitHub and from CircleCI and uses collate to build hash tables we can use to quickly walk and validate the data.

Translating this into golang isn't quite so easy. Golang has first class function, true, but golang is a statically typed language. This causes two problems. First, the signature of the higher order functions includes the types of the arguments and the return value. This means you cannot just slap on the lambda symbol, you have to annotate each argument and the return value. This is far more verbose. Second, higher order functions map onto parameterized (generic) types. Generic type systems come with their own little constraint language so that the computer can figure out what concrete types can correctly match the generic types. This makes higher order functions fairly unweildy.

Consider compose2. The functions f and g each have an input and output type, but the output type of g is the input type of f so only three types are involved

func Compose2[T any, U any, V any](f func(U) V, g func(T) U) func(T) V {
        return func(x T) V {
                return f(g(x))
        }
}

If want to compose three functions, we can write this:

func Compose3[T any, U any, V any, W any](f func(V) W, g func(U) V, h func(T) U) func(T) W {
        return func(x T) W {
                return f(g(h(x)))
        }
}
The generic type specifiers take up as much space as the code itself.

I don't see a way to write an n-ary compose function. It would have to be dynamically parameterized by the intermediate types of all the functions it was composing.

For the collate function, we can write this:

func Collate[R any, K comparable, V any](
        list *Cons[R],
        keyfunc func(R) K,
        merger func(V, R) V,
        defaultValue V) map[K]V {
        answer := make(map[K]V)
        for list != nil {
                key := keyfunc(list.Car)
                probe, ok := answer[key]
                if !ok {
                        probe = defaultValue
                }
                answer[key] = merger(probe, list.Car)
                list = list.Cdr
        }
        return answer
}

We have three types to parameterize over: the type of the list elements (i.e. the record type) R, the type of the key K, and the type of the value V. The key type is needs to be constrained to be a valid key in a map, so we use the comparable constraint. Now that we have the types, we can annotate the arguments and return value. The list we are collating is a list of R elements. The key function takes an R and returns a K. The merger takes an existing value of type V and the record of type R and returns a new value of type V.

The magic of type inference means that I do not have to annotate all the variables in the body of the function, but the compiler cannot read my mind and infer the types of the arguments and return value. Golang forces you to think about the types of arguments and return values at every step of the way. Yes, one should be aware of what types are being passed around, but it is a burden to have to formally specify them at every step. I could write the Common Lisp code without worrying too much about types. Of couse the types would have to be consistent at runtime, but I could write the code just by considering what was connected to what. In golang, the types are in your face at every function definition. You not only have to think about what is connected to what, you have to think about what sort of thing is passed through the connection.

I'm sure that many would argue that type safety is worth the trouble of annotation. I don't want to argue that it isn't. But the type system is cumbersome, awkward, and unweildy, especially when you are trying to write higher order functions.

It is taking me longer to write the golang version of the audit service than it did to write the Common Lisp version. There are several reasons. First, I am more experienced with Common Lisp than golang, so the right Common Lisp idioms just come to mind. I have to look up many of the golang idioms. Second, the golang code is trying to do more than the Common Lisp code. But third, golang itself introduces more friction than Common Lisp. Programs have to do more than express the algorithm, they have to satisfy the type system.

There are more points of comparison between the two languages. When I get frustrated enough, I'll probably write another post.

02:35

[$] LWN.net Weekly Edition for October 17, 2024 [LWN.net]

The LWN.net Weekly Edition for October 17, 2024 is available.

00:56

Where to Get Food & Drinks for Halloween 2024 in Seattle [The Stranger]

Devil Cakes, Horror Cocktails, and More by EverOut Staff It's almost Halloween, and there's no shortage of hair-raising ways to celebrate, with treats like creepy-cute cookies from Flora Bakehouse and themed cocktails from Navy Strength, Dreamland Bar & Diner, and Rob Roy. Read on for details on the most frightening food and drink specials so you can plot a delicious month full of thrills and chills. For additional inspiration, check out our Halloween calendar and our food and drink guide.


Deep Sea Sugar & Salt
The Georgetown cake shop is tapping into nostalgic trick-or-treating memories with their "Monster Box," which contains one of each of the following cupcake flavors: popcorn ball, Twix, "Full Moon Pie," Mounds, Junior Mint, and Whoppers. It all comes packaged in a box adorned with a hand-drawn monster illustration.
Georgetown

Stranger Suggests: Shannon and the Clams, "Rapper’s Delight” Annotated, Unwound, Paris, Texas: New 4K Restoration, the Disabled List [The Stranger]

One really great thing to do every day of the week. by Audrey Vann WEDNESDAY 10/16  

Shannon and the Clams

(MUSIC) Led by powerhouse vocalist Shannon Shaw, beloved garage rock band Shannon and the Clams are back with a new album, The Moon Is in the Wrong Place⁠—produced by Dan Auerbach of the Black Keys. Blossoming out of tragedy, the album reckons with the grief that followed after Shaw's fiance was killed in a car accident just weeks before their wedding. “We all felt the urgency of making something that reckoned with this meteor that smashed into our planet,” keyboardist Will Sprott said in a press statement. “This is the most focused record we’ve ever done, as far as everything coming from a singular traumatic event.” The band will play tracks from the albums alongside Americana ensemble the Deslondes. (Neptune Theatre, 1303 NE 45th St, 8 pm, $35, all ages) AUDREY VANN

THURSDAY 10/17  

Unwound: New Plastic Ideas 30th Anniversary

(MUSIC) Back in 2015, VICE wrote, "Unwound will never reunite so get over it.” Well, the mag can eat its words because the Olympia, Washington-born post-hardcore quartet defied all odds when they reunited in 2022 after a two-decade hiatus. The band will return to town to celebrate the 30th anniversary of their second album, New Plastic Ideas, which was recorded right here in Seattle. Bassist Jared Warren (of Karp, the Melvins, and Big Business) will fill the shoes of founding member Vern Rumsey, who passed away in 2020. (The Showbox, 1426 First Ave, $40-$45, 8 pm, 21+) AUDREY VANN 

FRIDAY 10/18  

"Rapper’s Delight” Annotated

(MUSIC/HISTORY) History will be made on Friday, October 18, when Charles Mudede and hiphop professor Daudi Abe perform their Stranger piece "Anatomy of a Song: The Sugarhill Gang’s 'Rapper’s Delight' (1979)" live! Onstage! At Clock-Out Lounge! The world has never seen a performance like this before! As they wrote in our latest Art + Performance issue, "Rapper's Delight" made hiphop accessible to the world. It's the track "that made it possible for Dr. Dre and Jay-Z to be billionaires, Snoop and Martha Stewart’s world-famous friendship not only achievable but profitable, and a bad breakdancer at the Olympics go viral." At the show, Mudede and Abe will interject the tune with their annotations and expand on the song's place in history while also exploring some of the samples featured in the song and the tracks that followed in "Rapper's Delights" footsteps. Special guest DJ Vitamin D will provide the soundtrack. It will be a hiphop show, it will be a history lecture, and it will be a dance party—you don't want to miss it. (Clock-Out Lounge, 4864 Beacon Ave S, 9 pm, $10, 21+) MEGAN SELING

SATURDAY 10/19  

The Disabled List

(COMEDY) Kayla Brown and Dan "Undisputable Genius of Comedy" Hurwitz, creators of the "award-eligible" mockumentary This is Spinal Injury, return to host this bimonthly showcase of local funny folks with disabilities, which recently hit a bigger stage at Bumbershoot. The jokester troupe has been performing in and around Seattle since 2018, with a rotating cast each time. This month's installment features Laura Lyons, Michael Bellevue, Ryan Padilla, and Forest Ember. (Northwest Film Forum, 1515 12th Ave, 7 pm, $7-$14) LINDSAY COSTELLO

SUNDAY 10/20  

Paris, Texas: New 4K Restoration

(FILM) Paris, Texas is my favorite film of all time, and my second and third are True Stories and 3 Women, both of which could arguably exist in Paris, Texas's universe. A disheveled Travis (Harry Dean Stanton) meanders out of the matte desert, where he's reunited with his eight-year-old son, Hunter, and his billboard-designing brother in the neon canyons of Los Angeles. He tries on different roles: He imagines becoming the "rich father," accomplishing nothing but to chase after his son's affection. A road trip then guides Hunter and Travis back to the root of their trauma. The result is a neo-Western that feels spiritually in tune with Twin Peaks, Repo Man, and—hear me out—the myth of Odysseus. It also did more to promote pink fuzzy sweaters than the entirety of Barbie's endless press campaign. By the way, I'd typically balk at a 127-minute runtime, but Wim Wenders' ultra-deliberate filmmaking (and Robby Müller's choreography) demands a slow read. Certain shots linger long after the credits roll. (SIFF Cinema Downtown, 2100 Fourth Ave, multiple showtimes through Oct 24, $14.50-$19.50) LINDSAY COSTELLO

MONDAY 10/21  

Author Talk: Caroline Choe, Banchan

Caroline Choe will discuss her book 'Banchan' at in Seattle on October 21 and 22. Courtesy of Chronicle Books

(FOOD/BOOKS) Far more than just simple snacks, banchan (the delicious shared side dishes that complement Korean meals) can represent a host's hospitality and generosity. As musician and writer Michelle Zauner wrote of her late mother in her memoir Crying at H Mart: "She remembered which banchan side dish you emptied first so the next time you were over it'd be set with a heaping double portion." New York City-based chef, artist, teacher, and writer Caroline Choe puts these bites in the spotlight with her first-of-its-kind cookbook Banchan, which offers both traditional and modern recipes for everything from smoky gochujang chicken salad to hobakjeon (zucchini pancakes). On Tuesday, Choe will also be at Book Larder in Fremont to talk with chef Rachel Yang of Joule and Revel. (Elliott Bay Book Company, 1521 10th Ave, Oct 21 at 7 pm, free; Book Larder, 4245 Fremont Ave N, Oct 22 at 6:30 pm, $31.65 for a ticket and a copy of Banchan, $5.75 for just a ticket) JULIANNE BELL

TUESDAY 10/22  

Tejiendo Historias | Weaving Stories

'Bordado Comunitario [Community Embroidery],' by Fulgencio Lazo, 2024. COURTESY OF ArtX Contemporary

(VISUAL ART) Fulgencio Lazo's second solo exhibition at ArtX Contemporary continues to showcase the artist's ultra-vibrant, visually complex style, informed by his cultural identity as a member of Mexico’s Indigenous Zapotec people and his hometown of Oaxaca. As an artist, Lazo is integral to the fabric of Seattle's Latine cultural scene—he's participated in Day of the Dead celebrations at the Seattle Art Museum and the Tacoma Art Museum. Head to this exhibition to familiarize yourself with a local legend. (ArtX Contemporary, 512 First Ave S, Tues-Sun through Nov 16,  free, all ages) LINDSAY COSTELLO

Wednesday, 16 October

23:21

Shut Up, John Richards [The Stranger]

What a buzzkill! by Anonymous

Alex Ruder is one of KEXP’s most adventurous DJs and an avid runner, so I was psyched to check out his recent episode of the station’s running podcast. I laced up my shoes, hit play, and took off on a stream of ambient bliss. Five minutes in, a familiar voice intervenes and instantly kills the vibe: It’s KEXP’s “resident runner,” John Richards, barging in to natter at me about the Runcast and where I can get it (which, duh).

Over and over through the whole hour the guy interjects his corny commentary because he can’t resist the chance to put himself in my ear. What a buzzkill! When I got home, I transferred Alex’s track list to Spotify so I can run in peace as he intended.

Do you need to get something off your chest? Submit an I, Anonymous and we'll illustrate it! Send your unsigned rant, love letter, confession, or accusation to ianonymous@thestranger.com. Please remember to change the names of the innocent and the guilty.

23:14

Early next week… [Seth's Blog]

It’s going to get busy around here. I wanted to share some upcoming events (online and in person) so you can plan ahead… there are five more for the end of the week, but here we go:

Linda Rottenberg is joining me on LinkedIn on Monday. She’s built an extraordinary organization that most people have never heard of–Endeavor transforms entrepreneurs who go one to build significant organizations worldwide. We’ll be talking about her strategic insights and the work that matters, and taking your questions.

James Clear will be my guest on Tuesday. He’s one of the most successful business book authors of all time. We’ll be talking about habits, of course, but also about the strategy of the company he’s helping to back, Authors Equity. We’ll take your questions live.

The Worldwide Strategy Meetup also happens on Tuesday. It’s taking place in 200+ cities around the world, and thousands are expected to participate. It’s not too late to find your peers–and it’s free. All the details are here.

My new book launches on Tuesday, October 22, with audiobook and Kindle editions as well. There’s also a collectible chocolate bar (of course there is) with trading cards, and a breakthrough strategy deck, a tool you and your team can use to explore the unseen opportunities all around us. Details are here.

And, on stage and in person (with a virtual option) I’ll be in DC on the 28th with Bina Venkataraman. I’m really looking forward to our conversation. Find out more here.

On the 23rd through the 25th, there are more live online conversations, I’ll keep you posted.

Thanks for being part of this.

22:35

21:49

Effects of classic return address tricks on hardware-assisted return address protection [The Old New Thing]

The x86-32 architecture notoriously does not offer direct access to the instruction pointer, and a common trick is to use call/pop to read the instruction pointer.

    ; read current address into register
    call    @F
@@: pop     eax     ; eax = current address

And since x86-64 does not offer an absolute jump instruction, it is a common trick to use a push/ret as a substitute.

    ; jump to absolute address
    push    0x12345678
    ret             ; jump to 0x12345678

We learned a while back that these unmatched call/ret pairs unbalance the return address predictor¹ and end up being net pessimizations.

And we recently learned that they also unbalance the hardware shadow stack, and the consequences of that are even worse: Instead of merely damaging your performance, this code doesn’t run at all because it also unbalances the hardware shadow stack, and an improper return results in an exception.

In the case of Windows, the kernel receives the exception and checks whether the code performing the invalid ret is marked as compatible with return address protection. If so, then any return address protection failure is considered fatal. If not, then the kernel tries to forgive the error by popping entries off the hardware shadow stack until it finds a return address that matches the one popped from the CPU stack. If no match is found, then the failure is treated as fatal.

If you do a push/ret, that return address you pushed is nowhere in the valid return address history, and the kernel will terminate the process.

If you do a call/pop, then you pushed an extra entry onto the shadow stack, and what happens next varies.

If your function ends with a ret, then that ret will be mismatched, and the kernel notices that it occurred inside a DLL that is marked as “not CET compatible”, so the kernel will shake its head, “oh man, here’s a weirdo”, and it will look up the stack and find the true return address one entry higher.

If your function ends with a tail call optimization that jumps to another function, then that other function’s ret will be the one that takes the mismatch exception. If that other function is in a DLL that is marked as “CET compatible”, then the kernel will say, “That’s a paddlin’” and terminate the process.

So the push/ret pattern results in a guaranteed process termination, whereas the call/pop might result in a process termination depending on how lucky you feel.

(Not recommended.)

¹ It appears that this specific pattern of call/pop is special-cased inside modern processors and does not unbalance the return address predictor stack after all.

The post Effects of classic return address tricks on hardware-assisted return address protection appeared first on The Old New Thing.

Obliviator, Part Four [Penny Arcade]

It's hard to say goodbye. So Silent Hill, but maybe also to Australia, parts of which clearly overlap.

21:00

Darksiders II Deathinitive Edition [Penny Arcade]

This is just a quick post to mention that the Darksiders II Deathinitive edition just dropped yesterday and so far I’m really impressed.  I love all the games in the Darksiders series but I think the second one is probably my favorite. It’s always been a beautiful game with excellent combat, fun traversal and awesome Zelda style puzzles. This new Deathinitive edition makes the game run in 4k at 60FPS, adds Raytracing, DuelSense controller integration and quicker load times. I’ve spent a few hours with the game so far and the upgrades are great! If you never played it I highly recommend grabbing this new version if you’re looking for a slick hack and slash action RPG. If you already played it like me these upgrades make going back totally worth it. These days it feels like a lot of games are trying to be an HBO series instead of a game and Darksiders II is simply a kick ass fucking videogame.  


-Gabe Out

 

20:35

GNU libunistring-1.3 released [Planet GNU]

Download from https://ftp.gnu.org/gnu/libunistring/libunistring-1.3.tar.gz

This is a stable release.

New in this release:

  • The data tables and algorithms have been updated to Unicode version 16.0.0.
  • New function uc_is_property_modifier_combining_mark and new constant UC_PROPERTY_MODIFIER_COMBINING_MARK.
  • Fixed a bug in the *printf functions: The %ls and %lc directives could lead to a crash on Solaris and MSVC.

19:49

Forgejo 9.0 released [LWN.net]

Version 9.0 of the Forgejo software forge system has been released. Changes include a switch to the GPLv3 license, the beginning of a quota system, the removal of go-git support, and a lot of fixes. (LWN looked at Forgejo in February).

19:28

Scarecrow’s 2024 Psychotronic Challenge: Day 16 [The Stranger]

"Stop-motion films are hard to make. Appreciate that mania today." by Suzette Smith

16. INCREMENTAL BREAKDOWN: Stop-motion films are hard to make. Appreciate that mania today.

Alice

Not all film directors love stop-motion animation, but the ones who do, love it intensely. You'll find the painstaking method snuck into plenty of films—the demon dogs in Ghostbusters (1984), the Jaguar Shark in The Life Aquatic with Steve Zissou (2004).

Full features, like Czech film director Jan Švankmajer's Alice (1988), are more rare, and even this cornerstone example of stop-motion fantasy and horror combines the movements of taxidermied animals and haunted dolls with the live-action curiosity—and unsettling lip close-ups—of young child actor Kristýna Kohoutová.

Everyone seeking a well-rounded knowledge of cinema should see Alice at least once, and those interested in animation will benefit from multiple viewings. Like with comics or animated films, the point of using stop motion is to show what can't be conveyed through traditional theatrics. 

Švankmajer was fired up by the idea that previous adaptations of Alice's Adventures in Wonderland hadn't understood the dream-like quality of Lewis Carrol's story. So his first feature unfolds with slippery, creepy logic and visual interpretations that are both non-representational and extremely right-on—the film's approach to the Caterpillar is particularly worth merit.

This would be an excellent film to re-score before a live audience or have on in the background at parties, in bars, or anywhere that might benefit from its low-context, ultra-weird visuals.

The Stranger is participating in Scarecrow Video’s Psychotronic Challenge all month long! Every October, Scarecrow puts together a list of cinematic themes and invites folks to follow along and watch a horror, sci-fi, or fantasy flick that meets the criteria. This year, Stranger staffers are joining the fun and we’re sharing our daily recommendations here on Slog! Read more about Scarecrow’s 2024 challenge—and get the watch list—here. And you can track our daily recommendations here! 💀

18:42

Huawei’s Android-free ‘HarmonyOS NEXT’ will go live next week [OSnews]

Earlier this year we talked about Huawei’s HarmonyOS NEXT, which is most likely the only serious competitor to Android and iOS in the world. HarmonyOS started out as a mere Android skin, but over time Huawei invested heavily into the platform to expand it into a full-blown, custom operating system with a custom programming language, and it seems the company is finally ready to take the plunge and release HarmonyOS NEXT into the wild.

It’s indicated that HarmonyOS made up 17% of China’s smartphone market in Q1 of 2024. That’s a significant amount of potential devices breaking off from Android in a market dominated by either it or iOS.

HarmonyOS NEXT is set to begin rolling out to Huawei devices next week. The OS will first come to the Mate 60, Mate X5, and MatePad Pro on October 15.

↫ Andrew Romero at 9To5Google

Huawei has been hard at work making sure there’s no ‘application gap’ for people using HarmonyOS NEXT, claiming it has 10000 applications ready to go that cover “99.9%” of their users’ use case. That’s quite impressive, but of course, we’ll have to wait and see if the numbers line up with the reality on the ground for Chinese consumers. Here in the est HarmonyOS NEXT is unlikely to gain any serious traction, but that doesn’t mean I would mind taking a look at the platform if at all possible.

It’s honestly not surprising the most serious attempt at creating a third mobile ecosystem is coming from China, because here in the west the market is so grossly rusted shut we’re going to be stuck with Android and iOS until the day I die.

Google is preparing to let you run Linux apps on Android, just like Chrome OS [OSnews]

Engineers at Google started work on a new Terminal app for Android a couple of weeks ago. This Terminal app is part of the Android Virtualization Framework (AVF) and contains a WebView that connects to a Linux virtual machine via a local IP address, allowing you to run Linux commands from the Android host. Initially, you had to manually enable this Terminal app using a shell command and then configure the Linux VM yourself. However, in recent days, Google began work on integrating the Terminal app into Android as well as turning it into an all-in-one app for running a Linux distro in a VM.

↫ Mishaal Rahman at Android Authority

There already are a variety of ways to do this today, but having it as a supported feature implemented by Google is very welcome. This is also going to greatly increase the number of spammy articles and lazy YouTube videos telling you how to “run Ubuntu on your phone”, which I’m not particularly looking forward to.

Washington Political Ads Are Appearing on TV for Dogs [The Stranger]

Dogs cannot vote. by Vivian McCall

There’s no way to tell you this story without acknowledging that I, a human being who does not have a dog, downloaded a television channel onto my Roku called Woof World, a 24-hour streaming app for dogs. 

There’s also no hiding the fact that on one late summer afternoon, with seven streaming channels at my fingertips, two bookshelves looming behind my head, and the beautiful weather outside, I had nothing better to do than to check out TV for dogs. 

I want to be absolutely clear about this: Although Woof World may advertise itself as “for dogs and dog lovers,” it is definitely not for people. Over a bed of somber, ambient music that rarely changes, dogs run in a “continuous stream of high-quality, engaging dog-related videos” lasting no more than 40 seconds each. They sit and pant and stick their heads out of car windows. They stand in kiddie pools and on trampolines. They lick puppies so aggressively that the puppies fall over. Mostly they sleep; sometimes in piles, sometimes alone, nestled in improvised beds of folded fabric.

Woof World says it promotes “tranquility,” which means it’s probably meant for owners to soothe anxious dogs while they’re away at work and running errands, but, in my opinion, this content insults the intelligence of dogs, which some scientists believe to be smarter than human toddlers. (On TikTok, dogs stamp out basic sentences with buttons affixed to the floor.) Clearly, our understanding of what they can and can’t do is limited. But there’s one thing I know dogs can’t do. 

Dogs cannot vote. 

Or apply makeup from Ulta. Or attend online colleges. Or buy cars. Inexplicably, Woof World advertises all of these things, presumably to dogs lulled into a state of tranquility (i.e., drooling on the couch), in a small, silent pop-up window situated in the right-hand corner of the screen. 

For example, as a puppy buried its nose into a pillow, US Congresswoman Pramila Jayapal reminded dogs about what’s at stake this November. Then, the Secretary of State instructed dogs how to mail in their ballots. Finally, the Democratic Governors Association’s Evergreen Values PAC informed dogs of Republican gubernatorial candidate Dave Reichert’s miserable record on abortion.

A good dog. Vivian McCall

There is no question that dogs are low-information voters, but I couldn’t imagine that these ads had reached their intended audience. My first thought was, “So, so funny.” My second thought was, “What the fuck?” My third thought was, “This has to be a huge waste of money.” I’m also going to take a wild guess that anyone watching a calming stream of well-shot but contextless dog videos is not in the mood for political ads.

Political consultant Ben Anderstone spit out his off-brand Cascade Ice when I asked how this could happen.

He explained that these days campaigns are spending a lot on digital ads because they have the “narrative power” of a TV ad with the benefit of being highly targeted to the individual. If done right, campaigns can “surgically pick” which households get a digital video ad to a degree that’s impossible by selecting a handful of cable channels. Streaming ads usually go out to video sites that aren’t on a blacklist. Blacklisted sites usually include gambling sites, porn sites, and (if you restrict an ad to 18+) programming for children, who, like dogs, cannot vote. 

“It’s definitely a lesson for candidates to make sure their consultants are carefully targeting their ads, even if this is a pretty strange example of it going wrong,” Anderstone said in a text.

“Now I need to check my Roku ads,” says Eileen Pollet of Ravenna Strategies, a boutique digital consulting firm. 

Pollet says Washington State prohibits state and local candidates (not federal ones) from running ads on Meta or Google, so campaign consultants are forced to spend more cash on programmatic ads that run on smart TVs and websites. Conventional consulting wisdom dictates that campaigns should buy up as many unskippable ads on reputable platforms as possible. She says Roku’s easy-to-use ad-buying platform works great for those goals, even if you’re selecting just for demographic features like gender and age instead of for particular channels or apps.

“Now I’m asking around, and everyone in the political ad-buying world thinks this is hilarious and wasn’t aware of the problem. I think this is just a lack of transparency from Roku on what inventory we are actually buying and lazy consultants (myself included) not asking the right questions,” Pollet said.

Vivian McCall

Michael Fertakis, principal consultant at Upper Left Strategies, also guessed the ads aired on Woof World for demographic reasons.

“I highly doubt any channel was the majority of their spend–probably less than a percent,” he said. “Part of this is a factor of competition–if there’s very few people purchasing ads on a channel, it’s going to be cheaper to run them there.”

I reminded him it was a television channel for dogs, and kind of useless if only dogs saw it.

“I can’t speak to that specific one,” he says with a laugh. “If I had that option, I probably would not advertise on that. It all depends on how the buy information was presented to the buyer.”

I asked the Washington State Democrats if they could tell me anything about these advertisements for dogs. Spokesperson Stephen Reed said he didn’t know much because candidates typically handle their own ad campaigns. Washington Democrats had some digital advertisements, though none aimed at dog-owners, “but we do think Kamala Harris and Tim Walz would be better for the dogs and cats across America than the alternative," he says. 

The Jayapal campaign didn’t respond to my two emails. Boo. 

At least the Secretary of State’s Office had a sense of humor. The office confirmed that it did not “target dogs on Woof World for the 'Mark the Ballot' ads” and explained that they were part of a media ad-buy with YouTube, which includes the Google TV network. Hence, it showed up on Roku.

“I get your joke about dogs not voting, but you are a voter in WA and you saw it, which is great,” said spokesperson Greg Tito. “Maybe the system is working?”

Touché? YouTube and Roku did not answer my emails, either, but I wanted to see if any ads were still running on Woof World, particularly from Jayapal and the Secretary of State. So I sat down in front of my TV for 30 minutes and tallied off ads on a notepad. For eight of those minutes, none played, and at one point the stream stuttered and then cut to black, but I still noted 31 spots.

I didn’t see a single ad from Jayapal, but ads paid for by Friends of Maria Cantwell ran three times. Four times, an ad cautioned Washingtonians (dogs) against voting for I-2124, a ballot measure that would allow Washington workers to opt-out of the state’s long-term care program and ultimately destroy it, according to all five scenarios gamed out by the Office of the State Actuary. Woof World also advertised the Mr. Clean Magic Eraser, King County Metro, Personal injury firm Bernard Law Group, the Kia EV9, Mattress Firm, the Mayo Clinic, and Dawn dish soap. As I wondered whether Republicans were advertising on Woof World, a final ad flashed across the screen before my time was up. 

It was the same spot from the Secretary of State’s Office. 

If I mark my ballot with a paw print this year, do you think they’ll certify my signature? 

[Eds note: The answer the question above is yes, but only if you also marked your state ID or driver’s license with that same paw print and then drew that same paw print in the same way every time you signed your ballot.]

17:56

Slog AM: Navy Jet Crashes Near Mount Rainier, the Stranger's Endorsements Dropped, Spokane Rabbit Horde Wreaks Havoc [The Stranger]

The Stranger's morning news roundup. by Vivian McCall

It’s never been more fall than it is right now: Brace yourselves for an atmospheric river and possible mountain snow this week. There’s a chance of rain today before 11 am, followed by a chance of showers and possible thunderstorms into the evening. Rain is likely tomorrow morning, less likely Friday before 5 pm, and pretty much a given Friday night through Monday. So much for my silly little idea to camp in mid-October.

Graphic with the forecasted rain totals today through the weekend. System over the weekend could bring significant rainfall to the area. 2024 rain total at Seattle-Tacoma airport 19.61", 5.29" below normal. 19.61" thru Oct. 15th is the 3rd driest total in last 30 years. #wawx pic.twitter.com/1YZBPR4CuU

— NWS Seattle (@NWSSeattle) October 16, 2024

Navy jet crashes near Mount Rainier: Two crew members are missing after their US Navy EA-18G Growler crashed east of the mountain during a training flight around 3:30 pm yesterday, according to the Navy. The Navy dispatched a search team to examine the crash and find the crew. The Navy has not released their names or said why the plane crashed. There’s sure to be more on this story later. 

C’mon, Boeing: The strike is in its second month, your last public offer totally sucked, and now you're planning to cut costs while your factories sit idle? There’s a way to end this, Boeing: Face the workers. Union members and elected officials, including US Sen. Maria Cantwell and US Rep. Pramila Jayapal, said as much at a Tuesday night meeting. Machinists say they will keep striking until Boeing meets their demands. There are no mediated bargaining sessions on the calendar right now.

Striking Machinists at #Boeing want their pension back.

Workers gathered for a rally Tuesday as the strike enters its second month. The Machinists want Boeing to come back to the table and increase its offer for wages and retirement benefits. pic.twitter.com/CUA7Qvx1B6

— Lauren Rosenblatt (@LRosenblatt_) October 16, 2024

Gloria Bornstein died: The artist, whose artwork dots parks and public spaces across the region, was 87. You may know her by “Neototems,” bronze whales breaching the grass at Seattle Center. 

#ArtAtTheCenter NEOTOTEMS. Gloria Bornstein, 1995.
Two bronze whales, a mother and her calf, appear to swim through the lawn bordering Seattle Center's International Fountain. pic.twitter.com/uLKHveuz40

— Seattle Center (@seattlecenter) September 21, 2020

The Stranger's November 5, 2024 General Election endorsements are out: King County Elections is mailing ballots to voters at this very moment! Once you get yours, you know what to do: Get together with a bunch of your friends on this cozy weekend, read all 18,000 words of the Stranger Election Control Board's endorsements aloud to one another—you can do popcorn style, or you can just let the performers in the group have it—and then fill out your bubbles accordingly. Don't have that kind of time? Only have three friends and none of them know each other? That's why we invented the cheat sheet. Happy voting! 

Rabbits are terrorizing a few blocks in Spokane: As I type, a “horde” is surely tearing up a neighborhood called Hillyard! The Spokesman-Review reports that we don’t exactly know how many rabbits there are or where they came from, but a roving group of 25 to 75 rabbits are eating everything and excreting “so much poop that it leaves the impression of purposefully placed gravel.” The running neighborhood theory is that a pair given as Easter presents seven or eight years ago were abandoned and left to do what rabbits do. Their black, white, and sandy fur typical of domestic rabbits supports this hypothesis. Whatever their origin story, neighbors are reportedly screaming at people who feed the rabbits, and one woman had to ask a father and his two children to leave her property one night after discovering them chasing rabbits with enormous fishing nets in her yard.

Oh, and there's a horde of 25-75 rabbits taking over Spokane's Hillyard neighborhood.

No one knows where they came from.

"They’ve lined the sidewalks of East Queen Avenue with so much poop." From @newsynicholas https://t.co/a0Gqzf0M5n

— Alexandra (Alex) Duggan (@dugganreports) October 14, 2024

ICYMI: We’re in a housing crisis, the rent is too high, and Mayor Bruce Harrell wants to snip at the social safety net with his comically large pair of scissors labeled “One Seattle,” which, as Hannah explains, could make you homeless.

Mayor out here leading with compassion https://t.co/Qe4sVXSenz

— Ashley Nerbovig (@AshleyNerbovig) October 15, 2024

Georgia shatters early voting record: More than 328,000 people cast ballots on the first day of early voting, toppling the 2020 record of 136,000. Gabe Sterling of the Georgia Secretary of State’s office tweeted that they were running out of adjectives for the spectacular turnout. I can think of many, most of which a government agency would reject as inappropriate. While I support everyone’s constitutional right to vote, in this swing state, we can only hope this is a really good sign and not a really bad one because…

Donald Trump wants to punish his “evil” enemies: Not hyperbole. He’s been saying this kind of thing for a while, but during an interview Sunday, he suggested Democrats were the “evil” enemy from within who would cause such chaos on election day that the National Guard may need to be called in. I know it’s hard for some of us to really feel anything anymore when he talks like this, but that’s an insane, unprecedented thing for a former president to say.

US turns out pockets, shrugs: The US is out of money to lend to disaster survivors, and Congress is out until after Election Day. So that's real bad timing and bad luck for all the small businesses and homeowners trying to rebuild after hurricanes Helene and Milton. Speaker Mike Johnson has said repeatedly that he has no plan to call back lawmakers early. He tossed responsibility back to President Joe Biden, who has encouraged people to keep submitting applications.

Speaking of Helene: Nearly 100 people are still missing in North Carolina.

Victims of Maine’s deadliest shooting may sue the army: Lawyers for 100 survivors and relatives of victims say if the US Army knew reservist Andrew Card had slipped into a state of paranoia, delusion, and homicidal ideation, then it had a duty to intervene before he shot and killed 18 people in Lewiston, Maine last year. It had ample opportunity, according to an independent state commission, and an autopsy report found that his brain had been profoundly damaged by blasts from routine, supposedly safe grenade training exercises. The Army will have half a year to respond before the lawyers file suit.

US threatens military aid to Israel: Israel’s campaign in Gaza has killed more than 41,000 people and displaced more than a million. The US has done more to financially support that slaughter and misery than to stop it. But Tuesday, the US military said it would cut off aid in 30 days unless Israel allows more humanitarian supplies into Gaza, which are apparently at their lowest-ever level since the war began. Though, even at the peak, aid was not enough. Prime Minister Benjamin Netanyahu’s office said in a statement that it would listen to the opinion of the US but make a final decision on Israel’s national interests.

Will the threat stop Netanyahu? His war wages on. An Israeli air attack on a government building in the southern Lebanese town of Nabatieh killed five people, including its mayor. An Israeli siege on northern Gaza continues into a 12th day, which human rights groups say has spiraled into a “horrifying level of atrocity,” according to Al Jazeera.

Secret tomb with 12 skeletons found in Jordan’s Petra: Very, very cool guys. You all must be super smart archeologists to have uncovered these secret skeletons in this undisturbed tomb, but have you seen any movie? Put them back.

17:35

Pluralistic: You should be using an RSS reader (16 Oct 2024) [Pluralistic: Daily links from Cory Doctorow]


Today's links



A rifle-bearing, bearded rebel with crossed bandoliers stands atop a mainframe. His belt bears the RSS logo. The mainframe is on a floor made of a busy, resistor-studded circuit board. The background is a halftoned RSS logo. Around the rebel is a halo of light.

You should be using an RSS reader (permalink)

No matter how hard we all wish it were otherwise, the sad fact is that there aren't really individual solutions to systemic problems. For example: your personal diligence in recycling will have no meaningful impact on the climate emergency.

I get it. People write to me all the time, they say, "What can I change about my life to fight enshittification, or, at the very least, to reduce the amount of enshittification that I, personally, experience?"

It's frustrating, but my general answer is, "Join a movement. Get involved with a union, with EFF, with the FSF. Tell your Congressional candidate to defend Lina Khan from billionaire Dem donors who want her fired. Do something systemic."

There's very little you can do as a consumer. You're not going to shop your way out of monopoly capitalism. Now that Amazon has destroyed most of the brick-and-mortar and digital stores out of business, boycotting Amazon often just means doing without. The collective action problem of leaving Twitter or Facebook is so insurmountable that you end up stuck there, with a bunch of people you love and rely on, who all love each other, all hate the platform, but can't agree on a day and time to leave or a destination to leave for and so end up stuck there.

I've been experiencing some challenging stuff in my personal life lately and yesterday, I just found myself unable to deal with my usual podcast fare so I tuned into the videos from the very last XOXO, in search of uplifting fare:

https://www.youtube.com/@xoxofest

I found it. Talks by Dan Olson, Cabel Sasser, Ed Yong and many others, especially Molly White:

https://www.youtube.com/watch?v=MTaeVVAvk-c

Molly's talk was so, so good, but when I got to her call to action, I found myself pulling a bit of a face:

But the platforms do not exist without the people, and there are a lot more of us than there are of them. The platforms have installed themselves in a position of power, but they are also vulnerable…

Are the platforms really that vulnerable? The collective action problem is so hard, the switching costs are so high – maybe the fact that "there's a lot more of us than there are of them" is a bug, not a feature. The more of us there are, the thornier our collective action problem and the higher the switching costs, after all.

And then I had a realization: the conduit through which I experience Molly's excellent work is totally enshittification-proof, and the more I use it, the easier it is for everyone to be less enshittified.

This conduit is anti-lock-in, it works for nearly the whole internet. It is surveillance-resistant, far more accessible than the web or any mobile app interface. It is my secret super-power.

It's RSS.

RSS (one of those ancient internet acronyms with multiple definitions, including, but not limited to, "Really Simple Syndication") is an invisible, automatic way for internet-connected systems to public "feeds." For example, rather than reloading the Wired homepage every day and trying to figure out which stories are new (their layout makes this very hard to do!), you can just sign up for Wired's RSS feed, and use an RSS reader to monitor the site and preview new stories the moment they're published. Wired pushes about 600 words from each article into that feed, stripped of the usual stuff that makes Wired nearly impossible to read: no 20-second delay subscription pop-up, text in a font and size of your choosing. You can follow Wired's feed without any cookies, and Wired gets no information about which of its stories you read. Wired doesn't even get to know that you're monitoring its feed.

I don't mean to pick on Wired here. This goes for every news source I follow – from CNN to the New York Times. But RSS isn't just good for the news! It's good for everything. Your friends' blogs? Every blogging platform emits an RSS feed by default. You can follow every one of them in your reader.

Not just blogs. Do you follow a bunch of substackers or other newsletters? They've all got RSS feeds. You can read those newsletters without ever registering in the analytics of the platforms that host them. The text shows up in black and white (not the sadistic, 8-point, 80% grey-on-white type these things all default to). It is always delivered, without any risk of your email provider misclassifying an update as spam:

https://pluralistic.net/2021/10/10/dead-letters/

Did you know that, by default, your email sends information to mailing list platforms about your reading activity? The platform gets to know if you opened the message, and often how far along you've read in it. On top of that, they get all the private information your browser or app leaks about you, including your location. This is unbelievably gross, and you get to bypass all of it, just by reading in RSS.

Are your friends too pithy for a newsletter, preferring to quip on social media? Unfortunately, it's pretty hard to get an RSS feed from Insta/FB/Twitter, but all those new ones that have popped up? They all have feeds. You can follow any Mastodon account (which means you can follow any Threads account) via RSS. Same for Bluesky. That also goes for older platforms, like Tumblr and Medium. There's RSS for Hacker News, and there's a sub-feed for the comments on every story. You can get RSS feeds for the Fedex, UPS and USPS parcels you're awaiting, too.

Your local politician's website probably has an RSS feed. Ditto your state and national reps. There's an RSS feed for each federal agency (the FCC has a great blog!).

Your RSS reader lets you put all these feeds into folders if you want. You can even create automatic folders, based on keywords, or even things like "infrequently updated sites" (I follow a bunch of people via RSS who only update a couple times per year – cough, Danny O'Brien, cough – and never miss a post).

Your RSS reader doesn't (necessarily) have an algorithm. By default, you'll get everything as it appears, in reverse-chronological order.

Does that remind you of anything? Right: this is how social media used to work, before it was enshittified. You can single-handedly disenshittify your experience of virtually the entire web, just by switching to RSS, traveling back in time to the days when Facebook and Twitter were more interested in showing you the things you asked to see, rather than the ads and boosted content someone else would pay to cram into your eyeballs.

Now, you sign up to so many feeds that you're feeling overwhelmed and you want an algorithm to prioritize posts – or recommend content. Lots of RSS readers have some kind of algorithm and recommendation system (I use News, which offers both, though I don't use them – I like the glorious higgeldy-piggeldy of the undifferentiated firehose feed).

But you control the algorithm, you control the recommendations. And if a new RSS reader pops up with an algorithm you're dying to try, you can export all the feeds you follow with a single click, which will generate an OPML file. Then, with one click, you can import that OPML file into any other RSS reader in existence and all your feeds will be seamlessly migrated there. You can delete your old account, or you can even use different readers for different purposes.

You can access RSS in a browser or in an app on your phone (most RSS readers have an app), and they'll sync up, so a story you mark to read later on your phone will be waiting for you the next time you load up your reader in a browser tab, and you won't see the same stories twice (unless you want to, in which case you can mark them as unread).

RSS basically works like social media should work. Using RSS is a chance to visit a utopian future in which the platforms have no power, and all power is vested in publishers, who get to decide what to publish, and in readers, who have total control over what they read and how, without leaking any personal information through the simple act of reading.

And here's the best part: every time you use RSS, you bring that world closer into being! The collective action problem that the publishers and friends and politicians and businesses you care about is caused by the fact that everyone they want to reach is on a platform, so if they leave the platform, they'll lose that community. But the more people who use RSS to follow them, the less they'll depend on the platform.

Unlike those largely useless, performative boycotts of widely used platforms, switching to RSS doesn't require that you give anything up. Not only does switching to RSS let you continue to follow all the newsletters, webpages and social media accounts you're following now, it makes doing so better: more private, more accessible, and less enshittified.

Switching to RSS lets you experience just the good parts of the enshitternet, but that experience is delivered in manner that the new, good internet we're all dying for.

My own newsletter is delivered in fulltext via RSS. If you're reading this as a Mastodon or Twitter thread, on Tumblr or on Medium, or via email, you can get it by RSS instead:

https://pluralistic.net/feed/

Don't worry about which RSS reader you start with. It literally doesn't matter. Remember, you can switch readers with two clicks and take all the feeds you've subscribed to with you! If you want a recommendation, I have nothing but praise for Newsblur, which I've been paying $2/month for since 2011 (!):

https://newsblur.com/

Subscribing to feeds is super-easy, too: the links for RSS feeds are invisibly embedded in web-pages. Just paste the URL of a web-page into your RSS reader's "add feed" box and it'll automagically figure out where the feed lives and add it to your subscriptions.

It's still true that the new, good internet will require a movement to overcome the collective action problems and the legal barriers to disenshittifying things. Almost nothing you do as an individual is going to make a difference.

But using RSS will! Using RSS to follow the stuff that matters to you will have an immediate, profoundly beneficial impact on your own digital life – and it will appreciably, irreversibly nudge the whole internet towards a better state.


Hey look at this (permalink)


* You Can't Make Friends With The Rockstars https://www.wheresyoured.at/rockstars/



A Wayback Machine banner.

This day in history (permalink)

#20yrsago Sony bullies Retropod off the net https://web.archive.org/web/20041018040446/http://www.retropod.com/

#15yrsago This Side of Jordan – Violent jazz age novel by Charles M Schulz’s son Monte https://memex.craphound.com/2009/10/16/this-side-of-jordan-violent-jazz-age-novel-by-charles-m-schulzs-son-monte/

#10yrsago FBI chief demands an end to cellphone security https://www.nytimes.com/2014/10/17/us/politics/fbi-director-in-policy-speech-calls-dark-devices-hindrance-to-crime-solving.html

#10yrsago Please, Disney: put back John’s grandad’s Haunted Mansion tombstone https://thedisneyblog.com/2014/10/16/petition-to-return-a-lost-tombstone-to-the-haunted-mansion/

#10yrsago How Microsoft hacked trademark law to let it secretly seize whole businesses https://www.wired.com/2014/10/microsoft-pinkerton/

#10yrsago If you think you’ve anonymized a data set, you’re probably wrong https://web.archive.org/web/20141014172827/http://research.neustar.biz/2014/09/15/riding-with-the-stars-passenger-privacy-in-the-nyc-taxicab-dataset/

#10yrsago The lost cyber-crayolas of the mid-1990s https://memex.craphound.com/2014/10/16/the-lost-cyber-crayolas-of-the-mid-1990s/

#5yrsago “The People’s Money”: A crisp, simple, thorough explanation of how government spending is paid for https://neweconomicperspectives.org/2019/10/the-peoples-money-part-1.html

#5yrsago What it’s like to have Apple rip off your successful Mac app https://memex.craphound.com/2019/10/16/what-its-like-to-have-apple-rip-off-your-successful-mac-app/

#5yrsago Blizzard suspends college gamers from competitive play after they display “Free Hong Kong” poster https://www.vice.com/en/article/three-college-hearthstone-protesters-banned-for-six-months/

#5yrsago Terrified of bad press after its China capitulation, Blizzard cancels NYC Overwatch event https://www.bloomberg.com/news/articles/2019-10-15/blizzard-cancels-overwatch-event-as-it-tries-to-contain-backlash

#5yrsago A San Diego Republican operator ran a massive, multimillion-dollar Facebook scam that targeted boomers https://www.buzzfeednews.com/article/craigsilverman/facebook-subscription-trap-free-trial-scam-ads-inc

#5yrsago Britain’s unbelievably stupid, dangerous porn “age verification” scheme is totally dead https://arstechnica.com/tech-policy/2019/10/uk-government-abandons-planned-porn-age-verification-scheme/

#5yrsago Not only is Google’s auto-delete good for privacy, it’s also good news for competition https://memex.craphound.com/2019/10/16/not-only-is-googles-auto-delete-good-for-privacy-its-also-good-news-for-competition/

#5yrsago Edward Snowden on the global war on encryption: “This is our new battleground” https://www.theguardian.com/commentisfree/2019/oct/15/encryption-lose-privacy-us-uk-australia-facebook

#5yrsago In Kansas’s poor, sick places, hospitals and debt collectors send the ailing to debtor’s prison https://features.propublica.org/medical-debt/when-medical-debt-collectors-decide-who-gets-arrested-coffeyville-kansas

#5yrsago Want a ride in a Lyft? Just sign away your right to sue if they kill, maim, rape or cheat you https://memex.craphound.com/2019/10/16/want-a-ride-in-a-lyft-just-sign-away-your-right-to-sue-if-they-kill-maim-rape-or-cheat-you/

#5yrsago #RedForEd rebooted: Chicago’s teachers are back on strike https://www.thenation.com/article/archive/union-strike-chicago-teachers/

#1yrago One of America's most corporate-crime-friendly bankruptcy judges forced to recuse himself https://pluralistic.net/2023/10/16/texas-two-step/#david-jones


Upcoming appearances (permalink)

A photo of me onstage, giving a speech, holding a mic.



A screenshot of me at my desk, doing a livecast.

Recent appearances (permalink)



A grid of my books with Will Stahle covers..

Latest books (permalink)



A cardboard book box with the Macmillan logo.

Upcoming books (permalink)

  • Picks and Shovels: a sequel to "Red Team Blues," about the heroic era of the PC, Tor Books, February 2025
  • Unauthorized Bread: a middle-grades graphic novel adapted from my novella about refugees, toasters and DRM, FirstSecond, 2025



Colophon (permalink)

Today's top sources:

Currently writing:

  • Enshittification: a nonfiction book about platform decay for Farrar, Straus, Giroux. Today's progress: 818 words (64779 words total).
  • A Little Brother short story about DIY insulin PLANNING

  • Picks and Shovels, a Martin Hench noir thriller about the heroic era of the PC. FORTHCOMING TOR BOOKS FEB 2025

Latest podcast: Spill, part one (a Little Brother story) https://craphound.com/littlebrother/2024/10/06/spill-part-one-a-little-brother-story/


This work – excluding any serialized fiction – is licensed under a Creative Commons Attribution 4.0 license. That means you can use it any way you like, including commercially, provided that you attribute it to me, Cory Doctorow, and include a link to pluralistic.net.

https://creativecommons.org/licenses/by/4.0/

Quotations and images are not included in this license; they are included either under a limitation or exception to copyright, or on the basis of a separate license. Please exercise caution.


How to get Pluralistic:

Blog (no ads, tracking, or data-collection):

Pluralistic.net

Newsletter (no ads, tracking, or data-collection):

https://pluralistic.net/plura-list

Mastodon (no ads, tracking, or data-collection):

https://mamot.fr/@pluralistic

Medium (no ads, paywalled):

https://doctorow.medium.com/

Twitter (mass-scale, unrestricted, third-party surveillance and advertising):

https://twitter.com/doctorow

Tumblr (mass-scale, unrestricted, third-party surveillance and advertising):

https://mostlysignssomeportents.tumblr.com/tagged/pluralistic

"When life gives you SARS, you make sarsaparilla" -Joey "Accordion Guy" DeVilla

16:21

The Stranger’s Endorsements for the November 5, 2024 General Election [The Stranger]

Vote Now. It Might Be Your Last Chance. by Stranger Election Control Board

Alright, alright, stop panicking over the swing state polling for one second and listen up. The most important election since the last one is upon us, and the choice between voting for Vice President Kamala Harris and the worst American in recent memory is only one of the extremely consequential decisions you will have to make on this hell ballot. 

Right off the bat, you’ll have to face the Four Initiatives of the Apocalypse. They’ll cut billions in education funding, billions in funding for transit and clean energy programs, completely destroy a long-term health care benefit that we’ll all rely on sooner than we think, and ensure that Washington remains forever dependent on fossil fuels. Not good! Not good at all! 

After we reject all that bullshit, we need to pick members of Congress who will either help Harris deliver for the people or else serve as a bulwark against the last President of the United States. 

At the state level, we need to build a blue wall of executives to shield against attacks from a possible Trump administration and a Republican-controlled Congress, or, if our better angels prevail, to effectively implement the laws our lawmakers pass. 

Speaking of those lawmakers, we have the chance to give Democrats supermajorities in the State Legislature, which they could use to fix some major problems for once in their lives! That’s fun! As is the prospect of voting for a State Supreme Court Justice who isn’t a barely closeted Republican!!

And down at the municipal level, we have the opportunity to do the funniest thing ever. We can replace an ineffective conservative city council member with an effective progressive city council member and show the current council that they only achieved their conservative majority thanks to big checks from corporations and the voter suppression inherent in holding city elections on odd-numbered years. Oh, and there’s a hugely important transportation levy we need to pass so that we can have sidewalks to walk on, to roll on, and to chalk up with abolitionist slogans. 

That’s a lot to consider! But that’s why the Stranger Election Control Board is here. We spent the last few months grilling candidates, analyzing platforms, digging up dirt, reading with great interest about the particulars of forest management and utility planning practices, and writing strongly worded emails, all to help you fill out your ballot swiftly and correctly. 

As ever, below you’ll find all the arguments we marshaled in support of our endorsements. If you don’t have time to read all of our bratty hectoring, then just jump straight to the Cheat Sheet.  

Your ballot should land in your mailbox soon. If you do not see it by October 21, then contact King County Elections as soon as possible to find out what the hell is going on. (You can reach them by phone at 206-296-VOTE [8683] or by email at elections@kingcounty.gov.)

If you’re not registered to vote, then register online or by mail any time through October 28. If you’re unsure about your registration status, then check VoteWA

Once that big, thick ballot arrives, rip it open, select your favorite pen–any color will do!—and fill in the bubbles we tell you to fill in. Then slide the ballot into its funny little Hot Pocket sleeve, stuff the whole thing into the envelope, and then drop it in the mail by November 1st—no need for a stamp. If you’ve always wanted to be a mail carrier, or if you just like a little walk through the neighborhood, then skip the snail mail and slide your ballot into a nearby drop box no later than Tuesday, November 5 at 8 pm.

And if all of this love and support and information makes you feel good on the inside, then please consider sending us a nice little tip! We know we just got bought by a rich guy, but he’s kind of banking on continued financial support for our readers. 

The Stranger Election Control Board is Hannah Krieg, Vivian McCall, Charles Mudede, Ashley Nerbovig, Megan Seling, Rich Smith, a working family, and Hannah Murphy Winter. The SECB does not endorse in uncontested races or in races we forgot. 

Initiative Measure No. 2066
No

Before we dig into the particulars of each of these initiatives, you need to know a couple things up front. First, all of these measures more or less repeal laws that your duly elected officials passed in the last few years. Second, none of the laws are as cool as "Let’s Go Washington" makes them out to be. 

What is Let's Go Washington? Let us briefly explain. 

After the Republicans sold their brains to Donald Trump, they discovered that they could not win majorities in Washington State government. In an attempt to assert minority rule here, a wealthy hedge fund manager named Brian Heywood grabbed the torch from convicted campaign finance violator Tim Eyman and decided to try burning the government to the ground via the state’s easily gameable initiative process. 

So Heywood founded a PAC called "Let's Go Washington" and dropped a few million dollars to fund signature-gathering campaigns to kill several laws that he and his rich friends didn't like, mostly because they cut into the profits that he and his rich friends do like. Four of those initiatives ultimately made it to the ballot. 

Now, Heywood and his industry backers probably know they can’t win their arguments on the merits, but they might be able to use their considerable wealth to trick 50.01 percent of the state’s voters into believing a whole lot of bullshit, and so here we are voting on I-2066, an electrification ban that they’re framing as the repeal of a gas ban. And if these absolute virgins win ANY of these initiatives, then they will keep spending their pocket change to gum up the political process in this state until the end of our days. 

For that reason alone, you should vote NO on I-2066 and the rest of these initiatives on this ballot, but if you need other reasons, then let’s get into it. 

As we mentioned earlier, conservatives spin I-2066 as a repeal of a “natural gas ban” that state lawmakers passed earlier this year. We fucking wish state lawmakers banned “natural” methane gas this year, but they did not. 

Here’s what happened. Back in 2008, legislators passed a law to reduce greenhouse gas emissions by certain amounts over the course of a number of years. In 2020, they updated that law. All told, the law says we need to reduce emissions by 95 percent in about 25 years. 

If Heywood and his buds really wanted to repeal a “gas ban,” then they would try to repeal that old/updated law. But even they know they’ll lose if they try to tilt their lances at our pollution reduction goals, so instead they’re trying to stop the state from actually doing anything to achieve that goal. 

One of the many things the state actually did to help achieve that goal was pass a bill to require Puget Sound Energy (PSE), “one of the largest producers of greenhouse gas pollution in the state,” to “plan for a plan” to do its part to reduce emissions in a way that doesn’t screw over poor people, to quote the bill’s sponsor, Democratic state Senator Joe Nguyen. 

The nerdier summary of the legislation will mean even less to you, unless you work in middle management at a utility company: Instead of forcing PSE to continue sending regulators separate plans to manage its electric and gas lines, this bill streamlines that process by allowing the company to send along a joint gas and electric plan. It’s classic, incremental, business-friendly climate policy. 

The bill came about because, though the initiative-backers don’t want to admit it, decarbonization is already happening. According to PSE, natural gas use is already “down 7% for residential and 3% for commercial customers in 2023 and forecasted to continue to decline over the next five years.” Accordingly, "Electricity use is increasing and forecasted to continue to rise." 

The utility needs to plan for this decline in a way that doesn’t leave people with low incomes in the lurch. If they don’t make those plans, then prices for some people hooked on natural gas could shoot up as much as 900 percent, according to one former California utility commissioner, as everyone else switches to more energy-efficient appliances. 

I-2066 would repeal key parts of the law that give PSE some tools to prevent those kinds of crazy price spikes, better serve customers, and protect the environment all at the same time. For instance, the initiative kills a provision that allows the PSE to ask regulators if it could pretty please offer incentives to customers in certain areas to switch to electric appliances rather than, say, having to replace a bunch of costly, aging gas infrastructure just to serve a few people. 

Because the bill gives PSE tools like that to decarbonize, initiative-backers are calling it “a gas ban,” but it’s just not. Unfortunately, state law requires PSE to provide natural gas to any customer with gas hookups who wants it. The law that I-2066 partly repeals does not change the utility’s “obligation to serve” those customers, so it’s not a fucking gas ban, and every time they say it’s a fucking gas ban, they’re betting you’re a fucking idiot who doesn’t know how to read. 

Anyway, the initiative does something worse than making PSE more climate friendly: It actually adds language that forbids the state from doing anything to “in any way prohibit, penalize, or discourage the use of gas for any form of heating, or for uses related to any appliance or equipment, in any building.” In other words, this initiative would prevent the state from trying to electrify anything in any building, despite the fact that emissions from buildings represent a quarter of our greenhouse gas pollution. It’s pure climate arson. 

But this initiative’s supporters don’t want you to focus on that reality. They want to keep you hooked on fossil fuels. To scare you into thinking that’s a good idea, they fearmonger about the upfront cost of electric appliance conversions. However, as we’ve mentioned, the state isn’t forcing anyone to electrify their homes or businesses. It does offer lots of generous subsidies for those interested in doing so, but if this initiative passes, then those subsidies will be just one lawsuit away from evaporating–along with our dreams of a cleaner, greener Washington. Vote no. 



Initiative Measure No. 2109
No

This crackpot initiative would repeal the state’s new capital gains tax and cut $2.2 billion for education, early learning services, and child care at a time when schools across the state face huge deficits. 

Aside from dramatically reducing funding for schools, passing this initiative would help restore Washington’s status as the state with the most unfair tax code for poor people, all in the service of helping our wealthiest residents dodge a tax that their accountants might mistake as a rounding error. 

The capital gains tax skims 7 percent in profits from stocks and bonds and other assets over $262,000. Unfortunately, the tax doesn’t apply to the sales of homes, small businesses, farm land, farm equipment, livestock, timberland, commercial fishing, and auto dealership sales, so it hits fewer than 4,000 people in a state of 8 million, a little less than half of whom file taxes. If you’re reading this, then there’s a 99.9% chance that you do not pay this tax. 

The arguments that right-wingers use to support this initiative match the ones they used against the tax as it ping-ponged around the Legislature for ten years, but let’s rehearse them again for old times’ sake. They argue wealthy people “may relocate” due to the tax, but studies have shown that people don’t often move as a result of state taxes. That makes a lot of sense for this tax in particular, given that 41 other states also impose a capital gains tax.

The right also says the tax “makes our state less competitive.” That doesn’t seem to be the case. In 2024, Oxford Economics ranked Seattle the 4th best city in the world based on our “economics.” The top three cities were located in California and New York, both of which levy capital gains taxes. 

Finally, Republicans also argue that the capital gains tax is a slippery slope to an income tax. Again, WE WISH. Last session, the Democrats, who control all branches of government, adopted a Brian Heywood-funded initiative that banned the passage of an income tax in Washington state. So state lawmakers can’t even do the cool thing and pass an income tax to put the question to the State Supreme Court anyway. Fuck that. Vote no. 

Initiative Measure No. 2117
No

This initiative would repeal the Climate Commitment Act (CCA) and prohibit the state from ever implementing a similar law, cutting billions of dollars in funding for transit programs, ferries, clean energy projects, air quality improvement, and a bunch of other stuff that’s good for the environment and for the organisms who live in it, including the filthy rich psychopaths who got this initiative on the ballot. 

The CCA established a cap-and-trade system similar to the ones run by a collection of northeastern states, the European Union, and California-Quebec. Our version aims to lower Washington’s carbon emissions by 95 come 2050 in accordance with state law. To help hit that target, the state sets an emissions cap and then regularly holds auctions where polluters can buy and sell permits that allow them to comply with the cap while continuing to pollute. As the cap lowers, the price of these allowances rises, which incentivizes polluters to find ways to lower their emissions. Voila, a market-based way to curb carbon emissions. 

Since this system launched in 2023, it’s generated more than $2 billion, which the state plowed into a bunch of accounts and subaccounts that are too boring to describe. Importantly, 35 percent of the money must “provide a direct benefit to vulnerable populations within overburdened communities” and “10 percent of auction funds must be used for projects with Tribal support.” 

So far, proceeds from this bill have funded free transit for all Washingtonians under the age of 19, electric school buses, electric vehicle chargers, air quality monitoring, and a $200 electricity bill rebate for thousands of Washington families. The rest of the spending plan, which is quite long, includes grants to fund public transit, bike lanes, sidewalks, solar projects, and green infrastructure jobs. There’s also millions to help people weatherize their homes and switch to energy-efficient heat pumps; millions for fish passage projects, habitat restoration, and Native land-back initiatives; millions for shore power electrification and electric ferries; and half a billion for clean buildings. 

The right’s entire argument in support of setting a match to all that goes like this: 1) We think the CCA raised gas prices by 40 cents, and we cannot abide such a horror. 2) We shouldn’t fight climate change in Washington because our carbon emissions amount to a drop in the bucket compared to China and India and blah blah blah. 

To support their first point, they cite a Seattle Times analysis of numbers from the Oil Price Information Service showing gas prices steadily climbing from Jan 2023 and spiking in June of 2023 at 50 cents more per gallon. Washington’s prices ran higher than Oregon’s during that time period, and so the Oil Price Information Service blamed the CCA for the rise.

It may be true that fossil fuel companies passed along some, all, or much more than all of the compliance costs to consumers while raking in huge profits in 2023, but we can’t know for sure because the Legislature failed to pass a bill that would have given us insight into those numbers. However, the Clean and Prosperous Institute looked at WA’s gas prices for all of 2023–not just the first six months like the Oil Price Information Service did–and found that the 50-cent spike was an outlier, and that “the full-year average (including July) was just 13.4 cents per gallon.” And, according to AAA, Washington tallied its highest-ever recorded gas price in 2022–a year before the state implemented the CCA. 

But let’s accept for the moment that oil companies saddled consumers with higher gas prices because they’ll take any and every excuse to do that. Repealing this law will blow a massive hole in the state’s 16-year transportation budget, and state lawmakers will absolutely raise the gas tax to help fill that gap because they sure as hell aren’t going to refrain from buying the ferries they need to buy or from fixing the bridges they need to fix just because some rich people didn’t want fossil fuel companies to pay to pollute. With the CCA intact, at least we get investments in transit options that will help us stop using our cars so much, plus more energy-efficient appliances that will save us money, oh, and CLEANER FUCKING AIR TO BREATHE. 

As far as the right’s baby-brained comparison between emissions in Washington and China goes: Sure, yeah, it’s true, Washington’s current emissions amount to a drop in the bucket compared to China’s. But obviously, greenhouse gasses are cumulative–it actually does help not to put more of that shit in the air. Moreover, we set the pace for other states and smaller countries around the world. If we prove that this model can work to curb emissions, then others will catch on, and we’ll have a cleaner, greener world for all. Vote no. 

Initiative Measure No. 2124
No

Though our present gerontocracy suggests otherwise, we’re currently wading through the largest wave of people hitting the retirement age in American history. This “silver tsunami” wildly increases the demand for long-term health care, which is a nice way of describing the kind of care that involves paying someone to come wipe asses, pull up pants, and generally help our sick and dying family members age with dignity while the rest of us toil away at our jobs. 

Seventy percent of us will need this care after age 65, but less than 5 percent of us buy it on the private market because the premiums are sky-high and growing higher, the coverage is skimpy and getting skimpier, and people with serious pre-existing conditions are, for the most part, ineligible. People assume Medicare will cover this kind of care, but it doesn’t really. Medicaid kinda does, but to access that care you need to spend down your life savings and literally impoverish yourself, which isn’t exactly ideal. Moreover, if a bunch of our elders impoverished themselves just to qualify for Medicaid, they’d basically bankrupt the state. 

That’s where WA Cares comes in. At this very moment, around 3.9 million working Washingtonians are paying 58 cents on every 100 dollars we make for a first-in-the-nation long-term health care benefit. Come 2026, the state will grant anyone who pays into it $36,500, which will increase with inflation, to deal with stuff that medical insurance doesn’t normally pay for. 

If an auntie comes over ten hours a week to help dad get around, then he can use this money to pay her for that. If mom’s getting too old to cook for herself, then she can use this money to have meals delivered. And if your bright and youthful self needs money to pay for a temporary caregiver and an ADA-compliant home after getting hit by a car while crossing E. Olive Street and Harvard Avenue because the Seattle Department of Transportation took its SWEET ASS TIME painting a crosswalk there, then you can tap this benefit to pay for all that, too. 

But not if this initiative passes. Rather than automatically paying into the benefit, just like Social Security or anything else, I-2124 would force all workers to voluntarily opt into it. Imposing this new rule would likely lead to lots of people dropping from the benefit or never signing up to begin with, which will kill the whole thing. An analysis from the Office of State Actuary ran five different scenarios if this initiative passes, and every one of them led to the insolvency and elimination of the benefit by 2027.

But we wouldn’t just lose the benefit that so many of us are paying into. The state would have to hire people to slowly tear down the system, which would cost between $12.6 and $31 million per year over the course of three years, according to an analysis from the Office of Financial Management. In essence, this initiative would make us pay to fuck ourselves, which we only like doing for free, thank you very much. 

The destruction of this benefit would come down hardest on women in general and on women of color in particular, a disproportionately high number of whom work as unpaid caregivers. It’d also fuck over the LGBTQ community, which faces high rates of financial insecurity and is less likely to have family around to help out as they age. 

The right-wingers who back this initiative have never seen a safety net they didn’t want to shred to pieces, so they dance around the catastrophic fallout that would result from WA Cares’ failure and argue that this initiative simply aims to offer workers a choice. But the choice is a false one–as we mentioned, the miniscule private long-term health care insurance market is totally broken, and, oh yeah, it charges women up to 70 percent more than men. 

Others rightfully groan about the relatively low amount of the benefit–$36,000 tied to inflation. We hear ya. We, too, would like a universal health care system that takes care of everything. But until then, we’ll have to deal with Social Security, Medicare, Medicaid, and all these other earned benefits that don’t quite cover the full cost of everything we need to simply live. Vote no. 

US President 
Kamala Harris and Tim Walz 

We here on the Stranger Election Control Board assume that every voter who picks up our (legally binding) voter’s guide wants to vote. In that spirit, you should vote for Kamala Harris and Tim Walz over Donald Trump. 

As president, Harris promises to do whatever polls well at the moment with certain key demographics in certain key states that she needs to win because this country still uses an antiquated and racist election system to pick its top executive. But it’s not like that means she’s offering nothing that will directly improve our lives. 

In general, she wants to make permanent a lot of stuff that worked during the first few years of the COVID crisis. She aims to restore the $3,600-per-kid tax credit and raise it to $6,000 per kid for the first year of their lives, which will take a big chunk out of child poverty. 

For the childless cat ladies among us, she wants to expand the $1,500 Earned Income Tax Credit to a larger swath of working people. She also plans to keep the Obamacare tax credits and cap insulin prices at $35 for everyone, not just the elderly. Vowing to “build on” all the good work the Biden administration did for the climate, she’ll keep juicing the green energy economy and giving us money for switching to more energy-efficient appliances. 

To prove she’s heard our cries about the housing crisis, she will attempt to increase a tax credit that makes affordable housing easier to build, give a tax cut to developers who build homes that “working families” can afford, crack down on price-fixing landlords, offer $25,000 to help cover the downpayment on a first home, and give tax breaks to startups and to manufacturing companies who keep jobs in the country, all while “cutting red tape” to boost housing production and new business applications. 

Of course, every one of those insufficient but noble policy goals requires Democratic majorities in the House and Senate, which she is very unlikely to get. As president, she has much more control over agency rulemaking, immigration, and national security. On those issues, she has much less to say about what she’ll do with her power. Higher-education advocates question her support for canceling more student debt than Biden. She and every other Democrat made a hard-right turn on immigration. Her foreign policy strategy does not appear to depart with Biden’s in any meaningful way.

But no other candidate on the ballot has a snowball’s chance in hell of beating former President Donald Trump, who holds the most insane stance you could possibly hold on every single one of those issues, whose stated policy proposals will dramatically increase inflation, end American democracy as we know it, and endanger the lives of every marginalized group in the country, including the deluded bumpkins who hold him up as their savior. So you should also vote for Harris and Walz in the spirit of stopping a fucking wannabe fascist dictator from taking over the fucking country again, only this time for good. 

Many of you may have understandably blacked out the Trump years, or maybe some of you weren’t that tapped into politics back then. You didn’t wake in a cold panic to the push-alert about the Muslim ban and then rush to rally at the airport, didn’t fill with rage as you listened to audio of a border patrol officer belittling babies as they cried out for the mothers they’d been torn away from, didn’t spend evenings at town halls trying to convince Republicans to stop trying to kick millions of people off of their health insurance, didn’t watch your rent rise as Trump signed massive tax cuts for corporations and the wealthy, didn’t go bankrupt as his education secretary fucked over student loan borrowers, didn’t go hungry when he made food stamps harder to get, didn’t have to tighten your belt as he undermined worker protection after worker protection, didn’t light a candle for Mother Earth as he gutted nearly every environmental protection he could find, didn’t protest as he set the stage for the genocide in Gaza, didn’t start forking over hundreds of dollars you couldn’t afford to abortion funds and the like as he filled the Supreme Court with Heritage Foundation goons, didn’t talk to literally any woman during the Brett Kavanaugh hearings, didn’t wake up more or less on edge every day for four years, thinking it plausible that at any given moment that fucking moron in the White House could start World War III on a whim. Well, it fucking sucked. And with Project 2025 giving him a blueprint for putting more power in his hands, it’s going to fucking suck more. 

And make no mistake: Trump is still no friend to anyone but himself, and he’s definitely no friend to the left. In his 4th of July address, he compared “the radical left” to Nazis and vowed to target “the Marxists, the anarchists, the agitators, the looters.” He also “promised to crush pro-Palestinian protests on college campuses” and to deport any protesters from foreign countries. Remember the “snatch vans” during the 2020 protests? Those rolled out under Trump’s administration. In October of this year, he doubled down on all of that, flagging for “removal” anyone who he deems antisemitic, including pro-Palestine protesters, journalists, and members of the Democratic Party.

The left’s first order of business is to stop the rise of fascism. Voting for the person who is most likely to bury a fascist’s political career will help do that. 

Yes, Harris’s decision to continue enabling Israel’s genocide of Palestinians in Gaza presents voters of conscience with an urgent moral question. But we live in a fallen world. Voting in the general election is a zero sum game, it’s realistically a binary choice, and picking the lesser of two evils is actually a worthwhile thing to do, especially when, in this case, the more evil one will make sure you never get the chance to make that choice again. He already tried to stop the peaceful transition of power last time. If we hand him the presidency after inspiring an insurrection and trying to work the refs to overthrow the results, then there won’t be another transition until he dies. 

Sure, Washington reliably votes for the Democratic presidential candidate, so your decision to skip that race won't directly lead to the election of a madman who wants you dead. But by that same logic, not voting for Harris really doesn’t make much of a statement, either. Some local consultant might remark that Harris lost a few thousand votes relative to Biden in Washington, maybe, and that will be the end of that. So, in that context, how big of a moral stand is a protest vote for Jill Stein? How little of a “reward” are you denying the establishment? 

Conversely, a vote for Harris will make your voice stronger when you do–as we all should do–continue to push her administration to stop sending arms to Israel until they agree to a ceasefire. A vote for Harris could lend you credibility when you try to convince your family members and friends in swing states to vote for her. And, perhaps most importantly, electing Harris will prevent the likes of Mayor Bruce Harrell and Council President Sara Nelson from becoming the faces of the #Resistance like Jenny Durkan, Ed Murray, and the rest of those losers were during those dark and cringy pussy hat days. 

It’s not much, but in the general election under the electoral college in Washington State, that’s about as much as a presidential vote counts. Vote Harris and Walz. 

United States Senator
Maria Cantwell 

Returning US Senator Maria Cantwell to Congress will contribute to a Democratic majority that we need to obstruct a Trump administration or else help a Harris administration move policy forward, which is good. But we’ll be honest: Cantwell’s not our favorite Democrat. We can’t help but fantasize about her retiring and then watching Congresswoman Pramila Jayapal take her place. That said, Cantwell has made some moves we gotta respect.

She was the brains behind the CHIPS and Science Act of 2022, which may create 4,000 new semiconductor manufacturing jobs right here in the U.S. of A. Thanks to her, the University of Washington snagged a cool $10 million to train the future semiconductor whizzes. 

She hasn’t shied away from calling out Boeing for their lackadaisical oversight and their airplane doors popping off mid-flight, which we appreciate. 

She also collabed with Republican US House Rep. Cathy McMorris Rodgers this year on the American Privacy Rights Act, which would set national data privacy rights and hold violators accountable. We would like the strongest possible privacy rights to protect data in our period-trackers, our step-counter apps, and our OnlyFans watch history. That shit’s between us and God, not advertisers, cops, or any other third party. If we give her another term, Cantwell will keep fighting to get that bill across the finish line

Let’s get one thing straight, though: Neither one of Washington’s senators has done enough to stop the genocide in Gaza. A senator with a conscience would make quicker, clearer, and more frequent calls for a ceasefire, and they would block weapons to Israel at every turn. Cantwell has utterly failed on that front. 

But we don’t think her competition, Republican Raul Garcia, will serve as a more passionate advocate for Palestinian liberation. For example, in a July Q & A, he said he would not set stricter conditions for sending bombs to Israel.

Besides, he’s shady as fuck. He’s vowed to stay neutral in the upcoming presidential race, which means he wants Trump to win. If elected, Garcia said he would support the agenda of whichever presidential candidate wins, which he thinks is the role of Congress, which is funny because the role of Congress is to serve as a check on the Executive branch, but whatever. 

The point is: If Trump wins, then we want senators who push back on his bullshit, not senators who bend over and take it. Heck, if Harris wins, then we want senators who push back on her bullshit, too! We don’t have that option in these two candidates, but, still, Cantwell’s the best choice. Vote Cantwell. 

United States Representative
Congressional District No. 1
Suzan DelBene

Well well well, what can we say about Congresswoman Suzan DelBene that anyone will remember five minutes from now? 

The earmarks she secured this year include enough money to finally complete the big Food and Farming Center up in Snohomish County, which will serve as a big ag hub and farmer’s market to help local growers distribute food from northwest Washington to the rest of the region. That sounds nice–as does the money to preserve some marshlands, upgrade some water infrastructure in Bothell, and design the Ash Way light rail station up in Everett. 

If we send her back to Congress for a seventh term, she vows to continue trying to pass legislation that polls well, such as bills to give people tax breaks for having children and developers tax breaks for building affordable housing. 

She heads up the Democratic Congressional Campaign Committee (DCCC) because she’s apparently good at raising a lot of money and she enjoys the security of a safe blue seat. That’s kinda fun. 

For all her incrementalism and moderation, she’s a hell of a lot better than Republican Jeb Brewer, whose name and politics appear to derive from some generic GOP candidate generator. He’s mad about inflation, he’s mad about electric vehicles, and he thinks homelessness is a mental health/drug problem first and not a housing problem first. He’s also apparently a little bit of a moron. On his website, he argues that “Washington and our country are worse off today than two year [sic] ago,” which is why he’s running. Well, Jeb, we’re just humble cosmopolitans living in cities you call “decaying,” but we do know that a bunch of obstructionist Republicans took over the House two years ago, which partly explains why we’re worse off now. Do us all a favor and stop contributing to that problem. Vote DelBene. 

United States Representative
Congressional District No. 7
Pramila Jayapal 

One of the reasons why we get so pissed about local conservatives identifying as “practical progressives” is because “practical progressives” actually do exist, and four-term Congresswoman Pramila Jayapal is one of them. 

As chair of the Congressional Progressive Caucus, she led the bloc of nearly 100 members as they rolled out the Progressive Proposition Agenda, which tried to push Biden to the left on climate, the economy, and everything else. 

When the Republicans are in charge, as they have been for the last couple of years, Jayapal tries to get things done by introducing bipartisan legislation. Recent efforts include bills to tamp down on anticompetitive hospital mergers, reduce wasteful war spending, and restore at least a little trust in Congress by preventing its members from owning and trading stocks. 

In lean times, she’s also not afraid to use the bully pulpit. She recently joined the Boeing machinists on the picket line to stand up for workers’ rights, and she regularly appears on TV to defend and advance progressive positions on immigration, Gaza, and data privacy. And after the Israeli Defense Forces killed Aysenur Ezgi Eygi, a University of Washington graduate who protested illegal settlement expansion in the West Bank, Jayapal joined forces with US Senator Patty Murray to write a letter demanding an investigation, signed onto another letter with 102 members of Congress demanding the same, and followed up with a fiery press release in early October when she didn’t see any movement from the State Department on that front. 

Give her a blue president and senate, and she’ll keep pushing to cancel more student debt, secure a lasting ceasefire in Gaza, reform the Supreme Court, increase protections for LGBTQ communities, and win higher pay for workers. 

Meanwhile, her Republican opponent, Dan Alexander, is basically nutso. Over the phone, he tells us he’s probably voting for Donald Trump this year because RFK Jr. supports Trump, and since he supports RFK Jr., then he’ll probably support Trump, too. He also peddled anti-vaxxer bullshit, saying that he couldn’t tell us if the COVID-19 vaccines were safe (they are!) and that his “understanding” was that the vaccines killed thousands of people (they haven’t). Not exactly the kind of views we like hearing from a longtime Boeing engineer who works on military versions of the 737, but there you have it! Vote Jayapal. 


United States Representative

Congressional District No. 8
Kim Schrier

As a pro-abortion pediatrician, three-term Congresswoman Kim Schrier will really shine when she inevitably has to play defense against Republicans as they attempt to gut earned benefits and impose national abortion bans. In that way, she’ll be an asset to a likely Democratic minority and to the country as a whole. 

Even when she served during the Trump administration, she chalked up a few wins. Her not-so-small list of bills signed by the bad man suggests she can find common ground with MAGA freaks, largely in the worlds of agriculture and conservation. Of course, her embrace of hard-right immigration policy, cops, and her support for Israel overlap with their interests as well, which does not bode well. 

Though Schrier now leans way more to the right than she has to, we’ll take her over Republican bank executive Carmen Goers any day. Goers refuses to entertain the notion of raising taxes despite the need to increase special education funding, speed along a just transition from fossil fuels, build around seven million affordable homes that the private sector simply will not build, and pay for about a thousand other things. She also holds anti-trans positions on kids sports and thinks schools have dropped standards “in order to prevent anyone from feeling bad,” which makes her, if nothing else, an absolutely tedious Thanksgiving dinner guest. Vote Schrier. 


United States Representative

Congressional District No. 9
Melissa Chaudhry

Oh, look! A Congressional race where we had to make an interesting decision! Kind of! 

In terms of issue knowledge and policy imagination, grant writer and civil rights advocate Melissa Chaudhry represents the strongest challenge that 14-term Congressman Adam Smith has faced in recent memory. She presents detailed prescriptions for fixing our dismal and dehumanizing immigration system, increasing worker power, building more housing that people can afford, making our political processes more democratic, and supporting every other item we care about on the progressive agenda. 

Most importantly for this race, she also stands well to Smith’s left on foreign policy issues, particularly when it comes to Pentagon spending and Israel’s genocidal assault on Gaza. Smith calls for a ceasefire, and yet he votes to send billions in weapons to Israel while blaming Hamas for being “the biggest obstacle to a ceasefire,” when reporting strongly points to the political ambition of Benjamin Netanyahu as the biggest obstacle to a ceasefire and the cause of war escalation in the region. Unlike Smith, Chaudhry doesn’t talk out of both sides of her mouth on this issue. She wouldn’t have voted to send Israel more bombs to drop on babies, wouldn’t have blocked funding to the United Nations Relief and Works Agency for Palestine Refugees for a year, and would remain an outspoken critic of the US’s stance on this war until the killing stops. 

Unfortunately, though she makes a more persuasive case on many of these issues than Smith does, she has yet to raise the kind of money needed to make sure voters hear that case. Plus, Rep. Smith isn’t all bad. He helped lead the House Democrats’ call for Biden to step off the presidential ticket, nixed a few of the more heinous Republican amendments to the bill that authorizes Pentagon spending, and has tried this year to secure a bunch of funding for affordable housing units and community centers that serve marginalized communities. All of that is good, but it’s all stuff Chaudhry would do as a matter of course. Vote Chaudhry. 

Governor
Bob Ferguson

Attorney General Bob Ferguson is the only candidate for governor prepared to lead Washington through its most pressing, ongoing issues: The housing crisis and the crisis in education funding. 

On housing, he’ll focus on increasing market-rate and affordable units in his first term, promising a cabinet-level agency to implement his top priority of building 200,000 new homes “using public-private partnerships” in four years. As for education, he plans to increase the percentage of the state budget devoted to funding the public education system. We believe he’ll follow through on his promises. When he first ran for Attorney General in 2012, he promised to be a consumer protection crusader, and more than a decade later he’s clawed back a couple billion dollars for the people of Washington, state and local government coffers, and nonprofits through his civil law enforcement division, including $1.1 billion to address the fentanyl epidemic. Promises made, promises kept, and then some. 

All of that is very nice. Unfortunately, like his GOP opponent, former US Representative Dave Reichert, Ferguson refuses to advocate for new taxes on the rich. Now, Reichert promises to veto any new taxes, which would be disastrous. And while Ferguson has supported the capital gains tax and taxes on big banks in the past, in interviews he routinely asserts the need for the state to cut waste, not to increase its coffers. And yet, he refuses to explain how cutting waste can generate enough dollars to fund all the stuff he says he wants. (Newsflash: It can’t.) 

Still, Ferguson’s tendency to pivot away from questions like a man with an avoidant attachment style raises far fewer concerns than the answers Reichert gives. Reichert supports school voucher programs, which would divert public dollars to private schools, exacerbating our education funding problems. He believes marriage is “between a man and a woman,” and while he promises not to foist his beliefs on the state, the friends he keeps raise eyebrows. He chose to hold his first town hall for his gubernatorial bid at Firmly Planted Action, anti-LGBTQ+ group that wants to end abortion rights. Plus, Larry Sandquist, board chairman of the Family Policy Institute of Washington, which actively advocates for anti-abortion policies, donated $5,000 to the pro-Reichert independent expenditure committee, Washington 24. Beyond that, his religious beliefs clearly do affect his policy choices, like in the area of climate change, which he doubts can be reversed because “the guy upstairs” controls the weather. 

Ferguson is not the lesser of two evils. He actively supports codifying a person’s right to abortion in the state constitution, and he’s fought vehemently in the past against LGBTQ+ discrimination. Under a Trump administration, Ferguson will fight to uphold those hard-won rights; under Harris, he’d move us forward, albeit *shudders* incrementally. Reichert would take us backward. Vote Ferguson.

Lieutenant Governor
Denny Heck 

So you’ve gotten to the point in the ballot where you have to Google what the fuck the Lieutenant Governor even does. Don’t worry about it, baby girl. Bubble in the circle for Denny Heck and allow us to explain. 

The Lieutenant Governor serves as the president of the state Senate. While the position cannot cast a vote, the person who holds it gets to break ties and root for their policy goals. 

In his first term, Heck showed he knows how to use his clout to corral the cats in the Senate. For instance, he took major credit for the “Year of Housing” in 2023. He rallied a broad coalition of pro-housing advocacy groups to pressure legislators to pass a bunch of bills to promote density, including the crown jewel of the session, the so-called “missing middle housing” bill, which dramatically reformed zoning around the state. In 2025, he will advocate for lot-splitting measures, transit-oriented development, and other permitting reforms to build, build, build.  

If you noticed that Heck’s pushing a lot of supply-side strategies, you would be right (and maybe you should monitor your Urbanist Twitter screen time). He’s sort of lukewarm when it comes to helping renters keep their heads above water as he tries to build his way out of the crisis; the Senate killed the rent stabilization bill last session under his watch, and in his meeting with the SECB he offered no assurances that he would prevent that from happening again.

In an ideal world, Heck would use his position of authority to send every rent stabilization holdout in the Senate to timeout until they’re ready to vote right, but we don’t live in an ideal world. We live in a world where we have Heck, who takes the housing crisis seriously, and Republican Dan Matthews, who is too busy obsessing over the genitals of athletes to cheerlead for market urbanism. Vote Heck. 

Secretary of State
Steve Hobbs

Incumbent Steve Hobbs did a pretty good job in his first term as Secretary of State, and we want to see what he can do with another one.

Let’s start with the good stuff. Hobbs takes voter outreach very seriously. In fact, he hired a whole team to help disenfranchised voters cast their ballots. After a 2021 law reinstated voting rights for incarcerated people upon release, he established a new civics course to encourage them to vote. Incidentally, he also got Dungeons & Dragons unbanned from prisons, which counts as lawful good behavior if we’ve ever seen it. If we give him another term, he’ll scale up those efforts.

But Hobbs has some work to do. His office rejected more ballots from people of color and young people than from white people and older people. To combat that disparity, he wants to start a program to allow voters to “cure” their ballots via text message. His office also rejected almost 70,000 ballots in the presidential primary because voters failed to check a box to denote party affiliation, which they don’t have to do in other elections. Advocates would have Hobbs get rid of that box altogether, but such a change would require action from the Legislature, and he thinks the political parties would probably fight that effort so they could keep collecting data. Nevertheless, he’s establishing a work group to find solutions.

And, fuck it, we’ll say it. Hobbs is a Democrat and his opponent, Dale Whitaker, is a Republican. Call us a bunch of soy libs, but after former President Donald Trump tried to overturn the results of the 2020 election, we don’t really trust Republicans to head our Secretary of State’s office. Whitaker did not agree to an interview with us, but we wanted to grill him on why he opposes Hobbs’s efforts to combat online disinformation following the insurrection, on what basis he spreads the myth that undocumented people stuff our ballot boxes, and, to be frank, we wanted to ask him who he thinks won the 2020 election. Sorry, but a Republican with no experience running on “election integrity” in the year 2024 rings alarm bells that Whitaker failed to silence. Vote Hobbs. 

State Treasurer
Mike Pellicciotti

Incumbent Democratic Treasurer Ben Gibbard Mike Pellicciotti has managed our state finances so well that even his Republican opponent openly admits that we're in a “good position.” Stone-cold reality forces her to concede that point. Under Pellicciotti’s leadership, in June Moody’s gave Washington a triple-A rating due to our “strong governance practices and sound reserve and liquidity positions,” which means we govern well, save enough for rainy days, and still have money to get shit done. Meanwhile, this year Standard & Poor’s maintained Washington’s AA+ rating, and they even moved our economic outlook from “stable” to “positive," which means our credit fucking rules. In fact, in terms of our credit rating and our pension fund liability, US News and World Report ranked Washington #1 in the country this year. 

Aside from serving as a faithful steward of public funds, we like Pellicciotti for his obsession with long-term thinking, a quality so many public officials sorely lack. In his first term, he goaded the Legislature into passing Washington Saves, a state-run, automatic retirement savings account that will serve the 1.2 million Washingtonians who do not have access to such a benefit through their employers. 

If we return him to office, he vows to continue pushing for his baby bonds proposal, which would give every child born on Medicaid tens of thousands of dollars they could tap into at 18 to help launch a new business, or to pay for college or vocational school. Pellicciotti argues that this kind of policy will give us all “the hope and promise of a future where everyone can reach their full potential,” so that the 14-year-old going into high school will have some real financial help to look forward to after graduation. 

And right now, he’s drawing up plans to Trump-proof Washington state. Few may remember in the chaos of, well, everything, but in 2020 then-President Donald Trump threatened to withhold federal funding from Seattle. You better believe that Project 2025 Trump will withhold federal funding from Washington State if he doesn’t like the way we, say, support trans kids in school or try to reduce carbon emissions. So Pellicciotti’s in the lab looking at budgets, trying to figure out what he can backfill with state funds in the advent of the worst thing that could happen to America. 

We can’t say the same for his Republican opponent, Sharon Hanek, who co-founded Let’s Go Washington with Brian Heywood, the multimillionaire hedge fund manager responsible for all the apocalyptic initiatives on the ballot this year. According to a questionnaire for a religious voter guide, she not only opposes taking into consideration environmental, social, and governance ratings when deciding where to invest public funds, as Pellicciotti does, she also opposes abortion, medical abortion, marriage equality (which she brags about trying to overturn), trans rights, and every other thing we care about. You will not be surprised to learn that she believes “laws to control gun ownership have gone too far.” Well, we don't! Vote Pellicciotti.

State Auditor
Pat McCarthy

Everyone’s worried about government fraud, waste, and abuse, but we’d bet our second-best bong that 9 out of 10 people at the bar couldn’t tell you the name of Washington’s two-term incumbent state auditor, Pat McCarthy. And probably 10 out of 10 people at the bar couldn’t tell you that she’s done such a good job overseeing the place–with one somewhat major exception–that it’s won THREE national awards for excellence since 2020. 

In 2020, the National State Auditors Association (NSAA) gave the agency an award for its mildly thrilling investigation that turned up a former Pierce County Housing Authority finance director who stole $7 million in a fraud scheme.

In 2022, the department picked up another award for performing a “culture audit” of the Department of Fish and Wildlife—“the only one in the country ever conducted that we’re aware of,” McCarthy says. The audit uncovered a widespread culture of bullying. 

And this year, the NSAA bestowed an award upon the agency for its Cyber Checkups program. The “popularity” of the Auditor’s cyber security programs, which help local governments learn where they’re most vulnerable to attack, led to a three-year backup for services. In response to the growing queue, the agency developed the “checkup” program to give governments a few more tools in their toolbox that they could use to avoid cyber attacks while they wait for a proper audit–and everybody loves it. 

The cyber security award seems a little funny after a vendor the auditor’s office used experienced a major data breach in 2020 that exposed the sensitive data of more than one million people. McCarthy’s office didn’t reveal the breach for three weeks. She argues the department acted quickly and needed that time to “verify the scope of the vendor’s breach.” Since then, McCarthy says, she’s created a Data Risk Committee to identify and clean up the agency’s data request process, “worked with the state’s IT agency and Microsoft to create a customized data sharing platform called SAOShare, and supported and implemented legislation requiring annual data sharing agreements with the 2,300 governments and state agencies we audit.” 

So she took the breach seriously and then took steps to make sure it wouldn’t happen again. Plus, that little hiccup isn’t the total expression of McCarthy’s being. We’re impressed, for instance, with the way she embraced the task of auditing investigations of incidents when police use deadly force, a new duty the Legislature gave her early in her second term. In the face of some grumbling from law enforcement, she says she set up the system quickly and welcomed it as a way of “holding everyone accountable.” 

If we give her another shot, she plans to continue to strengthen the department’s inclusivity practices and to look into ways to offer performance audits to tribes who’ve expressed interest in finding efficiencies. 

Speaking of finding efficiencies, she’s also put together “a small task force” to look into ways to use artificial intelligence. “On the one hand, I know AI is going to destroy civilization as we know it. On the other hand, it could provide efficiencies,” she says. That’s the kind of level-headed approach to certain doom that we like to see in an auditor. 

And she’s a hell of a lot better than her Republican opponent, Matt Hawkins, an “election integrity” guy who helped produce an alarming number of children (10), uses Qanon-y phrases like “We the People” in his campaign copy, and clearly does not understand the basic functions of the office he seeks. He thinks, for example, that the auditor oversees elections—it doesn’t. Vote McCarthy. 

Attorney General
Nick Brown

Nick Brown’s years of experience working with the Washington State Attorney General’s Office (AGO) as general counsel for Governor Jay Inslee and his values on topics such as gun safety and abortion make him the best choice to serve as our next Attorney General (AG). Brown can show up on day one ready to defend our laws, provide state agencies with the legal advice they need, and fight for consumers against big business. 

As gun violence continues to rip through communities, Brown argues for reducing the number of guns on the street as a key way to lower the number of homicides and suicides. Meanwhile, his GOP opponent, Pasco Mayor Pete Serrano, spends his off-time fighting for the rights of Washington gun dealers to sell assault weapons and high-capacity magazines, as well as seeking to overturn the state’s ban on “ghost guns.” 

Serrano’s choice to attack these laws shows a disregard for public safety, as studies show again and again that stricter gun laws can result in less gun violence, and laws such as the ones we have on the books may have prevented mass shootings. His stance on the issue also displays how out-of-step he is with Washington voters, who in 2018 passed a suite of gun safety laws through Initiative 1639.

Brown would also better represent the interests of Washingtonians on abortion. Seventy-three percent of the state believes abortion should be legal in most or all cases, and while both Brown and Serrano promised to protect access to the pills and procedures, Serrano refused to guarantee he’d enforce the state’s “shield law,” which makes us a safe haven for those fleeing prohibition states just to get health care. Brown vows to fight to keep those laws on the books. 

While Serrano argues that “excessive” consumer protection litigation amounts to an abuse of the AGO’s power, Brown promises to put consumers first. He’ll fight companies that plot to increase rent prices, do a better job of overseeing compliance with the Landlord-Tenant Act, and establish a new unit to actively investigate and punish wage theft.

Finally, Brown just has the most relevant experience for the job. As former US District Attorney for Western Washington, he already knows how to run a large public firm. In our interview, he ticked off several ways to make law departments at the state and county levels run more smoothly, most of which dealt with more frequent and more thorough communication practices. Not as flashy of a topic as abortion or gun control, but we do love a bureaucrat who gets fired up about making small but meaningful changes to operations. 

A vote for Brown means Washington can continue to progress on all the issues we care about, whereas a vote for Serrano installs someone who plans to pick and choose which laws he’ll fight for based on his political preferences, not the will of elected legislators. Vote Brown. 


Commissioner of Public Lands
Dave Upthegrove

The next leader of the Department of Natural Resources (DNR), a large agency that oversees Washington’s 5.6 million acres of public lands, will either be a Republican who takes money from lumber companies or a Democrat who takes money from environmentalists. For the sake of all that is green and blue and clear and good, we strongly encourage you to vote for the latter and more aptly named option, Dave Upthegrove. 

If the Lorax wasn’t already incredibly gay, we’d call Upthegrove the gay Lorax. As the head of the DNR, he plans to beef up community wildfire resilience efforts, meaningfully increase the frequency of tribal consultation when citing green energy projects, and continue the agency’s new program to set aside 10,000 acres of forest for carbon sequestration, all while trying to preserve structurally complex forests—colloquially known as “mature legacy forests”—from the buzzsaw. 

Though we know lumber groups and conservative counties will fight the agency on all of that, we’re confident that Upthegrove’s experience will allow him to win the day. His years as a State House Representative means he knows which arms to twist and which mouths to feed to get stuff done, and his years representing south King County on the King County Council give us faith in his ability to oversee policy implementation. 

Our lands would fare much better in Upthegrove’s hands than they would in the hands of Republican Jaime Herrera Beutler, who boasts a 14 percent lifetime score from the League of Conservation Voters because of all the anti-environment votes she took during her time in Congress. Recently, she voted against the Inflation Reduction Act, against cracking down on oil industry price gouging, against protecting public lands and waters across the west (seriously), and the list goes on because she’s a fucking Republican. 

Of course, we know she doesn’t care what environmentalists think of her record, as she referred to those who oppose her as “extremist groups particularly in one part of the state” who “want to see things preserved” but "oftentimes they apply very old science.” The “old science” she’s talking about refers to efforts to preserve the state’s mature legacy forests, most of which were logged before the 1940s and haven’t been touched since. The science she’s leaving out isn’t old but actually new science that says biodiversity is good, and that we shouldn’t cut down a bunch of old trees that do a really good job of storing carbon, maintaining healthy watersheds, and serving as places to walk around and stand in awe of nature. She should read it sometime! 

Also, we made the following argument in our primary endorsement, but it bears repeating. We expect not a little discrimination against Upthegrove for being a member of the King County liberal elite telling a bunch of country folk how best to tend their lands. We reject this line of thinking because it fails to acknowledge the “elites” in the timber industry keeping small towns dependent on one crop—trees—and then holding a knife to their throats whenever a conservationist suggests that we might, perhaps, in the midst of a mass extinction, try to increase biodiversity while simultaneously diversifying local economies. As we said in July, the choice between saving the trees and saving rural economies is a false one—we can and should do both.

And there’s real urgency here, too. Thanks to some court cases going the right way, the DNR has more latitude to find creative ways to manage and monetize lands that don’t involve destroying them. We need to seize those opportunities now. Vote Upthegrove. 


Superintendent of Public Instruction
Chris Reykdal

Superintendent of Public Instruction Chris Reykdal’s experience as a teacher, his three terms as a state lawmaker, and his two terms leading this office through the pandemic and the fog of America’s (latest) stupid culture wars make him the only real choice in this race. 

Under Reykdal, who grew up poor and who credits his ascendence to public education, more children are receiving free meals. More schools are offering dual-language programs. He’s got a plan to continue diversifying the workforce and to retain more teachers of color, and he’s made a commitment to protecting marginalized students and teachers from an onslaught of conservative attacks on our education system. 

After some mixture of cowardice and cunning convinced the Legislature to pass the so-called “Parents Bill of Rights,” a right-wing initiative from our old pal, hedge fund manager Brian Heywood, this summer Reykdal rightly directed the agency to ignore it until the courts and other institutions provided clarity on a number of issues. That’s the kind of direction we can get behind. (We also like him because we saw him at Pride and he seemed happy to see all the gay people.)

Now, a lot of people are pissed at our education system right now, but laying the blame squarely at his feet makes no sense. Our schools are starved for funds, and Reykdal can only ask legislators for more money–he does not control how much he gets. His latest budget request–$2.9 billion–will get us way closer to the bare minimum he says we need to run our classrooms, fund special education, pay teachers a fair wage, and put kids on the bus.

The GOP’s pick for superintendent, David Olson, throws up about a thousand red flags. The former Navy welder and diver has been on Peninsula School District’s board for nearly 11 years, and he’s a friend to fringey right-wingers. His district boasts higher-than-average academic achievement numbers, but for some reason he told the GOP convention in Spokane that we’d save America if every student went into the trades and every four-year university went bankrupt. We love the trades, but that kinda anti-school talk seems pretty radical coming from a guy who wants to run the schools. 

The proudly anti-DEI Olson claims to stop short of wanting to ban books. Instead, he tells parents who are upset about trans children playing sports to join their local chapter of the book-banning political extremists, Mom’s for Liberty. And–wouldn’t you know it–the PSD school board meetings have been full of parents and students who say racist and anti-queer bullying is a problem in the district! Huh! Wonder what’s up there? Wonder if anyone could use some training in diversity, equity, and inclusion? Hm! 

Putting Olson in charge would be a disaster. Remember, the superintendent isn’t just the bag man. The position comes with the statutory power to choose when and what kids learn. Vote Reykdal.


Insurance Commissioner
Patty Kuderer

Democratic state Senator Patty Kuderer’s experience in employment law, her legislative track record on insurance policy, and the fact that she doesn’t spend her time on the Senate floor saying some of the craziest shit imaginable makes her far and away a better candidate than Republican state Senator Phil Fortunato, an absolute dodo bird who, nevertheless, earns some respect from the SECB for picking up the phone when we call.

Anyway, the Office of the Insurance Commissioner recently experienced a lot of upheaval and turnover following a slew of complaints against outgoing incumbent Commissioner Mike Kreidler. Kuderer’s background as an attorney who has represented victims of workplace discrimination will help the agency heal, regrow, and hopefully safeguard against any future bullshit. 

In terms of policy, Kuderer earned the SECB’s respect not only for picking up the phone when we call but for beating the extremely powerful and extremely annoying landlord lobby to pass a number of moderate renter protections. As she has with tenants as a senator, she plans to focus on advocating for consumers rather than a bunch of vampiric insurance companies. She also aims to continue to “pursue” the establishment of a regional, single-payer health care system, require gun-owners to buy insurance to cover negligence and accidents, and expand the Insurance Fair Conduct Act to make the claims process fairer. 

Unfortunately, she doesn’t want to regulate the industry to the point where she’s “strangling businesses,” but we’ll take her approach over Fortunato’s, a man who, to cite one recent facepalm moment, defended the rights of Catholic priests not to tell law enforcement if someone confesses to raping a kid. 

As for his views regarding the work of the Insurance Commissioner, his public-facing materials offer only some typical Republican pablum about wanting to deregulate the industry to increase competition. For some reason, his website doesn’t really mention his strident opposition to abortion, the “Don’t Say Gay” in schools bill he introduced this session, his opposition to common sense gun laws, or anything else that would reveal him as widely out of touch with most Washingtonians. Vote Kuderer. 


Legislative District No. 5

State Senator
Bill Ramos

State House Representative Bill Ramos threw his hat in the ring to replace state Senator Mark Mullet after Mullet skipped off to run an inarguably silly campaign for governor. In almost every conceivable way, Ramos represents a major upgrade. For one, Ramos voted yes on the House’s version of an anti-rent gouging bill that Mullet helped to kill. If the same bill came before Ramos again, he said he’d vote for it. Hoorah. 

But he’s not just better on tenant issues. During his five years in the House, he picked some worthy issues to champion. He helped craft Washington’s $17 billion transportation funding package back in 2022, which included about a billion to fund pedestrian walkways and bike paths, with some dollars set aside to build these paths in historically underserved communities. He generally stressed the importance of paying attention to equity issues when designing transportation, which we love to hear. 

In-between his transportation work, he took on the project of combating violent domestic extremism. The bill he sponsored would establish a commission to study the issue and recommend some concrete proposals to address it, including looking at a public health approach. He says protesters chanted outside his office “for weeks” before the bill ultimately died in the House. Despite the backlash he received, including at times from his own neighbors, he plans to try again next year. 

He has reliably supported policies to increase funding for education, transit, and environmental protections, which is more than we can say for his Republican opponent, Chad Magendanz, who loves charter schools so much that he sponsored the bill that kept them open back when the State Supreme Court struck down the law that made them legal. Vote Ramos.


Legislative District No. 5

Representative Position No. 1
Victoria Hunt

During the primary, we swooned over Issaquah City Council Member Victoria Hunt for her enthusiastic support for rent stabilization and her urbanist know-how–she’s an experienced urban planner with a PhD in computational ecology. Now we swoon over her again, especially when we see that her Republican opponent is Mark Hargrove, who we once named the “dumbest legislator in Washington” for using a Jack in the Box commercial to buoy his argument against same-sex marriage.

When it comes to housing, Hunt knows that changing zoning alone will not magically create the very large number of apartments that we need to build, which is why she supports funneling more money into the Housing Trust Fund, one of the funds the state uses to help subsidize affordable units. 

Unlike her opponent, she believes that we need to increase funding for education, especially for students in the special education system. And she wants to protect that funding by making sure that no dollars go toward charter school voucher programs. 

On climate, she strongly supports the state’s cap-and-trade system and wants to pass a bill to force fossil fuel companies to open their books so we can see just how much of a burden they’re passing down to consumers while raking in huge profits.

But what we love the most about Hunt is her support for all kinds of progressive revenue ideas– everything from adjustments to the capital gains tax, an excess compensation tax, and even a tweak to make the estate tax more progressive. She’s in her Robin Hood era. Vote Hunt.

Legislative District No. 5
Representative Position No. 2
Lisa Callan

Lawmakers work on a number of issues, but three-term State Representative Lisa Callan seems especially dedicated to helping Washington’s children, which is great–our understanding is that children are our future, and if we want to have a good future then we have to treat them well and not just throw them in the lake when they fuck up like our uncles did. 

Anyhow, Callan successfully carried the bill to increase the 2024 special education funding cap from 15 to 16 percent, which was a good start but probably isn’t enough. The bill included funding for a report that will tell us whether we should remove the cap altogether or whether, miraculously, every school’s needs somehow conform to this arbitrary cap, so we’re happy for that. 

Last year, Callan also permanently enshrined a program that keeps kids in foster care connected to their original homes. The Family Connections Program provides resources to parents and foster parents to allow them to work together on reunification, seeking to minimize the trauma of the child welfare system by helping to maintain some communication between all parties when possible.  

If reelected, Callan will keep pushing her colleagues to back her bill limiting isolation and restraint of children in schools, a disciplinary strategy that really isn’t that productive for a lot of seven-year-olds! In the meantime, she’s scraped together some dollars for some pilot programs encouraging districts to avoid the practice, and she’s running an inside strategy to get more lawmakers onboard with the movement to stop traumatizing kids. 

She beat her opponent, Patrick Peacock, by about 15 points in the primary, and it’s no wonder why. Like the rest of these cookie-cutter Republicans, he supports all the shitty initiatives, wants to lower taxes, and yet also wants more police. Classic. We’d do the state’s children a real disservice in swapping out Callan for a generic Republican. Vote Callan. 


Legislative District No. 11

Representative Position No. 2
Steve Bergquist 

When he’s not working on education policy, State Representative Steve Bergquist acts out his own version of Undercover Boss as a paraeducator and substitute teacher in Renton. The time in the classroom informs his work as a legislator, which has led to the introduction and passage of some pretty decent policies. 

Last session, he successfully secured money to standardize programming that helps kids transition to Kindergarten. He also voted to eliminate the special education enrollment cap that many legislators (at least 94 of them in the House) believe interferes with the State’s duty to provide a free, appropriate education to all students. Though his bill to fund one year of trade school for free didn’t make it out of committee last session, he'll try again next year if he wins back his seat–which he should. 

Bergquist’s Libertarian opponent, Justin Greywolf, is mostly running on a platform of cutting taxes. He also told the Family Policy Institute of Washington–a conservative, religious lobbying organization that defends “Biblical values”—that he agreed with a lot of their positions, though he said he disagreed with their opposition to marriage equality. That’s not quite enough to swing us to his side. Vote Bergquist.


Legislative District No. 30

Representative Position No. 1
Jamila E. Taylor

Last year, State House Representative Jamila Taylor got ahold of $1.25 million to stop Pattison’s West Skating Center (now known as El Centro Skate Rink) in Federal Way from turning into a gas station, an accomplishment that immediately elevated her in our eyes to the status of a 1980s movie hero. We love a legislator who cares that deeply about a culturally significant gathering place in her community. 

We also appreciate the economic development work she’s done for her district and across Washington, including her Covenant Homeownership Program, which provides interest-free loans to first-time homebuyers who can prove they or their family felt the effect of Washington’s racial housing discrimination prior to 1968. The program also includes a provision to investigate past housing discrimination to see if lawmakers can expand eligibility criteria, and it will hopefully go a little way toward repairing discrimination that led to wealth gaps. 

If we return her to office for a third term, as chair of the House Civil Rights & Judiciary Committee she promises to continue making progress on creating a unified court system. The Legislature needs to modernize and standardize our court system, partly so we can collect better information on its effects. We’re glad Taylor’s on the case because she really lights up when she talks about this very serious but utterly dull work. 

Her Republican opponent, Republican Melissa Hamilton, has worked for both the Lacey and Federal Way police departments in support roles. She supports all of the initiatives, which would set Washington back on climate change, long-term care, and progressive revenue. While Taylor’s down in Olympia digging into court structures and trying to reverse years of discrimination, Hamilton would be making it harder for the state to fund services and fighting any bills to limit police power or reduce mass incarceration. Boriiinnnggg. Vote Taylor. 


Legislative District No. 30

Representative Position No. 2
Kristine M. Reeves

State House Representative Kristine Reeves is fine. If elected for a second full term, her one big priority will be to ban flavored tobacco products in Washington State. Whoopee. In the 2023 Healthy Youth Survey, about 7.7 percent of 10th graders reported using an electronic cigarette in the past 30 days. Vaping companies seem to target the youth with their bright colors and candy flavors, and Reeves doesn’t want her kids or anyone else’s to grow up in the shadow of addiction. Fair enough. 

Even if we’re a little sad that Reeves plans to confiscate our cinnamon-flavored vape fluid, it was nice that she sponsored the House version of the bill to establish a state-run, automatic Individual Retirement Account (IRA) program for workers whose employers don’t offer them. Though the senate version ultimately passed, the new law could result in Washingtonians saving an additional $3.9 billion for retirement over the next 20 years. That could be big. According to Legislative staff, about two-thirds of all millennials have no retirement savings. 

She also voted for rent stabilization, and she promises to keep voting for it, she says. She stressed that Washington can’t build its way out of the problem of housing instability tomorrow, and the bill addresses the immediate harm people face from rising rent prices pushing them out onto the street. 

Reeves did do a couple weird things surrounding that bill, though. First, she secured an amendment to monitor the effects of rent stabilization, with a particular focus on whether the program inadvertently dissuades people from pursuing home ownership, especially Black and Brown people, Reeves says. This argument made our heads explode. Washington has the sixth highest average rent in the country, nearly half of our renters currently spend more than 30 percent of their income on housing, and the median home price in King County topped $1 million this year. That’s what makes it difficult to buy a house–not protections to prevent gouging. But, whatever. The study is mostly harmless. Reeves argued she just wants to ensure the state funds rental protection programs alongside home ownership assistance options, which is fine. 

We do like her more than her opponent, Republican Federal Way School Board Director Quentin Morris. In an interview with the Federal Way Mirror, he argued that homelessness is “rarely a housing scarcity” issue and is simply based on “behavioral issues.” Reeves responded to that assertion by first exclaiming, “Jesus Christ,” and then she said she’s just tired of hearing Morris’s bullshit. Reeves herself experienced homelessness for a couple years as a teenager, and it had nothing to do with her having a substance use disorder or a mental health diagnosis. Vote Reeves. 


Legislative District No. 32

Representative Position No. 1
Cindy Ryu

Look, we’re not saying that eight-term State House Representative Cindy Ryu won’t try to defend a landlord. She’s a commercial landlord herself, after all. But she voted for a rent stabilization bill that would help prevent landlords from gouging tenants, and that’s better than we would have predicted in 2022. She’s just okay on tenant issues, but we can work with just okay. 

We also didn’t love Ryu for sponsoring a bill to make trafficking in catalytic converters a Class C Felony, but we also don’t love waking up to a damaged car that’s going to release more gross emissions, so we’ll call that a wash. 

Plus, Ryu is occasionally a friend to some recently incarcerated people. She said she’s working with Edmonds Community College (ECC) on a bill to help fund support and courses for veterans who did time. ECC started a similar program using federal COVID-19 dollars a few years ago, and Ryu hopes to find state money to make the program permanent and maybe expand it to other community colleges. Though that bill failed to exit a key committee last session, she plans to bring it forward again next session.

We’d happily take Ryu’s lukewarm support for rent stabilization (she said she'd be more comfortable with a 10 percent cap than the 7 percent cap she ultimately voted for) and her heavy regulation of the scrap metal industry over her opponent, Republican Lisa Rezac, an auctioneer, fundraising consultant, and former Republican Party Chair for the 32nd Legislative District. Rezac supports the Let’s Go Washington initiatives, which would reduce funding for public education and set the state back in its climate goals. AND YET, she claims she wants to prioritize education and to stop the government and corporations from putting anything into our air and water that might hurt us. We really don’t think she’s thought through her platform, though we did love that she dedicated one entire page of her website to promoting some random wellness book. But that's not enough to convince us. Vote Ryu. 


Legislative District No. 32

Representative Position No. 2
Lauren Davis

State House Representative Lauren Davis deserves a fourth term in the Legislature for her dedication to improving Washington’s underperforming behavioral health and criminal legal systems. Few lawmakers display her breadth of knowledge and commitment to making progress on any issue, let alone a couple of the toughest and most politically dicey ones we face. 

But she’s not one to let the cowardice of her colleagues prevent her from funding the issues she supports. Every session that leadership decides to skip an opportunity to pass a new progressive tax, she spends hours digging for ways to close loopholes to find the millions of dollars that the State could be collecting and redirecting toward treatment facilities, recovery housing, and jail reentry programs. 

Admittedly her hours of study haven't always paid off. In 2022, she tried to close a tax break for companies that warehouse opioids and other drugs in Washington. The bill would have raised an estimated $53 million to go to far better purposes, but it died at its first public hearing. She promises to bring it back again this session.

The death of that bill does not speak to the level of success that Davis has achieved during her time in the House, though. Thanks to her, Washington hospitals send every overdose patient home with a naloxone kit, not just a prescription for one. (Under the previous system, few people actually filled those naloxone prescriptions.) She’s also had her hand in some criminal justice reform, eliminating a law that revoked a person’s license after any felony conviction involving the use of a car, unless the crime threatened the safety of people or property. The law scooped up a lot of people and made complying with sentencing conditions, such as making behavioral health appointments or retaining employment, much harder. 

On the other side, Davis’s Republican opponent, Lori Theis, plans to vote for Trump. Though she says she wants to “fix” homelessness, crime, and every other issue conservatives like to exploit for votes, she offers no real viable or evidence-backed alternatives. Vote Davis.


Legislative District No. 33

Representative Position No. 1
Tina L. Orwall

Back in 2015, longtime State Representative Tina Orwall made it her mission to get the Washington State Crime Lab to finish testing all the backlogged sexual assault kits. Thanks partly to her consistent pressure, last year she saw the successful conclusion of that work, allowing us all to close that “dark chapter” in our state’s history, she says. Now, the lab tests kits within 45 days, and sometimes closer to a month, which provides people with more paths for legal action.

While Orwall sometimes leans a little heavily into carceral feminism for some of our tastes, at other times she seriously pursues avenues other than policing to solve societal ills. For example, she led the House’s work on 988, a suicide and crisis hotline that allows people to call something other than 911 when they need help with a behavioral health crisis. She also sponsored a successful bill to fund more mobile crisis teams in conjunction with the launch of 988. At a time when people seem reluctant to take up police work and communities struggle to help people cycling through behavioral systems, investing in these alternatives seems wise. 

For her next project, she’s started coordinating with colleges to find better ways to help students access services after they’ve dealt with gender-based violence. Right now, victim complaints often only lead to a scheduled appointment with a counselor. She’s not yet sure what “better” looks like, but we’re excited to see what she comes up with.

We don’t have very many mean things to say about her opponent, George Richter, mainly because he’s not giving us much to work with. He has no money, and we weren’t even really sure if he existed. But Orwall says she met him the other day, and they’re actually going to talk about some stuff they can work on together. We’d prefer she shun Republicans, especially in the age of Trump, but good for her for neutralizing her opponents. Vote Orwall.  


Legislative District No. 33

Representative Position No. 2
Mia Su-Ling Gregerson

Generally, we have good things to say about State House Representative Mia Su-Ling Gregerson. For the past 10 years, she has consistently supported legislation to keep people in housing, to tax the rich, and to increase participation in the political process. 

Last session, she fought hard for a bill to allow cities to hold local elections on even years, when average voter turnout runs much higher. That simple change would make municipal elections much more democratic and representative, which we love–and not just because it scares politicians such as conservative Seattle City Council President Sara Nelson, who was elected in a low-turnout, odd-year election. Unfortunately, Gregerson failed to find the votes for the bill, but she promises to keep fighting if we give her a sixth term. 

While she’s good on tenant stuff and democracy stuff, her increased support for charter schools, which she recently confessed to the Seattle Times, deeply disappoints us. As if the education system didn’t have enough issues, now we have to deal with progressives peeling off to funnel dollars away from actual public schools. 

Gregerson told the Seattle Times she thought charter schools could offer benefits, such as smaller class sizes, and that it may be time for a conversation about increasing the number of schools. When we asked her what the fuck she was talking about, she said she wanted to remain open to the conversation because people continue to ask her about increasing funding for charter schools. 

She says she’s sat through presentations where BIPOC parents with kids attending South King County charter schools share how their students really thrive in those environments. She pushes back on the idea that charters improve outcomes for kids of color, arguing that many of those kids often live in Kirkland and Bellevue, and they benefit from a high economic status. She could also point to all the evidence showing that charter schools lack funding accountability and lead to underfunding of public schools. And while we readily admit that public schools are failing children of color, we disagree that she needs to leave the door open for a discussion about ways to starve public schools of the funding we need to better serve them. 

Nevertheless, Gregerson is a much better candidate than her opponent, Casey Esmond, who appears not to be running much of a campaign. His candidate website is no longer up, and he ignored our call, as well as calls from other, lesser, endorsement boards. From what we can tell, he espouses a Libertarian ideology. Very old school, very ‘90s. Still, we hope Gregerson will stand firm against charter schools. Vote Gregerson.


Legislative District No. 34

Representative Position No. 1
Emily Alvarado

When the SECB endorsed House Representative Emily Alvarado for her first term in 2022, we vowed to print out our endorsement and eat it if she ended up morphing into her old boss, Jenny Durkan. Good news: We don't have to do that! Double good news: We don't have to learn how to connect to the printer in the office! 

Alvarado exceeded our expectations during her first term in the House. She marketed herself as a strong housing advocate, and advocate she did, supporting, if we are not mistaken, every single bill to encourage housing density. She also championed the perennial rent stabilization bill, an issue so tough we thought she took it on as part of some kind of humiliation ritual to haze the frosh. But she passed it out of her chamber, moving the humiliation on to the moderates in the Senate who killed the bill.

In addition to standing up to the landlord lobby, she stood up for the working class by making it easier to access food assistance programs, accelerating stability for those with work-limiting disabilities, and attempting to beef up consumer protections around gift cards. 

Alvarado said she wants another term to attend to some unfinished business. She'll pass rent stabilization through the House again, only this time with a more progressive Senate to get it to the Governor's desk. She'll also remove barriers to workers’ benefits that some see after a workplace injury, fight to keep kids who are in the foster care system out of the criminal legal system, and pass legislation to make it easier to get a year's supply of birth control all at once. 

Though she anticipates a tough budget year in 2025, she said Washington needs a strong advocate for progressive revenue like her. We agree! And we'll take nine of her for the Seattle City Council, please! Real Slog readers get it *wink*. 

With all Alvarado has going for her, it's almost not worth mentioning her Republican opponent, Kimberly Cloud. In fact, it would be almost kinder for us to pretend she does not exist. We like that Cloud frequently used “lol” in the answers to her Ballotpedia questionnaire, but we didn’t like that she said her biggest role model is Donald Trump, and that she recommended voters watch the 1994 buddy comedy Dumb and Dumber to understand her political philosophy. We’ll pass! Vote Alvarado. 


Legislative District No. 34

Representative Position No. 2
Joe Fitzgibbon

State House Majority Leader Joe Fitzgibbon may not be the 23-year-old lefty the SECB of yesteryear fell for (and heavily sexualized! Sorry about that, Joe. It won’t happen again—at least not until you go gray). But with landmark climate policy on the ballot, we need an environmental advocate like Fitzgibbon wrangling Democrats in the House to do the right thing. 

As we’ve mentioned, this year mega-rich farmer-cosplayer Brian Heywood bought a slew of “Let’s Go Washington”-branded initiatives, including I-2066 to ban electrification and I-2117 to repeal the Climate Commitment Act. Fitzgibbon said the passage of either initiative would represent a huge step backward, but if that happens, then he would use his leverage in leadership to strengthen the environmental policies the state will still have. For example, he suggested accelerating timelines for the Clean Fuel Standard law, which requires fuel suppliers to reduce carbon intensity of transportation fuels to 20 percent below 2017 levels by 2034. He also said he could expand the Clean Buildings Performance Standards to include more types of buildings, or ramp up requirements on car dealers in the Zero-Emission Vehicles law.  

But right now, Fitzgibbon is putting all his energy into stopping the repeal altogether. We think it's pretty cool that he fights the good fight off the clock, too!

On the other hand, his opponent, Jolie Ann Lansdowne, shouts out her support for the “Let’s Go Washington” initiatives on the homepage of her website. In addition to the attacks on environmental policy, she seems particularly excited to repeal the capital gains tax, a modest 7 percent tax on the sale of stocks, bonds, and other long-term capital assets.

In contrast, Fitzgibbon said he will be an advocate for progressive revenue. Instead of repealing the capital gains tax, he’s interested in filling some of its “loopholes,” particularly the exclusion of residential real estate. Based. Vote Fitzgibbon.


Legislative District No. 36

Representative Position No. 2
Liz Berry

State House Rep. Liz Berry won 89 percent of the vote in the primary, and we totally get it. She advocates for popular, Democratic priorities, and she does so very successfully. 

Hate gun violence? Berry’s right there with ya. She introduced and passed a ban on ghost guns, a mandatory 10-day waiting period on the purchase of firearms, and a bill to require gun owners to report their missing or stolen guns within 24 hours. She also co-sponsored a ban on the sale of assault rifles and a ban on high-capacity magazines. Now, if only she’d sponsor a bill to melt all the guns… 

Anyway, love workers’ rights? So does Berry. She shepherded bills to help workers recover wages they’re owed, to extend death benefits to the families of gig drivers who die on the job, and to invalidate non-disclosure agreements for workers who experience harassment, discrimination, assault, retaliation, and wage theft in the workplace. As chair of the House Labor Committee, she also worked on and supported the Strippers Bill of Rights and a bill protecting workers who refuse to attend captive audience meetings

We’re not sure when Berry sleeps, but we’re glad she’s not tired of her job just yet. In her next term, she will continue her gun safety crusade by reintroducing a bill to establish a permit-to-purchase system. She believes such a system will help prevent guns from getting into “the wrong hands.” She also wants to push legislation to require companies to label their recyclable materials in a way that makes sorting waste easier on the consumer.

We would advise you not to vote for her opponent, Victoria Palmer, a Republican who advocates for “vaccine choice,” but, again, almost 90% of voters in Berry’s district already voted for her, so we’re preaching to the choir. Vote Berry.


Legislative District No. 37

Representative Position No. 2
Chipalo Street

BREAKING: The Stranger Election Control Board endorses a tech bro landlord–AGAIN. But we’re not endorsing just any tech bro landlord, we’re endorsing State House Rep. Chipalo Street. 

Hear us out. Despite what his background might suggest, Street is without question one of the most progressive lawmakers in the whole State Legislature. He spent his first term securing incentives for the development of affordable housing and supporting vital health care infrastructure. 

Street argues that his experiences in some of the more bloodless corners of the private market contribute to his good work in the public sector. His Big Tech job gave him a unique and important perspective on the My Health My Data Act, a first-of-its-kind bill he co-sponsored that requires companies to take meaningful steps to protect consumer health data. He could sniff out when lawmakers should hear the tech sector as whiny babies and when they actually had a good point, particularly when it came to implementation timelines. 

Similarly, Street used his experience as a landlord to act as an authoritative counter to the landlord lobby’s advocacy against rent stabilization. When landlords gasped at a 7 percent cap on rent increases, Street pointed out that a landlord’s mortgage is fixed. That 7 percent cap is plenty to cover the increased cost of utilities and maintenance expenses.

Finally, if we give Street another two years, he swears to be another dedicated foot soldier in the quest for more progressive revenue. The state will likely face a deficit next year, and the candidates we elect will decide between slashing social programs and taxing the rich. Street would choose to tax the rich. Right answer! Vote Street. 


Legislative District No. 41

State Senator
Lisa Wellman

When not caping for corporate interests, state Senator Lisa Wellman, who represents Mercer Island, tends to vote the right way, and she seems broadly supportive of things we like, such as progressive taxation, opposition to charter schools, and, somewhat excitingly, rent stabilization–though she has some caveats there about wanting cities to set the caps themselves, to which we say booooooo, and booo again. 

Given that she chairs the Early Learning & K-12 Education Committee and sits on the Senate’s powerful Ways & Means Committee at a moment when schools across the state face big deficits, education will top her list of priorities this session. In our interview, she swore that in her fifth term she’d push for a fully funded public education system. In fact, she says she’s already starting to “oil the skids” on that topic with her fellow legislators and has put together presentations on why administration and operation costs continue to climb for school districts. 

If she can explain where every district spends its dollars to the satisfaction of her fellow lawmakers, she hopes they’ll be more inclined to increase funding. She also wants to push Congressman Adam Smith to make the federal government kick in more for special education funding. Finally, she’s hoping to work with her Olympia “bestie,” potential future Insurance Commissioner Patty Kuderer, to figure out how to lower insurance costs for schools.

Our major gripe with Wellman is her consistent opposition to removing the cap on the percentage of students enrolled in special education. In 2023, Wellman agreed to lift the cap from 13.5 to 15 percent, but she opposed full elimination of the cap, a decision that frustrated some lawmakers, including State House Representative Gerry Pollet, who wanted to see the cap gone altogether. (That cap increased to 16 percent in 2024.) 

Pollet has consistently framed the "arbitrary cap” as a civil rights issue that disproportionately hurts low-income and students of color. We’re with him on this one and think the state can’t just set a random number for what they think a school’s disability percentage should be. Luckily, the State Auditor plans to study this very issue and give the Legislature a recommendation by the end of 2025. Hopefully Pollet can shake some dollars loose from Wellman in the meantime.

Still, Wellman’s clearly working to convince the Legislature that school districts aren’t fretting away their funding on unnecessary expenses, as some would believe. And she’s a hell of a lot better than Republican Jaskaran Singh Sarao, the Bellevue landlord who jumped on the right’s weird “squatter” panic and harassed his tenant for months. Vote Wellman.


Legislative District No. 41

Representative Position No. 1
Tana Senn

Yet again, State House Representative Tana Senn managed to exceed our expectations for someone from Mercer Island. With her bill to allow the Washington State Patrol to melt down the guns they confiscate, she ended the state’s role as a gun dealer, which was kinda fun. She also sided with tenants on the issue of rent stabilization, supporting a 7 percent cap on rent increases. And her bill to fund electric school buses shows us she cares about clean air around bus stops and the planet that our kids will inherit. 

She’s also advocated for some necessary but arguably controversial bills, as well. Last session, she sponsored a bill to help children convicted of a sex offense to seek removal from the sex offender registry based on completion of certain court conditions. We appreciate someone who stands up for the future of all children, not just the ones choking on smog at bus stops. That kind of courage deserves a seventh term.

And she certainly outshines her Republican challenger, Emily Tadlock, who spent part of 2022 prowling through neighborhoods trying to unearth illegal voters. We imagine Tadlock may end up having some controversial takes about this presidential election. How enthralling. Vote Senn. 


Legislative District No. 41

Representative Position No. 2
My-Linh Thai

We thought about making this endorsement a TikTok montage of us and State House Representative My-Linh Thai set to Billie Eilish’s “Birds of a Feather,” but our Human Resources department advised us against that. Buzzkills!

Anyway, Rep. Thai is an exceptional advocate for working-class people in a Legislature that’s way too cozy with the landlord lobby. In her last term, she fought for renters by scoring more money in the state budget to pay for legal aid for tenants facing eviction and by passing a new law to protect tenants from unreasonable damage claims. 

While she’ll always support renters’ rights, she’s got a different priority for her next term: The wealth tax. In 2023, Thai and another SECB fav, state Sen. Noel Frame, proposed the Washington State Wealth Tax, a super-narrow tax on extreme wealth over a quarter million dollars of assessed value derived from the ownership of stocks, bonds, and other financial assets. The revenue would pay for education, housing, disability services, and tax credits for working families.

The proposal didn’t make it very far in either chamber, but Thai thinks she and Frame can build a pressure campaign to move stragglers within her party—after all, Democrats have a majority, which should grow after this election. 

If Thai doesn’t win, we’d lose one of our strongest advocates for progressive revenue to Republican Al Rosenthal, who advocates against the sales tax, car tab fees, and other regressive revenue streams without plans to backfill them with a tax on the rich. But taxation is far from the centerpiece of his campaign. Rosenthal joins a distressing trend of candidates who seemed to plug the sparknotes of that  San Fransicko book into ChatGPT to write their ill-conceived “Treatment First” homelessness platforms. We’ve debunked this model a few times in response to We Heart Seattle’s Andrea Suarez and new internet villain Rachael Savage. And no amount of cosplaying as war reporters on 3rd and Pine will change the fact that it is more effective to house people than to stick them into mandatory treatment, where they may fail out and return to the streets. This ideology of shame, punishment, and paternalism must be rejected. In the meantime, vote Thai. 


Legislative District No. 43

Representative Position No. 2
Shaun Scott

We could all go on and on and on about how Statewide Poverty Action Network Lobbyist Shaun Scott and We Heart Seattle Executive Director Andrea Suarez represent starkly different ideologies and visions for Washington, but voters in one of the state’s most renter-heavy districts are too busy working too hard for too little to put up with that crap. The choice here is between a candidate who knows what they’re talking about and one who does not.

Even if he talks as if he expected us to carve his words into stone atop Mount Sinai, Scott isn’t your typical sanctimonious Democratic Socialist. (Sorry, love you all.) He’s a serious guy with serious policy experience who wants to get stuff done in Olympia–like yesterday.

He’s all-in on closing corporate tax loopholes, implementing progressive taxes like a statewide wealth tax, and taxing real estate transactions to pay for social housing. To help out all those tenants in the district, he wants rent control, and he wants rent payments to help build credit scores. As a representative of a neighborhood the cops gassed for a week, he also wants to protect protestors from state prosecution, establish a state police accountability board, and pass a law to stop police unions from bargaining away accountability measures. And as many Democrats ignore COVID entirely, Scott wants to fund research for Long COVID and to support those suffering from the post-viral illness. Sprinkle a state task force to look into white supremacist activity and resettlement centers for asylum-seekers, and, people, you have like a third of his detailed platform. 

Suarez lacks this sort of vision and eye for policy. Though her campaign materials tout her as a “progressive,” it’s all drag. Zero Democratic groups back her, let alone the progressive ones–and for good reason. Based on the way she’s been running her campaign, she’s got more in common with a compulsive conservative Facebook commenter than she does with even the most moderate of Democrats. When not calling Scott a “communist,” she spends her time proselytizing on behalf of a homelessness policy that spawned from a toxic MAGA pit and tagging news organizations on social media when she finds stuff in the woods. That’s about it. 

Though the big brains on the Seattle Times Editorial Board dismiss Scott as an extremist, they don’t have much company. Scott has been endorsed by more than a dozen labor unions, the biggest conservation group in the state, environmental justice orgs, urbanist orgs, and gobs of establishment Democrats, including his potential future seatmate, State House Rep. Nicole Macri, and Washington State House Speaker Emeritus Rep. Frank Chopp. If you want someone who will actually provoke debate in Olympia and not waste any more of your precious time, then vote Scott. 


Legislative District No. 45

Representative Position No. 2
Melissa Demyan

The Stranger Election Control Board probably would have bought a billboard to attract new talent to the 45th Legislative District, which covers Kirkland, if 20-year incumbent State House Rep. Larry Springer faced another election without a progressive challenger. That’s why it is with such great pleasure that we endorse labor organizer Melissa Demyan to knock down this switch-hitter Democrat. 

Things we like about Demyan: She’s a renter, she’s got a union background, she wore a cool tie to our endorsement meeting, and she’s not fucking Springer. He’s a landlord (to his adult son, if that matters), he’s the self-described liaison between his caucus and the business community (there’s plenty others, believe us), and he wore no such cool tie to our meeting. (Though we did like his glasses, and he kinda had great taste in general.) 

Instead, Springer droned on and on, excusing his piss-poor voting record on technicalities or utter bullshit. Why didn’t he support a bill to protect abortion care from hospital mergers? He wanted to consider how the bill would affect chiropractors. Why did he want to give more public funding to charter schools? He said he liked the educational “vibe” in charter school classrooms. Why does he support I-2066, the Republican-backed initiative to ban electrification? Based on the convoluted answer he gave and then somewhat walked back in a follow-up email, we have to assume he just did not read the initiative.

Still, Springer thinks his experience as one of the few lawmakers who served during the 2008 financial crisis would be valuable next year as the State faces budget turmoil. We say institutional knowledge, shminstitutional shknowledge. If Springer’s still convinced we should use public funds on charter schools after two decades in the State Legislature, we actually don’t think he’s better-suited to manage tax dollars than any rando in Kirkland.

And Demyan’s not a rando. Sure, she may be a little green, but she’s got all the organizing experience a lawmaker needs to build coalitions to pass bills that will help people. Give her even half a term in Olympia, and she’ll find all the levers she needs to pull. Springer had his chance. It’s time to pass the torch. Vote Demyan.


Legislative District No. 46

Representative Position No. 1
Gerry Pollet

As Seattle’s school district threatens to shutter elementary schools, voters in the 46th Legislative District, which covers the city’s northeastern reaches, should count themselves lucky to have a public education champion like State House Rep. Gerry Pollet on the ballot this year. 

In his last term, he raised the “unconscionable and unconstitutional” cap on education services funding for children with disabilities. He promises to eliminate the cap for good in his next term.

To stave off school closures, he will propose a $1.1 billion increase to school budgets. He acknowledges that the sum won’t solve the problem entirely, as school funding relies heavily on local levy revenue. To help juice enrollment to keep those state dollars flowing, he said Seattle must increase affordable, family-sized housing density around public schools. And he’s not just saying that to the Stranger Election Control Board. In a six-page letter, he told Mayor Bruce Harrell that his comprehensive plan did not go far enough to promote affordable density. 

That brings us to the elephant in the room—Pollet’s NIMBY streak. He watered down the so-called “missing middle” housing bill, catching a lot of flack from urbanist types. He stands by it, saying he wanted to keep marginalized communities in their neighborhoods. To be clear, we think he should still advocate against displacement, but we hope he finds ways to do that without perpetuating the housing shortage that also prices people out of their neighborhoods. But we probably won’t have to worry about a repeat of the “missing middle” episode because Democrats booted him from the local government committee.

And it's not like his opponent brings a platform of militant urbanism to the ballot. Republican Beth Daranciang’s “platform” matches the policy prescriptions offered by every other low-rent GOP loser on this ballot: She supports all four batshit initiatives, wants to cut taxes, fearmongers about crime, and then caps it all off with a little transphobic nonsense about “women’s and girls’ sex-based rights.” Vote Pollet. 


Legislative District No. 46

Representative Position No. 2
Darya Farivar

In 2022, Washington voters sent Rep. Darya Farivar–the State House’s youngest member, its first Middle Eastern woman, and its first Iranian American–off to Olympia. And they were so right to do so. 

Whether she’s crafting or voting on legislation, she approaches questions of policy with an exacting mind and human heart. A wonk who previously directed public policy for Disability Rights Washington, she recognizes how small tweaks and vague legal language can make an enormous difference in our lives. Farivar successfully carried bills last session that eliminated the cost of extended family visits to their incarcerated loved ones, made sure people leaving state custody had an ID in their hands when they headed home (you can’t really get a job or apartment without one), raised caps on penalties for antitrust violations to hold big companies to account for things like price-fixing and collusion. She also sponsored the Nothing About Us Without Us Act, which requires the state to include people with lived experience of issues in government work groups, task forces, and advisory committees. In Farivar’s experience, that kind of requirement leads to better policy. 

All-in-all, that’s four bills she prime-sponsored and got passed, as well as another she co-sponsored–quite good for a junior lawmaker. And if we send her back, which we should, then she’ll keep doing more good work. Next session, for instance, she plans to reintroduce a bill that would give courts the option to divert low-level offenders with mental health and substance use disorders to treatment alternatives, skipping jail that can disrupt housing and job prospects and even lead to overdoses. 

We’ll happily take a compassionate policy nerd like Farivar over a vibes candidate like her Republican challenger, Simone Barron. At first blush, you’d think a service industry pro with 35 years experience who co-founded the Full Service Workers Alliance and sat on the board of Restaurant Workers of America would be into worker’s rights, but names can deceive. In 2021, she did a video for the conservative media nonprofit PragerU, which tries to brainwash America’s children (and adults) with their trash content, to explain how minimum wage increases are an attack on tipped workers. We don’t think they are, and we’re not alone. Barron has attracted only tens of financial backers, and nearly a quarter of her whopping $4,100 war chest comes straight from the King County Republican Party. Lol. Vote Farivar.

Legislative District No. 47
Representative Position No. 1
Debra Jean Entenman

Debra Jean Entenman is the friend we generally get along with, occasionally really vibe with, and have that one awkward topic we don’t want to bring up, but we respect her sense of conviction overall. 

A 30-year resident of Kent who first ran to represent a changing South King County, Entenman has represented the 47th Legislative District since kicking Republican dunce cap Mark Hargrove to the curb in 2018. We want her to stay. 

On the transportation committee, she says she’s worked to improve the safety between SR 18 and I-90. Covington locals benefit from her commitment to creating more parks and improving the pool, so more kids of color can learn to swim, hopefully preventing drownings in our watery region.

We all benefit from her uncompromising attitude on police accountability. In 2021, she sponsored a bill to create Washington’s Office of Independent Investigations, which will start investigating incidents of deadly police force this December.

She wants to go even farther by eliminating police immunity and creating a statewide prosecutor independent of the State Attorney General. That latter goal gets tricky because it would take a state constitutional amendment, so Entenman supported State House Rep. Monica Stonier’s Russia- doll workaround to create an independent office within the AG’s office. That bill failed, and she says the community did not think the office would be separated enough anyway because prosecutors still had first dibs on cases. But she remains open to other ideas, and we appreciate the effort.

Our beef with Entemann was and will continue to be the charter schools she’s insistent on funding. When we asked about charters siphoning off funds from kids in neighborhood schools across the country, she said without charters there is still inequality from rich fundraising PTA parents at well-to-do public schools. Yeah okay fine, but two wrongs don’t make a right. 

But since her now-perennial Republican challenger, Kyle Lyebyedyev, is not so much a real candidate as much as he is a scramble of promises to fix everything without raising taxes, we’ll just have to agree to disagree with her. 

This is sort of beside the point, but Lyebyebyev looks like Zach Braff and Dax Shepard morphed into one guy. Coincidentally, he’s also really annoying. For some reason, he calls his public Facebook page “Kyle Lyebyedyev’s Corner: Where Family, Politics and Fun Collide,” our “gateway to connection, insight and a sprinkle of laughter.” The page features smiley family pics  and a photo of him and his wife standing by an American flag with swimmer-turned-anti-trans activist Riley Gaines. At least Entenman’s not for charter school vouchers? Vote Entenman.

Legislative District No. 47
Representative Position No. 2
Chris Stearns 

State House Rep. Chris Stearns made history when his constituents voted him the first Native American on the Auburn City Council, and then again in 2022 when he became one of only three Indigenous lawmakers in the Legislature. And it’s not empty representation—he is using his seat to fight for Indigenous people. 

To name one example, he sponsored the Native American apprenticeship bill, which will help pay for tuition, supplies, and the cost of living for tribal members in apprenticeship programs when it goes into effect in 2026. He also doubled state funding to treat people living with a gambling disorder. Studies show Indigenous people deal with gambling addiction at about twice the rate of the general public. 

If we give him another term, Stearns says he will continue working to address problem gambling. Last year, he introduced a bill to create a pilot program for gambling treatment diversion court, which would help people who commit financial crimes as a result of their gambling addiction get into treatment instead of jail. 

Speaking of jail, the Legislature recently passed a bill to end the automatic use of juvenile points in sentencing that can add years to jail time. If we re-elect Stearns, he will push the issue even further and strike the juvenile points retroactively, removing years off of sentences that already accounted for juvenile points. 

It is clear to the SECB that Stearns brings a unique and thoughtful perspective to his role, which is more than we can say of his opponent, Ted Cooke. Cooke is a Republican–and an uncreative one at that. He’s running on a copy-paste platform of election denialism, bootlicking, and anti-trans panic, according to his website. Yawn! Vote Stearns.


Legislative District No. 48

Representative Position No. 1
Vandana Slatter

Vandana Slatter, chair of the Post-Secondary Education & Workforce Committee and co-chair of the Science, Technology and Innovation Caucus, is a clinical pharmacist running for her fourth full term in the State Legislature. We should send her back to continue fighting for the environment, affordable housing, access to a college education, and our all-important health care.

Last year, Rep. Slatter worked with Gov. Jay Inslee’s office to create the Washington Climate Corps Network. Managed and administered by Serve Washigton, the program buoys AmeriCorps funds with Climate Commitment Act money to funnel 17 to 31-year-olds and military veterans toward green energy jobs statewide. Neat! 

She also co-sponsored a bill that streamlines the financial aid process for high school students on food stamps. Starting next year, they’ll automatically qualify for the Washington College Grant without having to submit paperwork to prove their income. 

To ease the crushing burden of student debt on the state’s public servants and to align with changes to the federal Public Loan Service Program, she also introduced a bill to better notify teachers, firefighters, and nurses of relief opportunities.

And last year, Inslee also Slatter’s My Health My Data Act, which protects our health information, as well as people visiting on their abortion care and gender-affirming medicine journeys from Republican hell states. All very good things! 

We can’t really drum up the same level of enthusiasm for her opponent, Lynn Trinh. Trinh’s short but sweet video-forward platform could be summed up with five hearty puffs on a bright-red dog whistle. Republicans, get your slop: “Reclaim Parental Rights, Restore Quality Education, Redeem Public Safety, Reduce Regulations and Taxes, and Return to Civil Liberties.” Love the alliteration, but hate the ideas. 

Trinh, whose family moved to the US following China’s Cultural Revolution, said she “understood the danger of losing freedoms” but has suggested that “Tibet’s today” could be America’s tomorrow, and this “misinformation” talk is silencing “genuine criticism.” Counterpoint: No, and if you’re worried about draconian overreach, then maybe the call is coming from inside the house? 

Anyway, she didn’t respond to our meeting invitation, and it’s not entirely clear how Trinh hopes to protect your constitutional rights, but it will involve school choice and “giving power to the people” by giving cops more power, and also solving homelessness with “community-driven” responses. Bleh. Vote Slatter.


Justice Position No. 2
Sal Mungia

We remain big fans of Sal Mungia, who plans to ensure greater access to the legal system and to guarantee that people face a fair and impartial court no matter their race. His passion for his work as well as for civil rights gives us confidence that, if elected, he’ll likely succeed at improving the court system for all.

Mungia consistently landed on the right side of history as an attorney. He’s spent most of his career as a personal injury lawyer for Gordon Thomas Honeywell in Tacoma, and while he focused on medical malpractice lawsuits, he’s fought for all kinds of causes. Back in 2005, he was filing amicus briefs in support of same-sex marriage in Washington. Before that, he fought and won better conditions for people held at Pierce County Jail. 

Mungia passionately voices his support for the legal reasoning behind “the bright-line Rhone rule,” a Washington Courts policy that allows judges to take direct action against attorneys who try to eliminate jurors based on their race. He can rattle off statistics about the many ways the courts show bias against Black plaintiffs in the civil legal system. His close attention to these issues suggests that he’ll closely examine cases before him involving bias while also looking to make the court more equitable. 

Speaking of equity, we squeezed Mungia as hard as we could on the topic of whether he’d do the fair thing and overturn the dumb 1933 court decision that outlaws a progressive income tax in Washington. He knew better than to answer that question, as court cases must be decided based on the facts before the judges and all that jazz.   

Weirdly, his opponent, Federal Way Municipal Court Judge Dave Larson, shared his thoughts without much prodding, and he acknowledged if he’d had the capital gains tax in front of him as a Supreme Court Justice, he’d have ruled it a property tax lickity split. Despite finding Larson generally good company, his easy declaration that he’d opposed a progressive tax made it very simple to choose Mungia over him. 

Also, Larson’s choice to campaign alongside GOP gubernatorial candidate Dave Reichert certainly didn’t earn him any points in the room. When Larson attended an event with Reichert back in June, he told the crowd, “‘It’s time that we take back the judiciary in Washington state,’” according to the Chronicle. He argued that he only meant that people needed to have more control over the court so that it better served them, but, with all due respect, we think he’s full of shit. And anyway, we’re definitely gonna go ahead and back the candidate who defended gay marriage before it was cool over the candidate who speaks alongside a man who believes marriage should be “between a man and a woman.” Vote Mungia.


Judge Position No. 41
Paul M. Crisalli

King County Superior Court Judge Paul Crisalli says he works to pay attention to what happens to Black people and people of color who police sweep into the criminal system, he understands the importance of the Rhone Rule (or GR 37), which allows judges to take a more active role in preventing racist jury selection, and he believes in the importance of a public defender system. All told, he seems like a judge who has his heart in the right place.

He’s big on jury selection. He’s embraced doing voir dire virtually, which we think is pretty cool since it allows more people to show up for the selection process, hopefully resulting in more diverse juries. He also advocates for increasing jury pay from the measly $10 a day that King County Superior Court currently funds. (That’s honestly crazy, juries should unionize.) 

Crisalli deeply understands the critical role that money plays in both the criminal and civil legal systems. He says he wished he could spell away the costs of the court system, but the best he can do for now is try to allow for more virtual hearings when possible, avoid holding superfluous hearings, and keep things moving in his courtroom by reading all the material that he needs to beforehand and coming prepared to court.

Speaking of reading everything, if you’re an attorney reading this right now and you think you can just ChatGPT up your next brief for Crisalli, think again. He caught an attorney doing that the other day when he read a brief they submitted and realized none of the citations matched actual case law. Crisalli wouldn’t give us any of the other details (we thought the courts were open and public, apparently not.) Still, he says he’s interested in how AI may end up creeping into the court system, and we like a judge who is aware that people can start faking photos and videos to try to pin crimes on them. 

At the end of the day, Crisalli’s role is to referee a rigged system. We think he’ll do that as fairly as he can, and for that we say vote for him, especially over Andrew Schach, who works for the Washington State Office of Administrative Hearings. Schach acted like he couldn’t meet us for an endorsement interview or even speak with us during business hours. Literally, we’ve interviewed dozens and dozens of judges as part of SECB and never had this issue. He was also kind of rude. Much ruder for sure than Crisalli, who showed up bearing chocolate chip cookies he’d baked himself. What a sweetie. Vote Crisalli.


Council Position No. 8
Alexis Mercedes Rinck 

It's like the old meme goes: If Alexis Mercedes Rinck has a million endorsements, the SECB is one of them. If Rinck has one endorsement, it’s the SECB. If Rinck has no endorsements, the SECB is dead. 

Aside from your NOs on those four ballot initiatives, the race for this citywide city council seat may be the most consequential bubble on your ballot. In 2023, in a low-turnout election, big business spent more than $1 million to flip the council from tepidly progressive to brazenly conservative. Since then, the new council has levied attacks on workers rights in the very region that put the Fight for $15 on the map. They’ve killed measures to incentivize affordable density amid a housing crisis. They’ve reinstated racist, transphobic, and classist anti-loitering laws that the City already repealed in 2020. They’ve so far refused to tax big business, putting affordable housing, renters’ services, and labor law enforcement on the chopping block in the 2025 budget. And they won’t stop there.

All that bad shit we rattled off just now? Rinck’s against it. Rinck won’t fight for your bosses to pay you less, or for your landlords to evict you more easily, or for cops to arrest you more, or for corporations to hoard more wealth. 

We speak in negatives for a reason. Rinck won’t have many faithful friends on the council to help her advance policy. That’s not to say we doubt her political savvy—if anyone could reason with the current council to move forward on decent legislation, particularly in the realms of homelessness policy and public safety, it would be Rinck, who convinced a bunch of suburbs to buy into the regional response to homelessness during her time at the King County Regional Homelessness Authority. Still, the numbers are not in her favor, so we expect her to play defense for the oppressed in a legislative body that mostly seeks to comfort the oppressor. 

Speaking of comforting the oppressor, Rinck faces off against the council’s nepo baby, Tanya Woo, who lost her election in 2023 but got handed an appointment to the citywide seat at the request of the council’s corporate donors. And we’re not exaggerating here. In a letter to all those donors, PAC wrangler and consultant Tim Ceis said big business had “earned the right” to tell the council who to pick because they paid for their seats, and their puppet council did as instructed. 

And who is Woo, the person they picked? She’s the scion of landlords in the Chinatown International District whose political profile rose after she worked with Republicans to block a shelter expansion in SODO. One of the dimmer bulbs in the council’s already flickering chandelier, she evinces zero capacity for discussing complex legislation, no will to put forth any major legislation of her own, and otherwise displays total fealty to the corporate class. None of which should surprise anyone, given the fact that she’s only voted in local elections a handful of times in her life. 

Making sure you vote for Rinck is so important because her election represents something bigger than one seat; it represents a referendum on the entire conservative bloc. If Rinck blows Woo out of the water, this conservative council’s legitimacy may as well be toast. Any time they try to mess with working people or make the city more hostile to the unhoused, Rinck can vote against it with the backing of more voters than anyone else on the body. The bigger the win, the more momentum progressives can ride into the 2025 election, when the conservative ringleader, Council President Sara Nelson, will have to defend her seat. Let’s make her scared. Vote Rinck. 

Proposition No. 1: Property Tax Levy Renewal for Transportation
Yes

If you ever leave your place of residence, you should absolutely vote “yes” on Prop 1 to pass our desperately needed transportation levy. The new levy will generate a historic $1.55 billion in its eight-year lifetime. The City will spend that money on 350 blocks of new sidewalks, 160 projects to improve bus-rider experience, safety projects at 70 high-collision locations, a full revamp of Aurora Avenue N, plus much, much, more. 

A little history: Mayor Bruce Harrell proposed a puny, baby little levy that favored car-centric infrastructure. Thanks to the tireless work of transportation, environmental, disability, labor, and other advocates, the mayor and then the transportation chair cranked that number up by $250 million and earmarked 45 percent of the total investment for multimodal transportation via buses, bikes, foot, and any other way you may get around without a car.

The levy’s been called a “consensus” levy, as it pleases the progressive transit heads and the conservative business community. Even the Stranger Election Control Board struggled to play devil’s advocate against it. Every argument against Prop 1 falls apart like much of Seattle’s poorly maintained infrastructure would if this levy were to fail. 

Some may argue that the levy costs homeowners too much. For the owner of the median-valued home, the new levy will cost them $41 per month, a 70 percent increase from the $24 cost of the 2015 Levy To Move Seattle. Washington State relies heavily on property taxes to pay for social goods because our state constitution outlaws an income tax. The SECB would sacrifice a lifetime of drunk cigarettes if it meant flipping our upside-down taxation scheme right-side up, but, in the meantime, this is how we pay for shit. 

Besides, that framing's whack. Sure, $41 a month may sound like a lot, but relying on a car costs homeowners about $1,000 a month based on estimates from Experian, AAA, GasBuddy, and the National Conference of State Legislatures. The better our public transit, the less Seattleites have to rely on cars, the more money voters actually stand to save. Besides, the City and County run levy relief programs for seniors and disabled people who cannot shoulder the cost, so no one should be splitting pills for better bus service. 

On the flip side, there’s some militant urbanists who would rather tank this levy and force the City to produce a bigger, bolder one in 2025. If the levy legit sucked, then we’d be on board. But it doesn’t suck. And without a strong, concerted movement to reject it in protest, there’s no reason to believe the mayor and the city council would interpret a failed levy as anything but a sign to slash the price on a future proposal. 

Don’t overthink it. Vote yes on Prop 1. 

The Stranger's November 5, 2024 General Election Cheat Sheet [The Stranger]

The Stranger's Cheat Sheet. by Stranger Election Control Board

Behold, the Stranger's November 5, 2024 General Election Cheat Sheet:

Want more information about these candidates and issues? Read our full endorsements here. And if you appreciate the work, please contribute to our efforts here! All contributor funds support our journalism. 

16:07

[$] Using LKMM atomics in Rust [LWN.net]

Rust, like C, has its own memory model describing how concurrent access to the same data by multiple threads can behave. The Linux kernel, however, has its own ideas. The Linux kernel memory model (LKMM) is subtly different from both the standard C memory model and Rust's model. At Kangrejos, Boqun Feng gave a presentation about the need to reconcile the memory models used by Rust and the kernel, including a few potential avenues for doing so. While no consensus was reached, it is an area of active discussion.

15:42

Link [Scripting News]

Gruber gave me an idea when he put his NYY logo on his blog. I thought that was both interesting and weird. I don't get how anyone I know can be a fan of the that team. An American League team in a National League city. Kind of like rooting for Staten Island. Anyway, the Yankees may win the ALCS, but what does it mean? It's not going to make New York love them. But then Gruber is in Philadelphia so why isn't he thinking about the Phillies, who btw, the Mets beat soundly in the division series, earlier this month. In any case, I have made the team picture of the 1969 world champion Mets as the banner image on Scripting News for now and into the forseeable future.

Link [Scripting News]

BTW, I've been too busy to keep up with the Podcast0 feed. Not sure when I'll be able to pick it up again.

15:28

The Big Idea: Curtis C. Chen [Whatever]

For the third book in his science fiction series, Curtis C. Chen sets his site on a planetary neighbor, and a classic 90s action film, as inspirations. Which location and which film? Chen reveals all in this Big Idea for True Blue Kangaroo.

CURTIS C. CHEN:

My third Kangaroo novel is mostly set on the planet Venus. Why there? Well, it’s basically a mashup of a theoretical space mission concept and the 1997 John Woo film Face/Off. Lemme ’splain.

About a decade ago, some NASA Langley Research Center engineers put together a video for what they called “High Altitude Venus Operational Concept” (HAVOC), a potential future expedition which would use an inflatable airship to explore Venus’ upper atmosphere. Fun fact: Venusian atmosphere is thicker than Earth’s, so a big enough balloon filled with human-breathable air would be able to simply float above the clouds!

(You can see a different application of this in JPL’s fanciful Venus travel poster, which depicts an observation platform for watching Mercury transit across the face of the Sun.)

By the way, those dense Venusian clouds–which make it impossible to see the planet surface from Earth, and previously inspired decades of pulp adventures set on a swampy jungle world–are primarily sulfuric freakin’ acid. And below that, at ground level, the pressure and temperature increase to infernal extremes, as confirmed by multiple probes since the 1960s.

Good news, though: stay above the clouds in your breathable-air-filled floating habitat, and it can be always sunny in Venus-delphia! Then put some maneuvering thrusters on your hab to follow the sun–they’ll need to be real beefy to push against the extreme winds (which have been clocked at above two hundred miles per hour, higher than a category 5 hurricane), but as a bonus, you’ll also have all the solar power you can eat.

However, a spy thriller can’t just feature unbridled sunbathing and wanton astronomy. And I recalled the movie Face/Off’s “Erewhon Prison,” a maximum-security penitentiary where unruly prisoners can be literally locked down by their magnetic boots. (The original screenplay was set a hundred years in the future, to make the face-swapping technology more plausible, and also included chimpanzees performing all our manual labor for some reason?)

In that movie, an inmate played by Nicolas Cage engineers a daring prison break only to find that Erewhon is located on a remote oil rig in the middle of the ocean, far from any getaway vehicles. Oh, you think that’s bad, Nic? How about being left hanging above an entire furshlugginer other planet that’s bathed in scorching toxic fumes? NOT COOL, MAN.

Last but not least, this being a Kangaroo tale, the inside of the Venusian habitat also had to be something super weird. So I then drew inspiration from one final media source: the 1967 Patrick McGoohan television series “The Prisoner.”

And you can read all about that tomorrow, in the My Favorite Bit piece I’m writing for Mary Robinette Kowal’s blog! :) #ShamelessCrossPromotion


True Blue Kangaroo: Amazon|Barnes & Noble|Bookshop|Powell’s

Author Socials: Web site|Facebook|Instagram|Mastodon

Read an excerpt.

15:21

[$] Two pidfd tweaks: PIDFD_GET_INFO and PIDFD_SELF [LWN.net]

The pidfd mechanism, which uses file descriptors to refer to processes in an unambiguous and race-free way, was first introduced in 2018. Since then, the interface has gained a number of new features, but development has slowed over time as the interface has matured. There are, however, a couple of patches in circulation that are meant to make working with pidfds simpler in some situations.

14:56

Link [Scripting News]

Threads just added an online status feature, where it'll show your icon to others with a green dot if you're online. I turned it off. I don't see this as a social network, I see it as a two-way publishing medium. Big fundamental difference. My words speak for me here and on Threads. It's a strong argument in favor of "Follows" being the default algorithm, btw.

14:49

1312: Poor Sleep Hygiene [Order of the Stick]

http://www.giantitp.com/comics/oots1312.html

14:35

Security updates for Wednesday [LWN.net]

Security updates have been issued by AlmaLinux (buildah, containernetworking-plugins, and skopeo), Fedora (pdns-recursor and valkey), Mageia (unbound), Red Hat (fence-agents, firefox, java-11-openjdk, python-setuptools, python3-setuptools, resource-agents, and thunderbird), SUSE (etcd-for-k8s, libsonivox3, rubygem-puma, and unbound), and Ubuntu (apr, libarchive, linux, linux-aws, linux-aws-hwe, linux-azure-4.15, linux-gcp, linux-gcp-4.15, linux-hwe, linux-kvm, linux-oracle, nano, and vim).

Library Events and NYCC [Whatever]

Last night I did an event at the Piqua Library, Piqua being just a few miles from where I live, and it was an interesting event because I didn’t know who was going to show up. When I do a book tour event, it’s reasonably certain that the folks who come to the event have some idea who I am and what I do, and have probably read books of mine before. But with non-tour library events you can’t always assume that. Some folks show up because they’re library event regulars and will show up no matter who is doing an event, and others just know some writer or another is going to be stopping by and they have a curiosity about that.

Last night’s crowd was an interesting mix of people who knew who I was and people who were there because something was going on at the library, so I deviated from my usual set list of readings and did a presentation of who I was, how I came to live in the area, and what science fiction was in terms of literature, with a brief reading of “When the Yogurt Took Over,” which is (if I do say so myself) everything science fiction is supposed to be in just 1,000 words. I think it went over well, especially because it was, bluntly, entirely off the top of my head.

From small town to big city: Tomorrow I am at New York Comic Con, where I have two panels: The Sounds of Storytelling at 5pm, and the Authors Reading Bad Reviews panel at 6:30pm. I’ll have a signing following the latter panel, and I’ll also be signing at the Tor Books booth on Friday at 1pm. If you’re at the convention, please come to one or both of the panels!

— JS

14:14

Bright Hearts [Original Fiction Archives - Reactor]

Original Fiction Horror

Bright Hearts

A florist becomes obsessed with the strange, haunting red flowers she buys from an equally strange old lady…

Illustrated by Sonia Lai

Edited by

By

Published on October 16, 2024

1 Share
An illustration of bright red roses growing out of a ghostly white, anatomical heart.

I hadn’t seen the old lady with her pram full of flowers for months. In A Bunch of Love, we joked our takings were up; without her five-dollar bunches of flowers, people came in to us instead. My boss didn’t find it funny.

“You know she steals those flowers? No outlay.”

“And spends the profit on bad men,” I said. I kind of loved the resourcefulness of the old lady. So when I saw her on the street corner, I stopped. I had five dollars in my wallet, “burning a hole,” as Jack Torrance said in The Shining. Mad money, meaningless in the grand scale of things. I worked in a shop full of flowers, could make myself a hundred-dollar bunch without flinching, but I liked the look of these.

“Which one you want?” she said. She pushed back the hood of her pram to reach a posy made of red flowers. Their petals were rose-shaped, with longer petals interspersed, these folded like fronds. The centre was a bright, unnatural red. “Lovely red like your shoes.” She wasn’t wrong. I called them my Dorothy shoes, ruby-red and almost magic.

“Lovely carnations,” I said, because they had to be.

“I call them Bright Hearts,” she said.

I took the bunch (she wouldn’t let me hold it until I paid her) and sniffed. The scent was subtle and sweet. “All from my garden,” she said. She didn’t need to go through the sales pitch but she seemed compelled to, a recording set to play and not done until all the words were spoken.

She sighed as I walked away.

Back in the florist’s, I set the small bunch in water by the cash register. The boss was out for the day and I felt cheeky. The red flowers were gorgeous, and seemed darker now. My workmate said they stank, but she has a strange nose. We had so many queries about them I sold them for fifteen dollars, a tidy ten-dollar profit straight into my pocket. I bought the flowers; the money was mine.

A customer I hadn’t seen in ages rushed in just at closing, demanding red flowers like her friend bought. “They smell so beautiful!” she said. My workmate shook her head in disbelief. I guess it was the same as coriander; some people think it tastes of soap, others love it. “And they almost look like fairies, at a glance. Like those Conan Doyle fairies, you know?” and she lifted her heels, raised her arms, and for I moment I thought she was a fairy.

“We only had one bunch but we are trying to source some more,” I said. On a whim, I gave her an index card, asking for her details so we could call when the flowers came in.

“Thanks!” she said. She used to be a frequent customer but it had been months. “It’s good to see you,” I said. We’d been helping her get ready for her wedding but we hadn’t supplied the flowers and I saw no ring on her finger. I didn’t ask how it went.

Even so, she looked momentarily panicked, then said, “He walked out on me. I’ve been trying to fill my place with beautiful, bright things. Like those red flowers. The colour in the centre.”

I made her a posy from flowers we had in the store. I chose mostly aromatics, thinking she’d enjoy the scent.

As I worked, she said, “What about you, did you and Jeremy have your baby?”

I’d forgotten I’d told her that in a fit of camaraderie. No one else apart from my boyfriend had known. I walked outside with her, not wanting my workmate to hear.

“It was one of those phantom pregnancies. A ghost baby. At least I didn’t have to go through the birth. She disappeared at around three months. Jeremy and I were brokenhearted.”

“I’m so sorry,” she said. I drew deep breaths to stop myself from crying. I barely thought about my baby. I was tempted to pile it on her, make her feel worse, tell her Jeremy was in a coma, in hospital, and I was alone. Instead, I said I was sorry about her fiancé leaving her and she left with the posy and me with another twenty dollars in my pocket. I wrote the flowers off in the “compost” column, as I always did. The boss never noticed and neither did the other workers. I figured I was saving those flowers from waste, I deserved a little reward.

I closed up the shop, sweeping up lost dirt, petals, and leaves, tidying the shelves. A bunch of yellow roses we’d try to sell cheap wouldn’t last another day so I took them with me to give to the nurses at the hospital. They looked after Jeremy so well.

I told Jeremy about the flowers and the old lady, trying to fill his day with interesting stories.

“I bought them for five bucks and sold them for fifteen. Not bad, ay? I can’t do it when the boss is around. And I don’t know how many red flowers the old woman can get. Or where she gets them from. Mission tomorrow: find out.” I rubbed my cheek; there was red dust all over my face. “I should jump in the shower, grubby after work.” I looked down at my red shoes, dirty from a day in the shop, and gave them a clean with my fingers.

“C’mon, let Daddy clean you up,” Jeremy had said last time I wore them. He loved me wearing red shoes; said it made me look like a baby doll.

“Jeremy! Don’t. You know I hate that.” But I’d asked for it. I’d said the magic words, grubby and shower.

“Naughty little girl doesn’t love Daddy, needs a spanking.”

He always said he was only joking but I found it hard to laugh.

He lay silent, eyes closed but sometimes blinking open. I said, “She asked about our baby. I didn’t tell her. Don’t worry. I won’t tell anyone.” I knew he felt bad. He felt terrible. It wasn’t his fault. He’d hallucinated. He’d thought I was his father coming at him, fists up, so he punched his father (me) he punched me (his father) so hard in the stomach we lost the baby.

So we pretended it never happened. Better that way.

At home, I fed the cat and put my yellow flowers in a vase. But like my jilted customer, I wanted those Bright Hearts.

I approached the old lady on her street corner early the next day, wanting to snap up all the red flowers she had.

“I don’t have any today but I can get you some tonight. They only grow in one place.”

“Not your garden?”

Her eyes shifted sideways. “Yes, in my garden. I’ll bring you some tomorrow.”

I finished work early that day, jumped in my car, and parked close by, watching her work. She was a master; slumping her shoulders, holding out those flowers sorrowfully, the other hand out for money. I wondered where she’d pinched these ones from.

A couple of police approached, and she packed up her pram and took off. I followed, thinking she’d get on a bus and I’d follow her, like I was some kind of spy. I practised how I’d describe it to Jeremy. He liked me to tell a story with a lot of detail.

She trudged past the main shopping centre and through the local park to the casino. I assumed they’d refuse her entry, but they let her in. I parked and followed her. The pram was at reception; I sneakily peeked in but nothing good was hidden.

I found her at the poker machines, pumping in her five-dollar notes. It didn’t take her long to lose the lot and she trudged back out, retrieving her pram and standing outside. She looked tired, drained.

“Hi! Would you like a lift? Us flower girls have to stick together.”

She looked at me blankly, then said, “Red-shoe girl.”

I nodded. “If you show me where those red flowers grow, I’ll buy you dinner. And more. What do you say?”

She shrugged. “You give me fifty dollars,” she said.

I did a quick calculation. “Sure.” If the flowers didn’t sell well I’d undercut her. Fair enough. But she put out her hand, pre-payment, so I gave her the fifty, already thinking what I’d tell Jeremy. I never could keep a secret from him.

We folded her pram into the boot and her into the passenger seat. She wouldn’t tell me where we were headed, just turn left, turn right, turn right. We got lost, but I’m sure that was deliberate. She didn’t want me easily finding the place again, but that was too bad for her. My sense of direction is excellent.

We eventually arrived on the outskirts of town. A small dilapidated hut sat in front of a copse of what looked like apple trees. We left the pram in the car.

“This is my home,” she said, belatedly remembering the lie of her own garden. I managed not to laugh; she clearly did not live here.

The trees were stunted and twisted, but small apples littered the ground, so they were still fruitful.

“Poison,” she said, but that was bullshit. She wanted them for herself.

We reached a small courtyard, the remains of walls around it. It was laid with red bricks, professionally done some time ago. These bricks were inlaid with names: “The Collins Family.” “Julie and John Myers.” “Your Friendly Butcher.” Clearly a long-ago fundraiser where these people, once connected to their community and wanting to make a difference, paid to have their names here. They were surely all long dead, even the children. The bricks were securely in place although the grout was cracked, with grass growing through.

And the red flowers. Some grew tall, their bright centres glorious even in the twilight. Others budded out like droplets of blood.

The old lady muttered as she started to pluck them. She told me, “You say a prayer for each one. These dead, lying underneath here, they’re an angry lot. Never happy. You have to say a prayer to them to keep them calm.”

“These people aren’t actually buried here,” I said. “They just donated a brick.” A murmuring in the air filled the silence that followed.

She waved a flower at me. “You see? Bright Hearts. ‘But seek alone to hear the strange things said, By God to the bright hearts of those long dead.’ Yeats, he knew a thing or two.”

She kept plucking so I started, too, pretending to pray to keep her calm. She took about ten flowers, I took eight, which seemed fair. Even in the open air the scent was heady, almost like a good man’s aftershave, the sexy smell of a man who’s made an effort.

I drove her to an apartment block about twenty minutes from where I lived and dropped her off. She gave me a nod and said, “Be careful.”

As soon as I got home, I fed the cat (always the first job), opened the windows to get some fresh air in, and found vases for my flowers. They were already wilting slightly and I imagined they were panting, like a thirsty dog. “Here you go,” I said, as if they could hear me. Their colour was so rich, so beautiful. I placed them on the desk in my bedroom, wanting to see them when I woke up. I’d sell them, sure, but I wanted to enjoy them first.

I settled into bed, pulling just a sheet over me on this warm night. I slept fitfully, as I always did. I awoke to breathing in the otherwise quiet room. And a whistling sound that startled me. I reached for Jeremy, comforted by the sound of him, this deep, healthy breathing, but it wasn’t him. He wasn’t there.

Of course he wasn’t there.

I woke up feeling guilty so called in to say I’d be late. I had to visit Jeremy, I said, and no one could argue against that.

The hospital was quiet in the morning. I went in to Jeremy’s ward. It was always quiet there; even when it was full of visitors, everybody spoke in low tones, comforting stories into the ears of our catatonic loved ones.

“He’s doing well,” the nurse said. “Chatting away in his sleep as usual. Daddy this and Daddy that. Bit of a clean freak, was he?” She had two vases of flowers she placed on tables amongst the four patients in the ward.

“Did those just come in? I should have brought some with me. I’ll bring some after work tonight,” I said. I wouldn’t bring the red ones.

“That’d be lovely. We do love fresh flowers. I don’t like to leave them in the ward overnight, though. Superstitious, maybe. But it doesn’t hurt to take them out.”

She told me softly flowers would breathe in your last breath and you didn’t want that. They drew in oxygen overnight, and when a person struggled for breath, it wasn’t a pretty sight. As if to demonstrate, Jeremy gave a great sigh, a deep rattle, then settled into measured breath again. My heart raced; I felt no comfort in this sound. I yearned for the gentle in-out breathing of the bright heart flowers.

“If you think about it,” the nurse said. “If you think about it, your first breath is in not out and your last breath is out not in.”

I told her she wasn’t wrong. I wondered if the old lady had ever stolen flowers from the hospital. I know they throw out the ones from rooms where people have died; it seems a waste.

I spent an hour at Jeremy’s bedside. Honestly, it was very boring. I almost missed his instructions, his directions, his criticisms. I’m sure he’d blame me for the head injury that put him here, but I wasn’t the one who picked the fight. I wasn’t one of his mates, egging him on. I was the one sitting at home with a rug on my lap watching British crime TV. Getting the phone call and thinking he was pranking me, making fun of me and my delight in crime when it wasn’t real.

I told him about the red flowers, how I could sell them and make a bit of money, and I could have sworn he said, “Anything for nothing, right?”

“Daddy’ll clean you up,” I thought he said, soft and scratchy. Of course he didn’t say any of it. It was the echo of him, my memory. It still hurt, though.

I kept those flowers until they rotted, the breathing fading as they did. I know I should have sold them; I did sell one single bloom to my jilted customer, but only because she begged me. “My god, the smell,” she said, “the scent of them.”

I had to agree. It was so sweet, it filled the house.

The old lady came into the shop, shoving her pram inside and knocking over pots, banging into the shelves we had near the door. She honestly didn’t care and I had to admire that.

“More have grown. You drive me and you can have some.” I nodded; after work, I told her. But I took a long lunch (a very long lunch) and I went out on my own. I wanted to experience it in silence, without her jumping at me, demanding. Praying.

I picked my way through the trees, bending to collect fallen fruit as I went, tiny apples I knew Jeremy would love. I’d pile them by his bedside. The nurses would like them.

The old lady hadn’t been wrong. The courtyard was red with the flowers. Again, some of them peeked up like small globules of blood, others grew tall. One in the centre was almost as tall as my knee and I couldn’t imagine how it had grown so fast. I knelt down to smell it. God. God. I almost fell over with it. This one was almost sweaty, fresh, hardworking-man sweaty. I plucked it, tried to pluck it but the roots ran deep. I dug with my fingernails, determined to have this flower, and gently tugged it out of the ground, feeling a tearing. The flower instantly withered and died, turning to dust in my palm. I grunted in disgust. Another grew nearby almost as tall and I found a discarded piece of old metal to help remove the bricks so I could get to it without killing it. My eyes itched from pollen and my fingers were covered with dead-flower dust.

I levered four of the bricks out carefully, then dug down. This one came easily, its roots pulling out of the sandy ground, coming out dripping red. I took off the light jacket I was wearing and laid it on the ground so I could place this flower on it. I heard a sigh, and a whistle, and saw another flower had grown tall. I dug up the bricks around that one as well, and around the next, and the next, until I had a dozen tall red flowers resting on my jacket. I felt shadows upon me and shivered, not only because I was without my jacket. Tall shadows shaded me, as if the trees of the copse had taken leg and walked closer. When I turned, though, figures stood, clustered together, breathing in out in out and I fell backwards, landing on the sharp corner of one of the bricks and cutting the mount of Venus on my left hand.

There was a menace about them, but I’d keep picking the flowers as long as they kept growing.

“I told you,” the old woman said. She was sweaty, dirty, without her pram, as if she’d raced to be here as fast as she was capable. “You need to pray to them. They are always angry.”

She fell to her knees, muttering, but the figures didn’t fade.

Another flower, and another, and I’d lifted two dozen bricks before the woman’s sobbing finally made me stop.

“Come on,” I said. “We’ll go.”

I took the flowers with me. The sound of them in the car was almost deafening, as if men were sucking oxygen in an airless place, desperately trying to draw breath.

The noise of them.

They flicker-imaged in the corner of my eye, here and gone. I felt surrounded, tricked, I tripped over my feet climbing stairs, I slipped in the shower, I became the clumsy idiot Jeremy had always said I was. I couldn’t just throw the flowers out, though. I didn’t think that was a solution.

I did an image search on those flowers and here’s what I found: people saying they grow from the heart of a person buried alive. They’ve been found all over the world. Over graves, in collapsed buildings, in the dirt floor of huts where victims were buried in the cellars. These red flowers, growing lush and loud. If they were collected early in the morning they’d be shining with dew, like fresh tears.

The old lady knew but she wasn’t telling, and I wasn’t about to go dig under the courtyard for fear of what I’d find. I knew what I’d find; flowers growing from the chests of the dead. Is that what they wanted? To be discovered? To tell their story, be seen? To be found? In Victorian times people were so terrified of being buried alive, some were buried with a whistle to blow. Had these poor souls whistled, whistled, whistled until they had no breath left?

I made an anonymous call to the police and here’s what they found. An old water tank beneath the ground, and a dozen skeletons inside it, resting in a dark, old sludge the colour of my flowers. They don’t know who; from the old asylum, they think. Forgotten people, not missed.

It was all over the media. They uncovered the top of the tank and cut it open. I don’t blame them. I wouldn’t want to crawl in, torch in hand, and try to find my way. They cut it open like a can of sardines, lifted the lid off. The metal was rusty and crumbling at the edges. We watched the whole thing live on television, me, the nurses, and Jeremy.

“I hope no one cuts themselves,” a nurse said. “We’d have to cut an arm off if they did.”

Twelve skeletons. Two small ones curled up together in the corner. Three larger, pressed together. One alone, curled almost into a ball.

The rest were piled on top of each other. One had reached the door handle of the water tank and that’s where he stayed. The rest had tumbled into a pile, drawing the last air together, perhaps, one last mutual breath.

“How people die is how they stay,” I said. My limbs twisted to mimic some of those positions.

“Dirty girl,” Jeremy rasped. His eyes closed, his mouth open the smallest bit. I helped him shift onto his side, mimicking the skeletons, curling him up into a ball, making him comfortable.

My flowers shed their petals and withered. The dust of them lay thick on the table and I swept it up, put it into a plastic container until I decided what to do.

The breathing faded and in the silence I felt alone.

And Jeremy. Jeremy. Stuck in his body. Buried alive in it. He wouldn’t be getting out. He’d die, and they’d bury him, and his flower would grow. I didn’t want that for him. I didn’t want him tortured, dragged out, alive when he should be set free.

He needed to be set free.

I took a day trip out to the river, where I knew a large cluster of flowering caster oil plants grew. I loved those red flowers. Jeremy and I had been out here a year ago, a few months before his accident. Swimming and actually enjoying ourselves, until he suddenly couldn’t breathe. The doctors called it an asthma attack. But I figured out he was reacting to the flowers of the castor oil plant. We never have them in the florist. They’re on the “sorry, but no” list.

I knew better than to breathe them in. Wearing gloves and a mask, I collected a good dozen bloom-covered branches. They looked enough like bottlebrush the hospital staff would be fooled. I put the branches into a plastic box, lidded it, put that into the trunk of my car. I picked some nice yellow wattle on the way, for contrast.

I’d brought a vase from home because I didn’t want the nurses dealing with the flowers. I have so many, anything with a crack or a chip would otherwise be thrown out at the florist, and that seemed a waste. I chose a bright red one to match, and delivered them just before visiting hours finished.

“These are natives,” I told the nurse. “They’re fine to stay in the room with him.” I’d made sure the superstitious nurse wasn’t rostered on, and the rest didn’t seem to care as much.

“They look gorgeous!” the nurse said, and they did.

I kept my phone under the front counter while I worked. The boss had kids so she knew the importance of always being contactable. The call came at 2:30. They’d tried and tried, but he was gone. An asthma attack, they said.

I genuinely collapsed, shocked and more grief-struck than I thought I’d be. The boss gave me money for a taxi. “You shouldn’t drive,” she said, but I did drive and I kept the money.

I told the nurses to keep everything in his room except for the flowers. The chocolate and grapes he couldn’t eat but his manager had sent anyway. Porno mags his friends left, beer his friends left. They never stayed and they wouldn’t miss him.

On top of that, I got the sack. The rest of the team threw me under the bus when the boss properly checked the books, blamed those “compost” write-offs on me, and the “missing stock,” and the under-the-counter sales. I actually didn’t care; Jeremy had some good savings and he’d want me to spend it.

He’d want me to be happy.

For months after I didn’t know what to do with my spare time. I worked at another florist. I gave away the cat; it was his and still smelled of him. I visited Jeremy’s grave and no flowers grew, for which I hoped he’d thank me. At night in bed I moved myself into position after position, mimicking the skeletons, the bright hearts. It was really quite comfortable. The old lady spent some time in jail, arrested again for flower theft. This gave me a free run at the courtyard flowers but none grew anymore; only the grass and the red dust remained.

I found it comforting, though, and would sit by myself, listening. And then I heard whistling, and followed it, and found a rusted sign saying “secondary water storage.” There was another tank, with no courtyard built over it, just layers of dirt and stone. Globules of red pressed through the black dirt and so I sat and called down to make them angry about all they’d lost in life. All they’d missed by being buried alive, with no one to care. Even as I watched, the flowers pushed up like mushrooms, growing into my waiting hands.

You can find me online at RedFlowersandShoes.com.

Pressed blooms a speciality.

Buy the Book

Bright Hearts
Bright Hearts

Bright Hearts

Kaaron Warren

The post Bright Hearts appeared first on Reactor.

13:35

CodeSOD: Time to Change [The Daily WTF]

Dennis found this little nugget in an application he inherited.

function myTime(){
    $utc_str = gmdate("M d Y H:i:s", time());
    $utc = strtotime($utc_str);
    return $utc;
}

time() returns the current time as a Unix timestamp. gmdate then formats that, with the assumption that the time is in GMT. strtotime then parses that string back into a timestamp, and returns that timestamp.

Notably, PHP pins the Unix timestamp to UTC+00:00, aka GMT. So this function takes a time, formats it, parses the format to get what should be the same time back.

And we call the function myTime because of course we do. When reinventing a wheel, but square, please do let everyone know that it's yours.

[Advertisement] Keep the plebs out of prod. Restrict NuGet feed privileges with ProGet. Learn more.

13:28

My Point Exactly – DORK TOWER 16.10.24 [Dork Tower]

This or any DORK TOWER strip is now available as a signed, high-quality print, from just $25!  CLICK HERE to find out more!

HEY! Want to help keep DORK TOWER going  – join the DORK TOWER Patreon and ENLIST IN THE ARMY OF DORKNESS TODAY! (We have COOKIES!) (And SWAG!) (And GRATITUDE!)

12:21

Cheating at Conkers [Schneier on Security]

The men’s world conkers champion is accused of cheating with a steel chestnut.

10:28

The interaction cascade [Seth's Blog]

Walk into an office, and the person behind the desk begins an interaction.

You respond (or react). They respond (or react) in turn.

Answer the phone. Caller ID tells you who it is–are you smiling? How much enthusiasm or disdain or annoyance or delight comes through?

The caller responds (or reacts). And so it goes.

Every interaction leads to the next interaction.

But the first one starts the whole thing. And that one can be up to us.

08:56

Obliviator, Part Four [Penny Arcade]

New Comic: Obliviator, Part Four

08:21

06:35

Criticizing by stock trading [Richard Stallman's Political Notes]

In China, there seems to be only one way to criticize the government which is not forbidden: by stock trading.

FEMA cash aid [Richard Stallman's Political Notes]

The US government responds to right-wing irrational attacks by taking special care to give no cash aid to victims who don't have papers to prove citizenship.

What does it actually take to evacuate during a weather crisis? For many Americans, it is far beyond their means.

Wildlife population falls [Richard Stallman's Political Notes]

As average [wildlife] population falls reach 95% in some regions, experts call for urgent action but insist "nature can recover."*

Taylor-Greene's hurricane conspiracy [Richard Stallman's Political Notes]

A right-wing conspiracy theory claims that Hurricane Helene was brought about by a business plot, intended to eliminate obstacles for a lithium mine.

The inventors of that myth are, it seems, trying to demonize building batteries to facilitate decarbonization.

It is surprising how close the myth is to the truth. There was no conspiracy to cause Hurricane Helene -- nobody would know how to do that intentionally. But there is a conspiracy of fossil fuel interests to maximize global heating, and that did cause this hurricane to be so powerful and damaging. The existence of this conspiracy is well documented.

The difference between the truth and the myth is just enough for the latter to put the blame on the wrong side.

*Study confirms Hurricane Helene fueled by Big Oil’s emissions: Greenpeace calls for climate polluters to pay.*

Abolishing privacy to tax [Richard Stallman's Political Notes]

A British official wants to abolish privacy in the UK just to make each motorist pay tax exactly in proportion to per driving.

The short-term solution for the shortfall in tax funds is simple: increase the tax rate on gasoline and diesel fuel. until the total revenue reaches the former level. That will speed the elimination of all fossil fuel vehicles.

In a few years, when those are mostly gone, that method will no longer solve the problem. At that point Britain could tax all electricity usage to get the money to pay for road maintenance. Or tax the rich in one way or another.

Armitt seems to treat as sacred the goal of measuring everyone's use of roads so as to compute precisely how much value each person gets from them. Such exactitude is an improvement in theory, but it is not crucial. We should not accept Orwellian surveillance just to make the tax perfectly fit the usage.

Growing threats [Richard Stallman's Political Notes]

*MI5 chief: UK facing growing threat from Islamic State, Russia and Iran.*

The threat includes assassinations and terror attacks.

Dutertes and Marcoses families power struggles [Richard Stallman's Political Notes]

*Two of the [Philippines'] most powerful political families, the Dutertes and the Marcoses, are set for an epic struggle for power.*

I expect that one of them will seek support from China. It is the obvious thing to do, for anyone that would sacrifice his country to gain power over it.

Fossil fuel foreign aid quadrupled [Richard Stallman's Political Notes]

* Foreign aid for fossil fuel projects quadrupled in a single year, … rising from $1.2bn in 2021 to $5.4bn in 2022.*

There should never be foreign aid to spend on increased planet roasting. No matter what pain is caused by a local scarcity of fossil fuel, it is not as bad as death for nearly everyone.

Workers' rights penalty enforcement [Richard Stallman's Political Notes]

The UK will have a new agency whose staff will actively enforce penalties for violating workers' rights.

I've called for the US to do this. Stealing N dollars from your employee should be as serious a crime as stealing N dollars from a business, and enforced similarly.

The wrecker and elites [Richard Stallman's Political Notes]

Non-rich Americans who want to stop the elite from impoverishing them see little to support in "centrist" Democrats. Meanwhile, the wrecker falsely claims to oppose the elites even as he appears on stage with them.

Social Security COLA on ballot [Richard Stallman's Political Notes]

Republicans want to make Social Security payments decrease in real value every year. They would do this by eliminating the cost of living adjustment Thus they would drive old people into penury.

Israel attacked Children's hospital [Richard Stallman's Political Notes]

Israel ordered the only children's hospital in North Gaza to evacuate, but there is no way to evacuate the children in intensive care, and no place to bring them to.

To attack that hospital would be an atrocity, but such atrocities have become normal for Israel.

To attack a hospital is generally a war crime. Th attack the one and only hospital is even worse.

*On Thursday, UN investigators accused Israel of deliberately targeting health facilities and killing and torturing medical personnel in Gaza.*

Robert Reich: media double standard [Richard Stallman's Political Notes]

The mainstream media double standard: criticizing Harris any time she does not reply to a point, while letting the bullshitter duck all real issues all the time.

"Carbon offset" fraud [Richard Stallman's Political Notes]

The ex-CEO of a company that sells carbon offsets has been charged with fraud for systematically exaggeration how much greenhouse emissions a project would avoid.

The idea of emissions offsets is full of loopholes. Most of the exaggeration is a matter of making high estimates; since there are no facts to compare with, it can't quite be called "fraud". But it does undermine the intended result.

Blame for inflation. [Richard Stallman's Political Notes]

*Trump is falsely blaming Harris for high prices. His plans will cause huge inflation.*

I wonder if that is why Republicans are pushing to remove the cost-of-living adjustment from Social Security.

With that, and high inflation, US retirees will be squeezed between the two.

Electoral college [Richard Stallman's Political Notes]

Walz stated support for eliminating the electoral college.

I am in favor of that, but what Harris and Walz most importantly need to call for is directing more of the nation's wealth generation to the non-rich, as it did in the 1950s.

Free speech on campus [Richard Stallman's Political Notes]

Republicans seek to bully US colleges with threats unless they repress students' freedom of speech.

Whatever your position on the war in Gaza, if you love civil liberties you should fight those dangerous religious fanatics here in the US. Nov 5th is your opportunity.

Societal collapse [Richard Stallman's Political Notes]

*Record emissions, temperatures and population mean more scientists are looking into possibility of societal collapse, report says.*

I used to say that the best picture we have now of future climate disaster is the Hunger Games, but I am having doubts about that. In the Hunger Games, there is an organized society with a state. It can still make some high-tech products. It surely has a population in the hundreds of thousands.

A high tech society needs global reasource, and that requires communications and shipping that will no longer exist. No one will be able to make an IC, let alone a computer.

Coalmines and gasfields [Richard Stallman's Political Notes]

Coal mines and gas wells in Australia seem to be underestimating their rate of methane leaks by as much as a factor of two.

Structural remedies [Richard Stallman's Political Notes]

The US government is considering breaking Google up into separate companies.

Would that do anything about the injustices of Google? Let's look at them:

  • Snooping on its users actions and identities.
  • Selling ads based on that data.
  • Requiring users to run nonfree software to use the services.
  • Pressuring users to identify themselves to use most services.
  • Using DRM for distribution of some ethings.

I don't see how splitting up Google would correct these. Perhaps Google itself would not use the collected data as a base for advertising. Perhaps instead Google would sell the use of that data to various advertising companies. I don't think that would make that use of personal data acceptable and it would not help with the others.

Battleground voters [Richard Stallman's Political Notes]

*Endorsements from Republicans and CEOs won’t help Kamala Harris win.*

People who were Republicans in 2015, before the corrupter became that party's nominee, and who have not been sucked into his fantasy land, can be persuaded by these endorsements. It may cost the corrupter some votes. But they are not so numerous as as the Democrats who gave up on the party because Obama protected the rich from the 2009 financial crisis that was generated by those Republicans, rather than saving the poor and middle-class.

Discrimination [Richard Stallman's Political Notes]

Some Indian states have passed laws to make it easy to boycott restaurants that employ any Muslims.

Clearly this is the work of Hinduismist party.

Cambridge exhibition [Richard Stallman's Political Notes]

A museum in Britain that is supposed to be about science will present "stories" about the "afterlife" of dead animals on display.

The "stories" are constructed by bullshit generators,

and they teach religion and superstition under the rubric of science.

Investment summit [Richard Stallman's Political Notes]

Starmer has surrendered to big business, and promises to "slash the red tape" that is meant to protect the public from a wide range of dangers.

A previous period of "slashing red tape" weakened the building code enforcement and permitted use of flammable materials in building tall buildings. It was not actually lawful, but builders knew they could get away with it, because the red tape as no longer there to stop them. Some of the buildings had fatal fires.

This shows what happens when a government says it will get the funds to solve pressing problems by encouraging "economic growth".

Trump Bibles [Richard Stallman's Political Notes]

The bullshitter condemns trade with China, but he had his special bibles printed there.

(Those are the very expensive bibles he is going to sell to the state of Oklahoma.)

This in its own right is a minor issue, but it epitomizes his dishonesty.

Former Dutch colony [Richard Stallman's Political Notes]

Relatives call on the Dutch government to rehabilitate the conscientious objectors who refused to fight against the independence of Indonesia.

06:14

Girl Genius for Wednesday, October 16, 2024 [Girl Genius]

The Girl Genius comic for Wednesday, October 16, 2024 has been posted.

04:42

Sahil Dhiman: 25, A Quarter of a Century Later [Planet Debian]

25 the number says well into adulthood. Aviral pointed that I have already passed 33% mark in my life, which does hits different.

I had to keep reminding myself about my upcoming birthday. It didn’t felt like birthday month, week or the day itself.

My writings took a long hiatus starting this past year. The first post came out in May and quite a few people asked about the break. Hiatus had its own reasons, but restarting became harder each passing day afterward. Preparations for DebConf24 helped push DebConf23 (first post this year) out of the door, after which things were more or less back on track on the writing front.

Recently, I have picked the habit of reading monthly magazines. When I was a child, I used to fancy seeing all the magazines on stationary and bookshops and thought of getting many when I’m older. Seems like that was the connection, and now I’m heavily into monthly magazines and order many each month (including Hindi ones). They’re fun short reads and cover a wide spectrum of topics.

Travelling has become the new found love. I got the opportunity to visit a few new cities like Jaipur, Meerut, Seoul and Busan. My first international travel showed me how a society which cares about the people’s overall wellbeing turns out to be. Going in foreign land, expanded the concept of everything for me. It showed the beauty of silence in public places. Also, re-visited Bengaluru, which felt good with its good weather and food.

It has become almost become tradition to attend a few events. Jashn-e-Rekhta, DebConf, New Delhi World Book Fair, IndiaFOSS and FoECon. It’s always great talking to new and old folks, sharing and learning about ideas. It’s hard for an individual to learn, grow and understand the world in a silo. Like I keep on saying about Free Software projects, it’s all about the people, it’s always about the people. Good and interesting people keep the project going and growing. (Side Note - it’s fine if a project goes. Things are not meant to last a perpetuity. Closing and moving on is fine). Similarly, I have been trying to attend Jaipur Literature Festival since a while but failing. Hopefully, I would this time around.

Expanding my Free Software Mirror to India was a big highlight this year. The mirror project now has 3 nodes in India and 1 in Germany, serving almost 3-4 TB of mirror traffic daily. Increasing the number of Software mirrors in India was and still is one of my goals. Hit me up if you want to help or setup one yourself. It’s not that hard now actually, projects that require more mirrors and hosting setup has already been figured out.

One realization I would like to mention was to amplify/support people who’re already doing (a better job) at it, rather than reinventing the wheel. A single person might not be able to change the world, but a bunch of people experimenting and trying to make a difference certainly would.

Writing 25 was felt harder than all previous years. It was a traditional year with much internal growth due to experiencing different perspectives and travelling.

To infinity and beyond!

02:07

Quicklisp news: October 2024 Quicklisp dist update now available [Planet Lisp]

 New projects: 

  • adp-github — ADP extension to generate github markdown files. — MIT
  • adp-plain — Add Documentation, Please... using plain text. An extension of ADP to generate files with barely additional features. — MIT
  • allioli — Alliolification — MIT
  • alternate-asdf-system-connections — Allows for ASDF system to be connected so that auto-loading may occur. This is a fork of asdf-system-connections and incorporates a load-system-driven mechanism for loading dependencies and also loads the dependencies of the connections. — MIT
  • cbor — CBOR encoder/decoder — MIT
  • charje.documentation — Documentation is an opinionated yet customizable docstring parsing library. — AGPL V3 or any later version
  • chipi — House automation bus in Common Lisp — Apache-2
  • cl-aseprite — Aseprite file format parser — GPLv3
  • cl-astar — A heavily optimized yet flexible A* pathfinding algorithm implementation — MIT
  • cl-ceigen-lite — A Common Lisp wrapper around CEIGEN-LITE - which is itself a C wrapper around the C++ Eigen library. — MIT
  • cl-cf — Computations using continued fractions — GPL-3
  • cl-concord — CONCORD implementation based on Common Lisp — LGPL
  • cl-duckdb — CFFI wrapper around the DuckDB C API — MIT License
  • cl-fastcgi — FastCGI wrapper for Common Lisp — BSD License
  • cl-flx — Rewrite emacs-flx in Common Lisp — MIT
  • cl-frugal-uuid — Common Lisp UUID library with zero dependencies — MIT License
  • cl-gog-galaxy — A wrapper for the GOG Galaxy SDK — zlib
  • cl-lc — List comprehensions — MIT
  • cl-naive-ptrees — Functions to make it easier to work with plist(s) and plist trees. Works with plist(s) pairs as units and not as individual list items. — MIT
  • cl-qoa — An implementation of the Quite Okay Audio format. — zlib
  • cl-reddit — Reddit client api library — BSD
  • cl-resvg — An up-to-date bindings library for the resvg SVG rendering library — zlib
  • cl-trivial-clock — Common Lisp library to get accurate wall-clock times on multiple platforms — MIT License
  • clack-cors — A Clack middleware to set CORS related HTTP headers. — Unlicense
  • clack-prometheus — Clack middleware to serve stats in Prometheus format. — Unlicense
  • clith — Common Lisp wITH macro. A general WITH macro. — MIT
  • clj-arrows — Implements Clojure-styled threading/transformation macros. — MIT
  • clos-encounters — A collection of OOP patterns benefiting from the CLOS MOP. — Unlicense
  • coalton — An efficient, statically typed functional programming language that supercharges Common Lisp. — MIT
  • cocoas — A toolkit library to help deal with CoreFoundation, Cocoa, and objc — zlib
  • com.danielkeogh.graph — A fast an reliable graph library. — MIT
  • fast-mpsc-queue — Multi-Producer Single-Consumer queue implementation. — MIT
  • file-finder — File finder. Enable rapid file search, inspection and manipulation. — GPL3+
  • golden-utils — A utility library. — MIT
  • hiccl — HTML generator for Common Lisp — MIT
  • hsx — Hypertext S-expression — MIT
  • hunchentoot-stuck-connection-monitor — Monitors hunchentoot connections and logs the connections stuck in the same state for a long time (due to slow or inactive clients and network stream timeouts that hunchentoot tries to utilize not working properly). Offers an option to shutdown the stuck connections sockets manually or automatically, thus unblocking the connection threads and preventing thread and socket leak. See https://github.com/edicl/hunchentoot/issues/189 — BSD-2-Clause
  • incless — A portable and extensible Common Lisp printer implementation (core) — BSD
  • inravina — A portable and extensible Common Lisp pretty printer. — MIT
  • invistra — A portable and extensible Common Lisp FORMAT implementation — BSD
  • knx-conn — KNXnet/IP implementation in Common Lisp — GNU GPL, version 3
  • machine-state — Retrieve machine state information about CPU time, memory usage, etc. — zlib
  • myweb — simple web server written in common lisp for educational reasons — LGPLv3
  • noisy — Perlin noise for arbitrary numbers of dimensions. — MIT
  • nontrivial-gray-streams — A compatibility layer for Gray streams including extensions — MIT
  • open-with — Open a file in a suitable external program — zlib
  • openai-openapi-client — Openai API client — AGPLv3+
  • openrpc — CI for Common Lisp OpenRPC library. — BSD
  • parse-number-range — Parses LOOP's convenient "for-as-arithmetic" syntax into 5 simple values: from, to, limit-kind (:inclusive, :exclusive or nil if unbounded), by (step) and direction (+ or -)). Further related utilities are provided. Intended for easy implementation of analogous functionality in other constructs. — Public Domain
  • precise-time — Precise time measurements — zlib
  • pregexp — Portable regular expressions for Common Lisp — MIT-like
  • progressons — Display a progress bar on one line. — MIT
  • quaviver — A portable and extensible floating point string library — MIT
  • quilc — A CLI front-end for the Quil compiler — Apache License 2.0 (See LICENSE.txt)
  • qvm — An implementation of the Quantum Abstract Machine. — Apache License 2.0 (See LICENSE.txt)
  • random-sampling — Functions to generate random samples with various distributions — zlib
  • rs-dlx — Knuth's Algorithm X with dancing links. — Modified BSD License
  • scrapycl — The web scraping framework for writing crawlers in Common Lisp. — Unlicense
  • smoothers — Statistical methods to create approximating functions that attempt to capture important patterns in the data, while leaving out noise or other fine-scale structures/rapid phenomena. — MS-PL
  • trivial-adjust-simple-array — A tiny utility to change array size ensuring it is simple. — MIT
  • trivial-system-loader — A system installation/loading abstraction for Common Lisp — MIT
  • trivial-toplevel-commands — Trivial Toplevel Commands allows to define toplevel commands available on most implementations in a portable fashion. — BSD-3 Clause
  • trivial-toplevel-prompt — Portability library to customize REPL prompts. — BSD-3 Clause
  • utf8-input-stream — A UTF-8 string input stream over a binary stream for Common Lisp — MIT
  • whereiseveryone.command-line-args — Automatically create a command-line-argument parser for a given Common Lisp function definition. — AGPL v3 or any later version

Updated projects: 3b-bmfont, 3bgl-shader, 3bmd, 3d-math, 3d-spaces, 40ants-asdf-system, 40ants-slynk, access, acclimation, action-list, adhoc, adopt, adp, agnostic-lizard, alexandria, alexandria-plus, anatevka, anypool, april, arc-compat, architecture.builder-protocol, array-utils, arrow-macros, assoc-utils, async-process, atomics, auto-restart, aws-sdk-lisp, babel, bdef, bike, binary-structures, binding-arrows, birch, blackbird, bordeaux-threads, calm, carrier, caveman, ccldoc, cephes.cl, cepl, cerberus, cffi, cffi-object, cffi-ops, chanl, chunga, ci, ci-utils, ciao, cl-6502, cl-algebraic-data-type, cl-all, cl-ansi-term, cl-async, cl-atelier, cl-autowrap, cl-base32, cl-bmas, cl-bmp, cl-bnf, cl-brewer, cl-buchberger, cl-cmark, cl-collider, cl-colors2, cl-confidence, cl-containers, cl-cookie, cl-csv, cl-custom-hash-table, cl-cxx-jit, cl-data-structures, cl-dbi, cl-digraph, cl-dot, cl-enchant, cl-environments, cl-fast-ecs, cl-fbx, cl-fluent-logger, cl-form-types, cl-forms, cl-freetype2, cl-gamepad, cl-github-v3, cl-gltf, cl-gobject-introspection, cl-graph, cl-grip, cl-gserver, cl-hamcrest, cl-hash-util, cl-html-readme, cl-i18n, cl-info, cl-ini, cl-ipfs-api2, cl-kanren, cl-lib-helper, cl-liballegro, cl-liballegro-nuklear, cl-log, cl-markless, cl-marshal, cl-migratum, cl-mixed, cl-modio, cl-mount-info, cl-mpg123, cl-mssql, cl-mustache, cl-mysql, cl-neovim, cl-netpbm, cl-oju, cl-opengl, cl-opensearch-query-builder, cl-opus, cl-patterns, cl-plus-ssl-osx-fix, cl-ppcre, cl-project, cl-protobufs, cl-pslib, cl-pslib-barcode, cl-rashell, cl-readline, cl-sat.minisat, cl-sdl2-image, cl-sdl2-mixer, cl-sdl2-ttf, cl-sendgrid, cl-sentry-client, cl-skkserv, cl-smtp, cl-ssh-keys, cl-steamworks, cl-str, cl-svg, cl-telegram-bot, cl-threadpool, cl-tiled, cl-torrents, cl-tqdm, cl-transducers, cl-transit, cl-unicode, cl-unification, cl-unix-sockets, cl-utils, cl-vectors, cl-vorbis, cl-wavefront, cl-webdriver-client, cl-webkit, cl-webmachine, cl-who, clack, clack-pretend, clad, classimp, clast, clath, clavier, clazy, clerk, clgplot, climacs, clingon, clip, clj-con, clj-re, clobber, clog, clog-ace, clog-collection, clog-plotly, clog-terminal, clohost, closer-mop, clss, cluffer, clunit2, clx, cmd, codata-recommended-values, codex, coleslaw, collectors, colored, com-on, common-lisp-jupyter, commondoc-markdown, compiler-macro-notes, conduit-packages, consfigurator, contextl, croatoan, ctype, cytoscape-clj, damn-fast-priority-queue, dartscluuid, data-frame, data-lens, datafly, dbus, decompress, defenum, definer, definitions, deflate, defmain, deploy, depot, deptree, dexador, dissect, djula, dns-client, doc, docs-builder, dsm, dufy, easter-gauss, easy-audio, easy-macros, easy-routes, eclector, equals, erjoalgo-webutil, erudite, esrap, event-emitter, external-program, external-symbol-not-found, fare-csv, fare-scripts, fast-http, fast-websocket, file-attributes, file-notify, file-select, filesystem-utils, fiveam, fiveam-matchers, flexi-streams, float-features, flow, fn, fset, functional-trees, fuzzy-dates, gadgets, generic-cl, github-api-cl, glfw, glsl-toolkit, harmony, hashtrie, helambdap, http2, hunchentoot, imago, in-nomine, inferior-shell, introspect-environment, ironclad, jose, js, json-mop, jsonrpc, jzon, khazern, lack, lass, lemmy-api, letv, lichat-protocol, lichat-tcp-client, linear-programming, lisp-binary, lisp-chat, lisp-critic, lisp-pay, lisp-stat, lispcord, lla, local-time, log4cl-extras, logging, lru-cache, magicl, maiden, maidenhead, manifolds, math, mcclim, memory-regions, messagebox, method-combination-utilities, mgl-pax, misc-extensions, mito, mk-defsystem, mmap, mnas-package, mnas-string, moira, multiposter, mutility, mutils, named-closure, ndebug, neural-classifier, new-op, nibbles, nibbles-streams, ningle, nodgui, north, numerical-utilities, nytpu.lisp-utils, omglib, ook, open-location-code, openapi-generator, orizuru-orm, overlord, papyrus, parachute, parse-number, pathname-utils, petalisp, phos, picl, plot, plump, plump-sexp, pngload, policy-cond, polymorphic-functions, postmodern, ppath, prometheus-gc, psychiq, purgatory, py4cl, py4cl2, py4cl2-cffi, qlot, qoi, query-fs, quick-patch, quickhull, quri, random-state, reblocks, reblocks-auth, reblocks-file-server, reblocks-lass, reblocks-navigation-widget, reblocks-parenscript, reblocks-prometheus, reblocks-typeahead, reblocks-ui, reblocks-websocket, rove, s-dot2, sandalphon.lambda-list, sb-fastcgi, sc-extensions, sel, select, serapeum, shasht, shop3, si-kanren, sketch, slime, slite, sly, snooze, spinneret, staple, static-vectors, statistics, stepster, stmx, stripe, swank-crew, swank-protocol, sxql, symath, system-locale, taglib, teddy, ten, testiere, tfeb-lisp-hax, tfm, tiny-routes, tooter, trivia, trivial-arguments, trivial-clipboard, trivial-file-size, trivial-gray-streams, trivial-main-thread, trivial-octet-streams, trivial-package-locks, trivial-package-manager, trivial-sanitize, trivial-shell, type-templates, typo, uax-15, uiop, usocket, vellum, vellum-binary, vellum-csv, vellum-postmodern, verbose, vernacular, vom, websocket-driver, winhttp, with-branching, with-contexts, woo, xhtmlambda, xml-emitter, yason, zippy, zpb-ttf.

Removed projects: abstract-arrays, ahungry-fleece, cl-cheshire-cat, cl-darksky, cl-epoch, cl-naive-store, convolution-kernel, dense-arrays, extensible-compound-types, extensible-optimizing-coerce, fast-generic-functions, flac-metadata, freebsd-ffi, listoflist, luckless, one-more-re-nightmare, postmodern-localtime, stumpwm-dynamic-float, stumpwm-sndioctl, unicly.

To get this update, use:

 (ql:update-dist "quicklisp")

Sorry this update took so long. My goal is to resume monthly releases.

Enjoy!

00:49

Tuesday, 15 October

22:07

Free Software Directory meeting on IRC: Friday, October 18, starting at 12:00 EDT (16:00 UTC) [Planet GNU]

Join the FSF and friends on Friday, October 18 from 12:00 to 15:00 EDT (16:00 to 19:00 UTC) to help improve the Free Software Directory.

Pluralistic: Of course we can tax billionaires (15 Oct 2024) [Pluralistic: Daily links from Cory Doctorow]


Today's links



Uncle Sam as an old-fashioned cop with a gleaming IRS badge on his chest. He stands in a circle of wildly gesticulating, furious, old-fashioned rich guys. The background is a dark green, extremely magnified portrait of Benjamin Franklin from the middle of a US $100 bill.

Of course we can tax billionaires (permalink)

Billionaires are pretty confident that they can't be taxed – not just that they shouldn't be taxed, but rather, that it is technically impossible to tax the ultra-rich. They're not shy about explaining why, either – and neither is their army of lickspittles.

If it's impossible to tax billionaires, then anyone who demands that we tax billionaires is being childish. If taxing billionaires is impossible, then being mad that we're not taxing billionaires is like being mad at gravity.

Boy is this old trick getting old. It was already pretty thin when Margaret Thatcher rolled it out, insisting that "there is no alternative" to her program of letting the rich get richer and the poor go hungry. Dressing up a demand ("stop trying to think of alternatives") as a scientific truth ("there is no alternative") sets up a world where your opponents are Doing Ideology, while you're doing science.

Billionaires basically don't pay tax – that's a big part of how they got to be billionaires:

https://www.propublica.org/series/the-secret-irs-files

By cheating on their taxes, they get to keep – and invest – more money than less-rich people (who get to keep more money than regular people and poor people, obvs). They get so much money that they can "invest" it in corrupting the political process, for example, by flushing vast sums of dark money into elections to unseat politicians who care about finance crime and replace them with crytpo-friendly lawmakers who'll turn a blind eye to billionaires' scams:

https://www.newyorker.com/magazine/2024/10/14/silicon-valley-the-new-lobbying-monster

Once someone gets rich enough, they acquire impunity. They become too big to fail. They become too big to jail. They become too big to care. They buy presidents. They become president.

A decade ago, Thomas Piketty published his landmark Capital in the 21st Century, tracing three centuries of global capital flows and showing how extreme inequality creates political instability, leading to bloody revolutions and world wars that level the playing field by destroying most of the world's capital in an orgy of violence, with massive collateral damage:

https://memex.craphound.com/2014/06/24/thomas-pikettys-capital-in-the-21st-century/

Piketty argued that unless we taxed the rich, we would attain the same political instability that provoked the World Wars, but in a nuclear-tipped world that was poised on the brink of ecological collapse. He even laid out a program for this taxation, one that took account of all the things rich people would do to try to hide their assets.

Today, the destruction that Piketty prophesied is on our doorstep, and all over the world, political will is gathering to do something about our billionaire problem. The debate rages from France to a dozen-plus US states that are planning wealth taxes on the ultra-rich.

Wherever that debate takes hold, billionaires and their proxies pop up to tell us that we're Doing Ideology, that there is no alternative, and that it is literally impossible to tax the ultra-rich.

In a new blog post, Piketty deftly demolishes this argument, showing how thin the arguments for the impossibility of a billionaire tax really is:

https://www.lemonde.fr/blog/piketty/2024/10/15/how-to-tax-billionaires/

First, there's the argument that the ultra-rich are actually quite poor. Elon Musk and Mark Zuckerberg don't have a lot of money, they have a lot of stock, which they can't sell. Why can't they sell their stock? You'll hear a lot of complicated arguments about illiquidity and the effect on the share-price of a large sell-off, but they all boil down to this: if we make billionaires sell a bunch of their stock, they will be poorer.

No duh.

Piketty has an answer to the liquidity crisis of our poormouthing billionaires:

If finding a buyer is challenging, the government could accept these shares as payment for taxes. If necessary, it could then sell these shares through various methods, such as offering employees to purchase them, which would increase their stake in the company.

Though Piketty doesn't say so, billionaires are not actually poor. They have fucktons of cash, which they acquire through something called "buy, borrow, die," which allows them to create intergenerational dynastic wealth for their failsons:

https://finance.yahoo.com/news/buy-borrow-die-rich-avoid-140004536.html

Billionaires know they're not poor. They even admit it, when they say, "Okay, but the other reason it's impossible to tax us is that we're richer and therefore more powerful than the governments that want to try it."

Piketty points out the shell-game at the core of this argument: the free movement of money that allows for tax-dodging was created by governments. They made these laws, so they can change them. Governments that can't exercise their sovereign power to tax the wealthy end up taxing the poor, eroding their legitimacy and hence their power. Taxing the rich – a wildly popular move – will make governments more powerful, not less.

Big countries like the US (and federations like the EU) have a lot of power. The US ended Swiss banking secrecy and manages to tax Americans living abroad. There's no reason that France couldn't pass a wealth-tax that applies to people based on their historical residency: a 51 year old French billionaire who decamps to Switzerland to duck a wealth tax after 50 years in France could be held liable for 50/51 of the wealth tax.

The final argument Piketty takes up is the old saw that taxing the rich is illegal, or, if it were made legal, would be unconstitutional. As Piketty says, rich people have taken this position every single time they faced meaningful tax enforcement, and they have repeatedly lost this fight. France has repeatedly levied wealth taxes, as long ago as 1789 and as recently as 1945.

Taxing the ultra-rich isn't like the secret of embalming Pharaohs – it's not a lost art from a fallen civilization. The US top rate of tax in 1944 was 97%. The postwar top rate from 1945-63 was 94%, and it was 70% from 1965-80. This was the period of the largest expansion of the US economy in the nation's history. These are the "good old days" Republicans say they want to return to.

The super-rich keep getting richer. In France, the 500 richest families were worth a combined €200b in 2010. Today, it's €1.2 trillion. No wonder a global wealth tax is at the top of the agenda for next month's G20 Summit in Rio.

Here in the US – where money can easily move across state lines and where multiple states are racing each other to the bottom to be the best onshore/offshore tax- and financial secrecy haven – state-level millionaire taxes are kicking ass.

Massachusetts's 2024 millionaire tax has raised more than $1.8b, exceeding all expectations (it was originally benchmarked at $1b), by taxing annual income in excess of $1m at an additional 4%:

https://www.boston.com/news/business/2024/05/21/heres-how-much-the-new-massachusetts-millionaires-tax-has-raised-this-year/

This is exactly the kind of tax that billionaires say is impossible. It's so easy to turn ordinary income into sheltered income – realizing it as a capital gain, say – so raising taxes on income will do nothing. Who are you gonna believe, billionaires or the 1.8 billion dead presidents lying around the Massachusetts Department of Revenue?

But say you are worried that taxing ordinary income is a nonstarter because of preferential capital gains treatment. No worry, Washington State has you covered. Its 7% surcharge on capital gains in excess of $250,000 also exceeded all expectations, bringing in $600m more than expected in its first year – a year when the stock market fell by 25%:

https://pluralistic.net/2023/06/03/when-the-tide-goes-out/#passive-income

Okay, but what if all those billionaires flee your state? Good riddance, and don't let the door hit you on the way out. All we need is an exit tax, like the one in California, which levies a one-time 0.4% tax on net worth over $30m for any individual who leaves the state.

Billionaires are why we can't have nice things – a sensible climate policy, workers' rights, a functional Supreme Court and legislatures that answer to the people, rather than deep-pocketed donors.

The source of billionaires' power isn't mysterious: it's their money. Take away the money, take away the power. With more than a dozen states considering wealth taxes, we're finally in a race to the top, to see which state can attack the corrosive power of extreme wealth most aggressively.


Hey look at this (permalink)



A Wayback Machine banner.

This day in history (permalink)

#15yrsago Why Your Idea to Save Journalism Won’t Work (a checklist) https://www.metafilter.com/85761/How-To-Save-Media#2776753

#15yrsago Brit copyright group says, “No laptops allowed in cinemas” https://memex.craphound.com/2009/10/15/brit-copyright-group-says-no-laptops-allowed-in-cinemas/

#15yrsago Complex derivatives are “intractable” — you can’t tell if they’re being tampered with https://freedom-to-tinker.com/2009/10/15/intractability-financial-derivatives/

#10yrsago Jean Baudrillard predicted the Pumpkin Spice Latte http://www.critical-theory.com/understanding-jean-baudrillard-with-pumpkin-spice-lattes/

#10yrsago Obama administration has secured 526 months of jail time for leakers https://www.aclu.org/news/free-speech/leak-prosecutions-obama-takes-it-11-or-should-we

#5yrsago Samuel Delany’s 1977 Star Wars review: why is the future so damned white and male? https://memex.craphound.com/2019/10/15/samuel-delanys-1977-star-wars-review-why-is-the-future-so-damned-white-and-male/

#5yrsago The rich poop different: measuring inequality with sewage https://www.pnas.org/doi/10.1073/pnas.1910242116

#5yrsago 1 in 14 Trump appointees is a former lobbyist, four times the rate under Obama https://www.propublica.org/article/we-found-a-staggering-281-lobbyists-whove-worked-in-the-trump-administration#169046

#5yrsago The first-ever mandatory California drug price report reveals Big Pharma’s farcical price-gouging https://californiahealthline.org/news/californias-new-transparency-law-reveals-staggering-rise-in-wholesale-drug-prices/

#5yrsago The far right is dominating the information wars through “keyword signaling” https://www.wired.com/story/devin-nunes-and-the-dark-power-of-keyword-signaling/

#5yrsago Medallion Status: comparison is the thief of joy, and John Hodgman is the thief-taker https://memex.craphound.com/2019/10/15/medallion-status-comparison-is-the-thief-of-joy-and-john-hodgman-is-the-thief-taker/


Upcoming appearances (permalink)

A photo of me onstage, giving a speech, holding a mic.



A screenshot of me at my desk, doing a livecast.

Recent appearances (permalink)



A grid of my books with Will Stahle covers..

Latest books (permalink)



A cardboard book box with the Macmillan logo.

Upcoming books (permalink)

  • Picks and Shovels: a sequel to "Red Team Blues," about the heroic era of the PC, Tor Books, February 2025
  • Unauthorized Bread: a middle-grades graphic novel adapted from my novella about refugees, toasters and DRM, FirstSecond, 2025



Colophon (permalink)

Today's top sources:

Currently writing:

  • Enshittification: a nonfiction book about platform decay for Farrar, Straus, Giroux. Today's progress: 762 words (63956 words total).
  • A Little Brother short story about DIY insulin PLANNING

  • Picks and Shovels, a Martin Hench noir thriller about the heroic era of the PC. FORTHCOMING TOR BOOKS FEB 2025

Latest podcast: Spill, part one (a Little Brother story) https://craphound.com/littlebrother/2024/10/06/spill-part-one-a-little-brother-story/


This work – excluding any serialized fiction – is licensed under a Creative Commons Attribution 4.0 license. That means you can use it any way you like, including commercially, provided that you attribute it to me, Cory Doctorow, and include a link to pluralistic.net.

https://creativecommons.org/licenses/by/4.0/

Quotations and images are not included in this license; they are included either under a limitation or exception to copyright, or on the basis of a separate license. Please exercise caution.


How to get Pluralistic:

Blog (no ads, tracking, or data-collection):

Pluralistic.net

Newsletter (no ads, tracking, or data-collection):

https://pluralistic.net/plura-list

Mastodon (no ads, tracking, or data-collection):

https://mamot.fr/@pluralistic

Medium (no ads, paywalled):

https://doctorow.medium.com/

Twitter (mass-scale, unrestricted, third-party surveillance and advertising):

https://twitter.com/doctorow

Tumblr (mass-scale, unrestricted, third-party surveillance and advertising):

https://mostlysignssomeportents.tumblr.com/tagged/pluralistic

"When life gives you SARS, you make sarsaparilla" -Joey "Accordion Guy" DeVilla

21:42

Dirk Eddelbuettel: qlcal 0.0.13 on CRAN: Small Calendar Update [Planet Debian]

The thirteenth release of the qlcal package arrivied at CRAN today.

qlcal delivers the calendaring parts of QuantLib. It is provided (for the R package) as a set of included files, so the package is self-contained and does not depend on an external QuantLib library (which can be demanding to build). qlcal covers over sixty country / market calendars and can compute holiday lists, its complement (i.e. business day lists) and much more. Examples are in the README at the repository, the package page, and course at the CRAN package page.

This releases synchronizes qlcal with the QuantLib release 1.36 (made this week) and contains some minor updates to two calendars.

Changes in version 0.0.13 (2024-10-15)

  • Synchronized with QuantLib 1.36 released yesterday

  • Calendar updates for South Korea and Poland

Courtesy of my CRANberries, there is a diffstat report for this release. See the project page and package documentation for more details, and more examples. If you like this or other open-source work I do, you can sponsor me at GitHub.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

Dirk Eddelbuettel: RcppDate 0.0.4: New Upstream Minor [Planet Debian]

RcppDate wraps the featureful date library written by Howard Hinnant for use with R. This header-only modern C++ library has been in pretty wide-spread use for a while now, and adds to C++11/C++14/C++17 what will be (with minor modifications) the ‘date’ library in C++20.

This release, the first in 3 1/2 years, syncs the code with the recent date 3.0.2 release from a few days ago. It also updates a few packaging details such as URLs, badges or continuous integration.

Changes in version 0.0.4 (2024-10-14)

  • Updated to upstream version 3.0.2 (and adjusting one pragma)

  • Several small updates to overall packaging and testing

Courtesy of my CRANberries, there is also a diffstat report for the most recent release. More information is available at the repository or the package page.

If you like this or other open-source work I do, you can sponsor me at GitHub.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

20:07

Scarecrow’s 2024 Psychotronic Challenge: Day 15 [The Stranger]

"…If the gatekeeper permits." by Lindsay Costello

15. YOU TOO, SHALL PASS: …If the gatekeeper permits.

The Beyond

At the risk of a hot take, here's something I've realized after many Halloweens spent watching giallo films: If you think you want to see an Argento flick, what you're actually looking for is Fulci.

No shade to Argento—he's a master of style and atmosphere. (He might've even invented bisexual lighting by accident.) But Lucio Fulci delivered giallo at its best: His films are psychological, stylish, and, most importantly, brutal. Fulci told killer stories that aren't mired in misogyny or aesthetics, and he did it all with a fraction of Argento's budget and audience. Fulci's practical effects were grotesque and imaginative. (If melting faces or eyeball-chewing spiders aren't your thing, steer clear of his 1981 film The Beyond.)

The film shrieks to life with an old-timey, sepia-tinted crucifixion scene and grows gnarlier from there. When chill New Yorker Liza inherits an old New Orleans hotel (cool), she's startled to discover that it's a gateway to hell (not cool). Don't poke the portal, by the way: The hotel's maintenance workers fall off the roof and have their eyeballs gouged out by reanimated corpses. 

Liza's neighbor Emily, a luminous and seemingly not-entirely-human blind woman, might be the only character who understands the hotel's past. With her German Shepherd service dog Dicky by her side, Emily plays a haunting piano motif that complements Fabio Frizzi's eerie, atmospheric synth soundscapes. (Word of warning: In the hell-realm of The Beyond, even the dog can't be trusted.) 

Then, in a scene so drawn-out it's almost laughable, a man is paralyzed and has his face—eyes included—devoured by a swarm of spiders. Yeah, there's a lot of "eye stuff" in this film. Fulci might've been making a statement about vision and blindness and witnessing evil, but The Beyond is so drenched in a surreal, dreamy Southern haze that its deeper meaning doesn't need to be named. It washes over you. The Beyond is a somatic experience; it's a film that chills your bones while making you sweat. 

I won’t spoil the ending entirely, but it drives my point home. Imagine spending eternity trapped in a painting of Hell—not the real thing, but close enough. A gateway to nothing. A bleak, gray wasteland that stretches endlessly in every direction. That's true terror.

The Stranger is participating in Scarecrow Video’s Psychotronic Challenge all month long! Every October, Scarecrow puts together a list of cinematic themes and invites folks to follow along and watch a horror, sci-fi, or fantasy flick that meets the criteria. This year, Stranger staffers are joining the fun and we’re sharing our daily recommendations here on Slog! Read more about Scarecrow’s 2024 challenge—and get the watch list—here. And you can track our daily recommendations here! 💀

19:56

Link [Scripting News]

Everybody's maxing out on Wordle today. I stopped with one step left. Stumped. I may lose my streak today. A lot of people are.

19:07

What's up with WordPress? [Scripting News]

A long time ago I ran a free service called weblogs.com. It was the early days of blogs. RSS didn't exist yet, so there was no way to find out which blogs had new stuff other than going through your blogroll and clicking links.

So I built a simple server, running in Frontier, that handled pings. When you updated your blog, you'd send a message to weblogs.com saying your blog updated. It would then read the HTML of the blog and verify that it changed, and it would be added to a list of blogs that updated, in reverse chronologic order. It also published an XML version of the update list called changes.xml, so if you wanted to run a search engine off the list, you could do that too.

There were several ways to send a ping. You could go to a web page and enter the URL of your blog. Or you could save the URL as a bookmark and click the bookmark when you updated. Or if you used blogging software like our Manila or Radio UserLand, or later EditThisPage.com or weblogs.com (which eventually hosted blogs itself), it could ping on your behalf, automatically.

Aside: Here's a snapshot of the weblogs.com site, preserved.

A number of search sites appeared. And we were happy, until another developer, funded by venture capitalists, who expected a return on their investment, built on our open and free changes.xml list, started asking for and receiving pings on their own, and (key point) they didn't make their change list public. This struck me as highly un-weblike and unfair, but they could do it and we had to live with it.

Based on what Matt has been saying it sounds to me like it's something like our experience. Except weblogs.com was a short term thing, and not a business, and it didn't last twenty years, and it didn't have a payroll to support.

But it still felt wrong that they weren't giving back as they received. If it had persisted like WordPress has, it would have eventually been a seriously diseconomic and unsustainable problem. And I can imagine I might write about it publicly as Matt has and maybe even get a famous lawyer like Neal Katyal to advise me. And here we are.

Have we heard anything from the other side, or anyone who is familiar with what their position might be. Do they not feel obligated to support the continued development of WordPress or maybe there's another issue we haven't heard about.

I can't imagine that Matt would make such a big deal out of this if it weren't actually a big deal. He probably knew in advance how disruptive this would be. And I imagine the others knew it would be too and counted on him not wanting to make a fuss.

I have gotten embroiled in these kinds of things in the past, and I don't like it. I love to make software and make users happy and then make more software, round and round. Anything that involves lawyers is not me doing what I was made to do.

And I do see a silver lining. As with twitter-like systems, I now see the possibilty to help WordPress serve writers better in the future. Before this, people didn't think change was possible in the WordPress world, like they didn't see the possibility of change with Twitter. But now Twitter has quite a bit of viable competition. I know that WordPress could be better tuned for writers, and the product has a very nice API that would make it possible for lots of writing tools to flourish. It is a strong platform that's debugged, scaled, documented and worked on for a long time, and they don't tend to break users. And where commercial vendors like Facebook and Twitter often have excellent technology, ultimately they are run by execs and bankers who don't believe in being open, where this is something that has been deeply ingrained in the WordPress culture from the beginning and would be hard to change and that's a good thing for users and developers.

Here's the exciting part -- between WordPress and Twitter lies a product that would bring the web back to life. Imagine a twitter-like system with the writers features of WordPress. Amazingly, we are on the cusp of that being a reality.

There's lots of opportunity to better serve writers here, and that's what I love to do, and honestly I think Ghost and Substack have left themselves open to a writing environment built on WordPress that doesn't try to lock users in. And at the same time, I think we can use this platform to help all the twitter-like services to support all kinds of writing, not just severely limited tweets typed into tiny little text boxes. Somewhere along the line they got the wrong idea that taking features out of the web was a good thing. I want to bring these features back so we can get going again with the web as a writer's platform.

Anyway, I don't need to think anyone is right or wrong here, and I don't think anyone else should either. I think this platform is very nicely open and we can do lots of interesting new stuff here. I hope to open a new thread here, focused on writers and the web. It's been too long.

18:21

LibreSSL 4.0.0 released [LWN.net]

Version 4.0.0 of the LibreSSL TLS/cryptography stack has been released. Changes include a cleanup of the MD4 and MD5 implementations, removal of unused DSA methods, changes in libtls protocol parsing to ignore unsupported TLSv1.1 and TLSv1.0 protocols, and many more internal changes and bug fixes.

17:49

Savage Love [The Stranger]

Podcasts, columns, and more at Savage.Love. by Dan Savage I am a 28-year-old cisgender sex-repulsed asexual gay man. While some asexuals choose to have sex for the pleasure it provides their partner, sex-repulsed asexuals like me do not engage in sexual activity and do not wish to be exposed to it. As a sex-repulsed asexual gay man, I feel alienated when I enter gay spaces like bars, parties, clubs. Gay allosexuals don’t seem to be aware that hypersexualized spaces make asexual men like me feel unsafe and unwanted. We are forced to choose between being isolated or entering spaces where other gay men are kissing, grinding, or worse. Also, bartenders are often shirtless, there are go-go dancers, and even the posters on the walls feature sexually explicit imagery. When gay sex is foregrounded like this it makes gay men like me feel like we are not welcome in the gay community. And to answer the obvious question: I go…

[ Read more ]

Mayor Bruce Harrell’s Budget Could Make You Homeless [The Stranger]

The Mayor Rips Up the Social Safety Net but Readies the Broom to Sweep Away Anyone Who Falls Through by Hannah Krieg

In August, Mayor Bruce Harrell bragged that his #OneSeattle Homelessness Action Plan managed to decrease homelessness encampments by 61 percent over the last two years. At the same time, the 2024 Point-in-Time Count tallied more than 16,000 people experiencing homelessness in King County, the largest number ever reported in the survey and a 23 percent increase over the last two years. 

The ideology that fed those disparate results lies bare in Harrell’s 2025-2026 budget proposal, wherein he defunds stuff that houses people in order to fund stuff that temporarily pushes homeless people around town, allowing homelessness to fester out of sight. Essentially, Harrell is giving the city council a choice as they rework his budget in the coming weeks—treat homelessness as an aesthetic issue, or treat it as a humanitarian crisis. 

BTW We Are in Crisis

In case you’ve missed it: Seattle, along with most of the United States, is in a housing crisis. To dig the city out of the crisis, we need 112,000 new homes by 2044, according to a recent report from the Seattle Office of Housing (OH). That total includes more than 41,000 private market units for those making between 80 and 120 percent of the area median income (AMI), more than 42,000 subsidized units for people making between 0 and 80 percent AMI, and then about another 28,000 units of permanent supportive housing for those with high-acuity needs. 

All that means Seattle needs to fund at least 2,100 units of affordable housing every year for the next 20 years. Harrell’s budget doesn’t do that, not even when combined with the couple hundred units the Housing Levy will pay for every year. 

Instead, in his 2025-2026 budget proposal, the mayor defunds affordable housing by raiding $330 million from the JumpStart Payroll Expense tax, a tax on the city’s largest businesses that must reserve 62 percent of its revenue to affordable housing. Harrell's proposal does pump up affordable housing investments to a historic $342.2 million in 2025, representing a 2.5 percent increase from 2024. But, had he honored the legally mandated JumpStart spending plan, he would have allocated an additional $204 million to affordable housing.

Doing a little back-of-napkin math here, let’s assume a unit of affordable housing costs about $320,000, as estimated in the Housing Levy. In that case, Harrell’s "historic" budget funds about 1,068 units a year. If he hadn’t raided JumpStart, then he would have $526.2 million from all streams to fund about 1,706 affordable units in 2025. To fund the 2,100 units we need to do our part this year, he would need to allocate about $630 million total to affordable housing. If he really believed we were in a housing crisis, then he could reach that total by combining the money he budgets for housing this year, plus the affordable housing funds he stole from the JumpStart tax, plus the $100 million for new programming that he added this year to “activate” spaces and install CCTV cameras, mainly to show off to World Cup tourists in 2025. But he didn't. 

Staying Housed

Aside from short-changing affordable housing construction funding, Harrell’s budget proposal also pokes holes in our social safety net, weakening the City’s ability to protect workers from their bosses and renters from their landlords. 

Helping tenants stay in their homes, whether by protecting their wages so they can afford rent or by evening the playing field when it comes to evictions, can help prevent homelessness. On that former score, Harrell’s budget proposal cut more than $600,000 from the Office of Labor Standards (OLS), the City’s only mechanism to enforce its 19 unique labor laws, including the minimum wage ordinance, the wage theft ordinance, the Fair Chance Employment ordinance, four laws specifically protecting hotel workers, and three laws protecting gig delivery drivers. 

The cuts include three full-time positions; $216,000 from general operating expenses, $100,000 from outreach to marginalized small business owners, and in 2026 Harrell plans to cut one-third of the funding dedicated to helping spread awareness of workers’ rights in partnership with community-based organizations. All of this limits the agency’s ability to enforce labor standards. According to the budget document, the mayor’s proposal “maintains core services” of OLS at a “reduced scale” in order to preserve “critical City services” in the face of the $250 million shortfall in 2025. 

But labor leaders argue that OLS does provide “critical City services.” 

MLK Labor Executive Secretary-Treasurer Katie Garrow said the nation recognizes Seattle as a vanguard for workers’ rights given its early adoption of the $15 minimum wage and its protections of gig delivery drivers. But none of those rights matter if the City does not enforce them, she says. 

Garrow noted that every year employers steal a stunning $15 billion from workers in the United States. According to the Economic Opportunity Institute, the total value of property stolen through robberies, burglaries, and carjackings adds up to less than 4 percent of what bosses steal from their workers each year. Without enforcement from OLS, the City would allow companies to “continue this crime with impunity because a minimum wage worker does not have the money or time to litigate a claim against a multi-billion dollar corporation,” Garrow said.

And it's not like trimming a little fat from the already slim department will fill Harrell’s hole. In 2023, the City spent $8.4 million in total on the entire department, accounting for just 0.14 percent of the City’s operating budget. That year alone, OLS recouped more than $4.4 million in wages for workers who were wronged by their bosses. When the City gave the agency more money in 2022, about $12.1 million, it raked in even more for workers–about $7.7 million. In total, since its inception in 2014, OLS has recouped more than $42 million for workers. 

So maybe labor law enforcement is not a “critical” service in Harrell’s eyes, but for the more than 94,000 workers with more money in their pockets thanks to the OLS, enforcement could mean the difference between making your rent on time and getting evicted, which often leads to homelessness.

The mayor’s budget also limits the City’s ability to protect renters, leaving them all the more vulnerable to eviction and homelessness. In his proposal, Harrell cut tenant services funding from $2.6 million in 2024 to just $1.8 million. And instead of renewing additional one-time funding of about $1 million for rental assistance, he only designated about $527,000 of the $1.8 million to pay rent for struggling tenants. That leaves tenant services at a measly $1.2 million. 

Kate Rubin, the co-executive director of tenant advocacy group Be:Seattle, said $1.2 million is “nowhere near enough to support tenant education, organizing, counseling, and legal services,” all of which fall under the umbrella of “tenant services.”

The City contracts with organizations such as Be:Seattle to provide tenant services. Be:Seattle, with just two paid staff members, serves about 785 renters per year, according to Rubin.

“Renters typically come to us frustrated by unresolved issues,” Rubin said in an email to Council Member Tammy Morales’s staff. “We equip them with knowledge of their rights, guide them in navigating landlord-tenant relationships, and teach strategic organizing skills. This knowledge spreads through their communities, often reaching those who might not otherwise have access.”

Without funding this work, Rubin said “disputes would escalate, landlords would exploit renters unchecked, and more people would be at risk of displacement and homelessness.”

The mayor’s proposal also cuts $50,000 promised in a previous budget to establish a work group to help create an Office of Rental Housing Standards. That office would help author new renter protections and enforce existing ones. As Garrow said of labor standards, laws protecting renters mean little when they’re not strongly enforced.

Stop the Sweeps

As he blamed the budget deficit for every cut to programs that benefit working people, Harrell found ways to increase spending for sweeps, seemingly his homelessness solution of choice. 

His budget bolsters sweeps by adding $880,000 to the Unified Care Team (UCT), a cross-department team that conducts encampment removals. The new funds will pay for 11 new full-time positions and enable the UCT to conduct sweeps seven days a week rather than just five. 

And boy does the UCT already make use of those five days. According to Real Change, the City of Seattle conducted a record-breaking 2,827 sweeps in 2023, an increase of 207 percent from the 922 conducted in 2022. That means the City conducted about 11.3 sweeps per day, excluding weekends and the 12 recognized City holidays. If the UCT kept that pace on their new seven-day schedule, then the City could theoretically conduct 4,000 sweeps a year.

But more sweeps does not mean less homelessness. At most, 11 percent of the City’s shelter referrals actually lead to people taking the offer, according to a report analyzing the UCT’s performance between July and September of 2023.  Publicola reported that people often rejected the shelter referrals because the UCT offered them a stay at an overnight, congregate shelter rather than at a spot in a tiny shelter village, or, most desirably, in actual housing.

And that’s when the UCT makes the offer at all. According to Real Change, more than 99 percent of all sweeps conducted by the UCT in 2023 were considered “obstruction” sweeps, which means the City does not have to give three days notice or offer shelter upon removal. 

Alison Eisinger, the executive director of the Coalition on Homelessness (Seattle/King County), tells The Stranger that investing in the sweeps team amounts to the “least effective and most cynical response to homelessness in our community.”

“Most people understand there is no magic wand,” says Eisinger. “It takes real and sustained work to help people get the housing, shelter, health care, and other supports they need.”

Eisinger says the City would see better results if Harrell or the council took the funding from sweeps and put it toward regional approaches that have more success.

For example, the state’s slower, more methodical Encampment Resolution Program has closed 47 encampments while bringing 70 percent of their residents–or about 1,200 people–inside. The model works particularly well in King County, which managed to close 18 encampments and bring 90 percent of the people inside. According to the Seattle Times, the Encampment Resolution Program found more success because it offered better, more permanent shelter options. 

While the Mayor did not renew $2 million in one-time funding from 2023 to 2024 to CoLEAD, the group that conducts the slower, more effective sweeps, CoLEAD Director Lisa Daugaard said the State pays for the removals, and so the future of the program depends on who wins the gubernatorial race and who makes up the State Legislature. 

From the Mayor

The Mayor’s office disagrees with the framing that his budget perpetuates homelessness, and it argues that to say so is to neglect “the nuance of the homelessness crisis, the $250 million general fund deficit, and the full breadth of the mayor's work across all of these issues,” mayoral spokesperson Jamie Housen said in an email to The Stranger

Housen noted that Harrell delivered historic investments to affordable housing in the face of the deficit and saved 300 existing shelter beds whose funding would have otherwise lapsed. Of course, the budget deficit excuse sort of falls flat when you consider he also added $100 million in new spending throughout the budget. 

Housen also said Harrell attempted to increase housing supply outside of the budget. He streamlined the design review process, made it easier to build ADUs, supported a new redevelopment plan for affordable housing at Fort Lawton, and updated the City’s maritime and industrial lands policy to create more opportunities to build housing, he said. Those policies add capacity, but they do not fund housing. The Fort Lawton plan will allow for as many as 500 units. The maritime and industrial land update will allow for about 3,000 units over 20 years, according to the mayor’s press release

He also mentioned Harrell’s One Seattle Comprehensive Plan, but that plan did not exactly impress anyone, as it only plans for about half the housing we need. 

As for the UCT, Housen said the team receives a “fraction” of what the City invests into homelessness services, shelter, and permanent housing. Still, he said UCT’s approach is “making a difference.” Seattleites see fewer tent and RV encampments, less gun violence and fires related to homelessness, and more shelter referrals, he said.  

Housen also casted doubt on the Point-In-Time survey, which found an increase in homelessness under Harrell’s watch. He claimed the count “lacks consistency” in its method, which “creates difficulties in comparing year-over-year data.”

He did not address the cuts to renter services and labor law enforcement or how they could threaten housing stability for working people. 

“The mayor believes that it is inhumane for people to live outside, and our budget reflects an investment strategy to continue making progress bringing people indoors with the services to recover, using the resources we have available,” says Housen. “Ultimately, a significant budget deficit requires difficult decisions, and this proposal is now in the hands of the city council to review the budget, propose modifications, and complete the process.”

You can tell the city council how you feel about the budget at public comment Wednesday at 5 pm. Sign up opens an hour before the meeting.

Slog AM: Washington GOP Candidate Peddles Weather Conspiracy, Jill Stein in Seattle Tonight (Let's Get Drinks), Trump Bops to Ave Maria [The Stranger]

The Stranger's morning news roundup. by Ashley Nerbovig

Goood morning: I took a walk last night, because I'm on that steps grind, and goddamn it's a beautiful time of year. It might rain today, but if it does it'll be a sprinkle. The temperature will rise to 55 degrees. The sun will set at 6:20 pm. I hit 10,109 steps yesterday.

And now to other weather "news": A Republican Washington State House candidate appears to believe the government can control the weather. Carrie R. Kennedy, who's challenging Democratic State Representative Clyde Shavers up in the 10th Legislative District, which covers the islands, reposted a Bikers for America Facebook post about weather manipulation on October 13, which basically peddled the conspiracy theory that the US Government caused the recent East Coast hurricanes as part of an attempt to depopulate the country. None of that is true. She has posted similar conspiracies before on her Facebook and her X account. Keep in mind, this isn't some kooky challenger way behind in the polls. Shavers only won the primary with 52 percent of the vote share. She's got some juice.

After I reached out to Kennedy last night to ask about several of her weather manipulation posts, the Bikers for America post now no longer appears on her Facebook. Luckily we grabbed some screenshots.

Also missing from her feed is an October 8 repost of a post she wrote in 2020, which said, "If 'they' can create a virus, can 'they' control the weather?!!! Just sayin'". She captioned it, "From 2020..." with a scratching chin emoji and a woman crossing her arms in front of her. The repost no longer appears on her page, but the original post remains. She did not respond to my request for comment. I hate fact-checking this shit, but, just a heads up, the government cannot control hurricanes, and just because the government can do one kind of science does not mean it can do another. 

Boeing plans to cut white collar workers: Boeing machinist jobs remain safe for now as the aerospace company plans to lay off 10 percent of its workforce. The cuts appear mostly focused on white collar employees, such as engineers, and other non-union staff "at all levels up to vice presidents," according to the Seattle Times. Boeing plans to notify the first wave of employees about the lay offs mid-November, with their final days planned for January 17.

The year without a Hilloween: The Broadway Business Improvement Area has cancelled the kids carnival on Broadway this Halloween, according to Capitol Hill Seattle Blog. Apparently, funding and sponsorship just failed to pan out this year. But there's still plenty of other good stuff to come for Hilloween this year, including a Haunted Soiree at the DAR Rainier Chapter House. I'm so mad I missed the pet costume parade—goddamn I love those. 

Work from the waterfront: There is lots of open office space along the waterfront, according the Seattle Times. With the opening of the Overlook Walk, which connects Pike Place with the waterfront, real estate interests in the area hope to see a resurgence in businesses moving into the open commercial spaces. I'm not much of a back-to-the-office stan, but I went to the Overlook Walk over the weekend, and honestly I'd work from the office two days a week if I could eat lunch there. 

Jill Stein comes to town tonight: The anti-war Green Party candidate plans to speak tonight alongside former Seattle City Council Member Kshama Sawant. The event starts at 5 pm at Washington Hall on 14th Avenue in Seattle. If you can't be there in person, it's going to be live-streamed. For any of you ready to complain about Sawant supporting someone other than Vice President Kamala Harris for President, be cool and watch Rich tell you why that's dumb. [Eds note: To be clear, he also thinks it's dumb for Sawant to support Stein.]

Trump does something silly: Two medical incidents at a Trump town hall derailed the event, and Trump played some music and "bopped and shimmied," as the Associated Press put it, to a really strange mix of songs, including Rufus Wainwright's cover of "Hallelujah" and "Ave Maria." 

Hope he's okay. https://t.co/WGhGteFpjm

— Kamala Harris (@KamalaHarris) October 15, 2024

We need a shorter election cycle: The polls are tight. I'm depressed all the time, and, tbh, I'm one of those people who quits when shit gets tough. Good luck to everyone else. I'm following up on that promise from the Irish government that they'll pay you to take over a sheep farm or whatever. Shit looks dark. If y'all mount a resistance movement I'll send wool. [Eds note: Other options include spending some time phone-banking for Harris in battleground states, calling friends and family in battleground states to convince them to vote for Harris or to convince them to get off their asses and knock doors. But Ireland does sound nice.]

The geopolitical equivalent of blocking someone: North Korea blew up the some of the unused road and rail routes that used to connect it to South Korea, according to the Associated Press. Tensions rose a few days ago after North Korea accused South Korea of flying drones over Pyongyang. North Korean leader Kim Jong Un said the two countries are never, ever, getting back together.

I'm on a music strike until my computer speakers get better. Listening to anything on this laptop makes my teeth hurt.

Editor's note: This story was updated to correctly reflect the results in 10th Legislative District's 2024 state house primary race.

17:00

A quick introduction to return address protection technologies [The Old New Thing]

Return Oriented Programming (ROP) is a malware technique that takes advantage of a memory write vulnerability to populate the stack with synthesized return addresses, each of which points to a code fragment (known as a gadget) that executes a few instructions before performing a return instruction. The idea is that an attacker can gain arbitrary code execution by cobbling together these small sequences of instructions into a larger operation.

A common defense against ROP techniques is to use some form of return address protection by confirming that the return address that is about to be used matches the return address received at the start of the function. In the case of a ROP, the synthesized return addresses do not correspond to any call, and this gives the system an opportunity to detect that something bad has happened.

We saw some time ago that the AArch64 architecture contains hardware support for return address validation through the use of the pacibsp and autibsp pair of instruction which sign a return address and validate the signature, respectively.

Another approach is to use a shadow stack, which is another stack in memory into which copies of the original return addresses are recorded, and against which those return addresses are validated before being used.

There are two common patterns for shadow stacks, known as parallel shadow stacks and compact shadow stacks.

The compact shadow stack reserves another register to be used as a shadow stack pointer. For example, you might do this:

; function entry with return address on CPU stack
; assume r15 is the shadow stack pointer

    ; retrieve return address
    mov     rax, [rsp]

    ; push onto shadow stack
    mov     [r15-8], rax
    lea     r15, [r15-8]

    ⟦ main function body goes here ⟧

    ; before returning, pop the return address
    ; from the shadow stack
    mov     r11, [r15]
    lea     r15, [r15+8]

    ; and check that it matches the CPU stack
    cmp     r11, [rsp]
    jnz     fatal

    ret

This is called a compact shadow stack because all the return addresses are stored in contiguous memory. The amount of memory required for the shadow stack is sizeof(address) × call depth.

CPU stack   shadow stack
 
retaddr1   retaddr1
local var   retaddr2
local var   retaddr3 ← r15
retaddr2    
local var    
local var    
local var    
retaddr3    
local var    
local var ← rsp  

By comparison the parallel shadow stack allocates a block of memory the same size as the CPU stack, and there is a buddy system between each byte of the CPU stack and each byte of the shadow stack. Access to the shadow stack is usually mediated by an otherwise-unused selector.

; function entry with return address on CPU stack
; assume fs has a base address equal to the distance
; between the CPU stack and the shadow stack

    ; retrieve return address
    mov     rax, [rsp]

    ; copy to shadow stack
    mov     fs:[rsp], rax

    ⟦ main function body goes here ⟧

    ; before returning, compare the return address
    ; to the shadow stack
    mov     r11, fs:[rsp]
    cmp     r11, [rsp]
    jnz     fatal

    ret

This is called a parallel shadow stack because the two stacks run parallel to each other.

CPU stack   shadow stack
 
retaddr1   retaddr1
local var    
local var    
retaddr2   retaddr2
local var    
local var    
local var    
retaddr3   retaddr3
local var    
local var ← rsp   ← fs:rsp

Here’s a table of pros and cons:

  Compact Parallel
Code size Larger Smaller
Memory consumption Smaller Larger
Register pressure Greater Smaller

Although both the compact and parallel stacks require a new dedicated register, the compact stack takes the register from the general purpose registers, which makes it unavailable for code generation. The parallel stack uses a selector that would otherwise go unused.

A significant problem with software-based return address protection on x86-64 is that the return address is passed from the caller to the callee via memory, which opens a race condition (page 29) where an attacker can modify the return address in memory after it has been pushed by the call instruction but before it is loaded by the mov rax, [rsp] at the start of the called function. (This is not a problem for processors which use a link register to pass the return address.)

Intel Control-flow Enforcement Technology (CET) implements a compact shadow stack in hardware using a dedicated register not visible to user mode. When active, call instructions automatically push return addresses on to the shadow stack, and ret instructions automatically pop and validate return addresses from the shadow stack. Performing the shadow store as part of the call instruction removes the race condition.

Okay, that was a lot of stuff just to provide the required reading in anticipation of the real topic, which we’ll pick up next time.

Bonus chatter: Some versions of return address protection simply ignore the return address on the CPU stack and just use the value from the shadow stack. Corrupt the return address all you want; we don’t use it!

; compact shadow stack version

    ; on function entry,
    ; push return address onto shadow stack
    mov     rax, [rsp]
    mov     [r15-8], rax
    lea     r15, [r15-8]

    ⟦ main function body goes here ⟧

    ; return to the address on the shadow stack
    pop     r11             ; discard CPU stack
    mov     r11, [r15]      ; fetch from shadow stack
    lea     r15, [r15+8]    ; pop from shadow stack
    jmp     r11             ; go to where the shadow stack tells us

; parallel shadow stack version

    ; on function entry,
    ; copy return address to shadow stack
    mov     rax, [rsp]
    mov     fs:[rsp], rax

    ⟦ main function body goes here ⟧

    ; return to the address on the shadow stack
    pop     r11             ; discard CPU stack
    mov     r11, fs:[rsp]   ; fetch from shadow stack
    jmp     r11             ; go to where the shadow stack tells us

You could go even further and remove the return address from the CPU stack entirely, which saves an instruction and also permits a more compact encoding.

; compact shadow stack version

    ; on function entry,
    ; pop return address from CPU stack
    ; and push to shadow stack
    pop     rax
    mov     [r15-8], rax
    lea     r15, [r15-8]

    ⟦ main function body goes here ⟧

    ; return to the address on the shadow stack
    mov     r11, [r15]      ; fetch from shadow stack
    lea     r15, [r15+8]    ; pop from shadow stack
    jmp     r11             ; go to where the shadow stack tells us

Exercise: Why can’t we use the “transfer the return address to the shadow stack and remove it from the CPU stack” technique for parallel shadow stacks?

This technique has multiple downsides. One is that it makes building stack traces much harder since you have to consult the shadow stack to figure out who the caller is. And the jmp instruction at the end unbalances the return address predictor. And this technique does not play friendly with CET: The shadow stack just grows and grows because no ret instruction is ever executed. And finally, this technique is not compatible with the Windows x86-64 ABI, which requires that return addresses be on the CPU stack.

Answer to exercise: You might think you could transfer the return address to the parallel shadow stack like this:

; parallel shadow stack version

    ; on function entry,
    ; pop return address from CPU stack
    ; and copy to shadow stack
    pop     rax
    mov     fs:[rsp], rax

    ⟦ main function body goes here ⟧

    ; return to the address on the shadow stack
    mov     r11, fs:[rsp]   ; fetch from shadow stack
    jmp     r11             ; go to where the shadow stack tells us

However, this doesn’t work because it would mean that if your function consumes no stack space, then any function you call will overwrite your shadow stack entry with their return address.

Bonus bonus chatter: Shadow stacks adds another reason why Windows insists on allocating thread and fiber stacks rather than letting programs provide their own stack memory: A program-provided stack doesn’t have an associated shadow stack.

(We learned another reason some time ago: The Itanium’s backing store stack.)

The post A quick introduction to return address protection technologies appeared first on The Old New Thing.

16:21

The Big Idea: Nisi Shawl [Whatever]

Famous writers will tell you of their lives and the lives of those in their orbit. That framing, however, suggests those other lives are not on their own journeys through the universe. In this Big Idea for The Day & Night Books of Mardou Fox, author Nisi Shawl follows a woman who is on her own path, even as it intersects those who would claim her story as part of their own.

NISI SHAWL:

Did you know that Black people existed in the 1950s?

Well of course you did. But you can be forgiven if, like me, you’ve been thinking and acting as though they didn’t. Look, I’m Black, and I was alive and aware during at least part of the 1950s, and even I was surprised to learn that Beat-era author Jack Kerouac had a Black girlfriend. He fictionalized their months-long affair in his 1958 novella The Subterraneans. He called her Mardou Fox. He went on for paragraphs and paragraphs about how sad and mysterious and sexy she was.

In my twenties I hung out with folks who got me interested in Kerouac and his fellow denizens of the proto-hippy Beat scene of the 1950s and 60s: poet Allen Ginsberg, Neal Cassady, William S. Burroughs of Naked Lunch fame. But not until I attained 60 years of age did I learn that Alene Lee, the inspiration for Mardou Fox, was an author herself. She wasn’t just a sad and sexy piece of tail. Or a love interest or a side quest or a minority demographic-shaped slot to fill. Alene Lee was a writer, and a damn fine one, as you can judge for yourself by the excerpts published here, and here. Ginsberg considered her his peer.

The Day and Night Books of Mardou Fox is my attempt to give a voice to a marginalized writer, one unfairly relegated to the gender- and race-restricted roles very much in favor at that time, even among rebels. First, I created entries for a journal my character keeps in 1941, when she’s “nine-and-three-quarters years old.” Magic happens to her, but wary of being labelled crazy, she suppresses and denies it.

Next, I imagined and wrote entries from a later journal. By 1953, my Mardou Fox is hanging out with my Ginsberg, Burroughs, and Cassady analogues, reading poetry in bars and entertaining my Kerouac analogue in her Greenwich Village flat. And trying–successfully, in this alternate version of events–to get her work published.

Then come the entries dated 1963. By this point in her fictional life, my Mardou is married to a man based partly on another noteworthy Beat–Lucien Carr–and figuring out how to use her neglected magic to rescue one sister from the insane asylum and keep another sister, a lesbian activist, out of jail. Also to locate her lost love. Also to tear down the alibi of the murderer who framed said love for committing a homophobic hate crime.

Yeah, there’s a lot going on in this book. But it’s so short!

Short and sweet, and inspired by the truth. To some extent it’s inspired by the true events of 60 and 70 years ago–at least somewhat. At least as far as I’ve been able to learn about them. But inspired also by true events in my own magical life, in the lives of me and my queer friends, and especially in the life of my prickly, stubborn, marvelous Aunt Cookie, who wore black leotards and played the bongos and carved cool weird sculptures out of salt blocks.

Finally, it was inspired by music, too, as the book’s cover hints via its Impulse! Records-like font and colors. Jazz was a widely acknowledged area of Black excellence in the 1950s. Monk and Mingus, Morgan and Mobley–they were all revered as geniuses by the Beats, all hailed as the peak of hipness. Are still. Hard bop was the occult soundtrack of the Beat Era, and it’s the silent score synched under most of this novella.

The Day and Night Books of Mardou Fox brings us back to pre-Civil Rights Act, pre-Stonewall times. Times when, amazingly, Black people and queer people and queer Black people not only existed, we lived. We lived happily, however we could. We did things and said things to make the happy, magical lives we wanted real. We made up our own stories, too, and we wrote them down so we could share them with the world. We’re still writing them and sharing them. We’ll be writing and sharing them ever after.


The Day and Night Books of Mardou Fox: Little Shop of Stories|Sistah Scifi

Author socials: Bluesky|Instagram

15:21

Security updates for Tuesday [LWN.net]

Security updates have been issued by AlmaLinux (container-tools:rhel8, firefox, OpenIPMI, podman, and thunderbird), Debian (libapache-mod-jk, php7.4, and webkit2gtk), Fedora (edk2, koji, libgsf, rust-hyper-rustls, rust-reqwest, rust-rustls-native-certs, rust-rustls-native-certs0.7, rust-tonic, rust-tonic-build, rust-tonic-types, rust-tower, rust-tower-http, rust-tower-http0.5, and rust-tower0.4), Mageia (firefox, firefox-l10n, and thunderbird), Oracle (bind, container-tools:ol8, kernel, kernel-container, OpenIPMI, podman, and thunderbird), Red Hat (container-tools:rhel8, containernetworking-plugins, podman, and skopeo), SUSE (argocd-cli, bsdtar, keepalived, kernel, kyverno, libmozjs-115-0, libmozjs-128-0, libmozjs-78-0, OpenIPMI, opensc, php8, thunderbird, and xen), and Ubuntu (configobj, haproxy, imagemagick, nginx, and postgresql-10, postgresql-9.3).

[$] Zapping pointers out of thin air [LWN.net]

Paul McKenney gave a presentation at Kangrejos this year that wasn't (directly) related to Rust. Instead, he spoke about the work he has been doing in concert with many other contributors on improving the handling of subtle concurrency problems in C++. Although he cautioned that his talk was only an overview, and not a substitute for reading the relevant papers, he hoped that the things the C++ community is working on would be of interest to the Rust developers present as well, and potentially inform future work on the language. McKenney's talk was, as is his style, full of subtle examples of weird multithreaded behavior. Interested readers may wish to refer to his slides in an attempt to follow along.

13:56

Iustin Pop: Optical media lifetime - one data point [Planet Debian]

Way back (more than 10 years ago) when I was doing DVD-based backups, I knew that normal DVDs/Blu-Rays are no long-term archival solutions, and that if I was real about doing optical media backups, I need to switch to M-Disc. I actually bought a (small stack) of M-Disc Blu-Rays, but never used them.

I then switched to other backups solutions, and forgot about the whole topic. Until, this week, while sorting stuff, I happened upon a set of DVD backups from a range of years, and was very curious whether they are still readable after many years.

And, to my surprise, there were no surprises! Went backward in time, and:

  • 2014, TDK DVD+R, fully readable
  • 2012, JVC DVD+R and TDK DVD+R, fully readable
  • 2010, Verbatim DVD+R, fully readable
  • 2009/2008/2007, Verbatim DVD+R, 4 DVDs, fully readable

I also found stack of dual-layer DVD+R from 2012-2014, some for sure Verbatim, and some unmarked (they were intended to be printed on), but likely Verbatim as well. All worked just fine. Just that, even at ~8GiB per disk, backing up raw photo files took way too many disks, even in 2014 😅.

At this point I was happy that all 12+ DVDs I found, ranging from 10 to 14 years, are all good. Then I found a batch of 3 CDs! Here the results were mixed:

  • 2003: two TDK “CD-R80”, “Mettalic”, 700MB: fully readable, after 21 years!
  • unknown year, likely around 1999-2003, but no later, “Creation” CD-R, 700MB: read errors to the extent I can’t even read the disk signature (isoinfo -d).

I think the takeaway is that for all explicitly selected media - TDK, JVC and Verbatim - they hold for 10-20 years. Valid reads from summer 2003 is mind boggling for me, for (IIRC) organic media - not sure about the “TDK metallic” substrate. And when you just pick whatever (“Creation”), well, the results are mixed.

Note that in all this, it was about CDs and DVDs. I have no idea how Blu-Rays behave, since I don’t think I ever wrote a Blu-Ray. In any case, surprising to me, and makes me rethink a bit my backup options. Sizes from 25 to 100GB Blu-Rays are reasonable for most critical data. And they’re WORM, as opposed to most LTO media, which is re-writable (and to some small extent, prone to accidental wiping).

Now, I should check those M-Disks to see if they can still be written to, after 10 years 😀

13:49

CodeSOD: An Overloaded Developer [The Daily WTF]

"Oh, I see what you mean, I'll just write an overloaded function which takes the different set of parameters," said the senior dev.

That got SB's attention. You see, they were writing JavaScript, which doesn't have function overloading. "Um," SB said, "you're going to do what?"

"Function overloading," the senior dev said. "It's when you write multiple versions of the same method with different signatures-"

"I know what it is," SB said. "I'm just wondering how you're going to do that in JavaScript."

"Ah," the senior dev said with all the senior dev wisdom in the world. "It's a popular misconception that function overloading isn't allowed in JavaScript. See this?"

function addMarker(lat,lng,title,desc,pic,link,linktext,cat,icontype) {
         addMarker(lat,lng,title,desc,pic,link,linktext,cat,icontype,false);
}
               
function addMarker(lat,lng,title,desc,pic,link,linktext,cat,icontype,external) {       
    /* preparation code */
    if (external){             
        /* glue code */
    } else {
        /* other glue code */
    }
}

This, in fact, did not overload the function. This first created a version of addMarker which called itself with the wrong number of parameters. It then replaced that definition with a new one that actually did the work. That it worked at all was a delightful coincidence- when you call a JavaScript function with too few parameters, it just defaults the remainders to null, and null is falsy.

[Advertisement] Picking up NuGet is easy. Getting good at it takes time. Download our guide to learn the best practice of NuGet for the Enterprise.

13:42

Henry Ford Does AI [Radar]

Back in August, I cavalierly said that AI couldn’t design a car if it hadn’t seen one first, and I alluded to Henry Ford’s apocryphal statement “If I had asked people what they wanted, they would have said faster horses.”

I’m not backing down on any of that, but the history of technology is always richer than we imagine. Daimler and Benz get credit for the first automobile, but we forget that the “steam engine welded to a tricycle” was invented in 1769, over a hundred years earlier. Assembly lines arguably go back to the 12th century AD. The more you unpack the history, the more interesting it gets. That’s what I’d like to do: unpack it—and ask what would have happened if the inventors had access to AI.

If Nicolas-Joseph Cugnot, who created a device for transporting artillery over roads by welding a steam engine to a giant tricycle, had an AI, what would it have told him? Would it have suggested this combination? Maybe, but maybe not. Perhaps it would have realized that it was a poor idea—after all, this proto-automobile could only travel at 2.25 miles per hour, and only for 15 minutes at a time. Teams of horses would do a better job. But there was something in this idea—even though it appears to have died out—that stuck.

During the final years of the 19th century, Daimler and Benz made many innovations on the way to the first machine generally recognized as an automobile: a high-speed internal combustion engine, the four-stroke engine, the two-cylinder engine, double-pivot steering, a differential, and even a transmission. Several of these innovations had appeared earlier. Planetary gears go back to the Greek Antikythera mechanism; double-pivot steering (putting the joints at the wheels rather than turning the entire axle) had appeared and disappeared twice in the 19th century—Karl Benz rediscovered it in a trade journal. The differential goes back to 1827 at least, but it arguably appears in the Antikythera. We can learn a lot from this: It’s easy to think in terms of single innovations and innovators, but it’s rarely that simple. The early Daimler-Benz cars combined a lot of newer technologies and repurposed many older technologies in ways that hadn’t been anticipated.

Could a hypothetical AI have helped with these inventions? It might have been able to resurrect double-pivot steering from “steering winter.” It’s something that had been done before and that could be done again. But that would require Daimler and Benz to get the right prompt. Could AI have invented a primitive transmission, given that clockmakers knew about planetary gears? Again, prompting probably would be the hard part, as it is now. But the important question wasn’t “How do I build a better steering system?” but “What do I need to make a practical automobile?” And they would have to come up with that prompt without the words “automobile,” “horseless carriage,” or their German equivalents, since those words were just coming into being.

Now let’s look ahead two decades, to the Model T and to Henry Ford’s well-known quote “If I had asked people what they wanted, they would have said faster horses” (whether or not he actually said it): What is he asking? And what does that mean? By Ford’s time, automobiles, as such, already existed. Some of them still looked like horse-drawn buggies with engines attached; others looked recognizably like modern cars. They were faster than horses. So Ford didn’t invent either the automobile or faster horses—but we all know that.

What did he invent that people didn’t know they wanted? The first Daimler-Benz auto (still in a modified buggy format) preceded the Model T by 23 years; its price was $1,000. That’s a lot of money for 1885. The Model T appeared in 1908; it cost roughly $850, and its competitors were significantly more expensive ($2,000 to $3,000). And when Ford’s assembly line went into production a few years later (1913), he was able to drop the price farther, eventually getting it down to $260 by 1925. That’s the answer. What people wanted that they didn’t know they wanted was a car that they could afford. Automobiles had been firmly established as luxury items. People may have known that they wanted one, but they didn’t know that they could ask for it. They didn’t know that it could be affordable.

That’s really what Henry Ford invented: affordability. Not the assembly line, which made its first appearance early in the 12th century, when the Venetian Arsenal built ships by lining them up in a canal and moving them downstream as each stage of their manufacture was completed. Not even the automotive assembly line, which Olds used (and patented) in 1901. Ford’s innovation was producing affordable cars at a scale that was previously inconceivable. In 1913, when Ford’s assembly line went into production, the time it took to produce one Model T dropped from 13 hours to roughly 90 minutes. But what’s important isn’t the elapsed time to build one car; it’s the rate at which they could be produced. A Model T could roll off the assembly line every three minutes. That’s scale. Ford’s “any color, as long as it’s black” didn’t reflect the need to reduce options or cut costs. Black paint dried more quickly than any other color, so it helped to optimize the assembly line’s speed and maximize scale.

The assembly line wasn’t the only innovation, of course: Spare parts for the Model T were easily available, and the car could be repaired with tools most people at the time already had. The engine and other significant subassemblies were greatly simplified and more reliable than competitors’. Materials were better too: The Model T made use of vanadium steel, which was quite exotic in the early 20th century.

I’ve been careful, however, not to credit Ford with any of these innovations. He deserves credit for the biggest of pictures: affordability and scale. As Charles Sorenson, one of Ford’s assistant managers, said: “Henry Ford is generally regarded as the father of mass production. He was not. He was the sponsor of it.”1 Ford deserves credit for understanding what people really wanted and coming up with a solution to the problem. He deserves credit for realizing that the problems were cost and scale, and that those could be solved with the assembly line. He deserves credit for putting together the teams that did all the engineering for the assembly line and the cars themselves.

So now it’s time to ask: If AI had existed in the years before 1913, when the assembly line was being designed (and before 1908, when the Model T was being designed), could it have answered Ford’s hypothetical question about what people wanted? The answer has to be “no.” I’m sure Ford’s engineers could have put modern AI to tremendous use designing parts, designing the process, and optimizing the work flow along the line. Most of the technologies had already been invented, and some were well-known. “How do I improve on the design of a carburetor?” is a question that an AI could easily have answered.

But the big question—What do people really want?—isn’t. I don’t believe that an AI could look at the American public and say, “People want affordable cars, and that will require making cars at scale and a price that’s not currently conceivable.” A language model is built on all the text that can be scraped together, and, in many respects, its output represents a statistical averaging. I’d be willing to bet that a 1900s-era language model would have access to a lot of information about horse maintenance: care, disease, diet, performance. There would be a lot of information about trains and streetcars, the latter frequently being horse-powered. There would be some information about automobiles, primarily in high-end publications. And I imagine there would be some “wish I could afford one” sentiment among the rising middle class (particularly if we allow hypothetical blogs to go with our hypothetical AI). But if the hypothetical AI were asked a question about what people wanted for personal transportation, the answer would be about horses. Generative AI predicts the most likely response, not the most innovative, visionary, or insightful. It’s amazing what it can do—but we have to recognize its limits too.

What does innovation mean? It certainly includes combining existing ideas in unlikely ways. It certainly includes resurrecting good ideas that have never made it into the mainstream. But the most important innovations either don’t follow that pattern or make additions to it. They involve taking a step back and looking at the problem from a broader perspective: looking at transportation and realizing that people don’t need better horses, they need affordable cars at scale. Ford may have done that. Steve Jobs did that—both when he founded Apple and when he resuscitated it. Generative AI can’t do that, at least not yet.


Footnotes

  1. Sorensen, Charles E. & Williamson, Samuel T. (1956). My Forty Years with Ford. New York: Norton, p. 116.

12:21

Jonathan Dowland: Arturia Microfreak [Planet Debian]

Arturia Microfreak. [© CC-BY-SA 4](https://commons.wikimedia.org/wiki/File:MicroFreak.jpg)

Arturia Microfreak. © CC-BY-SA 4

I nearly did, but ultimately I didn't buy an Arturia Microfreak.

The Microfreak is a small form factor hybrid synth with a distinctive style. It's priced at the low end of the market and it is overflowing with features. It has a weird 2-octave keyboard which is a stylophone-style capacitive strip rather than weighted keys. It seems to have plenty of controls, but given the amount of features it has, much of that functionality is inevitably buried in menus. The important stuff is front and centre, though. The digital oscillators are routed through an analog filter. The Microfreak gained sampler functionality in a firmware update that surprised and delighted its owners.

I watched a load of videos about the Microfreak, but the above review from musician Stimming stuck in my mind because it made a comparison between the Microfreak and Teenage Engineering's OP-1.

The Teenage Engineering OP-1.

The Teenage Engineering OP-1.

I'd been lusting after the OP-1 since it appeared in 2011: a pocket-sized1 music making machine with eleven synthesis engines, a sampler, and less conventional features such as an FM radio, a large colour OLED display, and a four track recorder. That last feature in particular was really appealing to me: I loved the idea of having an all-in-one machine to try and compose music. Even then, I was not keen on involving conventional computers in music making.

Of course in many ways it is a very compromised machine. I never did buy a OP-1, and by now they've replaced it with a new model (the OP-1 field) that costs 50% more (but doesn't seem to do 50% more) I'm still not buying one.

Framing the Microfreak in terms of the OP-1 made the penny drop for me. The Microfreak doesn't have the four-track functionality, but almost no synth has: I'm going to have to look at something external to provide that. But it might capture a similar sense of fun; it's something I could use on the sofa, in the spare room, on the train, during lunchbreaks at work, etc.

On the other hand, I don't want to make the same mistake as with the Micron: too much functionality requiring some experience to understand what you want so you can go and find it in the menus. I also didn't get a chance to audition the unusual keyboard: there's only one music store carrying synths left in Newcastle and they didn't have one.

So I didn't buy the Microfreak. Maybe one day in the future once I'm further down the road. Instead, I started to concentrate my search on more fundamental, back-to-basics instruments…


  1. Big pockets, mind

More Details on Israel Sabotaging Hezbollah Pagers and Walkie-Talkies [Schneier on Security]

The Washington Post has a long and detailed story about the operation that’s well worth reading (alternate version here).

The sales pitch came from a marketing official trusted by Hezbollah with links to Apollo. The marketing official, a woman whose identity and nationality officials declined to reveal, was a former Middle East sales representative for the Taiwanese firm who had established her own company and acquired a license to sell a line of pagers that bore the Apollo brand. Sometime in 2023, she offered Hezbollah a deal on one of the products her firm sold: the rugged and reliable AR924.

“She was the one in touch with Hezbollah, and explained to them why the bigger pager with the larger battery was better than the original model,” said an Israeli official briefed on details of the operation. One of the main selling points about the AR924 was that it was “possible to charge with a cable. And the batteries were longer lasting,” the official said.

As it turned out, the actual production of the devices was outsourced and the marketing official had no knowledge of the operation and was unaware that the pagers were physically assembled in Israel under Mossad oversight, officials said. Mossad’s pagers, each weighing less than three ounces, included a unique feature: a battery pack that concealed a tiny amount of a powerful explosive, according to the officials familiar with the plot.

In a feat of engineering, the bomb component was so carefully hidden as to be virtually undetectable, even if the device was taken apart, the officials said. Israeli officials believe that Hezbollah did disassemble some of the pagers and may have even X-rayed them.

Also invisible was Mossad’s remote access to the devices. An electronic signal from the intelligence service could trigger the explosion of thousands of the devices at once. But, to ensure maximum damage, the blast could also be triggered by a special two-step procedure required for viewing secure messages that had been encrypted.

“You had to push two buttons to read the message,” an official said. In practice, that meant using both hands.

Also read Bunnie Huang’s essay on what it means to live in a world where people can turn IoT devices into bombs. His conclusion:

Not all things that could exist should exist, and some ideas are better left unimplemented. Technology alone has no ethics: the difference between a patch and an exploit is the method in which a technology is disclosed. Exploding batteries have probably been conceived of and tested by spy agencies around the world, but never deployed en masse because while it may achieve a tactical win, it is too easy for weaker adversaries to copy the idea and justify its re-deployment in an asymmetric and devastating retaliation.

However, now that I’ve seen it executed, I am left with the terrifying realization that not only is it feasible, it’s relatively easy for any modestly-funded entity to implement. Not just our allies can do this—a wide cast of adversaries have this capability in their reach, from nation-states to cartels and gangs, to shady copycat battery factories just looking for a big payday (if chemical suppliers can moonlight in illicit drugs, what stops battery factories from dealing in bespoke munitions?). Bottom line is: we should approach the public policy debate around this assuming that someday, we could be victims of exploding batteries, too. Turning everyday objects into fragmentation grenades should be a crime, as it blurs the line between civilian and military technologies.

I fear that if we do not universally and swiftly condemn the practice of turning everyday gadgets into bombs, we risk legitimizing a military technology that can literally bring the front line of every conflict into your pocket, purse or home.

10:21

It’s not easy to see time [Seth's Blog]

Consider a simple graph of the temperature of the Earth over time.

There’s nothing interesting about any frame of this graph. But when we pause for just a few seconds for it to load and render, we can see 150 years unfold and then the truth becomes apparent.

The snapshot is a useful way to capture a moment. But moments rarely offer as much insight as seeing something shift over time.

Is time hiding from us, or are we deliberately ignoring it?

Time and strategy are intertwined.

09:14

Lukas Märdian: Waiting for a Linux system to be online [Planet Debian]

Designed by Freepik

What is an “online” system?

Networking is a complex topic, and there is lots of confusion around the definition of an “online” system. Sometimes the boot process gets delayed up to two minutes, because the system still waits for one or more network interfaces to be ready. Systemd provides the network-online.target that other service units can rely on, if they are deemed to require network connectivity. But what does “online” actually mean in this context, is a link-local IP address enough, do we need a routable gateway and how about DNS name resolution?

The requirements for an “online” network interface depend very much on the services using an interface. For some services it might be good enough to reach their local network segment (e.g. to announce Zeroconf services), while others need to reach domain names (e.g. to mount a NFS share) or reach the global internet to run a web server. On the other hand, the implementation of network-online.target varies, depending on which networking daemon is in use, e.g. systemd-networkd-wait-online.service or NetworkManager-wait-online.service. For Ubuntu, we created a specification that describes what we as a distro expect an “online” system to be. Having a definition in place, we are able to tackle the network-online-ordering issues that got reported over the years and can work out solutions to avoid delayed boot times on Ubuntu systems.

In essence, we want systems to reach the following networking state to be considered online:

  1. Do not wait for “optional” interfaces to receive network configuration
  2. Have IPv6 and/or IPv4 “link-local” addresses on every network interface
  3. Have at least one interface with a globally routable connection
  4. Have functional domain name resolution on any routable interface

A common implementation

NetworkManager and systemd-networkd are two very common networking daemons used on modern Linux systems. But they originate from different contexts and therefore show different behaviours in certain scenarios, such as wait-online. Luckily, on Ubuntu we already have Netplan as a unification layer on top of those networking daemons, that allows for common network configuration, and can also be used to tweak the wait-online logic.

With the recent release of Netplan v1.1 we introduced initial functionality to tweak the behaviour of the systemd-networkd-wait-online.service, as used on Ubuntu Server systems. When Netplan is used to drive the systemd-networkd backend, it will emit an override configuration file in /run/systemd/system/systemd-networkd-wait-online.service.d/10-netplan.conf, listing the specific non-optional interfaces that should receive link-local IP configuration. In parallel to that, it defines a list of network interfaces that Netplan detected to be potential global connections, and waits for any of those interfaces to reach a globally routable state.

Such override config file might look like this:

[Unit]
ConditionPathIsSymbolicLink=/run/systemd/generator/network-online.target.wants/systemd-networkd-wait-online.service

[Service]
ExecStart=
ExecStart=/lib/systemd/systemd-networkd-wait-online -i eth99.43:carrier -i lo:carrier -i eth99.42:carrier -i eth99.44:degraded -i bond0:degraded
ExecStart=/lib/systemd/systemd-networkd-wait-online --any -o routable -i eth99.43 -i eth99.45 -i bond0

In addition to the new features implemented in Netplan, we reached out to upstream systemd, proposing an enhancement to the systemd-networkd-wait-online service, integrating it with systemd-resolved to check for the availability of DNS name resolution. Once this is implemented upstream, we’re able to fully control the systemd-networkd backend on Ubuntu Server systems, to behave consistently and according to the definition of an “online” system that was lined out above.

Future work

The story doesn’t end there, because Ubuntu Desktop systems are using NetworkManager as their networking backend. This daemon provides its very own nm-online utility, utilized by the NetworkManager-wait-online systemd service. It implements a much higher-level approach, looking at the networking daemon in general instead of the individual network interfaces. By default, it considers a system to be online once every “autoconnect” profile got activated (or failed to activate), meaning that either a IPv4 or IPv6 address got assigned.

There are considerable enhancements to be implemented to this tool, for it to be controllable in a fine-granular way similar to systemd-networkd-wait-online, so that it can be instructed to wait for specific networking states on selected interfaces.

A note of caution

Making a service depend on network-online.target is considered an antipattern in most cases. This is because networking on Linux systems is very dynamic and the systemd target can only ever reflect the networking state at a single point in time. It cannot guarantee this state to be remained over the uptime of your system and has the potentially to delay the boot process considerably. Cables can be unplugged, wireless connectivity can drop, or remote routers can go down at any time, affecting the connectivity state of your local system. Therefore, “instead of wondering what to do about network.target, please just fix your program to be friendly to dynamically changing network configuration.” [source].

08:28

Splitting Hairs On Hirsutism by Senna [Oh Joy Sex Toy]

Splitting Hairs On Hirsutism by Senna

Senna finds herself in a hairy situation as puberty brings a body change she wasn’t expecting: Hirsutism. She discovers that being a cis woman with a beard and body hair isn’t something you can just brush off, it’s with you through thick and thin. Let’s not split hairs; todays comic is amazing! Tumblr Portfolio Instagram […]

05:28

Obliviator, Part Three [Penny Arcade]

After we did the last one, we couldn't stop. Anything as serious as Silent Hill is has seeds of silliness in it! That's just how it works.

03:28

Heirs Apparent [QC RSS]

Anh is just awful (writing awful people is fun)

03:00

Scarecrow’s 2024 Psychotronic Challenge: Day 14 [The Stranger]

"Made by an Indigenous filmmaker or has featured Indigenous cast members." by Megan Seling

14. HALLOWED GROUND: Made by an Indigenous filmmaker or has featured Indigenous cast members.

Slash/Back

Nyla Innuksuk’s Slash/Back has been on my to-watch list since at least last year when it was added to Hulu, but it wasn’t until I saw Scarecrow’s Day 14 prompt—watch a film “made by an Indigenous filmmaker or has featured Indigenous cast members”—that I finally sat down to watch it.

It was a blast! Thanks, Scarecrow! 

Slash/Back is set and filmed in Nunavut (where one of my all-time favorite Nashville Predators players, Jordin Tootoo, is from!), in the small community of Pangnirtung. For a group of local girls, what starts out as just another day of breaking insignificant rules, getting harassed by cops, and avoiding annoying younger siblings, quickly devolves into a literal fight for their lives when what appears to be a zombified polar bear crashes their picnic. After some investigation—and some more of the monster’s murderous rampages—they discover that a parasitic creature has invaded their land, and it shows no sign of stopping until the whole town is sucked dry. 

I won't spoil the ending, but, hell yes, there is a "prepare for battle" montage as well as a wicked scene involving an ulu knife. There are also a few sweet moments between the girls as they bond over their complicated relationships with their heritage and traditions and the relatable urge to leave home as soon as possible.

It's not reinventing the young adult sci-fi flick—comparisons to Attack the Block and Stranger Things are plentiful and unavoidable—but it’s still a fun-to-watch story about young people who have to save their town from violent, blood-sucking aliens because if they don’t do it, no one else will. It makes for a hell of a metaphor for colonialism, too… but, you know, with tentacles.

Best quote: “I cut open its throat with an ulu.” “Nasty! I love it.”

Snack suggestion: White chocolate-covered gummy polar bears

The Stranger is participating in Scarecrow Video’s Psychotronic Challenge all month long! Every October, Scarecrow puts together a list of cinematic themes and invites folks to follow along and watch a horror, sci-fi, or fantasy flick that meets the criteria. This year, Stranger staffers are joining the fun and we’re sharing our daily recommendations here on Slog! Read more about Scarecrow’s 2024 challenge—and get the watch list—here. And you can track our daily recommendations here! 💀

01:28

Freexian Collaborators: Monthly report about Debian Long Term Support, September 2024 (by Roberto C. Sánchez) [Planet Debian]

Like each month, have a look at the work funded by Freexian’s Debian LTS offering.

Debian LTS contributors

In September, 18 contributors have been paid to work on Debian LTS, their reports are available:

  • Abhijith PA did 7.0h (out of 0.0h assigned and 14.0h from previous period), thus carrying over 7.0h to the next month.
  • Adrian Bunk did 51.75h (out of 9.25h assigned and 55.5h from previous period), thus carrying over 13.0h to the next month.
  • Arturo Borrero Gonzalez did 10.0h (out of 0.0h assigned and 10.0h from previous period).
  • Bastien Roucariès did 20.0h (out of 20.0h assigned).
  • Ben Hutchings did 20.0h (out of 12.0h assigned and 12.0h from previous period), thus carrying over 4.0h to the next month.
  • Chris Lamb did 18.0h (out of 18.0h assigned).
  • Daniel Leidert did 23.0h (out of 26.0h assigned), thus carrying over 3.0h to the next month.
  • Emilio Pozuelo Monfort did 23.5h (out of 22.25h assigned and 37.75h from previous period), thus carrying over 36.5h to the next month.
  • Guilhem Moulin did 22.25h (out of 20.0h assigned and 2.5h from previous period), thus carrying over 0.25h to the next month.
  • Lucas Kanashiro did 10.0h (out of 5.0h assigned and 15.0h from previous period), thus carrying over 10.0h to the next month.
  • Markus Koschany did 40.0h (out of 40.0h assigned).
  • Ola Lundqvist did 6.5h (out of 14.5h assigned and 9.5h from previous period), thus carrying over 17.5h to the next month.
  • Roberto C. Sánchez did 24.75h (out of 21.0h assigned and 3.75h from previous period).
  • Santiago Ruano Rincón did 19.0h (out of 19.0h assigned).
  • Sean Whitton did 0.75h (out of 4.0h assigned and 2.0h from previous period), thus carrying over 5.25h to the next month.
  • Sylvain Beucler did 16.0h (out of 42.0h assigned and 18.0h from previous period), thus carrying over 44.0h to the next month.
  • Thorsten Alteholz did 11.0h (out of 11.0h assigned).
  • Tobias Frost did 17.0h (out of 7.5h assigned and 9.5h from previous period).

Evolution of the situation

In September, we have released 52 DLAs.

September marked the first full month of Debian 11 bullseye under the responsibility of the LTS Team and the team immediately got to work, publishing more than 4 dozen updates.

Some notable updates include ruby2.7 (denial-of-service, information leak, and remote code execution), git (various arbitrary code execution vulnerabilities), firefox-esr (multiple issues), gnutls28 (information disclosure), thunderbird (multiple issues), cacti (cross site scripting and SQL injection), redis (unauthorized access, denial of service, and remote code execution), mariadb-10.5 (arbitrary code execution), cups (arbitrary code execution).

Several LTS contributors have also contributed package updates which either resulted in a DSA (a Debian Security Announcement, which applies to Debian 12 bookworm) or in an upload that will be published at the next stable point release of Debian 12 bookworm. This list of packages includes cups, cups-filters, booth, nghttp2, puredata, python3.11, sqlite3, and wireshark. This sort of work, contributing fixes to newer Debian releases (and sometimes even to unstable), helps to ensure that upgrades from a release in the LTS phase of its lifecycle to a newer release do not expose users to vulnerabilities which have been closed in the older release.

Looking beyond Debian, LTS contributor Bastien Roucariès has worked with the upstream developers of apache2 to address regressions introduced upstream by some recent vulnerability fixes and he has also reached out to the community regarding a newly discovered security issue in the dompurify package. LTS contributor Santiago Ruano Rincón has undertaken the work of triaging and reproducing nearly 4 dozen CVEs potentially affecting the freeimage package. The upstream development of freeimage appears to be dormant and some of the issues have languished for more than 5 years. It is unclear how much can be done without the aid of upstream, but we will do our best to provide as much help to the community as we can feasibly manage.

Finally, it is sometimes necessary to limit or discontinue support for certain packages. The transition of a release from being under the responsibility of the Debian Security Team to that of the LTS Team is an occasion where we assess any pending decisions in this area and formalize them. Please see the announcement for a complete list of packages which have been designated as unsupported.

Thanks to our sponsors

Sponsors that joined recently are in bold.

Monday, 14 October

22:42

The kitten loves the Mets! [Scripting News]

Of course she loves the Mets. Especially the grand slams.

22:21

Scarlett Gately Moore: Kubuntu 24.10 Released, KDE Snaps at 24.08.2, and I lived to tell you about it! [Planet Debian]

Happy 28th birthday KDE!Happy 28th Birthday KDE!

Sorry my blog updates have been MIA. Let me tell you a story…

As some of you know, 3 months ago I was in a no fault car accident. Thankfully, the only injury was I ended up with a broken arm. ER sends me home in a sling and tells me it was a clean break and it will mend itself in no time. After a week of excruciating pain I went to my follow up doctor appointment, and with my x-rays in hand, the doc tells me it was far from a clean break and needs surgery. So after a week of my shattered bone scraping my nerves and causing pain I have never felt before, I finally go in for surgery! They put in a metal plate with screws to hold the bone in place so it can properly heal. The nerve pain was gone, so I thought I was on the mend. Some time goes by and the swelling still has not subsided, the doctors are not as concerned about this as I am, so I carry on until it becomes really inflamed and developed fever blisters. After no success in reaching the doctors office my husband borrows the neighbors car and rushes me to the ER. Good thing too, I had an infection. So after a 5 day stay in the hospital, they sent us home loaded with antibiotics and trained my husband in wound packing. We did everything right, kept the place immaculate, followed orders with the wound care, took my antibiotics, yet when they ran out there was still no sign of relief, or healing. Went to doctors and they gave me another month supply of antibiotics. Two days after my final dose my arm becomes inflamed again and with extra spectacular levels of pain to go with it. I call the doctor office… They said to come in on my appointment day ( 4 days away ). I asked, “You aren’t concerned with this inflammation?”, to which they replied, “No.”. Ok, maybe I am over reacting and it’s all in my head, I can power through 4 more days. The following morning my husband observed fever blisters and the wound site was clearly not right, so once again off we go to the ER. Well… thankfully we did. I was in Sepsis and could have died… After deliberating with the doctor on the course of action for treatment, the doctor accepted our plea to remove the plate, rather than tighten screws and have me drive 100 miles to hospital everyday for iv antibiotics (Umm I don’t have a car!?) So after another 4 day stay I am released into the world, alive and well. I am happy to report, the swelling is almost gone, the pain is minimal, and I am finally healing nicely. I am still in a sling and I have to be super careful and my arm was not fully knitted. So with that I am bummed to say, no traveling for me, no Ubuntu Summit 🙁

I still need help with that car, if it weren’t for our neighbor, this story would have ended much differently.

https://gofund.me/00942f47

Despite my tragic few months for my right arm, my left arm has been quite busy. Thankfully I am a lefty! On to my work progress report.

Kubuntu:

With Plasma 6! A big thank you to the Debian KDE/QT team and Rik Mills, could not have done it without you!

KDE Snaps:

All release service snaps are done! Save a few problematic ones still WIP.. I have released 24.08.2 which you can find here:

https://snapcraft.io/publisher/kde

I completed the qt6 and KDE frameworks 6 content packs for core24

Snapcraft:

I have a PR in for kde-neon-6 extension core24 support.

That’s all for now. Thanks for stopping by!

21:35

Initiative-2117 is Dangerous to Your Health [The Stranger]

Healthcare professionals see firsthand the debilitating effects of dirty air and pollution-related diseases right here in Washington—from forest fire smoke, increasingly severe and prolonged heat waves, and longer, more potent allergy seasons. These impacts affect us all, but they disproportionately harm vulnerable populations like the young, the elderly, the poor, and communities of color. 1-2117 would rollback major progress to mitigate that impact. by Dr. Ken Lans

Did you hear the one about the hedge fund millionaire who moves up from California and spends millions of dollars to get a bunch of his right-wing initiatives on Washington’s November 2024 ballot? Turns out it’s not a joke.

All four initiatives on the November ballot would, if passed, be awful for the health of people here in Washington. But Initiative-2117, stands out for just how far-reaching its bad health consequences would be. The initiative would repeal Washington's Climate Commitment Act (CCA) and prohibit any policies involving carbon pricing in the future. In the service of a self-interested extremist, it dangerously and ridiculously halts and reverses important progress finally being made to combat air pollution and climate change. These dangers are fully detailed in a Washington Physicians for Social Responsibility (WPSR) report, ‘A Risk to our Health: An Analysis of the Threats to Health Posed by I-2117’. 

Healthcare professionals see firsthand the debilitating effects of dirty air and pollution-related diseases. We’re also beginning to see, right here in Washington, more and more direct health impacts of climate change—from forest fire smoke, increasingly severe and prolonged heat waves, and longer, more potent allergy seasons. These impacts affect us all, but they disproportionately harm vulnerable populations like the young, the elderly, the poor, and communities of color.

The CCA is a cap-and-invest program which passed in 2021 and just took effect last year. It employs a form of carbon pricing where the maximum amount of total permissible CO2 is established and decreases each year, and permits to pollute up to that limit are sold at auction. The program is already beginning to have significant and beneficial impacts on our health through meaningful reductions in air pollution.  And as more revenue is collected in future auctions, those benefits will grow. But all health gains—existing and potential—are threatened if I-2117 passes.

Addressing our Climate and our Health

Combustion of fossil fuels—gasoline, diesel, and natural gas—is the primary source of greenhouse gasses (primarily CO2) and air pollution (PM2.5 small particulate matter, sulfur dioxide and nitrogen dioxide). The World Health Organization (WHO) states, “Air pollution, primarily the result of burning fossil fuels, which also drives climate change, causes 13 deaths per minute worldwide.” Around the world, exposure to polluted air is the second highest risk of death for children 5 and under.

Major health-related impacts from air pollution include increased morbidity (illness) and mortality (death) from asthma and other respiratory illnesses, cardiovascular disease and stroke, cancer, and diabetes. We’re also concerned about mental health impacts, as PM2.5 can enter the brain via the olfactory nerve and bloodstream.

Medical studies make it clear that there is no safe level of PM2.5, no threshold point where harm starts. The more air pollution a person is exposed to, even starting at low doses, the more harm that can result (and the lower the exposure, the less harm). So all reductions in air pollution levels are good for health. 

Supporters of I-2117 emphasize the dollars you could save, but we also need to recognize the increased costs we already pay, both in terms of actual dollars spent on healthcare and, maybe even more importantly, in terms of damage to our very health and well-being, from exposure to pollution and from the impacts climate change is already having.

These same emissions that release health-harming gasses also release climate-change causing CO2.  The resulting environmental changes brought about by these dramatically increasing levels of CO2 in the atmosphere include more extreme weather events, more frequent, more severe, and longer lasting heat waves, and an increase in the number and severity of wildfires and their accompanying smoke — all of which put increasing burdens on the health of people throughout the state.

Air pollution and climate-related risks are cumulative. Added to the health impacts resulting from air pollution, direct impacts we’re seeing from climate change include, heat-related illnesses and deaths; asthma, lung cancer and other respiratory illnesses; cardiovascular disease, including heart attack and stroke; infectious diseases such as Lyme disease and encephalitis; mental health conditions, including increased depression and suicidality; violent behavior, including intimate partner violence; and lowered birth weight in infants.

Climate Change and Pollution Do Not Impact All People Equally

All these health conditions that are exacerbated by climate change and air pollution are experienced more frequently and with greater impact by vulnerable, marginalized, and disenfranchised populations. Not by chance, but due in large part to the long-term policies of “redlining” and zoning laws and other historical forms of discriminatory public policy and ongoing bias, poorer communities, tribal communities, and communities of color are far more likely to be located in close proximity to the sources of pollution, such as industrial sites, oil and gas refineries, ports, rail yards, and busy highways. They are also less likely to have adequate infrastructure and tree canopy to help mitigate the effects of extreme heat. Disadvantaged groups also include migrant workers, people with limited English proficiency, displaced persons, indigenous tribes, and those with pre-existing medical conditions, chronic illness, and disabilities.

The CCA is designed specifically to place environmental justice and equity at the center of climate policy. It implements and funds the HEAL (Healthy Environment for All) Act of 2021 that requires the State “to identify and address environmental health disparities in overburdened communities and for vulnerable populations.”

Because industries participating in the CCA will take some time to substantially reduce their pollution, especially in already overburdened communities, and will likely pass on as much of their increased costs as they can to the consumer, any equitable carbon pricing regimen must include investments in overburdened communities and energy subsidies to low income households. The CCA does just that. Of monies spent, 35-40% must benefit vulnerable populations in overburdened communities; 10% must be formally supported by Tribal resolution. Indeed, as of late spring, the Office of Financial Management estimated that, of total CCA investments made to that time, nearly $924 million, or 43%, were directed to overburdened communities and $155 million, or 7.3%, specifically to benefit Tribes.

Improving the Health and Well-being of Children

Children with developing lungs are particularly vulnerable to air pollution, and can experience lifelong effects from inhaled particulates. In the home, CCA funds programs such as an expansion of weatherization and projects that improve indoor air quality through the replacement of gas stoves and gas and oil furnaces.

Studies show that diesel-emitting school buses expose children to harmful exposures both on and outside the buses—exposures that can decrease cognitive function, increase cardiovascular risks, and worsen respiratory health. The CCA is funding electric school buses to minimize these risks. It also funds free bus, ferry, and train rides for everyone under 18 and expands sidewalks and crosswalks so that children can safely access schools, parks and the outdoor environment. 

CCA-funded expansion of our regional air quality monitoring network—a critical system for equipping parents of a child with asthma with real-time health information so they can make critical decisions around medication and exposure—would also be ended if I-2117 passes.

Finally, carbon emission reduction projects funded by the CCA, though admittedly small compared to worldwide emissions, still matter as all these reductions add up. Combined, they will help to reduce extreme weather events worldwide, including flooding — such as we’ve just seen from hurricane Helene — and heat waves. Such interventions are critical, as increased child and infant mortality have been associated with extreme heat events, as well as decreased cognitive abilities in children exposed to high heat. Even those still in the womb can experience negative health impacts from extreme heat. Climate resilience projects for schools, funded through the CCA, such as HVAC improvements and electrification, will directly help keep the children of Washington learning and growing through extreme heat.

My Prescription: Vote No on I-2117

To sum up why is it so urgent and important to defeat I-2117:

  •   Because climate change and air pollution have such dire and far-reaching consequences for the health of the residents of Washington (and in fact to every living being on our planet) and we’re already paying, often dearly, with our health;
  •   Because Washington is seen as a model of climate action and passage of I-2117 here would likely severely chill climate action in other states (and, adding insult to injury — which I mean literally — I-2117 would prohibit any future climate pricing in our state);
  •   Because the Climate Commitment Act is already showing what a crucial role it can play in reducing pollution, addressing the impacts of climate change, and improving health for so many.

Voting ‘no’ becomes one of the most vital health decisions that you can make. So join me, my colleagues at WPSR, and concerned health professionals throughout the state (including the Washington State Medical Association, the Washington State Nursing Association, the Washington State Public Health Association, and the American Lung Association in Washington) in casting a critical vote to protect your health, your children’s health, and everyone’s health.

Dr. Ken Lans is a retired General Practice Physician and a founder and current Board President of Washington Physicians for Social Responsibility (WPSR).

19:49

Inkscape 1.4 released [LWN.net]

Version 1.4 of the Inkscape open-source vector-graphics editor has been released. Highlights of this release include a filter gallery, import for Affinity Designer files, internal links in exported PDFs, and more. See the release notes for all of the new features. LWN previewed the 1.4 release in early October.

[$] WordPress retaliation impacts community [LWN.net]

It is too early to say what the outcome will be in the ongoing fight between Automattic and WP Engine, but the WordPress community at large is already the loser. Automattic founder and CEO Matt Mullenweg has been using his control of the project, and the WordPress.org infrastructure, to punish WP Engine and remove some dissenting contributors from discussion channels. Most recently, Mullenweg has instituted a hostile fork of a WP Engine plugin and the forked plugin is replacing the original via WordPress updates.

18:28

The Top 52 Events in Seattle This Week: Oct 14–20, 2024 [The Stranger]

Kehlani, Indigenous Peoples' Day Citywide Celebration, and More by EverOut Staff

It's just another manic Monday, but we're here to sort out your weekly plans with event suggestions from Kehlani's CRASH WORLD TOUR to Brittany Howard & Michael Kiwanuka and from an Indigenous Peoples’ Day Citywide Celebration to Text Me Back! An Election Preview & Live Podcast Taping, and much more.

MONDAY INDIGENOUS PEOPLES' DAY

2024 Indigenous Peoples’ Day Citywide Celebration
There are events scattered all across the city for Indigenous Peoples' Day. The day starts at 9:30 am at Pier 62 Waterfront Park, where folks are invited to bring their drums and their tribal flags and join the march along the waterfront to King Street Station, where there will be a rally and round dance for peace at 1:30 pm. Elsewhere around the city, you can see Khu.éex' (featuring A+P star and renowned glass artist Preston Singletary) perform at Westlake Park at 11 am and join the Daybreak Star Indian Cultural Center for dancing, dinner, and bingo at 5 pm. See all the day's details here. Unrelated: Remember that time in 2015 when Mayor Harrell, a city council member at the time, wanted to proclaim "Italian-American Heritage" Month on Indigenous Peoples' Day??? And now he's mayor! What a ride. MEGAN SELING
(Various locations)

18:21

Upcoming Speaking Engagements [Schneier on Security]

This is a current list of where and when I am scheduled to speak:

  • I’m speaking at SOSS Fusion 2024 in Atlanta, Georgia, USA. The event will be held on October 22 and 23, 2024, and my talk is  at 9:15 AM ET on October 22, 2024.

The list is maintained on this page.

17:42

Slog AM: Bombs on the Roads in Seattle, US Arms Israel, NRA Chief Tortured and then Killed a Cat [The Stranger]

The Stranger's morning news roundup. by Nathalie Graham

Two students dead in 24 hours at Western: Two Western Washington University students died last week in unconnected incidents. On Wednesday, an 18-year-old student died from a fall off a residence hall. The medical examiner ruled it a death by suicide. The second student, also 18, was found unresponsive in their residence hall Thursday morning from a suspected drug overdose. 

Did you drop your improvised explosive device? Maybe you last saw it in Burien? On Friday evening, a boom and blast rattled drivers at the intersection of South 116th Street and 1st Avenue South. Officers found what was left of an improvised explosive device they say was tossed onto the road. No one was injured, but authorities wonder whether the explosion is related to Saturday's I-90 bomb scare. 

That I-90 bomb threat: If you sat in snared I-90 traffic on Saturday it's because two idiots fled a police traffic stop and threw what police suspected were explosive devices out their window as they zoomed away. Authorities shut down traffic in both directions on I-90 in Mercer Island for over two hours so they could locate and detonate the explosives. 

EXPLOSIVE DEVICES SAFELY DETONATED

Bellevue PD saying the bomb squad safely disarmed 2 of the 3 devices found. The 3rd was described as an elongated firework.

Below is a picture of the explosive device. Police telling @fox13seattle the suspect attempted to light and throw it… pic.twitter.com/XWfJC9kzuO

— Dave Detling (@DetlingFOX13) October 13, 2024

Just take the bus: Parking fees are going up across the city. In central Ballard and Columbia City, expect to pay $6 per hour. It'll cost $6.50 per hour to park in Fremont or the Pike-Pine area of Capitol Hill. I can already feel the gripes from the car-clingers among you. You can find cheaper rates in places where not a lot of people are driving and parking. Or, you could pay $2.75 for a bus ride.

The weather: I hoped you spoiled brats enjoyed your balmy weekend. It'll be chilly, cloudy, and drizzly today. Let the real fall weather reign. 

Charity for homeless youth shuts down: The privately funded charity A Way Home Washington, which focuses on reducing youth homelessness, announced it will be closing its doors since philanthropic donations have run dry. In concert with similar government programs, A Way Home Washington contributed to a 40 percent reduction in youth and adult homelessness between 2016 and 2023, according to the Seattle Times. Despite success, the money has stopped flowing, so the charity must die. This is why we can't look to philanthropy to replace government programs. It's nice to get private money to fill in gaps and fund services ... until those funds turn fickle.

Israel keeps slaughtering Gazans: Over the weekend, Israel aimed strikes at Al Aqsa Martyrs Hospital, where people displaced from the war had been sheltering. The strike and the fires it lit that engulfed tents in the encampment killed four people and injured dozens more. Separate from that atrocity, Israel struck a school compound overnight where families were sheltering and where a polio vaccination site had been planned. Those attacks killed 20 people. This is genocide. 

pic.twitter.com/n5KEf1qSbT

— Drop Site (@DropSiteNews) October 14, 2024

Starvation as a weapon: According to the World Food Programme, no food has entered Gaza since October 1. Additionally, Israeli Prime Minister Benjamin Netanyahu wants to seal off all humanitarian aid into Gaza, trapping hundreds of thousands of people without food, water, or other basic necessities.

And, yet the US pledged even more arms and forces to Israel. The Pentagon announced Sunday it would send "an advanced missile defense system to Israel, along with about 100 American troops to operate it." The move comes as Israel plans a retaliatory attack against Iran, which launched a volley of 200 missiles at Israel on October 1. Additionally, over the weekend, a Hezbollah drone attack at an Israeli base killed four soldiers and injured 61. Israel already responded to that strike by killing civilians in Lebanon—a strike targeting an apartment building killed 18. So, the US will become even more complicit in this killing.

Protesters shut down Wall Street: 

BREAKING: A group of Jewish-led protesters in Lower Manhattan just stormed the New York Stock Exchange.

They’re calling for an end to Israel’s genocide in Gaza and to war profiteering by companies like Raytheon and Lockheed Martin pic.twitter.com/YcjBCJNxFX

— Noah Hurowitz (@NoahHurowitz) October 14, 2024

Right to bear arms and kill cats: The new chief of the National Rife Association, Douglas Hamlin, was charged with a misdemeanor for brutally torturing and murdering the cat at his fraternity house. Hamlin, who was president of Alpha Delta Phi at the University of Michigan, was charged alongside four of his frat bros in 1980 for the abuse of their cat, BK. I really don't want to recount the abuse here since it makes my stomach churn, but this is the guy helming the NRA, and his atrocities are worth knowing. When their frat's cat, BK, didn't use its litter box, Hamlin and company cut off its paws, strung it up, and then lit it on fire. Hamlin and the rest of the accused were expelled from the school, but their charges were expunged after completing community service. 

Another assassination attempt? A man with false press and VIP passes toting a loaded shotgun, handgun, and high-capacity magazine was intercepted at a checkpoint a half-mile from the entrance of Donald Trump's rally in Coachella Valley, California on Saturday. The local sheriff said he believed the man was gunning to gun down Trump, but that it was all speculation. The suspect claimed he was a Trump supporter and brought the guns for his own safety. 

Balloon fiesta fiasco: Albuquerque's annual hot air balloon festival had a few big kinks this year. One balloon caught on fire after it flew into power lines and then landed in a construction site. A different balloon knocked over a radio tower. Still another balloon hit a tree while trying to land on a golf course. A passenger in that balloon suffered a head injury and two other passengers had to be rescued since the balloon's basket remained stuck in the tree 25 feet above ground.

A song for your Monday: As a rehabilitated Southern Californian, I like to listen to this song whenever the rains start again in Seattle.

17:35

[$] Debian's "secret" sauce [LWN.net]

While Debian's "sauce" is not actually all that secret, it is not particularly well-known either, Samuel Henrique said at the start of his DebConf24 talk. There is a lot of software-engineering effort that has been put in place by the distribution in order to create and maintain its releases, but "loads of people are not aware" of it. That may be due to the fact that all of that is not really documented anywhere in a central location that he can just point someone to. Recognizing that is what led him to give the talk; hopefully it will be a "first step toward" helping solve the problem.

Pluralistic: Dirty words are politically potent (14 Oct 2024) [Pluralistic: Daily links from Cory Doctorow]


Today's links



A poop emoji standing on an infinitely receding tiled floor against a 'Code Waterfall' background as seen in the credits of the Wachowskis' 'Matrix' movie. It has a red, angular, steam-snorting speech bubble coming out of its mouth, full of 'grawlix' (nonsense punctuation meant to indicate swearing).

Dirty words are politically potent (permalink)

Making up words is a perfectly cromulent pastime, and while most of the words we coin disappear as soon as they fall from our lips, every now and again, you find a word that fits so nice and kentucky in the public discourse that it acquires a life of its own:

http://meaningofliff.free.fr/definition.php3?word=Kentucky

I've been trying to increase the salience of digital human rights in the public imagination for a quarter of a century, starting with the campaign to get people to appreciate that the internet matters, and that tech policy isn't just the delusion that the governance of spaces where sad nerds argue about Star Trek is somehow relevant to human thriving:

https://www.newyorker.com/magazine/2010/10/04/small-change-malcolm-gladwell

Now, eventually people figured out that a) the internet mattered and, b) it was going dreadfully wrong. So my job changed again, from "how the internet is governed matters" to "you can't fix the internet with wishful thinking," for example, when people said we could solve its problems by banning general purpose computers:

https://memex.craphound.com/2012/01/10/lockdown-the-coming-war-on-general-purpose-computing/

Or by banning working cryptography:

https://memex.craphound.com/2018/09/04/oh-for-fucks-sake-not-this-fucking-bullshit-again-cryptography-edition/

Or by redesigning web browsers to treat their owners as threats:

https://www.eff.org/deeplinks/2017/09/open-letter-w3c-director-ceo-team-and-membership

Or by using bots to filter every public utterance to ensure that they don't infringe copyright:

https://www.eff.org/deeplinks/2018/09/today-europe-lost-internet-now-we-fight-back

Or by forcing platforms to surveil and police their users' speech (aka "getting rid of Section 230"):

https://www.techdirt.com/2020/06/23/hello-youve-been-referred-here-because-youre-wrong-about-section-230-communications-decency-act/

Along the way, many of us have coined words in a bid to encapsulate the abstract, technical ideas at the core of these arguments. This isn't a vanity project! Creating a common vocabulary is a necessary precondition for having the substantive, vital debates we'll need to tackle the real, thorny issues raised by digital systems. So there's "free software," "open source," "filternet," "chat control," "back doors," and my own contributions, like "adversarial interoperability":

https://www.eff.org/deeplinks/2019/10/adversarial-interoperability

Or "Competitive Compatibility" ("comcom"), a less-intimidatingly technical term for the same thing:

https://www.eff.org/deeplinks/2020/12/competitive-compatibility-year-review

These have all found their own niches, but nearly all of them are just that: niche. Some don't even rise to "niche": they're shibboleths, insider terms that confuse and intimidate normies and distract from the real fights with semantic ones, like whether it's "FOSS" or "FLOSS" or something else entirely:

https://opensource.stackexchange.com/questions/262/what-is-the-difference-between-foss-and-floss

But every now and again, you get a word that just kills. That brings me to "enshittification," a word I coined in 2022:

https://pluralistic.net/2022/11/28/enshittification/#relentless-payola

"Enshittification" took root in my hindbrain, rolling around and around, agglomerating lots of different thoughts and critiques I'd been making for years, crystallizing them into a coherent thesis:

https://pluralistic.net/2023/01/21/potemkin-ai/#hey-guys

This kind of spontaneous crystallization is the dividend of doing lots of work in public, trying to take every half-formed thought and pin it down in public writing, something I've been doing for decades:

https://pluralistic.net/2021/05/09/the-memex-method/

After those first couple articles, "enshittification" raced around the internet. There's two reasons for this: first, "enshittification" is a naughty word that's fun to say. Journalists love getting to put "shit" in their copy:

https://www.nytimes.com/2024/01/15/crosswords/linguistics-word-of-the-year.html

Radio journalists love to tweak the FCC with cheekily bleeped syllables in slightly dirty compound words:

https://www.wnycstudios.org/podcasts/otm/projects/enshitification

And nothing enlivens an academic's day like getting to use a word like "enshittification" in a journal article (doubtless this also amuses the editors, peer reviewers, copyeditors, typesetters, etc):

https://scholar.google.com/scholar?hl=en&amp;as_sdt=0%2C5&amp;q=enshittification&amp;btnG=&amp;oq=ensh

That was where I started, too! The first time I used "enshittification" was in a throwaway bad-tempered rant about the decay of Tripadvisor into utter uselessness, which drew a small chorus of appreciative chuckles about the word:

https://twitter.com/doctorow/status/1550457808222552065

The word rattled around my mind for five months before attaching itself to my detailed theory of platform decay. But it was that detailed critique, coupled with a minor license to swear, that gave "enshittification" a life of its own. How do I know that the theory was as important as the swearing? Because the small wave of amusement that followed my first use of "enshittification" petered out in less than a day. It was only when I added the theory that the word took hold.

Likewise: how do I know that the theory needed to be blended with swearing to break out of the esoteric realm of tech policy debates (which the public had roundly ignored for more than two decades)? Well, because I spent two decades writing about this stuff without making anything like the dents that appeared once I added an Anglo-Saxon monosyllable to that critique.

Adding "enshittification" to the critique got me more column inches, a longer hearing, a more vibrant debate, than anything else I'd tried. First, Wired availed itself of the Creative Commons license on my second long-form article on the subject and reprinted it as a 4,200-word feature. I've been writing for Wired for more than thirty years and this is by far the longest thing I've published with them – a big, roomy, discursive piece that was run verbatim, with every one of my cherished darlings unmurdered.

That gave the word – and the whole critique, with all its spiky corners – a global airing, leading to more pickup and discussion. Eventually, the American Dialect Society named it their "Word of the Year" (and their "Tech Word of the Year"):

https://americandialect.org/2023-word-of-the-year-is-enshittification/

"Enshittification" turns out to be catnip for language nerds:

https://becauselanguage.com/90-enpoopification/#transcript-60

I've been dragged into (good natured) fights over the German, Spanish, French and Italian translations for the term. When I taped an NPR show before a live audience with ASL interpretation, I got to watch a Deaf fan politely inform the interpreter that she didn't need to finger-spell "enshittification," because it had already been given an ASL sign by the US Deaf community:

https://maximumfun.org/episodes/go-fact-yourself/ep-158-aida-rodriguez-cory-doctorow/

I gave a speech about enshittification in Berlin and published the transcript:

https://pluralistic.net/2024/01/30/go-nuts-meine-kerle/#ich-bin-ein-bratapfel

Which prompted the rock-ribbed Financial Times to get in touch with me and publish the speech – again, nearly verbatim – as a whopping 6,400 word feature in their weekend magazine:

https://www.ft.com/content/6fb1602d-a08b-4a8c-bac0-047b7d64aba5

Though they could have had it for free (just as Wired had), they insisted on paying me (very well, as it happens!), as did De Zeit:

https://www.zeit.de/digital/internet/2024-03/plattformen-facebook-google-internet-cory-doctorow

This was the start of the rise of enshittification. The word is spreading farther than ever, in ways that I have nothing to do with, along with the critique I hung on it. In other words, the bit of string that tech policy wonks have been pushing on for a quarter of a century is actually starting to move, and it's actually accelerating.

Despite this (or more likely because of it), there's a growing chorus of "concerned" people who say they like the critique but fret that it is being held back because you can't use it "at church or when talking to K-12 students" (my favorite variant: "I couldn't say this at a NATO conference"). I leave it up to you whether you use the word with your K-12 students, NATO generals, or fellow parishoners (though I assure you that all three groups are conversant with the dirty little word at the root of my coinage). If you don't want to use "enshittification," you can coin your own word – or just use one of the dozens of words that failed to gain public attention over the past 25 years (might I suggest "platform decay?").

What's so funny about all this pearl-clutching is that it comes from people who universally profess to have the intestinal fortitude to hear the word "enshittification" without experiencing psychological trauma, but worry that other people might not be so strong-minded. They continue to say this even as the most conservative officials in the most staid of exalted forums use the word without a hint of embarrassment, much less apology:

https://www.independent.ie/business/technology/chairman-of-irish-social-media-regulator-says-europe-should-not-be-seduced-by-mario-draghis-claims/a526530600.html

I mean, I'm giving a speech on enshittification next month at a conference where I'm opening for the Secretary General of the United Nations:

https://icanewdelhi2024.coop/welcome/pages/Programme

After spending half my life trying to get stuff like this into the discourse, I've developed some hard-won, informed views on how ideas succeed:

First: the minor obscenity is a feature, not a bug. The marriage of something long and serious to something short and funny is a happy one that makes both the word and the ideas better off than they'd be on their own. As Lenny Bruce wrote in his canonical work in the subject, the aptly named How to Talk Dirty and Influence People:

I want to help you if you have a dirty-word problem. There are none, and I'll spell it out logically to you.

Here is a toilet. Specifically-that's all we're concerned with, specifics-if I can tell you a dirty toilet joke, we must have a dirty toilet. That's what we're all talking about, a toilet. If we take this toilet and boil it and it's clean, I can never tell you specifically a dirty toilet joke about this toilet. I can tell you a dirty toilet joke in the Milner Hotel, or something like that, but this toilet is a clean toilet now. Obscenity is a human manifestation. This toilet has no central nervous system, no level of consciousness. It is not aware; it is a dumb toilet; it cannot be obscene; it's impossible. If it could be obscene, it could be cranky, it could be a Communist toilet, a traitorous toilet. It can do none of these things. This is a dirty toilet here.

Nobody can offend you by telling a dirty toilet story. They can offend you because it's trite; you've heard it many, many times.

https://www.dacapopress.com/titles/lenny-bruce/how-to-talk-dirty-and-influence-people/9780306825309/

Second: the fact that a neologism is sometimes decoupled from its theoretical underpinnings and is used colloquially is a feature, not a bug. Many people apply the term "enshittification" very loosely indeed, to mean "something that is bad," without bothering to learn – or apply – the theoretical framework. This is good. This is what it means for a term to enter the lexicon: it takes on a life of its own. If 10,000,000 people use "enshittification" loosely and inspire 10% of their number to look up the longer, more theoretical work I've done on it, that is one million normies who have been sucked into a discourse that used to live exclusively in the world of the most wonkish and obscure practitioners. The only way to maintain a precise, theoretically grounded use of a term is to confine its usage to a small group of largely irrelevant insiders. Policing the use of "enshittification" is worse than a self-limiting move – it would be a self-inflicted wound. As I said in that Berlin speech:

Enshittification names the problem and proposes a solution. It's not just a way to say 'things are getting worse' (though of course, it's fine with me if you want to use it that way. It's an English word. We don't have der Rat für englische Rechtschreibung. English is a free for all. Go nuts, meine Kerle).

Finally: "coinage" is both more – and less – than thinking of the word. After the American Dialect Society gave honors to "enshittification," a few people slid into my mentions with citations to "enshittification" that preceded my usage. I find this completely unsurprising, because English is such a slippery and playful tongue, because English speakers love to swear, and because infixing is such a fun way to swear (e.g. "unfuckingbelievable"). But of course, I hadn't encountered any of those other usages before I came up with the word independently, nor had any of those other usages spread appreciably beyond the speaker (it appears that each of the handful of predecessors to my usage represents an act of independent coinage).

If "coinage" was just a matter of thinking up the word, you could write a small python script that infixed the word "shit" into every syllable of every word in the OED, publish the resulting text file, and declare priority over all subsequent inventive swearers.

On the one hand, coinage takes place when the coiner a) independently invents a word; and b) creates the context for that word that causes it to escape from the coiner's immediate milieu and into the wider world.

But on the other hand – and far more importantly – the fact that a successful coinage requires popular uptake by people unknown to the coiner means that the coiner only ever plays a small role in the coinage. Yes, there would be no popularization without the coinage – but there would also be no coinage without the popularization. Words belong to groups of speakers, not individuals. Language is a cultural phenomenon, not an individual one.

Which is rather the point, isn't it? After a quarter of a century of being part of a community that fought tirelessly to get a serious and widespread consideration of tech policy underway, we're closer than ever, thanks, in part, to "enshittification." If someone else independently used that word before me, if some people use the word loosely, if the word makes some people uncomfortable, that's fine, provided that the word is doing what I want it to do, what I've devoted my life to doing.

The point of coining words isn't the pilkunnussija's obsession with precise usage, nor the petty glory of being known as a coiner, nor ensuring that NATO generals' virgin ears are protected from the word "shit" – a word that, incidentally, is also the root of "science":

https://www.arrantpedantry.com/2019/01/24/science-and-shit/

Isn't language fun?


Hey look at this (permalink)



A Wayback Machine banner.

This day in history (permalink)

#15yrsago Finland makes broadband a right https://www.cnet.com/tech/services-and-software/finland-makes-1mb-broadband-access-a-legal-right/

#10yrsago Dead Set: Richard Kadrey’s young adult horror novel https://memex.craphound.com/2014/10/14/dead-set-richard-kadreys-young-adult-horror-novel/

#10yrsago Gamergate as a hate-group https://memex.craphound.com/2014/10/14/gamergate-as-a-hate-group/

#10yrsago Lamar “SOPA” Smith dispatches GOP commissars to National Science Foundation https://gizmodo.com/the-gop-intensifies-its-attacks-on-the-national-science-1645733575

#10yrsago Paolo Bacigalupi’s “The Doubt Factory” https://memex.craphound.com/2014/10/14/paolo-bacigalupis-the-doubt-factory/

#5yrsago What it would cost to build Trump’s snake-and-alligator border moat https://www.defenseone.com/ideas/2019/10/snake-and-alligator-border-moat-budget-analysis/160350/

#5yrsago German bank robber staged a 5-day fillibuster with his legally guaranteed right to a post-sentencing “final word” https://www.cnn.com/2019/10/09/europe/bank-robbery-five-day-speech-intl-scli-grm/index.html

#5yrsago Apple told TV Plus showrunners to avoid plots that might upset Chinese officials https://www.buzzfeednews.com/article/alexkantrowitz/apple-china-tv-protesters-hong-kong-tim-cook

#5yrsago China’s new cybersecurity rules ban foreign companies from using VPNs to phone home https://memex.craphound.com/2019/10/14/chinas-new-cybersecurity-rules-ban-foreign-companies-from-using-vpns-to-phone-home/

#5yrsag Orban humiliated: Hungary’s crypto-fascist Fidesz party suffers string of municipal election defeats https://www.theguardian.com/world/2019/oct/13/opposition-parties-candidate-wins-budapest-mayoral-race

#5yrsago Proof-of-concept supply-chain poisoning: tiny, undetectable hardware alterations could compromise corporate IT https://memex.craphound.com/2019/10/14/proof-of-concept-supply-chain-poisoning-tiny-undetectable-hardware-alterations-could-compromise-corporate-it/

#1yrago Leaving Twitter had no effect on NPR's traffic https://pluralistic.net/2023/10/14/freedom-of-reach/#ex


Upcoming appearances (permalink)

A photo of me onstage, giving a speech, holding a mic.



A screenshot of me at my desk, doing a livecast.

Recent appearances (permalink)



A grid of my books with Will Stahle covers..

Latest books (permalink)



A cardboard book box with the Macmillan logo.

Upcoming books (permalink)

  • Picks and Shovels: a sequel to "Red Team Blues," about the heroic era of the PC, Tor Books, February 2025
  • Unauthorized Bread: a middle-grades graphic novel adapted from my novella about refugees, toasters and DRM, FirstSecond, 2025



Colophon (permalink)

Today's top sources:

Currently writing:

  • Enshittification: a nonfiction book about platform decay for Farrar, Straus, Giroux. Friday's progress: 768 words (63193 words total).
  • A Little Brother short story about DIY insulin PLANNING

  • Picks and Shovels, a Martin Hench noir thriller about the heroic era of the PC. FORTHCOMING TOR BOOKS FEB 2025

Latest podcast: Spill, part one (a Little Brother story) https://craphound.com/littlebrother/2024/10/06/spill-part-one-a-little-brother-story/


This work – excluding any serialized fiction – is licensed under a Creative Commons Attribution 4.0 license. That means you can use it any way you like, including commercially, provided that you attribute it to me, Cory Doctorow, and include a link to pluralistic.net.

https://creativecommons.org/licenses/by/4.0/

Quotations and images are not included in this license; they are included either under a limitation or exception to copyright, or on the basis of a separate license. Please exercise caution.


How to get Pluralistic:

Blog (no ads, tracking, or data-collection):

Pluralistic.net

Newsletter (no ads, tracking, or data-collection):

https://pluralistic.net/plura-list

Mastodon (no ads, tracking, or data-collection):

https://mamot.fr/@pluralistic

Medium (no ads, paywalled):

https://doctorow.medium.com/

Twitter (mass-scale, unrestricted, third-party surveillance and advertising):

https://twitter.com/doctorow

Tumblr (mass-scale, unrestricted, third-party surveillance and advertising):

https://mostlysignssomeportents.tumblr.com/tagged/pluralistic

"When life gives you SARS, you make sarsaparilla" -Joey "Accordion Guy" DeVilla

17:14

Link [Scripting News]

Highly recommend today's Olbermann podcast. I've seen video of a recent press interview where Trump said he's use the military to arrest and in some cases kill Americans, starting with but not limited to Hispanics. This is not being reported in the major news orgs. We can't wait for them to fix it, we have to create new channels for news flow that have credibility and work, and we need it before the election. People need at least have a chance of understanding what they are voting for.

16:56

On naming things: The tension between naming something for what it is, what it does, or how it is used [The Old New Thing]

There is a tension in the problem of naming things: Do you name something for what it is? Do you name it for what it does? Or do you name it for how it is used?

Previously, we saw std::type_identity, which is named after what it is. One reaction was that the class should have been named something like std::non_deduced, which names it after how it is used: To prevent template type deduction.

template<typename...Args>
void enqueue(
    std::function<void(std::non_deduced_t<Args>...)> const& work,
    Args...args)
{
    enqueue([=] { work(args...); });
}

We have the opposite problem with std::in_place: The in_place types are named after how they are used, rather than what they are. They are tags that are used by some constructors of variant-like types to indicate what they should hold.

  • in_place: Hold the primary thing (as opposed to nothing, or the alternate thing)
  • in_place_type<T>: Hold the thing of type T
  • in_place_index<I>: Hold the thing at index I

But when we used it as a tag type in our example, it was used not to indicate what the class itself should hold, but rather what the class should hold a reference to. Perhaps it could be named after what it is: std::type_tag<T> and std::index_tag<I>.

Though what about std::in_place? Maybe we leave that one alone?

And then we have std::monostate, which is named after what it is, rather than how it is used. In other languages, this type goes by the name unit, which to me feels like a name chosen with category-theory-colored glasses. (Also, the name unit could be misinterpreted as having to do with systems of measurement.)

Bonus chatter: Note that none of the examples are named after what they do, because none of them do anything!

The post On naming things: The tension between naming something for what it is, what it does, or how it is used appeared first on The Old New Thing.

16:42

Celebrating Maialata With Plates & Pages [Whatever]

Maialata was a term I’d never heard before until I saw that Five on Vine and Household Books was having another Plates & Pages event, and that was the theme. Based on my fantastic experience last year with this event, I knew immediately I had to get myself a ticket.

If you didn’t catch my post over Plates & Pages last year, it’s an amazing event consisting of a five course dinner, hosted at a restaurant in Cincinnati called Five on Vine, that comes with wine pairings and literary pairings provided by Household Books, a bookstore also located in Cincinnati (which I also did a post over!). Last year, the wines were all from different places and different estates, but this year Five on Vine partnered with Two Mountain Winery out in Yakima, Washington, and they provided all the wines for this event’s pairings. The winery is also doubly certified sustainable through RULES for Sustainable Wine Growing and Sustainable WA.

If you’re like me and had never heard of Maialata before, it’s an Italian celebration of pig. Every dish you are about to see could not have been possible without the noble pig.

But before we get to the courses themselves, let me start by pointing out that last time I noted how friendly and welcoming the staff were, and that was even more true this time. I had not been back to Five on Vine since the event last year, so this was only my second time there. Despite that, the first person that greeted me said she remembered me from last time, and complimented my dress. Throughout the night she even checked in with me several times and made me feel so valued.

The night started off the same as last year, with a welcome glass of champagne and a perusal of the pop-up bookshop set up in the bar area. There were cookbooks, art books, rare books, books over Italy, a nice variety to be certain. I ended up picking up a paperback copy of Under the Tuscan Sun, which I was assured was a good read, and there’s even a movie adaptation! I thought it was a very fitting choice, given the theme of the evening.

As was the case last year, though I had come alone I was not dining alone, as they sat me at a table with several other guests, one of whom I sat next to last year. It was nice to see a familiar face, and I was equally excited to make new friends this time around.

While we were sipping on our champagne, the kitchen gifted us with an amuse-bouche of toasted focaccia with coppa that was served with truffle honey and olive oil.

A large circular white plate with a long piece of toasted focaccia sitting on it. The end of the focaccia is wrapped in coppa and drizzled with olive oil and honey.

This was the most crispity, crunchity, scrumptious piece of focaccia that has ever graced my tastebuds. The honey was rich, sticky gold atop the salt and Calabrian chili-cured coppa. If you were intimidated by the words “honey” and “truffle” being put together, let me ease your worries by telling you how pleasantly mild the truffle taste was. It lent its distinct flavor to provide a riveting complexity to this simple yet effective dish, without overwhelming it.

And here was the line-up for the rest of the evening:

The pre-fixe menu for tonight's courses. It lists each dish, their contents, and their respective wine pairings.

Starting the first course, we were served Two Mountain Sauvignon Blanc 2023 alongside Napoleon de Porc, a dish consisting of three components of pork: a liver mousse, a country pate, and a truffle sausage, served with macerated stone fruit and micro dijon.

A large white circular plate with a slab of Neapolitan looking pork products, the three layers of pork distinct in both texture and color. A small mound of the macerated stone fruit accompanies it.

This Neapolitan of pork was a wild ride of texture, with the mousse being a velvety-creaminess that melted in your mouth, the pate being lusciously fatty, and the sausage providing a bit more of a solid bite. There was no way you could consider this dish monotonous. In terms of flavor, it was certainly a meat-lover’s dream. Rich with porky goodness and flavored nicely with herbs, the fruit helped cut through this dense, luxuriant first course.

Which made the wine pairing a perfect contrast, as it was a crisp white that was light and extremely sippable. Matthew, the winemaker, and one of the owners of Two Mountain Winery, told us all the details behind the making of this wine, such as its high elevation, thin soil, temperature swings from day to night, and no humidity. I was told it has notes of kiwi, pineapple, sort of a tropical fruit vibe, with a slight grassy taste. Usually when I’m told that wine tastes like something, I don’t find it to be true, but in this case I did actually get those flavors! I got what Matthew was saying, and that was surprising because usually wine just tastes like, well, wine. I would’ve been happy to have another glass of this one.

As for the quote that accompanied this course, it is one from Dave Eggers’s memoir, A Heartbreaking Work of Staggering Genius:

“Because secrets do not increase in value if kept in a gore-ian lockbox, because one’s past is either made useful or else mutates and becomes cancerous. We share things for the obvious reasons: it makes us feel un-alone, it spreads the weight over a larger area, it holds the possibility of making our share lighter. And it can work either way – not simply as a pain-relief device, but, in the case of not bad news but good, as a share-the-happy-things-I’ve-seen/lessons-I’ve-learned vehicle. Or as a tool for simple connectivity for its own sake, a testing of waters, a stab at engagement with a mass of strangers.”

Personally, I really loved this quote because I think it speaks to one of the biggest things that makes humans human, and that’s a need, or maybe even a love, to share. Share experiences, share thoughts, memories, ideas, works of art, sharing is just essential to connecting with others. I especially loved that I was in fact, surrounded by strangers, and we were all sharing in this meal, in this experience. Truly a beautifully chosen quote.

Course two was Pork Sugo. Apparently sugo just means sauce in Italian, so basically pork sauce over fileja pasta, served with Two Mountain Lemberger 2021.

A large white circular dish with a brown rim. Inside the bowl sits a mound of pasta topped with ground meat, red sauce, and grated parmesan.

(photo courtesy of Five on Vine)

We were told the pasta was made fresh in house that same day. The sauce consisted of the pork in a sofrito, which is like an Italian mirepoix: garlic, celery, carrots, onions, tomatoes, all that good stuff. There was also cinnamon and a smidge of cocoa in this dish which ended up being very present flavor-wise and added some great warmth overall. The pasta was soft without being mushy, and the veggies in the sauce were perfectly cooked down. I really liked the unique shape of the pasta, you could tell it was hand-rolled with love.

As for the Lemberger, I’d actually never heard of this type of wine before, but it was described as a poor man’s Pinot Noir. And if you know me, you know I don’t tend to enjoy dry reds. Though not exactly loving this wine, I did appreciate the thought and intention behind the pairing of it with this pasta, as a dry red alongside a bowl of fresh-made pasta seemed extra wonderfully Italian.

Speaking of being transported to Italy, the second quote of the night comes from The Godfather:

“Yet, he thought, if I can die saying, ‘Life is so beautiful,’ then nothing else is important. If I can believe in myself that much, nothing else matters.”

Do we not all possess a hope that when our time comes, we’ll be able to look back at our lives and see something truly beautiful? I know I have that hope.

The third course of the evening was pork shoulder, spoon cornbread, a late-harvest succotash, topped with an opal basil salsa verde. This was served with Two Mountain Cabernet Franc Reserve.

A white oval plate with a big slab of pork shoulder in the middle, which is sitting on top of a mound of spoon cornbread and succotash.

(photo courtesy of Five on Vine)

People often joke that when you go to fancy dinners like this, that you still leave hungry. This portion of pork shoulder was no joke. It was a hefty chunk of meat, but it was so tender you didn’t need a knife. Spoon cornbread is one of my favorite side dishes, and this one was soft and moist, a perfect carb to accompany the late-summer veggies in the succotash. The basil salsa verde was much like a chimichurri, adding a bright freshness to the succulent pork and a wonderful pop of color to the dish overall. As delicious as this dish was, I knew that if I finished this course I wouldn’t have any room left for the following two courses, so I sadly had to leave some behind.

For the cabernet that accompanied this dish, I’ve actually never heard of a Cabernet Franc before. When I think cab, I just think cab, so I was surprised to learn there are different varieties of it. Then again, it makes sense I didn’t really realize there were different ones considering I try to avoid cabs. Anyways, I ended up not finishing this wine, and poured most of it into the dump bucket. But I did give it a couple sips just to be fair! And boy oh boy was it definitely a dry red. Funnily enough, though, I kind of enjoy when a dry red is served as the pairing, because I like hearing how much everyone else at the table loves it. I sort of am the odd one out when it comes to big, bold, beautiful reds, and I am happy that others enjoy it.

The quote that accompanied this dish was one that I’ve actually heard several times before, and it’s from Mary Oliver’s Wild Geese:

“You only have to let the soft animal of your body love what it loves.”

This quote is so wholesome to me. Permission to simply love what you love, and feel no shame in it. To unabashedly embrace what makes you happy and what makes you feel good. It’s nice. I like it.

The final savory course of the evening was this porchetta with bordelaise and a bitter greens salad, paired with one of Two Mountain’s special Brothers Reserve Blend #9 2019.

A large circular white plate. Atop the plate sits a large round slab of porchetta, surrounded by a pool of brown gravy and topped with leafy greens.

Throughout the entire meal, everyone at the table would take a bite of each new dish, and immediately convene about how incredible it was. This course was even more noteworthy, with nearly everyone saying that this was their favorite course so far, and that it was unbelievably good. If you’re someone who prefers chewy bacon over crispy, this is the dish for you. This slab of porchetta was the epitome of decadence, an absolute pinnacle of overindulgent luxuriousness. The fat practically melted like butter in your mouth, contrasted beautifully by the crisp, bitter greens.

All this being said, this was actually my least favorite dish of the night. Which is not the same thing as saying I didn’t like it, because obviously I did. In fact, I thought it was absolutely delicious, but it just didn’t do it for me the same way the other courses did, and I didn’t finish it because I was so stuffed.

So what makes this particular wine “special” compared to the others? This red blend is from The Brothers Reserve Collection, which is from the early days when Two Mountain consisted of only the two brothers who currently own and operate it, Matt and Patrick Rawn. It’s a limited production line. This particular blend is 79% Merlot, 11% Cabernet Sauvignon, and 10% Cabernet Franc. It was just as rich and bold as the dish it accompanied. It was another one that I did not finish, but I still appreciate the vision.

Our fourth quote is the shortest of all, and yet might just be my favorite. It is from Station Eleven by Emily St. John Mandel:

“Survival is insufficient.”

Yes, it certainly is, isn’t it. Damn well said. I feel that I am always saying this, but usually in a much less concise and efficient way. A lot of the things I do are very unnecessary. Like going to artist’s markets and buying candles and crocheted plushies, sending letters to my friends and adorning them with stickers and washi tapes, baking tiramisu brownies, trying to perfect the art of making charcuterie boards, seeing movies in the theater, or attending five course wine dinners. These types of things are not conducive to survival, and yet they are entirely necessary for living. They are what helps to make my life a life and not just an existence. And while I could cut it all out and live as basically as possible, it simply wouldn’t be sufficient.

For our sweet finish, we had an apple pie, served with Two Mountain Riesling 2023.

A circular white plate with a square piece of apple pie. The pie has a scoop of ice cream on top.

(photo courtesy of Five on Vine)

I like pie. A lot. So when I say this was the best apple pie I’ve ever had in my life, you can trust that that is high praise. You’re probably thinking, how does this pie fit in with the whole pork thing going on? Well, the crust is made from lard! For all you lard haters out there, you are seriously missing out, lard totally rocks. This pie was topped with a goat’s milk gelato and a lovely streusel topping. I felt that I had been transported to a sweet Italian grandmother’s kitchen. I was slightly speechless upon taking the first bite of this, as I knew in that moment that it was the single best bite of the evening, and the perfect thing to end such an amazing meal.

I was happy to finish on a white, as I had had my fill of reds at this point. This Riesling was an excellent choice to balance out the sweet, buttery (or I guess lardy?) goodness of the apple pie. It was crisp, had a sort of tart green grape flavor, and was nicely acidic.

Our final quote of the evening is from The English Patient by Michael Ondaatje:

“We die containing a richness of lovers and tribes, tastes we have swallowed, bodies we have plunged into and swum up as if rivers of wisdom, characters we have climbed into as if trees, fears we have hidden in as if caves.”

All that we are is everything we have done and everyone that we have connected with throughout our life. I am grateful that I can add the experience I had at this event, and all the people I connected with, to my ever growing list of things I contain.

After everything was said and done, I left happy, full, enriched, and with a new book. It was a great night.

I also left with some questions in mind, and I had the opportunity to talk to Five on Vine’s social media manager, Livia, who was kind enough to answer some of these questions for me.

I was curious about how Plates & Pages started in the first place, like who had thought to combine books and a wine dinner? It’s certainly something I’ve never seen done before, so how did it come to be? Livia informed me that the owner of Household Books, Bobby, used to be a server at Five on Vine’s sister restaurant, Losanti. He’s the one who originally had the vision for this event even before he opened his bookstore.

I was also wondering if we could expect this type of event at any of the sister restaurants, like Losanti, in the future. The answer is that Five on Vine sort of has the best space for accommodating this type of event, the interior just works really well for it, so it will probably be the only space they have this event in.

Last year when I attended Plates & Pages, it didn’t have a theme, so I was surprised to see that this one’s theme was Maialata, and was curious why Maialata was chosen, and if there would be more themes moving forward. Livia’s response was very detailed and informative, so I won’t paraphrase her response:

“This dinner was partnered with Young Buck, the newest addition to Crown Restaurant Group, our Deli concept. Young Buck is also a CRG commissary kitchen. It is where all our whole-animal butchery happens for all five sister restaurants, and in the evening, where all our fresh handmade pasta is made. Chef Brain Young and his partner, Cailtin Young are behind the Young Buck concept. We wanted to highlight Chef’s Brian craft of whole animal butchering, and sustainability.

“That led to the theme Maialata. The Italian celebration of the pig. Chef Brian Young wanted to showcase that tradition with the changing of the seasons, Fall to winter. That is also why Young Buck hosted the separate whole animal butchering demo event. It showcased Chef Brian breaking down the pig at Young Buck that would end up being used for the Plates & Pages dinner. Cincinnati is also known as the Swine City, so we thought the theme was fitting.

“Moving forward, the theme happened organically with everyone involved, from the chefs to the winemakers, so we can’t preplan. We create the events playing off everyone’s creativity together to come up with the concept so we do not have the next one laid out yet.”

In a similar vein, I had been wondering why Five on Vine decided to partner specifically with Two Mountain Winery for all the wines of the evening. It turns out, sort of following the theme of Maialata, they wanted to emphasize sustainability, and Two Mountain Winery was the perfect choice to highlight sustainability.

It’s so cool to see just how much thought goes into everything, and really see just how many moving parts and how many people are involved in these kinds of events.

What dish looks the best to you? Are you a fan of dry reds? Have you read any of the books the quotes are from? Let me know in the comments, and be sure to follow Five on Vine, Household Books, and Two Mountain Winery on Instagram, and have a great day!

-AMS

15:21

Security updates for Monday [LWN.net]

Security updates have been issued by Debian (docker.io, libreoffice, node-dompurify, python-reportlab, and thunderbird), Fedora (buildah, chromium, kernel, kernel-headers, libgsf, mosquitto, p7zip, podman, python-cramjam, python-virtualenv, redis, rust-async-compression, rust-brotli, rust-brotli-decompressor, rust-libcramjam, rust-libcramjam0.2, rust-nu-command, rust-nu-protocol, rust-redlib, rust-tower-http, thunderbird, and webkit2gtk4.0), Oracle (.NET 6.0, .NET 8.0, e2fsprogs, firefox, golang, openssl, python3-setuptools, systemd, and thunderbird), SUSE (chromium, firefox, java-jwt, libmozjs-128-0, libwireshark18, ntpd-rs, OpenIPMI, thunderbird, and wireshark), and Ubuntu (firefox, python2.7, python3.5, thunderbird, and ubuntu-advantage-desktop-daemon).

14:21

Representative Line: Ripping Away the Mask [The Daily WTF]

Jason was investigating a bug in a bitmask. It should have been set to 0b11, but someone had set it to just plain decimal 11. The line responsible looked like this:

byte number = (byte) 11;

This code takes the decimal number 11, casts it to a byte, and stores it in a byte, leaving us with the decimal number 11.

Curious, Jason checked the blame and saw that one of their senior-most devs was responsible. Figuring this was a good opportunity to poke a little fun at the dev for a silly mistake like this, Jason sent them a message about the difficulties of telling apart decimal values and binary values when the decimal value only contained ones and zeroes.

"What are you talking about?" the dev replied back. "The (byte) operator tells the compiler that the number is in binary."

Concerned by that reply, Jason started checking the rest of the code. And sure enough, many places in the code, the senior dev had followed this convention. Many of them were wrong, and just hadn't turned into a bug yet. One of two were coincidentally setting the important bits anyway.

Now, in a vague "defense" of what the senior dev was trying to do, C doesn't have a standard way of specifying binary literals. GCC and Clang both have a non-standard extension which lets you do 0b11, but that's not standard. So I understand the instinct- "there should be an easy way to do this," even if anyone with more than a week's experience *should have known better*.

But the real moral of the story is: don't use bitmasks without also using constants. It never should have been written with literals, it should have been written as byte number = FLAG_A | FLAG_B. The #define for the flags could be integer constants, or if you're feeling spicy about it, bitshift operations: #define FLAG_A = (1 << 1). Then you don't need binary literals, and also your code is actually readable for humans.

It was difficult to track down all the places where this misguided convention for binary literals was followed, as it was hard to tell the difference between that and a legitimate cast to byte. Fortunately, there weren't that many places where bitmasks were getting set.

[Advertisement] Utilize BuildMaster to release your software with confidence, at the pace your business demands. Download today!

12:21

Perfectl Malware [Schneier on Security]

Perfectl in an impressive piece of malware:

The malware has been circulating since at least 2021. It gets installed by exploiting more than 20,000 common misconfigurations, a capability that may make millions of machines connected to the Internet potential targets, researchers from Aqua Security said. It can also exploit CVE-2023-33246, a vulnerability with a severity rating of 10 out of 10 that was patched last year in Apache RocketMQ, a messaging and streaming platform that’s found on many Linux machines.

The researchers are calling the malware Perfctl, the name of a malicious component that surreptitiously mines cryptocurrency. The unknown developers of the malware gave the process a name that combines the perf Linux monitoring tool and ctl, an abbreviation commonly used with command line tools. A signature characteristic of Perfctl is its use of process and file names that are identical or similar to those commonly found in Linux environments. The naming convention is one of the many ways the malware attempts to escape notice of infected users.

Perfctl further cloaks itself using a host of other tricks. One is that it installs many of its components as rootkits, a special class of malware that hides its presence from the operating system and administrative tools. Other stealth mechanisms include:

  • Stopping activities that are easy to detect when a new user logs in
  • Using a Unix socket over TOR for external communications
  • Deleting its installation binary after execution and running as a background service thereafter
  • Manipulating the Linux process pcap_loop through a technique known as hooking to prevent admin tools from recording the malicious traffic
  • Suppressing mesg errors to avoid any visible warnings during execution.

The malware is designed to ensure persistence, meaning the ability to remain on the infected machine after reboots or attempts to delete core components. Two such techniques are (1) modifying the ~/.profile script, which sets up the environment during user login so the malware loads ahead of legitimate workloads expected to run on the server and (2) copying itself from memory to multiple disk locations. The hooking of pcap_loop can also provide persistence by allowing malicious activities to continue even after primary payloads are detected and removed.

Besides using the machine resources to mine cryptocurrency, Perfctl also turns the machine into a profit-making proxy that paying customers use to relay their Internet traffic. Aqua Security researchers have also observed the malware serving as a backdoor to install other families of malware.

Something this complex and impressive implies that a government is behind this. North Korea is the government we know that hacks cryptocurrency in order to fund its operations. But this feels too complex for that. I have no idea how to attribute this.

12:14

Philipp Kern: Touch Notifications for YubiKeys [Planet Debian]

When setting up your YubiKey you have the option to require the user to touch the device to authorize an operation (be it signing, decrypting, or authenticating). While web browsers often provide clear prompts for this, other applications like SSH or GPG will not. Instead the operation will just hang without any visual indication that user input is required. The YubiKey itself will blink, but depending on where it is plugged in that is not very visible.

yubikey-touch-detector (fresh in unstable) solves this issue by providing a way for your desktop environment to signal the user that the device is waiting for a touch. It provides an event feed on a socket that other components can consume. It comes with libnotify support and there are some custom integrations for other environments.

For GNOME and KDE libnotify support should be sufficient, however you still need to turn it on:

$ mkdir -p ~/.config/yubikey-touch-detector
$ sed -e 's/^YUBIKEY_TOUCH_DETECTOR_LIBNOTIFY=.*/YUBIKEY_TOUCH_DETECTOR_LIBNOTIFY=true/' \
  < /usr/share/doc/yubikey-touch-detector/examples/service.conf.example \
  > ~/.config/yubikey-touch-detector/service.conf
$ systemctl --user restart yubikey-touch-detector

I would still have preferred a more visible, more modal prompt. I guess that would be an exercise for another time, listening to the socket and presenting a window. But for now, desktop notifications will do for me.

PS: I have not managed to get SSH's no-touch-required to work with YubiKey 4, while it works just fine with a YubiKey 5.

11:49

Grrl Power – Dabbler’s Science Corner #6 [Grrl Power]

It’s been decided to keep Deus’s supposed revelations about the nature of Superpowers mum at the moment, mostly due to the assumed “gold rush” of scientists playing god with live human specimens. Since human DNA is the only known way to interact with the Superion field, there’s no animal testing possible, or, really any other laboratory experiments, other than seeing if anything that’s extremely close to human DNA might also work, and also what the limitations are when it comes to the field’s interaction with “living” specimens. Like, could a vial of a Super’s blood also somehow summon lightning the same way the Super it came from can?

No, if the information got out, everyone who has a working knowledge of human history or human nature or just a functional brain realizes that a bunch of low-level Supers are going to wind up in dungeons, hoosegows, gulags, and centre pour peines aménagées. Okay, maybe not the last one. That’s French for “Center for reduced sentences” but the first time I read that my brain saw “Center for penis ménages” as in ménage à trois, but exclusively for penises. And the image my brain conjured wasn’t a gay ménage, either, but like, literally just for penises, so it’d be a room full of guys walking around with sandwich boards, only the board extends up over their faces, and the phalluses stick out of a hole in the board like each guy is an ambulatory glory hole. That’s all totally irrelevant to my comment, just thought I would inflict upon you how my brain works.

Anyway… Oh, right, dungeons full of low-level supers being experimented on, probably forcibly bred, you know, all the usual tropes.


The new vote incentive is up!

Dabbler went somewhere tropical, in a very small bikini. As you might guess, it doesn’t stay on for long, which of course, you can see over at Patreon. Also she has an incident with “lotion,” and there’s a bonus comic page as well.

 

 


Double res version will be posted over at Patreon. Feel free to contribute as much as you like.

10:14

Some simple rules for source control [Seth's Blog]

Collaborating on documents and projects has never been easier, which is why we screw it up so often. Sharing and interacting with intent will save you heartache and wasted time. Some things to consider:

Naming: Begin by naming your file with a digit and concept and a date. Something like “1 Book Presentation October 24”.

And then, with each substantial edit, hit SAVE AS and increment the number. It’s very clear that “3 Book Presentation October 24” is a more recent edit.

Never name a file with “Final” because, as we all know, final is an elusive construct.

Who has the conn? While some cloud-based services like Google docs do a pretty good job of allowing shared edits, it pays to announce who has the controlling, official document. When two people edit different versions of a document at the same time, all that work is wasted. “Cheryl, it’s yours now, I won’t touch it until you send it back.”

Suggested edits: In Google docs, the default is to edit the document (the little pencil). You can switch this (top right corner) to the option for ‘suggesting.’ The beauty of this is that it allows the controlling editor to see the changes that are being offered and to accept or reject them. It creates a more thoughtful flow to creation. Endless conversations via the comments panel almost always lose important information.

A shared doc is better than an email thread: If you know that you’re working toward something, start a Google doc and outline the proposition. Then invite others to edit and improve it. This will lead to a final agenda or outline or proposal. The problem with email threads with multiple contributors is that nuance is lost and contradictions persist.

The original format: The original document is better than a PDF, and a PDF is better than a screenshot. If you start with a spreadsheet, take a screenshot, put the image in a Powerpoint and then email it to someone as a PDF, you’ve pretty much guaranteed that editing it going forward is going to be a mess. Always include a folder of the underlying documents, properly named.

I’d ask for edits and improvements to this post, but this is the wrong format for that. Feel free to copy and paste and share… you have the conn.

08:42

Obliviator, Part Three [Penny Arcade]

New Comic: Obliviator, Part Three

08:21

Money Pit [George Monbiot]

Hidden in the detail of the UK’s carbon capture and storage scheme are unlimited financial liabilities and huge environmental costs.

By George Monbiot, published in the Guardian  11th October 2024

This will be Keir Starmer’s HS2: a hugely expensive scheme that will either be abandoned, scaled back or require massive extra funding to continue, after many billions have been spent. The government’s plan for carbon capture and storage (CCS) – catching carbon dioxide from major industry and pumping it into rocks under the North Sea – is a fossil fuel-driven boondoggle that will accelerate climate breakdown. Its ticket price of £21.7bn is just the beginning of a phenomenal fiscal nightmare.

There might be a case for a CCS programme if the following conditions were met. First, that the money for cheaper and more effective projects had already been committed. The opposite has happened. Labour slashed its green prosperity plan from £28bn a year to £15bn, and with it a sensible and rational programme for insulating 19m homes.

The government boasts that its CCS scheme will be “the equivalent of taking around 4m cars off the road”. But at far lower cost, through a rational transport policy, it could remove millions of real cars from the roads, while improving our mobility, cutting air pollution and releasing land for green spaces and housing.

It could also launch a programme for the mass restoration of nature in the UK. The rewilding of land and sea would draw down vast amounts of carbon from the atmosphere while simultaneously reversing our ecological catastrophe. All these are cost-effective ways of eliminating greenhouse gas emissions. And all of them, unlike CCS, have “co-benefits”: they achieve more than one good thing.

That £21.7bn is the budget for construction only. To judge by decades of expensive CCS failures, it’s likely to be highly optimistic. The UK’s three previous attempts at CCS (the 2005 Peterhead plan, the 2011 demonstration project and the 2012 funding competition) were all cancelled as a result of cost escalation.

An analysis by Oxford University’s Smith School shows that a heavy reliance on CCS massively increases the costs of cutting emissions. By contrast to other technologies such as solar, wind and batteries, its costs have not fallen at all in 40 years. When I asked the government what guarantee it could provide that construction costs would be capped at £21.7bn, it gave me a woolly answer about “value for money”, but no such reassurance.

And this is just the start of it. Buried in an obscure ancillary document is a government commitment to pay a “premium” for the hydrogen component of the CCS programme for 15 years. How much will the total cost of this be? Again, no clear answer. Cutting cost-effective measures in favour of an open-ended, staggeringly expensive programme is the very definition of fiscal irresponsibility.

The second condition is that CCS will accelerate or complete the UK’s decarbonisation. But there’s a reason why oil and gas companies have lobbied so forcefully for this policy: it licenses continued fossil fuel production. The government’s CCS decision has been sold to us as a way to deliver blue hydrogen. This means hydrogen made from fossil gas, as opposed to green hydrogen, which is made by electrolysis with renewable electricity.

An analysis by the climate experts Carbon Tracker shows that the additional gas demand caused by the UK’s CCS blue hydrogen programme will greatly increase overall emissions. It would exhaust the UK’s domestic gas supply, which would then necessitate importing liquefied gas (LNG) from the US and other sources. The government knows this, which is why it intends to approve the construction of an LNG terminal at Teesside.

LNG from the US, thanks to the impacts of fracking, liquefaction and leakage, releases higher greenhouse gas emissions than coal. Blue hydrogen produced from LNG massively exceeds the low carbon hydrogen standard with which the entire programme is justified. Far from accelerating decarbonisation, Labour’s CCS scheme locks in high emissions and fossil fuel dependency for decades to come.

Don’t take it from me. Take it from the government. There’s a rule applied to all such spending, called “principle H”. It says: “subsidies for the decarbonisation of emissions linked to industrial activities in the UK shall achieve an overall reduction in greenhouse gas emissions.” Uniquely, the government has decided that principle H is “not applicable” to its CCS programme.

Otherwise, it notes, the scheme could not proceed, because “liquified natural gas is associated with increased upstream emissions of greenhouse gases”. The breathtaking excuse it gives for rescinding this principle is that the state will “subsidise the construction” of CCS plants but “not their operation”. This is both untrue and nonsensical. Labour ministers are spending £21.7bn on an alleged climate project that will increase emissions, and they know it.

The third condition is an audit of the carbon emissions that cannot be eliminated by other means. The government tells me there are “no viable alternatives” to CCS for “decarbonising key industrial sectors (eg cement)”. But what if there are? What if conventional cement production were replaced with geopolymeric cement? What if green hydrogen were used to make steel? What if thermal power plants were no longer required for electricity production? No such audit has been conducted. Already, as Carbon Tracker has shown, the assumptions behind the CCS programme are outdated. The decision to deploy CCS comes before an attempt to determine whether it is necessary. That’s what happens when fossil fuel lobbyists drive government policy.

When I asked the Department for Energy Security and Net Zero for background documents, all those it sent me were published by the previous government. None had been updated since Labour took office. This, in other words, is Tory policy. My guess is that Labour feared that dropping the Tory programme, with its massive handouts to corporations, would trigger a concerted attack by lobby groups and the billionaire press, alleging it was “anti-business”. Our money is being used for political purposes.

Starmer campaigned on a platform of “change”. But there has been no change from this demented Tory policy, no change in the influence of the fossil fuel industry, no change in the perverse justifications. And, I suspect, there will be no change from £50bnfor this profligate CCS scheme.

The chancellor, Rachel Reeves, talks of a fiscal “black hole” of £21.9bn. But this is a real black hole: a long tunnel into the rocks, down which £21.7bn and more will be poured. A more reliable and cost-effective means of sequestering carbon would be to bundle up the money (roughly 1,100 tonnes in £20 notes) and shove it down the pipe.

www.monbiot.com

08:14

Secrets, p7 [Ctrl+Alt+Del Comic]

Check out these Console War pins we’ve created as an add-on for the new book Kickstarter!

The post Secrets, p7 appeared first on Ctrl+Alt+Del Comic.

06:28

Study Break! – DORK TOWER 14.10.24 [Dork Tower]


This or any DORK TOWER strip is now available as a signed, high-quality print, from just $25!  CLICK HERE to find out more!

HEY! Want to help keep DORK TOWER going  – join the DORK TOWER Patreon and ENLIST IN THE ARMY OF DORKNESS TODAY! (We have COOKIES!) (And SWAG!) (And GRATITUDE!)

06:00

Girl Genius for Monday, October 14, 2024 [Girl Genius]

The Girl Genius comic for Monday, October 14, 2024 has been posted.

02:56

01:21

00:21

Kernel prepatch 6.12-rc3 [LWN.net]

The 6.12-rc3 kernel prepatch is out for testing.

So the diffstat looks a bit odd, because one of the fixes here caused the UTF tables to be regenerated, and an effective one-liner change turned into 6703 lines of diff.

But if you ignore that effect, everything looks normal.

Sunday, 13 October

20:42

Andy Simpkins: The state of the art [Planet Debian]

A long time ago….

A long time ago a computer was a woman (I think almost exclusively a women, not a man) who was employed to do a lot of repetitive mathematics – typically for accounting and stock / order processing.

Then along came Lyons, who deployed an artificial computer to perform the same task, only with fewer errors in less time. Modern day computing was born – we had entered the age of the Digital Computer.

These computers were large, consumed huge amounts of power but were precise, and gave repeatable, verifiable results.

Over time the huge mainframe digital computers have shrunk in size, increased in performance, and consume far less power – so much so that they often didn’t need the specialist CFC based, refrigerated liquid cooling systems of their bigger mainframe counterparts, only requiring forced air flow, and occasionally just convection cooling. They shrank so far and became cheep enough that the Personal Computer became to be, replacing the mainframe with its time shared resources with a machine per user. Desktop or even portable “laptop” computers were everywhere.

We networked them together, so now we can share information around the office, a few computers were given specialist tasks of being available all the time so we could share documents, or host databases these servers were basically PCs designed to operate 24×7, usually more powerful than their desktop counterparts (or at least with faster storage and networking).

Next we joined these networks together and the internet was born. The dream of a paperless office might actually become realised – we can now send email (and documents) from one organisation (or individual) to another via email. We can make our specialist computers applications available outside just the office and web servers / web apps come of age.

Fast forward a few years and all of a sudden we need huge data-halls filled with “Rack scale” machines augmented with exotic GPUs and NPUs again with refrigerated liquid cooling, all to do the same task that we were doing previously without the magical buzzword that has been named AI; because we all need another dot com bubble or block chain band waggon to jump aboard. Our AI enabled searches take slightly longer, consume magnitudes more power, and best of all the results we are given may or may not be correct….

Progress, less precise answers, taking longer, consuming more power, without any verification and often giving a different result if you repeat your question AND we still need a personal computing device to access this wondrous thing.

Remind me again why we are here?

(time lines and huge swaves of history simply ignored to make an attempted comic point – this is intended to make a point and not be scholarly work)

A Google breakup is on the table, say DOJ lawyers [OSnews]

Next up in my backlog of news to cover: the US Department of Justice’s proposed remedies for Google’s monopolistic abuse.

Now that Judge Amit Mehta has found Google is a monopolist, lawyers for the Department of Justice have begun proposing solutions to correct the company’s illegal behavior and restore competition to the market for search engines. In a new 32-page filing (included below), they said they are considering both “behavioral and structural remedies.“

That covers everything from applying a consent decree to keep an eye on the company’s behavior to forcing it to sell off parts of its business, such as Chrome, Android, or Google Play.

↫ Richard Lawler at The Verge

While I think it would be a great idea to break Google up, such an action taken in a vacuum seems to be rather pointless. Say Google is forced to spin off Android into a separate company – how is that relatively small Android, Inc. going to compete with the behemoth that is Apple and its iOS to which such restrictions do not apply? How is Chrome Ltd. going to survive Microsoft’s continued attempts at forcing Edge down our collective throats? Being a dedicated browser maker is working out great for Firefox, right?

This is the problem with piecemeal, retroactive measures to try and “correct” a market position that you have known for years is being abused – sure, this would knock Google down a peg, but other, even larger megacorporations like Apple or Microsoft will be the ones to benefit most, not any possible new companies or startups. This is exactly why a market-wide, equally-applied set of rules and regulations, like the European Union’s Digital Markets Act, is a far better and more sustainable approach.

Unless similar remedies are applied to Google’s massive competitors, these Google-specific remedies will most likely only make things worse, not better, for the American consumer.

19:07

Scarecrow’s 2024 Psychotronic Challenge: Day 13 [The Stranger]

"…As long as it isn’t a Part 1." by Lindsay Costello

13. ALL THINGS BEING SEQUEL: …As long as it isn’t a Part 1.

The Texas Chainsaw Massacre 2

One thing to know about me going into this review is that I largely agree with this tweet, which, unsurprisingly, had people frothing at the mouth.

Not only for horror but maybe one of the five best American films ever made, yeah https://t.co/7QQ6t2lyno

— Brandon Streussnig (@BrndnStrssng) October 10, 2024

The Texas Chain Saw Massacre is the perfect New Hollywood film. It's moody, atmospheric, lo-fi, anti-establishment, and thoroughly imaginative, wrenching the slasher genre from its hiding place in the dark of night and shoving it into the bright Texas sunshine. Gas stations, chickens, pick-up trucks, and the entire state of Texas have been freaky since the day this film was released in 1974. Its detached grittiness coaxed the rise of found-footage horror decades later, and Sally Hardesty's maniacal laughter revealed the psychological toll on the final girl for the first time, a theme that's repeated with Halloween's Laurie Strode, Scream's Sidney Prescott, and countless other slasher survivors.

I would posit that only Alien has had a wider cultural impact on horror, but Ridley Scott actually cited TCM as an influence on his film. 

The Texas Chain Saw Massacre's sequel, however, is something completely different. And by "completely different" I mean that Tobe Hooper directed a black comedy, and it's awesome.

The Texas Chainsaw Massacre 2 opens with two high schoolers prank-calling a radio station as they cruise down a rural highway, soon to be slaughtered by Leatherface. The murder is overheard (and recorded) by local disc jockey Stretch. Former Texas Ranger Lefty (Dennis Hopper!) gets involved when he catches wind of the recording. Turns out he's got skin in the game—he's the uncle of Sally and Frank Hardesty, two of Leatherface's previous targets.

When Stretch plays the recording on her radio show to drum up public response, she accidentally summons Leatherface and his psychotic, hippie-adjacent relative Chop-Top, who had a metal plate grafted onto his skull during the Vietnam War. The pair show up at the radio station to kill her, a protracted scene in which Chop-Top hollers the film's most important line: "Lick my plate, you dog dick!"

The central thrust of TCM 2 is that Leatherface is horny now. He illustrates this by positioning a chainsaw dangerously close to Stretch's (jeanshorted, thankfully) vulva. Against a soundtrack of Oingo Boingo, Concrete Blonde, and the Cramps' "Goo Goo Muck," Stretch is forced to use her sweet Texan charm to fend off Leatherface's chainsaw, which is exactly as awkward and gross as it sounds. It also only works for so long. Soon, Stretch tumbles down a slide into the Sawyer clan's subterranean hell dungeon, where she has other psycho-killers (like silent, hammer-wielding Grandpa) to contend with.

There are surprisingly few kills in this sequel, but lots to love. It had roughly 39 times the budget of the original (TCM filmed for around $120,000; TCM 2 for $4.7 million), so the sets are far out, and the gore is squelchy. Hooper also crafts something pretty unusual in the slasher horror genre: The sequel is funny and bizarre, of course, but balances that weirdness with more of his relentless, imaginative gnarliness. If you're keen to check in on Leatherface without quite the isolated brutality of the original, The Texas Chainsaw Massacre 2 is a prime cut.

The Stranger is participating in Scarecrow Video’s Psychotronic Challenge all month long! Every October, Scarecrow puts together a list of cinematic themes and invites folks to follow along and watch a horror, sci-fi, or fantasy flick that meets the criteria. This year, Stranger staffers are joining the fun and we’re sharing our daily recommendations here on Slog! Read more about Scarecrow’s 2024 challenge—and get the watch list—here. And you can track our daily recommendations here! 💀

17:49

Krissy, Rock Star [Whatever]

I was DJing an after party last night, as I occasionally do, and Krissy was there to dance along with me while we were there. At one point I got out my phone to capture her mid-head bang. She was singing along with the song while holding a mic stand, so it looked pretty rock star. It made for a pretty great photo, I have to say. More than one, actually.

This just in: my wife is fucking hot

John Scalzi (@scalzi.com) 2024-10-13T03:45:34.071Z

— JS

16:49

Link [Scripting News]

BTW, why doesn't Netflix buy Metacritic and integrate their ratings aggregator in their user interface. I predict I'd watch far more stuff on Netflix than I do now. Or Apple TV, Max, Hulu, Disney, etc. The idea that such a valuable resource is not part of the user experience is crazy imho. What a waste. What reminded me of this is Plex has integrated the equivalent of Bingeworthy in their service, which is also a good idea and will glue communities of users to you. The idea is to systematize recommendations. If I know a specific friend liked a movie or a show is valuable information for me, not just advertisers.

Link [Scripting News]

Someday I have to reboot Bingeworthy, it's the software snack I miss the most. It broke when Twitter broke their identity system.

16:28

Conceptual models of space colonization [Charlie's Diary]

I'm thinking morose thoughts about the practical prospects for space colonization (ahem: stripped of the colonialist rhetoric, manifest destiny bullshit, "the Earth's too fragile and vulnerable to keep all our eggs in one basket", and the other post-hoc attempts at justification) and trying to sort them out in case I ever feel inclined to go back to writing the sort of medium term SF epic that Kim Stanley Robinson nailed in his Mars trilogy in the 1980s.

And what I'm nibbling on is, to paraphrase Oliver Cromwell, the big question of what if all our models or paradigms for how to structure a colony effort are wrong?

While the strong form of the Sapir-Whorf hypothesis is evidently invalid, a weaker version—that language influences thought—is much harder to argue against. When we talk about a spaceship, a portmanteau word derived from "[outer] space" and "ship", we bring along certain unstated assumptions about shipping that are at odds with the physical parameters of a human-friendly life support environment for traversing interplanetary distances. Ships, in the vernacular, have captains and a crew who obey the captain via a chain of command, they carry cargo or passengers, they travel between ports or to a well-defined destination, they may have a mission whether it be scientific research or military. And of these aspects, only the scientific research angle is remotely applicable to any actually existing interplanetary vehicle, be it a robot probe like Psyche or one of the Apollo program flights.

(Pedant's footnote: while the Apollo crews had a nominal commander, actual direction came from Mission Control back on Earth and the astronauts operated as a team, along lines very similar to those later formalized as Crew Resource Management in commercial aviation.)

Anyway, a point I've already chewed over on this blog is that a spaceship is not like a sea-going vessel, can't be operated like a sea-going vessel, and the word "ship" in its name feeds into various cognitive biases that may be actively harmful to understanding what it is.

Which leads me to the similar term "space colony": the word colony drags in all sorts of historical baggage, and indeed invokes several models of how an off-Earth outpost might operate, all of which invoke very dangerous cognitive biases!

First cognitive bias on the chopping blog: the word "colony" usually implies a self-sufficient settlement, that can "live off the land" and reproduce almost anything the humans living there need, including more human workers raised from infancy. We don't, for example, talk of McMurdo Station in Antarctica as a colony even though it has a population of up to 1500 people at different times of year because it's entirely resupplied from other land masses and nobody is born there (and hopefully nobody dies there either). McMurdo Station doesn't have kindergartens, schools, universities, retirement homes, farms, factories, and a resident political apparatus to set policy.

Dilbert Stark's bloviation about a Mars colony aside, I don't expect we'll see an off-Earth colony that meets the self-sufficiency criterion any time in the next century—at least not without major technical breakthroughs in the life sciences and in automated manufacturing. Unless you can run a space colony with a 17th century level of education and specialization (not to mention infant mortality) you can't make it self-sufficient with less than millions of people because no environment in the solar system is compatible with human life in the absence of high technology life support.

The American model of colonization—a cognitive bias that underpins both the American and Russian space programs' associated ideological drive towards human expansion—is biased towards an unpopulated or underpopulated terrestrial biome with breathable air, plentiful sources of water and minerals, a biosphere that naturally turns sunlight into biomass that can be directly eaten or fed to food animals, and so on. To use a simile, it's like pitching a tent on the roof of a fifty story high skyscraper (with working electricity and water supplies) and announcing you've constructed a dwelling. To extend this into a metaphor, for space colonization you're going to build a cement factory and get a degree in structural engineering first.

In addition to the "camping in the garden is the new Lewis and Clarke expedition" cognitive bias, the word "colony" comes with a number of other associations:

The military model

When we talk about colonies it's a hop, skip, and a jump to colonialism, with its model of military outposts on the edge of the known/civilized world, and a mission to bring civilisation to the unruly indigenes at gunpoint. It's in all our cultural tropes relating to colonies, especially in those nations that used to run overseas empires (or evolved from such empires). This in turn implies a military chain of command with enforcement via military discipline, and a military mission, which almost invariably requires an adversary and some sort of exit strategy (even if the exit strategy is "make a wasteland, call it peace, come home").

I have no idea how Star Trek has evolved since I last watched it (I hit my throw-book-at-wall point halfway through the pilot episode of TNG and refuse to give it a second chance) but ST at least superficially started out from the military model, in a universe with copious adversaries so no shortage of possible military missions.

It is difficult for me to conceive of how a military colonization model might apply unless we succeed in taking our dysfunctional social structures into deep space and well beyond Low Earth Orbit. (In LEO, all you need are ground-launched weapons platforms: not a colony.)

The homesteader model

In which, like our marcher empire colonists from the US frontier and the Siberian expansion, our colonists are given title to forty acres and a mule, or a bunk in a penal colony, and go forth to play live-action Stardew Valley. Heinlein wrote this a lot, for example in Farmer in the Sky and in the background of Space Family Stone, and in one of the novella-sized chunks of Time Enough for Love. Star Trek by some accounts started as "wagon train in space", riffing off the Western genre TV series of that name.

As noted above: the homesteader novel approximates to erecting a tent on top of a skyscraper and declaring victory. More to the point, an awful lot of homesteader settlers died, and that was with a very low bar to success at self-sufficiency because they were settling inside a biosphere, the spacegoing equivalent of colonizing the downstairs bathroom.

Homesteading tended to be a family sized enterprise, and a patriarchal family culture at that with a high rate of population growth (kids are livestock who can herd other livestock, not dangerous liabilities who sometimes fiddle with the airlock controls when they get bored). They are, at most, tribal enterprises where the colony approximates Dunbar's Number, on which note, a quick review of the history of the Donner Party is instructive. (The Donner Party had the misfortune to get stuck high in the Sierra Nevada mountains by an early snowfall without having laid down enough supplies to last through winter: if I was going to write a sequel to Tom Godwin's The Cold Equations I can think of few better topics to choose than a bunch of starry-eyed settlers on the high frontier getting trapped in the coffin corner of a three axis constraint diagram with axes representing delta vee, energy, and consumables.)

The corporate model

Do I really need to explain why Company Towns are bad places to live, and a company town in spaaaaace is pretty much the ultimate dystopia?

Yes, yes I do! In a nutshell: companies are artificial social constructs that offload all their externalities onto the state they are embedded in. If the company is the entire habitat, then it can only offload "useless eaters" via the airlock. Babies are useless eaters—they don't change their own diapers! So.

(For a less grotesque critique of capitalism in space, read just about any American or British SF set on a space colony written in the past 30 years: Luna by Ian Macdonald is a good starting point (although his premise—a mining colony grinding up the Lunar regolith to extract 3He for fusion reactors on Earth—is based on junk science). In particular, two words should strike fear into your heart: oxygen tax.)

The Pilgrim Fathers model

Otherwise known as theocracy in space. Worryingly, religious belief rather than economics seems the most plausible incentive for space colonization. (I consider the argument that "the Earth's too fragile to keep all our eggs in one basket" to be part of this category: it's based on the "be fruitful and multiply" command from Genesis, and its explicitly religious roots stem from Russian Cosmism and the writings of the 19th century theologian Nikolai Fyodorovich Fyodorov.)

Religious colonies can in fact get shit done in harsh environments, as witness the Plymouth Colony. The things they get done can include witch hunts and mass executions of unbelievers, poisoning the neighbours with smallpox infested blankets, going full Jonestown, and experimentally verifying the feasibility of building The Republic of Gilead in orbit around Jupiter, only now with 100% less escape routes to Canada.

The Polynesian model

Build small boats, move to the next island just on the horizon, fish, farm, then chop down trees to build more boats, and move on in the unexplored direction. It worked for the Easter Islanders, it got the Maori to Aotearoa, why couldn't it work?

In a nutshell, the Polynesian model suffers from a combination of the failure modes of the homesteader model and (pick any combination of) all the others—the Religious retreat, the company town, the military expedition: living off the land is really hard when there's not actually any land, nor a supply chain able to manufacture spacecraft, nor a biosphere to overrun. It might work, in the far future, if the unit of settlement isn't an outrigger trimaran (or group thereof) but a self-propelled city state with enough millions of people to sustain a technology base (including educating the educators for the next generation of niche specialties). But that begs the question of the management or political governance of such a city-state. The people in such a colony live there: it's no more a colony than this island Earth we all live on today is a colony—it's a closed cycle world, just a lot smaller than this one.

To go back to sarcastic similes, it's as if England circa 1606 decided to colonize North America by physically packing up London and the surrounding hundred kilometre radius of villages and farms and plonking them down on Long Island. At which point, yeah, you've got enough human capital in place to stick around and enough food supplies to make it work, assuming they survive the first harsh continental winter (the origins of the annual US Turkey holocaust day are instructive in this respect). Congratulations! James Blish ran this riff in his Cities in Flight tetralogy, and it looks superficially plausible at first glance, although it eerily parallels the aerospace engineering nostrum that if you strap enough thrust to a concrete block you can make anything fly.

Anyway, this leads up to my question for this blog entry: what do all these models fail to account for? Are there other, better models for how to build and run a space colony? If not, why not—what are the universal points of failure (other than "human beings")?

PS/Administrative Note: All comments referring by his given name to a certain multi-billionaire of South African origins who owns his own space program will be deleted by the moderators (I don't want the world's richest man to sue me for libel, or to be dogpiled by his glassy-eyed fans doing a google search). If you can't think of your own nickname for him, feel free to call him "Space Karen" or "Dilbert Stark".

16:07

Link [Scripting News]

I am totally having a blast with my hybrid blog, built by textcasting WordPress and Mastodon. Just wrote a post about the day the NYT signs off, finally realizing how fcuked we are if Trump is elected or manages to steal the election next month. Their final headline in this story is GOOD LUCK AMERICA.

Link [Scripting News]

Textcasting shows up as a slight blip (or less) on Google Trends.

16:00

Internet Archive hacked and victim of DDoS attacks [OSnews]

Internet Archive’s “The Wayback Machine” has suffered a data breach after a threat actor compromised the website and stole a user authentication database containing 31 million unique records.

News of the breach began circulating Wednesday afternoon after visitors to archive.org began seeing a JavaScript alert created by the hacker, stating that the Internet Archive was breached.

“Have you ever felt like the Internet Archive runs on sticks and is constantly on the verge of suffering a catastrophic security breach? It just happened. See 31 million of you on HIBP!,” reads a JavaScript alert shown on the compromised archive.org site.

↫ Lawrence Abrams at Bleeping Computer

To make matters worse, the Internet Archive was also suffering from waves of distributed denial-of-service attacks, forcing the IA to take down the site while strengthening everything up. It seems the attackers have no real motivation, other than the fact they can, but it’s interesting, shall we say, that the Internet Archive has been under legal assault by big publishers for years now, too. I highly doubt the two are related in any way, but it’s an interesting note nonetheless.

I’m still catching up on all the various tech news stories, but this one was hard to miss. A lot of people are rightfully angry and dismayed about this, since attacking the Internet Archive like this kind of feels like throwing Molotov cocktails at a local library – there’s literally not a single reason to do so, and the only people you’re going to hurt are underpaid librarians and chill people who just want to read some books. Whomever is behind this are just assholes, no ifs and buts about it.

14:28

Andrew Cater: Mini-DebConf Cambridge 20241013 1300 [Planet Debian]

 LATE NEWS

 I haven't blogged until now: I should have done from Thursday onwards.

It's a joy to be here in Cambridge at ARM HQ. Lots of people I recognise from last year  here: lots *not* here because this mini-conference is a month before the next one in Toulouse and many people can't attend both.

Two days worth of chatting, working on bits and pieces, chatting and informal meetings was a very good and useful way to build relationships and let teams find some space for themselves.

Lots of quiet hacking going on - a few loud conversations. A new ARM machine in mini-ITX format - see Steve McIntyre's blog on planet.debian.org about Rock 5 ITX.

Two days worth of talks for Saturday and Sunday. For some people, this is a first time. Lightning talks are particularly good to break down barriers - three slides and five minutes (and the chance for a bit of gamesmanship to break the rules creatively).

Longer talks: a couple from Steve Capper of ARM were particularly helpful to those interested in upcoming development. A couple of the talks in the schedule are traditional: if the release team are here, they tell us what they are doing, for example.

ARM are main sponsors and have been very generous in giving us conference and facilities space. Fast network, coffee and interested people - what's not to like :)

[EDIT/UPDATE - And my talk is finished and went fairly well: slides have now been uploaded and the talk is linked from the Mini-DebConf pages]

13:42

Taavi Väänänen: Bulk downloading Wikimedia Commons categories [Planet Debian]

Wikimedia Commons, the Wikimedia project for freely licensed media files, also contains a bunch of photos by me and photos of me at various events. While I don't think Commons is going away anytime soon, I would still like to have a local copy of those images available on my own storage hardware.

Obviously this requires some way to query for photos you want to download. I'm using Commons categories for this, since that's easy to implement and works for both use cases. The Commons community tends to come up with very specific categories that you can use, and if not, you can usually categorize the files yourself.

Me replying 'shh' to a Discord message showing myself categorizing photos about me and accusing me of COI editing
thankfully Commons has no such thing as a Conflict of interest (COI) policy

There is almost an existing tool for this: Sam Wilson's mwcli project has support for exporting images one has uploaded to Commons. However I couldn't use that to upload photos of me others have uploaded, plus it's written in PHP and I don't exactly want to deal with the problem of figuring out how to package it in a way I could neatly install it on my NAS.

So I wrote my own tool for it, called comload. It's written in Python because Python is easy to deploy (I can just throw it in a .deb and upload it to my internal repository), and because I did not find a Go library to handle Action API pagination for me. The basic usage is like this:

$ comload --subcats "Taavi Väänänen"

This will download any files in Category:Taavi Väänänen and its sub-categories to the current directory. Former image versions, as well as the image description and SDC data, if any, is also included. And it's smart enough to not download any files that are already there on future runs, so you can just throw it in a systemd timer to get any future files. I'd still like it to handle moved files without creating a duplicate copy, but otherwise I'm really happy with the current state.

comload is available from PyPI and from my Git server directly, and is licensed under the GPLv3.

10:35

What went wrong with Starmer’s Gray matter? | David Mitchell [David Mitchell | The Guardian]

Appointing the person most associated with Partygate to a partisan Labour role seemed like a mistake from the start

When Sue Gray resigned as the prime minister’s chief of staff last week, she said it was because she “risked becoming a distraction to the government’s vital work of change”. They always say something like that. Don’t become the story – that’s supposedly the rule for pretty much anyone other than the prime minister.

The prime minister is allowed to be the story, good or bad, because, by definition, what the prime minister does isn’t a distraction, it’s the thing itself. But anyone else can plead the blameless fact that they’re accidentally distracting everyone from more important things. “Talk of my private life”, “widespread press reports of my cronyism and embezzlement”, “my cut-price hair transplant that went hilariously wrong”, “the relentless clip-clop of my amazing shoes” – such things can become a distraction thanks to the silly media and their inability to just sit still and listen to the barrage of sensibleness that the government is trying to present.

Continue reading...

10:07

Amplifying the fringes [Seth's Blog]

Culture is: “People like us do things like this.”

We might even have a chance to choose our group. Hipsters do this, hippies do that. People in this town wear this outfit, students at this school hang out here on Saturdays…

We might be born into a culture. Less agency, but just as much identity.

There’s a built-in status quo here. Most groups want stability and the peace of mind that comes from being in sync. That’s why we join a group in the first place.

Of course, every culture also has neophiliacs, folks that find status and affiliation in embracing the new. They are most comfortable with novelty, not tradition.

Ideas spread from the ones who embrace the new to the folks who want to stay in sync.

But some cultures change more quickly than others. Some stagnate, others accelerate.

When change happens too fast, the culture gets stressed.

One factor in the speed of cultural change is the control of the media and distribution.

In an authoritarian environment, gatekeepers and censorship ensure that the culture changes very slowly. This includes most scientific journals, large organizations and spectrum-limited forms of media. This is a country with state-controlled media, but it’s also a community where the people who are most fearful of change also have power.

If there are only a few TV channels or radio stations, the programmers are going to become conservative, because they don’t want to lose market share. If the cost of being seen as too edgy is perceived as very high, the gatekeepers will stay in the center.

The Billboard Top 40 and pop music exists because a jukebox couldn’t hold every record, and radio stations didn’t want to risk losing a listener who wanted to hear what everyone else was listening to.

The other factor is the algorithm. How is attention parceled out?

You can probably see where this is heading.

The newspaper and the radio station determined the algorithm. A few surprising items, but mostly, the center.

And then social media arrived. And they intentionally turned the algorithm inside out.

They tweak what gets promoted and spread based on what is likely to grab our attention, to play with our emotions, to generate outrage or surprise. They do this without regard for truth or the stress that the idea might cause. They simply want to drive short-term attention.

The fringe. That’s where outrage and fear and novelty live.

And so creators of content responded. They discovered that in order to get the attention they craved, they had to run from the center and toward the edges. Even if they didn’t believe in what they were saying, or especially then.

The fringe, amplified, stops being the fringe.

So the next wave of fringe must be even fringier.

This is a fundamental shift in the world as we know it. One where a flywheel of ever more challenging cultural change continues to arrive, without balance.

It’s no wonder people feel ill at ease. Instead of the ship adding ballast to ensure a smooth journey, the crew is working hard to make the journey as rocky as possible.

09:00

Goodbye Windows 7 [OSnews]

I finally seem to be recovering from a nasty flu that is now wreaking havoc all across my tiny Arctic town – better now than when we hit -40 I guess – so let’s talk about something that’s not going to recover because it actually just fucking died: Windows 7.

For nearly everyone, support for Windows 7 ended on January 14th, 2020. However, if you were a business who needed more time to migrate off of it because your CEO didn’t listen to the begging and pleading IT department until a week before the deadline, Microsoft did have an option for you. Businesses could pay to get up to 3 years of extra security updates. This pushes the EOL date for Windows 7 to January 10th, 2023.

Okay but that’s still nearly 2 years earlier than October 8th, 2024?

↫ The Cool Blog

I’d like to solve the puzzle! It’s POSReady, isn’t it? Of course it is! Windows Embedded POSReady’s support finally ended a few days ago, and this means that for all intents and purposes, Windows 7 is well and truly dead. In case you happen to be a paleontologist, think of Windows Embedded POSReady adding an extra two years of support to Windows 7 as the mammoths who managed to survive on Wrangel until as late as only 4000 years ago.

Windows 7 was one of the good ones, for sure, and all else being equal, I’d choose it over any of the releases that cam after. It feels like Windows 7 was the last release designed primarily for users of the Windows platform, whereas later releases were designed more to nickle and dime people with services, ads, and upsells that greatly cheapened the operating system. I doubt we’ll ever see such a return to form again, so Windows 7 might as well be the last truly beloved Windows release.

If you’re still using Windows 7 – please don’t, unless you’re doing it for the retrocomputing thrill. I know Windows 8, 10, and 11 are scary, and as much as it pains me to say this, you’re better off with 10 or 11 at this point, if only for security concerns.

06:28

Meaningful dialogue [Richard Stallman's Political Notes]

US universities are confused and conflicted about how to deal with strongly opinionated students and their disagreeing views.

Escalation with Iran [Richard Stallman's Political Notes]

Since Iran's missiles have shown they can hit Israel and do damage, further escalation by Israel could result in a long war of attrition

Feeds

FeedRSSLast fetchedNext fetched after
@ASmartBear XML 02:35, Friday, 18 October 03:16, Friday, 18 October
a bag of four grapes XML 02:07, Friday, 18 October 02:49, Friday, 18 October
Ansible XML 02:35, Friday, 18 October 03:15, Friday, 18 October
Bad Science XML 02:35, Friday, 18 October 03:24, Friday, 18 October
Black Doggerel XML 02:35, Friday, 18 October 03:16, Friday, 18 October
Blog - Official site of Stephen Fry XML 02:35, Friday, 18 October 03:24, Friday, 18 October
Charlie Brooker | The Guardian XML 02:07, Friday, 18 October 02:49, Friday, 18 October
Charlie's Diary XML 02:21, Friday, 18 October 03:09, Friday, 18 October
Chasing the Sunset - Comics Only XML 02:35, Friday, 18 October 03:24, Friday, 18 October
Coding Horror XML 02:21, Friday, 18 October 03:08, Friday, 18 October
Cory Doctorow's craphound.com XML 02:07, Friday, 18 October 02:49, Friday, 18 October
Cory Doctorow, Author at Boing Boing XML 02:35, Friday, 18 October 03:16, Friday, 18 October
Ctrl+Alt+Del Comic XML 02:21, Friday, 18 October 03:09, Friday, 18 October
Cyberunions XML 02:35, Friday, 18 October 03:24, Friday, 18 October
David Mitchell | The Guardian XML 02:35, Friday, 18 October 03:18, Friday, 18 October
Deeplinks XML 02:35, Friday, 18 October 03:19, Friday, 18 October
Diesel Sweeties webcomic by rstevens XML 02:35, Friday, 18 October 03:18, Friday, 18 October
Dilbert XML 02:35, Friday, 18 October 03:24, Friday, 18 October
Dork Tower XML 02:07, Friday, 18 October 02:49, Friday, 18 October
Economics from the Top Down XML 02:35, Friday, 18 October 03:18, Friday, 18 October
Edmund Finney's Quest to Find the Meaning of Life XML 02:35, Friday, 18 October 03:18, Friday, 18 October
EFF Action Center XML 02:35, Friday, 18 October 03:18, Friday, 18 October
Enspiral Tales - Medium XML 02:35, Friday, 18 October 03:20, Friday, 18 October
Events XML 02:21, Friday, 18 October 03:09, Friday, 18 October
Falkvinge on Liberty XML 02:21, Friday, 18 October 03:09, Friday, 18 October
Flipside XML 02:07, Friday, 18 October 02:49, Friday, 18 October
Flipside XML 02:35, Friday, 18 October 03:20, Friday, 18 October
Free software jobs XML 02:35, Friday, 18 October 03:15, Friday, 18 October
Full Frontal Nerdity by Aaron Williams XML 02:21, Friday, 18 October 03:09, Friday, 18 October
General Protection Fault: Comic Updates XML 02:21, Friday, 18 October 03:09, Friday, 18 October
George Monbiot XML 02:35, Friday, 18 October 03:18, Friday, 18 October
Girl Genius XML 02:35, Friday, 18 October 03:18, Friday, 18 October
Groklaw XML 02:21, Friday, 18 October 03:09, Friday, 18 October
Grrl Power XML 02:07, Friday, 18 October 02:49, Friday, 18 October
Hackney Anarchist Group XML 02:35, Friday, 18 October 03:24, Friday, 18 October
Hackney Solidarity Network XML 02:35, Friday, 18 October 03:20, Friday, 18 October
http://blog.llvm.org/feeds/posts/default XML 02:35, Friday, 18 October 03:20, Friday, 18 October
http://calendar.google.com/calendar/feeds/q7s5o02sj8hcam52hutbcofoo4%40group.calendar.google.com/public/basic XML 02:35, Friday, 18 October 03:15, Friday, 18 October
http://dynamic.boingboing.net/cgi-bin/mt/mt-cp.cgi?__mode=feed&_type=posts&blog_id=1&id=1 XML 02:35, Friday, 18 October 03:20, Friday, 18 October
http://eng.anarchoblogs.org/feed/atom/ XML 02:00, Friday, 18 October 02:46, Friday, 18 October
http://feed43.com/3874015735218037.xml XML 02:00, Friday, 18 October 02:46, Friday, 18 October
http://flatearthnews.net/flatearthnews.net/blogfeed XML 02:35, Friday, 18 October 03:16, Friday, 18 October
http://fulltextrssfeed.com/ XML 02:35, Friday, 18 October 03:18, Friday, 18 October
http://london.indymedia.org/articles.rss XML 02:21, Friday, 18 October 03:08, Friday, 18 October
http://pipes.yahoo.com/pipes/pipe.run?_id=ad0530218c055aa302f7e0e84d5d6515&amp;_render=rss XML 02:00, Friday, 18 October 02:46, Friday, 18 October
http://planet.gridpp.ac.uk/atom.xml XML 02:21, Friday, 18 October 03:08, Friday, 18 October
http://shirky.com/weblog/feed/atom/ XML 02:35, Friday, 18 October 03:19, Friday, 18 October
http://thecommune.co.uk/feed/ XML 02:35, Friday, 18 October 03:20, Friday, 18 October
http://theness.com/roguesgallery/feed/ XML 02:21, Friday, 18 October 03:09, Friday, 18 October
http://www.airshipentertainment.com/buck/buckcomic/buck.rss XML 02:35, Friday, 18 October 03:24, Friday, 18 October
http://www.airshipentertainment.com/growf/growfcomic/growf.rss XML 02:35, Friday, 18 October 03:19, Friday, 18 October
http://www.airshipentertainment.com/myth/mythcomic/myth.rss XML 02:07, Friday, 18 October 02:49, Friday, 18 October
http://www.baen.com/baenebooks XML 02:35, Friday, 18 October 03:19, Friday, 18 October
http://www.feedsapi.com/makefulltextfeed.php?url=http%3A%2F%2Fwww.somethingpositive.net%2Fsp.xml&what=auto&key=&max=7&links=preserve&exc=&privacy=I+accept XML 02:35, Friday, 18 October 03:19, Friday, 18 October
http://www.godhatesastronauts.com/feed/ XML 02:21, Friday, 18 October 03:09, Friday, 18 October
http://www.tinycat.co.uk/feed/ XML 02:35, Friday, 18 October 03:15, Friday, 18 October
https://anarchism.pageabode.com/blogs/anarcho/feed/ XML 02:35, Friday, 18 October 03:19, Friday, 18 October
https://broodhollow.krisstraub.comfeed/ XML 02:35, Friday, 18 October 03:16, Friday, 18 October
https://debian-administration.org/atom.xml XML 02:35, Friday, 18 October 03:16, Friday, 18 October
https://feeds.feedburner.com/Starslip XML 02:07, Friday, 18 October 02:49, Friday, 18 October
https://feeds2.feedburner.com/GeekEtiquette?format=xml XML 02:35, Friday, 18 October 03:18, Friday, 18 October
https://hackbloc.org/rss.xml XML 02:35, Friday, 18 October 03:16, Friday, 18 October
https://kajafoglio.livejournal.com/data/atom/ XML 02:35, Friday, 18 October 03:24, Friday, 18 October
https://philfoglio.livejournal.com/data/atom/ XML 02:21, Friday, 18 October 03:08, Friday, 18 October
https://pixietrixcomix.com/eerie-cutiescomic.rss XML 02:21, Friday, 18 October 03:08, Friday, 18 October
https://pixietrixcomix.com/menage-a-3/comic.rss XML 02:35, Friday, 18 October 03:19, Friday, 18 October
https://propertyistheft.wordpress.com/feed/ XML 02:35, Friday, 18 October 03:15, Friday, 18 October
https://requiem.seraph-inn.com/updates.rss XML 02:35, Friday, 18 October 03:15, Friday, 18 October
https://studiofoglio.livejournal.com/data/atom/ XML 02:00, Friday, 18 October 02:46, Friday, 18 October
https://the-programmers-stone.com/ XML 02:21, Friday, 18 October 03:08, Friday, 18 October
https://thecommandline.net/feed/ XML 02:00, Friday, 18 October 02:46, Friday, 18 October
https://torrentfreak.com/subscriptions/ XML 02:35, Friday, 18 October 03:18, Friday, 18 October
https://twitter.com/statuses/user_timeline/22724360.rss XML 02:35, Friday, 18 October 03:15, Friday, 18 October
https://web.randi.org/?format=feed&type=rss XML 02:35, Friday, 18 October 03:18, Friday, 18 October
https://www.dcscience.net/feed/medium.co XML 02:35, Friday, 18 October 03:24, Friday, 18 October
https://www.DropCatch.com/domain/steampunkmagazine.com XML 02:35, Friday, 18 October 03:16, Friday, 18 October
https://www.DropCatch.com/domain/ubuntuweblogs.org XML 02:00, Friday, 18 October 02:46, Friday, 18 October
https://www.DropCatch.com/redirect/?domain=DyingAlone.net XML 02:21, Friday, 18 October 03:08, Friday, 18 October
https://www.freedompress.org.uk:443/news/feed/ XML 02:21, Friday, 18 October 03:09, Friday, 18 October
https://www.goblinscomic.com/category/comics/feed/ XML 02:35, Friday, 18 October 03:15, Friday, 18 October
https://www.loomio.com/blog/feed/ XML 02:00, Friday, 18 October 02:46, Friday, 18 October
https://www.newstatesman.com/feeds/blogs/laurie-penny.rss XML 02:35, Friday, 18 October 03:16, Friday, 18 October
https://www.patreon.com/graveyardgreg/posts/comic.rss XML 02:21, Friday, 18 October 03:08, Friday, 18 October
https://www.rightmove.co.uk/rss/property-for-sale/find.html?locationIdentifier=REGION^876&maxPrice=240000&minBedrooms=2&displayPropertyType=houses&oldDisplayPropertyType=houses&primaryDisplayPropertyType=houses&oldPrimaryDisplayPropertyType=houses&numberOfPropertiesPerPage=24 XML 02:35, Friday, 18 October 03:18, Friday, 18 October
Humble Bundle Blog XML 02:21, Friday, 18 October 03:08, Friday, 18 October
I, Cringely XML 02:21, Friday, 18 October 03:09, Friday, 18 October
Irregular Webcomic! XML 02:35, Friday, 18 October 03:16, Friday, 18 October
Joel on Software XML 02:00, Friday, 18 October 02:46, Friday, 18 October
Judith Proctor's Journal XML 02:35, Friday, 18 October 03:15, Friday, 18 October
Krebs on Security XML 02:35, Friday, 18 October 03:16, Friday, 18 October
Lambda the Ultimate - Programming Languages Weblog XML 02:35, Friday, 18 October 03:15, Friday, 18 October
Looking For Group XML 02:35, Friday, 18 October 03:19, Friday, 18 October
LWN.net XML 02:35, Friday, 18 October 03:16, Friday, 18 October
Mimi and Eunice XML 02:35, Friday, 18 October 03:20, Friday, 18 October
Neil Gaiman's Journal XML 02:35, Friday, 18 October 03:15, Friday, 18 October
Nina Paley XML 02:21, Friday, 18 October 03:08, Friday, 18 October
O Abnormal – Scifi/Fantasy Artist XML 02:35, Friday, 18 October 03:20, Friday, 18 October
Oglaf! -- Comics. Often dirty. XML 02:21, Friday, 18 October 03:09, Friday, 18 October
Oh Joy Sex Toy XML 02:35, Friday, 18 October 03:19, Friday, 18 October
Order of the Stick XML 02:35, Friday, 18 October 03:19, Friday, 18 October
Original Fiction Archives - Reactor XML 02:07, Friday, 18 October 02:49, Friday, 18 October
OSnews XML 02:35, Friday, 18 October 03:20, Friday, 18 October
Paul Graham: Unofficial RSS Feed XML 02:35, Friday, 18 October 03:20, Friday, 18 October
Penny Arcade XML 02:07, Friday, 18 October 02:49, Friday, 18 October
Penny Red XML 02:35, Friday, 18 October 03:20, Friday, 18 October
PHD Comics XML 02:35, Friday, 18 October 03:24, Friday, 18 October
Phil's blog XML 02:21, Friday, 18 October 03:09, Friday, 18 October
Planet Debian XML 02:35, Friday, 18 October 03:20, Friday, 18 October
Planet GNU XML 02:35, Friday, 18 October 03:16, Friday, 18 October
Planet Lisp XML 02:35, Friday, 18 October 03:24, Friday, 18 October
Pluralistic: Daily links from Cory Doctorow XML 02:35, Friday, 18 October 03:15, Friday, 18 October
PS238 by Aaron Williams XML 02:21, Friday, 18 October 03:09, Friday, 18 October
QC RSS XML 02:21, Friday, 18 October 03:08, Friday, 18 October
Radar XML 02:07, Friday, 18 October 02:49, Friday, 18 October
RevK®'s ramblings XML 02:00, Friday, 18 October 02:46, Friday, 18 October
Richard Stallman's Political Notes XML 02:35, Friday, 18 October 03:24, Friday, 18 October
Scenes From A Multiverse XML 02:21, Friday, 18 October 03:08, Friday, 18 October
Schneier on Security XML 02:35, Friday, 18 October 03:15, Friday, 18 October
SCHNEWS.ORG.UK XML 02:35, Friday, 18 October 03:19, Friday, 18 October
Scripting News XML 02:07, Friday, 18 October 02:49, Friday, 18 October
Seth's Blog XML 02:00, Friday, 18 October 02:46, Friday, 18 October
Skin Horse XML 02:07, Friday, 18 October 02:49, Friday, 18 October
Spinnerette XML 02:35, Friday, 18 October 03:19, Friday, 18 October
Tales From the Riverbank XML 02:35, Friday, 18 October 03:24, Friday, 18 October
The Adventures of Dr. McNinja XML 02:35, Friday, 18 October 03:20, Friday, 18 October
The Bumpycat sat on the mat XML 02:35, Friday, 18 October 03:15, Friday, 18 October
The Daily WTF XML 02:00, Friday, 18 October 02:46, Friday, 18 October
The Monochrome Mob XML 02:35, Friday, 18 October 03:16, Friday, 18 October
The Non-Adventures of Wonderella XML 02:35, Friday, 18 October 03:18, Friday, 18 October
The Old New Thing XML 02:35, Friday, 18 October 03:19, Friday, 18 October
The Open Source Grid Engine Blog XML 02:21, Friday, 18 October 03:08, Friday, 18 October
The Stranger XML 02:35, Friday, 18 October 03:20, Friday, 18 October
towerhamletsalarm XML 02:00, Friday, 18 October 02:46, Friday, 18 October
Twokinds XML 02:07, Friday, 18 October 02:49, Friday, 18 October
UK Indymedia Features XML 02:07, Friday, 18 October 02:49, Friday, 18 October
Uploads from ne11y XML 02:00, Friday, 18 October 02:46, Friday, 18 October
Uploads from piasladic XML 02:35, Friday, 18 October 03:18, Friday, 18 October
Use Sword on Monster XML 02:21, Friday, 18 October 03:08, Friday, 18 October
Wayward Sons: Legends - Sci-Fi Full Page Webcomic - Updates Daily XML 02:00, Friday, 18 October 02:46, Friday, 18 October
what if? XML 02:35, Friday, 18 October 03:16, Friday, 18 October
Whatever XML 02:35, Friday, 18 October 03:24, Friday, 18 October
Whitechapel Anarchist Group XML 02:35, Friday, 18 October 03:24, Friday, 18 October
WIL WHEATON dot NET XML 02:35, Friday, 18 October 03:19, Friday, 18 October
wish XML 02:35, Friday, 18 October 03:20, Friday, 18 October
Writing the Bright Fantastic XML 02:35, Friday, 18 October 03:19, Friday, 18 October
xkcd.com XML 02:35, Friday, 18 October 03:18, Friday, 18 October