Machine learning is all about building models from data. However, data scientists frequently talk about models and algorithms first, which very likely generates suboptimal results. The other approach is to play with the data first. Even simple statistics and plots can help us get feelings of data and problems, which more likely lead us to better modelling.
A feature is an individual measurable property of a phenomenon being observed. Features are also called explanatory variables, independent variables, predictors, regressors, etc. Any attribute could be a feature, but choosing informative, discriminating and independent features is a crucial step for effective algorithms in machine learning. Features are usually numeric and a set of numeric features can be conveniently described by a feature vector. Structural features such as strings, sequences and graphs are also used in areas such as natural language processing, computational biology, etc.
Feature engineering is the process of using domain knowledge of the data to create features that make machine learning algorithms work. Feature engineering is fundamental to the application of machine learning, and is both difficult and expensive. It requires the experimentation of multiple possibilities and the combination of automated techniques with the intuition and knowledge of the domain expert.
Generally speaking, there are two major types of attributes:
The data values are non-numeric categories. Examples: Blood type, Gender.
The data values are counts or numerical measurements. A quantitative variable can be either discrete such as the number of students receiving an 'A' in a class, or continuous such as GPA, salary and so on.
Another way of classifying data is by the measurement scales. In statistics, there are four generally used measurement scales:
Data values are non-numeric group labels. For example, Gender variable can be defined as male = 0 and female =1.
Data values are categorical and may be ranked in some numerically meaningful way. For example, strongly disagree to strong agree may be defined as 1 to 5.
Smile has four attribute types: NominalAttribute, NumericAttribute, DateAttribute, and StringAttribute. Many machine learning algorithms can only handle numeric attributes while a few such as decision trees can process nominal attribute directly. Date attribute is useful in plotting. With some feature engineering, values like day of week can be used as nominal attribute. String attribute could be used in text mining and natural language processing.
Most Smile algorithms take simple double[]
as input. But we often use
the encapsulation class AttributeDataset.
In fact, the output of most Smile data parsers is an AttributeDataset object.
AttributeDataset contains a fixed number of attributes. All attribute values are stored as double
even if the attribute may be nominal, ordinal, string, or date. The dataset is stored row-wise
internally, which is fast for frequently accessing instances of dataset.
A data object may have an associated class label (for classification) or real-valued response value (for regression). Optionally, a data object or attribute may have a (positive) weight value, whose meaning depends on applications. However, most machine learning methods are not able to utilize this extra weight information.
AttributeDataset may also contains meta data such as data name and descriptions.
Suppose we have an AttributeDataset object, which may be created by a parser. To feed
the data to a learning algorithm, we need to unwrap the data by the function
unzip
function. If the data also have labels, the function unzipInt
can be used to return a tuple (x, y)
, of which x
is an array of
feature vectors and y
is an array of labels. If the response variable is
real valued in case of regression, unzipDouble
can be used.
val iris = read.arff("data/weka/iris.arff", 4)
// Get the feature vectors.
val x = iris.unzip
// Get the feature vectors and labels.
val (x, y) = iris.unzipInt
Data scientists generally want to inspect the data and its statistics
before training advanced models. AttributeDataset
provides
several functions such as head()
, tail()
,
range()
, summary()
for this purpose.
These functions also return a new AttributeDataset
.
smile> iris // or iris.head(10)
res9: AttributeDataset = iris
class sepallength sepalwidth petallength petalwidth
[1] Iris-setosa 5.1000 3.5000 1.4000 0.2000
[2] Iris-setosa 4.9000 3.0000 1.4000 0.2000
[3] Iris-setosa 4.7000 3.2000 1.3000 0.2000
[4] Iris-setosa 4.6000 3.1000 1.5000 0.2000
[5] Iris-setosa 5.0000 3.6000 1.4000 0.2000
[6] Iris-setosa 5.4000 3.9000 1.7000 0.4000
[7] Iris-setosa 4.6000 3.4000 1.4000 0.3000
[8] Iris-setosa 5.0000 3.4000 1.5000 0.2000
[9] Iris-setosa 4.4000 2.9000 1.4000 0.2000
[10] Iris-setosa 4.9000 3.1000 1.5000 0.1000
140 more rows...
smile> iris.tail(10)
res10: AttributeDataset = iris[140, 150]
class sepallength sepalwidth petallength petalwidth
[1] Iris-virginica 6.7000 3.1000 5.6000 2.4000
[2] Iris-virginica 6.9000 3.1000 5.1000 2.3000
[3] Iris-virginica 5.8000 2.7000 5.1000 1.9000
[4] Iris-virginica 6.8000 3.2000 5.9000 2.3000
[5] Iris-virginica 6.7000 3.3000 5.7000 2.5000
[6] Iris-virginica 6.7000 3.0000 5.2000 2.3000
[7] Iris-virginica 6.3000 2.5000 5.0000 1.9000
[8] Iris-virginica 6.5000 3.0000 5.2000 2.0000
[9] Iris-virginica 6.2000 3.4000 5.4000 2.3000
[10] Iris-virginica 5.9000 3.0000 5.1000 1.8000
smile> iris.summary
res11: AttributeDataset = iris Summary
min q1 median mean q3 max
sepallength 4.3000 5.1000 5.8000 5.8433 6.4000 7.9000
sepalwidth 2.0000 2.8000 3.0000 3.0540 3.3000 4.4000
petallength 1.0000 1.6000 4.4000 3.7587 5.1000 6.9000
petalwidth 0.1000 0.3000 1.3000 1.1987 1.8000 2.5000
In Scala, we can also wrap AttributeDataset
into a
DataFrame
, which provides advanced data manipulation
functions. For example, we can get a row with the array syntax or
refer a column by its name
smile> val df = DataFrame(iris)
smile> df(0)
res12: Datum[Array[Double]] = class sepallength sepalwidth petallength petalwidth
Iris-setosa 5.1000 3.5000 1.4000 0.2000
smile> df.sepallength
res13: AttributeVector = sepallength
[1] 5.1000
[2] 4.9000
[3] 4.7000
[4] 4.6000
[5] 5.0000
[6] 5.4000
[7] 4.6000
[8] 5.0000
[9] 4.4000
[10] 4.9000
140 more values...
It is also easy to create a subset of data frame.
smile> df(10,100)
res13: DataFrame = DataFrame(
iris[10, 100]
class sepallength sepalwidth petallength petalwidth
[1] Iris-setosa 5.4000 3.7000 1.5000 0.2000
[2] Iris-setosa 4.8000 3.4000 1.6000 0.2000
[3] Iris-setosa 4.8000 3.0000 1.4000 0.1000
[4] Iris-setosa 4.3000 3.0000 1.1000 0.1000
[5] Iris-setosa 5.8000 4.0000 1.2000 0.2000
[6] Iris-setosa 5.7000 4.4000 1.5000 0.4000
[7] Iris-setosa 5.4000 3.9000 1.3000 0.4000
[8] Iris-setosa 5.1000 3.5000 1.4000 0.3000
[9] Iris-setosa 5.7000 3.8000 1.7000 0.3000
[10] Iris-setosa 5.1000 3.8000 1.5000 0.3000
80 more rows...
)
Similarly, we can select a few columns to create a new data frame.
smile> df("sepallength", "sepalwidth")
res15: DataFrame = DataFrame(
iris
class sepallength sepalwidth
[1] Iris-setosa 5.1000 3.5000
[2] Iris-setosa 4.9000 3.0000
[3] Iris-setosa 4.7000 3.2000
[4] Iris-setosa 4.6000 3.1000
[5] Iris-setosa 5.0000 3.6000
[6] Iris-setosa 5.4000 3.9000
[7] Iris-setosa 4.6000 3.4000
[8] Iris-setosa 5.0000 3.4000
[9] Iris-setosa 4.4000 2.9000
[10] Iris-setosa 4.9000 3.1000
140 more rows...
)
Advanced operations such as exists
, forall
,
find
, filter
are also supported.
The predicate
of these functions expect a Row
,
which has fields x
for attribute vector and y
for responsible variable. If the response variable is a class label,
the user may use label
to access the response variable
in string label.
smile> df.exists(_.x(0) > 6)
res16: Boolean = true
smile> df.forall(_.x(0) < 10)
res17: Boolean = true
smile> df.find(_.y == 1)
res18: Option[df.Row] = Some(
class sepallength sepalwidth petallength petalwidth
Iris-versicolor 7.0000 3.2000 4.7000 1.4000
)
smile> df.find(_.label == "Iris-versicolor") // _.label returns the class label in Strings
res19: Option[df.Row] = Some(
class sepallength sepalwidth petallength petalwidth
Iris-versicolor 7.0000 3.2000 4.7000 1.4000
)
smile> df.filter { row => row.x(1) > 3 && row.y != 0 }
res20: DataFrame = DataFrame(
iris
class sepallength sepalwidth petallength petalwidth
[1] Iris-versicolor 7.0000 3.2000 4.7000 1.4000
[2] Iris-versicolor 6.4000 3.2000 4.5000 1.5000
[3] Iris-versicolor 6.9000 3.1000 4.9000 1.5000
[4] Iris-versicolor 6.3000 3.3000 4.7000 1.6000
[5] Iris-versicolor 6.7000 3.1000 4.4000 1.4000
[6] Iris-versicolor 5.9000 3.2000 4.8000 1.8000
[7] Iris-versicolor 6.0000 3.4000 4.5000 1.6000
[8] Iris-versicolor 6.7000 3.1000 4.7000 1.5000
[9] Iris-virginica 6.3000 3.3000 6.0000 2.5000
[10] Iris-virginica 7.2000 3.6000 6.1000 2.5000
15 more rows...
)
Note that the type of Row.x
is Array[Double]
.
If a column is of type String
or Date
,
we may refer them by the function string(Int)
or
date(Int)
in the predicate.
smile> val df2 = DataFrame(read.arff("data/weka/string.arff"))
df2: DataFrame = DataFrame(
LCCvsLCSH
LCC LCSH
[1] AG5 Encyclopedias and dictionaries.;Twentieth century.
[2] AS262 Science -- Soviet Union -- History.
[3] AE5 Encyclopedias and dictionaries.
[4] AS281 Astronomy, Assyro-Babylonian.;Moon -- Phases.
[5] AS281 Astronomy, Assyro-Babylonian.;Moon -- Tables.
)
smile> df2.filter(_.string(0).startsWith("AS"))
res20: DataFrame = DataFrame(
LCCvsLCSH
LCC LCSH
[1] AS262 Science -- Soviet Union -- History.
[2] AS281 Astronomy, Assyro-Babylonian.;Moon -- Phases.
[3] AS281 Astronomy, Assyro-Babylonian.;Moon -- Tables.
)
For data wrangling, the most important functions of DataFrame
are map
and groupBy
. There are three flavors of
map
. The first version of map
simply treats
DataFrame
as a collection and returns a new collection of
any type that predicate returns.
smile> df.map { row =>
val x = new Array[Double](6)
System.arraycopy(row.x, 0, x, 0, 4)
x(4) = x(0) * x(1)
x(5) = x(2) * x(3)
x
}
res17: Traversable[Array[Double]] = ArrayBuffer(
Array(5.1, 3.5, 1.4, 0.2, 17.849999999999998, 0.27999999999999997),
Array(4.9, 3.0, 1.4, 0.2, 14.700000000000001, 0.27999999999999997),
Array(4.7, 3.2, 1.3, 0.2, 15.040000000000001, 0.26),
Array(4.6, 3.1, 1.5, 0.2, 14.26, 0.30000000000000004),
Array(5.0, 3.6, 1.4, 0.2, 18.0, 0.27999999999999997),
Array(5.4, 3.9, 1.7, 0.4, 21.060000000000002, 0.68),
Array(4.6, 3.4, 1.4, 0.3, 15.639999999999999, 0.42),
Array(5.0, 3.4, 1.5, 0.2, 17.0, 0.30000000000000004),
Array(4.4, 2.9, 1.4, 0.2, 12.76, 0.27999999999999997),
Array(4.9, 3.1, 1.5, 0.1, 15.190000000000001, 0.15000000000000002),
Array(5.4, 3.7, 1.5, 0.2, 19.980000000000004, 0.30000000000000004),
Array(4.8, 3.4, 1.6, 0.2, 16.32, 0.32000000000000006),
Array(4.8, 3.0, 1.4, 0.1, 14.399999999999999, 0.13999999999999999),
Array(4.3, 3.0, 1.1, 0.1, 12.899999999999999, 0.11000000000000001),
Array(5.8, 4.0, 1.2, 0.2, 23.2, 0.24),
Array(5.7, 4.4, 1.5, 0.4, 25.080000000000002, 0.6000000000000001),
Array(5.4, 3.9, 1.3, 0.4, 21.060000000000002, 0.52),
Array(5.1, 3.5, 1.4, 0.3, 17.849999999999998, 0.42),
Array(5.7, 3.8, 1.7, 0.3, 21.66, 0.51),
Array(5.1, 3.8, 1.5, 0.3, 19.38, 0.44999999999999996),
Array(5.4, 3.4, 1.7, 0.2, 18.36, 0.34),
Array(5.1, 3.7, 1.5, 0.4, 18.87, 0.6000000000000001),
Array(4.6, 3.6, 1.0, 0.2, 16.56, 0.2),
Array(5.1, 3.3, 1.7, 0.5, 16.83, 0.85),
...
Optionally, the map
functions may take an array of Attribute
as parameter and return a new DataFrame
.
smile> val attr = new Array[Attribute](6)
System.arraycopy(iris.attributes, 0, attr, 0, 4)
attr(4) = new NumericAttribute("sepallength * sepalwidth")
attr(5) = new NumericAttribute("petallength * petalwidth")
df.map(attr) { row =>
val x = new Array[Double](6)
System.arraycopy(row.x, 0, x, 0, 4)
x(4) = x(0) * x(1)
x(5) = x(2) * x(3)
x
}
res23: DataFrame = DataFrame(
iris
sepallength sepalwidth petallength petalwidth sepallength * sepalwidth petallength * petalwidth
[1] 5.1000 3.5000 1.4000 0.2000 17.8500 0.2800
[2] 4.9000 3.0000 1.4000 0.2000 14.7000 0.2800
[3] 4.7000 3.2000 1.3000 0.2000 15.0400 0.2600
[4] 4.6000 3.1000 1.5000 0.2000 14.2600 0.3000
[5] 5.0000 3.6000 1.4000 0.2000 18.0000 0.2800
[6] 5.4000 3.9000 1.7000 0.4000 21.0600 0.6800
[7] 4.6000 3.4000 1.4000 0.3000 15.6400 0.4200
[8] 5.0000 3.4000 1.5000 0.2000 17.0000 0.3000
[9] 4.4000 2.9000 1.4000 0.2000 12.7600 0.2800
[10] 4.9000 3.1000 1.5000 0.1000 15.1900 0.1500
140 more rows...
)
We can pass an additional response attribute too:
smile> df.map(attr, iris.responseAttribute) { row =>
val x = new Array[Double](6)
System.arraycopy(row.x, 0, x, 0, 4)
x(4) = x(0) * x(1)
x(5) = x(2) * x(3)
(x, row.y)
}
res24: DataFrame = DataFrame(
iris
class sepallength sepalwidth petallength petalwidth sepallength * sepalwidth petallength * petalwidth
[1] Iris-setosa 5.1000 3.5000 1.4000 0.2000 17.8500 0.2800
[2] Iris-setosa 4.9000 3.0000 1.4000 0.2000 14.7000 0.2800
[3] Iris-setosa 4.7000 3.2000 1.3000 0.2000 15.0400 0.2600
[4] Iris-setosa 4.6000 3.1000 1.5000 0.2000 14.2600 0.3000
[5] Iris-setosa 5.0000 3.6000 1.4000 0.2000 18.0000 0.2800
[6] Iris-setosa 5.4000 3.9000 1.7000 0.4000 21.0600 0.6800
[7] Iris-setosa 4.6000 3.4000 1.4000 0.3000 15.6400 0.4200
[8] Iris-setosa 5.0000 3.4000 1.5000 0.2000 17.0000 0.3000
[9] Iris-setosa 4.4000 2.9000 1.4000 0.2000 12.7600 0.2800
[10] Iris-setosa 4.9000 3.1000 1.5000 0.1000 15.1900 0.1500
140 more rows...
)
For groupBy
, the user may provide one more more
column names, on which the grouping operation is based.
The user may also provide a generic function that returns
the key of groups.
smile> val labor = read.arff("data/weka/labor.arff", 16)
smile> labor.groupBy("cost-of-living-adjustment")
res1: Map[Double, DataFrame] = Map(
0.0 -> DataFrame(
labor-neg-data
class duration wage-increase-first-year wage-increase-second-year wage-increase-third-year cost-of-living-adjustment working-hours pension standby-pay shift-differential education-allowance statutory-holidays vacation longterm-disability-assistance contribution-to-dental-plan bereavement-assistance contribution-to-health-plan
[1] good 1.0000 5.7000 NaN NaN none 40.0000 empl_contr NaN 4.0000 null 11.0000 generous yes full null null
[2] good 3.0000 3.5000 4.0000 4.6000 none 36.0000 null NaN 3.0000 null 13.0000 generous null null yes full
[3] bad 2.0000 3.5000 4.0000 NaN none 40.0000 null NaN 2.0000 no 10.0000 below_average no half null half
[4] good 1.0000 3.0000 NaN NaN none 36.0000 null NaN 10.0000 no 11.0000 generous null null null null
[5] good 2.0000 4.5000 4.0000 NaN none 37.0000 empl_contr NaN NaN null 11.0000 average null full yes null
[6] bad 1.0000 2.0000 NaN NaN none 38.0000 none NaN NaN yes 11.0000 average no none no none
[7] bad 3.0000 2.0000 2.0000 2.0000 none 40.0000 none NaN NaN null 10.0000 below_average null half yes full
[8] good 2.0000 3.0000 3.0000 NaN none 33.0000 null NaN NaN yes 12.0000 generous null null yes full
[9] good 2.0000 5.0000 4.0000 NaN none 37.0000 null NaN 5.0000 no 11.0000 below_average yes full yes full
[10] good 3.0000 4.5000 4.5000 5.0000 none 40.0000 null NaN NaN no 11.0000 average null half null null
12 more rows...
),
1.0 -> DataFrame(
labor-neg-data
class duration wage-increase-first-year wage-increase-second-year wage-increase-third-year cost-of-living-adjustment working-hours pension standby-pay shift-differential education-allowance statutory-holidays vacation longterm-disability-assistance contribution-to-dental-plan bereavement-assistance contribution-to-health-plan
[1] good 3.0000 3.5000 4.0000 5.1000 tcf 37.0000 null NaN 4.0000 null 13.0000 generous null full yes full
[2] good 2.0000 4.0000 5.0000 NaN tcf 35.0000 null 13.0000 5.0000 null 15.0000 generous null null null null
[3] good 3.0000 3.5000 4.0000 4.6000 tcf 27.0000 null NaN NaN null NaN null null null null null
[4] good 2.0000 4.5000 4.5000 NaN tcf NaN null NaN NaN yes 10.0000 below_average yes none null half
...
The feature vectors could be very sparse. To save space, SparseDataset stores data in a list of lists (LIL) sparse matrix format. SparseDataset stores one list per row, where each entry stores a column index and value. Typically, these entries are kept sorted by column index for faster lookup.
SparseDataset is often used to construct the data matrix. Once the matrix is constructed, it is typically converted to a format, such as Harwell-Boeing column-compressed sparse matrix format, which is more efficient for matrix operations.
The class BinarySparseDataset is more efficient for binary sparse data. In BinarySparseDataset, each item is stored as an integer array, which are the indices of nonzero elements in ascending order.
Smile provides a couple of parsers for popular data formats, such as Weka's ARFF files,
LibSVM's file format, delimited text files, and binary sparse data. We will demonstrate
these parsers with the sample data in the data
directory. In Scala API, the
parsing functions are in the smile.read
object.
Weka ARFF (attribute relation file format) is an ASCII text file format that is essentially a CSV file with a header that describes the meta data. ARFF was developed for use in the Weka machine learning software.
A dataset is firstly described, beginning with the name of the dataset (or the relation in ARFF terminology). Each of the variables (or attribute in ARFF terminology) used to describe the observations is then identified, together with their data type, each definition on a single line. The actual observations are then listed, each on a single line, with fields separated by commas, much like a CSV file.
Missing values in an ARFF dataset are identified using the question mark '?'. Comments can be included in the file, introduced at the beginning of a line with a '%', whereby the remainder of the line is ignored.
A significant advantage of the ARFF data file over the CSV data file is the meta data information. Also, the ability to include comments ensure we can record extra information about the data set, including how it was derived, where it came from, and how it might be cited.
To read an ARFF file, smile.io
has the function
def read.arff(file: String, responseIndex: Int = -1): AttributeDataset
where responseIndex
is the column index (starting at 0) of response variable.
The default value -1 means no response variable. In the directory data/weka
,
we have many sample ARFF files. Try the following code to load a dataset:
val data = read.arff("data/weka/iris.arff", 4)
LibSVM is a very fast and popular library for support vector machines. LibSVM uses a sparse format where zero values do not need to be stored. Each line of a libsvm file is in the format:
<label> <index1>:<value1> <index2>:<value2> ...
where <label> is the target value of the training data. For classification, it should be an integer which identifies a class (multi-class classification is supported). For regression, it's any real number. For one-class SVM, it's not used so can be any number. <index> is an integer starting from 1, and <value> is a real number. The indices must be in an ascending order. The labels in the testing data file are only used to calculate accuracy or error. If they are unknown, just fill this column with a number.
To read a libsvm file, smile.io
has the function
def read.libsvm(file: String): SparseDataset
Although libsvm employs a sparse format, most libsvm files contain dense data. Therefore, Smile also provides helper functions to convert it to dense arrays.
val data = read.libsvm("data/libsvm/glass.txt")
val (x, y) = data.unzipInt
In case of truly sparse libsvm data, we can convert it to SparseMatrix
for more efficient matrix computation.
smile> val sparse = data.toSparseMatrix
sparse: smile.math.matrix.SparseMatrix = smile.math.matrix.SparseMatrix@73ad7e90
The delimited text files are widely used in machine learning research community. The comma-separated values (CSV) file is a special case. Smile provides flexible parser for them.
def read.table(file: String, response: Option[(Attribute, Int)] = None, delimiter: String = "\\s+", comment: String = "%", missing: String = "?", header: Boolean = false, rowNames: Boolean = false): AttributeDataset
def read.csv(file: String, response: Option[(Attribute, Int)] = None, comment: String = "%", missing: String = "?", header: Boolean = false, rowNames: Boolean = false): AttributeDataset
By default, the parser read.table
expects a white-space-separated-values file.
Each line in the file corresponds to a row in the table. Within a line,
fields are separated by white spaces, each field belonging to one table column.
The function read.csv
is a shortcut to read.table
with comma ',' as the delimiter
character. The file may contain comment lines (starting with '%') and missing values
(indicated by placeholder '?'), which both can be parameterized. Optionally, the file may also have
a header (e.g. the first row is column names) and the first column may be row id/names.
val label = new NominalAttribute("class")
val data = read.table("data/usps/zip.train", Some((label, 0)))
Smile can parse several popular microarray data format. A DNA microarray is a collection of microscopic DNA spots attached to a solid surface. Scientists use DNA microarrays to measure the expression levels of large numbers of genes simultaneously or to genotype multiple regions of a genome.
In particular, we support GCT, PCL, RES, and TXT file formats.
def read.gct(file: String): AttributeDataset
def read.pcl(file: String): AttributeDataset
def read.res(file: String): AttributeDataset
def read.txt(file: String): AttributeDataset
The function read.coo
can read sparse data in coordinate triple tuple list format.
def read.coo(file: String, arrayIndexOrigin: Int = 0): SparseDataset
where arrayIndexOrigin
is the starting index of array. By default, it is
0 as in C/C++ and Java. But it could be 1 to parse data produced
by other programming language such as Fortran.
The coordinate file stores a list of (row, column, value) tuples:
instanceID attributeID value instanceID attributeID value instanceID attributeID value instanceID attributeID value ... instanceID attributeID value instanceID attributeID value instanceID attributeID value
Ideally, the entries are sorted (by row index, then column index) to improve random access times. This format is good for incremental matrix construction.
Optionally, there may be 2 header lines
D // The number of instances W // The number of attributes
or 3 header lines
D // The number of instances W // The number of attributes N // The total number of nonzero items in the dataset.
These header lines will be ignored.
The sample data data/text/kos.txt
is in the coordinate format.
val data = read.coo("data/text/kos.txt")
The function read.hb
can read sparse matrix in Harwell-Boeing column-compressed format.
def read.hb(file: String): SparseMatrix
In the directory data/matrix
, there are several sample files in
the Harwell-Boeing format.
val data = read.hb("data/matrix/08blocks.txt")
In Harwell-Boeing column-compressed sparse matrix file, nonzero values are stored in an array (top-to-bottom, then left-to-right-bottom). The row indices corresponding to the values are also stored. Besides, a list of pointers are indexes where each column starts. This class supports two formats for Harwell-Boeing files. The simple one is organized as follows:
The first line contains three integers, which are the number of rows, the number of columns, and the number of nonzero entries in the matrix.
Following the first line, there are m + 1 integers that are the indices of columns, where m is the number of columns. Then there are n integers that are the row indices of nonzero entries, where n is the number of nonzero entries. Finally, there are n float numbers that are the values of nonzero entries.
The second format is more complicated and powerful, called Harwell-Boeing Exchange Format. For details, see http://people.sc.fsu.edu/~jburkardt/data/hb/hb.html. Note that our implementation supports only real-valued matrix and we ignore the optional right hand side vectors.
Smile can parse 3D wireframe models in Wavefront OBJ files.
def read.wavefront(file: String): (Array[Array[Double]], Array[Array[Int]])
In the directory data/wireframe
, there is a teapot wireframe model. In the
next section, we will learn how to visualize the 3D wireframe models.
val (vertices, edges) = read.wavefront("data/wireframe/teapot.obj")
To serialize a model, you may use
write(model, file)
This method is in the Scala API smile.write
object and serialize the model to Java
serialization format. This is handy if you want to use a model in Spark.
Alternatively, you can also use
write.xstream(model, file)
which uses XStream library to serialize the model (actually any objects) to XML file.
To read the model back, you can use read(file)
or read.xstream(file)
, correspondingly.
You can also save an AttributeDataset
to an ARFF file with the method
write.arff(data, file)
. The ARFF file keeps the data type information.
If you prefer the plain csv text file, you may use the methods write.csv(data, file)
or
write.table(data, file, "delimiter")
, which save a generic two dimensional array
with comma or customized delimiter. To save one dimensional array, simply call
write(array, file)
.


Thousands protest to maintain pressure on Chile government
by AFPSANTIAGO: Dressed in black, marching silently and raising one fist, around a thousand women on Friday demanded justice for those killed and injured during the last two weeks of social unrest in Chile.
Their march started off a day of demonstrations that expanded later as tens of thousands of people answered social media calls to match last Friday’s huge protest that attracted more than a million people.

They held up signs paying tribute to the 20 people killed and more than 1,300 injured during the protests, according to statistics provided by the national human rights institute (INDH.)
Protesters stood in silence holding one fist aloft in front of impassive police guarding the presidential palace on a day in which many were celebrating the Christian festival of All Saints Day.
“We’re not going to back down until the government answers us about the deaths. We feel betrayed by this government,” Marco, a 22-year-old student, told AFP.
In the central Plaza Italia square, which has been the epicentre of the protest movement these last two weeks – thousands of people waved Chilean and Mapuche indigenous flags.
Protesters are angry about low salaries and pensions, poor public health care and education, and a yawning gap between rich and poor in Latin America’s wealthiest country on a per capita basis.
The unrest began two weeks ago with protests against a rise in transport tickets and other austerity measures descended into vandalism, looting, and clashes between demonstrators and police.
Many protesters have demanded the resignation of billionaire President Sebastian Pinera.
He’s announced a series of social measures and a cabinet reshuffle to try to appease the demonstrators, but to no avail.
Chile’s image took a hit on Wednesday when the government said it was pulling out of hosting the APEC economic summit in November and the December COP climate conference.
It said it had no choice but to abandon the summits for security reasons.


Loading...
C
Keys
CapsLock
Keys
Caret
Keys
center
types.h
center_bottom
types.h
center_top
types.h
character_object
types.h
Clear
Keys
Colon
Keys
Comma
Keys
Searching...
No Matches


Arrays
This is how you create an array
|
An array can also be created by explicitly calling ::new with zero, one (the initial size of the Array) or two arguments (the initial size and a default object).
|
A way to access objects within an array. you can start from the end of the array using negative numbers from -1 and you can even grab ranges of values at a time
|
An array is a great way to store whatever you need here are few useful methods that you can use on an array
|
According the the ruby docs a has is
A Hash is a dictionary-like collection of unique keys and their values. Also called associative arrays, they are similar to Arrays, but where an Array uses integers as its index, a Hash allows you to use any object type. Hashes enumerate their values in the order that the corresponding keys were inserted. A Hash can be easily created by using its implicit form:By looking into a hash we can define the different parts of it
|
"Jane Doe" is the key and "10" is the value.
You can also write a hash having a symbol be your key
table>
options = { font_size: 10, font_family: "Arial" }
favorite_smells = { :flower => "daffodile", :cooking => "bacon" }
=> { :flower => "daffodile", :cooking => "bacon" }
As you can see the key is now a symbol rather than a string
for more info on hashes and arrays check out ruby docs, eriktrautmans blog and the ODIN project for some sweet sweet practice


Already dreaming about historic pink ball test: Rahane
The Mumbai batsman is scheduled to land in Kolkata.
by IANSIndia vice-captain Ajinkya Rahane says he is already “dreaming” about the first-ever Day-Night Test in the country, which is starting from Friday against Bangladesh at Eden Gardens here.
“Already dreaming about the historic pink ball test,” Rahane said in a Twitter post along with a picture of him sleeping and a pink ball lying next to him.
The Mumbai batsman is scheduled to land in the city on Tuesday morning along with skipper Virat Kohli.
India thrashed Bangladesh by an innings and 130 runs in the first Test and will look to whitewash it here as they start their pink ball Test campaign.
The Kohli-led side are already top of the ICC World Test Championship chart with 300 points from six matches, recording wins in all six of them.
Dhawan, Kohli react
Dhawan replied: “Sapney mein pic khich gayi (picture was clicked in dream).”
Skipper Kohli too joined in the fun and he lauded Rahane for his pose and said: “Nice pose jinksy.”


Changes in This Release for Oracle Spatial and Graph RDF Semantic Graph Developer's Guide
This topic contains the following.
Topics:
Changes in Oracle Database 12c Release 2 (12.2)
The following are changes in Oracle Spatial and Graph RDF Semantic Graph Developer's Guide for Oracle Database 12c Release 2 (12.2).
Topics:
- Required: Migrate Existing Semantic Data
- SPARQL Update Operations on a Semantic Model
- RDF ORDER BY Query Enhancement and Option
- Integration with Property Graph Data Stored in Oracle Database
- SEM_APIS.SPARQL_TO_SQL Function
- New SPARQL Query Functions
- Enhanced GeoSPARQL Support
- Support for Flashback Query
- Desupport for Workspace Manager and Virtual Private Database with RDF
Required: Migrate Existing Semantic Data
If you have any semantic data created using Oracle Database 11.1. 11.2, or 12.1, then before you use it in an Oracle Database 12.2 environment, you must migrate this data.
For an explanation, see Required Migration of Pre-12.2 Semantic Data.
SPARQL Update Operations on a Semantic Model
You can now perform SPARQL Update operations on a semantic model. The W3C SPARQL 1.1 Update is supported in Oracle Database semantic technologies through the new SEM_APIS.UPDATE_MODEL procedure.
For more information, see Support for SPARQL Update Operations on a Semantic Model.
RDF ORDER BY Query Enhancement and Option
Queries on RDF data that use SPARQL ORDER BY semantics are by default now processed more efficiently than in previous releases. This internal efficiency involves the use of the ORDER_TYPE, ORDER_NUM, and ORDER_DATE columns in the MDSYS.RDF_VALUE$ metadata table (documented in Statements). However, if for any reason you want to disable this feature, you can do so by specifying the DISABLE_ORDER_COL
option in the SEM_MATCH query.
For an explanation, see Enhanced RDF ORDER BY Query Processing.
Integration with Property Graph Data Stored in Oracle Database
Property graph data stored in Oracle Database can be integrated with RDF data through the use of RDF views. A convenient PL/SQL API is provided for creating and maintaining RDF views of property graph data. RDF views of property graphs behave the same way as RDF views of relational data and can be queried with SPARQL or materialized as native RDF data.
For more information, see RDF Integration with Property Graph Data Stored in Oracle Database.
SEM_APIS.SPARQL_TO_SQL Function
A new SPARQL_TO_SQL PL/SQL procedure has been added to the SEM_APIS package. This procedure allows you to obtain the SQL translation of a SPARQL query. The resulting SQL string can be executed just like any other SQL string (for example, using JDBC from Java or using EXECUTE IMMEDIATE from PL/SQL). In addition, SPARQL_TO_SQL supports read only databases, long SPARQL query strings, and JDBC and PL/SQL bind variables.
For more information, see Using the SEM_APIS.SPARQL_TO_SQL Function to Query Semantic Data.
New SPARQL Query Functions
New Oracle-specific SPARQL query functions are available:
-
orardf:like(RDF term, pattern)
-
orardf:sameCanonTerm(RDF term, RDF term)
-
orardf:textScore(invocation id)
For information, see the table of Oracle-Specific Query Functions in Graph Patterns: Support for Curly Brace Syntax, and OPTIONAL, FILTER, UNION, and GRAPH Keywords.
Enhanced GeoSPARQL Support
GeoSPARQL support has been enhanced for increased functionality and performance.
-
Support for standard EPSG SRID URIs,
ogc:gmlLiteral
geometry serialization, and 3-dimensional geometries has been added. -
Query performance has increased up to 10 times by adding a materialized SDO_GEOMETRY column to MDSYS.RDF_VALUE$.
-
New utility functions have been added to the SEM_APIS package (SEM_APIS.VALIDATE_GEOMETRIES, SEM_APIS.CONVERT_TO_WKT_LITERAL, SEM_APIS.CONVERT_TO_GML311_LITERAL).
-
New SPARQL query operators have been added for spatial joins (orageo:sdoJoin, orageo:sdoDistJoin).
-
New SPARQL query operators for spatial aggregates have been added (orageo:aggrCentroid, orageo:aggrConvexHull, orageo:aggrMBR, orageo:aggrUnion).
Support for Flashback Query
Oracle Flashback Query is now supported for RDF data. You can use SEM_MATCH or SEM_APIS.SPARQL_TO_SQL to query an RDF model as it existed at an earlier time through an AS_OF hint that specifies a target system change number (SCN) or timestamp.
For more information, see Flashback Query Support.
Desupport for Workspace Manager and Virtual Private Database with RDF
Workspace Manager Support for RDF Data and Virtual Private Database Support in RDF Semantic Graph are desupported in Oracle Database 12c Release 2 (12.2). Information about such support has been removed from this guide.
If you have an existing semantic network that contains Workspace Manager (WM) or Virtual Private Database (VPD) data, see Workspace Manager and Virtual Private Database Desupport before you upgrade,
Changes in Oracle Database 12c Release 1 (<IP_ADDRESS>)
The following are changes in Oracle Spatial and Graph RDF Semantic Graph Developer's Guide for Oracle Database 12c Release 1 (<IP_ADDRESS>).
Topics:
Support for SPARQL 1.1 Federated Query
SEM_MATCH supports SPARQL 1.1 Federated Query. The SERVICE construct can be used to retrieve results from a specified SPARQL endpoint URL. With this capability, you can combine local RDF data (native RDF data or RDF views of relational data) with other, possibly remote, RDF data served by a W3C standards-compliant SPARQL endpoint.
For information about support for SPARQL 1.1 Federated Query, see Graph Patterns: Support for SPARQL 1.1 Federated Query.
Combining Native Triple Data with Virtual RDB2RDF Triple Data
A new section (Combining Native RDF Data with Virtual RDB2RDF Data) explains how you can combine native triple data with virtual RDB2RDF triple data in a single SEM_MATCH query by means of the SERVICE keyword.
Changes in Oracle Database 12c Release 1 (<IP_ADDRESS>)
The following are changes in Oracle Spatial and Graph RDF Semantic Graph Developer's Guide for Oracle Database 12c Release 1 (<IP_ADDRESS>).
New Features
The following features are new in this release.
Topics:
Enhanced Support for SPARQL 1.1 Constructs
SEM_MATCH supports the following SPARQL 1.1 constructs, as explained in Graph Patterns: Support for SPARQL 1.1 Constructs:
-
An expanded set of functions
Enhanced Support for Virtual Models
Virtual models can now be created with arbitrary combinations of models and/or entailments, as explained in Virtual Models. Previously, virtual models were required to have at least one model and were limited to at most one entailment.
Virtual models can now be replaced without first being dropped. A new REPLACE=T
option for the SEM_APIS.CREATE_VIRTUAL_MODEL procedure lets you maintain access privileges for a virtual model while changing its definition. (The REPLACE=T
option is analogous to using CREATE OR REPLACE VIEW with a view.)
Support for User-Defined Inferencing and Querying
New RDF Semantic Graph extension architectures enable the addition of user-defined capabilities:
-
The inference extension architecture enables you to add user-defined inferencing to the presupplied inferencing support.
-
The query extension architecture enables you to add user-defined functions and aggregates to be used in SPARQL queries, both through the SEM_MATCH table function and through the support for Apache Jena.
For information about these features, see User-Defined Inferencing and Querying .
OWL 2 EL Support
The OWL 2 EL profile is supported by the addition of the system-defined rulebase OWL2EL
, as explained in Supported OWL Subsets.
OGC GeoSPARQL Support
The OGC GeoSPARQL standard for representing and querying spatial data is now supported, as explained in OGC GeoSPARQL Support.
Ladder-Based Inference
Ladder-based inference is available as a convenient option for fine-grained triple-level security, as explained in Fine-Grained Security for Inferred Data and Ladder-Based Inference (LBI).
RDF Views
You can create and use RDF views over relational data. Mapping relational data to RDF triples enables you to perform semantic operations conveniently, and without having to store RDF triples corresponding to the relational data. For information, see RDF Views: Relational Data as RDF .
Data Pump Support for Exporting and Importing a Semantic Network
Effective with Oracle Database Release 12.1, you can export and import a semantic network using the full database export and import features of the Oracle Data Pump utility, as explained in Exporting or Importing a Semantic Network Using Oracle Data Pump.
Deprecated Features
Support for the following in RDF Semantic Graph is deprecated in this release, and may be desupported in a future release:
-
Virtual Private Database (VPD)
-
Version-enabled (Workspace Manager) models
Desupported Features
Some features previously described in this document are desupported in Oracle Database 12c Release 1 (12.1). See Oracle Database Upgrade Guide for a list of desupported features.
Changes for RDF Semantic Graph Support for Apache Jena
RDF Semantic Graph support for Apache Jena supports Apache Jena 2.11.1, including jena-core-2.11.1 and jena-arq-2.11.1. This support includes the following features (most of which were included when support was added for Apache Jena 2.7.2).
For information about using the support for Apache Jena, see RDF Semantic Graph Support for Apache Jena .
Topics:
- Support for Retrieving User-Friendly Java Objects from SEM_MATCH or SQL-Based Query Results
- Protege Plugin for Oracle Database
- Support for Customized Data Source Name
- Support for SPARQL Queries with Translated SQL Text Larger Than 29000 Bytes
- Support for Oracle Database in Read-Only Mode
- Less Verbose Joseki Output
- Java APIs for Managing the Table Responsible for Terminating Long-Running SPARQL Queries
- Support for Apache Tomcat and JBoss Application Server
- Support for Fuseki 1.0.1
Support is provided for using Fuseki 1.0.1 to serve RDF data over HTTP.
Support for Retrieving User-Friendly Java Objects from SEM_MATCH or SQL-Based Query Results
With support for retrieving user-friendly Java objects from SEM_MATCH or SQL-based graph query results, you no longer need to parse and understand the subtle details embedded in projected columns like $RDFVTYP, $RDFLTYP, $RDFLANG, and $RDFCLOB; or their corresponding columns in MDSYS.RDF_VALUE$ including VALUE_TYPE, LITERAL_TYPE, LANGUAGE_TYPE, LONG_VALUE, and VALUE_NAME.
For an explanation and examples, see Retrieving User-Friendly Java Objects from SEM_MATCH or SQL-Based Query Results.
Protege Plugin for Oracle Database
This plugin allows an easy integration of the Protege 4.1 visual ontology editing functions with the robust semantic data management capabilities provided by Oracle Database.
The plugin .jar file and installation document are under the protege_plugin/
directory of the release zip file.
Support for Customized Data Source Name
In previous releases, a fixed data source name OracleSemDS was required in the Joseki deployment. This release allows you to customize the data source name through the oracle:dataSourceName
setting in the Joseki configuration.
You can also customize the data source name used for establishing database connections to terminate long-running SPARQL queries using query ID (see Terminating Long-Running SPARQL Queries for details). To change the default data source name, edit the following JVM property:
-Doracle.spatial.rdf.client.jena.dsNameForQueryMgt=OracleSemDS
Support for SPARQL Queries with Translated SQL Text Larger Than 29000 Bytes
The S2S feature has been enhanced such that it now supports very long SPARQL queries that have translated SQL texts that are hundreds of thousands of bytes long. However, Oracle still recommends the use of simpler (and shorter) SPARQL queries whenever possible, because simpler SPARQL queries are easier for users and application developers to understand, and they tend to be more efficient for Oracle Database to execute.
Support for Oracle Database in Read-Only Mode
The Joseki web service endpoint can now work with an Oracle Database opened in read-only mode. Queries can be answered without problems.
S2S must be used for queries to work with a read-only Oracle Database.
Less Verbose Joseki Output
This release reduces the amount of Joseki logging output. You can, however, set the trace level to 1 or higher to get more trace output for debugging purpose. For example:
-Doracle.spatial.rdf.client.jena.josekiTraceLevel=1
Java APIs for Managing the Table Responsible for Terminating Long-Running SPARQL Queries
When a request to terminate a SPARQL query is sent using the following servlet:
http://<hostname>:7001/joseki/querymgt?abortqid=8761
the request (query ID and a timestamp) is recorded in a table named ORACLE_ORARDF_QUERY_MGT_TAB in user's schema.
The following methods have been added to the class oracle.spatial.rdf.client.jena.OracleQueryProgressMonitor
to allow users to query, add, and remove entries in the ORACLE_ORARDF_QUERY_MGT_TAB table. Details of these methods are explained in the Javadoc (javadoc.zip
is under the javadoc/
directory of the release zip file):
addQuery deleteAllQueries deleteQuery listQueries
Support for Apache Tomcat and JBoss Application Server
Support is provided for Joseki deployment in Apache Tomcat and JBoss, in addition to Oracle WebLogic Server. For information, see Deploying Joseki in Apache Tomcat or JBoss.
Support for Fuseki 1.0.1
Support is provided for using Fuseki 1.0.1 to serve RDF data over HTTP.
For information, see Configuring the Fuseki-Based SPARQL Service.


Get profile from twitter (optional)
Or get profile from G+ (optional)
Sorry, we couldn't get your Google+. Make sure the URL looks like http://plus.google.com/xxxxxx/ where xxxxx are digits?
Or fill it in
{% if user_bio %}
{% endif %}
OK, our bad -- something went wrong with the upload. Please give it 5 mins and try again.
Whoops, did you forgot your picture? Grab it from twitter or upload an image from your computer.


| Name: ANKIT KEDIA | Reg No:02-4SMHC18 |
|---|---|
| Age / Sex:27/MALE | Contact No:9051912716 |
| Marital Status:MARRIED | Date:7/4/18 |
| Occupation:MARRIED | Dr. PNB |
Address:B-BLOCK 216,SAI GARDEN APPARTMENT,KEMPAPURA MAIN ROAD, YEMLLUR,BENGALURU-560037 |
DIAGNOSIS- |
1.increased s creatinine since 2 yrs
Started with uti and high fever and took antibiotics
Swelling in morning face,hands
k/c/o-htn 5yrs
underwent pyleoplasty in 2012
lower backpain mostly in lt side
gastritis
confident,confused,concentration,entertainment,motivate,best at something,I can also do something
large audience fear,failure,demotive-easily by others
after passing ca exam he is confident
failure-bcom in college(degree),he didn’t got admission,disappointment,everything went waste,I will rely on some one,protective environment
not clear for my life-confused about my life
concentration more at night time
entertainment-making others laugh
cricket-enjoys,support,test match,I don’t like short format
S.CREATINE-2.4
GFR-35.6
Bp-100/70 mmof hg
RX:
1.lyco 0/1 +disk 3-3-3-3
2.sl200 1 packet morning b/brush
r/a 2weeks


Resume
Personal
Summary
- More than 20 years in software engineering
- Main activities being software craftsmanship, software development, and software architecture
- Focus this last decade on JVM (Java, Spring, Kotlin, Scala) and Web (Angular) technologies
Drivers
- Passion for well-crafted software and motivation for continuous improvement
- Agile teamwork and technical excellence are major factors of success
- Commitment to provide an added value to a company
- Soft skills
- Modern trends, paradigms, and software development techniques:
- XP Programming
- Event-Storming, Specification by Example, Domain-Driven Design, Test-Driven Development, Acceptance Test-Driven Development
- Microservices, OO/Functional/Reactive programming, Actor model, Clean Code, Clean/Hexagonal/Event-Driven Architectures, CI/CD
Values
- Respect, Honesty, Courage, Transparency
Mindset
- Craftsmanship (passion, professionalism, commitment, sharing, continuous improvement, product-oriented, technical excellence)
Profiles
Software craftsman
- Influencer and mentor for good analysis, design, and coding practices
- Clean-Code, Clean-Architecture, TDD
- Code audit
- Legacy-Code refactoring
- Technical coaching (mentoring)
Software architect
- Technical (realization of prototypes and proofs of concept)
- Design (solutions, DDD-tactical, APIs)
- Communication (stakeholders, DDD-strategic, Arc42, C4, Structurizr, PlantUML)
Software developer
- DDD, Event-storming, Specification by example,
- TDD, ATDD, BDD
- Java, Kotlin, Scala, Spring(Boot, Reactor), Angular, Typescript
- Microservices
- Scrum, SAFe
Last commercial experiences
Edgelab - Kotlin-Java-Angular Software Engineer (2020)
Software engineering applied to a risk analytics engine used by investment businesses. Daily challenges like availability and scalability, practiced on a well-crafted product powered by a polyglot and event-driven microservices architecture. more info
La Mobilière - Java-Spring-Angular Software Engineer (2016 – 2020)
Software development, system architecture support, and coaching of internal technical resources, in the context of the redesign of a strategic case management solution used in the life insurance domain with state of the art technologies and practices. more info
Swiss Post - Java-Spring-Web Software Engineer (2002 – 2016)
Software architecture and development of enterprise solutions for the business units of the Swiss Post, PostLogistics, and PostMail. more info
Kudelski - Java Software Engineer (2000 – 2002)
Software development of smart card solutions. Access control during international events and personalization of a student card for Swiss Universities.
Olivetti - C++ Software Engineer (1996 – 2000)
Software development of Windows drivers for color inkjet printers. Engineering of rendering algorithms and solutions for optimal gamut mapping.
Last projects
Publications
Certificates
Education
Communities
Hobbies, interests


|
John Walker Lindh"Dumb-ass" may be a subjective term, but it's difficult to think of any better way to describe John Walker Lindh, the American Taliban.Lindh grew up affluent, in the rolling, mellow hills of Marin County, in Northern California.  It's kind of hard to understand how one goes from spoiled wine country glitterati-spawn to filthy Kalashnikov-wielding mujahideen. No, scratch that. It's completely impossible to understand how one goes from spoiled wine country glitterati-spawn to filthy Kalashnikov-wielding mujahideen. One can only stare in befuddled amazement and contemplate the depths of stupidity of which humans are capable. In November 2001, U.S. forces in Afghanistan were sorting through the aftermath of an al Qaeda prison riot when they stumbled across a scrawny, mud-caked American college boy. John Walker Lindh spilled his guts to a rolling CNN camera before the CIA got its hands on him, which is the only reason you've even heard of him. It's All Denzel's FaultLindh was an overly bright teen, in that home-schooled, unable-to-cope-with-reality kind of way. Lindh told investigators he first became interested in Islam at the age of 12, when he watched the movie "Malcolm X." At age 16, the son of a Catholic father and a Buddhist mother converted to Islam and began regularly attending a local mosque. One can only speculate as to what the family dinner menus must have been like. Especially on Fridays during Lent...In 1998, Lindh traveled to Yemen and studied Arabic and Islam for about two years before making his way to Pakistan, one of the world's leading centers for ultraviolent lunatics (and a nuclear power to boot!). It was the classic old story: Boy meets sadistic militarized theocracy, boy falls in love with sadistic militarized theocracy, boy loses sadistic militarized theocracy. Lindh told CNN that while he was studying in Pakistan, he read some sales brochures and "my heart became attached to [the Taliban]." Ah, young love! From thence, according to Lindh himself, "I went to Afghanistan because I believed it was my religious duty to assist my fellow Muslims militarily in their jihad against the Northern Alliance." In his sentencing statement before the court, Lindh went on to explain the exact nature of his historic dumbassitude. Despite the fact that he spent three weeks in an al Qaeda terrorist camp being trained in the use of Kalashnikov machine guns, explosives and heavy arms, Lindh assumed that the "jihad" to which he had been invited was the technical jihad of moderate Islam: "In the Arabic language, jihad literally means 'struggle.' In Islamic terminology, jihad refers to the spending of one's utmost exertion in the service of God. I have never understood jihad to mean anti-Americanism or terrorism." Well, there, see? It could happen to anyone! "I believe that jihad ranges from striving to overcome own personal faults, to speaking out for the truth in adverse circumstances, to military action in the defense of justice. The type of jihad one practices depends upon one's circumstances, but the essence of any form of jihad lies in the intent." Unfortunately for Lindh, he didn't go the "speaking out for truth" route. American Psycho"I went to Afghanistan with the intention of fighting against terrorism and oppression, not to support it," Lindh told the court. Alas! His "good intentions" paved the way to... well, you know.According to the federal government, Lindh fought terrorism by signing up with the Taliban, attending al Qaeda seminars on how to kill Americans, staying in guesthouses funded by Osama bin Laden, sharing campfire tales about suicide terrorists being dispatched against the United States (just before 9/11 and practicing his anti-terrorism skills with rocket-launchers, pistols and Molotov cocktails (a favorite tool of anti-terrorism forces everywhere). During the summer of 2001, Osama bin Laden personally thanked Lindh for everything he had done to "fight terrorism and oppression." However, when Lindh was invited to take the fight against terrorism to U.S. soil, he declined in favor of a Rambo-style battlefield experience. When he heard about the September 11 attacks, Lindh's commitment to "fight terrorism and oppression" didn't waver, and he continued to fight alongside Taliban forces, even when the U.S. invasion force came crashing down on his head. In November 2001, his cadre surrendered to the Northern Alliance in Afghanistan and was subsequently imprisoned. While in an Afghan jail, Lindh and his fellow mujahideen staged a riot, killing a CIA agent who was there seeking information on al Qaeda members. When the U.S. military moved into the area, they found Lindh in a disheveled state, with various wounds suffered during the prison fighting. CNN cameras on the scene captured Lindh raving about his love for the Taliban. He was airlifted out to a Navy warship for interrogation, following which he was returned to the U.S. to face trial. Lindh was unlike the other U.S. citizens accused of assisting al Qaeda, such as Latino Jose Padilla and Arab-American Yasser Hamdi, in that Lindh was a white boy with affluent parents. Naturally, the government gave him access to a lawyer and the privilege of facing criminal charges in open court -- unlike Padilla and Hamdi who were held for years without charge and without access to counsel. Hamdi was eventually deported, while Padilla was indicted after more than three years in a military brig for an extremely vauge and markedly anticlimactic handful of vague conspiracy charges. Lindh entered a guilty plea and was sentenced to 20 years in prison. In exchange for his plea, the more serious charges (such as conspiracy to kill U.S. nationals) were dropped, which means that with time off for good behavior, he'll be out in about 17 years. Ironically, between his extrajudicial incarceration and the weakness of the charges against him, Padilla -- once accused of planning an atomic attack on U.S. soil -- may end up walking free a whole lot sooner than Lindh, who was charged with little more than being a dumbass. If it wasn't for Law and Order, the American judicial system would have no credibility at all... |


Today's countdown apps are bloated - crowded with too many unnecessary features and ads. Countr is a simple and intuitive way to keep track of important upcoming events, such as birthdays, graduations, and vacations. Instead of being bloated like our competitors, Countr has all of the most important features necessary for an excellent experience.


Methods for color vision deficiencies (CVD), to help understanding and mitigating issues with CVDs and to generate tests for diagnosis and interpretation.
| Version: | 1.0.2 |
| Depends: | R (≥ 2.10) |
| Enhances: | png, gWidgets2, RGtk2 |
| Published: | 2016-11-28 |
| Author: | Jose Gama [aut, cre, trl], Brian Foutch [ctb], Mark Grundland [ctb], Neil Dodgson [ctb] |
| Maintainer: | Jose Gama <rxprtgama at gmail.com> |
| License: | GPL (≥ 3) |
| NeedsCompilation: | no |
| CRAN checks: | CVD results |
| Reference manual: | CVD.pdf |
| Package source: | CVD_1.0.2.tar.gz |
| Windows binaries: | r-devel: CVD_1.0.2.zip, r-release: CVD_1.0.2.zip, r-oldrel: CVD_1.0.2.zip |
| OS X binaries: | r-release: CVD_1.0.2.tgz, r-oldrel: CVD_1.0.2.tgz |
| Old sources: | CVD archive |
Please use the canonical form https://CRAN.R-project.org/package=CVD to link to this page.


not connected.


Show Maps
1 Player
2 Players
4 Players
12 Players
Blue / Frost
Red / Fire
Green / Nature
Purple / Shadow
Red Green / Twilight
Blue Purple / Lost Soul
Blue Green / Stonekin
Red Purple / Bandid
Neutral / Legendary
Tier 1
Tier 2
Tier 3
Tier 4
Common
Uncommon
Rare
Ultra Rare
Twilight
Renegade
Lost Souls
Amii
None
Blue / Blessed
Red / Infused
Green / Gifted
Purple / Tainted
Unit
Spell
Structure
Meele Units
Ranged Units
S Units
M Units
L Units
XL Units
Counters S
Counters M
Counters L
Counters XL
Special Attack
Sort By Energy
Sort By Orbs
Sort By Name
Ascending
C
T1
T2
T3
T4
Only Show Playable Cards
DeckbuilderHover for Info


Mandor Mountains [ar22], mountain, in Mandoria, wilderness
Last updated Turn #145
Mandor Mountains [ar22], mountain, in Mandoria, wilderness
------------------------------------------------------------------------
30: The fog has cleared.
30: It has stopped raining.
Routes leaving Mandor Mountains:
North, mountain, to Mandor Mountains [aq22], 10 days
Garrison [bb7b], garrison, uncontrolled, with two peasants
South, mountain, to Mandor Mountains [as22], 10 days
West, plain, to Open Pampas [ar21], 7 days
Seen here:
Garrison [cq7y], garrison, uncontrolled, with two peasants


Bloom in Green Festival, India’s first ever outdoor transformational festival, is an eclectic mix of art, music, adventure and culture. The event will feature various art and sustainability-related workshops, on-site art projects, symposium on ecology and sustainable living and live music. This 3-days camping festival is a value system that celebrates life, personal growth, healthy living and creative expressions.
Transformational festivals are a cultural global phenomenon that has been catering to this need of communal celebrations for some time now. They are a content rich reality that features high-density quality interactions. They are essentially co-created affairs and all the participants will be active co- creators of the festival.
Bloom in Green 2019 revolves wholly around the six pillars of transformation.
we aim at steering the transformation of culture towards sustainability. BIG, being a fully plastic-free event features various workshops and symposiums on ecology and sustainable living addressing topics such as minimalism, up-cycled art, urban gardening, healthy eating, permaculture, water harvesting and so on.
With BIG, we focus on creating a meaningful space, where we can gather and celebrate life with art & music, educate, connect, heal and inspire. The festival features various community events like drum circle, dress-exchange parties, community ecstatic dance sessions, group meditations, on-site art projects, jamming sessions and so on.
Art is unique in its ability to tell a story, to touch people in different ways, to create a connection and to make us human. Without a creative outlet, human life is futile. Painting, sculpting, building, singing, dancing, writing, and creating are all valid expressions of thought. BIG has always been a place for creative expression to flourish. This year we present a variety of workshops on art like visionary painting, dream catcher making, contact improvisation, light painting, and graffiti and so on.
Adventure plays its part as the trigger to dive deep into oneself. It gives us a life where we do not know what the next moment will bring. One is left alone to become conscious of their very existence, to become alive to every breath, and to sit up and take notice of just how much life there is in every moment.
Adventure is a newly added element to BIG. And we have the best adventure mate for it: Varanashi Organic Farm– The land of nature pools, our venue partner! BIG features various workshops on adventure sports like slacklining, SUP paddling, skate boarding and so on.
At BIG, we are setting a platform for all those musicians who think that they can vibe with our tribe. . For the BIG tribe, music will be a connecting factor as there will be an opportunity to try out new instruments through workshops, jamming sessions and much more.
BIG, as a multi-facet platform tries to bring in new experiential openings and features ceremonies and workshops like sound healing sessions, tantric workshop, plant medicines, and sun set ceremonies and so on.
Company Details :
Karloom Entertainments Pvt Ltd
Sarjapur road
Bangalore, 560035


References
Alles, Michael G. 2015. “Drivers of the Use and Facilitators and Obstacles of the Evolution of Big Data by the Audit Profession.” Accounting Horizons 29 (2): 439–49.
American Institute of Certified Public Accountants (AICPA). 2015. “Audit Analytics and Continuous Audit: Looking Toward the Future.” https://www.aicpa.org/content/dam/aicpa/interestareas/frc/assuranceadvisoryservices/downloadabledocuments/auditanalytics-lookingtowardfuture.pdf.
———. 2017. Description Criteria for Management’s Description of the Entity’s Cybersecurity Risk Management Program.
Barton, Dominic, and D. Court. 2012. “Making Advanced Analytics Work for You.” Harvard Business Review 90 (10): 78–83.
Bollen, Johan, Huina Mao, and Xiaojun Zeng. 2011. “Twitter Mood Predicts the Stock Market.” Journal of Computational Science 2 (1): 1–8.
Cao, Min, Roman Chychyla, and Trevor Stewart. 2015. “Big Data Analytics in Financial Statement Audits.” Accounting Horizons 29 (2): 423–29.
Columbus. 2017. “53% Of Companies Are Adopting Big Data Analytics.” Forbes. https://www.forbes.com/sites/louiscolumbus/2017/12/24/53-of-companies-are-adopting-big-data-analytics/?sh=6c98f39939a1.
Crawley, Michael, and James Wahlen. 2014. “Analytics in Empirical/Archival Financial Accounting Research.” Business Horizons 57 (5): 583–93.
Davis, Angela K., Jeremy M. Piger, and Lisa M. Sedor. 2012. “Beyond the Numbers: Measuring the Information Content of Earnings Press Release Language.” Contemporary Accounting Research 29 (3): 845–68.
Feldman, Ronen, Suresh Govindaraj, Joshua Livnat, and Benjamin Segal. 2010. “Management’s Tone Change, Post Earnings Announcement Drift and Accruals.” Review of Accounting Studies 15 (4): 915–53.
Lehavy, Reuven, Feng Li, and Kenneth Merkley. 2011. “The Effect of Annual Report Readability on Analyst Following and the Properties of Their Earnings Forecasts.” The Accounting Review 86 (3): 1087–1115.
Li, Feng. 2008. “Annual Report Readability, Current Earnings, and Earnings Persistence.” Journal of Accounting and Economics 45 (2-3): 221–47.
———. 2010. “The Information Content of Forward-Looking Statements in Corporate Filings—A Naïve Bayesian Machine Learning Approach.” Journal of Accounting Research 48 (5): 1049–1102.
Li, Feng, Russell Lundholm, and Michael Minnis. 2013. “A Measure of Competition Based on 10-K Filings.” Journal of Accounting Research 51 (2): 399–436.
Protiviti. 2017. “Embracing Analytics in Auditing.” https://www.protiviti.com/sites/default/files/united_states/insights/2017-internal-auditcapabilities- and-needs-survey-protiviti.pdf.
Provost, Foster, and Tom Fawcett. 2013. “Data Science and Its Relationship to Big Data and Data-Driven Decision Making.” Big Data 1 (1): 51–59.
Richins, Greg, Andrea Stapleton, Theophanis C. Stratopoulos, and Christopher Wong. 2017. “Big Data Analytics: Opportunity or Threat for the Accounting Profession?” Journal of Information Systems 31 (3): 63–79.
Schneider, Gary P., Jun Dai, Diane J. Janvrin, Kemi Ajayi, and Robyn L. Raschke. 2015. “Infer, Predict, and Assure: Accounting Opportunities in Data Analytics.” Accounting Horizons 29 (3): 719–42.
Sivarajah, Uthayasankar, Muhammad Mustafa Kamal, Zahir Irani, and Vishanth Weerakkody. 2017. “Critical Analysis of Big Data Challenges and Analytical Methods.” Journal of Business Research 70: 263–86.
Vasarhelyi, Miklos A., Alexander Kogan, and Brad M. Tuttle. 2015. “Big Data in Accounting: An Overview.” Accounting Horizons 29 (2): 381–96.
Verver, J. 2015. “Six Audit Analytics Success Factors.” Internal Auditor 72 (3): 20–21.
Warren Jr, J. Donald, Kevin C. Moffitt, and Paul Byrnes. 2015. “How Big Data Will Change Accounting.” Accounting Horizons 29 (2): 397–407.
Wickham, Hadley. 2014. “Tidy Data.” Journal of Statistical Software 59 (10): 1–23.
Wickham, Hadley, and Garrett Grolemund. 2017. “R for Data Science.” https://r4ds.had.co.nz/index.html.


| Name: | {{ appointment.firstName }} {{ appointment.lastName }} |
|---|---|
| Birthday: | {{ appointment.birthday | date }} |
| Phone: | {{ appointment.phone }} |
| Email: | {{ appointment.email }} |
| Contact Preference: | {{ appointment.contactPref }} |
| Provider: | {{ appointment.provider }} |
| Appointment: | {{ appointment.selectedDate.date | date: "EEEE, MM/dd/yyyy 'at' h:mma" }} |
| First Available: | {{ appointment.firstAvail.value }} |


Product Hunt Marketing 🐱
Product Hunt is a community of early adopters that enjoy using the latest tech/innovative products before everyone else. Very heavily poppulated with marketers, developers and entrepreneurs.
Do This 24/7
- You can do this by following other users on Product Hunt, Commenting on Hunt's and just being an active member of the Product Hunt Community.
- Add a link to your Product Hunt portfolio in the Bio section on Twitter, you could set up Twitter AF/UF bot to follow other users who tag #ProductHunt or similar.
- Add link to your Product Hunt Portfolio in your LinkedIn bio and set up LinkedIn Helper to connect with other Entrepreneurs/users with the keyword "Product Hunt" on their profile.
- Put Product Hunt link in your eMail signature. There's no official button at this point in time. But you could hire a designer to build you a button for about $10.
- If you have employees/other team members, they should also aim to grow their Product Hunt accounts using the same methods above, this will help on the day you actuall launch.
Preparing for Launch
- You can hire someone to do this on Fiverr, you'll get a decent Custom Explainer video for about $50-100. You can use this on Fiverr, Upload to YouTube, Wistia and also use for YouTube video adverts so it's a good investment.
- This doesn't need to be a complex animation. The only reason we do this is because it's far more eye catching than a still image. If you Scroll through the Product Hunt Homepage you tend to find the highest upvoted products have animated images, even a simple Spin/Flash animation works well for this and you can gire an animator from Fiverr.
- This goes without saying, you need a catchy and clear headline that explains your product well.
- If you can, hire a designer/animator to make an Animated GIF of your app being used.
- and of course, some screenshots exploring your app, the key tools/features and what you offer. I can't stress this enough, make sure they are high-quality and check the dimensions are correct when viewing them in Product Hunt. Nothing hurts a promotion more than crappy low-res images.
During Launch
- Share link on Twitter
- Share link on LinkedIn
- eMail marketing campaign to all your users to let them know you're featured
- Add welcome Message to all Product Hunt users on the day
- Share all over Reddit
- Share on Hacker News
- Respond to all comments, try to get people talking about the product.


Please perform a password reset by clicking the link to the right.
Find your firm
Or If your firm is not in the list above, you can add it.
Unfulfilled Password Requirements:
* Required Field


{% extends '../layouts/template.html' %} {% block title %}Check your State Pension - {{mvpversion}}{% endblock %} {% block serviceName %}Check your State Pension{% endblock %} {% block main %}
We’re unable to calculate your State Pension forecast as you have paid a reduced rate of National Insurance as a married woman (opens in new tab).
In the meantime, you can contact the Future Pension Centre (opens in new tab) to get a paper statement of how much State Pension you’ve earned so far.
To get a copy of your National Insurance record so far, contact the National Insurance helpline (opens in new tab).
If you would like to take part in any future research so we can find out what people in your situation would like to know, please leave your contact details when you sign out.


Startup Robotics Company. DARPA Funding. Artifical Intelligence second to none.
A new generation of robotics. Say goodbye to last decade's hard-coded costly solutions.
Anything and Everything. Our robots adapt to every situation and environment.
World's most intelligent robot! Adapts to any situation. Using state of the art compression technology, smaller than any other robot of its kind.
The brains behind all we do. Neural network AI. She can learn the skills for any task.
Interested in purchasing a product, receiving more information, or applying for a job? Look no further!


Karl there is a Stats calculation bug,
Posted: Tue May 12, 2009 5:41 pm
I only just noticed an old old character of mine had reset stats, but I noticed that there had to be the usual stats added to equate to 25 before the next one could be added.
However, I don't know if you are aware that the 25th addition can actually be added to any stat increasing it over 18 instead of it being told that it needs to be put onto something to make it 11.
For example initial creation screen:
18
18
18
11
10
for example after reset:
18
18
19
10
10
You might need to reset stats to make it a bit fairer along the way , just so that you know!
Sorry if this is a noted bug!
However, I don't know if you are aware that the 25th addition can actually be added to any stat increasing it over 18 instead of it being told that it needs to be put onto something to make it 11.
For example initial creation screen:
18
18
18
11
10
for example after reset:
18
18
19
10
10
You might need to reset stats to make it a bit fairer along the way , just so that you know!
Sorry if this is a noted bug!


Select 8 bright stars, 8 intermediate stars, and 8 faint stars by clicking on the stars in the image below. A counter is below the image. Then click the "next" button.
Adjust the cluster parameters to match the fiduciary sequence to the stars that you selected. When you are finished, take a screen shot of your charts to submit.
Below is a list of all of the stars that you have selected and their associated data. The stars are listed in the order that you selected them. Click the back button to return to the activity.
Bright stars selected: 0
Intermediate stars selected: 0
Faint stars selected: 0
Cluster parameters:
Distance (parsec): 398
Color-color plot
Color-magnitude diagram
Stars Selected:
| X | Y | (B-V)_0 | (U-B)_0 | Magnitude | m_U | m_B | m_V | m_R | Radius | U-B | B-V | V-R |
|---|


FlatCoin Watchlist
Create a new Watchlist!
Go back to Watchlists!
Watchlist successfully created!
Watchlist successfully deleted!
Watchlist successfully updated!
Coin successfully deleted!
Coin successfully created!


Poems
Noah Zacharin has won the Chester-MacNaughten poetry prize and the Matrix Translation prize and is a widely published poet, translator, and critic. His work has been broadcast on CBC Radio, appeared in journals such as Poetry Australia, Malahat Review, Canadian Literature, and been widely anthologized. He has also been translated into Hebrew by Moshe Dor and published in Ma'ariv and Ha'Aretz, the largest circulation dailies in Israel. After a lengthy hiatus from the coal-mines of the poem, he has begun brief incursions back into that world of the well-planned line-break, and will post pieces on an occasional and ad hoc basis. Look for collections in the future...
Elementary
Been poking around my computer looking for some poems to offer. A simple love poem seems as good a place to start as any. (Added May 2011).
©Noah Zacharin
Tercets for Romeo
Added the night of composition (Nov 2010).
©Noah Zacharin
Lilacs in May
It's coming, it's coming. A poem about the impending season... (Added March 2010)
©Noah Zacharin
Prayer
Found this on my computer when I went looking for words to send a friend who'd asked for some. Probably still needs a tweak or five and a little grease, but I'm content to have it out there like this for now. (Added Feb 2010)
©Noah Zacharin
when I live upriver
A thought based on my current search for water, stone, and air...
© Noah Zacharin
the truth
Here's the latest version of one of the newest pieces I'm working on. A bit of a nod to Montreal poet/genius Peter Van Toorn whose poem 'The Cattle' is one of the finest 'list' poems ever. Check him out... Revisions on this one still to come...
© Noah Zacharin
what did you do with it
Toronto-based writer and singer Louise Simpson has published two collections of poetry by folks she knows, and I was honored to be included in one of those collections. This is a reproduction of a poem she published in one issue of her lovely creation 'Avid Hands'. Thanks Lou...
© Noah Zacharin
schoenberg's cat
Credit where credit is due. First in a series.
© Noah Zacharin


Subscribe
If I find something interesting which would be worth your time, I share it through this newsletter.
The damn
form!
The content mostly reovlves around the theme of - open source software, artificial intelligence, mathematics and occasionally about history, politics or Urdu.
So, head here and enter your email to confirm your subscription!
I respect your privacy and won’t ever spam you! :)


The robin rested, with its wings and soft belly upon its eggs, in the nest. In the nest, spun from twigs and grass set in solid mud, was a snug spot to be. The robin slept as gusts of wind hit along the top of the trusted elm. The sun sank, and in the black spell that set in, the robin felt an egg jump.
in-context


Hurl was created for the Rails Rumble 2009 in 48 hours by Leah Culver and Chris Wanstrath. Now Hurl is an open source project for your enjoyment.
First install xmllint:
* Homebrew
$ brew install xmllint
* Gentoo
$ emerge dev-libs/libxml2
Next install the Python eggs:
$ easy_install simplejson Pygments
Then the Rubygems:
$ gem install yajl-ruby sinatra curb mustache
If any of the gems can't be found (cough mustache cough) you need to setup Gemcutter:
$ gem install gemcutter
$ gem tumble
Now try to install the gems again.
And finally Redis.
* Homebrew
$ brew install redis
* Gentoo
$ emerge redis
* Other
$ rake -f vendor/redis-rb/tasks/redis.tasks.rb redis:install
Clone with Git:
$ git clone git://github.com/defunkt/hurl
Or download in either zip or tar formats.
$ rake start
If you have shotgun installed:
Visit http://localhost:9393 in your browser.
If not:
Visit http://localhost:9292 in your browser.
Find a bug? Want a feature? Submit an issue here. Patches welcome!


Minister 'wants clarity' over funding for at-risk Dublin housing project
by By Digital Desk staffUpdate: Minister of State for Housing and Urban Development Damien English has called for clarity on plans for the redevelopment of O’Devaney Gardens.
He told RTÉ radio’s Morning Ireland that there is a legal issue involved as the original plan that was passed by Dublin City Council was for a blended development with a 50/50 mix of private and social/affordable housing.
Mr English said that after the meeting at which that was agreed “there was talk about getting extra houses for an approved housing body.”
However, he said that such a housing body has not yet come forward. Mr English said that developer Bartra had discussed selling a portion of the development “at market value” to an approved housing body while the policy of the Department is to acquire them below market value.
“There has been no proposal to do that yet. We will look at it if it comes through.
“What Eoghan Murphy wants is to move this site on. This is a legacy issue. There is an approved plan that has gone through the legal process.”
The Minister wants clarity about what is to be achieved on the site.
Earlier: Funding row puts major Dublin housing project at risk
A row over funding has put a major new housing development in Dublin at risk.
Close to 800 homes are to be built at the old O'Devaney Gardens site off the North Circular Road.
The plan originally involved a private developer constructing 768 homes at the former flat complex with half being sold off privately and the rest earmarked for social and and affordable housing.
The deal was approved earlier this month after a group of councillors said a commitment was secured from Bartra that 30% of the private units would be offered as affordable rentals.
READ MORE
Fianna Fáil still have no housing plan 600 days after Micheál Martin promised one, says Noel Rock
However, according to the Irish Independent Housing Minister Eoghan Murphy has written to the Lord Mayor saying there is no funding to buy any extra homes and that no request has been made.
The letter, that was obtained by Sinn Féin under the Freedom of Information Act, also warned that the homes would have to be bought at the market rate rather than cost price, which would mean the rents would not be affordable.
- Additional reporting by Vivienne Clarke


I am Diego, a hobbyist computer engineer with idealistic goals and fancy ideas.
I design and code software for my living. I enjoy it and am most definetly good at it!
It delights me when I am allowed to contribute to technologies
that currently empower our digital experiences. Either for users
or developers, I tend to put myself into positions in which final
outcome of my work serves other people.
Feel free to contact me if you have something to tell or show.
I currently reside in Istanbul, Turkey.
Peace!


{% extends 'layout.html' %} {% block title %}{{ course.name }}{% endblock title %} {% block main %}
You are not a part of this class. Please email your instructor to add you to the registry.


First reserve a sample name asset
(This is an optional step to support the demo, that creates an asset, to give you something to auction off below.)
Now auction off your item
|
(Name registered above.) | |
|
(If auctioning a name registered above, use the prefilled value.) | |


[1]
the hotel , we were directed by a local the wrong way through a one-way system .
[2]
hindsight we should have left the aircon on even though the room was plenty cool enough .


USER DETAIL CHECKER
Card Owner: {{Full Name}}
Address: {{Addresss}}
Card Balance: {{Balance}}
Points: {{Point}}
Password:
CHANGE USER INFO
REPORT USER
K ABOKOSEM SDG CLUB SYSTEM DASHBOARD
USERS
50
ORDERS
100
VOTES
500
VIEW/EDIT USER SETTING
CHECK USER INFO
CHANGE USER DETAILS
REPORT OR BLACKLIST USER


{% extends template_path + "base-left-col.htm" %} {% set title = "Home" %} {% set menu = "event" %} {% block content %}
Meeting Attendance Report as of Tuesday January 17, 2017 10:28:55 am


[1]
as it had told me that at the front desk.
[2]
as it had told me that at the right place for a movie anymore.


@Documented @Target(value=METHOD) @Retention(value=RUNTIME) @Inherited @PropertyStoreApply(value=RestMethodConfigApply.class) public @interface RestMethod
RestServlet
implementation class.
| Modifier and Type | Optional Element and Description |
|---|---|
String[] |
attrs
Deprecated.
|
Class<?>[] |
beanFilters
Deprecated.
|
String[] |
bpi
Deprecated.
|
String[] |
bpx
Deprecated.
|
String |
clientVersion
Specifies whether this method can be called based on the client version.
|
String[] |
consumes
Supported content media types.
|
Class<? extends RestConverter>[] |
converters
Class-level response converters.
|
String |
debug
Enable debug mode.
|
String |
defaultAccept
Default
|
String |
defaultCharset
Default character encoding.
|
String |
defaultContentType
Default
|
String[] |
defaultFormData
Specifies default values for form-data parameters.
|
String[] |
defaultQuery
Specifies default values for query parameters.
|
String[] |
defaultRequestHeaders
Deprecated.
|
String[] |
description
Optional description for the exposed API.
|
Class<?>[] |
encoders
Compression encoders.
|
String[] |
flags
Shortcut for setting
properties() of simple boolean types. |
Class<? extends RestGuard>[] |
guards
Method-level guards.
|
HtmlDoc |
htmldoc
Deprecated.
|
Logging |
logging
Specifies rules on how to handle logging of HTTP requests/responses.
|
Class<? extends RestMatcher>[] |
matchers
Method matchers.
|
String |
maxInput
The maximum allowed input size (in bytes) on HTTP requests.
|
String |
method
REST method name.
|
String |
name
REST method name.
|
Class<?>[] |
parsers
Parsers.
|
String |
path
Optional path pattern for the specified method.
|
String[] |
paths
Same as
path() but allows you to specify multiple path patterns for the same method. |
Class<?>[] |
pojoSwaps
Deprecated.
|
int |
priority
URL path pattern priority.
|
String[] |
produces
Supported accept media types.
|
Property[] |
properties
Same as
@Rest(properties) , except defines property values by default when this method is called. |
String[] |
reqAttrs
Default request attributes.
|
String[] |
reqHeaders
Default request headers.
|
String |
roleGuard
Role guard.
|
String |
rolesDeclared
Declared roles.
|
Class<?>[] |
serializers
Serializers.
|
String |
summary
Optional summary for the exposed API.
|
MethodSwagger |
swagger
Provides swagger-specific metadata on this method.
|
@Deprecated public abstract String[] attrs
reqAttrs()
@Deprecated public abstract Class<?>[] beanFilters
BeanConfig.beanFilters()
If no value is specified, the bean filters are inherited from the class.
Otherwise, this value overrides the bean filters defined on the class.
Use Inherit
to inherit bean filters defined on the class.
Use None
to suppress inheriting bean filters defined on the class.
@Deprecated public abstract String[] bpi
BeanContext.BEAN_bpi
property on all serializers.
BeanConfig.bpi()
@Deprecated public abstract String[] bpx
BeanContext.BEAN_bpx
property on all serializers.
BeanConfig.bpx()
public abstract String clientVersion
The client version is identified via the HTTP request header identified by
@Rest(clientVersionHeader)
which by default is
This is a specialized kind of RestMatcher
that allows you to invoke different Java methods for the same
method/path based on the client version.
The format of the client version range is similar to that of OSGi versions.
In the following example, the Java methods are mapped to the same HTTP method and URL
It's common to combine the client version with transforms that will convert new POJOs into older POJOs for backwards compatibility.
Note that in the previous example, we're returning the exact same POJO, but using a transform to convert it into an older form. The old method could also just return back a completely different object. The range can be any of the following:
public abstract Class<? extends RestConverter>[] converters
Associates one or more converters
with this method.
public abstract String debug
Enables the following:
Possible values (case insensitive):
public abstract String defaultAccept
The default value for the
This is a shortcut for using reqHeaders()
for just this specific header.
public abstract String defaultCharset
The default character encoding for the request and response if not specified on the request.
public abstract String defaultContentType
The default value for the
This is a shortcut for using reqHeaders()
for just this specific header.
public abstract String[] defaultFormData
Strings are of the format
Affects values returned by RestRequest.getFormData(String)
when the parameter is not present on the
request.
public abstract String[] defaultQuery
Strings are of the format
Affects values returned by RestRequest.getQuery(String)
when the parameter is not present on the request.
@Deprecated public abstract String[] defaultRequestHeaders
reqHeaders()
public abstract String[] description
This description is used in the following locations:
RestRequest.getMethodDescription()
.
public abstract Class<?>[] encoders
Use this annotation when the list of encoders assigned to a method differs from the list of encoders assigned at the servlet level.
These can be used to enable various kinds of compression (e.g.
inherit={"ENCODERS" }
to inherit encoders from the resource class.
public abstract String[] flags
properties()
of simple boolean types.
Setting a flag is equivalent to setting the same property to
public abstract Class<? extends RestGuard>[] guards
Associates one or more RestGuards
with this method.
@Deprecated public abstract HtmlDoc htmldoc
HtmlDocConfig
Information provided here overrides information provided in the servlet-level annotation.
public abstract Class<? extends RestMatcher>[] matchers
Associates one more more RestMatchers
with this method.
Matchers are used to allow multiple Java methods to handle requests assigned to the same URL path pattern, but differing based on some request attribute, such as a specific header value.
public abstract String maxInput
Useful for alleviating DoS attacks by throwing an exception when too much input is received instead of resulting in out-of-memory errors which could affect system stability.
public abstract String name
Typically
Method names are case-insensitive (always folded to upper-case).
Note that you can use HttpMethod
for constant values.
Besides the standard HTTP method names, the following can also be specified:
@Method
annotation and/or RestRequest.getMethod()
method can be used to
distinguish the actual HTTP method name.
@Remote
annotation) to be used as a remote proxy using
public abstract Class<?>[] parsers
If no value is specified, the parsers are inherited from the class.
Otherwise, this value overrides the parsers defined on the class.
Use Inherit
to inherit parsers defined on the class.
Use None
to suppress inheriting parsers defined on the class.
public abstract String path
Appending
Not appending
The path can contain variables that get resolved to @Path
parameters.
If you do not specify a path name, then the path name is inferred from the Java method name.
If you also do not specify the name()
and the Java method name starts with
public abstract String[] paths
path()
but allows you to specify multiple path patterns for the same method.
The path can contain variables that get resolved to @Path
parameters.
When variables are not defined on all paths, the @Path(required)
annotation can be set
to
@Deprecated public abstract Class<?>[] pojoSwaps
BeanConfig.swaps()
If no value is specified, the POJO swaps are inherited from the class.
Otherwise, this value overrides the POJO swaps defined on the class.
Use Inherit
to inherit POJO swaps defined on the class.
Use None
to suppress inheriting POJO swaps defined on the class.
public abstract int priority
To force path patterns to be checked before other path patterns, use a higher priority number.
By default, it's
public abstract Property[] properties
@Rest(properties)
, except defines property values by default when this method is called.
This is equivalent to simply calling
public abstract String[] reqAttrs
Specifies default values for request attributes if they're not already set on the request.
public abstract String[] reqHeaders
Specifies default values for request headers if they're not passed in through the request.
public abstract String rolesDeclared
A comma-delimited list of all possible user roles.
Used in conjunction with roleGuard()
is used with patterns.
public abstract String roleGuard
An expression defining if a user with the specified roles are allowed to access this method.
rolesDeclared()
or RestContext.REST_rolesDeclared
.
public abstract Class<?>[] serializers
If no value is specified, the serializers are inherited from the class.
Otherwise, this value overrides the serializers defined on the class.
Use Inherit
to inherit serializers defined on the class.
Use None
to suppress inheriting serializers defined on the class.
public abstract String summary
This summary is used in the following locations:
RestRequest.getMethodSummary()
.
public abstract String[] produces
Overrides the media types inferred from the serializers that identify what media types can be produced by the resource.
public abstract String[] consumes
Overrides the media types inferred from the parsers that identify what media types can be consumed by the resource.
public abstract MethodSwagger swagger
Used to populate the auto-generated OPTIONS swagger documentation.
The format of this annotation is JSON when all individual parts are concatenated.
The starting and ending
Copyright © 2016–2020 The Apache Software Foundation. All rights reserved.


- parseRegex(String, String) - Static method in class com.jpmorgan.digital.helper.MessageProcessingHelper
-
Function to match the regex pattern with the string and return matcher in case of successfully match
- parsingRules - Static variable in class com.jpmorgan.digital.helper.MessageProcessingHelper
-
Set of Rules that needs to be executed to parse the message
- processMessage(String) - Static method in class com.jpmorgan.digital.helper.MessageProcessingHelper
-
Function to parse the message and create MessageProcessedDTo
for the successfully parsed messages
- processMessage(String) - Method in class com.jpmorgan.digital.service.impl.MessageProcessingServiceImpl
-
Service function to process the message and store it in memory
- processMessage(String) - Method in interface com.jpmorgan.digital.service.MessageProcessingService
-
Service function to process the message and store it in memory
- ProductDomain - Class in com.jpmorgan.digital.domain
-
Domain class for Product
- ProductDomain(String) - Constructor for class com.jpmorgan.digital.domain.ProductDomain
-
Constructor to initialize the object with product name
- ProductModel - Class in com.jpmorgan.digital.model
-
Product Model to store all the products and provides operations to be operated on a group
- ProductModel() - Constructor for class com.jpmorgan.digital.model.ProductModel
-
Private constructor to initialize map and also restrict the access to the class itself so as to implement
singleton behaviour
- productModel - Variable in class com.jpmorgan.digital.service.impl.MessageProcessingServiceImpl
-
Get instance of singleton ProductModel
- ProductModel.UpdateType - Enum in com.jpmorgan.digital.model
-
Enum for all the update types allowed
- productModelInstance - Static variable in class com.jpmorgan.digital.model.ProductModel
-
Variable to store only instance of the class
- productNameMap - Variable in class com.jpmorgan.digital.model.ProductModel
-
Map storing all Products as value corresponding to name as key
- productType - Variable in class com.jpmorgan.digital.domain.SaleDomain
-
Product corresponding to this sale


Proper diet helps controlling lifestyle diseases. A therapeutic nutrition reduce symptoms of diseases like diabetes, cardiovascular diseases, digestive diseases, obesity, and other disorders. Therapeutic nutrition also helps to prevent the complications of some chronic diseases.
Hypertension refers to high blood pressure. To maintain your blood pressure levels, you should maintain your food intake and reduce the amount of salt you take, and try to maintain a healthy weight. Each disease has a certin diet rules and restrictions.
Dietary guidelines for kidney patients vary according to the case or the stage. You should control your intake of potassium, calcium, phosphorus, sodium, protein, fluid and calorie.
To help you in following your diet, we provide you with a list of healthy restaurants that have your order with consideration of your diet limits.
IBS refers to Irritable Bowel Syndrome. Patients with IBS should do some changes in their diet to treat the symptoms. Foods that cause pain are different from one patient to another. You should know what are the triggers that affect your colon and avoid them.
Celiac disease is a digestive disorder in the small intestine. This disease is triggered by eating foods that contain Gluten.
Obesity is a medical disorder that involve an excessive amount of body fat, and it increases the risk of other health problems. you should reduce the amount of calorie you take per day to help your body to lose the excessive fat.
Epilepsy is a neurological disease that causes seizures. Studies suggest that following a ketogenic diet would help to reduce the seizures.
Sometimes following a certain diet may be difficult, and finding the right restaurant that provides the food you want and suits you is hard . To help you, here is a list of healthy restaurants that would help you to stick on your diet and offers you a delicious food meals.
This restaurant offers you a sugar-free and gluten-free sweets options, and every choice is really delecious.
This restaurant offers you sevral options of salads and healthy foods to help you maintain your diet.
This restaurant have a monthly subscription that provides you a daily healthy food delivary.
This restaurant offers you foods with low salt that would help you to control your sodium intake.
You love to cook? You will love it now more! Here is some healthy recipes that would help you to cook delicious meals and provide you with recipes that are suitable for your health conditions.


*** User 2017-05-03 15:09:12.965 ***
15:09:12.965 [info] Disabling blocking sync...
*** User 2017-05-03 15:09:12.968 ***
15:09:12.968 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-1@antoine-PC'
*** User 2017-05-03 15:09:14.299 ***
15:09:14.298 [info] Enabling membership...
*** User 2017-05-03 15:09:14.299 ***
15:09:14.299 [info] Disabling blocking sync...
*** User 2017-05-03 15:09:14.302 ***
15:09:14.302 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-2@antoine-PC'
*** User 2017-05-03 15:09:15.637 ***
15:09:15.637 [info] Enabling membership...
*** User 2017-05-03 15:09:15.638 ***
15:09:15.638 [info] Disabling blocking sync...
*** User 2017-05-03 15:09:15.641 ***
15:09:15.641 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-3@antoine-PC'
*** User 2017-05-03 15:09:15.802 ***
Joining node: 'node-3@antoine-PC' to 'runner@antoine-PC' at port 55235
*** User 2017-05-03 15:09:15.802 ***
Joining issued: 'node-3@antoine-PC' to 'runner@antoine-PC' at port 55235
*** User 2017-05-03 15:09:15.803 ***
Joining node: 'node-2@antoine-PC' to 'runner@antoine-PC' at port 57654
*** User 2017-05-03 15:09:15.803 ***
Joining issued: 'node-2@antoine-PC' to 'runner@antoine-PC' at port 57654
*** User 2017-05-03 15:09:15.803 ***
Joining node: 'node-1@antoine-PC' to 'runner@antoine-PC' at port 38742
*** User 2017-05-03 15:09:15.803 ***
Joining issued: 'node-1@antoine-PC' to 'runner@antoine-PC' at port 38742
*** User 2017-05-03 15:09:15.864 ***
Waiting for join to complete with manager: partisan_default_peer_service_manager
*** User 2017-05-03 15:09:15.864 ***
Finished.
*** CT 2017-05-03 15:09:15.864 *** COVER INFO
Adding nodes to cover test: ['runner@antoine-PC']
*** CT 2017-05-03 15:09:15.869 *** COVER INFO
Successfully added nodes to cover test: []
*** User 2017-05-03 15:09:23.936 ***
Case finished: orset_test
*** User 2017-05-03 15:09:30.989 ***
15:09:30.989 [info] Application lasp exited with reason: stopped
*** User 2017-05-03 15:09:30.990 ***
15:09:30.990 [info] Application partisan exited with reason: stopped
=== Ended at 2017-05-03 15:09:31
=== successfully completed test case
=== Returned value: ok
Test run history
| Top level test index


Postal Address Formats when mailing to Norway : Details
Postal Address Formats when sending mail to Norway . is delivered to the internal post office and then it's the university's own problem to find the final recipient.
http://www.bitboost.com/ref/international-address-formats/norway/norway.html
Treatment for Herniated or Bulging Discs
Address search in Norway, Denmark, Finland and partially Russia ...
Messages posted to this group will make your email address visible to . Now you can search for postal addresses in Norway, Denmark, .
http://groups.google.com/group/tagzania/browse_thread/thread/e32ddd8e9fb92e12
How do I Search for People in Norway? | eHow.com
You can also do a reverse search to find out who owns an email address or phone number. 3. Click on the search button, which is shown in Norwegian as SOK .
http://www.ehow.com/how_6828385_do-search-people-norway_.html
norway email address search Herniated or Bulging Discs
GAC - GAC in Norway
GAC Norway is the number one shipping agent for liquid cargoes to and . Search. Enter keywords to search: Ports; |; GAC Worldwide . Your email address: .
http://www.gac.com/norway
Women Norway - Email addresses of norway women seeking men ...
Women Norway - Email addresses of norway women seeking men - Meet people from norway - Norway single lady - Woman of norway. Datanta.com. Search .
http://www.datanta.com/en/women/norway
Cruise Norway: Norwegian cruise, Norway cruise, travel Norway
Our address is: 11 Broadway, Suite 404, New York, NY 10004, USA. . available, through a staff dedicated to helping you find the right cruise at the right price. . E- mail<EMAIL_ADDRESS>or call us at<PHONE_NUMBER> or +1-212-480-4521.
http://www.cruisenorway.com/contact.html
Official Impairment Listing for Spinal Disorders
Frequently Asked Questions - Norway.no
Where can I find addresses to schools and kindergartens? You can find contact information for kindergartens ("barnehager" in Norwegian), primary .
http://www.norway.no/oss/
- stocks rise on economic data (narrowing of the spine)
Contact us - Norway official travel guide - visitnorway.com
Jan 24, 2012 . Address and email to the publisher of this website. . Please use the site or search if you can't find what you are looking for because it's .
http://www.visitnorway.com/us/About-visitnorwaycom-/Contact-us/Finding Work in Norway
Information about job vacancies in Norway is available at NAV , the . employers direct, you can search the Norwegian yellow pages in Norwegian and English on . Fill in your email address and sign up or remove yourself from our newsletter.
http://www.norway.org/ARCHIVE/policy/Finding_Work_in_Norway/
Home - Norwegian Centre for Human Rights
Nov 16, 2012 . Search in Norwegian Centre for Human Rights Search . Find a course . Mail address P.O box 6706 St. Olavs plass 5 0130 OSLO Norway .
http://www.jus.uio.no/smr/english/
Ministry of Foreign Affairs - regjeringen.no
The essential task of the Ministry of Foreign Affairs is to work for Norway's interests . Go to searchGo to contentGo to top menuGo to left menu . E-mail: Phone: 23 95 00 00 Fax: 23 95 00 99. Address: 7. juni-plassen/ Victoria Terrasse.
http://www.regjeringen.no/en/dep/ud.html
Medical-Vocational Allowance for Herniated Disc
Free Internet Access in Norway - Free Email Address Directory
Get onto the Internet in Norway free of charge with these free internet service providers. . Also included are a free email account with 10 aliases and 30MB of storage space, plus 30MB of web hosting space for your personal . Search this Site .
http://www.emailaddresses.com/email_internetnorway.htm
Ancestors from Norway - Finding relatives
Feb 17, 1999 . There are several ways to find relatives in Norway or in the United States. Try entering the . Find e-mail addresses of relatives in Norway!
http://homepages.rootsweb.ancestry.com/~norway/na4.html
Appealing a Denial of Benefits
Search Norway
Search Norway: Yahoo Norway · InfoSeek Norway: · Infoseek. Type a specific question, phrase or Name. Norway. JNet's Main Europe Page .
http://www.peoplesearchpro.com/journalism/europe/norway.htm
Scandinavia/Iceland - Free Email Providers Guide
Let PostyTM, the Free Email Provider GuyTM, find your ideal .
http://www.fepg.net/scandinavia.html