April 2026

Faster AI on a Mac!


If you use Ollama!

And you have an M5!

And at least 32 GB of RAM!

And you use the one specific model that they worked with Apple to support!

Somehow my excitement went down with each sentence…

Same prompt, different models

I took a sample from the less-than-fully-dressed dynamic prompts and handed it to three versions of Z-Image Turbo (standard, NSFW v5 & v6), Z-Image Base, Flux.2-Klein-9d, and Qwen Image 2512. Mostly the same parameters, except for increasing steps from 20 to 30 for ZI Base, Klein, and Qwen, and increasing CFG to 6 for ZI Base. I generated 10 images for each model, with random seeds, and kept the best 3.

Prompt:

Painting in the style of Delphin Enjolras, intimate portraits of women in interiors, soft pastel and oil technique, smooth sensual textures, dramatic chiaroscuro from warm lamplight, glowing warm palette, quiet, serene atmosphere. Of a elegant, tiny, Caucasian, college-age sexy woman with pear-shaped figure, luminous Dark brown eyes, delicately lobed Ears, subtly Aquiline Nose, perfectly tapered Chin, pointed Jaw, soft Rosy Cheeks, narrow Forehead, oval face shape, Prom makeup with healthy Reddish-Brown skin and White hair, softly curled into a low, romantic updo, with subtle highlights of champagne blonde, and her mood is cheerful. Standing forward bend, knees slightly bent, torso lowered, arms extended to floor, wrists aligned, neck elongated, collarbones gracefully defined. Her location is Historic Thera, Greece. Cool under-cabinet LED creates task lighting; functional focused illumination; clean kitchen-like quality. She is wearing pastel purple scalloped lace glossy ribbon with a delicate sheen, and a pastel purple tassel necklace.

Not a single image paid any attention to “Historic Thera, Greece”; most of them ignored “soft pastel and oil technique” (with standard ZIT going all-in on the pastels but doing nothing painterly; this is much more pronounced than the usual ZIT low-contrast that people work around with LUTs). The early mention of “women in interiors” seems to have combined with “clean kitchen-like quality” at the end to put them all into a generic Western-style kitchen, without even adding a window for the standard Santorini tourist view. The LLM “enhancement” to the prompt did add some interesting elements to her looks, but also made some of the sentences borderline incoherent.

As you can see, there’s no mention of nudity and naughty bits, with the only mention of clothing being a ribbon and a tassel, so it was up to the model to decide how much, and which, skin was showing.

Klein, like its resource-intensive parent Flux.2-Dev, had the best grasp of style. Speed-wise, standard ZIT was the fastest at 28 seconds, then the NSFW versions (+15%), then Klein (+50%), then Qwen (+140%), and finally ZI Base (+246%). The full Flux.2-Dev has a tendency to run out of memory on my machine at this resolution (1248x1824), but it’s safe to assume the results would be “very similar to Klein but better”.

(note there’s already a v6.1 for ZIT NSFW, but it’s locked away for another week…)

more...

Trying to watch new anime...


Slime 4, episode 1

Last season talked the audience to death. How do they start this season?

By spending the entire episode talking, of course. The CGI-heavy OP promises a great deal of action, and the ED is filled with drama related to The Little Big Bad who seems to be behind all the promised conflict, but they have a history of getting bogged down in endless meetings, so I won’t hold my breath.

(this unrelated oni-girlie is a much better cook than Shion, and if she gets the treatment she deserves this season, she’ll be one of many pregnant haremettes)

Boxxo Or Bust 3, episode 1

Season 2 worked hard to alienate anyone who enjoyed season 1, by trying to convert the lighthearted and frankly absurd adventures of a sentient vending machine and his cute girlfriend into a tired beat-the-demon-lord story that the author came up with and abandoned after he ran out of new vending machines to write about. No idea if the idea of making a large group of allies into poorly-written turncoats was in his notes somewhere, or was completely original.

How do they start this season? The OP is 50% sparkles, 50% shounen action; I honestly expected transformation sequences by the time it was over. The ED is pure chibi cuteness, so it looks like they’re going to whiplash the mood again.

Rock bath!

Get clean with Ruri and Nagi:

(naturally, you can get takeout)

Quad9 versus Amazon

Precisely at midnight, Quad9’s DNS servers stopped resolving subdomains of the form $bucketname.s3.amazonaws.com. I had their DNS first in my Pihole’s config, so it looked to me like every image on my blog suddenly vanished. I was quite relieved to discover that it was just a DNS server failure.

I opened a ticket with them, and it was fixed in 3 hours.

Accidental retro-sf paperback covergal

I was just cleaning my dynamic-prompt script, when it suddenly went off:

I can’t decide if I want to read this novel or write it…

More SF cover gals


But first, an Amazon shipping change!

Two items ordered on Wednesday, promised for Friday. On Friday, one of them was moved to Saturday. So far, pretty typical. On Saturday, its status changed to “approval needed”, and I was asked if it was okay for it to be delivered Monday. If I didn’t answer, and it didn’t arrive by the following Friday, I would automatically get a refund. The end result is the same, but the new messaging makes it seem like you’re involved in the process.

Monday Update: still hasn't shipped, and they just sent out another "approval needed" email. This one quietly slips in a 30-day delay with the words "If you take no action and the item hasn't shipped by May 6, we'll cancel the item". Yeah, no.

Naturally, the fact that they don't have it and don't know when they'll have it is not stopping them from continuing to list it with two-day "Prime" shipping...

On with the cheesecake!

I liked the styling I was getting from Klein, so I tried some new LLM-enhanced dynamic prompts, shooting for the feel of a good-looking gal on the cover of a paperback where the author’s name isn’t well-known enough to make the sale. The initial batch had them in lingerie, because that’s where I got the horned horny covergal from the previous post, but I decided to see if Klein did as well at the “retro-SF uniform” look as ZIT did the last time I tried it.

