“Wait until France gets a hard shot in the nose. Wait until France reacts with some nasty work. They’ll get a golf-clap from the chattering class over here and a you-go-girl from Red America. France could nuke an Algerian terrorist camp and the rest of the world would tut-tut for a day, then ask if the missiles France used were for sale. And of course the answer would be oui.”

— James Lileks

Well, that was special...


I use Amazon’s RedHat-based Linux distribution to run this site in their cloud, with Nginx as the main web server, and Lighttpd for CGI-ish things that are reverse-proxied by Nginx.

Amazon’s been pretty good at maintaining the RPMs, to the point that I don’t worry much about running “yum update” and rebooting at frequent intervals, although I do update my test instance before the real one.

So it was not pleasant to go through a typical update, surf to my site, and find the Lighttpd default page instead of my blog. Whoever packaged up the latest release had it overwrite /etc/rc.d/init.d/lighttpd, blowing away my configuration and replacing it with the default one. And it started up before Nginx, so it claimed the ports.

(and before you ask, I would have put my customizations in /etc/sysconfig/lighttpd if the script had been written in a way that allowed those particular changes; the workaround is going to be to copy it to a new name and disable the original)

Fortunately I keep all configs under source control, so I simply reverted that file and restarted everything, but it’s still annoying.

Unrelated, tomorrow there’ll be a double feature: terrible parody song lyrics with matching cheesecake!

Forgotten SF Novels: Mayflies


Kevin O’Donnell, Jr was a prolific SF writer in the Seventies and Eighties, mostly in short-story form, but he also left behind 10 full-length novels, perhaps the best-remembered being the four-volume Journeys of McGill Feighan, which were successful enough that Berkley reprinted his earlier novel Mayflies with an “interesting” new cover:

Our Hero was a scientist working on a last-ditch life-support system to keep even the most critically injured alive until they could be treated. In a fit of irony, he ends up being the first test subject when he’s decapitated by a rogue light fixture during a severe earthquake.

Unfortunately for Our Hero, he doesn’t recover, and his living-but-idle brain eventually gets donated to a group working on biological computers, as in “reprogramming a human brain into a supercomputer”. They do such a good job of it that the brain-puter is put in charge of a slower-than-light starship sent to found a colony out among the stars, just in case humanity blows itself up at home.

Unfortunately for the passengers, his mind wasn’t completely wiped, and when he wakes up, the conflict between programming and ego results in a tug-of-war that disables the ramscoop before they get up to full speed. The ship will eventually reach its destination, but it’s going to take a long, long time. As their societies rise and fall, Our Hero struggles against his programmed self for control over the ship, while living vicariously through generations of short-lived passenger “mayflies”.

As I mentioned over on Good Show Sir, the cover art that looks like a stoner party being crashed by a mind-melding alien is actually a sex scene in the book, in which the girl is expertly fingered to orgasm by one of the aliens. Actually, everyone aboard is being probed in some fashion, in an attempt to elicit violent or self-destructive reactions, but our PoV character at that moment apparently drew the short straw.

Note: none of his books are in print or available electronically, which is a shame, since they were all entertaining; I presume there are rights issues which his estate is either unwilling or unable to untangle.

More fun with duplicate cheesecake


Before I deleted the 2,000+ duplicate images I found with PDQ, I did a lot of sampling to make sure there were no false positives. The default distance within which clusterize256 considers two images to be the same is 31, which looks like the sort of number you’d come up with after testing your code against a large set of known data.

Now that I have ~16,000 de-duped images, I decided to see what would happen if I bumped that up.

First I tried 50, which found a number of real dupes where the differences consisted of minor changes in cropping, focus, and exposure (at the level of Photoshop’s auto-level function), as well as significant text additions. It also had a fair number of false positives, however, mostly photos of the same model with slightly different expressions or head positions (eyes open/closed, smile/not, face turned a few degrees, etc); if they should be considered dupes at all, the resolution process has to be manual (we used to call it “editing your damn photoshoot”…).

Then I tried 40, which reduced but didn’t eliminate the false face positives. 35 left me with only one false match (below), but also didn’t pick up some of the real near-duplicates.

