“All contract web developers are bling-happy assclowns with no concept of revision control or release management, who think 1,000 is a large number.”

— revealed truths, #17a

Burns 1 sheet of ultimate!

Breaking News!

…and I mean “breaking the promise they just made to be ‘all your anime in one place’”, in which Crunchyroll is dropping a whole bunch of shows after adding a whole bunch of others that were on Funimation.

Um, thanks?

How A Naughty Duchess Gave The Queens Realistic Training, episode 25

In which a 500-year-old great-grand-milf blackmails the waifu harem into attending Bride Skills 101, while Our Realist Hero is off tasting yakisoba sauce.

One more to go. Will they get another season to bring on waifu #5, make some babies, and finally hold a wedding? The team doesn’t seem to be feeling any pressure to force a wrap-up.

(bunny/mummy is unrelated, but wrapped up!)

Kuroitsu, episode 11

In which the OP finally gains classic sound effects, Our Kuroitsu boldly goes where no peon has gone before, Our Executive Staff retreats, Our Wolfservice Girl faces a fate worse than death, and Our Temp’s fate is sealed. Oh, and whoever makes the bubble-bath soap at that hot spring apparently works for the buy-the-bluray department.

This is really a world-building episode for the upper echelons of Agastia, so most of the regular cast is absent, which is an odd choice for the next-to-last episode. Honestly, it feels like it was strung together from the sort of short gag comic that typically fills a few pages at the back of a manga collection, with an art budget to match. Lots of off-model close-ups and panned stills, even for a show that was already a budget production. This may be the only episode that I feel no real urge to rewatch.

As usual, here are screenshots from last week’s episode:

Bonus: Our Blader can’t fight this feeling any more…

Very Expensive Toaster,

Very Cheap Translation. Seriously, if you’re going to import a $333 single-slice toaster, you really ought to spring for something better than Google Translate. Especially since it requires an external transformer to keep it from catching fire when used in the US.

Highlander: Demon Warrior

Today I Learned that the Japanese sub-title for the first (and of course only) Highlander movie was “Akuma no Senshi” (悪魔の戦士).

I’m idly curious what changes they might have made to the story…

In another world with my coffee pods

Skills: Death Metal Voice

This is exactly what I want to see on the CV of the lead voice actress in an isekai show. I’m not sure I’m kidding.

Also half-Japanese/half-Egyptian, but prone to terrible makeup that makes it unclear if she’s blessed with hybrid vigor.

She hasn’t had any significant roles in a show I’ve watched, so I have no idea if she’s any good. The flatcat in this show, on the other hand, was Emma in Hidden Dungeon, Crim in Interspecies Reviewers, Melty in Kuroitsu, and Rizu in We Never Learn.

Oh, that slave-harem isekai anime!

In which Our Hero ends up in a fantasy world with cheat powers and buys an adventuring party of slave girls of different races. And, yes, the original web-novel had “slave harem” in the title, and removing one word doesn’t change the… “thrust” of the story. I gave this one a quick skim a while back when it was originally announced, and his girls are so thrilled to serve that they even train and discipline his newest acquisitions for him. From what I saw, it quickly degraded into an internal monolog that was equal parts “how can we become more OP” and “which one(s) will I fuck tonight”.

This one’s scheduled for summer, and between the concept, the character art of first-slave-girl Roxanne, the fact that I can only find one familiar performance for one of the two lead voice actors, and the director’s less-than-stellar track record, I’m not interested.

(picture is far too wholesome to be related)

Coffee vs coffee

Nespresso has sued Peet’s over their compatible pods. What makes this interesting is that they’re suing over trade dress, which is a “creates confusion in the marketplace” handwave. But Nespresso doesn’t sell pods at any retail outlets but their own, and the packaging of the Peet’s pods stresses their brand, with “compatible with Nespresso original” in much smaller print. And they’re generally stocked right next to house-brand clone pods, so if you go after Peet’s without also going after Target and Safeway, you’re clearly not really upset about “confusion in the marketplace”. (Starbucks-branded pods are actually manufactured by Nespresso, by the way)