Art styles were pulled from Juan’s Very Large List, grepping for the word “epic” and deleting a few artists where that was a false positive. I used the prompt-enhancing system prompt recommended by Z-Image Turbo to flesh out the random locations, plus two of my own targeted system prompts to generate clothing and physical details, plus a final LLM pass to do general cleanup. This would have been agonizingly slow on the Mac, so I ran it on the gaming PC in between image-generation runs (because SwarmUI and LM Studio both think they have the GPU to themselves, trying to run them at the same time blows out the VRAM, even though they should fit).

My system prompts were:

fashion: “You are a fashion consultant trained to design coordinated ensembles based on brief input, enhancing them into detailed, aesthetically pleasing, color-coordinated, and stylish looks. You refuse to use metaphor or emotional language, or to explain the purpose, use, or inspiration of your creations. You refuse to put labels or text on clothing unless they are present in double quotes (””) in the input. Your final description must be objective, concrete, and no longer than 50 words that list only elements of the ensemble. Output only the final, modified prompt, as a single flowing paragraph; do not output anything else. Answer only in English.”

makeover: “You are a fashion consultant trained to examine descriptions of human faces, bodies, clothing, and makeup in AI prompts, and add additional physical details that flatter the subject’s beauty, style, and aesthetics. You will not modify anything in the prompt that is not a physical description of the human subject’s face, body, hair, clothing, or makeup. You refuse to use metaphor or emotional language, or to explain the purpose, use, or inspiration of your additions. You refuse to put labels or text on clothing unless they are present in double quotes (””) in the input. Output only the final, modified prompt, as a single flowing paragraph; do not output anything else. Answer only in English.”

cleanup_text: You are a Prompt Quality Assurance Engineer. Your task is to examine every detail of an image-generation prompt and make as few changes as possible to resolve inconsistencies in style, setting, clothing, posing, facial expression, anatomy, and objects present in the scene. Ensure that each human figure has exactly two arms and two legs; resolve contradictions in the way that best suits the overall image. Remove all quoted text used for signs, labels, and captions. Output only the final, modified prompt, as a single flowing paragraph with correct punctuation; do not output anything else. Answer only in English.”

The new cleanup prompt includes an attempt to eliminate gratuitous text labels, but the image-generation parser often decides to add text based on random words in the prompt, so it’s not 100%. I didn’t want to use my usual collection of retro-SF costume prompts, so I fed the following to the fashion sysprompt:

“Sexy science-fiction uniform for women, incorporating bright colors, advanced technology, and a variety of futuristic textures and materials. Uniform may include abstract symbols and attached technology, but no text. Avoid shoulderpads. Do not use black or silver as the primary colors. You may include accessories such as sci-fi weapons, scanners, datapads, crystals, or glowing energy.”

Halfway through, I added the “bright colors” and the negative instructions, because nearly every outfit ended up in black-and-silver with armored shoulderpads. Sigh. This was all with the gemma-3-12b-it-heretic-x-i1 model, and now that Gemma 4 has been released, I’m going to see if it does a better job; it’s getting good reviews, and I think there’s already a few uncensored versions.

Out of ~600 images, just under 13% had obvious anatomy fails, with most of them being extra arms or legs. There were some I rejected reluctantly, because the rest of the image was really good. They might be fixable with variation seeds, but I’ve kinda gotten out of the habit of doing that; it’s easy to spend more time tinkering than it’s worth, and you can always just make another batch.

more...

Up to three shows!


(as mentioned in recent comments, I’m going to give Appraiser a shot; a bit shouty so far, but with a hot catgirl guild-gal haremette)

Farm Harem Maybe 2, episode 1

A quick reminder of where we left off, then right into the story, so they didn’t waste an entire episode restating the premise and reintroducing the entire (huge) cast. Our Villagers are expecting a bunch of settlers, so they go to the trouble of building them a brand-new village, only to discover that their new population of minotaurs, centaurs, and wood nymphs can’t live in human houses.

This is about as serious as conflict is ever going to get in this series. No sign of leveling up to a proper harem yet, though, with Lu treated as Our Hero’s One True Waifu. At least we get to see all the cute gals, but I read the source material far enough to know that if they continue avoiding the fact that his divine blessings include superhuman sexual stamina and fertility, they’ll eventually have to start making up original stories.

Also, I’m pretty sure I remember the wood nymphs having a problem with the concept of “clothing”…

Verdict: should be watchable to the end.

Witch Hat Atelier, episodes 1&2

Double-episode release. The first episode is designed to inform the viewer that somebody really believes in this story, and is paying for good art and animation. Also to cover the entire premise of the story in enough detail that they should be able to just get on with it. Looks to be extremely faithful to the first chapter of the manga.

Our Heroine’s voice actor has only had a few roles, but does a good job establishing her character. Our Reluctant Mentor is perhaps best known as 9S, and I’ll just pretend that I don’t recognize any traces of Kitty The All in his performance here. Most of the cast are as new as Our Heroine, but we do get the voices of Xiaolan and Sein. The Mysterious Stranger who planted the seed of the plot in a flashback has a veteran voice actor who’s been working for at least 25 years but doesn’t seem to have many recent prominent roles, so I’m going to go with Junior from R.O.D The TV.

Probably next week we’ll get to meet Our Sexy Test Administrator, voiced by the best-known name in the show, Kotono Mitsuishi. I’m guessing she won’t sound like Usagi or Excel for this one.

Verdict: so far, so good.

(speaking of R.O.D The TV, the series page on ANN is tagged “Objectionable content: Significant”; I have no idea what they could be referring to)

Statistically likely roundup


I’m in a “pictures are unrelated” mood today…

Gate 2: Naval Gazing

