HOUSE ON HAUNTED HILL RATING: 7.5 /10 -->Very Good Movie
For more reviews and movie screensavers, visit http://www.joblo.com/
Forget THE HAUNTING! Forget those kids running around in their backyard with a VHS camera! Forget your common sense, grab some friggin' nachos and an ice-cold Coke and prepare to have yourself a mindless haunting of a time! I have never seen the original of this film, so you don't have to worry about me boring you with useless comparisons. I saw it clear-minded, ready to be thrilled (Halloween), and well, I'll admit, a little sleepy. Well, it all worked for me!
 He offers them each the purse of $1,000,000 if they are able to last the night, without being killed. It's not long before everyone begins to feel the real horror oozing out of the house itself. Terror ensues.
CRITIQUE: I had a blast at this movie! It was pure, unadulterated fun set perfectly on the weekend of ghouls and goblins. It's funny because due to the lack of press screenings by the studio, I was convinced that soon after the film's slick opening credit sequence, the other shoe would eventually fall off. So I waited and waited and waited, but never a shoe did fall. The film began on a campy B-movie feel and kept going strong with enough blood, gore, creepiness and thrills to give me a haunted woodie. The soundtrack also drew another one of my thumbs up, as well as the main over-the-top performance from the Vincent Price-esque Geoffrey Rush. And unlike THE HAUNTING, this film didn't waste any time to get going, and resorted to very few CGI special effects, and even then, only in the last twenty minutes or so. I'll admit that the special effects and the ending were this film's weakest links, but all in all, it kept me interested, creeped out, full of energy and believe it or not, guessing...the whole time!
Were most of the characters in this movie based in stock wood?  Sure, but it didn't matter since these type of movies aren't about character development, they're about thrills, blood, murders and overall creepiness, and stab me in the back if that ain't what this film delivered. I also enjoyed all of the film's grungy sounds, whispers and screams which seemed to be resonating throughout the movie and the unique style delivered by director William Malone. The one thing which I did find amiss was the humor aspect which seemed to have been forgotten in the script, but then again, maybe that's what kept me more "into" the movie (Granted, Chris Kattan did have some pretty funny lines). No pop references galore and no teeny-bopper girls bouncing around in their tight tanktops (although there's something to be said about them as well:). It's a straight scary movie done in a campy way with plenty of energy and a handful of twists and turns. See this movie if you're in the mood to be taken through a fun haunted house at an amusement park without the long waits in line. Skip this movie if you want a deeper terror a la SHINING and expect to be blown away by its precise narrative. It's easy, it's loud, it's fun, it's gory, it's junk food for the scary bastard in all of us, and I'll be damned if it ain't my guiltiest pleasure of the year! It's cheesolicious!!
Little Known Facts about this film and its stars: COMING SOON to JoBlo's Movie Emporium...
Review Date: October 30, 1999 Director: William Malone Writer: Dick Beebe Producers: Joel Silver and Robert Zemeckis Actors: Geoffrey Rush as Steven Price Famke Janssen as Evelyn Price Genre: Horror Year of Release: 1999 --------------------------------------- JoBlo's Movie Emporium http://www.joblo.com --------------------------------------- (c) 1999 Berge Garabedian
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Chandler: (watches Joey for a moment) Okay! (Joey quickly moves the hockey stick so that hes scratching his back with it.) Listen, Im gonna be moving out so you will be in charge of paying the rent.
Joey: Right! And when is that due?
Chandler: First of the month.
Joey: And thats every month?
Chandler: No, just the months you actually want to live here.
Joey: Ahhh.
Chandler: Okay, here is the phone bill. (Hands it to Joey.)
Joey: (looking at it) Oh my God!!
Chandler: Thats our phone number. Now look, I know I kinda sprung this whole me moving out on thing, so why dont I justwhy dont I just cover you for a while?
Joey: No-no! No way! Joey Tribbiani does not take charity anymore.
Chandler: Its not charity, Joe
Joey: No! Forget it! OkayI mean thanks, but Im done taking money from you. All right, I can take of myself. Now, whats next? Come on.
Chandler: Okay uh, heres the electric bill. (Hands it to him.)
Joey: This is how much we pay for electric?!!!
Chandler: Uh, yeah.
(Joey runs over and shuts off the lights.)
Chandler: So, well do the rest of the bills later then?
Opening Credits
[Scene: Monica and Rachel's, Chandler is talking to Phoebe about trying to give Joey some money.]
Phoebe: So is Joey going to have to give up the apartment?
Chandler: No, I hope not! I tried to offer him some money, but he wouldnt take it.
Phoebe: Well, how much do you think he needs?
Chandler: I figure that $1,500 would cover him for a few months, yknow? But I have to trick him into taking it so I wont hurt his pride.
Phoebe: Why dont you hire him as an actor?  Whatever you want.
Chandler: Well that would help the pride thing.
Monica: (entering from her room) Hey!
Chandler: Hey! Wow! You look great! Wanna move in with me tomorrow?
Monica: (thinks) Okay.
Chandler: Okay! (They kiss) So, what do you girls have planned for tonight?
Monica: Well, instead of being sad that tonight is my last night together with Rachel we thought wed go out to dinner and celebrate the fact that Rachel is moving in with Phoebe.
Phoebe: And also, my birthday.
Monica: Its not your birthday.
Phoebe: What a mean thing to say! I would never tell you its not your birthday!
(Joey and Ross enter.)
Joey: Hey!
Ross: Hey!
Chandler: Hey!
Phoebe: Hey! So you guys have anything planned for the big last night?
Chandler: Well, instead of just hanging out, we figure wed do nothing.
Ross: Whoa-whoa-whoa, Knicks season opener tonight. I thought maybe you guys would come over and watch it.
Joey: I dont know Ross, not if youre gonna talk about how you gave up a career in basketball to become a paleontologist.
Ross: I did give up a career in basketball to become a paleontologist!
Rachel: (entering from her room) Pheebs, I was wondering
Monica: Youre not dressed yet?! Were supposed to start having fun in 15 minutes!
Rachel: Well and clearly not a minute sooner.
Monica: Rachel, you are packed though right, I mean please tell me that youre packed.
Rachel: Of course I packed! Monica relax! I just wanted to ask Phoebe her opinion on what I should wear tonight.
Phoebe: My God, I cant get a minute of peace around this place.
[Cut to Rachels bedroom, Phoebe and her are entering. And its obvious that shes not packed.]
Phoebe: Oh my God!
Rachel: Yeah, yeah, I know.
Phoebe: Well, what youre wearing is fine for that.
Monica: (entering) Rachel, I need to borrowYoure not packed!!!! Youre not packed even a little bit!
Rachel: Surprise!!
Monica: What?
Rachel: No, no dont get mad because lookthis is what happened. So
I-I started packing, then I realized, "What am I doing? I am lousy at packing!"
Right? But you love packing!
Monica: (grabs a bag of those Styrofoam peanuts) Ill be coordinator! Oh my God! Im so sorry, I didnt get you anything! Okay, look everybody has to help! Okay? You can help, cant you Phoebe?
Phoebe: I have plans.
Monica: Youre plans were with us.
Phoebe: Thats right.
Monica: All right, Chandler can make boxes, Ross can wrap, and Joey can lift things.
Phoebe: Okay.
Monica: Okay! (To Rachel) Oh my God, thank you!!
[Cut to living room, Phoebe enters and closes Rachels door behind her.]
Phoebe: Hurry! Monicas gonna make you pack! Shes got jobs for everyone! Now, its too late for me, but save your selves! (The guys scramble for the door.)
Monica: (entering and interrupting the guys escape attempt) Okay! The movers will be here in 11 hours. Rachel has not packed. Now, everybody has to help! Chandler, were gonna start with
Chandler: Oh nope, I-I have plans with Joey.
Monica: I thought you said you were going to do nothing.
Chandler: Yes, but for the last time.
Monica: Okay fine, now Ross
Ross: Oh, but-but I cant do it.
Monica: Why not?
Joey: (quietly) Ive got Ben.
Ross: Because, because Ive got Ben.
Monica: Its almost 8 oclock, its almost past his bedtime. Where-where is he?
Chandler: Hes at a dinner party.
Monica: Is he really coming? Because I can see right into your apartment!
Ross: Of course he is! What, do you think Id just use my son as-as an excuse? What kind of father do you think I am?
Monica: All right, sorry. (Goes back to Rachels room.)
Ross: (to the guys) I gotta go make a fake Ben.
[Scene: Chandler and Joey's, Joey is entering carrying two pizzas.]
Joey: Here it is! Our last pizzas together as roommates.
Chandler: Oh, I wish Id know you were going to do that, I ordered Chinese.
Joey: Oh thats okay. Hey, actually in a way its kinda nice. Me, bringing the food of my ancestors, you, the food of yours!
(Chandler stares at him, dumbfounded, then finally agrees.)
Chandler: Say, Joe, I had a strange idea of what we could do for our last night. What do you say we play a little uh, foosball for money?
Joey: What, are you crazy? You havent beaten me once since my injury plagued 97 season. It would be easier if you just give me your money.
Chandler: Yes it would. What do you say to $50?
Joey: Okay, youre on.
Chandler: Okay, lets play! The big game, Italy vs. China, apparently.
(They start playing.)
[Scene: Rachels bedroom, shes in her closet bringing down her pair of roller blades from a top shelf.]
Rachel: Ohhhhhh, look its the roller blades.
Monica: (starting to cry) Oh God!
Rachel: You remember when we got these?
Monica: No.
Rachel: I guess you werent there. (They hug.)
Phoebe: You guys, we said we were gonna have fun! Come on, hey, remember the time (She starts laughing hysterically.) You dont remember?
Rachel: Im sorry Pheebs, I guess Im just really said that Im leaving.
Monica: Im gonna miss you so much.
Phoebe: Well, this doesnt have to be so sad though. Yknow?
Monica: I dont think theres anything.
Phoebe: Come on, theres gotta be something.
Monica: Nope, shes perfect.
Rachel: I have one.
Phoebe: Good! Great! You can go first.
Rachel: Uh well, I guess Im not gonna miss the fact that youre never allowed to move the phone pen. (Laughs. Monica lags behind the laugh a little bit.)
Phoebe: Good thats a good one. Okay, Monica, anything? Yknow? Does Rachel move the phone pen?
Monica: Aw, sometimes. Always, actually.
Phoebe: Okay, good. There you go. Doesnt anyone feel better?
Monica: Not just the phone pen. I never get my messages.
Rachel: You get your messages!
Monica: Yeah, well I dont think it really counts if you have to read them off the back of your hand after you fall asleep on the couch.
Rachel: So-so, you missed a message from who? Chandler or your mom? Or Chandler? Or your mom?
Phoebe: Great! It worked! No ones sad.
[Scene: Chandler and Joey's, they are just finishing up another game of foosball.]
Joey: (scores) Yes! I win again! Ha-ha! Thats like 500 bucks you owe me! Whoo-ho-hoo! (Goes over to the fridge and starts opening and closing the door rapidly.) $500 that is a loooot of electricity! (By the way, theres nothing in the fridge.) Whoo-ho-ho! (Notices the sparseness of the fridge.) I gotta buy some food.
Chandler: Okay, give me a chance to win my money back. Okay? Sudden death, one goal, $1,000.
Joey: You serious?
Chandler: Oh yes!
Joey: Okay, get ready to owe me!
Chandler: Okay.
Joey: Okay, here we go. Ready?
[In slow motion, as some haunty demonic music plays in the background, Joey throws the ball in, Chandler quits playing and goes for his Chinese food. Joey smacks the ball really hard, shooting it down the table. Chandler slowly takes a bite, the ball bounces off of the wall, heads back up the table, and scores the goal for Chandler.]
Chandler: No! No! No! No(Joey looks at him)one can beat me.
(In frustration, Joey kicks the table, breaking it.)
Chandler: See? Now, thats why only the little fake men are supposed to do all the kicking.
[Scene: Monica and Rachel's, the phone rings and Monica answers it as Rachel and Phoebe move a box into the living room.]
Monica: Hello? (Listens) Oh, hi Ross! (To Rachel) See? Other people call me!
Rachel: Ooh, your brother. Score!
Monica: (on phone) Whats up?
Ross: Oh, Im just over here with Ben. I thought wed say hi.
Monica: Oh, put him on!
Ross: Ben, say hi to Aunt Monica. (He holds the phone to the fake Ben he has created out of a pumpkin.) Oh, I guess he doesnt feel like talking right now. Hes smiling though! Okay, talk to you later.
[Scene: Rachels bedroom, Rachel is entering carrying two glasses of wine. She gives one to Phoebe, keeps one, and completely ignores Monica.]
Phoebe: Yeah, I think it was better when you guys were sad. Hey, uh, remember the roller blades?
 "Im Monica. I wash the toilet 17 times a day. Even if people are on it!"
Monica: "Hi Im Rachel, is my sweater too tight? No? Oh, Id better wash it and shrink it!"
Rachel: "Im Monica, I dont get phone messages from interesting people. Ever!"
Phoebe: Hey!
Monica: "Oh my God, I love Ross!  I love Ross!
Rachel: "Oh my God, I cant find a boyfriend! So I guess Ill just stumble across the hall and sleep with the first guy I find in there!"
(Monica picks up one of those boxes of hair curling things, dumps it in a box, and storms out.)
Phoebe: Yeah, we should get a move on if we wanna make those dinner reservations. (Phoebe dumps a drawer full of makeup into a box.)
Commercial Break
[Scene: Chandler and Joey's, Joey is examining the broken foosball table as Chandler enters from his room.]
Chandler: Still broken?
 The last night youre here and I lose the two most important things in my life, the foosball table and $500.
Chandler: Well, there are other ways of winning back your money, how about a little uh, a little Blackjack? (Holds up a deck of cards.)
Joey: Nah, not my game.
Chandler: Okay, uh, how about, how aboutyknow what? We could play a new game. A new game, its fun.
Joey: Well, whats it called?
Chandler: Cups.
Joey: I dont know how to play Cups.
Chandler: Ill teach ya! Come on, come on, its really easy and really, really fun.
Joey: All right.
Chandler: Okay, here you go. (He deals out two cards each.) I have two queens, what do you have?
Joey: A two and a five.
Chandler: Ho-ho, you win! 50 dollars!
Joey: Really?!
Chandler: Oh yeah! Okay, lets play again. (He deals out two cards each again.) What do you got?
Joey: A four and a nine.
Chandler: Youre kidding right?
Joey: No. Why?
Chandler: Well thats a full cup! (Pays him again.)
Joey: Damn! I am good at Cups!
[Scene: Monica and Rachel's, Monica is whining to Phoebe about Rachel.]

Phoebe: Well, one of you has to take the first step! And it should be you, because shes the one whos leaving.
Monica: Well, maybe youre rightShe made fun of my phone pen!
Phoebe: I know, I took it hard too.
(Monica goes into Rachels room.)
Monica: Listen Rachel, I feel really bad aboutWhat are you doing? (She sees that Rachel is unpacking.)
Rachel: Im unpacking!
Monica: What?!
Rachel: Im not moving! (She re-hangs a picture, crookedly.) Is that picture straight?
Monica: It needs to go about 20 blocks to the left!
Rachel: Hey, yknow what? Youre the one who wants to make this big change and move in with Chandler! You should be the one to go! Why should I have to leave?!
Monica: Because its my apartment!
Rachel: Well its mine too! What else you got?!
  What follows is a brief sequence of Rachel unpacking and Monica packing the same stuff over and over again as Rachel chants "No." and Monica chants "Yes.")
Rachel: Look!  We should be packing you!! (She knocks over Monica, grabs a box, and runs into the kitchen.)
Phoebe: Hey, how are you guys doing?
Rachel: Great! Monicas moving!
Monica: (entering) I am not!
Rachel: Oh really?! Then how come all your stuff is in this box?! (Monica starts chasing Rachel around the table.)
Phoebe: Okay, you guys. You guys I think I know whats going on here. Okay, you guys STOP!! (They stop.) I know that, I know that youre acting mad because you think that itll make it easier to leave. But deep down youre still really sad. Deep-deep down.
Monica: No Phoebe I am mad!
Phoebe: Well, deep-deep-deep down!
Rachel: Yeah, Im just mad!
Phoebe: Then keep running. (They resume the chase.)
[Scene: Chandler and Joey's, theyre still playing Cups.]
Chandler: You win.
Joey: Well, what did you have?
Chandler: It doesnt matter because nothing beats a three and a six. That my friend is D-Cup. Okay, now much have you won so far?
Joey: Uh, (counts the money) wow, 700.
Chandler: Not 700 exactly?
Joey: Yeah.
Chandler: Double it! (He does.)
Joey: What?
Chandler: Well you see in Cups, once you get $700, you have to double it.
Joey: Really?
Chandler: Hey, I didnt make up the rules. Now, after you receive the doubling bonus, you get uh, one card. Now that one card could be worth $100 bringing your total to 1,500. (Joey gets excited.) Dont get to excited because thats not gonna happen unless you getNo way! (He takes the top card, which is the two of clubs. Of course, any card wouldve won. Chandler pays him.)
[Scene: Monica and Rachel's, Monica carries a box out of Rachels room.]
Monica: Well, this is the last box of your clothes. Im just gonna label it, "What were you thinking?"

Phoebe: Hey you guys, I dont mean to make things worse, but umm, I dont want to live with Rachel anymore.
Monica and Rachel: What?!
Phoebe: Youre just so mean to each other! And I dont want to end up like that with Rachel.
Rachel: Well, Phoebe thats fine because Im not moving.
Monica: Whoa-whoa-whoa, Phoebe you gotta take her! Yknow I-I-I said some really bad stuff about her, but yknow Rachel has some good qualities that make her a good roommate.
Rachel: Oh really? Like what Monica?
Monica: Yknow she has 147,000 pairs of boots
Rachel: Oh yeah, good start Mon.
Monica: She lets you borrow them.

Monica: Do you wanna live outside?! Because its gettin cold! (To Phoebe) She gets tons of catalogs and umm, shell fold down the pages of the things she thinks that Id like.
Phoebe: What else?
Monica: When I take a shower, she leaves me little notes on the mirror.
Rachel: Yeah, I do. I-I do, do that.
Phoebe: Thats nice. I like having things to read in the bathroom.
Monica: When I fall asleep on the couch after reading, she covers me over with a blanket.
Rachel: Well yknow, I dont want you to be cold.
Monica: And when I told her that I was gonna be moving in with Chandler, she was really supportive. (To Rachel) (Starts to cry) You were so great. You made it so easy. And now you have to leave. And I have to live with a boy!! (They both break down in tears.)
Rachel: Oh, its gonna be fine.
 And you know what we should do? Bring Monica and then we could all live there together! Well have so much fun!!
Rachel: But honey, I think shes moving in with Chandler.
Phoebe: Oh thats right. Youre still set on that?
Monica: Kinda. (She hugs Phoebe and looks out the window. She moves closer to it to get a better look.) Oh my God!
[Cut to Rosss apartment, hes watching TV and eating some popcorn as the phone rings.]
Ross: (answering the phone) Hello? (Listens) Hey Mon, hows the packing going? (Listens) Ben? Hes fine. Yeah, hes rightOh my God! (He looks over at the fake Ben and notices that the head has fallen off.)  (He tries to push the pumpkin through the neck hole.) What? (Listens) Yeah, its a pumpkin. Ill come pack.
[Scene: Chandler and Joey's, (Ohh, thats the last time Im ever gonna type that line. Its just so sad.) Joey is entering, angrily.]
Joey: Hey!
Chandler: Whats wrong?
Joey: Ross and I were helping the girls pack, took a little break, I lost $1,500 to him in Cups!
Chandler: Wh-How did you lose at Cups?!
Joey: The same way you lost. I started out with a King and a Queen, bamn! Ross gets a 2 and a 3. Then I get a Jack and a King, boom! Ross gets a 4 and a 5! Ross was getting the Cup card, the D-Cup, the Sittin Down Bonus! Meanwhile, I didnt even get half a cup! Nothin!!
Chandler: Oh man!!
Joey: And he never played before either! Yknow what I think? I think beginners luck, very important in Cups.
Chandler: All right, lets play one more hand! One more!
Joey: No, no, no more! I cannot lose another dime! Im serious this time! In-in fact, look, theres aI wanna give you something. And let me give it too you know before I pawn it for Cups money.
Chandler: I cant take the big white dog! You love it!
Joey: Its him, not it!
Chandler: No, but waitwhat if I bought it from you, yknow? And your nice gesture would be giving it to me at a reasonable price, say (Gets choked up) $1,500?
Joey: Wait a second, I see what youre trying to do here! You-youre trying to give me money again!
Chandler: When did I try to give you money?
Joey: Over there! (Points to the couch) Before, with the bills! You tried to give some charity, I said "No," you dropped it. Okay?  Now out of the blue, you start with the charity thing again!
Chandler: Im just trying to help you out! Okay? I wanna make sure that youre okay.
Joey: I will be okay!  Okay?   And now the dog.
[Scene: Monica and Rachel's, (And thats the last time for that line, no more Chandler and Joeys or Monica and Rachels, ever!) Joey and Ross are carrying the last table of Rachels. Rachel follows slowly, but is stopped by Monica.]
Monica: Hey. Call me when you get there. Okay?
Rachel: Okay.
Monica: Im really gonna miss you.
(They hug.)
Rachel: Oh! I have your key. Here you go. (Hands it to Monica.)
Monica: Thanks.
Rachel: Yeah.
(Silence ensues.)
Rachel: Oh God! This is silly, Im gonna see you in a couple of hours! (They hug again.)
Monica: Yeah.
Rachel: Bye house!
(They break the embrace.)
Rachel: Bye Mon.
Monica: Bye.
(Monica closes the door and slowly walks into Rachels old and now empty room.)
Chandler: (entering) Hey.
Monica: She really left.
Chandler: I know. (He kisses her.)
Monica: Thank you.
Chandler: No problem roomie. (She turns around and hugs him.)
Monica: Can I ask you a question?
Chandler: Sure!
 (She notices the dog sitting in the living room.)
(And with that, an era ends as Chandler moves in with Monica as Rachel moves in with Phoebe. It tis a sad and happy time for Friends.)
Ending Credits
[Scene: Rosss apartment, Chandler is trying to get Joeys money back from Ross.]
Chandler: I invented the game of Cups as a way to give Joey money.
Ross: And now you want that money back.
Chandler: Exactly.

Chandler: Its not a real game! I made it up!
Ross: Im sorry you lost your money, but I won it fair and square.

Ross: Now, if you wanna try to make some of it back, Id be glad to play you for it. But I should warn you, I am very good at Cups.
Chandler: Okay! Now I assume the Saucer card came up when you played last.
Ross: No.
Chandler: Hmm, lets see if it comes up this time. (He looks at his cards and shrugs.)
End


Acquisition
Each stage of development begins with the Acquisition Tasks. Often the Acquisition Tasks are broken down into five categories: feasibility studies, underwriting requirements, contract negotiations, and closing conditions.
- Feasibility: Do the
anticipated future benefits exceed the expected future costs?
- Physical and engineering feasibility:
- Properties physical characteristics
- Cost to build whatever?
- Market feasibility:
- Current market conditions
- Future market conditions
- Financial feasibility:
- Simple Measures of Profitability
- Complex measures of Profitability
- Do the anticipated future benefits exceed the expected future costs?
- Underwriting: Can capital be
attracted to this development given the risk and returns of the development?
- Required Rates of Returns
- How much capital?
- Who has this capital?
- How long is the capital needed?
- Contract: How is title, control, monies, and associated risks transferred from the seller to
the buyer?
- The purchase contract defines how the title, control, monies, and associated risks are transferred from the
seller to the buyer.
- What rights are being transferred?
- What representations and warranties are being made?
- To whom; from whom?
- Conditions to close? (Pre-closing conditions)
- Deadlines, milestones, deposits?
- Post-closing conditions?
- Due Diligence: Are the assumptions about development (legal, physical, economic, market) valid or
have they been verified?
- Confirm that the assumptions about future development (legal, physical, financial, market) are valid
and have been verified?
- Multi-disciplinary exercise
- No “limiting assumptions” –No excuses
- •Confirm that there is a reasonable possibility that this acquisition will meet or exceed the
buyer’s development expectations and investment objectives.
- Ideally, the due diligence is performed before the good faith deposit become
non-refundable
- Closing: Have all of the required conditions to close been met, and have all of the required
documents been prepared, reviewed, and executed?
- All of the required conditions to close must be met.
- All of the required documents have been prepared, reviewed, and executed.
- The capital is ready to be transferred.
- The post-closing obligations (development agreements) have been defined, documented, and guaranteed


Private investigator Tom Welles is contacted by Daniel Longdale, attorney for wealthy widow Mrs. Christian, whose husband has recently died. While clearing out her late husband's safe, she and Mr. Longdale find an 8 mm film which appears to depict a real murder, but Mrs. Christian wants to know for certain.
Section header
A group of rogue Force Recon Marines led by disenchanted Brigadier General Frank Hummel (Harris) seize a stockpile of deadly VX gas–armed rockets from a heavily guarded military bunker, reluctantly leaving one of their men to die in the process, when a bead of the gas falls and breaks. The next day, Hummel and his men, along with more renegade Marines (Captains Frye and Darrow who have never previously served under Hummel) seize control of Alcatraz during a guided tour and take 81 tourists hostage in the prison cells. Hummel threatens to launch the stolen rockets against the population of San Francisco unless the government pays ransom and reparations to the families of Recon Marines, (using money the US earned via illegal weapons sales) who died on illegal, clandestine missions under his command and whose deaths were not honored.


quiz.js
Let's start!
Start
sd
Option A
Option B
Option C
Option D
Main Menu
Your Result:
You got
of
Questions correct!
Click here to see what was wrong
Start Over!


Next: structure-class, Previous: class, Up: Types and Classes Dictionary
built-in-class, class, standard-object, t
A built-in class is a class whose instances have restricted capabilities or special representations. Attempting to use defclass to define subclasses of a built-in class signals an error of type error. Calling make-instance to create an instance of a built-in class signals an error of type error. Calling slot-value on an instance of a built-in class signals an error of type error. Redefining a built-in class or using change-class to change the class of an instance to or from a built-in class signals an error of type error. However, built-in classes can be used as parameter specializers in methods.


10 Fun Facts About the Pangolin!
- Pangolins are insectivores, feeding mainly on ants and termites.
- There are 8 species of pangolin - the Indian Pangolin (Manis crassicaudata), Philippine Pangolin (Manis culionensis), Giant Pangolin (Manis gigantea), Ground Pangolin (Manis temminckii), Tree Pangolin (Manis tricuspis), Long-tailed Pangolin (Manis tetradactyla), Chinese Pangolin (Manis pentadactyla) and Sunda Pangolin (Manis javanica).
- Due to loss of habitat, alongside predation, Chinese and Sunda pangolins are now on the endangered species list.
- Nocturnal and very secretive creatures, pangolins are still somewhat mysterious, with scientists knowing relatively little about their behavior in the wild.
- In China, pangolin meat is considered to be a delicacy.
- Pangolin scales are made of keratin, the same substance as horns, fingernails and hair and are used in both Chinese and African traditional medicine.
- Male Indian Pangolins can be up to 90% heavier than their female counterparts.
- Due to the lack of scales on their snout, eyes, ears and underbelly, pangolins curl into a ball for protection when threatened. They can also use the glands on their anus to produce a foul smelling acid in order to deter predators.
- Pangolins do not have teeth, nor can they chew, but feed by opening anthills/termite mounds with their claws and catch the insects with their sticky tongues, which can be up to 70cm long!
- As they have very long claws on their front paws, which are unsuitable for walking, pangolins often walk on their hind legs.
|
|


Split Shots
This special technique allows you to fire multiple projectiles at once to manage large groups more easily.{^n}{^y}Requires either a bow or a thrown weapon.
Bow, Thrown Weapon
^a${value} Second(s) Recharge
7
${value} Energy Cost
30 34 38 42 46 50 54 58 62 66 70 75 80 85
Launches ${value} Projectile(s)
5
+${value}% Total Damage
-60 -55 -50 -45 -40 -35 -30 -25 -20 -15 -10 -5 0 5
MaxLevel
10
UltimateLevel
14


Currency-Exchange
Enter amount in USD to convert:
Enter the 3 letter code of the type of currency you want to convert to :
Or select a code from this menu:
Convert


.
Hello there, awesome person! be alert and stay safe !!
www.dataworld.com
This is a link to GitHub!
www.datascience365.com
www.upgrad.com


If you're familiar with Blaze / Bazel, Buck or Pants you will probably find Please very familiar. Otherwise, don't worry, it's not very complicated...
Please targets are defined in files named BUILD. These are analogous to Makefiles in that they define
buildable targets for that directory. Fortunately, they do so in a rather nicer syntax.
We refer to a directory containing a BUILD file as a package.
Each BUILD file can contain a number of build targets. These are units of buildable code which can be reused by other build targets. An example is probably worth 1000 words at this point:
python_library(
name = 'my_library',
srcs = ['file1.py', 'file2.py'],
)
python_binary(
name = 'my_binary',
main = 'my_main.py',
deps = [':my_library'],
)
python_test(
name = 'my_library_test',
srcs = ['my_library_test.py'],
deps = [':my_library'],
)
This snippet defines three build targets; a build target is simply a thing that can be built
by Please and typically appear as a single object in the build file (as the
python_library
, python_binary
and python_test
are above).
my_library
is simply a collection of file1.py
and file2.py
.my_binary
creates a deployable Python binary with an entry point in my_main.py
.my_library
since it will use it internally.my_library_test
defines a test on my_library
. Tests are run by Please and their results
are aggregated.Let's assume the build rules given above are defined in a file in your repo named package/BUILD. You can do the following:
plz build //package:my_library
builds the library. This isn't drastically useful on its own, of course...plz build //package:my_binary
builds the binary and all needed libraries that it depends on. That produces a single output file which you could copy
to another machine.plz run //package:my_binary
builds and runs the binary immediately.plz test //package:my_library_test
builds and runs the test and shows you the results.That brings us to the topic of build labels, which are identifiers of build targets. As you've just seen,
these are of the form //package:target
, where package
is the path from the repo root to that package,
and target
is the name of the target within that package.
This is the most common form to identify targets absolutely, but there is also a convenient shorthand where we omit
the part before the colon (as you saw earlier as well) to refer to a target within the current package.
The convention is to use lower_case_with_underscores
for both package names and target names.
This is not just for looks; in many languages (eg. Python) the file path appears within the source files,
and so it's important to choose something that's a valid lexical identifier.
There are also some special pseudo-labels:
//mypackage:all
refers to all targets in 'mypackage'.//mypackage/...
refers to all targets in 'mypackage' and anywhere beneath it in the filesystem.You may have noticed that the invocations in BUILD files look a bit like function calls. This is not coincidence; it is not just a declarative language, it's also a scripting language that allows you to programmatically create targets. For example, let's say you want to translate your documentation to a bunch of languages:
for language in ['en_NZ', 'en_GB', 'it_IT', 'es_MX', 'el_GR']:
lang_docs = genrule(
name = 'txt_documentation_' + language,
srcs = ['docs.txt'],
outs = [f'docs_{language}.txt'],
tools = ['//tools:translate_tool'],
cmd = f'$TOOL -i $SRC --language {language} > $OUT',
)
genrule(
name = 'documentation_' + language,
srcs = [lang_docs],
outs = [f'docs_{language}.html'],
tools = ['//tools:html_doc_tool'],
cmd = '$TOOL --src $SRC --out $OUT',
visibility = ['PUBLIC'],
)
Obviously this would be a bit repetitive if you redefined the rules separately for each language. Instead, we can take
advantage of the build language to genericise them across languages; for each language we translate it and then
format it as HTML.
The language itself shares some similarity to Python so it should feel familiar to many people. There is a complete description of it available if you're curious about more details.
Jump in and get started! See the please lexicon if you want to see the set of built-in build rules for other languages, or other topics depending on what you need to do.


Lethal_Weapon
Combining action and drama with ride-or-die friendship and humor, Lethal Weapon reimagines the hit movie franchise, as it follows classic cop duo Riggs and Murtaugh, who work a crime-ridden beat in modern-day Los Angeles. Grief-stricken after the loss of his young wife and unborn child, ex-Navy SEAL-turned-detective Martin Riggs moves to California to "start over" at the LAPD. He's paired up with Roger Murtaugh, who's just coming back to the job after a near-fatal heart attack. Riggs' penchant for diving headfirst into the line of fire immediately clashes with Murtaugh's prudent, by-the-book technique.


Hi I am Tricia and this is my portfolio! Welcome to this website,
please take a look at my portfolio and do leave your contact at the end of your journey!
here are a few fun facts about myself!
I can be an introvert.
Some say I look like my favourite character, Crayon-Shin Chan.
I enjoy listening to chinese and english songs.
Lastly, I enjoy spending quality time with my friends and family.


PRIMARY COLORS (Universal) Starring: John Travolta, Emma Thompson, Adrian Lester, Billy Bob Thornton, Kathy Bates, Maura Tierney, Paul Guilfoyle, Larry Hagman. Screenplay: Elaine May, based on the novel by Anonymous. Producer: Mike Nichols. Director: Mike Nichols. MPAA Rating: R (profanity, adult themes) Running Time: 143 minutes. Reviewed by Scott Renshaw.
Just so there's no confusion: Jack Stanton (John Travolta), the "fictional" scandal-plagued Democratic presidential candidate whose campaign is the subject of PRIMARY COLORS, is Bill Clinton. His ambitious wife Susan (Emma Thompson) is our First Lady. Stanton's home-state buddy and campaign strategist Richard Jemmons (Billy Bob Thornton) is James Carville. The waffling, never-seen Italian-American governor of New York, called Orlando Ozzio here, is Mario Cuomo. And for that matter, the "Anonymous" author of the best-selling novel on which PRIMARY COLORS is based is actually former "Newsweek" writer Joe Klein.
It's ironic that Klein could tell a story about the effect of scandal-mongering on American politics only by creating a bit of scandal himself, that he could uncover a few brutal truths only by hiding a few. It's even more ironic that the film version of PRIMARY COLORS appears just as President Clinton finds himself entangled in new scandals, virtually guaranteeing that most coverage of the film will both miss the point entirely and help make the film's point for it. PRIMARY COLORS isn't simply a chance to giggle at Clinton's foibles without naming him. This is a story about giggling at foibles masquerading as serious news, about a political process which has become a seemingly endless cycle of mud-slinging and spin control because we continue to create an audience for it.
In that sense, it's a very similar story to the recent WAG THE DOG, though simultaneously more human and more cynical.  Burton begins to develop what Jemmons calls "True Believer-ism" as Stanton's campaign progresses, convinced that this is a candidate with vision and a genuine desire to help others. As revelation builds upon revelation, however, the questions he has to ask himself grow ever more troubling. Does it matter that this man who wants to do so much for the country seems to be doing it one woman at a time? Do the ends of getting into office where you can do some good justify the means of slinging even more mud at the opponent than he slings at you? And how can you make ideas worth anything in a culture where viewers watch an interview with the Stantons and can only comment that Susan "should wear her hair longer."
PRIMARY COLORS the movie manages to wrap all of the novel's tough questions and roman-a-clef characters into a surprisingly funny and entertaining package. Though the running time of nearly 2-1/2 hours feels excessive near the end, director Mike Nichols crafts so many sharp comic scenes that the film never becomes a tedious political science lecture. He also gets one particularly dynamic performance from a generally solid cast -- Kathy Bates as Libby, the Stanton's borderline-loony long-time friend and the campaign's designated "Dust-Buster" (because she's "tougher than dirt"). Though the role initially seems like just a minor variation on Bates' brassy, no-nonsense characters in DOLORES CLAIBORNE, THE LATE SHIFT or TITANIC, Libby eventually develops into the real soul of PRIMARY COLORS: the last true idealist, a woman whose very sanity depends on the notion that there has to be a better way to select those who will lead us.
Of course, another performance will draw far more attention, which is precisely why PRIMARY COLORS couldn't possibly work as well on film as it does on the page. Without a face, Jack Stanton is a complex and sympathetic character study representing a wide-spread problem. The moment John Travolta appears on screen with his salt-and-pepper pompadour, the titters begin; the moment he opens his mouth and begins his sandpaper drawl of a Clinton impression, the full-fledged laughs begin. As effective as Elaine May's script may be -- and Travolta's performance, for that matter -- plenty of viewers will simply gape at PRIMARY COLORS in tabloid fascination, thinking of it as THE BILL CLINTON STORY. There's a sad lesson behind the laughs in PRIMARY COLORS, one you'll be able to spot in reviews and reactions colored by the lenses of Intern-Gate, Grope-Gate, or any other Gate: we're getting exactly the leaders we deserve when we refuse to make their messages matter, and all we can do is throw up an endless series of Gates in front of them.
On the Renshaw scale of 0 to 10 counterfeit Bills: 8.
Visit Scott Renshaw's MoviePage http://www.inconnect.com/~renshaw/ *** Subscribe to receive new reviews directly by email! See the MoviePage for details, or reply to this message with subject line "Subscribe".
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


care: High-Dimensional Regression and CAR Score Variable Selection
Implements the regression approach
of Zuber and Strimmer (2011) "High-dimensional regression and variable
selection using CAR scores" SAGMB 10: 34, <doi:10.2202/1544-6115.1730>.
CAR scores measure the correlation between the response and the
Mahalanobis-decorrelated predictors. The squared CAR score is a
natural measure of variable importance and provides a canonical
ordering of variables. This package provides functions for estimating
CAR scores, for variable selection using CAR scores, and for estimating
corresponding regression coefficients. Both shrinkage as well as
empirical estimators are available.
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=care
to link to this page.


-addddt template: pers?clnt=<name|pass>&com=addddt&sid=<id>&<usr>&<ftr_1>=<timestamp_pattern_1>&<ftr_2>=... Order of query params may be important: among features whose timestamp pattern delegates the timestamping to PServer, the leftmost features are considered first when assigning a timestamp (as if being visited first by the user). pattern : - | <date/time>, where '-' means that the PServer assigns a transaction timestamp, otherwise the <date/time> provided by the application is used. The <date/time> format must be a long integer giving the milliseconds passed since January 1st, 1970 00:00:00.000 GMT. descript: for the specified user and for each 'ftr' parameter in the request, a new tuple (user, feature, timestamp, sid) is inserted in table 'decay_data'. In case the timestamp for a feature is provided by the application, it denotes when the (user, feature) interaction took place. In case the timestamping is is delegated to PServer, it is the date/time of the insertion of the tuple in the DB (the transaction time). In both cases the timestamps can be used to put feature interactions in the order they occured. For this however, session timestamping of all features in a decay feature group must be consistent and correct (either PServer or application generated, not both / mixed). If a request contains many features and some of them are assigned to be timestamped by PServer, some may end up with identical timestamps. This does not create any problem as long as the features are different. The DB however cannot record more than one identical (user, feature, timestamp) tuples. In case some timestamps are the same, the order of the corresponding interactions will be arbitrary. If a timestamp pattern is not legal, or if the request leads to two or more identical tuples, or if a feature 'ftr' does not already exist in the 'up_features' table (feature column of two tables is linked through a referential integrity constraint), 401 is returned. If the sid is ommited then the last sid is assumed to be the desirable If the error code 401 is returned then no changes have taken place in the DB. example : pers?clnt=name|pass&com=addddt&usr=kostas&advert.link16=-&page5.combo8.choice2=1005854668670 returns : 200 OK, 401 (fail, request error), 501 (fail, server error) 200 OK : in this case the response body is as follows <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="/resp_xsl/rows.xsl"?> <result> <row><num_of_rows>number of relevant rows</num_of_rows></row> </result> comments: the reference to the xsl file allows to view results in a web browser. In case the response body is handled directly by an application and not by a browser, this reference to xsl can be ignored. Note that the contents of the table 'decay_data' are not constraint or in any other way affected by the table 'decay_groups'.


Quickstart¶
Installation¶
This guide assumes that you are using a linux based system.
System requirements¶
npm
python3 (it has been tested using python 3.7)
pip
Building JavaScript¶
This builds the react javascript.
npm install -C nbextensions_srcs && npm run dev -C nbextensions_srcs
You should now have a nbextensions_dists folder
Installing Python packages¶
For installing the python packages an we recommend using a virtual environment
python3 -m venv ipyreactvenv
source ipyreactvenv/bin/activate
pip install -r dev_requirements.txt
pip install .
Running Jupyter notebook¶
In the same terminal as your virtual environment run:
jupyter notebook examples/slider.ipynb
There are other example ipynb which can be found in the examples folder
Building documentation¶
To build the documentation locally:
cd docs
make html
HTML files will be created in build/html.


Registration
Setup
Steps:
1. Enable Proxy Server
2. Register with Xerox Communication Server
3. Setup Email Notification (Billing Meter Read Alerts)
4. Setup Email Notification (Supplies Data Sent Alerts)
Status
Meter Assistant:
Disabled
Supplies Assistant:
Disabled
Note:
If your network does not require a proxy server, you do not need to configure one.
Instead, verify that the DNS settings are correct.


Upload
Select Type
Photo
Audio
Video
Pdf
Text
Other
Type of Upload
Select Category
Technical
Artistic
Poetry
Articals
Category
Sub Category
cat 1
cat 2
cat 3
cat 4
Total Uploads


{{page.title}}
Vendo
Vendo is an ambitious conversion of an old Wurlitzer Vending Machine for HSBNE Inc, the Brisbane Hackerspace.Unfortunately the original coin mechanism setup was faulty and has now been replaced with:
- A recycled 32 channel relay board
- An Arduino Mega to control the hardware
- A Raspberry Pi and Touchscreen TFT for interfacing
- A serial RFID reader
- A Node.JS app handling the interface and RFID


Model checking is also used to verify specific properties of a system. Some properties are local to a single thread running in the system and some depend on multiple threads running concurrently. The software concurrency in a single core system is introduced by context switches and parallel computing platforms have concurrent execution paths.
The thread local properties include memory access mechanisms, correctness of memory management and pattern of mutex accesses. For example work done in [15] is used to identify DMA race conditions in IBM cell processors. The DMA race detection is been achieved through program instrumentation. In program instrumentation, a part of code is added or modified to verify some properties of the logic. For example, to verify array bound, one can add an assertion to check the index value on every array access.
In concurrent programs we can observe more complex properties concurrent access to shared resources, signalling between the threads and dynamic memory management among threads or race conditions among the threads. Behaviour of these properties depends on the hardware and operating system support. The instrumentation can be used to verify these properties.
ash 2012-09-13


I can provide clean and accurate recordings.
Having worked alongside top industry professionals you can rest assured that your sounds will rival your genre's top tracks.
I can turn your raw recordings from any space into remarkable, flawless sounds.
I will achieve the best balance for your songs with each instrument having clear aural space.
I can ensure your tracks are flawless and release-ready for all platforms.
Crisp, clean editing for your tracks and head-turning innovative production tactics.
I can time-align your instrument tracks seamlessly.
Enjoy tuned vocals that can be as transparent or as creative as you desire.
Make sure your shows are bumping and free of technical issues. Presently a live sound engineer for the Drake Hotel and various other venues.
Guitar remodelling, repair, hardware replacement, cable building, microphone and electronics building.


Angular Material - European Leagues App
{{u.name}}
{{l.caption}}
Welcome to European Leagues App
1 - Please select any league thet you want to get teams from sideNav
2 - Please pick any team you want to get players infos
This website is giving info for season of 2015 due to API restrictions,
I hope it will be updated very soon by its provider
Also couple of team of picures are missing due to API broken links,
I will update them with not found image next update
Designed by Bilal Cagiran
{{ul.selected.name}}
Market Value : {{ul.selected.squadMarketValue}}
{{p.jerseyNumber}}
{{p.name}}
{{p.position}}
{{p.nationality}}
{{p.marketValue}}


Alt Tags Social Media Examples Email PowerPoint Social Media Workshop Pages Back to Workshops Updated 3 October 2019 Social Media is becoming much more accessible Consider the following resources: How do I edit the alternative text for a photo on Facebook?


Step 1: The Stave
The
tabstave
keyword is used to create a new tab
stave. The green code box below is editable - try adding another
stave by typing tabstave
on a new line.
tabstave
takes keyword arguments. For example, the string
tabstave notation=true
renders a standard notation stave
above the tab stave. Try this on the tab stave below.
tabstave
Step 2: Add some notes
The
notes
keyword can be used to add notes. Notes are
represented in the format fret/string
. To add a long
line of notes on the same string, you can use the format
fret-fret-fret/string
. Add a few more frets and
notice how the notes are auto-justified.
tabstave notation=true
notes 4-5-6/3 10/4
Step 3: Stave keywords
tabstave
takes keyword arguments that can be combined.
| keyword | values |
notation |
true/false |
tablature |
true /false |
clef |
treble , alto, tenor, bass |
key |
C , Am, F, Dm, Bb, Gm, Eb, Cm, Ab, Fm, Db, Bbm, Gb, Ebm, Cb, Abm, G, Em, D, Bm, A, F#m, E, C#m, B, G#m, F#, D#m, C#, A#m |
time |
C, C|, #/# |
tuning |
standard, dropd, eb, E/5,B/4,G/4,D/4,A/3,E/3 |
tabstave notation=true
renders a standard notation stave above the tab stave.tabstave notation=true tablature=false
only renders the notation stave.tabstave notation=true clef=alto
changes the clef to alto.tabstave notation=true clef=bass key=C# time=C|
would create two staves (one notation, one tab), bass clef in the key of C# and half common time
tabstave notation=true clef=bass key=Ab time=C|
notes 4-5/6
Step 4: Add bar-lines
The
|
character places a bar-line between the notes. You
can add as many bars as you want to a stave. Note that a space is
required before and after the |
character.
tabstave
notes 4-5-6/3 10/4 | 5-4-2/3 2/2
tabstave
notes 6-7-8-9/3 | 9-8-7-6/2
Step 5: Bend a few notes
To draw bends, separate two frets with a
b
character. The
difference between the frets determines how much to bend. E.g.,
10b12
is a full-step bend.
If you separate three frets with a bend, and the first fret is the same
as the last fret, a bend-and-release is displayed.
E.g., 10b12b10
.
tabstave
notes 4-5-6b7/3 10/4 | 5-4-2/3 2/2
tabstave
notes 6-7b9b7/3 7/4 | 9-8-7-6/2
Step 6: Add some vibrato
Adding a
v
to the end of a note signifies
a vibrato. A capital v (V
) signifies a harsh vibrato. You
can also add a vibrato to a bend.
tabstave
notes 4-5-6b7v/3 10/1 | 5-4-2/3 2v/2
tabstave
notes 6-7b9b7/3 7/4 | 9-8-7-6V/2
Step 7: Add some chords
To render chords, group notes in parenthesis and separate each
string/fret combination with a period. E.g.,
(4/5.5/6)
.
You can bend individual notes in a chord just like you would for single
notes.
tabstave
notes (5/2.6/3.7/4) 5v/1 | 5-4-3/3 2v/4
tabstave
notes (8/2.7b9b7/3) (5b6/2.5b6/3) 7/4 |
notes (5/2.6/3.7/4)
Step 8: Add some hammer-ons, pull-offs, taps, and slides
To render hammer-ons, pull-offs, taps, or slides, use the characters
h
, p
, t
or s
,
respectively. For example, to render a hammer-on/pull-off combo from
fret 6 to 8 back to 6, use 6h8p6
.
You can also hammer-on, pull-off, tap, and slide between chords.
tabstave
notes (5/2.5/3.7/4) 5h6/3 7/4 |
notes t12p7p5h7/4 7/5 5s3/5
tabstave
notes (8/2.7b9b7/3) (5b6/2.5b6/3)v 7s0/4 |
notes (5/2.6/3.7/4)v
tabstave
notes (5/4.5/5)s(7/4.7/5)s(5/4.5/5) (5/4.5/5)h(7/5) |
notes t(12/5.12/4)s(5/5.5/4) 3b4/5 5V/6
Step 9: Add durations and beams.
By default, note durations are set to 8th notes. To change the duration
of the following notes you can use the colon character
:
followed
by a duration code.
For example, :w
specifies a whole note. The currently available
durations are: w h q 8 16 32
, for whole, half, quarter, eighth,
sixteenth, and thirty-second note durations.
Beaming is specified with square brackets [
and ]
.
Any notation contained within these brackets are beamed. (Also notice the
Eb
tuning below.)
tabstave notation=true time=4/4 key=Ab tuning=eb
notes :8 [ 5s7/5 ] :q (5/2.6/3)h(7/3) [ :8 5/4 :16 7p5/5 ]
Here's a longer example rendered with durations and standard notation.
Notice how you can set the duration in the middle of slides, bends, or other
types of ties by prefixing the fret with
:duration:
.
tabstave notation=true key=A
notes :q (5/2.5/3.7/4) 5h6/3 7/4 |
notes :8 [ t12p7p5h7/4 ] :q 7/5 :8 [ 3s5/5 ]
tabstave notation=true
notes :q (8/2.7b9b7/3) (5b6/2.5b6/3)v :8 [ 7s12/4 ]
notes [ t:16:9s:8:3s:16:0/4 ]
tabstave notation=true
notes :q (5/4.5/5)s(7/4.7/5)s(5/4.5/5)
notes :8 [ (5/4.5/5)h(7/5) ] |
notes :8 [ t(12/5.12/4)s(5/5.5/4) 3b4/5 ] :h 5V/6


Getting started
moderngpu 2.0 is designed for CUDA 7.5+. It runs on all generations of NVIDIA GPUs from sm_20 (Fermi) and up.
The reference environment is 64-bit Linux with g++ 4.9.3 with nvcc 7.5.17. This library and code using it might not compile on Microsoft Visual Studio 2013 because of symbol length limitations in that compiler. Windows users should try upgrading to CUDA 8.0 and using Visual Studio 2015.
Cloning the source
Clone the source from the moderngpu github repository.
From the command line,
git clone https://www.github.com/moderngpu/moderngpu [your_directory]
to clone the master branch of the repository into your_directory.
Compiling
moderngpu uses some advanced opt-in features of the CUDA compiler. You may need to set these flags when building your application:
-I [your_directory]/src Add moderngpu to your project's include path. Provides access to the library's header files under the
moderngpu/
path, eg#include <moderngpu/transform.hxx>
.-std=c++11 C++11 features are used extensively.
--expt-extended-lambda enables device-tagged lambdas.
-use_fast_math enables the fast CUDA math library. It won't give bit-identical results with arithmetic run on your host processor, but numerical apps are greatly accelerated by its inclusion.
-Xptxas="-v" enables verbose reporting of PTX assembly. If your kernel uses more than 0 bytes of local memory, your code is probably doing something wrong.
-lineinfo tracks kernel line numbers.
cuda-memcheck
and the CUDA Visual Profiler give more intelligible results when this option is used.-gencode arch=compute_xx,code=compute_xx generates PTX for architecture sm_xx. May be asserted multiple times to take advantage of architecture-specific tunings and intrinsics. PTX is forward compatible, but must be JIT compiled by the CUDA runtime to SASS before device code is launched. -gencode may be specified multiple times to target different architectures.
-gencode arch=compute_xx,code=sm_xx generates SASS for architecture sm_xx. SASS is more space-efficient than PTX and doesn't require JIT compilation, but it's only forward-compatible within the same major architecture. That is, sm_35 devices can execute sm_30 SASS, but sm_5x devices cannot.
Testing the library
Test your installation by compiling this simple program.
#include <moderngpu/transform.hxx>
using namespace mgpu;
int main(int argc, char** argv) {
// The context encapsulates things like an allocator and a stream.
// By default it prints device info to the console.
standard_context_t context;
// Launch five threads to greet us.
transform([]MGPU_DEVICE(int index) {
printf("Hello GPU from thread %d\n", index);
}, 5, context);
// Synchronize on the context's stream to send the output to the console.
context.synchronize();
return 0;
}
If the library is installed at ../moderngpu, compile with this line:
$ nvcc \
-std=c++11 \
--expt-extended-lambda \
-gencode arch=compute_20,code=compute_20 \
-I ../moderngpu/src \
-o hello \
hello.cu
If all goes well, the program should produce output similar to this:
$ ./hello
GeForce GTX 980 Ti : 1190.000 Mhz (Ordinal 0)
22 SMs enabled. Compute Capability sm_52
FreeMem: 5837MB TotalMem: 6140MB 64-bit pointers.
Mem Clock: 3505.000 Mhz x 384 bits (336.5 GB/s)
ECC Disabled
Hello GPU from thread 0
Hello GPU from thread 1
Hello GPU from thread 2
Hello GPU from thread 3
Hello GPU from thread 4
If you see output like this:
$ ./hello
terminate called after throwing an instance of 'mgpu::cuda_exception_t'
what(): invalid device function
Aborted
then you likely didn't build your executable with options that are compatible with the architecture of your device. For instance, building with -gencode arch=compute_20,code=sm_20 will generate a binary that produces this output when run on a Maxwell device, because Maxwell cannot run Fermi SASS. Either generate Maxwell SASS with -gencode arch=compute_52,code=sm_52 or PTX for any earlier architecture with -gencode arch=compute_35,code=compute_35 to make a Maxwell-compatible binary.
Looking at the generated code
Programming the GPU is often about meta-programming the compiler (or, depending on your level of commitment, foregoing the conveniences of a compiler and using an assembler). The easiest way to confirm that the compiler is doing what you want it to do is to look at the disassembly. Use -gencode arch=compute_xx,code=sm_xx to generate SASS for the architecture of interest, and then use cuobjdump to dump the disassembly:
$ nvcc \
-std=c++11 \
--expt-extended-lambda \
-gencode arch=compute_52,code=sm_52 \
-I ../moderngpu/src -o hello \
hello.cu
$ cuobjdump -sass hello
code for sm_52
Function : _ZN4mgpu16launch_box_cta_kINS_15launch_params_tIL...
.headerflags @"EF_CUDA_SM52 EF_CUDA_PTX_SM(EF_CUDA_SM52)"
/* 0x001c5800fe0007f6 */
/*0008*/ MOV R1, c[0x0][0x20]; /* 0x4c98078000870001 */
/*0010*/ { IADD32I R1, R1, -0x8; /* 0x1c0fffffff870101 */
/*0018*/ S2R R3, SR_CTAID.X; } /* 0xf0c8000002570003 */
/* 0x083fd800e7e007f0 */
/*0028*/ { LOP.OR R6, R1, c[0x0][0x4]; /* 0x4c47020000170106 */
/*0030*/ S2R R4, SR_TID.X; } /* 0xf0c8000002170004 */
/*0038*/ IADD32I R0, R3.reuse, 0x1; /* 0x1c00000000170300 */
/* 0x005fd400fe2007f6 */
/*0048*/ SHL R0, R0, 0x7; /* 0x3848000000770000 */
/*0050*/ IMNMX R2, R0, c[0x0][0x140], PT; /* 0x4c21038005070002 */
/*0058*/ LOP32I.AND R0, R4, 0x7f; /* 0x0400000007f70400 */
/* 0x001ff400fda007e6 */
/*0068*/ ISCADD R2, -R3, R2, 0x7; /* 0x5c1a038000270302 */
/*0070*/ ISETP.GE.AND P0, PT, R0, R2, PT; /* 0x5b6d038000270007 */
/*0078*/ @P0 EXIT; /* 0xe30000000000000f */
/* 0x001fc000fe4007f1 */
/*0088*/ ISCADD R0, R3, R0, 0x7; /* 0x5c18038000070300 */
/*0090*/ LOP32I.AND R2, R6, 0xffffff; /* 0x04000ffffff70602 */
/*0098*/ { MOV32I R4, 0x0; /* 0x010000000007f004 */
/*00a8*/ STL [R2], R0; } /* 0x001fd800fe2000f1 */
/* 0xef54000000070200 */
/*00b0*/ MOV32I R5, 0x0; /* 0x010000000007f005 */
/*00b8*/ MOV R7, RZ; /* 0x5c9807800ff70007 */
/* 0x001ffc00ffe00ffd */
/*00c8*/ JCAL 0x0; /* 0xe220000000000040 */
/*00d0*/ EXIT; /* 0xe30000000007000f */
/*00d8*/ BRA 0xd8; /* 0xe2400fffff87000f */
/* 0x001f8000fc0007e0 */
/*00e8*/ NOP; /* 0x50b0000000070f00 */
/*00f0*/ NOP; /* 0x50b0000000070f00 */
/*00f8*/ NOP; /* 0x50b0000000070f00 */
Periodic inspection of disassembly can help confirm that your C++ abstractions are having the intended effect. It may also helps catch compiler absurdities before your software is distributed to billions of end users.
Diagnosing misbehavior
If illegal memory instructions are causing your program to crash or to fail to perform as expected, cuda-memcheck can help diagnose the issue.
bad_stores.cu
#include <moderngpu/transform.hxx>
using namespace mgpu;
int main(int argc, char** argv) {
standard_context_t context;
mem_t<int> x(100, context);
int* x_data = x.data();
// Write past the end of x's data.
transform([=]MGPU_DEVICE(int index) {
x_data[1000 + index] = index * index;
}, 128, context);
// Synchronize on the context's stream to send the output to the console.
context.synchronize();
return 0;
}
In this example we allocate 100 integers of device storage but start writing at 1000 elements past the start of the array. cuda-memcheck has at least an equal chance of finding the exact line and instruction that is causing the program misbehavior as it does of hanging your X session:
$ nvcc \
-std=c++11 --expt-extended-lambda -lineinfo \
-gencode arch=compute_52,code=sm_52
-I ../moderngpu/src
-o bad_stores
bad_stores.cu
$ cuda-memcheck bad_stores
========= Invalid __global__ write of size 4
========= at 0x000000e8 in /home/sean/projects/foo/bad_stores.cu:13:
_ZN4mgpu16launch_box_cta_kINS_15launch_params_tILi128ELi1ELi1ELi...
========= by thread (0,0,0) in block (0,0,0)
========= Address 0x706389c40 is out of bounds
========= Saved host backtrace up to driver entry point at kernel launch time
========= Host Frame:/usr/lib/x86_64-linux-gnu/libcuda.so.1 (cuLaunchKernel + 0x2c5) [0x472225]
========= Host Frame:bad_stores [0x180a1]
========= Host Frame:bad_stores [0x328b3]
========= Host Frame:bad_stores [0x2f43]
========= Host Frame:bad_stores [0x2e0d]
...
In this case, cuda-memcheck delivers precisely the goods. There is indeed an invalid global write of size 4 (our index * index
integer). The tool even tells us that it's at bad_stores.cu line 13.
$ cuobjdump -sass bad_stores
code for sm_52
Function : _ZN4mgpu16launch_box_cta_kINS_15launch_params_tIL...
.headerflags @"EF_CUDA_SM52 EF_CUDA_PTX_SM(EF_CUDA_SM52)"
/* 0x001cfc00e22007f6 */
/*0008*/ MOV R1, c[0x0][0x20]; /* 0x4c98078000870001 */
/*0010*/ S2R R3, SR_CTAID.X; /* 0xf0c8000002570003 */
/*0018*/ S2R R4, SR_TID.X; /* 0xf0c8000002170004 */
/* 0x001fc400fec20ff6 */
/*0028*/ IADD32I R0, R3.reuse, 0x1; /* 0x1c00000000170300 */
/*0030*/ SHL R0, R0, 0x7; /* 0x3848000000770000 */
/*0038*/ IMNMX R2, R0, c[0x0][0x140], PT; /* 0x4c21038005070002 */
/* 0x001fb400fcc017f5 */
/*0048*/ LOP32I.AND R0, R4, 0x7f; /* 0x0400000007f70400 */
/*0050*/ ISCADD R2, -R3, R2, 0x7; /* 0x5c1a038000270302 */
/*0058*/ ISETP.GE.AND P0, PT, R0, R2, PT; /* 0x5b6d038000270007 */
/* 0x081fd800fec007fd */
/*0068*/ @P0 EXIT; /* 0xe30000000000000f */
/*0070*/ ISCADD R0, R3, R0, 0x7; /* 0x5c18038000070300 */
/*0078*/ IADD32I R2, R0.reuse, 0x2710; /* 0x1c00000271070002 */
/* 0x001fc400fea207f1 */
/*0088*/ SHL R3, R2.reuse, 0x2; /* 0x3848000000270203 */
/*0090*/ SHR R5, R2, 0x1e; /* 0x3829000001e70205 */
/*0098*/ IADD R4.CC, R3, c[0x0][0x148]; /* 0x4c10800005270304 */
/* 0x001fc840fe8007e1 */
/*00a8*/ XMAD R2, R0, R0, RZ; /* 0x5b007f8000070002 */
/*00b0*/ XMAD.MRG R3, R0.reuse, R0.H1, RZ; /* 0x5b007fa800070003 */
/*00b8*/ IADD.X R5, R5, c[0x0][0x14c]; /* 0x4c10080005370505 */
/* 0x001fc800fe6007f1 */
/*00c8*/ XMAD.PSL.CBCC R0, R0.H1, R3.H1, R2; /* 0x5b30011800370000 */
/*00d0*/ MOV R2, R4; /* 0x5c98078000470002 */
/*00d8*/ MOV R3, R5; /* 0x5c98078000570003 */
/* 0x001ffc00ffe000f1 */
/*00e8*/ STG.E [R2], R0; /* 0xeedc200000070200 */
/*00f0*/ EXIT; /* 0xe30000000007000f */
/*00f8*/ BRA 0xf8; /* 0xe2400fffff87000f */
cuda-memcheck also identifies the illegal write at address 0x000000e8 in the program code. Because we used -gencode arch=compute_52,code=sm_52
to generate Maxwell SASS, we can use cuobjdump -sass
to display its disassembly. Here we see STG.E [R2], R0
at program counter 00e8. This is indeed our errant instruction.
cuda-memcheck can be an excellent tool early on in your debugging process. You'll invariably revert to printf debugging for things more serious, but this tool provides a less scatter-shot way to get started.


Open this file in a text editor to add custom pages or update the product and/or category blacklists


| Module | ActionView::Helpers::PrototypeHelper |
| In: |
vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb
|
Prototype is a JavaScript library that provides DOM manipulation, Ajax functionality, and more traditional object-oriented facilities for JavaScript. This module provides a set of helpers to make it more convenient to call functions from Prototype using Rails, including functionality to call remote Rails methods (that is, making a background request to a Rails action) using Ajax. This means that you can call actions in your controllers without reloading the page, but still update certain parts of it using injections into the DOM. A common use case is having a form that adds a new element to a list without reloading the page or updating a shopping cart total when a new item is added.
To be able to use these helpers, you must first include the Prototype JavaScript framework in your pages.
javascript_include_tag 'prototype'
(See the documentation for ActionView::Helpers::JavaScriptHelper for more information on including this and other JavaScript files in your Rails templates.)
Now you‘re ready to call a remote action either through a link…
link_to_remote "Add to cart", :url => { :action => "add", :id => product.id }, :update => { :success => "cart", :failure => "error" }
…through a form…
<% form_remote_tag :url => '/shipping' do -%>
<%= submit_tag 'Recalculate Shipping' %>
 <% end -%>
…periodically…
periodically_call_remote(:url => 'update', :frequency => '5', :update => 'ticker')
…or through an observer (i.e., a form or field that is observed and calls a remote action when changed).
<%= observe_field(:searchbox, :url => { :action => :live_search }), :frequency => 0.5, :update => :hits, :with => 'query' %>
As you can see, there are numerous ways to use Prototype‘s Ajax functions (and actually more than are listed here); check out the documentation for each method to find out more about its usage and options.
See link_to_remote for documentation of options common to all Ajax helpers; any of the options specified by link_to_remote can be used by the other helpers.
When building your action handlers (that is, the Rails actions that receive your background requests), it‘s important to remember a few things. First, whatever your action would normall return to the browser, it will return to the Ajax call. As such, you typically don‘t want to render with a layout. This call will cause the layout to be transmitted back to your page, and, if you have a full HTML/CSS, will likely mess a lot of things up. You can turn the layout off on particular actions by doing the following:
class SiteController < ActionController::Base layout "standard", :except => [:ajax_method, :more_ajax, :another_ajax] end
Optionally, you could do this in the method you wish to lack a layout:
render :layout => false
You can tell the type of request from within your action using the request.xhr? (XmlHttpRequest, the method that Ajax uses to make background requests) method.
def name # Is this an XmlHttpRequest request? if (request.xhr?) render :text => @name.to_s else # No? Then render an action. render :action => 'view_attribute', :attr => @name end end
The else clause can be left off and the current action will render with full layout and template. An extension to this solution was posted to Ryan Heneise‘s blog at ArtOfMission.
layout proc{ |c| c.request.xhr? ? false : "application" }
Dropping this in your ApplicationController turns the layout off for every request that is an "xhr" request.
If you are just returning a little data or don‘t want to build a template for your output, you may opt to simply render text output, like this:
render :text => 'Return this from my method!'
Since whatever the method returns is injected into the DOM, this will simply inject some text (or HTML, if you tell it to). This is usually how small updates, such updating a cart total or a file count, are handled.
See JavaScriptGenerator for information on updating multiple elements on the page in an Ajax response.
| CALLBACKS | = | Set.new([ :uninitialized, :loading, :loaded, :interactive, :complete, :failure, :success ] + (100..599).to_a) |
| AJAX_OPTIONS | = | Set.new([ :before, :after, :condition, :url, :asynchronous, :method, :insertion, :position, :form, :with, :update, :script ]).merge(CALLBACKS) |
Returns ‘eval(request.responseText)’ which is the JavaScript function that form_remote_tag can call in :complete to evaluate a multiple update return document using update_element_function calls.
# File vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb, line 427 427: def evaluate_remote_response 428: "eval(request.responseText)" 429: end
Returns a form tag that will submit using XMLHttpRequest in the background instead of the regular reloading POST arrangement. Even though it‘s using JavaScript to serialize the form elements, the form submission will work just like a regular submission as viewed by the receiving side (all elements available in params). The options for specifying the target with :url and defining callbacks is the same as link_to_remote.
A "fall-through" target for browsers that doesn‘t do JavaScript can be specified with the :action/:method options on :html.
Example:
# Generates: # <form action="/some/place" method="post" onsubmit="new Ajax.Request('', # {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;"> form_remote_tag :html => { :action => url_for(:controller => "some", :action => "place") }
The Hash passed to the :html key is equivalent to the options (2nd) argument in the FormTagHelper.form_tag method.
By default the fall-through action is the same as the one specified in the :url (and the default method is :post).
form_remote_tag also takes a block, like form_tag:
# Generates: # <form action="/" method="post" onsubmit="new Ajax.Request('/', # {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); # return false;">
<input name="commit" type="submit" value="Save" />
 # </form> <% form_remote_tag :url => '/posts' do -%>
<%= submit_tag 'Save' %>
 <% end -%>
# File vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb, line 322 322: def form_remote_tag(options = {}, &block) 323: options[:form] = true 324: 325: options[:html] ||= {} 326: options[:html][:onsubmit] = 327: (options[:html][:onsubmit] ? options[:html][:onsubmit] + "; " : "") + 328: "#{remote_function(options)}; return false;" 329: 330: form_tag(options[:html].delete(:action) || url_for(options[:url]), options[:html], &block) 331: end
Returns a link to a remote action defined by options[:url] (using the url_for format) that‘s called in the background using XMLHttpRequest. The result of that request can then be inserted into a DOM object whose id can be specified with options[:update]. Usually, the result would be a partial prepared by the controller with render :partial.
Examples:
# Generates: Delete this post link_to_remote "Delete this post", :update => "posts", :url => { :action => "destroy", :id => post.id } # Generates:  link_to_remote(image_tag("refresh"), :update => "emails", :url => { :action => "list_emails" })
You can override the generated HTML options by specifying a hash in options[:html].
link_to_remote "Delete this post", :update => "posts", :url => post_url(@post), :method => :delete, :html => { :class => "destructive" }
You can also specify a hash for options[:update] to allow for easy redirection of output to an other DOM element if a server-side error occurs:
Example:
# Generates: Delete this post link_to_remote "Delete this post", :url => { :action => "destroy", :id => post.id }, :update => { :success => "posts", :failure => "error" }
Optionally, you can use the options[:position] parameter to influence how the target DOM element is updated. It must be one of :before, :top, :bottom, or :after.
The method used is by default POST. You can also specify GET or you can simulate PUT or DELETE over POST. All specified with options[:method]
Example:
# Generates: Destroy link_to_remote "Destroy", :url => person_url(:id => person), :method => :delete
By default, these remote requests are processed asynchronous during which various JavaScript callbacks can be triggered (for progress indicators and the likes). All callbacks get access to the request object, which holds the underlying XMLHttpRequest.
To access the server response, use request.responseText, to find out the HTTP status, use request.status.
Example:
# Generates: hello word = 'hello' link_to_remote word, :url => { :action => "undo", :n => word_counter }, :complete => "undoRequestCompleted(request)"
The callbacks that may be specified are (in order):
| :loading: | Called when the remote document is being loaded with data by the browser. |
| :loaded: | Called when the browser has finished loading the remote document. |
| :interactive: | Called when the user can interact with the remote document, even though it has not finished loading. |
| :success: | Called when the XMLHttpRequest is completed, and the HTTP status code is in the 2XX range. |
| :failure: | Called when the XMLHttpRequest is completed, and the HTTP status code is not in the 2XX range. |
| :complete: | Called when the XMLHttpRequest is complete (fires after success/failure if they are present). |
You can further refine :success and :failure by adding additional callbacks for specific status codes.
Example:
# Generates: hello link_to_remote word, :url => { :action => "action" }, 404 => "alert('Not found...? Wrong URL...?')", :failure => "alert('HTTP Error ' + request.status + '!')"
A status code callback overrides the success/failure handlers if present.
If you for some reason or another need synchronous processing (that‘ll block the browser while the request is happening), you can specify options[:type] = :synchronous.
You can customize further browser side call logic by passing in JavaScript code snippets via some optional parameters. In their order of use these are:
| :confirm: | Adds confirmation dialog. |
| :condition: | Perform remote request conditionally by this expression. Use this to describe browser-side conditions when request should not be initiated. |
| :before: | Called before request is initiated. |
| :after: | Called immediately after request was initiated and before :loading. |
| :submit: | Specifies the DOM element ID that‘s used as the parent of the form elements. By default this is the current form, but it could just as well be the ID of a table row or any other DOM element. |
| :with: | A JavaScript expression specifying the parameters for the XMLHttpRequest.
Any expressions should return a valid URL query string.
Example: :with => "'name=' + $('name').value" |
You can generate a link that uses AJAX in the general case, while degrading gracefully to plain link behavior in the absence of JavaScript by setting html_options[:href] to an alternate URL. Note the extra curly braces around the options hash separate it as the second parameter from html_options, the third.
Example:
link_to_remote "Delete this post", { :update => "posts", :url => { :action => "destroy", :id => post.id } }, :href => url_for(:action => "destroy", :id => post.id)
# File vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb, line 254 254: def link_to_remote(name, options = {}, html_options = nil) 255: link_to_function(name, remote_function(options), html_options || options.delete(:html)) 256: end
Observes the field with the DOM ID specified by field_id and calls a callback when its contents have changed. The default callback is an Ajax call. By default the value of the observed field is sent as a parameter with the Ajax call.
Example:
# Generates: new Form.Element.Observer('suggest', 0.25, function(element, value) {new Ajax.Updater('suggest', # '/testing/find_suggestion', {asynchronous:true, evalScripts:true, parameters:'q=' + value})}) <%= observe_field :suggest, :url => { :action => :find_suggestion }, :frequency => 0.25, :update => :suggest, :with => 'q' %>
Required options are either of:
| :url: | url_for-style options for the action to call when the field has changed. |
| :function: | Instead of making a remote call to a URL, you can specify javascript code
to be called instead. Note that the value of this option is used as the
body of the javascript function, a function definition with
parameters named element and value will be generated for you for example:
observe_field("glass", :frequency => 1, :function => "alert('Element changed')") will generate: new Form.Element.Observer('glass', 1, function(element, value) {alert('Element changed')}) The element parameter is the DOM element being observed, and the value is its value at the time the observer is triggered. |
Additional options are:
| :frequency: | The frequency (in seconds) at which changes to this field will be detected. Not setting this option at all or to a value equal to or less than zero will use event based observation instead of time based observation. |
| :update: | Specifies the DOM ID of the element whose innerHTML should be updated with the XMLHttpRequest response text. |
| :with: | A JavaScript expression specifying the parameters for the XMLHttpRequest.
The default is to send the key and value of the observed field. Any custom
expressions should return a valid URL query string. The value of the field
is stored in the JavaScript variable value.
Examples :with => "'my_custom_key=' + value" :with => "'person[name]=' + prompt('New name')" :with => "Form.Element.serialize('other-field')" Finally :with => 'name' is shorthand for :with => "'name=' + value" This essentially just changes the key of the parameter. |
| :on: | Specifies which event handler to observe. By default, it‘s set to "changed" for text fields and areas and "click" for radio buttons and checkboxes. With this, you can specify it instead to be "blur" or "focus" or any other event. |
Additionally, you may specify any of the options documented in the Common options section at the top of this document.
Example:
# Sends params: {:title => 'Title of the book'} when the book_title input # field is changed. observe_field 'book_title', :url => 'http://example.com/books/edit/1', :with => 'title' # Sends params: {:book_title => 'Title of the book'} when the focus leaves # the input field. observe_field 'book_title', :url => 'http://example.com/books/edit/1', :on => 'blur'
# File vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb, line 551 551: def observe_field(field_id, options = {}) 552: if options[:frequency] && options[:frequency] > 0 553: build_observer('Form.Element.Observer', field_id, options) 554: else 555: build_observer('Form.Element.EventObserver', field_id, options) 556: end 557: end
Observes the form with the DOM ID specified by form_id and calls a callback when its contents have changed. The default callback is an Ajax call. By default all fields of the observed field are sent as parameters with the Ajax call.
The options for observe_form are the same as the options for observe_field. The JavaScript variable value available to the :with option is set to the serialized form by default.
# File vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb, line 567 567: def observe_form(form_id, options = {}) 568: if options[:frequency] 569: build_observer('Form.Observer', form_id, options) 570: else 571: build_observer('Form.EventObserver', form_id, options) 572: end 573: end
Periodically calls the specified url (options[:url]) every options[:frequency] seconds (default is 10). Usually used to update a specified div (options[:update]) with the results of the remote call. The options for specifying the target with :url and defining callbacks is the same as link_to_remote. Examples:
# Call get_averages and put its results in 'avg' every 10 seconds # Generates: # new PeriodicalExecuter(function() {new Ajax.Updater('avg', '/grades/get_averages', # {asynchronous:true, evalScripts:true})}, 10) periodically_call_remote(:url => { :action => 'get_averages' }, :update => 'avg') # Call invoice every 10 seconds with the id of the customer # If it succeeds, update the invoice DIV; if it fails, update the error DIV # Generates: # new PeriodicalExecuter(function() {new Ajax.Updater({success:'invoice',failure:'error'}, # '/testing/invoice/16', {asynchronous:true, evalScripts:true})}, 10) periodically_call_remote(:url => { :action => 'invoice', :id => customer.id }, :update => { :success => "invoice", :failure => "error" } # Call update every 20 seconds and update the new_block DIV # Generates: # new PeriodicalExecuter(function() {new Ajax.Updater('news_block', 'update', {asynchronous:true, evalScripts:true})}, 20) periodically_call_remote(:url => 'update', :frequency => '20', :update => 'news_block')
# File vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb, line 283 283: def periodically_call_remote(options = {}) 284: frequency = options[:frequency] || 10 # every ten seconds by default 285: code = "new PeriodicalExecuter(function() {#{remote_function(options)}}, #{frequency})" 286: javascript_tag(code) 287: end
Creates a form that will submit using XMLHttpRequest in the background instead of the regular reloading POST arrangement and a scope around a specific resource that is used as a base for questioning about values for the fields.
Example:
<% remote_form_for(@post) do |f| %> ... <% end %>
This will expand to be the same as:
<% remote_form_for :post, @post, :url => post_path(@post), :html => { :method => :put, :class => "edit_post", :id => "edit_post_45" } do |f| %> ... <% end %>
Example:
<% remote_form_for([@post, @comment]) do |f| %> ... <% end %>
This will expand to be the same as:
<% remote_form_for :comment, @comment, :url => post_comment_path(@post, @comment), :html => { :method => :put, :class => "edit_comment", :id => "edit_comment_45" } do |f| %> ... <% end %>
If you don‘t need to attach a form to a resource, then check out form_remote_tag.
See FormHelper#form_for for additional semantics.
# File vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb, line 367 367: def remote_form_for(record_or_name_or_array, *args, &proc) 368: options = args.extract_options! 369: 370: case record_or_name_or_array 371: when String, Symbol 372: object_name = record_or_name_or_array 373: when Array 374: object = record_or_name_or_array.last 375: object_name = ActionController::RecordIdentifier.singular_class_name(object) 376: apply_form_for_options!(record_or_name_or_array, options) 377: args.unshift object 378: else 379: object = record_or_name_or_array 380: object_name = ActionController::RecordIdentifier.singular_class_name(record_or_name_or_array) 381: apply_form_for_options!(object, options) 382: args.unshift object 383: end 384: 385: concat(form_remote_tag(options), proc.binding) 386: fields_for(object_name, *(args << options), &proc) 387: concat('</form>', proc.binding) 388: end
Returns the JavaScript needed for a remote function. Takes the same arguments as link_to_remote.
Example:
# Generates: <select id="options" onchange="new Ajax.Updater('options', # '/testing/update_options', {asynchronous:true, evalScripts:true})"> <select id="options" onchange="<%= remote_function(:update => "options", :url => { :action => :update_options }) %>"> <option value="0">Hello</option> <option value="1">World</option> </select>
# File vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb, line 442 442: def remote_function(options) 443: javascript_options = options_for_ajax(options) 444: 445: update = '' 446: if options[:update] && options[:update].is_a?(Hash) 447: update = [] 448: update << "success:'#{options[:update][:success]}'" if options[:update][:success] 449: update << "failure:'#{options[:update][:failure]}'" if options[:update][:failure] 450: update = '{' + update.join(',') + '}' 451: elsif options[:update] 452: update << "'#{options[:update]}'" 453: end 454: 455: function = update.empty? ? 456: "new Ajax.Request(" : 457: "new Ajax.Updater(#{update}, " 458: 459: url_options = options[:url] 460: url_options = url_options.merge(:escape => false) if url_options.is_a?(Hash) 461: function << "'#{escape_javascript(url_for(url_options))}'" 462: function << ", #{javascript_options})" 463: 464: function = "#{options[:before]}; #{function}" if options[:before] 465: function = "#{function}; #{options[:after]}" if options[:after] 466: function = "if (#{options[:condition]}) { #{function}; }" if options[:condition] 467: function = "if (confirm('#{escape_javascript(options[:confirm])}')) { #{function}; }" if options[:confirm] 468: 469: return function 470: end
Returns a button input tag with the element name of name and a value (i.e., display text) of value that will submit form using XMLHttpRequest in the background instead of a regular POST request that reloads the page.
# Create a button that submits to the create action # # Generates: <input name="create_btn" onclick="new Ajax.Request('/testing/create', # {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form)}); # return false;" type="button" value="Create" /> <%= submit_to_remote 'create_btn', 'Create', :url => { :action => 'create' } %> # Submit to the remote action update and update the DIV succeed or fail based # on the success or failure of the request # # Generates: <input name="update_btn" onclick="new Ajax.Updater({success:'succeed',failure:'fail'}, # '/testing/update', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form)}); # return false;" type="button" value="Update" /> <%= submit_to_remote 'update_btn', 'Update', :url => { :action => 'update' }, :update => { :success => "succeed", :failure => "fail" }
options argument is the same as in form_remote_tag.
# File vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb, line 412 412: def submit_to_remote(name, value, options = {}) 413: options[:with] ||= 'Form.serialize(this.form)' 414: 415: options[:html] ||= {} 416: options[:html][:type] = 'button' 417: options[:html][:onclick] = "#{remote_function(options)}; return false;" 418: options[:html][:name] = name 419: options[:html][:value] = value 420: 421: tag("input", options[:html], false) 422: end
Yields a JavaScriptGenerator and returns the generated JavaScript code. Use this to update multiple elements on a page in an Ajax response. See JavaScriptGenerator for more information.
Example:
update_page do |page| page.hide 'spinner' end
# File vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb, line 1022 1022: def update_page(&block) 1023: JavaScriptGenerator.new(@template, &block).to_s 1024: end
Works like update_page but wraps the generated JavaScript in a


{{title}}
Basic v-for list of dinosaurs
{{dinosaur.name}}
Now creating the same list as radio buttons
{{dinosaur.name}}
Your selected dinosaur is {{selectedDinosaur}}


New Media
The College of New Media at Mackinac State University offers an interdisciplinary course of study in the systems, technologies, history, design, and theory of information. The curriculum enables students to investigate the creative and applied processes essential to this area of study. It prepares students to be technologically capable, articulate thinkers, and creative media professionals.
Why CNM?
Today, information is becoming fluid, continuous and instantly accessible. This has caused a shift in the ways in which we create, access, use, understand and distribute information. The advent and convergence of new ideas, technologies, and information systems has rekindled the relationship of the applied and creative arts and sciences. This renewed bond presents new collaborative opportunities for artists, scientists, communicators, and other creative thinkers. Our program provides an interdisciplinary, experiential approach to learning that emphasizes creativity, critical thinking, teamwork and entrepreneurship.


RNGD
Section: Maintenance Commands (8)Updated: March 2001
Index Return to Main Contents
NAME
rngd - Check and feed random data from hardware device to kernel random deviceSYNOPSIS
rngd [-b, --background] [-f, --foreground] [-i, --ignorefail] [-o, --random-device=file] [-r, --rng-device=file] [-s, --random-step=nnn] [-W, --fill-watermark=nnn] [-t, --timeout=nnn] [-?, --help] [-V, --version]DESCRIPTION
This daemon feeds data from a random number generator to the kernel's random number entropy pool, after first checking the data to ensure that it is properly random.The -f or --foreground options can be used to tell rngd to avoid forking on startup. This is typically used for debugging. The -f or --foreground options, which fork and put rngd into the background automatically, are the default.
The -r or --rng-device options can be used to select an alternate source of input, besides the default /dev/hwrandom. The -o or --random-device options can be used to select an alternate entropy output device, besides the default /dev/random. Note that this device must support the Linux kernel /dev/random ioctl API.
FIXME: document random-step and timeout
OPTIONS
- -b, --background
- Become a daemon (default)
- -f, --foreground
- Do not fork and become a daemon
- -i, --ignorefail
- Ignore repeated fips failures
- -o file, --random-device=file
- Kernel device used for random number output (default: /dev/random)
- -r file, --rng-device=file
- Kernel device used for random number input (default: /dev/hwrandom)
- -s nnn, --random-step=nnn
- Number of bytes written to random-device at a time (default: 64)
- -W n, --fill-watermark=nnn
- Once we start doing it, feed entropy to random-device until at least fill-watermark bits of entropy are available in its entropy pool (default: 2048). Setting this too high will cause rngd to dominate the contents of the entropy pool. Low values will hurt system performance during entropy starves. Do not set fill-watermark above the size of the entropy pool (usually 4096 bits).
- -t nnn, --timeout=nnn
- Interval written to random-device when the entropy pool is full, in seconds, or 0 to disable (default: 60)
- -?, --help
- Give a short summary of all program options.
- -V, --version
-
Print program version
AUTHORS
Philipp RumpfJeff Garzik -<EMAIL_ADDRESS>Matt Sottek
Index
This document was created by man2html, using the manual pages.
Time: 05:34:29 GMT, December 24, 2015


You'll miss a lot on this web site unless you enable Javascript
in your browser.
Videos of My Talks about Specification [show]If You're Not Writing a Program, Don't Use a Programming LanguageGiven in Heidelberg on 24 September 2018 at the 2018 Heidelberg Laureate Forum.
Abstract
Algorithms are not programs. They can and should be written with math
rather than programming languages or pseudo-languages. This applies
to many more algorithms than the ones taught in algorithm courses.
How to Write a 21st Century ProofGiven in Heidelberg on 26 September 2017 at the 2017 Heidelberg Laureate Forum.
Abstract
Mathematicians have made a lot of progress in the last 350 years, but
not in writing proofs. The proofs they write today are just like the
ones written by Newton. This makes it all too easy to prove things
that arenít true. Iíll describe a better way that Iíve been using for
more than 25 years.
The PlusCal Algorithm LanguageGiven in Heidelberg on 22 September 2016 at the 2016 Heidelberg Laureate Forum.
Abstract
An algorithm is not a program, so why describe it with a programming
language? PlusCal is a tiny toy-like language that is infinitely more
expressive than any programming language because an expression can be
any mathematical formula.
A Mathematical View of Computer SystemsGiven in Heidelberg on 24 August 2015 at the 2015 Heidelberg Laureate Forum and in Beijing on 28 October 2015 at the Computing in the 21st Century Conference.

[Heidelberg video] [Beijing video] The Bakery Algorithm in 2015Given in Rennes, France on 5 May 2017 at the International Workshop on Distributed Computing in the honor of Michel Raynal.
Abstract
An algorithm is not a program, so why describe it with a programming
language? PlusCal is a tiny toy-like language that is infinitely more
expressive than any programming language because an expression can be
any mathematical formula.
Programming Should be More than CodingGiven at Stanford University on 8 April 2015.
Abstract
Writing a program involves three tasks:
Thinking for ProgrammersGiven in San Francisco on 3 April 2014 at the Build conference.
Abstract
[I]ntroduces techniques and tools that help programmers think above the
code level to determine what applications and services should do and
ensure that they do it. Depending on the task, the appropriate tools
can range from simple prose to formal, tool-checked models written in
TLA+ or PlusCal.
Who Builds a Skyscraper without Drawing Blueprints?Given in San Francisco on 19 Novembr 2014 at the React conference.
Abstract Architects draw detailed plans before
construction begins. Software engineers don't. Can this be why
buildings seldom collapse and programs often crash? A blueprint for
software is called a specification. TLA+ specifications have been
described as exhaustively testable pseudo-code. High-level TLA+
specifications can catch design errors that are now found only by
examining the rubble after a system has collapsed.
Thinking Above the CodeGiven in Redmond, Washington on 14 July 2014 at the Microsoft Faculty Summit.
Abstract
Architects draw detailed blueprints before a brick is laid or a nail
is hammered. Programmers and software engineers seldom do. A
blueprint for software is called a specification. The need for
extremely rigorous specifications before coding complex or critical
systems should be obvious--especially for concurrent and distributed
systems. This talk explains why some sort of specification should be
written for any software.
What is Computation?Given in Haifa, Israel on 2 June 2011 at the Technion — Israel Institute of Technology.
A simple introduction to thinking of computations as sequences
of states and thinking of computing devices as state machines
that can be described with elementary math.
My Papers About TLA and TLA+ [show]
A page listing approximately all the papers I've written
about TLA and TLA+.
Examples [show]
The TLA+ GitHub repository contains a few dozen examples of TLA+
specifications
here.
They have not been edited and are of varying quality and
degree of complexity. Here are a few simple ones suitable
for newcomers to TLA+.
Missionaries and CannibalsA well-known problem is specified in TLA+ and solved with the TLC model checker. The spec assumes knowledge of TLA+; everything you need to know is explained in comments.The N queens problemThis example generalizes the eight queens puzzle from 8 to N and specifies an algorithm to solve it. The fileQueens.tla contains a TLA+ spec and
QueensPluscal.tla contains a PlusCal spec.
The Prisoners ProblemA cute problem and its solution, described in the filePrisoners.tla .
Termination detection in a ringThis is a TLA+ specification of an algorithm of Dijkstra, Fiejen, and van Gasteren. There is a link to Dijkstra's tech report EWD840. Read the first page of that report to understand the problem solved by the algorithm, which is described by the spec in the fileEWD840.tla . Most people will not want to read the rest
of the tech report, which provides an informal explanation of the
algorithm and why it is correct, or the file
EWD840_proof.tla that contains a machine-checked
TLA+ correctness proof.
Videos of Paxos Lectures [show]
Videos of two lectures describing the Paxos consensus algorithm
with TLA+. In addition to explaining the algorithm, they provide a crash
course on TLA+.
Other Relevant Links [show]
Links to pages related to TLA+ outside the TLA+ and TLAPS web
sites. If you'd like links to your work added to this page, contact me.
Unclassifiable [show]Why Don't Computer Scientists Learn Math?Click here for an anecdote demonstrating the sad state of computer science education. |
||


French Fries are a Jazz-Funk outfit from Tomsk in Russia. They're best known in funk circles as the pioneers of the Baltic Funk Movement of the 80's. Founded in 1979 by lifelong friends, drummer Yaroslav Fedorov and bassist Marat Ivanov. The band enjoyed moderate success in Russia but never broke America and the UK (although they had an underground following in the UK thanks to Radio One's John Peel).
In 1985 they attempted to break America by sending Sylvester Stallone a demo of an instrumental they were working on which they hoped would be included on the upcoming Rocky IV soundtrack. "We found out there was to be a Russian character in the upcoming Rocky movie, so we thought we'd send Mr Stallone an idea we had, sadly it wasn't to be." recalls Marat, "To me, this was the start of our demise, it shattered our confidence." Shortly after their Live In Tomsk album was released in December 1986 they cancelled their upcoming touring commitments and called time on the band. Yaroslav adds, "It was a sad day when we quit, Marat and I drank in our local bar, cried and bid farewell to our beautiful band, we knew it had run its cause."
Thankfully, 31 years later, they've reformed the band with the original lineup and are raring to go. They have a new album in the pipeline and hope to introduce their brand of Baltic Funk to a new generation of fans. "These days the kids are always on their phones", muses Yaroslav, "We thought we'd try and get our music out there with an app, these kids listen to music on their phone, I prefer vinyl, but we must keep up with the times, hence our app."


Express Recipes: How to make Creamy Papaya Raita
- Apr 22, 2015
All right. Well, take care yourself. I guess that's what you're best, presence old master? A tremor in the Force. The last time felt...
Express Recipes: How to make Creamy Papaya Raita
Arup - Apr 22, 2015
Express Recipes: How to make Creamy Papaya Raita
Arup - Apr 22, 2015