“A rule of thumb that has worked well for me is that if I’m excited to play around with something, it probably doesn’t belong in production.”

— Maciej Ceglowski

Apropos of nothing…


“You’ve got no alternative Seymour old boy
though it means you’ll be broke again and unemployed
it’s the only solution it can’t be avoided
THE VEGETABLE MUST BE DESTROYED.”

R.I.P. Hugo Awards


(nonsensical, counterfactual, hate-filled) Eulogy via bongbong:

This year’s Hugo Award winners have been announced, and the prizes overwhelmingly went to brilliant women like NK Jemisin and Seanan McGuire, to the eminent satisfaction of all those who saw the right-wing, misogynist, racist campaign to make science fiction inhospitable to brown people and women, took countermeasures, and for two years in a row, demonstrated the field’s inclusiveness and commitment to quality, rather than pandering to reactionary panic over the prospect of a future that breaks with the shameful past.

The Orville: meh


A couple weeks back, Brickmuppet mentioned the new Trek-ish series The Orville, “tentatively optimistic” after watching the first two episodes.

I was… less enthusiastic, and the only thing I really liked was seeing Adrianne Palicki out of uniform. Still, not every SF show can hit the ground running like SG-1, so I set my DVR to record it, which it promptly failed to do.

Fortunately, Hulu has it, so I was able to watch episode 3. Well, about half of it, until the stupid was too thick to scrape off the screen. There was one honest-to-gosh funny line out of the captain’s mouth, but I’ve already forgotten what it was about.

Fundamentally, the problem was that I had no investment in the setup (I hesitate to call it a “plot”) or the characters, and it was written like a bad ABC Afterschool Special.

Bortus was introduced as a member of a single-gender species, but this episode changes that to “all-male species capable of sexual reproduction without the help of females, who are quite rare but play no part in reproduction since they’re given sex-change operations at birth, because females are smaller and weaker, exactly like humans.” (which raises the question of how precisely they’re “female” to begin with…)

So, first they created a species that’s Not Like Us (which has all sorts of story potential), and then immediately made them Exactly Like Us But Gendercidal (which is a Women’s Studies dissertation). I stopped watching when Kelly tried to make her case in court based on applying a universal concept of “female” across species in a way that doesn’t even make sense for Earth, much less an SFnal universe.

Also, Alara Kitan is a terrible character, mostly because the concept is so poorly thought out that Halston Sage could be a terrific actress and still end up buried to her neck in manure. They might as well have named her One Trick Pony.

So, it’s not good SF, and it’s not good comedy. I don’t see any reason to watch the rest of the season.

Rocketbook Isometric Grid Paper


Last week I took another look at the various “digital pen” products, and once again couldn’t find one that was worth buying. I like the idea of the Livescribe, etc, but none of them seem to actually work very well, with poor ergonomics, poor performance, poor support, or “all of the above”.

So I took a look at Rocketbook, which is a series of notebooks with custom paper, marked up to be scanned in with an iPhone/Android app and sent to your email account and/or various cloud services. OCR is not handled by Rocketbook, so unless you send it to a cloud service that does that, you get the image only.

If you use any of the upload options, you can’t really rely on confidentiality, of course, but you can always leave the destination checkboxes blank, and uses your phone’s native sharing services to store the scans. (note that the email goes through a third-party service, then to Rocketbook’s server, then to your email provider, rather than just using the phone’s API)

It looked straightforward, and since the app is free and there are sample PDFs available for download, I could try it out before buying. It recognized their markup quickly and reliably, and produced a decent image, so I went ahead and ordered the Everlast notebook, which has a special paper that turns FriXion erasable pens into wet-erase markers. In theory, the Everlast pages can be reused forever, unlike the 5-6 times their heat-erasable product claims.

I’ve had it for a few days now, and after adding a pen loop to keep the supplied FriXion pen handy (3” strip of gaffer tape, with a 1.75” strip stuck across the middle of the sticky side, leaving room at both ends to attach it to the sturdy edge of the cover), I quite like it. I have some color FriXion pens as well, and it captures them nicely.