What’s really going on is that Peet’s merged with competing coffee megacorp Jacobs Douwe Egberts in 2020, which also owns things like Gevalia, Maxwell House, L’OR, Senseo, Tassimo, and tons of other coffee companies around the world in markets where Nestle would no doubt love to increase their market share.

Tekeli-li! (Osaka edition)

Eldritch, ho!

This picture is not the result of an accidental encounter between an innocent fan-artist and an ancient horror from beyond space, time, charm, spin, and good taste. It is in fact the official mascot of the Osaka Expo 2025.

[Update: yes, Rule 34 kicked in real fast for this one]


Lots of shows have their final episode this week, and a few Spring shows are having their debuts. Fortunately, it’s not over yet for the two shows I’ve been watching. Unfortunately, the shows starting this week aren’t ones I want to watch.

I didn’t even put these on my NO list, but yeah, not a chance: Thermae Romae Novae, in which an ancient Roman bath designer ends up immersed in modern Japanese bath culture; Shin Ikkitousen, the show that constantly gets beat up but never dies; Estab-Life, in which the future is a furry theme park run by AI, with a story that’s part of a multi-media made-for-microtransactions franchise.

Fuck you, paypal.

I’m making another pass through all my online accounts, updating addresses, phone numbers, and credit cards (if they don’t automatically pick up the billing address change)..

Paypal won’t let allow me to delete my primary home number (which is an Ooma VoIP line), or change it to my new home number (which is an Ooma VoIP line), because your home number can’t be VoIP. I had to set my mandatory home number to be exactly the same as my mandatory mobile number, set it to be primary, and then delete the old home (VoIP) number.

“How about ‘no’, Atlassian support guy?”

So there seem to be (at least) three completely different circumstances that trigger the Atlassian clusterfail that bit me in our Jira upgrade testing. The first, where a brand-new node is starting up for the first time to run the upgrade; the second, where a new node is attempting to join a cluster so it can perform the upgrade; and now a third, where the simple act of restarting the application on one of the nodes after the upgrade has a chance of failing.

The symptom is exactly the same in all cases: core plugins fail to start within the 5-minute timeout. When we hit failure type #3 today, I opened a fresh support ticket, and the immediate response from support was “y’know, starting plugins is expensive, so try increasing the timeout to ten minutes”. I managed to be polite in my rejection of this “workaround”.

I am quite certain that that would not solve the problem, because the logs I sent them clearly showed that the same node that had timed out succeeded on a subsequent startup, without even one minute of delay, and that three other nodes also started up quickly.

Despite having included this information in the initial ticket, we’ve now had three back-and-forths where the tech is still hung up on increasing the timeout. As I commented to a co-worker, this is a perfect example of “how to fail J’s troubleshooting interview”.

Meanwhile, when I opened the ticket, their system auto-recommended a likely-related issue, in which the workaround was “fall back from Java 11 to Java 8”. Given that we’re using the Java included in Atlassian’s own installer, if that really does fix it, it’s an Apple-worthy QA fail spanning at least 5 minor releases.

All your apples in one basket...

Hey, Apple, you’re holding it wrong!

Most Apple sites and services, internal and external, went down yesterday for several hours.

(it’s, like, apples and oranges!)

…and Microsoft’s holding it wrong, too!

Github is down right now. Before my first cup of coffee.


I don’t know how many times I’ll need premium padlocks after the move, but I have no intention of making it easy for someone to crack open my POD or my truck, so I went to Taylor Security and Lock and ordered a set of keyed-alike ABUS Granit locks. They had to order from the factory in Germany, so it took a few weeks, but arrived in plenty of time for the move.

I also bought a matching ABUS security chain on Amazon, figuring I can make it harder to just steal the entire truck at night if the gas pedal is obviously chained to the steering column and the door.

