Originally written by Michael Borkow, Mike Sikowitz & Jeffrey Astrof
Transcribed by Joshua Hodge.
Minor additions and adjustments by Dan Silverstein.
[Scene: In a TV commercial that the gang is watching at Monica and
Rachel's.]
[A guy is sitting at his desk and his boss comes in and drops a huge pile of papers on
his desk. The guy looks dejected.]
 Then put it in your mouth...
[A monkey jumps on the desk and hands the guy a beer. He opens the beer and is suddenly on
the beach, in a hammock, with beautiful women all around.]
COMMERCIAL VOICEOVER: ...With MonkeyShine Beer. [MonkeyShine theme] MonkeyShine Beer,
'cause it's a jungle out there.]
[Camera pans back from the TV to show the gang watching.]
ROSS: That commercial always makes me so sad.
JOEY: Yeah, but then the guy opens his beer and those girls run at him, so, everything
seems to work out OK.
ROSS: I meant because the monkey in it reminds me of Marcel.
PHOEBE: I can see that, 'cause they both have those big brown eyes and, ya know, the
little pouty chin.
MONICA: And the fact that they're both monkeys.

ROSS: Remember when sometimes he'd borrow your hat, and, and when you got it back there'd
be little monkey raisins in it.
CHANDLER: Yeah, well sure, when he did it, it was funny. When I did it to my boss's hat. .
. all of the sudden I have this big attitude problem.
OPENING TITLES
[Scene: Central Perk. Chandler, Monica, Rachel, and Phoebe are at the couch.]
[Joey enters holding a letter]
JOEY: Hey, hey, check it out, guess what I got.
CHANDLER: Rhythm?
JOEY: No, my first fan mail.
ALL: Alright!
MONICA: [reading] 'Dear Dr. Remore, know that I love you and would do anything to have
you.' Gosh. 'Your not-so-secretive admirer, Erica Ford.' Ooh wait, 'PS enclosed please
find 14 of my eyelashes.'

MONICA: This wasn't addressed to Days of Our Lives, this is, this came to your
apartment. There's no stamp on it, this woman was in our building.
JOEY: Oh my god, I got my very own stalker.
[Ross enters with a suitcase]
ROSS: Hey guys.
ALL: Hey.
PHOEBE: Ooh, where are you off to, Travelin' Jake?
ROSS: Well, there's this, uh, paleontology conference in L.A. so I figured I'd go and then
drive down to the zoo and surprise Marcel.
CHANDLER: You know I think he will be surprised, 'till he realizes he's a monkey, and uh,
you know, isn't capable of that emotion.
[Rob (Chris Isaac) enters]
RACHEL: Oh, Phoebe, that really cute guy is here again.
 And, and it's
