the documentation lied: publish_stream vs. publish_actions

It may surprise you to discover I still work with Facebook on a daily basis. I did leave Facebook as a user over three years ago, but wrangling the Graph API is still a core part of my job. (For the web developers among you: It’s like your relationship with Internet Explorer.)

Last week I was updating Measured Voice to match changes in the Facebook permissions dialog, and I noticed that the documentation said one of my permissions was now out of date:

“Facebook used to have a permission called publish_streampublish_actions replaces it.”

– from the Facebook API’s Extended Permissions documentation

In a fit of eagerness, I broke the first rule of API usage* and switched out publish_stream for publish_actions. However, it soon became obvious that the two weren’t equal. The auth tokens produced before and after my update were markedly different:

with publish_stream

Requested Granted
manage_pages manage_pages
read_insights read_insights
user_about_me user_about_me
user_status user_status
publish_stream publish_stream
publish_actions
video_upload
create_note
photo_upload
share_item
status_update

with publish_actions

Requested Granted
manage_pages manage_pages
read_insights read_insights
user_about_me user_about_me
user_status user_status
publish_actions publish_actions

Requesting publish_stream gave me publish_actions anyway, which makes sense if the two are being treated as equals, but it also gave me a whole passel of other permissions I hadn’t asked for. As it turns out, at least one of those permissions is still necessary to do what I need: post status updates and photos to a Facebook Page.

But which one? I checked the documentation again, and… well, none of them are documented at all. Not listed anywhere, not mentioned as deprecated, not anything. Huh. Some of them do sound like permissions I’d need (photo_upload and status_update, for example), but without documentation it’s just a guess.

It sounds like the documentation is ahead of the actual API development, and reflects some design goal instead. Or maybe this is (yet another) API bug. Either way, I’m going back to requesting publish_stream until they get their facts straight. It still works. (For now.)

* “If it ain’t broke, don’t upgrade to the new revision.”

three rules to put more science in your fiction

I won’t start an argument about the definition of “hard SF” or the state of scientific accuracy in fiction, but here are a few handy rules for science-fiction writers who want a quick test of real-science groundedness.

I call them Joi’s Laws, because SF writer Joi Weaver put them so well. (The headlines are her laws; the rambling context is mine.) Each one is a challenge: avoid this common crutch when starting your own story. Think of them like the Bechdel Test for solid science.

No FTL Travel

Space is big, and ships are slow. That’s the reality for at least another century, so embrace it. Faster-than-light travel lets your characters hop from star system to star system, but what are you really gaining? How is a rock around Epsilon Eridani inherently more interesting than a rock in the Main Belt?

Even if your story is set in the far future around a far star, FTL travel is dispensable. Joss Whedon didn’t need it for Firefly, and his (solar-system-sized) universe was packed full of interesting locations.

No Aliens

Everyone knows it: aliens in most stories are just humans with funny foreheads. Even the most unusual aliens in the most mind-bending stories turn out to have mostly human attributes, because a) it’s hard to imagine anything truly alien, and b) it’s harder to relate to truly alien aliens. So stop trying. Humans and animals have bizarre enough variations to fill a century of stories.

My own corollary: No Monsters. Monster stories are great and all, but 99% of new sci-fi is already cluttered with zombies, mutant viruses, and killer robots. Next time you need something terrifying, how about the interplanetary DMV instead?

No Artificial Gravity

This one is tough even for me. I’m obsessed with gravity, and I honestly believe we’ll be a second-rate spacefaring species until we learn to control it. Still, no one is close to controlling gravity even a little bit, so spaceships with a solid one-gee field working at all times are still pure fantasy.

Besides, fifty years of astronaut hijinks teach us that weightlessness is one of the best things about space travel, and we haven’t yet explored the spectacle of low-gravity sports. The only reason your characters would actually choose to be in a one-gee field (occasionally) is due to health concerns, and a treatment for bone loss is much more believable than gravity control.

“It’s more a guideline than a code.”