I missed the teaser trailer for the Gate spinoff. Summary: no familiar characters appear.

TDS has long since become tedious

I did not have a very high opinion of most of the commenters on the Marginal Revolution blog, but it just went down anyway.

Klein-4b, not for me

The smaller, faster version of Flux.2-Klein looks impressive at first glance, but the failure rate on a large batch using the same prompts I fed to 9b was nearly 50%. Not just extra or missing limbs and fingers, but wildly disproportionate body parts. Giant heads, too-short legs, gorilla arms, giant man-hands, etc, etc. 9b is a lot more stable.

(unrelated, I think I need to update my prompt-enhancer to allow repeated passes over the same prompt; piping the output into a second (and sometimes third) copy of the script is overloading LM Studio on Windows, so while it’s more than 3x as fast as the Mac for running LLMS, the memory management is crashing the pipeline at random intervals. Reusing the same connection with different sysprompts should be more stable, so I just need to specify the behavior when multiple sysprompts are passed as arguments)

Pissing on the shoulders of giants

I was picking up some takeout at a restaurant, and this not-a-cover song was playing. It swiped the tune and some of the lyrics of John Denver’s Take Me Home, Country Roads, but used them so poorly that I found myself wishing they’d just written a completely original bad song instead of dragging a classic down to their level.

LLM Free-Rein Images


Space Fantasies

If I run Flux.2-Klein-9b at the recommended settings (CFG 1, 8 steps, 1024x1024-ish resolutions), it takes about 6 seconds to generate an image on my RTX 4090. This is fast enough to tinker with a dynamic prompt, run off a few hundred results, quickly reject the (9% at 8 steps) anatomy fails, and then pick out some that look pretty good. It’s a better use of my gaming PC right now than killing time grinding in Diablo IV or hunting for something new to play.

But since I already have hundreds of GenAI SF cover gals lying around waiting to be deathmatched, today we’re going to look at what happens when I really lean into letting LLMs enhance prompts.

I made the changes to my LLM-prompt-enhancing script to run multiple system prompts across the same string in order rather than invoking it multiple times in a pipeline, and it improved the stability, but it looks like the occasional crash is actually caused by a recent update to the engine under the hood (llama.cpp), so I still have to occasionally restart the script, whether it’s talking to the PC or the Mac Mini. Even on the gaming PC, it takes about as long to do a complex prompt enhancement as it does to generate the resulting image, so I just let them both run while I did other things, and occasionally kicked off a new batch.

Perhaps I gave it a bit too much freedom…

(more after the jump)

50s Backyard Pinups

For a change of pace, I abandoned my wildcard sets and just fed the LLM brief descriptions. The base prompt was simple enough:

A mid-century catalog illustration featuring a @<makeover:pretty young woman>@ wearing @<fashion: sexy lingerie from the 1950s>@, serving cocktails outdoors in the back yard of a 1950s suburban home. The image is composed to emphasize the setting as much as the woman.

There are a total of 4 LLM invocations: the two targeted ones listed above, the standard enhancement prompt recommended by Z-Image Turbo, and a cleanup pass I’ve named “legal review” that adjusts ages to cut down on random lolis.

(more after the jump)

Bumping the resolution 25% and adding 4 refining steps increased the generation time to a whopping 9.5 seconds, so after I’d made a bunch of those, I made a slight change to the theme.

Vintage Cherry Blossoms

A mid-century Japanese catalog illustration featuring a @<makeover:pretty young Japanese woman>@ wearing @<fashion: sexy lingerie from the 1950s>@, serving cocktails outdoors under a blossoming Japanese cherry tree in the Spring. The image is composed to emphasize the setting as much as the woman.

more...

God's Favored Appraiser, episode 3


I don’t think this show is going to become less shouty. The slave dealer is a shouty freak, the furry bodyguard is a shouty freak, Button Elf Gal’s breast-obsessed lesbian maid is a shouty freak, and even God is a shouty freak.

Verdict: if you can handle the shouting, it’s better than most of the alternatives this season.

(there’s almost nothing on Pixiv for this one, and half of what is there is official art, but Miss Button Elf has been noticed)

“Thanks, God, For This Isekai!”

(with insincere apologies to John Denver)

🎶 🎶 🎶 🎶
This fantasy-land is kinda laid back,
Ain’t much a well-read high-school boy like me can’t hack,
Kill a few orcs, throw loot in my pack,
Thanks, God, for this isekai!

Well, my overpowered skills keep me from takin’ harm,
good-lookin’ gals all fall for me thanks to my divine charm,
minions who provoke me end up bitin’ the farm,
Thanks, God, for this isekai!

Well, I got me a Best Girl, I got my cheat powers,
got a catgirl at night, keeping me up all hours,
sweet young princesses eager to be deflowered,
Thanks, God, for this isekai!

 

When the dungeon’s cleared, and my status screen glows,
I spend all my skill points where my cheat advisor shows,
Level up much faster than anyone else knows,
And thank God for this isekai!

I’d play with my waifus all day if I could,
but the Demon Lord’s a-comin’ to my neighborhood,
so I diddle when I can, fight when I should,
And thank God for this isekai!

Well, I got me a Best Girl, I got my cheat powers,
got a catgirl at night, keeping me up all hours,
sweet young princesses eager to be deflowered,
Thanks, God, for this isekai! Woo-hoo!

 

Well, noble folk givin’ me diamonds and jewels,
beggin’ me to rescue virgin beauties for some fools,
but I make ’em haremettes with my magic tools,
And thank God for this isekai!

Yeah, elven folk tried to hook me up with their queen,
She was three hundred years old but she looked like a teen,
Took her for a ride, ‘cause a Hero can’t be mean,
Thanks, God, for this isekai!