But of course I want to print my own, and not just the dot-grid they supply. The first hurdle was that the PDF that works just fine on my office color laser printer is unscannable when printed on my home inkjet. Seriously, if I place two printouts side by side, the laser-printed one is recognized instantly, while the inkjet version leaves the app fumbling for several minutes before it figures out that it’s a black box with a QR code in the lower right corner.

I’ve ripped the PDF apart in Illustrator, so I know there’s no hidden magic that’s not reproducing correctly on the inkjet, but somehow it makes a difference. The ink is just as black, the paper is just as white, the resolution is just fine. One thing I did discover is that there are several different versions of the free PDFs, and the one I originally tested with has a relatively narrow black border. The most recent one has a wider border that works better on an inkjet, but someone at the company hacked it together, so it isn’t really an 8.5x11 page, and the destination icons are bitmaps.

My first attempt at a custom Rocketbook PDF is here, and replaces their dot-grid with an isometric grid. This one’s still a bit finicky on the inkjet, but a lot better than their original PDF.

I did it in Perl with PDF::API2::Lite, so I can tweak it until I figure out exactly what their app is looking for. My guess is that the “V” section in the QR code indicates paper type, and the app has a lookup table containing the aspect ratio and relative location of the destination icons, but that by itself can’t explain the difference between inkjet and laser printouts.

R.I.B., Hugh Hefner


Hugh Hefner has died at age 91. I saw him a lot at shows, of course, but the only time I ever really talked to him was when the PML was touring the grounds of the mansion, and he came out and took over for our stunned tour guide (“he never does this!​”).

It was a unique experience, which ended with a poolside breakfast where I accidentally picked the same table that he did, so I had a ringside seat while Peggy, Wil, and the others made the most of the opportunity.

(R.I.B.? Rest In Bunnies, naturally)

The slow death of Garrett P.I.


Anticipating some downtime during my recent vacation (stopping for lunch on the road to Vegas, waiting for the folks to show up a few days later, etc), I decided to catch up on Glen Cook’s Garrett novels, which I’d left off around book 9. I quickly reread those before starting the next five.

I think I should have stopped after book 11. I definitely should have stopped before book 14. Angry Lead Skies (10) and Whispering Nickel Idols (11) are “Garrett Lite”, suffering mostly from a lack of good plot ideas. Good for revisiting the setting and the characters, but a big step down from the earlier books.

Taken together, Cruel Zinc Melodies (12), Gilded Latten Bones (13), and Wicked Bronze Ambition (14) feel like a contractual-obligation trilogy designed to put an end to the series forever, with little regard for dangling plot threads and series continuity. I’m honestly surprised that he didn’t finish off the Dead Man to drive the final nail into the coffin.

The last one is the worst. I can’t decide who was doing more sleepwalking, Garrett or Cook. Lots of continuity and character errors, and in a series that’s always been built around Western fantasy tropes, suddenly we have a character named Hagekagome, and Garrett is glibly tossing off terms like shinagami and shinobi, and demonstrating a familiarity with Japanese folklore. Utter crap.

Duck Soap


A little something we stumbled across while heading for the Terry Fator show at The Mirage.

Great show, by the way.

And if you want some really good Italian food in Vegas, go to Nora’s.

Things that are not fun, #90


Not fun: starting your second vacation day the same way you started the first one, by connecting to the office and trying to debug a firewall performance issue through a VPN connection that’s affected by it.

Yesterday it mysteriously vanished while we were looking at it, so I didn’t have the opportunity to try a few things. Today, I was able to mitigate the problem by disabling the HFSC queues in PF, reducing the interrupt overhead just enough to compensate for the attack.

The downside to shutting off the throttling is that we risk being DDoS’d by syslog traffic from our products out in the field.

In completely unrelated news, there cannot be any symlinks in the path to a GitLab install, or it goes all wonky.

9/21 Update

So it looks like someone is trying to DDoS our office network. Since the previous attack didn’t keep us offline, they switched to an NTP amplification attack on a machine that had been misconfigured. It was actually kind of pathetic as attacks go; it chewed up some bandwidth (and the incoming packets are still bouncing off my firewall at 1.1 mb/s), but had zero impact on the network.

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