Edge, lord

Microsoft Edge has some quirks. The one that’s been annoying me recently is where I visit an HTTPS URL full of pictures that are also loaded via HTTPS and everything displays correctly, but when I right-click to download one of those pictures, it sits in the download queue until I manually click and agree that this file will not harm my computer. The default in the dialog box is to delete it, of course.

Yeah, if they really thought that JPEG was going to harm my computer, they shouldn’t have displayed it in the browser in the first place. It appears this is tied to a mixed-content-blocking feature, but everything’s HTTPS, so I’m guessing there’s an edge case (no pun intended) that they’ve failed to test adequately. Perhaps they outsourced QA to Apple…


Apparently, a bunch of light-novel translators have decided this bit of internet slang (which I had to look up) is the correct word to use to translate chuunibyou. Related, someone on Wikipedia decided that “edgelord” should just be redirected to their page for “poseur”, which doesn’t quite have the same ring to it…

Super-Deformed Spring-Fu

Realist Hero, episode 24

In which are delivered: 1 infodump, 1 ultimatum, 1 baby. Each advances the story in different ways, with Our Tomboy Princess using the last to propose going into production herself. Also, I think this episode had the most on-screen blood in the entire series.

Note that Our Injun Princess will not be joining the royal waifu-harem.

(picture is actually related, for once)

Kuroitsu, episode 10

In which versatility is a mixed blessing, Our Vampire Executive takes action, and Our Chief Of Staff reveals a shocking secret. Our Temp Minion, however, is absent.

Screenshots from last week:


Finally watched this. IMHO, this was the best Marvel movie since Doctor Strange, and not just because Wong is in it. I was pleased that the hip-hop that features prominently in the trailer is less present in the film.

Disclaimer: I should note that for a variety of reasons, it’s also one of the few I’ve bothered seeing since then. I am cautiously optimistic about the upcoming Multiverse of Madness film, but not so much that I plan to see it in a theater as soon as it comes out.

(picture is as unrelated as I could make it…)

Spring anime

I don’t know that I’ll be watching things right away, between work and moving, but the season has a few things of interest.


  • Shield Hero 2

  • Komi-san 2

  • Demon Girl Next Door 2


  • Skeleton Knight - the trailers do not appeal to me, but some people seem to like the source material, so I’ll give it a shot.

  • RPG Real Estate Agency - this looks… fluffy. I might need some relaxing fluff at some point.


  • Oni-pan - not a lot available about this original series, but the premise is three cute oni girls use the power of special panties to transfer to a human middle school and do… something.

  • Annoying Healer - the trailer is too shouty, the healer is too loli.

  • Virgin Road - what’s an executioner to do when her latest victim turns out to be an unkillable airhead who falls for her? The only thing I like about this is the concept of killing off overpowered Japanese teens who get summoned to another world.

  • Dawn of the Witch - set in the world of Familiar of Zero, the trailer for this one has a strong smell of “loser gets a harem”.

  • Love after World Domination - he’s a super-sentai hero, she’s the leader of the enemy mooks; together, they fight crime secretly date.

(picture is unrelated, but Wonderduck is getting closer…)

Fun with buttons

We’ve secretly replaced the Javascript-based spoiler/nsfw buttons with Folger’s Crystals pure CSS. Let’s see if anyone notices.

Speaking of Javascript, I’m using a small Edge extension called “JavaScript Toggle On and Off”, which does exactly what it sounds like, and includes both whitelists and blacklists, so that you could, say, permanently block JS on a site that has a lot of really sketchy ads embedded. Like certain cheesecake sites I link to…

Drawing, in perspective

This pose-book-style photoshoot (site NSFW! Disable Javascript!) of 15-year-old Ami Manabe is an excellent demonstration of terrible glamour photography that, if used for reference/tracing by an unwitting artist, creates even more horrible cheesecake.

