MLlib - Optimization
\[
\newcommand{\R}{\mathbb{R}}
\newcommand{\E}{\mathbb{E}}
\newcommand{\x}{\mathbf{x}}
\newcommand{\y}{\mathbf{y}}
\newcommand{\wv}{\mathbf{w}}
\newcommand{\av}{\mathbf{\alpha}}
\newcommand{\bv}{\mathbf{b}}
\newcommand{\N}{\mathbb{N}}
\newcommand{\id}{\mathbf{I}}
\newcommand{\ind}{\mathbf{1}}
\newcommand{\0}{\mathbf{0}}
\newcommand{\unit}{\mathbf{e}}
\newcommand{\one}{\mathbf{1}}
\newcommand{\zero}{\mathbf{0}}
\]
Mathematical description
Gradient descent
The simplest method to solve optimization problems of the form $\min_{\wv \in\R^d} \; f(\wv)$
is gradient descent.
Such first-order optimization methods (including gradient descent and stochastic variants
thereof) are well-suited for large-scale and distributed computation.
Gradient descent methods aim to find a local minimum of a function by iteratively taking steps in
the direction of steepest descent, which is the negative of the derivative (called the
gradient) of the function at the current point, i.e., at
the current parameter value.
If the objective function $f$
is not differentiable at all arguments, but still convex, then a
sub-gradient
is the natural generalization of the gradient, and assumes the role of the step direction.
In any case, computing a gradient or sub-gradient of $f$
is expensive — it requires a full
pass through the complete dataset, in order to compute the contributions from all loss terms.
Stochastic gradient descent (SGD)
Optimization problems whose objective function $f$
is written as a sum are particularly
suitable to be solved using stochastic gradient descent (SGD).
In our case, for the optimization formulations commonly used in supervised machine learning,
\begin{equation}
f(\wv) :=
\lambda\, R(\wv) +
\frac1n \sum_{i=1}^n L(\wv;\x_i,y_i)
\label{eq:regPrimal}
\ .
\end{equation}
this is especially natural, because the loss is written as an average of the individual losses
coming from each datapoint.
A stochastic subgradient is a randomized choice of a vector, such that in expectation, we obtain
a true subgradient of the original objective function.
Picking one datapoint $i\in[1..n]$
uniformly at random, we obtain a stochastic subgradient of
$\eqref{eq:regPrimal}$
, with respect to $\wv$
as follows:
\[
f'_{\wv,i} := L'_{\wv,i} + \lambda\, R'_\wv \ ,
\]
where $L'_{\wv,i} \in \R^d$
is a subgradient of the part of the loss function determined by the
$i$
-th datapoint, that is $L'_{\wv,i} \in \frac{\partial}{\partial \wv} L(\wv;\x_i,y_i)$
.
Furthermore, $R'_\wv$
is a subgradient of the regularizer $R(\wv)$
, i.e. $R'_\wv \in
\frac{\partial}{\partial \wv} R(\wv)$
. The term $R'_\wv$
does not depend on which random
datapoint is picked.
Clearly, in expectation over the random choice of $i\in[1..n]$
, we have that $f'_{\wv,i}$
is
a subgradient of the original objective $f$
, meaning that $\E\left[f'_{\wv,i}\right] \in
\frac{\partial}{\partial \wv} f(\wv)$
.
Running SGD now simply becomes walking in the direction of the negative stochastic subgradient
$f'_{\wv,i}$
, that is
\begin{equation}\label{eq:SGDupdate}
\wv^{(t+1)} := \wv^{(t)} - \gamma \; f'_{\wv,i} \ .
\end{equation}
Step-size.
The parameter $\gamma$
is the step-size, which in the default implementation is chosen
decreasing with the square root of the iteration counter, i.e. $\gamma := \frac{s}{\sqrt{t}}$
in the $t$
-th iteration, with the input parameter $s=$ stepSize
. Note that selecting the best
step-size for SGD methods can often be delicate in practice and is a topic of active research.
Gradients. A table of (sub)gradients of the machine learning methods implemented in MLlib, is available in the classification and regression section.
Proximal Updates.
As an alternative to just use the subgradient $R'(\wv)$
of the regularizer in the step
direction, an improved update for some cases can be obtained by using the proximal operator
instead.
For the L1-regularizer, the proximal operator is given by soft thresholding, as implemented in
L1Updater.
Update schemes for distributed SGD
The SGD implementation in
GradientDescent uses
a simple (distributed) sampling of the data examples.
We recall that the loss part of the optimization problem $\eqref{eq:regPrimal}$
is
$\frac1n \sum_{i=1}^n L(\wv;\x_i,y_i)$
, and therefore $\frac1n \sum_{i=1}^n L'_{\wv,i}$
would
be the true (sub)gradient.
Since this would require access to the full data set, the parameter miniBatchFraction
specifies
which fraction of the full data to use instead.
The average of the gradients over this subset, i.e.
\[
\frac1{|S|} \sum_{i\in S} L'_{\wv,i} \ ,
\]
is a stochastic gradient. Here $S$
is the sampled subset of size $|S|=$ miniBatchFraction
$\cdot n$
.
In each iteration, the sampling over the distributed dataset (RDD), as well as the computation of the sum of the partial results from each worker machine is performed by the standard spark routines.
If the fraction of points miniBatchFraction
is set to 1 (default), then the resulting step in
each iteration is exact (sub)gradient descent. In this case there is no randomness and no
variance in the used step directions.
On the other extreme, if miniBatchFraction
is chosen very small, such that only a single point
is sampled, i.e. $|S|=$ miniBatchFraction $\cdot n = 1$
, then the algorithm is equivalent to
standard SGD. In that case, the step direction depends from the uniformly random sampling of the
point.
Limited-memory BFGS (L-BFGS)
L-BFGS is an optimization
algorithm in the family of quasi-Newton methods to solve the optimization problems of the form
$\min_{\wv \in\R^d} \; f(\wv)$
. The L-BFGS method approximates the objective function locally as a
quadratic without evaluating the second partial derivatives of the objective function to construct the
Hessian matrix. The Hessian matrix is approximated by previous gradient evaluations, so there is no
vertical scalability issue (the number of training features) when computing the Hessian matrix
explicitly in Newton’s method. As a result, L-BFGS often achieves rapider convergence compared with
other first-order optimization.
Choosing an Optimization Method
Linear methods use optimization internally, and some linear methods in MLlib support both SGD and L-BFGS. Different optimization methods can have different convergence guarantees depending on the properties of the objective function, and we cannot cover the literature here. In general, when L-BFGS is available, we recommend using it instead of SGD since L-BFGS tends to converge faster (in fewer iterations).
Implementation in MLlib
Gradient descent and stochastic gradient descent
Gradient descent methods including stochastic subgradient descent (SGD) as
included as a low-level primitive in MLlib
, upon which various ML algorithms
are developed, see the
linear methods
section for example.
The SGD class GradientDescent sets the following parameters:
Gradient
is a class that computes the stochastic gradient of the function being optimized, i.e., with respect to a single training example, at the current parameter value. MLlib includes gradient classes for common loss functions, e.g., hinge, logistic, least-squares. The gradient class takes as input a training example, its label, and the current parameter value.Updater
is a class that performs the actual gradient descent step, i.e. updating the weights in each iteration, for a given gradient of the loss part. The updater is also responsible to perform the update from the regularization part. MLlib includes updaters for cases without regularization, as well as L1 and L2 regularizers.stepSize
is a scalar value denoting the initial step size for gradient descent. All updaters in MLlib use a step size at the t-th step equal tostepSize $/ \sqrt{t}$
.numIterations
is the number of iterations to run.regParam
is the regularization parameter when using L1 or L2 regularization.miniBatchFraction
is the fraction of the total data that is sampled in each iteration, to compute the gradient direction.- Sampling still requires a pass over the entire RDD, so decreasing
miniBatchFraction
may not speed up optimization much. Users will see the greatest speedup when the gradient is expensive to compute, for only the chosen samples are used for computing the gradient.
- Sampling still requires a pass over the entire RDD, so decreasing
L-BFGS
L-BFGS is currently only a low-level optimization primitive in MLlib
. If you want to use L-BFGS in various
ML algorithms such as Linear Regression, and Logistic Regression, you have to pass the gradient of objective
function, and updater into optimizer yourself instead of using the training APIs like
LogisticRegressionWithSGD.
See the example below. It will be addressed in the next release.
The L1 regularization by using L1Updater will not work since the soft-thresholding logic in L1Updater is designed for gradient descent. See the developer’s note.
The L-BFGS method LBFGS.runLBFGS has the following parameters:
Gradient
is a class that computes the gradient of the objective function being optimized, i.e., with respect to a single training example, at the current parameter value. MLlib includes gradient classes for common loss functions, e.g., hinge, logistic, least-squares. The gradient class takes as input a training example, its label, and the current parameter value.Updater
is a class that computes the gradient and loss of objective function of the regularization part for L-BFGS. MLlib includes updaters for cases without regularization, as well as L2 regularizer.numCorrections
is the number of corrections used in the L-BFGS update. 10 is recommended.maxNumIterations
is the maximal number of iterations that L-BFGS can be run.regParam
is the regularization parameter when using regularization.
The return
is a tuple containing two elements. The first element is a column matrix
containing weights for every feature, and the second element is an array containing
the loss computed for every iteration.
Here is an example to train binary logistic regression with L2 regularization using L-BFGS optimizer.
import org.apache.spark.SparkContext
import org.apache.spark.mllib.evaluation.BinaryClassificationMetrics
import org.apache.spark.mllib.linalg.Vectors
import org.apache.spark.mllib.util.MLUtils
import org.apache.spark.mllib.classification.LogisticRegressionModel
import org.apache.spark.mllib.optimization.{LBFGS, LogisticGradient, SquaredL2Updater}
val data = MLUtils.loadLibSVMFile(sc, "data/mllib/sample_libsvm_data.txt")
val numFeatures = data.take(1)(0).features.size
// Split data into training (60%) and test (40%).
val splits = data.randomSplit(Array(0.6, 0.4), seed = 11L)
// Append 1 into the training data as intercept.
val training = splits(0).map(x => (x.label, MLUtils.appendBias(x.features))).cache()
val test = splits(1)
// Run training algorithm to build the model
val numCorrections = 10
val convergenceTol = 1e-4
val maxNumIterations = 20
val regParam = 0.1
val initialWeightsWithIntercept = Vectors.dense(new Array[Double](numFeatures + 1))
val (weightsWithIntercept, loss) = LBFGS.runLBFGS(
training,
new LogisticGradient(),
new SquaredL2Updater(),
numCorrections,
convergenceTol,
maxNumIterations,
regParam,
initialWeightsWithIntercept)
val model = new LogisticRegressionModel(
Vectors.dense(weightsWithIntercept.toArray.slice(0, weightsWithIntercept.size - 1)),
weightsWithIntercept(weightsWithIntercept.size - 1))
// Clear the default threshold.
model.clearThreshold()
// Compute raw scores on the test set.
val scoreAndLabels = test.map { point =>
val score = model.predict(point.features)
(score, point.label)
}
// Get evaluation metrics.
val metrics = new BinaryClassificationMetrics(scoreAndLabels)
val auROC = metrics.areaUnderROC()
println("Loss of each step in training process")
loss.foreach(println)
println("Area under ROC = " + auROC)
import java.util.Arrays;
import java.util.Random;
import scala.Tuple2;
import org.apache.spark.api.java.*;
import org.apache.spark.api.java.function.Function;
import org.apache.spark.mllib.classification.LogisticRegressionModel;
import org.apache.spark.mllib.evaluation.BinaryClassificationMetrics;
import org.apache.spark.mllib.linalg.Vector;
import org.apache.spark.mllib.linalg.Vectors;
import org.apache.spark.mllib.optimization.*;
import org.apache.spark.mllib.regression.LabeledPoint;
import org.apache.spark.mllib.util.MLUtils;
import org.apache.spark.SparkConf;
import org.apache.spark.SparkContext;
public class LBFGSExample {
public static void main(String[] args) {
SparkConf conf = new SparkConf().setAppName("L-BFGS Example");
SparkContext sc = new SparkContext(conf);
String path = "data/mllib/sample_libsvm_data.txt";
JavaRDD<LabeledPoint> data = MLUtils.loadLibSVMFile(sc, path).toJavaRDD();
int numFeatures = data.take(1).get(0).features().size();
// Split initial RDD into two... [60% training data, 40% testing data].
JavaRDD<LabeledPoint> trainingInit = data.sample(false, 0.6, 11L);
JavaRDD<LabeledPoint> test = data.subtract(trainingInit);
// Append 1 into the training data as intercept.
JavaRDD<Tuple2<Object, Vector>> training = data.map(
new Function<LabeledPoint, Tuple2<Object, Vector>>() {
public Tuple2<Object, Vector> call(LabeledPoint p) {
return new Tuple2<Object, Vector>(p.label(), MLUtils.appendBias(p.features()));
}
});
training.cache();
// Run training algorithm to build the model.
int numCorrections = 10;
double convergenceTol = 1e-4;
int maxNumIterations = 20;
double regParam = 0.1;
Vector initialWeightsWithIntercept = Vectors.dense(new double[numFeatures + 1]);
Tuple2<Vector, double[]> result = LBFGS.runLBFGS(
training.rdd(),
new LogisticGradient(),
new SquaredL2Updater(),
numCorrections,
convergenceTol,
maxNumIterations,
regParam,
initialWeightsWithIntercept);
Vector weightsWithIntercept = result._1();
double[] loss = result._2();
final LogisticRegressionModel model = new LogisticRegressionModel(
Vectors.dense(Arrays.copyOf(weightsWithIntercept.toArray(), weightsWithIntercept.size() - 1)),
(weightsWithIntercept.toArray())[weightsWithIntercept.size() - 1]);
// Clear the default threshold.
model.clearThreshold();
// Compute raw scores on the test set.
JavaRDD<Tuple2<Object, Object>> scoreAndLabels = test.map(
new Function<LabeledPoint, Tuple2<Object, Object>>() {
public Tuple2<Object, Object> call(LabeledPoint p) {
Double score = model.predict(p.features());
return new Tuple2<Object, Object>(score, p.label());
}
});
// Get evaluation metrics.
BinaryClassificationMetrics metrics =
new BinaryClassificationMetrics(scoreAndLabels.rdd());
double auROC = metrics.areaUnderROC();
System.out.println("Loss of each step in training process");
for (double l : loss)
System.out.println(l);
System.out.println("Area under ROC = " + auROC);
}
}
Developer’s notes
Since the Hessian is constructed approximately from previous gradient evaluations, the objective function can not be changed during the optimization process. As a result, Stochastic L-BFGS will not work naively by just using miniBatch; therefore, we don’t provide this until we have better understanding.
Updater
is a class originally designed for gradient decent which computes
the actual gradient descent step. However, we’re able to take the gradient and
loss of objective function of regularization for L-BFGS by ignoring the part of logic
only for gradient decent such as adaptive step size stuff. We will refactorize
this into regularizer to replace updater to separate the logic between
regularization and step update later.


Welcome to Manzanares’s documentation¶
Indices and tables¶
-
class
TheThing.thingClass.
thingClass
¶ The primary class for text analysis whit the Manzanares package: Stores the txt/csv/tsv/sqlite file location and some other data and methods to process it. Also, create and connect with sqlite databases to handle token/types.
…
- name: str
The name of the Document/Thing
- t_folder: str
Location of the thing file
- t_file: str
Name of the thing file
- db_folder: str
Location of the database file
- db_file: str
Name of the database file
- lang: List[str] = []
List of ISO 639-2 Code for the language/languages in the file
- encoding: str = ‘UTF-8’
Encoding of the Document/Thing file
- s_break: _sre.SRE_Pattern = re.compile(“.”)
Regex expression to split sentences
- l_break: _sre.SRE_Pattern = re.compile(“.”)
Regex expression to split lines
- c_patt: List(Tuple(_sre.SRE_Pattern,_sre.SRE_Pattern))
List of regular expression tuples to replace in thing: Tuple [0] regular expression to be replaced, Tuple [1] regular replacement expression.
- db_con: sqlite3.Connection
Database conection
- db_cur: sqlite3.Cursor
Database cursor
Create table


+++ draft = false date = "2016-08-31T08:12:43-02:00" title = "Abusing Plone Content Rules to allow Site Admin customizations of sent emails" tags = ["zope3", "zope2", "zope", "cookbook", "Plone", "tutorial"] created = "2016-08-31T07:48:45-02:00" modified = "2017-01-08T18:15:25-01:00" permaLink = "http://play.pixelblaster.ro/blog/archive/2016/08/31/abusing-plone-content-rules-to-allow-site-admin-customizations-of-sent-emails" author = "Tiberiu Ichim" aliases = [ "/blog/archive/2016/08/31/abusing-plone-content-rules-to-allow-site-admin-customizations-of-sent-emails" ] +++
This would be a sort of tutorial on how to implement a new plone.app.contentrules Trigger Event, how to write a new plone.stringinterp variable substitutor and how to trigger the event from a browser page (or z3c.form).
This allows configuring a new trigger event from the Content Rules Plone control panel configlet and to assign a new Email action, with customizable body template.
Let's say our task is to implement a contact form:
from plone.directives import form from plone.api.portal import show_message from zope.event import notify class IContactForm(form.Schema): name = schema.TextLine(title=u"Your Name", required=True) email = Email(title=u"Contact eMail:", required=True) class ContactInformation(Implicit): """ A container to be passed to plone.app.contentrules for contact info """ def __init__(self, name=None, email=None): self.name = name self.email = email class ContactForm(form.SchemaForm): schema = IContactForm ignoreContext = True label = u"Contact Form" fields = field.Fields(IContactForm) @button.buttonAndHandler(u"Submit") def handleApply(self, action): data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return name = data.get('name') email = data.get('email') obj = ContactInformation(name=name, email=email) obj = obj.__of__(self.context) notify(ContactEvent(obj)) show_message(message="Message sent", request=self.request, type='info')
The ContactInformation object is needed to pass information from the form to the content rules machinery. It needs to be acquisition aware, as plone.app.contentrules will try to trigger events up its chain of acquisition. This can also be replaced by setting some annotation on the request.
We need a custom event with an event handler that triggers the content rules execution:
from zope.interface import implements from zope.component.interfaces import ObjectEvent, IObjectEvent from plone.app.contentrules.handlers import execute_rules class IContactEvent(IObjectEvent): """ """ class ContactEvent(ObjectEvent): implements(IContactEvent) def trigger_contentrules(event): execute_rules(event)
Now, a bit of zcml to register the event with plone.app.contentrules and setup the event handler:
<interface interface=".events.IContactEvent" type="plone.contentrules.rule.interfaces.IRuleEventType" name="Contact form triggered" /> <subscriber for=".events.IContactEvent" handler=".events.trigger_contentrules" />
This will make the "Contact form triggered" event available for the Plone Content Rules and, thanks to the notify() call in the form handler, trigger the content rules execution.
One last thing that we need is to access the information submitted in the form. The ContactInformation object serves as a container for that information, so we'll need special variables for the Email action:
class contact_email(BaseSubstitution): description = u"Contact email" category = 'ContactForm' adapts(Interface) def safe_call(self): return self.context.email class contact_name(BaseSubstitution): description = u"Contact name" category = 'ContactForm' adapts(Interface) def safe_call(self): return self.context.name
<adapter for="*" provides="plone.stringinterp.interfaces.IStringSubstitution" factory=".stringinterp.contact_email" name="contact_email" /> <adapter for="*" provides="plone.stringinterp.interfaces.IStringSubstitution" factory=".stringinterp.contact_name" name="contact_name" />


Preparation time
less than 30 mins
Cooking time
over 2 hours
Serves
Serves 8
Dietary
The perfect meringue is sweet, light and crisp with a slightly chewy centre. Try sandwiching them with strawberries and cream.
For the meringue, preheat the oven to 100C/200F/Gas ¾. Line a baking tray with baking parchment. You may want to draw circles on the paper to help keep your meringues the same size.
Place the egg whites into a clean glass or metal bowl and whisk until soft peaks form when the whisk is removed.
Gradually add the sugar and continue to whisk until stiff peaks form when the whisk is removed.
Spoon into a piping bag fitted with a large plain or star nozzle.
Pipe into 16 small rounds onto the prepared baking tray.
Place in the oven and bake for 20 minutes.
Turn the oven off but leave the meringues in the oven for at least two hours.
When crisp, remove from the oven
For the filling, whisk the cream and icing sugar together until soft peaks form when the whisk is removed. Fold in half the strawberries.
Place a meringue onto a serving plate. Spread the whipped cream lightly over the meringue to cover totally, and top with more strawberries. Place another meringue on top of the strawberries.


For more inquiries, bookings and reservations, please message our social media pages by clicking the buttons below.
Facebook page
Instagram page


DAYLIGHT
A film review by Alex Brenner
Copyright 1996 Alex Brenner
Daylight is a film that demands an unusual amount of attention from the critical eye, given its nominal genre. It is, overall, a success, and before cries are raised of conclusions coming at beginnings, this shall be qualified.
Daylight is a film that will not let itself be categorised as a single thing, and there is very little associated with it that can simply be nailed down and left; there is a significance to this that extends into genre history, as will be explained later. In its origins, in the performance of its star and even in the camerawork, there is not a single thing which can be said to dominate. For instance, Stallone here seems to run through his entire oeuvre: the stumbling, melancholy Rocky; the mythic action hero from Cliffhanger and Judge Dredd; the man who is both bowed down by and an inspiration to the people who surround him, the socially flawed icon of bravado that runs through all of his work but was most callously exploited in Stop, or my Mom Will Shoot! This is supposed to be his last action film, and it is in some way a summation of all that has gone before: when explaining to the principle heroine an incident from his past, his speech is so obscured that it is actually incomprehensible. Stallone is, as ever, laconically himself.
And yet this summation cannot be seen as synthesis. Works that have displayed a true wit in bringing together disparate elements usually exude an elegance and a great coherence which is lacking in Daylight. To evince further: the film veers between forms. In its opening scenes there are suggestions that it will open out into a traditional gung-ho action film. However, as the darkness closes further and further around the protagonists, we see that it really owes much more to both disaster and submarine films, coming across nothing so much as a cross between Crimson Tide and The Towering Inferno. Still, though, there remains the problem of the nature of this cross: Daylight is neither black nor white, nor even grey, but rather it is many dots of black and white arranged such that, from a distance, it appears to possess chromatic unity, an illlusion that breaks down upon closer perusal. And this is indeed the fate that befalls many films of its type, lacking either brilliance or even the single-mindedness of, say, Die Hard, they are content merely to flop around in a nether world of compromise, neither this nor that, but something rather dissipatedly in between.
It is in resolving this difficulty that we may appreciate the strength of Daylight. Consider the analogy of a parachute: while flaccid, it lacks any kind of life, and is simply a patchwork of different colours all jumbled and crumpled in a heap on the ground, and yet, given a strong motive force throwing it aloft, it assumes shape and form, never the shape and form of something with an integral, durable structure, but shape and form nonetheless. Daylight's somewhat dissolute nature is swept aside as the actual concept and its realisation generate sufficiently huge power as to give the film a real presence and even, on occasion, magnificence.
Still, one remains uncertain as to the origin of this power of realisation, whether it derives from the details, the mini-climaxes, which are often treated with brusqueness by the director - there is one moment when Stallone's character nearly drops an explosive, an event which I neither realised was occurring nor felt the importance of, because it was simply lost in the noise - or from some kind of grand overall sweep untroubled by such trivia, something which the film lacks. It does not come from the performances, nor from the more literary aspects of its plot, more of which later. So, what?
One may reasonably contend that the idea at the core of the film, namely being trapped in a collapsing tunnel under seventy-five feet of water while all around you exists ineptitude and attrition, is so inherently strong that, given a certain minimal level of technical achievement, a high order of suspense would arise necessarily. And the film is, indeed, technically excellent. The camerawork, now jittery, now steady, now whooshing, is really first-rate, and the various cave-ins and blow-outs and explosions are visually very impressive: the eye, being used to confinement, is readily awed by sudden changes in scale and pace. The editing is sharp, and the score is functional at worst and pretty good at best.
There may arise at this point a thought: 'But surely all that, while important, is not sufficient to make the film good?' And with this thought we may agree: there is something more. One often feels that the director has stayed his hand where a less disciplined one - Renny Harlin's? - would have strayed, and the film feels economical. And yet the film is involving. Too often in films of this type, the protagonists are superhuman, and everyone else is simply shot, which is surely not the case with Daylight. This does not refer here to the occasional sentimental moment, or the irritating and superficial attempts to flesh out the humanity of the characters, but rather to the fact that the film does a very good job of giving us an idea of the torment, suffering, and, in the end, sheer exhaustion which they undergo, and this must be to the director's credit. One might not have thought it after Dragonheart, but Rob Cohen seems to know what he is doing. Unfortunately, this rendering of primal humanity is marred by what I think must owe to the script and to the studio executives, that is, the not infrequent moments of aforementioned sentimentality. One gets the idea that this kind of thing is inevitable, and so we must be patient, and await the film's ascent out of melodrama each time it descends into it.
The note which sounds most oddly, though by no means the most unsuccessfully, are the odd hints of a more profound and intellectual agenda that crop up here and there. There can be no doubt that the film as a whole is intended as a dramatisation of a Dantean or Miltonian theme - 'long is the road, and hard, that leads up out of darkness and into the light,' though the film that quoted that line dramatised it both more strongly and with far greater profundity than Daylight. Yet there is also the suggestion of, depending on how you look at it, a Christian or Conradian idea. This suggestion is just the faintest of suggestions, particularly if you choose to look at the issue in the latter sense, but both the illuminated face of the icon of Christ in the pitch blackness of the water as Stallone and Brenneman swim for safety and the path to salvation being described by the abominated rats scurrying amid the same icon's apparel could be seen to redound upon both of these traditions. But this is mere speculation.
In summary then, one may say that, owing to its phenomenal momentum, the flaws of Daylight are almost transformed into strengths, as, like a boat in a storm, it pitches insanely and wildly from side to side, as oppose to just, as it were, dawdling from side to side, and thus, in the shape of the film do we gain a further insight into the confusion and bewilderment experienced by the main characters. A relative of mine once saw fit to describe Crimson Tide as 'a very good bad film,' and, amid cries of plagiarism, I shall describe Daylight as not all a bad bad film, and, strongest in a litter of weaklings, the finest example of its type that we have seen this year.
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


{% extends "task.html" %}
{% block task %}
Get Poetic
{% endblock %}
{% block taskstory %}
Austin can be hot
But cool people like you two
Just keep on truckin'
Haiku is a Japanese form of poetry which is based on syllables. It has 5 syllables
in the first line, 7 in the second, and 5 more in the third. They are often
focused on nature. Write us a haiku about Austin or SXSW, and post it to
Facebook or Twitter with the hashtag #k4hoedown.
{% endblock %}


Source: noframework_acc.css, line 355
18 Pathway CC
Each of the clinical pathways has a distinctive color. These colors are used to give a distinct theme to our clinical apps, marketing, pdf's and tools.
-
#c8b02f; Invasive Cardiology Angiography and Intervention
$pathway-invasive-cardiology
-
#fdb918; Congenital Heart Disease
$pathway-congenital-heart-disease
-
#947b33; Noninvasive Cardiology
$pathway-noninvasive-cardiology
-
#d9691f; Standard ECG, Stress Test
$pathway-ecg-stress-test
-
#ae171c; Vascular Medicine
$pathway-vascular-medicine
-
#d60e7e; Pulmonary Hypertension and Venous Thromboembolic Disease
$pathway-pulmonary-hypertension
-
#a01d51; Prevention
$pathway-prevention
-
#410d49; Heart Failure and Cardiomyopathies
$pathway-heart-failure
-
#4f4190; Valvular Heart Disease
$pathway-valvular-heart-disease
-
#005b37; Arrthythmias and Clinical EP
$pathway-arrthythmias-EP
-
#0079ad; Preicardial Disease
$pathway-preicardial
-
#009974; Acute Coronary Syndromes
$pathway-acute-coronary-syndromes
-
#0f3e65; Stable Ischemnic Heart Disease
$pathway-stable-ischemnic-heart-disease
-
#00b6f1; Special
$pathway-special


arcgis.features.analyze_patterns module¶
These functions help you identify, quantify, and visualize spatial patterns in your data.
calculate_density takes known quantities of some phenomenon and spreads these quantities across the map. find_hot_spots identifies statistically significant clustering in the spatial pattern of your data. interpolate_points predicts values at new locations based on measurements found in a collection of points.
calculate_density¶
-
analyze_patterns.
calculate_density
(field=None, cell_size=None, cell_size_units='Meters', radius=None, radius_units=None, bounding_polygon_layer=None, area_units=None, classification_type='EqualInterval', num_classes=10, output_name=None, context=None, gis=None, estimate=False)¶ The calculate_density function creates a density map from point or line features by spreading known quantities of some phenomenon (represented as attributes of the points or lines) across the map. The result is a layer of areas classified from least dense to most dense.
For point input, each point should represent the location of some event or incident, and the result layer represents a count of the incident per unit area. A higher density value in a new location means that there are more points near that location. In many cases, the result layer can be interpreted as a risk surface for future events. For example, if the input points represent locations of lightning strikes, the result layer can be interpreted as a risk surface for future lightning strikes.
For line input, the line density surface represents the total amount of line that is near each location. The units of the calculated density values are the length of line per unit area. For example, if the lines represent rivers, the result layer will represent the total length of rivers that are within the search radius. This result can be used to identify areas that are hospitable to grazing animals.
Argument
Description
input_layer
Required layer. The point or line features from which to calculate density. See Feature Input.
field
Optional string. A numeric field name specifying the number of incidents at each location. For example, if you have points that represent cities, you can use a field representing the population of the city as the count field, and the resulting population density layer will calculate larger population densities near cities with larger populations. If not specified, each location will be assumed to represent a single count.
cell_size
Optional float. This value is used to create a mesh of points where density values are calculated. The default is approximately 1/1000th of the smaller of the width and height of the analysis extent as defined in the context parameter. The smaller the value, the smoother the polygon boundaries will be. Conversely, with larger values, the polygon boundaries will be more coarse and jagged.
cell_size_units
Optional string. The units of the cell_size value. Choice list: [‘Miles’, ‘Feet’, ‘Kilometers’, ‘Meters’]
radius
Optional float. A distance specifying how far to search to find point or line features when calculating density values.
radius_units
Optional string. The units of the radius parameter. If no distance is provided, a default will be calculated that is based on the locations of the input features and the values in the count field (if a count field is provided). Choice list: [‘Miles’, ‘Feet’, ‘Kilometers’, ‘Meters’]
bounding_polygon_layer
Optional layer. A layer specifying the polygon(s) where you want densities to be calculated. For example, if you are interpolating densities of fish within a lake, you can use the boundary of the lake in this parameter and the output will only draw within the boundary of the lake. See Feature Input.
area_units
Optional string. The units of the calculated density values. Choice list: [‘areaUnits’, ‘SquareMiles’]
classification_type
Optional string. Determines how density values will be classified into polygons. Choice list: [‘EqualInterval’, ‘GeometricInterval’, ‘NaturalBreaks’, ‘EqualArea’, ‘StandardDeviation’]
EqualInterval—Polygons are created such that the range of density values is equal for each area.
GeometricInterval—Polygons are based on class intervals that have a geometric series. This method ensures that each class range has approximately the same number of values within each class and that the change between intervals is consistent.
NaturalBreaks—Class intervals for polygons are based on natural groupings of the data. Class break values are identified that best group similar values and that maximize the differences between classes.
EqualArea—Polygons are created such that the size of each area is equal. For example, if the result has more high density values than low density values, more polygons will be created for high densities.
StandardDeviation—Polygons are created based upon the standard deviation of the predicted density values.
num_classes
Optional int. This value is used to divide the range of predicted values into distinct classes. The range of values in each class is determined by the classification_type parameter.
output_name
Optional string. Additional properties such as output feature service name.
context
Optional string. Additional settings such as processing extent and output spatial reference. For calculate_density, there are two settings.
Extent (extent)-a bounding box that defines the analysis area. Only those points in the input_layer that intersect the bounding box will be analyzed.
Output Spatial Reference (outSR)—the output features will be projected into the output spatial reference.
gis
Optional, the GIS on which this tool runs. If not specified, the active GIS is used.
estimate
Optional Boolean. Is true, the number of credits needed to run the operation will be returned as a float.
- Returns
result_layer : feature layer Item if output_name is specified, else Feature Collection.
USAGE EXAMPLE: To create a layer that shows density of collisions within 2 miles. The density is classified based upon the standard deviation. The range of density values is divided into 5 classes. collision_density = calculate_density(input_layer=collisions, radius=2, radius_units='Miles', bounding_polygon_layer=zoning_lyr, area_units='SquareMiles', classification_type='StandardDeviation', num_classes=5, output_name='density_of_incidents')
find_hot_spots¶
-
analyze_patterns.
find_hot_spots
(analysis_field=None, divided_by_field=None, bounding_polygon_layer=None, aggregation_polygon_layer=None, output_name=None, context=None, gis=None, estimate=False, shape_type=None)¶ The Find Hot Spots function finds statistically significant clusters of incident points, weighted points, or weighted polygons. For incident data, the analysis field (weight) is obtained by aggregation. Output is a hot spot map.
Argument
Description
analysis_layer
Required layer (see Feature Input in documentation). The point or polygon feature layer for which hot spots will be calculated.
analysis_field
Optional string. The numeric field in the AnalysisLayer that will be analyzed.
divided_by_field
Optional string. The field that will segment the locations.
bounding_polygon_layer
Optional layer (see Feature Input in documentation). When the analysis layer is points and no AnalysisField is specified, you can provide polygons features that define where incidents could have occurred.
aggregation_polygon_layer
Optional layer (see Feature Input in documentation). When the AnalysisLayer contains points and no AnalysisField is specified, you can provide polygon features into which the points will be aggregated and analyzed, such as administrative units.
output_name
Optional string. Additional properties such as output feature service name.
context
Optional string. Additional settings such as processing extent and output spatial reference.
gis
Optional, the GIS on which this tool runs. If not specified, the active GIS is used.
estimate
Optional Boolean. Is true, the number of credits needed to run the operation will be returned as a float.
shape_type
Optional string. The shape of the polygon mesh the input features will be aggregated into.
- Returns
dict with the following keys: “hot_spots_result_layer” : layer (FeatureCollection) “process_info” : list of messages
find_outliers¶
-
analyze_patterns.
find_outliers
(analysis_field, divided_by_field=None, bounding_polygon_layer=None, aggregation_polygon_layer=None, permutations=None, shape_type=None, cell_size=None, cell_units=None, distance_band=None, band_units=None, output_name=None, context=None, gis=None, estimate=False)¶ The Find Outliers task analyzes point data (such as crime incidents, traffic accidents, or trees) or field values associated with points or area features (such as the number of people in each census tract or the total sales for retail stores). It finds statistically significant spatial clusters of high values and low values and statistically significant high or low spatial outliers within those clusters.
The result map layer shows high outliers in red and low outliers in dark blue. Clusters of high values appear pink and clusters of low values appear light blue. Features that are beige are not a statistically significant outlier and not part of a statistically significant cluster; the spatial pattern associated with these features could very likely be the result of random processes and random chance.
- analysis_layerRequired layer (see Feature Input in documentation)
The point or polygon feature layer for which outliers will be calculated.
- analysis_fieldOptional string
The numeric field that will be analyzed.
divided_by_field : Optional string, The numeric field in the analysis_layer that will be used to normalize your data. bounding_polygon_layer : Optional layer (see Feature Input in documentation)
When the analysis layer is points and no analysisField is specified, you can provide polygon features that define where incidents could have occurred.
- aggregation_polygon_layerOptional layer (see Feature Input in documentation)
When the AnalysisLayer contains points and no AnalysisField is specified, you can provide polygon features into which the points will be aggregated and analyzed, such as administrative units.
permutations : Permutations are used to determine how likely it would be to find the actual spatial distribution of the values you are analyzing. Choosing the number of permutations is a balance between precision and increased processing time. A lower number of permutations can be used when first exploring a problem, but it is best practice to increase the permutations to the highest number feasible for final results.
Speed implements 199 permutations and results in p-values with a precision of 0.01.
Balance implements 499 permutations and results in p-values with a precision of 0.002.
Precision implements 999 permutations and results in p-values with a precision of 0.001.
Values: Speed | Balance | Precision
shape_type : optional string, The shape of the polygon mesh the input features will be aggregated into.
Fishnet - The input features will be aggregated into a grid of square (fishnet) cells.
Hexagon - The input features will be aggregated into a grid of hexagonal cells.
cell_size : The size of the grid cells used to aggregate your features. When aggregating into a hexagon grid, this distance is used as the height to construct the hexagon polygons. cell_units : The units of the cellSize value. You must provide a value if cellSize has been set.
Values: Miles | Feet | Kilometers | Meters
distance_band : The spatial extent of the analysis neighborhood. This value determines which features are analyzed together in order to assess local clustering. band_units : The units of the distanceBand value. You must provide a value if distanceBand has been set.
Values: Miles | Feet | Kilometers | Meters
- output_nameOptional string
Additional properties such as output feature service name.
- contextOptional string
Additional settings such as processing extent and output spatial reference.
gis : The GIS used for running this analysis estimate : Optional Boolean. If True, the number of credits to run the operation will be returned.
Item it output_name is set. dict with the following keys:
“find_outliers_result_layer” : layer (FeatureCollection) “process_info” : list of messages
interpolate_points¶
-
analyze_patterns.
interpolate_points
(field, interpolate_option='5', output_prediction_error=False, classification_type='GeometricInterval', num_classes=10, class_breaks=[], bounding_polygon_layer=None, predict_at_point_layer=None, output_name=None, context=None, gis=None, estimate=False)¶ The Interpolate Points function allows you to predict values at new locations based on measurements from a collection of points. The function takes point data with values at each point and returns areas classified by predicted values.
- input_layerRequired layer (see Feature Input in documentation)
The point layer whose features will be interpolated.
- fieldRequired string
Name of the numeric field containing the values you wish to interpolate.
- interpolate_optionOptional string
Integer value declaring your preference for speed versus accuracy, from 1 (fastest) to 9 (most accurate). More accurate predictions take longer to calculate.
- output_prediction_errorOptional bool
If True, a polygon layer of standard errors for the interpolation predictions will be returned in the predictionError output parameter.
- classification_typeOptional string
Determines how predicted values will be classified into areas.
- num_classesOptional int
This value is used to divide the range of interpolated values into distinct classes. The range of values in each class is determined by the classificationType parameter. Each class defines the boundaries of the result polygons.
- class_breaksOptional list of floats
If classificationType is Manual, supply desired class break values separated by spaces. These values define the upper limit of each class, so the number of classes will equal the number of entered values. Areas will not be created for any locations with predicted values above the largest entered break value. You must enter at least two values and no more than 32.
- bounding_polygon_layerOptional layer (see Feature Input in documentation)
A layer specifying the polygon(s) where you want values to be interpolated.
- predict_at_point_layerOptional layer (see Feature Input in documentation)
An optional layer specifying point locations to calculate prediction values. This allows you to make predictions at specific locations of interest.
- output_nameOptional string
Additional properties such as output feature service name.
- contextOptional string
Additional settings such as processing extent and output spatial reference.
- gis :
Optional, the GIS on which this tool runs. If not specified, the active GIS is used.
- estimate :
Optional Boolean. If True, the number of credits to run the operation will be returned.
- dict with the following keys:
“result_layer” : layer (FeatureCollection) “prediction_error” : layer (FeatureCollection) “predicted_point_layer” : layer (FeatureCollection)


Guidelines for Supporting ISO Code Sets
Recommendation, 2007 April 15
Editor:
Chuck Allen, HR-XML Consortium, Inc.
Paul Kiel, HR-XML Consortium, Inc.
Kim Bartkus, HR-XML Consortium, Inc.
Authors:
Chuck Allen, HR-XML Consortium, Inc.
Contributors:
These guidelines draw heavily upon this technical note
prepared by Bill Kerr:
http://www.hr-xml.org/resources/TSC-ISO-Standards-v00-03.pdf
It also incorporates the “utility schemas” developed by Paul Kiel.
Copyright © 2007 HR-XML Consortium, Inc.
Abstract
A growing number of approved HR-XML specifications use a set of agreed-upon XML schema types to represent ISO codes for currency, country, gender, and names of languages. The purpose of this recommendation is to document the use of these types and to formalize their adoption as Cross-Process Objects.
Table of Contents
3.2 Uses/Implementation Considerations
4.2 Uses/Implementation Considerations
5.2 Uses/Implementation Considerations
6.1 Standards for Representation of Languages
6.3 Uses/Implementation Considerations
6.3.1 Use of “xml:lang” (language as metadata)
6.3.2 Use of XML Schema data type “language” (language as data)
8 Appendix A - Document Version History
9 Appendix B – Related Documents
The International Organization for Standardization (ISO) is a worldwide federation of national standards bodies. This document provides guidance on representing ISO codes for currency, country, gender, and names of languages within HR-XML Consortium specifications.
This document recommends that implementers of HR-XML Consortium specifications conform to ISO codes for currency, country, gender, and names of languages. The document also sets out XML schema types that HR-XML workgroups SHOULD incorporate within their specifications to support conformance with the ISO codes.
The XML schema types presented in this document are designed to support (but do not directly include) code sets that have been standardized by the International Organization for Standardization. In each case, the schema includes a pattern to ensure that the code transmitted conforms to the format – but not necessarily the content – prescribed under the ISO standard.
An alternative approach considered, but rejected, by the HR-XML Consortium’s Technical Steering Committee was to enumerate the actual codes prescribed under the ISO standards within HR-XML schemas. The approach of specifying a pattern to enforce the format of the particular ISO code set was favored over enumerating the codes themselves for the following reasons:
§ Including the ISO code sets by reference, instead of including the codes directly, spares the HR-XML Consortium the burden of having to edit and update enumerations each time a new version of the particular ISO specification is published.
§ Many ISO specifications are copyrighted and available only if a licensing fee is paid. By merely recommending the use of the ISO codes, but not including their content, HR-XML avoids any possible copyright or licensing controversies.
§ The approach of enforcing the format of the codes, rather than the content, is relatively simple. In most cases, the format of the code will remain constant, while the actual code content will change over time. Enforcing the format of the codes adds little overhead to the development and maintenance of HR-XML specifications, yet it supports conformance with recognized international standards.
§ Business logic for handling country and language code data and other codes often will be handled by a receiving system regardless of whether interchange data was validated against a complete list of ISO codes. For example, many companies – even those with wide-ranging global operations – may not have a compelling business reason to use the full 136 language codes within ISO 639-1:2002, Code for the Representation of Names of Languages. In such cases, parsing data against an enumerated list of the full 136 ISO-recognized language codes would add some overhead without a commensurate benefit for the implementer.
For purposes of indicating gender within HR-XML Consortium specifications, the codes prescribed by ISO 5218 (ISO 5218:1977 Information interchange -- Representation of human sexes) are RECOMMENDED.
ISO 5218 specifies the use of the following codes:
|
Code |
Definition |
|
0 |
Not Known |
|
1 |
Male |
|
2 |
Female |
|
9 |
Not specified |
The following schema supports the use of ISO 5218. As explained in Section 2, Design Approach, an enumeration of the actual codes is not contained in the schema.
<xsd:schema targetNamespace="http://ns.hr-xml.org/2007-04-15" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://ns.hr-xml.org/2007-04-15" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:element name="GenderCode" type="GenderCodeType"/>
<xsd:simpleType name="GenderCodeType">
<xsd:annotation>
<xsd:documentation>Must conform to ISO 5218 - Representation of Human Sexes (0 - Not Known; 1 - Male; 2 - Female; 9 - Not specified)</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:integer">
<xsd:pattern value="[0129]"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
The use of ISO 5218 ensures a uniform representation of gender in HR-XML specifications. The ISO convention for specifying “not known” or “not specified” helps eliminate ambiguity and allows the sender of data to deliberately exclude the specification of gender. For example, the “not specified” option may be useful when it is illegal or inappropriate to transmit information about a person’s gender.
For purposes of identifying countries within HR-XML Consortium specifications, the two-letter codes prescribed by ISO 3166-1 (ISO 3166-1, Codes for the representation of names of countries and their subdivisions) are RECOMMENDED.
The following schema enforces a two-letter, uppercase pattern to support the use of ISO 3166-1. As explained in Section 2, Design Approach, an enumeration of the actual codes is not contained in the schema.
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://ns.hr-xml.org/2007-04-15" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://ns.hr-xml.org/2007-04-15" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:element name="CountryCode" type="CountryCodeType"/>
<xsd:simpleType name="CountryCodeType">
<xsd:annotation>
<xsd:documentation>Must conform to ISO 3166-1 Representation of Countries.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Z][A-Z]"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
Examples of the use of CountryCodeType might include information related to the location of an organization or the nationality of a human resource.
The use of standard codes for representing currency is important to making HR-XML’s data exchange standards useful in many different countries and business scenarios.
For the purpose of indicating currency with HR-XML specifications, three-letter ISO 4217 codes are RECOMMENDED (ISO 4217:2001 Codes for the representation of currencies and funds). ISO's currency codes are based on the ISO country codes. The currency codes are made up of the two-character country code (ISO 3166-1), plus a one-character currency designator.
Any HR-XML Consortium schema that represents a monetary amount SHOULD incorporate the CurrencyCodeType to support the capture of a conforming ISO 4217 code. Schema designs MAY allow for the transmission of a currency code to be optional, in which case it is assumed that the currency is understood or agreed upon by trading partners.
The following schema enforces a three-letter, uppercase pattern to support the use of ISO 4217 codes. As explained in Section 2, Design Approach, an enumeration of the actual codes is not contained in the schema.
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://ns.hr-xml.org/2007-04-15" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://ns.hr-xml.org/2007-04-15" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:element name="CurrencyCode" type="CurrencyCodeType"/>
<xsd:simpleType name="CurrencyCodeType">
<xsd:annotation>
<xsd:documentation>Must conform to ISO 4217 - Representation of Currency and Funds</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Z][A-Z][A-Z]"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
Currency generally would be an attribute of an element requiring a monetary amount. However, other designs may be appropriate.
The W3C has a special attribute ”xml:lang”, which specifies the language of the element or attribute content. This attribute would be used in conjunction with the ISO 639-1 codes.
For the purpose of the exchanges using HR-XML specifications, two-letter ISO 639-1 codes are preferred (ISO 639-1:2002 Code for the Representation of Names of Languages). This code set covers 136 languages and is in general use today.
ISO 639-2 is a three-character representation of languages. This code set covers 460 languages and addresses terminological as well as bibliographic needs. However, ISO 639-2 is not as widely implemented as ISO 639-1 and thus is not recommended as the basis for HR-XML schemas.
Another standard relating to the representation of languages is the IETF (Internet Engineering Task Force) 1766. This standard relates to language tags used in MIME/web applications. It builds on the codes define in ISO 639-1.
The following schema is created for the purpose of enabling consistency in usage.
<xsd:schema targetNamespace="http://ns.hr-xml.org/2007-04-15" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://ns.hr-xml.org/2007-04-15" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="../../W3C/xml.xsd"/>
<!-- language as data, capturing the language itself -->
<xsd:element name="LanguageCode" type="LanguageCodeType"/>
<xsd:simpleType name="LanguageCodeType">
<xsd:annotation>
<xsd:documentation>ISO 639-1 two character code is preferred, but not required.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:language"/>
</xsd:simpleType>
<!-- language as metadata, capturing a general descriptive string in a given language -->
<xsd:element name="LanguageDependentText" type="LanguageDependentTextType"/>
<xsd:complexType name="LanguageDependentTextType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute ref="xml:lang">
<xsd:annotation>
<xsd:documentation>ISO 639-1 two character code is preferred, but not required.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:schema>
Sample instances:
<!-- Japanese -->
<LanguageCode xmlns="http://ns.hr-xml.org/2007-04-15">ja</LanguageCode>
<!-- data is in French -->
<LanguageDependentText xmlns="http://ns.hr-xml.org/2007-04-15" xml:lang="fr">adieu</LanguageDependentText>
The official RECOMMENDATION of the Consortium is to use the “xml:lang” attribute, as defined by the W3C, to indicate the language of data content. For example, the following indicates that the Address data is in English.
<Address xml:lang=”en”>123 Main Street</Address>
The LanguageDependentText and LanguageDependentTextType can be used as a standard element of text that is language dependent.
When the language itself is needed as a data object, such as needing to capture what language a person speaks, then the XML Schema “language” data type is used. For example, the following shows that a benefit plan participant speaks German.
<ParticipantPrimaryLanguage>de</ ParticipantPrimaryLanguage>
The LanguageCode and LanguageCodeType can be used to capture language as a data element. In the interest of simplicity, the Consortium preference is to use the ISO 639-1 two-character code when possible; however, this is not required.
Human resources data, by its very nature, is personal data. The laws of many jurisdictions as well as codes of fair information practice require organizations to handle personal data in a way that protects individuals from loss of privacy.
The data exchange specifications developed by the HR-XML Consortium are designed to be useful across many jurisdictions and within a variety of business contexts. It is not feasible for the HR-XML Consortium to develop specific privacy guidance for every jurisdiction or business context in which the Consortium's specifications might be implemented. When implementing data exchanges using the HR-XML Consortium's data definitions (or, for that matter, any data exchange mechanism), organizations are advised to examine the privacy protections that may be required under applicable law or codes of fair information practice.
For information on protecting personal data, general references include: European Union Data Protection Directive (95/46/EC); the Association Computing Machinery Code of Ethics (1992); Canadian Standards Association Model Code for the Protection of Personal Information (1995 -- PIPEDA); U.S.-EU Safe Harbor Principles and FAQs (2000).
|
Date |
Description |
|
2002-08-28 |
Draft |
|
2002-11-18 |
Added xml:lang information |
|
2002-12-16 |
Added LanguageDependentText information |
|
2002-12-30 |
Removed element LanguageDependentText. (Type is still included). Clarified ISO references. |
|
2003-02-26 |
Approved recommendation by HR-XML Consortium. The default and targetNamespaces of all HR-XML schemas have been standardized. This recommendation is available as part of the HR-XML 2_0 architecture. |
|
2006-02-28 |
Approved by Consortium |
|
2007-Apr-15 |
Approved by Consortium |
The following documents are available for purchase from ISO (http://www.iso.org/):
ISO 5218:1977 Information interchange -- Representation of human sexes
ISO 639-1:2002 Codes for the representation of names of languages -- Part 1: Alpha-2 code
ISO 4217:2001 Codes for the representation of currencies and funds
ISO 3166-2:1998 Codes for the representation of names of countries and their subdivisions -- Part 2: Country subdivision code
ISO 3166-3:1999 Codes for the representation of names of countries and their subdivisions -- Part 3: Code for formerly used names of countries
Information on the details of xml:lang may be found at the W3C website:
http://www.w3.org/TR/2000/WD-xml-2e-20000814#sec-lang-tag


My Journey in the MLIS Program
When I first entered the MLIS program, my focus was on learning everything I could about the profession and what it means to be an LIS professional. The Foundations to Library and Information Science course I feel provided me with the base understanding that an LIS professional is more than just a librarian, but an advocate for intellectual freedom. Seeing how the field has changed over the years helped me to better understand why advocacy for the profession is a necessary responsibility of all LIS professionals in the field, and I felt motivated to do my part to learn all I could to better my own workplace. Classes like Introduction to Information Technology, Organization of Information, Reference Sources and Services, Collection and Access Management, and Management of Information Agencies also helped to inform my understand of the tools we use and the policies we put in place to operate as information centers for the public.
In my second year in the program, while in my Management of Information Agencies and American Library History courses is where I felt my interest in library and archives management started to form. In learning about the history of how libraries developed in the United States, I was able to develop an appreciation and understanding of how far the field has come and the potential in where we could go. The Management of Information Agencies course, taught me more about the challenges in regards to leadership. From personnel to facility management, I learned so much about the responsibilities of those in management positions, and came away to better empathize with my own supervisor and the work he does for us in my current position. My desire to learn more about management is why I took courses in project management and information policy. Developing skills to help manage collaborative projects, and developing an awareness of the world and the laws we operate in are important for an information agency to succeed today.
In the later half of my second year and my third, I focused on taking archival science courses in order to understand archival theory. After my internship with the Eisenhower Presidential Library, I found that I wanted to be an Archivist and knew I needed to study archival theory in order to succeed in the field. The courses I took were relevant to my current work as an Archives Technician, but I came to understand what the values and ethics are for archivists, where the field is and where it desires to go, and what my place in it is. While I do not see myself becoming an Archivist now, having a full understanding of the responsibilities of archivists and the tools they need to do their work, helps me in finding ways to help them get what they need to do their job.
As I reach the end of my time in the MLIS program, I have a strong appreciation for the work LIS professionals do. Advocacy and ensuring the public’s right to intellectual freedom is protected is important, but what I’m walking away with is an even stronger desire to help LIS professionals do the work they need live up to the mission of their institutions. I’ve met professors, co-workers, and even mentors who have so much passion for their work. Their enthusiasm and love for the field continues to inspire me to do my best.


Home
PS4 Exploit
About
Refresh Browser
Action: Re-opens the web browser...
Call ShellUI
Action: Calls NPXS20001 which is the Shell UI, but does not work cause it doesnt...
PS Store Folder Layout
Action: Shows the layout of a PS Store object...
PS Store Load Null
Action: Loads the PS Store, but it loads nothing...
Stay tune for more...!
Creator: DeVeL_AnOnIk ; RoBotoX64


web-dev club
You need:
Internet and PC (laptop)
Some free time for programming
Desire to learn something new!!!
We teach:
Frontend (HTML, CSS, JS)
Backend
PHP/MySQL
Python/Django
Node.js
Fullstack (frontend + backend)
Design
What can we make:
Landing page
Interner-shop
Edits for website
Site for school
Card site
Optimization
Web-application


G120
Overview
The G120 and G120E SoMs are powerful, low-cost, System on Modules part of the GHI Electronics SurfaceMount Compute Modules (SCM) line. These modules can be programmed in .NET C# and Visual Basic using TinyCLR OS or .NET Micro Framework.
Pricing, purchasing, and other information can be found on the G120 Page on our main website.
Ordering Part Number
- G120 SoM: G120B-SM-373
- G120E SoM: G120E-SM-532
- G120E Dev Board: G120D-SM-533
G120 vs G120E
| G120 | G120E | |
|---|---|---|
| Processor | NXP LPC1788FET180 | NXP LPC1788FET208 |
| Package | 91 pin surface-mount module (SMT) | 120 MHz |
| Dimensions | 38.1 x 26.7 x 3.5 mm | 45.8 x 39.4 x 4.4 mm |
| RTC | External 32,768 Hz crystal | Included |
| GPIO | 72 | 80 |
| SPI | 3 | 2 |
| Ethernet | ENC28J60 over SPI | ENC28J60 over SPI and/or |
| Built-in base 100 Ethernet PHY |
Specifications
| Spec | Value |
|---|---|
| Processor | NXP LPC1788FET |
| Speed | 120 MHz |
| Internal RAM | 96 KByte (SRAM) |
| Internal Flash | 512 KByte |
| External RAM | 16 MByte (DRAM) |
| External Flash | 4 MByte (SPI) |
| Dimensions (G120) | 38.1 x 26.7 x 3.5 mm |
| Dimensions (G120E) | 45.8 x 39.4 x 4.4 mm |
| Temperature Range | -40 C to +85 C |
Note: Resources are shared between your application and the operating system.
Peripherals
- TinyCLR OS ready
- .NET Micro Framework
- RoHS Lead Free
- 120 MHz ARM Cortex-M3 NXP LPC1788
- 6 Mbytes available RAM
- 2.3 Mbytes available flash
- Embedded LCD controller
- 72 to 80 GPIO
- 43 interrupt capable GPIO
- 2 to 3 SPI
- 1 I2C
- 5 UART
- 2 CAN
- 12 PWM
- 8 12-bit analog input
- 1 10-bit analog output
- 4-bit SD/MMC memory card interface
- Low power modes
- RTC
- Watchdog
- Threading
- USB host
- USB client
- SQLite database
- TCP/IP with SSL
- Full .NET socket interface
- Ethernet
- Wi-Fi
- PPP
- Graphics
- Images
- Fonts
- Controls
- File System
- Full .NET file interface
- SD cards
- USB drives
- Native extensions
- Runtime Loadable Procedures
- Device register access
- Signal controls
- Generation
- Capture
- Pulse measurement
G120 Pinout
Many signals on the G120 are multiplexed to offer multiple functions on a single pin. Developers can decide on the pin functionality to be used through the provided libraries. Any pin with no name, function, or note must be left unconnected.
G120E Pinout
Footprints
We recommend no traces or vias under the module. Dimensions are in inches.
G120 Recommended Footprint
G120E Recommended Footprint
Device Startup
The G120 is held in reset when the reset pin is low. Releasing it will begin the system startup process. It is pulled high internally on the G120E and left floating on the G120. There are four different components of the device firmware:
- GHI Bootloader: initializes the system, updates TinyBooter when needed, and executes TinyBooter.
- TinyBooter: executes TinyCLR, updates TinyCLR when needed, and updates the system configuration.
- TinyCLR: loads, debugs, and executes the managed application.
- Managed application: the program developed by the customer.
Which components get executed on startup can be control by manipulating the LDR0 and LDR1 pins. LDR0 and LDR1 are pulled high on startup.
| LDRO | LDR1 | Effect |
|---|---|---|
| Ignored | High | Execute the managed application |
| High | Low | Wait in TinyBooter |
| Low | Low | Wait in GHI Bootloader |
Additionally, the communications interface between the host PC and the G120 is selected on startup through the MODE pin, which is pulled high on startup
| MODE | G120 | G120E |
|---|---|---|
| High | USB | COM1 |
| Low | COM1 | USB |
The above discussed functions of LDR0, LDR1, and MODE are only during startup. After startup, they return to the default GPIO state and are available to use as GPIO in the user application.
.NET Micro Framework (NETMF)
The NETMF software on G120 is mature and complete. For more information on NETMF you can go to the NETMF Introduction page. The NETMF Getting Started page covers NETMF from setup of the host computer to program deployment on both an emulator and target device.
TinyCLR OS
TinyCLR OS provides a way to program the G120 in C# or Visual Basic from the Microsoft Visual Studio integrated development environment. To get started you must first install the bootloader and firmware on the G120 (instructions below) and then go to the TinyCLR Getting Started page for instructions.
Loading Bootloader v2
The G120 comes with Bootloader v1 pre-installed. You need to upgrade to Bootloader v2. Start by putting G120 into the v1 loader mode by setting LDR0 and LDR1 signals low while reseting the board. You can now load v2 loader as detailed on the GHI Bootloader page.
Loading the Firmware
- Activate the bootloader, hold the LDR0 signal low while resetting the board.
- Open TinyCLR Config tool.
- Click the loader tab.
- Select the correct COM port. If you are not seeing it then the device is not in the loader mode.
- Click the
Update to Latest
button.
You can also update the firmware manually. Download the firmware and learn how to use the GHI Bootloader manually.
Start Coding
Now that you have installed the bootloader and firmware on the G120, you can setup your host computer and start programming. Go to the TinyCLR Getting Started page for instructions.
Code Samples
For some examples of using TinyCLR, take a look at the TinyCLR Samples repo. You may also find the TinyCLR tutorials useful.
Native Code
TinyCLR OS also lets you use native code that works alongside your managed application. Native code can be used to provide improved performance or access to advanced features not exposed through TinyCLR. For more information check out Native Code on TinyCLR.
The memory area reserved for native code in TinyCLR OS on G120 starts at 0xA0F00000 and its length is 0xFFF8.
Datasheet
This documentation page replaced the legacy datasheet PDF but it is here for reference.
CAN Bit Timing Settings
The following CAN bit timing parameters were calculated for a G120 driving the SN65HVD230 CAN driver chip. See the Configuring the Bus section of the CAN Tutorial for more information.
| Baud | Propagation | Phase1 | Phase2 | Baudrate Prescaler | Synchronization Jump Width | Use Multi Bit Sampling | Sample Point | Max Osc. Tolerance | Max Cable Length |
|---|---|---|---|---|---|---|---|---|---|
| 33.333K | 1 | 12 | 2 | 120 | 1 | False | 86.7% | 0.33% | 2145M |
| 83.333K | 1 | 13 | 2 | 45 | 1 | False | 87.5% | 0.31% | 845M |
| 125K | 1 | 13 | 2 | 30 | 1 | False | 87.5% | 0.31% | 545M |
| 250K | 1 | 13 | 2 | 15 | 1 | False | 87.5% | 0.31% | 245M |
| 500K | 1 | 12 | 2 | 8 | 1 | False | 86.7% | 0.33% | 92M |
| 1M | 1 | 12 | 2 | 4 | 1 | False | 86.7% | 0.33% | 18M |
Note: Maximum Oscillator Tolerance and Maximum Cable Length are theoretical maximums and must be tested tensure reliability.*
Design Considerations
Required Pins
Exposing the following pins is required in every design to enable device programming, updates, and recovery:
- LDR0
- LDR1
- Reset
- Desired debug interface(s)
- MODE if required to select a debug interface
Power Supply
A typical clean power source, suited for digital circuitry, is needed to power the G120. Voltages should be within at least 10% of the needed voltage. Decoupling capacitors of 0.1 μF are needed near every power pin. Additionally, a large capacitor, typically 47 μF, should be near the G120 if the power supply is more than few inches away.
Crystals
The G120 and G120E include the needed system crystal and its associated circuitry. The G120E additionally includes the RTC crystal and its associated circuitry. However, the G120 does not. It requires an external 32,768 Hz crystal and circuitry for the RTC to function. Please see the processor’s documentation for advanced information.
Interrupt Pins
Only pins on ports 0 and 2 support interrupts.
Reset
The G120E includes an internal pull-up resistor on the reset pin. The G120 does not, so an external 15 kΩ pull-up resistor is required for correct operation.
SPI Channels
SPI2 is shared internally with the flash memory on the G120. Use of a chip select with devices on this channel is required or the G120 will not function properly. The use of another SPI channel is recommended.
Ethernet
The built in Ethernet available on the G120E includes all needed Ethernet circuitry internally. However, an appropriate magnet and connector, like the J0011D or similar, are required.
Oven Reflow
The G120 is not sealed for moisture. Baking the module before reflow is recommended and required in a humid environment. The process of reflow can damage the G120 if the temperature is too high or exposure is too long.
The lead-free reflow profiles used by GHI Electronics are shown below. The profiles are based on AIM SAC 305 solder (3% silver, 0.5% copper). The thermal mass of the assembled board and the sensitivity of the components on it affect the total dwell time. Differences in the two profiles are where they reach their respective peak temperatures as well as the time above liquids (TAL). The shorter profile applies to smaller assemblies, whereas the longer profile applies to larger assemblies such as back-planes or high-density boards. The process window is described by the shaded area. These profiles are only starting-points and general guidance. The particulars of an oven and the assembly will determine the final process.
G120 Development Board
The G120E Dev Board is an excellent starting point and reference design for anyone interested in evaluating and developing with the G120/G120E.
Legal
License
This product with its accompanying firmware are licensed royalty-free for commercial and noncommercial use. Using the provided firmware on a non-official product requires additional licensing. The provided documentation/schematics/libraries/sources are not to be used in any manner outside for the benefit of implementing and using this GHI Electronics product into your design.
 GHI ELECTRONICS LINE OF PRODUCTS ARE NOT DESIGNED FOR LIFE SUPPORT APPLICATIONS. SPECIFICATIONS, PRICE AND AVAILABILITY ARE SUBJECT TO CHANGE WITHOUT ANY NOTICE.
You can also visit our main website at www.ghielectronics.com and our community forums at forums.ghielectronics.com.


TheCodejit
About
Projects
Contact
Resume
Welcome
Thanks For Visiting
ABOUT
PROJECT
Symphony
Price-Tracker
Contact


{{item.modname}}
Do Nothing
viewed
sms sent
invite sent
sms skip
email sent
clicked
pending
skipped
completed
in progress
in progress
completed
Error
Submitted
Completed
Started
Preparing
Completed
Cancelled
Error
Declined
Voided
Deleted
Error
Completed
In progress
Recorded
Saved
{{item.crdt}}


this section is all about credit reports
you can order credit reports once a year for free. at free annual credit report site you can always link to it from the ftc website since they administer the fair credit act laws pretty much.


Sprint 138 Details Repository Activity between 2020-05-26 and 2020-06-08 GitHub Repository PRs Created PRs Merged PRs Closed PRs Open when Sprint Ended Issues Created Issues Closed Issues Open when Sprint Ended Ansible/ansible_tower_client_ruby 0 0 1 1 (Still Open + Closed Since) 0 0 6 (Still Open + Closed Since) ManageIQ/container-amazon-smartstate 1 2 0 0 0 0 1 (Still Open + Closed Since) ManageIQ/guides 2 1 0 5 (Still Open + Closed Since) 1 0 6 (Still Open + Closed Since) ManageIQ/integration_tests 36 31 1 83 (Still Open + Closed Since) 0 1 56 (Still Open + Closed Since) ManageIQ/linux_admin 0 1 0 1 (Still Open + Closed Since) 0 0 0 ManageIQ/manageiq 44 31 6 56 (Still Open + Closed Since) 15 6 161 (Still Open + Closed Since) ManageIQ/manageiq-api 10 8 3 10 (Still Open + Closed Since) 1 4 24 (Still Open + Closed Since) ManageIQ/manageiq-appliance 1 1 0 3 (Still Open + Closed Since) 0 0 2 (Still Open + Closed Since) ManageIQ/manageiq-appliance-build 8 10 0 3 (Still Open + Closed Since) 3 5 4 (Still Open + Closed Since) ManageIQ/manageiq-automation_engine 1 1 0 3 (Still Open + Closed Since) 0 0 11 (Still Open + Closed Since) ManageIQ/manageiq-content 2 0 0 7 (Still Open + Closed Since) 1 0 4 (Still Open + Closed Since) ManageIQ/manageiq-cross_repo 0 1 0 0 0 0 1 (Still Open + Closed Since) ManageIQ/manageiq-cross_repo-tests 11 0 8 19 (Still Open + Closed Since) 0 0 0 ManageIQ/manageiq-documentation 9 11 7 0 2 3 9 (Still Open + Closed Since) ManageIQ/manageiq-gems-pending 1 1 0 1 (Still Open + Closed Since) 1 1 5 (Still Open + Closed Since) ManageIQ/manageiq-pods 13 14 0 3 (Still Open + Closed Since) 12 10 18 (Still Open + Closed Since) ManageIQ/manageiq-providers-amazon 2 1 0 4 (Still Open + Closed Since) 0 0 5 (Still Open + Closed Since) ManageIQ/manageiq-providers-ansible_tower 0 1 0 1 (Still Open + Closed Since) 0 0 1 (Still Open + Closed Since) ManageIQ/manageiq-providers-azure 2 1 0 2 (Still Open + Closed Since) 0 0 2 (Still Open + Closed Since) ManageIQ/manageiq-providers-azure_stack 1 0 0 1 (Still Open + Closed Since) 0 0 2 (Still Open + Closed Since) ManageIQ/manageiq-providers-google 7 6 0 1 (Still Open + Closed Since) 2 2 0 ManageIQ/manageiq-providers-kubernetes 2 2 0 1 (Still Open + Closed Since) 0 0 6 (Still Open + Closed Since) ManageIQ/manageiq-providers-kubevirt 1 1 0 0 0 0 0 ManageIQ/manageiq-providers-lenovo 1 0 0 2 (Still Open + Closed Since) 0 0 2 (Still Open + Closed Since) ManageIQ/manageiq-providers-nsxt 1 0 0 1 (Still Open + Closed Since) 0 0 1 (Still Open + Closed Since) ManageIQ/manageiq-providers-nuage 2 0 1 2 (Still Open + Closed Since) 1 1 0 ManageIQ/manageiq-providers-openshift 1 0 0 2 (Still Open + Closed Since) 0 1 1 (Still Open + Closed Since) ManageIQ/manageiq-providers-openstack 13 9 2 9 (Still Open + Closed Since) 3 1 13 (Still Open + Closed Since) ManageIQ/manageiq-providers-ovirt 4 1 0 9 (Still Open + Closed Since) 0 0 2 (Still Open + Closed Since) ManageIQ/manageiq-providers-redfish 2 2 0 1 (Still Open + Closed Since) 0 1 3 (Still Open + Closed Since) ManageIQ/manageiq-providers-vmware 6 4 0 5 (Still Open + Closed Since) 1 0 14 (Still Open + Closed Since) ManageIQ/manageiq-release 3 1 0 4 (Still Open + Closed Since) 0 0 4 (Still Open + Closed Since) ManageIQ/manageiq-rpm_build 11 10 0 5 (Still Open + Closed Since) 2 2 4 (Still Open + Closed Since) ManageIQ/manageiq-schema 1 2 0 7 (Still Open + Closed Since) 1 0 11 (Still Open + Closed Since) ManageIQ/manageiq-smartstate 1 2 0 2 (Still Open + Closed Since) 1 0 7 (Still Open + Closed Since) ManageIQ/manageiq-style 1 0 0 1 (Still Open + Closed Since) 2 0 2 (Still Open + Closed Since) ManageIQ/manageiq-ui-classic 32 28 2 48 (Still Open + Closed Since) 1 5 227 (Still Open + Closed Since) ManageIQ/manageiq-ui-service 5 4 0 3 (Still Open + Closed Since) 1 0 3 (Still Open + Closed Since) ManageIQ/manageiq-v2v 4 5 0 0 0 0 22 (Still Open + Closed Since) ManageIQ/manageiq-v2v-conversion_host 3 3 0 2 (Still Open + Closed Since) 1 1 7 (Still Open + Closed Since) ManageIQ/manageiq.github.io 1 1 0 0 0 0 0 ManageIQ/manageiq.org 8 7 0 3 (Still Open + Closed Since) 0 0 9 (Still Open + Closed Since) ManageIQ/miq_bot 1 0 0 13 (Still Open + Closed Since) 0 0 35 (Still Open + Closed Since) ManageIQ/ovirt 1 1 0 0 0 0 0 ManageIQ/react-ui-components 1 0 1 4 (Still Open + Closed Since) 0 0 2 (Still Open + Closed Since) ManageIQ/sprint_statistics 2 3 0 0 0 0 0 ManageIQ/ui-components 0 1 0 2 (Still Open + Closed Since) 0 0 7 (Still Open + Closed Since) Inactive Repositories GitHub Repository PRs Open when Sprint Ended Issues Open when Sprint Ended ManageIQ/.github 0 0 ManageIQ/activerecord-id_regions 1 (Still Open + Closed Since) 1 (Still Open + Closed Since) ManageIQ/activerecord-virtual_attributes 1 (Still Open + Closed Since) 2 (Still Open + Closed Since) ManageIQ/amazon_ssa_support 2 (Still Open + Closed Since) 2 (Still Open + Closed Since) ManageIQ/ansible-manageiq-automate 0 3 (Still Open + Closed Since) ManageIQ/ansible-manageiq-vmdb 0 0 ManageIQ/awesome_spawn 2 (Still Open + Closed Since) 0 ManageIQ/azure-armrest 5 (Still Open + Closed Since) 0 ManageIQ/azure-signature 0 0 ManageIQ/binary_struct 1 (Still Open + Closed Since) 1 (Still Open + Closed Since) ManageIQ/bundler-inject 0 3 (Still Open + Closed Since) ManageIQ/container-embedded-ansible 0 0 ManageIQ/container-httpd 0 0 ManageIQ/container-httpd-init 0 1 (Still Open + Closed Since) ManageIQ/container-kafka 0 0 ManageIQ/container-memcached 0 0 ManageIQ/container-postgresql 0 1 (Still Open + Closed Since) ManageIQ/container-ruby 0 1 (Still Open + Closed Since) ManageIQ/dbus_api_service 0 0 ManageIQ/ffi-vix_disk_lib 0 1 (Still Open + Closed Since) ManageIQ/font-fabulous 0 0 ManageIQ/foreman_api_client 0 0 ManageIQ/httpd_configmap_generator 0 2 (Still Open + Closed Since) ManageIQ/integration_tests_playbooks 0 0 ManageIQ/inventory_refresh 0 7 (Still Open + Closed Since) ManageIQ/linux_block_device 0 0 ManageIQ/log_decorator 1 (Still Open + Closed Since) 0 ManageIQ/manageiq-api-client 4 (Still Open + Closed Since) 7 (Still Open + Closed Since) ManageIQ/manageiq-api-client-python 2 (Still Open + Closed Since) 1 (Still Open + Closed Since) ManageIQ/manageiq-appliance-dev-setup 0 0 ManageIQ/manageiq-appliance_console 0 3 (Still Open + Closed Since) ManageIQ/manageiq-consumption 1 (Still Open + Closed Since) 17 (Still Open + Closed Since) ManageIQ/manageiq-decorators 1 (Still Open + Closed Since) 0 ManageIQ/manageiq-design 2 (Still Open + Closed Since) 4 (Still Open + Closed Since) ManageIQ/manageiq-graphql 1 (Still Open + Closed Since) 1 (Still Open + Closed Since) ManageIQ/manageiq-loggers 0 2 (Still Open + Closed Since) ManageIQ/manageiq-lxca-docs 1 (Still Open + Closed Since) 1 (Still Open + Closed Since) ManageIQ/manageiq-messaging 1 (Still Open + Closed Since) 4 (Still Open + Closed Since) ManageIQ/manageiq-nuage-docs 0 2 (Still Open + Closed Since) ManageIQ/manageiq-password 0 0 ManageIQ/manageiq-performance 2 (Still Open + Closed Since) 16 (Still Open + Closed Since) ManageIQ/manageiq-postgres_ha_admin 0 0 ManageIQ/manageiq-providers-dummy_provider 0 2 (Still Open + Closed Since) ManageIQ/manageiq-providers-foreman 2 (Still Open + Closed Since) 0 ManageIQ/manageiq-providers-scvmm 0 1 (Still Open + Closed Since) ManageIQ/manageiq-redfish-docs 1 (Still Open + Closed Since) 0 ManageIQ/manageiq-ssh-util 0 0 ManageIQ/manageiq-v2v-conversion_host-build 2 (Still Open + Closed Since) 2 (Still Open + Closed Since) ManageIQ/manageiq-vagrant-dev 0 1 (Still Open + Closed Since) ManageIQ/manageiq-vcloud-docs 0 0 ManageIQ/manageiq_build_status 0 1 (Still Open + Closed Since) ManageIQ/memory_buffer 0 0 ManageIQ/miq_tools_services 4 (Still Open + Closed Since) 0 ManageIQ/more_core_extensions 0 2 (Still Open + Closed Since) ManageIQ/net_app_manageability 0 0 ManageIQ/optimist 3 (Still Open + Closed Since) 4 (Still Open + Closed Since) ManageIQ/ovirt_metrics 0 1 (Still Open + Closed Since) ManageIQ/pg-dsn_parser 0 0 ManageIQ/pg-logical_replication 0 0 ManageIQ/pg-pglogical 0 0 ManageIQ/polisher 2 (Still Open + Closed Since) 0 ManageIQ/query_relation 1 (Still Open + Closed Since) 0 ManageIQ/virt_disk 0 0 ManageIQ/virtfs 1 (Still Open + Closed Since) 0 ManageIQ/virtfs-camcorderfs 1 (Still Open + Closed Since) 0 ManageIQ/virtfs-ext3 1 (Still Open + Closed Since) 0 ManageIQ/virtfs-ext4 1 (Still Open + Closed Since) 0 ManageIQ/virtfs-fat32 5 (Still Open + Closed Since) 0 ManageIQ/virtfs-iso9660 0 0 ManageIQ/virtfs-ntfs 2 (Still Open + Closed Since) 0 ManageIQ/virtfs-xfs 1 (Still Open + Closed Since) 0 ManageIQ/vmware_web_service 2 (Still Open + Closed Since) 1 (Still Open + Closed Since)


{explore_UNDG}
d-portal.org {index_paragraph1_text}
{index_paragraph2_text}
{explore_paragraph1_text}
{explore_paragraph2_text}
Where is the data from?
Data in the dropdown menu is built from the database which updates everyday at GMT +0 with new data fetched from the IATI Registry.
The list of publishers comes from published XML activities reported by UNDG members in the IATI Registry database.
We list countries that are reported by publishers using ISO3166 Alpha-2.
The dropdown list of sectors corresponds to OECD DAC 3 Digit sector codes.
{index_paragraph3_text}
{index_paragraph4_text}
{index_paragraph5_text}
{index_paragraph6_text}


A Graph of your intelligence.
Author: Wizmann<EMAIL_ADDRESS>Inspired by Pelican.
Powered by Misaka, Jinja2, pygments, pyparsing, Bootstrap3, Angularjs and Buckets.


{% extends '_base.html' %} {% block content %} Vote Service poll ID #{{ vote.pollID }} voter ID #{{ voterid }}
You don't have access to this vote's private content.
Access restricted.


Jeremiah 51:54
A sound of a cry cometh from Babylon, and great destruction from the land of the Chaldeans:


The Two Best Books On The Dot-com Rush
byFacebook, Twitter and Apple play a huge role in our daily routines nowadays, and cloud computing seems poised to do the same. But we should remember that none of this would be so had the Dot-com Rush never happened.
The Dot-com Rush (or, the Internet Bubble) refers to the period from roughly 1994 to 2000, when a combination of new technological products, mainstream press hype and very high stock prices pushed the internet into the mainstream. Product-wise, AOL bought in-home internet connections to the general public while Microsoft spent billions to make their Windows 95 operating system a success, with each product making it easier for average folks to surf the web.
The success of Windows 95 sent Microsoft’s stock price through the roof, turning the company’s employees who accumulated loads of MSoft stock over the years into millionaires…secretaries and janitors included. Outsiders took that and another incident (which I’ll get to shortly) as proof that “easy money” actually existed.  Their CEOs made sure their startup name contained “.com,” filed initial public offerings and got rich in a matter of weeks.
All this pushed global stock markets to record highs, causing average investors to jump on the bandwagon and buy as much tech stock as they could in search for instant wealth. So began the Dot-com Bubble.  So burst the Bubble.
The burst didn’t stop the growth of the internet, it just forced internet companies to act smarter. Case in point: Yahoo! rose to prominence during the bubble while Google rose to prominence after it burst. So looking at the Dot-com Rush as a business case study isn’t a bad idea. There are a lot of books on the subject, most of which are so-so. Either they don’t tell the whole story or they tell it poorly. And when I think about books that I would suggest on the subject, only two come to mind:
The New New Thing
by Michael Lewis
Writer Michael Lewis has been getting a lot of props for his coverage of the 2008 financial crisis. His Pulitzer-winning article “The End” along with his series of Vanity Fair articles were combined and paraphrased to create his most recent novel, The Big Short. This precedes his first novel, the phenomenal Liar's Poker which chronicled both the birth of mortgage-backed security and the Michael Milken junk bond scandal.
I’ve always felt that his critically acclaimed stuff overshadows his fascinating The New New Thing which told multiple stories about entrepreneur Jim Clark, including the story of his role in that “other incident” I mentioned above: the rise of Netscape.
Netscape was the first commercial web browser and its parent company, Netscape Communications, was the first purely internet company to issue an IPO. Prior to the IPO, Netscape Communications didn’t have an office, its employees didn’t have business cards and, most of all, the Netscape browser hadn’t even been released. But they promised that the browser would get your grandmother on the internet and key industry players made sure that the whole world believed this. The result: on the day of its IPO, Netscape shares started at $28 a piece and closed at $75. Since all the Netscape employees were paid in company stock instead of cash, they became millionaires à la the Microsoft employees.
Netscape’s IPO wasn’t successful because of a great product, just the promise of one-a fact that wasn’t lost on anybody. After this, people with absolutely no internet knowledge started internet companies with the belief that they could duplicate Netscape’s instant financial success. They would then take the company public with the hopes become millionaires overnight.
Netscape would eventually be overshadowed by Microsoft’s Internet Explorer and become a shell of its former self, but its IPO changed the course of American economics in a way that only the 1929 stock market crash can compare. It’s an important party of the story of how we got here, internet-wise, and should be studied by all.
All the Rave: The Rise and Fall of Shawn Fanning’s Napster
by Joseph Menn A funny by-product of the Dot-com Bubble was the arrogance of dot-com company CEOs. Most loved to talk about how their company would change the business sector they were in: if a startup based on selling cars showed up, its CEO told anyone in earshot how their company would create a revolutionary way of buying and selling cars and do away with the need for car dealerships. All predicted high levels of success, almost all failed.
Within this arrogance lies the irony of Napster: that it was a music-based company that entered the music business, revolutionized how it functioned, then failed spectacularly as only an internet startup could. It was popular as hell as it allowed anyone to download music for free and it paved the way for Apple’s iPod and iTunes. But the company’s erratic CEO John Fanning, not his nephew Shawn as many assumed, was focused on taking Napster public and cashing in on the Dot-com Rush hype. Instead, he should have focused one achieving one of the company’s main priorities: legitimizing a business that clearly had legal issues.
Without spoiling the whole story, I can tell you that Joseph Menn’s All The Rave covers this story quite nicely. From the company’s humble beginnings in suburban Boston to its public war of words with the music industry, all the way through to the trials, the failed Bertelsmann merger and eventual bankruptcy. Menn tells the Napster story in an easy-to-read and enjoyable writing style.
Menn also takes some time detailing how Napster was representative most internet startups: a company with a weak business plan whose megalomaniac boss believed that it was strong enough to make him quick cash. Many watched Netscape make a fortune on the promise of a good product-few noticed that they delivered on that promise. Internet Explorer would beat it out eventually but early on, Netscape got everyone including your grandmother on the web with ease, like they said they would. Napster, along with Pets.com, DEN and others, thought that dot-coms would make you rich, even if they did a half-assed job. All of them were wrong.
The two books above, I believe, best chronicle the beginning and end of the Dot-com Rush. You can buy them by clicking on the two Barnes & Noble links below if you like, but feel free to tell me if there are other books I should check out.


- In each turn, a player rolls a dice until a 1 is rolled or player decides to hold and pass their turn
- The number rolled is added to the temporary score unless a player rolls 1.
- If the player rolls a 1, he or she loses their temporary score and the turn is passed to the other player.
- The temproray score is added to the results when the user decides to pass their turn to the next player.
- The first player to gain 100 points is the winner.
PLAYER 1
0
TEMPORARY SCORE
0
PLAYER 2
0
TEMPORARY SCORE
0


Sign in
@If.Error
Login or password is not valid
@EndIf
Username
Password
Remember me
Sign in
Create an account


Average US price of gas drops 3 cents per gallon to $2.66
by The Associated PressCAMARILLO, Calif. — The average U.S. price of regular-grade gasoline has dipped 3 cents per gallon (3.8 litres) to $2.66 over the past two weeks.
Industry analyst Trilby Lundberg of the Lundberg Survey says Sunday retail gas prices may continue to drop a few more pennies in late November as gasoline demand decreases when the work commute is interrupted by the holiday season, combined with seasonally inclement weather.
The average U.S. price of mid-grade gasoline is $2.96 per gallon and premium is $3.20.
The highest average price in the nation for regular-grade gas is $3.89 per gallon in San Francisco.
The lowest average is $2.10 in Baton Rouge, Louisiana.
The average price of diesel is $3.07, down a fraction of a penny.
The Associated Press


nnn file browser
This is a good light weight terminal file browser.
Setting up
Enable cd on quit.
{ Quit on cd files }
Create the file ./config/fish/functions/n.fish and paste the contents of the cd on quit file for fish file.
Remove the -x from the export statments so that ^G is the only wat to cd on quit. Start nnn as just n for cd on quit to work.
Set defaults.
Set some default options in your .bashrc .
EDITOR=micro # edit files using micro when e is pressed PAGER=less # preview files using less


| pomp_fun {pomp} | R Documentation |
Definition and methods of the ‘pomp_fun’ class.
## S4 method for signature 'missing'
pomp_fun(
slotname = NULL,
obsnames = character(0),
statenames = character(0),
paramnames = character(0),
covarnames = character(0),
...
)
## S4 method for signature ''function''
pomp_fun(f, proto = NULL, slotname = NULL, ...)
## S4 method for signature 'character'
pomp_fun(
f,
PACKAGE = NULL,
obsnames = character(0),
statenames = character(0),
paramnames = character(0),
covarnames = character(0),
slotname = NULL,
...
)
## S4 method for signature 'Csnippet'
pomp_fun(
f,
slotname = NULL,
libname = NULL,
obsnames = character(0),
statenames = character(0),
paramnames = character(0),
covarnames = character(0),
Cname,
...
)
## S4 method for signature 'pomp_fun'
pomp_fun(f, ...)
f |
A function or the name of a native routine. |
proto |
optional string; a prototype against which |
PACKAGE |
optional; the name of the dynamically-loadable library in
which the native function |
The ‘pomp_fun’ class implements a common interface for user-defined procedures that can be defined in terms of R code or by compiled native routines.
Aaron A. King


DIMENHYDRINATE - dimenhydrinate tablet
Contract Pharmacal Corp
Disclaimer: Most OTC drugs are not reviewed and approved by FDA, however they may be marketed if they comply with applicable regulations and policies. FDA has not evaluated whether this product complies.
*Compare to the active ingredient in Dramamine® Tablets
Dimenhydrinate 50mg
MOTION SICKNESS RELIEF for ADULTS and CHILDREN
100 Tablets
DO NOT USE IF IMPRINTED SAFETY SEAL UNDER CAP IS BROKEN OR MISSING
Drug Facts
for prevention and treatment of these symptoms associated with motion sickness
In case of overdose, get medical help or contact a Poison Control Center right away.
Directions
| adults and children 12 years of age and over | 1 to 2 tablets every 4 to 6 hours, not to exceed 12 tablets in 24 hours |
| children 6 years to under 12 years of age | ½ to 1 tablet every 6 to 8 hours, not to exceed 3 tablets in 24 hours |
| children 2 years to under 6 years of age | ¼ to ½ tablet every 6 to 8 hours, not to exceed 1 ½ tablets in 24 hours |
| children under 2 years of age | consult a doctor |
DO NOT EXCEED RECOMMENDED DOSE
Croscarmellose Sodium, Dicalcium Phosphate, Magnesium Stearate and Microcrystalline Cellulose.
*This product is not manufactured or distributed by Pfizer Consumer Healthcare owner of the registered trademark Dramamine® Tablets.
Manufactured by: CONTRACT PHARMACAL CORP.
135 Adams Ave., Hauppauge, NY 11788 USA / www.CPCHealth.com
02/08
|
DIMENHYDRINATE
dimenhydrinate tablet | ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
|
| Labeler - Contract Pharmacal Corp (968334974) |
| Establishment | |||
| Name | Address | ID/FEI | Business Operations |
|---|---|---|---|
| Contract Pharmacal Corp | 968334974 | MANUFACTURE |


I'm a Full Stack Software Engineer working at Wayfair in Boston.I'd love to hear from you! Check out my resume here.


{% extends "inside.html" %} {% block head -%} {{ super() }} {%- endblock %} {% block title %}Dashboard{% endblock %} {% block dashboard %}class="active"{% endblock %} {% block welcome %}Good Evening {{ session["username"] }}{% endblock %} {% block sidebar -%}
Financial Summary
Open a salary transfer account with Our Bank to win a year’s pay of up to AED 500,000
> Transfer a monthly salary of AED 10,000 or more to win up to 12 months’ salary. Higher transfers will get more entries.
> Avail a new salary transfer based Credit Card, Personal Loan or Auto Loan and win the outstanding balance amount or monthly instalments.
> Open a Fixed Deposit to get additional entries
Promotion valid till 30th June 2016.
Terms and Conditions apply.
Introducing DirectRemit to Philippines. Now transfer money from UAE to the Philippines in 60 seconds for FREE!
> 60 second transfer to Banco De Oro (BDO) Bank accounts
> Transfers to any other bank account in Philippines within 1 working day
> Free transfer with no remittance fees
Click here to transfer money instantly through DirectRemit
From 1st June 2015, interest rates on selected accounts are being revised.
Please click Learn More to view the new rates.
These rates are applicable for both new and existing accounts.