Things Coming Out Next

Jun. 16th, 2025 01:49 pm
marthawells: (Witch King)
[personal profile] marthawells
Storyteller: A Tanith Lee Tribute Anthology

Out in ebook and paperback on July 1. My story is "Data Ghost"

https://bookshop.org/p/books/storyteller-a-tanith-lee-tribute-anthology/a74b320486117220?ean=9798992595406&next=t

https://www.kobo.com/us/en/ebook/storyteller-a-tanith-lee-tribute-anthology?sId=e0bafab6-32a8-4ffb-9436-2dcda473349c

Edited by Julie C. Day, Carina Bissett, and Craig Laurance Gidney. Stories by Martha Wells, Andy Duncan, C.S.E. Cooney, Nisi Shawl, Mike Allen, Alaya Dawn Johnson, CL Hellisen, Maya Deane, Rocío Rincón Fernández, Theodora Goss, Getty Hesse, Starlene Justice, Amelia Mangan, Michael Yuya Montroy, Marisca Pichette, KT Wagner.

Sixteen new stories from some of today's most renowned authors. All inspired by the master storyteller Tanith Lee.

Drowning cities and unicorns. Burning deserts and forgotten gods. Golems, elf warriors, and inner-Earthers. Alien lifeforms and museum workers. Ancient plagues and the future of humanity. The familiar and the fantastical. Each story in this anthology is both unique and compelling: from fairy-tale retellings to romance-tinged high fantasy, from nihilistic horror to gripping science fiction. Immersive, wide-ranging, and sublime, Storyteller features worlds and characters that are sure to travel with you long after the last page has been read.



***


Short Story: "Rapport: Friendship, Solidarity, Communion, Empathy" by Martha Wells

will be available on Reactor Magazine on July 10

Illustrated by Jaime Jones
Edited by Lee Harris

Perihelion and its crew embark on a dangerous new mission at a corporate-controlled station in the throes of a hostile takeover...


***


Summer of Science Fiction & Fantasy: Martha Wells in conversation with Kate Elliott

https://www.clarionwest.org/event/summer-of-science-fiction-fantasy-martha-wells-in-conversation-with-kate-elliott/


July 30 @ 6:00 pm – 7:30 pm PDT

The Clarion West Summer Reading Series will be held virtually and streamed live over Zoom during the Six-Week Workshop.

Join us for our final event, a conversation between Martha Wells and Kate Elliott!

This event will begin with a conversation between Martha and Kate. There will be time to take questions from the audience. Participants will be able to submit questions in the webinar.



***


The New Yorker announced "Platform Decay" will be the next Murderbot novella. No word on publication date yet.


***


Grimoire: A Grim Oak Press Anthology For Seattle Worldcon 2025

https://grimoakpress.com/products/grimoire-a-grim-oak-press-anthology-for-seattle-worldcon-2025

My story is a fantasy called "Birthright" which is reprint that's not currently available anywhere else.


***


Queen Demon, the sequel to Witch King, second book of the Rising World, is up for preorder and will be released in ebook, audiobook, and hardcover on October 7.

From the breakout SFF superstar author of Murderbot comes the remarkable sequel to the USA Today and Sunday Times bestselling novel, Witch King. A fantasy of epic scope, Queen Demon is a story of power and friendship, of trust and betrayal, and of the families we choose.

Dahin believes he has clues to the location of the Hierarchs' Well, and the Witch King Kai, along with his companions Ziede and Tahren, knowing there's something he isn't telling them, travel with him to the rebuilt university of Ancartre, which may be dangerously close to finding the Well itself.

Can Kai stop the rise of a new Hierarch?

And can he trust his companions to do what's right?


Bookshop.org https://bookshop.org/p/books/queen-demon-martha-wells/21751501?ean=9781250826916

B&N https://www.barnesandnoble.com/w/queen-demon-martha-wells/1146167707?ean=9781250826916

Kobo https://www.kobo.com/us/en/ebook/queen-demon

Audiobook Libro.fm https://libro.fm/audiobooks/9781250291981-queen-demon

