I used to always want to rewrite my code. Maybe even use another programming language. « If only I could rewrite my code, it would be so much better now. »
If you maintain software projects, you see it all the time. Someone new comes along and they want to start rewriting everything. They always have subjective arguments: it is going to be more maintainable or safer or just more elegant.
If your code is battle tested… then the correct instinct is to be conservative and keep your current code. Sometimes you need to rewrite your code : you made a mistake or must change your architecture. But most times, the old code is fine and investing time in updating your current code is better than starting anew.
The great intellectual Robin Hanson argues that software ages. One of his arguments is that software engineers say that it does. That’s what engineers feel but whether it is true is another matter.
« Before Borland’s new spreadsheet for Windows shipped, Philippe Kahn, the colorful founder of Borland, was quoted a lot in the press bragging about how Quattro Pro would be much better than Microsoft Excel, because it was written from scratch. All new source code! As if source code rusted. The idea that new code is better than old is patently absurd. Old code has been used. It has been tested. Lots of bugs have been found, and they’ve been fixed. There’s nothing wrong with it. It doesn’t acquire bugs just by sitting around on your hard drive. Au contraire, baby! Is software supposed to be like an old Dodge Dart, that rusts just sitting in the garage? Is software like a teddy bear that’s kind of gross if it’s not made out of all new material? » (Joel Spolsky)
Most programmers are familiar with IP addresses. They take the form
of four numbers between 0 and 255 separated by dots: 192.168.0.1.
In some sense, it is a convoluted way to represent a 32-bit integer.
The modern version of an IP address is IPv6 which is usually surrounded
by square brackets. It is less common in my experience.
What if you want high speed without too much work or a specialized library? You can try to roll your own. But since I am civilized programmer, I just asked my favorite AI to write it for me.
// Parse an IPv4 address starting at 'p'.// p : start pointer, pend: end of the stringstd::expected<uint32_t,parse_error>parse_manual(constchar*p,constchar*pend){uint32_tip=0;intoctets=0;while(p<pend&&octets<4){uint32_tval=0;constchar*start=p;while(p<pend&&*p>='0'&&*p<='9'){val=val*10+(*p-'0');if(val>255){returnstd::unexpected(invalid_format);}p++;}if(p==start||(p-start>1&&*start=='0')){returnstd::unexpected(invalid_format);}ip=(ip<<8)|val;octets++;if(octets<4){if(p==pend||*p!='.'){returnstd::unexpected(invalid_format);}p++;// Skip dot}}if(octets==4&&p==pend){returnip;}else{returnstd::unexpected(invalid_format);}}
It was immediately clear to me that this function was not as fast as it could be. I then asked the AI to improve the result by using the fact that each number is made of between one and three digits. I got the following reasonable function.
std::expected<uint32_t,parse_error>parse_manual_unrolled(constchar*p,constchar*pend){uint32_tip=0;intoctets=0;while(p<pend&&octets<4){uint32_tval=0;if(p<pend&&*p>='0'&&*p<='9'){val=(*p++-'0');if(p<pend&&*p>='0'&&*p<='9'){if(val==0){ returnstd::unexpected(invalid_format);
}val=val*10+(*p++-'0');if(p<pend&&*p>='0'&&*p<='9'){val=val*10+(*p++-'0');if(val>255){ returnstd::unexpected(invalid_format);
}}}}else{returnstd::unexpected(parse_error::invalid_format);}ip=(ip<<8)|val;octets++;if(octets<4){if(p==pend||*p!='.'){returnstd::unexpected(invalid_format);}p++;// Skip the dot}}if(octets==4&&p==pend){returnip;}else{returnstd::unexpected(invalid_format);}}
Nice work AI!
In C++, we have standard functions to parse numbers (std::from_chars) which can significantly simplify the code.
You can also use the fast_float library as a substitute for std::from_chars. The latest version of fast_float has faster 8-bit integer parsing thanks to Shikhar Soni (with a fix by Pavel Novikov).
Let us try with GCC 12 and an Intel Ice Lake processor (3.2 GHz) using GCC 12.
function
instructions/ip
ns/ip
manual
219
30
manual (unrolled)
154
24
from_chars
220
29
fast_float
211
18
And finally, let us try with a Chinese Longsoon 3A6000 processor (2.5 GHz) using LLVM 21.
function
instructions/ip
ns/ip
manual
187
29
manual (unrolled)
109
21
from_chars
191
39
fast_float
193
27
The optimization work on the fast_float library paid off. The difference is especially striking on the x64 processor.
What is also interesting in my little experiment is that I was able to get the AI to produce faster code with relatively little effort on my part. I did have to ‘guide’ the AI. Does that mean that I can retire? Not yet. But I am happy that I can more quickly get good reference baselines, which allows me to better focus my work where it matters.
Reference: The fast_float C++ library is a fast number parsing library part of GCC and major web browsers.
Alita: Battle Angel is a $170 million dollar production from 2019 that feels and plays like modern CGI effects were superimposed on a cheap, janky science fiction film from 1985, the sort of $6 million, B-movie-level schlock that was put out at the time by Cannon Films or New World Cinema, two of the most notable “make ’em cheap, make our money in home video” studios of that era.
This sounds like an insult, I’m aware, and I’m not sure there’s an easy way to assure anyone that it’s not. I am not saying this film is prettied-up crap. I am saying it has a vibe, and the vibe is: the other movie you rent from a video store on a Friday night, once you’ve gotten the actual movie you came for from the “New Releases” shelf. You know, the one starring that TV actor whose series ended three years ago, and the Playmate of the Year from a decade back. The one that you had to decide between it and a Chuck Norris flick. That film. This is that film. It’s that film, on a whole lot of steroids and Muscle Milk. You can thank Robert Rodriguez for that. More on that in a second.
To call Alita a rehabbed 80s video store second pick is slightly anachronistic. The manga upon which based, in which an android warrior left on a junk heap searches for clues about her identity, debuted in 1990 and would eventually encompass nine volumes. It caught the attention of James Cameron, who apparently heard of it from Guillermo Del Toro(!). For a while Cameron was committed to directing it, but eventually picked another project instead, which would eventually become Avatar, a little indie film that struggled at first to find an audience but would eventually become a cult favorite. Cameron’s attention as a director was thus diverted, but he was still on board as a producer, and after some time another director was found: Robert Rodriguez.
Robert Rodriguez fascinates me a little because he is either a true cinematic polymath, or he’s a weird little control freak, or maybe he’s a little bit of both at the same time. He directs movies. He also writes them, which is not that unusual for a director to do. But then also edits them, acts as director of photography, operates the cameras, composes the scores, does production design, sound design and produces visual effects. It’s possible he acts as crafts services on his sets, too, I just haven’t found the IMDb listing for it.
Rodriguez rather famously got his start in film with El Mariachi, the 1992 action movie he made for just $7,000, if you don’t count the hundreds of thousands of dollars Columbia Pictures put into its post-production and the millions it spent marketing it. But hey, they were the ones to spend that money! Rodriguez himself only spent $7k! When the legend is more interesting than the facts, go with the legend.
No matter what, however, the movie was made for next to nothing, and Rodriguez wrote, directed, shot and edited the film, setting the tone for future projects. He worked fast and tight and lean, and in this, he absolutely resembled the filmmakers from the New World Cinema and Cannon Films eras, who were given not a lot of time and not a lot of money to get their films into the can and into theaters. Prior to Alita, only one of Rodriguez’s films had a budget over $50 million (Sin City: A Dame to Kill For, for $65 million), and nearly all of them made their production budgets back at the box office.
Is there a drawback to Rodriguez’s “fuck it, I’ll do it all myself” sort of sensibility? From a financial point of view, not really. From a creative presentation point of view… well, let’s just say Rodriguez does not lack for style, but you can feel when a corner is being cut, and he’s not always 100% percent in control of his film’s tone or his scripts. He’s mostly good, mostly fast, and mostly cheap, and also sometimes you get the feeling that along the way he says “good enough, print it” and moves on. If you’re a movie exec at a studio, you probably love this, because you know what? He’s probably right! And for what he spends on a movie, even when he’s not, you’re not out much. But that’s how you get the “second pick at the video store” vibe out a movie.
Which brings us back to Alita: Battle Angel. Rodriguez here is rather uncharacteristically credited only once, as director, but he also apparently did an uncredited pass on the script, paring it down from James Cameron’s original 180-page behemoth to something that could be watched without your bladder exploding before the third act (the final script is credited to Cameron and Laeta Kalogridis). The resulting script, however it was completed, is, charitably, disjointed. The progression Alita (Rosa Salazar) has from discarded android foundling to bounty hunter to rollerball athlete to avenging angel is telegraphed more than explained, and the forces she finds herself arrayed against, from bloodthirsty cyborgs to evil billionaires, never really gel into compelling menace. This is very definitely a “things happen because now is the time in the plot where they should happen” kind of movie. Corners, they be cut here!
If this bothers Rodriguez as a director, he gives no sign of it. He just keeps doing his job, shoving the story along, plot point to plot point, action set piece to action set piece. And you know what? His shoving mostly works! You’re not really given all that much time to wonder about the plot holes and omissions, because here’s Alita fighting cyborgs! Then kicking the ass of a whole bar full of cowardly bounty hunters! Then she’s off playing rollerball! (It’s not called rollerball, it’s “motorball,” but come on, there are roller skates and blood.) Rodriguez isn’t here to make much of his own mark visually — this is Jim Cameron’s (and the WETA effect house’s) world. He’s just here to direct traffic, with the biggest budget he’s ever had. He directs traffic just fine. It’s good enough. Print it.
What’s printed is all very heightened and melodramatic and maybe a little bit silly. It has the pulse and feel of a live action anime, because it pretty much is. In the janky 80s version of this film, all of the fight scenes would have been fought in a small dark room with chain link in it for some unfathomable reason, and the rollerball scenes would take place in a disused warehouse in San Pedro. Because it’s the 21st century and this movie has money behind it, we get the the widescreen CGI version with lots of destruction and chrome. The sets very much still feel like sets, though, just bigger, or at least extended by computers. Realism is not what they’re going for here.
Then there’s Rosa Salazar, who plays the title character. As with the Na’vi characters in James Cameron’s Avatar, Salazar’s Alita isn’t Salazar herself, it’s a performance capture. Salazar was on-set, acting the role, and then she was entirely painted out and replaced with a CG version of her character, one that has big anime eyes that skate her right up to the uncanny valley — which is the point for Alita, as she is not actually a human being but a cyborg. With that as a given, Salazar handles the progression from shy confused girl to badass warrior pretty well; what the script sort of slides over in terms of progression is given to her to perform. She provides the most nuanced performance in a film that does not exactly prize nuance.
(The other acting in this film ranges from perfunctory (Christoph Walz as the deceptively kindly doctor who finds Alita) to scene-chewing (Jackie Earle Haley as an improbably buff cyborg) to fluffy (Keean Johnson, as Alita’s love interest, whose hair in this film appears to have been stolen from a lesser Stamos brother). It is also weirdly packed with slumming Oscar winners, with Jennifer Connelly and Mahershala Ali joining Walz in the “too much gold hardware for this film” category. Everybody’s gotta eat, I suppose.)
None of this is brilliant filmmaking, even if it is efficient, and much of it isn’t even necessarily good, but damned if I can’t stop watching it. This is a movie I put on when I want my eyes to see something that I don’t necessarily need to reach my brain — which again sounds like an insult but is not. Sometimes you have a day when you are just plain done, and you want something with pretty lights and cool action scenes and easy-to-follow emotional cues. If doesn’t entirely track on the level of plot or storytelling, well, you’re not in a state to complain about it anyway.
When you’re having one of those days, a little Alita will cure what ails you. Sometimes that second-pick video is the one that hits the spot.
Yuletide very pleasant; usually I get a comment on an old fic or two in a fandom someone has rediscovered through Yuletide and gone on a deep dive for, but not this year!
About three or four inches of snow (7-10cm) fell overnight and I shoveled my front sidewalk and steps, because the snow removal guys had done next door but not us (?), and then tromped down to my assigned house in the neighborhood, where I shoveled the longest driveway in Rhode Island and enough sidewalk for two houses and what felt like two flights of front steps. Thank goodness it was light and powdery, and almost all of the above was in good repair so I didn't have to fight the asphalt like last year, but I earned every bite of the steak and eggs and homefries (not nearly as good as last time) at the diner.
And then C. and her kid and I went to the ZOO and saw CREATURES. Macaws! Ibis! Elephants! A two-year-old giraffe who is already trying to fuck the other giraffes in the enclosure (this is a good thing, they want genetically-diverse babies from him) but he's not tall enough yet! An anaconda 99.8% percent in the water in its tank, I wanted to boop its snout SO MUCH. Red pandas that were so fluffy they looked fake. The river otters were having so much fun in the snow and splashing in their pool. The docents were super friendly and the French fries were delicious. Would 100% zoo again.
I spent so much of Boxing Day curled on the couch with my books, I failed to notice it was snowing until well after dark when it glittered down through the streetlight in one of those soundstage tinsel veils. One of my goals for this afternoon was to get out into its Arctic wonderland, whose streets were spidered with ice and drift-blue with chemical salt instead of glacial age. I walked further than I had intended and had to come back across the snow of the imaginatively designated Veterans Memorial Park between the iron freeze of the Mystic River and the less elemental red lights of Route 16.
I have been sick for so long, I feel that I have once again come unplugged from any of the places where I live. I don't know that I will be any less sick in the immediately foreseeable future, but I have to try to socket myself back into these streets, this light, the inside of my own head. I remain so tired the latter feels emptier than I would like, but at least I am trying not to punt every idea that crosses it as pointlessly exhausting. In the meantime I am enjoying Eerie East Anglia: Fearful Tales of Field and Fen (ed. Edward Parnell, 2024) and Russell Hoban's The Bat Tattoo (2002).
Christmas was good but also SO MUCH. By the end of Boxing Day lunch I was trying to work out how much longer I had to stay in company, but I ended up in my mother's living room where she was silently playing a game on her new tablet and my sister's fiance was silently playing a game on his phone, and I just sat there silently reading on my phone for an hour and felt much better.
Family updates:
my sister is engaged! this came as a surprise to me and the brother who doesn't live near her, although mostly because we thought they were already engaged (there have been casual discussions about weddings going back some years)
my sister's endometriosis op in the autumn revealed that she does not in fact have endometriosis, but she did have a nasty tumour-y thing which was not cancer but apparently also not not cancer and now she is down one ovary and fallopian tube, which is particularly upsetting for her because all of this was part of the fertility investigations they've been working on
my middle nephew is dating a boy! He is definitely the least surprising candidate for this out of my niblings. Apparently he is not presently interested in labels, only in dating the person he likes, which seems perfectly reasonable to me, particularly since he's fourteen
Apparently I made a good decision to leave when I did on Christmas Day since several family members were already pretty drunk, and it sounds like it got significantly worse after I left! Not in a bad way - my family are generally very well-behaved drunks, they just enjoy themselves - but at least one person apparently needed considerable help to get upstairs to bed. Mum said "they were singing all sorts of things to Dad's guitar! Oasis and Simon & Garfunkel and lots of things!"; I said that sounded nice and she said "IT WASN'T" (I gather they were fairly raucous...)
Both my parents stayed home from the Boxing Day walk this year, which meant that for the first time in years I was not solely responsible for the cooking, and was surprisingly stressful (Dad: "Oh yes we can cook all six of those things in the last half hour before lunch!" Me, silently: YOU CAN FIT A MAXIMUM OF TWO THINGS INTO THE OVEN, AND I DON'T BELIEVE YOU HAVE ACCESS TO TIME TRAVEL). However my mildly panicked promptings did cause enough things to happen early that it wasn't a disaster (three or four things were cooked while we were eating and brought up as additional items, but that's fine). They didn't want to cook things early and let them get cold waiting around, which is very reasonable, but also if you are trying to cook:
three trays of sausage rolls (vegetarian spanakopita; sage and onion; cheese; chorizo; black pudding; "Chinese takeaway" (with five-spice, hoisin and soy sauces); homemade by my sister's fiance and apparently all very delicious - obviously I only had the spanakopita ones)
two trays of cheese potatoes
two sticks of garlic bread
a tray of pigs in blankets
three small trays of brie and cranberry parcels
a pack of chicken goujons
a small tray of beef and stuffing Yorkshire puddings(?!?)
a Greek omelette / fritatta thing
you cannot in fact do them all at once even if you have a four-oven Aga. Something is going to be lukewarm and this is simply a fact of reality. Particularly since the temperature starts dropping when you keep opening and closing the door, cooking lots of frozen items in it, etc etc, so the cooking times on the packaging become more and more distant from reality (the 17-minute brie and cranberry parcels had I think 35 minutes in the end and were only barely beginning to brown then).
Mum was pretty down about food things because - well, ok, she has pretty much spent six months during her chemo eating the exact same meals every day at the exact same times, which has been working for her, but means she does not yet have any real idea how to calculate the appropriate medication for meals with different food in them, or how to arrange them around eating at different times, or how to schedule everything so that she can still eat her before-bed weetabix to prevent any overnight hypos. I'm fairly sure this is a one-time problem, because by next year she'll have varied her diet and activity sufficiently to be able to work it out better. But right now she's feeling very confronted by how not-"normal" her life is, and it's been no fun for her.
But everyone had enough to eat and there were left-overs, so it was a success. Then I came home and did nothing and talked to no one and hopefully tomorrow I will have energy to start on my to-do list backlog.
I’ve barely posted about movies this year, so I decided to do a quick movie round-up - very quick, as I’ve watched barely any movies this year! Some years are just not movie years, I guess…
The Balloonatic: a remix of a Buster Keaton movie set to the music of… okay I should have taken notes, I can’t remember the band, suffice it to say that it was a recentish band to which you would perhaps not expect Buster Keaton to be set. Smashing Pumpkins maybe? Lots of interesting cutting of the film which I don’t really have the technical vocabulary to describe, but just like - cutting what was clearly once one long shot into multiple shots? Kind of synced to the music?
I dragged the Brunch Bunch along to this showing, and we agreed that we’d see another if another came to town. But as we were just about the only people in the theater it is perhaps unsurprising that the theater has not booked another. Even an arthouse cinema has to have an audience.
Interview with a Vampire: I posted a bit of comparison to the book, but did not take time to note that this movie is an A++ example of complete commitment to an aesthetic, the aesthetic in this case being “decadent opulence spattered in blood.” This is an occasional aesthetic for me rather than one I would like to live in, but I admire the commitment.
The Shape of Water: This was a big disappointment, to be honest. Guillermo del Toro’s Pan’s Labyrinth is one of my all-time favorites, so I went into this movie with high hopes, but honestly it just draaaaaaagged for me. Also highly doubt the ability of the fish-man from the Amazon to survive in the icy coastal waters of the Atlantic.
Kiki’s Delivery Service. A rewatch! Still one of my favorite movies, probably my top two Studio Ghibli with My Neighbor Totoro (but now I feel bad leaving out Spirited Away...) Love Kiki, love Jiji, love the richly detailed setting (which we dubbed “Francemany,” as it is clearly a mash-up of various European localities), love Miyazaki’s love of flying machines. This is an aesthetic I WOULD like to live in.
Also a couple of documentaries. Take Joy! The Magical World of Tasha Tudor is about Tudor’s life at Corgi Cottage, built and largely run in the style of a 19th century farmhouse, where Tudor lives with her goats, her doves, her corgyn (Tudor’s plural of corgi), her one-eyed cat Minou, and seven looms. (These are not all Tudor’s looms. Sometimes she gives house-space to a friend’s loom, if the friend doesn’t have loom room, a loom being a large contraption.) An inspiring example of building your own little world and living in it.
This theme is further developed in Take Peace: A Corgi Cottage Christmas with Tasha Tudor, an enchanting documentary perfect for anyone who has ever enjoyed Tasha Tudor’s Christmas illustrations, as the illustrations apparently draw extensively on Tasha Tudor’s own Christmas traditions or possibly vice versa, in a virtuous cycle of candlelit charm.
If you can’t find the documentary, the photo book Forever Christmas appears to have been made in conjunction, and includes some material not included in the film. Can’t believe they left out the sleigh ride!
Before I say anything, A would like you to know how extremely annoying it is that they played those "Arabian Nights" riffs every time the snake (Barry) appeared, and it would be annoying even if the plot ( Read more... )
They wouldn't shut up about it, so there we go. They're not wrong.
I enjoyed the last week or so of various celebratory meals and seeing people and getting/giving gifts.
But it's so exciting to have a normal day now.
One of the recycling bins will be emptied tomorrow!
I can go to the gym for the first time in two weeks! (I didn't, I was too tired (I keep forgetting to eat! I don't get hungry but I get exhausted!) but I can look forward to it tomorrow.)
We walking Teddy again today! (They've had visitors and others who asked to do it over the holiday, he is that much of a treat to walk.) All three of us could join it today, which was really nice; D got a cute selfie of us all and everything.
I can get a delivery slot for groceries again! (Tesco will bring us stuff tomorrow afternoon!)
Most importantly, normal stuff is happening but I am still off work. I am so tired I'm still sleeping a lot and tired all day.
Here are some Yuletide recs, sorted for your reading pleasure by whether or not you need to know the canon.
Do Not Need to Know Canon
Chalion/World of the Five Gods - Lois McMaster Bujold
a knock at your front door. I think all you need to know to read this story is that there are five Gods - the Mother, the Father, the Son, the Daughter, and the Bastard - who are definitely real but rarely interfere in human affairs. They can, however, make people saints - able to do limited miracles - if they need to. This story deals with the Father, the God least-explored in canon, and is set in modern-day Chalion. It's got a clever look at what modern Chalion might be like, a very likable main character, and some beautiful writing.
If you've never read the canon, I've linked it above. It's extremely short and you will be glad you did. There are other "Snake Fight" stories and they're all fun.
find the true. Mirrim and F'lar have a chat at a Gather. I enjoyed this conversation between two characters who I don't think ever exchange words in canon. Good characterization, good atmosphere.
Earthsea - Ursula K. Le Guin
to be useful, if not free. My gift! A backstory/canon diverge AU for Serret, the enchantress in A Wizard of Earthsea. Beautifully written, beautifully structured.
The Long Walk - Stephen King
There's No Discharge in the War. Stebbins in a time loop. Long, intense, often horrifying, sometimes very moving, and cleverly constructed story about Stebbins and the other Walkers.
"The Lottery" - Shirley Jackson; New Yorker RPF
Why one small American town won’t stop stoning its residents to death. Isaac Chotiner interviews the guy who runs the lottery in Shirley Jackson's "The Lottery." If you've never heard of him, he's a journalist who's very good at letting people hang themselves with their own words. The story is dead-on, hilarious, and chilling.
I want to taste the shadows, too. A lovely little casefic/character study about Adashino, the guy who collects mushi-related stuff. It really feels like an episode of the anime, especially the final portion.
Some Like It Hot
Anchors Away. A short and very sweet post-movie coda.
Watership Down - Richard Adams
There is no bargain. Five encounters with The Black Rabbit of Inlé. An exploration of how the Black Rabbit is different things to different rabbits in different circumstances, very well-done, sometimes moving, sometimes chilling. The Black Rabbit is Death, so warning for rabbit death.
I read Ballet Shoes but as I recall, the first Streatfeild that actually crossed my reading eyes was Party Frock, okay, not so iconic a work.
I have to confess that I was recommended The Hobbit in my first year at uni in that unprepossessing circumstance of 'bloke I was not terribly impressed with' pressing it upon me.
I was well past childhood when Watership Down became a lapine phenomenon, but have read it.
As far as I can recall, I read Treasure Island when I was 7 or 8 and have never returned to it, perhaps I should.
Have no memory of The Enchanted Wood as such, but am pretty sure Miss S in primary school read us The Magic Faraway Tree one afternoon.
My first contact with Anne of Green Gables was retold in pictures in either Girl or Princess but we subsequently acquired copies of this and ?one or two of the sequels, or were these in the school library?
Little Women: now that one I did read at a very early age.
Ditto the Alice books.
My Family and Other Animals was one of offerings of my parents' book club - how has it become a children's classic?
The Secret Garden and The Wind in the Willows (also the Pooh books which are shamefully missing from this list) were Christmastime special offers from aforementioned book club.
I have never read The Little Prince, though I've osmosed a certain amount about it.
I don't think I read The Railway Children until I was of maturer years: my first Nesbit was The House of Arden, borrowed from Our Friends Along the Street, and I think maybe The Treasure Seekers and The Wouldbegoods on primary school library shelf?
The Lion, the Witch and the Wardrobe was a Christmas present (Penguin edition) when I was 10 or 11, and I went on to read the rest via the good offices of the local public library.
These all seem a bit somehow obvious? Without disputing their classic status, it's still a somewhat banal line-up.
For some Darth Real Life reasons, I had less time than usual during the holidays to delve into the Yuletide archive, but I did have some chances, and here are some early results. ;)
Akhenaten - Glass
The lone and level sands stretch far away: or, Egptian historical fiction. Based on the opera, but can be read without having heard it yet knowing who Akhenaten was. Poetic and intense.
Greek Myths:
Mothers of the Brazen Spear: Andromache and three of her sisters-in-law after the Trojan war. Based on Euripides.
To Bite the World: in which Will and Kit talk and role play Richard III and Anne Neville. Matches the play really well.
Bride of the Rat God - Hambly :
A closer kinship: the crucial moment from the novel's backstory when Christine shows up in England to whisk Norah away. This is one of my favourite Barbara Hambly novels, and the characterisation of both women is perfect.
Copenhagen - Frayn:
Quantum Game Theory: Four alternate timelines where the Copenhagen meeting never happened, and one where it did. Clever, moving and profound.
Farscape:
Look after the Princess: in which Katralla from s2's Princess trilogy wakes up post- Peacekeeper Wars (there are plot reasons) to find herself in a mad adventure with Aeryn Sun. And Aeryn's baby. And the usual Farscape insanity. Really feels like an episode in the best way, and fleshes out Katralla to boot.
Also, there are still free spots if you want me to ramble on something on the January meme.
Hisako Ichiki is a perfectly normal Japanese school girl with perfectly normal social anxiety and depression and perfectly dreadful marks. Hisako also has a stalker.
Comment with Just One Thing you've accomplished in the last 24 hours or so. It doesn't have to be a hard thing, or even a thing that you think is particularly awesome. Just a thing that you did.
Feel free to share more than one thing if you're feeling particularly accomplished! Extra credit: find someone in the comments and give them props for what they achieved!
Nothing is too big, too small, too strange or too cryptic. And in case you'd rather do this in private, anonymous comments are screened. I will only unscreen if you ask me to.
Wrapping up this year's prompts! This isn't entirely the last of them, but I think after this one, I'm done with the ones that sparked story ideas, so I'll be declaring prompt amnesty and starting over fresh in the new year.
The prompt, which is somewhat spoilery for the fic[from an anon] Biggles prompt- on a case they run into/are made to work with someone who was nasty to Biggles in his school-days, who tries to renew such treatment, and EvS, also involved with whatever they're investigating, finds himself possessed of both an unexpected protective urge and in the rare position to offer his own "you're better than the people you're working for" speech
Gen, late in canon, Erich + team with perhaps slight EvS/Biggles undertones, 1800 wds Originally posted on Tumblr
Every year I'm like "I should really read the Neon Hemlock novellas" and then perhaps I actually manage to get around to reading one of them, but this year I ... thought I had read all of them because I thought there were only four published but it turns out in fact now that I check there were several more than that. Well! I read four of them! They were all very gay and very tropey; under these subheadings, I enjoyed two of them quite a bit, one of them didn't hit for me, and the last one I found incredibly frustrating, for personal reasons.
The two I liked were No Such Thing as Duty, by Lara Elena Donnelly, and The Oblivion Bride, by Caitlin Starling. Both of these have a definite air of fanfiction about them: No Such Thing As Duty is a 'what if my favorite historical guy met a sexy vampire' fic, the favorite historical guy in question is W. Somerset Maughan. I have come to the conclusion that I'm really quite charmed by this sort of thing as long as the favorite historical guy in question is not a pre-existing big seller like Christopher Marlowe or Charlotte Bronte but someone who I actually have to look up:* the author's real victory is in making me Wikipedia their special historical guy and go 'whoa, sure, lot going on here actually'
*I'm aware this is very subjective and there are many people out there who don't have to go to Google to know basic things about W. Somerset Maughan. But they ARE a lot fewer I think than the people who don't have to go to Google to know basic things about i.e. Lord Byron. That said, if you are experiencing boredom at the idea of Yet Another Sexy W. Somserset Maughan fic, I'd love to know about it.
The Oblivion Bride meanwhile is a classic Lesbian Arranged Marriage fic that, per the author's note, appears to have grown out of a Dishonored fic the author wrote several years back. I don't know anything about Dishonored so I can't tell you much about that. What I can tell you is that she's a normalgirl cadet member of an important family who's been thrust into an important political position because all her actual aristocratic relatives have mysteriously died, she's an icy cold Murder Alchemist General and also Magical Detective who's marrying her by order of the prince to solve the mysterious deaths and keep the political assets in the hands of someone loyal to the throne; could they actually fall in love? The answer will shock you! Anyway, I like tropes, and I like lesbians, and I like that Caitlin Starling is never afraid to lean into her id; I was as happy to read this in novella form as I would have been on AO3.
The Dead Withheld by L.D. Lewis is the one that didn't quite hit for me -- it's a supernatural noir about a PI who can talk to the dead investigating the cold case death of her wife, and it is doing exactly what it says on the tin but something about it never quite grabbed me. Too short? Not enough oomph? Anyway, it might grab you!
and The Iron Below Remembers by Sharang Biswas drove me up a wall, in large part because the worldbuilding it's doing is extremely playful and interesting and fun -- it's set in an alternate universe where a South Asian empire was the major early colonial power instead of Rome, and their abandoned artifacts and technology power contemporary superheroes. The protagonist is an academic dating a superhero; the text is heavily footnote-studded and 50% of the footnotes are really fun and interesting little explorations of this alternate history. Unfortunately for me, the actual plot laid on top of this rich worldbuilding is all Gay Superhero Relationship Drama and the other 50% of the footnotes are gossipy anecdotes about the protagonist's sex life. This is certainly going to be a feature for some people but was, alas, a bug for me; every time I went through the effort to click through the annoying footnotes format on my digital edition I was really hoping to get a meaty paragraph about what happened after Siddhartha marched into the city of Rime and did not feel rewarded any time I got a smug half-sentence about shibari instead.