(3) Mon Jan 02 2012 19:32 Frances Daily:
We're out of the gate with the first Crummy project of the new year. I spent Christmas in Utah, and while I was there my sister Susanna foisted on me my mother's old Franklin day planner. She's already typed up my mother's Franklin diary from the 80s and 90s, a diary very similar to the weblog she kept from 2001 until she died in 2006, so all that was left of the day planner was an enormous block of calendars.
It's a very detailed calendar that will be useful for family history purposes but quite boring otherwise. Except, at the beginning of each month there was an "index" page on which my mother had written a brief summary of every day of that month. There were index pages from January 1987 to November 1990, with a few sporadic months from later on.
The cumulative effect of these daily summaries was incredibly powerful. This was a time of major upheaval in my family, leading up to (but not ending with) my father's death in 1992. The monthly summaries show my mother trying to keep it together while studying for a graduate degree and raising three kids pretty much on her own. It's inspiring and a bit horrifying.
I've started a Twitter account, @FrancesDaily, which is using Sycorax to reprint the daily summaries 25 years after my mother wrote them. (Here's the RSS feed.) The summary for each day will go up at 4 PM Pacific time. It's a little spotty in January, but once it picks up she doesn't miss many days for the next three years.
I don't know what the effect of the summaries will be when experienced in real time. Probably when I read one I'm going to mentally compare my day against the day Frances had 25 years earlier, and you might want to do the same.
This is a much lower-bandwidth project than Roy's Postcards, but where my father's writing almost never showed any emotion, these summaries pack a lot into just a couple words. Susanna read the index and said "Mom was really hard on herself." So please take entries like "wasted day" as accurate depictions of my mother's mental state, but not necessarily of reality.
A note about the names. I did the thing you frequently see in old journals that have passed through the hands of the journal-writer's descendants, and replaced most of the names with initials. For instance, the January 18 summary, "Mario's Eagle", became "M's Eagle". The Mario mentioned is Mario Canton, one of my dad's Boy Scouts and later a family friend. I initialized most of the names because you don't have the context to know who all these people are, and I think giving each entry an explanation significantly longer than the entry itself would ruin the effect.
In a few cases, making peoples' names into initials was also necessary to protect their privacy. I left a few names intact: mostly my mother's close relatives like her aunt LeJeune ("Jeuney"), her sister Anne, my father, and of course me and my sisters.
Again, that Twitter account is @FrancesDaily. Here's the RSS feed.
(1) Tue Jan 03 2012 08:49 CG Author Commentary #5: "The Stars My Screensaver":
Yeah, you know it's getting serious now. The microblog archive is up, I'm feeling good and it's time for some commentary:
- The chapter title is one of my favorites, and I'm proud of so many lines in this chapter. I especially like "The
aliens are not a dessert," the Paperwork Reduction Act line I used as last week's teaser, and Curic's unintentional poem about the nebula. I didn't
realize until after I'd sold the book that the odd line breaks I used
for Curic (meant to convey the rhythm of her native language) turn
everything she says on IM into free verse.
- Ariel's older brother Raphael has been mentioned several times
before, but I forgot to talk about him. Because there's not much to
say. He never shows up in the novel except in stories Ariel tells
about when they were kids. But I needed to establish Raph's existence so it's not a big surprise when Ariel pulls out those stories.
In my mind, Raph is now an economist for the IMF or something. His
parents are very proud, Ariel less so.
- The Bureau of Extraterrestrial Affairs first showed up in
"Vanilla". It was presented as less sinister and more farcical, mainly
because the protagonist of "Vanilla" is in a good position to
manipulate the BEA, and Ariel is not.
Want to know something hilarious? In the first version of this
chapter (second draft), BEA agents Krakowski and Fowler didn't even have names. In
his blog, Ariel called them Good Cop and Bad Cop, after their roles in
this initial conversation. My writing group raised an enormous stink
about this, and eventually Ariel made up ridiculous fake cop-show
aliases: Krakowski and Tonsil. But as the second draft progressed and
the BEA agents became essential to the plot, I found it harder and
harder to have a character named "Tonsil" deliver important lines.
Also, I'd never given them personalities. You couldn't tell who was
talking. It was awful. Writing group conversation: "Why do you even
have two of them?" "Well, they're Men in Black, there's always two of
them..."
After completing the second draft I considered a number of ways of
distinguishing the characters, including making Krakowski a woman. That
didn't happen, not least because it would turn Krakowski/Fowler into
Scully/Mulder. But out of that thought process and the Good Cop/Bad Cop thing came the distinction I
went with. (Highlight to reveal spoiler:) Fowler is
everything Ariel hates: a reactionary thug getting by on his charm and
connections. Krakowski is basically the same person as Ariel: an
outsider, a xenophile, smart and driven. But Krakowski and Fowler
have the exact same job.
I'm pretty sure 9/11 didn't happen in this universe (and at this point you might be able to guess why not), but there's a Department of Homeland Security anyway. Go figure.
- One of my favorite feelings when writing is the realization that
you can reuse a detail that earlier was merely incidental. "Limited Nuclear Exchange" is just a random game reference in this chapter, but much later in the book I needed to write a tense conversation between Ariel and Jenny, so I set the conversation during an LNE session and fleshed out the game: a board game, a cross between Twilight Struggle and Twilight Imperium that takes half an hour just to set up and generally ends abruptly with both players losing.
That's a small example, but in a couple chapters there's another
offhand reference that greatly shaped one of the most important scenes
in the book. Watch for it! Specifically, watch for me pointing it out.
- At the end of this chapter you see exactly the thing Krakowski is
afraid of at the beginning: a race to the bottom. Once one country
opens up to the Constellation, the united front crumbles. How long
until the USA acquiesces to the alien anarchists' demands in exchange
for access? Not long at all, considering I need to keep the plot
moving.
And there's the commentary. Stay glued to the proverbial set for chapter 7, when Ariel will say, "Well, her hardware's Chinese..."
Image credits: Gisela Giardino, The United States Department of State, and the East German postal service.
<- Last week Next week ->
Wed Jan 04 2012 11:38 GeekDad Reviews Constellation Games:
Wired's Jonathan Liu got an advance copy and calls it "a perfect blend of aliens, video game geekiness, and modern social media." Other quotes relevant to my interests include "absolutely loved it — it might not be the best book I read in 2011, but it’s certainly in the top 10."
C'mon, folks, do I have to draw you a picture? Because I can't draw very well. I use words instead.
Sat Jan 07 2012 10:18 Dear Santa: Dinosaurs:
My niece's Christmas stocking project.
Mon Jan 09 2012 06:30 Connected Tragedies:
Sumana noticed this. 1, 2.
Tue Jan 10 2012 08:43 CG Author Commentary #7: "Party Creation":
Ariel's Twitter will be pretty quiet this week because the entire
chapter takes place over the course of one day. Your only solace is farmers market quail sausage, and this COMMENTARY:
In this chapter we meet Bai's girlfriend, Dana Light. Sort
of. Dana is the bane of this minimal-spoiler commentary because it's a
bit of a spoiler even to treat her as an important character instead
of a bit of character development for Bai. But she is important--Bai
was defined in terms of Dana, not the other way around, and I found
Dana interesting enough to make her the star of the first bonus story,
"Dana no Chousen."
Chapter 10 will be a very Dana-heavy chapter. If I hadn't been
writing a novel when I came up with the character, that chapter would
have become a standalone short story. Of course, once I had the
character, Dana quickly became important to the story (spoiler!!) and
after selling the book I moved bits from Chapter 10 backwards into
this chapter so as to introduce her earlier.
More on Dana and Dana/Bai in a few weeks when I commentate chapter
10, but for now you might enjoy going back to chapters 3 and 4 and
re-reading the earlier references to her.
- Bai is pretty ditzy when it comes to women, because that was the
only way I could get him into this relationship without making him
stupid or a Love Plus-style otaku. If I was a better writer I
might have come up with a better solution, but I'm at the level I'm
at. However, there are a couple moments later on when Bai is
surprisingly perceptive about Ariel's love life.
The other introduction in this chapter is Sayable
Spice, probably the game most important to the plot. In the
second draft, Ariel talked about Sayable Spice a whole lot, but
it wasn't until chapter 14 that he mentioned that he was working on a
remake. Now Jenny forces Ariel to commit and puts a stop to that
nonsense right quick. Thanks, Jenny.
- When I got rid of Bruce, the character you'll never see, I gave
most of his scenes to Bai. (Eg. it was originally Bruce playing Knockdown Dragout in chapter 4.) I'm pretty sure the scene in the backyard
here is the only Bruce scene I gave to Jenny. Nobody cares!
- This is also the only chapter in which Bizarro Kate has a speaking part. In the second and third drafts, she hooked up with Bruce at this chapter's cookout, and later in the novel they were living together. Hers was a supporting role to begin with, and when I eliminated her major-character boyfriend, she got
cut down to just a walk-on. But I really like the character, and I gave her a chance to shine (ie. be cranky) in "Found Objects", the Jenny story.
- I think Tennis For Two is the only real-life video game I
mention in the novel. There was no other way to get the joke to work.
- The tattoo joke I had to cut from chapter 19 has landed on Twitter. Relive the saga: 1 2 3 4. I don't think I needed to actually present the translation. Oh well.
- Around this time I planned on changing Ariel's Twitter profile image to the duck from the Crispy Duck Games logo, but it didn't look good, so I think I'm/he's going to stick with the pissed-off pony.
- The only other
thing I want to say about this chapter is you see a little bit more of
how old ET video games just aren't as interesting to other people as
they are to Ariel.
Stay tuned for chapter 8, a chapter I think is one of the best in
the book, the chapter that got me to give up on the first draft and
rewrite the entire book to be more like it. The only chapter in which
Jenny will say, "Wait a minute, are you naked?"
Image credits: I got the first image from Flickr user marsmet462, not sure if they put in enough transformative elbow grease to put their own license on it. Second image comes from Sven-S. "☃" Porst .
<- Last week | Next week ->
(8) Tue Jan 10 2012 11:42 Hostile Witness: The Vechs Interview:
Minecraft can be a tough game. The controls are kind of blocky, the
best resources are hidden deep in the map alongside deadly lava
rivers, and the night hosts monsters that will kill you just as soon
as look at you (or, in one case, just
as soon as you look at them). But it's not that tough. All that
terrain is generated by algorithm. It's not like the random number
generator is trying to kill you.
But there's this guy named Vechs who is trying to kill
you. His "Super
Hostile" series of custom Minecraft maps offer challenges that
prohibit or subvert every survival strategy you learned in vanilla
Minecraft. Even in his easier maps you'll find bottomless pits,
world-spanning ceilings that block Minecraft's all-important sunlight,
swarms of monsters pouring from hacked spawners, and TNT in
unfortunate places. Just getting your first tree is a
challenge. Complete a Super Hostile map, and vanilla Minecraft will
seem easy.
But Vechs' maps are not just tough: they're creative, fun to play, and they
look great. Vechs uses landscape features and lighting to grab the
player's attention, direct the flow and pacing of their playthrough,
and give them a spectacular environment to build in once they've
conquered the map.
I've raved about Super Hostile a couple times
before here on NYCB, but with the release of "Spellbound Caves", the
tenth entry in the series, I knew it was time to get
serious. I sat down with Vechs (I assume he was sitting down, anyway)
and interviewed him over minecraftforum.net's private message
feature. My goal was to pick up where
this interview from July 2011 left off, with in-depth questions about his style and his mapmaking wish-list. The interview contains some Minecraft jargon, but anyone with an interest in game design should get something out of it.
Leonard: You play a kind of character on your maps, an
angry trickster god who hates his players and taunts them by writing
things on signs. But clearly you're not actually like that. I've
played maps made by people who really did hate me, who wanted me to
farm cobblestone for an hour or dig through obsidian without a tool,
and I said "screw this" and quit the map. I don't think you'd ever do
that, right? What's the difference between you and the "Vechs" in your maps?
Vechs: It has to do with challenge. There is a difference
between making the player use skill or ingenuity, and making the player
do something tedious. Sometimes a solution to an area can involve
using lots of blocks (Like the player making a cobblestone tube for
them to safely move through.), but these are usually just one option
of many the player can use to conquer an area.
Sometimes the "Vechs character" in my maps is pretty mean, and just
downright spiteful, especially when it comes to traps. In real life,
I'm not like that at all.
In the Obsidian Block interview you say that you
recently graduated from college and are looking for a career as a game
designer or world designer. What did you study in college?
I am a Media Arts major. I studied everything from
digital image editing, video editing, to stage lighting, to writing
scripts and screenplays for movies, and more. I'm glad to have a
diverse background, even though my passion is still game design.
What would be your ideal job? Would you rather
work on a big-budget project with high production values, or an indie
project where you have more creative control?
My first choice would actually be to have my own
studio and bring to life some of the game ideas I have. One idea I've
had for a while, and as far as I know, nobody has ever made a game
like it. I wouldn't mind making it all myself, but that means I would
have to re-learn a lot of programming. I've programmed some text-based
games in C++, but programming is not my main forte.
That said, I also wouldn't mind working for a major company. Like,
for example, Valve. Love those guys.
What other games have you made maps for? You
mention Duke Nukem 3D in the Obsidian Block interview; what
else?
Just off hand: Red Alert, Warcraft II, Warcraft III,
Neverwinter Nights, Total Annihilation, TA:Spring, Terraria, Command
and Conquer (and several sequels), The Elder Scrolls series, and
obviously I'm the world designer for the RPG games I've worked on,
using the XP and VX engines.
Are you currently making maps for any games
other than Minecraft?
At this moment, no, but I have been meaning to make some maps
for Team Fortress 2.
Have you ever heard of ZZT or Megazeux, or am I just incredibly old?
You're old! *grins* I looked them up, and I think my version of that would be the RPG-series of game engines.
There are a lot of memorable set pieces in the
Super Hostile series. Now that you've put out ten maps, would you mind
taking a look back and sharing some of your favorites?
The first 15 minutes on just about any of my maps. I
love that feeling of just starting off and scrambling for resources. I
like the rail station in "Sea of Flame II", and how it goes out in the
area with the huge pillars, and "Spellbound Caves" is just full of nice
vistas and "scripted" events.
Most of my maps feature at least one "death fortress" as an
end-game area. These are intended to be where the player gets to use
all the resources and items he has been collecting through the whole
map. TNT, lava, swords, bow and arrow, even TNT cannons... bring your
whole arsenal and have some fun!
Can you describe the evolution of your design
philosophy over the course of the series?
Try to improve in at least one area every time I make
a new map. Push the Minecraft engine to its limits. Make an awesome
and memorable experience for the player.
What are the biggest challenges in re-balancing
Super Hostile for Minecraft 1.0?
Armor and blocking.
Does 1.0 have anything to do with the fact that
you recently flattened the difficulty levels in your map descriptions, so that
"Sunburn Islands" and "Legendary" are now both considered "Easy"?
Yes and no. I feel that recently I have been drifting
away from the theme of "Super Hostile" and I want to get back to my
roots. Being able to respawn forever, over and over kind of takes the
risk out of a map. Even in "Legendary", unless you really mess up and drop
all the wool in lava or something, you can just set your bed spawn
near an area, and try over and over until you get it right. I think
that's pretty Easy on the player, even if the area you are attempting
is challenging.
Call me nostalgic, but I kind of miss (sometimes) the GAME OVER
screens from older video games. Modern video games, in the name of
convenience, typically feature unlimited lives, save games,
checkpoints, the works. But beating a modern video game, I have to
admit, is much less satisfying than beating some of those old NES
games. You can just bang your head against the game until you get
lucky and get through an area. Heh, man this makes me feel old! "In my
day, we didn't have all those checkpoints! We had three lives! One hit
deaths! And we were happy!" *shakes cane*
Anyway, I do think this is a legitimate point of concern on modern
game design, is risk versus reward. It is possible to make games so
easy that they are very unsatisfying...
I'm an admirer of your ability to create new
genres of map. Have you made experimental Minecraft maps that just
didn't work? What's in your "abandoned projects" folder?
The only thing I've actually stopped on, is "Race for
Wool #3: Common Ground". Because it basically became "Capture the Wool".
Have you ever made maps for a game that
featured scriptable events? If so, do you miss that capability in
Minecraft?
I have used C++ to code some text-based games. I have
also used various scripting languages in the process of making mods or
making my own games with existing engines. You do have some limited
"scripting" ability in Minecraft, using redstone. Check out the
Rumbling Caverns in my tenth map and you will see what I mean. :)
But yes, I would love some even rudimentary scripting in
Minecraft. I believe a while ago, I proposed invisible effector
blocks, that you can place with Creative or MCedit, that modify the
immediate environment around them. Like, an invisible block that makes
monsters not spawn within 50 blocks. Or one that doubles monster
spawning within 50 blocks. Or one that makes it snow. Or one that
makes a ray of sunlight always be shining on that spot. Or one that
makes the temperature freezing so any water turns to ice. Simple stuff
like that. They would show up faintly in Creative mode, but be
invisible while in survival mode.
What would you like to see added
to Minecraft? On your forum thread you mention that
you'd like to add sharks and underwater plants to "Endless Deep". What
else?
Bow enchantments... more mining enchantments, such as
area mining. Check out episodes 04 and 05 of my
Spellbound Caves Dev Commentary.
For bow enchantments, I would like:
- Piercing (Arrows go through monsters and cause damage in a straight line.)
- Toxic (Arrows cause poison.)
- Fire (Arrows ignite enemies.)
- Knockback (Arrows cause knockback.)
- Phantom Spreadshot (In addition to your one normal arrow, you fire out additional ghost arrows (higher ranks provide more) that act like normal arrows, only you cannot pick them up, and they quickly vanish after hitting the ground.)
- Explosive (Arrows cannot be reclaimed and cause a small explosion, could possibly be combined with the fire enchant, so arrows function like ghast projectiles, causing an explosion and leaving fire.)
- Charge Speed (You charge your bow faster.)
- Unbreaking (Your bow lasts longer.)
I think these enchants for bows would make bow combat much, much
more fun. It's currently fairly slow paced, and a bit boring. Imagine
a bow with Toxic, Piercing, and Phantom Spreadshot on it! It would be
so much fun to shoot groups of enemies with a bow like that.
You have a creative relationship with some of
the people who do Let's Play videos of your maps. It's a kind of
relationship I've never seen before: the way people play your maps in
public affects the way you design later maps. How did these
relationships develop?
Very organically. Zisteau agreed to LP my very first
map, "Sea of Flames" version 1.0, and ever since then, he's been
involved in playing my maps, and giving feedback.
There's a very clever trap in "Spellbound Caves",
[location redacted]. It's clever for many reasons, but I'm
asking about it because it doesn't seem to have any triggering
mechanism. I went in afterwards and took the walls apart and couldn't
figure out how it works. What's the secret? Or is there a pressure plate somewhere
that I missed?
I has a seekret. Oh, also, I hate you, die in a fire.
POSTSCRIPT: With my interviewee uncooperative, I had no choice but to load a fresh version of "Spellbound Caves" into an editor to get to the bottom of the mystery. What I found was a trigger that did not shock me to the core of my being. But it is a cool design.
The trigger is a proximity sensor: a shaft behind a wall, with a creeper spawner at the top of the shaft and a pressure plate at the bottom. When the player gets within 16 blocks of the spawner, it activates and spawns a creeper, which drops onto the pressure plate, triggering the trap. The resulting explosion obliterates both creeper and spawner, leaving no trace of the trigger.
And that's what you get with Vechs' maps: MacGyver-like use of everything the game engine provides, to create confounding and unexpected effects. Seriously, game studios: hire this guy. Everyone else: play his maps.
PPS: Hey, people from minecraftforums.net, thanks for coming over. I've written other articles about Minecraft (1 2 3 4), and if you like my stuff, you might want to check out my novel about alien video games.
(1) Thu Jan 12 2012 09:17:
My sister talks about her miscarriage.
The only thing worth saying is "I'm sorry." I may think those things. John and I may even say those things to each other. But don't impose beliefs or possibilities or happy thoughts on me.
(1) Mon Jan 16 2012 10:50 Findings:
My writing life has settled down a bit so I'm finally going to write about Findings, the social reading startup where I worked last summer. This is more an essay about what I see in Findings than an introduction to the site--you can see lots of general introductions linked to from this Findings blog post, including co-founder Steven Johnson's introduction, and the Business Insider article whose title is the perfect elevator pitch, "Findings is GitHub for Ideas".
If what I'm about to say sounds interesting to you, there are development jobs open at Findings right now. Just as a reminder, I myself don't work at Findings anymore, and even when I did, only the foggyheadedest knave would have taken my personal opinions as representative of company policy.
Let me start out with this quote I took from Darwin's The Descent of Man, not because the quote itself proves anything, but because the quote is an important part of my reading of Darwin:
Brehm gives a curious account of the instinctive dread, which his monkeys exhibited, for snakes; but their curiosity was so great that they could not desist from occasionally satiating their horror in a most human fashion, by lifting up the lid of the box in which the snakes were kept. I was so much surprised at his account, that I took a stuffed and coiled-up snake into the monkey-house at the Zoological Gardens, and the excitement thus caused was one of the most curious spectacles which I ever beheld.
If you want to learn about evolutionary biology, read Steven Jay Gould's essays. Darwin's a good writer and he got it basically right, but he didn't know about genes or DNA. I read Darwin to experience the origins of the field. I didn't expect (though perhaps I should have) to encounter endless artifacts of the days of two-fisted Baconian science.
When Charles Darwin needs to figure something out, he carries out an experiment,
no matter how tedious or disturbing. He takes snakes to the zoo, he puts kittens' feet in his mouth, he floats 94 kinds of plants in seawater, he hacks aphids. If someone has the temerity to question his conclusions he's all "Citation needed? I'll give you citations, motherfucker!"
When you read a book, it has an effect on your mind. You're a slightly different person after reading it. You've created something new: a reading of the book: Here's an apropos quote from Alberto Manguel's A History Of Reading, which I read on paper and typed in. Manguel is talking about Petrarch's Secretum:
What Augustine (in Petrarch's imagining) suggests is a new manner of
reading: neither using the book as a prop for thought, nor trusting it
as one would trust the authority of a sage, but taking from it an
idea, a phrase, an image, linking it to another culled from a distant
text preserved in memory, tying the whole together with reflections of
one's own -- producing, in fact, a new text authored by the reader.
Readings are ephemeral. Life goes on, and the memory fades. Ken Macleod's The Star Fraction had a huge influence on me, probably leading to whatever career I now enjoy as an author of fiction, but I read it ten years and 600 books ago, and now I don't remember a damn thing about it.
That's why we dog-ear pages and highlight passages. We're instantiating our reading of the book so we can go back later and approximate the mental state it gave us without re-reading the whole thing. Even if all we got out of a book was "this bit was funny", it's better to have the funny bit at hand than not. Even if you never go back to the highlighted passage, the act of highlighting replays that passage and deepens your initial memory of it.
Liberate your readings
I've been typing in quotes from the paper books I read, like I did with the Manguel. Of course, with an electronic book, you don't have to do this. The act of highlighting creates an electronic record of your reading of the book. When I was in college I read about the first e-ink research coming out of MIT, and I knew that this was the future. Indeed it was the future, because I had to wait ten years for the technology to make it to market. But, sour grapes, we've got ebook readers now.
Ebook readers have big problems, but at this point the problems are mostly political, not technical. For instance, you can highlight passages when reading a book on your Kindle, but because of a deal between Amazon and the publisher, your book's metadata may include restrictions, which the Kindle will obey, on how much you can highlight. And your highlights and notes—the "new text authored by the reader"—are stuck on a website that Amazon didn't put a lot of work into because they don't consider your reading of a book important to their business.
Findings takes advantage of the fact that Amazon is wrong about this. Findings liberates your highlights and makes them searchable and shareable. Your reading of a book is a big part of your relationship with that book, and Findings gives you access to it.
You can also use Findings to take a reading of a web page, creating a record of what would otherwise be an ephemeral activity. I'm not as interested in this feature, but people are using it quite a bit, and my interest does increase as the length of the web page I'm reading approaches the length of a book.
Browse readings
So that's what Findings can do for you personally. Now let me pitch you the network effects. Take a look at this screenshot which shows the Findings global stream:
You can't see the global stream without logging in, which I think is a shame because I think this is what really sells Findings. We have here a stream of little bits of text, like Twitter used to have on their front page. Except here, every bit of text is a quote that someone liked well enough to save. It's very high-quality stuff. At the top you can also see some recently added books, and by clicking on a book you can see someone's condensed reading of the book.
Basically, Findings gives you browsing access to a large library, not of books, but of readings. It's easy to discover new books, people who read books you like, and—this is new—people who read books in ways you like.
There are a ton more useful things I could mention, but they're mostly behind-the-scenes things where Findings makes things "just work" (like consolidating multiple editions of the same text), or they depend on features that haven't been implemented yet. So I'm going to close by mentioning the social signalling feature.
Strut your stuff
One underappreciated feature of paper books is signaling to other people that you are cool. You read books! Fancy books, like Ulysses! You care enough about books to make space for them in your house. You take them on the subway even though they're heavy. Darwin would say it's like the peacock's tail. But if you have an ebook reader, nobody knows how cool you are. You're just a person with an ebook reader.
By letting you publicize your reading of an ebook, Findings reinstates your ability to send those social signals. The downside is that you have to actually read the book. You can't just put a big book on your coffee table: the thing you're sharing is what you got out of the book. (Well, you can fake it, but it's probably about as much work as reading the book legitimately.)
So that's Findings. I don't use it as much as I thought I would, because I'm still trying to draw down my stack of paper books, but when I read a book on my Kindle, it stays read, thanks to Findings.
I mentioned this before, but the last thing I did at Findings was design a web service for them, which they're hopefully working on now. Once the web service launches, you'll be able to write programs that import readings into Findings from non-Kindle sources.
Do it yourself
One final note: If you have a Kindle, connect it to your computer and look on its filesystem. All your highlights are kept in a structured-text file located at documents/My Clippings.txt. This file includes highlights taken from PDF files and other ebooks not recognized by Amazon, which don't get synced to kindle.amazon.com. Even if you don't use Findings, take control of your highlights by backing up this file.
Image credits: McKay Savage, Romana Klee, and André Fincato.
(1) Tue Jan 17 2012 10:10 CG Author Commentary #8: "They Came For Our Twinkies":
K'chua! Such a useful word. This week, Curic does her part to Keep Austin Weird. Here's the (tiny) Twitter archive from last week.
Some exciting news from the world of commerce: the Constellation Games paperback drops April 17. If you're waiting for the paperback, do yourself a favor and pre-order at the $20 level. Once it's released, the paperback will cost $20 on its own, but if you pre-order, you'll also get a bunch of extras, including three short stories that all pass the Bechdel test.
The seventeenth of April is also the day we serialize chapter 21, "Her". I'm going to keep posting my commentaries once a week along with the serialization, even though a growing number of you will have read the whole book and know how it turns out. Then you'll know how I feel right now!
I'm also thinking of having a celebratory book launch dinner at Hill Country, a famous Austin-area barbecue joint that fortuitiously has a branch in New York City. Let me know if you're interested in attending.
...and we're back from commercial. Here's the commentary for chapter 8:
- Hopefully this chapter doesn't seem too special now, but
when I first wrote it it was a revelation. It was a narrative with a
plot! Curic was an active character and you could see her chemistry
with Ariel as they physically interacted! My writing group indicated
in no uncertain terms that this was the stuff they had been waiting
for.
I wrote a couple more chapters in the old, boring style but it
wasn't long before I gave up and started the second draft, which tried
to make the whole book more like this chapter. To this end I
introduced innovations like the long IM conversations, and
Jenny. Imagine reading up to this point, except Jenny has only been
mentioned once and Curic has only had three lines of dialogue. That
was the first draft.
Because of its importance to the book's history, and also because
it's such a great set piece, I kept coming back to this chapter. Near
the end of the book, I recontextualize it by showing the visit to
Earth from Curic's perspective. And Jenny's remark that the plastic
fractal "looks like Skewer Sue's bracelet" fed, as I hinted a few
weeks ago, into one of the book's most important scenes.
Which almost didn't happen. At this point I'd decided that Jenny
was a big comics nerd and wanted her to reference a kinda bland comic
book character name. My first try was "Titania". Well, the joke was on
me because Titania
is an actual Marvel villain. Sumana says she showed up during Dan Slott's run on
She-Hulk, so that's probably where I got it, but I don't remember
her. Bland, but already taken. Titania was out. Then I came up with
"Skewer Sue", which is not a top-tier name like "Wonder Woman", but is
definitely not bland. Then I decided "why should I deliberately come
up with bland names?" and went with Skewer Sue. Believe me when I
say that if I'd been able to name that character Titania, the
offhand reference would have stayed offhand forever.
...And I can't even tell you all the other things in this chapter
that become important later. Because they're all huge spoilers. But in
one case also because it's quite embarrassing to admit how long I took to realize that I could reuse something. I should have called this chapter "Guns on the Mantelpiece". (Actually, I should have called the second chapter "Guns on the Mantelpiece"; I never liked "Corner Pieces".)
- Jenny's nephew Eduardo does not really show up again, except in the
Twitter feeds and one of the deleted scenes, but if you want to make
your protagonists look good you should show them doing nice things for
kids. Just a little tip I picked up in Sid Meier's screenwriting
class.
Eddie was originally the son of Jenny's brother, James, who never shows up at all. I don't remember why James became Jenny's sister, but when I changed it I de-named the character so as not to use up a "named character" slot in your head.
Actually, rereading this, I notice I didn't give Eddie any
lines. That was kind of sloppy. I'd retcon it by saying he's intensely
shy around Curic, but Curic's account of the day contradicts this! Oh
no.
The star-draw was added in the third draft. There's another
star-draw in chapter 20, but a lot of other stuff is happening in that
scene, and Ariel wasn't actually there for it, so the exposition was
very difficult. Putting a star-draw here takes some of the load off
the chapter 20 scene, and--only later did I realize this was much more
important--shows you a fluid overlay in action. Albeit a two-person
fluid overlay because Jenny and Bai are slackers and Eddie's a little
kid.
- The celebrity voices used for the different ET vocalizers are a tiny import from "Vanilla", in which (among other things) the protagonist was shaken down by an ET who sounded like Garrison Keillor. Now that I write that down, I realize that I've only got one joke about this, because there's a very similar incongruous-voice bit in chapter 21. Maybe I should have declined to import this particular thing from "Vanilla"... it feels like an artifact from a less mature stage of my style.
- The bit where Bai introduces Dana to Curic was added after I sold
the book, at editorial request to get more Dana early in the
story. You'll thank my editor later.
- And I don't know when all of this came together, but I love
Curic's mix of anthropological curiosity, disinclination to tolerate
bullshit, and bizarre opinions on what's bullshit. Her
reactions to Dana, to "Eddie wants to be an astronaut", and to the
revelation that "fuck" is a swear word... she's got all the best
lines. And she does the game reviews! This is the chapter where Curic
came alive for me. Metaphorically.
Stay tuned for the inevitable letdown next Tuesday, when Curic will say, "I did not pee in your sink."
Image credits: (CC) Larry D. Moore and Wikimedia Commons users Solkoll and SeppVei.
<- Last week | Next week ->
(1) Fri Jan 20 2012 17:40 Beautiful Soup 4 Beta 2:
Thanks to some help from Ezio Melotti I've got the Beautiful Soup test suite passing on Python 2.7 and Python 3.2. Here's a tarball containing the original Python 2 module in bs4, plus the same code autoconverted to Python 3.2 in py3k/bs4.
I'm still not sure about the best way to distribute this package, either while it's beta or afterwards. I'll probably end up creating a new project on PyPi, because otherwise people who install programs that easy_install beautifulsoup will crash due to the module's new name. Does that make any sense?
Anyhow, we're almost at the end of this fitfully travelled road. Once I figure out distribution and rewrite the documentation, a) no one should need to use BS3 anymore if they don't want to, and b) it should be possible to get lxml-like performance or html5lib-like flexibility with a Beautiful Soup API, by actually using lxml or html5lib as the underlying parser.
PS: remember, it's now from bs4 import BeautifulSoup.
(1) Sun Jan 22 2012 09:43 Beautiful Soup 4 Benchmark:
This is going to go into the Beautiful Soup 4 documentation, but you might find it interesting. It's my first legitimate benchmark of BS4, and the first benchmark of this stuff I've seen since Ian Bicking's excellent 2008 benchmark.
Ezio Melotti pointed me to a list of the top 10,000 domains worldwide, according to some random source. It looked legit, so I wrote a script to download the homepages of the top 200 domains as served to a desktop web browser. My dataset included many pages written in Chinese, Japanese, Russian, Portuguese, Polish, and German.
For every parser I was interested in, I parsed each homepage and
timed the parse. This gave me 200 numbers for every parser. To
reduce that to a single non-huge number I calculated a mean: how many
kilobytes of real-world HTML the parser could process in a second. I
also noted each parser's success rate: how many of the 200 homepages
it had handled without raising an exception.
Here are the results, ordered by their performance under Python 2.7.
|
|
Python 2.7
|
Python 3.2
|
| Parser |
Speed (KB/s) |
Success rate |
Speed (KB/s) |
Success rate |
| Beautiful Soup 3.2 (SGMLParser) | 211 | 100% | - | - |
| html5lib (BS3 treebuilder) | 253 | 99% | - | - |
| Beautiful Soup 4.0 + lxml | 255 | 100% | 2140 | 96% |
| html5lib (lxml treebuilder) | 270 | 99% | - | - |
| Beautiful Soup 4.0 +
html5lib | 271 | 98% | - | - |
| Beautiful Soup 4.0 + HTMLParser | 299 | 59% | 1705 | 57% |
| html5lib (simpletree treebuilder) | 332 | 100% | - | - |
| HTMLParser | 5194 | 52% | 3918 | 57% |
| lxml | 17925 | 100% | 14258 | 96% |
Note that the "HTMLParser" tests don't actually produce anything. HTMLParser is an event-based parser, so when the HTML is parsed, nothing comes out because I didn't include any handler code. All the other tests build a parse tree in memory.
Another thing to keep in mind about the html5lib results: html5lib is kind of the opposite of BS4. BS4 always builds a tree of Beautiful Soup objects, but you can tell it to generate that tree using html5lib, lxml, or HTMLParser. Whereas html5lib always uses its own parser, but you can tell it to build a tree of lxml objects, a tree of BS3 objects, etc.
The big surprise for me is that on Python 2.7, lxml is the worst choice for a parser to drive BS4. It's a worse choice than html5lib! How did that happen? I have no idea. I was hoping to cash in on the lxml magic (see below), and it's not working. I need to look into this. Notice that html5lib takes a performance hit from using lxml's treebuilder. If the magic's not in the treebuilder and it's not in the parser, where is it?
Unless I can find that magic and exploit it, it remains the case that if you're paying by the minute for computer time, you should use lxml. It's written in C, and on Python 2.7 it builds a parse tree sixty times faster than BS4, three times faster than a pure-Python parser that does absolutely nothing with the data. Even on Python 3, lxml alone is seven times faster than BS4+lxml. I said stuff like this in the BS3 documentation, but I think I need to be more forceful about it in the BS4 docs.
The good news is that Beautiful Soup is 6-8 times faster on Python 3 than it is on Python 2, and even at its slowest, BS4 is noticeably faster than BS3.
The big caveat is that my definition of "success" is pretty minimal. Just because the parser parsed the file without crashing doesn't mean it will give you a useful parse tree.
Another caveat: on Python 3, I couldn't get HTMLParser to take raw bytes as input, so I ran the data through UnicodeDammit first. I counted this time as part of the parse time. This probably explains HTMLParser's slower speed on Python 3 and its higher success rate.
Update: Argh, I found out about this a year ago. The problem is that Unicode, Dammit is incredibly slow in some cases. Here are the results on 2.7 if I take out the prepare_markup methods in the builders for HTMLParser and lxml, and just assume everything's UTF-8:
|
|
Python 2.7
|
Python 3.2
|
| Parser |
Speed (KB/s) |
Success rate |
Speed (KB/s) |
Success rate |
Beautiful Soup 4.0 + lxml | 2287 | 96% | 2600 | 96% |
Beautiful Soup 4.0 + HTMLParser | 2069 | 48% | 1680 | 57% |
That's more like it! The problem is that reliability suffers. Both parsers crash in the 4% of cases where it's not UTF-8 but the encoding is declared in a <meta> tag. And there's an unknown number of cases where the data's not UTF-8 but the conversion doesn't crash, leading to garbled data. But at least now I remember this problem.
Also note that on Python 3.2, getting rid of Unicode, Dammit doesn't matter nearly as much. (It doesn't matter for HTMLParser at all.) Presumably Python 3.2 has better built-in support for encoding autodetection.
Mon Jan 23 2012 11:43 To This Basic Game Hedgehogs Are Added:
I bought a cute game about hedgehogs, Der Igelwettkampf ("The hedgehog contest"), as a Christmas present for my niece. On Der Igelwettkampf's BoardGameGeek page I noticed that it was classified under the game family "Animals: Hedgehogs/Porcupines". I'd thought "Family" was for boring things like grouping together the endless versions of Ticket to Ride, but turns out it's also used to group together all the games about hedgehogs.
The question then arises: what's the best game about hedgehogs? According to BGG it's Igel Ärgern + Tante Tarantel, a double bill in which Tante Tarantel might be doing some of that work because Igel Ärgern on its own is rated a bit lower.
More importantly, what's the worst hedgehog game? Indubitably it's Hedgehog's Revenge, "The GAME where the hedgehog STRIKES BACK!", whose BGG description includes the now-hopefully-immortal saying "To this basic game hedgehogs are added."
At this point I was on a roll... of the dice! I went back to my now-old BGG data dump, sorted the board game families by how many games they contained, and picked out interesting groupings for use in Loaded Dice. We've got Games about animals (most popular: dogs) Game versions of sports (soccer), and Games about countries (the Roman Empire, in a landslide). That page shows the top-rated game and the lowest-rated game, so get ready to load a lot of cover images.
I did a couple other lists, like media tie-ins (champion: Disney) and "families" that are strongly tied to one single game (the 889-strong "Monopoly" family), but I think the three lists I put up are the most interesting.
Bizarre trivia abounds! Did you know that crows are board game gold? The worst game about crows (The Crow and the Pitcher) has a BGG rating of 6.32, which isn't that bad at all. (Longtime fans will remember the median rating is 6.0).
Did you know there are twenty rodeo-themed games? Apparently you didn't, since only one of those games has more than five ratings. How many wargames take place in Switzerland, a country that doesn't fight wars? Only two: Switzerland must be Swallowed and Zürich 1799.
My data is six months old now and it's starting to show some cracks. There are BGG families for Russia and Antarctica which were created after I took my dataset, so they don't show up in the country list even though most of their games are in my data. After getting the Switzerland idea I ran the "What percentage of a country's games are wargames?" test on all countries, but wargames were drastically undercounted. For instance, all but one "Vietnam" game on BGG is a wargame (the exception being Venture Vietnam), but only 35% of those games were classified under a general "Wargames" category.
But, the lists are still a lot of fun and there are some interesting games in there. I'll leave you with the board game equivalent of the dusty World Book Encyclopedia sitting on the shelf at your grandparents' house: Trivial Pursuit - The Year in Review - Questions about 1992, the worst-rated game (3.90) in the 155-strong Trivial Pursuit family. Also available in 1993 flavor!
(6) Tue Jan 24 2012 09:06 CG Author Commentary #9: "Import System":
Last week and this week have some of my favorite Twitter bits (e.g.) because the CDBOEGOACC is finally available in English. Sunday night while working on Loaded Dice I realized that one of the reasons I really like playing around with the BoardGameGeek dataset is it's like a real-life CDBOEGOACC.
The flip side is this chapter doesn't have a lot of plot. But hopefully you're okay
with that because of all the fun mini-stories like the Sea Level game/food. It's supposed to
represent the design phases of a software project, where you're
throwing around a lot of ideas but not much is being produced.
Next week is a set piece, and after that the plot won't let up
until the cliffhanger that ends Part One. Before that happens, I need to get some solid exoludology in to bring in topics that are important later, like Sayable Spice and Ariel's unsuccessful attempts to translate it.
Before beginning the chapter 9 commentary, I want to get something off my chest about the first sighting of the Farang in chapter 1. In that chapter, Ariel compares their antennacles to the oral tentacles of a
"cerebrophage". In the second draft I just out and said "mind
flayer". My writing group said I should change it because readers
might not know what a mind flayer is. ("Did you mean: mind flower?") Taking their advice to heart, I
changed the reference to a made-up reference that nobody will get. Well,
at least we're all in the same boat now!
And here's chapter 9. Vent your egg sacs before reading this commentary:
- This chapter represents the absolute end of the abandoned first
draft. Beyond this point everything is from the second or third draft.
In a questionable move on my part, Ariel gets an Alien computer
before he meets any Alien characters, requiring that I introduce you
to the species with an infodump ("eight-foot monkey-lizards"). Don't
worry, in just a couple weeks, Alien characters will show up and run
off with the whole damn book.
- Speaking of infodumps, I want to do a little infodump of my
own, about the Ip Shkoy. The Ip Shkoy were an ancient civilization of
Aliens, much like the Roman Empire was an ancient civilization of
humans. "Ip Shkoy" is not the native-language name for the
Alien species. I tried to make this abundantly clear, but I've noticed
well-intentioned people calling the Alien species "the Ip Shkoy" or
ascribing to modern Aliens the (frequently pretty awful) opinions of
the Ip Shkoy. Which would be like Curic thinking that Ariel regularly
offers sacrifices to Jupiter Optimus Maximus.
Star Trek has conditioned us to see an ET species as having
a single homogenous culture that never changes, and this sort of
confusion is why they do that on Star Trek. That said, I don't
think this is anyone's fault but my own. If I'd presented modern Alien
society in as much detail as I present the Ip Shkoy, the other
probably wouldn't crowd out the one. It doesn't help that certain
features are shared by both cultures, such as transitive pair bonding (aka polyamory).
- Recapture That Remarkable Taste, the Ip Shkoy remake of
Sayable Spice, is not to be confused with the new William
Gibson anthology, Distrust That Particular Flavor.
Charlene Siph is mentioned again, which gives me a good excuse to
talk about Alien names. The Aliens on the contact mission have all taken human first names, but their surnames are monosyllables which I usually generated by truncating creepy English words ("siphon", "somnolent") to four letters. The impression I want is of someone who's trying to be accommodating but doesn't quite have it down.
This is another detail imported from "Vanilla", one that I'm really
happy with, one that even becomes important to the plot in one
place. And if you like symbolism, check this out: "Ariel Blum" could be an Alien name.
- In the second draft I wrote a whole review of Proty's Big
Escape, but turns out it's a dumb idea to insert one game review
wholesale into another game review. Let me know if you want the
Proty review, and I'll make it the first CG Deleted Scene, even
though it's only five paragraphs long.
Be sure to tune in next Tuesday, when Dana will say, "This application will terminate due to suspected theft or circumvention."
Oh, and you might want to keep an eye on @Tetsuo_Milk.
Image credits: Flickr user krusty, Guillaume Piolle, and Flickr user CoffeeGeek.
<- Last week | Next week ->
Sat Jan 28 2012 09:58 Fruit to Fruit:
Time for another crummy.com Apples to Apples variant (previous editions), this one discovered last week by Pat.
On every green A2A card there's the name of the card, like "Handsome", but there are also three related words, like "attractive", "elegant", "fine". In Fruit to Fruit, you don't read the name of the card. You just read the related words. Sometimes the related words are so similar that you might as well be reading the name of the card, but usually something goes missing (such as the masculinity of "handsome"), leading to funnier red cards being put down. The name of the card is finally revealed during judging.
We had a great time with this and played it in conjunction with the Apples to Placebos variant, even though there were four players. You might think this overkill, but at this point A2A is more a social activity than a game. Anyway, it says right on the box "The game of hilarious comparisons!", so anything that makes the comparisons more hilarious is legit.
While seeing if anyone else had come up with this variant I discovered Apples to Trivial Pursuit, and the improv comedy variant. I also discovered that the game is patented, and that there is an entire patent classification system for "means... by which contests of skill or chance may be engaged in among two or more participants, where the result of such contests can be indicated according to definite rules."
(2) Tue Jan 31 2012 09:18 Constellation Games Author Commentary #10: "K.I.S.S.I.N.G.":
This is Dana Light's big chapter, and I'm having trouble writing
commentary because it's pretty self-contained. A problem is introduced
and Ariel solves it by the application of technology. If I hadn't been
writing a novel when I came up with Dana, this chapter would have
become a short story, maybe part of a sequel to "Mallory". It
would have been about the way evil psychologists use game mechanics
and the ELIZA effect to manipulate users into spending money, and the
way people get real pleasure from spending money on things designed to
manipulate them.
Although evil
psychology does show up in Constellation Games, I didn't
have as much space for it as I'd like. Instead this chapter shows
the first grown-up thing we see Ariel do. In a world in
which sub-human-level AI has suddenly become very common, Ariel
decides to empathize with it.
He doesn't anthropomorphize Dana. Dana doesn't pass the Turing test,
she isn't terribly smart or self-aware, but she's capable of happiness and she doesn't deserve to be
deliberately made unhappy by evil psychologists. This attitude is what
ultimately makes Ariel a hero, not just a POV character. The consequences of his decision to empathize will run through the entire book, and then overflow the book into "Dana no Chousen," and I still don't know when and whether Ariel does the right thing w/r/t Dana. But you gotta have empathy.
Apart from that, I don't have much to say. Here are a few miscellaneous notes:
- As you might expect, a lot of this stuff will come up again in "Dana no Chousen". But the callback you probably won't notice unless I point it out is that Dana loves popcorn.
- I enjoy many bits of this chapter but my favorite is Bai's big moment of lucidity, when he immediately detects and shoots down Ariel's Manic Pixie Dream Girl fantasy. (And you can bet that's gonna come up again.)
- I'm sure that G'go Investigation: When You Gotta Die
makes sense in cultural context. Like, imagine if the first thing
you learned about 21st-century Earth was Mario Kart: Double Dash.
- I really like the design of the chainable memory cylinders on the Simulates Hi-Def False Daylight. In the second draft, "[False Daylight] games were
distributed as a set of ROM chips, snapped onto standardized circuit
boards, and enclosed in a removable plastic case to be plugged into
the computer's game slot." This led to chips popping out, hiding in the carpet and stabbing people in the foot. That's a design in keeping with the generally poor quality of Ip Shkoy consumer goods, but it doesn't fit with the fact that the False Daylight is a clone of the Brain Embryo, so I switched to the much cooler chainable cylinders.
- Originally I transliterated Bai's "bro" as "bra". Everyone hated
this. I changed it to "brah". The hate did not abate. What is wrong
with you people? "Brah" is an accurate transliteration! It's so
accurate.
Tune in next week for action, intrigue, and romance between people at the same level of sentience. It's the only chapter when Ariel will say: "I just have a slight fear of being a tiny speck in the infinite cosmic void." But not the only chapter when he'll think that.
PS: Due to an error on my part, the chapter 9 Twitter feeds ran as part of chapter 8, and chapter 10's Twitter feeds ran last week. This really can't go on, because next week's feeds are tightly integrated with chapter 11. So except for a brief bit of bonus material I just wrote, there will be no Twitter stuff this week. Sorry about that!
Photo credits: Kevin Trotman and Peter Anderson.
<- Last week | Next week ->
(4) Thu Feb 02 2012 11:59 easy_install beautifulsoup4:
This is an HTMLized version of an email I sent to the Beautiful Soup discussion group, about the impending release of Beautiful Soup 4.
Introduction
When Beautiful Soup was first released in 2004, the state of HTML
parsing in Python was appalling. Over the past eight years, things
have improved so dramatically that Beautiful Soup's HTML parser is no
longer a competitive advantage. I don't want to duplicate other
peoples', work, so I'm getting Beautiful Soup out of the parser
businesss. Beautiful Soup's job is now to provide a Pythonic
screen-scraping API on top of a data structure created by a
third-party parser.
This will be Beautiful Soup 4, and I've been planning it for
years. With help from Thomas Kluyver and Ezio Melotti, I've now met
the three main goals of Beautiful Soup 4:
- Make a single codebase that works under Python 2 and Python 3.
- Stop using SGMLParser (removed in Python 3) and make it possible to
swap out one parser for another.
- Support two major Python parsers (lxml and html5lib) as well as
Python's (not currently very good) batteries-included parser,
html.parser.
The first version of BS4 is almost ready for release, and I'd like you
to test it out, if you haven't already. I still to fix some things, in
particular some performance problems. But, note that even with the
performance problems, BS4 is faster than BS3 across the board.
On Python 2 or Python 3 you can install the BS4 beta with this command:
easy_install beautifulsoup4
You can also get the source tarball.
The documentation has been completely rewritten. You may find the section on porting BS3 code to BS4 especially
interesting.
There are three major things I'd like your feedback on before
completing the release.
Hall of Fame
The BS3 documentation lists open-source projects that use Beautiful
Soup. I stopped maintaining this list many years ago because there are
hundreds of these projects, and since most of them are
screen-scrapers, they're pretty ephemeral.
I'd like to bring this feature back as a "hall of fame", featuring
applications of Beautiful Soup that grab a reader's attention. People
who used Beautiful Soup in a high-profile way or to tackle a big
issue. Projects that are interesting to hear about even if the
software doesn't work anymore, or uses an old version of Beautiful
Soup, or if Beautiful Soup was used internally and the public only saw
the results.
My bias is towards projects having to do with space, science,
journalism, politics and social justice. Here are some examples so you
know the kind of thing I'm thinking of:
- "Movable Type", a work of digital art on display in the lobby of the
New York Times building, uses Beautiful Soup to scrape New York Times
feeds.
- Alexander Harrowell uses Beautiful Soup to track the business
activities of an arms merchant.
- The Lawrence Journal-World used Beautiful Soup in 2006 and 2010 to
gather election results.
- The NOAA's Forecast Applications Branch uses Beautiful Soup in
TopoGrabber, a script for downloading "high resolution USGS datasets."
If you did anything of this sort, or know of someone who did, I'd
like to hear about it.
Do you prefer lxml or html5lib?
Right now, the parser ranking goes lxml, html5lib, html.parser. I like
lxml because it's incredibly fast and it can parse anything. But I'd
like to see what you think of the trees it generates. Would html5lib,
with its web-browser-like heuristics, be a better default?
substitute_html_entities
BS3 had a number of overlapping and inconsistent ways of turning
HTML/XML entities into Unicode characters, and possibly turning
Microsoft smart quotes into HTML entities at the same time. In BS4,
all this stuff is gone. HTML and XML entities are *always* converted
into Unicode characters.
This is great but there's one problem: output. If you want to turn
those Unicode characters back into entities when outputting as a
string, you need to call soup.encode(substitute_html_entities=True),
which is a little clunky. I'm thinking of adding an
output_html_entities attribute that you can set on a soup or tag to
control whether this substitution happens. Do you like this idea?
I think I also need to ensure that characters like "&" and "always converted to XML entities on output, even though this will hurt performance a bit.
Conclusion
What you install with easy_install beautifulsoup4 is a beta
release. If I hear of a problem soon, there's still time to fix it,
even if it means a major change to the API. So please try it out and
give me feedback.
Mon Feb 06 2012 17:55:
Earlier I ran some speed/accuracy tests of Beautiful Soup driven by various parsers. Python's built-in HTMLParser scored very poorly, parsing only 52% (Python 2.7.1) or 57% (3.2.2) of my test pages without raising an exception. Well, Ezio Melotti, the maintainer of HTMLParser, has been working for a while on improving HTMLParser's handling of bad HTML. Most of this code is in Python 3.2.2, so I should have been getting the benefit, but it wasn't working for me because of a semi-related bug in HTMLParser, which is fixed in the as-yet-unreleased 3.2.3.
After talking with Ezio today, I was able to monkeypatch BS4 to avoid the bug in 3.2.2. This means on Python 3, BS4 with no external parser installed will give reliability comparable to BS4+lxml (98% versus 99%). It's still about 50% slower, though, parsing about 1300 kb of HTML per second, versus 2100 kb/second for BS4+lxml.
(4) Tue Feb 07 2012 08:48 Constellation Games Author Commentary #11: "Launch Title":
Love those title puns! This blockbuster episode sends Ariel TO THE
MOON and introduces two major new characters, Tetsuo Milk and Ashley
Somn. Also a minor but important character: Linda Blum, Ariel's mom.
Here's last week's Twitter archive, which ran two weeks ago due to my own errors. Twitter service has now resumed, but because this plot arc is so compressed (the rest of Part One crams two weeks of frantic activity into five weeks of real time), most of it is going to come out on Tuesdays and Wednesdays. Don't be afraid, I'll be here the whole time with long-winded commentary:
It's such a relief to be able to talk about Tetsuo! So much
happens in this chapter, he doesn't get a lot of time with Ariel, but
that changes starting next week. Tetsuo is great, I love him a lot, but... he's a scene stealer. Anything I wrote, he would grab and run off in some weird
direction. When the Aliens were choosing human names, Tetsuo is the guy who picked a name because it means "iron man."
Tetsuo reminds me of Londo Mollari from Babylon 5, in that he
starts out a comic relief character (insofar as a comedy can have
designated comic relief) and over time reveals more serious facets of
his personality. But unlike Londo, Tetsuo never stops saying goofy
shit. Tetsuo is the infrafictional author of the subscriber bonus tome "Pey Shkoy Benefits
Humans", which is set about six months after the end of the novel, and
he's still at it.
- Ashley Somn is not a scene-stealer, so her husband kind of
overshadows her for most of the book. But she's an awesome character
on a slow burn. She's got a high-drama character arc that revs up in
the last third, and which I fill in with the bonus story "The
Time Somn Died." (Title is not a spoiler.)
I keep forgetting that Tetsuo is orange and Ashley is green; I
always imagine it the other way around. They're bright neon colors
with darker spots, like tropical frogs. Why? Are Aliens poisonous? I
dunno. Lick one and see!
- The short scene with BEA Agent Krakowski in back of the strip club is the
very last thing I wrote for Constellation Games. Its main
purpose is to dramatize the sub rosa assignment Krakowski gives Ariel,
an assignment which becomes very important in Part Two. But I also
threw in the talking rat, to introduce you to something else that's
very important in Part Two: the idea that Ariel might not be the most
reliable narrator.
I don't know why Krakowski and Fowler were at a strip club in the
middle of the day, but I'm sure it was work-related.
- The part of this chapter that's an excerpt from Ariel's Twitter
feed will not be shown on his
actual Twitter feed, because that would be annoying. But that
section was the main inspiration for the in-character feeds in the
first place.
- Original title for this chapter: "MAN WALKS ON FUCKING MOON."
- One of the big problems with the second draft was that for most of
it, the tone was emotionally distant. It took me a while to
understand the characters. The blog format didn't help, and
I moved further away from it in every draft. Ariel is a guy who shows
vulnerability in huge dramatic bursts and won't open up
otherwise. Etc. etc. Anyway, I worked on this a lot in the third draft, and one of the big changes is that at Andrew Willett's suggestion I modeled Ariel's lunar excursion on this
Narbonic strip.
Ariel's reaction to being launched into space is taken directly
from what I imagine would happen to me. Also possibly taken from my
reaction as a kid to the Disneyland exhibit "Mission to Mars", which
had a similar setup where you saw the ground drop out from underneath
you while feeling absolutely no acceleration.
The sculptures of the figures from the Pioneer plaque (not
"Carl Sagan's gold record", as Ariel mistakenly believes—that's the Voyager record) are another
moment of not-quite-understanding taken from "Vanilla". Ariel's
initial description of the docking bay is the opening parenthesis of a
pretty huge piece of bookending, so watch for that.
One of the imaginary book covers I had in my head while writing was
a design based on the Pioneer plaque, except with (clothed) Ariel and
Jenny.
- Ariel mentions some Eritrean refugees living on Ring City, but
they're only the biggest and most famous group of refugees—the
ones Ariel knows about. Human Ring is also home to smaller groups of
refugees from around the world, and to miscellaneous individuals
living under the radar. The actual population of Human Ring at this
point is closer to 700 than to 500.
The refugees come up a few times later on, but they don't play a
big part in the novel because I don't currently feel I've got the
literary chops to tell their stories. But I knew that not mentioning
refugees would be unrealistic. It would imply that humanity's
governments were able to coordinate to completely lock down the
planet, or that the Constellation was sending away asylum seekers. What we have is a compromise, not one I'm happy with, but I think the best I could do.
I know this is already super long, but I want to introduce a new
segment here on CG Author Commentary, a little recurring bit I like to
call Creative License. Sure, I write silly stories about space
aliens visiting Earth seemingly in violation of the Fermi Paradox, but
that doesn't mean I can just make stuff up. At the same time, I
want Constellation technology to appear very close to the
"indistinguishable from magic" line. Creative License explores that
tension by pointing out things that probably can't exist in real life,
and the made-up reasons I use to justify their existence in the story.
First we have the shuttles the Constellation uses for short hops to
Earth and Luna. I have no idea how they go as fast as they do, but I
have a vague idea how they achieve a smooth ride: they use ports to
maintain an acceleration differential between the inside of the shuttle and
the outside, so the inside accelerates at a gravity-like rate
while the outside powers up towards some horrendous speed. Ports are very important bits of Constellation tech and
need their own segment on Creative License. I'll probably do them
next week, after we see one in action.
But this week we also have the Constellation spacesuits. Inflatable spacesuits are nothing new, but Ariel's suit folds up when not inflated and doesn't seem to have any space for hard parts like air tanks, a fluid recycler, the comm system he plugs his phone into, or a way of dissipating heat. Creative License Solution: as you'll see later, the Constellation does pretty amazing things with origami. I imagine all that fine machinery is packed flat and inflates to the correct shape with the rest of the suit.
What a huge commentary, and this plot arc's just getting started. Be sure to tune in next week, when Ariel will say, "I do not use sex to maintain social cohesion."
Image credits: Andy Bernay, Joe Mabel, Linda Salzman Sagan, unknown.
<- Last week | Next week ->
Wed Feb 08 2012 11:02 Beautiful Soup 4 Beta 4:
Beautiful Soup 4 beta 4 is out! You can install it with easy_install beautifulsoup4 or pip install beautifulsoup4. You can also download the tarball
or check out the Bazaar repository.
Big changes:
- If you're using Python 3.2, the built-in
html.parser is now reliable enough to use on its own. You don't need to install lxml or html5lib just to parse bad HTML (but lxml is still a lot faster). The forthcoming Python 2.7.3 should also work this way.
This is of course a feature of Python, but due to a pretty bad bug in html.parser, I wasn't taking advantage of it. I worked with Ezio Melotti to monkeypatch that bug from within BS, and now we're back in the very good situation of not needing any external dependencies.
new_tag() will follow the rules of whatever tree builder was used to create the original soup. For example, a new <p> tag will look like "<p />" if you're dealing with XML, but it'll look like "<p></p>" if you're dealing with HTML.
- There's now a
new_string() method to go along with new_tag().
- There are two new methods for manipulating the tree:
PageElement.insert_before() and PageElement.insert_after().
- I replaced the
substitute_html_entities argument with the more general formatter argument. You can do all sorts of crazy stuff with this.
- The default formatter converts bare ampersands and angle brackets to XML entities, but doesn't touch HTML entities. I think it's kind of America-centric to convert characters like é to é by default, but I might make the default a "punctuation" formatter that converts things like curly quotes to HTML entities.
Thu Feb 09 2012 17:11 Beautiful Soup 4 Beta 5:
Just going to link to my description message this time. Today I focused on clearing out the bug backlog. It's mostly minor stuff, but I'd like opinions on one change, relating to how a tag is treated if it has multiple CSS classes.
Mon Feb 13 2012 09:13 nanDECK:
I have a little side project creating a print-and-play board game. The game has a lot of cards, but I don't need to design each card individually--I can generate them programatically. Or I could, if I were capable of writing the program.
First I tried ReportLab, the Python library for making PDFs. I'd used it for the sadly-now-defunct Pocket Wisherman, and I thought it would be perfect for putting lots of little squares on a piece of paper.
Not so fast! The Pocket Wisherman puts lots of squares on a piece of paper, but in that program text flows from one square to another. That can't happen on a playing card. The closest I could come with ReportLab was a table, and since I couldn't add spacing between the table cells the way you can in... HTML...
It was easy to get something in HTML that looked right on screen (these cards are pretty simple), but not so easy to get them to look good when printed. So I went back to searching for tools optimized for card design. I delved deep, past many people talking about the best way to manufacture cards for print-and-play-games, and then I found nanDECK by Andrea Nini.
I'm gonna complain a lot about nanDECK so I want to make it really clear that nanDECK solved my problem. In about an hour I went from having two failed Python scripts and no cards, to having cards as nice as my design skils could make them. If I got some design help from someone else I can make the cards nicer still, from within nanDECK.
Now, let the complaining begin! Actually, I'm not even gonna complain. I'll just phrase my complaints as helpful hints. nanDECK is a Windows IDE for a domain-specific markup/programming language. It runs fine in WINE. The prominently-linked manual is actually a reference guide--tutorials and examples are linked further down the homepage.
The interface features so many buttons that the "visual edit" button might get lost in the shuffle (ha), but that button is going to help you so much. You won't have to remember all the arguments to the language directives, and you can lay out elements visually on the card rather than guess at measurements over and over again. In the end I couldn't get the linked-data feature to work (possibly an interaction with WINE), so I figured out the layout for a single card within nanDECK and then wrote a Python program to generate the nanDECK script for my entire deck.
Whew! Kept it positive. If you want to design cards for a game, and you don't want to lay them all out manually (which you shouldn't), I think nanDECK is your best option. Thanks, Andrea Nini!
Tue Feb 14 2012 09:00 Constellation Games Author Commentary #12: "Monsters From Space":
Welcome to another chapter full of laughter and embarrassing faux
pas. This week we learn why Curic scanned Ariel's house, and get our
first glimpses of the ancient, not-particularly-wise Ip Shkoy.
Before the commentary
begins, I want to bring up something serious that I could save for
next week but I don't want to. Dr. Janice Voss died
on February 6 at 55. She was a scientist, a NASA astronaut who
flew on five shuttle missions, and later the science director for the
Kepler Space Telescope. She was a big science fiction fan. I met her
once in 2007, in what was certainly the highest-wattage dinner
I've ever attended (photos), and she made a huge impression on me.
The only major character in Constellation Games you haven't
met yet is an astronaut, Tammy Miram. She's introduced next
week. If I hadn't met Janice Voss, Tammy Miram would not exist, and I
have no idea what the novel would look like from next week on.
I don't mean that Tammy Miram is "based on" Janice Voss, or that
the character is a way to tell Janice's story in a fictional
setting. I only met Janice Voss once and I have no idea what her
story would look like. (Spoiler) Also, Janice was a very well-adjusted
person, and Tammy is not. But a dinner-length conversation
with Janice was enough to move the societal role of "NASA astronaut"
out of my mental category "archetypes useful in science fiction
stories" and into "interesting jobs I can give to my characters."
R.I.P., Janice Voss. Ad astra per aspera.
Here's last week's Twitter feed, as it was meant to be seen (i.e. without a weird UTF-8 encoding issue). And now, this week's
commentary:
- I've never been happy with this chapter title. Any other
suggestions? It's too late to change it, but I'd like to hear what
you think.
- When I first discused cover art with Kate, I was apprehensive that
she would insist on a Big Dumb Object In Space cover. A shot of Ring
City, or the hole in the moon. The sort of cover that presumably
moves books, since every single science fiction paperback has it, but
one that I think would be entirely out of place in a novel about
middle-class people from Austin. Fortunately, Kate, like me, wanted a
cover that implied "video games", and we settled on the handheld
computer (about which more in a couple weeks). But I had an ace up my
sleeve—a Big Dumb Object cover that I would have liked.
This hypothetical cover is the interior of Alien Ring, huge and
breathtaking, the cma forest curling up in the distance along
with the curvature of the ring, and Ariel in the foreground taking a
picture of it on his cameraphone. It didn't happen, but I could have
lived with it.
Actually, "Big Dumb Object In Space" would have been a better chapter title.
- The Alien Ring stuff got seriously moved around. In the second
draft, Tetsuo and Ashley met Ariel in the docking bay, took him to
Alien Ring, they met Curic there, and everyone went to the moon
together. All of this happened in chapter 11, after Ariel's
initial spaceflight. It was way too much for one chapter, so Alien
Ring got pushed to chapters 12 and 13, and expanded greatly.
My Earth-life analogues for the Aliens were always bonobo chimps,
notorious among humans for their use of sex to maintain social
cohesion. But in "Vanilla" it was more in the background. The primary
Alien character, George, was pretty buttoned-down and never had a scene with
another Alien. For Constellation Games I went all-out and made
the Aliens huge sluts. Good decision!
- In case you're curious, the Earth-life analogue for the Farang is the deadly Snowth.
- Curic's name change (which never comes up again) is a fun detail,
the kind of thing I wish more science fiction stories would mention,
but it's also SYMBOLISM. By the end of the book, all the major
characters except Ariel have had two different names or identities. So far we've seen Tetsuo and Ashley taking human names, Bai going by his
surname, and Curic being Curic.
What does it mean? Nothing—it's
free-floating symbolism. Just kidding, I do have an opinion on what
it means, but it'll need to wait for the end of the book.
- This week's "Finux" moment: the Bit Boy series in this novel is a transparent stand-in for the real-world Mega Man series.
- Finally, Creative License returns with an in-depth
discussion of ports, first seen in this chapter connecting the lunar
excavation to the Ring City habitats above.
A port is the two ends of an exotic-matter wormhole with negative mass. Each
end of the wormhole is mounted in a positive-mass case, and you can (let's say)
carry one end down to the moon to shorten the spacetime distance
between the space station and the moon. Ports can be collapsed from
either end by destabilizing the wormhole.
I invented ports in 2006 for "Vanilla" and in that story I did a
lot of work showing what you could do with them. I felt writers had
generally treated wormholes as magic gateways and neglected their
mayhemic possibilities. I mean, just imagine if the two ends of a
wormhole could be moved independently! You could set up all sorts of
wacky gravity and pressure differentials.
Then in 2007 Portal came out. So, I give up. Ports in the
Constellation universe work just like in Portal, with two
differences. First, you can't shoot wormholes out of guns, because a)
it takes an enormous amount of energy to make one, and b) a wormhole
has two sides. In Portal terms, the "blue" portal has no
existence without the "orange" portal. Second, in Portal, gravity always points down. In the Constellation universe, gravity travels through ports. By proper placement of ports you can create localized weightlessness or antigravity effects.
Anyway, the whole thing is moot, because stable wormholes of this
sort almost certainly can't exist—they'd violate causality and allow for time travel.
The whole thing is merely... Creative License.
Tune in next week, when Curic will say, "Infiltration? Cold reading? Propaganda? Torture? Extracting false confessions?"
Image credits: NASA, NASA again, Kabir Bakie, Alain r.
<- Last week | Next week ->
Thu Feb 16 2012 09:16 Beautiful Soup 4 Beta 6, Beautiful Soup 3.2.1:
There are two ongoing serials here at crummy.com: Constellation Games and Beautiful Soup 4. Here's the announcement message for the latest installment in the latter saga.
The big news is a new release of the 3.x series, Beautiful Soup 3.2.1. This fixes a pretty bad problem that can let through cross-site scripting attacks if you use Beautiful Soup to sanitize HTML. If that's you, you should upgrade ASAP.
That was certainly worth fixing, but I don't do much work on Beautiful Soup 3 anymore. I mean, if I fixed every bug in BS3, I'd have... Beautiful Soup 4, which is now almost done. All the bugs are closed out. There's one more big feature I may add, and some minor cleanup I want to do, but mainly I want to make sure people are comfortable with the new API.
Thanks to Stefano Rivera, BS4 is now in Debian unstable and Ubuntu Pangolin, as beautifulsoup4. So the clock is ticking on freezing the API. This would be a great time to try to port your BS3 scripts to BS4, and let me know how difficult it was and what you had to change.
(2) Mon Feb 20 2012 07:32 Where's That Golden Age?:
A couple weeks ago Samuel Arbesman posted an entry to Wired's science blog called "How to search for the golden age of television", an entry that's been driving me crazy since I read it. Not because I disagree with his analysis of the IMDB dataset, but because I don't like his starting point. Arbesman uses "each television show’s running time, in number of episodes, as a very rough proxy for quality". It's true that there's probably a positive correlation, but that metric has a couple problems. First, it severely discounts the present. A show on the air today may have several seasons to run, but we don't know that yet, so it'll look worse than an old show of equivalent quality. Second, the IMDB dataset features a much more direct proxy for quality: user ratings.
I don't think ratings are a great proxy for quality--a look at the highest-rated TV shows will put a stop to that nonsense. And the run length of a show is at least an objective fact. But I think our collective opinion of a TV show today is a better proxy of quality than how long the network was originally willing to keep it going. And if you use ratings, I think you can get closer to answering the question "what would a golden age of television look like?"
My guess is, Arbesman didn't use ratings because it's kind of annoying to get that information out of the IMDB dataset. But I'd already done a lot of work on the dataset for The MST3K-IMDB Effect, so in this post I crunch the numbers my way and see what falls out.
If you're expecting controversy, I can't provide. My findings don't contradict Arbesman's, they just provide a different way of looking at the data.
Step 1: Get the data
(If you're impatient, you can skip to the graphs.)
It all starts with IMDB's plain-text data dumps. I downloaded release-dates.list.gz and ratings.list.gz from the FTP site. I also downloaded distributors.list.gz, but it turned out that data wasn't useful.
Step 2: Identify shows, episodes, and air dates
release-dates.list lists all movies, TV shows, and episodes of TV shows. TV shows are in quotes, and episode names are in curly brackets.
Point Break (1991) USA:12 July 1991
"Star Trek: Voyager" (1995) USA:16 January 1995
"Star Trek: Voyager" (1995) {Caretaker (#1.1)} USA:16 January 1995
Unfortunately, web series look just like TV shows, which is going to mess with the data for recent years:
"The Angry Video Game Nerd" (2006) {A Nightmare on Elm Street (#1.13)} USA:31 October 2006
I tried some tricks to get rid of web series, like only considering shows with a listed television distributor (distributors.list), but there are tons of dinky cable reality shows that have exactly the same data characteristics as web series. So I'm leaving them in. Just know that when I say "TV shows", I'm talking about TV shows + web series.
To make the initial dataset smaller, I used grep to remove everything except the US premieres of TV shows, and of episodes of TV shows. (And web series.) Then I wrote a Python script that turns this information into a picklable data structure.
The script ties a show to all of its known episodes, and parses out each episode's release date along with the premiere date of the show itself. I want to know every year in which an episode of the show premiered in the US. This has some problems--it makes the original "Star Trek" show up as a 1988 show because that's the first time the original pilot was aired--but they're pretty minor.
Step 3: Add the ratings
Now I know when every show started, and in many cases I know every year a show was on the air. In the next step I load in another file and add ratings to shows and episodes.
Ratings are kept in ratings.list. They look like this:
0000001212 11245 7.5 "Star Trek: Voyager" (1995)
0000012111 1558 7.1 "Star Trek: Voyager" (1995) {Caretaker (#1.1)}
There's lots of cool stuff here like a histogram (0000012111 means 10% of people rated the premiere of Voyager a 6, 20% of people a 7, and so on), but what we're after are the IMDB ranks: 7.5 stars and 7.1 stars in this case.
Unfortunately, there's a lot of boring stuff in ratings.list like the top 250 movies. Fortunately, I already wrote code to parse this file during my investigations into the MST3K-IMDB effect.
Step 4: Graphs!
Now I'm going to break out numpy and pychart. Let me start with a calibration run, a graph Arbesman also did. How many shows were on the air in a given year?
Pretty similar to Arbesman's graph. My graph doesn't go down at the end, because I cut the data off at 2011, the last full year of data. I also start later, with the first year for which there were five rated TV shows. I'm picking up some shows he's not, possibly because I'm counting a show in every year it aired, possibly because I'm picking up shows that don't have any episodes listed on IMDB, possibly because he found some way I didn't think of to exclude web series. But it's a similar shape.
Now here's the graph you've been waiting for: mean rating over time:
It's a sad story of precipitous drops in quality: one between 1959 and 1980, one between 1999 and 2005. By this measure, 2005 was the worst year in television history. If you only looked at mean rating over time, you'd say that there was one golden age of television, from 1955 to 1965, and that the 1980-2000 period was a period of stagnation interrupting an otherwise steady decline.
The graph of median rating over time tells much the same story, so I won't transclude it, but you can follow this link to see it.
But, mean rating isn't the whole story. Let me pull out the only statistics trick I know: look at the standard deviation of the ratings over time.
1959, the year with the highest mean rating, is also a year of extreme homogeneity. Less than one star of difference separates the very good shows from the very bad shows. After 1959, the good shows get better, and the bad shows get worse, relative to the mean. In 1980 the standard deviation was 1.37 stars, and in 2011 it was almost two stars. Remember that ratings are not normally distributed, so two stars is quite a lot. (Even one star, as in 1959, ain't nothing.)
Combine this with the skyrocketing number of shows (which begins in the late 90s and goes into overdrive once we start counting web shows) and you can see how that 2000-2005 decline happened. Over 1300 distinct shows aired in 2005. Of course the mean show is going to be crap! The amazing thing is that things have gotten better since 2005, even as we now make over twice as many shows per year. (And web series! Can't forget those!)
Another factor is that people aren't even bothering to rate the bad shows. Here's the percentage of shows that aired in a given year that don't have IMDB ratings because they haven't gotten enough votes. For 2011, this was a majority of shows!
Old shows aren't rated because nobody remembers them. New shows aren't rated because... well, I did a bunch of spot checks, and they fall into three categories. 1) web series, 2) shows that were never aired and maybe never even produced, 3) crap. Only #3 can properly be considered part of "television". The mean rating would certainly be lower if every show had a rating, but I don't know how much lower.
That's where we stand: television is bad, and it's getting worse. That trend may have been reversed recently, or the decline may have been masked by web shows with passionate fans, or things may have gotten so bad that people stopped even bothering to rate the crap. But! Would you exchange the television of today (mean rating: 6.2) for the television of 1973? (mean rating: 7.3). I wouldn't, and I don't think you would either. What's going on?
Well, we don't watch the mean television show. We only watch the good shows. (If you've read this far, I'm gonna go ahead and make that assumption.) And if you look at the good shows, the picture looks very different.
Here's what the shows look like one standard deviation above the mean. This is basically the top 16% of shows:
At the high end, the decline in quality is reversed in the 80s and early 90s. The gains are undone in the late 90s (2005 is still terrible), but then quality shoots back up. This is very similar to Arbesman's graph of show length over time.
What if you're even more selective? Let's graph the value 1.5 standard deviations above the mean for each year. I don't know what percentile this would correspond to, but it's something like the top 5%. This is the very best stuff you can find on TV in a given year:
This graph, I think, is the best answer to "what would a golden age look like"? It would look like the 60s, when there were three channels under tight quality control, and you could turn on the television at any given time and probably find something good. Or it would look like right now, when a huge number of shows are being produced, and it's easy to be a snob and only watch the very best. This is why we don't remember 2005 as being the worst year of TV in the history of the medium, and this is why I'd never trade today's TV for 1973's TV, even though 1973 looks pretty good on that graph.
So, there you have it--another way of looking at the IMDB data. More to come! Next up: a little thing I like to call "Worst Episode Ever".
Tue Feb 21 2012 09:10 Constellation Games Author Commentary #13: "Your Day Job":
The lucky chapter thirteen introduces the novel's last major character, Mission Specialist Dr. Tammy Miram. She gets right to work, kicking off a subplot that won't be wrapped up til the very last chapter. Let's look at a bunch of commentary, most of which is about her. But first, Twitter archive from last week! Okay, here we go:
Tammy Miram is the only character in the novel who was given a
name with an eye towards its symbolism, i.e. I didn't have a name
handy so I thought "what would Charles Dickens do?". "Miram" is the
Arabic name of the star η Persei. "Tammy" doesn't mean anything in
particular, but it was a popular girls' name in the early 1970s. This
is the Social Security Administration technique for character naming,
and I strongly recommend it.
Oh, but I just looked up the name Tammy and it means "twin". Can't escape the symbolism!
- I'm calling her "Tammy" because I mentioned her name last week in
the tribute to Janice Voss, but Ariel calls her Miss Ion Specialist
throughout this chapter and you don't find out her real name until
next week. In the second draft, Ariel called her "Ion" for the
entire book. You didn't find out her real name until chapter 30.
Why did I change it? Mainly because of the continuous shift away from
the blog format. It didn't make sense for Ariel to be using a blog
pseudonym for Tammy in narration. And it would have been too confusing
for Ariel to constantly switch back and forth between "Ion" and
"Tammy". Especially because I've already got another character
for whom Ariel uses different names in narration vs. blog.
In the third draft, Ariel held on to "Ion" until Part Two. Now he
drops the pseudonym almost immediately, when Jenny calls him on it.
- In the second draft the weightless Ariel/Tammy conversation was
too dialogue-heavy and it was unclear where they were physically in
relation to each other. So I introduced Ariel's frantic attempts to
use the kicker and rotating in ways he doesn't want to rotate,
contrasted with Tammy's mastery of the environment. This lessens the
jokey handwaviness of how Ariel's able to negotiate weightlessness at
all.
Tammy's being from Akron is a reference to my favorite Steven Colbert joke, a question from his interview with Congresswoman Stephanie "Tubbs" Jones:
"Twenty-two astronauts are from Ohio. What is it about your state that
makes people want to flee the Earth?" Also a Devo reference.
- Tammy is the star of the unfinished bonus story "A Princess Of
Mars." Not ruling out finishing that story, but
it'd need to be some kind of currently unplanned tie-in. Like if we did a Kickstarter project to produce a hardcover edition to squeeze a few more dollars out of all you fine customers.
- The ISS backlog is a bunch of shelved experiments that couldn't be
brought up because the shuttle program was cancelled back in the
2000s. They were reassembled in a hurry and most of them don't work
anymore.
- During the writing of the third draft, I decided to alt-history
the International Space Station (in real life a product of the Cold
War) into a post-Glavnaya US/Russian Federation joint, the Space
Science Station. This stupid idea lasted so little time I don't have
any records of it. Beta readers were confused for absolutely no gain
except my own personal satisfaction at having made the world more
self-consistent.
The human space station in this alt-history is still a US/Russian
Federation joint, it's just that a) it's called the International
Space Station, and b) that fact has absolutely no effect on the
story. Problem solved!
Hey, Brendan, here's your one reference to the Cryptids in this
whole novel.
- I really should have pushed the Starfarer release date back
a few years. 1987 is a little late for a pure text adventure, and
Tammy would have been in high school in 1987, so there was plenty of
time to push it back.
- In my opinion the gravity kicker is the single biggest piece of
Creative License in the Constellation universe. Not because
it's technically impossible, but because it breaks the worldbuilding.
All I can do is point it out and/or hope you don't notice.
In "Vanilla", and in the second draft of CG, the device was a
"sonic kicker" and it used reflected sound waves. But in
conversation with physicist Nick Murphy I learned that although a
sonic kicker is technically possible, you'd need to use sound waves so
powerful as to kill on impact. Or something like that. Anyway, I
changed the kicker to use gravity waves, but a small handheld gravity
wave generator is a very valuable piece of tech, on par with
the portable wormholes. And here I had this whole novel where ports
were treated as very valuable tech and the sonic
grav kicker was treated more like a Hammacher Schlemmer
gadget. Instead of rewriting big chunks of the novel to deal with this
point, I now invite you to enjoy a heaping spoonful of... Creative
License.
- Ariel's conversation with Tammy about Cody Wicklund is kind of
obscure, the kind of thing you'd expect to pay off later but it
doesn't. Exactly the kind of thing I can write commentary about!
See, it's supposed to pay off when I rewrite "Vanilla". Cody
Wicklund is that story's POV character, and he's a pretty famous
person in the Constellation universe, so I felt like it would be fun
to mention him in the novel. This was a good place because it's
reasonable that Tammy would know him. But I dunno if I'm actually
going to rewrite "Vanilla", so this is Constellation Games's
equivalent of that teaser caption at the end of Buckaroo
Banzai.
Tammy disliking Cody Wicklund is new. In "Vanilla" he was an
unassuming scientist, not someone you'd have a strong enough opinion
about to dislike—vanilla, in other words. I decided he'd be more interesting if he were more amoral, the kind of person Ariel might compare to Werner von
Braun. Will it pan out? Maybe.
That's all I got. Stay tuned for the huge chapter 14, a chapter full of deepening mysteries and used game trade-ins, the chapter where Ashley finally says, "Ariel was distracted by my beautiful ovipositor."
Image credits: NASA, Mark Phillips, Allen Garvin.
<- Last week | Next week ->
Tue Feb 21 2012 19:33:
Remember when this weblog used to be about fun links? I don't either, but I think it was somewhere in there. Well, check this out: last year when I went to PAX my most enjoyable experience was the panel "Videogames Antiques Roadshow." It worked just like you think: people would bring old game stuff up on stage, and distinguished collectors would estimate the value of the old stuff. Here are some pictures from that panel. In fact, you can see me in the second photo, fourth row center.
Kind of got distracted there--the point of this post is not to look at a crowd scene that includes me. I meant to say that they brought the panel back at PAX Prime, and this time there's video. And it's now called "Retrogaming Roadshow", possibly due to trademark issues. In addition to bringing to light cool bits of history like the PCjr edition of M.U.L.E., I love the way these panels illustrate the social construction of value. Highly recommended if you've got an interest in this stuff.
(6) Wed Feb 22 2012 16:39 Worst Episode Ever:
Time for some more IMDB fun. Last time I looked at whole years of television. This time, I'll graph the ratings for individual episodes of TV shows. Can we watch shows get better or worse over time?
We sort of can. The problem is that only a true fan bothers to go to IMDB and rate individual episodes of a TV show. So you can't really trust the episode ratings--they're too high. But we can visualize trends in show quality, as percieved by the fans.
For these visualizations you want long-running series with lots of die-hard fans. So let's start with Star Trek:
(Note the very last data point in that one. That's the series finale, which everyone hates.)
There's a lot of scatter, but you can generally see the common Star Trek pattern of the show getting better as the ensemble cast comes together. Except for the original series, which ended with a lousy season. Now let's look at another nerd favorite, "Buffy the Vampire Slayer":
Beth requested that one. I've seen exactly one episode of Buffy so I wasn't expecting anything in particular. It looks like a show that's consistently good, but wildly inconsistent within the bounds of "consistently good". It doesn't really get better over time. Maybe the Voyager and DS9 graphs look the same to someone who's not a Trek fan.
But compare "Mystery Science Theater 3000", which gets drastically better over time. When I was younger I would have disputed this finding, but now I basically agree with this graph:
I did a lot more graphs, but I'll just show two more. Here's the graph for "The Simpsons", a very long-running show with a very fickle fan base (see title of this post):
Wow! I love this graph! I don't know enough about the history of the show to name the historical trends, but I'm pretty sure a Simpsons fan will be see a big part of their life history reflected in this graph.
I wanted to see if this sort of coherent shape was just an artifact of the fact that "The Simpsons" has been on the air for over 20 years, so I graphed another long-running show notorious for huge variation in quality, "Saturday Night Live":
You can definitely see where things went wrong, but even within a season there's huge variation in quality. The Simpsons is created by the same people every week, where SNL has two wild cards every week: its guest host and musical guest. And since it's sketch-based, three good or three awful minutes can make or break the entire episode.
Next up, the third and possibly final part of this analysis, in which I'll pit fans of a show against the general public.
PS: For the record, according to IMDB data, the actual worst episode ever of "The Simpsons" was #9.11, "All Singing, All Dancing".
Update: People in comments had questions I can't answer because I only know how to do very basic statistics, but they also had questions about how many people rated the episodes, which I can answer. This table shows how many people have rated each series as a whole, as well as the median and mean numbers of ratings for every episode that has any ratings. I also included how many people rated the first episode, how many rated an episode in the middle, and how many rated the last/most recent episode.
| Series | Series ratings | Show ratings (median) | (mean) | (std) | First show | Middle | Most recent |
| "Buffy the Vampire Slayer" (1997) | 34564 | 498 | 553.41 | 224.88 | 862 | 511 | 1091 |
| "Enterprise" (2001) | 8843 | 140 | 189.27 | 242.28 | 2397 | 130 | 152 |
| "Mystery Science Theater 3000" (1988) | 6650 | 57 | 65.54 | 47.41 | 21 | 78 | 131 |
| "Saturday Night Live" (1975) | 10151 | 15 | 19.86 | 15.65 | 112 | 11 | 60 |
| "Star Trek" (1966) | 12695 | 419 | 480.95 | 222.83 | 668 | 389 | 1923 |
| "Star Trek: Deep Space Nine" (1993) | 9779 | 172 | 188.32 | 107.37 | 1501 | 151 | 290 |
| "Star Trek: The Next Generation" (1987) | 16974 | 329 | 375.62 | 354.49 | 2189 | 318 | 4580 |
| "Star Trek: Voyager" (1995) | 11245 | 153 | 169.08 | 110.96 | 1558 | 177 | 348 |
| "The Simpsons" (1989) | 15578 | 319 | 355.07 | 173.09 | 2214 | 309 | 96 |
So SNL actually has very few ratings per episode, while The Simpsons is on par with ST:TNG. It's common for the first episode and the finale to have many more ratings than others. And here's a graph of the number of people who have rated "The Simpsons" over time:

Fri Feb 24 2012 11:17 Beautiful Soup 4 Beta 8:
I didn't even mention beta 7 on NYCB because it was oriented towards getting rid of test failures. Test failures that had a lot to do with what versions of what parsers were installed, but nothing to do with whether or not Beautiful Soup itself was broken.
Beta 8 adds very basic namespace awareness. By "basic" I mean:
- Handle documents that include namespaced tags and attributes without crashing or mangling the document on output.
- If the parser provides namespace information for a tag or attribute, store it for the user's reference instead of discarding it.
That's it. No one responded to my request for namespace-related feature requests, so I'm doing the bare minimum.
(2) Mon Feb 27 2012 12:59 Incorrectly Regarded As Good:
In this third and final part of my IMDB data adventure, I want to switch from graphs to tables, and shed light on the eternal struggle between fans and non-fans. If fans are the ones who care enough to rate individual episodes, non-fans are the ones more likely to rate the show as a whole. I looked at every show that has at least 100 ratings, plus at least 100 rated episodes. I divided the show rating by the mean episode rating to get a "fan appreciation quotient". (I used mean because the show rating itself is a mean, calculated by IMDB.)
Shows with high FA quotients are more beloved by fans than by the general IMDB-using public:
| FA quotient | Show | Show rating | Mean episode rating |
| 1.63 | "Entertainment Tonight" (1981) | 3.7 | 6.0 |
| 1.34 | "Melrose Place" (1992) | 5.7 | 7.6 |
| 1.28 | "Dynasty" (1981) | 5.9 | 7.6 |
| 1.28 | "The Rosie O'Donnell Show" (1996) | 3.6 | 4.6 |
| 1.26 | "Mighty Morphin' Power Rangers" (1993) | 6.0 | 7.5 |
| 1.24 | "Full House" (1987) | 6.0 | 7.4 |
| 1.20 | "Ghost Whisperer" (2005) | 6.4 | 7.7 |
| 1.20 | "Fear Factor" (2001) | 4.9 | 5.9 |
| 1.16 | "Dharma & Greg" (1997) | 6.7 | 7.7 |
Note that since this is a quotient, it has nothing to do with the magnitude of the ratings. "The Rosie O'Donnell Show" got terrible ratings even from the people I'm assuming are fans; it's just that the show as a whole did even worse.
OK, smarty pants, what about a low FA quotient? How can a show appeal more to the mainstream than to its own fans? Well, I think a low FA quotient means that a show seems better in retrospect than it actually was. Or, more positively, it means that a show was more than the sum of its parts. Either way, here are the shows with the lowest FA quotients:
| FA quotient | Show | Show rating | Mean episode rating |
| 0.78 | "Bonanza" (1959) | 7.3 | 5.7 |
| 0.78 | "NYPD Blue" (1993) | 7.7 | 6.0 |
| 0.77 | "In Living Color" (1990) | 7.9 | 6.1 |
| 0.75 | "Teenage Mutant Ninja Turtles" (1987/I) | 8.1 | 6.0 |
| 0.73 | "Gunsmoke" (1955) | 8.0 | 5.8 |
| 0.71 | "What's My Line?" (1950) | 8.9 | 6.3 |
| 0.71 | "Saturday Night Live" (1975) | 8.1 | 5.7 |
| 0.68 | "House of Payne" (2006) | 2.5 | 1.7 |
| 0.62 | "Ellen: The Ellen DeGeneres Show" (2003) | 7.3 | 4.6 |
| 0.60 | "MADtv" (1995) | 6.7 | 4.0 |
Look how much sketch comedy there is on that list! I think I'm on to something. Two of my favorite shows, ST:TNG and MST3K, also have low FA quotients of 0.83 and 0.84 respectively.
And right in the middle we have the shows that are exactly as good (or bad) as you remember them:
| FA quotient | Show | Show rating | Mean episode rating |
| 1.00 | "Becker" (1998) | 7.6 | 7.6 |
| 1.00 | "Cold Case" (2003) | 7.5 | 7.5 |
| 1.00 | "Dancing with the Stars" (2005/I) | 4.8 | 4.8 |
| 1.00 | "Hercules: The Legendary Journeys" (1995) | 6.6 | 6.6 |
| 1.00 | "MacGyver" (1985) | 7.8 | 7.8 |
| 1.00 | "Mission: Impossible" (1966) | 8.1 | 8.1 |
| 1.00 | "Project Runway" (2004) | 6.6 | 6.6 |
| 1.00 | "Rawhide" (1959) | 8.2 | 8.2 |
| 1.00 | "The Practice" (1997) | 7.7 | 7.7 |
Haters
Similar to the struggle between fans and non-fans is that between fans and antifans, a.k.a. haters. Fans of a show will give it a very high rating, and haters will give it a very low rating. We can detect this by looking for shows whose ratings have high standard deviations.
IMDB doesn't make the standard deviation available directly, but it does provide a ten-character ASCII string that represents the distribution of ratings.
Star Trek: The Next Generation has been rated 16,974 times. Its rating distribution string looks like this: "0000000124". The "4" means that the number of ten-out-of-ten votes is somewhere between 40% (6,790) and 49% (8,316) of those 16,974 votes. The "2" means that between 20% and 29% of the votes are nine-out-of-ten, the "1" means that between 10% and 19% of the ratings are eight-out-of-ten. The zeroes mean that the other star ratings account for between 1% and 9% of ratings each. You can see the conversation about TNG is very heavily dominated by the fans.
I reconstructed the original rating distribution very roughly by treating the character "0" as five percent of the total votes, "1" as fifteen percent, and so on, up to "9" meaning 95 percent of the votes. How rough is the reconstruction? Well, for TNG, the reconstructed distribution has 20,363 data points, where the actual distribution (whatever it is) only has 16,974.
When I take the standard deviation of the reconstructed distribution for ST:TNG, I get 2.74 stars. This particular number is not trustworthy because of the assumptions made in reconstructing the distribution. But by making the same assumptions for every show, we can see which shows are the most divisive. Here are the shows with the largest standard deviations, among all shows with more than 1000 ratings:
| Standard deviation | Show | Rating | Votes | Distribution |
|---|
| 3.85 | "Laguna Beach: The Real Orange County" (2004) | 3.7 | 2170 | 3000000003 |
| 3.76 | "Barney & Friends" (1992) | 3.7 | 1255 | 4000000002 |
| 3.76 | "Jon & Kate Plus 8" (2007) | 5.4 | 2716 | 2000000004 |
| 3.76 | "The Hills" (2006) | 3.3 | 5828 | 4000000002 |
| 3.75 | "Shake It Up!" (2010) | 4.8 | 1013 | 2000000003 |
| 3.75 | "Paranormal State" (2007) | 4.5 | 1438 | 3000000002 |
| 3.75 | "Flavor of Love" (2006) | 4.5 | 1254 | 2000000003 |
| 3.75 | "The Simple Life" (2003) | 3.4 | 2956 | 3000000002 |
| 3.75 | "The Jerry Springer Show" (1991) | 3.9 | 1631 | 3000000002 |
| 3.75 | "Jersey Shore" (2009) | 4.5 | 3130 | 3000000002 |
| 3.75 | "Hannah Montana" (2006) | 3.9 | 1927 | 3000000002 |
| 3.75 | "Big Brother" (2000/III) | 4.0 | 1621 | 3000000002 |
That list has a bottom, but it's not interesting--it's the shows about whose quality there is general consensus. All right, here it is:
| Standard deviation | Show | Rating | Votes | Distribution |
| 2.38 | "Mork & Mindy" (1978) | 7.0 | 1746 | 0000012211 |
| 2.38 | "Around the World in 80 Days" (1989/I) | 6.9 | 1446 | 0000012211 |
| 2.38 | "Amazing Stories" (1985) | 7.3 | 1467 | 0000012211 |
| 2.38 | "V" (1984) | 7.2 | 2557 | 0000012211 |
| 2.38 | "Crusade" (1999) | 7.0 | 1133 | 0000012211 |
| 2.34 | "Impact" (2008) | 5.6 | 1633 | 0000111000 |
| 2.31 | "Nuremberg" (2000) | 7.2 | 2754 | 0000012311 |
| 2.22 | "Moby Dick" (1998) | 6.5 | 1967 | 0000112100 |
| 2.15 | "Golden Years" (1991) | 5.0 | 1459 | 0001211000 |
| 2.12 | "Covert One: The Hades Factor" (2006) | 5.7 | 1011 | 0000122000 |
| 2.12 | "The Andromeda Strain" (2008) | 6.1 | 5858 | 0000122100 |
I experimented with a different mapping of the distribution, e.g. saying that "0" meant 2 percent of the votes, "1" meant ten percent, "2" meant 20 percent, and so on. This made the standard deviations into smaller numbers, but it didn't change the ordering of shows very much.
Variability
We can also measure how much a show varies in quality by taking the standard deviation of the ratings given to its episodes. For this I looked at shows which had at least ten episodes that had been rated at least ten times. Here are the results—the "Variability" is the standard deviation of the episode ratings, in IMDB stars.
| Variability | Show | Show rating |
|---|
| 3.32 | "The Tonight Show Starring Johnny Carson" (1962) | 8.3 |
| 2.74 | "The Late Late Show with Craig Ferguson" (2005) | 8.6 |
| 2.62 | "Jimmy Kimmel Live!" (2003) | 6.4 |
| 2.60 | "Beauty and the Geek" (2005) | 5.9 |
| 2.37 | "Late Night with Conan O'Brien" (1993) | 8.5 |
| 2.23 | "Late Show with David Letterman" (1993) | 6.9 |
| 2.04 | "Silk Stalkings" (1991) | 6.1 |
| 1.89 | "The Tonight Show with Jay Leno" (1992) | 5.3 |
| 1.87 | "Superboy" (1988) | 6.3 |
| 1.70 | "Duck Dodgers" (2003) | 8.2 |
| 1.68 | "The Virginian" (1962) | 7.7 |
| 1.68 | "Ellen: The Ellen DeGeneres Show" (2003) | 7.3 |
There's a lot of late-night talk here. If I loosened the restriction on number of ratings per episode, I also got a lot of soap operas (most of whose episodes have no ratings at all).
And here's the bottom of that list: the most consistently good (or, in theory, bad) shows on TV:
| Variability | Show | Show rating |
| 0.20 | "Day Break" (2006) | 8.3 |
| 0.20 | "Lucky Louie" (2006) | 8.1 |
| 0.20 | "Boardwalk Empire" (2010) | 8.9 |
| 0.20 | "Hung" (2009) | 7.5 |
| 0.19 | "Outsourced" (2010) | 7.7 |
| 0.19 | "The Ben Stiller Show" (1992) | 7.3 |
| 0.18 | "Happy Endings" (2011) | 8.1 |
| 0.18 | "Lewis" (2007) | 7.9 |
| 0.08 | "Planet Earth" (2006) | 9.7 |
I looked into the variability of the ratings distribution for individual episodes, hoping to find the most/least controversial TV episodes ever aired, but most of what I found looked like ratings juking. For instance, "Friday Night Lights" and "The Shield" show a hater/fan dynamic on the episode level: some people rating every individual episode very low and others rating
every episode very high.
I think that's enough for now, but I'll come back to the data as I have more ideas, and maybe I'll even learn more than basic statistics for you.
Tue Feb 28 2012 10:04 Constellation Games Author Commentary #14: "The Wave Function Of The Universe":
Damn, the time is flying. Part One ends in three weeks. And today there's a lot of non-commentary stuff I want to talk about, so the commentary itself will be pretty light.
First, I want to tell you that Jeremy Penner implemented Chapter 5's Gatekeeper in HTML5 for the 2012-in-One Glorious Developers Konference Kollection. You can play it online. I wouldn't classify Gatekeeper as fan art, though Jeremy is a fan, because he did it for me as a Kickstarter reward. But either way, it's pretty great!
Second, I want to talk about the process of designing the cover art. You don't have to read the book to "get" the cover—that wouldn't exactly help sales—but the design details are a product of in-world thinking. And at this point you've seen enough of the universe that I can go through that thinking without big spoilers.
The cover is by Chris Sobolowski, who wants me to mention his email address and let y'all know that he's available for graphic design work. So if your contract with Jenny Gallegos fell through due to her being a fictional character, contact Chris, who's a real person.
The process went like this: first, Kate and I laid out a huge number of cover ideas
(some of which I've mentioned in earlier commentaries), and decided we
wanted a cover themed around the ET hardware. At this point Kate got
Chris involved, and Chris came up with a couple sketches that made the
book look like a handheld computer. Here's one of them, next to the cover we ended up using:
I've spent months looking at the finished cover instead of this
first draft, and what strikes me now is how similar they are. But
what struck me at the time was that the computer looks like a piece of military hardware. It's dark and brooding, like one of Batman's
gadgets. I wanted something flashy and colorful, like one of Batman's
gadgets. Or like the Hitchhiker's Guide, to not use the same analogy twice in a row.
But I'm not the artist, and I'm also not a writer who thinks he can do the artist's job. So instead of demanding specific changes I wrote two different in-world histories for this handheld computer, and presented them to Chris.
In one story, the computer was a product of the Dhihe Coastal Coalition, the Farang civilization that produced the Brain Embryo. This explained the military appearance, and it had certain
implications for changes he should make to the design. (E.g. making the buttons much smaller).
In the other story, the one we went with, the computer is an Ip
Shkoy ripoff of a Dhihe design, produced by Perea, the
conglomerate that also put out the game reviewed in this chapter, A Tower of Sand. (The glyphs on the final cover's buttons say "pe" "re" "a".) This has its own implications: the colors are now so bright as to verge on the garish, making the computer look more like a consumer product and making the book look more like a comedy and less like a technothriller.
In this story, the only remaining Farang detail is the Brain Embryo-esque mother-of-pearl finish. Stylistically it's reminiscent of the wood grain on an Atari 2600, but it tells a different story. When you were a kid, electricity was an advanced technology. Then all these space aliens showed up handing out blueprints for handheld computers. You want something that looks as different as possible from the wooden toys you had when you were young.
The cocktail cabinet-like second set of controls at the top comes
from this bit I wrote about the computer's social context:
Why would the notoriously social Ip Shkoy build a
single-user game system? It probably has something to do with
sex. Imagine this portable computer as a product for the swinging
bachelor, full of "sophisticated" adult games to break the ice,
contact management applications to replace one's little black book,
and a vibrator peripheral for when the night's inevitable failure
leaves you alone in your crappy apartment.
This device would need to have some two-person controls, so
that you can play those icebreaker games with your would-be conquest,
but the overall feel would be that this is my computer, but I
might let you use it.
Chris took the Ip Shkoy story and produced something that's very close to the final cover. Here's another side-by-side comparison:
After that, there was a lot of back and forth on trivial details like how much and what kinds of wear should be visible on the computer. Around this time Adam was designing the Pey Shkoy language for Tetsuo's Twitter feed, so I asked him to also design a script for use on the cover. This is also the point where Kate got the idea for a "Berlitz Traveler's Lexicon," which became "Pey Shkoy Benefits Humans."
I haven't mentioned the back cover, but at this point I think I've reached or exceeded the limit on how long this discussion can be without getting dull, so let's move on to chapter 14 commentary. But not before linking to the archive of last week's Twitter fun.
OK, that's plenty for this week. Next week: IT BEGINS. Oh, and Curic says, "Silence, puny human!"
Image credits: Jeremy Penner, Chris Sobolowski, NASA
<- Last week | Next week ->
Tue Feb 28 2012 10:51 Beautiful Soup 4 Beta 9:
The latest beta is the first one I'm calling a release candidate, so if you've been waiting to try it out, now's your chance.
Fri Mar 02 2012 09:12 Beautiful Soup 4 Beta 10:
Hey, two in a row. The "release candidate" thing was a lie; the big change is that I ported and incorporated Simon Willison's soupselect project. So you can now combine the Beautiful Soup API with CSS selectors. Except I just realized that I ported an old version of the code, so I'll be doing another release.
Anyway, here it is in the BS4 docs.
(4) Sat Mar 03 2012 09:59 No Sirens On Titan:
Recently I read a 2001 book by Jeffrey Kluger, Moon Hunters, about unmanned missions to non-planetary Solar System bodies. It was a little out of date but there was a lot of good early stuff, like how every time one of the Ranger missions failed, Khrushchev would use it as a laugh line in a speech. ("The Soviet pennant on the moon has been awaiting an American pennant for a long time. It is starting to become lonesome.")
And the book's its very out-of-dateness reminded me of something I'd forgotten about. The Cassini probe was launched when I was in college (I remember a flyer for an anti-Cassini protest at JPL, the point being that Cassini might explode on the launchpad like a Ranger and contaminate Cape Canaveral with radioactivity), and in Moon Hunters it's on its way to Saturn. But now it's there, like a jump cut!
And (this is the part I'd forgotten) Cassini included a probe, Huygens, whose job it was to land on Titan. That's why it was always called "Cassini-Huygens" on the news. It wasn't just NASA and ESA fighting over the name of the mission. And Huygens was instrumented with a microphone. Wow!
So I went to the Internet looking for the microphone data, and I was not disappointed. By that I mean: I found some sound files. The Planetary Society offers 'sounds from the Huygens "Microphone"', and those quote marks should be a clue as to how this is going to turn out. This semi-technical description of the Acoustic Sensor Unit explains all: the "microphone" is part of a set of instruments that examined Titan's atmosphere during the descent. It's designed to detect a thunderstorm. It takes a sample once every two seconds, and its share of the Huygens bandwidth is a measly 480 bits per second. It's basically taking Polaroid pictures of the ambient sound—not something the human sense of hearing can deal with.
But the Planetary Society gamely processed the data into sound files approximating what you would hear if the microphone was much better. And... it sounds like wind, because Huygens is falling through atmosphere. No thunderstorms. There are files reconstructed from the data recorded while Huygens was sitting on the surface. (Well, it's still sitting on the surface, but from back when the battery worked.) Unfortunately, according to Peter Falkner of ESA, "all the sound we can hear is likely internal to the microphone."
So in terms of the gee-whiz factor, the microphone is a bit of a bust. It doesn't help that Huygens's only visible-light image from Titan's surface looks like a daguerreotype of Mars (see comparison). No wonder I forgot all about Huygens. As an antidote, I recommend Cassini's amazing photos of Titan from orbit, including radar images of the hydrocarbon lakes.
This wasn't the Planetary Society's first venture into astroacoustics. In the 1990s, three Berkley scientists developed "The Mars Microphone", an actual human-ear-like microphone that would work on Mars. Unfortunately it went to Mars with the Mars Polar Lander, which was lost during landing. Another Mars Microphone was supposed to go on the ESA Netlander mission, but that mission was canceled for being too expensive.
The Phoenix lander had a Huygens-like low-resolution microphone as part of its Mars Descent Imager, but (I'm synthesizing contradictory reports here) MARDI was not turned on during descent because it could have screwed up the landing. The MARDI microphone was turned on after landing, but no data was received.
It's a legacy of heroic striving towards almost certain disappointment, but there's another MARDI on the Mars Science Laboratory, so let's check back in August.
Image credits: ESA/NASA/JPL/University of Arizona, Roel van der Hoorn/NASA
Sun Mar 04 2012 14:45:
I just randomly discovered that a friend of mine, Will Thompson, cohosts a radio show about science fiction, and last week he put in a little plug for Constellation Games. Tune in at around 51:00 to hear me finally achieve my goal of having my work compared to Ken Macleod's. Admittedly by someone who hasn't read Constellation Games and doesn't seem very into Ken Macleod. But we don't get to choose how that kind of goal is achieved.
Tue Mar 06 2012 10:09 Constellation Games Author Commentary #15: "777":
A few weeks ago I described the moment when I realized I'd written a
novel that didn't pass the Bechdel test. I went back trying to "fix"
the "problem". Should be easy, right? Five of the eight main characters
are women. Well, I'm counting Curic as a woman because that's how
Ariel thinks of her.
Actually, that's the problem: the whole novel is tight third-person
limited from Ariel's POV. The women definitely have conversations that
don't involve Ariel, but it's all off-camera. To dramatize such a conversation from Ariel's POV, he'd have to be spying on them or something.

Fortunately, there's a cheap fix: pull a Starbuck on male stock characters. I did this twice. In this chapter, I gender-swapped the Senator who
gives Kinki Kwi the runaround. A similar thing will happen next
week. In neither case is Ariel a direct party to the Bechdel-passing
conversation. In this chapter, Curic recounts the conversation to him;
in chapter 16 it's something he overhears on television.
So annoyed was I at the difficulty of a non-cheap fix, I decided to
write all the bonus stories from the POV of the women. This made
passing Bechdel trivial. Jenny talks to Bizarro Kate, Jenny talks to
Curic. Done. You just have to be interested in what women
might talk about.
(Attn. Bechdel nitpickers: if you're calling shenanigans because
Curic never names the Senator, wait for chapter 16, geez.)
I hope you're hanging off a cliff. Here's last week's Twitter archive, and now the miscellaneous commentary:
- This is the one of the longest chapters in the book, because I'm out of time. Anything that needs to happen in Ring City needs to go into this chapter. But the chapters have been getting longer and longer over the course of Part One, so that they're now routinely over 4000 words. The first chapter of Part Two will reset to a shorter length, and then they'll start getting longer again. I didn't plan this, exactly, but I did shuffle scenes from one chapter to another so that they wouldn't get too long or too short.
Before we leave Ring City, I want to mention that the awful motel
atmosphere of Human Ring, especially the apartment layout, comes from
"Vanilla". But in "Vanilla", what we saw of the other habitats wasn't
much different. The ennui Cody Wicklund felt towards his living
environment was just part of his general ennui. Ariel's anger is a lot
more immediate because we've seen how much nicer Alien Ring and
Farang Ring are for their inhabitants.
However, I agree with BEA Agent Krakowski that it's kind of bitchy to spend a
week in space and then complain about the accommodations.
- Curic's response to Ariel's general hopelessness, where she just walks into her hot tub and submerges for two minutes, always cracks me up. Sumana thought the bubbles were from Curic screaming where Ariel wouldn't hear. Could be, but I don't think screaming is Curic's style.
- The chapter title is one of those double-meaning titles they love
to use on TV shows. "777" is a reference to Gliese 777Ad, but it's
also what a slot machine shows when you hit the jackpot.
- Gliese 777A is a real star, part of
a binary system for which two exoplanets are already known. It's 52 light years away, in the direction of Cygnus, which as we'll find out in chapter 24 is the general direction the Constellation is spreading from. The fictional Gliese 777Ad showed up in "Vanilla" (George was an expert on
it), but this is the first real explanation as to what happened there.
In "The Time Somn Died" it's revealed that the Constellation name
for Gliese 777Ad is "Nobody's Home".
- I don't know what species Kinki Kwi is; she's probably Gweilo. In this commentary I originally called her "Kinki Bwi", because that was her name in the second draft. I changed it at some point and I have NO IDEA WHY and I FORGOT I'D EVEN MADE THE CHANGE. Why the heck did I do that? Not enough 'k' sounds in her name?
- In the second draft, Curic swore almost as much as Ariel does, at
least when talking to him. I toned it down a lot in an effort to make
Curic seem more cunning. In particular, I remember "Stick it in the
overhead compartment" used to be "Stick it in the fucking overhead
compartment." You see how the first one is more cunning? Of course, sometimes you want to go the other way. This writer stuff can be tricky.
- I'm kind of embarrassed by the cheapness of the tricks I used to
make BEA Agent Fowler a super repulsive character. The guy
practically kicks puppies. On the other hand, I do like this chapter's
treatment of Krakowski. You can see what I said a few weeks ago behind
spoiler blocks: he and Ariel are basically the same character in
different situations.
- This chapter introduces the rivalry between the two big overlays,
Plan C (end the contact mission) and Save The Humans (keep going). I
feel like I didn't do a enough job explaining this rivalry. You may
not think that now, because Curic spells it out pretty clearly, but in
two months you'll have forgotten all about this chapter and Curic
won't be any help.
I'll talk a little about the Antarctica incident in next week's episode of Creative License. In this week's episode, I'd like to mention that many details of space
program procedure in this book are made up or downright
counterfactual.
I could not find a solid number for a Space Shuttle astronaut's personal allowance. The best I could do was that it was
more than the weight of 18
Montreal-style bagels. I don't know if there's someone currently
doing a three-day stint in an Orion CM simulator so they can eliminate UI errors, but it fits with what I know about the way space programs
test things. I could have done months more research, and it would
still be good to know this stuff, but I wouldn't necessarily use it if
I did find out. I do know how people on the ISS call home, but in Chapter
17 I'll be going with something I made up, because it's too complicated to explain all
the failure modes in 20 words of dialogue. It's a situation that calls for... Creative License.
- Insofar as I had specific source texts for the space stuff, they
were Mary Roach's Packing for Mars, my 2007 conversation with Janice Voss, my hazy memories of Tom Wolfe's The
Right Stuff, and a 2010 HOPE talk called T 40: The Three Greatest
Hacks of Apollo. I also highly recommend Michael Collins'
Carrying The Fire, which has some cool Apollo tech details and backs up a lot of my thinking, but which can't count as a source text because I read it after selling the
book.
That's a reading list heavily weighted towards the Apollo era, but
what Tammy says in this chapter is still true: you can be all the way
at the end of that bell curve of competence and just lose your
opportunity, or die, through no fault of your own.
And on that cheery note we end this week's commentary. Tune in next
week for "False Daylight," the HEART-BEATING CONCLUSION to Part One, in which special guest star Charlene Siph will say, "Pardon my French."
Image credits: U.S. Congress (x2), Tropenmuseum of the Royal Tropical Institute, Wikimedia Commons user Silver_Spoon_Sockpop, NASA.
← Last week | Next week →
Thu Mar 08 2012 13:20 Worst Best Picture:
Last night I dreamed I was teaching a college-level class on the history of film. Despite my total lack of qualifications, the class went well, because I focused more on film metadata than on history or craft. One of the things I did in dream-class was compare different measures of film quality, as I've been doing recently on NYCB with TV shows. In particular, I compared the winner of each year's Best Picture Oscar to IMDB's highest-rated movie of that year.
Well, prepare for a dream come true, because when I woke up I created that comparison in real life, using my old standby, IMDB data. I also brought in Wikipedia data, because it looks like IMDB doesn't publish any machine-readable information about awards or nominations. Wikipedia doesn't either, but you may have heard of a little library called Beautiful Soup.
Without further ado, here's the table. Well, I need a little more ado to explain what the headings mean.
- BPIMDB is the IMDB rating for a given year's Best Picture winner.
- If you sort all of a year's movies by their IMDB rating, then BPrank is the Best Picture winner's rank in the resulting list. So according to IMDB, 1927's winner was actually the 9th best movie of my 1927 dataset. (This isn't all of 1927's movies—see below—but it should be all the big ones.)
- BIRIMDB is the IMDB rating of a given year's highest-rated movie
- BIRnom is ✓ if the highest-rated movie was also nominated for Best Picture, and ✓✓ if the highest-rated movie actually won Best Picture. If it's blank, the highest-rated movie didn't even get a nomination.
- "Alignment" is semi-complicated so I'll explain it after the table.
Ok, "Alignment". Take 1941 as an example. There were ten Best Picture nominees in 1941 (although it was called something different back then). So we take the top ten movies of 1941 by IMDB rating. Six of the Best Picture nominees are also in the top ten by IMDB rating, so the alignment for 1941 is 60%. At the other extreme, none of the five 1983 Best Picture nominees are in the IMDB top five for that year, so the alignment for 1983 is 0%.
For a few years I couldn't calculate BPrank, generally because the IMDB year of the Oscar winner differs from the year it won an Oscar. Early on this happens a lot because until 1933 the Academy Awards covered parts of two years. That's why "All Quiet on the Western Front" got the nod in the 1929 Oscars, and then showed up as the best-rated IMDB film of 1930. The "1929" Oscars weren't just held in 1930, they actually covered some movies released in 1930. But sometimes the dates just don't match up. Casablanca is the top-rated film of 1942 and the winner of the 1943 Oscar. This still happens: The Hurt Locker won Best Picture in 2009 but IMDB says it was released in 2008. In most cases I was able to find the year the film was released, according to IMDB, and put down down its ranking within that year for BPrank.
My dataset excludes TV shows, video games, direct-to-video releases, and shorts. (Excluding shorts required cross-referencing against IMDB's genre.list file.) I also excluded movies with fewer than 150 votes on IMDB. I did what I could to exclude movies that are mainly concert footage, although Freebird... The Movie still made it on there. I did not exclude documentaries or foreign films.
Finally, to fulfil the promise of this post's title. According to IMDB, the worst movie ever to win Best Picture is 1930/1931's winner, "Cimmaron" (IMDB:6.3). But if you look relative to what else came out the same year, the worst Best Picture is "Chicago" (IMDB:7.5), which IMDB data ranks at the 155th-best movie of 2002. However you look at it, the best movie ever to win Best Picture is 1974's The Godfather: Part II (IMDB:9.00).
PS: Why are the Oscar nominees linked and the IMDB champions not linked? Because IMDB DATASET DOESN'T INCLUDE ANY URLS ARGH.
PPS: I did something similar for board games as part of Loaded Dice. I called it the "People's Spiel des Jahres." I didn't put up the table because the results were uninterestingly full of wargames. But wargames generally don't get nominated for Spiel des Jahres, so maybe I should exclude them and try it again.
(7) Tue Mar 13 2012 08:44 Constellation Games Author Commentary #16: "False Daylight":
Here it is, the season finale! We've got the whole contact mission going to shit, plus a game review! Don't worry, everything will turn out fine. Maybe.
Last Friday I went to the Brooklyn Museum to take some pictures for my final Constellation Games commentary. (And if you can somehow turn that into a spoiler, I salute you.) It's a fun museum, like a much less formal version of the Met. While walking through the room of Indian sculpture I passed a curator cleaning one of the sculptures with a Shop Vac and a brush. When I showed a flinch of uncertainty about where the stairwell was, a security guard told me and talked my ear off about what I should see next, then opened up the cabinet containing the emergency fire hose and took out a "What's Happening" brochure, which she used for reference and then gave to me. Also, the neighboring Botanic Garden was free to get in because it's winter and everything's dead.

Friend of the show and beta reader Brendan Adkins has been writing erudite-ass essays about the novel's symbolism, and I'd make fun of him for being pretentious except he's right about most of it. My earlier coyness notwithstanding, I did reuse some of the character of Ariel from The Tempest, the guy with magic powers who gets bossed around all the time. Don't you think The Tempest would be more interesting if it were more about the PEOPLE WITH MAGIC POWERS and less about the Renaissance douchebags? We can only dream. For now, we sup the slender soup of the Twitter archive and this week's commentary:
Something I forgot to mention last week: Conway's Life is the
second real-life game to be mentioned in the novel, after Tennis
For Two. There's just one more, I think. I really tried to only use
real games when the name was necessary for a joke. E.g. in the second draft, Jenny called a game "alien Candyland", but I took that out because the joke wasn't good enough to justify the real-world reference.
- In this week's episode of Creative License we take on the ice sheet removal. After trial balloons like the kites went over like lead (trial) balloons, I wanted Save the Humans to turn to a plausible, but politically insane, freelance climate stabilization project. I read a number of popular sources on geoengineering, including Eli Kintisch's terrifying Hack the Planet, but they all focused on projects within the
capabilities of human technology. So I got introductions to a couple
friends-of-friends who are climate scientists, but they never
responded to my emails, perhaps fearing that I was a crackpot. So I gave up.
As such, I do not recommend using Constellation Games as a textbook in the earth sciences. In the end, I went ahead with my initial idea and slathered it with some... Creative License.
- Don't worry, the ice is being replaced with inert material of equivalent albedo. Or maybe that should worry you.
- This chapter has the second and final Bechdel-passing scene in the novel, the overheard conversation between Charlene Siph and Susan the news anchor. The anchor was originally named John, which is the name of my brother-in-law, so I changed it to the name of my sister.
As you can see here, Charlene Siph's job is to act real folksy for the benefit of people who need to identify the Constellation with a single individual. Maybe a little more on this next week.
- One of the little jokes I put in for myself is that despite everything that happens in the rest of the novel, the ISPs never restore offworld Internet access.
- My original concept was to do the * review in a parody of
the discursive style of Tim Rogers (now of Kotaku). You can still see some of that in the throat-clearing at the beginning, but then Ariel's natural despair takes over and produces something very different. Which is good, because this is a big character moment for Ariel, not random real-world people.
This review is the
clearest picture you'll get of the Ip Shkoy outside of Pey Shkoy
Benefits Humans. Hopefully it shows why Tetsuo is interested in
that society, and why Ariel is sort of clinging to their history as
proof that humanity isn't doomed.
According to Pey Shkoy Benefits Humans there is no "sch"
sound in Pey Shkoy, only "ch" and "sh". Tetsuo must have changed the official transliteration sometime before writing PSBH. So "Schvei" is actually "Chvei". (It can't be "Shvei" because then "Ip Shkoy" would have originally been "Ip Schkoy".)
Unlike "Curic"→"Huric", this was not intentional. I asked Adam about this and he said: "I was afraid you would ask this question, and I am glad that you have already come up with a retcon strategy."
- Af be Hui still doesn't exist as a character, but she's now got a
little backstory and a creative arc. In A Tower of Sand she
explored what it might feel like to be a Farang with a bicameral
mind. In * she applied the same two-players-one-character
mechanic to the conflict between the individual and society. This struggle between partners is one of the major themes of CG. Yeah, Brendan, write an essay about that. I know you already did! Uh, write another one.
- The ethics system in * is probably the most inventive game
mechanic in the novel. I don't know how fun it would be to play,
though. It would depend on your partner, as with board games.
My vote for most fun game in the novel goes to another of Af
be Hui's games, The Long Way Around, which Ariel and Tetsuo
played last week and will talk about in the last scene they have together.
- I don't know how * ends.
With that, I'd like to thank you for following me through
"Hardware", the first part of Constellation Games. After a short season break of seven days, we'll pick up with Part Two, "Software." It all starts next Tuesday, when Ariel will say, "Probably the most expensive penis in history."
Image credits: Wikimedia Commons user Anynobody, Paul Mutant, U.S. Air Force
← Last week | Next week →
Wed Mar 14 2012 12:26 Beautiful Soup 4.0.1:
It's been nearly two weeks since the release of the last BS4 beta, and no one has reported problems with the code. I'm sure there are still problems, but at this point the best way to find them is to do an official release. So, I present the first full release of Beautiful Soup 4, 4.0.1![0]
If you're just tuning in, Beautiful Soup 4 is nearly a complete rewrite that works on Python 2 and Python 3. Instead of a custom-built parser from 2006, Beautiful Soup 4 sits on top of lxml (for speed) or html5lib (for browser-like parsing) or the built-in HTMLParser (for convenience). Methods and attributes are renamed for PEP 8 compliance, and Beautiful Soup 4 incorporates the soupselect project to provide basic CSS selector support. I completely rewrote the documentation, Beautiful Soup's secret weapon since 3.0, for clarity and completeness.
That's the major stuff. Even though most of the code has changed, my goal was not to add a bunch more features, but to make sure Beautiful Soup will still be usable and useful years into the future.
Beautiful Soup 4 is mostly but not entirely backwards compatible with Beautiful Soup 3. Most users should be able to switch from 3 to 4 just by changing an import line. In the Python tradition of sticking a number on the end of your module name when you break backwards compatibility, I've released it as a separate package, beautifulsoup4.
This release also inaugurates the Beautiful Soup Hall of Fame, featuring the uses of Beautiful Soup that I personally find the coolest or highest-profile.
So, try out Beautiful Soup 4 the next time you need to do some screen-scraping. If you've used Beautiful Soup 3, I think you'll be pleasantly surprised. If not, I'll just say I hope you like it.
I've thanked them before, but special thanks are once again due to Thomas Kluyver and Ezio Melotti for helping me get everything working under Python 3.
[0] The first release is called 4.0.1 instead of 4.0.0 because I've been bitten by clever packagers before and I don't want them thinking "4.0.0" is an earlier version than "4.0.0b10".
(5) Mon Mar 19 2012 08:39 The Pitch!:
Hey, folks, Leonard here, telling you that if you haven't bought your copy of Constellation Games, still the greatest novel about video games from outer space, now is probably the single best time to buy.
Sure, you were skeptical at first. Ever since standing in line for that midnight showing of The Phantom Menace, you've been wary of things that seem awesome. You thought, "can this guy bring to comedic science fiction the same epic scope we saw in RESTful Web Services?" But now Part One of the novel has been sent to subscribers, and random commentary readers are calling it "STONE COLD BRILLIANT" and "some of the most fun I've had in years". Even normally reputable publications like Wired's GeekDad have called it a "wild ride" that's "so much fun to read".
Now here's where your late-adopterhood pays off: with the completion of Part One, all subscribers have been given access to a compiled PDF of the novel so far. That's about 50,000 words in a single unencumbered file you can drop onto your ebook reader or your fancy smartphone.
This means you can subscribe to CG for $5, read the first sixteen chapters in one huge gulp, and then start reading the rest of the story as the chapters come out every Tuesday. Or you can subscribe at the $20 level, read the PDF at a more leisurely pace, and finish the whole story when the paperback comes out next month. For $20 you'll also get three bonus stories that take place before/during/after the novel, and an irreverent guide to a pathologically strange alien language.
With all this stuff on the table, you silently think, why not keep waiting? Won't we just offer more in the future? THE ANSWER IS NO. Once the paperback comes out, the bonus stories and language guide stop being pack-ins and become "sold separately"s. The paperback on its own will cost $20. (I don't know exactly how this is going to happen, but that's the gist of it.) So the best deal is to shell out $20 now for early access to Part One and a lot of preorder bonuses. If you hate paper, you can pay $5, catch up on the novel the way you would a web comic, and buy the bonus material later.
Friend, don't let the fact that I seem to think it's a great idea to call you "friend" in a sales pitch, dissuade you from shelling out your hard-earned PayPal balance for this quality entertainment. Here's the subscription page, and here are the first two chapters so you can see what you're getting. The whole thing could be yours for the cost of a really, really enormous gumball, a gumball that won't fit in your mouth so why even bother? This is a much better deal.
(1) Mon Mar 19 2012 13:25 Archive:
On Friday I decoded a BCDIC punch card that my dad used to sign up for classes at UCLA in 1968. It says, "C 6088312496U40" What drove me to this? Well:
Some addenda acquired from readers while I performed that blob of text on identica/Twitter:
- Evan Prodromou and Kragen Sitaker both recommended "An annotated history of some character codes".
- spacehobo asked what those uncooperative IBM customers used the lozenge for. According to Mackenzie they used it to indicate "final totals as contrasted to subtotals" (p67) and to fill up blank spaces on printed checks. (I don't have a page reference for that one.)
- spacehobo also provides some illumination on the Katakana problem: "kana are syllabic, so there's a received grid ordering for the characters that has lanthanide/actinide-style break-out areas"
- Zack Weinberg complained: "All these struggles over what punctuation to include, but nobody suggests cutting back on the number of control characters. Nearly all of which are now useless."
Actually, lots of people wanted MORE control characters. Lowercase letters didn't get into the original ASCII because people wanted to reserve that space for control characters. I think they were imagining that as more types of technology were invented, control characters would have to be added to ASCII for each one. So by now ASCII would be full of modem commands and graphics primitives, but have no lowercase letters.
- Eric Fischer had a lot of helpful comments:
(8) Tue Mar 20 2012 08:59 Constellation Games Author Commentary #17: "Their First Contact Was Better":
This chapter has the best title in the whole book. Just gettin' that out of the way. This week sets up the plot for the next couple months while focusing the action on the emotional core of Part Two: Ariel's relationships with other humans people from Earth.
I really liked the comments from last week's commentary--two people I didn't know were reading said hello, Brendan responded to my evaluation of his reader commentary, and my friend Zack (whose name I stupidly misspelled) disputed my use of Creative License. If you're enjoying these commentaries, please do say hi in the comments.
Look on last week's Twitter archive, ye mighty, and despair. Tetsuo won't be posting for a while because of the Internet blackout. Here's this week's commentary:
- The original name for Part One was "Company", and Part Two was
"Crunch Time". "Hardware" and "Software" aren't as snappy
individually, but this way the names form a coherent mini-story. (The final
part is called "Artwork".)
In part one (I don't like the way that looks when capitalized, so
let's try it not) we focused on two Constellation species, the Farang and the
Aliens. Part two introduces the Gaijin, not through a single
Curic-level character but through bit characters and the human use of
their technology. I'll defer their commentary, since all you've seen at this
point is Tammy mentioning that she talked to He Sees The Map And He Throws The Dart!.
- This chapter has the scene on the ISS I
mentioned back in December 2009, where I fudged the system the
astronauts use to call home. This has been... Creative License.
- Phillip (not Moe!) is another one of those fun one-shot characters
like the hippie in chapter 2. Like many one-shots, I suspect Phillip
is more interesting the less you know about him, so let's move on.
- Check out the "Mallory" reference! ("Mutant's Revenge
cocktail arcade cabinet") In the same scene where Jenny mentions 3D printing! Does this mean Constellation Games
takes place in the same universe as "Mallory"? No, sorry, they just
share a fictional video game. By a supreme act of will I've not
written a big block of nerd analysis about why they can't be the same
universe. (The real reason is that if space aliens showed up in the "Mallory" universe, it would retroactively become ineligible for publication in Futurismic.)
But, speaking of "Mallory", my friend Alexei recently told me about ANGELINA, an AI system that designs video games and then simulates a person playing the games to find the ones that are fun. This means basically everything from "Mallory" now exists in real life, a mostly horrifying prospect.
Smart paper, the arrival of which Ariel is dreading, is another
import from "Vanilla". But in "Vanilla" it was just a generic piece of
near-future tech. Now it's Constellation tech that's effectively being
given to humanity as a bribe. ("But not like flashy desperate
jewelry.") We've seen with the False Daylight that a computer embodies the values of the culture that created it. Smart paper was kind of bland in "Vanilla", effectively a flexible iPad. Now it's a Gaijin computer repurposed by the Constellation for use by humans, which is a lot more fun.
- I hope you don't feel it's a terrible spoiler that I'm talking
about smart paper like it's going to figure in the book at some point,
totally eliminating the possibility that Ariel and Jenny have a huge
conversation about it in this chapter but it never shows up.
- In "Vanilla" the smart paper was called vellum, but that was just
so you'd know to differentiate it from static paper. "Vellum" was
probably a brand name. Now it's just "smart paper", and near the end
of the book, Ariel just calls it a "paper computer", because "smart
paper" is the kind of dumb name you use for a technology when it's
new.
- I think the diner banter between Ariel and Jenny came out really
well. I wanna say the same of the Ariel/Tammy flirting, but an author
praising their own sexy writing is just asking for trouble.
- As the story turns to Ariel's intraspecies relationships, he becomes a less reliable narrator. Here, he puts up a public blog post with part of a conversation, then "real life"s the remainder of the conversation, which is full of stuff he needs to keep secret.
"So what's he editing out of the 'real life' sections?" you may
ask. Well may you ask. Because of the tight POV I can't show you that
within the novel, but you'll see some of it in "Found Objects", the
Jenny story.
- Maybe you were wondering how Dana Light could possibly be a major
character in the novel. Wonder no more!
BTW, if you figured this out earlier, or if you guessed
incorrectly, or even didn't think about it at all, I'd like to hear
about it. It's always tricky putting together a plot twist without
springing it prematurely, and I'm interested in hearing how
readers react, because I really like when I'm reading a book and the author successfully pulls off something like this.
Of course, since you've been reading the commentary you knew that something was going to happen involving Dana. My hope is that up to this point, most readers have thought of Dana as just a commentary on Bai's personality, when she's actually more important than Bai.
And there we go. Be sure to tune in next week, when Ariel's all like, that's right, motherfucker, you're not the only one who can use paper. Oh, and Tetsuo writes a game review!
Image credits: NASA, unknown, Flickr user puuikibeach.
← Last week | Next week →
Tue Mar 20 2012 16:54 DLC Upsell:
Did you buy one of the really cheap Constellation Games packages, and are now regretting your decision? Sorry, no refunds. Oh, you want a package with more stuff? You're in luck! Use the Candlemark & Gleam contact form to ask for an upgrade, and Kate will upgrade your subscription and invoice you for the difference.
Be sure to say which package you want. "Gold" ($12) is the one with the (electronic) phrasebook and bonus stories.
Thu Mar 22 2012 09:20 Schmeckel Needs a Van:
Schmeckel, the Jewish transgender punk band most familiar to NYCB readers, has a Kickstarter project to get a sweet tour van. This lets me combine two great things in one post: crowdfunding and cool doods like Schmeckel frontman Lucian Kahn, who will probably get the Teenage Mutant Ninja Turtles airbrushed onto the tour van.
I'm still going through the Kickstarter firehose every day, but the number of projects I've backed has gone way down since the heady Month of Kickstarter. This one's an auto-back, though. Backing a crowdfunding project is like being pen pals with the Internet, so give it a shot.
(1) Tue Mar 27 2012 09:03 Constellation Games Author Commentary #18: "The Amazing Colossal Man-in-the-Middle":
Be warned! This week's commentary goes deep into the workings of
a scene that was originally a disaster, and the rewrite process that
made it hopefully only a minor disappointment. Fortify yourself with
last week's Twitter archive before proceeding.
We start with Tetsuo's review of Ariel's last game, Pôneis Brilhantes 5, a well-behaved scene which has never needed rewriting and is a common reader choice for favorite scene in the book. Tetsuo uses a kind of
post-scarcity Marxist analysis to reach pretty good conclusions about
the civilization that created the game, but is utterly baffled by the in-game economy, in which you do work for ponies who pay you in gold so you can buy them hats.
- Tetsuo's reference to "the mysterious Curic" is just him teasing
her; he doesn't really find her mysterious. Oh, and the thing I said
in chapter 4's
commentary about Ariel's old company never being named isn't
true--it's here in the metadata for the game review.
- The last paragraph of Tetsuo's review predates the ICP
magnets meme, but sure, I'll take it.
- The chapter title is of course my tribute to one of my favorite B-movies, The Amazing Colossal Man, prefigured here. There was going to be another TACM reference in the book, but I botched it. Starting in chapter 20 there's a minor character, Colonel Mason, who was supposed to be named after Colonel Manning from TACM, except "Mason" isn't actually the same name as "Manning". I decided it didn't matter and stuck with "Mason".
- The "used-to-be-a-paint-store" vibe of the BEA field office was
inspired by surprisingly classy old buildings in downtown
Bakersfield, buildings which always house something super
boring. Later on we actually get a street address for the field
office, and I thought I'd show it to you on a map, but turns out it's
a made-up address. Curse you, previous self! Here's
the neighborhood, though.
- Nice moment of connection between Ariel and the right-wing
gardening lady, who both hate the BEA but who frame it completely
differently.
- I had a chance to put in a semi-Bechdel-passing scene by making
the BEA clerk a woman, but I decided not to do it. Ariel doesn't hear
what they're talking about, but it's probably not a man.
- The third draft features HUGE changes to the scene in the field office, an important scene that originally didn't work at all. Allow me
to walk you through my shame.
First, a little background. In the third draft I removed an
Ariel/Curic scene from chapter 10, in which Ariel was afraid that if
the contact mission ever turned into a "clusterfuck", he'd get shot as
a collaborator for his relationship with Curic. Curic said that Ariel
couldn't even imagine what a clusterfuck would look like in
this context. She was trying to be encouraging.
And here, in chapter 18, there was originally a very small subplot
about Umi, the Farang you saw on TV in chapter 15. It didn't go
anywhere so I moved its exposition (fluid overlays, how do they work)
to the Ariel/Tammy scene in chapter 17. Incidentally: "umi" is Japanese for
"sea", and I had in mind "uni", which is sea urchin. Lazy naming!
So in his initial handwritten note to Curic, Ariel asks her about
Umi, the person who "occasioned this clusterfuck" as he put it. Curic
sends a heavily censored response dissing Umi and revealing that many
people on the ice-transfer overlay don't really care what happens to
Earth's sea level: they're trying to save the ice, which
contains valuable paleoclimate data and ancient pollen that can be
cloned. I took this out because this callous obsession with data collection
is more typical of the Constellation Library than of people who might
join a heavy-lifting overlay. (see "The Time Somn Died" for a similar
situation)
But now the disaster. Like I said, Curic's response was heavily
censored, but it also contained a secret message from Curic to Ariel,
steganographically encoded through the deliberate insertion of
fake censorship markers. Decoding the secret message was supposed
to be a fun little puzzle for the reader, but nobody in my writing
group even saw that there was a puzzle to be solved. They said
"where's the secret message Ariel talks about?"
The simplest way to explain the formatting of the secret message is
to present the Python code I just wrote to re-extract it from the
second draft:
import string
for chunk in plaintext.split(" XXXXXX "):
words = chunk.strip().split()
print string.uppercase[len(words)-1],
If you run that code on Curic's second-draft message it says "STILL
NOT A CLUSTERFUCK". Except actually it says "RTILLNTACLSTRFUCKJ",
which is worse than "BESURETODRINKYOUROVALTINE." Not only is the
message impossible to decode and disappointing once you read it, it
doesn't advance the plot and serves no purpose but to show Curic
caring about Ariel's well-being, her committment to which will be
periodically questioned in the chapters to come.
So this scene was screwed up on every conceivable level including
spelling, and the really important thing--Curic jerking Ariel around
w/r/t the importance of the shipping container--was lost in the
noise. It had to be rewritten. But I still wanted it to feature some
clever evasion of the censorship system.
The breakthrough idea was to make the cleverness Ariel's, not
Curic's. Since Ariel is the narrator, I can show the uncensored
message, use exposition to explain what's going on, and just assert
that Curic (with Tetsuo's help) was able to decode it.
I tackled the rewrite in April 2010, about two years ago, on an
Amtrak train coming back from North Carolina. I put myself in Ariel's
shoes and tried to communicate just one thing--we want Dana to learn Edink--past the censor. Without letting on to the eavesdropper what "Dana" is or what it means to teach her Edink. That's when I came up with the highly redundant
medium of limericks. The poems won't win any Pulitzers, but now the
subterfuge serves the plot.
- Apropos the censorship system itself: a real system of this type
wouldn't rely so much on heavy-handed automation, given the low volume
of traffic and the fact that there's already a human at one end of the
air gap typing in the message. But 1) this is a satire, 2) real-world
government firewalls work not just by denying access, but by degrading
performance and inserting fake connection errors. For Pete's sake,
allow me a little... Creative License.
Tune in next week for the shocking chapter 19, in which Ariel
travels the well-worn road from "unreliable narrator" to "flat-out
liar." The chapter in which BEA Agent Fowler will say the ridiculous
line everyone tried to get me to cut, but I refused! For you, my
readers.
Image credits: Flickr user windygig, Pepe Medina, Danny Cornelissen.
← Last week | Next week →
Sun Apr 01 2012 09:45 Dada Skies:
Over the years, my series of "Dada" projects has brought meaninglessness to formerly meaningful things: board games, Shakespeare, comics. Today, for my April 1 project I present Dada Skies, which randomly rearranges things that were randomly arranged to begin with: the stars as seen from Earth. It's a view I find strangely relaxing.
Dada Skies works like Dada Maps, by transcluding image tiles from a web service into a mosaic. In this case the service is the one provided by the Sloan Digital Sky Survey. There are enhancements I'd like to make to the view, but this is what I've got time for right now, and I want to do my part to keep alive the nascent tradition of releasing cool things on April 1.
Mon Apr 02 2012 10:22 Constellation Games Game Design Promo:
My editor has an extra advance copy of Constellation Games, which she asked me to give away in a gala promotional event! This put me in a pickle: I love giving things away, but I really hate "promotional events". So I came up with something fun: you can win a copy of the paperback (or, if you're already a subscriber, a subscription upgrade), by fleshing out the Constellation Database of Electronic Games of a Certain Complexity.
For those who haven't read Constellation Games: the CDBOEGOACC is an enormous XML document containing metadata for entertainment software from countless alien civilizations, as well as the computers and peripherals necessary to run that software. Like, imagine if Jason Scott worked for the Culture. To give you the idea, here are some CDBOEGOACC quotes from the narrator's Twitter feed:
- "Ruins Deluxe": Two-phase game. Build a fake ancient-civilization city, then sell souvenir crap to tourists who think the site is real.
- "Only for use while in the death-trance. Does not include hardware for invoking the death-trance." They always get you on peripherals!
- Make That Sale Ehmeyur! "Restored to popularity 306 years later when the hapless saleswoman Ehmeyur became a folk hero." #ganbare
- "All editions of this computer were destroyed and it is known only from wall carvings and one set of programming notes."
- #cdboegoacc will cheer me up. "During each play session, the player avenges the destruction caused by their previous session." #maybenot
Every CDBOEGOACC entry is a tiny science-fiction story about an alien culture and someone who responded to their culture by making a game. If you like this idea, you are the target audience for Constellation Games and you should enter this contest to win a copy. The CDBOEGOACC is the part of the book that was the most fun to write, and I can't think of a better gala promotional event than asking you to come up with these mini-stories.
You can write something tweet-sized like the quotes above, or you can flesh out an idea a bit more and put it on your weblog, or whatever. It doesn't matter to me, so long as you somehow make sure I know about it. Only entries I know about will be judged. Surefire ways to make sure I know about it: send me email, post a link in the comments below, or use the unwieldy hashtag #cdboegoacc on Twitter or Identica.
The contest ends when I wake up in the morning on April 10, one week from tomorrow, and pick my favorite CDBOEGOACC entry. We'll mail the winner their advance copy right away, which means you'll get the book a few days before its official release on April 17. (As a bonus, this uncorrected proof contains a huge continuity error in chapter 35, which you can find and then feel superior to me.) I'll also pick a random winner, who will get a free base subscription to the serial, plus a collected ebook once the serialization is done.
Since the goal is to make cool things, you can enter more than once to improve your chance of getting the paperback, but the random drawing is one entry per person. I will judge entries on the twin criteria of "sensawunda" and "comedy", the binary star by which I steer my novelist's ship. Have fun!
(6) Tue Apr 03 2012 09:07 Constellation Games Author Commentary #19, "Implementation Details":
We're more than halfway through the book! Traditionally, it's around this time that an author starts to have doubts about having signed on for this huge project. It's happened on all three of my books and it's happening again with this commentary. I have a great time writing this stuff every week, and I hope you're enjoying it, but it does take a lot of time. Time which might be better spent working on my second novel, "A Fire Upon the Derp".
Uh, anyway, last week's Twitter archive. Don't forget about the game design contest, which ends next week. This week we meet Dana Light 2.0, and the totally different human person who's not Dana, Svetlana Sveta.
- Speaking of stupid meme-puns, alternate title for this chapter: "The Pie Is A Fake".
- CG is getting LibraryThing
reviews from people who got advance copies (average rating: 3.88 stars!), and one reviewer mentioned that "[t]he story, told in a combination of first-person narration, blog posts, e-mails, and text messages, gets complicated."
I do not comment on reviews because I've seen what happens when authors comment on reviews, but I want to use that quote as lead-in to say that I think this chapter is where it really starts getting complicated. As of this week, the narrative has split into two different universes: one in which Bai's girlfriend is a Constellation AI modeled after a human AI modeled after a video game heroine, and one in which he's dumped the AI for a Russian mail-order bride. The narrator is now lying to you.
- In the second draft, "Svetlana Sveta" did not exist. Ariel talked
freely about "Dana" doing this and that, unprotected even by friends
lock. This was incredibly dumb, and in the third draft, Dana 2.0 tells Ariel this is dumb and to knock it off before he gets
everyone into trouble.
I couldn't just "real life" everything, because Dana shows up in some of the game reviews, and I didn't want to "real life" everything because one of the things I wanted to strengthen in the third draft was Ariel stressing out about lying to everyone. So I started here: I moved all the details of the Dana pickup into a "real
life" section, and created two contradictory summaries for Ariel's blog, one of which introduces Dana's alternate identity.
- I've mentioned before that almost every character in the book has
two names or identities. I didn't plan this, but it worked out that
way and I like it, so I'm beating that drum.
But what about the BEA agents? Recall from the chapter 5 commentary
that in the second draft, Ariel referred to the BEA agents with
ridiculous cop-show aliases. You never learned their real
names. Perfect symbolism! But then Cheryl pointed out in writing group
that if "Krakowski" is just an alias Ariel uses in his blog, I can't
use the "Crack-housey" joke in this chapter. So I made "Krakowski" his
real name. And that one stupid joke is why Krakowski and Fowler have only one identity each. That's what happens when you don't plan out your symbolism ahead of time.
- Svet is Russian for "light", so in a fit of pique Ariel
has named this fake person "Lighty McLight".
There's a reference later on to Svetlana being extremely tall. In
the third draft Ariel "established" this in this chapter along with
her silly name. I cut that detail in the final draft, but but decided to keep the later
reference, because why not.
- For the record, the ridiculous Fowler line I mentioned last week, which everyone wanted me to cut, was "Don't tempt this planet with your pie!"
- I almost missed this while rereading: Ariel drops into the present tense in the "real life" section. "I couldn't [tell Farang apart]. I still can't." It's not a big deal, but it reminds that Ariel is the author of the "real life" sections as much as he is the blog posts.
- In "real video game" news: Bai makes an Altered Beast
reference, but since it's not mentioned by name I don't count
it. Sonic & Cipher is a fake Sonic the Hedgehog game, but
of course Sonic is real. I mean he's a real-world fictional character. Sorry, kids!
In various earlier drafts, the game Ariel imagined playing in the
refugee camp was Cipher & Sonic (because in this universe
Sonic was a minor character in Sega's Cipher the Whatever series) and
Blizzard & Chaos (because Sonic didn't exist in this
universe and instead we had Blizzard Lizard, who can still be seen in
chapter 13). The work I put into these things; you have no idea.
The Dana pickup scene was the only one that had Bai and Bruce in the same room, and the only one that really suffered when I got rid of Bruce. You may remember me mentioning a joke about Bruce's Simple Affect Metadata Exchange tattoo, which I moved to Twitter. (setup, punchline) That's fine, but I did have to cut a couple sub-jokes from this chapter once Dana (not Curic) told Bruce what the tattoo said. The best one:
"This is why you don't get random tats!" said Bai. "Didn't Omicron
Beta Digamma show you the informational video?"
"Big talk from a guy with Chinese characters tattooed on his
wrist," said Bruce.
"Yeah!" said Bai, flashing his wrist. "It's my mother's name! You
know how I know? 'Cause I can read! fucking! Chinese, Bruce!"
- I only named the fraternity because I thought it
would be funny to use an obsolete Greek letter in its name. ΟΒϜ is
probably also the frat Ariel got kicked out of (as recounted in chapter 2). Later on we'll see that Ariel met Bai right when he started college, so I imagine they became friends when they were both in ΟΒϜ.
- The scene with the Massmonger 31, like last week's
Brilhantes review, is mostly to give you some fun gaming stuff
in a plot-heavy chapter. After the novel got taken over by computers
like the Brain Embryo and the False Daylight, I wanted to have just
one scene where Ariel tries to use a computer that's completely
incompatible with his physiology. The plot wouldn't allow for a lot of
them, but I did get this one.
The experience of writing this novel has given me some sympathy for
stories where the aliens are not much different from humans. It's not
that hard to come up with this stuff; it is hard to use it in a
story that human readers can identify with.
That's the week! Stay tuned for next week's special tabletop gaming episode, when Ariel will say, "I think we should just nuke each other once and get it out of our systems."
Image credits: Wikimedia user Ecelan, Joshua Kaufman, Flickr user ePi.Longo.
← Last week | Next week →
Wed Apr 04 2012 14:27 TUNS:
For a while I've been gathering cool space-themed pictures to
illustrate the Constellation Games commentary, but there's way
more and they're way more varied than I need. Rather than abandoning
this embarrassment of visual riches, I recently started posting a
couple pictures a day to my microblog using the hashtag #retrorocket,
so named because I mostly focus on cool-looking old tech and people
working with or building it.
At the risk of revealing all my secrets, I'm getting the
#retrorocket pictures by harvesting the Internet Archive's NASA Images site, one year at a
time. I've combed through 1969-1988, and my technique will break down
around 1994, when there start to be thousands of pictures for each
year (even 1969 wasn't that bad). But 1994 is not all that retro,
really, is it? Yeah, it's kinda retro.
Despite the name, NASA Images has a lot of non-images: mainly
movies and technical documents. Recently one tech document caught my
eye: Technology
Utilization Network System, a 1987 document laying out NASA's
recommendations for off-the-shelf PC hardware and software.
This
document pulls no punches, naming brand names, presenting huge benchmark tables, and spelling out just
what it takes to outfit an effective mid-80s networked office on
the taxpayer's dime. This is a time before Windows, in an office
environment without Unix. Let's take a look at this document and see
which products have the Right Stuff, and which
fizzle on the launch pad. (n.b. Entertainment Weekly didn't
want this for some reason, and I'm too lazy to change the segue.)
We'll start with the basic PC recommendation. "The recommended
workstation for TUNS is the Compaq DeskPro 286 with a 40 Mb hard
disk." Each should be equipped with an EGA card and a color
monitor. "The estimated GSA cost... is $4,087." (About $7700 in 2010
dollars.)
The use as a workstation of one of the newer 386 machines (based on
the Intel 80386 CPU chip) is not currently recommended. The power
provided by the 386 system is more than that required of the
workstation.
Unlike a lot of offices in 1987, NASA understands the importance of
networking. That's why each workstation is fitted with a 3Com
Etherlink card ($451) and connected to a local file server running Novell
Advanced Netware/286. Netware wins out over now-obscure competitors
like 3Com's 3+ Share, Banyon VINES/286, Fox 10-net, and Lee Data's
LANMASTER. The Internet stack is not even considered: I'm sure NASA's
scientific installations are on the Internet by now, but
it's not really an option for IBM PCs, and the term "intranet"
doesn't exist.
The Compaq 286 used for workstations can also act as the file
server on a small LAN. But for a larger LAN, you do need to buy that
386, and for the really big installations, it's got to be "a Novell
T286B with a 183 Mb of hard drive space". And remember to buy
name-brand:
Although many vendors claim to sell "AT clones," ISN has occasionally
found very subtle differences in the performance of these "clones,"
which may result in problems during system integration.
For connecting to external sites and databases, each workstation
is outfitted with a Hayes Smartmodem 2400 at $579.
ISN does not recommend installation of 9600 baud modems at this
point. The lack of standard protocols, error-correction methods and
data compression techniques for 9600 baud communications means that
two modems from different vendors will rarely communicate with each
other at 9600 baud.
Printer time! TUNS spells out recommendations for cheapo dot-matrix
printers (the Epson FX-286e, $527), letter-quality daisywheel
printers (the Diablo D80IF, $1523), and laser printers for impressing
the boss (the HP Laserjet Series II, $1795). Note that the most expensive printer is half the price of the workstation PC.
Two printers, the Brother Twinwriter 5 and the Fortis
DH-45, include both dot-matrix and daisy-wheel print mechanisms. The
two companies are actually marketing the same printer under different
labels. Although this printer was initially viewed as an exciting
combination of functionality at a reasonable price, it was excluded
from further consideration after the Twinwriter 5 vendor reported
extremely poor reliability and great customer dissatisfaction.
What about software? For the most part, TUNS recommends
off-the-shelf 80s office software, Lotus 1-2-3 (GSA cost: $305) and
WordPerfect 4.2 ($173):
Although the evaluation scores for WordPerfect and Microsoft Word
show only a two point difference, the evaluation team highly
recommends WordPerfect because the evaluation team found it much
easier to use WordPerfect's ACSII-to-document transfer features.
But they choose Unify, a database I've never heard of, over 80s
heavyweights like dBase and Clipper. Why? Because Unity just has more
stuff, like a C library.
Oracle was eliminated as a possibility because a LAN version of the
software, although in development for some time, is still not
available.
Each 286 workstation is loaded with about $100 worth of
utilities: Popular ones like Sidekick and Norton Utilities, as well as some more obscure ones: "Sideways to aid in the
printing of large spreadsheets; ScreenSave to protect the life of the
monitors; KeyBuffer to allow the user to enter characters from the
keyboard at a faster rate than acceptable under DOS; and FilePath to
aid in the use of multiple directories and sub-directories."
But the best part of the whole document is the section on email. The document identifies
a large number of requirements for an email system, such as:
The sender must be able to identify a single recipient,
multiple recipients, and a "group" mailcode consisting of multiple
mail identification codes but addressed as one unit.
And then presents a
huge table comparing the competitors (again, Internet email is not
even on the radar). And then decides to just keep using "the NASAMAIL
system currently available throughout NASA." NASAMAIL was actually
an installation of Sprint Telemail, which you can read a little more
about in RFC 1168,
including a mention of a Telemail-Internet mail gateway at NASA Ames.
It's a little odd that hardware of this description almost never shows up in the NASA Images archive! (I did see one mid-80s IBM PC sitting on someone's desk, but when I went back to look for it as an illustration I couldn't find it.) I think these recommendations were mostly for clerical workers and managers, and that the engineers and scientists (who show up quite a bit in the archive) used minicomputers, Unix workstations, and mainframes into the 90s.
I'm probably not gonna go through any more of these documents in any detail, but here are two others I found really interesting: the public
affairs plan for STS-1, the first Space Shuttle flight, and the original press kit for Apollo 13.
Tue Apr 10 2012 09:18 Constellation Games Author Commentary #20, "Feature Creep":
This week: Dana earns her paycheck, we learn the shocking (if you're a
Farang) secret of Sayable Spice, and Ariel stresses out and
gets a little stalkery.
I'm not sure who put a bunch of tags on CG's LibraryThing page, but they're pretty great. (and full of spoilers) Apparently CG is a bildungsroman about cosplay, douchebags, mecha-godzilla, real replicas, and vastening. I don't disagree!
Come for the Twitter archive, stay for the commentary. CDBOEGOACC contest winners will be announced as soon as I finish the post.
- Last week I mentioned that Svetlana Sveta did not exist in the
second draft. There were a lot of scenes with Ariel or Bai carrying
around and talking to a piece of paper. I think of the second draft as
what "really" happened, the factual basis for Ariel's blog posts
in the third draft.
You can see that Ariel isn't trying very hard to conceal the
truth. He left unchanged details like the way "Svetlana" dresses, and
he added over-the-top winks like Svetlana boasting about supplanting
Dana. Bits like "Svetlana held her smart paper against the
TV screen" are minimal glosses on what happened in the second draft ("I taped the
smart paper to the television").
- In SF that features humans among lots of alien species, there's frequently some BS idea that humans are special. I was going to write that TV Tropes probably has a name for it, and then I looked and yes, the name is: "Humans Are Special." This generalization takes many forms, none of which I like, but the one I dislike least is the one given in Babylon 5: humans are special in that they form communities.
This one at least has some truth to it. Human cultures are all over the map, but almost by definition they involve a bunch of humans forming a community. I wouldn't go as far as B5's suggestion that humans form inclusive communities (TV Tropes: "Humans Are Diplomats"). But it is a real tendency which distinguishes humans from, say, octopus.
Farang are more like octopus. There's nothing wrong with this, it's not time for them to learn a valuable lesson about what it means to be human, but it means their cultures have little in common with human cultures. A normal human put into a Farang body would be a misfit, the kind of person who produces offensive artwork like Sayable Spice. A human might be able to identify with such artwork, but probably not with its pugnaciousness.
(nb. humans are not special in the Constellation universe; Aliens are very similar and they got there first. This is the subject of chapter 25's deleted scene, which I'll put up when the time comes.)
- We finally get the tense Ariel/Jenny scene I mentioned a while
back, a scene that shows what Ariel thinks Jenny thinks of him, and
hiding in between, a little bit of what they actually think of each
other. "Found Objects" has an analogous scene from Jenny's POV.
- I've mentioned before that Tactical Nuclear Exchange is
basically Twilight Struggle with the complexity dialed way up,
but I really like that extra complexity: the ideology board
with its traps, the simulation of the shortcomings of Soviet central
planning where the Soviet player lays out a plan and the American
player shuffles the plan cards. Most of all, the idea that the game
can abruptly end and render all your setup time moot.
In Twilight Struggle, the player who starts a nuclear war
automatically loses. I sometimes find myself making decisions not to
help me win, but to help the game go on a normal amount of time given
how long it took to set up. I don't think this kind of decision-making
is even particularly unrealistic in a nuclear context, but it's only
half the story.
Because really, who cares who started the war? You're both dead. In
TNE the only thing that matters is who has more survivors. And
although 90% of the time the name of the game is a lie and a
"tactical" exchange will escalate until everyone dies, there's
some mechanism in TNE constantly working to convince you that
this time you can win but you gotta go for it now!
- It's a little Creative License-ish that people born in 1987 would be heavily into a board game about the Cold War. But maybe it's retro chic, and it does have all those cool expansions.
- Bonus mid-story Jenny facts: I discovered while looking at a very
early outline that Jenny's name was originally Jenny
Gallardo. I never explicitly changed it. Just, the first time I wrote
her surname in the story proper, it was "Gallegos". Which I do like
better.
I saw The Middleman while finishing the second draft of
Constellation Games, and I was a little upset to see Natalie
Morales playing Wendy Watson very close to how I imagine Jenny:
kind of ticked off all the time at how not everyone is as smart as
she is. But I got over being upset.
- The launch of the Mars mission was the trickiest scene in the book
to write. This scene has to do a ton of exposition about the mission
itself, the way the Constellation uses ports for space travel, the
star-draw ritual, and the evolving use of patches to display fluid
overlay affiliations. It's got the first onscreen Gaijin and the
first appearance of Colonel Mason. And the narrator's nowhere near
the action! He's really stressed out and he's watching the action on
the Internet as a way of taking a break. Which, believe me, I've been
there, and it's not a good state of mind in which to write
coherently.
In the second draft this scene was also the introduction of
the star-draw, and it was just too much for one little scene. So I
had Curic introduce the star-draw back in chapter 8, and now this
scene just has to remind you of it.
- I go back and forth on whether Ariel is being creepy in the
mission launch scene. I mean, he does have a romantic relationship
with Tammy, just not quite the one he thinks he has. But he is being
kind of obsessive about watching that video (and notice the name of
the chapter). It works either way.
Part Two's plot kicks into high gear next week, with the terrifying chapter 21, "Her". The chapter in which Tetsuo will say (but not demonstrate) "Sexual pair bonding!" Also next week: you can get a paper copy of the book and read the whole rest of the story! Then complain about how I'm not putting up this commentary fast enough.
Photo credits: US
Army, US Department of Defense, Flickr
user my_eye.
← Last week Next week →
Tue Apr 10 2012 09:56 CDBOEGOACC Contest Results:
I was worried that no one would enter the CDBOEGOACC contest and it would be like a party where no one showed up. But ten people put in 29 entries, which is a pretty good party. I'm pretty sure all the entrants are Constellation Games subscribers, so I gotta work on my crossover appeal, but I'm happy with the turnout.
Once again, the grand prize is a galley copy of Constellation Games which will hopefully be delivered a few days before the paperback comes out. Even I don't have a galley copy, so you know it's exclusive. There'll also be a random drawing, and the winner will get a free basic-level subscription. Although since everyone who entered is already a subscriber, I don't know if you want that. Maybe you can give it to a friend, maybe you can negotiate a different prize with Kate, the publisher.
Anyway, let's take a look at the entries:
- First, you gotta check out Andrew Perry's
nerdtastic entries. He took little bits of worldbuilding I'd
scattered around the novel and created (AFAIK) the first piece of
Constellation Games fan fiction, featuring realistic Farang,
Alien, and Wazungu games, plus one created for humans by a Smoke
submind. I especially liked the "Flase Daylight".
In a non-ironic twist, Andrew's fidelity to existing Constellation Games canon was what cost him the award. Since I wrote the stuff he was stitching together, reading his CDBOEGOACC entries didn't make me feel like I was on a flight of fancy. But, I have asked Kate for dispensation to award Andrew the special CDBOEGOACC Jury Prize.
All the other entries were short concept quotes posted to Twitter. I've archived all of them here because I really hate the way Twitter's UI consigns the past to a dark, eternal oubliette.
- Ornithopter:
- The Way Arounding: hide your shameful underscale color from your
husband's husband while negotiating a wedding contract with him
- "An invading army is coming. You have 3 days to store fat for
hibernation and to bury yourself deep enough to avoid detection."
- Young-Time Architecture: Design a nest for your eggs of sufficient
complexity to prevent yourself from eating them.
- Fish or Other Fish?: You are captured by Roetus. Arrange patterns
of color to convince them you're sentient before they eat you. (The
title "Fish or Other Fish?" comes from an event in Dolkoan history
where a fish and its twin competed for war-minister.)
- No Never Negation No No!: Find the lost start-card to your
transport shuttle in a series of exotic locations. #cdboegoacc
- No Never Negation No No No!: Sequel to NNNNN! You are the
transport-shuttle's start card. Hide to extend your owner's
vacation.
- George Buckenham:
- Thermal Vent Orchestrator: Intended as a test of vent-controlling
verisimilitude, but usually played for laughs with cheats on.
- "When Catastrophe Strikes, Emulate the Octopus" [he adds: "this is actually the title of a Wired article"]
-
Benhimself:
- Xarthru: "Falling shapes composed of four blocks descend from
above, arrange them in lines to clear them and score." Wait, what?
- Squigglers III: Eat delicious parasites off the tentacle monster on
which you live without becoming a meal yourself!
- Launch asteroids at a planet using the gravity wells of other
orbiting planets to save energy.The other player will return
fire. [This is very similar to "Occluded Occlusion", an Ip Shkoy
game mentioned in chapter 33. -LR]
- Gus Andrews
- Pentathlon: Behemoth bowling, cotyledon racing, flailing, cube
dancing, bluntshooting
- Aesthetics-driven, unscored "doing-the-dozens"-style attempt to outdo
other players by producing the most nuanced cloud of gas
- Tikitu de Jager
- Bloom: Rediscover the excitement of first pollination. Only this
time YOU decide where the seeds fall.
- Society: Out-game negotiations influence in-game status, and
(where not prohibited by applicable social strictures) vice versa.
- Adam Parrish
- one player must communicate a terminal semantic taxon to others
without using distal mouthparts or pheromone glands
- Brendan Adkins
- "Largely Automated Testimony Extractor:" Only a game inasmuch as one can play to lose.
- "Hit The Button Before Anyone Else Hits The Button:" Popularity declined after players began using relativistic time dilation.
- "My Friend The Modular Dissent Repression System:" Hacks a hunter-drone's neural core to prioritize cuddling.
- "Inferior Gasband:" Created to defame a rival pseudofamily. Rivals later ate the designer and produced a successful sequel.
- "If You Outscore This Game's Designer At This Game Her Agents Will Implode Your Home Village With Hydrocarbons:" No longer true.
- "That's Enough:" designed for slowphase, an innovative anti-cheating system emits UV flares if the player displays life-signs.
- "Meatchild:" An innovative control scheme allows up to 4 million of Her hive-units to cooperatively guide a single biped.
- Mirabai Knight
- A long-scope evolutionary commerce game in which shoemakers must
adapt to the cyclic disappearance and reappearance of feet.
- Evan Baer (who entered after the deadline, but I'll at least put his entry up here)
- Stop, Memmings! subvert attempts of adorable figures to prevent access to Constellation drop boxes, which are empty when opened.
I thought all the entries were really good, although Adam may have been phoning it in. C'mon, Adam, this ain't Apples to Apples. Anyway, I'm excluding Adam and Brendan from consideration because they were beta readers. Here are my three favorites (apart from Andrew's, which I've already spilled the beans that it didn't win):
- "An invading army is coming. You have 3 days to store fat for
hibernation and to bury yourself deep enough to avoid detection." [Ornithopter]
- Pentathlon: Behemoth bowling, cotyledon racing, flailing, cube
dancing, bluntshooting [Gus Andrews]
- A long-scope evolutionary commerce game in which shoemakers must
adapt to the cyclic disappearance and reappearance of feet. [Mirabai Knight]
And the winner of the Constellation Games galley copy is... Ornithopter! I loved their game concept because it tied into a theme I don't really explore in CG: the repurposing of really awful historical situations as entertainment simulations.
But don't give up yet, non-disqualified entrants! We've still got the random drawing. And here's some Python code to perform it:
>>> import random
>>> entrants = ["Andrew Perry", "Ornithopter", "George Buckenham", "Benhimself", "Gus Andrews", "Tikitu de Jager", "Mirabai Knight"]
>>> random.choice(entrants)
'Andrew Perry'
OK, well, that worked out. Andrew Perry will receive the random drawing prize, and we'll just call it the CDBOEGOACC Jury Prize.
And that's it for the gala CDBOEGOACC giveaway contest! I hope it was a fun time. I certainly enjoyed watching people come up with this stuff.
Mon Apr 16 2012 12:06 Beautiful Soup 4.0.4:
I haven't been mentioning all the Beautiful Soup releases I've been doing, because they're just maintenance releases, but I'll mention them occasionally because fixing bugs (and determining what's a bug and what's not) still takes up a fair amount of my time. We're up to 4.0.4 and I've fixed/worked around a number of bugs, including one that prevented Beautiful Soup from parsing an XML document larger than about 512 bytes.
I've also updated the docs quite a bit to help people solve common problems. I'm not sure where to stop, because Beautiful Soup is the first Python library a lot of people use, so it gets caught up in questions like "how do I install Python packages on Windows?" (It's not easy.)
Mon Apr 16 2012 14:58 CS161:
You could get a computer science education just by taking classes called CS161:
(7) Tue Apr 17 2012 09:14 Constellation Games Author Commentary #21, "Her":
This is one of the most important chapters in the book. I need you to
start feeling the weight of the Constellation as a geological-time,
astronomical-scale project, not just as the country where
Tetsuo and Curic were born. The best way is to show you the Earth contact mission through
the eyes of the one who's seen it all: the Her superorganism.
Twitter was quiet last week, and will be even quieter this week because the whole chapter takes place between 3 and 5 AM on a Tuesday. I think you should do some work this week instead of checking Twitter all the time.
Today is the official release of the paperback edition of Constellation Games! How does this work? I have no clue. I believe those of you who ordered the paperback will be getting it sometime this week, and those who have been resolutely refusing to preorder will soon be able to order it from the online store or get it from a local indie. In the meantime, how about a bulleted list? I know all about those.
- The other Constellation species take their human names from human
words for "outsider". But some words for "outsider" you don't want to
say; not in front of the children. So you might say "them"
instead. You can't trust them. Who do they think they
are. In honor of this, the members of Her are simply called Them.
- My high-concept idea for Her is a hive mind whose members are
themselves sentient. Smoke is a recursive version of the same idea. I
don't know of any preexisting examples of this in SF, apart from
Internet-like "world minds", but I'm sure there are some and I'd like
to hear about any you know of. It seems like a fun
thing to read about.
- I like how a lot of Them strongly
disagree with what Her is doing and talk back to her. (I should just abbreviate "conflict between partners" as CBP so I can refer to it more easily.) Her seems to
operate on a system of democratic consensus with a supermind veto,
which Curic interprets as an intolerable fascism.
Curic's "problems with authority" bit was one of the last things I
added to the manuscript. I think it works really well, especially
given what happens between Ashley and Her in "The Time Somn
Died".
- I came up with Her around the time I abandoned the first draft.
In the second draft she was mentioned a couple times before showing
up, but come chapter 21 the writing group felt like they had no forewarning of
her existence whatsoever. Maybe you feel the same right now, but I
did try to prep it a little better in later drafts. The biggest
change was in chapter 9, where I greatly expanded an Ariel/Jenny
disagreement about the relationship between Them and Her. (I think
disagreements are the best way to do exposition.)
- Grammar time! Her's name is "Her", and she does identify as female, although I don't know what that means. So: "I met some of Her's members and they told me
her opinion." You don't capitalize the pronoun; she's not God.
- There's a little bit of Arrested Development reference
going on here ("Her?"), but not much. In related news, I did
name a character Daisy just so I could have her say, "Hi, I'm Daisy!"
- Ariel's explanation of how game sequels get made is taken
almost wholesale from a conversation I had with a friend who'd worked for one of those social-games companies. (I'm making this vague just so I don't burn bridges they'd rather leave uncharred; if they read this, they should let me know if they want real credit.) I've never worked in the game industry at all, so it's probably the novel's most accurate bit of insider info.
- Is Her's choice of Sarah Vowell's voice for her English vocalizer
a good detail? I dunno. I mentioned earlier that the
celebrity-vocalizer thing was from "Vanilla" and probably not
something I'd use nowadays. But, when I was writing "The
Time Somn Died", I imagined Her sounding like Fluttershy from My
Little Pony. So the quiet cutesy voice is definitely part of the
character.
- Back in January I had a dream about Constellation Games, a
dream that tried to convince me that I'd written and taken out a
scene in which Jenny has sex with the Her superorganism. Not the
individual Them, but Her herself. I resisted this idea for the usual
stodgy author reasons: I didn't remember writing any such scene, it
made no character sense, it was ontologically impossible, etc. It was
one of those early-morning dreams where you wake up briefly and go
back to sleep, and when I went back to sleep I was presented with an
actual draft of the Jenny/Her scene! A smoking gun! I thought to
myself "wow, I guess that dream I had earlier was accurate WAIT A
MINUTE THIS IS THE SAME DREAM."
That binary star patch complicates the story so much. At least for
someone like me who's spent months thinking about the
characters. After reading the third draft, Brendan said he'd assumed
Ariel was lying about this meeting with Tammy. It would be a lot
simpler if Ariel were lying, but it clearly
happened. It's a "real life" section, Tetsuo and Daisy were there, and Ariel even switches
narration to the present tense and implies that he still has the
patch.
I use the patch in ways I'm really proud of, dramatically, but for
a long time I couldn't imagine what Tammy might have said to go along
with the patch, given what happens later. Fortunately, while writing
this commentary I came up with something. I can't say more
without big spoilers, so I'll come back to this later.
The meeting only happened because of weakness on my part. In the
second draft, chapter 21 ended with Ariel talking to Tetsuo and
Daisy, then going back through the port. And then I wrote chapter 22,
which did not turn out at all the way I thought it would. It turned
out so poorly for Ariel (I don't think this is a spoiler--he
warns you about it in this chapter) that in the third draft I added
the meeting with Tammy beforehand. Remember how I said that every
time Ariel gets laid, I'm about to ruin his life? The first time, I
had dramatic irony in mind, but this time I felt sorry for him.
This is the last time I'm nice to Ariel for the rest of the
book, so enjoy it.
On that note: tune in next Tuesday (or read the paperback) for Ariel's terrible, horrible, no good, very bad day. During the course of which he will say, "I'm more worried about my
friend's problem than in coming up with the perfect urine-related
analogy for the problem."
Image credits: Joachim Barrande, Flickr user fubsan
← Last week | Next week →
Mon Apr 23 2012 09:55 Some Interesting Game Aliens:
Editor Kate pointed me to this list of the best and worst aliens in video games. Without wanting to say anything bad about that list, I noticed that it (and similar lists I've found online) focuses heavily on the visual design of humanoid aliens from first-person shooters. So I thought I'd make my own list, in honor of the print release of Constellation Games (Publishers Weekly calls it "fun"!), highlighting some video game aliens that I find interesting from a game design perspective. I'm sure there are plenty more I haven't heard of, so if you have any additional suggestions, I'd like to hear about them in comments.
The invaders (Space Invaders)
-
Just gonna get this one out of the way. Among the most iconic
aliens ever devised, the invaders in the middle row have come to
symbolize video games as a whole. Apart from their visual style
there's nothing there, but the style is great.
The blobs (A Boy and his Blob)
-
These were my gut-reaction nomination for "best", because they're the only aliens
I can think of that only make sense in a video game. The blob
in A Boy and his Blob is a game mechanic personified: a
sentient inventory. This causes serious problems if you try to think about the species outside the context of the game—when your toilet clogs on Blobolonia, do you feed your friend a jellybean and turn them into a plunger? But within the game, it works great.
The Melnorme (Star Control II)
If you want vivid alien characterizations, Star Control II is
your game. Unfortunately, most of those characterizations are based
on asinine stereotypes. That's why the Melnorme win it for me. It
would be easy to make "the trader race" greedy and sleazy—in
fact, SC2 does this with the other "trader race", the Druuge. But
the Melnorme are friendly cosmopolitans who're fun to
talk to. And they occasionally drop ominous hints that are never
followed up on anywhere in the game.
That said, there's nothing game-y about the Melnorme, they just
happen to be in a game. Every race in SC2 could guest on
Star Trek, and many of them have. So I'm not pushing this one very hard. At least they're not humanoid.
Honorable SC2 mentions: the Zoq-Fot-Pik, who are silly and fun;
and the Orz, who are similar to but not as well-executed as...
The Endermen
(Minecraft) 
- From another dimension rather than from outer space, but aliens
nonetheless. The Roadside Picnic of video game aliens; the
Endermen follow rules that make perfect sense... to them. Their random rearrangement of blocks and sudden fits of aggro bear a twisted resemblance to your own behavior in Minecraft. Like you,
they are interlopers in the game world, and their behavior was
designed
to challenge your dominance of it.
Giygas (Earthbound)
- I almost didn't count Giygas for the same reason I'm not counting the Meteor from Maniac Mansion: I already gave the "cool aliens that happen to be in a game" nod to Star Control 2. But the final battle of Earthbound does some interesting things with the game's generic JRPG battle system, so sure, I'll count it.
"Them" (The Legend of
Zelda: Majora's Mask)/The Martians (Metal Slug 2)
-
These aliens are composed entirely of pop culture cliches. The
interesting thing is not their design but the fact that they show up
at all. These aliens aren't just from another planet: they're from
another genre. The Martians show up and abruptly turn your tasteless WWII run-and-gun into a '50s saucer flick. And
"They" show up in a Zelda game. Albeit a Zelda game that also features a time loop and travel to the moon.
When I asked on Twitter for peoples' favorite video game aliens, the only response I got (thanks, Laura!) was also in the vicinity of this category: Crypto from Destroy All Humans, which I haven't played but which looks just like the movie Mars Attacks!.
Board game bonus! The Loser (Cosmic Encounter)
- Cosmic Encounter is all about embodying game mechanics into alien species, and the Loser is the best, because it forces you to have debates about what it means to "win" a game. Whatever chaos is happening due to the other players' equally unbalanced species choices, the Loser multiplies it. My absolute fave.
And there you go. Let me know of any you think I missed—this is a bizarrely underexplored field, though maybe I just think it's bizarrely underexplored because I spent a long time writing a novel about it. I mean, I also thought it was weird no one had explained how game titles work.
Image credits: Flickr user philosofia, DeviantArt user aeonpants, DeviantArt user dczanik, DeviantArt user EliteParanoid, SNK, Felicia Cano.
(4) Tue Apr 24 2012 09:38 Constellation Games Author Commentary #22, "Nerfed":
This chapter is bad news for Ariel but good news for me, because yesterday I got my box of author copies. That means those of you who ordered paperbacks should be getting them soon. This EXCLUSIVE SIDE COVER REVEAL shows the playtime synergies possible for those who shelled out for the Adamantium package with its USB key.
In a couple weeks I may do a special spoiler post so that those who've read the whole book can ask me questions about stuff that hasn't been serialized yet, rather than waiting until the appropriate chapter comes up in the serialization.
There's a solitary tweet in last week's microblog archive. Let's move on to the commentary:
I came into this chapter treating it like a chess problem. I had all
the pieces on the board and the question was how Ariel would outsmart
the BEA again, the way he did with Dana. I sat down and puzzled over this and had a
long conversation with Beth trying to figure out how to get Ariel out
of this scrape.
And after about forty-five minutes of being totally stumped I asked
myself the obvious question: Why am I trying to get Ariel out of
this?
At this point I knew how the book would end (it turns out I only
knew how Part Two would end). I didn't have the plot planned out
between now and then, but at some point I needed to break Ariel. This
is the perfect time to start. He's stressed out from
Sayable Spice work, shaken from his encounter with Her and the
revelation of Curic's ambivalence. Let's just go for it.
So I destroyed Ariel's house. He tries all the clever gambits I
thought of for him, and they don't work, and he loses. And that was
the single best thing that ever happened to the book. From this point on the characters are developed enough that I can do whatever horrible things I want to them. They'll either figure something out and come out on top, or they'll lose, and either way it'll be interesting reading.
A lot of this week's commentary is me telling stories that are at
best tangentially related to the chapter. But if that's good enough
for big-name DVD commentaries, it's good enough for me:
- This was a little clearer in the third draft, but hopefully it's
still clear. Something's going to happen around October 13 that makes
Ariel willing to tell the truth about his house. The backdated post
is a little flash-forward to the end of part two. So live in
suspense! Or read the paperback, whatever.
- I got tons of pushback about Fowler's pie line in chapter 19,
but apparently "That fucking snitch crate!" is A-OK.
- The Legend of the Bystander review got stuck in the
beginning of this chapter because that's the last possible place it
can go—after September 2 there's no more Brain Embryo. Because
I placed that scene without thinking about it on a plot level, I
didn't notice until just now that it creates a bizarre
incongruity. Ariel keeps going back to Curic in the house-losing
conversation ("You need to talk to Curic about this," "Maybe Curic
can stop this."), even though he's just learned that Curic is crazy.
I'm gonna file this under "accidental awesomeness" rather than
"correctly regarded as goofs", because I think it fits in very well
with what we see of the Ariel/Curic relationship. But it was totally
unintentional.
- The missile defense joke is super inaccurate (much like missile
defense itself—heyo!), but I left it in 'cause it's a funny
failure mode. Inaccuracies: 1) An object with negative mass would
probably look like nothing at all. 2) If that glitch did happen, the
investigation would take months and a low-level State Department
bureaucrat would never hear about it. 3) The port + its casing + the
telepresence robot probably has a positive net mass anyway.
The most likely in-story explanation is that Krakowski found out
about Ariel's trip through old-fashioned HUMINT and is now trying to
dazzle him with technobabble (a favor Ariel will return later). After
all, the Constellation's not very good at keeping secrets. But I'm
good at taking... Creative License.
- There's not really an "Austin Building Inspection Division" per se. Krakowski is clearly referring to the Building Inspection Division of the city's Planning and Development Review Department.
- The Greenland Treaty has been mentioned before, but now it's a done
deal. Although it's mentioned several more times throughout the book, I
deliberately left the details vague, because 1) who cares, and 2) if
I set down the details I can't change them later to fit a future
story. But non-canonically, Greenland has gained independence from
Denmark and is now effectively a client state of the Hierarchy
Interface overlay.
- When I took this chapter to writing group there was one person who
really loved Fowler's line about using a black hole as a lathe. Yes,
it's a good line. Very evocative, if I do say so myself. But this
person was stuck on it. They said I should expand on that line in
flashback, and spun a fantastical scene describing the port's
construction, like the beginning of the Lord of the Rings
movie where you see the Rings of Power being made.
One of the rules of my writing group is that the person whose story it
is doesn't talk until everyone else has given their critique. So I
said nothing. But I thought: what the hell?! I can't put that in
a comedy novel! It would read like Spinal Tap playing "Stonehenge"!
I have no other complaints about this persons' critiques (they're
not with the group anymore), and I've certainly delivered my share of idiosyncratic critiques. But that moment has stayed with me,
perhaps because it's the kind of random obsession I expect from my
characters.
Ariel's defense of his parents' toilet-training techniques was
inspired by one of my earliest memories. When my mom was training my
sister Susanna, she bought bags and bags of cheap grocery-store candy
to use as bribes, because Susanna was being difficult. This did not
sit well with me, as my access to candy had always been severely
constrained, despite my willingness to get on board with the
pee-in-the-toilet program.
In particular I remember coveting a bag of circus peanuts. Circus
peanuts! I had never even heard of such a thing. Like a peanut and a
candy at the same time! Oh, how I longed for those circus
peanuts. But they were for Susanna.
I told this story to Susanna last year when I went to visit for
Christmas, and she had absolutely no memory of it. I don't remember
my own toilet training, so it's quite possible my mom went the
bribery route with Susanna because I'd been so horrible. Or that I'd had circus peanuts and forgotten about them.
Anyway, if you subscribe to that archaic psychology theory that
explains everything about a person in terms of their toilet training
experience, you've now got a bonanza to work with.
- And closing out this week's commentary with another personal story explaining
something that doesn't need to be explained. Dana's plan to disguise
herself as a flyer for a chiptune concert is a super-obscure
reference to a surprise birthday
party I planned for Sumana in 2008. I came up with an imaginary
chiptune concert as a way to get out of the house without making her
want to come with. I don't even think that qualifies as a
"reference", but that's why Dana says "chiptune concert" and not
something else.
- Puzzle Korner: next week, Krakowski's going to ask Ariel about something Her said in chapter 21. Do you know what that might be?
Pretty chunky commentary this week, hope you enjoyed it. Be sure to tune in next week for chapter 23, when Jenny will say, "I don't masturbate to it."
Image credits: yours truly, the city of Austin, NASA/Ames, Wikimedia Commons user Hoshie.
← Last week | Next week →
Fri Apr 27 2012 12:01 o Invasion:
There are some rogue os in the Constellation Games acknowledgements. "N. K. Jemison" should refer to the Nebula and Hugo-nominated author N. K. Jemisin, not to a person who doesn't exist. And "Beth Lermon" is of course my friend Beth Lerman.
Surely these are far from the only typos in the book [I originally wrote "on the book"], but they're really bad, and deserve a special correction, and my apologies.
Sat Apr 28 2012 08:55 Hidden Treasures:
There's a competition going on right now called "Hubble's Hidden Treasures", a competition to identify amazing but overlooked images within the Hubble Space Telescope's massive twenty-year data archive. I have no special expertise in image processing or astronomy, but I so coveted the prize of an iPad[0] that I thought I'd try my hand.
See, most people who enter this contest are taking pictures of nebulae and galaxies and setting up the colors to represent different wavelengths of light. Here's a nice example. These images have aesthetic value but are merely emblematic of Hubble's scientific value, which comes from the raw data. As long as we're playing that game, why not find aesthetic satisfaction in Hubble's glitches? My innovative thinking will surely net me the prize.
Just as an example, here's a super-washed-out image that could have the date and place of your punk show written in the middle of it. Lots of images have glitchy edges, and my original plan was to make a collage of the glitchy edges. But then I found the image to the right, which blew my stupid idea out of the water.
I call this ghostly image "hst_05909_01_wfpc2_fr418n18_pc", because that's its Hubble dataset ID, but if I were hanging it in an art gallery I'd call it "Cygnus", because that's the search I used to find it. Here it is big and zoomable. Here's a larger image (it's the full WFPC2 image--the one to your right comes from the Planetary Camera bit of the WFPC2) which I think makes it clear the feature you see is a photographic artifact and not a real thing in space.
I don't have anything more to say about hst_05909_01_wfpc2_fr418n18_pc; it's just a nice piece of abstract photography. The Hubble Legacy Archive is great stuff in general, though.
[0] Can the winner get 5 minutes of Hubble observation time or something contest-specific? Just trying to think outside the box here. The box labeled "box of iPads for use as contest prizes".
(4) Tue May 01 2012 09:27 Constellation Games Author Commentary #23, "Trust Us, We're Expert Systems":
I do believe it's time for a super dark relationship chapter. That's
what I believed when I wrote this, anyway. Clearly I was eager to keep landing the body blows on Ariel after chapter 22.
It's always sadder when characters bring about their own destruction than when someone else screws them over. In the second draft this episode was a little less of a
downer, because while Ariel was living in coffee shop exile he had a
great idea for a mobile app he could write very quickly and sell to
recoup some of his losses from the last chapter. So all the awful
stuff between him and Dana and Jenny still happened, but at least we
ended on a positive note. Who needs that, right? Just hang tough.
I cut out the "mobile app" subplot because it added a lot of story
complexity for no real benefit. Ariel's already working on a software
project, so why add another one? He puts out a press release for it
next chapter, but I just turned it into a press release for the
Sayable Spice: Earth Remix demo. Works fine.
I'll talk about the proposed app after the miscellaneous
commentary, because this week's is a little light and next week's
will probably be huge. (Spoiler: Tetsuo comes to Earth.)
Oh, and here's last week's Twitter archive.
- Not really happy with the chapter title. I like the joke,
but it barely fits the events of the chapter.
- "They make cradles in all sizes." is probably my favorite Jenny
line in the book. Jenny's comedy is more context-dependent than Ariel's or Tetsuo's. Like,
I think her most memorable line is (are you sitting down?):
"Wastebasket."
- The scene with Dana went back and forth between being "real life"
and being a blog post. This meant that Dana went back and forth
between being "Dana" and being "Svetlana", and she and Ariel went
from frankly discussing what happened in chapter 22 to maintaining
the fiction that there was a fire. Except I forgot to change that
last one back. So Dana still says "lost in the fire." I caught this
very late in the publishing process and asked Kate to fix it by
putting "fire" in scare quotes.
The blog post portion got truncated to what Ariel writes in the
coffee shop afterwards. For the third draft I decided he's smart
enough at this point not to air his dirty laundry with Jenny on his
blog.
- I coulda turned the business AI trojan into a whole separate
story, but it's just a little
bit of exposition showing Dana Light's odd view of what constitutes
"human behavior". That's life... a-life, that is!
- No one [told me they] noticed the reference to the Slow People in Her's chapter 21 monologue. Which is good, I didn't want you to notice it. I think if you did, you'd stumble in your reading and it would wreck the scene. I want it to be a situation where you go back and find it later and it BLOWS YOUR MIND, MAN.
Originally that was the book's first mention of Slow People, but that's no good, so I backdated the subplot where Krakowski asks Ariel to listen for word of them.
You'll find out who the Slow People are soon enough, I got other plot threads I gotta take care of.
Okay, about that mobile app. One thing that barely shows up in
Constellation Games, but was very important in "Vanilla", is
the contact audit. To sponsor an ET for an American visa (as Ariel
did for Curic and Bai is now doing for Tetsuo), you need to register
with the BEA as a contactee. You're supposed to do the same if
you have any prolonged or repeated contact with ETs, although the
Greenland Treaty is quickly making that unenforcable.
All registered contactees need to come in to their local field
office twice a year for a sit-down interview about all the ETs they've
encountered over the past six months. It's generally a formality; the
point is to make contact with ETs a pain in the ass and, on the
margin, discourage people from having anything to do with the
Constellation.
Ariel's mobile app idea was a "contact manager", a way of taking
the pain out of your contact audit. Whenever you meet an ET you just
take a picture of them—something you were going to do
anyway—and enter their name. Then your contact audit is
effectively just a slideshow.
In the second draft, Ariel's key business insight was that although
relatively few people really need this app, a lot of people want to
be the sort of person who needs it, so they'd buy it
aspirationally. Clever idea, but not really necessary for the story, so out it
went.
That's all I got. Tune in next week for the TETSUOUS continuation, in which Ariel will say "Jesus Christ the great moral teacher!"
Image credits: Tim Patterson, Doug Kline.
← Last week | Next week →
(6) Tue May 08 2012 09:07 Constellation Games Author Commentary #24, "Homebrew":
Tetsuo's back, and he brought exposition! This week we take a break
from beating up Ariel, and just startle him a lot while he's
high.
This week's Twitter feed is almost entirely devoted to Tetsuo's
first day on Earth. Today also marks the start of the Great Microblog
Bonus Content Migration. Prior to this point, Ariel's feed was where it
was at. But Ariel's now too busy to tweet a lot, and he'll stay busy
until the end of the book. Tetsuo's feed will be
picking up the slack, chronicling his adventures on Earth and showing
what the other characters are doing as the focus of the novel tightens
around Ariel. If you're following Ariel but not Tetsuo, this is the
week to get on the Tetsuo Train (patent pending).
(NB. I won't be setting a Twitter profile image for Tetsuo because the default image is a much better depiction of him than anything I could come up with.)
Speaking of Twitter feeds, here's
last week's. And before we get started, some extratextual comments:
Now
that the paperback is out, you can get it from your regular source for
paperbacks: Barnes
and Noble or Amazon,
or order it from a bookstore through Ingram, or is there any chance a
bookstore might proactively stock it based on the radioactively
glowing Publishers Weekly review? I wouldn't depend on it, but that would be nice. Note that the paperback is the only
thing you can get from your usual source—bonuses are only
available from the C&G
store, and the ebook edition won't be out until serialization
wraps up at the end of July.
I'm not sure when people who are getting bonus stories and USB keys
will be receiving them, so lemme just tell you this now. For our
mutual peace of mind, I ask that you hold off reading those stories
until you finish the novel. "Dana no Chousen" takes place after the
novel; "Found Objects" casually blows two of the Part Three reveals;
and "The Time Somn Died" is, in my opinion, actually incomprehensible
unless you've read the whole book and know a lot more about Ashley and
the Constellation than you do now.
You can read "Pey Shkoy Benefits Humans" anytime, even though it
"takes place" after the novel. It's got basic spoilers like "Tetsuo
still teaches at UT Austin", but guess what, I just spoiled you on
that.
Finally, an obligatory reminder: although has been an instance where the
week's chapter didn't show up in the web archive, the emails are
consistently sent out every week, and if you didn't get a chapter it's
almost certainly in your spam folder.
Now on to real commentary. I wrote the contact event as a positive
catastrophe, a shocking world-changing event out of nowhere which is
absolutely wonderful. These days a catastrophe leaves a maelstrom of
frantic Internet communication in its wake, a stew of information and
guesses and wishful thinking and propaganda that slowly settle into an
agreed-upon set of facts and opinions and crackpot theories.
This process has been happening in the background throughout the
novel. You've only seen glimpses of it (the bits that Ariel
contributes), but it's very important, because that's how I've been
controlling the flow of the worldbuilding: flooding the zone with
misinformation and letting the truth precipitate out when I'm ready to
use it dramatically.
There must be CDBOEGOACC games about Ragtime and the Slow People.
But I can't tell you all this stuff at once. There'd be no space for a
story. My Creative License-ish solution is there's lots of
information about this stuff once you know where to look, but no human
consensus about what information is accurate. It's a mess of
half-assed opinions mixed up with misinformation and conspiracy
theory, with no way of judging the truth of the matter. (Bai will
complain about this next week.)
It was easy to control the flow of information early in the novel,
when I had the world's governments working on my behalf. In "Found
Objects" Jenny has a hard time getting some basic information, because
that story takes place during chapter 5. But with the Greenland Treaty
in effect, the half-life of secrets has declined dramatically, and the
worldbuilding is starting to flood the story.
But I still have control over one thing. Ariel is the
narrator. There are secrets he has to keep, details he considers
unimportant, and one thing he just doesn't want to tell
you. Eventually he'll figure out the central mystery of the book, and
he won't tell you that either. (Don't worry, I won't leave you
hanging.) With Tetsuo blabbing all the stuff the Constellation played
down in the first half of the book, Ariel's scheming and obstinacy and
fear of embarrassment are my secret weapons for maintaining a
relatively even pacing.
That was the big-think piece, now for the misc:
- One of the big reasons I rewrote the press release, instead of
cutting it along with the rest of the contact manager subplot, is
it's the first explicit statement of what all the ETs with Greenland
Treaty visas are doing on Earth. They're copying stuff. The way
Curic scanned Ariel's college notebooks, and the way all the Ip Shkoy
computer games and hardware were put into the CDBOEGOACC.
- I love the press release's self-loathing and final descent into
madness, and how easy it is for Dana to "fix" it. That's basically
what I'd write if I had to write a press release.
- I don't think "you fucking chiselers" fits terribly well (it's
left over from the "contact manager" app, which cost $0.99), but it
was a darling I couldn't bear to kill.
Thanks to A.K., registered medical marijuana patient, for
coming up with the brand name of Jenny's pot. The legalization of marijuana in this universe was established back in chapter 6. Completists will also want to check the microblog archive for chapter 8.
- You got that Tetsuo doesn't buy Ariel's story about the house
fire, right? But he's not pushing it. Good, we're on the same
page. Also, you got the "little computer people" reference, yeah? I
knew I could count on you.
- I had a definite personality in mind for Tetsuo on Earth, around
humans other than Ariel: the elderly European professor in a 1930s
movie who flirts shamelessly with every woman he sees under the
understanding that nothing will come of it. Like if Bela Lugosi's
Dracula wasn't a vampire, just a really suave guy.
As you'll soon see in Tetsuo's Twitter feed, the "nothing will come
of it" understanding does not hold for Alien women.
- Even in the near future, I don't think a consumer phone-camera would be sensitive enough to make possible the constellation-recognizing app Ariel uses here. It's a cool idea, though. All it takes is a little... Creative License.
- We get our first gameplay glimpse of Temple
Sphere. Longtime readers may remember (but readers who just
picked up the paperback are more likely to remember) that Ariel
reviewed Quexx, TS's game-within-a-game, way back in chapter
2. The prequel Ariel worked on is Recoil, which also showed up
in chapter 2, as the game that made
Smoke-Cursive-Cytoplasm-Snakebite-Singsong-Polychromatic suspicious
of Ariel. It's the Marathon to TS's Halo.
In the second draft this was the first scene that really made use of Ariel's prior work for Reflex Games. Reflex becomes very important as early as next week, so I went back and backfilled it a bit, notably by adding the scene at the Reflex office in chapter 5.
- The handheld computer on the cover of Constellation Games
is a replica of one owned by Dieue the Four-Fisted. You can see his
name on the back cover, written in solder. If you get "Pey Shkoy
Benefits Humans" you'll be able to transliterate all the script on
the cover—it's either words that show up in the book (like
"Dieue"), or it's English written in Pey Shkoy script.
- As a bonus for commentary readers, I'm telling you straight up
that you're not going to get a lot more solid information about
Ragtime than you get in Tetsuo's initial description here. A lot of
mysteries will be resolved by the end of the book, but not this
one. I do have an explanation for the mystery, and if I write a sequel
it'll probably go in there.
Because I don't explain the mystery, my whole writing group said I
should cut Ragtime from the novel. Fools! The mystery is what's
important. But for some reason readers didn't see it that way.
So: after selling the book I wrote a new scene, the final Ariel/Tetsuo
scene. That scene will call back to this chapter's conversation under the night
sky, how Ariel freaked out about Ragtime and how Tetsuo reacted. If
I've done my job, that scene will change the way you look
at Tetsuo. Look for it!
The beefiest commentary yet? I'm not going back to check. Instead I'm looking forward, to next week, when Tetsuo will say, "What were you smoking? Perhaps it was crack!"
Image credits: Tim Patterson, Matt Lancashire, Mark, Doug Kline.
← Last week | Next week →
(7) Wed May 09 2012 12:53 Constellation Games Spoiler Conversation:
I don't know how much traffic this will get, but now that the paperbacks are being sent out, I'm setting up this post for readers of my commentary posts who have read the whole book. Here you can comment on and ask questions about the chapters that haven't been serialized yet, or the novel as a whole. So have at it! I'll compile anything interesting that comes out of this and include it in the appropriate commentary posts.
Sun May 13 2012 10:05 I WILL FLY:
My in-laws gave us a sheet-feed scanner, so I've been scanning a box of my old school stuff, saved for posterity (which is now) by my mother. I'll be putting the prize of the collection online tomorrow, but in honor of Mother's Day I wanted to share this thing I drew in 1985, which was too big to scan so I took a picture:
It's a drawing full of mysteries. Some of my drawings were labeled, either by myself ("Triciratops") or by Mom ("helicopter"), but I don't know what that thing hovering above the ocean is or what inside the ocean is saying "I WILL FLY". (Maybe another flying fish like the one on the left?) I do know what's with the diacritical marks. I think the spelling book we used (probably Basic Goals in Spelling--I remembered it used "snurks" to refer to words not spelled as pronounced) taught us to mark up words that way to indicate their pronunciation.
Happy Mother's Day!
(3) Mon May 14 2012 14:11 A Time Machine And Other Poems:
Among my recent childhood scans were a number of books, written in pencil and bound with staples and tape. One of the earliest is a six-page chapbook of poetry called A Time Machine and Other Poems.
For the first time ever, I now present A Time Machine as it was originally intended to be seen: on the Internet. I wrote these poems sometime between the ages of 6 and 8, and I'm much happier showing them to you than the poems I wrote when I was a teenager. I think you will see that certain themes have been constants in my writing my entire life.
A note on the text: The poems were originally formatted as free verse, but they're clearly not free verse, so I reformatted them. I've corrected the spelling throughout except in one case where it was ambiguous. Strangely, there is no poem called "A Time Machine".
A Time Machine and Other Poems
Written and illustrated by Leonard Richardson
A time poem
There's no such thing as a time machine.
Even so you may sometimes wonder
If you could hear ancient thunder
If you could see an ancient beam.
If you could swim in an ancient stream.
So build a pretend time machine if you please.
And go and feel an ancient breeze.
The dinosaurs have died
The dinosaurs have died you see.
Even in the great big sea.
So when you're swimming in the sea,
Beware of dinosaurs, you and me.
Tyrannosauruses are red
Tyrannosauruses are red
Allosauruses are blue.
When you're near them,
Run away to. [sic]
How did the dinosaurs die out?
How did the dinosaurs die out?
Was it a whale with its spout?
No one knows for sure I know
But in a time machine I will go.
Other books in this series
- Better Homes and Gardens
- All About Dinosaurs
- What Can You Do?
- I Saw a Dragon (and I mean it!)
Oh man. That "whale with its spout" line gets me every time. And the first poem's ABBAACC rhyme scheme is pretty nice.
I'm sure I wrote the "Other books in this series", but the only one I still have is Better Homes and Gardens ("WITH QUESTIONERES AND CHECKLISTS!!!). It's nowhere near as good as A Time Machine—like most magazines, it's full of padding—but it does include the immortal line: "Now buy the stuff you don't have." Better Homes and Gardens has its own "Other books" list, which promises a fifth book, Computer Games—also lost to history.
(3) Tue May 15 2012 09:24 Constellation Games Author Commentary #25, "The Infiltration Path":
I accidentally wrote a lot of this commentary as chapter 24 commentary, because the ambivalence scene really wants to be part of
24. It may have originally been in 24, but I had to move it out because there was too much stuff in there already.
One bit in the final chapter is presented out of order, but there's
it's still chronological from a certain standpoint. Here in chapter 25, I just
wasn't a good enough writer to present the events of the novel in
strict chronological order. I don't know why this sort of thing bothers me so
much. (Actually, I do.)
I'm tired of getting interrupted every week to write the commentary, so last week I made them my main project. I've completed commentaries up to the end of chapter 33 (but haven't chosen the images, which takes a while on its own). After chapter 36, there will be some short commentaries on the bonus stories and "Pey Shkoy Benefits Humans", and possibly one more on the book as a whole.
If you've read the paperback, the spoiler thread from last week is still open for your questions and comments. Here's last week's Tetsuo-licious Twitter feeds, and now commentary:
- Could it be that Tetsuo's excitement about being on Earth is
starting to wear off and he's now experiencing culture shock? That's
the most likely explanation, but I don't want to admit it, because I
designed Tetsuo to handle culture shock better than any other
character in the book. Not immune, though. According to Americans
I've talked to who've lived in Japan, there's a cycle for these
things.
But Tetsuo's also mad at Ariel in particular for being a hick. This
was strengthened a lot in the third draft. Ariel's misconception
about Curic's ambivalence wasn't originally cleared up until a Curic
scene in chapter 26. But there's absolutely no way that misconception
could survive a conversation with Tetsuo, and no way Ariel wouldn't
bring it up as soon as he could talk with Tetsuo.
So I had to rip out the explanation of ambivalence, move it to
chapter 25, and port it from Curic to Tetsuo. And while Curic's
attitude towards Ariel's misconception was (and will be) "what did I
expect", Tetsuo gets angry.
- The ambivalence thing is my little trick on you, dear readers. The
Brain Embryo games are ninety million years old! They were produced
by a society that clearly had huge problems. Don't assume they're
representative of modern attitudes. In this respect, moving the
ambivalence reveal to chapter 25 is a big win, because it immediately precedes another problem with a video game's outdated assumptions:
- In chapter 18's Brilhantes 5 review, Tetsuo showed himself
to be extraordinarily naive about the cultural context of human video
games. By chapter 33 he understands it about as well as Ariel
does. This chapter, 25, contains the inflection point in the process:
Tetsuo's horrifying experience with Temple Sphere, a
best-selling game about genocide, a game for which his friend shares
indirect responsibility. This is his Ev luie Aka's Ultimate DIY
Lift-Off, and the Temple Sphere scene mirrors the chapter 12
scene where he walked Ariel through Ev luie Aka.
- One reader mentioned it was odd that Tetsuo doesn't know what the
Tools of Justice look like, since he has the strategy guide right
there. The official explanation is that Tetsuo wants to experience the
Tools in-game and hasn't looked at the strategy guide yet. The
unofficial explanation is that the scene with the strategy guide
originally took place in chapter 27 (there's a different strategy
guide there now). I moved it here so we could take care of all the
Temple Sphere stuff in one scene, and so this scene would have
a payoff instead of just being interrupted by Ariel's mom.
- The potted plants on a warship are a little tribute to the mood of Keith Laumer's Retief stories. No reason the warship can't look nice!
- "There's already a video game about ports" is my in-world nod to Portal (see chapter 12 commentary).
- "It's not a tumor!" is another goofy reference I worked into the
story just because I could. I feel dumb even pointing that one out,
but I have a hunch that "it's not a tumor" is kind of an
America-centric reference. (It's from Kindergarten Cop;
specifically, the trailer for Kindergarten Cop.)
In a few chapters you'll find out what is the deal with Ariel and
Jenny. By that I mean, "why aren't they fucking". Look how they
bicker! It's embarassing, like watching Garak and Bashir go at it. So
what's the holdup? you ask voyeuristically.
I originally wanted to leave this unresolved. I don't think a
platonic friendship is a "thing" that needs "explaining." But people
demanded explanation. So, I told myself that if I could think of an
explanation that wasn't a total cliche, I would put it in the
story. And... I did think of one.
Enough about that for now. I bring it up because up to this point
I've kind of wanted to let you think the explanation might be that
Jenny's lesbian. But the "pretty-boy who cuts himself" line in this
chapter puts a stop to that.
(The pretty-boy in question is Josh Rogan, who's mentioned in this
week's Twitter feed and never again. Although next week's feed
implies Jenny has been putting things up Josh's butt. And no, that's
not the explanation.)
Now for all you loyal commentary readers, it's time for the first ever Constellation Games deleted scene. Early in the
second draft, this chapter ended with Ariel and Tetsuo on the
commuter train to Ariel's parents' house in College Station. I'll
present the train conversation and then explain why I cut it:
"Do people ever ask you what your real name is?" asked Tetsuo. "When
you tell them your name?"
"No," I said, "but I'm not a space alien who took a Japanese name."
"It seems very rude," said Tetuo.
"What is your real name?"
"Why do you ask me the instant I tell you I don't like to be asked?
Tetsuo Milk is my real name."
"What was your name before you learned a human name to change it to?"
Tetsuo made a reluctant sound and then said "Don't transliterate that
in your blog."
"That's pronouncable," I said. "Why'd you change it?"
"We always adopt local names on contact missions," said Tetsuo. "We've
got to prove we're the most adaptable species in the universe. We're
pretty conceited, honestly."
"Hey," I said, "that's our schtick. Humans are the most adaptable
species."
"According to who?"
"That's just how it works. Everybody's the best at something. Farang
are the strongest, Barbarians are the fastest, Her is the creepiest.
Humans are the most flexible."
"Are you designing a role-playing game?"
"Better me than somebody who doesn't know basic rules of game
balance."
"Everybody thinks their species is the most adaptable," said
Tetsuo. "It's like patriotism. You like the Longhorns, your parents
like the Aggies, who's to say who's right?"
"Those are football teams," I said. "Patriotism is for countries."
"Well, you get what I'm saying."
It's a pretty funny conversation, which is why I present
it now, but I cut it because it has serious problems and
I make better use of its ideas later on:
- See above re: Tetsuo's journey towards understanding human
games. At this point, Tetsuo absolutely does not know enough to make
the connection between Ariel's species-essentialist attitude and the
character creation tables in RPGs.
- But Ariel should have seen enough variation within ET
species (compare Tetsuo to Ashley to Charlene Siph) to start to
question this attitude, or at least not say it to Tetsuo's face.
- This scene introduces the idea that Tetsuo doesn't want the
general public to know his native-language name, which is good
stuff. But as soon as chapter 28 it becomes clear that there's
absolutely no way he would tell Ariel, either.
- I think it's realistic for people in a multispecies confederation
to feel patriotic about their species, the way you might have a
favorite sports team. But I really doubt Tetsuo buys into the
patriotism thing, for the same reason it's unlikely Ariel actually "like[s]
the Longhorns". In chapter 28, you'll see this idea
presented from the perspective of someone who did buy into it, and
it's more effective there.
Basically, a much better scene in chapter 28 killed off this
scene. Let's let it rest... in peace.
Tune in next week for the family reunion, during which Tetsuo will say, "Your brother's not a turtle."
Image credits: Thomas Deusing, Dave Herholz, NASA, Maureen Didde, Flickr user Perro Viejo.
← Last week | Next week →
(1) Fri May 18 2012 12:54 ASINs that Spell Words:
In the past year I've learned more about Amazon's ASIN product identifiers than... well, probably more than the median person wants to know, but not more than I want to know. One thing I've learned is that the ASIN for a print book is the same as its ISBN, but the ASIN for the Kindle edition of that same book is an Amazon-specific code. And where ISBNs are all numeric, non-ISBN ASINs tend to contain letters. Which means in theory you could have a Kindle book (or other Amazon product) whose product identifier was obscene.
Well, enough chitchat, let's look at some books whose ASINs end in five- or six-letter words! Courtesy of an Amazon site map and a word list:
(1) Mon May 21 2012 11:33 118 Fifth Avenue:
Marcel Duchamp's readymade urinal Fountain plays a small but important part in Constellation Games. As I was writing the commentary for the chapter where it shows up, something started nagging at me. Something that had been bothering me for a while in a low-key sort of way.
It's well known to Duchamp fans that ol' Marcel bought the Fountain urinal from the J. L. Mott Iron Works at 118 Fifth Avenue in New York. That's the story, anyway; I don't really trust anything Duchamp says about his readymades, for reasons documented elsewhere in this weblog. Anyway, the thing that's been bothering me is: what's at 118 Fifth Avenue now, ninety-five years later? Can you still buy a urinal there?
Probably not. Over the past hundred years all the plumbing supply stores have been pushed off Fifth Avenue and onto the side streets. But maybe there's an ABC Carpets there that sells overpriced toilet lids or something. I decided to go check.
The stupid thing is, I pass 118 Fifth Avenue all the time. It's right near City Bakery and the Union Square farmers market. But I never bothered to figure out which building was 118, until Saturday, when I went out with my camera and verified that 118 Fifth Avenue is now a Gap Body.
To the right you can see the same building in 1911, when it was the iron works. (Presumably just the showroom; the NYT says the factory was moved to New Jersey in 1902.) The facade clearly hasn't changed since then. Here's a Google Street View link that tries to copy the angle of the 1911 drawing.
Gap Body is exactly the sort of disappointment I was expecting, so I'm not really disappointed. I am glad to know exactly when I'm passing that little bit of art history. And here's a free idea for all you up-and-coming artists: buy a readymade tank top from that Gap Body and present it as a sequel to Fountain.
PS: this 2010 post on Ephemeral New York talks about statues atop 118 Fifth. Those statues are actually across the street, atop 91 Fifth, currently a J. Crew. This confused me greatly while I was out there, so I want to put an explicit correction on the web.
Image credits: Alfred Steiglitz,
J. L. Mott Iron Works, yours truly.
(2) Tue May 22 2012 09:02 Constellation Games Author Commentary #26, "Everyone With Cartoon Violence":
This week Ariel faces his greatest self-imposed challenge yet: getting along with his parents. Let's listen in, shall we?
Actually, before we shall, I have some good non-novel news. I've sold my story "Four Kinds of Cargo" to Strange Horizons! Look for it late this year. It's not a Constellation story, but I think fans of the book will like it.
Here's last week's extensive Twitter feeds. I retconned one of Tetsuo's posts because he mentioned his cocktail experiments, which don't happen until this week. And now, a bulleted list:
As far as I know, Tetsuo's observation about the air freshener in this chapter is the only explicit acknowledgement that Constellation Games takes place in the future. You'll notice there's no year on the dates in the blog posts. Even within the commentary I was going to play coy about the exact year, but I'll just tell you that it's 2015. That's the only year that's consistent with Ariel's age, the dates of holidays, the American election cycle, phases of the moon, and so on. I typed cal 2015 more times than you'd believe while writing this book.
I didn't give the year in-story because of something I noticed with "Mallory". That story officially takes place in 2007, but because the year isn't in your face, it could be as late as 2010. The only jarring 2007 detail is the clunky pre-iPhone cells. Not naming a year gives a near-future story a few years of "this could be now" and a few years of "this could be the recent past". Things don't generally change that fast. My hope is that this phenomenon buys Constellation Games enough time to make it to the actual 2015 without becoming dated.
- The original title for this chapter was "Second Chances". That fits pretty well but it's a reference to the fictional sitcom from chapter 16, which no one remembers by this point. "Everyone With Cartoon Violence" doesn't fit terribly well (it would be a better title for chapter 28, and I actually thought I'd changed it), but as a string of words it can't be beat. I'm gonna say the "Cartoon Violence" is a reference to Ariel's Ninja Turtles story.
- I've noticed it's common for someone not to get along with their parents even though their parents are perfectly nice people. I don't really understand it, but I suspect I would if my father had lived into my adulthood. Anyway, I tried to depict that phenomenon here, without taking sides.
- Tetsuo's a little light on the "worse than Beatlemania" details, but hopefully you're starting to see why there's no port back to Constellation space right now.
- Lots of the Slow People stuff mentioned here (especially the making of backups) is dramatized in "The Time Somn Died". The next few chapters lay a lot of the groundwork for "Somn", and I'm not going to point it out every time.
- Random influences: Ariel's parents' house is closely modelled after the last house my mother lived in. The Ninja Turtles story is made up, but inspired by conversations I've had with Lucian Kahn. The chummy narrative voice of Your Quiescent Achievement was inspired by WWII-era military "Pocket Guides".
- My phone's bootup message is "This is Your Quiescent Achievement."
- Ariel's dad's line about Ariel being an unreliable narrator was originally "The neutrality of this story has been disputed." It's his only line in the novel.
- Very early in my worldbuilding, Ariel had a younger sister named Britomart. She probably would have been in this scene, but given that Ariel's dad has one line and Raphael only shows up in Ariel's stories, more family members are totally unnecessary. But I wanted to mention Britomart as one more example of how terrible Ariel's parents are at naming kids. Let's say they were like "Ariel if it's a boy, Britomart if it's a girl."
"I don't think it has much in common with the Internet" is, for me, Curic's Crowning Moment of Awesome. An odd choice? Perhaps, but consider the following. Curic's overlay just deployed a secure interplanetary communications network under the guise of shiny toys for humanity, and she's not even interested in the technology. She just needs an open communication channel to do her job. It's "the net interprets censorship as damage" taken to an extreme.
I wouldn't call it "awesome", but I also love how good Curic is at pushing Ariel's buttons here.
Is there more toil? Since thou dost give me pains,
Let me remember thee what thou hast promised,
Which is not yet perform'd me.
- I really hate it when people put disclaimers in their apologies. Stop it! If you're still trying to have the argument, you're not apologizing.
- Curic never lies to Ariel. But in retrospect, it's good I had to change it so we heard the truth about ambivalence from Tetsuo (see last week's commentary). There'd really be no reason to trust that information coming from Curic.
And I say Curic never lies to Ariel, but the third draft went through a phase where she did, and it's possible I never took that out. So I dunno!
Before I go, a little bonus deleted snippet from the Ariel/Curic conversation, which might be of interest:
"The mature thing to do is to send for help before you end up
like the Inostrantsi."
"The Inostrantsi are still around," I pointed out.
"The Inostrantsi reproduce by budding," said Curic. "They didn't have
much genetic diversity to lose. They're also immortal, so the
surviving individuals had good memories of pre-collapse society. Let's
not push our luck, Ariel."
Okay! Good commentary, everybody. Tune in next week for Tetsuo's first college lecture, during the course of which he will say, "I'm sorry, I just assumed there was space travel."
Image credits: Azmeen Afandi, Brian Sterling, yours truly.
← Last week
(1) Fri May 25 2012 11:25 Crazy the Scorpion: A cooperative card game:
I've been having a great time with a card game Beth Lerman and I invented, a game which I'm calling "Crazy the Scorpion", for the same reason "Exquisite Corpse" is called what it is. If you want a less interesting title it can also be called "Newsworthy".
Crazy the Scorpion is based on the "fun variant" of Man Bites Dog invented in 2010 by Kevan Davis, Holly Gramazio, and myself, but it's even more fun, and replayable to boot. I've tested it with two and three players. It should work with four, but probably not more than four. It plays in 20-30 minutes. I'm releasing these rules, and the print-and-play cards (see below) into the public domain.
Parts
To play Crazy the Scorpion, you need two decks of cards:
- A copy of Man Bites Dog.
- A stack of Trivial Pursuit cards.
Trivial Pursuit cards should be easy to find--in my experience, the Trivial Pursuit family is the single most common board game find at thrift stores and yard sales. You can also use Once Upon a Time cards or red Apples to Apples cards (not playtested).
Man Bites Dog is tougher to find, but I've made a print-and-play deck of 128 headline words. I constructed the words by looking at a news site, independently of Man Bites Dog, and the words are optimized for Crazy the Scorpion and not Man Bites Dog, and you can't play Man Bites Dog with my deck anyway because the cards have no point values.
Goal
The goal is to construct a 5x5 magic square of headlines, out of headline cards and Trivial Pursuit answers. The best way to explain the game is with a...
Sample of play
I start the game. I draw the Man Bites Dog card "SCAM", and a Trivial Pursuit card with these answers:
- Haiti
- "Judy, Judy, Judy"
- Eva Peron
- Gopher
- The Montreal Canadiens
- A pen
I lay down the cards like so, and designate the Trivial Pursuit card as the "Gopher" card.
The headline reads "Gopher Scam". Other legal layouts include "Scam The Montreal Canadiens" and "A Pen Scam". Anything that could conceivably be a headline in any universe. I could have laid out the headline horizontally or vertically.
Now it's your turn. You draw the Man Bites Dog card "DEVOTED" and a Trivial Pursuit card with these answers:
- Prancer
- Hootie
- Viscosity
- Abraham Lincoln
- A goalie
- Elizabeth Hurley
You lay down your cards like so, and designate your Trivial Pursuit card the "Abraham Lincoln" card:
Now there are two headlines: "Devoted Gopher Scam" and "Devoted Abraham Lincoln". Other legal placements would create headlines like "Gopher: Scam A Goalie", "Devoted Gopher" (created by placing "Devoted" above "Gopher"), and "Scam Prancer Devoted".
"Gopher A Goalie" is an illegal placement: it would put two Trivial Pursuit cards next to each other, which violates suggestion #1. "A Pen Devoted" is also illegal: it would rename "Gopher" to "A pen", violating suggestion #2.
Now it's my turn again. I draw the Man Bites Dog card "DRUGS" and a Trivial Pursuit card with the following answers:
- Russia
- Somewhere over the rainbow
- Selma
- A quantum
- Dennis Rodman
- Rob Roy
I lay down my cards like so, and designate my Trivial Pursuit card the "A quantum" card:
Now there are six headlines:
- Devoted Gopher Scam
- Abraham Lincoln Drugs A Quantum
- Devoted Abraham Lincoln
- Gopher Drugs
- Scam A Quantum
Among other legal moves, I could have formed "Devoted Gopher Scam Drugs Dennis Rodman" instead.
Halfway through my third turn, we might have a nice 3x3 magic square that looks like this:
Or, in textual form:
| Devoted | Gopher | Scam |
| Abraham Lincoln | Drugs | A quantum |
| Judge | A net | Tourist |
Forming these six headlines:
- Devoted Gopher Scam
- Abraham Lincoln Drugs A Quantum
- Judge A Net Tourist
- Devoted Abraham Lincoln
- Gopher Drugs A Net
- Scam A Quantum Tourist
(More likely, that early in the game we wouldn't have a magic square at all. But this makes for a better illustration.)
By the end of the game we'll have headlines like "The Ladybug Judge A Net Tourist, Charlemagne Blasts" and "Nicotine-Devoted Abraham Lincoln: Judge Buckminster Fuller's Movie."
Now I think you're ready for the...
Official Rules
The goal is to construct a 5x5 magic square of headlines. Or, for the adventurous, a 6x6 square. Players take turns drawing two cards (one from each deck) and placing them in a grid. The game ends when the magic square is complete. The game may end in the middle of one player's turn.
When playing a Trivial Pursuit card, the player names the card after one of its answers. The card is considered to have that name for the rest of the game.
Each played card must be orthogonally adjacent to at least one card already played.
Suggestions
The game is better if you follow these suggestions, but in specific cases you might get funnier headlines by breaking them.
- Man Bites Dog cards should not touch other Man Bites Dog cards, and Trivial Pursuit cards should not touch other Trivial Pursuit cards. You want to get a nice checkerboard pattern.
- Don't rearrange, rename, or remove cards once they're played.
- Headlines must make some kind of sense at every stage. This is more a requirement that you come up with a story about each headline, than an admission that there's some sequence of words that cannot conceivably be a headline.
Analysis
The Man Bites Dog cards are full of words that clearly belong in headlines, but which (for the sake of generality) include no details. Trivial Pursuit answers are disconnected references to newsworthy topics. Combining them yields sentences that feel like real, specific headlines, but make no sense whatsoever.
Have fun!
[Main]  | Unless otherwise noted, all content licensed by Leonard Richardson under a Creative Commons License. |