K
- the type of keys maintained by this mapV
- the type of mapped valuespublic class ConcurrentIdentityHashMap<K,V>
extends java.util.AbstractMap<K,V>
Hashtable
, and
includes versions of methods corresponding to each method of
Hashtable. However, even though all operations are
thread-safe, retrieval operations do not entail locking,
and there is not any support for locking the entire table
in a way that prevents all access. This class is fully
interoperable with Hashtable in programs that rely on its
thread safety but not on its synchronization details.
Retrieval operations (including get) generally do not
block, so may overlap with update operations (including
put and remove). Retrievals reflect the results
of the most recently completed update operations holding
upon their onset. For aggregate operations such as putAll
and clear, concurrent retrievals may reflect insertion or
removal of only some entries. Similarly, Iterators and
Enumerations return elements reflecting the state of the hash table
at some point at or since the creation of the iterator/enumeration.
They do not throw
ConcurrentModificationException
. However, iterators are
designed to be used by only one thread at a time.
The allowed concurrency among update operations is guided by the optional concurrencyLevel constructor argument (default 16), which is used as a hint for internal sizing. The table is internally partitioned to try to permit the indicated number of concurrent updates without contention. Because placement in hash tables is essentially random, the actual concurrency will vary. Ideally, you should choose a value to accommodate as many threads as will ever concurrently modify the table. Using a significantly higher value than you need can waste space and time, and a significantly lower value can lead to thread contention. But overestimates and underestimates within an order of magnitude do not usually have much noticeable impact. A value of one is appropriate when it is known that only one thread will modify and all others will only read. Also, resizing this or any other kind of hash table is a relatively slow operation, so, when possible, it is a good idea to provide estimates of expected table sizes in constructors.
This class and its views and iterators implement all of the
optional methods of the Map
and Iterator
interfaces.
Like Hashtable
but unlike HashMap
, this class does NOT allow null to be
used as a key or value.
This class is a member of the Java Collections Framework.
| Constructor and Description |
|---|
ConcurrentIdentityHashMap()
Creates a new, empty map with a default initial capacity,
load factor, and concurrencyLevel.
|
ConcurrentIdentityHashMap(int initialCapacity)
Creates a new, empty map with the specified initial
capacity, and with default load factor and concurrencyLevel.
|
ConcurrentIdentityHashMap(int initialCapacity,
float loadFactor,
int concurrencyLevel)
Creates a new, empty map with the specified initial
capacity, load factor, and concurrency level.
|
ConcurrentIdentityHashMap(java.util.Map<? extends K,? extends V> t)
Creates a new map with the same mappings as the given map.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Removes all mappings from this map.
|
boolean |
contains(java.lang.Object value)
Legacy method testing if some key maps into the specified value
in this table.
|
boolean |
containsKey(java.lang.Object key)
Tests if the specified object is a key in this table.
|
boolean |
containsValue(java.lang.Object value)
Returns true if this map maps one or more keys to the
specified value.
|
java.util.Iterator<V> |
elements()
Returns an enumeration of the values in this table.
|
java.util.Set<java.util.Map.Entry<K,V>> |
entrySet()
Returns a collection view of the mappings contained in this map.
|
V |
get(java.lang.Object key)
Returns the value to which the specified key is mapped in this table.
|
V |
get(java.lang.Object key,
int hash) |
boolean |
isEmpty() |
java.util.Iterator<K> |
keys()
Returns an enumeration of the keys in this table.
|
java.util.Set<K> |
keySet()
Returns a set view of the keys contained in this map.
|
V |
put(K key,
V value)
Maps the specified key to the specified
value in this table.
|
void |
putAll(java.util.Map<? extends K,? extends V> t)
Copies all of the mappings from the specified map to this one.
|
V |
putIfAbsent(K key,
V value)
If the specified key is not already associated
with a value, associate it with the given value.
|
V |
putIfAbsent(K key,
V value,
int hash) |
V |
remove(java.lang.Object key)
Removes the key (and its corresponding value) from this
table.
|
boolean |
remove(java.lang.Object key,
java.lang.Object value)
Remove entry for key only if currently mapped to given value.
|
V |
replace(K key,
V value)
Replace entry for key only if currently mapped to some value.
|
boolean |
replace(K key,
V oldValue,
V newValue)
Replace entry for key only if currently mapped to given value.
|
int |
size() |
java.util.Collection<V> |
values()
Returns a collection view of the values contained in this map.
|
public ConcurrentIdentityHashMap(int initialCapacity, float loadFactor, int concurrencyLevel)
initialCapacity
- the initial capacity. The implementation
performs internal sizing to accommodate this many elements.loadFactor
- the load factor threshold, used to control resizing.
Resizing may be performed when the average number of elements per
bin exceeds this threshold.concurrencyLevel
- the estimated number of concurrently
updating threads. The implementation performs internal sizing
to try to accommodate this many threads.java.lang.IllegalArgumentException
- if the initial capacity is
negative or the load factor or concurrencyLevel are
nonpositive.public ConcurrentIdentityHashMap(int initialCapacity)
initialCapacity
- the initial capacity. The implementation
performs internal sizing to accommodate this many elements.java.lang.IllegalArgumentException
- if the initial capacity of
elements is negative.public ConcurrentIdentityHashMap()
public ConcurrentIdentityHashMap(java.util.Map<? extends K,? extends V> t)
t
- the mappublic boolean isEmpty()
public int size()
public V get(java.lang.Object key)
get
in interface java.util.Map<K,V>
get
in class java.util.AbstractMap<K,V>
key
- a key in the table.java.lang.NullPointerException
- if the key is
null.public V get(java.lang.Object key, int hash)
public boolean containsKey(java.lang.Object key)
containsKey
in interface java.util.Map<K,V>
containsKey
in class java.util.AbstractMap<K,V>
key
- possible key.java.lang.NullPointerException
- if the key is
null.public boolean containsValue(java.lang.Object value)
containsValue
in interface java.util.Map<K,V>
containsValue
in class java.util.AbstractMap<K,V>
value
- value whose presence in this map is to be tested.java.lang.NullPointerException
- if the value is null.public boolean contains(java.lang.Object value)
containsValue(java.lang.Object)
, and exists solely to ensure
full compatibility with class Hashtable
,
which supported this method prior to introduction of the
Java Collections framework.value
- a value to search for.java.lang.NullPointerException
- if the value is null.public V put(K key, V value)
The value can be retrieved by calling the get method with a key that is equal to the original key.
put
in interface java.util.Map<K,V>
put
in class java.util.AbstractMap<K,V>
key
- the table key.value
- the value.java.lang.NullPointerException
- if the key or value is
null.public V putIfAbsent(K key, V value)
if (!map.containsKey(key)) return map.put(key, value); else return map.get(key);Except that the action is performed atomically.
key
- key with which the specified value is to be associated.value
- value to be associated with the specified key.java.lang.NullPointerException
- if the specified key or value is
null.public void putAll(java.util.Map<? extends K,? extends V> t)
public V remove(java.lang.Object key)
remove
in interface java.util.Map<K,V>
remove
in class java.util.AbstractMap<K,V>
key
- the key that needs to be removed.java.lang.NullPointerException
- if the key is
null.public boolean remove(java.lang.Object key, java.lang.Object value)
if (map.get(key).equals(value)) { map.remove(key); return true; } else return false;except that the action is performed atomically.
key
- key with which the specified value is associated.value
- value associated with the specified key.java.lang.NullPointerException
- if the specified key is
null.public boolean replace(K key, V oldValue, V newValue)
if (map.get(key).equals(oldValue)) { map.put(key, newValue); return true; } else return false;except that the action is performed atomically.
key
- key with which the specified value is associated.oldValue
- value expected to be associated with the specified key.newValue
- value to be associated with the specified key.java.lang.NullPointerException
- if the specified key or values are
null.public V replace(K key, V value)
if ((map.containsKey(key)) { return map.put(key, value); } else return null;except that the action is performed atomically.
key
- key with which the specified value is associated.value
- value to be associated with the specified key.java.lang.NullPointerException
- if the specified key or value is
null.public void clear()
public java.util.Set<K> keySet()
ConcurrentModificationException
,
and guarantees to traverse elements as they existed upon
construction of the iterator, and may (but is not guaranteed to)
reflect any modifications subsequent to construction.public java.util.Collection<V> values()
ConcurrentModificationException
,
and guarantees to traverse elements as they existed upon
construction of the iterator, and may (but is not guaranteed to)
reflect any modifications subsequent to construction.public java.util.Set<java.util.Map.Entry<K,V>> entrySet()
ConcurrentModificationException
,
and guarantees to traverse elements as they existed upon
construction of the iterator, and may (but is not guaranteed to)
reflect any modifications subsequent to construction.public java.util.Iterator<K> keys()
keySet


The following review is property of MOVIE CRITICISM FOR THE RETARDED and cannot be quoted or referenced without proper credit. For more information, go to the homepage at http://www.homestead.com/mc4tr
BREAKFAST AT TIFFANY'S by Noel Wood
May we hope that somewhere in heaven, George Peppard is resting peaceably. After all, this is the guy who played Hannibal. No, not the cannibal and not the guy who crossed the Swiss Alps. The leader of the force that compromised the most wonderful television program to ever appear on a major network.
The A-Team.
By the way, who played Murdock? Peppard was Hannibal, as we've already established. And the true Hollywood Icon Mr. T played B.A. Baracus. And if I recall correctly, Dirk Benedict of BATTLESTAR GALACTICA fame played the Face.  But everyone I ask draws a blank when I ask if they remember who played Murdock.
How could anyone NOT love the A-Team? Only in the Reagan era could a show this violent do so well on a major network. Sure, there are action shows on today like Xena: Warrior Princess and Renegade, but they're relegated to syndication and basic cable and piss-ant studios like UPN.
 Or something like that. I mean, I was pretty young when the show was running so I didn't really understand the dynamics of it. I just loved it because of all the unneccessary violence that was well above and beyond what I could see on the Dukes of Hazzard.
Even the intro montage to the A-Team was cool. There were all these big action scenes with explosions and stuff and then they'd freeze-frame on one of the actors in an action pose and put the little caption that said "Starring George Peppard as Hannibal". Then at the end of the title sequence they shot bullets at the A-Team logo and the faces of the team members appeares in the bullet holes. Man, that was cool.
And of course they had that van. I used to have the A-Team van and all the figures from Galoob but I think they got sold at a garage sale or something. It was kinda cool because they were the same size as my G.I.Joes so I could pretend Mr.T had joined Cobra or something. I did go to Universal Studios as a kid and got to lift the A-Team van with my bare hands. Actually it was hollowed out so that the average little kid could lift it. But apparently it was from an episode where Murdock got trapped under the van so B.A. had to lift it up in a fit of adrenaline. So they used this hollowed-out prop van so Mr.T could lift it because apparently Mr. T was a pussy in real life, much like Richard Donner. Actually, Mr. T's character was pretty much a pussy on the show too. Remember, they always had to slip him a mickey or knock him out to get him in to a helicopter because big bad B.A. was afraid to fly?
And what was the deal with Murdock anyway? I know that I can't remember for the life of me who played him but it was also weird because his character was crazy but not really crazy.I mean, he acted like he was crazy and it scared the shit out of the bad guys but when it came down to it he was kind of smart. Like when he was handling bombs or something and he acted perfectly normal. And didn't he have a cat that he ran around with all the time? I can't remember exactly but I'm pretty sure he had this cat that he talked to all the time and B.A. hated it. And the cat had a name but I can't remember for the life of me what the cat's name was. But at least it had a name unlike that damn cat that Holly Golightly parades around with in BREAKFAST AT TIFFANY'S.
Speaking of which, I guess I should be talking about that movie.
Okay, for a second we almost see Audrey Hepburn naked at the beginning of the movie. That's pretty cool because back then she was really hot. But then she got really old so now if I think about her I think about the old wrinkly Audrey that's in ALWAYS or worse yet I think of old and wrinkly Katherine Hepburn, which is far worse. Either way, the mood is ruined. So Audrey Hepburn playes Holly. Oh, and Mickey Rooney plays a Chinaman. And Buddy Ebsen plays a horse doctor who used to be married to Holly, and I'm thinking "Jed Clampett and Audrey Hepburn? No way!". And a young Hannib...er, Peppard looks a lot like Cary Elwes in THE PRINCESS BRIDE so I keep waiting for him to put on a silly accent and say "as you wish." So Peppard, as Paul Varjak, moves in and meets Audrey and they have this fling but decide to just be friends because she has a thing for rich men but it's all unfulfilling to her and Peppard tries to win her back and they have this long argument and she loses that damn nameless cat and he helps her find it in an alley in the rain and they kiss and it's a happy ending.
As Hannibal would say, "I love it when a plan comes together."
 -Danforth Quayle
HEY! Check out MOVIE CRITICISM FOR THE RETARDED: http://www.homestead.com/mc4tr
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


In the last post we covered copying our existing CentOS 6.7 template and adding the Puppet agent in order to generate a new Packer template. In this post we will be covering how to use ovftool to convert Packer generated virtual machines into Vagrant .box files. This post will be going over the manual steps on purpose, since I feel it will make more sense when we start to cover automating the steps that you can already performed by hand.
Let's get started...
1. Start off by connecting by SSH to CentOS virtual machine we have been using in previous posts.
2. Create two new directories for downloading virtual machines, one for .ovf and one for .vmx virtual machine formats.
3. Now that we have locations for our ovftool exported virtual machine, we need to re-register the Packer created virtual machines. SSH to your ESXi virtual machine and cd to the datastore that you created the Packer virtual machines on.
4. We next need to register both of the .vmx files of the Packer virtual machines displayed above on the ESXi virtual machine.
You will notice that each of the vim-cmd commands returned a number. That number is the vmid of the virtual machine that was registered. Also if you check the embedded host client, you will see those virtual machines we just registered with the vim-cmd command listed under "Virtual Machines."
5. Once the Packer virtual machines have been registered, we can use ovftool on the CentOS virtual machine to export them as .ovf files.
After the files are exported, we can then compress the .ovf files into a vmware_ovf compatible .box file. Using the vmware_ovf format will provide a generic .box file that can be deployed to vCenter, vCloud Director or vCloud Air Vagrant providers.
6. We can also use ovftool to export the Packer virtual machines in a .vmx format for use with VMware Fusion or Workstation:
7. We will start with converting the .ovf exported templates.
Each of the exported template directories will need a metadata.js and Vagrantfile created. After creating the metadata.js and Vagrantfile files, we will tar all of the files in each directory into a .box file.
8. Next we will convert the .vmx exported templates.
Each of the exported template directories will also need a slightly different metadata.js file created, Vagrantfile created and finally tar all of the files in each directory into a .box file.
9. Finally we can use the tree command to see the overall directory structure of the .ovf and .vmx templates, as well as the list of the .box files:
This brings us to the end of this post. Again I'm sorry for this post not covering any automated ways of converting the Packer templates to .box files, but in the next post you'll learn how we can ease this manual pain with some scripts.
Please provide any feedback or suggestions to my twitter account located on the about page.


{{versions.angular}}
Angular
Modern powerful framework
Docs
Github
{{versions.material}}
Angular Material
Material design component library
Docs
Github
{{versions.angularCli}}
Angular Cli
Responsive layout from battle tested, world most famous UI library
Docs
Github
{{versions.ngrx}}
ngRx
One way data flow powered by RxJS Observables
Github
Testing
{{versions.rxjs}}
RxJS
Reactive programming with async collections using Observables.
Docs
Github
{{versions.bootstrap}}
Bootstrap
Responsive layout from battle tested, world most famous UI library
Docs
Github
{{versions.typescript}}
Typescript
Superior developer experience, code completion, refactoring and less bugs
Github
Docs
Themes
Flexible theming support for provided and custom components
Docs
Blog
Lazy loading
Faster startup time with lazy loaded feature modules
Docs


- June 2022: Started an internship as a Research Engineer at iProov
- October 2021: Started placement at the Alan Turing Institute
- February 2021: Presented my research at the Alan Turing Institute for the Engage@Turing Doctoral Showcase
- May 2020: Awarded Turing Enrichment Scheme placement
- September 2019: Started PhD at University College London


easypost v0.0.1 Easypost.Client
Access the Easypost API from Elixir using maps and returning structs
##Usage:
First, add test key to config/test.exs and config/dev.exs like this:
config :myapp, easypost_endpoint: "https://api.easypost.com/v2/",
easypost_key: "your test key"
Then, define endpoint and key in module where you will use client:
defmodule Myapp.Mymodule do
use Easypost.Client, endpoint: Application.get_env(:my_app, :easypost_endpoint),
key: Application.get_env(:my_app, :easypost_key)
#omitted...
end
Now, the Easypost functions will be available in the module:
#add an address by passing a binary key map (%{"foo" => "bar"})
create_address(user.address)
#gets a list of rate quotes
create_shipment(shipment)
#purchases a shipment using a particular rate where shipment_id is the Easypost id of the shipment and rate is a map containing the Easypost rate id
buy_shipment(shipment_id, rate)
#creates a batch of shipments using either a list of previously created shipping ids or shipment maps
create_batch(shipments)
All functions return either {:ok, (struct)} or {:error, %Easypost.Error{}}, so you should pattern match the result of the functions. For more examples, see tests.


Interaction with others is an important part of everyday life. No matter the situation – whether it be playing a game of chess, carrying a box together, or navigating lanes of traffic – we’re able to seamlessly compete against, collaborate with, and acclimate to other people.
Likewise, as robots become increasingly prevalent and capable, their interaction with humans and other robots is inevitable. However, despite the many advances in robot learning, most current algorithms are designed for robots that act in isolation. These methods miss out on the fact that other agents are also learning and changing – and so the behavior the robot learns for the current interaction may not work during the next one! Instead, can robots learn to seamlessly interact with humans and other robots by taking their changing strategies into account? In our new work (paper, website), we begin to investigate this question.
Interactions with humans are difficult for robots because humans and other intelligent agents don’t have fixed behavior – their strategies and habits change over time. In other words, they update their actions in response to the robot and thus continually change the robot’s learning environment. Consider the robot on the left (the agent) learning to play air hockey against the non-stationary robot on the right. Rather than hitting the same shot every time, the other robot modifies its policy between interactions to exploit the agent’s weaknesses. If the agent ignores how the other robot changes, then it will fail to adapt accordingly and learn a poor policy.
The best defense for the agent is to block where it thinks the opponent will next target. The robot therefore needs to anticipate how the behavior of the other agent will change, and model how its own actions affect the other’s behavior. People can deal with these scenarios on a daily basis (e.g., driving, walking), and they do so without explicitly modeling every low-level aspect of each other’s policy.
Humans tend to be bounded-rational (i.e., their rationality is limited by knowledge and computational capacity), and so likely keep track of much less complex entities during interaction. Inspired by how humans solve these problems, we recognize that robots also do not need to explicitly model every low-level action another agent will make. Instead, we can capture the hidden, underlying intent – what we call latent strategy (in the sense that it underlies the actions of the agent) – of other agents through learned low-dimensional representations. These representations are learned by optimizing neural networks based on experience interacting with these other agents.
Learning and Influencing Latent Intent
We propose a framework for learning latent representations of another agent’s policy: Learning and Influencing Latent Intent (LILI). The agent of our framework identifies the relationship between its behavior and the other agent’s future strategy, and then leverages these latent dynamics to influence the other agent, purposely guiding them towards policies suitable for co-adaptation. At a high level, the robot learns two things: a way to predict latent strategy, and a policy for responding to that strategy. The robot learns these during interaction by “thinking back” to prior experiences, and figuring out what strategies and policies it should have used.
Modeling Agent Strategies
The first step, shown in the left side of the diagram above, is to learn to represent the behavior of other agents. Many prior works assume access to the underlying intentions or actions of other agents, which can be a restrictive assumption. We instead recognize that a low-dimensional representation of their behavior, i.e., their latent strategy, can be inferred from the dynamics and rewards experienced by the agent during the current interaction. Therefore, given a sequence of interactions, we can train an encoder-decoder model; the encoder embeds interaction and predicts the next latent strategy , and the decoder takes this prediction and reconstructs the transitions and rewards observed during interaction .
Influencing by Optimizing for Long-Term Rewards
Given a prediction of what strategy the other agent will follow next, the agent can learn how to react to it, as illustrated on the right side of the diagram above. Specifically, we train an agent policy with reinforcement learning (RL) to make decisions conditioned on the latent strategy predicted by the encoder.
However, beyond simply reacting to the predicted latent strategy, an intelligent agent should proactively influence this strategy to maximize rewards over repeated interactions. Returning to our hockey example, consider an opponent with three different strategies: it fires to the left, down the middle, or to the right. Moreover, left-side shots are easier for the agent to block and so gives a higher reward when successfully blocked. The agent should influence its opponent to adopt the left strategy more frequently in order to earn higher long-term rewards.
For learning this influential behavior, we train the agent policy to maximize rewards across multiple interactions:
With this objective, the agent learns to generate interactions that influence the other agent, and hence the system, toward outcomes that are more desirable for the agent or for the team as a whole.
Experiments
2D Navigation
We first consider a simple point mass navigation task. Similar to pursuit-evasion games, the agent needs to reach the other agent (i.e., the target) in a 2D plane. This target moves one step clockwise or counterclockwise around a circle depending on where the agent ended the previous interaction. Because the agent starts off-center, some target locations can be reached more efficiently than others. Importantly, the agent never observes the location of the target.
Below, we visualize 25 consecutive interactions from policies learned by Soft Actor-Critic (SAC) (a standard RL algorithm), LILI (no influence), and LILI. LILI (no influence) corresponds to our approach without the influencing objective; i.e., the agent optimizes rewards accumulated in a single interaction. The gray circle represents the target, while the teal line marks the trajectory taken by the agent and the teal circle marks the agent’s position at the final timestep of the interaction.
The SAC policy, at convergence, moves to the center of the circle in every interaction. Without knowledge of or any mechanism to infer where the other agent is, the center of the circle gives the highest stable rewards. In contrast, LILI (no influence) successfully models the other agent’s behavior dynamics and correctly navigates to the other agent, but isn’t trained to influence the other agent. Our full approach LILI does learn to influence: it traps the other agent at the top of the circle, where the other agent is closest to the agent’s starting position and yields the highest rewards.
Robotic Air Hockey
Next, we evaluate our approach on the air hockey task, played between two robotic agents. The agent first learns alongside a robot opponent, then plays against a human opponent. The opponent is a rule-based agent which always aims away from where the agent last blocked. When blocking, the robot does not know where the opponent is aiming, and only observes the vertical position of the puck. We additionally give the robot a bonus reward if it blocks a shot on the left of the board, which incentivizes the agent to influence the opponent into aiming left.
In contrast to the SAC agent, the LILI agent learns to anticipate the opponent’s future strategies and successfully block the different incoming shots.
Because the agent receives a bonus reward for blocking left, it should lead the opponent into firing left more often. LILI (no influence) fails to guide the opponent into taking advantage of this bonus: the distribution over the opponent’s strategies is uniform. In contrast, LILI leads the opponent to strike left 41% of the time, demonstrating the agent’s ability to influence the opponent. Specifically, the agent manipulates the opponent into alternating between the left and middle strategies.
Finally, we test the policy learned by LILI (no influence) against a human player following the same strategy pattern as the robot opponent. Importantly, the human has imperfect aim and so introduces new noise to the environment. We originally intended to test our approach LILI with human opponents, but we found that – although LILI worked well when playing against another robot – the learned policy was too brittle and did not generalize to playing alongside human opponents. However, the policy learned with LILI (no influence) was able to block 73% of shots from the human.
Final Thoughts
We proposed a framework for multi-agent interaction that represents the behavior of other agents with learned high-level strategies, and incorporates these strategies into an RL algorithm. Robots with our approach were able to anticipate how their behavior would affect another agent’s latent strategy, and actively influenced that agent for more seamless co-adaptation.
Our work represents a step towards building robots that act alongside humans and other agents. To this end, we’re excited about these next steps:
-
The agents we examined in our experiments had a small number of simple strategies determining their behavior. We’d like to study the scalability of our approach to more complex agent strategies that we’re likely to see in humans and intelligent agents.
-
Instead of training alongside artificial agents, we hope to study the human-in-the-loop setting in order to adapt to the dynamic needs and preferences of real people.
This post is based on the following paper:
Annie Xie, Dylan P. Losey, Ryan Tolsma, Chelsea Finn, Dorsa Sadigh. Learning Latent Representations for Multi-Agent Interaction. Project webpage
Finally, thanks to Dylan Losey, Chelsea Finn, Dorsa Sadigh, Andrey Kurenkov, and Michelle Lee for valuable feedback on this post.


Bruno Ace draws inspiration from modern automotive logos. This techno geometric sans has a wide stance with a tall x-height for a strong look and appeal.
This is the Small Caps family, and there is a sister normal case family.
To contribute to the project contact Brian J. Bonislawsky.


http://www.w3.org/TR/sparql11-protocol/ library module
Variables
Variable: $SPARQL_RESULTS_XML as xs:string
Request encodings.
Variable: $RDF_XML as xs:string
Variable: $USER_AGENT as xs:string
User-agent string.
Functions
Function: spq:query-get($endPointURI as xs:string,
$defaultGraphURIs as xs:string*, $namedGraphURIs as xs:string*,
$query as xs:string
) as element(http:response)
The HTTP GET binding for query operation. Assumes the default Accept header for the SPARQL XML Results format.
Params
- endPointURI as xs:string the URL of the target SPARQL end-point.
- defaultGraphURIs as xs:string* the default graph URIs
- namedGraphURIs as xs:string* the named graph URIs
- query as xs:string the SPARQL query to be sent.
Returns
- element(http:response): the query response wrapped in an query-result element that carries the response content type.
Function: spq:query-get($endPointURI as xs:string,
$defaultGraphURIs as xs:string*, $namedGraphURIs as xs:string*,
$mediaType as xs:string, $query as xs:string
) as element(http:response)
The HTTP GET binding for query operation.
Params
- endPointURI as xs:string the URL of the target SPARQL end-point.
- defaultGraphURIs as xs:string* the default graph URIs
- namedGraphURIs as xs:string* the named graph URIs
- mediaType as xs:string the Media MIME-Type for the HTTP accept header.
- query as xs:string the SPARQL query to be sent.
Returns
- element(http:response): the query response wrapped in an query-result element that carries the response content type.
Function: spq:query-post($endPointURI as xs:string,
$defaultGraphURIs as xs:string*,
$namedGraphURIs as xs:string*, $query as xs:string
) as element(http:response)
The HTTP GET binding for query operation. Assumes the default Accept header for the SPARQL XML Results format.
Params
- endPointURI as xs:string the URL of the target SPARQL end-point.
- defaultGraphURIs as xs:string* the default graph URIs
- namedGraphURIs as xs:string* the named graph URIs
- query as xs:string the SPARQL query to be sent.
Returns
- element(http:response): the query response wrapped in an query-result element that carries the response content type.
Function: spq:query-post($endPointURI as xs:string,
$defaultGraphURIs as xs:string*, $namedGraphURIs as xs:string*,
$mediaType as xs:string, $query as xs:string
) as element(http:response)
The HTTP GET binding for query operation. Assumes the default Accept header for the SPARQL XML Results format.
Params
- endPointURI as xs:string the URL of the target SPARQL end-point.
- defaultGraphURIs as xs:string* the default graph URIs
- namedGraphURIs as xs:string* the named graph URIs
- mediaType as xs:string the Media MIME-Type for the HTTP accept header.
- query as xs:string the SPARQL query to be sent.
Returns
- element(http:response): the query response wrapped in an query-result element that carries the response content type.
Function: spq:submission($method as xs:string, $endpoitURI as xs:string, $defaultGraphURIs as xs:string*,
$namedGraphURIs as xs:string*, $mediaType as xs:string, $query as item()?
) as
element(http:request)
Builds an XML fragment that carries the request details.
Params
- method as xs:string HTTP method (GET|POST)
- endpoitURI as xs:string
- defaultGraphURIs as xs:string* the default graph URIs
- namedGraphURIs as xs:string* the named graph URIs
- mediaType as xs:string Media MIME-Type for the HTTP accpet header
- query as item()? An RDF graph.
Returns
- element(http:request): the HTTP request XML fragment.
Original Source Code
xquery version "1.0" encoding "utf-8"; (: : Licensed under the Apache License, Version 2.0 (the "License"); : you may not use this file except in compliance with the License. : You may obtain a copy of the License at : : http://www.apache.org/licenses/LICENSE-2.0 : : Unless required by applicable law or agreed to in writing, software : distributed under the License is distributed on an "AS IS" BASIS, : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. : See the License for the specific language governing permissions and : limitations under the License. :) (:~ : This library provides functions for querying RDF Graph Stores : that implement the W3C's SPARQL Protocol: : <http://www.w3.org/TR/sparql11-protocol/> : @author Philip A. R. Fennell :) module namespace spq = "http://www.w3.org/TR/sparql11-protocol/"; import module namespace impl = "http://www.marklogic.com/http" at "lib-ml.xqy"; declare namespace http = "http://www.w3.org/Protocols/rfc2616"; declare namespace sr = "http://www.w3.org/2005/sparql-results#"; declare default function namespace "http://www.w3.org/2005/xpath-functions"; (:~ Request encodings. :) declare variable $SPARQL_RESULTS_XML as xs:string := "application/sparql-results+xml"; declare variable $RDF_XML as xs:string := "application/rdf+xml"; (:~ User-agent string. :) declare variable $USER_AGENT as xs:string := "xqy-sparql-protocol-client/0.3"; (:~ : The HTTP GET binding for query operation. Assumes the default Accept header : for the SPARQL XML Results format. : @param $endPointURI the URL of the target SPARQL end-point. : @param $defaultGraphURIs the default graph URIs : @param $namedGraphURIs the named graph URIs : @param $query the SPARQL query to be sent. : @return the query response wrapped in an query-result element that carries : the response content type. :) declare function spq:query-get($endPointURI as xs:string, $defaultGraphURIs as xs:string*, $namedGraphURIs as xs:string*, $query as xs:string) as element(http:response) { spq:query-get($endPointURI, $defaultGraphURIs, $namedGraphURIs, $SPARQL_RESULTS_XML, $query) }; (:~ : The HTTP GET binding for query operation. : @param $endPointURI the URL of the target SPARQL end-point. : @param $defaultGraphURIs the default graph URIs : @param $namedGraphURIs the named graph URIs : @param $mediaType the Media MIME-Type for the HTTP accept header. : @param $query the SPARQL query to be sent. : @return the query response wrapped in an query-result element that carries : the response content type. :) declare function spq:query-get($endPointURI as xs:string, $defaultGraphURIs as xs:string*, $namedGraphURIs as xs:string*, $mediaType as xs:string, $query as xs:string) as element(http:response) { impl:normalise-response( impl:http-request( spq:submission('GET', $endPointURI, $defaultGraphURIs, $namedGraphURIs, $mediaType, $query)) ) }; (:~ : The HTTP GET binding for query operation. Assumes the default Accept header : for the SPARQL XML Results format. : @param $endPointURI the URL of the target SPARQL end-point. : @param $defaultGraphURIs the default graph URIs : @param $namedGraphURIs the named graph URIs : @param $query the SPARQL query to be sent. : @return the query response wrapped in an query-result element that carries : the response content type. :) declare function spq:query-post($endPointURI as xs:string, $defaultGraphURIs as xs:string*, $namedGraphURIs as xs:string*, $query as xs:string) as element(http:response) { spq:query-post($endPointURI, $defaultGraphURIs, $namedGraphURIs, $SPARQL_RESULTS_XML, $query) }; (:~ : The HTTP GET binding for query operation. Assumes the default Accept header : for the SPARQL XML Results format. : @param $endPointURI the URL of the target SPARQL end-point. : @param $defaultGraphURIs the default graph URIs : @param $namedGraphURIs the named graph URIs : @param $mediaType the Media MIME-Type for the HTTP accept header. : @param $query the SPARQL query to be sent. : @return the query response wrapped in an query-result element that carries : the response content type. :) declare function spq:query-post($endPointURI as xs:string, $defaultGraphURIs as xs:string*, $namedGraphURIs as xs:string*, $mediaType as xs:string, $query as xs:string) as element(http:response) { impl:normalise-response( impl:http-request( spq:submission('POST', $endPointURI, $defaultGraphURIs, $namedGraphURIs, $mediaType, $query)) ) }; (:~ : Builds an XML fragment that carries the request details. : @param $method HTTP method (GET|POST) : @param $endPointURI the URL of the target Graph Store end-point. : @param $defaultGraphURIs the default graph URIs : @param $namedGraphURIs the named graph URIs : @param $mediaType Media MIME-Type for the HTTP accpet header : @param $query An RDF graph. : @return the HTTP request XML fragment. :) declare function spq:submission($method as xs:string, $endpoitURI as xs:string, $defaultGraphURIs as xs:string*, $namedGraphURIs as xs:string*, $mediaType as xs:string, $query as item()?) as element(http:request) { let $queryParam as xs:string := concat('query=', encode-for-uri($query)) let $defaultGraphUriParams as xs:string* := for $uri in $defaultGraphURIs return concat('default=', $uri) let $namedGraphUriParams as xs:string* := for $uri in $namedGraphURIs return concat('graph=', $uri) let $requestParams as xs:string := concat('?', string-join(($queryParam, $defaultGraphUriParams, $namedGraphUriParams), '&')) return <request xmlns="http://www.w3.org/Protocols/rfc2616" method="{$method}" href="{concat($endpoitURI, if (exists($requestParams)) then $requestParams else '')}"> <header name="accept" value="{$mediaType}"/> <header name="user-agent" value="{$USER_AGENT}"/> <header name="content-type" value="application/x-www-form-urlencoded"/> <header name="encoding" value="UTF-8"/> </request> };


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/option.2Einduction.html ---
I'm thinking about teaching materials. Is this definition OK? Would it be the sort of thing one can find in mathlib? Mathematicians find the word recursion
a bit scary maybe.
def option.induction : Π {X : Sort*} {C : option X → Prop}, C none → (Π (val : X), C (some val)) → Π (n : option X), C n := @option.rec
option.rec
mentions Sort
, and mathematicians do not believe in Sort
.
Induction and recursion are two separate things to them.
What is the cool type theory name of this function:λ A B C D, F A B D C
?
((∘) flip) ∘ F
?
a pointless hobby, I see
(∘) (∘) (∘) $ flip F
is a more symmetric version
Last updated: Apr 24 2020 at 19:02 UTC


Hacks/Hackers Rochester
Our process is collaboration. Our goal is good journalism.
home
projects
resources
meetups
about
Welcome to the Internet home of Hacks/Hackers Rochester!


|
Swear
It Again
(Westlife) |
|
I
wanna know
Who ever told you I was letting go Of the only joy that I have ever known Girl they were lying Just look around And all the people that we used to know Have just given up they wanna let it go But we're still trying So you should know this love we share Was never made to die I'm glad we're on this one way street Just you and I Just you and I CHORUS I'm never gonna say goodbye 'Cause I never wanna see you cry I swore to you my love would remain And I'd swear it again and I I'm never gonna treat you bad 'Cause I never wanna see you sad I swore to share your joys and your pain And I'd swear it all over again Some people say That everything has got its place and time, Even the day must give way to the night But I'm not buying 'Cause in your eyes I see a love that burns eternally And if you see how beautiful you are to me You'll know I'm not lying Sure there'll be times we wanna Say goodbye But even if we tried There are some things in this life Won't be denied Won't be denied CHORUS The more I know I want you Is the more I know I love you The more that I'm sure I want you for ever and ever more And the more that you love me And the more that I know Oh that I'm never gonna let you go Gotta let you know that I CHORUS |


CRUD API I'm building using node.js and mongoDB that allow users access information about different movies, directors, and genres.
Also users will be able to authenticate their profile and sign in, update their personal information and create a list of their own favorite movies.
(N.B This API is provided with security measures like: encrypted Passwords, CORS logic preventing cross-origin requests and JTW 'token' authentications)
| End point request | HTTP method | Description |
|---|---|---|
| /movies | GET | Returns a list of All movies in the API |
| /movies/:Title | GET | Returns data about a single movie |
| /movies/:Title/Genre | GET | Returns data about a genre |
| /directors/:Name | GET | Returns data about a director |
| /documentation | GET | Serves this documentation file |
| /users | POST | Allows new users to be registered. (Requests body must contain all fields: name, email, date of birth |
| /users/:Username/FavoriteMovies/:MovieID | POST | Allows user to add favorite movies. |
| /users/users/:Username | PUT | Allows users to update their info |
| /users/:Username/FavoriteMovies/:MovieID | DELETE | Allows users to remove a movie from their list of favorites |
| /users/:Username | DELETE | Allows a user to delete account |
| Expected data format to send | Example of data format in response | |
|---|---|---|
| User registration data |
JSON object { "Username": "String", "Password": "String", "Email": "String", "Birthday": Date, "FavoriteMovies": [Array] } |
{ "FavoriteMovies": [ "movieID,movieID"] "_id": "5cd32f40..", "Username": "Full Name", "Password": "Alphanumeric", "Email"<EMAIL_ADDRESS>"Birthday": "YYYY-MM-DD", "__v": Number } |
| User's updateble data |
JSON object { "Username": "String", "Password": "String", "Email": "String", "Birthday": Date, } |
{ "n": Number, "nModified": Number, "ok": Number } |
| Movies data |
JSON object { "Title": "String", "Description": "String", "Release": "String", "Genre": { "Name": "String", "Bio": "String" }, "Director": { "Name": "String", "Bio": "String", "Birth": "String", }, "Actors": [ "Strings array"], "ImagePath": "String", "Featured": Boolean }) |
{ "acknowledged" : True, "insertedId" : ObjectId("5cd32e25..") } |


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
@InterfaceAudience.Public @InterfaceStability.Stable public interface ApplicationClientProtocol
The protocol between clients and the ResourceManager
to submit/abort jobs and to get information on applications, cluster metrics,
nodes, queues and ACLs.
| Method Summary | |
|---|---|
ReservationDeleteResponse |
deleteReservation(ReservationDeleteRequest request)
The interface used by clients to remove an existing Reservation. |
KillApplicationResponse |
forceKillApplication(KillApplicationRequest request)
The interface used by clients to request the ResourceManager to abort submitted application. |
GetApplicationAttemptReportResponse |
getApplicationAttemptReport(GetApplicationAttemptReportRequest request)
The interface used by clients to get a report of an Application Attempt from the ResourceManager |
GetApplicationAttemptsResponse |
getApplicationAttempts(GetApplicationAttemptsRequest request)
The interface used by clients to get a report of all Application attempts in the cluster from the ResourceManager |
GetApplicationReportResponse |
getApplicationReport(GetApplicationReportRequest request)
The interface used by clients to get a report of an Application from the ResourceManager . |
GetApplicationsResponse |
getApplications(GetApplicationsRequest request)
The interface used by clients to get a report of Applications matching the filters defined by GetApplicationsRequest
in the cluster from the ResourceManager . |
GetClusterMetricsResponse |
getClusterMetrics(GetClusterMetricsRequest request)
The interface used by clients to get metrics about the cluster from the ResourceManager . |
GetClusterNodeLabelsResponse |
getClusterNodeLabels(GetClusterNodeLabelsRequest request)
The interface used by client to get node labels in the cluster |
GetClusterNodesResponse |
getClusterNodes(GetClusterNodesRequest request)
The interface used by clients to get a report of all nodes in the cluster from the ResourceManager . |
GetContainerReportResponse |
getContainerReport(GetContainerReportRequest request)
The interface used by clients to get a report of an Container from the ResourceManager |
GetContainersResponse |
getContainers(GetContainersRequest request)
The interface used by clients to get a report of Containers for an application attempt from the ResourceManager |
GetDelegationTokenResponse |
getDelegationToken(GetDelegationTokenRequest request)
The interface used by clients to get delegation token, enabling the containers to be able to talk to the service using those tokens. |
GetNewApplicationResponse |
getNewApplication(GetNewApplicationRequest request)
The interface used by clients to obtain a new ApplicationId for
submitting new applications. |
org.apache.hadoop.yarn.api.protocolrecords.GetNodesToLabelsResponse |
getNodeToLabels(org.apache.hadoop.yarn.api.protocolrecords.GetNodesToLabelsRequest request)
The interface used by client to get node to labels mappings in existing cluster |
GetQueueInfoResponse |
getQueueInfo(GetQueueInfoRequest request)
The interface used by clients to get information about queues from the ResourceManager . |
GetQueueUserAclsInfoResponse |
getQueueUserAcls(GetQueueUserAclsInfoRequest request)
The interface used by clients to get information about queue acls for current user from the ResourceManager . |
MoveApplicationAcrossQueuesResponse |
moveApplicationAcrossQueues(MoveApplicationAcrossQueuesRequest request)
Move an application to a new queue. |
SubmitApplicationResponse |
submitApplication(SubmitApplicationRequest request)
The interface used by clients to submit a new application to the ResourceManager. |
ReservationSubmissionResponse |
submitReservation(ReservationSubmissionRequest request)
The interface used by clients to submit a new reservation to the ResourceManager . |
ReservationUpdateResponse |
updateReservation(ReservationUpdateRequest request)
The interface used by clients to update an existing Reservation. |
| Method Detail |
|---|
@InterfaceAudience.Public @InterfaceStability.Stable GetNewApplicationResponse getNewApplication(GetNewApplicationRequest request) throws YarnException, IOException
The interface used by clients to obtain a new ApplicationId
for
submitting new applications.
The ResourceManager
responds with a new, monotonically
increasing, ApplicationId
which is used by the client to submit
a new application.
The ResourceManager
also responds with details such
as maximum resource capabilities in the cluster as specified in
GetNewApplicationResponse
.
request
- request to get a new ApplicationId
ApplicationId
to be used
to submit an application
YarnException
IOException
submitApplication(SubmitApplicationRequest)
@InterfaceAudience.Public @InterfaceStability.Stable SubmitApplicationResponse submitApplication(SubmitApplicationRequest request) throws YarnException, IOException
The interface used by clients to submit a new application to the
ResourceManager.
The client is required to provide details such as queue,
Resource
required to run the ApplicationMaster
,
the equivalent of ContainerLaunchContext
for launching
the ApplicationMaster
etc. via the
SubmitApplicationRequest
.
Currently the ResourceManager
sends an immediate (empty)
SubmitApplicationResponse
on accepting the submission and throws
an exception if it rejects the submission. However, this call needs to be
followed by getApplicationReport(GetApplicationReportRequest)
to make sure that the application gets properly submitted - obtaining a
SubmitApplicationResponse
from ResourceManager doesn't guarantee
that RM 'remembers' this application beyond failover or restart. If RM
failover or RM restart happens before ResourceManager saves the
application's state successfully, the subsequent
getApplicationReport(GetApplicationReportRequest)
will throw
a ApplicationNotFoundException
. The Clients need to re-submit
the application with the same ApplicationSubmissionContext
when
it encounters the ApplicationNotFoundException
on the
getApplicationReport(GetApplicationReportRequest)
call.
During the submission process, it checks whether the application already exists. If the application exists, it will simply return SubmitApplicationResponse
In secure mode,the ResourceManager
verifies access to
queues etc. before accepting the application submission.
request
- request to submit a new application
YarnException
IOException
org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException
- The exception is thrown when a ResourceRequest
is out of
the range of the configured lower and upper resource boundaries.getNewApplication(GetNewApplicationRequest)
@InterfaceAudience.Public @InterfaceStability.Stable KillApplicationResponse forceKillApplication(KillApplicationRequest request) throws YarnException, IOException
The interface used by clients to request the
ResourceManager
to abort submitted application.
The client, via KillApplicationRequest
provides the
ApplicationId
of the application to be aborted.
In secure mode,the ResourceManager
verifies access to the
application, queue etc. before terminating the application.
Currently, the ResourceManager
returns an empty response
on success and throws an exception on rejecting the request.
request
- request to abort a submitted application
ResourceManager
returns an empty response
on success and throws an exception on rejecting the request
YarnException
IOException
getQueueUserAcls(GetQueueUserAclsInfoRequest)
@InterfaceAudience.Public @InterfaceStability.Stable GetApplicationReportResponse getApplicationReport(GetApplicationReportRequest request) throws YarnException, IOException
The interface used by clients to get a report of an Application from
the ResourceManager
.
The client, via GetApplicationReportRequest
provides the
ApplicationId
of the application.
In secure mode,the ResourceManager
verifies access to the
application, queue etc. before accepting the request.
The ResourceManager
responds with a
GetApplicationReportResponse
which includes the
ApplicationReport
for the application.
If the user does not have VIEW_APP
access then the
following fields in the report will be set to stubbed values:
request
- request for an application report
YarnException
IOException
@InterfaceAudience.Public @InterfaceStability.Stable GetClusterMetricsResponse getClusterMetrics(GetClusterMetricsRequest request) throws YarnException, IOException
The interface used by clients to get metrics about the cluster from
the ResourceManager
.
The ResourceManager
responds with a
GetClusterMetricsResponse
which includes the
YarnClusterMetrics
with details such as number of current
nodes in the cluster.
request
- request for cluster metrics
YarnException
IOException
@InterfaceAudience.Public @InterfaceStability.Stable GetApplicationsResponse getApplications(GetApplicationsRequest request) throws YarnException, IOException
The interface used by clients to get a report of Applications
matching the filters defined by GetApplicationsRequest
in the cluster from the ResourceManager
.
The ResourceManager
responds with a
GetApplicationsResponse
which includes the
ApplicationReport
for the applications.
If the user does not have VIEW_APP
access for an
application then the corresponding report will be filtered as
described in getApplicationReport(GetApplicationReportRequest)
.
request
- request for report on applications
YarnException
IOException
GetApplicationsRequest
@InterfaceAudience.Public @InterfaceStability.Stable GetClusterNodesResponse getClusterNodes(GetClusterNodesRequest request) throws YarnException, IOException
The interface used by clients to get a report of all nodes
in the cluster from the ResourceManager
.
The ResourceManager
responds with a
GetClusterNodesResponse
which includes the
NodeReport
for all the nodes in the cluster.
request
- request for report on all nodes
YarnException
IOException
@InterfaceAudience.Public @InterfaceStability.Stable GetQueueInfoResponse getQueueInfo(GetQueueInfoRequest request) throws YarnException, IOException
The interface used by clients to get information about queues
from the ResourceManager
.
The client, via GetQueueInfoRequest
, can ask for details such
as used/total resources, child queues, running applications etc.
In secure mode,the ResourceManager
verifies access before
providing the information.
request
- request to get queue information
YarnException
IOException
@InterfaceAudience.Public @InterfaceStability.Stable GetQueueUserAclsInfoResponse getQueueUserAcls(GetQueueUserAclsInfoRequest request) throws YarnException, IOException
The interface used by clients to get information about queue
acls for current user from the ResourceManager
.
The ResourceManager
responds with queue acls for all
existing queues.
request
- request to get queue acls for current user
YarnException
IOException
@InterfaceAudience.Public @InterfaceStability.Stable GetDelegationTokenResponse getDelegationToken(GetDelegationTokenRequest request) throws YarnException, IOException
The interface used by clients to get delegation token, enabling the containers to be able to talk to the service using those tokens.
The ResourceManager
responds with the delegation
Token
that can be used by the client to speak to this
service.
request
- request to get a delegation token for the client.
YarnException
IOException
@InterfaceAudience.Public @InterfaceStability.Unstable MoveApplicationAcrossQueuesResponse moveApplicationAcrossQueues(MoveApplicationAcrossQueuesRequest request) throws YarnException, IOException
request
- the application ID and the target queue
YarnException
IOException
@InterfaceAudience.Public @InterfaceStability.Unstable GetApplicationAttemptReportResponse getApplicationAttemptReport(GetApplicationAttemptReportRequest request) throws YarnException, IOException
The interface used by clients to get a report of an Application Attempt
from the ResourceManager
The client, via GetApplicationAttemptReportRequest
provides the
ApplicationAttemptId
of the application attempt.
In secure mode,the ResourceManager
verifies access to
the method before accepting the request.
The ResourceManager
responds with a
GetApplicationAttemptReportResponse
which includes the
ApplicationAttemptReport
for the application attempt.
If the user does not have VIEW_APP
access then the following
fields in the report will be set to stubbed values:
request
- request for an application attempt report
YarnException
IOException
@InterfaceAudience.Public @InterfaceStability.Unstable GetApplicationAttemptsResponse getApplicationAttempts(GetApplicationAttemptsRequest request) throws YarnException, IOException
The interface used by clients to get a report of all Application attempts
in the cluster from the ResourceManager
The ResourceManager
responds with a
GetApplicationAttemptsRequest
which includes the
ApplicationAttemptReport
for all the applications attempts of a
specified application attempt.
If the user does not have VIEW_APP
access for an application
then the corresponding report will be filtered as described in
getApplicationAttemptReport(GetApplicationAttemptReportRequest)
.
request
- request for reports on all application attempts of an application
YarnException
IOException
@InterfaceAudience.Public @InterfaceStability.Unstable GetContainerReportResponse getContainerReport(GetContainerReportRequest request) throws YarnException, IOException
The interface used by clients to get a report of an Container from the
ResourceManager
The client, via GetContainerReportRequest
provides the
ContainerId
of the container.
In secure mode,the ResourceManager
verifies access to the
method before accepting the request.
The ResourceManager
responds with a
GetContainerReportResponse
which includes the
ContainerReport
for the container.
request
- request for a container report
YarnException
IOException
@InterfaceAudience.Public @InterfaceStability.Unstable GetContainersResponse getContainers(GetContainersRequest request) throws YarnException, IOException
The interface used by clients to get a report of Containers for an
application attempt from the ResourceManager
The client, via GetContainersRequest
provides the
ApplicationAttemptId
of the application attempt.
In secure mode,the ResourceManager
verifies access to the
method before accepting the request.
The ResourceManager
responds with a
GetContainersResponse
which includes a list of
ContainerReport
for all the containers of a specific application
attempt.
request
- request for a list of container reports of an application attempt.
YarnException
IOException
@InterfaceAudience.Public @InterfaceStability.Unstable ReservationSubmissionResponse submitReservation(ReservationSubmissionRequest request) throws YarnException, IOException
The interface used by clients to submit a new reservation to the
ResourceManager
.
The client packages all details of its request in a
ReservationSubmissionRequest
object. This contains information
about the amount of capacity, temporal constraints, and concurrency needs.
Furthermore, the reservation might be composed of multiple stages, with
ordering dependencies among them.
In order to respond, a new admission control component in the
ResourceManager
performs an analysis of the resources that have
been committed over the period of time the user is requesting, verify that
the user requests can be fulfilled, and that it respect a sharing policy
(e.g., CapacityOverTimePolicy
). Once it has positively determined
that the ReservationSubmissionRequest is satisfiable the
ResourceManager
answers with a
ReservationSubmissionResponse
that include a non-null
ReservationId
. Upon failure to find a valid allocation the response
is an exception with the reason.
On application submission the client can use this ReservationId
to
obtain access to the reserved resources.
The system guarantees that during the time-range specified by the user, the
reservationID will be corresponding to a valid reservation. The amount of
capacity dedicated to such queue can vary overtime, depending of the
allocation that has been determined. But it is guaranteed to satisfy all
the constraint expressed by the user in the
ReservationSubmissionRequest
.
request
- the request to submit a new Reservation
ReservationId
on accepting the submission
YarnException
- if the request is invalid or reservation cannot be
created successfully
IOException
@InterfaceAudience.Public @InterfaceStability.Unstable ReservationUpdateResponse updateReservation(ReservationUpdateRequest request) throws YarnException, IOException
The interface used by clients to update an existing Reservation. This is referred to as a re-negotiation process, in which a user that has previously submitted a Reservation.
The allocation is attempted by virtually substituting all previous
allocations related to this Reservation with new ones, that satisfy the new
ReservationUpdateRequest
. Upon success the previous allocation is
substituted by the new one, and on failure (i.e., if the system cannot find
a valid allocation for the updated request), the previous allocation
remains valid.
The ReservationId
is not changed, and applications currently
running within this reservation will automatically receive the resources
based on the new allocation.
request
- to update an existing Reservation (the ReservationRequest
should refer to an existing valid ReservationId
)
YarnException
- if the request is invalid or reservation cannot be
updated successfully
IOException
@InterfaceAudience.Public @InterfaceStability.Unstable ReservationDeleteResponse deleteReservation(ReservationDeleteRequest request) throws YarnException, IOException
The interface used by clients to remove an existing Reservation. Upon deletion of a reservation applications running with this reservation, are automatically downgraded to normal jobs running without any dedicated reservation.
request
- to remove an existing Reservation (the ReservationRequest
should refer to an existing valid ReservationId
)
YarnException
- if the request is invalid or reservation cannot be
deleted successfully
IOException
@InterfaceAudience.Public @InterfaceStability.Unstable org.apache.hadoop.yarn.api.protocolrecords.GetNodesToLabelsResponse getNodeToLabels(org.apache.hadoop.yarn.api.protocolrecords.GetNodesToLabelsRequest request) throws YarnException, IOException
The interface used by client to get node to labels mappings in existing cluster
request
-
YarnException
IOException
@InterfaceAudience.Public @InterfaceStability.Unstable GetClusterNodeLabelsResponse getClusterNodeLabels(GetClusterNodeLabelsRequest request) throws YarnException, IOException
The interface used by client to get node labels in the cluster
request
- to get node labels collection of this cluster
YarnException
IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


HOW LONG UNTIL 2020 IS OVER?
0
years
0
days
0
hours
0
minutes
0
seconds
0
years
0
months
0
weeks
0
days
0
hours
0
minutes


The WTM: giving us a taste of travel experiences to be discovered
by Damon EmblingIn this special edition of Spotlight, we come to you from the World Travel Market in London. We're joining thousands of people from the travel and tourism sectors who are promoting all sorts of holiday destinations - ranging from capital cities to exotic islands.
The authentic Seychelles experience
The Seychelles doesn’t struggle to turn heads at WTM. This exotic destination, nestled in the western Indian Ocean, boasts 115 islands, offering crystal clear waters, white sands and lots of relaxation.
It's the ultimate getaway for many.
“When they visit, people want to feel special, they want to get beneath the skin of the destination, they want to learn what the country is all about and this is why for us, we don’t only have five-star properties, we have home-grown properties in the Seychelles, which offers exactly that – the authentic Seychelles experience," says Sherin Francis, Chief Executive Officer, Seychelles Tourism Board.
"You get to live very close to a family, in a self-catering or a guest house, where you get to learn what Seychelles life is all about.
Health and wellbeing in the Philippines
The Philippines is another island nation looking to attract even more international travellers.
It’s a country with a rich history, and a fusion of Asian, European and American influences.
"We have the farms where you can experience weight loss. If you’re a vegan, then you can have it there. But then, at the same time, we have some resorts that would combine wellness with diving," says Roberto P. Alabado III, Assistant Secretary, Tourism Development Philippines.
"Diving right now is one of the main products of the Philippines and we would like to offer you some of the best dive spots in the world. It depends on what kind of diving you want. If you want free-diving, scuba-diving, if you want to explore wrecks, if you want to see sharks, whale sharks, name it, we have it there in the Philippines.”
Go off the beaten track in Japan
Japan also has lots to offer when it comes to wellness. It’s encouraging tourists to go off the beaten track, to explore the country’s natural landscapes and to immerse themselves in culture and tradition.
“Obviously, you can still experience the geisha and those authentic Japanese things like the samurai.  A lot of people don’t know that Japan has the most ski resorts in any country in the world. Seventy per cent mountains in the country, which I think is phenomenal," says Matthew Joslin, Marketing and Communications Manager, Japan National Tourism Organisation.
"Things like scuba diving as well as lots of outdoor sports and I think the wellness community is really well primed for Japan travel, in things like meditation, meditating with monks in the mountains, temple stays. Those kinds of more relaxing, mindfulness elements of Japan. Forest bathing as well.”
Adventures in Montenegro
Montenegro is a country proud of its natural beauty too. Something that’s bringing more and more visitors to this relatively new destination.
Here you’ll find stunning mountain and coastal scenery, with lots of adventures and sports waiting to be enjoyed.
“It’s a country of life and history, so this is what it is. A country of beauty, unprecedented beauty I would say. The only fjord in the Mediterranean, the second deepest canyon in the world is in Montenegro. So, there’s plenty of things you need to come and see. The beautiful beaches, the beautiful rivers and plenty of ways to spend your vacation.  You can do pretty much anything in a very small space,” says Pavle Radulovic, Minister of Sustainable Development and Tourism, Montenegro.
There are so many places out there to be explored and the World Travel Market in London gives us just a taste of the experiences waiting to be discovered.


Enter AWS account credentials directly in the Access Key ID and Secret Access Key fields for your
Amazon Web Services account. Optionally specify an AWS session token in Session Token if your AWS account is
configured to require temporary credentials. If Access Key ID and Secret Access Key are left blank,
credentials will be resolved automatically following the CLI precedence rules..
Credentials will not be saved in configuration files, and will need to be set each time AWS credentials
are required locally.
Use the one-time credentials mode when you are using temporary credentials obtained via an enterprise managed
site or deploying from an instance on Amazon Web Services using IAM instance profiles. Using a credential profile is the
recommended method which will make it easier to perform management cluster upgrades and deletions.
Select an already existing AWS credential profile. If you select a profile, the access keys and session token
information configured for your profile are temporarily passed to the installer without displaying actual values
in the UI.
Credential profiles can be configured using the AWS CLI.


UTC +3
Voltage: 127/220 V
Frequency: 60 Hz
Saudi riyal (SR) of 100 halalah.
International Dialing Code for Saudi Arabia is +966.
The prepaid SIM card for Saudi Arabia is a practical option for using your existing world phone as a prepaid Saudi Arabia cell phone while you’re in the country at a better rate than you’d pay for a Saudi Arabia cell phone rental. It’s also a trouble-free ticket to using the same options that the Saudi Arabians themselves use—the local Saudi Arabian cell phone system. The SIM chip, combined with an unlocked GSM World cell phone, helps you keep the lines of communication open without being burdened by high international roaming surcharges applicable when you use your “home” SIM card abroad
Police - Dial 999
Fire Service - Dial 998
Ambulance - Dial 997
Additional Emergency numbers - Dial 902 or 907
IMRAY AND ADLARD COLES PILOT BOOKS are available at a discounted price for Noonsite.com users via World Cruising Club
Red Sea Pilot: Aden to Cyprus (Mediterranean pilots & charts)
By Elaine Morgan and Stephen Davies
Publisher: Imray,Laurie,Norie & Wilson Ltd; 2nd Revised edition edition (December 2002)
ISBN-13:<PHONE_NUMBER>543
This fully revised 2nd ed. pilot covers the entire stretch of the Red Sea from Aden to Cyprus. Including ports and anchorages on the Red Sea coasts of Oman, Yemen, Aden, Djibouti, Eritrea, Sudan, Saudi Arabia, Egypt, the Gulf of Aqaba, the Suez Canal, Israel and Cyprus. Over 70 anchorages were resurveyed and new ones explored. One key improvement is the coverage of diving sites.
Noonsite welcomes information and updates especially regarding clearance, customs and immigration procedures from cruisers visiting this country.
Please E-mail noonsite with any new information, updates or corrections. Even just a short email confirming that the current data is accurate would be most helpful.