Bakka-Phoenix (indie bookstore in Canada): https://bakkaphoenixbooks.com/item/3Czr8TaWU9-_fwJ25ytSCw

Another Murderbot interview

Jun. 16th, 2025 08:42 am
marthawells: Murderbot with helmet (Default)
[personal profile] marthawells
In ‘Murderbot,’ an anxious scientist and an autonomous robot develop a workplace-trauma bond

https://www.latimes.com/entertainment-arts/tv/story/2025-06-13/murderbot-episode-6-alexander-skarsgard-noma-dumezweni


Leading a TV series is a first for Dumezweni, who has previously been cast in smaller roles. She wasn’t convinced by the initial pitch at first because sci-fi hasn’t traditionally had a lot of major roles for actors of color.

“Usually I’d come in and play the receptionist,” she says. “I love to watch sci-fi. But I wondered: Who am I going to be in this sci-fi world?”

However, once she learned more about the world and the character, the actor changed her mind.

“It was an absolute joy to discover that there was nothing that Chris and Paul had to change to make it representational,” Dumezweni says. “It’s lovely not to have to fight for people’s positions in the world based on their skin color.”




ETA: Wanted to add this one real quick from BlueSky:

Vestal Magazine: Noma Dumezweni -- Off Canvas

https://www.vestalmag.com/noma-dumezweni


Set in a near future where the line between machine and human is increasingly blurred, Murderbot explores themes of identity, autonomy, and what it truly means to be alive through the eyes of a self-aware security android. Adapted from Martha Wells’s beloved The Murderbot Diaries novels, the series blends gripping sci-fi action with sharp, witty humor. At the heart of the story is Noma Dumezweni’s portrayal of Dr. Ayda Mensah, the thoughtful leader of a pacifist civilization struggling to uphold her community’s ideals amid a universe dominated by corporate greed and political tensions. Noma brings to the role a grounded strength, embodying the delicate balance between idealism and pragmatism as her character wrestles with the burdens of leadership and moral compromise. The parallels between Noma and Ayda run deep: both choose to lead with heart, courage, and conviction. “Your head will try to talk you out of that feeling of expansion. It will tell you, ‘You can’t do this,’” Noma says. “Trust your body, trust your instinct. Your body knows the truth.” That instinct and bravery have guided her career, from becoming the first Black actress to portray Hermione Granger on stage, a landmark moment for representation in theater, to winning two Laurence Olivier Awards and becoming a beacon of inspiration for a new generation of actors. Like Ayda, Noma has forged a path not only of leadership, but of quiet, transformative power.

Lovely photos in this!

In (near) Prague

Jun. 14th, 2025 08:18 am
rmc28: Rachel in hockey gear on the frozen fen at Upware, near Cambridge (Default)
[personal profile] rmc28

On an ice hockey camp in Slaný, near Prague. I flew out on Thursday afternoon with two friends from Kodiaks. We arrived at the rink hotel in time to check in, have a little walk down to the nearby supermarket and get food, and settle in for the night. For reasons the three of us were all sharing a dormitory room the first night, and we decided the perfect film to watch over our picnic dinner was Inside Out 2 - also set at a 3-day hockey camp. I hadn't seen it before, though the other two had, and I enjoyed it very much.

Friday morning was pretty relaxed; a fourth Kodiak joined us after leaving home at awful-o-clock in the morning, and we were moved into the nicer ensuite twin rooms in pairs for the rest of the camp. We met in the dressing room at 1pm, were on ice at 2pm and again at 6pm, with a stickhandling session in between. Then dinner at 8 and falling into bed not long after.

It's excellent coaching, I'm being pushed well out of my comfort zone and the balance of drill and rest in each session and between sessions is just right. I hit my "cannot actually skate any more" limit about 3 minutes before the end of the last ice session.

Today will be two ice sessions at either end of the day, with video review (argh), optional swim+spa (yes!), and stickhandling again in between. My muscles this morning are making themselves known but I'm not exhausted. All is good. Time to go get changed.

Murderbot Day

