The complete, official version of Buck Godot: The Gallimaufry is now available for purchase.
Leading digits cut off on ordered lists. Kind of annoying, but the root of the problem is that they’re using a very naive webview in all clients that has no padding, so even when things aren’t being cut off, they’re right up against the edge of the window. I’ve been manually starting each note with a DIV that sets:
font-family: monospace; font-size: 17px; line-height: 1.3em; padding-left: 16px
I never made more than a cursory pass over the pictures from our 2019 Japan trip. As we’re absolutely-positively-definitely going in November, I thought now would be a good time to sort through all 1,050 of them.
I decided to be very aggressive about the weeding process, using the more-or-less standard stars/flags/keywords that are supported in Lightroom:
First pass, just take out the trash: reject anything that’s out of focus, severely over/under-exposed, random misclicks, etc. If you stop to think about salvaging it, keep it. (998 left)
Give every remaining picture 4 stars, then set the filters to show only pictures with exactly 4 stars.
Second pass, downrank 2/3 of the pictures to 1 star. Keep going until you hit that number. (330 left)
Go away for an hour/day/week, then downrank 2/3 to 2 stars. (110 left; “I am here”)
Go away for an hour/day/week, then downrank 2/3 to 3 stars. (~36 left)
Go away for an hour/day/week, then uprank 1/3 to 5 stars. (~12 left)
Any pictures that are interesting for other reasons can be flagged or tagged with a keyword at any step, but don’t spend significant time on them. This allows you to quickly handle things that are interesting but not necessarily good.
My Pinky FunkoPOP has finally shipped. Y’know, the one I ordered in July that got delayed repeatedly, taking so long that I went ahead and bought the limited-edition version from a marketplace dealer. At least I saved $2.21 by pre-ordering it…
Maybe someday I should catch up on the actual show; I think the last one I watched was the hot springs episode where she was delightfully shameless when the little kid ended up peeking over the wall.
Or at least “reformat”. I’m still writing in StandardNotes for now, and while my sync bug is still open, it did trigger a code change to the backend sync server to handle conflict resolution better. I don’t know when that will be live on their official service, but they’re working on the problem. I’m tempted to dig into their sync algorithm a bit to see how it works under the hood, but it’s a Rails app, and I’m not a big fan of Ruby (seriously, is it really used for anything but Rails and Puppet?).
If I switch to hosting it myself, I’ll probably take at least a quick peek under the hood, so I have a better understanding of its quirks.
My current protection methods (switch to a different document at the end of an editing session and wait a few seconds before opening that document on another platform) seem to be adequate for now, which makes my #1 annoyance with the iPad app the gratuitous quote-smartening it does. I’m passing everything through BBedit occasionally to clean that up; at least it’s not inserting invisible garbage non-breaking spaces the way Synology’s Notes app does.
(#2 would be the “hide sidebar” button that’s an arrow literally overlapping your text, making it a small target where being slightly off means you pull up the on-screen keyboard instead; #3 is the fact that it uses a proportional font even in the basic text-only editor, without even a choice of size)
[I stashed this away to use after the epilogue, but it was in one of my other synced-notepad apps, and I just tripped over it]
One of the common characteristics of light novels is that they’re sparse, with dialogue that can go on for pages without a single he-said/she-said, punctuated by shallow-but-clever wordplay and exposition overloaded with prenominal phrases that literally translate into prose so purple it could make Doc Smith blush.
It’s really easy to spot in translations, especially ones done by fans, who often get tripped up trying to convert a lengthy adjectival phrase from “over-there-standing yellow-hat-wearing-not man” to “the man who’s standing over there, not wearing a yellow hat”. Often the verb ends up attached to the wrong noun, mixing up object and subject. Seriously, go read a few translations of the Bump Of Chicken song “Hana no na”, which is absolutely stuffed with prenominal expressions, many of them chained.
Character descriptions are often thrown into the middle of the dialogue this way, in a way that maps poorly into the standard, “…he said excitedly” form. It comes out more like, “The still-trapped-in-the-intersection Koutarou shouted.”
I don’t know who this obnoxious transdouchebag is, but he’s clearly less self-aware than Joe Biden on a good day. He just demoted every woman of color in the world who dates a white man to “minority sex servant” and property. And he thinks he’s being anti-racist. More evidence that the anti- in anti-racist and anti-fascist is like the in- in inflammable.
(via Ace)
Once I’d filled up three of my 3x5 sleeve holders, I realized that since they’re slightly narrower than they are tall, I had just enough room to do 6 columns of 3 rows on the 3D45; the extra 6mm hadn’t left much room for the skirt around the perimeter, so I’d cut it to 5 and gone vertical. New version.
The only change I’d consider making is adding some screw-holes on one side, so you could connect two of them front-to-back to support the sleeves at two points without printing something much taller. They’re plenty stable horizontally, so I wouldn’t screw them down or in parallel. I could also double the height, but they work fine now, and the fully-loaded 3x5 version is easy to just pick up and move around with one hand.
Or I could just stop buying coffee until I use some of these up… 😁
No, wait, I meant “cheesecake or succubus?”. I’d say that the first ~3,300 words of Virginia’s story is solid enough to start posting, which is 14 snippets. I’ll likely limit them to 1/day while I see where it’s going, because I’ve had to go back and tinker with some of the early bits, and I’m considering them done once they hit the blog.
Or is it time to bring back more cheesecake, especially the 3D kind? My chock-full-o-chicks folder is getting really, really big, to the tune of 52,000 images taking up 10 gigabytes.
The themed ones take a while to do, while the champloos are mostly just picking out a decent mix of relatively-safe and not-so-safe images, then running a script.
I am resisting the temptation to start a third story in this universe right now based on something the Old Man said. I am intrigued by the concept of a Chooser Of The Slain whose selection criteria for heroes involves love, sacrifice, and parenting skills. I’m thinking she’s a bit of an oddball.
When I started spiking my liquid pie with a shot of espresso and foamed milk, I finally got around to printing this replacement drip tray for the Essenza Mini. Even my tallest 21-ounce mug fits under it, and the coffee just manages to land inside with all of them.
The one flaw it has is that the top is just an array of small holes, without a larger one to place directly under the spot that gets the most drips (and also to hook your finger into to pull it off for cleaning). Rather than modify that STL file, I redid it from scratch in OpenSCAD, and here it is.
The code’s a bit of a mess at the moment, because this kind of hole
distribution takes a bit of work in OpenSCAD. Rectangular or hex grids
of an object are an easy one-liner with
BOSL’s grid2d()
module, but
while there’s a whole bunch of math-dinking on the subject of
efficiently packing circles inside circles, there doesn’t seem to be
much on radially distributing them with even spacing. I settled for
calculating the number of concentric circles of circles that would
fill the space and using zring()
to space them out. Not perfect, but
good enough for coffee work, and I took advantage of the slight
irregularity in the pattern to carve out room for the hole that was
the point of the exercise, so it ends up looking almost deliberate.
(shhhhh! don’t tell!)
Perhaps I’ll revisit that sometime and do the math for a completely
consistent, symmetric hole distribution. I should just need to
calculate the right parameters to feed into zring()
, including the
offset angle between adjacent rings.
Speaking of liquid pie, it’s now a Mocha Latte/Red-eye/Chocolate Macchiato (with Peet’s Nerissimo as this morning’s espresso add-in). Adding 3 grams of cocoa powder to the 60ml of milk in the foam-as-a-service device is 6 calories of decadence.
I’m still using ESR’s whimsical SRC source-control system for single-directory collections of config files. I think I’m responsible for about a third of all the bugs filed against it, and one of them was just fixed this week. It was one of those annoying little corner cases where he’d done the right thing in every single instance except one.
I need to remake my custom version of Iosevka sometime soon. It’s up to version 5.0.6, and I last built my variant at 3.4.6, all the way back in August. Hopefully the build system hasn’t changed too much, and I can reapply my changes fairly quickly.
I would buy an entire album of Amelia Watson rapping Doctor Seuss. Also ringtones. I’ve been listening to them both on repeat on my rare outings to stores.
In last week’s episode of The Amazing Spiderspider, the B Ark hit warp 9 to precisely define the duelling timelines and try to make us feel angst over the fate of Some Guy. This came at the expense of reducing the coherence of Adventures In Spiderville.
As a result, I haven’t watched this week’s episode yet.
…artisanal ramen broth. From Yamasa USA, who sells this stuff in 80-ounce plastic jugs. At least they didn’t call it small-batch-craft-brewed-hand-pressed or some such nonsense, but no matter how much descriptive linguists wave their hands, either words have meanings or up is down and we’ve always been at war with Eastasia. Makes me want to call them all serial killers sometimes, if usage defines meaning.
I happened to follow a link to Tassimo’s US site. No, I’m not interested in Yet Another Coffee System, even though Amazon is once again unable to deliver my monthly liquid-pie supply (good thing I’ve got 70 k-cups left…). This is what I found:
Oopsie. Wonder how long it’s been that way?
It’s a good thing Nespresso’s marketing plan doesn’t involve selling their branded coffee pods on retail shelves, because the sleeves are just plain annoying. They don’t stand upright without custom supports, they don’t stand out on a shelf if they’re stored flat, and even if you do store them flat, they’re slippery little suckers that will not stay neatly stacked.
There’s also the problem that there are far too many varieties to stock for all but the most determined specialty store; even without trying hard, I have 21 different varieties, most in multiples. Peet’s and Illy each only sell 5 (with one of them a decaf), both in the same excellently-designed retail packaging by a company called JDE, Jacobs Douwe Egberts, who also makes the L’OR brand of pods.
Most of the commercial and 3D-printable holders either showcase the distinctive sleeves or the unsleeved, jewel-like pods. I just wanted to be able to store the damn things without them sliding off each other, so I made this 3x5 grid, designed to print at 0.3mm layer height and 0.4mm line width, without infill or supports. It fits on my Dremel 3D45 with room to spare, and prints in exactly 2.5 hours.
It’s just snug enough to store them vertically or horizontally while still allowing them to slide freely in and out, which also means that you need to dial in your Z-height pretty well or apply appropriate elephant’s-foot compensation.
OpenSCAD source:
// Nespresso Original sleeve storage grid
include <BOSL/constants.scad>
use <BOSL/shapes.scad>
use <BOSL/transforms.scad>
/* [Basic Parameters] */
columns = 3;
rows = 5;
height = 12;
divider = 1.2;
border = 2.4;
/* [Sleeve Size] */
sleeve_h = 39;
sleeve_w = 38;
/* [Curve Rendering] */
$fs = 0.5; $fa = 0.5;
w = sleeve_w * columns + divider * (columns - 1) + 2 * border;
h = sleeve_h * rows + divider * (rows - 1) + 2 * border;
grid=[sleeve_w + divider, sleeve_h + divider];
difference() {
cuboid([w, h, height], fillet=divider, edges=EDGES_Z_ALL, align=V_TOP);
down(0.01)
grid2d(cols=columns, rows=rows, spacing=grid)
cuboid([sleeve_w, sleeve_h, height+0.02], align=V_TOP);
}
Now, there’s nothing left but a Bag O’ Crab. Seriously, that’s what replaced the Outback Steakhouse in Salinas.
Seems kinda cheesy to me.
I just can’t make up my mind here…
Courtesy of Ace of Spades, two examples of the ever-encroaching arrogance of a fraction of a percent of the privileged 1%, gaslighting the bejeezus out of the entire world. If the trans community wants to know what’s keeping people from accepting them, this is it:
(that’s “Not Safe For SuperStraights”, because these assclowns have redefined straight to mean “straight men willing to suck dick”, perhaps the most jaw-dropping example of “Bi Erasure” in the modern LBTQROFLMAOWTFBBQ community; see also SuperLesbian, for “lesbians unwilling to suck dick”)
Nobody hates them as much as they hate themselves.
Something I left out in yesterday’s glamour photography rant: do not use wide-angle lenses at close range. I don’t care how flat a Japanese girl’s ass is, perspective distortion gives her monstrous thighs, calves, and feet. Just cram the underwear into her crack like everyone else does if you need to pretend she’s got back.
No, I’m not buying art supplies now, but the combination of Brickmuppet’s recent Seussian links and Nespresso’s order fulfillment brought that old slogan to mind for some reason; my dad was a regular customer when I was a kid, and I have fond memories of their catalog.
As I’ve started to develop some ability to discriminate between the various available coffee pods, I’ve taken advantage of their new-customer offers to round out my stash. I now have more of Nespresso’s little jewel-like pods than I have of my precious Gevalia Mocha Latte K-cups, although they get consumed faster due to the general lack of calories; two Splendas and a Calf don’t add up to much. So far, Capriccio is the only one I can almost drink black.
Anyway, the order I placed Saturday morning not only arrived before noon on Monday, the pod sleeves were actually all carefully lined up so that all the labels faced the same way when I opened the box. A small touch, but like the free express shipping, a sign that they’re really focused on the customer experience. Important when their closest retail boutique is a good sixty miles away and their branded pods aren’t stocked in any stores near me.
Peet’s has the only good third-party pods in grocery stores, as far as I can tell. I found Illy pods in the Williams-Sonoma at the south end of Monterey, but that mall’s a rare destination for me, and not a place I’d go to stock up on consumables anyway; I only went in out of idle curiousity since I was in the area.
I’m not the Instagram-y sort to post pictures of all my food, but it amuses me to post the combined output of my three electric coffee appliances. I hereby present the Mocha-Latte/Red-Eye/Macchiato, in my 20-ounce Bosmarlin mug:
That’s a Peet’s Crema Scura espresso pod, 2 Splenda packets, a 12-ounce strong pour through a Mocha Latte k-cup with the froth packet already stirred into the espresso, topped with 60ml of whole milk run through the foam-as-a-service gadget on its “Latte Macchiato” setting (yes, vibration control seems to be the key to using less than the recommended minimum volume). ~125 k-cals.
Normally I do 14 ounces through the k-cup and add two Calfs, but I figured the milk I needed to use up would compensate, and it did. Previous attempts to add a 40ml espresso shot and a full 100ml of foamed milk on top of that had proved too substantial, both for the mug and for the first drink of the day, so I was up for expanding my FAAS testing parameters.
Unrelated silliness from Hoyt.
Things I learned on Amazon recently: there is an entire class of anime figurines designed to sit on your cup noodle to keep it closed while the hot water does its work.
I think the $62 Nitocris is a bit pricy for this, though. I don’t think it would even be safe to work at home with the Super Sonico or Kanu toppers, but the Yui is cute.
Pricing is between reasonable and outrageous, naturally.
Which one did I buy? I’m not telling, but it isn’t one of the ones I’ve linked above. And it won’t go onto a cup noodle; I’ve upgraded to a better class of ramen over the years.
Apple’s Rosetta x86-to-ARM translator to be removed in OS update?. Sounds like a licensing issue, since it’s region-specific.
Microsoft is embedding Excel in YAML. Even after reading the “PowerApps” blog, I haven’t the slightest fucking idea what low-code is good for, apart from scattering business logic across an environment even less sensible than malware-infested spreadsheets.
I cracked open four of the useless “Archer Farms” Nespresso-incompatible pods and successfully brewed Aeropress coffee with the contents. Not bad at all. As expected, it was too finely ground for the Aeropress, requiring quite a bit of pressure even with only one filter (by comparison, with standard commercial ground coffee, I use three filters and still don’t have to press as hard).
Four pods was a bit less than the two scoops I generally use for 12 ounces of coffee, but with the fine espresso grind, it extracted more in the same amount of time/water, so it worked out. One more cup will use up the rest of the box of pods, and then I can crack open the Gevalia pods and see what I get.
#!/usr/bin/env bash
# simple wrapper for creating/editing 1password secure notes from the
# command line, using https://1password.com/downloads/command-line/
# requires jq and md5sum (just to avoid uploading unchanged files)
#
# must do an initial full sign-in, like this:
# op signin my.1password.com jgreely@example.com --shorthand jgreely
# (using your sign-in url, account name, secret key, and password)
#
# The named vault must already exist in your account.
SHORTHAND=jgreely
VAULT=Notes
EDITOR=emacs
TOKENFILE=~/.1p_token
SESSION=
if [ -f $TOKENFILE ]; then
SESSION=$(<$TOKENFILE)
fi
if ! op list vaults --session $SESSION >/dev/null 2>&1; then
rm -f $TOKENFILE
SESSION=
fi
if [ ! -f $TOKENFILE ]; then
SESSION=$(op signin $SHORTHAND --raw )
touch $TOKENFILE
chmod go= $TOKENFILE
echo $SESSION > $TOKENFILE
fi
TMPFILE=$(mktemp /tmp/$(basename $0).XXXXXX)
OPTS="--session $SESSION --vault $VAULT"
case "$1" in
create|new)
shift
TITLE="$@"
if [ -z "$TITLE" ]; then
TITLE="(untitled)"
fi
$EDITOR $TMPFILE
op create item "secure note" notesPlain="$(<$TMPFILE)" --title "$TITLE" $OPTS > $TMPFILE
UUID=$(jq -r .uuid < $TMPFILE)
echo "UUID: $UUID, TITLE: $TITLE"
;;
list|ls)
op list items $OPTS | jq -r '.[]|[.uuid,.overview.title]|@tsv'
;;
print|cat)
shift
UUID="$1"
op get item "$UUID" --fields notesPlain $OPTS
echo
;;
less|more)
shift
UUID="$1"
op get item "$UUID" --fields notesPlain $OPTS | less
;;
edit)
shift
UUID="$1"
op get item "$UUID" --fields notesPlain $OPTS >> $TMPFILE
md5sum $TMPFILE > $TMPFILE.md5
$EDITOR $TMPFILE
if md5sum -c --quiet $TMPFILE.md5 >/dev/null 2>&1; then
echo "(file not changed)"
else
op edit item "$UUID" notesPlain="$(<$TMPFILE)" $OPTS
fi
;;
delete|rm)
shift
UUID="$1"
op delete item "$UUID" $OPTS
;;
*)
NAME=$(basename $0)
cat <<EOF
Usage: $NAME [new|ls|cat|less|edit]
new TITLE
ls (returns UUID and TITLE)
cat UUID
less UUID
edit UUID
rm UUID
EOF
;;
esac
rm -f $TMPFILE $TMPFILE.md5
exit 0
On the left are two Nespresso-branded capsules (Capriccio and Tokyo Vivalto Lungo). In the middle, you can see good third-party pods (Peet’s Crema Scura and Illy Classico Espresso); slightly different construction at the base, but dimensionally identical to the real thing and completely compatible, including recyclability.
On the right, two plastic clone pods. In front, Gevalia Luminous, which is extremely mild compared to, well, anything else I’ve tried; real espresso lovers seem to describe it as weak, pathetic instant coffee. Unlike the above, it’s not even worth trying it in the larger “lungo” pour, even for someone like me who likes his coffee tarted up in French lingerie and four-inch heels. Pity, really, because I like their k-cups and bagged coffee.
Back right is a thing of pure evil, the Target house brand “Archer Farms”. Where the Gevalia pod will put some of the coffee into your drip tray and some of the grounds into your cup, this nasty thing barely functions at all, making my Essenza Mini strain to push water through it, with the lights flashing in warning, and delivering maybe half the volume of coffee. Safeway’s house brand shows a picture of the same kind of cheesy plastic/foil pod, so I would never try those, either.
I’m going to cut open the remaining Gevalia and Target pods to see how the contents work in my Aeropress. The grind is likely too fine for easy pressing, but there didn’t seem to be anything wrong with the coffee, just the pods.
(Gevalia markets their pods as compostable, but apparently they mean professionally, don’t-try-this-at-home compostable)
How do they manage to keep customers with a 5% failure rate? I’m shaking each tub as I pull them out of the box, to make sure they’re still liquid. I’ve never had a failed Mini-Moo.
I’ll have to see if someone else sells real half-and-half creamers. You have to read the labels, since many will prominently claim to be “half-and-half” but contain no actual dairy products. “Half what and half what?”
Costco sells a different brand through their business centers, but doesn’t seem to stock it in warehouses. costco.com stocks Mini-Moos, and claims they may be available in warehouses; I’ve never seen them there.
I could also just buy actual pint containers of half-and-half while California remains under Corona-chan Quarantine, but I like the shelf life and portion control of the little tubs.
I think we’d all figured this one out.
The real surprise is that only 60% of the recommended images were by Houtengeki (NSFW).
If you’re banging Salma Hayek, the answer is yes. Duh.
This story about the implosion of Google’s in-house Stadia game-development company sounded like such a familiar clusterfuck that I found myself searching for Steve Perlman’s name.
Former security company SolarWinds has blamed an intern for a leaked password associated with their massive fail, that turned out to be ‘solarwinds123’:
“a mistake that an intern made… They violated our password policies and they posted that password on an internal, on their own private Github account”
If an intern was in a position to set a password that was used by anything more sensitive than the third-floor laser printer, and you had nothing in place to enforce your ‘policy’ or detect lapses, and the thing that password gave access to was somehow Internet-accessible, your entire business model was a complete fraud.
I can think of plenty of stupid-password stories, including the time the new Core Services Group full of Senior System Administrators changed the root password on all the infrastructure servers to be the bullshit temporary password we’d been giving to every new employee for years (“iltwas” = “I Love To Work At Synopsys”), but that was so long ago that everyone on the Internet had a public IP address and Netscape still thought they had a viable business model.
Nintendo is promising a real open-world Pokégame, for next year. This year will just be another remake, this time of Diamond/Pearl. Both of these surprised me, because I’ve been assuming they’d just keep adding DLC to Sword/Shield; a lot less development work and a license to print money.
He seems to have survived the Internet’s immediate response that VW’s been selling that exact same thing for years.
enscript
edition? I’ve been poking at re-implementing enscript from scratch, because the GNU clone of this ancient Adobe tool is cruftier than a cruftwyrm in a cruftstorm, tarted up with all kinds of useless crap that interferes with the core functionality of printing a damn text file.
There is no equivalent software available for any platform at this time. You can get some kind of printout from text editors, but black text on white paper in a fixed-width font is just too primitive to attract the attention of modern skittletext-loving dark-moded 20-year-olds with perfect eyesight and an addiction to running everything inside an Electron app.
I’ve got a long list of necessary and forbidden features, and a tentative implementation plan (Python3 + free version of Reportlab), but what I really need to focus on is bike-shedding the name.
Goal: clearly suggest the fundamental purpose of cleanly converting
TXT
to PDF
in any modern fixed-width Unicode font, optionally
including the implementation language as a discriminator. Continuity
with the long history of the tools in Adobe’s TranScript package would
be a plus, but I think that ship has sailed, wrecked, and sunk to the
bottom of the
ocean.
Unfortunately, I can’t find a single name that includes any of text, txt, pdf, lp, script, tran, en, etc, that isn’t either already in use by another likely-abandoned open-source package, registered to a terrorist group, or simply horrible. Assorted uses of “2” and “to” don’t improve the situation in any way. Honestly, the least-horrible options I’ve come up with so far are “pdftty” and “qenscript”. One can’t be pronounced these days without being canceled, and the other sounds like the companion app to barbiescript.
[the long-abandoned source code for the original Adobe TranScript package is visible online, by the way, but Project Athena’s ancient Trac server requires an MIT login to actually download anything; I might still have a copy somewhere from ~1992, if the files on that tape ever made it to a zip drive that made it a USB disk that made it to a NAS that made it to another NAS. Actually, I know I still have it, but I’d have to find something that can read original NeXT single-sided optical disc cartridges, and then hope they’re still functional.]
…it turns out that the version of “Sex (I’m A)” that Alexa will play by default is not the original version from the album Pleasure Victim. It’s a re-recording with offputting synths, Terri Nunn emphasizing her lines oddly, and some other guy taking the male role and being mixed too prominently. The simulated moaning has also been redone, really badly.
A bit of digging suggests that this is the version from the album Metro: Greatest Hits, which continues the usually-disappointing trend of Alexa choosing the most recent version of a song rather than the one I actually want to hear. Often this is a terrible live version by the wrong band, and adding “the album version of” will help, but if I have to write extremely specific incantations to safely summon a song, I might as well switch to demonology.
(for instance, I learned to add “the song” after the time I said “play chitty chitty bang bang”, and the TV turned on and started playing the movie)