“This might be a contender for one of the most obscure bugs I’ve seen. Not only does it depend on the fact that your last name begins with ‘egg’ but it also depends on the fact that the egg-prefixed name appears in the last segment of the pathname, and it depends on the fact that you’re on Windows, which provides compatibility with the decades-old 8.3 convention.”

— Unusual failure mode for Python applications

Swordplay


Note to self: when planning to spend 5 hours a day for 3 days swinging a sword and shouting, in an indifferently-ventilated garage where the air approaches body temperature, remember that water, iced tea, and cheeseburgers are inefficient methods of restoring electrolyte balance.

Introducing the iPhone 6...


…based on clear trends in Apple’s design and form factor.

more...

Dear CAS Hanwei,


Katanas are held in their scabbards by friction. I should not have to tell you this.

Random associations


The “emptying trash” sound on a Mac somehow gets Konya wa Hurricane running through my head. Often.

"the song probably makes more sense if you don't understand Japanese"


Jeffrey Friedl, author of Mastering Regular Expressions, found his book in an odd place:

MySQL surprise!


So some code that made it through QA without a hitch blew chunks in Production. Fingers were pointed in various directions, but fundamentally, the SQL queries were incredibly simple, doing a simple retrieval based on matching a unique index, like so:

select field1 from MYTABLE where phone = "12223334444"

Production insisted that the moment the new software was deployed, the dedicated slave DB was being pounded into the ground, and the culprit was large numbers of full table scans. But all of the queries we knew about were exactly like the one above: retrieve part of a single record based on an exact match of a primary key.

Their DB was bigger than ours, so I loaded up a few hundred thousand phony records and tried again. As I expected, my thrash script barely raised the load. Four copies of it spewing these queries as fast as they could barely raised the load. Then I turned on log_queries_not_using_indexes to see if I was getting the volume of full table scans they were, and of course I wasn’t.

Then a real query came in from the new software, and went right into the slow-query log as a full table scan. Why? Because it looked like this:

select field1 from MYTABLE where phone = 12223334444

Fuck, fuck, fuck, fuck, fuck. MySQL silently converts the integer to a string and returns the right answer when you do this, but doesn’t use the index.

Reasons to watch Sword Art Online


…apart from the fact that the show is actually pretty good, that is. First, the animation team from Mouretsu Pirates. Second, the voices of:

  • Eris
  • Ichika
  • Show
  • Manami/Gruelle
  • San-daime
  • and even Muttley

And the show’s actually pretty good, just in case I failed to mention that. Even the episodes without Haruka Tomatsu are decent. It helps to be familiar with MMO tropes and player stereotypes, and of course there’s a certain WSoD required to accept not just a virtual-reality MMO with real-life death, but, more significantly, an online service that manages to stay up for two years with no maintenance.

Liberal reactions to Clint Eastwood's speech


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