Jun. 13th, 2025 12:08 pm
marthawells: Murderbot with helmet (Default)
[personal profile] marthawells
* Interview with Sue Chan, the production designer:

https://filmstories.co.uk/news/murderbot-designing-a-future-world-that-doesnt-look-like-alien/

“I started out by taking the most ancient societies on each continent – Etruscans, Asian, European, and African cultures,” Chan tells us. “I looked at the most fundamental motifs and gathered them into a bible, then asked my team to imagine 100 generations from now, when the diaspora of Earth have chosen to live together in society. How would they evolve a unified set of symbols? A language that really honours where they came from.”

This informed the alphabet that can be seen in the decoration painted across the otherwise grey, corporate habitat the PresAux crew are leasing. At the same time, acknowledging how much of the crew is queer and polyamorous, the colours of the rainbow are also entwined into their decorations.

“All of that is mashed up but it has a fundamental logic to it,” says Chan.




* Interview with Akshay Khanna (Ratthi):

https://squaremile.com/style/akshay-khanna-murderbot-actor-interview/

I’m incredibly excited for people to watch Murderbot on Apple TV+. Sci-fi has been my favourite genre by a country mile forever, and being on a show like this has always been a career goal of mine. Frankly, I had too much fun filming that show, and getting paid to do it constantly felt like I was getting away with something on set.

And the show is just so good. I can confidently say it’s fantastic – and if you don’t like it, then I would gently tell you that it’s OK to be wrong sometimes.



* Interview with Sabrina Wu (Pin-Lee):

https://www.autostraddle.com/sabrina-wu-interview-murderbot/

And then once I got the role, I read the books and I was legit just blown away at how funny the books were. I just haven’t seen such a dry sarcastic sensibility with this kind of hero sci-fi stories. And then I also just really liked that it was in the tradition of I felt like Octavia Butler, where it’s like, “oh, this is a queer imagining of the future.” So I don’t know. I just thought it was a really sweet, funny, different world. I also, obviously every comedian who becomes an actor, their dream is to get to work on something with action to move beyond an It’s Always Sunny kind of comedy. I believe there was already an opportunity for me to be in a spaceship and shoot guns, and it just made me happy that it was genuinely funny source material.



* Video interview with Tattiawna Jones (Arada) and Tamara Podemski (Bharadwaj):

https://www.youtube.com/watch?v=NllgfEekw9s



* And a video interview with Noma Dumezweni (Mensah)

https://www.youtube.com/watch?v=_ZpigqUqZXQ



* and a video interview with Noma and David Dastmalchian (Gurathin)

https://www.youtube.com/watch?v=361cKOujISE



* And a video interview (with a transcript) with Alexander Skarsgard, Jack McBrayer, and Paul and Chris Weitz:

https://collider.com/murderbot-alexander-skarsgard-jack-mcbrayer-creators-paul-weitz-chris-weitz/


* And there is a profile of me in The New Yorker (!!)

https://www.newyorker.com/culture/persons-of-interest/do-androids-dream-of-anything-at-all


* ETA: In ‘Murderbot,’ an anxious scientist and an autonomous robot develop a workplace-trauma bond

https://www.latimes.com/entertainment-arts/tv/story/2025-06-13/murderbot-episode-6-alexander-skarsgard-noma-dumezweni


Leading a TV series is a first for Dumezweni, who has previously been cast in smaller roles. She wasn’t convinced by the initial pitch at first because sci-fi hasn’t traditionally had a lot of major roles for actors of color.

“Usually I’d come in and play the receptionist,” she says. “I love to watch sci-fi. But I wondered: Who am I going to be in this sci-fi world?”

However, once she learned more about the world and the character, the actor changed her mind.

“It was an absolute joy to discover that there was nothing that Chris and Paul had to change to make it representational,” Dumezweni says. “It’s lovely not to have to fight for people’s positions in the world based on their skin color.”




*
ETA: Wanted to add this one real quick from BlueSky:

Vestal Magazine: Noma Dumezweni -- Off Canvas