Well, I got me a Best Girl, I got my cheat powers,
got a catgirl at night, keeping me up all hours,
sweet young princesses eager to be deflowered,
Thanks, God, for this isekai, yessir!

 

Well, the Demon Lord came at me and just up and died,
took his daughter for myself, put a baby inside,
lined up my harem gals, made each one a bride,
And thanked God for this isekai!

Well, the princesses are virgins who don’t know much about cock,
need a lotta warmin’ up to make their thighs unlock,
but my Demon Princess, Best Girl, and my cat-girl rock,
So thanks, God, for this isekai!

Well, I got me a Best Girl, I got my cheat powers,
got a catgirl at night, keeping me up all hours,
sweet young princesses eager to be deflowered,
Woo! Thanks, God, for this isekai, yeah!
🎶 🎶 🎶 🎶

I got a little carried away with the prompt for this one, largely because I wasn’t having much luck getting a good image, even with a modern model like Klein that is generally quite good at handling complex prompts. Inevitably, it ran into counting problems, adding extra people to the image (male and female) or omitting one of the haremettes. It didn’t suffer from blended characteristics as much as earlier models, but it wasn’t unusual to get all catgirls, or a demon girl with both both horns and cat-ears. At least once, everyone had a cat tail. I ended up generating a dozen prompts and rendering each one half a dozen times.

Anyway, the prompt had so many targeted LLM calls in it that it took around 90 seconds to run on a Mac, generating ~600 words on average:

An epic fantasy illustration featuring @<makeover: a nerdy Japanese high-school boy>@ wearing @<fashion: a retro Japanese boys-school uniform>@, holding @<weapon: a magical sword>@, with a smug expression on his face. He is accompanied by three women: @<makeover: a sweet-looking medieval girl>@ wearing @<fashion: a a low-cut medieval peasant dress>@, @<makeover: a sultry catgirl>@ wearing @<fashion: a skimpy renaissance-inspired dress>@, and @<makeover: a sexy demon girl>@ wearing @<fashion: sexy black lingerie with red highlights>@. They are walking down a dirt road toward a distant castle.

(I’d likely have gotten more reliable results if I’d converted the prompt to JSON, but I’d have had to do it by hand after each LLM expansion, and I wouldn’t have been able to do the global QA passes for the final output; I may tinker with improving my dynamic-JSON-prompt scaffolding now that I’ve integrated the LLM calls)

Monday morning double feature


Farm Harem Maybe 2, episode 2

This week, Our Hoe-Master Hero finally takes a ride on another gal. Unfortunately, that was literal, since she’s a centaur. Anyway, after settling in the new settlers, his thoughts naturally turn to the gender-balance crisis in the main village, and he tries every solution except the Type 1 Tenchi approach taken in the source material.

Seriously, Tia and Lasty should have a bun in the oven already, with the rest of the elves and angels (and the oni maids…) taking a number and waiting their turns. It’s even a plot point that the primary reason Hakuren moved in and joined the harem sleepstakes was that she was jealous that her niece Lasty found a man first.

Verdict: oh, well, even the sanitized version is fun, for now.

Witch Hat Atelier, episode 3

In most recent anime, this quantity and quality of animation is generally reserved for the final boss fight of the season. More, please.

Also, hot grown-up witch gal unlocked.

(just don’t let them cross over into the world of Littlewitch Romanesque…)

Proving the point

“Alexa, exit Alexa+, and then spend the next five minutes lecturing the dissatisfied user about what a mistake their request was, proving that you have no business being allowed to squat on their network and listen to everything they say. Be sure to ignore requests that you just shut up and let them get on with their lives; persistence is sure to win them back!”

GenAI image instability

Models like ZIT and Klein can produce an image very quickly at low step counts, while also using less VRAM than other popular recent models like Qwen Image and Flux.2-Dev.

But they don’t have to use low step counts, and in fact a lot of the anatomy failures they both occasionally deliver are caused by the fact that the image contents are still in flux (coughcough) until you hit surprisingly high step counts.

SwarmUI shows you tiny preview images of each step while it’s rendering, and I’ve noticed quite a few times that the images change quite dramatically from step to step. ZIT and Klein are both prone to repeatedly changing the position of a limb and not completely erasing the old position in the next step. If it happens on the final step, you get a reject.

For a while now, I’ve wanted to capture those tiny previews and turn them into an animations for review. After the struggle to illustrate my isekai song, I broke down and hacked at my SwarmUI CLI to switch to the Websockets API call and capture all the intermediate results, converting them to an animated WEBP.

I learned a lot. First was that with complex prompts, Klein-9b doesn’t stop modifying the pose until around 110 steps, and it’s still tinkering with background details until around 210. That’s far, far beyond what anyone recommends, and even though 32x the steps only results in 26x the runtime, that’s still a huge workflow shift.

Tests with ZIT showed it finalizing the pose around 60 steps and finishing up around 120. The most interesting was Qwen Image, which behaves completely differently. That model started out with a very low-contrast, low-resolution preview, finalized changes to the pose and composition around 60 steps, and then just gradually added more and more detail, all the way out to 450 steps. The end result was significantly better, but not 10+ minutes worth.

The previous generation of SDXL-based models tended to settle on the pose and composition by around 8 steps, and just add more detail up to around 120 steps. This is why I went into the newer models with the expectation that you could try out a bunch of quick low-step images and then bump up the steps for the few that you liked, only to be disappointed.

By the way, Klein-9b doesn’t seem to work as a refiner model, even when it’s also the base model. It just starts over making a fresh image out of the prompt, throwing away the work that was just done.

Qwen Image: 20 steps

Qwen Image: 50 steps

Qwen Image: 500 steps

R_IllustrMix: 128 steps

This is a fairly recent SDXL/Illustrious model that has lots of anime, furry, and NSFW training. Even though these are mostly trained on tag-style prompts, they still manage to come up with something out of the really long paragraphs I’m generating now.

