This page specifies the configurations available in Envelope.
Example configuration
As illustration, a typical Envelope batch application that reads HDFS JSON files, extracts a subset of data, and writes the results to S3 in Parquet might have the following configuration.
application { name = Envelope configuration example executor.instances = 3 executor.memory = 4G } steps { exampleInput { input { type = filesystem path = "hdfs://..." format = json } } exampleStep { dependencies = [exampleInput] deriver { type = sql query.literal = "SELECT MY_UPPER(foo) AS foo FROM exampleInput WHERE MY_LOWER(bar) = 'blag'" } planner { type = append } output { type = filesystem path = "s3a://..." format = parquet } } } udfs : [ { name = my_upper class = com... }, { name = my_lower class = com... } ]
Application
Application-level configurations have the application.
prefix.
| Configuration suffix | Description |
|---|---|
name |
The application name in YARN. |
executor.instances |
The number of executors to be requested for the application. If not specified then Spark dynamic allocation will be used. |
executor.initial.instances |
The initial number of executors to be requested for the application when using Spark dynamic allocation. This can help more quickly warm up the job’s resources without using a static allocation. |
executor.cores |
The number of cores per executor. Default is 1. |
executor.memory |
The amount of memory per executor. Default is 1G. |
batch.milliseconds |
The length of the micro-batch in milliseconds. Default is 1000. Ignored if the application does not have a streaming input. |
pipeline.threads |
The number of threads that Envelope will use to run pipeline steps. This is effectively a limit on the number of outputs that can be writing at once. Default is 20. |
spark.conf.* |
Used to pass configurations directly to Spark. The |
hive.enabled |
Enables Hive support. Default is true. Must be enabled before reading and writing data stored in Apache Hive. Setting the value to false when Hive integration is not required avoids the associated overhead. |
configuration.validation.enabled |
Enables upfront validation of the provided Envelope configuration. Default is true. |
driver.memory |
The amount of memory allocated for a Spark driver. Please note that this configuration is only applicable when application is deployed in cluster mode, and will cause an exception if deployment mode is client. To set driver memory for the applications running in client mode, use Spark’s command line argument --driver-memory. |
security.check-interval |
How often the security token manager in the driver checks if tokens need refreshing. Default is "60s". Accepts any Typesafe duration string. Recommended to leave at default. |
security.renew-factor |
At what proportion of a token’s lifetime to request a new token. Defaults to 0.8. Recommended to leave at default. |
config-loader |
The config loader object that will provide configurations to be merged into the base configuration at the start of the pipeline and for every micro-batch. Note this is typically only required when streaming pipelines require dynamic refreshing of configurations. |
Steps
Step configurations have the steps.[stepname].
prefix. All steps can have the below configurations.
| Configuration suffix | Description |
|---|---|
type |
The step type. Envelope supports |
dependencies |
The list of step names that Envelope will submit before submitting this step. |
Data steps
Data steps can, additionally to the step configurations, have the below configurations.
| Configuration suffix | Description |
|---|---|
cache.enabled |
If |
cache.storage.level |
If specified then Envelope will change the step’s DataFrame cache storage levels to value specified.
Available storage levels are |
hint.small |
If |
print.schema.enabled |
If |
print.data.enabled |
If |
print.data.limit |
The maximum number of records to print when |
repartition.partitions |
The number of DataFrame partitions to repartition the step data by. In Spark this will run |
repartition.columns |
A list of DataFrame columns to repartition the step data by. In Spark this will run |
coalesce.partitions |
The number of DataFrame partitions to coalesce the step data by. In Spark this will run |
Loop steps
Loop steps can, additionally to the step configurations, have the below configurations. For more information on loop steps see the looping guide.
| Configuration suffix | Description |
|---|---|
mode |
The mode for Envelope to run the iterations of the loop in. If |
parameter |
The parameter that Envelope will replace in strings in the configuration of the steps that are dependent on the loop step. For a parameter value |
source |
The source of the iteration values for the loop. Envelope supports |
range.start |
If using the |
range.end |
If using the |
list |
If using the |
step |
If using the |
Decision steps
Decision steps can, additionally to the step configurations, have the below configurations. For more information on decision steps see the decisions guide.
| Configuration suffix | Description |
|---|---|
if-true-steps |
Required. The list of dependent step names that will be kept if the decision result is true. The steps listed must directly depend on the decision step. The remaining directly dependent steps of the decision step will be kept if the decision result is false. Any steps subsequently dependent on the removed steps will also be removed. |
method |
Required. The method by which the decision step will make the decision. Envelope supports |
result |
Required if |
step |
Required if |
key |
Required if |
Task steps
Task steps can, additionally to the step configurations, have the below configurations. For more information on task steps see the tasks guide.
| Configuration suffix | Description |
|---|---|
class |
Required. The alias or fully qualified class name of the |
Inputs
Input configurations belong to data steps, and have the steps.[stepname].input.
prefix. For more information on inputs see the inputs guide.
| Configuration suffix | Description |
|---|---|
type |
The input type to be used. Envelope provides |
Filesystem
Input type
= filesystem
.
| Configuration suffix | Description |
|---|---|
path |
The Hadoop filesystem path to read as the input. Typically a Cloudera EDH will point to HDFS by default. Use |
format |
The file format of the files of the input directory. Envelope supports formats |
schema |
Optional. Applies to |
separator |
(csv) Spark option |
encoding |
(csv) Spark option |
quote |
(csv) Spark option |
escape |
(csv) Spark option |
comment |
(csv) Spark option |
header |
(csv) Spark option |
infer-schema |
(csv) Spark option |
ignore-leading-ws |
(csv) Spark option |
ignore-trailing-ws |
(csv) Spark option |
null-value |
(csv) Spark option |
nan-value |
(csv) Spark option |
positive-infinity |
(csv) Spark option |
negative-infinity |
(csv) Spark option |
date-format |
(csv) Spark option |
timestamp-format |
(csv) Spark option |
max-columns |
(csv) Spark option |
max-chars-per-column |
(csv) Spark option |
max-malformed-logged |
(csv) Spark option |
mode |
(csv) Spark option
(default |
format-class |
(input-format) The |
translator |
(input-format, text) The Translator class to use to convert the InputFormat’s Key/Value pairs into Dataset Rows. See Translators for details. This is optional for |
Hive
Input type
= hive
.
| Configuration suffix | Description |
|---|---|
table |
The Hive metastore table name (including database prefix, if required) to read as the input. |
JDBC
Input type
= jdbc
.
| Configuration suffix | Description |
|---|---|
url |
The JDBC URL for the remote database. |
tablename |
The name of the table of the remote database to be read as the input. |
username |
The username to use to connect to the remote database. |
password |
The password to use to connect to the remote database. |
Kafka
Input type
= kafka
.
| Configuration suffix | Description |
|---|---|
brokers |
The hosts and ports of the brokers of the Kafka cluster, in the form |
topics |
The list of Kafka topics to be consumed. |
group.id |
The Kafka consumer group ID for the input. When offset management is enabled use a unique group ID for each pipeline so that Envelope can track one execution of the pipeline to the next. If not provided Envelope will use a random UUID for each pipeline execution. |
window.enabled |
If |
window.milliseconds |
The duration in milliseconds of the Spark Streaming window for the input. |
window.slide.milliseconds |
The interval in milliseconds at which the Spark Streaming window operation is performed if using sliding windows. |
offsets.manage |
If |
offsets.output |
If |
parameter.* |
Used to pass configurations directly to Kafka. The |
Kudu
Input type
= kudu
.
| Configuration suffix | Description |
|---|---|
connection |
The hosts and ports of the masters of the Kudu cluster, in the form "host1:port1,host2:port2,…,hostn:portn". |
table.name |
The name of the Kudu table to be read as the input. |
Translators
Translator configurations belong to data steps, and have the steps.[stepname].input.translator.
prefix. For more information on translators, see the Translators section of the Inputs Guide.
| Configuration suffix | Description |
|---|---|
type |
The translator type to be used. Envelope provides |
append.raw.enabled |
If |
Avro
Translator type
= avro
.
| Configuration suffix | Description |
|---|---|
schema |
The schema to translate to. Refer to the Schema documentation |
Delimited
Translator type
= delimited
.
| Configuration suffix | Description |
|---|---|
delimiter |
The delimiter that separates the fields of the message. |
delimiter-regex |
If |
schema |
The schema to translate to. Refer to the Schema documentation |
timestamp.formats |
Optional list of timestamp format patterns. For timestamp field type, one or more patterns may be supplied in Joda timestamp format. If this configuration is supplied, timestamp format must confirm to one of these pattens to be considered validity. For performance sensitive processing, list patterns in order of probability of occurrence. If this configuration is not supplied, timestamp data must confirm to ISO 8601 date, time or datetime format. |
KVP
Translator type
= kvp
.
| Configuration suffix | Description |
|---|---|
delimiter.kvp |
The delimiter that separates the key-value pairs of the message. |
delimiter.field |
The delimiter that separates the the key and value of each key-value pair. |
schema |
The schema to translate to. Refer to the Schema documentation |
timestamp.formats |
Optional list of timestamp format patterns. For timestamp field type, one or more patterns may be supplied in Joda timestamp format. If this configuration is supplied, timestamp format must confirm to one of these pattens to be considered validity. For performance sensitive processing, list patterns in order of probability of occurrence. If this configuration is not supplied, timestamp data must confirm to ISO 8601 date, time or datetime format. |
Morphline
Translator type
= morphline
.
| Configuration suffix | Description |
|---|---|
encoding.key |
The character set of the incoming key and is stored in the Record field, |
encoding.message |
The character set of the incoming message and is stored in the Record field, |
morphline.file |
The filename of the Morphline configuration found in the local directory of the executor. See the |
morphline.id |
The optional identifier of the Morphline pipeline within the configuration file. |
schema |
The schema to translate to. Refer to the Schema documentation |
error.on.empty |
If |
Protobuf
Translator type
= protobuf
.
| Configuration suffix | Description |
|---|---|
schema |
The schema to translate to. Refer to the Schema documentation (Currently only the Protobuf schema type is supported for the Protobuf translator, |
Raw
Translator type
= raw
.
This translator has no additional configurations.
Derivers
Deriver configurations belong to data steps, and have the steps.[stepname].deriver.
prefix. For more information on derivers see the derivers guide.
| Configuration suffix | Description |
|---|---|
type |
The deriver type to be used. Envelope provides |
Morphline
Deriver type
= morphline
.
| Configuration suffix | Description |
|---|---|
step.name |
The name of the dependency step whose records will be run through the Morphline pipeline. |
morphline.file |
The filename of the Morphline configuration found in the local directory of the executor. See the |
morphline.id |
The optional identifier of the Morphline pipeline within the configuration file. |
schema |
The schema definition. Refer to the Schema documentation |
Nest
Deriver type
= nest
.
| Configuration suffix | Description |
|---|---|
nest.into |
The name of the step whose records will be appended with the nesting of |
nest.from |
The name of the step whose records will be nested into |
key.field.names |
The list of field names that make up the common key of the two steps. This key will be used to determine which |
nested.field.name |
The name to be given to the appended field that contains the nested records. |
Passthrough
Deriver type
= passthrough
.
This deriver has no custom configurations.
SQL
Deriver type
= sql
.
| Configuration suffix | Description |
|---|---|
query.literal |
The literal query to be submitted to Spark SQL. Previously submitted steps can be referenced as tables by their step name. |
query.file |
The path to the file containing the query to be submitted to Spark SQL. |
parameter.parameter_name (or any parameter.*) |
All references to '${parameter_name}' within the query string will be replaced with the value of this configuration. For more information see the derivers guide. |
Pivot
Deriver type
= pivot
.
| Configuration suffix | Description |
|---|---|
step.name |
The name of the dependency step that will be pivoted. |
entity.key.field.names |
The list of field names that represents the entity key to group on. The derived DataFrame will contain one record per distinct entity key. |
pivot.key.field.name |
The field name of the key to pivot on. It is expected that there will only be one of each pivot key per entity key. The derived DataFrame will contain one additional column per distinct pivot key. |
pivot.value.field.name |
The field name of the value to be pivoted. |
pivot.keys.source |
The source of the keys to pivot into additional columns. If |
pivot.keys.list |
The list of keys to pivot into additional columns. Only used if |
Exclude
Deriver type
= exclude
.
| Configuration suffix | Description |
|---|---|
compare |
The name of the dataset whose records will be compared and if matched, then excluded from the output of the current step. |
with |
The name of the dataset whose records will supply the matching patterns for the comparison. The records are not modified; this step only queries the dataset. |
field.names |
The name of the fields used to match between the two datasets. The field names must be identical in name and type. A row is excluded if all of the fields are equal between the datasets. |
Select
Deriver type
= select
.
| Configuration suffix | Description |
|---|---|
step |
The name of the dependency step from which to select columns as output of the current step. |
include-fields |
List of column names that are required in output for the current step. If input dataset schema doesn’t contain column name(s) then deriver will generate a runtime error. |
exclude-fields |
List of column names that are not required in output for the current step. If input dataset schema doesn’t contain column name(s) then deriver will generate a runtime error. Both include-fields and exclude-fields cannot be provided at same time. |
Data quality
Deriver type
= dq
.
| Configuration suffix | Description |
|---|---|
scope |
Required. The scope at which to apply the DQ deriver. |
rules |
Required. A nested object of rules. Each defined object should contain a field |
checknulls |
|
fields |
Required. The list of fields to check. The contents should be a list of strings. |
enum |
|
fields |
Required. String list of field names. |
fieldtype |
Optional. Type of the field to check for defined values: must be |
values |
Required. List of values. For strings and decimals define the values using string literals. For integral types use number literals. |
case-sensitive |
Optional. For string values, whether the value matches should be case-sensitive. Defaults to true. |
range |
|
fields |
Required. List of field names on which to apply the range checks. |
fieldtype |
Optional. The field type to use when doing range checks. Range values will be interpreted as this type. Must be numeric: allowed values are
|
range |
Required. Two element list of numeric literals, e.g. |
ignore-nulls |
Optional. If |
regex |
|
fields |
Required. String list of field names, which should all have type |
regex |
Required. Regular expression with which to match field values. Note that extra escape parameters are not required. For example to match any number up to 999 you could use: |
count |
|
expected.literal |
Either this or |
expected.dependency |
Either this or |
checkschema |
|
schema |
The schema definition. Refer to the Schema documentation |
exactmatch |
Optional. Whether the schema of the Rows must exactly match the specified schema. If false the actual row can contain
other fields not specified in the |
Distinct
Deriver type
= distinct
.
| Configuration suffix | Description |
|---|---|
step |
The name of the dataset whose records will be deduplicated. Only required if there is more than one dependency, otherwise optional. |
In-List
Deriver type
= in-list
.
| Configuration suffix | Description |
|---|---|
step |
The name of the dataset whose records will be filtered based on the supplied list of values. Only required if there is more than one dependency, otherwise optional. If provided, the dataset must be present in the list of dependencies. |
field |
The name of the field in dataset’s schema whose values will be compared with the supplied list of values. Only required if dataset schema contains more than one field, otherwise optional. |
values.literal |
A list of values that will be used as a filter against designated |
values.reference.step |
Step whose records will be used to generate a set of values to filter records against. Can only be specified when literal list ( |
values.reference.field |
The name of the field in |
values.reference.batch-size |
The size of the filter batch when generating the values of the |
Hash
Deriver type
= hash
.
| Configuration suffix | Description |
|---|---|
step |
The name of the dataset whose records will be hashed. Only required if there is more than one dependency, otherwise optional. |
hash-field |
The name of the field that will be added with the hash string. Default 'hash'. |
delimiter |
The delimiter that the deriver will use to concatenate the field values of a row. Default empty string. |
null-string |
The string that the deriver will use in place of NULLs when concatenating the field values of a row. Default '__NULL__'. |
include-fields |
The list of field names that will contribute to the hash. Default is all fields are included. Can not be used with |
exclude-fields |
The list of field names that will not contribute to the hash. Default is no fields are excluded. Can not be used with |
Latest
Deriver type
= latest
.
| Configuration suffix | Description |
|---|---|
step |
The name of the dataset whose records will be filtered. Only required if there is more than one dependency, otherwise optional. |
key-fields |
The list of field names that make up the key of the dataset. The result of this deriver will be exactly one record per unique key in the dependency step dataset. |
timestamp-field |
The name of the field used to order the records for an individual key. Only the record with the highest value of this field for a key will be included in the deriver result. |
Translate
Deriver type
= translate
.
| Configuration suffix | Description |
|---|---|
step |
The name of the dataset that contains the field to be translated. |
field |
The name of the field to be translated. |
translator |
The configuration object for the translator that will translate the field. See the derivers guide for more information on this syntax. |
Spark ML
Deriver type
= sparkml
.
| Configuration suffix | Description |
|---|---|
step |
The name of the dataset that the pipeline model will be executed over. Only required if there is more than one dependency, otherwise optional. |
model-path |
The path to the pipeline model directory that was created by the Spark ML pipeline model save. |
Parse JSON
Derive type
= parse-json
.
| Configuration suffix | Description |
|---|---|
step |
The name of the dependency step that contains the field that contains the JSON strings. |
field |
The name of the field that contains the JSON strings. |
as-struct |
Whether to place the parsed fields within their own struct field, instead of directly on the record. Default false. |
struct-field |
If |
schema |
The schema of the JSON records. Refer to the Schema documentation |
option.* |
Passes through Spark-specific JSON options to Spark.
For example, |
Partitioners
Partitioner configurations belong to data steps, and have the steps.[stepname].partitioner.
prefix.
| Configuration suffix | Description |
|---|---|
type |
The partitioner type to be used. Envelope provides |
Planners
Planner configurations belong to data steps, and have the steps.[stepname].planner.
prefix. For more information on planners see the planners guide.
| Configuration suffix | Description |
|---|---|
type |
The planner type to be used. Envelope provides |
Append
Planner type
= append
.
| Configuration suffix | Description |
|---|---|
fields.key |
The list of field names that make up the natural key of the record. Only required if |
field.last.updated |
The field name for the last updated attribute. If specified then Envelope will add this field and populate it with the system timestamp string. |
uuid.key.enabled |
If |
Bitemporal
Planner type
= bitemporal
.
| Configuration suffix | Description |
|---|---|
fields.key |
The list of field names that make up the natural key of the record. |
fields.values |
The list of field names that are used to determine if an arriving record is different to an existing record. |
fields.timestamp |
The list of field names of the event time of the record. |
fields.event.time.effective.from |
The list of field names of the event-time effective-from timestamp attribute on the output. |
fields.event.time.effective.to |
The list of field names of the event-time effective-to timestamp attribute on the output. |
fields.system.time.effective.from |
The list of field names of the system-time effective-from timestamp attribute on the output. |
fields.system.time.effective.to |
The list of field names of the system-time effective-to timestamp attribute on the output. |
field.surrogate.key |
The field name of the surrogate key string attribute on the output. If this configuration is set the planner will populate the field with a UUID string for new records. |
field.current.flag |
The field name of the current flag attribute on the output. |
current.flag.value.yes |
The flag indicating current record. Overrides the default value (Y). |
current.flag.value.no |
The flag indicating non-current record. Overrides the default value (N). |
carry.forward.when.null |
If |
time.model.event |
The time model for interpreting the event time of the arriving and existing records, and for generating the event time effective from/to values. |
time.model.system |
The time model for interpreting the system time of the existing records, and for generating the system time effective from/to values. |
Event time upsert
Planner type
= eventtimeupsert
.
| Configuration suffix | Description |
|---|---|
fields.key |
The list of field names that make up the natural key of the record. |
field.last.updated |
The field name for the last updated attribute. If specified then Envelope will add this field and populate it with the system timestamp. |
fields.timestamp |
The list of field names of the event time of the record. |
fields.values |
The list of field names that are used to determine if an arriving record is different to an existing record. |
field.surrogate.key |
The field name of the surrogate key string attribute on the output. If this configuration is set the planner will populate the field with a UUID string for new records. |
time.model.event |
The time model for interpreting the event time of the arriving and existing records. |
time.model.last.updated |
The time model for generating the last updated values. |
History
Planner type
= history
.
| Configuration suffix | Description |
|---|---|
fields.key |
The list of field names that make up the natural key of the record. |
fields.values |
The list of field names that are used to determine if an arriving record is different to an existing record. |
fields.timestamp |
The list of field names of the event time of the record. |
fields.effective.from |
The list of field names of the event-time effective-from timestamp attribute on the output. |
fields.effective.to |
The list of field names of the event-time effective-to timestamp attribute on the output. |
field.current.flag |
The field name of the current flag attribute on the output. |
current.flag.value.yes |
The flag indicating current record. Overrides the default value (Y). |
current.flag.value.no |
The flag indicating non-current record. Overrides the default value (N). |
fields.last.updated |
The list of field names for the last updated attribute. If specified then Envelope will add this field and populate it with the system timestamp. |
field.surrogate.key |
The field name of the surrogate key string attribute on the output. If this configuration is set the planner will populate the field with a UUID string for new records. |
carry.forward.when.null |
If |
time.model.event |
The time model for interpreting the event time of the arriving and existing records, and for generating the effective from/to values. |
time.model.last.updated |
The time model for generating the last updated values. |
Overwrite
Planner type
= overwrite
.
This deriver has no custom configurations.
Delete
Planner type
= delete
.
This deriver has no custom configurations.
Upsert
Planner type
= upsert
.
| Configuration suffix | Description |
|---|---|
field.last.updated |
The field name for the last updated attribute. If specified then Envelope will add this field and populate it with the system timestamp string. |
Time models
Time model configurations belong to planners, and have the steps.[stepname].planner.time.model.[timename]
prefix. For more information on time models see the planners guide.
| Configuration suffix | Description |
|---|---|
type |
The time model type to be used. Envelope provides |
Long milliseconds
Time model type
= longmillis
.
This time model has no custom configurations.
Nanoseconds with sequence number
Time model type
= nanoswithseqnum
.
This time model has no custom configurations.
String date
Time model type
= stringdate
.
| Configuration suffix | Description |
|---|---|
format |
The Java SimpleDateFormat format of the date values. Default "yyyy-MM-dd". |
String date-time
Time model type
= stringdatetime
.
| Configuration suffix | Description |
|---|---|
format |
The Java SimpleDateFormat format of the date-time values. Default "yyyy-MM-dd HH:mm:ss.SSS". |
Timestamp
Time model type
= timestamp
.
This time model has no custom configurations.
Outputs
Output configurations belong to data steps, and have the steps.[stepname].output.
prefix.
| Configuration suffix | Description |
|---|---|
type |
The output type to be used. Envelope provides |
Filesystem
Output type
= filesystem
.
| Configuration suffix | Description |
|---|---|
path |
The Hadoop filesystem path to write as the output. Typically a Cloudera EDH will point to HDFS by default. Use |
format |
The file format for the files of the output directory. Envelope supports formats |
partition.by |
The list of columns to partition the write output. Optional. |
separator |
(csv) Spark option |
quote |
(csv) Spark option |
escape |
(csv) Spark option |
escape-quotes |
(csv) Spark option |
quote-all |
(csv) Spark option |
header |
(csv) Spark option |
null-value |
(csv) Spark option |
compression |
(csv) Spark option |
date-format |
(csv) Spark option |
timestamp-format |
(csv) Spark option |
Hive
Output type
= hive
.
| Configuration suffix | Description |
|---|---|
table |
The name of the Hive table targeted for write. The name can include the database prefix, e.g. |
location |
Optional. The HDFS location for the underlying files of a table. Typically only defined during table creation, during which the table is created as |
partition.by |
Optional. The list of Hive table partition names to dynamically partition the write by. |
align.columns |
If |
options |
Used to pass additional configuration parameters. The parameters are set as a Map object and passed directly to the Spark DataFrameWriter. |
JDBC
Output type
= jdbc
.
| Configuration suffix | Description |
|---|---|
url |
The JDBC URL for the remote database. |
tablename |
The name of the table of the remote database to write as the output. |
username |
The username to use to connect to the remote database. |
password |
The password to use to connect to the remote database. |
Kafka
Output type
= kafka
.
| Configuration suffix | Description |
|---|---|
brokers |
Required. The hosts and ports of the brokers of the Kafka cluster, in the form |
topic |
Required. The Kafka topic to write to. |
serializer.type |
Required. The type of serialization to use for writing the row in to the topic. Valid types are |
serializer.field.delimiter |
Required if |
serializer.use.for.null |
Used if |
serializer.schema.path |
Required if |
parameter.* |
Used to pass configurations directly to the Kafka client. The |
Kudu
Output type
= kudu
.
| Configuration suffix | Description |
|---|---|
connection |
The hosts and ports of the masters of the Kudu cluster, in the form "host1:port1,host2:port2,…,hostn:portn". |
table.name |
The name of the Kudu table to write to. |
insert.ignore |
Ignore duplicate rows in Kudu (default: true) |
ignore.missing.columns |
Ignore writing columns that do not exist in the Kudu schema (default: false) |
secure |
Is the target Kudu cluster secured by Kerberos? This must be set to |
Log
Output type
= log
.
| Configuration suffix | Description |
|---|---|
delimiter |
The delimiter string to separate the field values with. Default is |
level |
The log4j level for the written logs. Default is |
HBase
Output type
= hbase
.
| Configuration suffix | Description |
|---|---|
table.name |
Required. The table for the output, specified in the format |
zookeeper |
Optional. In non-secure setups it is not a strict requirement to supply an hbase-site.xml file on the classpath, so the ZooKeeper quorum can be specified with this property with the usual HBase configuration syntax. Note that this will supersede any quorum specified in any hbase-site.xml file on the classpath. |
hbase.conf.* |
Optional. Pass-through options to set on the HBase connection. The …. hbase { conf { hbase.client.retries.number = 5 hbase.client.operation.timeout = 30000 } } …. Note that non-String parameters are automatically cast to Strings, but the underlying HBase code will do any required conversions from String. |
mapping.serde |
Optional. The fully qualified class name of the implementation to use when converting Spark |
mapping.rowkey.columns |
Required for |
mapping.rowkey.separator |
Optional. The separator to use when constructing the row key. This is interpreted as a Unicode string
so for binary separators use the |
mapping.columns |
Required for …. mapping.columns { symbol { cf = "rowkey" col = "symbol" type = "string" } transacttime { cf = "rowkey" col = "transacttime" type = "long" } clordid { cf = "cf1" col = "clordid" type = "string" } orderqty { cf = "cf1" col = "orderqty" type = "int" } } …. |
batch.size |
Optional. An integer value with default 1000. The number of mutations to accumulate before making an HBase RPC call. For larger cell sizes you may want to reduce this number or increase the relevant client buffers. |
ZooKeeper
Output type
= zookeeper
.
| Configuration suffix | Description |
|---|---|
connection |
The ZooKeeper quorum to connect to, in the format |
schema |
The schema definition. Refer to the Schema documentation |
key.field.names |
The list of field names that constitute the unique key of the output. Must be a subset of |
znode.prefix |
The znode path prefix that the data will be stored under. Used to isolate the use of the output from other uses of the output, and from non-Envelope paths in ZooKeeper. Default |
session.timeout.millis |
The client session timeout in milliseconds. Default |
connection.timeout.millis |
The client connection timeout in milliseconds. Default |
Tasks
For more information on tasks see the tasks guide.
Task configurations are provided at the task step level (i.e. alongside type
and class
).
Exception
Task class
= exception
.
| Configuration suffix | Description |
|---|---|
message |
The message that will be included on the exception. Mandatory. |
Impala DDL
Task class
= impala_ddl
.
| Configuration suffix | Description |
|---|---|
host |
(Required.) The Impala daemon or load balancer fully qualified hostname to which to connect. |
port |
(Optional.) Port on which to connect to the Impala daemon. Defaults to 21050. |
auth |
(Optional.) Authentication method to use. Allowed values are |
debug |
(Optional.) Display debug information about authentication. |
krb-keytab |
(Required if using |
krb-user-principal |
(Required if using |
krb-realm |
(Optional.) If using a non-default realm, specify it in this parameter. Otherwise the default realm is extracted from |
krb-ticket-renew-interval |
(Optional.) Time in seconds in which to re-obtain a Kerberos TGT. If not specified it is derived from the default ticket lifetime of TGTs from |
ssl |
(Optional.) Whether TLS is enabled on the JDBC connection to Impala. Defaults to |
ssl-truststore |
(Optional.) JKS truststore to use when validating the Impala TLS server certificate. Defaults to the in-built JRE truststore. |
ssl-truststore-password |
(Optional.) If the supplied truststore requires a password to read certificates, supply it here. Defaults to empty. |
username |
(Required if using |
password |
(Required if using |
query.type |
(Required.) The DDL operation to perform. Currently supported: |
query.table |
(Required.) The table name for the DDL operation. |
query.partition.spec |
(Required if operation is |
query.partition.location |
(Optional.) A location of a partition on HDFS to be specified in the DDL operation. |
query.partition.range |
(Required if operation is |
query.partition.range.value |
(Required if using range and boundaries not supplied.) An absolute numeric value for the lower bound of a Kudu range partition. |
query.partition.range.start |
(Required if using range and value not supplied.) An absolute numeric value for the lower bound of a Kudu range partition. Defaults to inclusive. |
query.partition.range.end |
(Required if using range and value not supplied.) An absolute numeric value for the upper bound of a Kudu range partition. Defaults to exclusive. |
query.partition.range.inclusivity |
(Optional.) A string indicating the range operator of the lower and upper bound, "i" for inclusive and "e" for exclusive. Allowed values are "ie", "ii", "ei", "ee". |
Repetitions
For more information on repetitions see the repetitions guide.
The general configuration parameters for repetitions are:
| Configuration suffix | Description |
|---|---|
type |
Required. The repetition type to be used. Envelope provides |
min-repeat-interval |
Optional. To prevent steps being reloaded too frequently, this represents the minimum interval between repetitions. The value is interpreted as a
Typesafe Config duration, e.g. |
Scheduled
Repetition type
= scheduled
.
| Configuration suffix | Description |
|---|---|
every |
Required. The interval between repetitions. The value is interpreted as a
Typesafe Config duration, e.g. |
Flag file
Repetition type
= flagfile
.
| Configuration suffix | Description |
|---|---|
file |
Required. The path to the flag file. Accepts a fully qualified URI (recommended). If not qualified with a filesystem scheme, the default filesystem implementation will be used (usually HDFS). |
trigger |
Optional. The mode of the trigger functionality. Can either be |
poll-interval |
Optional. How often the flag file will be checked. The value is interpreted as a
Typesafe Config duration, e.g. |
fail-after |
To prevent intermittent failures to contact the filesystem from killing the job, the repetition will only raise an exception after this many consecutive failures. Defaults to 10. |
Validations
Envelope automatically validates the pipeline configuration before starting execution. This feature can be disabled by setting configuration.validation.enabled = false
either at the top-level for the whole pipeline, or within any scope that would be validated.
The configurations of a custom Envelope plugin (e.g. a custom deriver) can also be validated by implementing the ProvidesValidations
interface. In the less common case that the plugin has its own plugins (similarly to how the data quality deriver has pluggable rules) then the higher-level plugin can implement the InstantiatesComponents
interface to provide its own plugins to Envelope for configuration validation. For both of these interfaces see the Envelope code for various examples of their implementations.
User-defined functions
Spark SQL user-defined functions (UDFs) are provided with a list of UDF specifications under udfs
, where each specification has the following:
| Configuration suffix | Description |
|---|---|
name |
The name of the UDF that will be used in SQL queries. |
class |
The fully qualified class name of the UDF implementation. |
Schema
Envelope provides a number of ways to define the schema for components. Data type mappings are outlined in the Data Type Support section below.
Flat
Schema type
= flat
.
| Configuration suffix | Description |
|---|---|
field.names |
The list of field names in the schema. |
field.types |
The list of field types in the schema |
Avro
Schema type
= avro
.
| Configuration suffix | Description |
|---|---|
filepath |
The path to a file containing the Avro schema definition. |
literal |
The literal JSON string defining the Avro schema. |
Protobuf
Schema type
= protobuf
.
| Configuration suffix | Description |
|---|---|
descriptor.filepath |
The path to a Protobuf descriptor file defining the schema. |
descriptor.message |
Optional Protobuf schema message parameter. |
Data Type Support
Flat
Envelope supports the following Spark data types when defining a schema in-line (for example, using schema.type
= flat
):
-
string
-
byte
-
short
-
int
-
long
-
float
-
double
-
decimal(precision,scale)
or (decimal
, which defaults to (10,0) per DataTypes.createDecimalType) -
boolean
-
binary
-
date
-
timestamp
Avro
When using an Avro schema to define the Spark schema (for example, schema.type
= avro
), either via an inline Avro literal or a supporting Avro file, the following Spark data types are supported:
| Avro Type | Data Type |
|---|---|
record |
StructType |
array |
Array |
map |
Map (note: keys must be Strings) |
union |
StructType (each column representing the union elements, named |
bytes, fixed |
Binary |
string, enum |
String |
int |
Integer |
long |
Long |
float |
Float |
double |
Double |
boolean |
Boolean |
null |
Null |
date (LogicalType, as |
Date |
timestamp-millis (LogicalType, as |
Timestamp |
decimal (LogicalType, as |
Decimal |
Protobuf
When using a Protobuf schema to define the Spark schema (for example, schema.type
= protobuf
), the following Spark data types are supported:
| Protobuf FieldDescriptor Type | Data Type |
|---|---|
BOOLEAN |
Boolean |
BYTE_STRING |
Binary |
DOUBLE |
Double |
ENUM |
String |
FLOAT |
Float |
INT |
Integer |
LONG |
Long |
MESSAGE |
StructType |
STRING |
String |
double |
Double |
boolean |
Boolean |


All titles are "pay-what-you-are-able," though a recommended donation of $5 is highly appreciated (and helps us keep this site up and running!)
Click Here to Download the IMPS Core Rules at DriveThruRPG. The Core Rules contain all of the base material for participants and narrators to enjoy playing IMPS. The Core Rules contain Roles (something like classes), Powers (something like spells), items, rules for exploration, and detailed rules for combat. Also included is material about how to create your own Roles, Powers, and Items! To play IMPS you will need three six-sided die (or you can use the Official Dice Roller App, which automatically inputs 3d6 as its starting value!).
Click Here to Download the IMPS Basic Rules at DriveThruRPG. The Basic Rules contain just the attributes system for which IMPS is named and the rules for making dice-based checks. This document is best for people who want a minimal framework on which to base their rules systems, mathematical checks for online or other virtual narrative games, or who just want to tinker with a ruleset without much extra baggage. To play IMPS you will need three six-sided die (or you can use the Official Dice Roller App, which automatically inputs 3d6 as its starting value!).


ExampleThis field is requiredEmail
This field is required
Please enter a valid email address
With hint
ExampleThis field is requiredPlease type something here
With a custom error function
ExampleThis field is requiredPrefix + Suffix
Text
Amount$ .00
Icons
Amountattach_moneymode_edit
Icon buttons
AmountDivider Colors
Input
Default colorAccent colorWarn color
Textarea
Default colorAccent colorWarn color
With error
Default colorThis field is requiredAccent colorThis field is requiredWarn colorThis field is requiredHints
Input
Character count (100 max)
{{characterCountInputHintExample.value.length}} / 100
Textarea
Character count (100 max)
{{characterCountTextareaHintExample.value.length}} / 100
Hello
First name,
how are you?
Disabled fieldRequired field
100% width label
Character count (100 max){{input.value.length}} / 100
Show hint label
I favoritebold label
I also homeitalic hint labels
Show hint label with character count{{hintLabelWithCharCount.value.length}}
Enter text to count
Enter some text to count how many characters are in it. The character count is shown on
the right.
Length: {{longHint.value.length}}
Check to change the color:
Check to make required:
Check to hide the required marker:
Auto FloatAlways FloatNever Float
Label
What is your favorite color?
Prefixed
Example:
Suffixed.00 €
Both:
Email addressemail @gmail.com
Empty:
Number Inputs
Table
{{i+1}}
Value
{{item.value}}
FormsReactiveTemplate
Delayed value
Floating labels
Only labelLabel and placeholderAlways floatNever floatLabel and placeholder elementThe placeholder element
ValueValueOnly labelValueLabel and placeholderValueAlways floatValueNever floatValueLabel and placeholder elementThe placeholder elementValue
Textarea Autosize
Regular <textarea>
Regular <textarea> with maxRows and minRows
<textarea> with mat-form-field
Autosized textarea
<textarea> with ngModel
<textarea> with bindable autosize
Autosize enabled
AppearanceLegacy appearanceThis field is requiredPlease type something hereStandard appearanceThis field is requiredPlease type something hereFill appearanceThis field is requiredPlease type something hereOutline appearanceThis field is requiredPlease type something here
Legacy appearanceThis field is requiredPlease type something here
Standard appearanceThis field is requiredPlease type something here
Fill appearanceThis field is requiredPlease type something here
Outline appearanceThis field is requiredPlease type something here
AutofillOutline form field in a tabTab 1 inputTab 2 input


Your brand helps you connect with your customers emotionally. With creativity, skill and strategy, we can establish an identity that sets itself apart from the competition and connect directly with your audience, giving your business its characteristics and persona.
Market research provides critical information about your market and your business landscape. It will tell us how your company is perceived by the target audience and clients you want to reach. Helping also in identifying who and where your customers are, and which customers are most likely to do business with you.
The most important advantage of working with a prototype, is that it simulates the real and future product. Helping attract customers to invest in your product before allocating any resources needed for implementation. This is why we test the design's correctness before it comes into production and we can discover design errors.
A good User Interface is important because it can turn potential visitors to buyers as it facilitates interactions between the user and your website or web application. The UI not only focuses on the aesthetics but also maximizes responsiveness, efficiency and accessibility of a website.
Usability is all about making the user complete tasks accurately. It comes after utility and before desirability and brand experience. So, after we have determined how your product solves users’ problems, we must address its usability. A design’s usability depends on how well its features accommodate users’ needs and contexts.
By performing User Testing, it enables us to evaluate a product or service with real users and be able to create human-centric products. Through this process, we can really explore and analyse the target audience's behaviour when interacting with your product.
My work entails, studying users, understanding their behavior, and architecting a user journey for a flawless user experience. Let's get started.


|
aws-crt-cpp
C++ wrapper around the aws-c-* libraries. Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.
|
Public Member Functions | |
| AdaptiveHttpProxyStrategy (Allocator *allocator, const KerberosGetTokenFunction &kerberosGetToken, const KerberosGetTokenFunction &ntlmGetCredential, const NtlmGetTokenFunction &ntlmGetToken) | |
| void | SetStrategy (struct aws_http_proxy_strategy *strategy) |
| Public Member Functions inherited from Aws::Crt::Http::HttpProxyStrategy | |
| HttpProxyStrategy (struct aws_http_proxy_strategy *strategy) | |
| virtual | ~HttpProxyStrategy () |
| struct aws_http_proxy_strategy * | GetUnderlyingHandle () const noexcept |
Static Public Member Functions | |
| static struct aws_string * | NtlmGetCredential (void *user_data, int *error_code) |
| static struct aws_string * | KerberosGetToken (void *user_data, int *error_code) |
| static struct aws_string * | NtlmGetToken (void *user_data, const struct aws_byte_cursor *challenge_cursor, int *error_code) |
| Static Public Member Functions inherited from Aws::Crt::Http::HttpProxyStrategy | |
| static std::shared_ptr< HttpProxyStrategy > | CreateBasicHttpProxyStrategy (const HttpProxyStrategyBasicAuthConfig &config, Allocator *allocator=g_allocator) |
| static std::shared_ptr< HttpProxyStrategy > | CreateAdaptiveHttpProxyStrategy (const HttpProxyStrategyAdaptiveConfig &config, Allocator *allocator=g_allocator) |
Additional Inherited Members | |
| Protected Attributes inherited from Aws::Crt::Http::HttpProxyStrategy | |
| struct aws_http_proxy_strategy * | m_strategy |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inline |


Toggle navigation
Home
About Us
Trending Course
Market Trend
Login
Employee Login
Please Sign In
Remember Me
Login


Gecode::DerivedViewBase< View > Class Template Reference
[Programming views for variables]
Inherited by Gecode::Set::ComplementView< View >.
Detailed Description
template<class View>
class Gecode::DerivedViewBase< View >
Base-class for derived views.
Definition at line 136 of file view.icc.
Generic view information | |
| Var * | variable (void) const |
| Return variable implementation of view. | |
| View | base (void) const |
| Return view from which this view is derived. | |
| bool | modified (void) const |
| Test whether view been modified during propagation. | |
| unsigned int | degree (void) const |
| Return degree (number of subscribed propagators). | |
| static bool | varderived (void) |
| Return whether this view is derived from a VariableViewBase. | |
Public Types | |
| typedef ViewVarTraits< View >::Var | Var |
| The variable type belonging to the View. | |
Protected Member Functions | |
| DerivedViewBase (void) | |
| Default constructor. | |
| DerivedViewBase (const View &x) | |
| Initialize with view x. | |
Protected Attributes | |
| View | view |
| View from which this view is derived. |
Member Typedef Documentation
|
|
The variable type belonging to the View.
|
Constructor & Destructor Documentation
|
|
Default constructor.
|
|
|
Initialize with view x.
|
Member Function Documentation
|
|
Return whether this view is derived from a VariableViewBase.
|
|
|
Return variable implementation of view.
|
|
|
Return view from which this view is derived.
|
|
|
Test whether view been modified during propagation.
|
|
|
Return degree (number of subscribed propagators).
|
Member Data Documentation
|
|
View from which this view is derived.
|
The documentation for this class was generated from the following file:
- gecode/kernel/view.icc (Revision: 3559)


@include('script&css')
@include('header')
@include('sidebar')
@if(@$data)
{{@$data}}
@endif
Temp Labour - Aadhar QR Scan Preview
NOTE !!! - If it is taking more than 10 seconds Reload scanner
@csrf
Reload Scanner
Next
Personal Details
@csrf
Issue date
Party
Select
@foreach($party_master as $value)
{{$value->party_name}}
@endforeach
Type
Select
Guard
Labour
Required
Aadhar Number
Required
Full Name
Required
Fathers Name
Required
Gender
Select
Male
Female
Other
Required
DOB
Format (DD-MM-YYYY) - if month and date are in single digit add 0 infront of it
Required
Invalid date entry check (DD-MM-YYYY)
Phone Number
Email
Required
Address
Required
Professional Details
@csrf
From J
Select
Yes
No
From H
Select
Yes
No
Police Verification
Select
Yes
No
Police Station
Valid From
Valid To
Snap Photo
Take Picture
Your captured image will appear here...
Save
Next
{{-- --}}


{% extends 'layouts/base.html'%} {% load staticfiles %} {% load i18n %} {% block content %}
{% block title %}Profile{% endblock %}
My Coach Profile
Back to Registration Profile
My Public Coach Page
{%if not coach or not user.is_a_coach %}
You have not submitted any Trainings. Please contact the
site administrator
or
RollerCon administrator
if you believe this is an error.
{%else%} {%if save_attempt%} {%if save_success%}
Profile Successfully Updated! {%else%}
Update Failed. Please try again later and contact the
site administrator
or
RollerCon administrator
if this keeps happening. {%endif%}
{%endif%}
{% csrf_token %} {%for field in form %}
{{ field.label }} {{ field }}
{%endfor%}
Save
{%endif%}
{% endblock %}


--- layout: post title: SoulFlower Bite Me Chocolate Soap tags: - Soulflower status: publish type: post published: true meta: _graphene_post_date_display: global _graphene_show_addthis: global _graphene_slider_imgurl: '' _graphene_slider_img: global wp_plus_one_redirect: '' _edit_last: '2' _aioseop_title: SoulFlower Bite Me Chocolate Soap _aioseop_keywords: SoulFlower Bite Me Chocolate Soap, SoulFlower Bite Me Chocolate Soap review _yoast_wpseo_linkdex: '0' _thumbnail_id: '2692' _yoast_wpseo_focuskw: '' _yoast_wpseo_title: '' _yoast_wpseo_metadesc: '' _yoast_wpseo_metakeywords: '' _yoast_wpseo_meta-robots-noindex: '0' _yoast_wpseo_meta-robots-nofollow: '0' _yoast_wpseo_meta-robots-adv: none _yoast_wpseo_sitemap-include: ! '-' _yoast_wpseo_sitemap-prio: ! '-' _yoast_wpseo_canonical: '' _yoast_wpseo_redirect: '' ---
Happy pre Valentine day guys, I am sure your plans must be set and you must be waiting for the clock to click 00:00 :), I thought today would be the most appropriate day to review this Chocolate delicacy by Soulflower.  Soulflower soap is made with vegetable oils of olive, rice bran, castor, coconut & palm oil. During the natural saponification of these oils, soap is produced. Glycerin is a natural byproduct of our soap making & has humectant properties, attracting moisture to your skin making it softer & smoother, one of the reasons that our soaps are so beautiful on the skin.
Ingrediants: 1.Real dark chocolate is made from raw cocoa, which has the maximum amount of antioxidants & flavanols making it an excellent moisturizer that leaves your skin soft & glowing. 2.Cocoa powder imparts a wonderful aroma & is a powerful antioxidant which protects & frees the skin from free radicals, that cause significant damage to skin layers. 3.Cocoa butter is obtained from the same bean as chocolate & is made up of small particles that penetrate even the smallest of pores; giving it high moisturizing qualities that help protect & soften skin. Imparts a rich & creamy lather to the soap.
Contains : Real dark chocolate, cocoa powder, cocoa butter, Vitamin E, glycerin, milk, aquaolive, rice bran, coconut, castor & palm oil.
HOW TO CARE FOR SOULFLOWER SOAP? Our soap is 100% veg soap, made from natural herbs, essential oils & vegetable oils. Glycerin, which is produced naturally during the soap making process moisturises the skin.These natural ingredients make our soap bubbly, creamy & soft. Soulflower soap comes in large bar sizes; you should cut how much you need, and store the unused soap in a cool dry place. This way you can make your soap last for a long time. Keep the soap in a soap dish, so that water drains away & the soap is dry when not in use. Does not contain artificial hardeners & preservatives. Store in a cool dry place for longer shelf life.
This is how I store my soaps and use them one at a time...
My Take on the product: I quite like this soap, in fact very much mainly because of two reason, the strong choco smell and moisturising characteristics. Although It smells more like Hot chocolate, but its very short lived and is lost after few minutes of bath. Another great feature is that it does not melt like crazy, even if I leave it with some moisture.
What I like:
What I did not like:
Its a good soap for dry skin, lathers good and cleans well. Moisturises the skin well, but still you have to coat the skin with a moisturizer. This product is on my good list and will definitely buy this again.
Have you tried Soulflower soaps ?


Layer 7 routing configuration reference
Estimated reading time: 7 minutesThese are the docs for UCP version 3.0.16
To select a different version, use the selector below.
Once you enable the layer 7 routing service, UCP creates the
com.docker.ucp.interlock.conf-1
configuration and uses it to configure all
the internal components of this service.
The configuration is managed as a TOML file.
Example configuration
Here’s an example of the default configuration used by UCP:
ListenAddr = ":8080"
DockerURL = "unix:///var/run/docker.sock"
AllowInsecure = false
PollInterval = "3s"
[Extensions]
[Extensions.default]
Image = "docker/ucp-interlock-extension:3.0.16"
ServiceName = "ucp-interlock-extension"
Args = []
Constraints = ["node.labels.com.docker.ucp.orchestrator.swarm==true", "node.platform.os==linux"]
ProxyImage = "docker/ucp-interlock-proxy:3.0.16"
ProxyServiceName = "ucp-interlock-proxy"
ProxyConfigPath = "/etc/nginx/nginx.conf"
ProxyReplicas = 2
ProxyStopSignal = "SIGQUIT"
ProxyStopGracePeriod = "5s"
ProxyConstraints = ["node.labels.com.docker.ucp.orchestrator.swarm==true", "node.platform.os==linux"]
PublishMode = "ingress"
PublishedPort = 80
TargetPort = 80
PublishedSSLPort = 8443
TargetSSLPort = 443
[Extensions.default.Labels]
"com.docker.ucp.InstanceID" = "fewho8k85kyc6iqypvvdh3ntm"
[Extensions.default.ContainerLabels]
"com.docker.ucp.InstanceID" = "fewho8k85kyc6iqypvvdh3ntm"
[Extensions.default.ProxyLabels]
"com.docker.ucp.InstanceID" = "fewho8k85kyc6iqypvvdh3ntm"
[Extensions.default.ProxyContainerLabels]
"com.docker.ucp.InstanceID" = "fewho8k85kyc6iqypvvdh3ntm"
[Extensions.default.Config]
Version = ""
User = "nginx"
PidPath = "/var/run/proxy.pid"
MaxConnections = 1024
ConnectTimeout = 600
SendTimeout = 600
ReadTimeout = 600
IPHash = false
AdminUser = ""
AdminPass = ""
SSLOpts = ""
SSLDefaultDHParam = 1024
SSLDefaultDHParamPath = ""
SSLVerify = "required"
WorkerProcesses = 1
RLimitNoFile = 65535
SSLCiphers = "HIGH:!aNULL:!MD5"
SSLProtocols = "TLSv1.2"
AccessLogPath = "/dev/stdout"
ErrorLogPath = "/dev/stdout"
MainLogFormat = "'$remote_addr - $remote_user [$time_local] \"$request\" '\n\t\t '$status $body_bytes_sent \"$http_referer\" '\n\t\t '\"$http_user_agent\" \"$http_x_forwarded_for\"';"
TraceLogFormat = "'$remote_addr - $remote_user [$time_local] \"$request\" $status '\n\t\t '$body_bytes_sent \"$http_referer\" \"$http_user_agent\" '\n\t\t '\"$http_x_forwarded_for\" $request_id $msec $request_time '\n\t\t '$upstream_connect_time $upstream_header_time $upstream_response_time';"
KeepaliveTimeout = "75s"
ClientMaxBodySize = "32m"
ClientBodyBufferSize = "8k"
ClientHeaderBufferSize = "1k"
LargeClientHeaderBuffers = "4 8k"
ClientBodyTimeout = "60s"
UnderscoresInHeaders = false
Core configurations
These are the configurations used for the ucp-interlock
service. The following
options are available:
| Option | Type | Description |
|---|---|---|
ListenAddr |
string | Address to serve the Interlock GRPC API. Defaults to 8080 . |
DockerURL |
string | Path to the socket or TCP address to the Docker API. Defaults to unix:///var/run/docker.sock |
TLSCACert |
string | Path to the CA certificate for connecting securely to the Docker API. |
TLSCert |
string | Path to the certificate for connecting securely to the Docker API. |
TLSKey |
string | Path to the key for connecting securely to the Docker API. |
AllowInsecure |
bool | Skip TLS verification when connecting to the Docker API via TLS. |
PollInterval |
string | Interval to poll the Docker API for changes. Defaults to 3s . |
EndpointOverride |
string | Override the default GRPC API endpoint for extensions. The default is detected via Swarm. |
Extensions |
[]Extension | Array of extensions as listed below. |
Extension configuration
Interlock must contain at least one extension to service traffic. The following options are available to configure the extensions:
| Option | Type | Description |
|---|---|---|
Image |
string | Name of the Docker image to use for the extension service. |
Args |
[]string | Arguments to be passed to the Docker extension service upon creation. |
Labels |
map[string]string | Labels to add to the extension service. |
ServiceName |
string | Name of the extension service. |
ProxyImage |
string | Name of the Docker image to use for the proxy service. |
ProxyArgs |
[]string | Arguments to be passed to the proxy service upon creation. |
ProxyLabels |
map[string]string | Labels to add to the proxy service. |
ProxyServiceName |
string | Name of the proxy service. |
ProxyConfigPath |
string | Path in the service for the generated proxy configuration. |
ServiceCluster |
string | Name of the cluster this extension services. |
PublishMode |
string | Publish mode for the proxy service. Supported values are ingress or host . |
PublishedPort |
int | Port where the proxy service serves non-TLS traffic. |
PublishedSSLPort |
int | Port where the proxy service serves TLS traffic. |
Template |
string | Docker configuration object that is used as the extension template. |
Config |
Config | Proxy configuration used by the extensions as listed below. |
Proxy configuration
By default NGINX is used as a proxy, so the following NGINX options are available for the proxy service:
| Option | Type | Description |
|---|---|---|
User |
string | User to be used in the proxy. |
PidPath |
string | Path to the pid file for the proxy service. |
MaxConnections |
int | Maximum number of connections for proxy service. |
ConnectTimeout |
int | Timeout in seconds for clients to connect. |
SendTimeout |
int | Timeout in seconds for the service to send a request to the proxied upstream. |
ReadTimeout |
int | Timeout in seconds for the service to read a response from the proxied upstream. |
IPHash |
bool | Specifies that requests are distributed between servers based on client IP addresses. |
SSLOpts |
string | Options to be passed when configuring SSL. |
SSLDefaultDHParam |
int | Size of DH parameters. |
SSLDefaultDHParamPath |
string | Path to DH parameters file. |
SSLVerify |
string | SSL client verification. |
WorkerProcesses |
string | Number of worker processes for the proxy service. |
RLimitNoFile |
int | Number of maxiumum open files for the proxy service. |
SSLCiphers |
string | SSL ciphers to use for the proxy service. |
SSLProtocols |
string | Enable the specified TLS protocols. |
AccessLogPath |
string | Path to use for access logs (default: /dev/stdout ). |
ErrorLogPath |
string | Path to use for error logs (default: /dev/stdout ). |
MainLogFormat |
string | Format to use for main logger. |
TraceLogFormat |
string | Format to use for trace logger. |


Miguel Angel Fernandez Guerrero
Data Scientist at
FECI
I was born in 1995
Education
Mathematical Degree at UAM
Master at UCM
Work experience
Dates
Work
Apr 2021 - now
Data Scientist at FECI
Skills
Python
⭐⭐⭐⭐⭐
R
⭐⭐⭐⭐⭐
SQL
⭐⭐⭐
Courses
Contact me


Notification
Toogle closable Notification
Toogle closable Notification
Toogle selfdestructive Notification
Toogle selfdestructive Notification


Preparation time
less than 30 mins
Cooking time
30 mins to 1 hour
Serves
Serves 4
Dietary
Along with a lot of not traditionally Italian baking, the good old English crumble has seemed to be gaining popularity - even modishness - in Italy.
Preheat the oven to 190C/375F/Gas 5 and slip in a baking sheet at the same time. Put the amaretti into a freezer bag and bash with a rolling pin or similar, until reduced to coarse crumbs, then decant them into a bowl.
Melt the two tablespoons of butter in a large pan (that has a lid), add the prepared plums, sprinkle in the two tablespoons of sugar, add the lemon zest and juice and shake the pan over the heat, cooking for two minutes without a lid and two further minutes with the lid on. These timings are based on having plums that are ripe: if the fruit is disappointingly unyielding, be prepared to cook for longer with the lid on, checking frequently. You may need to add the juice of the remaining half lemon - and more sugar - if cooking for much longer.
Pour the plums (with care - they’re hot) into a 23x6cm/9x3in deep ovenproof pie dish and set to one side. Already the red skins will have made a gorgeous garnet gravy. Sprinkle in two tablespoons of your amaretti crumble.
To make the crumble the easy way, put the flour and baking powder into the bowl of a freestanding mixer, shake to mix, then add the small cold butter cubes and beat, not too fast, with the flat paddle until you have a mixture rather like large-flaked oatmeal. Or you can do this by hand, just by rubbing the butter into the flour with your fingers.
Add the sugar and mix with a fork, then tip in the rest of the amaretti crumbs and use a fork to mix again. Pour the mixture over the waiting fruit in its pie dish, making sure you cover right to the edges to stop too much leakage: although for me, some of the rich-hued syrup spurting out over the crumble topping is essential.
Place on the baking sheet in the oven and bake for about 30 minutes; you should see some ruby bubbling at the edges, and the top will be scorched gold in places. If you can bear it, let this stand for 10-15 minutes before eating, with ice cream, whipped cream or mascarpone.


Bio
I am co-founder and CEO of Softly.ai, developing AI-based automated content moderation solutions. I received Ph.D. from School of Computing at KAIST, advised by Alice Oh. My research was supported by Google PhD Fellowship program. Before that, I obtained BA and MA in Department of Psychology in Seoul National University.
Education
- KAIST, Ph.D, Computer Science, Mar 2016 – Feb 2022
- Seoul National University, M.S., Quantitative Psychology, Mar 2012 – Aug 2014
- Seoul National University, B.S., Psychology, Mar 2007 – Feb 2012
Work Experience
- CEO / co-founder, SoftlyAI (Jan 2022 – Present)
- Research Engineer, Upstage (Oct 2020 – Oct 2021)
- Research Intern, Google Research (July 2020 – Oct 2020)
- Research Intern, KakaoBrain (Mar 2020 – July 2020)
- Research Intern, Clova AI Research, Naver (Aug 2019 – Feb 2020)
- Graduate Researcher, KAIST, U&I Lab (Dec 2014 – Feb 2016) Advisor: Alice Oh.
- Research Assistant, SNU Asia Center (Jan 2014 – Aug 2014)
Awards
- PhD Dissertation Award, Dept. of Computing, KAIST
- Google Ph.D Fellowship, Natural Language Processing, Sep 2019 - Aug 2020
Research Interest
My research aims to (1) develop machine learning models which can understand complicated psychological characteristics of people from text and (2) apply them to computational psychotherapy applications, in order to lead people live in better mental state. I focus on natural language since is a good indicator of latent psychological states of humans, and this is basically because our daily usage of language encodes important personality characteristics even in a single word, and further it could represent psychological states during conversation.
However, the relationship between language and mental state would be highly complex and difficult to be inferred precisely, thus learning the regularities through carefully designed machine learning models over fine-grained data are natural to be preferred than applying rule-based techniques. Furthermore, once a model can learn the relationship between them, then various psychotherapy programs would be applicable based on the detected mental state, leads to positive psychological changes. Thus my research agenda has developed to three step-by-step subproblems: (a) Learning Representation of Text, (b) Measuring Psychological Characteristics from Text, and (c) Developing Psychotherapy Applications.
Each of the problems is closely related to each other that one could evoke another question: What characteristic should be measured to develop an effective psychotherapy applications? or, what representation learning method should be needed to measure the extent of mental disorders from text? Throughout conducting research to answer these problems, I would like to bridge the gap between two fields: natural language processing and computational psychotherapy.
Publications
-
Park, S.*, Moon, J.*, Kim, S.*, Cho, W.*, Han, J., Park, J., Song, C., Kim, J., Song, Y., Oh, T., Lee, J., Oh, J., Lyu, S., Jeong, Y., Lee, I., Seo, S., Lee, D., Kim, H.,
Lee, M., Jang, S., Do, S., Kim, S., Lim, K., Lee, J., Park, K., Shin, J., Kim, S., Park, L., Oh, A., Ha, J., Cho, K. (2021) KLUE: Korean Language Understanding Evaluation In NeurIPS 2021 Datasets and Benchmarks Track (Neurips 2021) *equal contribution
Neurips Arxiv Github Leaderboard -
Park, S., Kim, J., Ye, S., Jeon, J., Park, H., Oh, A. (2021) Dimensional Emotion Detection in Categorical Emotion In Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing (EMNLP 2021)
PDF Data -
Park, S.*, Park, K.*, Ahn, J. Oh, A. (2020) Suicidal Risk Detection for Military Personnel In Proceedings of the in the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP 2020) *equal contribution
PDF Data -
Park, C., Shin, J., Park, S., Lim, J., Lee, C. (2019) Fast End-to-end Coreference Resolution for Korean In Proceedings of the Findings of 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP 2020 - Findings)
PDF -
Seonwoo, Y., Park, S., Kim, D., Oh, A. (2019) Additive Compositionality of Word Vectors In Workshop on Noisy User-generated Text (W-NUT) @EMNLP 2019
PDF -
Park, S., Park, H., Kim, C. (2019) A Comparison between Factor Structure and Semantic Representation of Personality Test Items Using Latent Semantic Analysis Korean Journal of Cognitive Science, 30(3), pp.133-156.
PDF -
Park, S., Kim, D., Oh, A. (2019) Conversation Model Fine-Tuning for Classifying Client Utterances in Counseling Dialogues In Proceedings of the 2019 Annual Conference of the North American Chapter of the Association for Computational Linguistics (NAACL 2019)
PDF Poster -
Park, S., Seonwoo, Y., Kim, J., Kim, J., Oh, A. (2019) Denoising Recurrent Neural Networks for Classifying Crash-related Events IEEE Transactions of Intelligent Transportation Systems.
PDF -
Seonwoo, Y., Park, S., Oh, A. (2018) Hierarchical Dirichlet Gaussian Marked Hawkes Process for Narrative Reconstruction in Continuous Time Domain In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing (EMNLP 2018)
PDF -
Park, S., Byun, J., Baek, S., Cho, Y., Oh, A. (2018) Subword-level Word Vector Representations for Korean In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (ACL 2018)
PDF Poster Data -
Park, S., Bak, J., Oh, A. (2017) Rotated Word Vector Representations and their Interpretability. In Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP 2017)
PDF Poster Source -
Kim, S., Park, S., Hale, S. A., Kim, S., Byun, J., & Oh, A. H. (2016). Understanding editing behaviors in multilingual Wikipedia. PLOS ONE, 11(5), e0155305.
Article -
Kim, J., Keegan, B. C., Park, S., & Oh, A. (2016). The Proficiency-Congruency Dilemma: Virtual Team Design and Performance in Multiplayer Online Games. In Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems (CHI 2016)
PDF -
Park, S., Kim, S., Hale, S. A., Kim, S., Byun, J., & Oh, A. (2015). Multilingual Wikipedia: Editors of Primary Language Contribute to More Complex Articles. In Ninth International AAAI Conference on Web and Social Media.(Wiki-ICWSM Workshop in ICWCM 2015)
PDF
Talks / Presentations
- 2020.7.30 Conversation Model Fine-Tuning for Classifying Client Utterances in Counseling Dialogues, Google Ph.D Fellowship Summit.
- 2018.9.10 Subword-level Word Vector Representations for Korean & Learning Client's Information from Counseling Conversations, Facebook AI Research, Paris.
- 2017.10.19. Rotated Word Vector Representations and their Interpretability (Poster), Samsung AI Forum 2017.
- 2016.11.18 Chung, M., Park, S., Kim, M., & Harris, C. R. Medical Embarrassment: A Cross-cultural Perspective. Poster presented at the Psychonomics 2016, Boston, MA.
Teaching Experiences
- SEP592 Special Topics in Software (Introduction to Data Science), KAIST, Head TA, (Spring, 2019)
- CS570 Artificial Intelligence & Machine Learning, KAIST, Head TA, (Spring, 2017)
- CS206 Data Structure, KAIST, TA, (Fall, 2016)
- Advanced Psychological Statistics, Seoul National University, TA, (Spring, 2013)
- Psychological Statistics, Seoul National University, TA, (Spring, 2012)
Academic Services
- Reviewer, EMNLP 2022, EMNLP 2020, EMNLP 2019, ACL 2019
- Invited Reviewer, WWW 2019
- Subreviewer, EACL 2017
References
- Prof. Alice Haeyun Oh, Department of Computing, KAIST<EMAIL_ADDRESS>Contact
Sungjoon Park
sungjoon.park (at) softly.ai
CEO / co-founder
Softly.ai
Seoul, Republic of Korea
(Last Update: 03/19/2022)


| java.lang.Object | ||
| ↳ | XWalkViewInternal | |
| ↳ | org.xwalk.core.XWalkView |
XWalkView represents an Android view for web apps/pages. Thus most of attributes
for Android view are valid for this class. Since it internally uses
android.view.SurfaceView for rendering web pages by default, it can't be resized,
rotated, transformed and animated due to the limitations of SurfaceView.
Alternatively, if the preference key ANIMATABLE_XWALK_VIEW
is set to True, XWalkView can be transformed and animated because
TextureView is intentionally used to render web pages for animation support.
Besides, XWalkView won't be rendered if it's invisible.
XWalkView needs hardware acceleration to render web pages. As a result, the AndroidManifest.xml of the caller's app must be appended with the attribute "android:hardwareAccelerated" and its value must be set as "true".
<application android:name="android.app.Application" android:label="XWalkUsers" android:hardwareAccelerated="true">
Crosswalk provides 2 major callback classes, namely XWalkResourceClient
and
XWalkUIClient
for listening to the events related to resource loading and UI.
By default, Crosswalk has a default implementation. Callers can override them if needed.
Unlike other Android views, this class has to listen to system events like application life cycle, intents, and activity result. The web engine inside this view need to get and handle them. And the onDestroy() method of XWalkView MUST be called explicitly when an XWalkView won't be used anymore, otherwise it will cause the memory leak from the native side of the web engine. It's similar to the destroy() method of Android WebView. For example:
import android.app.Activity; import android.os.Bundle; import org.xwalk.core.XWalkResourceClient; import org.xwalk.core.XWalkUIClient; import org.xwalk.core.XWalkView; public class MyActivity extends Activity { XWalkView mXwalkView; class MyResourceClient extends XWalkResourceClient { MyResourceClient(XWalkView view) { super(view); } @Override WebResourceResponse shouldInterceptLoadRequest(XWalkView view, String url) { // Handle it here. ... } } class MyUIClient extends XWalkUIClient { MyUIClient(XWalkView view) { super(view); } @Override void onFullscreenToggled(XWalkView view, String url) { // Handle it here. ... } } @Override protected void onCreate(Bundle savedInstanceState) { mXwalkView = new XWalkView(this, null); setContentView(mXwalkView); mXwalkView.setResourceClient(new MyResourceClient(mXwalkView)); mXwalkView.setUIClient(new MyUIClient(mXwalkView)); mXwalkView.load("http://www.crosswalk-project.org", null); } @Override protected void onPause() { super.onPause(); if (mXwalkView != null) { mXwalkView.pauseTimers(); mXwalkView.onHide(); } } @Override protected void onResume() { super.onResume(); if (mXwalkView != null) { mXwalkView.resumeTimers(); mXwalkView.onShow(); } } @Override protected void onDestroy() { super.onDestroy(); if (mXwalkView != null) { mXwalkView.onDestroy(); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (mXwalkView != null) { mXwalkView.onActivityResult(requestCode, resultCode, data); } } @Override protected void onNewIntent(Intent intent) { if (mXwalkView != null) { mXwalkView.onNewIntent(intent); } } }
| Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| int | RELOAD_IGNORE_CACHE | Reload mode with bypassing the cache. | |||||||||
| int | RELOAD_NORMAL | Normal reload mode as default. |
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
XWalkView(Context context, AttributeSet attrs)
Constructor for inflating via XML.
| |||||||||||
|
XWalkView(Context context, Activity activity)
Constructor for Crosswalk runtime.
|
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| void |
addJavascriptInterface(Object object, String name)
Injects the supplied Java object into this XWalkView.
| ||||||||||
| void |
clearCache(boolean includeDiskFiles)
Clear the resource cache.
| ||||||||||
| void |
evaluateJavascript(String script, Evaluate a fragment of JavaScript code and get the result via callback.
| ||||||||||
| String |
getAPIVersion()
Get the API version of Crosswalk embedding API.
| ||||||||||
| XWalkNavigationHistory |
getNavigationHistory()
Get the navigation history for current XWalkView.
| ||||||||||
| String |
getOriginalUrl()
Get the original url specified by caller.
| ||||||||||
| String |
getTitle()
Get the title of current web page/app.
| ||||||||||
| String |
getUrl()
Get the url of current web page/app.
| ||||||||||
| String |
getXWalkVersion()
Get the Crosswalk version.
| ||||||||||
| boolean |
hasEnteredFullscreen()
Indicate that a HTML element is occupying the whole screen.
| ||||||||||
| void |
leaveFullscreen()
Leave fullscreen mode if it's.
| ||||||||||
| void |
load(String url, String content)
Load a web page/app from a given base URL or a content.
| ||||||||||
| void |
loadAppFromManifest(String url, String content)
Load a web app from a given manifest.json file.
| ||||||||||
| void |
onActivityResult(int requestCode, int resultCode, Intent data)
Pass through activity result to XWalkView.
| ||||||||||
| void |
onDestroy()
Release internal resources occupied by this XWalkView.
| ||||||||||
| void |
onHide()
Pause many other things except JavaScript timers inside rendering engine,
like video player, modal dialogs, etc.
| ||||||||||
| boolean |
onKeyUp(int keyCode, KeyEvent event)
Inherit from
android.view.View.
| ||||||||||
| boolean |
onNewIntent(Intent intent)
Pass through intents to XWalkView.
| ||||||||||
| void |
onShow()
Resume video player, modal dialogs.
| ||||||||||
| void |
pauseTimers()
Pause all layout, parsing and JavaScript timers for all XWalkView instances.
| ||||||||||
| void |
reload(int mode)
Reload a web app with a given mode.
| ||||||||||
| boolean |
restoreState(Bundle inState)
Restore the state from the saved bundle data.
| ||||||||||
| void |
resumeTimers()
Resume all layout, parsing and JavaScript timers for all XWalkView instances.
| ||||||||||
| boolean |
saveState(Bundle outState)
Save current internal state of this XWalkView.
| ||||||||||
| void |
setResourceClient(XWalkResourceClient client)
Embedders use this to customize their handlers to events/callbacks related
to resource loading.
| ||||||||||
| void |
setUIClient(XWalkUIClient client)
Embedders use this to customize their handlers to events/callbacks related
to UI.
| ||||||||||
| void |
stopLoading()
Stop current loading progress.
|
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
From class
java.lang.Object
|
Reload mode with bypassing the cache.
Normal reload mode as default.
Constructor for inflating via XML.
| context | a Context object used to access application assets. |
|---|---|
| attrs | an AttributeSet passed to our parent. |
Constructor for Crosswalk runtime. In shared mode, context isi different from activity. In embedded mode, they're same.
| context | a Context object used to access application assets |
|---|---|
| activity | the activity for this XWalkView. |
Injects the supplied Java object into this XWalkView. Each method defined in the class of the object should be marked with JavascriptInterface if it's called by JavaScript.
| object | the supplied Java object, called by JavaScript. |
|---|---|
| name | the name injected in JavaScript. |
Clear the resource cache. Note that the cache is per-application, so this will clear the cache for all XWalkViews used.
| includeDiskFiles | indicate whether to clear disk files for cache. |
|---|
Evaluate a fragment of JavaScript code and get the result via callback.
| script | the JavaScript string. |
|---|---|
| callback | the callback to handle the evaluated result. |
Get the API version of Crosswalk embedding API.
Get the navigation history for current XWalkView. It's synchronized with this XWalkView if any backward/forward and navigation operations.
Get the original url specified by caller.
Get the title of current web page/app. This may be different from what's passed by caller.
Get the url of current web page/app. This may be different from what's passed by caller.
Get the Crosswalk version.
Indicate that a HTML element is occupying the whole screen.
Leave fullscreen mode if it's. Do nothing if it's not in fullscreen.
Load a web page/app from a given base URL or a content.
If url is null or empty and content is null or empty, then this function
will do nothing.
If content is not null, load the web page/app from the content.
If content is not null and the url is not set, return "about:blank" ifi
calling getUrl()
.
If content is null, try to load the content from the url.
It supports URL schemes like 'http:', 'https:' and 'file:'.
It can also load files from Android assets, e.g. 'file:///android_asset/'.
| url | the url for web page/app. |
|---|---|
| content | the content for the web page/app. Could be empty. |
Load a web app from a given manifest.json file. If content is not null, load the manifest.json from the content. If content is null, try to load the manifest.json from the url. Note that url should not be null if the launched path defined in manifest.json is relative. It supports URL schemes like 'http:', 'https:' and 'file:'. It can also load files from Android assets, e.g. 'file:///android_asset/'.
| url | the url for manifest.json. |
|---|---|
| content | the content for manifest.json. |
Pass through activity result to XWalkView. Many internal facilities need this to handle activity result like JavaScript dialog, Crosswalk extensions, etc. See android.app.Activity.onActivityResult().
| requestCode | passed from android.app.Activity.onActivityResult(). |
|---|---|
| resultCode | passed from android.app.Activity.onActivityResult(). |
| data | passed from android.app.Activity.onActivityResult(). |
Release internal resources occupied by this XWalkView.
Pause many other things except JavaScript timers inside rendering engine,
like video player, modal dialogs, etc. See pauseTimers()
about pausing
JavaScript timers.
Typically it should be called when the activity for this view is paused.
Inherit from android.view.View. This class needs to handle some keys like 'BACK'.
| keyCode | passed from android.view.View.onKeyUp(). |
|---|---|
| event | passed from android.view.View.onKeyUp(). |
Pass through intents to XWalkView. Many internal facilities need this to receive the intents like web notification. See android.app.Activity.onNewIntent().
| intent | passed from android.app.Activity.onNewIntent(). |
|---|
Resume video player, modal dialogs. Embedders are in charge of calling this during resuming this activity if they call onHide. Typically it should be called when the activity for this view is resumed.
Pause all layout, parsing and JavaScript timers for all XWalkView instances.
Typically it should be called when the activity for this view is paused,
and accordingly resumeTimers()
should be called when the activity
is resumed again.
Note that it will globally impact all XWalkView instances, not limited to
just this XWalkView.
Reload a web app with a given mode.
| mode | the reload mode. |
|---|
Restore the state from the saved bundle data.
| inState | the state saved from saveState(). |
|---|
Resume all layout, parsing and JavaScript timers for all XWalkView instances. Typically it should be called when the activity for this view is resumed. Note that it will globally impact all XWalkView instances, not limited to just this XWalkView.
Save current internal state of this XWalkView. This can help restore this state afterwards restoring.
| outState | the saved state for restoring. |
|---|
Embedders use this to customize their handlers to events/callbacks related to resource loading.
| client | the XWalkResourceClient defined by callers. |
|---|
Embedders use this to customize their handlers to events/callbacks related to UI.
| client | the XWalkUIClient defined by callers. |
|---|
Stop current loading progress.


Powerful Admin Template of 2018
Don’t go by our Words, checkout our awesome demos and verify yourself.
You will surely fall in love over the fresh design & brilliant code.
Main Demo
Light Sidebar
Horziontal
Mini-sidebar
Horziontal-Fullwidth
Overlay Demo
Iconbar Demo
Boxed Demo
Dark Version
RTL Demo Version
Amazing Features & Flexibility Provided
6 Color Schemes
We have included 6 pre-defined color schemes with adminbite .
Dark & Light Sidebar
Included Dark and Light Sidebar for getting desire look and feel.
1500+ Page Templates
Yes, we have 10 demos & 160+ Pages per demo to make it easier.
500+ UI Components
Almost 500+ UI Components being given with adminbite Pack.
Lots of Widgets
Wide range of Widgets are available with adminbite Package.
Bootstrap 4x
Its been made with Bootstrap 4 and full responsive layout.
3000+ Font Icons
Lots of Icon Fonts are included here in the package of adminbite .
Fully Responsive
All the layout of adminbite is Fully Responsive and widely tested.
SaSSBase CSS
Our Css is written scss Base to make your life easier.
Easy to Customize
Customization will be easy as we understand your pain.
Lots of Chart Options
You name it and we have it, Yes lots of variations for Charts.
Mutiple File Uploads
You can upload multiple files with our Multiple selector.
Lots of Table Examples
Data Tables are initial requirement
and we added them.
Validation Forms
Different Forms with Validation are
included in pack.
3 Level Dropdown Menu
We have added 3 Level Dropdown
Menu in Elite Pack.
Calendar Design
Calendar is available with our package
& in nice design.
Gallery Options
Covered options to showcase different
variation for gallery.
Detailed Documentation
We have made detailed documentation,
so it will easy to use.
Dedicated Support
We believe in supreme support is
key and we offer that.
Regular Updates
We are constantly updating our
pack with new features.


Module mathutil
Various mathematical functions.
| cantor_pairing (a, b) |
Uses the Cantor Pairing function on the two given values and returns
a unique integer for the given numbers. |
| clamp (value, min, max) |
Clamps one value to the given minimum/maximum values. |
| distance (a, b) |
Gets the distance between the two given points or objects. |
| direction (source_pos, target_pos) |
Returns a vector indicating the general direction from a to b. |
| distance2d (a, b) |
Gets the distance between two given points in the x/z plane. |
| in_range (value, min, max) |
Tests if the given value is within the given range. |
| intersects (min_a, max_a, min_b, max_b) |
Checks if the given first two values intersect with the other given values. |
| intersects3d (min_a, max_a, min_b, max_b) |
Checks if the given first two positions intersect with the other given
positions. |
| next_lower_prime (number) |
Gets the next lower prime from the given number. |
| round (value, decimal_places) |
Rounds to the nearest number with the given decimal places. |
| sign (number) |
Gets the sign of the given number. |
Functions
-
cantor_pairing (a, b)
-
Uses the Cantor Pairing function on the two given values and returns
a unique integer for the given numbers.
Parameters:
- a
The first value.
- b
The second value.
Returns:
A unique value for the two given values.
-
clamp (value, min, max)
-
Clamps one value to the given minimum/maximum values. Defaults to
0 to 1 if min/max are omitted.
Parameters:
- value
The value to clamp.
- min
Optional. The minimum value, defaults to 0.
- max
Optional. The masximum value, defaults to 1.
Returns:
The value clamped to the given range.
-
distance (a, b)
-
Gets the distance between the two given points or objects.
Parameters:
- a
The first object. Either a position or an ObjectRef.
- b
The second object. Either a position or an ObjectRef.
Returns:
The distance between the two given points or objects.
-
direction (source_pos, target_pos)
-
Returns a vector indicating the general direction from a to b.
Parameters:
- source_pos
The source point, a vector.
- target_pos
The target point, a vector.
Returns:
The vector containing the direction, either 1 for the positive
direction or -1 for the negative one.
-
distance2d (a, b)
-
Gets the distance between two given points in the x/z plane.
Parameters:
- a
The first object. Either a position or an ObjectRef.
- b
The first object. Either a position or an ObjectRef.
Returns:
The distance between the two given points or objects in
the x/z plane.
-
in_range (value, min, max)
-
Tests if the given value is within the given range.
Parameters:
- value
The value to test.
- min
The minimum value. It can also be a table with either two values,
the first being the minimum and the second being the maximum, or
with two named values, min and max.
- max
The maximum value. Not used if min is a table.
-
intersects (min_a, max_a, min_b, max_b)
-
Checks if the given first two values intersect with the other given values.
Parameters:
- min_a
The first minimum value.
- max_a
The first maximum value.
- min_b
The second minimum value.
- max_b
The second maximum value.
Returns:
true if the first values intersect with the second.
-
intersects3d (min_a, max_a, min_b, max_b)
-
Checks if the given first two positions intersect with the other given
positions.
Parameters:
- min_a
The first minimum value.
- max_a
The first maximum value.
- min_b
The second minimum value.
- max_b
The second maximum value.
Returns:
true if the first positions intersect with the second.
-
next_lower_prime (number)
-
Gets the next lower prime from the given number.
Parameters:
Returns:
The next lower prime.
-
round (value, decimal_places)
-
Rounds to the nearest number with the given decimal places.
Parameters:
- value
The value to round.
- decimal_places
Optional. The number of decimal places to round to,
defaults to 0.
Returns:
The rounded value.
-
sign (number)
-
Gets the sign of the given number.
Parameters:
- number
The number of which to get the sign.
Returns:
1 for a positive number, -1 for a negative one. Zero is considered
a positive number for this function, there for returns 1.
Fields
-
SIGNED_8BIT_MAX
-
The maximum value a signed 8bit integer can have.
-
SIGNED_8BIT_MIN
-
The minimum value a signed 8bit integer can have.
-
SIGNED_16BIT_MAX
-
The maximum value a signed 16bit integer can have.
-
SIGNED_16BIT_MIN
-
The minimum value a signed 16bit integer can have.
-
SIGNED_32BIT_MAX
-
The maximum value a signed 32bit integer can have.
-
SIGNED_32BIT_MIN
-
The minimum value a signed 32bit integer can have.
-
UNSIGNED_8BIT_MAX
-
The maximum value an unsigned 8bit integer can have.
-
UNSIGNED_8BIT_MIN
-
The minimum value an unsigned 8bit integer can have.
-
UNSIGNED_16BIT_MAX
-
The maximum value an unsigned 16bit integer can have.
-
UNSIGNED_16BIT_MIN
-
The minimum value an unsigned 16bit integer can have.
-
UNSIGNED_32BIT_MAX
-
The maximum value an unsigned 32bit integer can have.
-
UNSIGNED_32BIT_MIN
-
The minimum value an unsigned 32bit integer can have.


Before the Sn@il
The Italian word chiocciola literally translates as "snail," a passive, sluggish creature that hides in gardens and loves the rain. Perhaps somewhat oddly, chiocciola also describes the @ symbol, a modern emblem of speed, efficiency, and technology. Though an apparent contradiction, the Italian "snail" in fact embodies the spirit of a quick, tech-driven world: great ideas come from deliberate, snail-like action.
This website celebrates the unique identity that precedes this strange nomenclature: the person "before the snail." Specifically, this website showcases projects and writing by Regina Compton, an emerging software engineer, who embraces the "chiocciola" in both its slowness and its speed.


|
Bomberman
1.0
Re-make of Bomberman game
|
#include <Serialization.hpp>
Public Member Functions | |
| Serialization () | |
| ~Serialization () | |
| Serialization (Serialization const &)=delete | |
| Serialization & | operator= (Serialization const &)=delete |
| std::vector< SquareType > | LoadCampaignMap (int stage, unsigned &outWidth) |
| Serialization::Serialization | ( | ) |
| Serialization::~Serialization | ( | ) |
|
delete |
| std::vector< SquareType > Serialization::LoadCampaignMap | ( | int | stage, |
| unsigned & | outWidth | ||
| ) |
|
delete |


You are not logged into metamask,please login to continue
Your ethereum address:
Tic - Tac - Toe
How To Play
Player 1 Create a new game by entering the username
Player 2 Enter another username and the room id that is displayed on first window.
Click on join game.
Create a new Game
NEW GAME
Join an existing game
Join Game


{{ title }} {{ contents|safe }} {% for person in collections.team %} {% include "../../src/components/molecules/teaser/teaser.html" with person only %} {% endfor %}


Media
YouTube Video
Vimeo Video
Dailymotion Video
Yahoo Video
BlipTV
Veoh
Viddler
Images
Sound Cloud
Socials
facebook rss twitter flickr linkedin skype google pinterest bookmarksmall
Newsletter form
Widgets
Recent Posts
October 8, 2012
September 12, 2012
September 12, 2012
Popular Posts
October 8, 2012
September 12, 2012
September 12, 2012


--- layout: default title: Community - Select2 slug: community ---
Select2 has an active community that enjoys
helping each other out.Community
Having trouble getting Select2 working on your website? Is it not working together with another plugin, even though you think it should? Select2 has a few communities that you can go to for help getting it all working together.
#select2
channel on chat.freenode.net
or use the
web irc client.
Found a problem with Select2? Feel free to open a ticket on the Select2 repository on GitHub, but you should keep a few things in mind:
You can find more information on reporting bugs in the contributing guide, including tips on what information to include.
New feature requests are usually requested by the Select2 community on GitHub, and are often fulfilled by fellow contributors.
You can find more information on requesting new features in the contributing guide.
You can find more information on getting involved with Select2 in the contributing guide.


TelosGreen
About Us Our Mission Work with usGet In TouchCode of Conduct
Got any questions?
Send us an email or connect with us on social media.
SUBSCRIBE
Get updates and be part of our mission.
CONNECT WITH US


West Herr buys Transitowne Hyundai and moves it
West Herr Automotive Group has acquired Transitowne Hyundai and moved the dealership about 2 miles up Transit Road, to Clarence.
Terms of the deal were not announced. West Herr now has 26 dealerships in its group. This is its first Hyundai dealership.
West Herr over the weekend relocated the Hyundai dealership to a newly renovated, 23,000-square-foot facility at 5485 Transit Road in Clarence, just south of Roll Road. West Herr Hyundai opened Monday at its new home.
Transitowne Hyundai was at 7420 Transit Road in Amherst, across from the Eastern Hills Mall. The property itself was not included in the sale to West Herr.
West Herr had been using 5485 Transit Road for vehicle storage since reacquiring the property in 2015 from Auction Direct USA, which had closed. West Herr had sold the property, formerly home to its Saturn of Clarence dealership, to Auction Direct in 2010.
West Herr said its Hyundai dealership will have 25 employees and is expected to sell 1,800 new and used combined vehicles each year.
"Everyone at West Herr is committed to carrying on the tradition of providing quality sales and service that Jim Hillery and the Transitowne team have been known for through the years," said Scott Bieler, West Herr's president and CEO.
The Buffalo Niagara region's four Hyundai dealerships – including the one West Herr just bought – through November this year sold a combined 2,449 new vehicles, according to the Niagara Frontier Automobile Dealers Association. That total ranked 11th among all brands in the region.
West Herr last month bought a dealership in Rochester, adding to its presence in that market.


The purpose of this web data connector is to bring data from selected items from Crimson Hexagon.
Currently, three monitors are available for your selection: A CEM monitor, a Facebook monitor and a Twitter monitor.
CEM Monitor: Displays content sources. Facebook, Twitter, Blogs.....
Facebook Monitor: Displays content sources. Facebook, Twitter, Blogs.....
Twitter Monitor: Displays content sources. Facebook, Twitter, Blogs.....


Windows A fatal exception 0E has occurred at 0167:BFF9E463. The current application will be terminated *Press any key to terminate the current application *Press CTRL+ALT+DEL again to restart your computer. You will lose any unsaved information in all applications Press any key to continue


Mum's heartbreaking 'last fight' to make her dying son smile
'This is the last thing I can do for him'
by Claire Harrison, Victoria JonesCharlotte Nixon has been told by specialists that her her terminally-ill son, Bailey, does not have long to live.
Now, she is on a mission to simply put a smile on her eight-year-old son's face.
In his final days, Charlotte wants to give her son 'music therapy' from the family home, Coventry Live report.
She says that while she is now "helpless" this "is the last thing" she can do for him.
"Bailey has always loved music and responded so well to it, he had the most infectious laugh when hearing music and his right leg would always bounce to the beat," the mum-of-two from Nuneaton explained.
"Bailey now cannot be moved out of the house due to his deterioration so he would need 'music therapy' at home. He loves the sound of a guitar and some gentle singing.
"He has his own team of very experienced professionals who are now all on standby any day for him to gain his angels wings.
"As a mum I am completely helpless and there is nothing more I can do for him however, knowing how much he loves music this is the last thing I can do for him.
"Bailey is my life, my world and everything that I am and my heart is breaking so bad right now but I have one last fight to make sure my boy leaves this earth with a smile on his face."
The 34-year-old has asked if any musicians can spare any time to come and play for him - even if it is just an hour.
This appeal has already seen musicians step forward, to offer their time for free for Bailey, who was born with a life-limiting brain condition which has led to Epilepsy, severe gut issues, dystonia and global developmental delay.
In a post on Facebook, the The Love Rats Acoustic Duo posted a message calling out to fellow performers to help the family.
"I cant imagine what this poor family is going through," it read.
"To save her money she really shouldn't be worrying about spending, I said I would write a post asking if any other musicians would be willing to gift an hour of their time to pop over to their home in Nuneaton and perform for this little boy who loves music.
"If we went over on different days then Bailey would enjoy a magical variety of music."
It concludes: "As we know, music is so powerful and is something that can be felt even when words cant be spoken. It's a glimmer of light in the darkness."
Any bands or musicians who can help are being urged to contact Charlotte Nixon via Facebook.


Note: This test case covers Issue 5262, Issue 5289, Issue 5290, Issue 5429 and Issue 5912
@supports
@-moz-document
@keyframes
@page
@charset