Good stories can still be told if they violate Joi’s Laws. (I’m going to see the next Star Trek film just like everyone else.) They’re not a guarantee of a good story, either. If you want to tell a *new* story, though, keep these in mind to give yourself a bit of a real-science challenge.

 

my SXSW space tweeps slides

On March 11th, 2012 in Austin, TX at the SXSW Interactive conference, I had the privilege of being on a panel of space enthusiasts called “How to Win Friends and Influence Space Exploration“. You can listen to audio of the panel at the SXSW site.

The panel was fun, and I put together a slide show to serve as spacy background for it. Those slides are big and unwieldy because they have huge images and video, but you’re welcome to have them if you’d like:

I might try to put the audio and slides together somewhere so you get the full effect, but that’s going to be a pain. If someone with better skills than me would like to do that, you have my blessing. Please send me the result if/when you post it so I can link it in here.

on life and its sources

Tonight I read the geeklet a story at bedtime, the kind of thing that’s designed to be restful with a hint of mind-broadening moral reassurance. As I finished, he looked thoughtful.

“We wouldn’t be here without this.” He tapped on the floor. “I don’t mean the floor, or the neighbors downstairs. I mean the ground underneath us.”

“That’s right.”

“We also wouldn’t be here without this.” He held up is palm, and this time I wasn’t sure what he meant. “We wouldn’t be here without the sky.”

“That’s also true.” I stood up and turned out the light. “Good night.”

He wasn’t done, though. “The sky wiped out the dinosaurs so we could take over.”

“Mm hmm,” I said, without even a pause. “Good night.”

“Good night, daddy.”

Short Story: Like An Arrow

Sometimes I get the urge to write a short story. Usually the feeling passes, but this one stuck with me and kept nagging until I let it out. More story notes at the bottom.

A shaggy dog barred my path through the door. He was my sister’s dog, a long-suffering poodle lounging in the Louisiana heat. “I can’t believe you make him put up with this humidity,” I said as I stepped over him and into the tiny office.

My sister grunted but didn’t look up from her pile of papers. “He doesn’t mind. You’re projecting.” It was true; I didn’t like the heat any more than George seemed to. Boulder was much more my style, but Lalita preferred to live in places that felt like saunas to me. Mumbai, Austin, and now Baton Rouge.

It was like she picked the stickiest, dingiest places just to keep me away. I know, projecting again. At least I visited her wherever her research funding happened to take her; she hadn’t been to see me in Boulder once in the decade I’d lived there.

“You could at least put a fan in here or something.” I looked around at the office, packed full of textbooks, reference books, papers, ebook readers, tablets, and more than one empty soda can. “Or do something about the flies. It’s—”

“—a pit, I know,” she said and swiveled around on her chair, finally looking me in the eye. “It’s a steaming mess of shocking proportions, and my clothes aren’t any better, and I’m wasting my life without a good solid job.” She tossed her hair back defiantly and stared directly at me. “Should I conference Mother in too, or have we covered it all ourselves?”

I held out my hands, warding off the tongue-lashing. “OK, OK. Truce.”

My sister relaxed and looked at the floor again. “You’ve only been here a day. Our half-life is usually at least three.”

“Half-life?”

She got a mischievous look in her eye, the way she used to look when we shared a secret as girls. “It usually takes three days before half our conversations are about each other’s failings.” She grabbed an end of chalk and drew a swooping line graph on the board nearest us, starting high and dropping off quickly. The scrawled legend read “substance”, and a dot marked a point half-way down. “We’re only a day in, though, so…” she trailed off while figuring out the current value. “…we should still be saying meaningful things about 85% of the time.”

I barely suppressed a smile. “Then let’s. Are you ready for lunch?” I didn’t mention how anxious I was to get away from the buzz of insects and into the air-conditioned restaurant.

“Ready,” she said, and grabbed a tablet from the desk. We stepped over the still-sleeping George, and Lalita reached down to give him a quick pat. “Watch over my work. Good dog.”

The restaurant was a blessed relief for me, but Lalita looked uncomfortable as soon as we sat down. “We could have eaten on campus,” she said and scowled at the menu.

