I really believe in time travel now, because I swear the intro to the New Years episode of Doctor Who lasted about three hours.
…and then the Cliffs Notes version of The Puppet Masters was padded out by half a season of Deadbeat Dads. By people who had the concept of Daleks explained to them over the phone. In a language they don’t speak.
Working to shake up my recommendations at Pixiv, here’s “any keywords that contain 眼鏡, めがね, or メガネ”…
Next time, I think I’ll do a chanpurū, to really mix it up.
If they announced a second season of Zombieland Saga, I’d be on it like Tae on squid.
After the jump, my favorite fan-art to date…
Two weeks before Christmas (my own personal holiday), I picked up a Sony a6500 mirrorless camera with 18-105mm f/4 lens. It came in quite handy over Christmas for getting some good pics of my niece and nephew and my parents’ skittish new puppy, and when I got home again, I was able to play with the adapters that allow it to use all of my old autofocus Minolta lenses (some of them dating back to the mid-Eighties), as well as my handful of old manual-focus Nikon lenses (35/2.8, 50/1.4, 50-135/3.5, 135/2.8).
I also bought the flash adapter, but my little Sony flash (the no-longer-sold HLVF-20AM) kept turning itself off after a few minutes, and my big Metz flash wasn’t entirely compatible. There are no firmware updates for the Sony, but Metz is another story.
Sure, I had to scrounge up a VMware instance of Windows XP or Windows 7, but once I did, I was able to use the six-year-old updater on my Mac through a USB-C dongle. And now the flash isn’t caught in a zoom loop when I attach lenses wider than 70mm. The AF illuminator doesn’t work, but it still beats the pants off of the builtin.
For our next trip to Japan, though (April! April!), I’m thinking of getting one of the tiny shoe-mount LED video lights, which I might be able to use in some “no-flash” locations, and which also solves the AF-illuminator problem. It looks like Litra’s CES announcement has been leaked by Calumet, and perhaps Manfrotto will have an update to the Lumimuse as well (other than just adding Bluetooth). No rush on those, since I’ve got until April (April! April!).
And, no, I’m not planning to buy Sony’s new 400mm f/2.8. That’s a Lottery-Level Event. I’d need to retire just to find things worth pointing it at.
I might take my classic Minolta 70-210mm f/4 (roughly the size and weight of a 23-ounce can of AriZona Iced Tea, not counting the lens adapter), but only for specific outings where I expect to be able to put it to good use. I’ll leave the 18-105 on most of the time, unless I pick up a fast fixed lens for wandering around at night. Or not; honestly, with 24 mumbly-pixels, I can crop quite a bit, and the high-ISO performance is much better than my old body, even before you add in the multi-shot noise-reduction feature, which makes ISO 25600 surprisingly useful.
If I were going to Japan alone for 3+ weeks, I’d take at least a monopod and my footlong Minolta 100-400mm f/4.5-6.7; using only the center of it on an APS-C body improves its quality quite a bit, and if you can’t get close enough to your subject with an effective focal length of 600mm, you need to rethink your strategy (birders will disagree…).
Although I suppose I could break out the old 500mm f/8 Reflex…
(sadly, while I have the 300mm f/2.8 and matched 1.4x and 2x teleconverters, the TCs don’t work with the E-mount adapter)
Oh, and how good is it at delivering 24 mumbly-pixels, especially with a translucent-mirror lens adapter in the middle? Pretty darn good; that’s my old Tamron 90mm f/2.8 Macro (same lens, different penny), ISO 100, f/11, 4 second exposure, X-Fine JPEG, 2-second timer, cheap video tripod, cropped.
For shooting macro or using the 135mm STF long-distance portrait lens, I really ought to pick up the other Sony A-mount adapter that doesn’t have a mirror, screw drive, and autofocus sensors, but I think I’m okay with this one. Besides, my spare cash needs to go into the vacation fund (April! April!).
The little Sony flash works better now; apparently it’s finicky about batteries, and the ones I had displeased it. Also, I’ve bought the LitraPro LED light, and it’s quite spiffy. Honestly, I’ll be surprised if I ever use it at over 25% power unless I’m trying to light half the temple.
For all their big talk, Tumblrgeddon is pretty much a wet firecracker. They chased away a bunch of content creators, but the only content accurately blocked by their censorware is bare titties, and all sorts of things you might have expected to be blocked (like intimate closeups of (anatomical) assholes) are still right there in your face.
Not only are the sites I pull my non-nude cheesecake from still running at full speed, a number of sites that republish Tumblr-hosted images are still showing nudes without any sort of sign-in barrier. (names omitted to preserve this state of affairs as long as possible…)
Unrelated, I was searching Pixiv for souji (掃除) pictures, and I found myself thinking, “gosh, there’s a surprising amount of cocksucking in housework… oh, wait, she’s ‘cleaning’ it”.
Finally found the last name; interestingly, it took three tries over the weekend to get Google image search to find her.
Fixed that for ya:
“Embrace the healing power of ‘and’”.
The latest in shutdown theater is expiring SSL certs for government web sites. Either they didn’t bother to order new certs for all the sites they knew were expiring soon, or they deliberately didn’t install them.
Reminder: today’s is the first paycheck that’s delayed for federal employees. Any work they’ve skipped the past few weeks has been by choice.
Since switching to Pixiv as my primary 2D image source, I’ve been bookmarking every picture I blog. Last night, I hacked together another PixivPy script to figure out which artists I’ve blogged work from, sorted by number of images and whether or not I follow them. The core of the code looks more or less like this, for anyone who might want to play with PixivPy:
from pixivpy3 import * aapi = AppPixivAPI() aapi.auth(refresh_token = my_auth_token) result = aapi.user_bookmarks_illust(aapi.user_id) for i in result.illusts: if i.user.id == 0: break if i.user.is_followed: # do stuff else: # do other stuff while result.next_url: next_qs = aapi.parse_qs(result.next_url) result = aapi.user_bookmarks_illust(**next_qs) for i in result.illusts: if i.user.id == 0: break if i.user.is_followed: # do stuff else: # do other stuff
i.user.id == 0 check was discovered through old-school printf
debugging; it’s the only place in the API where I’ve needed something
like that so far)
The most-blogged artists list currently looks like this:
|5||立羽 @ 3日目 西れ-29a|
Live-action Gakkou Gurashi movie:
More precisely, flash meter back, from the dead.
After I bought the little LitraPro LED light and started playing with it, I dug out my Minolta Flash Meter V (no actual digging was involved, but lots of box-shifting and rummaging over the course of about a week), only to discover that I left the battery inside last time I used it. Several years ago.
Vinegar and a q-tip cleaned out the visible corrosion in the battery compartment, but when I took the back off, I found more, and as soon as the vinegar started bubbling it off, the negative wire snapped off completely.
Fortunately we have a highly-skilled hardware team at the office, so I begged pretty-please, and Todd was willing to remove the old wire (the corrosion had wicked its way all the way to the main board) and solder on a new one.
Which is good, because the only real big-name company left in the flash-meter biz is Sekonic, and now I don’t have to spend ~$220 on a cool new one.
Oh, and as soon as I found the bad battery in the Minolta, I continued digging until I found my spot meter, and that one had been stored correctly without a battery. Whew.
Congratulations go out to Buzzfeed tonight, for digging a fake-news hole deeper than any that has come before! The icing on the cake is that one of their “journalists” never saw the supporting evidence for the story, and the other was serial fabulist Jason Leopold (no, seriously, they actually hired him). And they’ve stuck to their guns despite a categorical denial from Mueller’s Marauders.
For this capstone to a lifetime of non-achievement, I hereby give Buzzfeed:
The Bukkake Award for Fellatious Journalism
Because they’ve got more than egg on their faces now…
Robot girl takes it all off!
No, stop, put some of that back on.
Of course mecha-musume get mecha-bare, but in the keyword メカバレ (meka-baré), it comes from the verb bareru (“to be exposed”), so in context it’s a gal whose robotic parts are showing. Naturally, this will often also involve exposure of her more human parts as well.
Sadly, a simple search for メカバレ felt a lot like the old days of trying to pull cheesecake off of Gelbooru: I had to skip over lots of loli, bondage, rape, and loli-bondage-rape pics to find these. I allowed minor combat damage, but the more severe stuff was not appealing.
…it was odd that a place named Yodobashi Camera sold washing machines…
I either need to stop downloading or post faster. I’m up to 3.4 GB of living girls and nearly 6 GB of Pixiv. Maybe I’ll schedule a bunch of cheesecake for while I’m on vacation in April.
Names added for all but 5.5 pictures; the half is the cover photo of an AV film that doesn’t name the actresses. The other five stumped both Google and TinEye.
About half of the Amazon reviews for Once Upon A Deadpool are complaints that it’s a PG-13 version of Deadpool 2 with the framing device from The Princess Bride.
Which was the entire point, and was made painfully clear in the trailers. I’ve completely lost my ability to even.
M.E.T.A. = Make Eloi Tasty Again
M.E.G.A. = Make Emos Grovel Again
M.E.L.T. = Mock Every Leftist Trigger
U.F.A.P. = Use Force Against Pussyhats
H.A.I.T. = Help ‘Activists’ Into Traffic
H.G.W.T. = Have Gun, Will Trigger
M.A.R.S. = Make Abortion Retroactive for Socialists
…to my sanity.
Manager set up a Perforce client on his Windows box, then we changed
the directory that was set for its root. We could not get
use the new directory. Even deleting the workspace, restarting the
client, refreshing the workspaces, and creating a brand new workspace
with the same name didn’t work. It still thought the files should be
located in the non-existent directory from the earlier incarnation of
We had to use a different client name to avoid this over-aggressive local cache of data it had no business caching in the first place.
Also, to make the process more
funtedious, the client-editing
window kept spontaneously resizing itself to be slightly taller than
the screen, every time we opened it or tried to resize it to fit.
Your appeal is becoming more selective. This is rarely a way to improve sales.
Seriously, do you honestly think there’s a large potential audience that has passed this game over because the PvP isn’t obnoxious enough? That’s the hill you choose to die on in this franchise?
A little random selection to stir up my recommendations page…
So, let me see if I’ve got this straight: all your remarkably expensive phones are soooo thin and light that they have terrible battery life, so now you’ve released big chunky battery packs that make them even more expensive, but also clumsier to use and store in pockets.
Y’know, product design isn’t just about fashion and marketing bullet points. Sometimes ya have to provide value for the price…
“That’s one small step for a man, one giant lawsuit for the hotel…”
These little suckers are not only great for breaking down all the cardboard boxes you get with your Amazon shipments, they turn out to be a terrific way to tear through ‘ballistic nylon’ straps, duffels, and laptop bags (a power I’ve used only for good…). Much faster than knives or shears, especially for extracting strap and clasp hardware.
In theory, they’re disposable; in practice, they last quite a while.
Pro tip: when disposing of old duffels and laptop bags, check all pockets for leftover cash, gaffer tape, screen cleaner, and tools. I’d been wondering where that old SOG multitool had gotten to…
So, I knocked together a quick Perl script (as one does) to generate a PDF file containing an unusual sort of grid:
In the source I was working from, the polygon was 2x7, so I used PDF::API2 to scale the coordinate system and draw one at 0,0, and then wrote a little loop that translated the origin around the page and drew the same poly all over the place. The resulting PDF is 1,642 bytes.
For comparison, the GIF up there is 5 times larger than the PDF file, and that’s after optimizing it down to 4 colors.
But I thought to myself, “self, you’ve got a gajillion wasted savestate/transform/restorestate operations in there; you should just calculate the locations of each poly and plug the numbers in directly.”
Self can be a bit of a dick, but sometimes he’s right. This time, not so much, because whatever trivial performance gain I might get by avoiding PDF’s highly-optimized state and transform operations turns out to be completely swamped by the 25x increase in file size.
And that’s just on US letter paper; render it on 11x17, and it’s up to 36x. Why? Because in the lazy, naive version of the script, the largest number used in the loop is the integer 7, and itty-bitty integers can be packed in good and tight.
By the way, the code is so simple-minded that it draws the wide grid line at 0,0 and then translates up the page, making it upside-down. So I added a line at the start that transforms the origin to the upper right corner and rotates the page -180 degrees. This added 13 bytes to the output, which I don’t feel the need to optimize out by drawing rightside up. 😁
Rewriting the code to draw every line segment exactly once shaved a whole 87 bytes off of the file size, but cost about twenty minutes of sketching out grid components (5) on a piece of paper and then re-writing the loops.
I bit the bullet and upgraded Hugo finally, from 0.41 to 0.53. Why so far? Because in 0.42, they re-did the internals for making relative references to pages by name, and made it a fatal error if pages in completely different sections had the same filename. Even if you never actually referenced them.
This was a show-stopper, because the only way to build your site was to fix all filename collisions, which meant breaking external links. In my case, about 300 of them on the blog, and several thousand on the recipe site (which, being automatically generated based on the recipe name, was hard to deal with; why, after all, shouldn’t two completely different collections be able to have a recipe named “egg-salad”?).
After some back-and-forth, they made it a warning that such references will return non-deterministic results, but by then there had been other changes that affected output, and I always do a full diff of the site to catch undocumented changes. And the diffs kept getting bigger.
Today I finally broke down, renamed all the colliding entries in my
various microblogs (mostly affecting external links to the Quotes
section), and scrolled through the 93,923 lines of diff output.
Fortunately, 95% of it turned out to be removal of a bunch of
<p></p> pairs inserted by the old version of their
Markdown library (either completely empty, or around
Looks like they actually undid some of the changes that had increased
the diff size for earlier versions.
As far as I can tell, nothing noteworthy broke, so I’m back in sync with the devs, and I’ve shaved a few seconds off my build time again.
Once more into the breeches!
[this collection proudly assembled under the supervision of a neighborhood stray cat, with inspirational music provided by Konya Wa Hurricane on endless repeat. No journalists were harmed during the production of this entry, not even the Huffgawkbuzzhos I spotted holding up “wil hait-tweet 4 food” signs outside the discount medical-marijuana dispensary.]
Just another curated random subset to stir up my Pixiv recommendations. That is, a script opens 100 random images out of ~11,000, and I choose whatever catches my eye, repeating until I get at least 26 in both the sfw and nsfw sets.
The workflow is: drag-and-drop from Preview into a Terminal window
where I’ve typed an
echo command, switch focus to the terminal,
press spacebar twice, and switch back to Preview. When I’m done,
switch to the terminal and hit enter, then edit the echo command into
mv into a subdirectory.
Why the odd steps? Because Apple keeps making Preview.app flakier with
each release. Normally, when you drag files into Terminal, you get the
properly-escaped full path followed by a space, but when you drag from
Preview, it will be followed by a backslash and a return, except when
it’s followed by a non-backslashed return, which happens at random
intervals. That’s why I’m collecting the list with
echo instead of
This is in addition to the way it will sometimes return a quarantine
path for files that have extended attributes, which is why I strip
those off immediately after downloading (
xattr -d com.apple.quarantine *.*, or copy them to an ExFAT volume and
I defer the
mv to the end because Preview refreshes all the image
thumbnails when it detects that some of them have moved. This is no
big deal when you have only 100 images open, but if you’re, say,
pulling up everything that Pixiv tagged as 魅惑の谷間 (~1,500 at the
moment…), it’s annoying.
The rest of my workflow is resizing with ImageMagick and optimizing JPEG size with Guetzli, pulling in links and tags with my PixivPy script, and uploading with s3cmd. I generally accept the shuffled order, but select one image to pull above the fold, then maybe shift a few that got clustered, and put a punchline at the end if I have one. And a cleanup script to number them all sequentially before posting.
I hear they run a special class for journalists who want to learn to code.