Software | Secret Software | Writing
The Parrot Sketch
"It's not pinin,' it's passed on! This parrot is no more! It has ceased to be! It's expired and gone to meet its maker! This is a late parrot! It's a stiff! Bereft of life, it rests in peace! If you hadn't nailed him to the perch he would be pushing up the daisies! Its metabolical processes are of interest only to historians! It's hopped the twig! It's shuffled off this mortal coil! It's rung down the curtain and joined the choir invisible! This.... is an EX-PARROT!" - Monty Python, The Parrot Sketch.
All right. I admit it. In case you haven't guessed by now, Parrot was a very elaborate April Fool's Day hoax. It seems to have caught a lot of people out... including some people who really ought to know better. I've had a couple of requests from people who want to know how the hoax was perpetrated, so this is the story.
The Perl community, and the Internet community at large, have quite a tradition for big or clever April Fool's Jokes. Last year's big one was, of course, the collaboration between SegFault, Userfriendly and Slashdot to fake the shutting down of the first two sites due to a cease-and-desist order from an unnamed software company. I've tried to play my part: last year, I released Perlix, the Perl operating system. (The whole joke being that it wasn't a joke.) This year, I thought I'd do something a bit bigger. But what?
The big news in Perl over the past year has been, of course, the Perl 6 announcement, and Larry's work on the language design for it, and, perhaps more significantly, the fact that we hadn't heard anything from Larry about what he was doing. (Something spectacularly rectified the day after April Fool's Day with the first of the Apocalypses.)
So, that was a big lead. Another big feature in Perl is, of course, the rivalry with Python. So, merging the two ideas, why not merge the two languages? My thoughts on how to play it evolved in pretty much the same way as the story told in the mock interview: intially the plan was to merge the two interpreters to have a single bytecode, a Common Language Runtime like Microsoft's .NET. (Something I honestly have been thinking about in real life...) But then the language design element of Perl 6 came back, and I realised we could completely merge the two languages together.
Of course, this would be no fun - and not at all convincing - if it only came from the Perl side. So I got in touch with Eric Raymond, and asked if he'd like to get involved. He loved the idea, and forwarded my mail to Guido. With the Python side secured, it was time to write the press release. The story was filled with as many plausible details as possible for something which was patently false: it's possible that Larry and Guido did meet at last year's Open Source Conference, and it's probable that if they did, they talked about the changes in their respective languages. It's also true that Perl assimilates features from other languages, and that Yet Another Society was set up to facilitate collaboration. What I didn't know until I'd spoken to Guido was that Python was also going through a period of redesign and redevelopment, the Python 3000 project.
The next idea was to write a longer feature for www.perl.com; this simply built on the ideas in the press release. Tim Peters from the shadowy Python Secret Cabal really did come up with the first piece of sample code, which I absolutely loved: completely horrific from a programmer's point of view, but an obvious mash of Perl and Python. That gave the game away for most people.
The most difficult part was, of course, coming up with the name. All of the suggested names in the article - Chimera, Pylon, Perth, and so on - were suggested to me in a little brainstorming session. I'd had the idea of getting an O'Reilly book cover done, so I wanted something animal related. We were enumerating animals beginning with" "P", when eventually a friend of mine came up with "Parrot". It was absolutely perfect, and easy to justify.
Then to talk to O'Reilly: Nathan Torkington took my initial idea to Edie Freeman, who designs all the O'Reilly animal series book covers. Together with Schuyler Erle, we knocked up some copy for the O'Reilly catalogue. I wanted a "Programming Parrot" book along the lines of "Programming Python" and "Programming Perl", but a little mix-up on my part meant we ended up with an "In A Nutshell" book. Not a problem.
I mailed the lead developers mentioned in the interview, Dan Sugalski and Jeremy Hylton, and let them in on the secret. They set about working out ways to carry on the joke, arranging to start sending mail to the various development lists detailing how they were going to carry out the "merger". (As it happened, time pressure meant that these mails didn't get sent out, but they were ready should we have needed them...)
Now we need to worry about publicity. I let in Chris Nandor, who runs use.perl.org and who, coincidentally, works with the Slashdot guys. He arranged to push the press release onto use.perl, and also have the story appear on Slashdot.
By now, we have a cast of thousands. Steve McCannell from O'Reillynet set up the interview on www.perl.com, and Nancy Abila arranged for it to appear at the right time. Edie had Laura Schmier work on the book cover, and Nathan, Schulyer and I put together the catalogue. Angela from O'Reilly set up the web pages on www.oreilly.com, and the linkage from the front page. Fred Drake, the Python documentation maintainer rigged up an announcement about a joint documentation effort and markup language. (We also checked with Tim O'Reilly to make sure he was OK with this gratuitous abuse of his company...)
Then we had one of those coincidences to die for. I wanted to send up the Great ActiveState Conspiracy in the Parrot joke, and play on the paranoia there; as I was working out how to do this, there came the announcement from ActiveState that Larry, Guido and some other language leaders had joined their Technical Advisory Board. Beautiful! Now we have Guido and Larry working for AS, and then announcing a new language! Could AS have been behind the Parrot project all along? Amusingly, many of the emails I had from people about the joke said that the part about Larry and Guido working for ActiveState had given the joke away for them - sorry, guys, that's the only real part about it!
All the pieces were in place. I sent out the press release to perl5-porters and perl6-internals; Chris took it and put it on use.perl.org, and it also got put up on www.python.org. Nancy flipped the switch and the interview appeared on www.perl.com, and Angela got the front page of www.oreilly.com out. Slashdot picked it up as arranged a few hours later. Time to sit back and watch the confusion!
Actually, for me, the funny part wasn't the joke itself. The funny part was that setting up the whole joke was the biggest collaboration between Perl and Python we've seen for a long time!
So, what am I going to do next year? It's hard to tell. I don't think it's going to be as big or as successful as Parrot. But we'll see. Maybe if I start planning now...
----
Simon Cozens Last modified: Thu Apr 5 12:42:47 BST 2001