Natural Gaslighting is a renewable resource

Wait, I think I missed a space in there…

Good advice, Hillary!

“​…should not concede under any circumstances because I think this is going to drag out, and eventually I do believe he will win if we don’t give an inch, and if we are as focused and relentless as the other side is”

Oh, wait, you meant the other guy.

“For everything else, there’s MasterCard”

I Speak Gcode To My Dremel

#!/usr/bin/env bash
# Send a print job to a network-connected Dremel 3D45 printer.
# Or with no arguments, report its current status and
# remaining print time.
# dependencies: curl, jq



if [ -z "$1" ]; then
  # just report printer status and exit
    jq -r '[.progress,.remaining,.status,.jobname]|@csv' | tr -d '"' |
    awk -F, '{
      s = $2;
      h = int(s/3600);
      s -= h * 3600;
      m = int(s/60);
      s -= m * 60;
      printf("%.1f%% %2d:%02d:%02d %-8s %s\n", $1, h, m, s, $3, $4)
  exit 0

if [ ! -f "$file" ]; then
  echo "$0: file '$file' not found"
  exit 1

status=$(curl -s -d GETPRINTERSTATUS $COMMAND | jq -r .status)
if [ "$status" != "ready" ]; then
  echo "Printer $IPADDR not ready, status '$status'"
  exit 1
echo "Printer ready"

message=$(curl -s -F "print_file=@$file" $UPLOAD | jq -r .message)
if [ "$message" != "success" ]; then
  echo "Upload of $file failed, message '$message'"
  exit 1
echo "$file uploaded"

message=$(curl -s -d "PRINT=$(basename $file)" $COMMAND | jq -r .message)
if [ "$message" != "success" ]; then
  echo "Unable to print $file, message '$message'"
  exit 1
echo "$file printing"

exit 0

By the way, I printed a full-sized ABLE corner connector, just to have a model to work with for designing smaller connectors in OpenSCAD. It’s a really well-thought-out system, but the fundamental problem is that making his sample table would require five days of continuous printing and more than an entire spool of filament. Ugly metal connectors at Home Depot are faster, cheaper, sturdier, and paintable.

For the tinkertoy-takadai, I’ve decided to simplify and just use 3D-printed T connectors so I’ve got wood against wood, with the plastic keeping things aligned. I can actually just replace the pins on top of my monorail koma design with an open cube to form the T; I know this prints quickly and cheaply (although I’ll do these at 100% infill for strength).

While those are printing, I’m going to lay out the arms on the floor to set the width, calculate the minimum required height from that, and the rest of the numbers fall out of the design I did three years ago. If I’m ambitious on Saturday, I could have it ready for a test braid.

“We’re gonna need a Bigger Bird”

Music to hashtag by…

Dear Apple,

Why did you create a playlist named “####!####”, containing all of my songs?

Dear Benny Hill,

I apologize to your memory for visualizing Joe Biden careening across the country to the tune of Yakety Sax, chased by an ever-growing pack of Leftists who just figured out that they were taken for a ride.

Dev Branches Matter

I am not yet in charge of the in-house Github environment at work, which is good, because the upgraded version includes the change where the default branch in new projects is now “main” instead of “master”, which will ripple through everyone’s automation.

Hopefully Microsoft refactored their code to accommodate future changes to the language more quickly.

Philadelphia Freedom

“Oh, come on, the last time they caught someone stuffing ballot boxes in South Philly was all the way back in (checks notes) March, and it was only one elected official taking bribes from a former US Congressman on behalf of his clients. Move On, Trumptard, you’re paranoid!”

“Speed, Groove, speed is your salvation.”

When I started downloading the new 4GB Genshin Impact update on my iPad Mini, it looked like it was going to take a very, very long time. After ten minutes, it was at 0.3%. Then I suddenly noticed that I couldn’t surf the web on my Mac, and looked down to see the update coming in at 15 MB/s or higher. Done now!

Tried a free 10x gatcha pull on the new all-girl offering. Got ten duplicate weapons.

Let me explain:

  1. you need a total of five copies of a weapon to refine it to its highest quality.

  2. you get weapon drops constantly while adventuring.

  3. only one of my characters does not have a fully-refined weapon, and that one’s pretty darn rare.

  4. there is no point to keeping “extra” weapons around to swap onto your characters.

  5. ~90% of gatcha drops are weapons.

  6. I will never pay for a gatcha pull that is completely, utterly worthless.

  7. which means I will never pay for a gatcha pull.

  8. which kind of undermines their monetization scheme.