Then there was this pair…

more...

8​. "Don't put that in your mouth"


(via)

Pixiv: quick sketch


Rakugaki (落書き) can refer to scribbles or graffiti, but on Pixiv, it’s usually more of a quick sketch. And some artists’ “quick sketches” are quite impressive.

Let’s lead off with the extremely rare triple half-rims!

more...

Cop Craft episode 5


Still holds my interest, still feels rushed, wish the vampire chick had nipples.

My biggest concern is that they ripped through book one in 3.5 episodes, and the other books are all about 20% shorter. How far do they plan to get in 12 episodes, and will the results be coherent?

Regional Cooling


Usually by this time of year, I’ve had the air conditioner on, sometimes even at night. This year, I think I’ve had three days above 75°F.

Baby's First Character Sheet


Just for fun, here’s the one-page PostScript character sheet I made for GURPS (3rd edition) back in the Eighties. This is good old-fashioned stone-knives-and-bearskins hand-written PostScript, because that’s just how we rolled in OSU-CIS.

PDF version (5.3KB), if you don’t feel like cutting and pasting.

%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 0 0 612 792
%%DocumentFonts: Times-Roman Times-Bold Times-Italic
%%Pages: 1
/D 32 dict def D begin /d{bind def}bind def /w{setlinewidth}d /f{setfont}d
/r{rlineto}d /m{moveto}d /M{rmoveto}d /s{show}d /t{stroke}d /S{dup
stringwidth pop neg 0 M s}d /c{dup stringwidth pop 2 div neg 0 M s}d
/l{m lineto t}d /h{m 0 r t}d /v{m 0 exch r t}d /b{m dup 0 r exch 0 exch
r neg 0 r closepath t}d /n{findfont exch scalefont def}d /V{/L exch def
/Y exch def{Y m 0 L r t}for}d /H{/L exch def /X exch def{X exch m L 0 r
t}for}d end
%%EndProlog
%%Page: 1 1
D begin 72 dup scale 1 72 div w
0.028 w 9.25 7 1 0.5 b 9.25 3 0.5 v 9.25 6 0.5 v 5 3 1.75 h 2 1 4 h 2 1
4.75 h 5 1 5.75 h 3 3 6.25 h 2 1 7 h 2 1 7.75 h 2 1 8.25 h 1.12 1 8.75 h
2 1 9.25 h 1 2.12 8.25 v 1.25 2.25 5.75 v 0.75 5.5 2.5 9.75 b 0.75 6.5
9.75 v 0.75 7.38 9.75 v 1.5 6.5 10.1 h 0.014 w 2 2.12 7.75 v 0.75 1.75 7
v 0.75 2.38 7 v 2 1 5.5 h 0.75 1.67 4.75 v 0.75 2.33 4.75 v 0.007 w 0.75
0.16 3.5 1.05 1.9 H 0.75 0.16 3.5 0.7 0.25 H 0.75 0.16 1.5 3.05 2.9 H
1.95 0.16 5 3.05 2.9 H 1.95 0.16 9.4 6.05 1.9 H 0.75 0.16 1.5 6.75 1.2 H
5.8 0.175 6.6 1.95 0.25 H 6.15 0.175 6.6 2.7 0.25 H 0.25 0.7 7.75 h 0.25
0.7 8.25 h 0.25 0.7 8.75 h 0.25 0.7 9.25 h 1.85 2.9 10.3 h 1.25 5.2 10.3
h 3.25 3.2 10.1 h 3.05 3.4 9.94 h 0.35 2.6 8.69 h 0.35 2.6 8.45 h 1.95 4
5.98 h 1 1.4 4.38 h 1.35 1.05 4.2 h 0.43 2.15 4.08 v /FIELD 0.125
/Times-Roman n FIELD f /X 2.55 def(Name)(Appearance)(Character Story)
9.94 .18 10.35 {X exch m s}for 4.8 10.3 m(Player)s 6.94 10.4 m
(Date Created)c 6.94 10 m(Unspent Points)c 7.69 10.4 m(Sequence)c
7.69 10 m(Point Total)c 2.56 9.62 m(FATIGUE)c 6.05 9.62 m(SKILLS)s
2.56 9.13 m(BASIC)c 2.56 9.01 m(DAMAGE)c 2.56 8.13 m(HITS TAKEN)c
2.06 7.62 m(BASIC)c 2.06 7.5 m(SPEED)c 2.69 7.62 m(MOVE)c 1.63
6.87 m(ENCUMBRANCE)c 2.63 6.87 m(PASSIVE)c 2.63 6.75 m(DEFENSE)c
3.05 5.98 m(REACTION + / -)s 2 5.59 m(ACTIVE DEFENSES)c 3.05 5.59 m
(WEAPONS AND POSSESSIONS)s 1.33 5.37 m(DODGE)c 2 5.37 m(PARRY)c
2.67 5.37 m(BLOCK)c 1.05 4.62 m(DAMAGE RESISTANCE)s 1.05 3.87 m
(ADVANTAGES,)s 1.05 3.75 m(DISADVANTAGES, QUIRKS)s 3.05 1.62 m
(WEAPON RANGES)s 6.05 1.62 m(SUMMARY)s /ITAL 0.111 /Times-Italic n
ITAL f 7.2 9.62 m(Pt. Cost)s 7.95 9.62 m(Level)S 2.2 8.69 m
(Thrust:)s 2.2 8.45 m(Swing:)s 2.06 7.05 m(\(HT + DX\)/4)c 2.69
7.05 m(Basic - Enc.)c /X 1.05 def(None\(0\)= 2 x ST)
(Light\(1\)= 4 x ST)(Med\(2\)= 6 x ST)(Hvy\(3\)= 12 x ST)
(X-hvy\(4\)= 20 x ST)5.8 .175 6.6 {X exch m s}for 2.3 6.5 m(Armor:)s
2.3 6.33 m(Shield:)s 3.08 5.46 m(Item)s 4.45 5.46 m(Damage)c 4.4
5.33 m(Type)S 4.5 5.33 m(Amt.)s 5 5.46 m(Skill)c 5 5.33 m(Level)
c 5.4 5.46 m($)c 5.95 5.46 m(Wt.)S 1.33 4.8 m(= Move)c 2 4.8 m
(Weapon/2)c 2.67 4.8 m(Shield/2)c 3.5 1.8 m(Totals: $)s 4.7 1.8 m
(Lbs.)s 7.95 1.62 m(Point Total)S 3.08 1.53 m(Weapon)s 4.5 1.53 m
(SS)S 4.9 1.53 m(ACC)S 5.5 1.53 m(1/2 DMG)S 5.95 1.53 m(MAX)S
/X 6.05 def(Attributes)(Advantages)(Disadvantages)(Quirks)(Skills)
.75 .16 1.5 {X exch m s}for /DESC 0.111 /Times-Roman n DESC f 0.825 9.7
m(Pt.)c 0.825 9.58 m(Cost)c 0.825 3.95 m(Pt.)c 0.825 3.83 m(Cost)
c 1.05 4.38 m(Armor)s 6.05 0.55 m(TOTAL)s /X 2.45 def
(T)(O)(T)(A)(L)4.07 .09 4.44 {X exch m s}for /X 2.3 def
(T)(O)(T)(A)(L)5.78 .09 6.15 {X exch m s}for /GURPS 0.556
/Times-Bold n GURPS f 1.4 10.2 m(GURPS)c /REG 0.167 /Symbol n REG f
2.3 10.5 m(\322)s /FIELD 0.181 /Times-Bold n FIELD f 1.4 9.9 m
(CHARACTER SHEET)c /STAT 0.278 /Times-Bold n STAT f /X 1.03 def
(ST)(DX)(IQ)(HT)7.9 .5 9.5 {X exch m s}for 1.03 7.28 m(Mvmt)s
/LEGAL 0.0972 /Times-Roman n LEGAL f 8 0.4 m
(Shamelessly swiped from an original that's \(C\)1988 Steve Jackson Games Inc.)
S end
showpage
%%Trailer

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