time = time(); $this->startSession(); } /** * startSession - Performs all the actions necessary to * initialize this session object. Tries to determine if the * the user has logged in already, and sets the variables * accordingly. Also takes advantage of this page load to * update the active visitors tables. */ function startSession(){ global $database; //The database connection session_start(); //Tell PHP to start the session /* Determine if user is logged in */ $this->logged_in = $this->checkLogin(); /** * Set guest value to users not logged in, and update * active guests table accordingly. */ if(!$this->logged_in){ $this->username = $_SESSION['username'] = GUEST_NAME; $this->userlevel = GUEST_LEVEL; $database->addActiveGuest($_SERVER['REMOTE_ADDR'], $this->time); } /* Update users last active timestamp */ else{ $database->addActiveUser($this->username, $this->time); } /* Remove inactive visitors from database */ $database->removeInactiveUsers(); $database->removeInactiveGuests(); /* Set referrer page */ if(isset($_SESSION['url'])){ $this->referrer = $_SESSION['url']; }else{ $this->referrer = "/"; } /* Set current url */ $this->url = $_SESSION['url'] = $_SERVER['PHP_SELF']; } /** * checkLogin - Checks if the user has already previously * logged in, and a session with the user has already been * established. Also checks to see if user has been remembered. * If so, the database is queried to make sure of the user's * authenticity. Returns true if the user has logged in. */ function checkLogin(){ global $database; //The database connection /* Check if user has been remembered */ if(isset($_COOKIE['cookname']) && isset($_COOKIE['cookid'])){ $this->username = $_SESSION['username'] = $_COOKIE['cookname']; $this->userid = $_SESSION['userid'] = $_COOKIE['cookid']; } /* Username and userid have been set and not guest */ if(isset($_SESSION['username']) && isset($_SESSION['userid']) && $_SESSION['username'] != GUEST_NAME){ /* Confirm that username and userid are valid */ if($database->confirmUserID($_SESSION['username'], $_SESSION['userid']) != 0){ /* Variables are incorrect, user not logged in */ unset($_SESSION['username']); unset($_SESSION['userid']); return false; } /* User is logged in, set class variables */ $this->userinfo = $database->getUserInfo($_SESSION['username']); $this->username = $this->userinfo['username']; $this->userid = $this->userinfo['userid']; $this->userlevel = $this->userinfo['userlevel']; return true; } /* User not logged in */ else{ return false; } } /** * login - The user has submitted his username and password * through the login form, this function checks the authenticity * of that information in the database and creates the session. * Effectively logging in the user if all goes well. */ function login($subuser, $subpass, $subremember){ global $database, $form; //The database and form object /* Username error checking */ $field = "user"; //Use field name for username if(!$subuser || strlen($subuser = trim($subuser)) == 0){ $form->setError($field, "* Username not entered"); } else{ /* Check if username is not alphanumeric */ if(!eregi("^([0-9a-z])*$", $subuser)){ $form->setError($field, "* only letters and numbers allowed and no spaces"); } } /* Password error checking */ $field = "pass"; //Use field name for password if(!$subpass){ $form->setError($field, "* Password not entered"); } /* Return if form errors exist */ if($form->num_errors > 0){ return false; } /* Checks that username is in database and password is correct */ $subuser = stripslashes($subuser); $result = $database->confirmUserPass($subuser, md5($subpass)); /* Check error codes */ if($result == 1){ $field = "user"; $form->setError($field, "* Username not found"); } else if($result == 2){ $field = "pass"; $form->setError($field, "* Invalid password"); } /* Return if form errors exist */ if($form->num_errors > 0){ return false; } /* Username and password correct, register session variables */ $this->userinfo = $database->getUserInfo($subuser); $this->username = $_SESSION['username'] = $this->userinfo['username']; $this->userid = $_SESSION['userid'] = $this->generateRandID(); $this->userlevel = $this->userinfo['userlevel']; /* Insert userid into database and update active users table */ $database->updateUserField($this->username, "userid", $this->userid); $database->addActiveUser($this->username, $this->time); $database->removeActiveGuest($_SERVER['REMOTE_ADDR']); /** * This is the cool part: the user has requested that we remember that * he's logged in, so we set two cookies. One to hold his username, * and one to hold his random value userid. It expires by the time * specified in constants.php. Now, next time he comes to our site, we will * log him in automatically, but only if he didn't log out before he left. */ if($subremember){ setcookie("cookname", $this->username, time()+COOKIE_EXPIRE, COOKIE_PATH); setcookie("cookid", $this->userid, time()+COOKIE_EXPIRE, COOKIE_PATH); } /* Login completed successfully */ return true; } /** * logout - Gets called when the user wants to be logged out of the * website. It deletes any cookies that were stored on the users * computer as a result of him wanting to be remembered, and also * unsets session variables and demotes his user level to guest. */ function logout(){ global $database; //The database connection /** * Delete cookies - the time must be in the past, * so just negate what you added when creating the * cookie. */ if(isset($_COOKIE['cookname']) && isset($_COOKIE['cookid'])){ setcookie("cookname", "", time()-COOKIE_EXPIRE, COOKIE_PATH); setcookie("cookid", "", time()-COOKIE_EXPIRE, COOKIE_PATH); } /* Unset PHP session variables */ unset($_SESSION['username']); unset($_SESSION['userid']); /* Reflect fact that user has logged out */ $this->logged_in = false; /** * Remove from active users table and add to * active guests tables. */ $database->removeActiveUser($this->username); $database->addActiveGuest($_SERVER['REMOTE_ADDR'], $this->time); /* Set user level to guest */ $this->username = GUEST_NAME; $this->userlevel = GUEST_LEVEL; } /** * register - Gets called when the user has just submitted the * registration form. Determines if there were any errors with * the entry fields, if so, it records the errors and returns * 1. If no errors were found, it registers the new user and * returns 0. Returns 2 if registration failed. */ function register($subuser, $subpass, $subemail){ global $database, $form, $mailer; //The database, form and mailer object /* Username error checking */ $field = "user"; //Use field name for username if(!$subuser || strlen($subuser = trim($subuser)) == 0){ $form->setError($field, "* Username not entered"); } else{ /* Spruce up username, check length */ $subuser = stripslashes($subuser); if(strlen($subuser) < 5){ $form->setError($field, "* Username below 5 characters"); } else if(strlen($subuser) > 30){ $form->setError($field, "* Username above 30 characters"); } /* Check if username is not alphanumeric */ else if(!eregi("^([0-9a-z])+$", $subuser)){ $form->setError($field, "* * only letters and numbers allowed and no spaces"); } /* Check if username is reserved */ else if(strcasecmp($subuser, GUEST_NAME) == 0){ $form->setError($field, "* Username reserved word"); } /* Check if username is already in use */ else if($database->usernameTaken($subuser)){ $form->setError($field, "* Username already in use"); } /* Check if username is banned */ else if($database->usernameBanned($subuser)){ $form->setError($field, "* Username banned"); } } /* Password error checking */ $field = "pass"; //Use field name for password if(!$subpass){ $form->setError($field, "* Password not entered"); } else{ /* Spruce up password and check length*/ $subpass = stripslashes($subpass); if(strlen($subpass) < 4){ $form->setError($field, "* Password too short"); } /* Check if password is not alphanumeric */ else if(!eregi("^([0-9a-z])+$", ($subpass = trim($subpass)))){ $form->setError($field, "* * only letters and numbers allowed and no spaces"); } /** * Note: I trimmed the password only after I checked the length * because if you fill the password field up with spaces * it looks like a lot more characters than 4, so it looks * kind of stupid to report "password too short". */ } /* Email error checking */ $field = "email"; //Use field name for email if(!$subemail || strlen($subemail = trim($subemail)) == 0){ $form->setError($field, "* Email not entered"); } else{ /* Check if valid email address */ $regex = "^[_+a-z0-9-]+(\.[_+a-z0-9-]+)*" ."@[a-z0-9-]+(\.[a-z0-9-]{1,})*" ."\.([a-z]{2,}){1}$"; if(!eregi($regex,$subemail)){ $form->setError($field, "* Email invalid"); } $subemail = stripslashes($subemail); } /* Errors exist, have user correct them */ if($form->num_errors > 0){ return 1; //Errors with form } /* No errors, add the new account to the */ else{ if($database->addNewUser($subuser, md5($subpass), $subemail)){ if(EMAIL_WELCOME){ $mailer->sendWelcome($subuser,$subemail,$subpass); } return 0; //New user added succesfully }else{ return 2; //Registration attempt failed } } } /** * editAccount - Attempts to edit the user's account information * including the password, which it first makes sure is correct * if entered, if so and the new password is in the right * format, the change is made. All other fields are changed * automatically. */ function editAccount($subcurpass, $subnewpass, $subemail){ global $database, $form; //The database and form object /* New password entered */ if($subnewpass){ /* Current Password error checking */ $field = "curpass"; //Use field name for current password if(!$subcurpass){ $form->setError($field, "* Current Password not entered"); } else{ /* Check if password too short or is not alphanumeric */ $subcurpass = stripslashes($subcurpass); if(strlen($subcurpass) < 4 || !eregi("^([0-9a-z])+$", ($subcurpass = trim($subcurpass)))){ $form->setError($field, "* Current Password incorrect"); } /* Password entered is incorrect */ if($database->confirmUserPass($this->username,md5($subcurpass)) != 0){ $form->setError($field, "* Current Password incorrect"); } } /* New Password error checking */ $field = "newpass"; //Use field name for new password /* Spruce up password and check length*/ $subpass = stripslashes($subnewpass); if(strlen($subnewpass) < 4){ $form->setError($field, "* New Password too short"); } /* Check if password is not alphanumeric */ else if(!eregi("^([0-9a-z])+$", ($subnewpass = trim($subnewpass)))){ $form->setError($field, "* New Password not alphanumeric"); } } /* Change password attempted */ else if($subcurpass){ /* New Password error reporting */ $field = "newpass"; //Use field name for new password $form->setError($field, "* New Password not entered"); } /* Email error checking */ $field = "email"; //Use field name for email if($subemail && strlen($subemail = trim($subemail)) > 0){ /* Check if valid email address */ $regex = "^[_+a-z0-9-]+(\.[_+a-z0-9-]+)*" ."@[a-z0-9-]+(\.[a-z0-9-]{1,})*" ."\.([a-z]{2,}){1}$"; if(!eregi($regex,$subemail)){ $form->setError($field, "* Email invalid"); } $subemail = stripslashes($subemail); } /* Errors exist, have user correct them */ if($form->num_errors > 0){ return false; //Errors with form } /* Update password since there were no errors */ if($subcurpass && $subnewpass){ $database->updateUserField($this->username,"password",md5($subnewpass)); } /* Change Email */ if($subemail){ $database->updateUserField($this->username,"email",$subemail); } /* Success! */ return true; } /** * isAdmin - Returns true if currently logged in user is * an administrator, false otherwise. */ function isAdmin(){ return ($this->userlevel == ADMIN_LEVEL || $this->username == ADMIN_NAME); } /** * generateRandID - Generates a string made up of randomized * letters (lower and upper case) and digits and returns * the md5 hash of it to be used as a userid. */ function generateRandID(){ return md5($this->generateRandStr(16)); } /** * generateRandStr - Generates a string made up of randomized * letters (lower and upper case) and digits, the length * is a specified parameter. */ function generateRandStr($length){ $randstr = ""; for($i=0; $i<$length; $i++){ $randnum = mt_rand(0,61); if($randnum < 10){ $randstr .= chr($randnum+48); }else if($randnum < 36){ $randstr .= chr($randnum+55); }else{ $randstr .= chr($randnum+61); } } return $randstr; } }; /** * Initialize session object - This must be initialized before * the form object because the form uses session variables, * which cannot be accessed unless the session has started. */ $session = new Session; /* Initialize form object */ $form = new Form; ?> Ricky Gervais... Obviously. " ."" .""; $forminput = "" ."" ."" . ""; if($session->logged_in){ $toptagline ="" ."" .""; $forminput = ""; } else{ /** * User not logged in, display the login form. * If user has already tried to login, but errors were * found, display the total number of errors. * If errors occurred, they will be displayed. */ if($form->num_errors > 0){ $errorline = ""; } } $membersline = "There are ".$database->getNumMembers()." members signed up to Ricky Gervais.Com - ". $database->num_active_users ." are signed in now and there are " . $database->num_active_guests. " people just visiting"; ?>

He's won two Golden Globes, six BAFTAs, written for 'The Simpsons' and been crowned the world's 17th Most Stylish Man - Ricky Gervais has already made it. And now he's Time Out's funniest Londoner. He talks exclusively and relentlessly to Graham Wray about Live 8, masturbating pigs and rediscovering Les Dennis for his new sitcom. Photography Murdo Macleod

You hear Ricky Gervais a full 40 seconds before you see him. That familiar demented high-pitch cackle transcends a corridor, a staircase and a couple of fire doors before its owner finally shuffles into view. At which point it becomes apparent that he resembles not so much the most genuinely gifted comedian of our time, as an aspiring lower league football manager.
Stocky, mildly stressed and sporting a T-shirt, trainers, loose jogging bottoms and a handshake as limp as an early evening ITV sitcom, Gervais swiftly guides me through the maze of editing suites where he is putting the final touches to his longawaited new comedy series, 'Extras'.
I'm here to crown him London's Funniest Man (as chosen by Time Out's panel of experts), a title that over the next hour and a half, Gervais will effortlessly live up to by creating a routine for Live 8 in front of me. Should he turn up on the Hyde Park stage on July 2, you will indeed have, quite literally, read it here first. But before the interview morphed into an impromptu comedy workshop, Gervais repeatedly lurched from funereal sobriety to hysterical convulsions, from earnest bank manager to hyperactive, moon-faced four-year-old - often in milliseconds.
But the one subject he's always deadly serious about is comedy...

'A routine about injuring Phil Collins? Don't put him on a jet to Philadelphia, let's stick him in a catapult.'

GW: You are now officially the funniest person in London. Honoured?

RG: It is very flattering, but I think you have to take these things with a pinch of salt. I mean, I was recently voted Seventeenth Most Stylish Man in the World. And Johnny fucking Vegas beat me. It's like those polls to find Britain's favourite sketch. It's always whatever's currently on the telly followed by 'Fawlty Towers'. Best album ever? Coldplay with Beatles at number two. Despite that, it is genuinely flattering. Thanks.

GW: You're welcome. So who gets your vote as the funniest Londoner?

RG: My Xfm partner Karl Pilkington. No doubt about it. He is genuinely the funniest man in the world. He's forever coming out with the most amazing things that always make just a little bit of sense. Yesterday he said to me, 'Have you ever used a Y-front correctly? That's a contraption that I've never used properly. Everyone always pulls it out from underneath so why do they bother with the Y bit?' Incredible.

Then he went on about the space race, saying in all seriousness, 'When Louis Armstrong flew to the moon. ..' - Louis Armstrong! - 'There was another bloke with him and Buzz who didn't even get out to stretch his legs when they got there. So how good can it be?' Amazing. That man is my Homer Simpson.

GW: Who else makes you laugh?

RG: I've got five good mates I've known for 20 years and I use stuff from them all the time because it's real. As for TV, I watch mostly American comedy. The lastthing I got genuinely excited about on British TV was 'Peep Show', which I thought was the best sitcom since 'Father Ted'. I love some of Catherine Tate's carefully observed characters. My other favourite shows are 'Arrested Development' and 'Curb Your Enthusiasm'. And, of course, the American 'Office' is great - I can say that because I'm not involved. That was a joy to watch when that came through the post. After episode one, they're all original and they've done an amazing job.

GW: Do you laugh when someone trips over in the street?

RG: Every time. Because they didn't know it was going to happen, they didn't want it to happen and now they've got to deal with it. I used a man tripping over as an analogy to the pathos in 'The Office'. A man tripping over is funny, but a man who's just been made redundant and whose wife has just left him tripping over - ooh, now that's something else. You see I love excruciating social faux pas. I'm fascinated by body language, by ego, vanity, men as boys - all these great rich themes that you can get your hands dirty with.

GW: What comedy do you despise?

RG: I'm not a comedy snob but I hate people who'd rather be thought of as intelligent than funny. I hate people who'd rather have a round of applause for their wit and wisdom as opposed to making people laugh. I don't like puns and catchphrase comedy. I want to do it on a richer level. I also don't like heavy satire. You can have all the clever lines in the world, but I'm sorry, Eric Morecambe stood at a window is funnier.

GW: So do you prefer laughing to making people laugh?

RG: Oh, I'd much rather be the one laughing. I want everyone to be like Eric Morecambe. I want people to have funny bones. And I want to think they enjoy making people laugh rather than just enjoying the attention or the money.

GW: Do you find mainstream comedy funny?

RG: I don't watch many comedies on BBC1 and ITV because I know they're not aimed at my comic sensibilities. But I grew up watching fantastic mainstream comedies like 'Porridge' and 'Rising Damp'. There are some mainstream things I love. For instance, I honestly believe Ant and Dec are the new Morecambe and Wise. They're warm, funny and there's a genuine chemistry there. Relationships are really important to me. I've always felt that comedy's contextual and that you've got to connect on an emotional level.

'A man tripping over is funny. But a man who's just been made redundant and whose wife has just left him... that's something else. '

GW: It sounds like you prefer the drama in comedy to the actual comedy.

RG: Yeah, I suppose I do. For instance, in 'The Office' I was probably more excited about tying up the ends with Tim and Dawn than Brent buffooning around.

GW: Do you genuinely think that 'Extras' can top 'The Office'?

RG: What's topping it? Getting more ratings? Not really. Because all the things I love get audiences of 2 million and all the things I hate get 20 million. Topping it with money? Well, I probably turn down more money than I make because it bores me. Awards? Yeah, I'd love 'Extras' to win awards but it ain't going to win two Golden Globes and six BAFTAs. For me, topping it is doing something totally different from 'The Office' as well as I possibly can. And I've done that.

GW: Has it made you laugh as much as 'The Office' did at the same stage?

RG: It's different in that we didn't make such an investment in emotion and pathos as we did with 'The Office'. I've purposely taken a straighter, more reactive role. I'm not a David Brent, a Gareth or a Keith. I'm more of a Tim, more of an Ollie to Brent's Stan.

GW: You've got some big-name cameos in it. Who surprised you with their comic talents?

RG: Les Dennis. Believe me, on and off screen, Les Dennis is a very funny man. He's also an amazing sport.

GW: Have you had a pop at his public marriage break-up then?

RG: All I'll say is that like all the other celebrities in it, he plays himself and all that comes with that. He was amazing and I can't wait for the public reaction.

GW: How does the writing process work between you and Stephen Merchant?

'After the Globes I was offered a remake of "Magnum, PI" with George Clooney as Magnum and me as his butler, Higgins.'

RG: Usually it's me who walks round the room eating biscuits and Steve who has to transcribe it. We have a framework and talk about what we might fill it with for ages. It's usually from observations. You never know what you're going to come up with, so from llam-3pm we just sit there. It might be an hour of telling stories about when you were a kid or what we saw on the tube coming in and then bang...

GW: Does it have to make you both laugh?

RG: We've got one rule. Nothing goes in that we both don't like. Anything that's left over I'll put in my live show, so nothing's wasted. We only need do two minutes of TV a day - that's about two or three pages. We never let anyone give us deadlines. If we want to take two years doing two hours a day or one year doing four hours a day, that's what we'll do.

GW: So how quickly was the David Brent dance routine written?

RG: I nearly didn't put the dance in. I think I was probably annoying Steve one day, doing the dance while he wanted to work. I annoy people for a living, but you see it's never wasted. So we said a fat 40-year-old trying to dance cool is funny, but not funny enough, so how do we justify it? It took five seconds to write 'Ricky does a funny dance', but it was all the stuff working back from it that took the time. Why has he done that dance? Because he was jealous of Neil. Why's he jealous? 'Cos Neil's done a choreographed and rehearsed dance because it's his party piece every Red Nose Day. But this is Brent's favourite day of the year. So suddenly it resonates, it feels organic and natural and you don't see the join.

GW: Does material occur to you at any given hour of the day?

RG: Yeah, but because I don't carry a Dictaphone or ever write anything down, it gets forgotten. I would estimate that over the last 20 years I've lost two sitcoms and four stand-up shows.

GW: For Christ's sake man, buy a pad and pencil. Do you spend a lot of time on rewrites?

RG: Yeah, rewriting is a vitally important part of the process. Most things I see on TV would be twice as good if they had just given it another rewrite. Maybe it's arrogance, ego, lack of judgement or lack of involvement. There are probably great writers out there who'll you'll never get to hear about because they handed their script over to a bad director or producer. As a writer, you've got to be involved throughout. Woody Allen was so right when he said the best an idea gets is when it's in your head. From then on, it's just a matter of how much you ruin it. But if you're constantly around, it gets ruined less.

GW: Now you've done 'The Simpsons', you can surely retire?

RG: It's funny you should say that, but when I came into comedy my one ambition was to get a joke into 'The Simpsons' and now I've written a whole script and starred in it, I may as well retire. I went over there for the readthrough and I've got Homer and Marge Simpson either side of me. I was thinking: This isn't a career, it's like winning a competition.

GW: What's the theme of that episode?

RG: It's basically a homage to Brent. Almost an uber-Brent. Anyone who knows 'The Office' will get it, but to anyone else he's just a pretentious loser. I haven't seen the visuals but you can be sure it'll be a short, fat bloke with a goatee. And I wrote a song for that episode. I've written a song for 'The Simpsons'! Incredible.

GW: You seem likea mild-mannered chap. What annoys you about modern life?

'I watch reality shows to hate the people in them. Desperate wannabes. What will you do for fame? Anything. I'll show my fanny and wank off a pig. Well done.'

RG: Incompetence, people slurping in restaurants, people whistling too loud, people talking too loud, people talking inanely too loud, bad service. I've managed to put them all in 'Extras' so the show's like my own Room 101. The other thing is the desire to be famous. Famous for anything. These people put more credence into someone who once appeared in 'Hollyoaks' than a scientist who's found a cure for AIDS:
  'Who's the bloke in the white coat?'
  'Oh, he discovered a vaccine for AIDS'.
   'What's he been in?'
   'Well apart from a fucking laboratory, nothing.'
   'Not got much of a tan has he?'
   'Well he's been in a fucking laboratory for the last six years.'
Oh fuck me, it's depressing.

GW: So presumably you also despise reality shows?

RG: I watch them but only to hate the people in them. Although I only managed ten seconds of 'Celebrity Love Island' and saw three of the world's most brain-dead dirty slappers and a coupIe of male equivalents. Desperate wannabes. What will you do for fame? Anything. I'll show my fanny and wank off a pig. Well done. Your mum must be very proud. Funnily enough, 'Big Brother' is a guilty pleasure of mine. But they've got more boring as the housemates have got more media savvy. I see this year they've once again wheeled in ten of the most self-obsessed, fat-titted, rice pudding-arsed people they could find. There's a couple you'd let live, but you'd want most of them maimed wouldn't you? You'd want to shoot low. Although some you'd just have to put out of their fucking misery.

GW: Anything else that gets your goat?

RG: Yeah. There are shows on at the moment and I'm not going to name names - and I just think: Why has he done that? I can think of three comedians who have gone out of favour in the last month just through doing too much shit. They're going to be kicking themselves in five years time. I just don't understand it. I've never regretted saying no. I don't sit at home going, 'Fucking hell, why aren't I on telly tonight? Fucking hell, I'm not even on UK Gold. Quick, get me on a panel show or something.'

GW: How does Hollywood compare to London?

RG: Oh, it was mad. At the Golden Globes, after we won the second, I was going round going, 'Yeah, thanks for your hardware, losers. What do you mean, you've only won one?' It's funny, but the two people I couldn't take my eyes off all night were Jack Nicholson and Ice Cube. Jack was wandering aimlessly around like a granddad at a barbecue and Ice Cube was the most immaculate looking man I've ever seen. Like a painting he was. The other weird encounter was with Danny De Vito. He was saying well done and I was telling him how I was a big fan of 'Taxi' when suddenly Ash (Atalla, wheelchair-bound 'Office' producer) wheels up and goes 'Oi, me and you are about the same height.' DeVito just mumbles 'cheers' and walks off. 'We're about the same fucking height?' Why would anyone say that?

GW: Were you offered a host of Hollywood roles after that?

RG: Oh, it was mental. The day after the Globes I had meetings and was offered ridiculous things. One was a remake of 'Magnum, PI' with George Clooney as Magnum and me as his butler, Higgins. I mean, words failed me. These are Hollywood films that never got made because the fat-faced bloke from Reading said no. Here's another: Me and Will Smith. It gets better... they actually wanted me to play his brother. Sometimes it's just better not to ask.

'Extras 'starts on BBC2 on July 21.


The Time Out tapes witness Gervais create comedy gold before your eyes

Would you be prepared to do a turn at Live 8?

If I was asked, I'd love to do it. You can't say no to that.

But could you do jokes about people dying of hunger?

Well, I'd have to do my own brand of comedy. I'd go out and say, 'It's good to do a concert for the poor. And by the look of you lot, most of you are homeless as well.'
Hang on, what aboutthis for an opener? [Stares atthe ceiling.] Hold on, this isgood. This is workshop... [Stares down at his shoes.] Right, got it. 'Yeah, we're still trying to break records on the twentieth anniversary of Live Aid. I've just heard Bob Geldof has put Phil Collins on ajet to Philadelphia. There's nothing going on there, we just don't wantthe cunt around this year' [dissolves into hysterics].
Hangon though, it's daytime. I'd never get away with cunt.

No, it'll have to be bald twat.

Yeah, bald twat's okay.
Right, that's a co-write.
And what about this [sits bolt upright on edge of sofa]? 'No I'm joking, of course we didn't put him on a jet. We stuck him in a catapult. To be fair, he didn't get very far. Although it worked in rehearsals when we used it on Chris De Burgh.' I could do a whole routine about injuring Phil fucking Collins.

You'd have to have a pop at BobGeldofas well.

Yeah, that's true... Here's another... [Stands up, then immediately sits down.] What about this? 'It's fantastic that today is all free. But then usually when Bob Geldof and Richard Curtis get together they make millions and give it all away. In fact, the Africans haven't paid us back for the last lot!' [Lies horizontal on the sofa, giggling manically.] Right, that's the first two minutes. Fucking hell, make sure you transcribe this. What else?

Well they've got the greatest rock and pop acts on the planet lined up. And Annie Lennox. How does that work?

I know why that is. It's because she actually does live next door to Sting and George Michael. Honestly, I've been to George's and she does. Bob only asked her so they could all share a cab home. That's another. Then I do the dance and that's it. 'Bye bye London, thank you and goodnight.'
Can you transcribe that? Brilliant!






Sign up now and you'll have full access to the site and get the odd email from Ricky when he's got something to tell you.

" ."sign up | forgotten your password?

Already signed up? Sign in here...

username:value("user")."\">".$form->error("user")."
password:value("pass")."\">".$form->error("pass")."

Hello, " .$session->username .". You're signed in.

" ."username\">my details | " ."edit details"; if($session->isAdmin()){ $toptagline = $toptagline." | admin"; } $toptagline = $toptagline." | sign off
".$form->num_errors." error(s) found