On the bright side, you can now mark specific weapons as “locked” so you don’t accidentally recycle them into upgrades while cleaning your inventory.

Note: it is canon that Fischl is simply bonkers. Her chūnibyō-induced delusions seem to tie into the main character’s backstory, but I don’t think they’ve explained where she got it all from.


Clown Fusion

One good reason not to use the free-for-makers Fusion 360 is that exporting your design to STL requires saving it as a cloud project and then rendering it in the cloud. Which takes several minutes even on simple models.

“The Cloud is Mother, the Cloud is Father.”

(and I’m not even designing in it, just using the customization options from someone else’s design, the ABLE System connectors, created by a user with no Thingiverse profile whose only video doesn’t show up as uploaded by the user who owns it, who doesn’t seem to have any other archive or discussion of his work, by anyone, anywhere…)

This, by the way, looks like a better solution for a tinkertoy takadai than the Jonction-P system I mentioned earlier, largely because that one is incompatible with my monorail design for koma. I’ll just have to redo it in OpenSCAD to scale it to different square-dowel sizes, and then add a few custom parts.

The key feature of both is that they print at an angle both for strength and to eliminate any bridging that would require supports.

🎶 Monorail, monorail, monorail 🎶

“It glides as softly as a cloud” on a half-inch square dowel, and required no trimming or sanding. Printed with PLA at 0.2mm layer height and 20% infill, it’s quite sturdy, even the half-pins at the end that are 1.65mm thick. I’d give it some light sanding before trying out a fiber like silk, but I mostly prefer yarn anyway.

A takadai built around these koma would be roughly 18x18 inches, and capable of pretty much any standard single or double-layer braid. It would be able to take full-size bobbins (no more crowded than a Braidershand extended takadai), although not necessarily five pounds of them per arm. 😁

Fingers, Pointing

I’m going to predict that if it is proven that even one state was illegitimately flipped from T to B, even by a series of completely innocent mistakes, The Narrative will immediately switch from

“Trump’s making it all up”


“Trump’s behind it all.”

The incantation “Reichstag Fire” will be invoked.

Amazon Time Travel

Hey, remember that thing I bought one of?

Let’s order another one…whu?


This did not go well. Now I know what the “build plate adhesion” checkbox is good for.

(Update: I started a simpler print job and watched it fail to lay down the first layer consistently, so I stripped all the glue off the bed, laid on two new layers, and went through the manual leveling process again. Looks a lot healthier now)

Unicorn Chaser, Fillyment Edition

To be clear, I’m not claiming she’s responsible for my filament snarl. I’d forgive her instantly…

Social Distance, With Meat

Yesterday, one of my co-workers mentioned that he might miss the morning meeting because the construction on his street was so annoying that he was going to drive down to his parents’ house in Salinas to work. Spotting this, I suggested lunch. Proving that I’d picked the right group to work with, he suggested The Meatery’s deli.

His parents live at the south end of Salinas, so it was a lot closer for him than for me, but c’mon, with a name like Meatery, of course I’m going.

They’re primarily a butcher shop and have no indoor seating, and of course Covid, so we parked our cars side-by-side and ate outdoors in the sunshine.

Next time, we’ll have to pick something closer to my house, but next time I’m in Seaside, I’ll definitely eat there again.

“​…where the dead vote early and often”

If you don’t want to be accused of shenanigans, don’t do things that look like shenanigans. Sounds simple, doesn’t it?

Also, don’t spend four years actively engaged in obvious shenanigans and then accuse your target of being paranoid.

Me, too

Important reminder…

Remember: it ain’t over until the body-positive female-identifying person expresses themself vocally.


I just had to delete and re-add my Gmail account to Apple’s, because they were arguing so fiercely about moving a single message between IMAP mailboxes that my fans spun up to full speed and stayed there for well over an hour.

Sanitized for your protection

Cognitive Disinfectant

Remember when everyone was up in arms about the antibiotic-resistant bacteria crisis, and we all needed to stop using antibacterial products right now? Corona-chan really kicked the pins out from under that campaign. Now it seems like everywhere you go, assuming you’re allowed out, there’s a hand-sanitizer station every 20 feet, and every public surface is being wiped down dozens of times each day with strong disinfectants.

True Lies Matter

On the off chance Trump beats the margin of fraud, I’d like to remind everyone in the “punch a nazi” crowd that A) you’re not very good at nazi-identification, B) the ‘nazi’ gets to punch back in self-defense, or shoot if your attack is serious enough, C) you’ll be the one facing felony charges, D) if you go out in force to protest the election results, 10USC331 could make those charges federal, which means no catch-and-release by the local po-po, and E) that felony conviction may stop you from voting or owning guns.