“Don’t worry. I’ll cover it.” As soon as I said it, I knew it was the wrong thing to say. She frowned at me and closed the menu. “What? You know why I’m here. There’s no use pretending this is a sisterly visit.”

“OK, then. Let’s be plain,” she said. She picked up the tablet and turned it so I could see. “I’ve been thinking about what you said yesterday, and there’s something I want to show you.”

“About the teleportation project?” Again, I knew it was the wrong thing to say. I’d been saying the wrong things to her for decades, so why should it stop now? “What?”

“Stop calling it that,” she said. “When you call it teleportation people start thinking of transporters and time machines, and that’s what I’m trying to warn you about.”

I couldn’t help it. “Time machines?” I practically barked it, then realized where we were. I leaned in closer and whispered conspiratorially. “Who calls it a time machine?”

“NOT time machines!” she yelled. I reeled back and almost knocked over my water.

“All right, not time machines. Forget I said it. Show me what you were going to show me.” I leaned in again and focused on the tablet.

The graphic on the tablet was a sophisticated version of the ones I’d seen on Lalita’s chalkboards many times before. Lines split, joined, and crossed each other in intricate patterns. It looked like something out of a how-to book of sailor’s knots than anything I knew of physics, but I knew better than to make the analogy.

“What is it?” I asked.

“It’s a simulation of the kind of particle interactions we’ve been working with in the lab.” She started poking at the visualization, and dots raced from one side to the other, following the intertwined paths. Now it looked more like a hospital chart, except those usually didn’t backtrack and spin around each other.

“Back up,” I said. “What am I looking at here?”

“This is the simplified world lines of the particles as they interact. This axis is time–”

“No it isn’t. If it was, those particles shouldn’t be going the wrong way.” I pointed to places where some of the bright dots turned around and moved backwards relative to others.

She looked flustered. “Not if you give each particle it’s own arrow of time. You know that from relativity; there’s no preferred direction for them to point.”

Now it was my turn to frown. “Yes, I know what a space-time vector is. I also know that no matter which vector you choose, none of the others will point the other way entirely.”

“They do if you follow the quantum signatures in a continuous path instead of treating them as annihilations. That’s what we’ve been doing in the lab; verifying that certain antiparticles really are their counterparts traveling backwards in time.”

This was news to me, but not what I came here for. “If this is what you mean by not a time machine, please do tell me about your not-a-teleporter.”

She groaned and threw the tablet down on the table with a clatter. “You don’t listen!”

Luckily, our food was served at that moment. We sat in stony silence, and I noticed a speck of something move around in my water glass. A fly, apparently doing its impression of a crazed particle’s world-line. I asked for another glass of water.

“Look,” she said, “I know you can understand this. You’re an engineer, for God’s sake. Just listen.” She picked up the tablet again and started the dots on their travels. “By tracing the signatures, we showed that quantum teleportation–” –a warning look– “–listen! Quantum teleportation does truly impose the state of a particle, its identity you could call it, on a distant particle. More importantly, though, we showed *how*. Look at the green one here, and watch it teleport.”

She held her finger over one of the racing dots, and suddenly I saw what she meant. It traveled up and down along its path, but then turned around in a shower of sparks to zip back along a trail that I had assumed was another particle. That flew off—in the wrong direction, the negative-time direction—until it joined another group of swirling particles and made its way forward again. Finally it got back to its “original” time and met up with the sparks it had given up.

“It didn’t teleport at all, did it?” I couldn’t hide the disappointment in my voice. “It traveled back in time to make its way to where the duplicate was.”

Lalita beamed. “She can be taught! That’s exactly right. The laser doesn’t create a duplicate of the particle, it forces it to zigzag in time until it ends up in the right place.”

My head was swimming, and it was hard to make the leaps she expected of me. “OK, I get this part. Isn’t the end result the same?”

She scowled again. “Do you still get to send your spy-beams, you mean?”

“They aren’t spy beams.”

