Thursday, January 7, 2016

4.55. Casualsplaining

"Rune Deformation"
Artwork by 10Z (Liu Hao)

Spoiler Alert

I drew another line through a long list of names. Fourteen had been whittled to seven, then to four, and now to one. My questions were formulaic and terse; their answers were unabashedly byzantine. I debated the usefulness of the exercise, but pressed on, dialing the last number on the list, greeting the stranger on the other end of the phone, and walking the script.

"Describe to me a 'Relational Model'."

Each answer came at an uncomfortable cadence. An awkward pause at the start, followed by a reading back of the original question. Then, a nervous yet surprisingly articulate response -- all delivered in a thick East Indian accent, pauses littered throughout.

"So...eh...the thing that you wanted to know about...eh...was the Relational Model. It...eh...is an approach...to managing data using...eh...using a structure and language...consistent...with first-order predicate logic processes...eh...that are repeating items in a self-similar way."

"Perfect, thank you for that. Okay, next question. Can you tell me what a 'memory leak' is?"

"...So...eh...the thing that you asked about was...eh...memory leaks…"

"...right." Move it along. I know my own damn question.

"...which is...eh...is a type of resource leak that occurs...when a computer program incorrectly manages memory allocations...eh...in such a way that memory which...eh...is no longer needed...eh...is not released."

'Computer Program'? Why not just say 'code'?

The charade wore thin. I pulled up Chrome, headed to Wikipedia.org, searched for memory allocation, and pulled the result up. As I looked at the page, I spoke. "Got it. Thanks. And can you tell me what exactly is 'memory allocation'?"

"Eh…."

Kill me.

"...Memory allocation?"

I hate my life.

"Right. Memory allocation. What is it?"

I followed along, reading the Wikipedia page, as man with the thick accent gave me "his" answer.

"...the...eh...memory allocation is the...eh...act of managing computer memory at the system level."

It was word for word. He wasn't even bothering to paraphrase. Just Googling everything I asked him, and reading its response, verbatim.

There was a time when not all answers were Googlable. You had to bounce between a litany of search engines in order to maximize your results. AltaVista, HotBot, Lycos, Yahoo!...hell, even America Online had its own search engine. After feeding your keywords into all of those engines, you still might not find you were looking for.

WoW was like that once, too. Well before MMO-Champion, WoWDB, Wowhead, even Thottbot...the only way to tell if someone had mad skills was if they knew the answers to end game stuff. When the 40-Man Naxxramas went up on the public test realm, world first guilds looking to do meaningful research kept wannabes out of their exploratory pick-up groups by drilling them with skill testing questions.

"You been to Blackwing Lair?"

"...sure, sure I have!"

"What happens at the start of phase two of Nefarian."

"...uhh…"

Yeah...that’s what I thought. 

No amount of Googling was going to save you that day. Even if you were able to hit all the search engines at once...the delay would be enough paint you as a faker.

The world before Wowhead was gone, upended by a suite of websites whose engines ran on data-mined fuel. Every new PTR release exposed every asset and revealed every last secret. No mystery was left in want. In the information age, spoilers were simply a subcategory of answers, and the only effort necessary was reduced to typing keywords and click "search".

Oh, don't forget about the "reading" part. That appeared to be important, too.

The effect produced when two
mirrors face one another

Two Mirrors

I sat up in my office chair, and cleared my throat. It was time to divert from the script.

"Explain to me what recursion is, please."

The tell-tale delay. A faint typing of keys. More effort to maintain the facade.

"So...eh...the thing that you wanted to know about was Recursion...eh...which...eh...is is a method where the solution to..eh...to a problem depends on solutions to smaller instances..."

"...Sorry," I interrupted him, "I'm going to stop you there. Let me clarify: I'd like you to explain it to me in layman's terms."

"Eh...sorry?"

"I'd like you to make your answer more accessible, please."

The pauses appeared to grow in frequency.

"Eh...well...the...eh...type of the...eh...solution...is that of a kind of solution that is...eh...one that is larger...but that...eh...works with...eh...smaller solutions."

"You just stated the same thing a different way. I need you to dumb it down for me. What does a recursive function do that makes it unique from other types of functions?"

I sensed panic on the other end of the conference call.

".......eh, well, it is smaller...er, sorry, it is larger...than others kinds of functions…"

Wrong.

"...and...eh...it is the...eh...type of the function that can then call others that are...eh...they are smaller, no?"

No.

