assumptions and their ills

Yesterday I did something dumb, and I only realized it today because I don’t trust an easy success. Let’s see if you can spot the flaw in my reasoning:

Background:

  • A process (X) is run on a series of items in a queue.
  • Items are added to the queue continuously, about 500 per hour.
  • A processor (Z) is started once an hour. It performs X on all the items in the queue, then quits once the queue is empty.
  • If there are any errors, the processor emails them to me after it quits.

The problem:

  1. I noticed 100 random failures in process X each hour.
  2. I hypothesized that X is failing due to intermittent system unavailability.
  3. I checked the hypothesis by looking for clusters of X failures at times of high load. (There were.)
  4. I “fixed” it by pausing the Z processor for 60 seconds whenever there’s a failure (to let system resources recover).
  5. 12 hours after the fix, I got no failure emails and declared victory.
  6. Not so fast: Not only did I not fix the problem, I caused something worse.

Can you figure out what I did wrong? Continue reading

a cat… standing up!

These gentlemen are from the future.

These gentlemen are from the future.

You may have noticed how quiet Global Spin has become, yet again. With the rise of Twitter and Reader and Tumblr and other such thing-share-ers, our little community no longer has much reason to post their thoughts to a group blog.

In response, I’m quitting!

checks notes Oh wait, that’s not it… shuffles papers One sec, it was right here…

Right! In response, I’m going to keep posting the same old things on Global Spin as always. (In a word: monkeys.) I won’t even promise to post more often, because we’ve all seen through that little shadow play. Or something.

For those of you looking for a little more regularity and a little less depth, I give you a cat… standing up! (Oh, and I might also share some other things over there, because it’s what all the kids are doing these days.)

That is all.

the 42nd monkey

Lee shared a thoughtful and entertaining Cracked article* by David Wong about the Monkeysphere. In short, the idea is that we can maintain less than 150 relationships (our monkeys**), so there’s no way for us to care about everyone.

Lee also shared a Derek Sivers article that hits right in the gut. As Lee pointed out, reading the two together makes it obvious that the abuses Derek talked about came from people working outside their Monkeysphere. They ended up shouting at their email, not realizing there was a person on the other end.

After reading them both, I had to ask myself: Why do I think I’m different? I do try to treat people with respect, even when “people” are an abstraction so far removed from my life that I need complex software*** to remind me how to treat them well. I also interact with lots of people over the course of the day, far more than the ~150 my Monkeysphere would allow me to care about.

First I thought there might be some notable difference between in-Monkeysphere people and out-of-Monkeysphere people. Maybe I just follow a set of rules about interacting with people (see also: enlightened self-interest), without really feeling it on the inside. Then I read a tweet from Dave Masten:

“My dad’s leukemia just took a turn for the worse. Sad.”

That hit me in the gut, too. And then I figured it out. They *are* in my Monkeysphere. All of them. Sara and Valerie are in there. Dave’s in there. You’re in there, dear reader, even if I don’t know you at all. They’re the 42nd monkey.

Here’s how it seems to work, based on whole minutes of self-examination: one of my monkeys**** is an abstract monkey. Programmers might call it a variable, mathematicians might call it an equivalence class, and politicians might call it a constituent.  When I interact with someone who isn’t in my Monkeysphere, that person becomes the 42nd Monkey for that interaction, even if it’s only a few seconds. When the time comes to deal with someone else, they become the 42nd Monkey instead.

The 42nd Monkey suffered a loss. The 42nd Monkey is working toward a deadline. She slept badly last night, and she’s just trying to wake up. He’s glad it’s Friday. She doesn’t have a lot of time, but she’s willing to talk. He wonders if all this trouble is worth it. She hopes she’ll meet someone nice tonight. He’s awkward at parties. The 42nd Monkey, in short, is a real human being.

The 42nd Monkey isn’t so different from the other monkeys in my sphere, so I try to treat him with the same respect. More importantly, I realize I’m probably outside of the 42nd Monkey’s monkeysphere, so I give her the benefit of the doubt. She’s not yelling at me to make me feel bad; it’s because her child is crying. He’s honking at my car, not its driver.

Why does this matter? Because I don’t agree with David Wong’s conclusion that “it’s also impossible for them to care about you.” (Emphasis his.) I can be your 42nd Monkey just as you are mine. It might only be for 5 seconds, but if that’s the time you’re spending with me then that’s all it takes.

* I know! Can you believe it? Not a phrase I’d ever imagine writing.
** Yes, humans aren’t monkeys, and most of the images in the Cracked article aren’t monkeys either. Step back and embrace the wider point here.
*** A digression, but here’s an example from right now: My phone is told by my calendar application to remind me when someone I’ve never met is scheduled to call, so I’ll know not to send that call to voicemail, which I ordinarily would do because their caller ID isn’t in my address book.
**** There’s probably more than one monkey, but for now let’s assume it’s one monkey. (In a vacuum[4].) That way I can name it, instead of saying “Monkeys 42 through 42 + n, where n < 108″ each time.

the new broom

Sometimes it doesn’t pay to teach your child to tell time.

INT. BEDROOM – DAY

KAREN and CHRIS are asleep in bed. They open their eyes to find the GEEKLET standing over them, sighing loudly to catch their attention.

CHRIS

(blearily)

Hi, sweetie. What time is it?

GEEKLET

It’s 9:10.

CHRIS

OK, we’ll be up in a minute.

GEEKLET

All right. I’ll come back and tell you when it’s 9:11.

…and yes, it’s occurred to us that he acts a lot like Sheldon Cooper. The difference is that Sheldon is an adult, and hopefully the Geeklet will grow out of this. Hopefully.

why I’m leaving Facebook

Starting today, I’m going to remove all my personal information from Facebook and “unfriend” everyone. I’m responding to a pair of status messages that appeared on my profile over the last few weeks, though I didn’t put them there. (John calls them “phantom status messages.”)

fb-screenshot-1

According to the site itself, the messages were both submitted “via Text Message”, which is odd because I haven’t authorized the Facebook Texts service. I submitted a bug report to Facebook Support, but so far they’ve done nothing aside from ask me to resubmit my request if I’m “still experiencing security issues.”

Facebook screenshot 2

Just to be clear:

  • My account hasn’t been “hacked”. I changed my password as soon as the first phantom status appeared, and that didn’t stop the second message two weeks later. Since the phantom messages came from the Facebook Texts service, they didn’t require my authentication anyway.
  • My computer doesn’t have a virus. (If you know me at all, you’re chuckling at the idea.) Even if by some magical circumstance it did, the virus would have to send Facebook a text message somehow, and they’d still have to accept it.

That leaves two possibilities that I can see:

  1. It’s a bug. Some bit of Facebook code is misrouting another user’s text messages to my profile by accident.
  2. It’s a security exploit. A malicious user is exploiting some crack in Facebook’s text-message-handling code to drop messages in other users’ accounts. This is less likely, but not impossible; it would probably start with innocuous messages to test the exploit.

Facebook Texts

Either way, I no longer trust my Facebook account. The phantom messages have been benign so far, but all it would take is one generic hurtful statement to become a real nightmare. (Not to mention what this implies about Facebook’s security in general.)

I still plan to keep the account itself open, because I need it for work (to develop Facebook apps) and for space advocacy (as a page admin). I just won’t be posting to it, and it won’t be “friends” with anyone. I’ll miss the easy keeping-in-touch it provides, but that’s not worth the potential hassle.