<M <Y
Y> M>

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.

[Comments] (4) 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

: 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.

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:

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 →

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.

YearBest PictureBPIMDBBPrankBest IMDB RatingBIRIMDBBIRnomAlignment
1927Wings7.80#9Metropolis8.40 0%
1928The Broadway Melody6.50#8La passion de Jeanne d'Arc8.30 0%
1929All Quiet on the Western Front8.10#1Chelovek s kino-apparatom8.40 0%
1930Cimarron6.30#20All Quiet on the Western Front8.10 0%
1931Grand Hotel7.70#11City Lights8.60 12%
1932Cavalcade6.40#24Trouble in Paradise8.20 10%
1934It Happened One Night8.30#1It Happened One Night8.30✓✓25%
1935Mutiny on the Bounty7.90#4A Night at the Opera8.10 41%
1936The Great Ziegfeld6.90#57Modern Times8.50 30%
1937The Life of Emile Zola7.40#31La grande illusion8.20 50%
1938You Can't Take It With You8.00#4The Lady Vanishes8.10 30%
1939Gone with the Wind8.20#3Mr. Smith Goes to Washington8.4040%
1941How Green Was My Valley7.90#7Citizen Kane8.6060%
1942Mrs. Miniver7.70#12Casablanca8.80 30%
1943Casablanca8.80#1The Ox-Bow Incident8.2030%
1944Going My Way7.40#31Double Indemnity8.6020%
1945The Lost Weekend8.10#4Les enfants du paradis8.30 20%
1946The Best Years of Our Lives8.30#2It's a Wonderful Life8.7040%
1947Gentleman's Agreement7.40#25Out of the Past8.10 0%
1948Hamlet7.90#12Ladri di biciclette8.50 40%
1949All the King's Men7.60#18The Third Man8.50 20%
1950All About Eve8.50#2Sunset Blvd.8.70 20%
1951An American in Paris7.30#44Strangers on a Train8.30 0%
1952The Greatest Show on Earth6.70#86Singin' in the Rain8.40 20%
1953From Here to Eternity7.90#10Le salaire de la peur8.30 0%
1954On the Waterfront8.40#3Shichinin no samurai8.80 20%
1955Marty7.70#18Les diaboliques8.30 0%
1956Around the World in 80 Days6.8?The Killing8.20 0%
1957The Bridge on the River Kwai8.40#512 Angry Men8.9060%
1958Gigi6.90#77Vertigo8.50 20%
1959Ben-Hur8.20#5Ningen no jôken8.80 20%
1960The Apartment8.40#2Psycho8.70 20%
1961West Side Story7.70#28Ningen no jôken8.80 20%
1962Lawrence of Arabia8.50#1Lawrence of Arabia8.50✓✓40%
1963Tom Jones7.00#74Pour la suite du monde8.50 0%
1964My Fair Lady7.90#15The T.A.M.I. Show8.40 0%
1965The Sound of Music7.90#20Obyknovennyy fashizm8.40 0%
1966A Man for All Seasons8.00#8Il buono, il brutto, il cattivo.9.00 20%
1967In the Heat of the Night8.00#8Cool Hand Luke8.30 20%
1968Oliver!7.50#41C'era una volta il West8.80 20%
1969Midnight Cowboy8.00#8Le chagrin et la pitié8.40 20%
1970Patton8.10#4Brigada Diverse intra în actiune8.10 20%
1971The French Connection7.90#12A Clockwork Orange8.5020%
1972The Godfather9.20#1The Godfather9.20✓✓20%
1973The Sting8.40#1The Sting8.40✓✓20%
1974The Godfather Part II9.00#1The Godfather: Part II9.00✓✓40%
1975One Flew Over the Cuckoo's Nest8.90#2Hababam sinifi9.00 40%
1976Rocky8.10#8Tosun Pasa8.70 20%
1977Annie Hall8.20#9Star Wars8.8020%
1978The Deer Hunter8.20#5Selvi boylum, al yazmalim8.50 20%
1979Kramer vs. Kramer7.70#27Apocalypse Now8.6020%
1980Ordinary People7.90#8The Shining8.50 40%
1981Chariots of Fire7.20#74Raiders of the Lost Ark8.7020%
1982Gandhi8.10#8Maratonci trce pocasni krug8.40 0%
1983Terms of Endearment7.40#42El sur8.20 0%
1984Amadeus8.40#4Balkanski spijun8.50 20%
1985Out of Africa7.00#83Zügürt Aga8.50 0%
1986Platoon8.20#4Aliens8.50 20%
1987The Last Emperor7.80#17Muhsin Bey8.40 0%
1988Rain Man8.00#12Nuovo Cinema Paradiso8.50 0%
1989Driving Miss Daisy7.40#45Indiana Jones and the Last Crusade8.30 0%
1990Dances with Wolves8.00#3Goodfellas8.8040%
1991The Silence of the Lambs8.70#1The Silence of the Lambs8.70✓✓60%
1992Unforgiven8.30#3Reservoir Dogs8.40 20%
1993Schindler's List8.90#1Schindler's List8.90✓✓40%
1994Forrest Gump8.70#4The Shawshank Redemption9.2060%
1995Braveheart8.40#3Se7en8.70 20%
1996The English Patient7.30#73Freebird... The Movie8.30 20%
1997Titanic7.40#51La vita è bella8.50 20%
1998Shakespeare in Love7.30#83American History X8.60 20%
1999American Beauty8.60#3Fight Club8.80 60%
2000Gladiator8.40#3Memento8.70 20%
2001A Beautiful Mind8.00#13The Lord of the Rings: The Fellowship of the Ring8.8020%
2002Chicago7.30#155The Last Just Man9.40 40%
2003The Lord of the Rings: The Return of the King8.80#1The Lord of the Rings: The Return of the King8.80✓✓20%
2004Million Dollar Baby8.20#7Eternal Sunshine of the Spotless Mind8.50 0%
2005Crash8.50#12Babam Ve Oglum8.70 0%
2006The Departed8.50#3Das Leben der Anderen8.50 20%
2007No Country for Old Men8.20#8Jogo de Cena8.70 0%
2008Slumdog Millionaire8.20#7The Dark Knight8.90 0%
2009The Hurt Locker7.80#30Puskás Hungary8.60 30%
2010The King's Speech8.30#17Inception8.9020%
2011The Artist8.20#15Drive9.00 0%

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.

[Comments] (7) 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:

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 →

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".

[Comments] (5) 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.

[Comments] (1) 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:

[Comments] (8) 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:

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 →

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.

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.

[Comments] (1) 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.

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 →

<M <Y
Y> M>


Unless otherwise noted, all content licensed by Leonard Richardson
under a Creative Commons License.