really funny. So everyone just laugh, now.
[Everyone laughs]
PHOEBE: I know, I know. [to Rob] Hello.
ROB: Hi. I'm Rob Dohnen.
PHOEBE: Hi Rob Dohnen.
ROB: I don't know anything about music, but I think you're really, really great.
PHOEBE: Oh, wow.
ROB: Anyway, I schedule performers for the childrens libraries around the city and I was
just thinking, have you ever thought about playing your songs for kids?
PHOEBE: Oh, I would love to have kids. . . you're, you're the, you're, me play the songs
that I will write for them.
[Scene: Chandler and Joey's apartment. Chandler and Joey are standing around in the
kitchen.]
JOEY: Hey, whaddya wanna do for dinner?
CHANDLER: Well we could just stay in and cook for ourselves. [both laugh hysterically]
[door buzzer goes off]
CHANDLER: Hello.
ERICA: It's Erica.
JOEY: Ah, the stalker.
ERICA: Never mind, it's open.
CHANDLER: [Joey grabs a frying pan] Yes, hitting her with a frying pan's a good idea. We
might wanna have a backup plan, though, just in case she isn't a cartoon.
JOEY: Let's get out of here.
[They run out and knock on Monica and Rachel's door]
CHANDLER: The one time they're not home.
JOEY: OK, we'll just leave, and when we pass her on the stairs, she won't know it's me
'cause we've never met.
CHANDLER: That's how radio stars escape stalkers.
JOEY: She's comin'.
[Both run back in their apartment. There's a knock at the door.]
ERICA: It's me.
JOEY: Uhh, this is it, this is how we're gonna die. Ready?
CHANDLER: Wait, wait, wait. [Opens the top of the dish soap he's holding]
[Joey opens the door and sees Erica (Brooke Shields). Joey gets a huge smile and Chandler
squeezed the dish soap in the air.]
ERICA: Hi.
JOEY: Erica.
[Scene: San Diego Zoo. Ross is at the Monkey cages.]
LIPSON: Hi, Dean Lipson, zoo administrator. I was told you had a question.
ROSS: Well, I uh, I can't seem to find the monkey I donated last year. He's a capuchan,
answers to the name Marcel.
LIPSON: Ahh, I'm afraid I have some bad news. Marcel has passed on.
ROSS: Oh my God, what happened?
LIPSON: Well he got sick, and then he got sicker, and then he got a little better but then
he died.
ROSS: I can't believe this.
LIPSON: I'm sorry Mr. Geller. But ya know, there's an old saying, 'Sometimes monkeys die.'
It's not a great saying but it certainly is fitting today.
ROSS: Well, ya know, someone should have called me.
LIPSON: I'm sorry. Look, I know this can't bring him back but here, it's just a gesture.
ROSS: Zoo dollars?
LIPSON: Yes, and come see the bird show at 4. The macaws wear hats. Well it's a lot cuter
if your monkey hasn't just died.
[Scene: Library. Phoebe is getting ready to sing for the kids. Chandler, Monica, and
Rachel are there.]
[Phoebe pulls out her guitar]
KIDS: Ooohhh.
PHOEBE: I know.
MONICA: I can't believe Joey's having lunch with his stalker. What i-, what is she like.
CHANDLER: Well, you remember Cathy Bates in Misery?
RACHEL AND MONICA: Yeah.
CHANDLER: Well, she looks the exact opposite of that.
RACHEL: And she's not crazy?
 Yeah, she thinks that Joey is actually Dr.
Drake Remore.
RACHEL: Oh my God.
MONICA: Ah, and I mean, he's going out with her? He can not persue this.
CHANDLER: Hey, just because this woman thinks she can actually see Joey through the
magical box in her living room doesn't mean she's not a person.  What're you lookin' at me for? He's the one
who wants to boff the maniac.
ROB: You OK?
PHOEBE: No, uh-uh, I'm just, I'm nervous. So, you know what, maybe if I just, if I picture
them all in their underwear.
ROB: That's not a good idea, that's kinda the reason the last guy got fired.
PHOEBE: I'm just, I'm, I'm, I'm used to playing for grown-ups. Ya know, they just,
grown-ups drink their coffee and do their grown-up thing, ya know, and kids listen. This
is a huge responsibility. What?
ROSS: I was thinkin' about it.
PHOEBE: OK. [they kiss] OK, alrighty, let's play some tunes. Hi everybody, I'm Phoebe
ALL: Hi Phoebe.
PHOEBE: OK, um, I'm gonna play, um, some songs about grandparents, OK. [singing]
Now, grandma's a person who everyone likes,
she bought you a train and a bright, shiny bike.
But lately she hasn't been coming to dinner,
And last time you saw her she looked so much thinner.
Now, your mom and your dad said she moved to Peru,
but the truth is she died and some day you will too.
La-la-la la la-la-la la la-la-la la...
[Scene: A nice restraunt. Joey and Erica are dining.]
ERICA: Oh, Drake, isn't it amazing?

ERICA: Well, here we sit, devil may care, just a little while ago you were reattaching
someone's spinal cord.
JOEY: Yeah, that was a tricky one. In reality, that operation takes like, over 10 hours,
but they only showed it for 2 minites.
ERICA: Who's they?
JOEY: No one.
ERICA: Oh Drake, you are so talented, let me see those hands. Oh these hands, these
beautiful hands, oh I could just eat them. . . but I won't.
JOEY: Good, otherwise my watch would fall off. [laughs hysterically]
ERICA: No, seriously. These hands. These miracle, magical, life-giving hands. Oh, just to
be near them, touch them, maybe even lick one?
JOEY: Alright, just one. [she licks his hands rather emphatically] Wow, you're good at
that.
[Some guy at another table starts choking]
WAITER: Oh my God! Someone, he's choking. Is anyone here a doctor?
ERICA: Well, yes, yes, the best doctor in all of Salem, Dr. Drake Remore.
[Scene: San Diege Zoo. Ross is still at the monkey cages. A janitor is sweeping.]
JANITOR: Meet me in the nocturnal house in 15 minutes.
ROSS: Uhh, hey look, I don't really enjoy being with other men that way. But, um,
zoo dollars?
JANITOR: It's about your monkey. It's alive.
[Scene: Restraunt. Joey and Erica are still there.]
ERICA: I don't understand, why didn't you help that man?
JOEY: Uhh, cause, uhh, I'm a neurosurgeon and that was clearly a case of, uh, uh, foodal
chokage. Alright, look, I got to tell you something.
ERICA: No, no no no, you don't have to tell me anything. You don't have to explain
yourself to me. Ooh, who am I to question the great Dr. Drake Remore?
JOEY: But that's what...
ERICA: I should just be happy to be near you.

JOEY: That's it, just hey. Like at the end of a dance, HEY! [she starts nibbling his hand]
Hey. He-hey.
[Scene: Library. Phoebe is singing.]

But don't.
Cause that's another thing that you don't wanna do, everybody
That's another thing that you don't wanna do.
MONICA: Excellent!
CHANDLER: Very informative!
RACHEL: Not at all inappropriate!
PHOEBE: Thank you for coming everybody. There're cookies in the back.
ROB: That was great, the kids loved you.
PHOEBE: Yay, I rock.
ROB: And you know why? Because you told the truth, and nobody ever tells kids the
truth.You were incredible.
PHOEBE: But.
ROB: How did you know there was a but?
PHOEBE: I sense these things. It was either but or butter.
ROB: The thing is, I think some of the parents, they were kinda hopin' that you'd play
more songs about like, barnyard animals.
PHOEBE: I can do that.
ROB: Really?
PHOEBE: Yeah.
ROB: Because that would be fantastic. What? You wanna kiss me?
PHOEBE: Thinkin' about it.
[Scene: San Diego Zoo. Ross and the janitor are in the nocturnal house.]
JANITOR: Ahh, the bat. Ambassador of darkness, flitting out of his cave like a winged
messenger, sightless spectre of the macabe.
ROSS: Buddy, my monkey?
JANITOR: Oh, yeah, right. There was a break-in, few months back, inside job. Your monkey
was taken.
ROSS: Oh my God. But the zoo told me that my monkey was dead.
JANITOR: The zoo! Do you believe everything the zoo tells ya?
ROSS: That, that's the only thing the zoo's ever told me.
JANITOR: Of course they're gonna say he's dead. They don't want the bad publicity. It's
all a great big cover-up. Do you have any idea how high up this thing goes?
ROSS: That guy Lipson?
JANITOR: Lipson knows. Do you have any idea who else knows?
ROSS: No, I, I only know Lipson.
JANITOR: Hmm, Lipson knows huh? Ahh, hello Mr. Opossum, enigma of the trees, upside-down
denizen of the night, taunting gravity with...

JANITOR: Word on the street - well, when I say street, I mean those little pretend streets
they have here at the zoo.
ROSS: Of course.
JANITOR: Your monkey found a new career, in the entertainment field. That's all I know.
ROSS: This is unbelievable.
JANITOR: So, what is this information worth to you, my friend?
ROSS: Are you trying to get me to bribe you?
JANITOR: Maybe.
ROSS: But you already told me everything.
[Scene: Library. Ross show up with a MonkeyShine Beer poster.]
ROSS: Check it out, he actually is the MonkeyShine monkey.
RACHEL: Well, so what're you gonna do?
ROSS: Well, I guess I'm gonna call the beer company and try to find out where he is.
CHANDLER: That's what I did when I lost my Clydesdales.
PHOEBE: OK, hi again.
ALL: Hi Phoebe.
PHOEBE: Today we're gonna start with some songs about barnyard animals.
[singing] Oh, the cow in the meadow goes moo,
Oh, the cow in the meadow goes moo.
Then the farmer hits him on the head and grinds him up,
And that's how we get hamburgers.
Nooowww, chickens!
[Scene: Chandler and Joey's apartment. Monica, Rachel, and the guys are watching Days
of Our Lives.]
TV DOCTOR: You're the only one who can save her Drake.
JOEY ON TV: Damnit, I'm a doctor, I'm not God.
ROSS: Well, there goes my whole belief system.
[knock at the door]
ERICA: It's Erica.
JOEY: Oh my God, quick turn off the TV.
RACHEL: No no no, wait, I wanna see what happens.
JOEY: Uh, I get Leslie out of the coma and then we make out.
RACHEL: Well how can that be, you were just kissing Sabrina?
MONICA: Rachel, it's a world where Joey is a neuro-surgeon.
JOEY: Hey Erica, c'mon in.
ERICA: How did you get here so fast, I just saw you in Salem?
JOEY: Right, they uh, they choppered me in. What's up?
ERICA: Ohh, and I see you're having a little party too. Is she here, huh, huh?
JOEY: Who?
ERICA: Sabrina. I know about you two. I saw you today kissing in the doctor's lounge.
JOEY: It's not what you think, that was...
ERICA: You told me I was the only one. [throws a glass of water in his face]
JOEY: Alright look, that's it. I don't think we should see each other anymore, alright.
Look, I know I should have told you this a long time ago but I am not Drake Remore, OK.
I'm not even a doctor, I'm an actor. I just pretend to be a doctor.
ERICA: Oh my God. Do the people at the hospital know about this?
JOEY: Somebody wanna help me out here?
RACHEL: Oh, I know, I know. [Turns on the TV. Joey in on it.]
ERICA: How, how can you be here and there.
JOEY: 'Cause it's a television show.
ERICA: Drake, what're you getting at?
JOEY: I'm not Drake.
ROSS: That's right, he's not Drake, he's Hans Remore, Drake's evil twin.
ERICA: Is this true?
RACHEL: Yes, yes it is true.
JOEY: Yes, I'm afraid it is. You deserve much better than me Erica.  Go to Salem, find him, he's the guy
for you.
ERICA: Oh Hans. [They kiss]
ROSS: Hans...Hans...Yo evil twin.
JOEY: Right. Goodbye Erica, good luck in Salem. Take care
ERICA: I'll never forget you Hans. [Joey shuts the door in her face]
JOEY: OK, alright, the people who threw the water.
[Scene: Central Perk. Phoebe and Rob are sitting on the couch.]
PHOEBE: Fired! Why?
ROB: The library board has had a lot of complaints from parents about some of the stuff in
your songs.
PHOEBE: I can't believe it. Did you tell your board about how kids want to hear the truth?
ROB: No.
PHOEBE: I see.
ROB: Maybe if you just played some regular kiddie songs.
PHOEBE: No.
ROB: I'm not saying you have to be Barney.
PHOEBE: Who's Barney.
[Scene: Central Perk. The whole gang is there.]
ROSS: Well, I tracked down Marcel and get this, he's healthy, he's happy, and he's right
here in New York filming Outbreak II - The Virus Takes Manhattan.
RACHEL: You're kidding.
JOEY: This is amazing.
ROSS: I know.
JOEY: I finally get a part on TV and the monkey's makin' movies.
PHOEBE: OK, Rachel, I'm ready.
RACHEL: OK.
[little kid enters]
KID: Excuse me. Is this where the singing lady is that tells the truth?
PHOEBE: Um, yeah I guess that's me.
KID: [shouting out the door] She's here.
[a rush of kids enter]
PHOEBE: [singing] Sometimes men love women,
sometimes men love men,
and then there are bisexuals,
though some just say they're kidding themselves.
la la-la-la la-la-la-la-la-la-la...
[Scene: City street. The whole gang is walking up to the movie set.]
ROSS: This is so exciting, I haven't seen my monkey in almost a year.
CHANDLER: What, you never look down in the shower? Oh please. I'm not allowed to make one
joke in the monkey-is-penis genre?
SECURITY GUARD: C'mon people, back up please, back up, c'mon, c'mon, c'mon, c'mon.
ROSS: Uh, excuse me, uh, where can we find the monkey?
SECURITY GUARD: I'm sorry guys, closed set.
ROSS: Uh, I'm sorry, you don't understand, I'm, I'm, I'm a friend of his. We uh, we used
to live together.
SECURITY GUARD: Yeah, and I have a time share in the Pocanos with Flipper.
MONICA: Ross, there he is.
ROSS: Hey, hey buddy, Marcel. Marcel. [Marcel doesn't react so Ross starts singing] In
the jungle, the mighty jungle the lion sleeps tonight. [no reaction from Marcel,
Monica and Joey urge him on] In the jungle, the mighty jungle the lion sleeps tonight.
[Marcel looks over and everyone joins in] a-weema-way, a-weema-way..... [Marcel
runs over and hops up on Ross's shoulder]
[Scene: The next time at the movie set.]
SECURITY GUARD: Uh, excuse me folks this is a uhh...
JOEY: Closed set. We know but we're friends with the monkey. [guard lets them in]
ROSS: Good morning. Hey pal, look who I brought. It's your old friend Harry Elefante.
[Marcel grabs the elephant doll and throws it to the ground]
JOEY: Woah, dude, burn.
ROSS: I don't get it, he seemed so happy to see me yesterday.
TRAINER: Hey don't take it personal, he's under a lot of pressure, ya know, starring in a
movie and all.

TRAINER: In human terms, I'd say Cybill Shepard.
ALL: Woah.
CHANDLER: [to guys wering yellow isolation suits] So, are you guys in the movie, or are
you just really paranoid.
DIRECTOR'S ASSISTANT: Hey Sal, Jerry wants to know if the monkey's ready for the subway
set?
JOEY: Uh, excuse me. Jerry is the director, which one's he?
DIRECTOR'S ASSISTANT: The one in the director's chair.
JOEY: Gotcha. Phoebs, walk with me.
PHOEBE: OK. Um, how come I'm walking with you?
JOEY: Well, we're, we're just goin' over here so that we can get away from the horrible
flesh eating virus, for the love of God woman, listen to me. Is he lookin', is he
lookin'?
SUSIE: We've got a problem.
DIRECTOR'S ASSISTANT: Tell me.
SUSIE: I can't do Chris's makeup. She refuses to acknowledge that she has a moustasche.
DIRECTOR'S ASSISTANT: Is it bad?
SUSIE: It looks like one of her eyebrows fell down. Now unless someone convinces her to
let me bleach it, Jean-Claude Van Damme is gonna be making out with Gabe Kaplan.
DIRECTOR'S ASSISTANT: I'll talk to her.

CHANDLER: [to an extra in fatigues] Nice camoflauge man, for a minute there I almost
didn't see ya.
SUSIE: Excuse me.
CHANDLER: Ahhhh.
SUSIE: Uh, is your name Chandler?
CHANDLER: Uh, yes, yes it is.
SUSIE: Chandler Bing?
CHANDLER: Do you know me or are you just really good at this game?
SUSIE: I'm Susie Moss. Fourth grade, glasses, I used to carry around a box of animal
crackers like a purse.
CHANDLER: Susie Moss, right, yeah, wow, you look. . . great job growing up.
SUSIE: It's nice to see you're not still wearing that denim cap with all the little
mirrors on it.
CHANDLER: Oh, right, well yeah, I graduated fourth grade and realized I wasn't a pimp.
SUSIE: Remember the class play?
 Thank God I don't do
that anymore.
[cut to Monica and Rachel walking through the set]
MONICA: Oh my God, oh my God, oh my God.
RACHEL: What what what what?
MONICA: Jean-Claude Van Damme. I didn't know he was in this movie, he is so hot.
RACHEL: Ya think?
MONICA: The muscles from Brussels, wham bam Van Damme, did you see Time Cop?
RACHEL: No, was he any good in it?
MONICA: Rachel, he like, totally changed time.
RACHEL: Wow, so why don't you go talk to him?
MONICA: Oh, yeah.

MONICA: He could hear me.
RACHEL: OK, I'm doin' it for ya.
MONICA: Oh Rachel don't, don't you dare, don't, don't. Tell him I cook.
RACHEL: Excuse me. Hi.
VAN DAMME: Hi.
RACHEL: Um, this is gonna sound kinda goofy but uhhm, my friend over there, who cooks by
the way, um, she thinks you're cute.
VAN DAMME: You don't think I'm cute?
RACHEL: I, I don't know, um, do you think you're cute? OK, we're kinda gettin' off the
track here. Um, I was supposed to come here and tell you my friend thinks you're cute. So
what should I tell her?
VAN DAMME: You can tell her I think her friend is cute.
[back to Chandler and Susie]
CHANDLER: No, Stephen Hurs was the kid who would eat anything for money, David Stein was
the guy who had no elbows.
SUSIE: OK, well then who was the kid that got caught masturbating?
CHANDLER: OK that's not what he was doing. Alright, he was looking for his bus money.
[a voice in the background calls for makeup]
SUSIE: Oh that's me, I gotta go.
CHANDLER: Oh uh, o, OK.
SUSIE: Um, so listen, how many times am I gonna have to touch you on the arm before you
ask me on a date.
CHANDLER: Well, uh, let's try one more. . . there you go, say Ernie's, 8 o'clock.
SUSIE: I'll be there, and who knows, if things go well, maybe this time I'll get to see
your underwear.
CHANDLER: No one was around to hear that?
[back to Rachel and Monica]
MONICA: So what'd he say?
 I kept talking about you and he kept asking me out.
RACHEL: He just kept asking, and asking, and asking, and asking, and asking, and asking.
MONICA: Rachel if you, if you want to go out with him, you can.
RACHEL: Jean-Claude she said yes, I'll see you tonight. Thank you.
[Scene: Central Perk. Joey and the girls are sitting at the couches.]
RACHEL: And then Jean-Claude took me to that place Crossroads and that's where we hung out
with Drew Barrymore.
JOEY: Oh man, she's so smokin, she has got the greatest set of. . . no guys around, huh.
RACHEL: Does anybody need anything?
MONICA: Oh, I'll have an espresso. Oh acutally, I'll get it. If I ask you to, you'll
probably end up drinking it yourself.
RACHEL: That is so unfair.
PHOEBE: I know. Oh, like you would drink her coffee after what you did to her with Van
Damme.
[Ross enters]
ROSS: Hey Joey I have to cancel racketball for tonight, that was Marcel's trainer. He's
gonna let me have him for a couple of hours.

ROSS: Hey, we can rescedule for Saturday.

[Chandler enters]
CHANDLER: Hey, stick a fork in me, I am done.
PHOEBE: Stick a fork what?
CHANDLER: Like, when you're cooking a steak.
PHOEBE: Oh, OK, I don't eat meat.
CHANDLER: Well then, how do you know when vegetables are done?

CHANDLER: OK, then, eat me, I'm done.
CHANDLER: I've met the perfect woman. OK, we're sitting on her couch, we're fooling
around, and then suddenly she turns to me and says, 'Do you ever want to do it in an
elevator?'
MONICA: What did you say?
CHANDLER: Ahh, I believe my exact words were, 'Flaign,en - sten'. I mean I didn't know
what to say, how do you know if you wanna do it on an elevator?
PHOEBE: Oh, you just know.
[Scene: Chandler and Joey's apartment. Chandler and Susie are making out on the couch.]
SUSIE: Oh, shoot, we gotta go, got a reservation in 30 minutes.
CHANDLER: Oh no no no no, no no no no no no, you see, what I had planned shouldn't take
more that 2, 3 minutes tops.
SUSIE: Oh, 200 seconds of passion. We gotta go.
SUSIE: But um, here's an idea, have you ever worn women's underwear?
CHANDLER: Well, ye, yes, actually, but, uh, they were my Aunt Edna's, and there were three
of us in there.
SUSIE: Well I was thinking it would be um, kind of sexy if you wore mine tonight, at
dinner.
CHANDLER: You want me to wear your panties?
SUSIE: Could ya?
CHANDLER: Well, if I was wearing your underwear then, uh, what would you be wearing?. . .
You're swell.
[Scene: Ross's apartment. Ross is setting up for his time with Marcel. Joey is there.]
ROSS: OK, got the music, got the dinner. Oh and check it out, I made Marcel's favorite
dish, banannacake.
JOEY: Oooh.
ROSS: With mealworms.
JOEY: Yaaahhh. Ahhh, candles. What'dya thinks gonna happen here tonight?
[phone rings]
ROSS: Hello. Oh hi, are you on your way ove-. Oh. No, no, I, I understand, I mean a
monkey's gotta work. No it, it's no big deal, it' not like I uh, had anything special
planned. Yeah OK, OK. OK, OK, bye.
[Scene: Monica and Rachel's apartment. Monica and Rachel are upset with each other.
Phoebe is mediating.]
PHOEBE: OK, Rachel, why don't you start talking first.
RACHEL: Alright, I feel that this is totally unjustified. [Monica starts making faces
behind her back] She gave me the green light, I did nothing but-. Do you think I can't see
you in the TV set?
PHOEBE: Alright Monica, if there is something that you would like to share...
MONICA: Ya know, you had no right to go out with him.

MONICA: You sold me out.
RACHEL: I did not sell you out.
MONICA: Yes you did. Absolutely.
RACHEL: Would you let me talk. [flicks Monica on the forehead]
MONICA: Did you just flick me?
RACHEL: OK, well, you wouldn't let me finish and I was jus- [Monica flicks her back] Ow.
That hurt [flicks Monica]
MONICA: Quit flicking [flicks]
RACHEL: Ow, you stop flicking.
MONICA: You flicked me first.
[They keep flicking each other. This turns into slapping each other. This leads to
wrestling on the floor. All the while Phoebe is saying "Happy thoughts".
Eventually Phoebe gets fed up.]

[Phoebe grabs each of them by an ear]
MONICA AND RACHEL: Ow. Ow. Ow.
PHOEBE: Alright, now I will let go if you both stop.

MONICA: Uh-huh.
RACHEL: You want me to just call him up and tell him that you're seeing him instead?
That's what you want?
MONICA: OK.
RACHEL: Oh that's what you want.
MONICA: Yes.
RACHEL: Fine.
MONICA: Fine,
PHOEBE: There we go.You know what, if we were in prison, you guys would be, like, my
bitches.
[Scene: A fancy restraunt (Marcel's). Joey, Ross, Chandler, Susie, and the Director's
Assistant are there.]
ROSS: Thanks for letting me tag along tonight you guys.
JOEY: Forget about it.
SUSIE: How you doin there squirmy?
CHANDLER: I'm hangin in. . . and a little out.
JOEY: So, assistant to the director. That's a really exciting job, I mean, you must have a
ton of cool responsibilities.
DIRECTOR'S ASSISTANT: I have nothing to do with casting.
JOEY: So what're you guys gonna eat?

CHANDLER: Because I went to an all boys high school and God is making up for it.
SUSIE: I want you right here, right now.
CHANDLER: Right now, right here. Don't ya think we're in kind of a public plaaaa [Susie
grabs him under the table] They do have the shrimp.
SUSIE: Meet me in the bathroom. [she leaves for the bathroom]
CHANDLER: I'm going to the bathroom now. [leaves for the bathroom]
[In the bathroom Susie and Chandler are kissing. She backs into a stall.]
SUSIE: C'mon.
CHANDLER: I can't believe we're doing this.
SUSIE: Alright mister, let's see those panties.
CHANDLER: Alrighty. [we see Chandler's pants drop from under the stall door]
SUSIE: Ooh. Ooh. But ya know what would be even sexier?
CHANDLER: What?
SUSIE: If you didn't have your shirt tucked into them.
CHANDLER: Oh.
SUSIE: Alright. Now I would like to see you wearing nothing but them.
CHANDLER: OK, but uh, I hope you realize this means we're gonna miss hearing about the
specials.
SUSIE: C'mon hurry, hurry.

SUSIE: Alright, turn around. Time to see you from behind.
CHANDLER: OK.
[She turns him facing the toilet and sneaks out of the stall and gathers up his clothes.]
SUSIE: Oh, somebody's been doing his buns of steel video.
CHANDLER: Well, you want me to uh, clench anything, or-... Susie? Susie.
SUSIE: This is for the fourth grade.
CHANDLER: Huh? Where, whaddya mean?
SUSIE: Whaddo I mean. Whaddya mean, whaddo I mean? I mean underpants, mister, that's what
I mean.
CHANDLER: What, what's what you mean?
SUSIE: My skirt, you lifted, kids laughing. I was Susie Underpants 'till I was 18.
CHANDLER: That was in the fourth grade. How could you still be upset about that?

[Scene: Monica and Van Damme are walking down the street.]
MONICA: I can't believe this, just like 2 weeks ago I was watching Sudden Death,
now I'm on a date with Jean-Claude Van Damme.
VAN DAMME: Sure.
MONICA: This is so wild. Ya know, I gotta admit, I was kinda surprised that you agreed to
go on a blind date.
VAN DAMME: Normally, I would not do it.
MONICA: Well, what made you make the exception for me?
VAN DAMME: 'Cause Rachel told me uh, you were dying to have a threesome with me and uh,
Drew Barrymore. By the way, Drew has some groundrules and...
[Scene: Back at Monica and Rachel's apartment. They are now fighting about what Rachel
told Van Damme.]
MONICA: Say you're sorry.
RACHEL: No. [hitting each other]
MONICA: Say it.
RACHEL: No. [hitting again]
[Monica grabs Rachel by the sweater. Rachel squirms out of it]
MONICA: Rachel, you say you're sorry or your sweater gets it.
RACHEL: OK, OK, that is my favorite sweater, that is my third date sweater.
MONICA: Say you're sorry.
RACHEL: OK, you wanna play? OK, let's play, let's play. [She grabs a jar of tomato sauce
and Monica's purse]
MONICA: What're you gonna do?

MONICA: You don't have the guts.
RACHEL: Oh yeah. Well, at least I wasn't too chicken to tell some guy I thought he was
cute.
[Monica pulls a thread on Rachel's sweater and Rachel dumps the tomato sauce in Monica's
purse]
PHOEBE: Oh alright, stop, STOP THE MADNESS. This is crazy. Who can even remember
why this even started in the first place?
[Monica and Rachel start yelling at the same time]
PHOEBE: Yes that's right. But still, I-, look at your purse, look at your sweater, look at
yourselves.
MONICA: I'll help you fix your sweater.
RACHEL: I'll help you throw out your purse.
MONICA: I'm sorry that I made you stop seeing him.
RACHEL: Well, I'm sorry I went out with him when I knew you liked him.
MONICA: I'm sorry that I borrowed your gloves [pulls Rachel's gloves out of her purse]
[Scene: Back at the restroom at Marcel's. Chandler is still in the stall, Joey comes in
to go to the bathroom.]
[Joey starts whistling, Chandler finishes the tune. Joey whistles again.]
CHANDLER: Joey?
JOEY: Ma?
CHANDLER: Joey!
JOEY: Chandler? What're you still doin' here, I though you guys took off.
CHANDLER: Oh, no no no, she took off with my clothes.

CHANDLER: Not exactly. . . I'm wearin panties.
JOEY: Huh, you uh, you always wear panties?
CHANDLER: No, no, this is the first time.
JOEY: Wow, talk about your bad luck, I mean, the first time you try panties and someone
walks off with your clothes.
CHANDLER: I was not trying them out, Susie asked me to wear them.
JOEY: Well, let me see.
CHANDLER: No. I'm not letting you or anybody else see, ever.
JOEY: Alright, alright. [climbs up in the next stall and looks over at Chandler] Woah,
someone's flossing.
[Ross enters, sees Joey in the mirror]
ROSS: [to Joey who's looking over a toilet stall] Joey, some people don't like that.
JOEY: Chandler's wearing panties.
ROSS: What? Let me see. [climbs up in the other adjoining stall]
CHANDLER: No, no, you don't have to see.
ROSS: Hi Tushie.

JOEY: Can't help you, I'm not wearing any.
CHANDLER: How can you not be wearing any underwear?
JOEY: Oh, I'm gettin' heat from the guy in the hot pink thong.
CHANDLER: Alright look Ross I'll give you 50 dollars for your underpants.
[Some guy has entered.]
ALL: Hi.
[Back at the table. Joey and Ross return. Shortly, Chandler comes out, holding the stall
door in front of him, and leaves.]
[Scene: Central Perk. Ross, Phoebe, and Chandler are sitting.]
CHANDLER: Hey Phoebs, can I have the milk after you?
PHOEBE: I'm almost done with it, keep your panties on.
[Joey enters]
JOEY: Hey, hey, and I'm in the movie.
ROSS: What happened?
JOEY: One of the virus victims called in sick, so Cathy recommended me and boom, I'm dying
on the gurney.
ROSS: Ahh, oh that's OK, I mean, he's probably got, you know, parties to go to and stuff.
But, ya know, he's moved on. Hey, that, that's the way it goes right.
PHOEBE: [sees Marcel at the window] Oh my God.
ROSS: What?
["Looks Like We Made It" starts playing and we enter a whole sequence of Marcel
and Ross having fun in the city.]
[Scene: The movie set. Monica and Rachel are saying goodbye to Jean-Claude]
VAN DAMME: [to Rachel] I'm sorry it didn't work out between you and me, [to Monica] or you
and me. Drew was very disappointed.
RACHEL: OK, well, bye. [kisses him]
VAN DAMME: Goodbye.
MONICA: Well, bye for me too. [kisses him]
RACHEL: OK, well, bye-bye again. [kisses him again]
MONICA: OK.
VAN DAMME: Perhaps, uh, the three of us, just could. . .

MONICA AND RACHEL: No no no no.
RACHEL: Impressive.
MONICA: But no. Maybe if I were baking.
MONICA AND RACHEL: Bye-bye.
[Scene: City street. Whole gang is there seeing off Marcel.]
ROSS: Bye Marcel. See ya on the big screen. You keep people drinkin' that beer, OK. I miss
you buddy.
[Marcel is driven off in a limo]
PHOEBE: You know, I think I want to write a song about all this.
RACHEL: Oh yeah.
PHOEBE: Yeah. Oh, except one of the strings on my guitar is broken. Hey, Chandler, can I
borrow your G-string?
CHANDLER: How long you been waitin' to say that?
PHOEBE: About 20 minutes. CLOSING CREDITS
[Scene: Filming a scene from the movie. Joey is dying on a gurney, Van Damme is looking
over him.]
VAN DAMME: Can't you see what's going on here, this man is dying.
JOEY: Aaaaagggghhhhh.
DIRECTOR: Cut.
VAN DAMME: Can't you see what's going on here, this man is dying.
JOEY: Aaaaagggghhhhh.
DIRECTOR: Cut.
VAN DAMME: Can't you see what's going on here, this man is dying.
JOEY: Aaaaagggghhhhh. Mommy
DIRECTOR: Cut.
VAN DAMME: Can't you see what's going on here, this man is dead.
END


Single Dish Radio Astronomy Software Tools¶
For an overview of SDRAST and the current status please visit https://sdrast.github.io/.
Todo¶
Change import * from math
to import math
.
Math Package¶
Local mathematical functions in addition to the Python ‘math’ module.
The smoothing functions are adapted from: http://www.swharden.com/blog/2008-11-17-linear-data-smoothing-in-python/
Functions¶
|
Return the arc cosine (measured in radians) of x. |
|
Return the inverse hyperbolic cosine of x. |
|
Computes Allan variance |
|
Return the arc sine (measured in radians) of x. |
|
Return the inverse hyperbolic sine of x. |
|
Return the arc tangent (measured in radians) of x. |
|
Return the arc tangent (measured in radians) of y/x. |
|
Return the inverse hyperbolic tangent of x. |
|
Converts a binary string, sign bit then msb on left, to an integer. |
|
Return the ceiling of x as an Integral. |
|
Return a float with the magnitude (absolute value) of x but the sign of y. |
|
Return the cosine of x (measured in radians). |
|
Return the hyperbolic cosine of x. |
|
Converts integer to binary string of length nbits, sign bit and then m.s.b. |
|
Convert angle x from radians to degrees. |
|
Error function at x. |
|
Complementary error function at x. |
|
Return e raised to the power of x. |
|
Return exp(x)-1. |
|
Return the absolute value of the float x. |
|
Find x!. |
|
Return the floor of x as an Integral. |
|
Return fmod(x, y), according to platform C. |
|
Return the mantissa and exponent of x, as pair (m, e). |
|
Return an accurate floating point sum of values in the iterable seq. |
|
Gamma function at x. |
|
Un-normalized gaussian |
|
greatest common divisor of x and y |
|
Computes the variance of n_data points of data[], averaged in groups of n_grps and returns the variance for these groups |
|
Return the Euclidean distance, sqrt(x*x + y*y). |
|
Determine whether two floating point numbers are close in value. |
|
Return True if x is neither an infinity nor a NaN, and False otherwise. |
|
Return True if x is a positive or negative infinity, and False otherwise. |
|
Return True if x is a NaN (not a number), and False otherwise. |
|
Return x * (2**i). |
|
Natural logarithm of absolute value of Gamma function at x. |
|
Return the logarithm of x to the given base. |
|
Return the base 10 logarithm of x. |
|
Return the natural logarithm of 1+x (base e). |
|
Return the base 2 logarithm of x. |
|
Return the fractional and integer parts of x. |
|
gaussian function whose area under the curve is unity. |
|
Return x**y (x to the power of y). |
|
This finds the integer greater than ‘number’ which is a power of two. |
|
Convert angle x from degrees to radians. |
|
Difference between x and the closest integer multiple of y. |
|
returns a normalized gauusian’s value at x, given the mean and full width at half maximam |
|
Return the sine of x (measured in radians). |
|
Return the hyperbolic sine of x. |
|
Smooth a list of numbers by averaging ‘degree’ samples. |
|
Gaussian data smoothing function. |
|
Smooth a list of numbers by convolving with a triangle. |
|
Solid angle for a circular pattern |
|
Return the square root of x. |
|
Return the tangent of x (measured in radians). |
|
Return the hyperbolic tangent of x. |
|
Truncates the Real x to the nearest Integral toward 0. |
Math.Bin Module¶
Binary operations
- Example::
In [1]: import Math.Bin as B
In [2]: B.setbit(0,12) Out[2]: 4096
In [3]: “%x” % B.setbit(0,12) Out[3]: ‘1000’
Functions¶
|
Counts the number of set bits in the binary value. |
|
Clear bit in word (set to 0) |
|
Set a bit mask |
|
Extract a value from a range of bits (bit field) |
|
get the value of bit in word |
|
Reverse the pattern |
|
|
|
|
|
Set a value into a bit field |
|
set bit in word to 1 |
Math.geometry Module¶
Classes for properties of geometrical objects.
This isn’t exactly difficult math but it illustrates object-oriented programming pretty well.
For simple calculations it isn’t necessary to create instances of the objects. For example:
In [1]: from Math.geometry import *
In [2]: Sphere(6000).area
Out[2]: 452389342.11693019
In [3]: Sphere(6000).horizon(0.01)
Out[3]: 10.95443745708116
Sometimes, an instance is useful though:
In [4]: s = Sphere(6000)
In [5]: r = s.horizon(300)
In [6]: visible_fraction = Circle(r).area/s.area
In [7]: visible_fraction
Out[7]: 0.023242630385487552
Classes¶
|
Circle, a subclass of Circular() |
|
Superclass for circular objects, like Circle() and Sphere() |
|
Sphere, a subclass of Circular() |
Class Inheritance Diagram¶
Math.least_squares Module¶
leastsq_support - short-cuts for scipy.optimize.leastsq
Functions¶
|
Find x!. |
|
Invoke least squares fit to a Gaussian function |
|
Gaussian function |
|
Difference between model and actual data |
|
Minimize the sum of squares of a set of equations. |
|
Return the logarithm of x to the given base. |
|
Smooth (and optionally differentiate) data with a Savitzky-Golay filter. |
|
In cyclic voltammetry, voltage (being the abcissa) changes like a triangle wave. |
|
un-normalized gaussian for fitting |
|
Return the square root of x. |
|
Standard deviation from Gaussian full width at half maxiuam |
|
Gaussian full width at half maximum from standard deviation |
Math.multigauss Module¶
Functions¶
|
A form of ‘multigauss’ that curfit can use. |
|
Un-normalized gaussian |
|
Returns the value of the sum of multiple Gaussians. |
Math.statistics Module¶
Allan variance
not yet tested since bug fixes - tbhk 2007-10-12
Functions¶
|
Computes Allan variance |
|
Computes the variance of n_data points of data[], averaged in groups of n_grps and returns the variance for these groups |


Cats are the only domesticated species in the cat family. They are known for their flexibility, quick reflexes, sharp teeth and claws which they normally use for hunting.
Cats are known to posses these senses:


❲ℒℍ❳
❲TRANSLITERATION❳
×
gujarati
telugu
tamil
hindi
bengali
marathi
kannada
malayalam
punjabi
nepali
IP address for the api used is not perminant
Refer :
QuillPad server
github link:-
--
--


Push up services in favor of data binding/closure actions
Keep styles local to components, leverage common css variables (coming soon)
use the default blueprint for bower dependencies
use the included hook in index.js to import non-standard files to ember
put public files in /public, access them in parent app with via the addon name
if you insert into the pipleline (using broccoli hooks), you can view generated and intermediate data in tmp once the server is started. Also See Broccoli Stew}


This is the formatting guide for reStructuredText as it may be used with MARKUP.
Admonitions
Admonitions are notes and warnings, and other types of alerts to give to readers. Use notes for a simple callout and warnings for things that will break if not followed correctly. Use the other adminitions sparingly, or at least in a consistent manner.
Attention
Use .. attention::
as shown here:
.. attention:: The words for the attention itself.
to create an admonition like this:
Attention
The words for the attention itself.
Caution
Use .. caution::
as shown here:
.. caution:: The words for the caution itself.
to create an admonition like this:
Caution
The words for the caution itself.
Custom Admonitions
MARKUP uses the default admonition to enable the use of custom admonition titles. The default admonition is styled the same as a note.
For a custom admonition, use .. admonition:: some string
as shown here:
.. admonition:: Custom admonition title
Contents of custom admonition.
Which will appear in the documentation like this:
Custom admonition title
Contents of custom admonition.
Danger
Use .. danger::
as shown here:
.. danger:: The words for the danger itself.
to create an admonition like this:
Danger
The words for the danger itself.
Error
Use .. error::
as shown here:
.. error:: The words for the error itself.
to create an admonition like this:
Error
The words for the error itself.
Hint
Use .. hint::
as shown here:
.. hint:: The words for the hint itself.
to create an admonition like this:
Hint
The words for the hint itself.
Important
Use .. important::
as shown here:
.. important:: The words for the important itself.
to create an admonition like this:
Important
The words for the important itself.
Note
Use .. note::
as shown here:
.. note:: The words for the note itself.
to create an admonition like this:
Note
The words for the note itself.
Tip
Use .. tip::
as shown here:
.. tip:: The words for the tip itself.
to create an admonition like this:
Tip
The words for the tip itself.
Warning
Use .. warning::
as shown here:
.. warning:: The words for the warning itself.
to create an admonition like this:
Warning
The words for the warning itself.
Code Blocks
For code samples (Python, YAML, JSON, Jinja, config files, and so on) and for commands run via the command line that appear in the documentation we want to set them in code blocks using variations of the .. code-block::
directive.
Note
Code block types in the MARKUP are generalized. For example: the text
type is used for general text files including configuration files and the sql
type is used for general data tables. You may customize this to make them more specific and/or add more types to the code block styling options.
Code blocks are parsed using a tool called Pygments that checks the syntax in the named code block against the lexer in Pygments to help ensure that the structure of the code in the code block, even if it’s pseudocode, is formatted correctly.
Warning
Pygments lexers check the code in a code block against a lexer. A lexer checks the structure and syntax of the code in the code block. If this check doesn’t pass, a Sphinx build may fail.
For example, if a code block contains YAML and Jinja and is defined by a .. code-block:: yaml
code block, the build will fail because Jinja templating is not YAML.
Use a none
code block to (temporarily or permanently) work around any problems you may have with rendering code blocks, as a none block is more forgiving.
Line Emphasis
Individual lines in a code block may be emphasized. The presentation is similar to a yellow highlight in a book. The following example shows how to highlight lines 3 and 5 in a code block:
.. code-block:: python
:emphasize-lines: 3,5
def function(foo):
if (some_thing):
return bar
else:
return 0
will display as:
def function(foo):
if (some_thing):
return bar
else:
return 0
Command Shell
For command shell blocks, assign console
as the name of the code block:
.. code-block:: console
$ service stop
to create a code block like this:
Config File
For generic configuration file blocks, assign text
as the name of the code block:
.. code-block:: text
spark.setting.hours 1h
spark.setting.option -User.timezone=UTC
spark.setting.memory 20g
to create a code block like this:
spark.setting.hours 1h
spark.setting.option -User.timezone=UTC
spark.setting.memory 20g
Note
We’re using text
because there are not specific lexers available for all of the various configuration files. The text
lexer allows us to style the code block similar to all of the others, but will not apply any highlighting to the formatting within the code block.
CSS
For CSS code blocks, assign css
as the name of the code block:
.. code-block:: css
ul.tab-selector {
display: block;
list-style-type: none;
margin: 10 0 10px;
padding: 0;
line-height: normal;
overflow: auto;
}
to create a code block like this:
ul.tab-selector {
display: block;
list-style-type: none;
margin: 10 0 10px;
padding: 0;
line-height: normal;
overflow: auto;
}
Data Table
Table blocks are used to show the inputs and outputs of processing data, such as with blocks reference documentation. For table code blocks, assign sql
as the name of the code block:
.. code-block:: sql
--------- ---------
column1 column2
--------- ---------
value value
value value
value value
--------- ---------
to create a code block like this:
--------- ---------
column1 column2
--------- ---------
value value
value value
value value
--------- ---------
HTML
For HTML code blocks, assign html
as the name of the code block:
.. code-block:: html

Warning

The text for the warning built from raw HTML.

to create a code block like this:

Warning

The text for the warning built from raw HTML.

JavaScript
For JavaScript code blocks, assign javascript
as the name of the code block:
.. code-block:: javascript
$('div.content-tabs').each(function() {
var tab_sel = $('
', { class: "tab-selector" });
var i = 0;
if ($(this).hasClass('right-col')){
tab_sel.addClass('in-right-col');
}
$('.tab-content', this).each(function() {
var sel_item = $('
', {
class: $(this).attr('id'),
text: $(this).find('.tab-title').text()
});
$(this).find('.tab-title').remove();
if (i++) {
$(this).hide();
} else {
sel_item.addClass('selected');
}
tab_sel.append(sel_item);
$(this).addClass('contenttab');
});
$('.tab-content', this).eq(0).before(contenttab_sel);
contenttab_sel = null;
i = null;
});
to create a code block like this:
$('div.content-tabs').each(function() {
var tab_sel = $('
', { class: "tab-selector" });
var i = 0;
if ($(this).hasClass('right-col')){
tab_sel.addClass('in-right-col');
}
$('.tab-content', this).each(function() {
var sel_item = $('
', {
class: $(this).attr('id'),
text: $(this).find('.tab-title').text()
});
$(this).find('.tab-title').remove();
if (i++) {
$(this).hide();
} else {
sel_item.addClass('selected');
}
tab_sel.append(sel_item);
$(this).addClass('contenttab');
});
$('.tab-content', this).eq(0).before(contenttab_sel);
contenttab_sel = null;
i = null;
});
JSON
For JSON code blocks, assign json
as the name of the code block:
.. code-block:: json
{
"foo": [
{
"one": "12345",
"two": "abcde",
"three": "words"
},
]
}
to create a code block like this:
{
"foo": [
{
"one": "12345",
"two": "abcde",
"three": "words"
},
],
}
JSON w/Jinja
For JSON code blocks that also embed Jinja templating, such as the nav-docs.html files that are used to build the documentation site’s left navigation structures, the standard .. code-block:: json
block will not work because the code block is not parsable as JSON. Instead, for code blocks that require a mix of JSON and Jinja templating, assign django
as the name of the code block:
.. code-block:: django
{% extends "!nav-docs.html" %}
{% set some_jinja = "12345" %}
{% set navItems = [
{
"title": "Start Here",
"iconClass": "fas fa-arrow-alt-circle-right fa-fw",
"subItems": [
{
"title": "Start Here",
"hasSubItems": false,
"url": "/some_file.html"
},
{
"title": "FAQ",
"hasSubItems": false,
"url": "/faq.html"
},
{
"title": "Additional Resources",
"hasSubItems": false,
"url": "/resources.html"
},
]
},
] -%}
to create a code block like this:
{% extends "!nav-docs.html" %}
{% set some_jinja = "12345" %}
{% set navItems = [
{
"title": "Start Here",
"iconClass": "fas fa-arrow-alt-circle-right fa-fw",
"subItems": [
{
"title": "Start Here",
"hasSubItems": false,
"url": "/some_file.html"
},
{
"title": "FAQ",
"hasSubItems": false,
"url": "/faq.html"
},
{
"title": "Additional Resources",
"hasSubItems": false,
"url": "/resources.html"
},
]
},
] -%}
Why django?
Using django
seems like an odd way to specify a code block that contains both Jinja and JSON.
Django is a site templating language that is part of the Python world. The Sphinx themes are actually built using a combination of Django, Jinja, JSON, and other stuff. The left-side navigation, in particular, is a mix of JSON structure and Jinja variables.
django
identifies the Pygments lexer that parses a code block that contains both Jinja and JSON.
Lua
For Lua code blocks, assign lua
as the name of the code block:
.. code-block:: lua
A = class()
function A:init(x)
self.x = x
end
function A:test()
print(self.x)
end
to create a code block like this:
A = class()
function A:init(x)
self.x = x
end
function A:test()
print(self.x)
end
None
For text that needs to be formatted as if it were a code block, but isn’t actually code, assign none
as the name of the code block:
.. code-block:: none
This is a none block. It's formatted as if it were code, but isn't actually code.
Can include code-like things:
function_foo()
does: something
end
to create a code block like this:
This is a none block. It's formatted as if it were code, but isn't actually code.
Can include code-like things:
function_foo()
does: something
end
Python
For Python code blocks, assign python
as the name of the code block:
.. code-block:: python
def function(foo):
if (some_thing):
return bar
else:
return 0
to create a code block like this:
def function(foo):
if (some_thing):
return bar
else:
return 0
REST API
For REST API code blocks that show how to use an endpoint, assign rest
as the name of the code block:
.. code-block:: rest
https://www.yoursite.com/endpoint/{some_endpoint}
to create a code block like this:
https://www.yoursite.com/endpoint/{some_endpoint}
Note
Use the JSON code block style for the JSON request/response part of the REST API.
reStructuredText
For reStructured Text code blocks, assign rst
as the name of the code block:
.. code-block:: rst
This is some *reStructured* **Text** formatting.
.. code-block:: none
that has some(code);
to create a code block like this:
This is some *reStructured* **Text** formatting.
.. code-block:: none
that has some(code);
Ruby
For Ruby code blocks, assign ruby
as the name of the code block:
.. code-block:: ruby
items = [ 'one', 1, 'two', 2.0 ]
for it in items
print it, " "
end
print "\n"
to create a code block like this:
items = [ 'one', 1, 'two', 2.0 ]
for it in items
print it, " "
end
print "\n"
Scala
For Scala code blocks, assign scala
as the name of the code block:
.. code-block:: scala
object HelloWorld {
def main(args: Array[String]) {
println("Hello, world!")
}
}
to create a code block like this:
object HelloWorld {
def main(args: Array[String]) {
println("Hello, world!")
}
}
Shell Script
For shell script blocks, assign bash
as the name of the code block:
.. code-block:: bash
# The product and version information.
readonly MARKUP_PRODUCT="markup-app"
readonly MARKUP_VERSION="1.23.45-6"
readonly MARKUP_RELEASE_DATE="2019-04-01"
to create a code block like this:
# The product and version information.
readonly MARKUP_PRODUCT="markup-app"
readonly MARKUP_VERSION="1.23.45-6"
readonly MARKUP_RELEASE_DATE="2019-04-01"
YAML
For YAML code blocks, assign yaml
as the name of the code block:
.. code-block:: yaml
config:
- some_setting: 'value'
- some_other_setting: 12345
to create a code block like this:
config:
- some_setting: 'value'
- some_other_setting: 12345
YAML w/Jinja
For YAML code blocks that also embed Jinja templating, the standard yaml
block will not work because the code block is not parsable as YAML. Instead, these code blocks must be able to parse a mix of YAML and Jinja templating. Assign salt
as the name of the code block:
.. code-block:: salt
{%- set some_jinja = "12345" %}
config:
- some_setting: 'value'
- some_other_setting: {{ some_jinja }}
to create a code block like this:
{%- set some_jinja = "12345" %}
config:
- some_setting: 'value'
- some_other_setting: {{ some_jinja }}
Why salt?
Using salt
seems like an odd way to specify a code block that contains both Jinja and YAML.
SaltStack is a configuration management tool similar to Ansible, Chef, and Puppet. SaltStack uses a mix of Jinja and YAML to define system states that are to be configured and maintained. The salt
lexer exists in Pygments originally because of how SaltStack defines system states, their use of Python and documentation built via Sphinx, and the need for a lexer that could parse a file with code samples that contain both Jinja and YAML.
salt
identifies the Pygments lexer that parses a code block that contains both Jinja and YAML.
Content Tabs
Content tabs enable a way to group topics together in a compact way. Each topic is associated with a tab and, when clicked, shows that content in a content box below. The content box has a shadow applied to it to distinguish tabbed content from normal content. Use content tabs to group related topics, code styles, information sets, or concise workflows.
Warning
Content tabs may only be used in HTML outputs. For content that is output to PDF format, the content tabs will “fail gracefully” by presenting the tab title similar to an H5 header.
Usage
Content tabs are defined by a series of container
directives that work together to assign CSS and HTML properties. For example:
.. container:: content-tabs
:name: unique-name
.. container:: tab-content
:name: required-name-1
.. container:: tab-title
Tab 1
.. container::
This is the content for tab1.
.. container:: tab-content
:name: required-name-2
.. container:: tab-title
Tab 2
.. container::
This is the content for tab2.
where:
- The
content-tabs
container declares a group of content tabs. The :name:
property is required and must be unique. This container expects a list of one (or more) containers that specify tab-content.
- The
tab-content
container specifies the contents for each individual tab in the tab group. This container must specify a :name:
property and this value must be unique, as this value is assigned to a hidden radio button that tells the JavaScript how to knows which tab is selected by the user. Each tab-content
container must specify a tab-title
and a container that is not assigned a CSS property.
- The
tab-title
container specifies the string that will appear in the tab.
- The container that is not assigned a CSS property is the container that holds the content that will appear in the tab. This is a normal paragraph, in that it supports most of the same options as a paragraph would support if it were anywhere else in the documentation.
Note
The formatting for content tabs is picky. Be sure to get everything aligned and indented under each of the .. container:: directives.
When it’s all together, it should be similar to:
Tab 1
This is the content for tab1.
Tab 2
This is the content for tab2.
Tip
Keep the number of tabs in a content tab group to a small number. If a grouping requires more than 5-6 tabs, consider re-grouping the content. Keeping this to a small number also helps prevent wrapping of content tabs.
Example: UI Tasks
The following example shows use cases for a very sophisticated user interface supported by a few exceptionally well-written task-based topics organized as a series of content tabs.
Example
This user interface is just amazing. Users can do stuff:
Click Button
To click a button
- Open the application.
- In the top navigation bar, click BUTTON.
- From the list, select a list item.
- In the ITEM pane, scroll to the bottom, and then click BUTTON.
Check Box
To check a box
- Open the application.
- In the top navigation bar, click BUTTON.
- From the list, select a list item.
- In the ITEM pane, scroll to the bottom, and then select the CHECKBOX.
Type Something
To type something
- Open the application.
- In the top navigation bar, click BUTTON.
- From the list, select a list item.
- In the ITEM pane, scroll to text box, select it, and then start typing.
Example: Terms
This example represents an intro near the start of a longer conceptual topic that needs to introduce some important terminology. You’d use a short paragraph (like this one!), and then put each of the terms in a tab below the paragraph. This example also shows how to use the .. includes::
directive to pull in paragraphs from the source glossary file, which is located at /shared/terms.rst
.
Example
Blah blah, the following terms are important for this topic:
Aaaaa
Aaaaa is a word built using only the first letter of the alphabet.
Bbbbb
Bbbbb is a word built using only the second letter of the alphabet.
Ccccc
Ccccc is a word built using only the third letter of the alphabet.
Ddddd
Ddddd is a word built using only the fourth letter of the alphabet.
Expandos
Expandos enable content to be grouped under a title bar. When the title bar is clicked, the content expands under the title bar and is visible to the reader. When a title bar with expanded content is clicked, the content collapses under the title bar and is no longer visible.
The content appears inside a box to distinguish expanded content from normal content. Use expandos for things like FAQ pages, support and troubleshooting topics, certain tutorials, and to hide certain types of content from the reader until the reader chooses to view it.
An expando is defined inside the .. expando::
directive. Each expando must be assigned a :title:
, which is the string that appears in the expandable title bar on the page:
.. container:: toggle
.. container:: header
**This is the title**
.. container:: content
Content goes here, indented correctly, as anywhere else in
a rST document.
will appear similar to:
Content goes here, indented correctly, as anywhere else in a rST document.
The :title:
may contain bold text, italics text, plain text, or a combination of styles:
The title for this expando is BOLD.
The title for this expando is italics.
The title for this expando has a combination of styles.
The :title:
may even contain a Font Awesome icon that has been set up as a token. For example:
.. container:: toggle
.. container:: header
We like the Font Awesome |fa-expando-checkbox|!
.. container:: content
This title uses the ``|fa-expando-checkbox|`` token:
|fa-expando-checkbox| |fa-expando-checkbox| |fa-expando-checkbox|!
will appear similar to:
This title uses the |fa-expando-checkbox|
token: !
Warning
Expando titles may not contain tokens.
Tip
Don’t use expandos within large reference topics. One of the primary use cases for a large reference topic is to enable the reader to CMD+F, and then search for a string on the page. Content that is inside a hidden expando may not be searchable in this scenario.
Example: FAQ
FAQs are typically lists of questions. People read the questions before they read the answers. Use expandos to show people the questions, and then the answers.
The following setup instructions assume the following:
- You are installing on Mac OS
- You are able to run the pip command (for non-Sass applications)
- You are able to install Rubygems (for Sass)
For all other installation scenarios, the steps are similarly easy. Please refer to the linked setup docs for each application for the correct information.
To set up a theme environment
Install Sphinx:
Install Sass:
Install the RevealJS docutils plugin:
$ pip install sphinxjp.themes.revealjs
Install the Recommonmark docutils-compatibility bridge:
$ pip install recommonmark
A documentation project that supports Markdown authoring must add the following elements to the conf.py file:
Under import sys, os
add:
from recommonmark.parser import CommonMarkParser
from recommonmark.transform import AutoStructify
source_parsers = {
'.md': CommonMarkParser,
}
Change source_suffix = '.rst'
to source_suffix = ['.rst', '.md']
.
At the bottom of the Options for HTML output configuration section, add:
def setup(app):
app.add_config_value('recommonmark_config', {
'enable_eval_rst': True,
}, True)
app.add_transform(AutoStructify)
Install WeasyPrint:
and then run $ weasyprint --version
to verify.
Note
In some cases, you will need to make sure that the user running the WeasyPrint installation command can write to the install directory. By default, that requires a command similar to: $ sudo chown -R $USER:admin /usr/local
.
The following steps describe how to create a pull request when using GitHub Desktop:
To create a pull request via GitHub desktop
Open GitHub Desktop and select the vse_docs
repository.
From the master branch, ensure that the repository is up to date. Click Fetch Origin and then click Pull Origin.
Select the dropdown next to Current Branch, and then choose New Branch.
In the Create a Branch dialog box, assign the branch a unique name, such as jscott-060718-feedback
, and then click Create Branch.
Using your favorite text editor–such as TextMate on a Mac or EditPad Pro on a Windows PC–open the file you want to edit and make your changes.
In GitHub Desktop, under Current Repository choose the Changes tab. This will show the changes you just made.
Add short description to the Summary box, and optionally add a description. Select all of the files to be commited with this branch.
Click Commit to [name of branch].
Select the dropdown next to Current Branch, choose Pull Requests, and then click the Create a pull request link.
In the Publish Branch dialog box, click Publish Branch. This will open the GitHub web user interface.
On the Open a pull request page, add reviewers if necessary. When finished, click Create pull request.
You’re done!
MARKUP must be run as an actual website to ensure certain behaviors, especially for top-level navigation linking, left-side navigation linking, correct highlighting in the left-side navigation. This is true even for local development. You can view any HTML page in any browser to read and verify rendering of formatting elements on the pages themselves—notes, warnings, code blocks, tables, etc.—but linking to other pages and/or using the navigation will not behave correctly. Use localhost to enable correct website behaviors on your local machine.
Mac OS machines have built-in localhost abilities that can be enabled.
Run the following command:
Open the configuration file:
$ sudo nano /etc/apache2/httpd.conf
Enable PHP 7.1 by removing the #
from this line:
#LoadModule php7_module libexec/apache2/libphp7.so
Restart Apache.
Open the configuration file:
$ sudo nano /etc/apache2/httpd.conf
and then update DocumentRoot
and <Directory
to have the path to the /output
directory for the project:
$ DocumentRoot "/path/to/markup_project/output/"
<Directory "/path/to/markup_project/output/">
Restart Apache.
Example: Content Patterns
This example shows various standard content elements–paragraphs, bold, italic, tables, content tabs, code blocks, images, includes, glossary terms–included under expandos:
This is a test. Can expandos have content tabs?
Aaaaa
Aaaaa is a word built using only the first letter of the alphabet.
Bbbbb
Bbbbb is a word built using only the second letter of the alphabet.
Ccccc
Ccccc is a word built using only the third letter of the alphabet.
Ddddd
Ddddd is a word built using only the fourth letter of the alphabet.
Looks like the answer is: YES.
This is text. And
This
Is
An
Ordered
List
This section groups a series of procedures as tabbed content.
This is
To do the first step
- Do.
- Doing.
- Done.
a procedure
To do the second step
- Do.
- Doing.
- Done.
with a series
To do the third step
- Do.
- Doing.
- Done.
of steps
To do the fourth step
- Do.
- Doing.
- Done.
Includes
Inclusions are a great way to single-source content. Write it in one place, publish it in many. There are two ways to handle inclusions, though both require using the .. includes::
directive.
- via File
- via Snippet
via File
Inclusions may be done from standalone files. These standalone files are typically kept as a standalone file located in a dedicated directory within the docs repository, such as /shared/some_file.rst
.
The .. includes::
is used to declare the path to that file. At build time, the contents of the included file are built into the location specified by the .. includes::
directive.
For example:
.. includes:: ../../includes/terms.rst
will pull in the contents of that file right into the location of the directive.
via Snippet
Inclusions may be done from within existing files as long as the target for that snippet is located in another file in the repository.
Warning
Snippets may not be used within the same file. What this means is the source of the snippet may not also be the target for that snippet. This will cause a rendering issue in the output or an error in the build.
These types of inclusions require two steps:
Declare a start and an end for the snippet; this declaration must be unique across the entire documentation repository.
Tip
To help ensure unique snippet identifiers are built in the output, ensure that the snippet identifiers are directly assocaited with the name of the source directory and source file. These identifiers don’t have to be long (though they can be), but they must be unique within a doc set.
For example, a file locatated at internal_docs/source/tips.rst
should have snippet identifiers like .. internal-docs-tips-some-identifier-start
or .. internal-docs-tips-some-identifier-end
.
Specify the .. includes::
directive, along with the :start-after:
and :end-before:
attributes.
The :start-after:
and :end-before:
attributes effectively use a unique code comment located in the file defined by the .. includes::
directive to know the start and end of the snippet to be included.
For example, a snippet is defined in docs/source/snippet.rst
:
This is the file named snippet.rst. It has a few paragraphs and a
reusable snippet.
Paragraph one.
.. docs-snippet-p2-start
Paragraph two.
.. docs-snippet-p2-end
Paragraph three.
This snippet can be included in other files like this:
Some content.
.. include:: ../../docs/source/snippet.rst
:start-after: .. docs-snippet-p2-start
:end-before: .. docs-snippet-p2-end
Some more content.
This should result in a file that looks similar to:
Some content.
Paragraph two.
Some more content.
Hint
Snippets may be sourced from large files that contain lists. For example, let’s say the docs site has multiple docs collections (by application, by role, by internal vs. external, etc.) and you want each docs collection to have its own dedicated glossary to both enable consistency across doc sets for the same terms, but to also allow specific glossary terms for each doc set.
In this case, all glossary terms can be created and managed from a single file like shared/terms.rst
in which the snippet start-end pairs are defined and the glossary terms are managed. Then each glossary.rst
file across the docs set can use the .. includes::
directive to pull in the terms it needs.
Inline Markup
Paragraphs, lists, and other strings of text behave here like they do in any text editor, with line breaks before and after, the usual. Use any of these formatting options within paragraphs, lists, tables, and so on:
Bold
Use two asterisks (**
) around the word to apply bold formatting: **bold**
. For example: this is bold content.
Italics
Use a single asterisk (*
) around the word to apply italics formatting: *italics*
. For example: this is italicized content.
Code Strings
Use two backticks around the code string to apply code block formatting. For example:
renders like this: inline code string
.
Note
An inline code string should only be used within lists and paragraphs for function names, commands for command-line tools, and so on, and only in a way where the contents of that code string reads normally in a sentence. Use the code-block directive for anything else.
Links
There are three types of links:
- External
- Reference
- Topic
External
Ideally, external links should just be the full URL: http://www.yoursite.com.
In some cases the external URL is too big and/or you want to embed the external link naturally within a sentence:
`some link text here <http://www.yoursite.com>`_
For example: some link text here
In some cases, Sphinx will throw warnings and errors if there are too many external links in the docs to the same places, so use a double underscore (__
) at the end of the external link to stop those warnings/errors.
Linking topics together:
The :ref:
links to an anchor on a page in the doc set, as long as the anchor is specified correctly immediately above the header for the section to which you want to link. For example:
:ref:`format-content-code-block-yaml`
will link to the header tagged with:
.. `_format-content-code-block-yaml`
There can be only one header with that name in the entire collection. The link itself resolves to the header string, which is why we want to limit use of this type of linking to only things that resolve exactly, such as function names, commands, settings groups, and so on.
Reference
There are two ways to link to internal headers across the doc set.
First, a pre-requisite: the header to which the link is targeted must have an anchor. For example:
.. _anchor-name:
Internal Reference
--------------------------------------------------
There are two ways to link to internal headers across the doc set.
First, a pre-requisite: the header that is the target of the link
must be tagged:
where the internal reference is the .. _anchor-name:
. The string “anchor-name” must be unique across the entire doc set, so the required pattern for these is <file-name-header-name>, like this:
.. _format-content-code-block-yaml:
and then there are two ways to link to that anchor. The first will pull in the header name as the link:
:ref:`format-content-code-block-yaml`
and the second will use the string you put there and will not pull in the header name as the link:
This links to some information about using
:ref:`YAML code blocks <format-content-code-block-yaml>`
in your documentation.
These first example renders like this: YAML. The second example is preferred and looks like the next sentence. This links to some information about using YAML code blocks in your documentation.
Topic
There are two ways to link to internal topics. The first pulls in the topic name as a link:
and the second uses a string to replace (and override) the header name as the link:
This links to some information about using :doc:`blocks </blocks>`
to build a pipeline.
Tables
Tables are always fun! This theme supports the following table types:
You can see from the examples below that there are slight differences between how you can set up the tables to get various table structures. Some table types are more fun than others.
CSV Table
Tables may be built from a CSV file as long as the CSV file is available to Sphinx at build time. For example:
.. csv-table::
:file: ../../misc/test.csv
:widths: 30, 70
:header-rows: 1
with the :widths:
and :header-rows:
attributes being aligned underneath csv-table
in the block. The :file:
must be the path to a CSV file that is available to Sphinx at build time.
Note
MARKUP has an example of a CSV file in the /misc
directory. In fact, it’s the same one for the :file
parameter used in this example!
A CSV file is similar to:
Header1,Header2
12345,67890
abcdefghijklmnopqrstuvwxyz,abcdefghijklmnopqrstuvwxyz
where the first line in the CSV file is the header row.
This type of table will appear in the documentation like this:
| Header1 |
Header2 |
| 12345 |
67890 |
| abcdefghijklmnopqrstuvwxyz |
abcdefghijklmnopqrstuvwxyz |
Grid Table
Grid tables are built by physically spacing out the table in the text file, similar to how it will appear on the page. These are easy when they are small.
+------------+------------+-----------+
| Header 1 | Header 2 | Header 3 |
+============+============+===========+
| body row 1 | column 2 | column 3 |
+------------+------------+-----------+
| body row 2 | Cells may span columns.|
+------------+------------+-----------+
| body row 3 | Cells may | - Cells |
+------------+ span rows. | - contain |
| body row 4 | | - blocks. |
+------------+------------+-----------+
builds as:
| Header 1 |
Header 2 |
Header 3 |
| body row 1 |
column 2 |
column 3 |
| body row 2 |
Cells may span columns. |
| body row 3 |
Cells may
span rows. |
|
| body row 4 |
List Table
A list-table is built using the .. list-table::
directive.
.. list-table::
:widths: 200 400
:header-rows: 1
* - columnName
- columnName
* - **item1**
- description
* - **item2**
- description
with the :widths:
and :header-rows:
attributes being aligned underneath list-table
in the block. The number of rows (identified by the dashes (-
) must equal the number of integers specified by :widths:
. The integers specified by :widths:
also specifies each column’s width, from left to right.
| columnName |
columnName |
| item1 |
description |
| item2 |
description |
Simple Table
Simple tables are simple. The markup is focused mostly on the vertical layout. Like grid tables, they are easy when they are small.
===== ===== ======
Inputs Output
------------ ------
A B A or B
===== ===== ======
False False False
True False True
False True True
True True True
===== ===== ======
builds as:
| Inputs |
Output |
| A |
B |
A or B |
| False |
False |
False |
| True |
False |
True |
| False |
True |
True |
| True |
True |
True |
Tokens
Tokens are defined in the file names.txt
located in the /tokens
directory. Each token is defined similar to:
.. |company_name| replace:: YourCompanyName
When used in a sentence, use the |company_name|
token to replace that with the string that follows replace::
. For example: use |theme|
to add MARKUP.
Warning
Tokens may not be used in the left-side navigation template (nav-docs.html
).
The following example tokens exist at /tokens/names.txt
:
|company_name|
=> YourCompanyName
|theme|
=> MARKUP
|md|
=> Markdown
|rst|
=> reStructuredText
Use tokens in headers or topic titles carefully. Sphinx will build them correctly in the topic, but anchor references from the left-side navigation will not work unless the anchor reference specifies the token. For example, a token named |abc|
used for a title must be specified in the left navigation as "url": "/path/to/file.html#abc"
. Tokens cannot be used within inline markup.
Note
Too many tokens can really slow builds down. Sphinx will check each file for the presence of tokens, and then check the tokens file to up each token for matching strings. The point at which tokens can slow builds down depends on a) the number of tokens and b) the number of files in each documentation collection. It should be stated that slower builds don’t start to become noticeable until there are a couplefew hundred tokens and documentation collections with 60+ topics, some of which are very long reference topics. For small doc sets you may never notice any performance issues and the points at which you may notice performance issues, the benefits of using tokens and reusable strings may outweigh slower build times.


{% extends "base.html" %} {% block title %}Anne Arundel County{% endblock %} {% block content %}
Anne Arundel County is a large county. It is the fifth largest county or county-equivalent in the State of Maryland based on the 2014 registration data.
Anne Arundel county's election administrators have positioned this large jurisdiction right near the middle in terms of voters per polling place and voters per poll worker.


public static class CheckIndex.Status.SegmentInfoStatus extends Object
CheckIndex.Status.segmentInfos
.
WARNING : this API is new and experimental and is subject to suddenly change in the next release.
| Modifier and Type | Field and Description |
|---|---|
boolean
|
compound
True if segment is compound file format.
|
String
|
deletionsFileName
Name of the current deletions file name.
|
Map
<
String
,
String
>
|
diagnostics
Map that includes certain
debugging details that IndexWriter records into
each segment it creates
|
int
|
docCount
Document count (does not take deletions into account).
|
boolean
|
docStoreCompoundFile
True if the shared doc store files are compound file
format.
|
int
|
docStoreOffset
Doc store offset, if this segment shares the doc
store files (stored fields and term vectors) with
other segments.
|
String
|
docStoreSegment
String of the shared doc store segment, or null if
this segment does not share the doc store files.
|
CheckIndex.Status.FieldNormStatus
|
fieldNormStatus
Status for testing of field norms (null if field norms could not be tested).
|
boolean
|
hasDeletions
True if this segment has pending deletions.
|
boolean
|
hasProx
True if at least one of the fields in this segment
has position data
|
String
|
name
Name of the segment.
|
int
|
numDeleted
Number of deleted documents.
|
int
|
numFiles
Number of files referenced by this segment.
|
boolean
|
openReaderPassed
True if we were able to open a SegmentReader on this
segment.
|
double
|
sizeMB
Net size (MB) of the files referenced by this
segment.
|
CheckIndex.Status.StoredFieldStatus
|
storedFieldStatus
Status for testing of stored fields (null if stored fields could not be tested).
|
CheckIndex.Status.TermIndexStatus
|
termIndexStatus
Status for testing of indexed terms (null if indexed terms could not be tested).
|
CheckIndex.Status.TermVectorStatus
|
termVectorStatus
Status for testing of term vectors (null if term vectors could not be tested).
|
| Constructor and Description |
|---|
CheckIndex.Status.SegmentInfoStatus
()
|
public String name
public int docCount
public boolean compound
public int numFiles
public double sizeMB
public int docStoreOffset
public String docStoreSegment
public boolean docStoreCompoundFile
public boolean hasDeletions
public String deletionsFileName
public int numDeleted
public boolean openReaderPassed
public boolean hasProx
public Map < String , String > diagnostics
public CheckIndex.Status.FieldNormStatus fieldNormStatus
public CheckIndex.Status.TermIndexStatus termIndexStatus
public CheckIndex.Status.StoredFieldStatus storedFieldStatus
public CheckIndex.Status.TermVectorStatus termVectorStatus


Godrej Locks eyes global expansion, export growth
Digital locks’ share in product mix rises
by Lalatendu MishraGodrej Locks, a business unit of Godrej & Boyce Mfg. Co. Ltd., is eyeing double-digit growth this year and hopes to continue the growth momentum.
The company is also planning to sharply enhance its exports business, a top executive said.
“We are driving international business very muscularly. We have a good footprint today with [presence] in, in and around India, the SAARC countries, the Middle East and the entire sub-Saharan Africa. There are plans to get into more and more countries,” Shyam Motwani, executive VP and business head, Godrej Locks, said in an interview.
The firm now exports to over 27 countries. “Currently, 3-4% of the revenue comes from exports and our plan is to take it to 25% of our revenues,” he said.
He said the company is aiming to cater to the requirements of the Indian diaspora living all over the world and who understand and know the brand well.
“Over time, we will improve the share of international revenue and take it to the desired aspiration of 25% of total revenue.”
The company is also raising the share of digital locks in the product mix. From FY15 to FY19, its digital door locks segment grew at a CAGR of 13%.


Providence settles police overtime complaint for $1.5M
by EndPlayPROVIDENCE, R.I. (AP) - The city of Providence has agreed to pay $1.5 million to settle a lawsuit brought by the city's police union over overtime payments hundreds of current and retired officers say they were owed.
The Providence Journal reports that Mayor Jorge Elorza and City Treasurer James Lombardi III and the union agreed this month to settle the yearslong legal dispute over claims that the city violated federal fair labor standards by failing to pay accurate overtime wages.
The city says it continues to dispute the validity of the union's claims but agreed to settle the matter "to avoid the expense, time, and uncertainty of trial."
In exchange, participants have agreed to drop their claims. The suit was filed in 2013.
The agreement signed Nov. 4 still awaits court approval.
___
Information from: The Providence Journal, http://www.providencejournal.com


Here we can put a description of the local community with pictures and more details
More descriptions
And more descriptions


Examples of using dc.js
An attempt to present a simple example of each chart type.
Contributions welcome
.
Source
here
.
bar.html
box-plot-time.html
box-plot.html
composite.html
cust.html
heat.html
heatmap-filtering.html
line.html
multi-focus.html
multi-scatter.html
number.html
ord.html
pie.html
right-axis.html
scatter-brushing.html
scatter-series.html
scatter.html
series.html


a service to display notifications using the angular-notify library and have a better alert
and confirm
methods
A method config
where you can set
parentTagIdClass
: the tag/id/class of the element you want to append to, for when you are using a namespaced distribution of lucca-ui, default: "body"
prefix
: the prefix or your distribution, default "lui"
startTop
: the margin in px between the top of the screen and the first notification, to prevent it to go over an horizontal menu, default 40
okLabel
: the label you want for the button ok in the modal used by methods alert
and confirm
, default "Ok"
cancelLabel
: the label you want for the button cancel in the modal used by methods alert
and confirm
, default "Cancel"
canDismissConfim
: if set to true
, the user will be able to close the confirmation modal by clicking outside of it, when set to false
the user will have to click either Ok or Cancel to cose the modal, default false
Methods success
, warning
anderror
taking message
and details
as arguments. the message will be displayed in the popup while both message and details will be logged in the browser console using $log
A method loading
taking a ng.IPromise<string>
, a message
and a cancel function
as arguments. Will display a notification with a spinner and the provided message.
cancel function
, the won't be present while the promise isn't resolved/rejectedcancel function
, clicking while the promise isn't resolved/rejected will cal said function before closing the notification
Methods alert
, andconfirm
taking message
, okLabel
and cancelLabel
as arguments. returns a ng.IPromise<boolean>
that resolves with true
if user clicked Ok and false
if user clicked cancel, rejects if user clicked outside of the modal
// to configure, needs to be done just once angular.module("myApp").config(fumction(luisConfigProvider){ luisConfigProvider.setConfig({ parentTagIdClass: "demo", startTop: 60, prefix: "lui", canDismissConfim: true }); }); // to use in your controller angular.controller("myCtrl", function(luisNotify) { luisNotify.error("your message", "some details"); luisNotify.confirm("This action is irreversible, are you really sure you want to do it?", "Yes I am", "No i'm not") .then(function(isSure) { if (isSure) { var loadingDfd = $q.defer(); luisNotify.loading(loadingDfd.promise, "doing the stuff"); doTheStuff() .then( function() { loadingDfd.resolve("the stuff is done"); }, function() { loadingDfd.reject("an error happened :'("); }); } }); });
{{confirmationMessage}}


In traditional typography, text is composed to create a readable, coherent, and visually satisfying whole that works invisibly, without the awareness of the reader. Even distribution of typeset material, with a minimum of distractions and anomalies, is aimed at producing clarity and transparency.
Readability and legibility
Legibility is primarily the concern of the typeface designer, to ensure that each individual character or glyph is unambiguous and distinguishable from all other characters in the font. Legibility is also in part the concern of the typographer to select a typeface with appropriate clarity of design for the intended use at the intended size. An example of a well-known design, Brush Script, contains a number of illegible letters since many of the characters can be easily misread especially if seen out of textual context.
Readability is primarily the concern of the typographer or information designer. It is the intended result of the complete process of presentation of textual material in order to communicate meaning as unambiguously as possible. A reader should be assisted in navigating around the information with ease, by optimal inter-letter, inter-word and particularly inter-line spacing, coupled with appropriate line length and position on the page, careful editorial “chunking” and choice of the text architecture of titles, folios, and reference links.
Advertising
Typography has long been a vital part of promotional material and advertising. Designers often use typography to set a theme and mood in an advertisement; for example using bold, large text to convey a particular message to the reader.
Type is often used to draw attention to a particular advertisement, combined with efficient use of color, shapes and images. Today, typography in advertising often reflects a company's brand. Fonts used in advertisements convey different messages to the reader, classical fonts are for a strong personality, while more modern fonts are for a cleaner, neutral look. Bold fonts are used for making statements and attracting attention.
Copied in parts from Wikipedia


new pub()
The public object which is returned by the EasyRTC listen() function. Contains all public methods for interacting with EasyRTC server.
- Source:
- easyrtc_public_obj.js, line 24
Classes
Methods
-
<static> app(appName, callback)
-
Contains the methods for interfacing with an EasyRTC application. The callback will receive an application object upon successful retrieval of application. The callback may receive an Error object if unsuccessful. Depending on the severity, known errors have an "instanceof" ApplicationWarning or ApplicationError. The function does return an application object which is useful for chaining, however the callback approach is safer and provides additional information in the event of an error.
Parameters:
Name Type Argument Description appName
string <nullable>
Application name which uniquely identifies it on the server. Uses default application if null. callback
appCallback <optional>
Callback with error and application object - Source:
- easyrtc_public_obj.js, line 1032
-
<static> createApp(appName, options, callback)
-
Creates a new EasyRTC application with default values. If a callback is provided, it will receive the new application object. The callback may receive an Error object if unsuccessful. Depending on the severity, known errors have an "instanceof" ApplicationWarning or ApplicationError.
Parameters:
Name Type Argument Description appName
string Application name which uniquely identifies it on the server. options
object <nullable>
Options object with options to apply to the application. May be null. callback
appCallback <optional>
Callback with error and application object - Source:
- easyrtc_public_obj.js, line 937
-
<static> getAppNames(callback)
-
Sends an array of all application names to a callback.
Parameters:
Name Type Description callback
function(Error, Array.<string>) Callback with error and array containing all application names. - Source:
- easyrtc_public_obj.js, line 50
-
<static> getAppWithEasyrtcid(easyrtcid, callback)
-
Gets app object for application which has an authenticated client with a given easyrtcid
Parameters:
Name Type Description easyrtcid
String Unique identifier for an EasyRTC connection. callback
function(Error, Object) Callback with error and application object - Source:
- easyrtc_public_obj.js, line 65
-
<static> getConnectionWithEasyrtcid(easyrtcid, callback)
-
Gets connection object for connection which has an authenticated client with a given easyrtcid
Parameters:
Name Type Description easyrtcid
string EasyRTC unique identifier for a socket connection. callback
function(Error, Object) Callback with error and connection object - Source:
- easyrtc_public_obj.js, line 83
-
<static> getOption(option) → {*}
-
Gets individual option value. The option value returned is for the server level. Note that some options can be set at the application or room level. If an option has not been set at the room level, it will check to see if it has been set at the application level, if not it will revert to the server level.
Parameters:
Name Type Description option
String Option name - Source:
- easyrtc_public_obj.js, line 109
Returns:
Option value (can be any JSONable type)- Type
- *
-
<static> getVersion() → {string}
-
Gets EasyRTC Version. The format is in a major.minor.patch format with an optional letter following denoting alpha or beta status. The version is retrieved from the package.json file located in the EasyRTC project root folder.
- Source:
- easyrtc_public_obj.js, line 119
Returns:
EasyRTC Version- Type
- string
-
<static> isApp(appName, callback)
-
Determine if a given application name has been defined.
Parameters:
Name Type Description appName
string Application name which uniquely identifies it on the server. callback
function(Error, {boolean}) Callback with error and boolean of whether application is defined. - Source:
- easyrtc_public_obj.js, line 923
-
<static> setOption(option, value) → {Boolean}
-
Sets individual option. The option value set is for the server level. Note that some options can be set at the application or room level. If an option has not been set at the room level, it will check to see if it has been set at the application level, if not it will revert to the server level.
Parameters:
Name Type Description option
Object Option name value
Object Option value - Source:
- easyrtc_public_obj.js, line 144
Returns:
true on success, false on failure- Type
- Boolean


Select this option if you would like your POP3 mail to be collected after your forum messages. Note that this option is only available if you have set up Ameol to collect both internet and forum messages.


Report
Date:
Name:
Age:
Gender:
History (If any):
Tone Test Results:
Ear
Hearing
Issue
Left
Right
Hearing Capacity for: Left Ear:
Right Ear:
Need to consult doctor(in case of severe/mild issues):
Summary of Results
Age Brackets (Yr)
Average Max heard Frequency (Hz)
1-10
17800 Hz
11-20
17600 Hz
21-30
16200 Hz
31-40
15200 Hz
41-50
14600 Hz
51-60
12400 Hz
61-70
10600 Hz
NOTE:
You are advised to consult a doctor if your results do not match with the standard ones shown.


| Package | Description |
|---|---|
| org.apache.beam.sdk.transforms |
Defines
PTransform s for transforming
data in a pipeline. |
| Modifier and Type | Method and Description |
|---|---|
static Combine.Globally<Double,Double> |
Min.doublesGlobally()
Returns a
PTransform that takes an input PCollection<Double> and returns a
PCollection<Double> whose contents is the minimum of the input PCollection 's
elements, or Double.POSITIVE_INFINITY if there are no elements. |
static Combine.Globally<Double,Double> |
Max.doublesGlobally()
Returns a
PTransform that takes an input PCollection<Double> and returns a
PCollection<Double> whose contents is the maximum of the input PCollection 's
elements, or Double.NEGATIVE_INFINITY if there are no elements. |
static Combine.Globally<Double,Double> |
Sum.doublesGlobally()
Returns a
PTransform that takes an input
PCollection<Double> and returns a
PCollection<Double> whose contents is the sum of the
input PCollection 's elements, or
0 if there are no elements. |
static <NumT extends Number> |
Mean.globally()
Returns a
PTransform that takes an input
PCollection<NumT> and returns a
PCollection<Double> whose contents is the mean of the
input PCollection 's elements, or
0 if there are no elements. |
static <T> Combine.Globally<T,Long> |
Count.globally()
|
static <T extends Comparable<? super T>> |
Min.globally()
Returns a
PTransform that takes an input PCollection<T> and returns a PCollection<T> whose contents is the minimum according to the natural ordering of T
of the input PCollection 's elements, or null if there are no elements. |
static <T extends Comparable<? super T>> |
Max.globally()
Returns a
PTransform that takes an input PCollection<T> and returns a PCollection<T> whose contents is the maximum according to the natural ordering of T
of the input PCollection 's elements, or null if there are no elements. |
static <InputT,OutputT> |
Combine.globally(CombineFnBase.GlobalCombineFn<? super InputT,?,OutputT> fn)
Returns a
Combine.Globally PTransform
that uses the given GloballyCombineFn to combine all
the elements in each window of the input PCollection into a
single value in the output PCollection . |
static <T,ComparatorT extends Comparator<? super T> & Serializable> |
Min.globally(ComparatorT comparator)
Returns a
PTransform that takes an input PCollection<T> and returns a PCollection<T> whose contents is the minimum of the input PCollection 's elements, or
null if there are no elements. |
static <T,ComparatorT extends Comparator<? super T> & Serializable> |
Max.globally(ComparatorT comparator)
Returns a
PTransform that takes an input PCollection<T> and returns a PCollection<T> whose contents is the maximum of the input PCollection 's elements, or
null if there are no elements. |
static <V> Combine.Globally<V,V> |
Combine.globally(SerializableFunction<Iterable<V>,V> combiner)
Returns a
Combine.Globally PTransform
that uses the given SerializableFunction to combine all
the elements in each window of the input PCollection into a
single value in the output PCollection . |
static Combine.Globally<Integer,Integer> |
Min.integersGlobally()
Returns a
PTransform that takes an input PCollection<Integer> and returns a
PCollection<Integer> whose contents is a single value that is the minimum of the input
PCollection 's elements, or Integer.MAX_VALUE if there are no elements. |
static Combine.Globally<Integer,Integer> |
Max.integersGlobally()
Returns a
PTransform that takes an input PCollection<Integer> and returns a
PCollection<Integer> whose contents is the maximum of the input PCollection 's
elements, or Integer.MIN_VALUE if there are no elements. |
static Combine.Globally<Integer,Integer> |
Sum.integersGlobally()
Returns a
PTransform that takes an input
PCollection<Integer> and returns a
PCollection<Integer> whose contents is the sum of the
input PCollection 's elements, or
0 if there are no elements. |
static <T extends Comparable<T>> |
Top.largest(int count)
Returns a
PTransform that takes an input
PCollection<T> and returns a PCollection<List<T>> with a
single element containing the largest count elements of the input
PCollection<T> , in decreasing order, sorted according to
their natural order. |
static Combine.Globally<Long,Long> |
Min.longsGlobally()
Returns a
PTransform that takes an input PCollection<Long> and returns a PCollection<Long> whose contents is the minimum of the input PCollection 's elements,
or Long.MAX_VALUE if there are no elements. |
static Combine.Globally<Long,Long> |
Max.longsGlobally()
Returns a
PTransform that takes an input PCollection<Long> and returns a PCollection<Long> whose contents is the maximum of the input PCollection 's elements,
or Long.MIN_VALUE if there are no elements. |
static Combine.Globally<Long,Long> |
Sum.longsGlobally()
Returns a
PTransform that takes an input
PCollection<Long> and returns a
PCollection<Long> whose contents is the sum of the
input PCollection 's elements, or
0 if there are no elements. |
Combine.Globally<InputT,OutputT> |
Combine.Globally.named(String name)
Return a new
Globally transform that's like this transform but with the
specified name. |
static <T,ComparatorT extends Comparator<T> & Serializable> |
Top.of(int count,
ComparatorT compareFn)
Returns a
PTransform that takes an input
PCollection<T> and returns a PCollection<List<T>> with a
single element containing the largest count elements of the input
PCollection<T> , in decreasing order, sorted using the
given Comparator<T> . |
static <T extends Comparable<T>> |
Top.smallest(int count)
Returns a
PTransform that takes an input
PCollection<T> and returns a PCollection<List<T>> with a
single element containing the smallest count elements of the input
PCollection<T> , in increasing order, sorted according to
their natural order. |
Combine.Globally<InputT,OutputT> |
Combine.Globally.withFanout(int fanout)
Returns a
PTransform identical to this, but that uses an intermediate node
to combine parts of the data to reduce load on the final global combine step. |
Combine.Globally<InputT,OutputT> |
Combine.Globally.withoutDefaults()
Returns a
PTransform identical to this, but that does not attempt to
provide a default value in the case of empty input. |
Combine.Globally<InputT,OutputT> |
Combine.Globally.withSideInputs(Iterable<? extends PCollectionView<?>> sideInputs)
Returns a
PTransform identical to this, but with the specified side inputs to use
in CombineWithContext.CombineFnWithContext . |
Copyright © 2016 The Apache Software Foundation. All rights reserved.


--- layout: default ---
The only content available now is blog
You can throw rice-balls to invite your friends for lunch!


The Hortonworks Gallery gathers the code, views, blueprints and tutorial you need in one place. Browse the repositories, find the code and examples you need, and jumpstart your development projects. And as a member of the community, you can take freely and contribute frequently to help move Hadoop forward.
Hortonworks is a leader in Apache Hadoop, the open source platform for managing and analyzing Big Data. The Hortonworks Data Platform provides a growing ecosystem to build and deploy Big Data solutions.
Hortonworks.com