Software update not found

Turns out Dremel’s software is based on Cura 2.7, and the current version is 4.7. Settings extracted from the various resource directories don’t quite work as-is, due to substantial changes over the past three years. Cura silently ignores non-compliant materials and settings files, so a bit of trial-and-error will be necessary. I was able to import the basic printer definition by changing two lines, but not the materials or quality settings.

I’m honestly surprised this hasn’t been done by someone yet. It’s not hard, just tedious, and there will likely be times that the features in the newer software will be useful. I haven’t found anything wrong with the current version, but 3 years is a long time in this sort of software.

On the plus side, getting direct network access to the Dremel’s status and video without using their app is refreshingly easy:

# retrieve status as JSON
curl -d GETPRINTERSTATUS $IPADDR/command | jq .

# watch the video in any browser or VLC

Looks like you can also upload files and start print jobs through this API, too. Downside: so can anyone else on your network. Not a problem for me, fortunately.

On a whim, I installed Slic3r to try it out, but when I launched it, the embedded Perl interpreter started grinding on my CPU. I couldn’t decide if it was mining cryptocurrency, encrypting my hard drive, or just bad code. The latest 1.3.1-dev release started up instantly, which is suggestive. As a true open-source project, it comes with a completely empty printer and materials library, making it more of a lifestyle than a tool.

I searched Pixiv for a nice 3D-created illustration to insert here, but the ones that weren’t loli porn were bondage porn, so here’s a perfectly innocent picture from Genshin Impact.

Not much of a cheese shop, then, is it?

The Internet Archive has implemented “fact checks” and “context” for The Wayback Machine. They now confirm that the chocolate ration has been increased to 20 grams/week.

Rotation for translation

“The call was coming from inside the house!”

Got woken up at 3am this morning by a loud party somewhere nearby. I couldn’t make out what music was playing, just that it had a beat and you could dance to it. I turned on the red-noise generator on my tablet to drown it out and went back to sleep. Sort of.

Two hours later, it’s still going on, and I can’t imagine how someone hasn’t complained. I get out of bed to look out the window and see what the hell is going on, and as my ears sort out the direction it’s coming from, it’s not from a nearby back yard.

It’s coming from almost directly beneath me.

The Echo device in my kitchen is shuffling Talking Heads songs at high volume.

I did not request this. I had not requested anything for at least two hours before this started. Around 9pm I had whimsically asked it to play songs by Talking Bunbun, which are available on but not Amazon, and The New Normal for Alexa-based devices when they can’t find what you want is to assume that anything that sounds vaguely similar is acceptable, so it started playing Talking Heads.

I said stop, at 9pm, and it stopped, at 9pm. Then it started back up on its own, at 3am. Even if I shouted in my sleep I couldn’t have told it to do that. Unlike my old haunted Ooma box, where the root cause turned out to be the top-panel LEDs generating interference with the touch panel, the most likely cause for this is Amazon’s ongoing attempts to increase sensitivity and language recognition.

I’m guessing that some random sound like the icemaker in the fridge got interpreted as the wake word, and then it went into the new “whisper” mode and invented words from background noise that got turned into a command like “resume”.

What could possibly go wrong?

“The Seattle City Council is considering new legislation that would create a legal loophole that would make substance addiction, mental illness or poverty a valid legal defense for nearly all misdemeanor crimes committed in the city.” (via)

Turn the page…

It’s not my imagination: neither of the standard reference books on takadai braiding explains how to translate their diagrams into actual physical motions to open the shed and pass bobbins through. Tada simply pairs the first few simple braids with an overhead drawing showing the matching shed, but never discusses it again, even when progressing to four-armed and two-sided braids.

Owen’s notation is slightly different, but the only reason it’s a little clearer is that his book includes photos from multiple angles, not directly tied to the brief explanation of the diagrams.

As I was tinkering with the babydai and my OmniGraffle design template, I thought of a simple way to explain how to always correctly interpret either notation: rotate the page and work your hand along the line.

That is, given this “top-down view” notation:

divide the diagram down the middle, then rotate the page 90° counter-clockwise for right-side moves and clockwise for left-side moves:

So, to twill the shed, on the right-hand gedan your hand goes over 1 under 3, over 2, under 2, and then up to the jodan to go over 3; insert the sword and pass the first gedan bobbin through to the open position on the left-hand gedan.

You could also valley-fold the diagram, but that’s not recommended for expensive imported out-of-print braiding manuals. 😁