"I'm sorry, was that a question?"

"No...eh...that is my answer, yes."

I'd heard enough. "Ok, thanks very much for your time, today. We'll let you know if we have any further questions."

I took a long sigh and crossed the last name off the list. A recursive function calls itself; two mirrors facing each other, reflections repeating forever into infinity.

---

"There. Link's posted in the forums." Vexx's Australian accent hacked through the Ventrilo conversation with obvious frustration.

An impromptu five minute break followed, allowing folks to review the video. We spared individuals the embarrassment of calling them out. Maybe some were having a bad day. Perhaps some were deficient in the dexterity department. As it is with pluralistic ignorance, their reasons aside, players failing were too self-conscious to admit it publicly. You can diminish the effect by directing everyone to do it...

...but I whispered them individually. If you're not watching the video now, you should be.

By the end of the fourth hour, cracks began to show in the seemingly impenetrable array of Blazing Winds, but not enough to get a solid grip on and wrench open.

"C'mon! One more! One more go! Famous last pull!" The guild spirit was strong with Bonechatters. His youthful enthusiasm was enough to fill an entire roster.

"Nope," replied Blain, "Done for the night. We stop on time, those are the rules."

Boney wouldn't give up, "I heard a rumor rules were meant to be broken!"

I piped up, "Thanks, folks. Good work tonight. See you all back here Sunday."

Call it what you want. Lag. Server instability. Bad players. Bad connections. Sometimes a kill just isn't in the cards. I wasn't feeling it. Neither was Blain. The famous last pull wouldn't be our savior that night.

DoD defeats Alysrazor,
Firelands

Keep It Simple Smartypants

Rosters in heavy flux rarely get the same line-up. For all the benefits DoD boasted throughout WotLK, this was a downside. In the bizarro world of Cataclysm, deficits became benefits. The perfect set-up for learning a new boss, in Blain's eyes, was to bring the same people back. And that's exactly what we had for Sunday, July 10th. Whether we liked it or not.

Everyone present had seen all three phases. There was nothing left to teach, and no surprises to catch us off guard. If DPS had neither seen nor played Pilotwings before, I didn't want to know about it. I wanted to look up and see a squadron of Pilotwings experts on Alysrazor's ass. I wanted tornado dodging like it was second nature. And I wanted an explosion of damage on that bird the likes of which hadn't been seen since our Illidan kill.

Blazing Winds sawed through the raid on every attempt. Nobody was safe. Each of us blew it at least once. But, as it had with so many bosses before, patterns emerged. There were definitely people in the raid who were clumsy, still struggling, still having those same spatial awareness issues that had long been a burden on our roster. It didn't matter the reason. What mattered was the result.

"You can't chase them from behind. They move too fast. You have to actually move in between the rings. From the outer to the inner one."

"That's not true, you can chase them."

"Yeah, but I'm not getting the speed buff.:

"You don't need the speed buff to pull this off. Seriously, is it really this difficult?"

I remembered the 'insanity' bit Blain liked to quote to players: People doing the same things over and over, expecting different results.

Doing things the same.

Things.

Like play...

...or explain.

"It's like this," I spoke into Vent, "The tornados are cars on a freeway. You're a cop. And every tornado is a car you want to chase, but you can't chase them for long. The ones coming towards you...in other lanes...are even bigger catches than the one you're chasing."

"Sounds like a crime wave."

"Shut up a second. Listen. You're chasing a tornado...a car...until another one passes you in the opposite direction. That's when you switch lanes. Crank the wheel, change lanes, chase the car that just passed you. Just like that. Rinse. Repeat."

Slowly, surely, we got back on track. Players formerly failing on the tornado...were less so. We kept at it. Three tornado deaths. Two tornado deaths. One tornado death.

No tornado deaths.

In the third hour on the second night of work, the 25-Man roster cleared the hump, and having only lost a few players across two full tornado phases...it was enough to burn Alysrazor through her 2nd phase three. She fell that night, with an hour to spare.

As I lined up the roster, and snapped a kill pic for the forums, Blain shot me a message.

[From: Xane] Car chases?

[To: Xane] Hey. Whatever it takes.

1 comment:

Unknown said...

And I thought I was a sucky coder for not being able to get a job. All of those technical questions I had answered in my head before I finished reading them.

Been really enjoying the blog for the last week and a half. Has made the time go by much faster. Kinda sad that I'm almost caught up, and I'll be out of articles to binge read.

-Jacob Hansen