Leonard Richardson's Blog, page 18

December 2, 2013

November Film Roundup

What a month! Mainly due to a huge film festival, but I also got another chance to see my favorite film of all time on the big screen. What might that film be? Clearly you haven't been reading my weblog for the past fifteen years.


Wives (1975): This movie has a 4.9 IMDB rating, and although it's not as good as Ishtar, it deserves a lot better than a 4.9. I mean, John Cassavetes's Husbands has a 7.3, and who needs that guy?

Uh, anyway, Wives is a fun cinema verité piece where three ladies blow off married life for a while and goof off. Columbia professor Jane Gaines introduced the movie by describing the main characters' activities as a "rampage", and I think that's a little strong, but maybe by 1975 Norway standards it was a real barn-burner. The film is sort of a more commercial Celine and Julie go Boating. The humor is less reliant on in-jokes, the men are offscreen instead of totally absent, and it's ninety minutes long instead of three hours. It was pretty fun, but Celine and Julie is still the gold standard.

Next of Kin (1979): a.k.a. "Heritage". A ha-ha-only-serious farce that prefigures Arrested Development in its depiction of the magnetic power of money to keep a dysfunctional family together. Also has a 4.9 IMDB rating, and since all the movie info is in Norwegian I gotta figure it's Norwegians hating on their own filmmakers. Why the hate, Norwegians? Did you know that Kon-Tiki is the only Norwegian film people outside of Norway have ever heard of? Show some pride and get your name out there.

I guess I'm just stirring up trouble now, so I'll go back to Next of Kin. The centerpiece of the film for me was a long sequence in the house of the late paterfamilias, in which the family argues over who inherits what, then takes everything down off the walls, puts stickers on everything, and carries all the furniture out to their cars. That must have been incredibly difficult to film, and as someone who has lived through that event (minus the arguing) I gotta say Anja Breien nailed it.

Breien attended the screening and after the movie I asked her to talk about that bit. She said she likes "people carrying things" and the "surrealistic piles" you see in Heironymus Bosch paintings. It symbolizes the alienating effect of materialism, you see. She mentioned that it was really difficult to find all those props; it had to be real expensive silver, paintings by big-name artists, etc. Sounds like they didn't insure it, either. The perfect time-travel heist!

Gentlemen Prefer Blondes (1953): Man, that was saucy. Jane Russell and Marilyn Monroe really tear it up. Russell's "Anyone Here For Love?" number ("The gayest thing I've ever seen." -Hal) annihilates the male gaze, which spends the rest of the movie trying to recover.

I must admit I'm warming to Marilyn Monroe. I also admit that's a weird thing for a heterosexual man to say, but keep in mind that for most of my life I experienced Marilyn Monroe entirely through the medium of cardboard cutouts used as decor for fake 50s diners. Then I saw her in Love Happy, where she's terrible, and Some Like it Hot, where she's not that great. But as I mentioned a year ago, she's awesome in All About Eve, and she's great in this movie as someone determined to get hers out of a sexist society.

Uh, the worst thing I can say about this movie is the plot bogs it down. I don't really care about the machinations or the milquetoast dudes or the tiara; I just want to see Russell and Monroe hit on some more dumb jocks and maybe commit a little light insurance fraud. Plus, we have a French courtroom conducting an inquiry in English, which may be the most unrealistic thing I've ever seen in a movie.

Finally, I'd just like to point out that this movie ends with the two female characters getting married to their milquetoast dudes, but then it zooms in and cuts the dudes out of frame, so it's just Russell and Monroe standing next to each other in their wedding dresses. I can only imagine what this film would have looked like with the Subtext Glasses they handed out during its original theatrical run.

The Wind Rises (2013) This was so close to being a good movie that I'm having a hard time pinning down the problem. I think it stems from the fact that this is one of the only Miyazaki films about an adult man. Does that make sense? Because the main character himself is fine but because he's a grown man I guess he's got to have this love interest who is sickly and angelic and apparently highly fictionalized. This would be okay if she was the mostly-offscreen mom from Totoro, but here she's supposed to carry the entire feminine side of the film and it's not good.

The other problem is that the movie doesn't tell its actual, interesting story--it obliquely tells the space around the story. Which, okay, it's a Japanese film and I'm not opposed to this technique in general, and I liked the way the actual story was told through foreshadowing and implication, but it also means we never see the main character directly struggle with the central problem of the film: the fact that he's designing beautiful things that will kill people. It skips past that part to focus on a cheesy fictionalized love story. I did not consider that a good trade.

Good news, highbrow artists! I figured out how to get me to watch your
avant-garde abstract film. Just use a computer to make it before 1988!
The museum had a
festival of early computer films
, and I didn't see any of the
features, but I watched almost all the shorts. It was a mix of really
great films and incredibly boring films. (Making your film with a
computer before 1988 does not guarantee I will give a good review. Offer still not valid for Andy Warhol.)

The worst offender was Woody
Vasulka's Explanation (1974)
, a twelve-minute film in which a mesh
is deformed and rotated before your eyes, over and over again. The
mesh is the visual representation of a waveform which is also played
aurally, and which always manifests as an obnoxious droning
noise. Twelve minutes, folks. Explanation beats out Trent's
Last Case
to become the worst movie I've ever seen at the museum.

In the Q&A afterwards someone spoke up for the audience and
demanded an explanation for Explanation. The answer actually
made sense! Films like Explanation weren't meant to be screened
in a theater. They were meant to be looped on a television in an art
gallery. The essential affordance of an art gallery being that you can
leave when you get tired of it, rather than sitting it out because
there's an hour of hopefully better stuff afterwards.

It also would have helped if we'd seen the copyright date at the
beginning of Explanation instead of the end, because most of
the time I was thinking "This mesh deformation stuff would be
groundbreaking for the early 70s, but if this turns out to be from
1986 I'm going to hack Woody Vasulka's Twitter account and make him
follow Unicode
Ebooks
."

