MRI’ll Do Whatever You Want If You Let Me Out Of Here

On Monday night, I was supposed to have an MRI on my elbow. However, once they got me in the tube and took a series, they said that my elbow was too close to the edge of the tube and they couldn’t get a good image. So I was scheduled this morning for an “Open MRI”.

An Open MRI is a gigantic upright cylinder that looks like a Mayan ruin with a slot in the side that they slide you into like a pizza into an oven. There’s barely enough room for them to slide you into this slot – later on I discovered that I could get my good hand up to my face, but only just. But before they slid me in, they put your arm into a ring that is plugged into the device – I suspect that’s some sort of focusing magnet. The tech said “I need to open your elbow up”, and so she put me into an extremely uncomfortable position, and then put weights on my hands and arm to keep it in that position and filled the space in the ring with cushions “so you don’t move too much if you start spasming”. I should have taken the hint and left immediately.

Anyway, after they peg you down in this uncomfortable position, they said “ok, this is a 2 minute series”, and you hear some thumping and whirring noises and then some pulsating noises. Then it stops and before you can say “can I have a second?” they say “ok, this is a 2 and a half minute series” and it starts making noises again. Each series got progressively longer until the last one, but because there was no time to flex my arm in the interim my elbow was getting more and more painful, my hand was going numb, and my upper arm muscles were spasming after about the second series. Before the 4 minute one, I yelled out begging for a break, but they either don’t hear you or don’t care. By the end of it, I was crying. I tried pinching myself or biting my lip or anything to distract me from the pain in my elbow, but nothing worked. By the end of the 4.5 minute one I was ready to tell them anything they wanted to hear. By the end of the 5 minute one I was ready to swear there wasn’t anything wrong with my elbow any more, or ever if that would make them happier, so we might as well stop right now.

But it’s over now, and I might regain the use of that arm in a few hours. I hope it was worth it.

A Rant About Splash Screens

(This might look familiar to some people)

Can somebody please shoot all the asshole software designers who make a splash screen that remains on top even if you switch to another application while it’s loading? I don’t want to fucking see the fucking credits for your software every time it loads, fuckers. I especially don’t want to see it blocking my view of what I’m working on in the interminable time it takes you to load your software. Adobe, I’m looking right at you.

Oh Google, you are so devoid of any semblance of clue

As I wrote about in Rants and Revelations » Hey, Google, Google still hasn’t reimbursed me for my hotel, cab and food while I was in New York City. Today, I discovered why. Evidently when one of their recruiters leaves them, instead of arranging some sort of orderly transfer of her unfinished work to somebody else, they just throw all her email into the garbage and mark any mail that she hasn’t dealt with “Return to Sender” and send it back. I got my reciepts back, over a month and a half after I sent them, which means that undoubtedly they fished them out of her inbox rather than just refusing them at the front door. So I wrote to the only other recruiter there I have been in contact with, and he gave me the name of a third recruiter that I need to send all my stuff to, including the claim form that I’d emailed to the first recruiter on July 21st.

You know, if their tech departments were run as well as their recruiting organization, Microsoft could stop worrying about them.

Is it really too much to ask?

Is it really too much to ask that when somebody uses the contact email address on a web site to expect that they’ve actually read at least the first page of that web site? I just got an email to the address that is published on the Rochester Flying Club web site that asked a bunch of questions that prove categorically that the sender had not read the first page of the site, specifically the part that says “It is not a flying school, although we welcome student pilots”.

His second question was “Is Rochester Flying Club just a Pilot School, or it is a college too?”. Which part of “It is not a flying school” are you having trouble understanding there, sport? His other questions are just as oriented towards a full time flying school.

One thing that’s unusual, though. Normally I get these sorts of clueless emails from people in India or Pakistan – and indeed I found our club web site linked from an Indian site that claimed to be a list of flying schools in the US, but this time the guy claims to live in Rochester, although from his wording I’m not so sure. “I live in Rochester, NY which is 14 miles away from 1313 Scottsville Rd, Rochester, NY.” Doesn’t that sound like somebody who plugged two addresses into Google in order to provide some fake verisimilitude? Although I have trouble thinking of a part of Rochester that’s 14 miles away from the airport.

What a difference an index makes!

I made some changes to my FAA data loader script and ran it. Four days later it had finished running, I discovered a few bugs, and was getting ready to run it again, but I decided to see if I could improve the speed any. I’d already run the perl profiler and discovered that 95% of the time was spent in mysql. So I tried doing an “EXPLAIN” on all the queries. That’s when I discovered that one very common query was doing the dreaded “ALL” query on a 12,000 row table as step 1. Hmmm. That table isn’t even an important one, it was just table joined to the main “waypoint” table to get one field that was semi-useful. The query has a “waypoint.datasource_key = ?” in it, why isn’t it doing that first? “DESCRIBE TABLE waypoint;” showed me the error of my ways – I’d forgotten to put an index on “datasource_key”.

So I created the index and started the script before going to bed. I was astonished to discover that the script was done this morning. According to my Munin graphs, it had only taken about 6 hours to run. 96 hours down to 6 hours. Yeah, that’s a worthwhile optimization.