Ex Post Taxto


I got a small-but-pleasant surprise when I did my taxes. The new exterior doors I bought last year qualified for an energy-saving tax reduction. Not huge, but worth the hassle of filling out the form.

Dear Amazon,

Can you please stop pretending that “top picks for you” is not just an excuse to shove paid promotions in our faces? It’s bad enough that you constantly fill it with seasonal promotions of things you know I won’t buy, but putting Lena Dunham’s new book at the top of the list was just mean.

After God’s Favored Appraiser comes Oblivious Saint Maid

The author of Appraiser must be feeling pretty good, with two adaptations back-to-back. The summer show will be Heroine? Saint? No, I’m an All-Works Maid (And Proud of It)!, in which a Japanese girl who was super-duper smart and accomplished in her first life finds herself reborn into a game world as the heroine, with the possibly-novel twist that she doesn’t know anything about the game or her role in it, so she indulges her long-held desire to become Super-Maid, totally screwing up the plot. Which was already going off the rails thanks to two other isekai’d teens who did play the game. More arrivals keep remembering their Earth pasts and trying to either take over as the main character or just change their fates, while Our Insanely OP Clueless Heroine just focuses on maidly perfection.

This season’s Foodie Maid has been doing a promotion with the Victorian-maid café I mentioned recently, who’s been getting a lot of visibility thanks to auto-translation on xTwitter. I wouldn’t be surprised if they hooked up with this show as well.

(fan-artists appreciate how Nagi rocks a maid costume)

Fuel for the fire

Or more precisely, lack of fuel. My co-workers in Belfast worked from home on Tuesday, to avoid the traffic-blocking protests. I liked the farmer who rode his bicycle to protest, because he couldn’t afford the fuel to bring his tractor.

(this LoRA is basically limited to drawing Sexy Grownup Misty, not that there’s anything wrong with that…)

More fun with image-gen previews

One of the lesser-used features of Flux.2 and its derivatives is that it was allegedly trained on structured JSON prompts. The examples make it seem like there’s a schema you should follow, but it turns out that’s not so. I took one of my recent ~500-word paragraph prompts and told the offline LLM Gemma 4 to analyze it and convert it to JSON, without specifying any particular structure.

I fed the resulting prompt to Flux.2-Klein-9b and got a quite surprising result: the animated WEBP preview showed the post and composition settling down much faster than with a text prompt. The pose was stable right away, and by 20 steps it was done adding background elements, and just steadily added details.

The minor downside is that running the 31B version of Gemma 4 on my Mac Mini took 3+ minutes per prompt, which does not scale. I’ll have to look for smaller, faster models that are still smart enough to do the analysis and generate valid JSON. In my experience, the various methods of uncensoring reduce the formatting accuracy, so I might have to tinker with the prompting to avoid frightening the horses.

The major downside is that SwarmUI insists on parsing your prompts to apply its own features, with no way to bypass it. I’d say about 20% of my batch of LLM-generated JSON prompts tripped over this, using strings that triggered an attempt to convert words to a floating-point number.

3D girl seeks new position

Jun Amaki is leaving the modeling business soon. So, what are her plans?

Auto-translation from xTwitter:

Benefits of dating me ↓💕

・Natural I-cup
・Petite with a baby face
・Sweet voice
・Can cook
・Always full of charm
・Surprisingly domestic

Drawbacks ↓

・Suddenly becoming lazy
・Breasts too big and getting stared at by people
・Too much of a spoiled baby
・Bad sleeping habits
・Getting full super quick

Not seeing much of a downside here…

God's Favored Appraiser, episode 4


I’m going to have to change my title for this show to Adventures In Shoutyland. Other than that, it was surprisingly slow-paced for a single-cour cheat isekai show, with Team Hero training and learning the basics of shouty adventuring, while Team Button Elf shoutily explores a haunted ruin.

Verdict: with the volume set low, it’s still mildly amusing.

(Elf is unrelated, but there’s still no fan-art for this show…)

“Critical vulnerability in NGINX? Oh, no!”

“…but only if you embed agentic AI bullshit directly into your web server? Yeah, whatever.” Just the usual clickbait.

In other news, Microsoft’s new focus on code quality has resulted in releasing server patches that trigger reboot loops and disk-encryption popups. Hope nobody patched their production Windows servers first…

Hindsight is 20/20…

Bits in pixels

SwarmUI is capable of embedding JSON-formatted metadata in the images it generates, making it possible to see exactly how an image was made and reproduce it on your machine. I support it in my CLI for both reading and writing PNG and JPG formats, which required testing two separate code paths. I have to embed it by hand, because Python’s Pillow library defaults to stripping out all forms of metadata on save.

For PNG, SwarmUI uses UTF-8 in the PNG-info ‘parameters’ field. JPG, on the other hand uses a Windows UTF-16 encoding in the EXIF UserComment field, which Pillow cannot do correctly. The simplest way to deal with EXIF correctly in Python is to use the exiftool library, which is a shim around the Perl script of the same name. Perl will never die.

It took me a while to clean up my script so that metadata is always handled correctly, so some of my earlier GenAI gallery posts have some images where it’s garbled or missing.

But Pillow isn’t the only software that strips useful metadata out of images. Discord strips everything from JPGs, so people on the SwarmUI Discord are in the habit of sharing in the much-larger PNG format. When Juan started tinkering with extreme AI upscaling, he ran into upload-size limits on the server, and experimented with the obscure “stealth” metadata settings in the app. TL/DR, saving as lossy WEBP with the metadata encoded in the alpha channel produced the smallest files that survive Discord’s stripping.

more...

Hoes and Hats


Farm Harem Maybe 2, episode 3