Her eyebrows shot up. “Oh really? You want to point a beam and send a camera to spy on someone.” She mimed the process with her hands, and I had to laugh.

“OK, OK. If they’re spy beams, why can’t it be a teleporter?”

Lalita looked serious again. “In a word: histories.”

“Histories.”

“Yes, histories.”

I waited for her to go on, but she must have been waiting for me to catch up. I stared at my water glass and noticed another fly had fallen in it, before I’d even taken a sip. I knew how it felt.

I finally gave up. “Which means?”

She leaned forward with the mischevious look again. “See? Physics is good for something. Each particle doesn’t have just one path it takes through space-time. Quantum physics shows us it takes all the paths it can, and the combined histories of all those paths are what we perceive.”

She paused again, but I still wasn’t getting it. “And?”

“And all those histories are important. They interact in ways that are more complex than a single world-line would. If you cause the particle’s path to be too restricted, too deterministic, a lot of the physics we rely on stops working.”

“Such as?”

“If we try to pin down the exact moment an atom changes state, it stops having the chance to do so. Its histories get so pinched that it can’t do its job.”

It finally dawned on me. “The teleported particle. It’s pinched?”

“Exactly.”

“What’s wrong with it?”

“Nothing much, if you’re working with one particle. The more complex you get, the more histories you’re pinching and the harder it is to hold everything together.”

I sagged in my seat. “So it’s impossible?”

“Well,” she said. “Nothing’s impossible. But we’re not going to be beaming any spies for you anytime soon.”

That night we managed to get through dinner without talking about spy beams or time machines. Lalita was much more comfortable in her own kitchen than the hotel restaurant, though I probably cooked there more than she did. She asked me about my work, and I told her as much as I could, minus the classified details. We talked about the lack of funding for pure physics research, and I gently offered for the thousandth time to get her an applied research position at my company. She gently ignored the offer for the thousandth time.

It was over the second bottle of wine that she dropped the bomb. I’ll always remember the scene exactly: the two of us sitting around her tiny kitchen table, her leaning down to feed George the remains of our meal with one hand while cradling a wine glass with the other. Me stacking dishes off to one side because I was avoiding any work in the humid evening. A moth hovering near the lamp above the table, bouncing annoyingly between the lampshade and the bulb cover without settling down.

“I worry about time travel.” She said it matter-of-factly, like she was talking about our mother’s new boyfriend or the rent.

“Do you, now?” I wasn’t sure how seriously to take her.

“I do. The results we’re getting in the lab are very troubling. I wish we had enough theory to know whether they’re as bad as I think or if they’re self-correcting.”

“Troubling? In what way?” I’m not sure why, but I’ve always felt a special dread when my sister’s work troubles her. The problems physicists worry about tend to be either trivial or world-ending, and it’s hard to tell which are which.

“Remember those pinched histories? They can be… bad.” Her voice trailed off.

“Bad? How bad?”

“Just as bad as I showed you. When we tried to affect quantum state over distances, it reached back into the past to make that possible and pinched all the histories involved. I wanted to see if we could use that effect to change quantum states in the past.” She frowned.

“And? Could you?”

“Yes, but…” She took a minute to scratch George behind the ears. “The pinching effect was a lot worse. The remaining histories deviated so far from the norm that we had trouble recording what actually happened. It was like every roll of the quantum dice came up sixes. Some of the most fundamental processes in the universe just… stopped.”

She drained her glass of wine and poured another. I noticed her hands shake a little.

“Is this why you don’t like time machines?” It was the wrong thing to say again, but this time she just deflated. For the first time, I felt bad about riling my sister. “I’m sorry. I’m just trying to understand.”

She gulped another glass and grabbed a tablet. “Do you ever wonder about aliens?” She poked violently at the tablet’s screen.

“What? Aliens?”

“Aliens. Specifically, where are they?” She showed me the tablet’s screen, now covered with a map of the sky, filled with stars and their myriad names. “A third of these stars have planets like Earth. Some of them have life like ours, and some of that life might evolve into beings capable of space travel or interstellar communication.” She paused, staring at the map.