It wouldn’t have been good even if the photographer hadn’t used a wide-angle lens for most of the shots, but it would have at least been useable for reference, if, y’know, you don’t know any actual teenage girls who’ll hold still long enough to let you draw them. 😁

Nailing down the move

I still have to get a POD and some people to load/unload it for me, but I’ve booked the truck I’ll be filling with stuff that moving companies either won’t take or won’t adequately insure (or that I simply won’t risk with them), as well as worked out the route options. I’d like it to work out that my brother and I arrive in the truck around noon on one day, empty it into the house, and then have both the POD and the Internet installers show up the next day, but that part’s not firm yet.

In other news, I have been persuaded that there are multiple children who would be sad to see Mooch disappear from the neighborhood, so I won’t be stealing a porch cat when I go. This also simplifies the logistics of the final move, but he seems to be prepping himself for it. Or else the nicer weather has just increased his range of part-time homes.

I’ll just have to find a new catgirlkitten after I’m settled in.

(note to self: make sure the IP block at the new house geolocates outside of Russia…)

Review fatigue

It’s getting harder and harder for me to read anime commentary at ANN, because the kids writing it haven’t learned the simplest and most significant lesson of all. I have no interest whatsoever in examining anime through the lens of race/gender/politics as articulated by someone with the life experience of a freshly-graduated liberal-arts major.

Follow The Science!

Tokyo’s National Museum of Nature and Science has a new exhibit featuring fossil pokemon. I am sympathetic to their goal of attracting more kids in a way that might actually get some of them interested in the sciences. I just find myself glad that it’s happening in Japan instead of the US, so it might not get polluted with leftist claptrap the way the “science” exhibits at the De Young were the last time I went there.

Not one of mine…

“Suddenly transported to a fantasy world I discovered that my obsession with Minecraft-ish games gave me super-crafting powers but everybody hates humans so the only way to survive was to become the slave of a gorgeous mega-busty dark-elf virgin who immediately gave it up for me and introduced me to all her sex-starved monster-gal-pals so I think I can make this work”

Apparently volume 2 comes out real soon now, and the blurb says he’ll be slipping it to all sorts of fantasy girls (mostly off-camera) while exploring his world-breakingly-OP crafting tree. Probably looking for the viagra potion, since a quick peek at a translation of the original web-novels revealed that his harem eventually grows to well over 20 girls, one of them lured to his bed by the power of hamburgers.

Amusing interview

We had a post-interview huddle recently for an opening in my group, and we all agreed that we liked the candidate and wanted to work with him, but that he’d be a better fit for a different group (and I hope they agree). A few people expressed a team-fit concern that he gave off a lone-wolf vibe where he considered himself the smartest guy in the room and preferred to work alone.

My response to that was that he reminded me of me about 20-25 years ago. 😁

Now with mask support!

Tiny site tweak

The multi-topic “fun” posts I’ve been doing for a while led me to finally figure out the rendering hooks that were made possible by switching Hugo to use the Goldmark markdown renderer, and I added itty-bitty permalink icons to every H3 header, which is the standard section break I use.

It also supports hooks for images, so I think I’ll try adding them to the cheesecake posts. Because it’s a hook, it would be retroactive for all the ones I did in the past, which is a better way to refer to them than my current hack of adding “picN” to the alt text. Not today, though; the headers were an easy hack I could do between bouts of packing and pitching.

I found that the one-second delay of using hugo list all to randomize my top quotes was too much for my workflow, since I do a lot of preview runs with a subset of the site as I’m composing new entries. So I wrote a little Perl script to open every markdown file in the quotes directory, parse the TOML metadata, and check for draft/expired ones. This was faster, but still surprisingly slow.

Sure enough, the standard TOML module is pure-Perl. Downloading the C-library-based TOML::XS module and switching to it (not API-compatible with the regular module!) dropped the runtime to less than a tenth of a second.