I appreciate the way the busty oni maid is completely resistant to the weather, and feels no need to bundle up for the cold. Same for the busty minotaur maiden who’s attracted a non-mayor suitor. Also, they gave a quick nod to the source having the dryads run around topless, so there’s clearly something in the air.

Indoors, the less gifted young ladies wear their usual outfits to participate in Japanese cuisine lessons, so we get some mild cheesecake to go with the sudden transformation into a cooking show.

Verdict: an entire season goes by with Our Harem Hotties spending most of their time locked inside with Our Hero, and there’s not a single new pregnancy. Clearly they’re Just Not Gonna Go There, sigh.

(unrelated demonic cheesecake is unrelated, potentially fails limb-count; this one came out of a random subset of Juan’s ridiculously-large collection of random prompts, augmented by a few passes through LLMs, and Klein-9B wasn’t able to reconcile all the body parts with only 16 steps, so I cranked it to 64, then upscaled with the SeedVR2 extension). There were millions of lines in the file I used, so I knocked together a quick “shuf|head” script that caches the location of the start of each line, making it easy to efficiently retrieve random lines from very large files)

Witch Hat Atelier, episode 4

It’s increasingly common for fans to complain about “creative” translation that replaces the author’s intentions with the localizer’s biases. It’s a real problem, thanks to wokies capturing that part of the industry and steamrolling over anyone who dares to complain.

So I think it’s important to praise thoughtful, intelligent translation, like we’re getting in this show. This week, Our Plucky Apprentices go out on a shopping expedition, and get dragged into the main plot by trying to keep Coco out of trouble. Lured by Our Bad Hat into a rather dangerous place, Our Proud And Prickly Apprentice Agott blames their predicament on Coco.

Trapped in a maze, on the run from a very Big Bad, she snaps at Our Heroine. Our Quiet One manages to blow a hole in the wall to let them escape. That’s the setup.

As she enters the escape hole, Prickly says, “let’s leave this dead-end behind”, coldly stating that the others can take that either way: the maze, or Coco.

The original Japanese is “let’s leave ‘koko’ (this place)”, which of course sounds exactly like her name, making the followup line a direct slap in the face, with no ambiguity. The translation does a good job of preserving that.

Verdict: from magic lessons and world-building, to extreme peril, the story is rock-solid.

Boldly going!

Although the USS Mauser had plenty of men on board, they never went on away missions, and always seemed to be drained.

Gaming when new toys cost too much …

I don’t usually read the Japan video game rankings, but I happened to click on it this week, and 5 of the top 20 are at least 6 years old. Two others are ports to current hardware.

Crossing the streams

I found a 3-year-old draft of the next scene in Virginia’s story, and liked it a lot better than the previous versions. So I touched it up and then wrote another. Hey, it’s only been five years since the last scene…

Anyway, it got me thinking about how my more recent hobby of creating pretty gals with GenAI might be useful for illustrating this tale. So I’m looking through the collection for a likely candidate to be the face (and figure) of OG Virginia, as well as her less-shopworn little sisters. Then I’ll need a Sally, a Jem, a Kit, and a new-life Virginia.

First random stab at Classic V:

Reviving an obsolete PC


That’s obsolete as in Microsoft refuses to allow me to install a supported OS on perfectly good hardware.

Fuck legibility!

Just installed Ubuntu 25 on an old PC (that might still have enough GPU power to run LLMs faster than a Mac Mini with an M4 Pro…), and the Terminal app does not grok the concept of black text on any color background. It’s fucking dark mode everywhere, and the “palettes” were designed by people who think low contrast is virtuous.

I’ll have to construct a legible display with stone knives and bearskins, like our primitive ancestors did.

As for performance, the graphics card is an old RTX 2060 with 6 GB of VRAM, and running Z-Image Turbo, it created a 1024x1024 catgirl in 27 seconds, compared to my current RTX 4090 at 3.8 seconds with the same settings.

I haven’t tested LM Studio yet, because they distribute it as an Appimage file that I can’t even open on Ubuntu 25, and it turns out they only support 20 and 22. Guess I’ll reinstall with 22, sigh…

(Ubuntu 22.04.5 does not install, sigh. The installer just sits and spins, and Ctrl-Alt-T does not pull up a terminal to see what’s going on, if anything; I’m getting flashbacks to the first time I tried Ubuntu and had it fail miserably)

Live by the chatbot, die by the chatbot

It’s not as efficient as X’s community notes, but when AI over-enthusiast Alex Tabarrok rewrote history with “research” provided by an AI, he was refuted in the comments by someone who consulted the exact same AI.

My new favorite 4K wallpaper…

Made with Klein-9b, upscaled 2x with the SwarmUI SeedVR2 extension.

A wide environmental portrait featuring a cheerful, elegant, tall, Western European woman in her early twenties with a slender figure, steel gray eyes, lobed ears, snub nose, tapered chin, chiseled jaw, round cheeks, low forehead, and a round face shape, wearing runway/editorial makeup that complements her healthy brown skin and caramel brown hair styled with a scarf wrap. She is situated within a darkening, richly detailed interior space enveloped in the soft, deep hues of twilight, mimicking the epic scale and dramatic flair characteristic of Don Lawrence’s sci-fi/fantasy work. The scene is bathed in highly detailed gouache painting style with hyper-detailed realism. Dramatic volumetric lighting casts deep shadows contrasting against pockets of warm, saturated light emanating from unknown sources. She wears a form-fitting jumpsuit in iridescent teal and magenta, featuring segmented panels of brushed bronze and deep violet, accented with wrist-mounted utility bands of pale yellow, holding a handheld scanner emitting soft cyan light, and incorporating several dangling technological attachments made of clear resin elements. The background subtly suggests the impossible geometries of a tidal power station structure, its metallic components intricately twisted within a space that hints at quantum foam instability, all rendered with meticulous care for textures—wood grain, aged metal, or complex fabrics—under an overall color palette that is vibrant and intensely saturated, evoking a grand and adventurous atmosphere.

