“It was not an act of hate. My mom called me a terrorist. It wasn’t terrorism; it was activism. It was for a cause…”
— Dustin Dzuck, age 17, explaining why he spray-painted a swastika on a pro-Bush yard sign. He'll fit right in at Berkeley.A long time ago, in a Usenet newsgroup far, far away, in response to a post on “Top Ten Reasons Magic is Better than Sex”, I wrote:
(I dug this out because I found the old “recently-spotted” link where someone had translated them all into Spanish. Link was still good, to my surprise.)

(from the NSFW game HuniePop)
Shamus didn’t precisely recommend HuniePop, but he did say that the Bejeweled-ish gameplay was far superior to the original and most of its clones, and that he felt quite uncomfortable with the dating-sim elements, particularly the “overnight date” where you play a twitch version of the puzzle to “score” with the young ladies. So, to be more precise, he did recommend it, but only to pervs who like anime-style cheesecake and hilarous simulated moaning with their match-3 puzzles.
The gameplay is engaging, and it’s completely free of the fetishes it would have if it were a real Japanese dating sim. Meet girls, impress them with your Mad Match-3 Skilz, admire the naughty pictures they send you, and giggle at the noises the voice actresses make as your score goes up and down in the twitch puzzles. There is an easy-to-apply “adult” patch if you buy it on Steam (create a file with the correct name), but all it does is unlock a few pictures that are more detailed and less appealing.
The art and voice acting are mostly quite pleasant in the dating-sim component, making the girls quite appealing. The unlockable characters are pretty easy to get, and include alien bounty hunter Celeste, catgirl Momo, and love-fairy Kyu. Once you’ve collected the whole set (pokémon joke omitted…), there’s one final secret character, and then an “unlimited” mode.
There are two major drawbacks: it only saves when you leave an area
(so you can’t upgrade your stats and buy/sell things, then exit), and
the Mac version stores your save file in the cache folder, which can
get wiped if you upgrade the OS. This is apparently a common problem
with games built on the Unity engine. So, be sure to save the contents
of this directory frequently:
~/Library/Caches/unity.HuniePot.HuniePop
Welcome to the first non-trivial update to this blog since 2003. Things are still in flux, but I’m officially retiring the old co-lo WebEngine server in favor of Amazon EC2. After running continuously for fourteen years, its 500MHz Pentium III (with 256MB of RAM and a giant 80GB disk!) can take a well-deserved rest.
The blog is a complete replacement as well, going from MovableType 2.64 to Hugo 0.19, with ‘responsive’ layout by Bootstrap 3.3.7. A few Perl scripts converted the export format over and cleaned it up. LetsEncrypt allowed me to move everything to SSL, which breaks a few graphics, mostly really old Youtube embeds, but cleanup can be done incrementally as I trip over them.
Comments don’t work right now, because Hugo is a static site generator. I’ve worked out how I want to do it (no, not Disqus), but it might be a week or so before it’s in place. All the old comments are linked correctly, at least.
Do I recommend Hugo? TL/DR: Not today.
Getting out of the co-lo has been on my to-do list for years, but I never got around to it, for two basic reasons:
I was hung up on the idea of upgrading to newer blogging software.
I didn’t feel like running the email server any more, and didn’t like the hosting packages that were compatible with MT and other non-PHP blogging tools.
In the end, I went with G-Suite (“Google Apps for Work”) for $5/month. Unlike the hundreds of vendor-specific email addresses I maintain at jgreely.com, I’ve only ever used one here, and all the other people who used to have accounts moved on during W’s first term.
Next up, working comments!
Actually, next turned out to be getting the top-quote to update
randomly. The old method was a cron job that used wget to log into
the MT admin page and request an index rebuild, which, given the tiny
little CPU, had gotten rather slow over the years, so it only ran
every 15 minutes.
The site is now published by running hugo on my laptop and rsyncing
the output, it’s not feasible or sensible to update the quotes by
rebuilding the entire site. So I wrote a tiny Perl script that regexes
the current quotes out of all the top-level pages for the site,
shuffles them, and reinserts them into those pages. It takes about
half a second.
Since there are ~350 pages, there will be decent variety even if I don’t post for a few days and regenerate the set. If I wanted to get fancy, I could parse the full quotes page and shuffle that into the indexes, guaranteeing a different quote on each page (as long as the number of quotes exceeds the number of pages, which means I can add about 800 blog entries before I need to add more quotes. :-)
Rina Kawaei demonstrates the kenjutsu equivalent of holding your pistol sideways:

(via)
Dear Democrats, you chose poorly.
In common use, “woke” seems to be a term like “trans” that basically means “the opposite of normal”, and has the same virtue-signaling purpose, as most recently demonstrated in this pathetic example of a Stanford application essay.
So it was amusing to see the top definition on Urban Dictionary is:
"A state of perceived intellectual superiority one gains by reading The Huffington Post."

(via)
We were all-hands-on-deck for Y2K at WebTV, with Operations, devs, and management all waiting for a scramble signal from QA if something went wrong. Since, like most businesses, we’d fixed everything we could think of well in advance, I was hanging out in a conference room with my 4x5 view camera taking pictures of whisky bottles (and a mildly-cute girl from another group who wandered in at some point; portraits only!).
Turned out there was exactly one thing that had been missed: trying to add a credit card that didn’t start being valid until 1/1/2000. This produced a legendary flaming email from Steve Perlman, which was preserved for posterity because it was a reply-all that CC’d the Remedy ticket system.