1. Introduction {#s1}
===============

This article aims to shed light on how humans judge the relevance of documents. We will, however, take a modern view of what a document is. Nowadays individuals and groups interact with one another in a variety of information environments of ever increasing complexity. They are accessing search engines, sharing messages on Facebook, browsing short messages on their mobile devices from microblog sites like Twitter. In this setting, a document is usually very short, e.g., a Twitter post, or in some cases it is not a document at all, but rather a document surrogate, such as the query-biased summaries (snippets) of documents displayed in rankings produced by search engines.

Document relevance has been carefully studied over more than three decades within the fields of information science usually by identifying or employing known inter-subjective dimensions of relevance (Schamber et al., [@B27]; Barry, [@B4]; Mizzaro, [@B25]; Borlund, [@B9]). For example, Barry and Schamber ([@B5]) identified the dimensions "presentation quality," "currency," "reliability," "verifiability," "geographic proximity," "specificity," "dynamism" and "accessibility" in a comprehensive study. A recent study examined how users determined which list of search results they preferred over another using five dimensions of relevance: "topicality," "freshness" (currency), "authority" (credibility), "caption quality," and "diversity" (Kim et al., [@B23]). Other dimensions have also been identified with respect to a particular genre document. For example, Chu ([@B13]) identified the dimensions "specificity," "ease of use" and "breadth" in the context of legal documents.

Whilst it is widely accepted that there are a variety of dimensions at play when it comes to judging relevance, little is known of how these dimensions may interact. The aim of this article is to adopt a decision theoretic perspective and test a novel cognitive decision model in which potential interactions between dimensions are a consequence of incompatible decision perspectives which impose an order effect on relevance judgments. Incompatible perspectives are a recent development in a field called "quantum cognition" (See, for example, Conte et al., [@B16]; Aerts, [@B1]; Bruza et al., [@B10]; Pothos and Busemeyer, [@B26]; Atmanspacher and Filk, [@B3]; Khrennikov, [@B22]; Busemeyer et al., [@B12]; Conte et al., [@B15]; Trueblood and Busemeyer, [@B28]; beim Graben et al., [@B6]; Busemeyer and Bruza, [@B11]; Conte, [@B14]; Dzhafarov and Kujala, [@B18]; Aerts et al., [@B2]; Blutner et al., [@B7]; Haven and Khrennikov, [@B21]). This field aims to apply the formalism of quantum theory in order to more adequately model cognitive phenemona. For example, decades of research have uncovered a whole spectrum of human judgment that deviates substantially from what would be normatively correct according to logic and probability theory. An example of the latter is the following: "Linda is 31 years old, single, outspoken, and very bright. She majored in philosophy. As a student, she was deeply concerned with issues of discrimination and social justice, and also participated in anti-nuclear demonstrationsÓ. Which is more probable:(a) Linda is a bank teller, or(b) Linda is a bank teller and is active in the feminist movement?"

In this now famous experiment proposed by Tversky and Kahneman ([@B29]), human subjects consistently rate option (b) as more probable than (a). However, according to probability theory, the probability of a conjunction of events must be less than or equal to the probability of a constituent event. Thereofore, according to the axioms of probabilty theory (b) is less probable than (a). Probability judgment errors of this nature have since become known as the "conjunction fallacy."

The key to explaining the conjunction fallacy using a quantum model is the *incompatibility* between the perspective that Linda is a bank teller and her being a feminist. Consider Figure [1A](#F1){ref-type="fig"}. The perspective "Linda is a feminist" is represented as a two dimensional vector space where the basis vector *F* corresponds to the decision "Linda is a feminist" and *F* corresponds to "Linda *not* being a feminist." A similar two dimensional vector space corresponds to the perspective of Linda being a bank teller *B*, or not *B*. Initially, the cognitive state of the subject is represented by the vector Ψ, which is suspended between both sets of basis vectors. This situation represents the subject being undecided about whether Linda is a bank teller or a feminist. Suppose the subject now decides that Linda is a feminist. This decision is modeled by Ψ "collapsing" onto the basis vector labeled *F*. (The probability of the decision corresponds to the square of the length of the projection of the cognitive state Ψ onto the basis vector *F*, denoted ∥**P~F~**ψ∥^2^). Observe how the subject is now necessarily uncertain about Linda being a bank teller because the basis vector *F* is suspended between the two basis vectors *B* and *B* by the angle θ. The hall mark of incompatibility is the state of indecision from one perspective (e.g., the bank teller perspective) when a decision is taken from another (e.g., the feminist perspective). This indecision means the decision maker can\'t form the joint probability of Linda being both a feminist and a bank teller, Pr(*F, B*) (Busemeyer et al., [@B12]). (This is crucially different to the situation in standard probability theory in which events are compatible, and thus the joint probability is always defined).

![**Incompatible perspectives in a relevance judgment. (A)** Incompatible perspectives in the Linda example. **(B)** Incompatible perspectives in judging document relevance.](fpsyg-05-00612-g0001){#F1}

The consequence of incompatibility is an interference term denoted Int. The partial derivation below shows that this term Int appears when the decision of whether Linda is a feminist is made in relation to the incompatible subspace corresponding to the decision perspective of her being a bank teller (represented by projector **P~B~** and its dual **P~B~**^⊥^): $$p(F) = \  \parallel \mathbf{\text{P}}_{\mathbf{\text{F}}}\psi \parallel^{2}$$ $$= \  \parallel (\mathbf{\text{P}}_{\mathbf{\text{F}}}\  \cdot \mathbf{\text{I}})\psi \parallel^{2}$$ $$= \, \parallel (\mathbf{\text{P}}_{\mathbf{\text{F}}} \cdot (\mathbf{\text{P}}_{\mathbf{\text{B}}} + \mathbf{\text{P}}_{\mathbf{\text{B}}}^{\bot})\psi \parallel^{2}$$ $$= \parallel \mathbf{\text{P}}_{\mathbf{\text{F}}}\mathbf{\text{P}}_{\mathbf{\text{B}}}\psi \parallel^{2} + \  \parallel \mathbf{\text{P}}_{\mathbf{\text{F}}}\mathbf{\text{P}}_{\mathbf{\text{B}}}^{\bot}\psi \parallel^{2} + \text{Int}$$

The intuition behind Equation 4 is that the law of total probability is being modified by the interference term. In probability theory this would be expressed as follows: *p*(*F*) = *p(F, B)* + *p(F, B)* + Int. When the interference term is zero, the law of total probability holds. This happens when the decision perspectives are compatible.

Incompatible decision perspectives are a recent development in cognitive modeling and their striking characteristic is the use of "quantum" probabilities. By quantum probabilities, we mean that the decision event space is modeled as a vector space rather than a Boolean algebra of sets. A key differentiator is the use of the interference term. When this term is non-zero, violations of the law of total probability occur. The interference term has been used in models of the perception of gestalt images (Conte et al., [@B16]; Khrennikov, [@B22]), models of the conjunction and other decision fallacies (Busemeyer et al., [@B12]; Conte et al., [@B15]), modeling violations of rational decison theory (Bordley, [@B8]; Pothos and Busemeyer, [@B26]; Khrennikov, [@B22]), modeling belief dynamics (Trueblood and Busemeyer, [@B28]) and conceptual processing (Gabora and Aerts, [@B19]; Gabora et al., [@B20]; Aerts, [@B1]; Aerts et al., [@B2]; Blutner et al., [@B7]). Broader works relate the formal structures used in quantum theory to cognition and other areas (Bruza et al., [@B10]; Khrennikov, [@B22]; Busemeyer and Bruza, [@B11]; Conte, [@B14]; Haven and Khrennikov, [@B21]).

Consider Figure [1B](#F1){ref-type="fig"} which has the same structure as the Linda problem depicted in Figure [1A](#F1){ref-type="fig"}. This figure comprises two perspectives regarding a decision of document relevance. Assuming that a human subject perceives a document\'s relevance via different perspectives in relation to their given information need, the "topicality" perspective is represented as a two dimensional vector space where the basis vector *T* corresponds to the decision "the information is topically related to the information need" and *T* corresponds to "the information is *not* topically related to the information need." A similar two dimensional vector space corresponds to the perspective of the information being understandable *U*, or not *U*, to the human subject. Initially, the cognitive state of the human subject is represented by the vector Ψ, which is suspended between both sets of basis vectors. This situation represents the subject being undecided about whether the information being perused is topical or understandable. Suppose the subject now decides that the information is topical. This decision is modeled by Ψ "collapsing" onto the basis vector labeled *T*. Once again, the probability of the decision corresponds to the square of the length of the projection of the cognitive state Ψ onto the basis vector *T*, denoted ∥**P**~*T*~ψ∥^2^.

Observe how the subject is now necessarily uncertain about whether the information is understandable because the basis vector *T* is suspended between the two basis vectors *U* and *U* by the angle θ. The intuition behind incompatibility in this case is that the subject may be confident in deciding the information is topically relevant but remain in two minds about whether they understand the information, for example, if the snippet is interspersed with specialized technical vocabulary as in Figure [2](#F2){ref-type="fig"}. An important consequence of incompatible decision perspectives is an order effect. In the context of the example, this means the probability of judging that the information is relevant differs when first considering "topicality" followed by "understandability" compared to when these decisions are reversed. This is because when decision perspectives are incompatible, projections do *not* commute, i.e., ∥**P**~*U*~**P**~*T*~ψ∥^2^ ≠ ∥**P**~*T*~**P**~*U*~ψ∥^2^.

![**Example document snippet**.](fpsyg-05-00612-g0002){#F2}

The preceding should not be taken to imply that all relevance judgments are modeled in terms of incompatible decision perspectives. In some cases, the perspectives may be compatible. For example, the subject can make a decision that the document is topically relevant and then also be certain in regard to their decision about the document\'s understandability. In formal terms, compatible decision perspectives entail that the projectors commute, i.e., ∥**P**~*U*~**P**~*T*~ψ∥^2^ = ∥**P**~*T*~**P**~*U*~ψ∥^2^.

The focus is this artice is to explore whether there is evidence for incompatible decision perspectives. The question then becomes how to determine whether the model presented in Figure [1B](#F1){ref-type="fig"} explains decisions of document relevance. Wang and Busemeyer ([@B30]) have recently proposed an innovative solution to this question. They proved that if there is an order effect and a so called *q*−test holds, then a model based on incompatible decision perspectives like those depicted in Figure [1B](#F1){ref-type="fig"} is a valid cognitive decision model. In terms of our example, the *q*−test has the following form based on yes(y)/no(n) answers regarding "topicality" and "understandability": $$p(TyUn) + p(TnUy) = p(UyTn) + p(UnTy)$$

Let *p*~TU~ = *p(TyUn)* + *p(TnUy)* define the probability of different answers when "topicality" *T* is asked first, followed by "understandability" *U*. Conversely, let *p~UT~* = *p(UyTn)* + *p(UnTy)* be the probability of different answers when the order of questions is first "understandability" followed by "topicality." The *q*−test has the following form: $$q = p_{AB} - p_{BA} = 0$$

The advantage of the *q*−test is that it is a parameter free test. It has successfully been applied to motivate a quantum model in relation to order effects in political survey data (Wang and Busemeyer, [@B30]). In this article, we will examine: (1) whether there are order effects in relation to decisions pertaining to specific dimensions of relevance, and (2) whether a quantum model based on incompatible decision perspectives explains these order effects.

2. Materials and methods {#s2}
========================

2.1. Subjects
-------------

Relevance judgments were crowdsourced by the internet based Amazon\'s Mechanical Turk platform. Crowdsourcing is the outsourcing of tasks to an undefined, large group of people. In the case of Amazon\'s Mechanical Turk, crowdsourcing is a means of gathering data from users via "human intelligence tasks" (HITs) which are typically surveys for subjects, or "turkers" to answer. Turkers are paid a nominal fee, in this case between 12 and 20 cents per relevance judgment. If the data from the turker is deemed of sufficient quality, the owner of the HIT approves the payment. The quality of the data can be determined automatically by the system whereby after a set period of time, say an hour, then the data will be approved whereby the turker will be paid. This process can also be done manually before and after approval; thus increasing the quality of data collected. In this experiment, the data were manually approved.

The advantages of crowdsourcing is that data can be collected quickly, on a fairly large scale and at a reasonable price. The disadvantage is the extra effort needed in order to safeguard the quality of the data. As Mechanical Turk is internet based, there is little control over who the turkers are, where they are, and indeed, whether they are even human. For example, "bots," i.e., software programs mimicking humans are known to take part and more or less randomly contribute data to an experiment. As a consequence, the quality of crowdsourced data can vary greatly. To combat this, we purposefully inserted questions in the HITS to collect qualitative data---a technique often used in crowdsoured experiments.

Furthermore, as an additional factor to ensure quality data, both "masters" as well as "normal" turkers were used. Masters have "demonstrated excellence" in performing crowdsourced experiments over an extended period with a required HIT Approval Rate of above 95% over at least one thousand HITs. In contrast to the "masters," nothing much is known of regarding the performance of "normal" turkers. The experiment was timed to primarily source U.S. based turkers, who are thus likely to be proficient in English, however no tests were conducted to verify English proficiency.

2.2. Materials
--------------

The materials comprised queries and information in the form of document snippets.

Five queries were developed for this study, each of which is based around an information need, for example, see Figure [3](#F3){ref-type="fig"}. The query description comprises the name of a query topic, a short description and an accompanying narrative. The narrative is intended to frame the subject\'s perception of relevance. There is a possibility that the turker\'s background may interfere with the narrative around the query. For example, if the turker is a fan of technology, then there is significant likelihood that they will be biased toward specific information or brands of technology. The experimenters viewed that bias is intrinsic to search and therefore did not to try to compensate for it (White, [@B31]). In addition, the background of the turker may hinder their ability to sufficiently engage with the narrative. However there was evidence via the qualitative feedback questions that turkers were able to role-play in a satisfactory way, particularly the "masters." For example, "..a little hard to determine what this is talking about and if I were a beginner I would have no clue." or "...makes \[the\] document highly relevant, since the focus is for emerging technologies in 2013." Finally, the narrative structure of the queries was adopted from long running Text Retrieval Conference Series run yearly by the U.S. National Institute of Standards and Technology[^1^](#fn0001){ref-type="fn"}. Each query was designed to collect judgments pertaining to two specific dimensions of relevance chosen by the authors. Table [1](#T1){ref-type="table"} details the titles of the queries and the dimensions of relevance which were studied.

![**HIT interface**.](fpsyg-05-00612-g0003){#F3}

######

**Queries and relevance dimensions**.

  **Query Title**                         **Dimension 1**   **Dimension 2**
  --------------------------------------- ----------------- -------------------
  Treatment for arthritis                 Topicality        Understandability
  Emerging branding trends                Topicality        Interest
  Emerging technology                     Topicality        Credibility
  Causes of global warming                Topicality        Believability
  Influence of media on the Vietnam war   Topicality        Sentimentality

The relevance dimensions studied are further detailed in Table [2](#T2){ref-type="table"}. "Topicality" has been chosen as a primary dimension to be examined across all queries because this dimension has been consistently identified in previous studies as a primary factor in relevance judgments (e.g., Barry and Schamber, [@B5]; Borlund, [@B9]; Chu, [@B13]). In addition, search engine algorithms are based on queries and finding a match in regards to keywords as a matter or correlating topically related material.

######

**Definition of relevance dimensions**.

  **Relevance dimension**   **Definition**
  ------------------------- ----------------------------------------------------------------------
  Topicality                How topically related is the information in the snippet to the query
  Credibility               How credible is the information in the snippet
  Understandability         How easy is it to understand the information in the snippet
  Believability             How believable is the information in the snippet
  Interest                  How novel/entertaining/interesting is the information in the snippet
  Sentimentality            The degree of affective response to the information in the snippet

Secondary dimensions depend on the query. Once the queries had been established, the authors designated likely secondary dimensions. Through pilot studies, the choice for the secondary dimension was refined when other factors began to creep into turker\'s comments. For example, during initial stages of the pilot, one of the first HITs published was the "Emerging Technology" query involving the dimensions of "topicality" and "understandability." Very quickly, it was realized that "credibility" was a factor that was constantly brought up by turkers in qualitative feedback. This was possibly also due to the advancement and ubiquity of technology thus rendering "understandability" as not an issue. Other secondary factors were chosen in a similar fashion while some were heavily dependent on the query topic at hand. For example, the topic of global warming is one involving fixed dichotomous positions e.g., people either believe that this is occuring or they don\'t. Therefore, "believability" seemed likely to be a prominent relevance dimension in this case.

Secondary dimensions that were chosen for study are listed in the column labeled "Dimension 2" of Table [1](#T1){ref-type="table"}. "Understandability" was chosen as snippets can sometimes be full of technical jargon, acronyms or specialized terms that can be challenging for the average person to comprehend. The dimension of "Believability" stems from a subject\'s personal beliefs and biases in relation to the information. A recent study showed that users were subject to their own biases as well as biases inherent in the search engine (White, [@B31]). "Interest" is the dimension of relevance pertaining to how novel or entertaining the information is. "Sentimentality" is a dimension which pertains to emotional responses to information. Sentiment analysis is a very active area of research in relation to internet-based technologies and applications, for example, data mining techniques to identify positive or negative sentiments or opinions in product reviews.

Corresponding to each query was a query-biased summary of a document, which we will refer to as a document "snippet." (See Figure [2](#F2){ref-type="fig"}). Document snippets were used as these are an increasingly prevalent form of information on which decisions of relevance are made in relation to modern information environments. The document snippets used in this study were sourced from the Google search engine.

Snippets were selected based on the likelihood that decisions regarding the two chosen dimensions of relevance were likely to involve some uncertainty. This is because we hypothesize that incompatibility between these dimensions is more likely to occur when such uncertainty was present. Unfortunately, there is no theory to predict which dimensions may be incompatible so a crowsourced pilot study was conducted. This study involved 10 snippets per query with between 8 and 10 master turkers making judgments in each order condition. In order to verify that uncertainty was present a four point rating scale was used to collect decisions. For each query, the snippet for which the *q*− test was closest to zero was selected as being most likely to be subject to incompatibility. None of the subjects in the pilot took part in the experiment presented here. This could easily be verified as each turker has a unique identifier.

2.3. Procedure
--------------

The experiment (i.e., the HIT) consisted of five elements which were presented in sequence. Each element was based around a query, and a subject was required to process all five elements.

Each element comprises the query description followed by a document snippet, two judgments and finally the input of qualitative data. Figure [3](#F3){ref-type="fig"} depicts one such element. In each judgment a subject is asked to rate a dimension of relevance on a four point scale. It was assumed that a subject can make judgments on dimensions within a given query topic independently of other query topics.

A single factor design was employed where the order of the judgments was manipulated. For example, in one condition a given dimension, e.g., "topicality" is rated first (the "non-comparative" context for the decision on topicality), followed by a rating of a the "understability" dimension. In the second condition, the order of the ratings is reversed e.g., the rating on "topicality" is second after the "understandability" dimension is rated (the "comparative" context for the decision on topicality). As each turker has a unique identifier, those turkers who attempted both conditions were removed from the data.

Subsequent to the judgments, subjects were asked to comment on factors that influenced their judgments. This aspect served for both quality control as well as a source of qualitative data to better undertsand the factors involved when turkers make judgments. By doing so, we discarded the data from any turker where the answers were blank, superfluous, e.g., "this is very good and gainful," or didn\'t make sense, e.g., "The sway there marketed with different topics." In the event that qualitative data were borderline acceptable such as "don\'t know," or "not sure" (both of which could be supplied by a bot), the time taken to complete the HIT was also taken into consideration: If the time spent was less than 50 s for the HIT, the data were also discarded as we deemed a minimum of 10 s per query as being required to meaningfully read the query topic, rate two dimensions and supply qualitative feedback.

Finally, the Mechanical Turk interface does not afford the ability to time a turker per query, so the time taken to make judgments in relation to a given query could not be collected for analysis.

3. Results {#s3}
==========

A total of fifty "normal" turkers submitted data for the condition where the "topicality" dimension was presented first (non-comparative context for topicality), of which eighteen were discarded. Conversely, thirty-six "normal" turkers submitted data for the comparative context of "topicality," of which four were discarded. This left *n* = 32 subjects in each condition. Despite repeated attempts to recruit "master" turkers, we failed to secure numbers sufficient for reliable statistical analysis. Therefore, their rating data are not reported but some qualitative responses were retained for illustrative purposes.

The results are presented in yes/no contingency tables in order for the *q*−test to be applied. This was achieved by mapping the four point graded relevance judgments to yes/no decisions in the following way: A grade of 3 or 4 was translated to a "yes," whereas a grade of 1 or 2 was translated to a "no." For example, consider Figure [3](#F3){ref-type="fig"}. Using the proposed mapping, a topical judgment of "4 = Very topically related" and "3 = Topically related" translate into a decision of "yes." After the yes/no mapping, contingency tables can be constructed for each decision and these are presented in Figure [4](#F4){ref-type="fig"} for the "normal" turkers. Some of the queries have data with less than 32 subjects as for these queries a turker rated one dimension, without rating the other. In such cases, the data for that query were omitted.

![**Yes/no contingency tables from "normal" turkers**. The left hand side represents the condition where topicalilty is decided first (Non-comparative context for a decision on topicality). The right hand side represents the condition where topicality is decided second (Comparative context for a decision on topicality).](fpsyg-05-00612-g0004){#F4}

In order to apply the *q*−test, the presence of an order effect must first be established. An order effect is determined by comparing the agreement rates obtained in a non-comparative vs. a comparative context. An order effect occurs when the proportion of subjects who decided "yes" differs significantly in the comparative vs. non-comparative contexts. A two-tailed χ−square test of equality of proportions between populations was carried out (α = 0.05) and those queries exhibiting an order effect are bolded in Table [3](#T3){ref-type="table"}.

######

**Summary table of *q*-test values**.

  **Query title**                         **Dimension 1**   **Dimension 2**     ***q***
  --------------------------------------- ----------------- ------------------- ---------
  **Treatment for arthritis**             Topicality        Understandability   0.02^†^
  **Emerging branding trends**            Topicality        Interest            0.10
  **Emerging technology**                 Topicality        Credibility         0.08
  **Causes of global warming**            Topicality        Believability       0.01^†^
  Influence of media of the Vietnam war   Topicality        Sentimentality      0.08

*Queries with order effect (α = 0.05) are bolded. Queries where *q*-test holds (α = 0.05) are flagged by †*.

Based on the contingency tables presented in Figure [4](#F4){ref-type="fig"}, the *q*− test values for the "normal" turkers were computed using equation (6) and presented in Table [3](#T3){ref-type="table"}.

4. Discussion {#s4}
=============

For the query topics where there is an order effect, the quantum model based on incompatible decision perspectives predicts *q* = 0 (Wang and Busemeyer, [@B30]). Table [3](#T3){ref-type="table"} accords with this prediction for the queries "Treatment for Arthritis" and "Causes of Global Warming." However, there are two other queries exhibiting an order effect but for which *q* ≠ 0. In these cases, the prediction of the quantum model may not actualize due to the quite small sample sizes in both conditions, or that the quantum model is not a valid explanation for these queries. More experimentation with larger sample sizes is needed to resolve this distinction.

Four out of five queries displayed an order effect (α = 0.05). The presence of an order effect means that the subjects\' decision cannot be validly modeled by a joint probability distribution spanning binary variables corresponding to the underlying dimensions of relevance. For example, consider Figures [4A,B](#F4){ref-type="fig"}. In the non-comparative context for a decision on topicality, the marginal probability that the document is topical is summed across understandability: $$p(T = y) = p(T = y,U = y) + p(T = y,U = n)$$ $$\text{~~~~~~~~~~~~~~} = \text{~~}0.4063\  + \ 0.2813\ $$ $$\text{~~~~~~~~~~~~~~} = 0.6876$$

Note that this probability is significantly different (α = 0.05) when understandability provides the comparative context for deciding topicality: *p*(*T* = *y*) = 0.1936 + 0.3871 = 0.5807. It is this difference which identifies an order effect *but* as the marginal probability is not constant, it is not possible to construct a single joint probability distribution *p*(*T, U*) to model the relevance decisions. As a consequence, a common modeling approach is ruled out. This approach assumes *p*(*T, U*) exists whereby the decision in the non-comparative context around topicality is modeled by the marginal probability *p*(*T*) and the decision in the comparative context is modeled by conditioning the distribution based on how understanding was first decided, i.e., *p*(*T*\|*U* = *y*) or *p*(*T*\|*U* = *n*).

In summary, order effects were detected between dimensions of relevance for the majority of queries and some evidence that a quantum model based on incompatible decision perspectives is a valid explanation. However, this evidence is not yet strong. Experiments with larger sample sizes and a larger collection of queries and snippets are required to determine the prevalence of incompatible perspectives in perceptions of document relevance. It should be mentioned, however, that this study differentiates itself from many previous studies in that a much larger number of subjects were involved. For example, nine subjects provided relevance judgments in Chu ([@B13]).

According to Cooper ([@B17]) the concept of relevance comprises both "logical relevance" and "utility." Logical relevance is defined as "whether or not a piece of information is on a subject which has some topical bearing on the information need" and utility has to do with "the ultimate usefulness of the piece of information." It seems that perceptions of utility or usefulness of a particular snippet involves cognitive processing of a variety of factors including those dimensions examined in this study. It became apparent from the qualitative feedback that relevance is a multifaceted, dynamic decision process. For example, in the "Global Warming" query, "reputation," "credibility" and "scientific" were used to describe factors that the turkers themselves ranked highly compared to "believability" which was the chosen secondary dimension. This could suggest that the dimensions of "credibility" and "believability" mentioned as being distinct in previous studies are in fact hardly distinguishable during some relevance decisions. Not only were there more than a few factors at play, but the dimensions of "topicality" and "understandability" were featured in qualitative feedback across all queries. Furthermore, comments mentioning multiple (i.e., greater than two) factors were reasonably common. For example, one turker elegantly wrote "whether it (the search result) is on topic, credible, and goes into sufficient detail." Interestingly, many of these comments noted "topicality" in ways that suggested that even though a snippet was topically related, this did not necessarily translate to the snippet being deemed relevant. This was a shift from the pilot study where turkers would state very clearly in their comments that topicality was nearly always the first factor they considered and if a snippet was topically related, then they would judge it to be relevant. The shift may have been due to the final design in which turkers processed five different queries which exposed them to a broader spectrum of relevance dimensions than was the case in the pilot study. Such qualitative feedback calls the experimental design into question, namely, is it methodologically sound to focus the subjects\' attention on two dimensions when more are at play? In addition, were these extra dimensions coming into play because the subject was learning about relevance as they proceeded through the queries? The experimental design did not control for such a learning effect as it was assumed that each query topic could be judged independently of the others. An alternate design would allow subjects to select the two dimensions they deem most prominent and then rate them, or only allow subjects to rate a singe query topic.

5. Conclusion {#s5}
=============

This article put forward an experimental framework for examining whether dimensions of relevance interact via an order effect. The data collected from a crowdsourced study suggests that in some decisions regarding dimensions of relevance, this interaction can be explained in terms of a quantum model based on incompatible decision perspectives. Assuming that such interactions are fairly prevalent, what are the consequences? Currently in information processing systems, such as search engines, there is a general lack of effective user models. Should the user be making decisions of relevenance based on incompatible decision perspectives, then a model of the user based on standard probability would not be appropriate. The field of quantum cognition has shown that incompatibility implies that the law of total probability does not hold. Current computational systems are founded on standard probability theory. For example, consider the corpus-based computational model proposed by Lin and He ([@B24]). This model takes the dimensions of both "topicality" and "sentiment" into account.

At the heart of the model is the following factorization: *p*(**w, z, s**) = *p*(**w\| z, s**)*p*(**z, s**), where **w** is a random variable over a vocabulary of terms extracted from the corpus, **z** is a random variable over a set of latent topics, and **s** is a random variable over a set of sentiment labels (e.g., a binary variable describing a positive or negative sentiment). Note at its foundation, the model relies on the joint probability *p*(**z, s**), which describes the joint probability over topics and sentiments. In other words, the model assumes that "topicality" and "sentiment" are *compatible*. Should incompatibility manifest in the user\'s cognition, such a joint probability is undefined. This opens the door for dissonance between the relevance decisions made by the system as opposed to those made by the user. In short, the presence of incompatible decision perspectives suggests users can better be modeled by a "non-classical" probability theory like that proposed by the field of quantum cognition.

Conflict of interest statement
------------------------------

The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.

The authors would like to thank Jerome Busemeyer for his advice on the application of the *q*−test as well as the helpful comments of the reviewers.

^1^<http://trec.nist.gov/>

[^1]: Edited by: Chris Fields, New Mexico State University, USA (retired)

[^2]: Reviewed by: Emmanuel Pothos, City University London, UK; Falk Scholer, RMIT University, Australia

[^3]: This article was submitted to Perception Science, a section of the journal Frontiers in Psychology.


South Africa according to World Cup adverts: tribes, jeeps and animals

All in the
name of World Cup fever, advertisers around the world have been given the task
of selling this year's host state - South Africa, the Rainbow Nation.
One of our Observers isn't very impressed with the depictions of his home
country.

"The average South African child does not grow up close to a game park"

Sean Jacobs
teaches international affairs at the New
School in New York City. He was born and grew up in South Africa,
and will shortly be on his way home for the World Cup. He runs the blog "Africa is a country".

I know
these ads are tongue-in-cheek and not to be taken too seriously, but as the
World Cup nears and increasingly clichéd ads appear from around the world, I
can't help but get more frustrated. It's so disappointing to think that the
default image of Africa is still children,
jeeps and animals.

The Netherlands - ING bank

What you
see in this ad, produced for Dutch bank ING, is a continent that remains the
same. The veiled woman in the desert, the women collecting water in a stream
with buckets, the Masai [tribal community] ... It's only when you get to Cape Town that you get a sense of urban Africa.
It's as though there are no skyscrapers on the rest of the continent.

Australia - Optus Telecommunications

This one's
produced by Optus Telecommunications [Australia's national team
sponsors]. I think that some people might watch this ad and read from it that
if you go to South Africa
and play football with the locals, well - they're animals. Yes, it's an extreme
reaction, but didn't the Australians think about that before they came up with
this weird scenario? The fact that the little boy is white is also poor taste.
Yes, we have white people in South
Africa, but having the only human South
African in the ad as white, while the rest are animals... Well, that could be
read very badly.

USA - Adidas

This
unofficial Adidas ad, made on spec by director Igor Martinovic, is another
offender. Firstly, it was filmed on Long Island, which is pretty far from South Africa.
Secondly, the ending; the ball ... It's only since a documentary that showed
African kids making footballs from condoms that everyone seems to think it's
the only kind of football we have in South Africa.

Now I grew
up in an urban ghetto, and there was a grass pitch at school and after
apartheid I played in a Saturday league. The referees were dressed in black,
there was a club house. I certainly never saw a ball made from condoms.

Mexico - Televisa TV network

One of our
bloggers, Sonja Uwimana, pointed out to me that Televisa, the TV channel that
aired this ad, said that they produced it in response to marketing surveys
which showed that their audience thought of one big safari when imagining Africa.

The idea
that we all live in a massive gaming park is ridiculous. Most people in South Africa
have to take two planes and a car to a private game park to see the animals you
see in these ads. The average South African child does not grow up close to a
game park ...

It's true
that South Africa
itself it guilty of selling this "safari utopia" idea. That's because we have a
history of white advertising, which depicted the country as somewhere full of
animals and tribal people. It's an image which apartheid South Africa sold to Europe and North America. And now, that image is being sold back to
modern South Africa,
because many foreign companies come here to produce advertisements as
production is so much cheaper.

All bad?

Of course
they're not all bad. A good example of a positive African soccer ad is Puma's beautiful
‘Journey of Football',
which is actually about football and a realistic view of Africa.
If you can get around the idea of a fast-food chain selling sport, then the McDonalds'
‘Four Shadows' is quite realistic too.

The Nike ad
for the World Cup
is also a good one - they're focusing on football itself, which is what all the
others should have done in the first place..."

Comments

Dont know why people take notice of the White broadcasting, and media organisations,They pander to its own ignorant white man in its society.China,Russia ,India,brazil.latin America dont tolerate the westerm media and broadcasters ignorance.

Furthermore as I realized after I posted is that I didn't elaborate. I was speaking specifically of South Africa though I don't believe there's any refugee camps in S.Africa. Yes, as I mentioned they are the wealthiest country in Africa with the largest economy. Many places in Africa are peaceful with largely stable governments and societies. I realize that it is a misunderstood continent that is often neglected in thought among the people of the world. Whether it be from the Maghreb to the southern tip, the continent like all continent has a variety of nations, cultures, and peoples that reflect a range of things from good to bad.

Yes, of course good things happen along with the bad but correct me if I'm wrong but does S. Africa not have the highest rape rate as well as child rape rate in the world? one of the highest HIV rates? The capital for car jacking in the world as well as a nation with one of the highest murder rates in the world. That's a lot for one country. Every country has problems of course, my point was that it's better to have it betrayed positively in the world albeit naively then have a lot of real characteristics about the country portrayed in advertisements around the world. The money spent on the World Cup by the S.African government could be better spent alleviating many of its social problems.

It's not my intent to offend, my point is merely to say that sugar coating the country is not necessarily a bad thing if it draws people to the nation for the World Cup. The World Cup is a great thing that uses sports to bring people together in healthy competition.

Look I can understand your frustrations with a portrayal of Africa that is a little out of line with the 21st century but do you really want to sell the World Cup by showing people playing soccer among shanty towns and slums or in refugee camps. Perhaps have them play a pickup game outside a HIV clinic or while people are smoking crack and getting murdered and raped. Would that be the side of S.Africa that you want them to show in advertisements? Perhaps contrast that with a game being played among ANC supporters singing "Kill the Boers" and showing the skyscrapers that mark Africa's largest economy & wealthiest nation. Very few people would want to go to S.Africa if they were shown images that showed them the reality of the place as opposed to an idealist image of the bush, tribal people, and happy little children running around playing football among the lions and gazelle.

this is exactly what is wrong, with your view of Africa, of south Africa even. it's like yu think that nothing good ever happens in africa. the truth is yes there are bad things that happen every day, but it's not unique to africa, it happens everywhere in the world. you don't see ads depicting the natives raping each other on the american continent do you? no. this is just foolish propaganda being promoted by foolish advertising agencies in the west. when ever you think of Africa yu think AIDS, RAPE, THEFT AND MURDER. it is implausible for you to imagine the possibility that it's not all bad, that there actualy is an urban africa,you think cities are shanty towns made from discarded corrugated tin stuff. ooh please come to africa to see the good, the bad and the not so great for yurself and srop repeating propaganda, because it shows ignorance and stupidity on your part.

there are suburbs, cities,towns and villages all with a level of development. we have local governments, provincial governments that run the buisness of the country. Africa is slow to development its infrastructures. but africans are not daft, stupid savages, that are depicted in these ads. we simply are too dark for other races to think of us as equals!!

the world simply needs to get to know the real Africa and Africans. there is so much that is so unexplored in africa, so much development that is being overlooked. anyways it's all good. One day we will catch up with the world on development.

for now Africa keeps surviving. we will prevail against our struggles.

First of all I want to let you know that I like adverts but what I do like best is to criticize them (in good or bad). These adverts indeed show the African continent as a very primitive continent. It looks like Africa is made out of savanna, wild symbolic animals, poor African children and rich European tourists. It's true that poverty remains an big problem in Africa, but showing stereotypes doesn't help.
Instead of neglecting all the cultural, social and geographical aspects of mother Africa, we should show all the treasures of this "rich" continent: literature, music, traditions, handicraft, architecture, gastronomy, economical development, Nature...
Anyway, we'll always be confronted to intelligent adverts (very few) and comic (but stereotypical) adverts.


Account

Campbell

This San Jose suburb has long been overshadowed by its immediate neighbors, wealthy Los Gatos and Saratoga as well as Apple-HQ Cupertino. Now it’s coming into its own, with a newly vibrant downtown and the Pruneyard shopping center. Housing prices, while insane anywhere else, are almost reasonable for Silicon Valley. Population: 40,939. Median home price: $1,248,000.


The effect of excessive dietary vitamin A on performance and vitamin E status in swine fed diets varying in dietary vitamin E.
A study was conducted to evaluate the effects of high dietary vitamin A on vitamin E status and performance of growing-finishing pigs fed diets supplemented with varying levels of vitamin E. Treatments consisted of corn-soybean meal-based diets supplemented with retinyl acetate to provide 2,000 or 20,000 IU of vitamin A/kg of diet and with DL-alpha-tocopheryl acetate to provide 0, 15, or 150 IU of added vitamin E/kg in a 2 x 3 factorial arrangement. The trial involved 84 crossbred pigs (26 kg initial BW) allotted to pens of two pigs each (one gilt, one barrow). Serum was obtained from all pigs on d 0, 3, 7, 21, 35, 63, and 77 of the 83- or 90-d feeding period. Tissue samples (liver, leg, and neck muscle, backfat, and leaf fat) were collected from one pig (barrow) in each pen at the end of the feeding period. Average daily gain and gain:feed were .93 kg and .30, respectively, without treatment differences (P > .10). Serum alpha-tocopherol increased linearly (P < .01) by d 3 with increasing level of dietary vitamin E supplementation. High dietary vitamin A resulted in a small decrease (P < .01) in serum alpha-tocopherol on d 3, but serum alpha-tocopherol concentration was not affected (P > .10) on other days. Tissue alpha-tocopherol increased linearly (P < .001) as dietary vitamin E increased in all tissues examined. No consistent evidence was found to indicate that a high level of dietary vitamin A interfered with performance or with blood serum or tissue alpha-tocopherol concentrations in growing-finishing swine.


Earn $25 in rewards for every $250 spent on your west elm credit card. Learn More >

Overview

Handwoven from a durable mix of natural jute and dyed wool, our Bauble Rug gives the classic jute rug a modern makeover with color and subtle play on matte and shine. Its resilient design makes it an ideal choice for high-traffic areas.

38% jute, 27% polyester, 17% wool, 11% cotton, 7% other in Platinum.

Handwoven.

Rug thickness: 0.25".

Ethically handcrafted to Nest standards to directly support the workers behind it.

Handwoven.

Shedding of loose fibers is normal with new rugs and is a natural result of being handcrafted.

Shedding will diminish with regular vacuuming, typically within three to six months.

Vacuum regularly on a low-power setting to prevent debris from settling into roots of the fibers. Use a vacuum cleaner without a beater brush as it may cause damage to the pile. For best results, vacuum from different directions, making several passes over the area.

Shedding of loose fibers will occur but will diminish over time. Expect the most shedding to occur within the first 3—6 months.

Remove spills immediately; if liquid, blot with clean, un-dyed cloth by pressing firmly around the spill to absorb as much as possible. For hard-to-remove stains, professional rug cleaning is recommended.

Avoid direct and continuous exposure to sunlight.

Use rug protectors under the legs of heavy furniture to avoid flattening piles.

Do not pull loose ends. Clip them with scissors to remove.

Store your rug by rolling it front side out and wrapping in cloth for protection. Do not fold or store rug in an airtight plastic bag. Place in dry, well-ventilated area.

To protect your investment, use a rug pad. A rug pad provides traction between the rug and floor to prevent slipping. It adds padding, keeps the rug smooth and flat, and prevents color transfer.

Rotate or reposition your rug and/or rug pad every 3 months. This will aide in a more uniform floor surface patina and decrease the likelihood of the rug pad or exposed backing adhering to the floor surface where they are placed. Rotating your rug will promote even wear on the surface and extend the life of the rug.

Front Door items ship from our Distribution Center by UPS and arrive to your home within 4-5 business days of order receipt.

With Unlimited Flat Rate Delivery, an unlimited number of eligible furniture and select oversized items can be delivered for a single flat rate. Flat Rate items include our premium White Glove Service and are delivered to your home by appointment to your room of choice—they are then unpacked and fully assembled, but not installed*.

*Flat Rate items that do not include White Glove Service are select lighting, oversized mirrors, rugs and headboards that need to be attached to a bed frame.

You can return eligible items within 30 days of receiving an order or 7 days for Quick Ship upholstery items for a refund of the merchandise value. An original receipt or gift receipt is required. Monogrammed items and Made-to-Order furniture or rugs are not eligible for returns. Review the full list of ineligible items and our refund policy below before starting the process.

How to return:

Return to Stores: You can return most non-furniture items to your local west elm store for free.

UPS: For items under 70 lbs, you can print a return label from our Returns Policy page and bring to a UPS location.

For furniture and other oversized items that are not Made-to-Order, please contact our customer service department at 1.888.922.4119.

Made of wool in varying shades of white and gray, our Heathered Basketweave Rug has a subtle tonal effect that was common in mid-century inspired textiles. As a Fair Trade Certified™ product, this piece directly supports better living and working conditions for the people who made it—artisans have chosen to ...

Without being a scene-stealer, our Mini Pebble Jute Rug slips seamlessly into almost any space, instantly making a room feel pulled together and complete. As a Fair Trade Certified™ product, this rug supports better living and working conditions for the artisans who crafted it. Meet the maker of this handcrafted ...

Find & Pick a Store

The location you specified seems to be incorrect. Please enter a valid address or ZIP code.

Available in {0} store{1} within {2} mile{3}:

This product is not available in any stores within {0} miles.

Stores Nearby

Populating store list please wait.

There are no stores within miles of you.

Please enter an address or location.

Prices and promotions may vary in stores. We make every effort to give you current product availability information, but our store inventory is always changing so an item's availability cannot be guaranteed.


context("Tuning ModelMultiplexer")

test_that("makeModelMultiplexerParamSet works", {
  bls = list(
    makeLearner("classif.ksvm"),
    makeLearner("classif.randomForest")
  )

  lrn = makeModelMultiplexer(bls)

  ps1 = makeModelMultiplexerParamSet(
    lrn,
    makeNumericParam("sigma", lower = -10, upper = 10, trafo = function(x) 2^x),
    makeIntegerParam("ntree", lower = 1L, upper = 50L)
  )

  ps2 = makeModelMultiplexerParamSet(lrn,
    classif.ksvm = makeParamSet(makeNumericParam("sigma",
      lower = -10,
      upper = 10, trafo = function(x) 2^x)),
    classif.randomForest = makeParamSet(makeIntegerParam("ntree",
      lower = 1L,
      upper = 50L))
  )

  ps3 = makeParamSet(
    makeDiscreteParam("selected.learner", values = extractSubList(bls, "id")),
    makeNumericParam("classif.ksvm.sigma",
      lower = -10, upper = 10,
      trafo = function(x) 2^x,
      requires = quote(selected.learner == "classif.ksvm")),
    makeIntegerParam("classif.randomForest.ntree",
      lower = 1L, upper = 50L,
      requires = quote(selected.learner == "classif.randomForest"))
  )

  expect_equal(ps1, ps2)
  expect_equal(ps2, ps3)
  expect_equal(ps1, ps3)
})

# this is more or less a test for BaseEnsemble, that hyperpars work and so on
test_that("ModelMultiplexer basic stuff works", {
  lrn = makeModelMultiplexer(c("classif.lda", "classif.rpart"))
  expect_equal(class(lrn), c("ModelMultiplexer", "BaseEnsemble", "Learner"))

  # check hyper par setting and so on
  lrn2 = setHyperPars(lrn,
    selected.learner = "classif.rpart",
    classif.rpart.minsplit = 10000L)
  xs = getHyperPars(lrn2)
  expect_true(setequal(names(xs), c(
    "selected.learner",
    "classif.rpart.minsplit", "classif.rpart.xval")))
  expect_equal(xs$classif.rpart.minsplit, 10000L)
  mod = train(lrn2, task = binaryclass.task)
  expect_equal(
    getLearnerModel(mod, more.unwrap = TRUE)$control$minsplit,
    10000L)

  # check removal
  lrn3 = removeHyperPars(lrn2, "classif.rpart.minsplit")
  xs = getHyperPars(lrn3)
  expect_true(setequal(names(xs), c("selected.learner", "classif.rpart.xval")))

  # check predict.type
  lrn2 = setPredictType(lrn, "prob")
  mod = train(lrn2, task = binaryclass.task)
  p = predict(mod, task = binaryclass.task)
  expect_numeric(getPredictionProbabilities(p),
    any.missing = FALSE, lower = 0,
    upper = 1)
})

test_that("FailureModel works", {
  lrn = list(
    makeLearner("classif.__mlrmocklearners__2",
      config = list(on.learner.error = "warn")),
    makeLearner("classif.rpart", config = list(on.learner.error = "warn"))
  )
  lrn = makeModelMultiplexer(lrn)

  lrn = setHyperPars(lrn, classif.__mlrmocklearners__2.alpha = 1)
  mod = train(lrn, task = iris.task)
  expect_false(isFailureModel(mod))

  lrn = setHyperPars(lrn, classif.__mlrmocklearners__2.alpha = 0)
  expect_warning({
    mod = train(lrn, task = iris.task)
  }, "foo")
  expect_true(isFailureModel(mod))

  tmp = getMlrOptions()$on.learner.error
  configureMlr(on.learner.error = "warn")
  lrn = setHyperPars(lrn, classif.__mlrmocklearners__2.alpha = 1)
  lrn = removeHyperPars(lrn, "selected.learner")
  expect_warning({
    mod = train(lrn, task = iris.task)
  })
  expect_true(isFailureModel(mod))
  configureMlr(on.learner.error = tmp)
})

test_that("ModelMultiplexer tuning", {
  lrn = makeModelMultiplexer(c("classif.knn", "classif.rpart"))
  rdesc = makeResampleDesc("CV", iters = 2L)

  tune.ps = makeModelMultiplexerParamSet(
    lrn,
    makeIntegerParam("minsplit", lower = 1, upper = 50))
  # tune with random
  ctrl = makeTuneControlRandom(maxit = 4L)
  res = tuneParams(lrn, binaryclass.task, rdesc,
    par.set = tune.ps,
    control = ctrl)
  expect_true(setequal(class(res), c("TuneResult", "OptResult")))
  y = getOptPathY(res$opt.path)
  expect_true(all(!is.na(y)))
  expect_true(all(is.finite(y)))
  # tune with irace
  task = subsetTask(binaryclass.task, subset = c(1:20, 150:170))
  ctrl = makeTuneControlIrace(
    maxExperiments = 40L, nbIterations = 2L,
    minNbSurvival = 1L)
  res = tuneParams(lrn, task, rdesc, par.set = tune.ps, control = ctrl)
  expect_true(setequal(class(res), c("TuneResult", "OptResult")))
  y = getOptPathY(res$opt.path)
  expect_true(all(!is.na(y)))
  expect_true(all(is.finite(y)))
})

# we had bug here, see issue #609
test_that("ModelMultiplexer inherits predict.type from base learners", {
  base.learners = list(
    makeLearner("classif.ksvm", predict.type = "prob"),
    makeLearner("classif.randomForest", predict.type = "prob")
  )
  learner = makeModelMultiplexer(base.learners)
  expect_equal(learner$predict.type, "prob")
  # now lets see that the next code runs and does not complain about matrix
  # output for base learner predict output
  r = holdout(learner, binaryclass.task)

  # now check that we can tune the threshold
  ps = makeModelMultiplexerParamSet(
    learner,
    makeDiscreteParam("C", 1),
    makeDiscreteParam("mtry", c(2, 3))
  )
  rdesc = makeResampleDesc("Holdout")
  ctrl = makeTuneControlGrid(tune.threshold = TRUE)
  res = tuneParams(learner, binaryclass.task,
    resampling = rdesc, par.set = ps,
    control = ctrl)
})

# we had bug here, see issue #647
test_that("ModelMultiplexer passes on hyper pars in predict", {
  requirePackagesOrSkip("glmnet")
  base.learners = list(
    makeLearner("regr.glmnet"),
    makeLearner("regr.rpart")
  )
  learner = makeModelMultiplexer(base.learners)
  expect_equal(learner$predict.type, "response")
  r = holdout(learner, regr.task)
})

# issue #707
test_that("ModelMultiplexer handles tasks with no features", {
  requirePackagesOrSkip("glmnet")
  base.learners = list(
    makeLearner("regr.glmnet"),
    makeLearner("regr.rpart")
  )
  learner = makeModelMultiplexer(base.learners)
  task = subsetTask(bh.task, features = character(0))
  m = train(learner, task)
  expect_is(m$learner.model, "NoFeaturesModel")
  p = predict(m, task)
  expect_is(p$data, "data.frame")
  expect_true(all(p$data$response == mean(p$data$response)))
})

# issue #760
test_that("ModelMultiplexer passes on hyper pars in predict with both", {
  test.ps = makeRLearnerClassif("test.ps", character(0),
    makeParamSet(
      makeIntegerLearnerParam("tpTRAIN", when = "train"),
      makeIntegerLearnerParam("tpPREDICT", when = "predict"),
      makeIntegerLearnerParam("tpBOTH", when = "both")),
    properties = c("numerics", "twoclass"))
  test.ps$fix.factors.prediction = TRUE

  opts = NULL
  trainLearner.test.ps = function(.learner, .task, .subset, .weights = NULL,
    ...) {
    opts <<- list(...) # nolint
    # the following to make the type checking happy
    list(dummy = getTaskData(.task, .subset)[[getTaskTargetNames(.task)[1]]][1])
  }
  registerS3method("trainLearner", "test.ps", trainLearner.test.ps)

  predictLearner.test.ps = function(.learner, .model, .newdata, ...) {
    opts <<- list(...) # nolint
    rep(.model$learner.model$dummy, nrow(.newdata)) # just do something
  }
  registerS3method("predictLearner", "test.ps", predictLearner.test.ps)

  test.ps.mm = makeModelMultiplexer(list(test.ps))
  test.ps.mm.args = setHyperPars(test.ps.mm,
    test.ps.tpTRAIN = 1,
    test.ps.tpPREDICT = 2, test.ps.tpBOTH = 3)
  trained = train(test.ps.mm.args, pid.task)
  expect_false(is.null(opts$tpBOTH))
  expect_false(is.null(opts$tpTRAIN))
  expect_true(is.null(opts$tpPREDICT))

  predicted = predict(trained, pid.task)
  expect_false(is.null(opts$tpBOTH))
  expect_true(is.null(opts$tpTRAIN))
  expect_false(is.null(opts$tpPREDICT))
})


By Jessica Easthope

Many are familiar with the song “On Eagle’s Wings,” but not the man behind it. That man is Father Michael Joncas – and he’s written a lot of songs many Catholics are familiar with.

“Lots of psalms and other pieces for particular times of the year, all together probably about 300 pieces of music,” said Fr. Mike. “The one that everyone knows is On Eagles Wings.'”

In his 40 years as a priest and world-renowned composer, he has never had to look too far for inspiration.

“I know the liturgical texts through and through and I also, as a priest, am trained in scripture so the psalms are the background to nearly everything I do,” he said.

The same goes for his latest piece of music, “Shelter Me.”

“It was just about a month ago. I was awakened by my subconscious at about three in the morning, and there was this little germ of an idea for a song to respond to the coronavirus pandemic that we’re in,” said Fr. Mike.

The lyrics take the listener through the same stages the world has gone through over the last several months.

With lines like “the way ahead is dark and difficult to see,” it’s mirrored in a psalm that’s close to Fr. Mike’s heart.

“The idea was simple, it was basically to take Psalm 23 which I have been praying forever, and adapt and paraphrase it to talk about our present-day experience,” he explained.

The song talks about wanting intimacy with God during this hard time. Fr. Mike says he hopes the song is used as a way of bringing the world together.

“If it’s anything like ‘On Eagle’s Wings,’ it will go beyond the Catholic world and beyond the Christian world, and it will be something that many people of different faith traditions will use during prayer,” he said.

Fr. Mike decided using his gift of music wasn’t enough. He’ll also be waiving a copyright and license fee for the song. It will be free to download and use in church for the next year.


# _version=1
# HAProxy Technologies
# https://www.haproxy.com/
#
# this file is not meant to be changed directly
# it is under haproxy ingress controller management
#

global
  daemon
  master-worker
  pidfile /var/run/haproxy.pid
  server-state-file global
  server-state-base /var/state/haproxy/
  stats socket /var/run/haproxy-runtime-api.sock level admin expose-fd listeners
  stats timeout 1m
  tune.ssl.default-dh-param 2048
  log 127.0.0.1:514 local0 notice
  ssl-default-bind-ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
  ssl-default-bind-options no-sslv3 no-tls-tickets no-tlsv10

defaults
  log global
  log-format '%ci:%cp [%tr] %ft %b/%s %TR/%Tw/%Tc/%Tr/%Ta %ST %B %CC %CS %tsc %ac/%fc/%bc/%sc/%rc %sq/%bq %hr %hs "%HM %[var(txn.base)] %HV"'
  option redispatch
  option dontlognull
  option http-keep-alive
  timeout http-request    5s
  timeout connect         5s
  timeout client          50s
  timeout queue           5s
  timeout server          50s
  timeout tunnel          1h
  timeout http-keep-alive 1m
  load-server-state-from-file global

frontend https
  mode http
  bind 0.0.0.0:443 name bind_1
  bind :::443 v4v6 name bind_2
  http-request set-var(txn.base) base
  http-request set-var(txn.host) req.hdr(Host)
  http-request set-header X-Forwarded-Proto https if { ssl_fc }
  default_backend default_backend

frontend http
  bind 0.0.0.0:80 name bind_1
  bind :::80 v4v6 name bind_2
  http-request set-var(txn.base) base
  http-request set-var(txn.host) req.hdr(Host)
  mode http
  default_backend default_backend

backend default_backend
  mode http

frontend healthz
  bind 0.0.0.0:1042 name healtz_1
  mode http
  monitor-uri /healthz
  option dontlog-normal

frontend stats
   mode http
   bind *:1024
   http-request use-service prometheus-exporter if { path /metrics }
   stats enable
   stats uri /
   stats refresh 10s


Q:

how to display names in alphabetical groups in Handlebarsjs underscorejs

Hi am New to Handlebarsjs.
I have a collection of contacts with name, email, phone, etc. as below
[
  {
    "name": "Bob Wolmer",
    "email": "bob@wolmer.com",
    "phone": "(535) 235-1234",
    "address": "301 Cobblestone Wy., Berdrock 00000",
    "contactId": "1121",
    "labels": {}
  },
  {
    "name": "Wilma Erra",
    "email": "wilma@erra.com",
    "phone": "(535) 235-3659",
    "address": "301 Cobblestone Wy., Berdrock 70777",
    "contactId": "1122",
    "labels": {}
  },
  {
    "name": "Brad",
    "email": "brad@brad.com",
    "phone": "(535) 235-3546",
    "address": "301 Cobblestone Wy., Redrock 70777",
    "contactId": "1123",
    "labels": [{"name": "Friends"},{"name": "Family"}]
  },
  {
    "name": "",
    "email": "wilson@gmail.com",
    "phone": "(535) 235-3657",
    "address": "301 Cobblestone Wy., Dedrock 70777",
    "contactId": "1124",
    "labels": [{"name": "Friends"}]
  }
]

I want to display the names as below
B
Bob
Brad

W
Wilma Erra

Can any one suggest me how to achieve this.
Thanks in Advance

A:

Lets just say that you have assigned that JSON to a variable named contacts You can use underscore to group by the first letter of the name property like so:
var groupedContacts = _.groupBy(contacts, function(contact){
    return contact.name.substr(0,1);
});

You could then iterate through your groups, maybe sort them and write the content as per your example like this:
_.each(groupedContacts, function (contacts, key) {

    console.log(key); // writes the Index letter

    // optional sort
    var sortedContacts = _.sortBy(contacts, function (contact) {
         return contact.name;
     });

     _.each(sortedContacts, function(contact) {
         // Writes the contact name
         console.log(contact.name);
     });
});

So in a real world application, you would want to replace the console.log lines with Handlebars templates and/or put it in a helper (however be wary of embedding HTML string in JavaScript as a rule), but thats the easy bit. Also, you may wish sort your groupedContacts to get the index in order too. You can do this using the same sortBy method shown in my example above.


breaking news:

Rohingyas describe army atrocities to Myanmar team

21 March, 2017 12:00 AM

Cox’s Bazar: The 10-member delegation of the Myanmar government, which arrived here on Sunday to see for themselves the conditions of Rohingyas, visited two more Rohingay camps on Monday, reports UNB.

The team, led by Myanmar Investigation Commission Secretary U Zaw Myint Pe, went to Balukhali Rohingya camp in Ukhiya and Leda camp in Teknaf, and listened to the Myanmar nationals who intruded into Bangladesh being tortured by its military.

Some 35 male and female Rohingyas narrated the brutalities which they underwent in Rakhine state to the delegation from behind a curtain.

Representatives of the International Organization for Migration (IOM) and Office of theUnited Nations High Commissioner for Refugees(UNHCR) acted as coordinators of the meetings.

Abul Fayez, chairman of Poyengshu area of Myanmar who took shelter in the unregistered Balukhali camp, said, “What happened in the Rakhine state before our eyes is heinous. The brutalities of the Myanmar army can in no way be accepted.

I’ve narrated the brutalities to the delegation.”

Describing the army atrocities, he said a team of over 300 army men surrounded their locality and raided every house and their divided their male and female inmates.

Later, they took the comparatively beautiful women to empty houses and violated them in turns, he said. “Three of the rape victims died on the spot,” he said, adding that a rape victim also described the brutality to the visiting delegation.

Several female Rohingyas who were tortured by the Myanmar army said they want to return to their country if they get assurance of security.


Follow by Email

Friday, August 20, 2010

A quick Google image search ofBento Box style quilts revealed much inspiration, in particular this Flickr Imageof a Bento Box quilt pieced entirely from Katie Jump Rope fabrics. Although I don't have a pattern for this quilt design, it didn't take long to work out my own dimensions and technique.

The overall concept is really quite simple. Piece two the same size blocks in the manner of a square in a square block layout. Reverse the fabric/color combination in the second block.

Carefully cut blocks into quarters and re-arrange. Sew blocks back together again.

My center squares were cut as a 5 inch square, and all the border strips were cut 2.5 inches wide. All seams were pressed away from the solid white fabric which makes piecing the blocks back together again a whole lot easier. The finished block size is 12 inch square.

The quilt top measures 60 inches x 72 inches

For this quilt top I have made 15 sets of blocks - a total of 30 blocks - a lot of piecing, although all very straight forward. My choice of fabrics for this quilt are a selection of Katie Jump Rope, Flea Market Fancy and some Kei Honeycomb Dots in brown, orange/red and yellow; a combination a little outside of my comfort zone.

You can also piece it as a 1/4 (or is it 1/2) of a log cabin. Start with 1 square, add the first 2 logs & then instead of adding two more logs arounf the initial square add the last two logs to the sides as the first 2 logs... That is my plan anyway...

You did it again. A great choice of a quilt pattern for the fabric. Katie Jump Rope is my favorite pattern and I've been scouring the stores looking for it. I think I'll try to do a swap from my large stash. You're quilt looks so clean and crisp and I like you always feel that the white just brightens everything up.

Super cute quilt!!! I recently made a Bento Box out of some Pat Sloan fabrics. I recently found some Katies Jump Rope fabrics in my cabinet. I think it's a fq packet so if you ever find that you need a piece or two, let me know, I'd be happy to share with you :)Peggy in NJ

I saw a quilt at a show here last year that used just those colours in KJR, in a bento box pattern too. But they didn't use the white. This is a totally different look.(It's the last photo in this post.)http://naptimequilter.blogspot.com/2009/06/heritage-park-quilt-show.html


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="10117" systemVersion="15G31" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
    <dependencies>
        <deployment identifier="macosx"/>
        <development version="5000" identifier="xcode"/>
        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="10117"/>
    </dependencies>
    <objects>
        <customObject id="-2" userLabel="File's Owner" customClass="SelectObjectClassWindowController">
            <connections>
                <outlet property="AddObjectTableView" destination="8" id="29"/>
                <outlet property="CancelButton" destination="26" id="31"/>
                <outlet property="SelectButton" destination="24" id="30"/>
                <outlet property="window" destination="2" id="6"/>
            </connections>
        </customObject>
        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
        <window title="Select Objectclass to add" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" animationBehavior="default" id="2" customClass="SelectObjectClassWindow">
            <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
            <rect key="contentRect" x="423" y="305" width="546" height="376"/>
            <rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
            <value key="minSize" type="size" width="546" height="376"/>
            <value key="maxSize" type="size" width="546" height="376"/>
            <view key="contentView" id="3">
                <rect key="frame" x="0.0" y="0.0" width="546" height="376"/>
                <autoresizingMask key="autoresizingMask"/>
                <subviews>
                    <scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" id="7">
                        <rect key="frame" x="32" y="72" width="494" height="284"/>
                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
                        <clipView key="contentView" id="30G-3W-f4T">
                            <rect key="frame" x="1" y="17" width="492" height="266"/>
                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                            <subviews>
                                <tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" headerView="10" id="8">
                                    <rect key="frame" x="0.0" y="0.0" width="526" height="19"/>
                                    <autoresizingMask key="autoresizingMask"/>
                                    <size key="intercellSpacing" width="3" height="2"/>
                                    <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
                                    <tableViewGridLines key="gridStyleMask" vertical="YES"/>
                                    <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
                                    <tableColumns>
                                        <tableColumn identifier="Key" editable="NO" width="150" minWidth="40" maxWidth="1000" id="12">
                                            <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Key">

                                                <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
                                                <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
                                            </tableHeaderCell>
                                            <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" alignment="left" title="Text Cell" id="15">

                                                <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
                                                <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
                                            </textFieldCell>
                                            <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
                                        </tableColumn>
                                        <tableColumn identifier="Value" editable="NO" width="370" minWidth="40" maxWidth="1000" id="13">
                                            <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Value">

                                                <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
                                                <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
                                            </tableHeaderCell>
                                            <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" alignment="left" title="Text Cell" id="14">

                                                <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
                                                <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
                                            </textFieldCell>
                                            <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
                                        </tableColumn>
                                    </tableColumns>
                                </tableView>
                            </subviews>
                            <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
                        </clipView>
                        <scroller key="horizontalScroller" verticalHuggingPriority="750" horizontal="YES" id="9">
                            <rect key="frame" x="1" y="119" width="223" height="15"/>
                            <autoresizingMask key="autoresizingMask"/>
                        </scroller>
                        <scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="11">
                            <rect key="frame" x="224" y="17" width="15" height="102"/>
                            <autoresizingMask key="autoresizingMask"/>
                        </scroller>
                        <tableHeaderView key="headerView" id="10">
                            <rect key="frame" x="0.0" y="0.0" width="401" height="17"/>
                            <autoresizingMask key="autoresizingMask"/>
                        </tableHeaderView>
                    </scrollView>
                    <button verticalHuggingPriority="750" id="26">
                        <rect key="frame" x="365" y="29" width="83" height="32"/>
                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
                        <buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="27">
                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>

                            <string key="keyEquivalent" base64-UTF8="YES">
Gw
</string>
                        </buttonCell>
                    </button>
                    <button verticalHuggingPriority="750" id="24">
                        <rect key="frame" x="453" y="29" width="79" height="32"/>
                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
                        <buttonCell key="cell" type="push" title="Select" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="25">
                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>

                            <string key="keyEquivalent" base64-UTF8="YES">
DQ
</string>
                        </buttonCell>
                    </button>
                </subviews>
            </view>
            <contentBorderThickness minY="22"/>
            <connections>
                <outlet property="delegate" destination="-2" id="28"/>
            </connections>
            <point key="canvasLocation" x="365" y="315"/>
        </window>
    </objects>
</document>


By Tom Curry, National Affairs Writer, NBC News

House Minority Leader Nancy Pelosi said Democrats are not losing confidence in President Barack Obama’s ability to make the Affordable Care Act work and don’t fear Obamacare’s effect on their chances in next year’s elections.

Appearing Sunday on NBC’s Meet the Press, Pelosi said, “I don’t think you can tell what will happen next year” when voters cast ballots in the mid-term elections, but “I will tell you this: Democrats stand tall in support of the Affordable Care Act.”

She said implementation of the health care overhaul “is an issue that has to be dealt with, but it doesn’t mean, ‘oh, this is a political issue so we’re going to run away from it.’”

House Minority Leader Nancy Pelosi of California talks about the problem of insurers dropping coverage for tens of thousands of Americans.

She said jobs will be the major issue in the 2014 campaign, not Obamacare.

Alluding to the nervousness some congressional Democrats are expressing about the debut of Obamacare, Pelosi said “What I love about health care professionals is that they’re calm. And we must remain calm when we talk about the health of our country.”

She added, “You can’t be knocked for a loop just because somebody is playing politics.”

In an indication of Democratic jitters’ over Obamacare, on Friday 39 of Pelosi’s House Democrats joined with 222 Republicans to vote for a bill sponsored by Rep. Fred Upton, R-Mich., that would allow health insurance firms to continue to sell insurance plans next year that don’t comply with Affordable Care Act (ACA) requirements.

The 39 Democrats included several who are in toss-up races such as Rep. Ron Barber of Arizona and Rep. Carol Shea-Porter of New Hampshire. Explaining why those Democrats voted for the Upton bill, Pelosi said, “When the Republicans put forth a political initiative, people respond to it politically.”

Appearing on CNN's State of the Union, Assistant Democratic Leader Rep. James Clyburn of South Carolina said that “what you saw in those 39 people -- and maybe nine people had real serious concerns -- the fact of the matter is about 30 of them, and I've talked to them, were insulating themselves against sound bites” in next year’s election campaign “and that's part of the problem.”

He said, “One of our big problems in Washington is that we tend to react to sound bites a little bit too often and, therefore, we tend to speak in sound bites.”

The Democrats need a net gain of 17 seats to recapture the majority in the House which they lost in the landslide election of 2010.

The Affordable Care Act (ACA) “is a very important pillar of economic and health security for the American people” and “is right up there with Social Security (and) Medicare, affordable care for all Americans as a right, not a privilege,” Pelosi said.

In states such as Kentucky and her own state of California, she said, “It’s working very well.”

Pelosi said she stands by what she said before the bill passed, “I stand by what I said there: when people see what is in the bill they will like -- and they will.”

The California Democrat said the software problems that plague the enrollment website Healthcare.gov are “terrible,” but “will be fixed.”

“We fumbled the rollout on this health care law,” Obama said at a press conference Thursday. The troubled debut of the enrollment process has not only created problems for tens of thousands of Americans seeking insurance coverage, but has fed a growing sense of unease among congressional Democrats as they look to the 2014 elections and at Obama’s waning popularity.

Obama repeatedly pledged “if you like your health care plan, you can keep your health care plan,” but that pledge turned out to be false for many Americans who bought coverage in the individual market. Their plans don’t comply with the minimum benefit requirements of the ACA and they got cancellation notices.

Obama said Thursday that he knew “how upsetting this can be for a lot of Americans, particularly after assurances they heard from me that if they had a plan that they liked, they could keep it. “

To ease the transition, Obama said he has decided to allow insurers to extend into next year current insurance plans that would otherwise be canceled. “Americans whose plans have been canceled can choose to re-enroll in the same kind of plan,” he said.

But some state insurance commissioners quickly rejected his idea. The National Association of Insurance Commissioners said allowing individual insurance plans that don’t comply with ACA requirements to continue into 2014 “threatens to undermine the new market, and may lead to higher premiums and market disruptions in 2014 and beyond.”

And it’s unclear if insurance companies can un-cancel thousands of policies that they are cancelling due to the ACA requirements.


Govt decides to hike petrol, diesel prices

NEW DELHI: Government has decided to raise petrol and diesel prices, oil minister Murli Deora said on Friday, as part of a plan to move towards a market-determined fuel price regime.

While petrol prices go up by Rs 3.73 per litre, diesel has been hiked by Rs 2 per litre. LPG also goes up by Rs 35 per cylinder. Kerosene prices, however, will not be market-driven, say sources.

The decision follows a ministerial panel meeting on freeing up petrol prices and cutting subsidies on diesel, kerosene and cooking gas, to help rein in the fiscal deficit, which is projected at 5.5 percent of the gross domestic product in 2010/11 and free up revenues for other programmes.

The move will help boost profits of state-run oil firms that have been losing revenue from government-set lower prices.


Tumorigenic Xenopus cells express several maternal and early embryonic mRNAs.
Recombinant cDNA libraries were constructed from poly(A)+ RNA isolated from different stages of oogenesis and embryogenesis from the clawed toad Xenopus laevis. Hybridization analyses were used to describe the accumulation of specific RNAs represented by these cDNA clones in oocytes, embryos, adult liver, a cell line derived from Xenopus borealis embryos (Xb693), and a tumorigenic substrain of that cell line (Xb693T). It was found that from 550 cDNA clones analysed, six sequences accumulate to higher titers in poly(A)+ RNA isolated from the tumorigenic cell line compared with the non-tumorigenic cell line. All six sequences were expressed at high levels during oogenesis, and the titers of three of these sequences decreased considerably during oogenesis. DNA sequencing of these three sequences followed by a computer search of protein data banks has identified them as coding for the glycolytic enzyme enolase, the ATP-ADP carrier protein, and a-tubulin.


Q:

JMeter can JSON path assertion plugin match to an array?

In one of my tests I need to check that the data in an array matches to an expected result.
I send an API call and receive the following JSON response:
{
"sting": "value",
"another string": "value",
"array": ["value1","value2","value3"]
}

Using the JSON Path Assertion plugin I'm able to check each value individually.
$.array[0]

Is there a way to evaluate all the array's values in one assertion?

A:

Looking into Can't check an array with JSONPath Assertion. Update JSONPath to 2.1? currently it is not possible.
You can work it around using Response Assertion instead as follows:

Add JSON Path Extractor as a child of the request which returns above JSON and configure it as follows:

Destination Variable Name: anything meaningful, i.e. array
JSON Path Expression: $.array

Add Response Assertion after the JSON Path Extractor and configure it as follows:

Apply to -> JMeter Variable -> array
Pattern Matching Rules: Equals
Patterns to Test: ["value1","value2","value3"] - make sure there are no trailing spaces, new lines, etc.

Example Test Plan:
<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="2.8" jmeter="2.13 r1665067">
  <hashTree>
    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
      <stringProp name="TestPlan.comments"></stringProp>
      <boolProp name="TestPlan.functional_mode">false</boolProp>
      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
        <collectionProp name="Arguments.arguments"/>
      </elementProp>
      <stringProp name="TestPlan.user_define_classpath"></stringProp>
    </TestPlan>
    <hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">1</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">1</stringProp>
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
        <longProp name="ThreadGroup.start_time">1456157004000</longProp>
        <longProp name="ThreadGroup.end_time">1456157004000</longProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration"></stringProp>
        <stringProp name="ThreadGroup.delay"></stringProp>
      </ThreadGroup>
      <hashTree>
        <kg.apc.jmeter.samplers.DummySampler guiclass="kg.apc.jmeter.samplers.DummySamplerGui" testclass="kg.apc.jmeter.samplers.DummySampler" testname="jp@gc - Dummy Sampler" enabled="true">
          <boolProp name="WAITING">true</boolProp>
          <boolProp name="SUCCESFULL">true</boolProp>
          <stringProp name="RESPONSE_CODE">200</stringProp>
          <stringProp name="RESPONSE_MESSAGE">OK</stringProp>
          <stringProp name="REQUEST_DATA">Dummy Sampler used to simulate requests and responses
without actual network activity. This helps debugging tests.</stringProp>
          <stringProp name="RESPONSE_DATA">{
"sting": "value",
"another string": "value",
"array": ["value1","value2","value3"]
}</stringProp>
          <stringProp name="RESPONSE_TIME">${__Random(50,500)}</stringProp>
          <stringProp name="LATENCY">${__Random(1,50)}</stringProp>
          <stringProp name="CONNECT">${__Random(1,5)}</stringProp>
        </kg.apc.jmeter.samplers.DummySampler>
        <hashTree>
          <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
            <stringProp name="VAR">array</stringProp>
            <stringProp name="JSONPATH">$.array</stringProp>
            <stringProp name="DEFAULT"></stringProp>
            <stringProp name="VARIABLE"></stringProp>
            <stringProp name="SUBJECT">BODY</stringProp>
          </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="-1728402013">["value1","value2","value3"]</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">array</stringProp>
          </ResponseAssertion>
          <hashTree/>
        </hashTree>
      </hashTree>
    </hashTree>
  </hashTree>
</jmeterTestPlan>

If your response may vary, i.e. array members order changes, you might need to consider scripting-based assertion, i.e. JSR223 Assertion instead
See How to Use JMeter Assertions in Three Easy Steps guide for comprehensive information on using JMeter Assertions in your tests.


Best Sellers

Tibetan / Vajrayana

Vajrayana Buddhism is most closely associated with Tibet and can be characterized by the figure of the siddha, the master whose spiritual realization is so profound that he or she has power over the phenomenal world, and in whom the profundity and vastness of absolute truth is fully and completely manifested. Many of our most well-known authors come from this tradition of Tibetan Buddhism .

[Note: The tags for the various schools are not definitive as many books span multiple traditions, etc. They are meant to use as a starting point for exploring this collection.]

Jamgön Kongtrul’s encyclopedic Treasury of Knowledge presents a complete account of the major lines of thought and practice that comprise Tibetan Buddhism. Among the ten books that make up this tour de force, Book Six is by far the longest—concisely summarizing the theoretical fields of knowledge to be studied prior to the cultivation of reflection and discriminative awareness. The first two parts of Book Six, contained in this… Read More

In this remarkable contemporary presentation of the theory and practice of Tibetan medicine, Dr. Yeshi Dhonden, twenty years the personal physician of H. H. the Dalai Lama, draws from over fifty years of practicing and teaching this ancient tradition of healing. This volume vividly presents a series of lectures Dr. Dhonden gave before a group of health care professionals at California Pacific Medical Center in San Francisco. This lecture… Read More

The Quintessence Tantras of Tibetan Medicine is a thorough, detailed, and systematic analysis of the characteristics of healthy and diseased bodies. Discussed are the diagnostic techniques of pulse and urine analysis, principles of right diet, right lifestyle, and behavioral factors—and a treasury of knowledge about the beneficial applications of herbs, plants, spices, minerals, gems, etc. Also included are the subtle and psychological techniques of therapeutics, and the ethics and conduct… Read More

Tibetan medicine holistically restores and maintains balance of the body's various systems through a variety of treatments, including diet, behavior modification, and the use of medicine and accessory therapy. Tibetan medicine is delicately responsive to patients' complete symptom patterns—no complaint being disregarded. Its wide variety of curative techniques are clearly explained. Dr. Donden's book was seen on NBC's Dateline during a feature on Tibetan medicine and breast cancer. … Read More

This monumental translation—more than twenty-five years in the making—is at last complete. We are delighted to make available this comprehensive collection of the entire range of Buddhist teachings as they have been preserved in Tibet.
In Tibetan religious literature, Jamgön Kongtrül's Treasury of Knowledge in ten books stands out as a unique, encyclopedic masterpiece embodying the entire range of Buddhist teachings as they were preserved in Tibet. In his monumental Treasury… Read More


Treatment implications of past trauma in borderline personality disorder.
Recent research and clinical experience have shown childhood trauma to be common in the histories of patients with borderline personality disorder. This article reviews the association between borderline personality disorder and early trauma, and how an awareness of the role of trauma may improve the treatment of patients with this disorder. Particularly when early trauma is in the form of childhood abuse, clinicians may be better able to understand the difficulties these patients experience in relational skills, affect tolerance, behavioral control, self-identity, and self-worth. Clinicians may be able to facilitate a stronger therapeutic alliance through acknowledgement of the patient's victimization and empathy with the effects of early trauma on the patient's life. Reframing the patient's experience as a consequence of childhood trauma is essential, especially when making traditional interventions such as interpretation and confrontation. The role of trauma in the development of borderline personality disorder suggests the need for modification of models of individual, family, and group psychotherapies that may allow more productive and successful treatment.


--TEST--
Bug #71604: Aborted Generators continue after nested finally (3)
--FILE--
<?php

function gen() {
    try {
        throw new Exception(1);
    } finally {
        try {
            yield;
        } finally {
            try {
                throw new Exception(2);
            } finally {
            }
        }
    }
}

try {
    gen()->rewind();
} catch (Exception $e) {
    echo $e, "\n";
}

?>
--EXPECTF--
Exception: 1 in %s:%d
Stack trace:
#0 [internal function]: gen()
#1 %s(%d): Generator->rewind()
#2 {main}

Next Exception: 2 in %s:%d
Stack trace:
#0 %s(%d): gen()
#1 {main}


Q:

Hooking ReadFile WinAPI

Im using mhook C++ lib to hook WinAPI. I have a problem..
This is a hooked func:
BOOL WINAPI HookedReadFile(
    _In_         HANDLE hFile,
    _Out_        LPVOID lpBuffer,
    _In_         DWORD nNumberOfBytesToRead,
    _Out_opt_    LPDWORD lpNumberOfBytesRead,
    _Inout_opt_  LPOVERLAPPED lpOverlapped)
{

    if (inWork && hFile == CryptedFileHandle)
    {
        DWORD readedCount = 0;
        DWORD toReadCount = nNumberOfBytesToRead;
        LPBYTE Buf = new BYTE[toReadCount];
        BOOL result = OriginalReadFile(hFile, Buf, toReadCount, &readedCount, NULL);
        if (result && readedCount > 0)
        {
                    // decryption routine will be here
            std::copy(Buf, Buf + readedCount, (LPBYTE)lpBuffer);

    }
    lpNumberOfBytesRead = &readedCount;
    delete[] Buf;
    return result;
} else
    return OriginalReadFile(hFile, lpBuffer, nNumberOfBytesToRead,      lpNumberOfBytesRead, lpOverlapped);
}

This must works simple. If its crypted file app will decrypt bytes on the fly (simple xors).
But it does not works. I think the problem is in std::copy(Buf, Buf + readedCount, (LPBYTE)lpBuffer); becouse program cant read this file normaly.

A:

Here a major problem:
pNumberOfBytesRead = &readedCount;

Here you make pNumberOfBytesRead point to the local variable readedCount. Besides the problem of trying to "return" a pointer to a local variable (which goes out of scope at the next closing brace), you also have forgotten that arguments, even pointers, are passed by value so you only change your local copy of pNumberOfBytesRead.
What you should do instead is to use the dereference operator * and assign to it as a value
*pNumberOfBytesRead = readedCount;

As for the std::copy call, it looks legit. Maybe whatever problem you have is in some code you don't show us? Have you tried stepping through the code in a debugger?