“And?”

“And so where are they? According to the best odds we know, there should be civilizations spanning the entire galaxy, including here. Where is everyone?”

I still didn’t see where this was going. “If the theory doesn’t fit the data, don’t blame the data.”

“Oh, I don’t.” She had fire in her eyes now. “The best guess is that civilizations all reach some world-ending event before they get off their own planet.”

“Right, like nuclear weapons.”

“Yes, but we dodged that bullet. Someone else must have as well, but they’re still missing in action. So what’s coming for us? What’s going to snuff us out before we get anywhere?”

“Who says anything will?”

She looked at me as though I was being willfully ignorant. “What about time travel?”

My head was spinning, and it wasn’t the wine. I was starting to think that my sister was putting me on. “Time travel? You think we’ll be killed off by pinched histories?”

“It could happen.”

“Really?”

“Well…” She looked doubtful for a second. “I’m not sure. The strange thing about time is that no matter how you change it, it always turns out to have been that way.”

I groaned. “You’ve stopped making sense. I should go.” I stood up, a little uncertainly.

“No, wait. What I mean is that if pinched histories were going to end us, they would have already done so in the past. Our past. We wouldn’t be here–”

“–having this completely ludicrous conversation.” I said. “Good night.” I patted George and left before the conversation could get worse.

The next day I awoke with a start, sitting bolt upright in the hotel bed, a little disoriented about where I was. Something in my dream had been very important, but it drifted away before I could remember.

Over breakfast in the hotel restaurant, it came back to me all at once. I watched a fly wind its way around the lazily-spinning ceiling fan, and it all became clear. I dashed out of the hotel and nearly ran to the university before realizing that it was miles away and I’d die from heat exhaustion after a few blocks.

The taxi couldn’t get me there fast enough. The whole way I worried that my epiphany was a hangover-induced delusion, something my sister would tear to shreds with a single comment. Still, I had to tell her. It might be right.

George was draped across the doorway to her office again, and Lalita looked at me sleepily over her breakfast pastry. “Mff?” she said, and her eyes opened wide as I leaped over the shaggy dog.

I was out of breath, but I had to tell her. “You don’t have to worry. The pinched histories won’t get us, and time travel will turn out just fine.” I stood up straighter as I regained my breath. “Those other civilizations didn’t survive discovering time travel, but that doesn’t mean no one will. We will. We did.”

She swallowed her bite of pastry and a swig of tea. “How can you know that?”

“Look, you said it yourself. History is the way it will be, and anything we do to change it will already have been done. You’ll figure out the upper limit to what we can teleport safely to the past, and we’ll find a good use for it.” I was practically dancing. “In fact, I want you to come work with me on a new kind of spy beam anyone will appreciate. We’ll rewrite history in a good way, by learning all its secrets.”

Lalita just stood there, open mouthed. “What on Earth are you talking about?”

I pointed up at the ceiling, and Lalita’s eyes opened wider as she looked at the hundreds and hundreds of insects milling around up there. I beamed at her and declared triumphantly, “Time flies!”

Author’s Note

Yeah, sorry about that. The puns are bad and physics is awful, but at least the story and characterization are terrible.

This story came out of three ideas that nagged me incessantly:

  • The “time flies” concept came first. Wouldn’t it be great to be a fly on the wall at the signing of the Declaration of Independence? We always say that, but who’s actually doing something about it? Surely we could come up with a way to send a tiny fly-cam back in time and bring it back, all without interrupting the “original” history. Who notices another fly?
  • The idea that time travel destroys advanced civilizations was inspired by a discussion on Twitter about Fermi’s Paradox, mixed with recent research on the nature of cause and effect in increasingly-weird quantum interactions. [citation needed]
  • Oh yes, the puns. Some of my favorite Asimov short stories are either shaggy-dog stories (like Shah Guido G.) or discussions between two people about some kind of world-changing idea (like Darwinian Pool Room). Poor George is a nod to the former, and the two sisters provide the latter while also satisfying the Bechdel Test.