https://www.vestalmag.com/noma-dumezweni


Set in a near future where the line between machine and human is increasingly blurred, Murderbot explores themes of identity, autonomy, and what it truly means to be alive through the eyes of a self-aware security android. Adapted from Martha Wells’s beloved The Murderbot Diaries novels, the series blends gripping sci-fi action with sharp, witty humor. At the heart of the story is Noma Dumezweni’s portrayal of Dr. Ayda Mensah, the thoughtful leader of a pacifist civilization struggling to uphold her community’s ideals amid a universe dominated by corporate greed and political tensions. Noma brings to the role a grounded strength, embodying the delicate balance between idealism and pragmatism as her character wrestles with the burdens of leadership and moral compromise. The parallels between Noma and Ayda run deep: both choose to lead with heart, courage, and conviction. “Your head will try to talk you out of that feeling of expansion. It will tell you, ‘You can’t do this,’” Noma says. “Trust your body, trust your instinct. Your body knows the truth.” That instinct and bravery have guided her career, from becoming the first Black actress to portray Hermione Granger on stage, a landmark moment for representation in theater, to winning two Laurence Olivier Awards and becoming a beacon of inspiration for a new generation of actors. Like Ayda, Noma has forged a path not only of leadership, but of quiet, transformative power.

Lovely photos in this!
fanf: (Default)
[personal profile] fanf

After I found some issues with my benchmark which invalidated my previous results, I have substantially revised my previous blog entry. There are two main differences:

  • A proper baseline revealed that my amd64 numbers were nonsense because I wasn’t fencing enough, and after tearing my hair out and eventually fixing that I found that the bithack conversion is one or two cycles faster.

  • A newer compiler can radically improve the multiply conversion on arm64 so it’s the same speed as the bithack conversion; I've added some source and assembly snippets to the blog post to highlight how nice arm64 is compared to amd64 for this task.

To-read pile, 2025, May

Jun. 9th, 2025 07:31 pm
rmc28: (reading)
[personal profile] rmc28

Books on pre-order:

  1. Queen Demon (Rising World 2) by Martha Wells (7 Oct 2025)

Books acquired in May:

  • and read:
    1. Copper Script by KJ Charles
    2. Red Boar's Baby by Lauren Esker
  • and unread:
    1. The Wrath & The Dawn by Renée Ahdieh [3]
    2. The Unexpected Inheritance of Inspector Chopra by Vaseem Khan [3]
    3. Kidnap on the California Comet by M.G. Leonard & Sam Sedgman [3]
    4. Betrayal (Trinity 1) by Fiona McIntosh [3]

Borrowed books read in May:

  1. The Good Thieves by Katherine Rundell
  2. One Christmas Wish by Katherine Rundell
  3. You Have a Match by Emma Lord [2][6]

I continue to not read much (by my standards). I did not manage to read any of the physical books I had out of the library until they needed to be returned, and I've got several half-finished books in progress. (Oh, and in writing this I've realised I already have the Renée Ahdieh book in ebook, and haven't read it there either!)

[1] Pre-order
[2] Audiobook
[3] Physical book
[4] Crowdfunding
[5] Goodbye read
[6] Cambridgeshire Reads/Listens
[7] FaRoFeb / FaRoCation / Bookmas / HRBC
[8] Prime Reading / Kindle Unlimited

performance of random floats

Jun. 8th, 2025 03:15 am
fanf: (Default)
[personal profile] fanf

https://dotat.at/@/2025-06-08-floats.html

A couple of years ago I wrote about random floating point numbers. In that article I was mainly concerned about how neat the code is, and I didn't pay attention to its performance.

Recently, a comment from Oliver Hunt and a blog post from Alisa Sireneva prompted me to wonder if I made an unwarranted assumption. So I wrote a little benchmark, which you can find in pcg-dxsm.git.