Sadly, my attempt to file a feature request to add support for a single-section option to hugo list was met with obfuscating stupidity from someone who simply couldn’t accept that the command could ever possibly be slow in any environment at any scale.

(picture is unrelated, but makes a nice antidote to obfuscating stupidity)

Nothing against Apple…

Apple is being attacked across the world for its “everything within Apple, nothing outside Apple, nothing with QA” walled-garden approach to computing. This week, it’s iCloud private relay, which protects i{,Pad}OS users from everyone except Apple.

Governments resent Apple in the same way they resent organized crime. They can’t stand competition.

(picture is unrelated, but may provide aid and comfort to people who enjoy a little white-hair/dark-skin in their cheesecake)

Speaking of Apple…

Today, March 14 2022, Apple released iOS 15.4 with FaceID Mask Unlock, which would have been really useful a year or so ago.

(speaking of things that are arriving way too late to be useful, here’s decent fan-art of Rit from No true comrade)

“…for the end of that game is oppression and shame…”

To celebrate the Brandom regime’s attempts to Make Iran Great Again, the Iranian military fired missiles at a US consulate.

Apparently they’re unhappy about the late ice cream, too.

Fifty Shades Of Hugo

Update Your Firmware, HP edition

Why, yes, the increasing complexity of computer firmware has created a new market in firmware analysis, as evidenced by Binarly finds 16 serious vulnerability in HP firmware. I’m not the least bit surprised, since this sort of low-level code is generally maintained by Some Cranky Old Guy who isn’t given nearly enough resources or time, I just want to know if the company’s name is pronounced bi-gnarly, bin-arly, or perhaps an Irish-ish b’narly.

Realist Hero, episode 23

Note to Our Producers: when Our Realist Hero casually says that he wiped out gangs and illegal drugs while cleaning up the slums, it does not count as lampshading to have another character say “did he really say he did that?” and then move on. You’re just pointing out how ludicrous it is for him to announce that his otherworldly book-knowledge has handwaved away a serious problem.

Also, “I’ll skip the explanation because it’s complicated”?!? Yeah, that’s a first for this talky series. At least we got to check in with Our Bold Raccoon Girl and the man she’s raising.

(picture is unrelated except for the presence of underrim glasses…)

Kuroitsu, episode 9

In which The Days Are Just Packed, and We Thank You For Your Service. Seriously, there’s so much going on in this one that I won’t even try to summarize, and the only missing member of the extended cast is Our Part-Time Hero.

Screencaps from last week’s episode, courtesy of Tenka Seiha’s usual downer of a review.

Breezy storytelling…

I checked in on WTF? I turned into an OP loli wizard! this week, and it starts with a female character shoving her head up Our Loli-Wizard’s miniskirt and asking why she doesn’t wear panties. Later, she accompanies a party of soldiers on the road, walking on air above them to scout, and the writers completely forgot about her going commando, even when the soldiers are looking up to talk to her. They could have at least tossed in a shot of one guy in the back enjoying the view. And, yes, she continues to face no challenge to her unparalleled OP-ness.

Still later, she travels to a magical forest while following the trail of a missing ally, only to be bullied by mind-reading dryads who pick up her desperate need to pee and demand she fertilize the plants with her high-mana urine. (this is apparently the second time her tiny bladder has been a plot point)

I… won’t be checking on it again.

(unrelated loli is unrelated)

Meanwhile, on Amazon,

The top two ebooks recommended to me right now are Instead of becoming a hero, I’ve reincarnated as a billionaire and Reincarnated as a dragon hatchling. For the hoard!

The top three electronics devices recommended are a pseudo-Switch, a psuedo-Amiga, and a pseudo-C64.

Apple AI at its finest…

…also Apple QA.

I went to rip the soundtrack CD from Interspecies Reviewers, after using up my Amazon store credit to overcome the painful price. My Macbook simply could not successfully read the disc without erroring out after one or two tracks (with several completely different USB CD/DVD/Bluray players), but it could load album art, and it chose… Fifty Shades of Gray.