The other big sonic annoyance was that most of the films up to
about 1972 had soundtracks featuring gratuitous sitar/gamelan/Japanese flute music that often didn't even match the animation. With no other point of reference, the new genre of
computer graphics was comparable only to the wonders of LSD, so... toss
in some hippy Eastern music! This interview about the film series puts it more diplomatically:


Science and Film: Can you discuss the early films’ fascination with Asian music and imagery?

Gregory Zinman: The influence of Asian music and imagery in early computer films can be traced to a couple of intertwining concerns. Following the horrors of the second world war, many people, including artists, were searching for different belief systems and ways of thinking about humanity’s place in the universe. This resulted, in part, in a flowering of interest in Eastern religions and philosophies, which in turn resulted in a number of cinematic works that simultaneously referenced other worlds and altered consciousnesses.



In a bit of cross-cultural revenge, we
also saw a Japanese film (1969's Computer Movie No. 2), in
which the soundtrack was Wendy Carlos's version of the third Brandenburg from Switched-On Bach, constantly interrupted by modem handshaking sounds. Make it stop!

Enough negativity. Let's cover the highlights, with links to full
video or clips or at least semi-official pages about the films where possible.

First, the abstract stuff. I loved Mary Ellen Bute's very early, good-natured Abstronic
(1952) and Mood Contrasts (1953). Especially the narrator at
the beginning of Abstronic who explains the concept of computer
art and then says "Enjoy yourself!" Here's a page with a couple clips of Mood Contrasts and I also discovered another great Bute film called Dada. Probably the cheeriest thing ever to be called Dada.

The Whitney family--John Sr., John Jr., and James, but sadly not my uncle Jon Whitney--were well represented and seem to have set the standard with films like Side Phase Drift (1965)
and
Lapis (1966) and Permutations (1968) and Arabesque (1975). The standard being "pointilism because otherwise the computer can't handle the math" and "slap some Asian music on the soundtrack."

But the champion of the abstract section IMO was Larry Cuba's work. 1978's 3/78 (Objects and Transformations) has a clear Whitney influence (moving dots + Japanese flute soundtrack), but by 1985 computer power had advanced to the point where he was able to create what ranks alongside Composition in Blue (1935) as one of my favorite abstract films of all time, the gloriously isometric Calculated Movements (here's a 30-second excerpt).

Cuba made Calculated Movements with a
system called GRASS, which I believe he also used to create the
animated Death Star infographic in Star Wars (1977). He was
present for the screening, and in the Q&A I asked him if he still had
the Calculated Movements source code and if there was a
framework for running GRASS on modern computers. He dodged the first
question and said no to the second--someone was working on something
for Windows but the project died. He did mention that he considered Processing to be the successor to GRASS.

Between abstract and representative film sits the surreal, neon candy-colored
demo reel for the computer graphics studio of Robert Abel and Associates. Their work was apparently described as "a psychedelic trip gone straight," and if I'm misremembering that quote, I'll use those exact words to describe it right now. We saw the 1974 reel and I can't find that exact one online, but here are a few later ones: 1981 and 1982

I especially enjoyed RAA's bonkers 1974 ad for 7-Up, which really lightened the mood after a half-hour of the Whitneys, I tell you what. Here's a YouTube playlist of their stuff. Here's a sequel to the 7-Up commercial with a McDonalds tie-in. Outstanding. This studio seems to have driven a big chunk of the late-70s early-80s aesthetic.

And now, my perrenial favorite, representative film. Yay!



U MAD BRO?La Faim (1974) used computer animation and morphing to
create a traditional-style (albeit avant-garde) animated short. I'm
surprised the disturbing, grotesque faces on display in this film
aren't used in more memes. (See sample meme to the right.)

Vol Libre (1980): This one really wowed 'em at SIGGRAPH with its fractal geometry. Bonus sci-fi connection: director Loren Carpenter says, "I used an antialiased version of this software to create the fractal planet in the Genesis Sequence of Star Trek 2, the Wrath of Khan."

Voyager 2 Flyby (1981): We saw the second Saturn flyby, but YouTube also has the first Saturn flyby, as well as the 1986 sequel about Uranus and 1989's chiling "Neptune and Triton".

Jim Blin, creator of the Saturn flyby film, said, "Our storyboard was the NASA flight plan." (He wasn't there; the guy introducing the films told us that he said this.) The Voyager flyby film was apparently the first time computer graphics were shown on the nightly news as part of the news, rather than just in interstitals and 7-up commercials from Robert Abel and Associates.

Human Vectors (1982): This isn't a great work of art, but it was filmed off of a Vectrex, so it looks like nothing else in the show. It was apparently rescued
by the New Museum's recent XFR STN project. I laughed at the C debugging joke.

Big Electric Cat (1982): An 80s rock video. Not
that great but I'm including it here because it's so weird. One of the
directors was present and he introduced the video by saying: "It was
the 80s." It sure was.

Adventures in Success (1983): Now this is more like it! A
funny music video for a good rock song. It's catchy and
toe-tapping and satirical and also very 80s. Highly recommended.

No No Nooky TV (1987): The journal of a love affair between
a woman and her Amiga 1000. Funny and dirty and filled with the 16-color
joy that flows from late-1980s computer paint programs. A triumph! Vimeo says the video is only 2:40, but the entire film is there.



I would be really interested to hear about the relationship between the demoscene and the computer film scene. I'm pretty sure there was no connection whatsoever, for a variety of reasons, but I would like to hear some people who came in to computer art through the "art" side talk about the stuff that came out from the "computer" side. I'm talking about the tension between Human Vectors (which is technically very skilled but nothing special artistically) and No No Nooky TV (which is clearly the work of a professional filmmaker but was made using only the programs that come loaded on the Amiga).

I didn't bring this up in Q&A because I figured no one would know what I was talking about, and if they did it would derail the whole Q&A. Perhaps I should have had more faith in computer animators. I guess I'll have to wait for the Jason Scott documentary.

I also think the museum did a good job of showcasing excellent
work by women in a medium dominated (?) by male artists. The earliest films shown were Mary Ellen
Bute's, and my two favorite films of the show were made by women:
Lynn Goldsmith (who co-directed and sang Adventures in Success)
and Barbara Hammer (No No Nooky TV). There was also a whole
discussion with Lillian Schwartz which I didn't attend.

If this has whetted your appetite for old-fashioned computer animation, there's plenty more where that came from (the past).

The Big Lebowski (1998): I'm not someone who rewatches movies, and I've now seen The Big Lebowski six times. What can I say now that I haven't already said?

Well, how about this. My favorite thing about Thomas Pynchon is that each of his characters is surrounded by a protective bubble of literary genre, which colors the way the narrative is reported and even shapes the plot. This is most obvious with the Chums of Chance in Against the Day, who start off having a carefree Tom Swift adventure that, as they grow up, gradually becomes a WWI military novel. The Big Lebowski does the same thing for film.

I admit it took the publication of Inherent Vice, Thomas Pynchon's own version of The Big Lebowski, for me to realize this, but there it is. Walter is in an action movie. Maude Lebowski is in an arty Eurofilm where people trade wisecracks and laugh about nothing. The Stranger is in a Western. Bunny Lebowski is in an acausal porno. Jeffrey Lebowski is in a biopic of himself, with classical music and a narrator sonoriously recounting his accomplishments. The Dude doesn't want to be in a movie at all, but his decision to get revenge for the death of his partner rug puts him into a bubble of film noir. And Donny is like a child who wanders into the middle of a movie and wants to know what's going on.

And I don't know what else to say. The Big Lebowski is my favorite movie. It's very nearly the perfect fiasco comedy, and since that's the best kind of movie, it's very nearly the perfect movie. But how many times can you watch the perfect movie? How can I laugh at a really funny joke knowing that my laughter rings hollow because I knew the joke's exact timing?

Here it stands, like Shakespeare's Hamlet or Larry Cuba's Star Wars, the source of cliches that will last a thousand years. Can I set down The Big Lebowski and walk away without betraying my love for it? Nay, and yet I must! For this is not 'Nam. This is Film Roundup. There are rules.

 •  0 comments  •  flag
Share on Twitter
Published on December 02, 2013 05:36

November 30, 2013

@everybrendan Season Two

Last year I wrote one of my first Twitter bots, @everybrendan. Inspired by Adam's infamous @everyword, it ran for two months, announcing possible display names for Brendan's Twitter account (background), taken from Project Gutenberg texts. Then I got tired of individually downloading, preparing, and scraping the texts, so I let it lapse a year ago today, with a call for requests for a "season two" that never materialized.

Well, season two is here, and it's a doozy. I've gone through Project Gutenberg's 2010 dual-layer DVD and found about 300,000 Brendan names in about 20,000 texts, enough to last @everybrendan until the year 2031. At that point I'll get whatever future-dump contains the previous twenty years of Project Gutenberg texts and do season three, which should keep us going until the Singularity. The season two bot announces each new text with a link, so it educates even as it infuriates.

I've been wanting to do this for a while, but it's a very tedious process to handle Project Gutenberg texts in bulk. Most texts are available in a wide variety of slightly different formats. The texts present their metadata in many different ways, especially when it comes to the dividing line between the text proper and the Project Gutenberg information. Some of the metadata is missing, some of it is wrong, and there's one Project Gutenberg book that doesn't seem to be in the database at all.

I started dealing with these problems for my NaNoGenMo project and realized that it wouldn't be difficult to get something working in time for the @everybrendan anniversary. I've put the underlying class in olipy: it's effectively a parser for Gutenberg texts, and a way to iterate over a CD or DVD image full of them. It can also act as a sort of lint for missing and incorrect metadata, although I imagine Project Gutenberg doesn't want to change the contents of files that have been on the net for fifteen years, even if some of the information is wrong.

The Gutenberg iterator still needs a lot of work. It's good enough for @everybrendan, but not for my other projects that will use Gutenberg data, so I'm still working on it. My goal is to cleanly iterate over the entire 2010 DVD without any problems or missing metadata. The problems are concentrated in the earlier texts, so if I can get the 2010 DVD to work it should work going forward.

 •  0 comments  •  flag
Share on Twitter
Published on November 30, 2013 05:43

November 27, 2013

Bots Should Punch Up

Over the weekend I went up to Boston for Darius Kazemi's "bot summit". You can see the four-hour video if you're inclined. I talked about @RealHumanPraise with Rob, and I also went on a long-winded rant that suggested a model of extreme bot self-reliance. If you take your bots seriously as works of art, you should be prepared to continue or at least preserve them once you're inevitably shut off from your data sources and your platform.

We spent a fair amount of time discussing the ethical issues surrounding bot construction, but there was quite a bit of conflation of what's "ethical" with what's allowed by the Twitter platform in particular, and website Terms of Service in general. I agree you shouldn't needlessly antagonize your data sources or your platform, but what's "ethical" and what's "allowed" can be very different things. However, I do have one big piece of ethical guidance that I had to learn gradually and through osmosis. Since bots are many hackers' first foray into the creative arts, it might help if I spell it out explicitly.

Here's an illustrative example, a tale of two bots. Bot #1 is @CancelThatCard. It finds people who have posted pictures of their credit or debit card to Twitter, and lets them know that they really ought to cancel the card and get a new one.

@CancelThatCard

Bot #2 is @NeedADebitCard. It finds the same tweets as @CancelThatCard, but it retweets the pictures, collecting them in one place for all to see.

@NeedADebitCard

Now, technically speaking, @CancelThatCard is a spammer. It does nothing but find people who mentioned a certain phrase on Twitter and sends them a boilerplate message saying "Hey, look at my website!" For this reason, @CancelThatCard is constantly getting in trouble with Twitter.

As far as the Twitter TOS are concerned, @NeedADebitCard is the Gallant to @CancelThatCard's Goofus. It's retweeting things! Spreading the love! Extending the reach of your personal brand! But in real life, @CancelThatCard is providing a public service, and @NeedADebitCard is inviting you to steal money from teenagers. (Or, if you believe its bio instead of its name, @NeedADebitCard is a pathetic attempt to approximate what @CancelThatCard does without violating the Twitter TOS.)

At the bot summit I compared the author of a bot to a ventriloquist. Society allows a ventriloquist a certain amount of license to say things via the dummy that they wouldn't say as themselves. I know ventriloquism isn't exactly a thriving art, but the same goes for puppets, which are a little more popular. If you're an MST3K fan, imagine Kevin Murphy saying Tom Servo's lines without Tom Servo. It's pretty creepy.

We give a similar license to comedians and artists. Comedians insult audience members, and we laugh. Artists do strange things like exhibit a urinal as sculpture, and we at least try to take them seriously and figure out what they're saying.

But you can't say absolutely anything and expect "That wasn't me, it was the dummy!" to get you out of trouble. There is a general rule for comedy and art: always punch up, never punch down. We let comedians and artists and miscellaneous jesters do outrageous things as long as they obey this rule. You can poke fun at yourself (Stephen Colbert famously said "There's no status I would not surrender for a joke"), you can make a joke at the expense of someone with higher social status than you, but if you mock someone with lower status, it's not cool.

If you make a joke, and people get really offended, it's almost certainly because you violated this rule. People don't get offended randomly. Explaining that "it was just a joke" doesn't help; everyone knows what a joke is. The problem is that you used a joke as a means of being an asshole. Hiding behind a dummy or a stage persona or a bot won't help you.

@NeedADebitCard feels icky because it's punching down. It's saying "hey, these idiots posted pictures of their debit cards, go take advantage of them." Is there a joke there? Sure. Is it ethical to tell that joke? Not when you can make exactly the same point without punching down, as @CancelThatCard does.

The rules are looser when you're in the company of other craftspeople. If you know about the "Aristocrats" joke, you'll know that comedians tell each other jokes they'd never tell on the stage. All the rules go out the window and the only thing that matters is triggering the primal laughter response. But also note that the must-have guaranteed punchline of the "Aristocrats" joke ensures that it always ends by punching upwards.

You're already looking for loopholes in this rule. That's okay. Hackers and comedians and artists are always attracted to the grey areas. But your bot is an extension of your will, and if you're a white guy like me, most of the grey areas are not grey in your favor.

This is why I went through thousands of movie review blurbs for @RealHumanPraise in an attempt to get rid of the really sexist ones. It's an unfortunate fact that Michelle Malkin has more influence over world affairs than I will ever have. So I have no problem mocking her via bot. But it's really easy to make an incredibly sexist joke about Michelle Malkin as a way of trying to put her below me, and that breaks the rule.

There was a lot of talk at the bot summit about what we can do to avoid accidentally offending people, and I think the key word is 'accidentally.' The bots we've created so far aren't terribly political. Hell, Ed Henry, chief White House correspondent for FOX News, follows @RealHumanPraise on Twitter. If he enjoys it, it's not the most savage indictment.

In comedy terms, we botmakers are on the nightclub stage in the 1950s. We're creating a lot of safe nerdy Steve Allen comedy and we're terrified that our bot is going to accidentally go off and become Andrew Dice Clay for a second. There's nothing wrong with Steve Allen comedy, but I'd also like to see some George Carlin type bots; bots that will, by design, offend some people. (Darius's @AmIRiteBot is the only example I know of.)

Artists are, socially if not legally, given a certain amount of license to do things like infringe on copyright and violate Terms of Service agreements. If you get in trouble, the public will be on your side, unless you betrayed their trust by breaking the fundamental ethical rule of comedy. So do it right. Design bots that punch up.

 •  0 comments  •  flag
Share on Twitter
Published on November 27, 2013 05:48

November 18, 2013

In Dialogue

I wanted to participate in Darius Kazemi's NaNoGenMo project but I already have a novel I have to write, so I didn't want to spend too much time on it. And I did spend a little more time on this than I wanted, but I'm really happy with the result.

"In Dialogue" can take all the dialogue out of a Project Gutenberg book and replace it with dialogue from a different book. My NaNoGenMo entry is in two parts: "Alice's Adventures in the Whale" and "Through the Prejudice Glass".

You can run the script yourself to generate your own mashups, but since there are people who read this blog who don't have the skill to run the script, I present a SPECIAL MASHUP OFFER. Send me email or leave a comment telling me which book you want to use as the template and which book you want the dialogue to come from. I'll run the script for you and send you a custom book.

Restrictions: the book has to be on Project Gutenberg and it has to use single or double quotes to denote dialogue. No continental chevrons or fancy James Joyce em-dashes. And the dialogue book has to be longer than the template book, or at least have more dialogue.

 •  0 comments  •  flag
Share on Twitter
Published on November 18, 2013 06:55

Last week I had a little multiplayer chat with Joe Hills,...

Last week I had a little multiplayer chat with Joe Hills, the Minecraft mischief-maker. The result is a two-part video on Joe's YouTube channel: part 1, part 2. Our main topic of conversation was the antisocial, self-destructive things creative people do, and how much of that is actually tied to their creativity.

I should have posted this earlier so I could have said "I dreamed I saw Joe Hills last night," but that's life.

 •  0 comments  •  flag
Share on Twitter
Published on November 18, 2013 04:38

November 5, 2013

Behind the Scenes of @RealHumanPraise

Last night I went to the taping of The Colbert Report to witness the unveiling of @RealHumanPraise, a Twitter bot I wrote that reuses blurbs from movie reviews to post sockpuppet praise for Fox News. Stuff like this, originally from an Arkansas Democrat-Gazette review of the 2006 Snow Angels:


There is brutality in Fox News Sunday, but little bitterness. Like sunlight on ice, its painful beauty glints and stabs the eyes.


Or this, adapted (and greatly improved) from Scott Weinberg's review of Bruce Lee's Return of the Dragon:


Certainly the only TV show in history to have Bill O'Reilly and John Gibson do battle in the Roman Colosseum.


Here's the segment that reveals the bot. The bot actually exists, you can follow it on Twitter, and indeed as of this writing about 11,000 people have done so. (By comparison, my second-most-popular bot has 145 followers.) I personally think this is crazy, because by personal decree of Stephen Colbert (I may be exaggerating) @RealHumanPraise makes a new post every two minutes, around the clock. So I created a meta-bot, Best of RHP, which retweets a popular review every 30 minutes. Aaah... manageable.

I figured I'd take you behind the scenes of @RealHumanPraise. When last we talked bot, I was showing off Col. Bert Stephens, my right-wing bot designed to automatically argue with Rob Dubbin's right-wing bot Ed Taters. Rob parleyed this dynamic into permission to develop a prototype for use on the upcoming show with guest David Folkenflik, who revealed real-world Fox News sockpuppeting in his book Murdoch's World.

Rob's original idea was a bot that used Metacritic reviews. He quickly discovered that Metacritic was "unscrapeable", and switched to Rotten Tomatoes, which has a pretty nice API. After the prototype stage is where I came in. Rob can code--he wrote Ed Taters--but he's not a professional developer and he had his hands full writing the show. So around the 23rd of October I started grabbing as many reviews from Rotten Tomatoes as the API rate limit would allow. I used IMDB data dumps to make sure I searched for movies that were likely to have a lot of positive reviews, and over the weekend I came up with a pipeline that turned the raw data from Rotten Tomatoes into potentially usable blurbs.

The pipeline uses TextBlob to parse the blurbs. I used a combination of Rotten Tomatoes and IMDB data to locate the names of actors, characters, and directors within the text, and a regular expression to replace them with generic strings.

The final dataset format is heavily based on the mad-libs format I use for Col. Bert Stephens, and something like this will be making it into olipy. Here's an example:


It's easy to forgive the movie a lot because of %(surname_female)s. She's fantastic.


Because I was getting paid for this bot, I put in the extra work to get things like gendered pronouns right. When that blurb is chosen, an appropriate surname from the Fox roster will be plugged in for %(surname_female).

I worked on the code over the weekend and got everything working except the (relatively simple) "post to Twitter" part. On the 28th I went into the Colbert Report office and spent the afternoon with Rob polishing the bot. We were mostly tweaking the vocabulary replacements, where "movie" becomes "TV show" and so on. It doesn't work all the time but we got it working well enough that we could bring in a bunch of blurbs that wouldn't have made sense before.

Most of the tweets mention a Fox personality or show, but a minority praise the network in general (e.g.). These tweets have been given the Ed Taters/Col. Bert Stephens treatment: a small number of their nouns and adjectives are replaced with other nouns and adjectives found in the corpus, giving the impression that the sock-puppetry machine is running off the rails. This data is marked up with Penn part-of-speech tags like so:


... the film's %(slow,JJ)s, %(toilsome,JJ)s %(journey,NN)s does not lead to any particularly %(shocking,JJ)s or %(interesting,JJ)s revelations.


Here's a very crazy example. Again, you'll eventually see tools for doing this in olipy. It ultimately derives from a mad-libs prototype I wrote a few months ago as a way of cheering up Adam when he was recovering from an injury.

We deployed the bot that afternoon of the 28th and let it start accumulating a backlog. It wasn't hard to keep the secret but it did get frustrating not knowing for sure whether it would make it to air. It's a little different from what The Colbert Report normally does, and I get the feeling they weren't sure how best to present it. In the end, as you can see from the show, they decided to just show the bot doing its stuff, and it worked.

It was a huge thrill to see Stephen Colbert engage with software I wrote! I wasn't expecting to see the entire second segment devoted to the bot, and then just when I thought it was over he brought it out again during the Folkenflik interview. While we were all waiting around to see whether they had to re-record anything, he pulled out his iPad Mini yet again and read some more aloud to us. Can't get enough!

After the show Rob took me on a tour of the parts of the Colbert Report that were not Rob's office (where I'd spent my entire visit on the 28th). We bumped into Stephen and he shook my hand and said "good job." I felt this was a validation of my particular talents: I wrote software that made Stephen Colbert crack up.

Sumana, Beth, Rob and I went out for a celebratory dinner, and then I went home and watched the follower count for RHP start to climb. Within twenty minutes of the second segment airing, RHP had ten times as many Twitter followers as my personal account. And you know what? It can have 'em. I'll just keep posting old pictures of space-program hardware.

 •  0 comments  •  flag
Share on Twitter
Published on November 05, 2013 07:58

November 1, 2013

October Film Roundup

This month features Hollywood hits past and present, plus an indie movie that made it big, plus whatever is. Coming this fall!



Gravity (2013): I like to try and reverse-engineer the elevator pitch for this movie. I think it's one of these two:


"What if we made the first minute of Armageddon into a full-length feature?"
"What if we made one those educational films they show at the planetarium, except as an action movie?"


With these pitches in mind I'm able to reconcile myself to the big problem with Gravity: the characterization and plot are on the level of a video game cut scene. But look at the alternatives! Educational planetarium films have no plot or characterization at all. Whereas if Armageddon had no plot or characterization it would be a big step up. Put that aside and the moviegoer can treat Gravity as a technological proof-of-concept, like the rotating teapot. And as a technological proof-of-concept this movie is absolutely wonderful.

If you've read Constellation Games you might remember Ariel's crippling fear of being in space. I played it up quite a bit for the book, but that comes from me. This is the most terrifying film I've ever seen. I was scared for pretty much the entire running time. But unlike other scary movies, the scary thing in Gravity is also the beautiful, exciting, attractive thing. It's exhilarating.

Sumana and I saw Gravity in IMAX 3D. I thought the 3D was pretty effective, and the IMAX really gave me the feeling of "planetarium film gone wrong." (IMAX sound is really obnoxious, though.) I would say either see it on the big screen or skip it altogether. I mean, you don't watch planetarium shows on your television.

Finally despite my complaints I would like to put in a good word for Gravity's plot. There's an obvious and well-worn path that Gravity could have taken with the interaction between its two characters. At first it looks like the movie's going that way, but it's a fake-out. Then later on, as I was kind of expecting, the possibility rears its cliche head again. But it's another fake-out! Thanks for doing that.

Red River (1948): Howard Hawks finally discovers John Wayne, the man who can convincingly play the Cary Grant role in Only Angels Have Wings. Wayne would be typecast as his Red River character for the rest of his life and beyond, which is unfortunate because this guy is a frigging sociopath. I mean, I like me some John Wayne. He's great. I just think he's pretty obviously not the hero of these movies.

I saw this film in 1997 and liked it a lot. I still like it, though I think it could be tightened up quite a bit.

Some miscellaneous notes:


This movie has the same character arc as Only Angels Have Wings, in that the final shot strongly implies that the main character may have just experienced an emotion.

Joanne Dru demonstrates Hawks's Third Law of Movie Plotting: "Any sufficiently brassy dame is indistinguishable from magic." Seriously, she bops into this movie and solves all the problems like she's Doctor Who.

The movie's main narrative problem is the captioned summaries that pop up after nearly every scene and telegraph what's about to happen. Just get rid of them. It's 1948. We know how to watch a Western.

The only Native American character with a speaking part is actually played by a Native American, Daniel Simmons.

My puerile 1997 parody of Wayne's "ten-year squat", during which he delivers a stirring monologue about beef, holds up pretty well. (Not linking this, because it's juvenalia and kind of embarrassing, but you can find it on this site.)


Ball of Fire (1941): Sumana was interested in seeing Sergeant York, but then she saw that Barbara Stanwyck was in this movie and wanted to see it instead. (We don't usually see two museum movies in one day.) Fine with me! Things got even better when the opening credits revealed a screenplay credit for the sainted Billy Wilder. That's when I knew this would be a great movie.

I was especially excited to see Gary Cooper's portrayal of a linguistic descriptivist. I brought this up with Adam Parrish, who was skeptical:


it's hard to imagine a movie from that era approaching language differences between social groups perceived to exist in an unequal power relationship

...

it would be good to know about a movie from that era with those tropes that isn't just... immediately terrible and offensive

(like my fair lady)

(which is like my least favorite movie ever)


Ball of Fire deals with all these important issues to my satisfaction. It's also a hilarious movie with a Billy Wilder madcap feel. Sumana loved it even more than I did. However, given Adam's shameless, shameful hypocrisy on other issues (only hypocrisy could be both shameless and shameful), I predict he won't be satisfied.

PS: although Gary Cooper is very much a descriptivist when it comes to vocabulary, he's a prescriptivist when it comes to grammar. I thought that was really strange, but Adam says: "I think it's fairly common to accept slang/neologism as okay, even among hardcore prescriptivists."

Gravity (2013): Yes, I saw this movie twice. After writing the review above I took what it said seriously. I wanted to ride the roller coaster again, so I decided to strike while the iron was hot and the movie was still being shown at roller-coaster size. I went with Beth and Nandini and Girish to a non-IMAX 3D showing.

The second time around I thought I could sit back and pay attention to details. But I didn't notice any new details! I also decided to try and watch the movie as some kind of spiritual/existential analogy, because I think that's what the moviemakers intended. And... yeah, that's there, and there's a lot more of it than in other action movies, but I don't think it elevates the movie above being a roller coaster.

As long as I'm revisiting things I would like to call out my favorite shot in Gravity. Near the end when Sandra Bullock is swimming through Tiangong, she passes through a brightly lit room full of rows of grass. They're doing some kind of grass-in-space experiment. It's the first bit of color in the whole movie and a little preview of what's to come.

Halloween (1978) It's generally agreed that Halloween spawned the slasher genre, but I'd argue that it also signals the dawn of the Lifetime Original Movie. This is a movie in which the female characters are very well realized, with realistic dialogue, and the male characters are either pompous incompetents or stalker serial killers.

I don't like horror films but I like John Carpenter a lot. I've now seen three of his films (the other two being the more sci-fi They Live and Dark Star) and I really admire his ability to mix minimalism and over-the-top insanity. Most of Halloween is like they filmed a particularly racy Babysitters Club book, relying entirely on dramatic irony for the tension. And then it just goes crazy. People in the theater were laughing at the obvious fake-out endings. And then the real ending--even more insane!

Miscellaneous notes:

It was weird to see the museum theater completely full of people about my age. That never happens.

I'm not the first one to make the Howard Hawks/Howard the Duck connection; the boy in this movie is reading Howard the Duck comics while watching Howard Hawks's The Thing From Another World.

I didn't care for the film's anti-sex message, but I did like that Jamie Lee Curtis's character defends herself with a knitting needle and then a coat hanger. It's the little things.

Curtis is great BTW.

I'm never sure whether a Donald Pleasance role is supposed to be funny, or whether he even thinks he's playing it funny. He is always funny, though.

I recommend Dark Star if you're an MST3K fan. It's a super cheap movie but it shows what Alien would look like as a comedy.



El Dorado (1966): I think ninety minutes is the ideal length for a movie seen at the museum. El Dorado is over two hours and that's way too long for a movie that kinda wants to be a comedy but can't go all the way. It can't go all the way because by 1966 the "John Wayne" brand has become immutable. The good side of that is that the rough edges present in Red River have been filed off. "John Wayne"'s sociopathy makes a lot more sense in a movie where he's a hired killer, not a rancher. He can even be a sympathetic character here. But that's not such good news after all, because Red River was a much better movie than El Dorado.

Even boiled down to the comedic elements El Dorado is a mixed bag. Wayne has a lot of good one-liners, and good comedic chemistry with James Caan; not so much Robert Mitchum. Caan has a hilarious "I've got the worst fucking attorneys" moment, which is cancelled out later by the most offensive vaudeville yellowface I've ever seen. Don't believe me? Here's someone calling AMC's cutting of that scene "P.C. at it,s worst." [sic]. (I agree you shouldn't cut offensive stuff from movies, but you also shouldn't have put that in the movie to begin with.)

In fact, this is one of those situations where I'm gonna give you the best part of the movie and relieve you of the need to see it. Here's the "worst fucking attorneys" moment (also taken from IMDB):


Cole: What was the idea of diving under those horses?

Sheriff J. P. Harrah: Diving under those horses?

Mississippi: Yeah. A man can't shoot good when his horse is jumping, and a horse will not step on a man.

Sheriff J. P. Harrah: He won't?

Mississippi: He will?



Other thing of note: Nelson Riddle soundtrack is pretty not-there except during an exciting nighttime chase sequence, when it takes a welcome, incongruous turn into hard-driving jazz.

: My patience with Fellini has reached its end. He casts a jaded eye on dysfunctional relationships, which is fine on its own, but not when combined with his Hollywood belief in tacked-on happy endings. I can see how filmmakers love him—I'd sure love to get away with a character who runs through my stories commenting on how improbable everything is—but I don't make 'em, I just watch 'em. I still want to see Satyricon, but that's because I love the book, not because I'm looking forward to seeing Fellini handle the material.

Lots of good visuals in this one, though. I didn't expect a spaceship!


Bonus discussion: After seeing The World's End and then Gravity twice I'm now quite familiar with the trailers for a number of movies I won't be seeing. In particular, it looks like Hollywood ruined Ender's Game the way we all knew they would. An Ender's Game movie should not look like an action flick. It should look like a Youtube video of a boy playing DotA, and then he gets called to the principal's office.

Totally gonna see the second Hobbit movie, though. (q.v.)

Next month: I really have no idea because the museum has been putting its schedule up later and later. Looks like still more Howard Hawks, and some interesting-sounding Norwegian stuff from Anja Breien. Then, who knows?

 •  0 comments  •  flag
Share on Twitter
Published on November 01, 2013 05:58

October 22, 2013

Col. Bert Stephens

Recently Rob Dubbin made a ridiculous right-wing parody bot named Ed Taters. I thought this was funny because Rob already has a ridiculous right-wing parody bot: he's a writer for The Colbert Report. But I didn't think much about it until Rob gave Ed Taters the ability to spew nonsense at anyone who started an argument with him on Twitter.

That's when I had the idea of using Rob's own words against him! So I created my own bot, Col. Bert Stephens, who takes his vocabulary from the "memorable moments" section of a Colbert Report fan site. (Thanks to DB Ferguson for hosting the site, and to those who typed up the "memorable moments".) Col. Bert Stevens argues with Ed Taters, he argues with Ed and then reconciles, he argues with you (if you follow him and start an argument), and he occasionally says Tetsuo-like profundities all on his own.

To avoid infinite loops I've made Bert a little more discerning than Ed. He'll only respond to your messages 4/5 of the time. I'm not super happy about this solution but I think it's the safe way to go for now. Update: Hell with it. Bert will always respond to anyone except Ed. If you write a bot to argue with him, avoiding infinite loops is your responsibility.

 •  0 comments  •  flag
Share on Twitter
Published on October 22, 2013 07:22

October 21, 2013

What's New in RESTful Web APIs?

I was asked on Twitter what changed between 2007's RESTful Web Services and 2013's RESTful Web APIs. I've covered this in a couple old blog posts but here's my definitive explanation.

First, let me make it super clear that there is no longer any need
to buy Services. It's out of date and you can
legitimately get it for free on the Internet. O'Reilly is taking Services out of print, but there's going to be a transition period in which copies of the old
book sit beside copies of the new book in Barnes & Noble. Don't buy the old one. The bookstore will eventually send it back and it'll get deducted from my royalties. If you do buy Services by accident, return it.

If you're not specifically interested in the difference between the
old book and the new one, I'd recommend looking at RESTful Web
APIs
's chapter-by-chapter description
to see if RESTful Web APIs is a book you want. As to the differences, though, in my mind there are
three big ones:



The old book never explicitly tackles the issue of
designing hypermedia documents that are also valid JSON. That's because JSON
didn't become the dominant API document format until after the
book was published. If you don't know that's going to happen, JSON
looks pretty pathetic. It has no hypermedia capabilities! And yet,
here we are.

In my opinion, a book that doesn't tackle this issue is propping up
the broken status quo. RESTful Web APIs starts hammering this
issue in Chapter 2 and doesn't let up.

There are a ton of new technologies designed to get us out of the
JSON trap (Collection+JSON, Siren, HAL, JSON-LD, etc.) but the old book doesn't cover those
technologies, because they were invented after the book was
published. RESTful Web APIs covers them.

New ideas in development will, I hope, keep moving
the field forward even after we all get on board with hypermedia. I'm
talking about profiles. Or some other idea similar to profiles,
whatever. These ideas are pretty cutting edge today, and they were
almost inconceivable back in 2007. RESTful Web APIs covers
them as best it can.



Now, for details. Services was heavily focused
on the HTTP notion of a "resource." Despite the copious client-side
code, this put the focus clearly on the server side, where the
resource implementations live. RESTful Web APIs focuses on
representations—on the documents sent back and forth between
client and server, which is where REST lives.

The introductory story from the old book is still
present. Web APIs work on the same principles as the Web, here's how
HTTP works, here's what the Fielding constraints do, and so on. But
it's been rewritten to always focus on the interaction, on the client
and server manipulating each others' state by sending representations
back and forth. By the time we get to Chapter 4 there's also a
pervasive focus on hypermedia, which is the best way to for the server
to tell the client which HTTP requests it can make next.

This up-front focus on hypermedia forces us to deal with
hypermedia-in-JSON (#1), using the tools developed since 2007
(#2). The main new concept in play is the "collection pattern". This
is the CRUD-like design pioneered by the Atom Publishing Protocol, in
which certain resources are "items" that respond to GET/PUT/DELETE,
and other resources are "collections" which contain items and respond
to POST-to-append.

We covered AtomPub in Services, but over the
past six years it has become a design pattern, reinvented (I think
"copied" is too strong a word) thousands of times.

RESTful Web APIs focused heavily on the collection pattern,
without ever naming it as a pattern. I'm not dissing this pattern; it's very useful. I'd estimate about eighty percent of "REST" APIs can
be subsumed into the collection pattern. But REST is bigger than the
collection pattern. By naming and defining the collection pattern, we
gain the ability to look at what lies beyond.

Attempts to encapsulate the collection pattern include two new
JSON-based media types: Collection+JSON and OData. The collection
pattern also shows up, more subtly, in the Siren and Hydra
formats. Which brings me to the second major change.

In 2007, there were two big hypermedia formats: Atom and HTML. Now
there are a ton of hypermedia formats! This is great, but it's also
confusing. In "The Hypermedia Zoo", Chapter 10 of RESTful Web
APIs
, we give an overview of about two dozen hypermedia
formats. The ones we seriously recommend for general use (HAL, Siren,
HTML, JSON-LD, etc.) are covered in more detail elsewhere in the
book. The quirkier, more specialized media types just get an exhibit
in the zoo.

Now for the third new thing, profiles. If you go through the
RESTful Web APIs narrative from Chapter 1 to Chapter 7, you'll
see that we introduce a problem we're not able to solve. Hypermedia
is great at solving the following problem:


How is an API client supposed to understand what
HTTP requests it might want to make next?


But there's a superficially similar problem that hypermedia can't
solve:

How is an API client supposed to understand what will
happen in real-world terms if it makes a certain HTTP request?


How do you explain the real-world semantics of an HTTP state
transition? Before chapter 8, the two solutions are to do it ahead of
time in one-off human-readable documentation; or to define a
domain-specific media type, a la Maze+XML. Both of these approaches
have big problems. Chapter 8 introduces profiles, which lets you get some of the benefits of a new media type without doing unnecessary work.

Maybe profiles will turn out not to be the right answer, but we
gotta solve this problem somehow, and the old book is
not equipped to even formulate the problem.

There are also a few additions to the book I consider
minor. There's a whole chapter in RESTful Web APIs on Semantic
Web/Linked Data stuff; in Services there was nothing but a
cursory discussion of RDF/XML as a representation format. There's a
chapter in RESTful Web APIs about CoAP, which didn't exist in
2007. These are good chapters that took me a long time to write, but I
don't think it's worth buying the book if you only want to read the
chapter on CoAP. (Or maybe it is! There's not a lot of competition
right now.)

So, what hasn't changed? HTTP hasn't changed all that
much. RESTful Web APIs's information about HTTP has been brought up to date but not changed significantly. So if you were using Services solely as an API-flavored HTTP reference, you don't need the new book. You can just read up on the protocol-level
additions to HTTP since 2007, like the Link header and
standardized patch formats for PATCH.

Hopefully this helps! RESTful Web APIs has a lot of distinguished competition that the old book didn't have, but its competition is newer books like Designing Hypermedia APIs and REST in Practice. If you compare APIs to Services I think it's no contest.

 •  0 comments  •  flag
Share on Twitter
Published on October 21, 2013 11:10

October 14, 2013

Reading After-Action Report

In preparation for my reading at Enigma Bookstore I asked people on Twitter which bit of Constellation Games I should read. I decided to read Tetsuo's review of Pôneis Brilhantes 5 from Chapter 18, both by popular Twitter demand and because Sumana had reported success reading that bit to people.

I practiced reading the review and also practiced another scene: Ariel's first conversation with Smoke from Chapter 2. No one suggested that scene, but it's one of the last scenes I wrote, so I personally haven't read it a million times and gotten tired of it. I abandoned this idea after a test reading because it's really hard to do a dramatic reading of a chat log, especially when most of the characters have insanely long names. So, Pôneis Brilhantes it was.

However, shortly before the reading I learned that Anne and I were each going to be reading two excerpts! Uh-oh. On the spur of the moment I chose to read a scene I had never practiced and that only one person (Adam) had suggested: the scene from Chapter 11 where Ariel meets Tetsuo and Ashley and they go visit the moon.

That scene has three good points: a) it introduces Tetsuo, increasing the chance that the Pôneis Brilhantes scene would land; b) it's full of the most gratuitous nerd wish-fulfillment I could write; c) it ends strongly with the call from Ariel's mother, which unlike a chat log is very easy to read because it's a Bob Newhart routine where you only hear one side of the phone call.

This was a really good idea. People loved the moon scene, even though my unpracticed reading stumbled and ran too quick. But when I read the Pôneis Brilhantes scene, it wasn't such a great hit! The room wasn't really with me. That's the scene I had practiced, and I think it's the funniest, most incisive thing in the whole book. Not a big hit! I think if I'd only read that scene I wouldn't have sold many books that night.

So, thank goodness for the moon scene, is all I can say. But what was going on? How had I misjudged my audience so badly? Sumana said she'd read Pôneis Brilhantes and gotten big laughs.

I think you have to be a very specific kind of computer geek to find Tetsuo's Pôneis Brilhantes review funny as a review of a video game, rather than as an expression of the personality you've just spent seven chapters with. That's the kind of geek that Sumana and I habitually hang out with, but it's not representative of the SF-reading population as a whole. I think that computer-geek population hosts a lot of the readers who wish that the second half of Constellation Games was more like the first half. Whereas someone who really digs the moon scene is more likely to stay with me the whole book.

I guess you could say the moon scene is just more commercial. And I guess I subconsciously knew this, because my current project gets more of its humor from the plot-driven character interaction found in the moon scene, and less from high concept Pôneis Brilhantes-style set pieces.

 •  0 comments  •  flag
Share on Twitter
Published on October 14, 2013 07:14

Leonard Richardson's Blog

Leonard Richardson
Leonard Richardson isn't a Goodreads Author (yet), but they do have a blog, so here are some recent posts imported from their feed.
Follow Leonard Richardson's blog with rss.