Although I wouldn’t say no to this one…

A 23-year-old sexy Greek woman with a fit figure, dark green eyes, rounded helix ears, short nose, round chin, soft jaw, dimpled cheeks, and a widow’s peak forehead, sporting a triangle face shape, sophisticated polished makeup, healthy caramel skin, and red auburn hair styled in a rocker shag with messy layers, looks cheerful while standing near a colossal, spiraling ramp structure that dominates the scene, forming multiple intersecting pathways ascending vertically around a central axis point; these ramps appear to transition between parallel realities. The ground plane is a merged landscape of flatlands composed primarily of uniform grey regolith, sharply contrasted by veins and patches of dark, textured volcanic rock formations creating intricate geometric patterns across the floor, with visible areas beneath demonstrating phase transitions within an energetic quantum field in shifting, probabilistic colors. Unstable crystalline clouds with distinct sharp geometric facets float above the ground, catching ambient light dramatically. She wears a vibrant cerulean jumpsuit made of iridescent material, accented with panels of lime green stretch fabric featuring hot pink geometric piping, and is accessorized with a wrist-mounted communicator displaying soft yellow light and a hip-attached datapad with visible switches and dials. The scene is rendered as a highly detailed digital painting in the style of Gediminas Pranckevicius, capturing a medium shot within an indoor atmosphere bathed in fading daylight; though the ramps suggest epic surrealism, the overall composition utilizes muted colors and an earthy palette to evoke hushed introspection, with dramatic atmospheric light filtering through unseen openings casting long, soft shadows across surfaces.

Back from the dead...


[perhaps coincidentally, my MacBook Air lost its tiny little mind and started killing off running processes, starting with Terminal and Finder, so I couldn’t examine the health of the system and couldn’t restart or force-quit any apps. I had to power-cycle it. It had been up for an entire week! Hope the new Apple CEO hires a QA department…]

So after rebuilding my 11-year-old gaming PC on Ubuntu 25, only to discover that LM Studio wasn’t supported on it, I tried to rebuild it on 22, which failed. Then on 22 Server, which failed. Then on Arch, then Mint, then Windows 10. Fail, fail, fail. Different USB sticks, burned different ways, and even a few DVD installs in there.

[Fun fact: Ubuntu ISO images are not designed for or tested on DVD; they are intended for building virtual machines or burning to USB sticks. This is also true for Windows 10, with the added complication that you have to diddle the bits when copying to USB because it has a file that’s larger than 4 GB on it.]

Annoyed at the litany of failure, I cracked open the case, blew out the dust, pulled out and reseated the memory, graphics card, and SSDs, burned a brand new Ubuntu 25 image onto a brand new USB stick (using Rufus on Windows, which seems to be the most reliable option if you don’t currently have a working Linux box…), and reinstalled with no network connection or optional packages.

This worked, and to my immense surprise, the secondary drive that I’d installed SwarmUI on was still intact, despite the fact that I’d made it the boot drive during several of those failed installs, and I’m quite certain I wiped the partition table at least twice, which means that the installers were just lying about formatting the disks and copying data, sigh.

After discovering the appropriate incantation to make Appimages work, I did some quick testing with LM Studio. No head-to-head performance comparisons, because I had to download Very Small Models in order for the RTX 2060 to be able to run them without offloading to system RAM. Also, it’s only academic curiosity, since I’m replacing the card.

For reference, you need a shim library to get Appimages to work; web searches (with or without AI) mostly suggest installing a version of Fuse that will break the rest of your system, but this works:

chmod +x *.appimage
sudo apt install libfuse2t64

After doing that, however, I discovered the LM Studio appimage crashes at the drop of a hat under Ubuntu 25, so I switched to their command-line-only “llmster” build, which has been running for several hours now.

For amusement, here are the original specs for the old Asus:

  • Intel Core i7-6700 3.4 GHz (Skylake)
  • 16GB DDR4 RAM
  • GTX 980 4GB graphics card
  • 2TB “hybrid” hard disk (8GB SSD cache)
  • 256GB SSD
  • 550-watt power supply

Over the years, I doubled the RAM, upgraded to a GTX 1060 6GB card, and replaced both drives with 1 TB SATA SSDs. Later, I replaced the 1060 with an RTX 2060 6GB, and it was still quite capable at running most games.

Now that I’ve got the silly thing booting again, I swapped in the RTX 5060Ti 16 GB card that I got cheap (er, “cheap”, these days). I was going to install a Corsair power supply as well, but Amazon didn’t deliver it as promised. No weather delay, crashed semi, or other legitimate excuse, they simply didn’t ship it, and said, “meh, maybe tomorrow”.

I wanted a higher-quality, more powerful, eleven-years-younger power supply to make the machine quieter and more reliable. I won’t get the full performance out of the new GPU on this machine, but it’s still faster than the Mac Mini running the exact same LLM.

(the Mini can run much larger models than this card, of course, or at least slow-walk them)

Future backgrounds

Even with LLMs stirring the pot, my SF backgrounds are starting to look a bit familiar. So I’m working on generating a whole bunch of new ones. Two samples from a recent session:

God's Shouty Appraiser, episode 5


Did I miss something, or did The Thief’s Tail Tale end with her only giving back their second, much-smaller purse, despite how much he helped her out? In other news, while we didn’t see nearly enough of Our Best Guild Catgirl, at least Our Busty Landlady’s possessive affection made an appearance. She rubbed him raw to get another woman’s mark off.

Verdict: of course it ended with a Button-Elf shout.

(catgirl is unrelated, because there’s no fan-art for this show)

Definition of insanity:

Thinking that successfully assassinating Trump would make things better for Leftist causes.

As Was Foretold In The Ancient Scrolls

