“I must say, though, that I wonder how many of you support the use of cats for scientific research?”
"We tried it once but the cats really weren't up to it, bad writing skills and few worthy PHD's among them. I don't think any of them actually got tenure, which is sort of sad."
— Barry SheinI spent three hours this morning petting a cat. No regrets.
(Porch Cat destructively ordered breakfast early, and since it was cold and foggy out, I sat down on the stairs and petted him for a few minutes before completing the trip to the front porch and loading him up with dry food and meat sticks. Twenty minutes later, he was scratching on the back door again, and the leftover food out front said he wasn’t still hungry, so I sat on the stairs to pet him for a while. He promptly fell asleep, so I carried him over to the couch and let him nap on my chest until he wanted out. Which was 2.5 hours later. Some people would say I have a cat; I can’t understand why)
(there’s very little AsoIku fan-art on Pixiv, and even less of the minor characters; this was the only recognizable Antonia I found)
While designing a fully-parametric set of connectors for my tinkertoy-takadai, I decided to add screw/nail/pin holes and angled supports. The supports are simple right triangles that were easily implemented with a series of if/else statements, but trying to reuse that code to create holes on any face that didn’t have a support was lumpy spaghetti with no sauce.
So I tore it out completely and wrote a little matrix:
pipes = [ up, down, left, right, near, far ];
all_faces = [
[ 0, 0, 1, 1, 1, 1, V_UP, ORIENT_Z ],
[ 0, 0, 1, 1, 1, 1, V_DOWN, ORIENT_ZNEG ],
[ 1, 1, 0, 0, 1, 1, V_LEFT, ORIENT_XNEG ],
[ 1, 1, 0, 0, 1, 1, V_RIGHT, ORIENT_X ],
[ 1, 1, 1, 1, 0, 0, V_NEAR, ORIENT_YNEG ],
[ 1, 1, 1, 1, 0, 0, V_FAR, ORIENT_Y ]
];
A dual loop from 0-5 tests each side of the central cube for the presence of a pipe, and if it doesn’t have one, rotates to it and makes a hole in the wall. If it does have one, it checks each adjacent side. If that side doesn’t have a pipe, it translates into the pipe, rotates to face that side, and makes a hole in the wall. Yes, I’m punching holes in faces.
The new code worked, first time. And now I can reuse it to create both the supports and the actual pipes, eliminating about 80% of the original code.

I finally got curious to see just how large an unsupported span the Dremel could bridge without me having to get fiddly with temperatures and print speeds. With PLA, the answer seems to be “at least two inches, so stop wasting plastic on supports”:

(via)
I immediately recognized this as Sucrose. Genshin Impact really builds up your skills…
"I work for Tim Cook! Tim Cook!"
"He's the number one guy at OCSP. OCSP runs the Macs. You're a... Mac!"
"Yes, I am a Mac." (disconnects from Internet)
Microsoft’s 2020 “Hour Of Code” considered harmful. By anyone sane:
…the accompanying Educator Guide suggests opening the 45-minute coding lesson (using Blocks or Python) with a 10-minute discussion of unconscious and conscious bias, including “prejudice based on race, ethnicity, age, gender, gender identity, physical ability, religion, and body weight.”
So, 45 minutes isn’t an “hour”, and 10 of those are wasted on deranged Leftist pap. Why not just call it “35 Minutes Of Instantly-Forgotten Pre-Digested Code Templates”? The teachers already have scripts for the propaganda, and will eagerly spend more than 10 minutes on it.
Wait, I think I missed a space in there…
“…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.

#!/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
IPADDR="192.168.187.150"
COMMAND="$IPADDR/command"
UPLOAD="$IPADDR/print_file_uploads"
if [ -z "$1" ]; then
# just report printer status and exit
curl -s -d GETPRINTERSTATUS $COMMAND |
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
fi
file="$1"
if [ ! -f "$file" ]; then
echo "$0: file '$file' not found"
exit 1
fi
status=$(curl -s -d GETPRINTERSTATUS $COMMAND | jq -r .status)
if [ "$status" != "ready" ]; then
echo "Printer $IPADDR not ready, status '$status'"
exit 1
fi
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
fi
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
fi
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.

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

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.

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.

“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!”

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:
you need a total of five copies of a weapon to refine it to its highest quality.
you get weapon drops constantly while adventuring.
only one of my characters does not have a fully-refined weapon, and that one’s pretty darn rare.
there is no point to keeping “extra” weapons around to swap onto your characters.
~90% of gatcha drops are weapons.
I will never pay for a gatcha pull that is completely, utterly worthless.
which means I will never pay for a gatcha pull.
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.
Most of the whistleblowers, eyewitnesses, videos, and actual indictments alleging widespread election fraud do not point to a sinister secret cabal of mustache-twirling villains. They point to a bunch of little people, secure in the belief that when their side wins, there will be no consequences, even if they get caught.
Hopefully they’re wrong. That “social worker” who thought it was a great idea to vote 67 extra times in the names of her patients? Now facing 134 counts of election fraud. In Texas.
Was there also a larger, more organized fraud, the sort that results in thousands of late-arriving ballots with nothing on them but a vote for Biden? That allegation is before the courts, where it belongs. As are others.
🎶 “All in all, it’s just another glitch in the Fall”…
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.

“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. 😁
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”
to
“Trump’s behind it all.”
The incantation “Reichstag Fire” will be invoked.
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)
To be clear, I’m not claiming she’s responsible for my filament snarl. I’d forgive her instantly…