(this is the first of eight moves in the nimai-mono braid Ryūkō-gumi, CToB4 #47)

Coming soon…

Coming soon…

The realization that I’ll be working from home until June came with a moment of clarity: I can do lengthy 3D cnc/print jobs every day. I have an excellent CNC router that doesn’t get nearly enough use, but I’ve stayed out of the additive 3D market until now. Well, not so much “now” as Friday, when my new Dremel 3D45 arrives.

Naturally I bought this just as Dremel is updating their filament product line to increase spool capacity by 50%, so most flavors are out of stock everywhere. There’s probably also still some covid supply-chain issues, although I think everyone who was going to print PPE and mask-holders at home already has.

Why the Dremel? I don’t want a kit, I don’t want a MakerBot, and the Prusa has a 3-4 week lead time (and an open frame, which I don’t like, but it’s highly recommended for print quality). For a brief moment I entertained the thought of splurging on a Form 3, but then I came to my senses. Something to do with needing a separate consumable resin tank for each type and color of resin that you use. Also several liters of 90%+ isopropyl alcohol, nitrile gloves, and good ventilation.

Coming soon…

My neighbors rented a bouncy castle over the weekend. I’m not sure who they had over; the music didn’t seem particularly small-child-friendly, so I’m guessing tweens. If Corona-chan spikes in the neighborhood next week, I’ll have a pretty good guess as to why.

Amusing note: the only prior association I had with that song was a short video of dancing Korean camgirls sent to me by Brickmuppet a while back.

Speaking of random spikes:

Coming soon…

I need to reinstall some of the Windows software on my old gaming laptop (Carbide3D, VCarve, Gearotic, etc), but I’ve already dusted off my OpenSCAD scripting and started designing parts to improve the baby takadai. Some of them will be easier to do on the printer than the router, such as “traditional” koma, which would be a two-sided 3D job on the Nomad but a quick print on the Dremel.

The second babydai mod will be more elaborate, and I’ll prototype it on the Dremel. If I want to make it stronger and better-looking, I’ll cut it on the Nomad, but only after I finalize the design.

There are three key problems with the current design: the torii is placed about an inch too far forward (limiting your ability to beat the weft into place), the sword pads are ¾-inch too low, and the take-up reel is too narrow (limiting how wide a braid you can make). That is, just trying to do the basic plain-weave braid with doubled embroidery floss was slightly too wide to fit on the takeup reel, and slightly too close to the torii to beat easily.

Basically, the original Japanese designer did some very clever things that got lost in the attempt to make one that looks more traditional, compounded by the fact that they were built for an experienced takadai braider, but not by one.

My mod will also add a proper gravity ratchet for the take-up reel; this is a nice simple design for small spaces.

Coming soon…

While everyone in California (and I’m pretty sure I mean everyone) was mailed a mail-in ballot, you can vote in person. I’ve confirmed that my usual polling station is one of the ones that will be open, and since work has declared election day Zoom-free, there won’t be any issues even if there is a line.

I kind of hope there’s a line…

Coming soon…

As a side project, now that I have a full-sized professional takadai, I’m going to take detailed measurements to revise the proportions I used in my OpenSCAD parametric design.

This may lead to 3D-printing a set of tinkertoy connectors for people to make a new-and-re-improved baby takadai at their local craft store.

Coming soon…

Still no sign of Jacquie Carey’s Samurai Braids book that was supposed to come out last fall, but when I opened up the new edition of Makiko Tada’s Comprehensive Treatise of Braids 1, I saw the following promising news:

Forthcoming books
Book 8: Andean Braids
Book 9: Unusual Braids - Karakumi and 3D braids
Book 10: Marudai Braids 2

Coming soon…

Speaking of braiding, during the recent AKS Virtual Gathering, I knocked together a template for making clean, print-quality takadai braiding diagrams like the ones in Tada’s books, and unlike the ones made for the babydai instructions. Sometime soon I’ll post some babydai-compatible braids that weren’t included in the instructions.

Coming soon…

It’s subtle enough that I didn’t notice until I saw them twitch during one of her idle animations, but Sucrose has dog ears. No tail, though, to ensure the loyalty of the ass-otaku crowd.

(the “futanari” tag is for one of the variations the artist did; there’s nothing about the picture or the lore to say she’s The Doggy-Girl With Something Extra)

Despite appearances, Keqing is not a catgirl; she just has a very patient hair-stylist.

So, if you want a real piece of tail, you have to wait for loli catgirl Diona’s debut.

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