(Note 2025-06-09: I've edited this post substantially after discovering some problems with the results.)

recap

Briefly, there are two basic ways to convert a random integer to a floating point number between 0.0 and 1.0:

  • Use bit fiddling to construct an integer whose format matches a float between 1.0 and 2.0; this is the same span as the result but with a simpler exponent. Bitcast the integer to a float and subtract 1.0 to get the result.

  • Shift the integer down to the same range as the mantissa, convert to float, then multiply by a scaling factor that reduces it to the desired range. This produces one more bit of randomness than the bithacking conversion.

(There are other less basic ways.)

code

The double precision code for the two kinds of conversion is below. (Single precision is very similar so I'll leave it out.)

It's mostly as I expect, but there are a couple of ARM instructions that surprised me.

bithack

The bithack function looks like:

double bithack52(uint64_t u) {
    u = ((uint64_t)(1023) << 52) | (u >> 12);
    return(bitcast(double, u) - 1.0);
}

It translates fairly directly to amd64 like this:

bithack52:
    shr     rdi, 12
    movabs  rax, 0x3ff0000000000000
    or      rax, rdi
    movq    xmm0, rax
    addsd   xmm0, qword ptr [rip + .number]
    ret
.number:
    .quad   0xbff0000000000000

On arm64 the shift-and-or becomes one bfxil instruction (which is a kind of bitfield move), and the constant -1.0 is encoded more briefly. Very neat!

bithack52:
    mov     x8, #0x3ff0000000000000
    fmov    d0, #-1.00000000
    bfxil   x8, x0, #12, #52
    fmov    d1, x8
    fadd    d0, d1, d0
    ret

multiply

The shift-convert-multiply function looks like this:

double multiply53(uint64_t u) {
    return ((double)(u >> 11) * 0x1.0p-53);
}

It translates directly to amd64 like this:

multiply53:
    shr       rdi, 11
    cvtsi2sd  xmm0, rdi
    mulsd     xmm0, qword ptr [rip + .number]
    ret
.number:
    .quad     0x3ca0000000000000

GCC and earlier versions of Clang produce the following arm64 code, which is similar though it requires more faff to get the constant into the right register.

multiply53:
    lsr     x8, x0, #11
    mov     x9, #0x3ca0000000000000
    ucvtf   d0, x8
    fmov    d1, x9
    fmul    d0, d0, d1
    ret

Recent versions of Clang produce this astonishingly brief two instruction translation: apparently you can convert fixed-point to floating point in one instruction, which gives us the power of two scale factor for free!

multiply53:
    lsr     x8, x0, #11
    ucvtf   d0, x8, #53
    ret

benchmark

My benchmark has 2 x 2 x 2 tests:

  • bithacking vs multiplying

  • 32 bit vs 64 bit

  • sequential integers vs random integers

I ran the benchmark on my Apple M1 Pro and my AMD Ryzen 7950X.

These functions are very small and work entirely in registers so it has been tricky to measure them properly.

To prevent the compiler from inlining and optimizing the benchmark loop to nothing, the functions are compiled in a separate translation unit from the test harness. This is not enough to get plausible measurements because the CPU overlaps successive iterations of the loop, so we also use fence instructions.

On arm64, a single ISB (instruction stream barrier) in the loop is enough to get reasonable measurements.

I have not found an equivalent of ISB on amd64, so I'm using MFENCE. It isn't effective unless I pass the argument and return values via pointers (because it's a memory fence) and place MFENCE instructions just before reading the argument and just after writing the result.

results

In the table below, the leftmost column is the number of random bits; "old" is arm64 with older clang, "arm" is newer clang, "amd" is gcc.

The first line is a baseline do-nothing function, showing the overheads of the benchmark loop, function call, load argument, store return, and fences.

The upper half measures sequential numbers, the bottom half is random numbers. The times are nanoseconds per operation.

         old    arm    amd

    00  21.44  21.41  21.42

    23  24.28  24.31  22.19
    24  25.24  24.31  22.94
    52  24.31  24.28  21.98
    53  25.32  24.35  22.25

    23  25.59  25.56  22.86
    24  26.55  25.55  23.03
    52  27.83  27.81  23.93
    53  28.57  27.84  25.01

The times vary a little from run to run but the difference in speed of the various loops is reasonably consistent.

The numbers on arm64 are reasonably plausible. The most notable thing is that the "old" multiply conversion is about 3 or 4 clock cycles slower, but with a newer compiler that can eliminate the multiply, it's the same speed as the bithacking conversion.

On amd64 the multiply conversion is about 1 or 2 clock cycles slower than the bithacking conversion.

conclusion

The folklore says that bithacking floats is faster than normal integer to float conversion, and my results generally agree with that, apart from on arm64 with a good compiler. It would be interesting to compare other CPUs to get a better idea of when the folklore is right or wrong -- or if any CPUs perform the other way round!

A mostly-free day

Jun. 7th, 2025 10:31 am
rmc28: Rachel post-game, slumped sideways in a chair eyes closed (tired)
[personal profile] rmc28

I'm playing an ice hockey game tonight in Cambridge, a charity fundraiser between Warbirds and Tri-Base Lightning. But until then I have a strangely unscheduled day. I might sleep or read or something.

I could post about what I've been up to lately!

Work:

  • spoke on a panel about effective 1:1s, it seemed to go well
  • played my usual Senior Tech Woman role for a colleague's recruitment panel, and am happy that our preferred candidate has apparently just accepted. (a frustrating number of timewasting applicants more or less obviously using LLMs to write their applications and generate their free-text statements on suitability for the role; I really resent having to wade through paragraphs of verbose buzzword bilge to ... fail to find any evidence they actually know how to do the job)

Hockey:

  • KODIAKS WON PLAYOFFS on the bank holiday weekend oh yes they did. So proud of the players, and definitely earned my share of reflected glory managing the team this season and running around half the weekend. League winners, Cup winners, Playoff winners, promotion to Division 1 next season, utter delight.
  • Very much an Insufficient Sleep weekend, we topped off the playoff win with a night out in Sheffield, I got back to my hotel as the sky was getting light, good times.
  • Kodiaks awards evening last night: lots of celebration of the hard work and lovely camaraderie of this group of players, A and B teams both. I got to announce and hand out the B team awards, and I received a really nice pair of gifts for me as manager: a canvas print of a post-final winners photo, and a personalised insulated travel mug (club logo and MANAGER on it). I love this team.
  • I'm still enjoying also playing with Warbirds, and have now been to a few summer Friday scrimmages run by Tri-Base. I went to a couple of Friday scrims at the end of last summer and felt everyone was very kind but I was pretty outclassed. I'm pleased to feel like I'm keeping up a bit better now after training a lot harder this last season.
  • I trained three days in a row this week (Warbirds Monday, Haringey Greyhounds tryouts in Alexandra Palace on Tuesday, Kodiaks Wednesday) and that was Too Much and I was pretty sore Wednesday evening and Thursday. Rest days are important even if I am much improved in fitness compared to this time last year.

Other:

  • I did a formal hall at my old College! Using my alumna rights and having a nice evening hanging out with old friends (who were the ones to suggest the plan). Good times, will do again but probably not this term.
  • I had an excessive number of books out from Suffolk libraries that needed returning, so I did a flying visit to Newmarket by bus last Saturday, this turned out to be the cheapest/quickest way across the county border. I managed to stick to my resolution not to borrow any more physical books but slipped and fell on the "withdrawn books for sale" stand. Managed to only come home with four.
  • I did a little indoor cricket the Friday before playoffs (it's now finished due to exam period), and some nets practice last Sunday, but I keep being too busy to actually play any of my team's games. I'd like to do more nets practice though, that was intense but also felt like I was beginning to improve.
  • I did a little table tennis with Active Staff but that's also now suspended for exams. I'm considering getting a cheap set of bats and balls for me and the family to go use at the local rec ground, or in the free indoor tables at the Grafton Centre.

Coming up: my summer is full of ice hockey camps and tournaments (Prague, Hull, Sheffield, Biarritz) and my old club Streatham have just announced all their summer training sessions will be "Summer Skills Camps" open to all interested WNIHL players, so I'm looking at going to London regularly again in July and August.