August 2019

Um, Hestia?

I don’t think he’s ready for that discussion just yet…

(via the DanMemo mobile game)

Thanko: For all your Urban Ninja needs...

Walking the fine line between practical and batshit crazy, it’s the USB-Powered Fleece Helmet. I mean, who doesn’t want to keep their heads warm during the bitter Japanese winters? Except maybe someone who’d rather not have cheap Chinese lithium batteries right under their ears, exposed to the elements and about an inch away from a heating coil.

Dear Engadget headline writer...

The incorrect interpretation is surprisingly plausible:

Facebook releases tools to flag harmful content on GitHub

(screenshot after the jump, so you don’t have to look at Zuck)


Super Miniskirt Space Pirates 1: Pirate Officer Cadets

So, the original light novels that Bodacious Space Pirates was based on moved to a new publisher, who redid the covers in a more anime style and has now spun off a new series, apparently the adventures of Marika and Chiaki as Imperial space cadets:

3D Cheesecake: De Dupes

Inevitably, there are duplicate images in my cheesecake archives. Sometimes it’s the exact same file with a different name, which I can detect with a simple MD5 checksum, but often they’re different sizes, or some site has added a watermark, or a magazine overlayed it with text, or someone cropped off the text that someone else added, etc, etc.

Enter PDQ, an image-similarity hashing system that works pretty darn well. Despite coming from the evil facebook empire (usable for detecting kiddie-pr0n and wrongthink memes), the code is pretty decent, compiles cleanly, and only blows up if you feed it a file that doesn’t contain a single image convertable with ImageMagick (pro tip: do not run it on a directory that contains a video file; your swapfile will thank me). A quick review of the images it clustered together confirmed that fully 11% of my images were duplicates.

So what better for a cheesecake theme than images I liked so much I managed to download them at least four times? (not counting any copies I’ve already posted and deleted from the archive, of course; I’ll have to go through my S3 backups sometime to find those)

The following de-duplication recipe uses Miller to process the output; I’d somehow overlooked this tool for years, and I can think of at least one project at work that I wouldn’t be stuck maintaining any more if it were a directory full of mlr recipes instead of Perl modules.

# gather up all your image files
find . -type f -name '[0-9a-zA-Z]*.[pjPJ]*' | sort > /tmp/images

# edit the list to remove anything that's not an image (text, video,
# etc); also sanity-check for annoying file names (containing things
# like commas(!), whitespace, quotes, parentheses, etc)

# generate the hashes; this is the tedious part
# (~13/sec on my 12-inch MacBook with images stored on an external SSD)
pdq-photo-hasher -d -i < /tmp/images > /tmp/hashes

# cluster similar images, then strip out all images with
# cluster-size=1 (unique)
clusterize256 /tmp/hashes | mlr filter '$clusz > 1' > /tmp/alldupes

# extract their filenames
mlr --onidx cut -f filename /tmp/alldupes > /tmp/files

# create file containing (filename, height, size) for all images
xargs identify -format 'filename=%i,height=%h,size=%B\n' \
    < /tmp/files > /tmp/meta

# join it to the original, for consolidated output
mlr join -j filename -f /tmp/meta /tmp/alldupes > /tmp/alldupes2

# for each cluster, keep the file with the largest (height, size)
mlr sort -nr height,size then \
    head -n 1 -g clidx then \
    sort -n clidx then \
    cut -f filename /tmp/alldupes2 > /tmp/keep

# create the complementary set of images to delete
fgrep -v -f /tmp/keep /tmp/alldupes2 |
    mlr --onidx cut -f filename > /tmp/nuke

# move the dupes to another directory
# (rather than deleting them immediately...)
mkdir -p DUPES
mv $(</tmp/nuke) DUPES

When you add additional images to your collection, you can generate their hashes and compare them to the existing data (amusingly, you have to use the tool backwards…):

# hash the new images
pdq-photo-hasher [0-9a-zA-Z]*.[pjPJ]* > /tmp/newstuff

# print the filenames of new dupes
# (note that mih-query is a bit twitchy about formatting; the
# hash field must be first, and non-pdq fields need to be at
# the end)
mih-query /tmp/hashes /tmp/newstuff | grep match= | mlr --onidx cut -f 4