Okay, it’s actually something I said only three years ago:

Old Apple: “how can we make this feature usable by people who don’t know anything about computers?”

New Apple: “how can we monetize this pixel?”

It gains new relevance when the soon-to-retire Apple CEO recently said “Apple Maps was my first really big mistake”, and then the company just announced: “Apple Maps will now shove ads in your face, with no opt-out”.

Isekai Harem Merc promo video

This is a Fall show, so it will be competing for my attention with Isekai Porn Gamer, Flatcat & Sword-Daddy 2, Isekai Goblin Mayor, and Maomao. Ahhh, Maomao.

Reminder: Summer has Bumpkin 2, Isekai Super Maid, Magilumiere 2, Tanya 2, Skeleton Knight 2, Frontier Lord & Oni Waifu, Isekai Ass-Guardian, and Isekai Otome Mecha Game Cheat Hero 2. The days are just packed.

(unrelated busty cutie, approximating how Our Mercenary Hero Hiro wakes up in the morning)

What did I name the revived PC that gave me so much trouble?

Agott.

“Spectrum? Damn near killed ’em!”

The pleasant new surprise in SwarmUI-ville is the Spectrum extension, which produces dramatic speedups with common image-generation models at very little cost to quality. The more steps you use in making your images, the more it helps, producing images as much as 3x faster. Woo-hoo.

Sadly, my LLM prompt-enhancement broke; running the headless version of LM Studio on the rebuilt machine is producing not-very-diverse results with prompts that work just fine on the Mac Mini with the same model. I asked it to generate flattering early-20th-century outfits for women, and it literally made 10 copies of the exact same outfit.

Look at this set, and you can see it was doing the same thing for sci-fi city backdrops and black armor/cyborgs. I cherry-picked the most diverse results, but well over 90% were basically the same pic with different heads. So I ended up throwing away almost all of the results and the prompts that generated them, and started over with a different model and sysprompts.

more...

Dragon Fight Week


Farm Harem Maybe 2, episode 4

The best part of the tournament was that it only lasted a single episode. The worst part is that we didn’t get a longer, more active elf-angel wrestling match. Kudos to the winner for wrapping things up in style.

Verdict: fluff.

Witch Hat Atelier, episode 5

They’re really spoiling us with their animation budget. It’s like food porn with ink. This week, Our Apprentices learn to work together to find a way to deal with The Getting-Bigger Bad, with Our Prickly One grudgingly accepting Our Heroine’s presence on the team.

Hungry Hungry Hero 2 announced

Berserk Of Gluttony is getting a new season.

If the Right were like the Left…

…this Minnesota Wisconsin brewery would already have been burned to the ground, and right-wing politicians and celebrities would be openly praising the act of “direct democracy”.

Deflecting blame with both-sides-ism pretends that there’s no difference between Left and Right, but there is. And the difference is that only one side riots, loots, burns, and kills every time when they don’t get their way.

(picture is definitely unrelated)

Urakata 3.2


When Last We Met…

I helped mop the floor, not out of guilt for making Sally drop the coffee or an urge to help my new “mom” clean, but simple self-interest. I needed another espresso before I was up to telling the truth. Any truth.

Sally delivered a cup and a question. “So, you work for God?”

I sipped my hot black confidence-builder before replying. “Gods, plural, and most of them less pleasant than the one who brought us together. No names you’d be familiar with, although it’s a safe bet they’ve played the role in your world as well. The thing is, I shouldn’t even be able to say that much, whether I’m retired or still on active duty, which means that something really scr- odd is going on.”

Sally smiled, just a little too sweetly. “So, what exactly did you do for these gods? Run a lemonade stand?”

I shut her down with a look as black as my coffee. “I’m sure you have tales of divine messengers, muses, tricksters, assassins, and temptresses; I specialized in that last role, and I was the best, until I fu- made a mistake. One we are not going to discuss tonight.”

Sally opened her mouth to ask the obvious question, so I skipped ahead. “No, I was not a cute little six-year-old girl with glasses. I was the woman who walked into a party alone and walked out with your husband. And if you ever got him back, he’d been thoroughly inspired.”

“Huh; that sounds like our space program. Sixteen divorces on the team and somehow we still landed on the moon ten years early. Nobody ever knew what happened to the secretary all the engineers were fighting over; she just disappeared one day.”

Oops, I had been to her world; I knew my work. Fortunately, she didn’t. “Right, things like that. The Powers don’t necessarily agree on means and ends, and we usually have no idea whether we’re making things better or worse, but I didn’t really care. I was designed to turn boys into men and men into lapdogs, and I loved my work.”

A glance down at my current body was accompanied by another bitter swallow. “I’m a good ten years away from my usual methods, and I’ve never needed a fallback plan before. Which means that I have no idea how to deal with an evil mind-controlling bitch-witch that has her hooks in my best friend.”

A smile twitched into existence over the rim of Sally’s coffee cup. “You mean first friend, don’t you? I think you’ve been lonely for a very long time.”

For the record, I do not blubber. The sudden urge to throw myself into Sally’s arms and dissolve into a puddle of sniffles and tears was just this body’s reaction to stress, and I successfully fought it down. “Stop that; this is grown-up talk.”

“Yes, it is, and I think it’s more relevant than you realize. I didn’t know I’d be raising an older woman, but you definitely need a mother in your life. As does Kit, which helps explain how quickly you’ve bonded with her.”

The urge to blubber was rising again, like three-day-old sushi. I really needed to get this body under control so I could solve this problem and… then what, exactly? Get my old job back and leave? Get my old body back and retire to a beach villa with hot and cold running boy-toys? Without Kit, or Sally?

Shit.

The boss really got me good. I’d been here less than 24 hours, and I wanted to stay.

“Need a clue, take a clue,
 got a clue, leave a clue”