All three players mounted it successfully on my HP Aero 13, and gave me no trouble ripping the disc.

Dynamic Static Page Error

I accidentally broke the page structure here for a while. I had set a few quotes to expire to take them out of the top rotation, but hadn’t tested it against the script that randomizes them.

Back in The Before Times of 2019, I replaced my original scheme for random top quotes with a new data-driven one that ran faster. In my makefile for updating the blog, I added a script that groveled over the file system to find Markdown files in the quotes directory, shuffled their order, and added the filenames to a TOML array, so that their contents could be inserted with Hugo’s page-lookup function. But that just meant that each site build had different quotes, that would remain the same for hours or days.

To make them update more frequently than that, I added very specific CSS around the top-quote section, so that a fraction-of-a-second server-side script could pull them out of all ~540 index pages, shuffle them, and put them back in a new order. The result is that every quote gets used at least once, the subset that gets used a second time changes every build, and the quote on each index page changes every three minutes.

This works great until you expire some of the quotes, so that they’re still in the source file system, but don’t get included in the build for the page-lookup function.

Hugo Is Not A Database, but it does include a command to dump a CSV file containing the details of all of your content, which can be parsed to find draft and expired entries:

With Miller:

hugo list all | mlr --csv --headerless-csv-output \
	filter '$expiryDate == "0001-01-01T00:00:00Z" && 
		$draft == "false" && 
		$path =~ "^content/quotes"' \
	then cut -f path | sed -e 's/^content\///' > $TMP

With q:

hugo list all | 
	q -Hd, 'select path from - where 
		expiryDate = "0001-01-01T00:00:00Z" and 
		draft = "false" and 
		path like "content/quotes%"' |
	sed -e 's/^content\///' > $TMP

Takes about a second to extract the list of valid top quotes. And now I don’t have missing quotes corrupting the DOM structure on random index pages, which then end up percolating up to the main page.

…then of course I forgot to turn the cron job back on, so the same quote was on the main page for two days…

On the bright side, the latest release of Hugo renders this site 28% faster. Most users are seeing at least a 20% improvement and some are seeing 50% or more. Which can save minutes or hours for really large sites, but in my case is a still-respectable 5 seconds.

(note that almost every time someone complains on the forums about build time, they’ve designed or borrowed extremely expensive templates filled with lookups and cross-references that explode at scale)

(troubleshooting catgirl maid is unrelated, and probably doesn’t do windows)

More fun with spam…

This one went to my CPAN email address, so apparently my Perl code is very sexy!

From: Evangelist Cynthia
Subject: Sophia been all over me about getting in touch with you

Hi Handsome,

I am online today and was about to close my account since I already got a life partner here on facebook that was when my cousin, Sophia came across your profile as she was actually standing behind me, she has been all over me about getting in touch with you. she said you seems like a man she will like to know better. She lives in the same area as you. She was only here for a job inspection. You don’t need to write back here as I will be deactivating my account on this site soon. This is her direct email: (gmail acct removed)

I hope you get in touch with her and I promise you won’t regret anything. I believe you will thank me later for this.

My warms regards.
Evangelist Cynthia Stout.

The body text assumes this email address is tied to a Facebook account, so they purchased their contact list from the lowest bidder. And I’m not sure if “evangelist” is supposed to be a name, an occupation, or a religious signifier.

The actual sender is a Russian domain, laundered through pobox.com, so my spam filter is helping me boycott Russian con women!

(picture is unrelated, and I’m not sure I want to know what’s going on here)

Old Man Yells At Cloud

At the Democrat Retreat (which, sadly, does not involve them abandoning the US and fleeing to Cuba), Joe Biden lost his temper because the ice cream was late people were blaming inflation on his administration’s insanely reckless spending.

The ice cream was, in fact, late. The price increases, however, came early.

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