# add remaining hashes to your DB of unique images

Bonus for correctly guessing which image I had eight copies of. 😁


DanMachi 2.4

In which the first arc is quickly wrapped up, thankfully getting rid of the mustache-twirling ugly people who were spitting into the camera. Nice cameo by Mord, who’s clearly learned his lesson (he’s practically tsundere in the DanMemo game…). Pity that Lili’s self-esteem is so firmly tied up in Bell, but maybe Finn can help out with that (misleading non-spoiler).

Next up: Amazons, ho! No, wait, I meant Amazon hoes!

Baby's First Character Sheet

Just for fun, here’s the one-page PostScript character sheet I made for GURPS (3rd edition) back in the Eighties. This is good old-fashioned stone-knives-and-bearskins hand-written PostScript, because that’s just how we rolled in OSU-CIS.

PDF version (5.3KB), if you don’t feel like cutting and pasting.

%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 0 0 612 792
%%DocumentFonts: Times-Roman Times-Bold Times-Italic
%%Pages: 1
/D 32 dict def D begin /d{bind def}bind def /w{setlinewidth}d /f{setfont}d
/r{rlineto}d /m{moveto}d /M{rmoveto}d /s{show}d /t{stroke}d /S{dup
stringwidth pop neg 0 M s}d /c{dup stringwidth pop 2 div neg 0 M s}d
/l{m lineto t}d /h{m 0 r t}d /v{m 0 exch r t}d /b{m dup 0 r exch 0 exch
r neg 0 r closepath t}d /n{findfont exch scalefont def}d /V{/L exch def
/Y exch def{Y m 0 L r t}for}d /H{/L exch def /X exch def{X exch m L 0 r
t}for}d end
%%Page: 1 1
D begin 72 dup scale 1 72 div w
0.028 w 9.25 7 1 0.5 b 9.25 3 0.5 v 9.25 6 0.5 v 5 3 1.75 h 2 1 4 h 2 1
4.75 h 5 1 5.75 h 3 3 6.25 h 2 1 7 h 2 1 7.75 h 2 1 8.25 h 1.12 1 8.75 h
2 1 9.25 h 1 2.12 8.25 v 1.25 2.25 5.75 v 0.75 5.5 2.5 9.75 b 0.75 6.5
9.75 v 0.75 7.38 9.75 v 1.5 6.5 10.1 h 0.014 w 2 2.12 7.75 v 0.75 1.75 7
v 0.75 2.38 7 v 2 1 5.5 h 0.75 1.67 4.75 v 0.75 2.33 4.75 v 0.007 w 0.75
0.16 3.5 1.05 1.9 H 0.75 0.16 3.5 0.7 0.25 H 0.75 0.16 1.5 3.05 2.9 H
1.95 0.16 5 3.05 2.9 H 1.95 0.16 9.4 6.05 1.9 H 0.75 0.16 1.5 6.75 1.2 H
5.8 0.175 6.6 1.95 0.25 H 6.15 0.175 6.6 2.7 0.25 H 0.25 0.7 7.75 h 0.25
0.7 8.25 h 0.25 0.7 8.75 h 0.25 0.7 9.25 h 1.85 2.9 10.3 h 1.25 5.2 10.3
h 3.25 3.2 10.1 h 3.05 3.4 9.94 h 0.35 2.6 8.69 h 0.35 2.6 8.45 h 1.95 4
5.98 h 1 1.4 4.38 h 1.35 1.05 4.2 h 0.43 2.15 4.08 v /FIELD 0.125
/Times-Roman n FIELD f /X 2.55 def(Name)(Appearance)(Character Story)
9.94 .18 10.35 {X exch m s}for 4.8 10.3 m(Player)s 6.94 10.4 m
(Date Created)c 6.94 10 m(Unspent Points)c 7.69 10.4 m(Sequence)c
7.69 10 m(Point Total)c 2.56 9.62 m(FATIGUE)c 6.05 9.62 m(SKILLS)s
2.56 9.13 m(BASIC)c 2.56 9.01 m(DAMAGE)c 2.56 8.13 m(HITS TAKEN)c
2.06 7.62 m(BASIC)c 2.06 7.5 m(SPEED)c 2.69 7.62 m(MOVE)c 1.63
6.87 m(ENCUMBRANCE)c 2.63 6.87 m(PASSIVE)c 2.63 6.75 m(DEFENSE)c
3.05 5.98 m(REACTION + / -)s 2 5.59 m(ACTIVE DEFENSES)c 3.05 5.59 m
(WEAPONS AND POSSESSIONS)s 1.33 5.37 m(DODGE)c 2 5.37 m(PARRY)c
2.67 5.37 m(BLOCK)c 1.05 4.62 m(DAMAGE RESISTANCE)s 1.05 3.87 m
(ADVANTAGES,)s 1.05 3.75 m(DISADVANTAGES, QUIRKS)s 3.05 1.62 m
(WEAPON RANGES)s 6.05 1.62 m(SUMMARY)s /ITAL 0.111 /Times-Italic n
ITAL f 7.2 9.62 m(Pt. Cost)s 7.95 9.62 m(Level)S 2.2 8.69 m
(Thrust:)s 2.2 8.45 m(Swing:)s 2.06 7.05 m(\(HT + DX\)/4)c 2.69
7.05 m(Basic - Enc.)c /X 1.05 def(None\(0\)= 2 x ST)
(Light\(1\)= 4 x ST)(Med\(2\)= 6 x ST)(Hvy\(3\)= 12 x ST)
(X-hvy\(4\)= 20 x ST)5.8 .175 6.6 {X exch m s}for 2.3 6.5 m(Armor:)s
2.3 6.33 m(Shield:)s 3.08 5.46 m(Item)s 4.45 5.46 m(Damage)c 4.4
5.33 m(Type)S 4.5 5.33 m(Amt.)s 5 5.46 m(Skill)c 5 5.33 m(Level)
c 5.4 5.46 m($)c 5.95 5.46 m(Wt.)S 1.33 4.8 m(= Move)c 2 4.8 m
(Weapon/2)c 2.67 4.8 m(Shield/2)c 3.5 1.8 m(Totals: $)s 4.7 1.8 m
(Lbs.)s 7.95 1.62 m(Point Total)S 3.08 1.53 m(Weapon)s 4.5 1.53 m
(SS)S 4.9 1.53 m(ACC)S 5.5 1.53 m(1/2 DMG)S 5.95 1.53 m(MAX)S
/X 6.05 def(Attributes)(Advantages)(Disadvantages)(Quirks)(Skills)
.75 .16 1.5 {X exch m s}for /DESC 0.111 /Times-Roman n DESC f 0.825 9.7
m(Pt.)c 0.825 9.58 m(Cost)c 0.825 3.95 m(Pt.)c 0.825 3.83 m(Cost)
c 1.05 4.38 m(Armor)s 6.05 0.55 m(TOTAL)s /X 2.45 def
(T)(O)(T)(A)(L)4.07 .09 4.44 {X exch m s}for /X 2.3 def
(T)(O)(T)(A)(L)5.78 .09 6.15 {X exch m s}for /GURPS 0.556
/Times-Bold n GURPS f 1.4 10.2 m(GURPS)c /REG 0.167 /Symbol n REG f
2.3 10.5 m(\322)s /FIELD 0.181 /Times-Bold n FIELD f 1.4 9.9 m
(CHARACTER SHEET)c /STAT 0.278 /Times-Bold n STAT f /X 1.03 def
(ST)(DX)(IQ)(HT)7.9 .5 9.5 {X exch m s}for 1.03 7.28 m(Mvmt)s
/LEGAL 0.0972 /Times-Roman n LEGAL f 8 0.4 m
(Shamelessly swiped from an original that's \(C\)1988 Steve Jackson Games Inc.)
S end

Regional Cooling

Usually by this time of year, I’ve had the air conditioner on, sometimes even at night. This year, I think I’ve had three days above 75°F.

Cop Craft episode 5

Still holds my interest, still feels rushed, wish the vampire chick had nipples.

My biggest concern is that they ripped through book one in 3.5 episodes, and the other books are all about 20% shorter. How far do they plan to get in 12 episodes, and will the results be coherent?

Pixiv: quick sketch

Rakugaki (落書き) can refer to scribbles or graffiti, but on Pixiv, it’s usually more of a quick sketch. And some artists’ “quick sketches” are quite impressive.

Let’s lead off with the extremely rare triple half-rims!


8​. "Don't put that in your mouth"


More fun with duplicate cheesecake

Before I deleted the 2,000+ duplicate images I found with PDQ, I did a lot of sampling to make sure there were no false positives. The default distance within which clusterize256 considers two images to be the same is 31, which looks like the sort of number you’d come up with after testing your code against a large set of known data.

Now that I have ~16,000 de-duped images, I decided to see what would happen if I bumped that up.

First I tried 50, which found a number of real dupes where the differences consisted of minor changes in cropping, focus, and exposure (at the level of Photoshop’s auto-level function), as well as significant text additions. It also had a fair number of false positives, however, mostly photos of the same model with slightly different expressions or head positions (eyes open/closed, smile/not, face turned a few degrees, etc); if they should be considered dupes at all, the resolution process has to be manual (we used to call it “editing your damn photoshoot”…).

Then I tried 40, which reduced but didn’t eliminate the false face positives. 35 left me with only one false match (below), but also didn’t pick up some of the real near-duplicates.

Then there was this pair…


Forgotten SF Novels: Mayflies

Kevin O’Donnell, Jr was a prolific SF writer in the Seventies and Eighties, mostly in short-story form, but he also left behind 10 full-length novels, perhaps the best-remembered being the four-volume Journeys of McGill Feighan, which were successful enough that Berkley reprinted his earlier novel Mayflies with an “interesting” new cover:

Our Hero was a scientist working on a last-ditch life-support system to keep even the most critically injured alive until they could be treated. In a fit of irony, he ends up being the first test subject when he’s decapitated by a rogue light fixture during a severe earthquake.

Unfortunately for Our Hero, he doesn’t recover, and his living-but-idle brain eventually gets donated to a group working on biological computers, as in “reprogramming a human brain into a supercomputer”. They do such a good job of it that the brain-puter is put in charge of a slower-than-light starship sent to found a colony out among the stars, just in case humanity blows itself up at home.

Unfortunately for the passengers, his mind wasn’t completely wiped, and when he wakes up, the conflict between programming and ego results in a tug-of-war that disables the ramscoop before they get up to full speed. The ship will eventually reach its destination, but it’s going to take a long, long time. As their societies rise and fall, Our Hero struggles against his programmed self for control over the ship, while living vicariously through generations of short-lived passenger “mayflies”.

As I mentioned over on Good Show Sir, the cover art that looks like a stoner party being crashed by a mind-melding alien is actually a sex scene in the book, in which the girl is expertly fingered to orgasm by one of the aliens. Actually, everyone aboard is being probed in some fashion, in an attempt to elicit violent or self-destructive reactions, but our PoV character at that moment apparently drew the short straw.

Note: none of his books are in print or available electronically, which is a shame, since they were all entertaining; I presume there are rights issues which his estate is either unwilling or unable to untangle.

Well, that was special...

I use Amazon’s RedHat-based Linux distribution to run this site in their cloud, with Nginx as the main web server, and Lighttpd for CGI-ish things that are reverse-proxied by Nginx.

Amazon’s been pretty good at maintaining the RPMs, to the point that I don’t worry much about running “yum update” and rebooting at frequent intervals, although I do update my test instance before the real one.

So it was not pleasant to go through a typical update, surf to my site, and find the Lighttpd default page instead of my blog. Whoever packaged up the latest release had it overwrite /etc/rc.d/init.d/lighttpd, blowing away my configuration and replacing it with the default one. And it started up before Nginx, so it claimed the ports.

(and before you ask, I would have put my customizations in /etc/sysconfig/lighttpd if the script had been written in a way that allowed those particular changes; the workaround is going to be to copy it to a new name and disable the original)

Fortunately I keep all configs under source control, so I simply reverted that file and restarted everything, but it’s still annoying.

Unrelated, tomorrow there’ll be a double feature: terrible parody song lyrics with matching cheesecake!

3D Cheesecake: Invisible Handcuffs Edition

With apologies to Genesis

🎶 🎶 🎶 🎶
Well I’ve been surfing, surfing porn so long,
But thinking bondage, bondage was just wrong.
Well now I know,
It increases visibility
Of prime femininity,
And redefines the term “restraining order”.

She seems to be in invisible cuffs, damn!
I could reach out and grab right hold of her parts.
When I see girls in invisible cuffs, damn!
I lose control, my heart rate goes off the charts.

Well I don’t even know her, or how to spell her name,
Just that she shows all that skin, without a hint of shame.
And now I know,
She’s got something that keeps her trussed,
And it shows off the goods to us,
And in my dreams, I’m touching her all over.


synth break


Well I just keep losing, because I have no game,
And yes I have messed up my life, and women call me lame.
And now I know,
Restraints produce great pornography,
Expose lingerie to me,
And fill my screen with babes to slobber over.

🎶 🎶 🎶 🎶

In related news, giga-Kojimblr has been released from Tumblr jail. It got flagged a few days back, which forces you to log in before viewing “sensitive” content. Since I have no intention of creating a Tumblr account, I had to cross my fingers and hope it’d eventually be released. Honestly, I’m surprised it hasn’t been permabanned by now; that’d be, what, the fifth time?

[Sunday update: …and, back into Tumblr jail it goes, sigh.]

[Sunday afternoon update: to my immense surprise, it seems I do have a Tumblr account; they just sent me email saying it’s been a long time since I used my account, and do I still want to keep the username? Apparently I created it a few years ago to add a comment to someone’s “where is this place in Kyoto” request. Don’t bother looking for my empty blog there; it’s marked private, and I wouldn’t use it anyway, given how hostile they are to their users.]

[updated with almost all their names]


Please Don't Tell My Parents I Found A New Publisher...

When Curiosity Quills imploded, Richard Roberts’ books ended up in limbo. After reclaiming the rights, he went searching for a new publisher instead of putting them up on Amazon himself, and the first Pennyverse book is back online. He thinks the second one should be up any time now. Decent Kindle price, painful paperback price.

DanMachi 2.5

In which Our Heroes get their Just Rewards, and A Great Darkness Covers The… no, wait, it’s just rubber ducks. Evil, evil rubber ducks. A little R&R before the Haruhime story kicks off.

(And, no, she doesnt seem to be in the game yet; since this week’s new characters were Daphne and Cassandra, I presume she’ll show up next week. If they implement something even vaguely close to her power, she’ll be very popular for PvP)

Homebrew FU

To augment the relatively small amount of Open Source software included with MacOS (soon to be even smaller), I used to use Fink. Then I used to use DarwinPorts (now MacPorts). And just now, I started wondering if it’s time to give up on Homebrew.

Why? Because the maintainers very very quietly decided to gut the functionality of the tools by removing all of the compile-time options for every package, restricting them to a single flavor. The dozens of bugs filed since then just get closed with rude noises, and maybe a handful of the requests for lost functionality get added back as part of the one-and-only build flavor (but only if they’re submitted in precisely the correct format and don’t conflict with other undocumented policies). The best part is that if you had installed something with options selected, it silently broke the next time it was updated.

Their recommended solution: “create your own tap”, which is like telling someone who came in for an oil change to build their own fucking garage if they don’t want 5W30.

Cop Craft episode 6

After last week’s Dire Menace From Another Time (with a side order of foreshadowing), it’s time to kick back, relax, and develop some characters! This story was the second half of book 2, and it feels pretty wrapped-up to me, which means they’re really pushing to get through the source material. At least it worked pretty well this time, the relationship between Our Heroes is solidifying, and Tirana got some entertaining culture shocks. Still no sign of the cute elf photojournalist from the OP, who isn’t in any of the light-novel illustrations, so I don’t know when or where she shows up.

Unrelated, I’d like to state for the record that I have never had any information about alleged financial, sexual, or criminal acts undertaken by or on behalf of anyone related to, employed by, or associated with Bill and/or Hillary Clinton. Never never. Absolutely sure of it.

Wordpress buys Tumblr

This couldn’t possibly go wrong.

Pixiv Champloo 6

No idea where all those zombie girls came from; I must have something on my mindbraaaaiiinzzz.


A Semanian Virgin In San Teresa's Vice

Cop Craft spoilers, ho.


'Fun' with Miller

The Miller data-manipulation tool has a lot of potential, but the organic development process has left it with a lot of rough edges.

My first hint that all was not well internally was when I was hacking on PDQ output and realized that I had to type nest --implode --values --across-records --nested-fs space to get what I wanted. The manpage includes a shortcut for the nest verb’s other mode, so that --explode --values --across-records --nested-fs can be replaced with --evar, but there’s no matching --ivar. So I forked the project, added it, and sent a pull request.

The functionality was trivial, but the single-line usage description had to be added five times. That sent up a little red flag.

Still, it was easy to do, so I thought I’d see if it was feasible to fix one of the other things that bugs me, which is the lack of quoting and/or escape characters in its native DKVP file format (delimited key-value pairs, aka foo=1,bar=2,baz=3).

The answer turns out to be “not easily”, and I quickly learned some unpleasant things about how it handles other data-format conversions.

Given the perfectly-ordinary CSV input file foo.csv containing:


I get the following results:

# DKVP: useless as expected
% mlr --icsv cat foo.csv

# (note: internally, fields have correct values)
% mlr --icsv --ojson cut -f a,b foo.csv
{ "a": "1,1", "b": "2\n2" }

# CSV: reasonable, but strings converted to ints
% mlr --csv cat foo.csv

# Quoted CSV: better, but should be default
% mlr --csv --quote-original cat foo.csv

# JSON: reasonable, but strings converted to ints
% mlr --icsv --ojson  cat foo.csv 
{ "a": "1,1", "b": "2\n2", "c": 3, "d": "4\\r4", "e": "5\\n5" }

# Quoted JSON: oh, hell no
% mlr --icsv --ojson --jvquoteall cat foo.csv 
{ "a": "1,1", "b": "2
2", "c": "3", "d": "4\r4", "e": "5\n5" }

Note that the automated num-ification has real consequences for data processing, since you can’t do things like regex matches or string-substitutions on a number type, and have to explicitly coerce fields back to strings; the error message for this is less than clear. Also, leading zeroes trigger octal conversion…

So that’s an enhancement request for escaping comma, cr, and lf in DKVP, plus a bug on the busted output when you add the --jvquoteall option to avoid the num-ification of string literals. (and it bothers me that I had to explain the bug in a completely different way because one of the devs didn’t understand my sample CSV file…)

I see a massive refactoring in its future (“cover a wall with color-coded sticky notes, then break out the chainsaws and forklifts”). Oh, well, useful tool when used with care.

Surprisingly, not from Thanko

The Happy Fan:

Tsundere for Bell

This is actually a bit disturbing…

DanMachi 2.6: Like taking babies from candy

In which Bell discovers Orario’s red-light district and a princess in need of rescuing, and Hermes gets more than he bargained for. And I don’t mean rubber ducks.

(this week’s new character in the game turns out to be Ishtar; perhaps they won’t add Haruhime until her power is revealed in an upcoming episode)

3D Cheesecake 21

If she’s good for a gander, she’s good for a goose.



Is there a bag limit on Antifa? Asking for a friend.


Miyako Messe in Kyoto hosts the Museum of Traditional Crafts. It’s small, fascinating, free, and quite expensive, because many modern examples of the various crafts are for sale. I ended up buying two Shingen-bukuro (Samurai Man-Purse), a handmade orin (the Japanese version of the popular “singing bowl”), a bottle of saké (that I should have bought more of; who knew matcha worked so well as a saké flavoring?), and an assortment of gifts. We’ll be visiting again in March.

One of the crafts on display was kumihimo, with some finished braids shown in their usual context as kimono ties, and some small sample braids next to illustrations of the equipment used to create them. There were two I’d never heard of, so I grabbed a quick pic with my phone and promptly forgot to look them up.

One was a special stand for making the Naiki-gumi (内記組) braid, with the appropriate name Naiki-dai. I know how to make that one on a marudai, so it was mostly of academic interest.

The other sample was called Chiyoda-gumi (千代田組), a loose chain-like structure that was more weave than braid, and the stand was an elaborate construct that looked vaguely like a warp-weighted rigid heddle loom that used kumihimo weighted bobbins for tension, called a Kago-uchi-dai (籠打台).

Last night I googled it, and the one non-BL result in English was a scanned PDF of a 1985 weaving journal article by Noémi Speiser, detailing her discovery of this device while working on her long-out-of-print book The Manual of Braiding, which, it turns out, just came back into print last November, and which includes instructions for the Naiki-dai (and, apparently, the Ayatakedai).

The text, pictures, and clear instructions in her article revealed that the Kago-uchi-dai is… a warp-weighted rigid heddle loom that uses kumihimo weighted bobbins for tension.

Well, alrighty then.

Coincidentally, a few months back, I got the idea of setting my card loom up vertically so I could use kumihimo bobbins to provide tension and allow the strands to freely untwist; I’ve been too busy to try it, but it seemed like it would work well, and now I know it will. 😁

Oh, and the kagouchi braid? Speiser identified the structure as identical to #2918 in The Ashley Book of Knots, and speculated that the rounded version the artisans told her about but didn’t show was likely #2919.

The hotel wifi objects...

It’s a fair cop:

She's no Su-Metal, but...

…Mayu Yoshioka gives it the old loli knight elf try.

And here’s the OP animation for comparison.

The “full length” versions of these songs suffer from the usual problem with padding out something that was carefully designed to be 90 seconds long, but they’re not bad. Hers works better than his.


Been too busy braiding to watch this week’s Cop Craft episode, but the phrase “Tirana goes undercover in a high-class brothel” has definite potential.

Also a bit of a surprise, since I was pretty sure that they finished off book 2 last week, and book 3 has her going undercover in a high school. Side story? Leftovers from the end of book 2? Dunno. Maybe she does both as part of the same story?

Shigeuchi on Marudai

At the retreat this afternoon, we were discussing Makiko Tada’s adaptation of Shigeuchi for the marudai, and I pointed Randy to the tips page on Braidershand for the PDF instructions and photos of Tada-sensei making the braid.

But when I checked, the photos weren’t online anymore, and neither Google image search nor Tineye could find copies anywhere. So here they are, after the jump; click to enlarge.


"I wouldn't kick her out of bed for eating crackers..."

“​…but she’d better not touch my Honeycomb!”

(the sign, if you can find it, reads, “I snitched the snacks”)

From Thanko, but if it actually works...

Bug Zapper with fan and light, for when the tennis-racket style zapper just isn’t doing the job.

Coming Soon: Samurai Redressed

December 2020 UPDATE: now available

I have a few notes somewhere on odoshi, the braids or leather strips used to assemble yoroi armor, and had made a note to ask Makiko Tada about it if I got a chance. At the Retreat, someone happened to mention a recent post on the AKS Facebook page announcing a new Jacqui Carey book on the subject:

I did discuss it briefly with Tada-sensei at dinner, and she promised to introduce me to one of the few remaining armor-makers sometime when I’m in Tokyo.

It wasn't easy, but...

…I made it out of the Benchmade factory store for under $200. It would have been much more difficult if I hadn’t just spent nearly twice that on precut kumihimo silk.

Evidence that America isn't a cesspool of racism...

Exhibit A: for eight years, millions of heavily-armed People Of Pallor refused to even try to shoot Obama to put a White Man back in the White House.

JIPs, FIPs, and PHOSUs

Because San Francisco is Desperately Evading Real Problems (DERP), their Department Of Progressive Euphemisms (DOPE) has solved the problem of crime and drug addiction by replacing the derogatory terms for the crooks and bums that have filled their streets with crime and their sidewalks with feces. Convicted criminals are now Justice-Involved Persons or Formerly-Incarcerated Persons. Since recidivism has been redefined as Addiction, actual addicts are Persons with a History Of Substance Use.

The new temporarily-acceptable terms for criminal minors just roll off the tongue: Young Person Impacted by the Juvenile Justice System and Young Person with Justice System Involvement.

Pixiv: barefoot

“Wait, they have feet?”


N Interlacements of Naiki

The marudai braid Naiki (Tada #64, Creative Kumihimo 16N) has a lot of potential for interesting two-color patterns. Someday I’ll revisit the script I wrote five years ago to identify all unique patterns for a braid, and update it to correctly handle more than Edo Yattsu and Shigeuchi, but meanwhile I can at least generate random subsets of the possible interlacements and pick through them by hand.


I replaced the crude single-page gallery that broke Randy’s browser with a custom Hugo sub-site that will eventually be a general-purpose gallery.

Dear Apple,

I know I’m a bit late to the game on this one, but after recently upgrading my iPhone from a 6 Plus (not supported in the upcoming iOS 13, so the trade-in price started to drop…), I discovered the on-by-default feature known as Live Photos.

It really, really sucks. Especially as a default. Glad I found out before it ruined any useful pictures. Just a bunch of quick reference pics like this from the Retreat:

Seriously, all it does is document how much your hand moves after you press the shutter button, while breaking any image-processing workflow you might have. What is the actual use case that justifies the development and (coughcouch) QA resources?

Are you being serviced?

Largely due to the voice actresses enthusiastically embracing their roles, and the girls being well-drawn, Sounan Desu Ka? (“Are We Shipwrecked?”) is actually an amusing little show, and episode 8 finally delivers more than token fan-service, courtesy of a conveniently-placed hot spring.

Bee Wars...

After viewing the new Star Wars trailer, I’m thinking The Babylon Bee nailed it.

I’d have to finish watching the previous movie to have much interest in this one, but first I’d have to rewatch the beginning up to where I completely lost interest, and I’m just not motivated to do that any time soon.

DanMachi 2.7

The Haruhime storyline advances. Are they going to make it the whole rest of the season? I’ve kind of forgotten what happens after that, so I’m not sure if that’s good or bad.

This week’s new character in the game is Lena; cute, but the only reason I remember her is because she recently starred in the “Bete’s would-be baby-momma” story in the side novels.

Related, it’s refreshing to see Lili drawn at the correct scale again. In the game, everyone is shown at more or less the same size, which is a good thing, or Lili would be covered by the dialogue boxes and Hestia would be cut off at the boobs.

OMC: Hitomi Yasueda

My only complaint about the quality and quantity of skin that Hitomi Yasueda (安枝瞳) frequently displays is that there are a number of pictures where her lack of a top should result in at least a hint of areola and/or nipple, but the Barbie filter is set to “nope”. As compensation, they spare no effort to prove that she’s got more ass than all but the most-genetically-gifted of Japanese women.

Born in 1988 and still working, which makes even her earliest photos comfortingly legal for prolonged ogling.


R.I.P. The Campbell Award

Spitting On The Shoulders Of Giants.

One for Brickmuppet

I think I figured out where your gal got her hair ornaments

The future that never was...

Slightly less likely than cold fusion, it’s The Year Of The Linux Desktop. The video explains a lot, really.


Replaced the Youtube link with Brickmuppet’s Bitchute upload.

Good Eats! The Return 1&2

It’s back, it’s back, it’s back-to-back, it’s… chicken parmesan and hipster grains? Eh, whatever, it’s Alton doin’ his thing, so it’s worth watching. Just don’t expect me to start calling chia and quinoa “Good Eats”….

Note that when introducing his “favorite quinoa recipe”, he apologizes for the half-stick of butter, 3 cups of half-and-half, and half-cup of mayo, but not for the 12oz of broccoli, which I find far more disturbing.

(file under peculiar that the ads DirecTV forces you to watch with Good Eats on their app are all aimed squarely at housewives; pity that I had to use the app to watch at my office, instead of on my DVR, where I never see any ads at all)

Now I’m free to catch up on Cop Craft! Hmmm, and there’s a new episode of Sounan Desu Ka?, but I’m guessing that the focus on Homare’s dad will not produce the quantity of fan-service that last episode did.

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