Page 55 of 179

Years ago:

“Fish are the beef of the sea.”

–Yale

Tonight:

“Seals are basically dolphin puppies.”

–Maria

Yale is sick. Get better, Yale!

The Law of Meta

To do meta well, you must first do well the thing within. Checkerboard Nightmare did metahumor and it worked, because Kris Straub was already a skilled humorist; by contrast, almost all webcomics attempt it within their first couple of weeks and fail, because their creators haven’t developed any skill at comedy. So you can see why I’m worried about Studio 60.

Not that Aaron Sorkin’s not a funny writer–with Mitch Hurwitz out, he’s the funniest writer on network television–but he’s not a sketch writer. Sketch comedy is hard, and even harder to do consistently. The best writers in the history of the format have had a hit rate of maybe one in five; even in the age of viral video, the only success Saturday Night Live has found on the intertube was a fluke that relied on hip name-dropping and the tired joke of white guys and gangsta poseury. And that’s out of what, three hundred skits a year? William Hung has a better batting average.

Even if Studio 60 focuses mostly on the weekly downtime and not the show proper, eventually it’s going to have to back up its premise that Matt Albie is good at his job. That means showing us a sketch at least every few episodes. Last night they went as far as showing us the cold open, and it was just a joke they made five minutes earlier repeated to music. It was a nice dramatic moment, with the orchestra and the bold statement of purpose. But it wasn’t funny the second time through, or the third, or the tenth.

A special case of the Law of Meta is the Law of Writing A Character Who is a Writer. The law is: don’t. Doing so almost invariably turns into massive self-indulgence and, worse, annoys me. Even Sports Night couldn’t escape that toward the end. And given that Studio 60 is already nicking from SN (homage to Felicity Huffman, fights with Standards and Practices, I understand next episode the power goes out), well, you understand why I’m worried again.

But I want to see the next episode now.

Story Fight!

Riposte!

Miranda sits at the table and turns the ring over and over. “You should have called me,” she says.

“Of course I called you.” He blinks and frowns. “I called you until your mailbox filled up. I called out the window and I called 911. I called, I–I called you names–“

“Please don’t take that tone,” she says.

“Why not?” he asks coldly. “It’s not as if I can make you upset.”

But Miranda loves him, loves him like chocolate and heat and really good pop songs. She can’t speak. She slaps the table and all the windows blow out.

And it’s a bit of an in-joke, but William’s allegory for my occasional struggles with syndication is unfairly rich.

Canonical first public mention of Dogpool

Dear my web developer friends: Hi. I’m building an AJAX application and I have some Javascript questions. Yes, if I were an earlier version of myself I’d stop reading now too.

The application is intended for use by small groups of people–say, two to ten–collaboratively, for a few hours at a time. There may be many small groups working simultaneously, but activity won’t overlap among groups, only among members of a given group.

Say Alice, Esha and Mallory are using the application, which means having the page open in a tab or window. Each of them has a panel on that page showing what the other two are up to. Alice has five heads-up tokens, and she flips two of them over; I want Esha and Mallory to see that her tokens now consist of three heads and two tails within a few seconds of her doing so. This should not require any activity on Esha’s or Mallory’s parts except having the application page open.

I’m building this with Javascript and PHP/MySQL, no Java applets or anything. Is there any way to accomplish what I want that doesn’t involve polling–that is, using setTimeOut(XMLHttpRequest(…)) to refresh the activity panels every five seconds? setTimeOut is nonblocking on the client side, but that’s a huge number of requests per time period and it scales horribly.

I’m considering the obvious optimizations (having the client side taper off in request frequency during periods of inactivity, and writing the activity data to static files so I don’t have to hit PHP and MySQL with every request). Like most optimizations, though, they don’t address the central problem of nonscalable methodology. Is there anything in Javascript that would let the client accept pings from the server side when the data updates? I don’t think there is, but I’m hoping I’m wrong.

This is called a business trip

Meanwhile, here I am in New York on September 11th, having flown up yesterday evening with a cadre of FDNY firefighters and a pilot who looked about ten. (Years old.) I nearly lost my luggage; my cabbie got lost. I’m on an expense account but I won’t get those reimbursements for two weeks, and this morning I walked eight blocks the wrong way. No idea when I’ll be allowed to leave work tonight.

It’s going okay!