ParentChange QML Type
Specifies how to reparent an Item in a state change More...
| Import Statement: | import QtQuick 2.7 |
Properties
- height : real
- parent : Item
- rotation : real
- scale : real
- target : Item
- width : real
- x : real
- y : real
Detailed Description
ParentChange reparents an item while preserving its visual appearance (position, size, rotation, and scale) on screen. You can then specify a transition to move/resize/rotate/scale the item to its final intended appearance.
ParentChange can only preserve visual appearance if no complex transforms are involved. More specifically, it will not work if the transform property has been set for any items involved in the reparenting (i.e. items in the common ancestor tree for the original and new parent).
The example below displays a large red rectangle and a small blue rectangle, side by side. When the blueRect
is clicked, it changes to the "reparented" state: its parent is changed to redRect
and it is positioned at (10, 10) within the red rectangle, as specified in the ParentChange.
import QtQuick 2.0 Item { width: 200; height: 100 Rectangle { id: redRect width: 100; height: 100 color: "red" } Rectangle { id: blueRect x: redRect.width width: 50; height: 50 color: "blue" states: State { name: "reparented" ParentChange { target: blueRect; parent: redRect; x: 10; y: 10 } } MouseArea { anchors.fill: parent; onClicked: blueRect.state = "reparented" } } }
You can specify at which point in a transition you want a ParentChange to occur by using a ParentAnimation.
Note that unlike PropertyChanges, ParentChange expects an Item-based target; it will not work with arbitrary objects (for example, you couldn't use it to reparent a Timer).
Property Documentation
These properties hold the new position, size, scale, and rotation for the item in this state.
parent : Item |
This property holds the new parent for the item in this state.
These properties hold the new position, size, scale, and rotation for the item in this state.
These properties hold the new position, size, scale, and rotation for the item in this state.
target : Item |
This property holds the item to be reparented
These properties hold the new position, size, scale, and rotation for the item in this state.
These properties hold the new position, size, scale, and rotation for the item in this state.
These properties hold the new position, size, scale, and rotation for the item in this state.


--- type: formControls title: Form controls usage: Almost all form controls grouped in a single coveo-form. ---


CarbonData DDL statements are documented here,which includes:
This command can be used to create a CarbonData table by specifying the list of fields along with the table properties. You can also specify the location where the table needs to be stored.
CREATE TABLE [IF NOT EXISTS] [db_name.]table_name[(col_name data_type , ...)]
STORED AS carbondata
[TBLPROPERTIES (property_name=property_value, ...)]
[LOCATION 'path']
NOTE: CarbonData also supports "STORED AS carbondata" and "USING carbondata". Find example code at CarbonSessionExample in the CarbonData repo.
Supported properties:
| Property | Description |
|---|---|
| DICTIONARY_INCLUDE | Columns for which dictionary needs to be generated |
| NO_INVERTED_INDEX | Columns to exclude from inverted index generation |
| INVERTED_INDEX | Columns to include for inverted index generation |
| SORT_COLUMNS | Columns to include in sort and its order of sort |
| SORT_SCOPE | Sort scope of the load.Options include no sort, local sort ,batch sort and global sort |
| TABLE_BLOCKSIZE | Size of blocks to write onto hdfs |
| TABLE_BLOCKLET_SIZE | Size of blocklet to write in the file |
| MAJOR_COMPACTION_SIZE | Size upto which the segments can be combined into one |
| AUTO_LOAD_MERGE | Whether to auto compact the segments |
| COMPACTION_LEVEL_THRESHOLD | Number of segments to compact into one segment |
| COMPACTION_PRESERVE_SEGMENTS | Number of latest segments that needs to be excluded from compaction |
| ALLOWED_COMPACTION_DAYS | Segments generated within the configured time limit in days will be compacted, skipping others |
| STREAMING | Whether the table is a streaming table |
| LOCAL_DICTIONARY_ENABLE | Enable local dictionary generation |
| LOCAL_DICTIONARY_THRESHOLD | Cardinality upto which the local dictionary can be generated |
| LOCAL_DICTIONARY_INCLUDE | Columns for which local dictionary needs to be generated. Useful when local dictionary need not be generated for all string/varchar/char columns |
| LOCAL_DICTIONARY_EXCLUDE | Columns for which local dictionary generation should be skipped. Useful when local dictionary need not be generated for few string/varchar/char columns |
| COLUMN_META_CACHE | Columns whose metadata can be cached in Driver for efficient pruning and improved query performance |
| CACHE_LEVEL | Column metadata caching level. Whether to cache column metadata of block or blocklet |
| FLAT_FOLDER | Whether to write all the carbondata files in a single folder.Not writing segments folder during incremental load |
| LONG_STRING_COLUMNS | Columns which are greater than 32K characters |
| BUCKETNUMBER | Number of buckets to be created |
| BUCKETCOLUMNS | Columns which are to be placed in buckets |
| LOAD_MIN_SIZE_INMB | Minimum input data size per node for data loading |
| Range Column | partition input data by range |
Following are the guidelines for TBLPROPERTIES, CarbonData's additional table options can be set via carbon.properties.
Dictionary encoding is turned off for all columns by default from 1.3 onwards, you can use this command for including or excluding columns to do dictionary encoding. Suggested use cases : do dictionary encoding for low cardinality columns, it might help to improve data compression ratio and performance.
TBLPROPERTIES ('DICTIONARY_INCLUDE'='column1, column2')
NOTE:
Columns for which dictionary is not generated needs more storage space and in turn more IO. Also since more data will have to be read during query, query performance also would suffer.Generating dictionary per blocklet for such columns would help in saving storage space and assist in improving query performance as carbondata is optimized for handling dictionary encoded columns more effectively.Generating dictionary internally per blocklet is termed as local dictionary. Please refer to File structure of Carbondata for understanding about the file structure of carbondata and meaning of terms like blocklet.
Local Dictionary helps in:
NOTE:
Following Data Types are Supported for Local Dictionary:
Following Data Types are not Supported for Local Dictionary:
In case of multi-level complex dataType columns, primitive string/varchar/char columns are considered for local dictionary generation.
System Level Properties for Local Dictionary:
| Properties | Default value | Description |
|---|---|---|
| carbon.local.dictionary.enable | false | By default, Local Dictionary will be disabled for the carbondata table. |
| carbon.local.dictionary.decoder.fallback | true | Page Level data will not be maintained for the blocklet. During fallback, actual data will be retrieved from the encoded page data using local dictionary. NOTE: Memory footprint decreases significantly as compared to when this property is set to false |
Local Dictionary can be configured using the following properties during create table command:
| Properties | Default value | Description |
|---|---|---|
| LOCAL_DICTIONARY_ENABLE | false | Whether to enable local dictionary generation. NOTE: If this property is defined, it will override the value configured at system level by 'carbon.local.dictionary.enable'.Local dictionary will be generated for all string/varchar/char columns unless LOCAL_DICTIONARY_INCLUDE, LOCAL_DICTIONARY_EXCLUDE is configured. |
| LOCAL_DICTIONARY_THRESHOLD | 10000 | The maximum cardinality of a column upto which carbondata can try to generate local dictionary (maximum - 100000). NOTE: When LOCAL_DICTIONARY_THRESHOLD is defined for Complex columns, the count of distinct records of all child columns are summed up. |
| LOCAL_DICTIONARY_INCLUDE | string/varchar/char columns | Columns for which Local Dictionary has to be generated.NOTE: Those string/varchar/char columns which are added into DICTIONARY_INCLUDE option will not be considered for local dictionary generation. This property needs to be configured only when local dictionary needs to be generated for few columns, skipping others. This property takes effect only when LOCAL_DICTIONARY_ENABLE is true or carbon.local.dictionary.enable is true |
| LOCAL_DICTIONARY_EXCLUDE | none | Columns for which Local Dictionary need not be generated. This property needs to be configured only when local dictionary needs to be skipped for few columns, generating for others. This property takes effect only when LOCAL_DICTIONARY_ENABLE is true or carbon.local.dictionary.enable is true |
Fallback behavior:
When the cardinality of a column exceeds the threshold, it triggers a fallback and the generated dictionary will be reverted and data loading will be continued without dictionary encoding.
In case of complex columns, fallback is triggered when the summation value of all child columns' distinct records exceeds the defined LOCAL_DICTIONARY_THRESHOLD value.
NOTE: When fallback is triggered, the data loading performance will decrease as encoded data will be discarded and the actual data is written to the temporary sort files.
Points to be noted:
Reduce Block size:
Number of Blocks generated is less in case of Local Dictionary as compression ratio is high. This may reduce the number of tasks launched during query, resulting in degradation of query performance if the pruned blocks are less compared to the number of parallel tasks which can be run. So it is recommended to configure smaller block size which in turn generates more number of blocks.
CREATE TABLE carbontable(
column1 string,
column2 string,
column3 LONG)
STORED AS carbondata
TBLPROPERTIES('LOCAL_DICTIONARY_ENABLE'='true','LOCAL_DICTIONARY_THRESHOLD'='1000',
'LOCAL_DICTIONARY_INCLUDE'='column1','LOCAL_DICTIONARY_EXCLUDE'='column2')
NOTE:
By default inverted index is disabled as store size will be reduced, it can be enabled by using a table property. It might help to improve compression ratio and query speed, especially for low cardinality columns which are in reward position. Suggested use cases : For high cardinality columns, you can disable the inverted index for improving the data loading performance.
NOTE: Columns specified in INVERTED_INDEX should also be present in SORT_COLUMNS.
TBLPROPERTIES ('SORT_COLUMNS'='column2,column3','NO_INVERTED_INDEX'='column1', 'INVERTED_INDEX'='column2, column3')
This property is for users to specify which columns belong to the MDK(Multi-Dimensions-Key) index.
TBLPROPERTIES ('SORT_COLUMNS'='column1, column3')
NOTE: Sort_Columns for Complex datatype columns is not supported.
This property is for users to specify the scope of the sort during data load, following are the types of sort scope.
CREATE TABLE IF NOT EXISTS productSchema.productSalesTable (
productNumber INT,
productName STRING,
storeCity STRING,
storeProvince STRING,
productCategory STRING,
productBatch STRING,
saleQuantity INT,
revenue INT)
STORED AS carbondata
TBLPROPERTIES ('SORT_COLUMNS'='productName,storeCity',
'SORT_SCOPE'='NO_SORT')
NOTE: CarbonData also supports "using carbondata". Find example code at SparkSessionExample in the CarbonData repo.
This property is for setting block size of this table, the default value is 1024 MB and supports a range of 1 MB to 2048 MB.
TBLPROPERTIES ('TABLE_BLOCKSIZE'='512')
NOTE: 512 or 512M both are accepted.
This property is for setting blocklet size in the carbondata file, the default value is 64 MB. Blocklet is the minimum IO read unit, in case of point queries reduce blocklet size might improve the query performance.
Example usage:
TBLPROPERTIES ('TABLE_BLOCKLET_SIZE'='8')
These properties are table level compaction configurations, if not specified, system level configurations in carbon.properties will be used. Following are 5 configurations:
TBLPROPERTIES ('MAJOR_COMPACTION_SIZE'='2048',
'AUTO_LOAD_MERGE'='true',
'COMPACTION_LEVEL_THRESHOLD'='5,6',
'COMPACTION_PRESERVE_SEGMENTS'='10',
'ALLOWED_COMPACTION_DAYS'='5')
CarbonData supports streaming ingestion for real-time data. You can create the 'streaming' table using the following table properties.
TBLPROPERTIES ('streaming'='true')
By default, CarbonData caches min and max values of all the columns in schema. As the load increases, the memory required to hold the min and max values increases considerably. This feature enables you to configure min and max values only for the required columns, resulting in optimized memory usage.
Following are the valid values for COLUMN_META_CACHE:
COLUMN_META_CACHE=''
COLUMN_META_CACHE='col1'
COLUMN_META_CACHE='col1,col2,col3,?'
Columns to be cached can be specified either while creating table or after creation of the table. During create table operation; specify the columns to be cached in table properties.
Syntax:
CREATE TABLE [dbName].tableName (col1 String, col2 String, col3 int,?) STORED BY 'carbondata' TBLPROPERTIES ('COLUMN_META_CACHE'='col1,col2,?')
Example:
CREATE TABLE employee (name String, city String, id int) STORED BY 'carbondata' TBLPROPERTIES ('COLUMN_META_CACHE'='name')
After creation of table or on already created tables use the alter table command to configure the columns to be cached.
Syntax:
ALTER TABLE [dbName].tableName SET TBLPROPERTIES ('COLUMN_META_CACHE'='col1,col2,?')
Example:
ALTER TABLE employee SET TBLPROPERTIES ('COLUMN_META_CACHE'='city')
This feature allows you to maintain the cache at Block level, resulting in optimized usage of the memory. The memory consumption is high if the Blocklet level caching is maintained as a Block can have multiple Blocklet.
Following are the valid values for CACHE_LEVEL:
Configuration for caching in driver at Block level (default value).
CACHE_LEVEL= 'BLOCK'
Configuration for caching in driver at Blocklet level.
CACHE_LEVEL= 'BLOCKLET'
Cache level can be specified either while creating table or after creation of the table. During create table operation specify the cache level in table properties.
Syntax:
CREATE TABLE [dbName].tableName (col1 String, col2 String, col3 int,?) STORED BY 'carbondata' TBLPROPERTIES ('CACHE_LEVEL'='Blocklet')
Example:
CREATE TABLE employee (name String, city String, id int) STORED BY 'carbondata' TBLPROPERTIES ('CACHE_LEVEL'='Blocklet')
After creation of table or on already created tables use the alter table command to configure the cache level.
Syntax:
ALTER TABLE [dbName].tableName SET TBLPROPERTIES ('CACHE_LEVEL'='Blocklet')
Example:
ALTER TABLE employee SET TBLPROPERTIES ('CACHE_LEVEL'='Blocklet')
This feature allows all carbondata and index files to keep directy under tablepath. Currently all carbondata/carbonindex files written under tablepath/Fact/Part0/Segment_NUM folder and it is not same as hive/parquet folder structure. This feature makes all files written will be directly under tablepath, it does not maintain any segment folder structure. This is useful for interoperability between the execution engines and plugin with other execution engines like hive or presto becomes easier.
Following table property enables this feature and default value is false.
'flat_folder'='true'
Example:
CREATE TABLE employee (name String, city String, id int) STORED BY 'carbondata' TBLPROPERTIES ('flat_folder'='true')
In common scenarios, the length of string is less than 32000,
so carbondata stores the length of content using Short to reduce memory and space consumption.
To support string longer than 32000 characters, carbondata introduces a table property called LONG_STRING_COLUMNS
.
For these columns, carbondata internally stores the length of content using Integer.
You can specify the columns as 'long string column' using below tblProperties:
// specify col1, col2 as long string columns
TBLPROPERTIES ('LONG_STRING_COLUMNS'='col1,col2')
Besides, you can also use this property through DataFrame by
df.format("carbondata")
.option("tableName", "carbonTable")
.option("long_string_columns", "col1, col2")
.save()
If you are using Carbon-SDK, you can specify the datatype of long string column as varchar
.
You can refer to SDKwriterTestCase for example.
NOTE: The LONG_STRING_COLUMNS can only be string/char/varchar columns and cannot be dictionary_include/sort_columns/complex columns.
Data compression is also supported by CarbonData. By default, Snappy is used to compress the data. CarbonData also supports ZSTD compressor. User can specify the compressor in the table property:
TBLPROPERTIES('carbon.column.compressor'='snappy')
or
TBLPROPERTIES('carbon.column.compressor'='zstd')
If the compressor is configured, all the data loading and compaction will use that compressor. If the compressor is not configured, the data loading and compaction will use the compressor from current system property. In this scenario, the compressor for each load may differ if the system property is changed each time. This is helpful if you want to change the compressor for a table. The corresponding system property is configured in carbon.properties file as below:
carbon.column.compressor=snappy
or
carbon.column.compressor=zstd
This property is used to specify the location where bad records would be written. As the table path remains the same after rename therefore the user can use this property to specify bad records path for the table at the time of creation, so that the same path can be later viewed in table description for reference.
TBLPROPERTIES('BAD_RECORD_PATH'='/opt/badrecords')
This property indicates the minimum input data size per node for data loading. By default it is not enabled. Setting a non-zero integer value will enable this feature. This property is useful if you have a large cluster and only want a small portion of the nodes to process data loading. For example, if you have a cluster with 10 nodes and the input data is about 1GB. Without this property, each node will process about 100MB input data and result in at least 10 data files. With this property configured with 512, only 2 nodes will be chosen to process the input data, each with about 512MB input and result in about 2 or 4 files based on the compress ratio. Moreover, this property can also be specified in the load option. Notice that once you enable this feature, for load balance, carbondata will ignore the data locality while assigning input data to nodes, this will cause more network traffic.
TBLPROPERTIES('LOAD_MIN_SIZE_INMB'='256')
This property is used to specify a column to partition the input data by range. Only one column can be configured. During data loading, you can use "global_sort_partitions" or "scale_factor" to avoid generating small files.
TBLPROPERTIES('RANGE_COLUMN'='col1')
This function allows user to create a Carbon table from any of the Parquet/Hive/Carbon table. This is beneficial when the user wants to create Carbon table from any other Parquet/Hive table and use the Carbon query engine to query and achieve better query results for cases where Carbon is faster than other file formats. Also this feature can be used for backing up the data.
CREATE TABLE [IF NOT EXISTS] [db_name.]table_name
STORED AS carbondata
[TBLPROPERTIES (key1=val1, key2=val2, ...)]
AS select_statement;
carbon.sql(
s"""
| CREATE TABLE source_table(
| id INT,
| name STRING,
| city STRING,
| age INT)
| STORED AS parquet
""".stripMargin)
carbon.sql("INSERT INTO source_table SELECT 1,'bob','shenzhen',27")
carbon.sql("INSERT INTO source_table SELECT 2,'david','shenzhen',31")
carbon.sql(
s"""
| CREATE TABLE target_table
| STORED AS carbondata
| AS SELECT city, avg(age)
| FROM source_table
| GROUP BY city
""".stripMargin)
carbon.sql("SELECT * FROM target_table").show
// results:
// +--------+--------+
// | city|avg(age)|
// +--------+--------+
// |shenzhen| 29.0|
// +--------+--------+
This function allows user to create external table by specifying location.
CREATE EXTERNAL TABLE [IF NOT EXISTS] [db_name.]table_name
STORED AS carbondata LOCATION '$FilesPath'
Managed table data location provided will have both FACT and Metadata folder. This data can be generated by creating a normal carbon table and use this path as $FilesPath in the above syntax.
Example:
sql("CREATE TABLE origin(key INT, value STRING) STORED AS carbondata")
sql("INSERT INTO origin select 100,'spark'")
sql("INSERT INTO origin select 200,'hive'")
// creates a table in $storeLocation/origin
sql(
s"""
| CREATE EXTERNAL TABLE source
| STORED AS carbondata
| LOCATION '$storeLocation/origin'
""".stripMargin)
checkAnswer(sql("SELECT count(*) from source"), sql("SELECT count(*) from origin"))
Non-Transactional table data location will have only carbondata and carbonindex files, there will not be a metadata folder (table status and schema). Our SDK module currently supports writing data in this format.
Example:
sql(
s"""
| CREATE EXTERNAL TABLE sdkOutputTable STORED AS carbondata LOCATION
|'$writerPath'
""".stripMargin)
Here writer path will have carbondata and index files. This can be SDK output or C++ SDK output. Refer SDK Guide and C++ SDK Guide.
Note:
This function creates a new database. By default the database is created in Carbon store location, but you can also specify custom location.
CREATE DATABASE [IF NOT EXISTS] database_name [LOCATION path];
CREATE DATABASE carbon LOCATION "hdfs://name_cluster/dir1/carbonstore";
This command can be used to list all the tables in current database or all the tables of a specific database.
SHOW TABLES [IN db_Name]
Example:
SHOW TABLES
OR
SHOW TABLES IN defaultdb
The following section introduce the commands to modify the physical or logical state of the existing table(s).
This command is used to rename the existing table.
ALTER TABLE [db_name.]table_name RENAME TO new_table_name
Examples:
ALTER TABLE carbon RENAME TO carbonTable
OR
ALTER TABLE test_db.carbon RENAME TO test_db.carbonTable
This command is used to add a new column to the existing table.
ALTER TABLE [db_name.]table_name ADD COLUMNS (col_name data_type,...)
TBLPROPERTIES('DICTIONARY_INCLUDE'='col_name,...',
'DEFAULT.VALUE.COLUMN_NAME'='default_value')
Examples:
ALTER TABLE carbon ADD COLUMNS (a1 INT, b1 STRING)
ALTER TABLE carbon ADD COLUMNS (a1 INT, b1 STRING) TBLPROPERTIES('DICTIONARY_INCLUDE'='a1')
ALTER TABLE carbon ADD COLUMNS (a1 INT, b1 STRING) TBLPROPERTIES('DEFAULT.VALUE.a1'='10')
NOTE: Add Complex datatype columns is not supported.
Users can specify which columns to include and exclude for local dictionary generation after adding new columns. These will be appended with the already existing local dictionary include and exclude columns of main table respectively.
ALTER TABLE carbon ADD COLUMNS (a1 STRING, b1 STRING) TBLPROPERTIES('LOCAL_DICTIONARY_INCLUDE'='a1','LOCAL_DICTIONARY_EXCLUDE'='b1')
This command is used to delete the existing column(s) in a table.
ALTER TABLE [db_name.]table_name DROP COLUMNS (col_name, ...)
Examples:
ALTER TABLE carbon DROP COLUMNS (b1)
OR
ALTER TABLE test_db.carbon DROP COLUMNS (b1)
ALTER TABLE carbon DROP COLUMNS (c1,d1)
NOTE: Drop Complex child column is not supported.
This command is used to change column name and the data type from INT to BIGINT or decimal precision from lower to higher. Change of decimal data type from lower precision to higher precision will only be supported for cases where there is no data loss.
ALTER TABLE [db_name.]table_name CHANGE col_old_name col_new_name column_type
Valid Scenarios
Example1:Change column a1's name to a2 and its data type from INT to BIGINT.
ALTER TABLE test_db.carbon CHANGE a1 a2 BIGINT
Example2:Changing decimal precision of column a1 from 10 to 18.
ALTER TABLE test_db.carbon CHANGE a1 a1 DECIMAL(18,2)
Example3:Change column a3's name to a4.
ALTER TABLE test_db.carbon CHANGE a3 a4 STRING
NOTE: Once the column is renamed, user has to take care about replacing the fileheader with the new name or changing the column header in csv file.
This command is used to merge all the CarbonData index files (.carbonindex) inside a segment to a single CarbonData index merge file (.carbonindexmerge). This enhances the first query performance.
ALTER TABLE [db_name.]table_name COMPACT 'SEGMENT_INDEX'
Examples:
ALTER TABLE test_db.carbon COMPACT 'SEGMENT_INDEX'
NOTE:
When set command is used, all the newly set properties will override the corresponding old properties if exists.
Example to SET Local Dictionary Properties:
ALTER TABLE tablename SET TBLPROPERTIES('LOCAL_DICTIONARY_ENABLE'='false','LOCAL_DICTIONARY_THRESHOLD'='1000','LOCAL_DICTIONARY_INCLUDE'='column1','LOCAL_DICTIONARY_EXCLUDE'='column2')
When Local Dictionary properties are unset, corresponding default values will be used for these properties.
Example to UNSET Local Dictionary Properties:
ALTER TABLE tablename UNSET TBLPROPERTIES('LOCAL_DICTIONARY_ENABLE','LOCAL_DICTIONARY_THRESHOLD','LOCAL_DICTIONARY_INCLUDE','LOCAL_DICTIONARY_EXCLUDE')
NOTE: For old tables, by default, local dictionary is disabled. If user wants local dictionary for these tables, user can enable/disable local dictionary for new data at their discretion. This can be achieved by using the alter table set command.
Example to SET SORT SCOPE:
ALTER TABLE tablename SET TBLPROPERTIES('SORT_SCOPE'='NO_SORT')
When Sort Scope is unset, the default values (NO_SORT) will be used.
Example to UNSET SORT SCOPE:
ALTER TABLE tablename UNSET TBLPROPERTIES('SORT_SCOPE')
This command is used to delete an existing table.
DROP TABLE [IF EXISTS] [db_name.]table_name
Example:
DROP TABLE IF EXISTS productSchema.productSalesTable
This command is used to register Carbon table to HIVE meta store catalogue from existing Carbon table data.
REFRESH TABLE $db_NAME.$table_NAME
Example:
REFRESH TABLE dbcarbon.productSalesTable
NOTE:
You can provide more information on table by using table comment. Similarly you can provide more information about a particular column using column comment. You can see the column comment of an existing table using describe formatted command.
CREATE TABLE [IF NOT EXISTS] [db_name.]table_name[(col_name data_type [COMMENT col_comment], ...)]
[COMMENT table_comment]
STORED AS carbondata
[TBLPROPERTIES (property_name=property_value, ...)]
Example:
CREATE TABLE IF NOT EXISTS productSchema.productSalesTable (
productNumber Int COMMENT 'unique serial number for product')
COMMENT "This is table comment"
STORED AS carbondata
TBLPROPERTIES ('DICTIONARY_INCLUDE'='productNumber')
You can also SET and UNSET table comment using ALTER command.
Example to SET table comment:
ALTER TABLE carbon SET TBLPROPERTIES ('comment'='this table comment is modified');
Example to UNSET table comment:
ALTER TABLE carbon UNSET TBLPROPERTIES ('comment');
The partition is similar as spark and hive partition, user can use any column to build partition:
This command allows you to create table with partition.
CREATE TABLE [IF NOT EXISTS] [db_name.]table_name
[(col_name data_type , ...)]
[COMMENT table_comment]
[PARTITIONED BY (col_name data_type , ...)]
[STORED BY file_format]
[TBLPROPERTIES (property_name=property_value, ...)]
Example:
CREATE TABLE IF NOT EXISTS productSchema.productSalesTable (
productNumber INT,
productName STRING,
storeCity STRING,
storeProvince STRING,
saleQuantity INT,
revenue INT)
PARTITIONED BY (productCategory STRING, productBatch STRING)
STORED AS carbondata
NOTE: Hive partition is not supported on complex datatype columns.
This command gets the Hive partition information of the table
SHOW PARTITIONS [db_name.]table_name
This command drops the specified Hive partition only.
ALTER TABLE table_name DROP [IF EXISTS] PARTITION (part_spec, ...)
Example:
ALTER TABLE locationTable DROP PARTITION (country = 'US');
This command allows you to insert or load overwrite on a specific partition.
INSERT OVERWRITE TABLE table_name
PARTITION (column = 'partition_name')
select_statement
Example:
INSERT OVERWRITE TABLE partitioned_user
PARTITION (country = 'US')
SELECT * FROM another_user au
WHERE au.country = 'US';
The partition supports three type:(Hash,Range,List), similar to other system's partition features, CarbonData's partition feature can be used to improve query performance by filtering on the partition column.
This command allows us to create hash partition.
CREATE TABLE [IF NOT EXISTS] [db_name.]table_name
[(col_name data_type , ...)]
PARTITIONED BY (partition_col_name data_type)
STORED AS carbondata
[TBLPROPERTIES ('PARTITION_TYPE'='HASH',
'NUM_PARTITIONS'='N' ...)]
NOTE: N is the number of hash partitions
Example:
CREATE TABLE IF NOT EXISTS hash_partition_table(
col_A STRING,
col_B INT,
col_C LONG,
col_D DECIMAL(10,2),
col_F TIMESTAMP
) PARTITIONED BY (col_E LONG)
STORED AS carbondata TBLPROPERTIES('PARTITION_TYPE'='HASH','NUM_PARTITIONS'='9')
This command allows us to create range partition.
CREATE TABLE [IF NOT EXISTS] [db_name.]table_name
[(col_name data_type , ...)]
PARTITIONED BY (partition_col_name data_type)
STORED AS carbondata
[TBLPROPERTIES ('PARTITION_TYPE'='RANGE',
'RANGE_INFO'='2014-01-01, 2015-01-01, 2016-01-01, ...')]
NOTE:
Example:
CREATE TABLE IF NOT EXISTS range_partition_table(
col_A STRING,
col_B INT,
col_C LONG,
col_D DECIMAL(10,2),
col_E LONG
) partitioned by (col_F Timestamp)
STORED BY 'carbondata'
TBLPROPERTIES('PARTITION_TYPE'='RANGE',
'RANGE_INFO'='2015-01-01, 2016-01-01, 2017-01-01, 2017-02-01')
This command allows us to create list partition.
CREATE TABLE [IF NOT EXISTS] [db_name.]table_name
[(col_name data_type , ...)]
PARTITIONED BY (partition_col_name data_type)
STORED AS carbondata
[TBLPROPERTIES ('PARTITION_TYPE'='LIST',
'LIST_INFO'='A, B, C, ...')]
NOTE: List partition supports list info in one level group.
Example:
CREATE TABLE IF NOT EXISTS list_partition_table(
col_B INT,
col_C LONG,
col_D DECIMAL(10,2),
col_E LONG,
col_F TIMESTAMP
) PARTITIONED BY (col_A STRING)
STORED AS carbondata
TBLPROPERTIES('PARTITION_TYPE'='LIST',
'LIST_INFO'='aaaa, bbbb, (cccc, dddd), eeee')
The following command is executed to get the partition information of the table
SHOW PARTITIONS [db_name.]table_name
ALTER TABLE [db_name].table_name ADD PARTITION('new_partition')
ALTER TABLE [db_name].table_name SPLIT PARTITION(partition_id) INTO('new_partition1', 'new_partition2'...)
Only drop partition definition, but keep data
ALTER TABLE [db_name].table_name DROP PARTITION(partition_id)
Drop both partition definition and data
ALTER TABLE [db_name].table_name DROP PARTITION(partition_id) WITH DATA
NOTE:
SegmentDir/0_batchno0-0-1502703086921.carbonindex
^
SegmentDir/part-0-0_batchno0-0-1502703086921.carbondata
^
Here are some useful tips to improve query performance of carbonData partition table:
Bucketing feature can be used to distribute/organize the table/partition data into multiple files such that similar records are present in the same file. While creating a table, user needs to specify the columns to be used for bucketing and the number of buckets. For the selection of bucket the Hash value of columns is used.
CREATE TABLE [IF NOT EXISTS] [db_name.]table_name
[(col_name data_type, ...)]
STORED AS carbondata
TBLPROPERTIES('BUCKETNUMBER'='noOfBuckets',
'BUCKETCOLUMNS'='columnname')
NOTE:
Example:
CREATE TABLE IF NOT EXISTS productSchema.productSalesTable (
productNumber INT,
saleQuantity INT,
productName STRING,
storeCity STRING,
storeProvince STRING,
productCategory STRING,
productBatch STRING,
revenue INT)
STORED AS carbondata
TBLPROPERTIES ('BUCKETNUMBER'='4', 'BUCKETCOLUMNS'='productName')


I'm still having trouble gaining admin. privileges on the OAR, I've contacted Monika and will continue by commenting on the SN@P ticket.
https://princeton.service-now.com/nav_to.do?uri=sc_task.do?sys_id=38661d54db58489000822a9b8a961948 has been completed, I'm sorry for the delay with addressing this.
assigned
by James R. Griffin III at 2019-10-09T15:53:33.closed
by James R. Griffin III at 2019-10-09T20:20:14.I think this should stay in the backlog — because there is a lot of bulk functionality that's been implemented recently that works fine for resources that can be exported to PDF, but audio files will need something different.
labeled
by Eliot Jordan at 2019-10-09T16:43:19.labeled
by Eliot Jordan at 2019-10-09T16:43:19.closed
by Trey Pendragon at 2019-10-09T18:36:20.referenced
by Trey Pendragon at 2019-10-09T18:36:20.merged
by Trey Pendragon at 2019-10-09T18:36:20.closed
by Trey Pendragon at 2019-10-09T18:36:20.head_ref_deleted
by Trey Pendragon at 2019-10-09T18:36:23.deployed
by Trey Pendragon at 2019-10-09T18:30:18.referenced
by Trey Pendragon at 2019-10-09T18:37:56.merged
by Trey Pendragon at 2019-10-09T18:37:56.closed
by Trey Pendragon at 2019-10-09T18:37:56.head_ref_deleted
by Trey Pendragon at 2019-10-09T18:37:59.labeled
by Trey Pendragon at 2019-10-09T19:02:37.labeled
by Trey Pendragon at 2019-10-09T19:02:48.labeled
by Trey Pendragon at 2019-10-09T19:03:42.labeled
by Trey Pendragon at 2019-10-09T19:03:47.We need to replicate this with a video or something.
@escowles Should we backlog this? If not we'll need to consult with the accessibility-certified people to see what we need to do here.
mentioned
by Esmé Cowles at 2019-10-09T19:08:44.subscribed
by Esmé Cowles at 2019-10-09T19:08:45.Closing as duplicate of #3398.
closed
by Trey Pendragon at 2019-10-09T19:11:30.labeled
by Trey Pendragon at 2019-10-09T19:11:46.Closing this and we can open another ticket if there's a specific bag structure we need to support.
labeled
by Trey Pendragon at 2019-10-09T19:11:59.closed
by Trey Pendragon at 2019-10-09T19:12:36.labeled
by Trey Pendragon at 2019-10-09T19:13:00.labeled
by Trey Pendragon at 2019-10-09T19:13:26.assigned
by None at 2019-10-09T19:13:35.labeled
by Trey Pendragon at 2019-10-09T19:14:11.labeled
by Trey Pendragon at 2019-10-09T19:14:30.assigned
by Trey Pendragon at 2019-10-09T19:15:31.unassigned
by Trey Pendragon at 2019-10-09T19:15:34.labeled
by Trey Pendragon at 2019-10-09T19:15:38.Hasn't happened again, can't reproduce, closing.
closed
by Trey Pendragon at 2019-10-09T19:16:56.@jrgriffiniii Can we check in with the user again? Who was it? Otherwise, can we close this until it happens again?
https://library.princeton.edu/staff/ccleeton reported the issue, I can check with them and close this if it is no longer occurring.
mentioned
by James R. Griffin III at 2019-10-09T19:20:49.subscribed
by James R. Griffin III at 2019-10-09T19:20:49.head_ref_deleted
by None at 2019-10-09T14:46:40.head_ref_deleted
by None at 2019-10-09T14:46:42.referenced
by Kevin Reiss at 2019-10-09T19:18:25.merged
by Kevin Reiss at 2019-10-09T19:18:25.closed
by Kevin Reiss at 2019-10-09T19:18:25.head_ref_deleted
by Kevin Reiss at 2019-10-09T19:18:28.assigned
by Peter Green at 2019-10-09T20:19:26.assigned
by None at 2019-10-09T20:19:26.labeled
by None at 2019-10-09T17:31:34.labeled
by None at 2019-10-09T17:31:35.labeled
by None at 2019-10-09T17:31:36.labeled
by None at 2019-10-09T17:31:37.labeled
by None at 2019-10-09T17:31:37.labeled
by None at 2019-10-09T17:31:39.review_requested
by Shaun Ellis at 2019-10-09T20:41:20.closed
by Christina Chortaria at 2019-10-09T14:22:19.referenced
by Christina Chortaria at 2019-10-09T14:22:19.merged
by Christina Chortaria at 2019-10-09T14:22:19.closed
by Christina Chortaria at 2019-10-09T14:22:20.Looked into show page briefly and it's not just a switch we can flip. Looks like this is default rendered in the show view sidebar, which we have disabled. It would probably involve rendering the relevant partial and a bunch of restyling. Since that wasn't part of the user request (and it's also not on lae) I don't think it should block closing this ticket.
assigned
by None at 2019-10-09T13:25:31.referenced
by None at 2019-10-09T15:11:17.Coverage remained the same at 100.0% when pulling ea71553c515d039419362cbf54737b4ce886526a on opensearch-exhibit-route into f5e2fc68673b227ef252872a3e9ef5d009ff44a8 on master.
referenced
by Trey Pendragon at 2019-10-09T17:34:54.merged
by Trey Pendragon at 2019-10-09T17:34:54.closed
by Trey Pendragon at 2019-10-09T17:34:54.head_ref_deleted
by Trey Pendragon at 2019-10-09T17:34:57.assigned
by None at 2019-10-09T18:01:00.referenced
by Francis Kayiwa at 2019-10-09T11:46:48.merged
by Francis Kayiwa at 2019-10-09T11:46:48.closed
by Francis Kayiwa at 2019-10-09T11:46:48.head_ref_deleted
by Francis Kayiwa at 2019-10-09T11:46:51.I'll work on molecularizing the figgy role but as bibdata has shown me it will need someone who understands it to review/merge @hackmastera Merging this though.
mentioned
by None at 2019-10-09T11:45:47.subscribed
by None at 2019-10-09T11:45:47.referenced
by Francis Kayiwa at 2019-10-09T11:45:57.merged
by Francis Kayiwa at 2019-10-09T11:45:57.closed
by Francis Kayiwa at 2019-10-09T11:45:58.head_ref_deleted
by Francis Kayiwa at 2019-10-09T11:47:16.assigned
by Francis Kayiwa at 2019-10-09T14:12:13.review_requested
by Francis Kayiwa at 2019-10-09T11:43:50.referenced
by Kevin Reiss at 2019-10-09T14:26:10.merged
by Kevin Reiss at 2019-10-09T14:26:10.closed
by Kevin Reiss at 2019-10-09T14:26:10.head_ref_deleted
by Kevin Reiss at 2019-10-09T14:26:13.[x] recap-staging
[x] library-staging
[x] archivesspace-staging
[ ] locator-staging
[ ] pas-staging
[ ] bibdata-staging
review_requested
by Francis Kayiwa at 2019-10-09T15:08:12.referenced
by Francis Kayiwa at 2019-10-09T15:19:08.merged
by Francis Kayiwa at 2019-10-09T15:19:08.closed
by Francis Kayiwa at 2019-10-09T15:19:08.head_ref_deleted
by Francis Kayiwa at 2019-10-09T15:19:12.head_ref_force_pushed
by None at 2019-10-09T15:06:07.head_ref_force_pushed
by None at 2019-10-09T15:42:21.head_ref_force_pushed
by None at 2019-10-09T16:49:39.head_ref_force_pushed
by None at 2019-10-09T17:18:16.referenced
by Kevin Reiss at 2019-10-09T18:57:25.merged
by Kevin Reiss at 2019-10-09T18:57:25.closed
by Kevin Reiss at 2019-10-09T18:57:25.head_ref_deleted
by Kevin Reiss at 2019-10-09T18:57:29.review_requested
by Francis Kayiwa at 2019-10-09T20:11:58.I will attempt to test this on a Vagrant Box.
I've also noticed that, for Vagrant, https://github.com/pulibrary/princeton_ansible/blob/master/playbooks/patroni-staging.yml#L6 looked for a file staging.yml
here: https://github.com/pulibrary/princeton_ansible/tree/master/group_vars/patroni. If this isn't needed, I can merge this.
I've also added my work for the Vagrantfile here: https://github.com/pulibrary/princeton_ansible/compare/892_patroni_client_role...892_patroni_client_role-vagrant. Please note that the pulibrary.consul
Role will not work on the Box (but this did not block any of the patroni provisioning tasks).
review_requested
by Francis Kayiwa at 2019-10-09T19:06:26.labeled
by Shaun Ellis at 2019-10-09T20:32:12.assigned
by Shaun Ellis at 2019-10-09T20:32:15.referenced
by Shaun Ellis at 2019-10-09T20:33:17.review_requested
by Shaun Ellis at 2019-10-09T20:33:48.referenced
by Axa Mei Liauw at 2019-10-09T17:09:27.merged
by Axa Mei Liauw at 2019-10-09T17:09:27.closed
by Axa Mei Liauw at 2019-10-09T17:09:27.head_ref_deleted
by Axa Mei Liauw at 2019-10-09T17:09:33.head_ref_force_pushed
by None at 2019-10-09T16:51:44.head_ref_force_pushed
by None at 2019-10-09T16:52:12.head_ref_force_pushed
by None at 2019-10-09T17:05:30.referenced
by Axa Mei Liauw at 2019-10-09T17:11:15.merged
by Axa Mei Liauw at 2019-10-09T17:11:15.closed
by Axa Mei Liauw at 2019-10-09T17:11:15.head_ref_deleted
by Axa Mei Liauw at 2019-10-09T17:11:18.closed
by Axa Mei Liauw at 2019-10-09T17:11:37.referenced
by Kevin Reiss at 2019-10-09T19:48:59.merged
by Kevin Reiss at 2019-10-09T19:48:59.closed
by Kevin Reiss at 2019-10-09T19:48:59.head_ref_deleted
by Kevin Reiss at 2019-10-09T19:49:02.merged
by Cliff Wulfman at 2019-10-09T15:11:31.closed
by Cliff Wulfman at 2019-10-09T15:11:31.@kayiwa What user agent should we set this to?
I think we can do this in the blacklight config: https://github.com/pulibrary/pulmap/blob/master/config/blacklight.yml#L9
Setting the user agent with the headers option:
:headers => {User-Agent' => 'your_agent'}
I'm unqualified to "comment" @eliotjordan the other's are coming in as Faraday FWIW.
"The others" meaning other blacklight applications: Orangelight, Figgy? Is so, we can set that to Faraday, but I'm unsure why Pulmap would be different. It's using the same blacklight config as the other apps.
sorry, yes @eliotjordan all other blacklight applications are reporting as Faraday.
mentioned
by Francis Kayiwa at 2019-10-09T16:27:52.subscribed
by Francis Kayiwa at 2019-10-09T16:27:52.mentioned
by Eliot Jordan at 2019-10-09T16:29:31.subscribed
by Eliot Jordan at 2019-10-09T16:29:31.mentioned
by Eliot Jordan at 2019-10-09T16:36:51.subscribed
by Eliot Jordan at 2019-10-09T16:36:51.Relevant ticket in Blacklight: https://github.com/projectblacklight/blacklight/issues/1972
head_ref_force_pushed
by None at 2019-10-09T14:48:46.head_ref_force_pushed
by None at 2019-10-09T14:50:39.


Preparation time
less than 30 mins
Cooking time
30 mins to 1 hour
Serves
Serves 4
For the soup, melt half of the butter in a large saucepan until foaming. Add the parsnips and fry for 4-5 minutes, or until pale golden-brown.
Add the shallots, garlic and thyme and fry for 2-3 minutes, then stir in the curry powder and fry for another minute.
Pour in the chicken stock and cook for 8-10 minutes, or until the parsnips are tender.
Add the double cream, cool the soup slightly and blend the soup in a blender until smooth.
Strain the soup through a sieve into a clean saucepan and season, to taste, with salt and freshly ground black pepper. Whisk in the remaining butter.
For the mini crab beignets, heat the oil in a deep-fat fryer to 180C/350F. Alternatively, heat the oil in a deep heavy-based frying pan until a breadcrumb sizzles and turns brown when dropped into it. (CAUTION: hot oil can be dangerous. Do not leave unattended.)
Heat the water and butter in a saucepan until the mixture boils, then boil for another minute.
Remove the pan from the heat and beat in the flour and cayenne with a wooden spoon until smooth, or until the mixture comes away from the side of the pan. Return the pan to the heat and cook for 1-2 minutes, stirring continuously.
Remove the pan from the heat and beat in the eggs, one at a time, beating well before adding the other egg.
Stir in the white and brown crabmeat until well combined, then season with salt and freshly ground black pepper.
Spoon the mixture into a piping bag and pipe 1.5cm/½in long sections into the oil and fry for 1-2 minutes, or until golden-brown and crisp. Remove the beignets from the pan with a slotted spoon, set aside to drain on kitchen paper and season with salt.
To serve, ladle the soup into soup bowls, scatter over some crab beignet and finish with a swirl of double cream. Drizzle the soup with olive oil and sprinkle over the coriander cress and flaked almonds.


An attempt at recreating the decryption effect shown in the 1992 movie Sneakers, but with JavaScript. Inpired by this.
How to start: download the latest version, add it to your project and call the exposed function nms(element, config)
. The target element defaults to body.
Optionally, you can pass as second argument a configuration object which will be merged with the default values:
{ maxUpdateInterval: 100, // maximum update interval time minUpdateInterval: 25, // minimum update interval time maxUpdates: 50, // number of updates until character decryption ends extraDelay: 50, // small interval addition with .1 chance of happening initialDelay: 100, // delay before the decryption effect start }
Notes: the effect will only look nice with monospaced fonts; the more text nodes you have the slower it becomes.


Configure Your GT Super SportCar
Configuration
GT Manual
$17,790.00
GT Automatic
$18,590.00
GT-S Manual
$22,455.00
GT-S Sportshift
$23,155.00
Factory Options
Option Combo #1
$1235.00
Power Windows, Doors, Cruise Control
Option Combo #2
$3354.00
Rear Spoiler and Fog Lamps
Keyless Entry
Power Tilt & Slide Moonroof
Power Windows, Doors, Cruise Control
No Combo
$0
Dealer Option
CD Autochange
$550.00
VIP Security System
$399.00
Auto-Dimming Mirror
$295.00
Total Price
Choose A Color
Red
Blue
Silver
White
Black


Plan 9
`Prev `__
P
`Next `__
--------------
**Plan 9**: n.
In the late 1980s, researchers at Bell Labs (especially Rob Pike of
Kernighan & Pike fame) got bored with the limitations of UNIX and
decided to reimplement the entire system. The result was called Plan 9
in “the Bell Labs tradition of selecting names that make marketeers
wince.” The developers also wished to pay homage to the famous film,
“Plan 9 From Outer Space”, considered by some to be the worst movie ever
made. The source is available for download under open-source terms. The
developers and a small fan base hang out at ``comp.os.plan9``, where one
can occasionally hear “If you want UNIX, you know where to find it”
--------------
+--------------------------------+----------------------------+------------------------------+
| `Prev `__ | `Up <../P.html>`__ | `Next `__ |
+--------------------------------+----------------------------+------------------------------+
| plain-ASCII | `Home <../index.html>`__ | plan file |
+--------------------------------+----------------------------+------------------------------+


The examples below showcase R applications and analysis performed using Sparklyr. You can see how to use dplyr and machine learning functions within R Notebooks, and create interactive dashboards with Spark connections using flexdashboards and Shiny Applications. Source code for these examples is available under github.com/rstudio/sparkDemos.
Notebooks
One billion NYC taxi trips
You can use Spark and R to analyze data at scale. This document describes how to use sparklyr to access and understand understand your data. Use the following tools in the toolchain. This example compares models using Spark ML, H2O and R
Total US births
Use dplyr syntax to write Apache Spark SQL queries. Use select, where, group by, joins, and window functions in Apache Spark SQL.
ML classifiers
You can use sparklyr to fit a wide variety of machine learning algorithms in Apache Spark. This analysis compares the performance of six classification models in Apache Spark on the Titanic data set.
For the Titanic data, decision trees and random forests performed the best and had comparatively fast run times. See results for a detailed comparison.
Dashboards
Time Gained in Flight
This example based on the NYC airports data analyzed in the Notebooks section
Diamonds explorer
This familiar example reads data into Spark using the parquet format. You can sample and filter the data in Spark then collect the results to be visualized.
Shiny Applications
ML Titanic Classification
You can use sparklyr to fit a wide variety of machine learning algorithms in Apache Spark. This analysis compares the performance of six classification models in Apache Spark on the Titanic data set.
For the Titanic data, decision trees and random forests performed the best and had comparatively fast run times. See results for a detailed comparison.
Iris K-means clustering
This familiar examples read data into Spark using the parquet format. You can cluster the data in Spark then collect the results to be visualized.
Time gained in flight app
You can connect a Shiny app to a live spark context. This example uses Spark SQL and ML to create a look up table. You can use Shiny to filter the look up table and visualize the results.


The Bike Shop on Grand
Mountain Bike Race
|
Date: |
May 7, 2000 |
|
|
|
|
|
|
Start time: |
9:00 a.m |
|
|
|
|
|
|
Fee: |
$20 |
|
|
|
|
|
|
Contact: |
Dennis Steadman |
652-1202 |
|
|
Bike Shop on Grand |
|
|
|
1934 Grand Ave |
|
|
|
Billings, Mt 59102 |
|
|
|
|
|
|
Race Location: |
BLM area north of Shepherd, Mt |
|
Exit Interstate 90 at Exit 452 and turn north onto Hwy 87 towards Billings. Follow Hwy 87 approximately 1.2 miles to intersection with 1st Ave North and Main Street (also Hwy 87 North. Metra Park & Fairgrounds will be to immediate right).
Turn right and follow Main Street (also marked as Hwy 87 North to Roundup). Follow Main Street through Billings Heights approximately 3.5 miles to intersection of Hwy 87 North and Hwy 312 East.
Follow Hwy 312 appr. 8 miles to intersection with Shepherd Road (marked with blinking light) and turn left (north).
Go north on Shepherd Road appr. 4 miles to Scandia Road and turn right (east).
Follow Scandia road appr 2 miles to intersection with CA Road and turn left (north) onto CA road.
Follow CA road for 2 miles and then it will turn to gravel and then follow gravel for approximately 1 mile. Parking area is on left side.
Notice:
Race time and fee are subject to change. Please be sure to contact The Bike Shop on Grand prior to race day to verify.


{% extends "base/base.html" %} {% block extra_css_links %} {% endblock %} {% block title %}About{% endblock %} {% block h1 %}About{% endblock %} {% block content %}
Local Ground allows you to create and share your own annotated online maps. You can draw on existing maps, add pictures, audio, video and other data, and share with your friends, family and colleagues.
We are always interested in new ideas for Local Ground, and for new ways to collaborate with teachers, students, non-profit organizations and other mappers everywhere!
Please send us email at<EMAIL_ADDRESS>or call us at +1-510-859-3003.
Local Ground is a project that started at the UC Berkeley School of Information.
Local Ground would like to acknowledge the following people, who helped us develop our system by contributing ideas, and time to the project:
Local Ground has used image processing ideas and code from Walking Papers, OpenCV, PIL, and GIMP, and runs on GeoDjango + PostgreSQL. Local Ground is under active development, and is Open Source.


-1. Finish questions 11 and 17, 19 from prior homework 0. Give the answers to this homework as an HTML document. 1. Use Desmos to draw the patchwork triangle. — use this for hints: https://learn.desmos.com/points 2. Is it possible to have a triangle with sides of length 21, 34, 89? 3. Is it possible to have a triangle with sides of length 34, 89, 21? 4. Is it possible to have a triangle with sides of length 89, 21, 34? 5. Write a JavaScript function is_triangle(a, b, c) that returns true if the values for a, b, c can successfully form a triangle, false otherwise. 6. Sort this JavaScript array: [55, 610, 1, 1597, 2, 144, 233, 987, 3, 6765, 1, 8, 34, 89, 13, 4181, 377, 21, 2584, 0, 5] 7. Try to find the square root of 2 by writing this function: function f(x) { return x*x } -- Try f(1.42) and then refine your values until you get f(x) giving 2 as exactly as possible. What answer do you get? 8. Use the distributive property: (β+1)(β-1) 9. Use the distributive property: (β^2+1)(β^2-1) 10. Use the distributive property: (β^99+1)(β^99-1) 11. Use the distributive property: (x⁴+1)(x²+1)(x+1)(x-1) 12. Use the distributive property: (1+2i+3j-7k)(10-20i+30j-40k) 13. Use the distributive property: (1+2i)(1-3i)(2jj-45)(j+11)(ij+1) 14. Spend 40 minutes to an hour watching Wes Bos videos. Pause the videos at appropriate moments. Write down ten key facts or ideas you've had between pauses. 15. Look at this website and screenshot 7 different triangles: https://www.calculator.net/right-triangle-calculator.html The way it works is you leave a few values blank and it will fill in the rest! Try several variations. Write a brief description about what you observe. 16. Current atmospheric CO₂ level is about 413.02 parts per million (ppm) measured by the daily high from Feb. 26th at Mauna Loa. That is roughly 133.02 ppm higher than the pre-industrial level at around 1750, before people started burning coal to power trains and industrial machines. How many percent higher are we now than we were at the start of the industrial revolution? 17. Is addition commutative? 18. Is multiplication commutative? 19. Is subtraction commutative? 20. Is division commutative? 2. Look up "mathematical closure" and describe it briefly. 21. Are the counting numbers closed under addition? (Counting numbers: 1, 2, 3, 4, ...) 22. Are the integers closed under addition? 23. Are the counting numbers closed under multiplication? 24. Are the integers closed under multiplication? 25. Are the counting numbers closed under subtraction? 26. Are the integers closed under subtraction? 27. Are the counting numbers closed under division? 28. Are the integers closed under division? 29. For each of the following sets of counting numbers, give a yes or no as to whether the two numbers are relatively prime (look up "relatively prime" if you need to). 30. {11, 24} 31. {11, 100} 32. {11, 121} 33. {11, 19} 34. {12, 16} 35. {13, 16} 36. {13, 169} 37. {21, 22} 38. {21, 27} 39. Find checkmate in one for the diagram below. Explain why this is checkmate. 40. Write down the numbers from one to ten in binary. 41. Convert 30 from base 10 to base 16 42. Convert 40 from base 10 to base 16 43. Convert AA from base 16 to base 10 44. Convert AB from base 16 to base 10 45. Use geogebra.org to draw a picture with 10 to 20 distinct objects on it and show a screenshot. 46. Explain this video/article: https://www.kottke.org/20/03/heres-what-a-googol-to-one-gear-ratio-looks-like 47. Explain what this web page illustrates: https://www.geogebra.org/m/P686SvSP 48. Look back to the homework from Saturday Feb 1, problem 13. Write a function almost exactly like what you see there, but call it table_of_x_squared_minus_one and modify the code so that it graphs x²-1 instead of just x². Then graph your result on a single large sheet of graph paper, just like you graphed the function x² that time. Suggestion: put the x-axis an inch or two above the bottom of the paper; if you put it at the bottom you might run into trouble fitting your graph on the page. 7². For this question, look at the code snippet below for the logResult function, and refer to mathjs.org. What does math.evaluate do? What does math.equal do? What does math.pickRandom do? What is the intent of line 33? 50. Using our experimental value of pi=3.18, suppose you have a dinner plate with a diameter of 8 and 3/4 inches. What would be its circumference to the nearest quarter inch? -1. Finish questions 11 and 17, 19 from prior homework 19600=2*2*2*2*5*5*7*7 =2^4*5^2*7^2 0. Give the answers to this homework as an HTML document. This doc 1. Use Desmos to draw the patchwork triangle. — use this for hints: https://learn.desmos.com/points https://www.desmos.com/calculator/i0qvqmff2g
2. Is it possible to have a triangle with sides of length 21, 34, 89? no because the first 2 are not more than the 3rd when added up 3. Is it possible to have a triangle with sides of length 34, 89, 21? no because it is the same triangle as before. 4. Is it possible to have a triangle with sides of length 89, 21, 34? no because it is the same triangle as before. 5. Write a JavaScript function is_triangle(a, b, c) that returns true if the values for a, b, c can successfully form a triangle, false otherwise. function triangle(a, b, c) { if ((a + b <= c) || (a + c <= b) || (b + c <= a)) { return false; } else { if ((a <= 0) || (b <= 0) || (c <= 0)) { return false; } else { return true; } } } 6. Sort this JavaScript array: [55, 610, 1, 1597, 2, 144, 233, 987, 3, 6765, 1, 8, 34, 89, 13, 4181, 377, 21, 2584, 0, 5] [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765] 7. Try to find the square root of 2 by writing this function: function f(x) { return x*x } -- Try f(1.42) and then refine your values until you get f(x) giving 2 as exactly as possible. What answer do you get? f(1.41421356237309503)= (roughly) 1.9999999999999996. this is the limit of the accuracy of the floating point numbers in JavaScript. 8. Use the distributive property: (β+1)(β-1) β(β-1)+1(β-1) ββ-β+β-1 ββ-1 9. Use the distributive property: (β^2+1)(β^2-1) ββ(ββ-1)+1(ββ-1) ββββ-ββ+ββ-1 ββββ-1 10. Use the distributive property: (β^99+1)(β^99-1) β^198-1 10b. Use the distributive property: (x+y)(x-y) (x+y)(x-y) x(x-y)+y(x-y) xx-xy+xy-yy xx-yy 29. For each of the following sets of counting numbers, give a yes or no as to whether the two numbers are relatively prime (look up "relatively prime" if you need to). 30. {11, 24} yes 31. {11, 100} yes 32. {11, 121} no 33. {11, 19} yes 34. {12, 16} no 35. {13, 16} yes 36. {13, 169} no 37. {21, 22} yes 38. {21, 27} no


moosicd - the server for the Moosic jukebox system.
moosicd --help|-h|--version|-v
moosicd [--history-size|-s size] [--config|-c directory] [--quiet|-q|--debug|-d] [-S|--stdout] [-t|--tcp port] [-T|--tcp-also port] [-l|--local-only]
moosicd is the server for the Moosic jukebox system. It sits around, waiting
to respond to commands given by a Moosic client (such as the moosic manpage(1)). It
also maintains a queue of items to be played, and if this queue is not empty,
it pops off the first item from the head of the queue and executes a
user-configurable command on that item. When this command terminates,
moosicd goes on to the next item in its queue, assuming that the queue is
not empty.
moosicd is not meant to be used as a system-wide daemon that serves all users
on a system. Rather, every user that wishes to use Moosic should start a
separate instance of moosicd, and one user cannot communicate with the Moosic
server of another user without taking special measures (i.e. using the -c or
-t options to moosic).
moosicd is designed so that you normally don't need to use any of these
options.
- -h, --help
-
Prints help text and exits.
- -v, --version
-
Prints version information and exits.
- -s size, --history-size size
-
moosicd remembers the file names of previous songs that it played. This
option sets the maximum size of this history list. The default value is 50.
- -f, --foreground
-
By default, moosicd detaches itself from the current terminal and puts itself
in the background (i.e. it becomes a daemon). This option disables such
behavior.
- -S, --stdout
-
By default, moosicd logs almost all of its printed output to a file. When
this option is used, the output is instead printed to the standard output
device. This also prevents the program from putting itself in the background and
detaching from the current terminal.
- -q, --quiet
-
This option suppresses almost all printed output from moosicd. Note that, by
default, moosicd prints this output to a file, not the standard output
device.
- -d, --debug
-
This option causes moosicd to print lots and lots of messages about what
it's doing. These messages are usually quite superfluous and bothersome. Note
that unless the -S option is used these messages will appear in the log file
instead of the standard output device.
- -c directory, --config directory
-
Specifies the directory where moosicd should keep the various files that it
uses. The default directory is ~/.moosic/. This option is useful only in
extraordinary circumstances. If this option is used, any Moosic clients that
wish to communicate with moosicd must be told to use the specified directory
instead of the default.
- -t port, --tcp port
-
This option directs the server to listen to the given TCP port number for client
requests instead of using the normal communication method. Use of this option
without the -l option is highly discouraged unless you know what you are
doing because there is no guarantee that moosicd is secure against malicious
input from a remote location. Note that an instance of moosicd which is
started with this option will not accept requests from a client that is using
the normal communication method.
- -T port, --tcp-also port
-
This option directs the server to listen to the given TCP port number for client
requests in addition to using the normal communication method. Use of this
option without the -l option is highly discouraged unless you know what
you are doing because there is no guarantee that moosicd is secure against
malicious input from a remote location.
- -l, --local-only
-
This directs the server to only listen for TCP connections that originate from
the local computer, refusing connections from remote hosts. This only has an
effect when --tcp or --tcp-also is used.
moosicd figures out how to play items in its queue by consulting its
configuration file, which associates string patterns (in the form of
Perl-compatible regular expressions) with commands.
The format of this file is as follows: Every pair of lines forms a unit. The
first line in a pair is a regular expression that will be matched against items
in the queue. The second line in a pair is the command that will be used to play
any items that match the regular expression. The name of the item to be played
will be appended to the end of this command, unless the command line includes a
special substitution string.
The simplest kind of substitution string is ``$item''. Every occurrence of
``$item'' in the command will be replaced with the name of the song to be played.
The other kind of substitution is called ``matched group substitution'', and is
used to refer to specific parts of the name of the song to be played.
The command will not be interpreted by a shell, so don't bother trying to use
shell variables or globbing or I/O redirection, and be mindful of how you use
quotes and parentheses. If you need any of these fancy features, wrap up the
command in a real shell script (and remember to use an ``exec'' statement in your
shell script to invoke the program that does the actual song playing, otherwise
Moosic won't be able to do things like stop or pause the song).
Blank lines and lines starting with a '#' character are ignored. Regular
expressions specified earlier in this file take precedence over those specified
later.
moosicd makes use of several files, all of which are found in the
.moosic/ directory in the home directory of the user who invoked the
program (unless the -c or --config option is used).
- config
-
This is the configuration file that moosicd uses to associate file-types to
player commands, as explained above.
- server_log
-
moosicd logs short notices of its activities to this file unless the -S
option is used. It usually contains nothing more than a history of what songs
have been played.
- player_log
-
This file contains the output of the player commands which are spawned by
moosicd.
- socket
-
This is a socket file which is (normally) used to allow Moosic clients to
contact the Moosic server. If moosicd isn't shut down properly, this file
will need to be removed by hand. You should leave this file alone under other
circumstances.
the moosic manpage(1), the standard command-line Moosic client.
The chapter entitled ``Regular Expression Syntax''
http://www.python.org/doc/current/lib/re-syntax.html from the section dealing
with the re module in the Python Library Reference, for details on the
syntax of a regular expression.
Daniel Pearson <daniel@nanoo.org>


FEATURED PROJECT
Discord Clone React + Firebase
This is Discord Clone web app, like limited edition you can create a new channel and begin the chat, it have a google login.
UI/UX DESIGN
Interest to Explore UI/UX Desgn, I’m using figma to design my own projects
UI DEVELOPMENT
Have 1+ years experience in Front End Development, Try to provide pixel perfect design
APP DEVELOPMENT
Interest to Explore Mobile App Development in React Native platform
PROJECT #1
Todo App React + Firebase
My first project in react js 'Todo', It includes add our todo, edit, update, and delete features. I’m using Firebase for backend.
UI DESIGN #1
Portfolio Design
This is my First Design I do, I refer this layout from Gary Simon, the YouTube Instructor, I’m using FIGMA tool to design


JU DOU A film review by Thomas E. Billings Copyright 1991 Thomas E. Billings
Synopsis: In 1920s China, an old man, the owner of a dye factory, buys a beautiful young wife. He beats her every night because she has not produced children, an heir. Meanwhile, his young wife and his (adopted) son have an affair, which results in the birth of a child. A tale of adultery, revenge, and murder. Even though it has superb photography and excellent acting, the story falls flat and the film is primarily a mediocre melodrama.
China (English subtitles), color, 1990, 94 minutes. Director: Zhang Yi-mou
This film has received considerable publicity recently because the Chinese government has repressed the film in China (the film is banned there). Also, the film has been nominated for a (U.S.) Academy Award in the "Best Foreign Language Film" category. The Chinese government asked that the film be withdrawn from Academy Award consideration on the grounds that it has not been screened in its country of origin, a point of considerable controversy.
The film is set in a dye factory in 1920s China.  The old man buys a beautiful young bride, Ju Dou, his third wife (he beat to death the first two wives). The old man is apparently impotent; every night he savagely beats Ju Dou because she is not yet pregnant. In one scene, Ju Dou is tied up while the old man is beating her; he tells her "when I buy an animal, I treat it as I wish, and you're no better than an animal".
Ju Dou and Tian-qing, the adopted son of the mill owner, are attracted to each other. One day when the old man is away, the pair become lovers, with Ju Dou actively seducing Tian-qing. Soon she is pregnant with Tian-qing's child. Shortly thereafter the old-man is crippled in an accident, and confined to a crude wheelchair. The story continues with the birth of the child, and the two lovers confronting the social limits on their relationship (adultery being punishable by death).
The film is excellent in many respects. The photography is beautiful, the set design is very colorful, with shards of dyed cloth hanging from the rafters of the dye factory. The acting is generally excellent, with a superb performance by Li Wei as the cruel, sadistic factory owner who thinks he can make his wives pregnant by beating them. The film Direction is good also (Director Zhang Yi-mou's earlier works include RED SORGHUM). Some of the writing is very good also.
However, despite having so much going for it, the film quickly turns into a predictable melodrama. Because the story weakens so much in the second half, the film is not as good as, for example, A GIRL FROM HUNAN, or the soap-opera-ish THE REINCARNATION OF GOLDEN LOTUS.
Although it is not as good as some other Chinese films (whether from China, Taiwan, Hong Kong), the film suggests that the stagnation in the film industry of China may be ending. (The events in Tienamen Square, and the crackdown afterward, seriously disrupted the film industry in China.) I recommend the film to fans of melodrama, and to anyone that appreciates Chinese films.
Distribution. In its first U.S. release; currently (3/15) showing in the San Francisco area (San Francisco: Gateway Cinema). May be available in other areas also, showing primarily in "arthouse" type theaters. The U.S. distributor for the film is Miramax Films.
Reviewer contact<EMAIL_ADDRESS>.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Yeah, I consider myself primarily a web developer. It's a fun world to live in. I've written a lot about what that means, but I want to give a kind of intro to it here before you read everything else. I want you to see the whole picture.
web development is building stuff for the web! it's between designing things and engineering things. being a developer means you need to do a little of both. a designer designs an experience and typically hands it off to an engineer to actually make it work. an engineer takes a design and figures out how it should work best and build it. a developer looks at it a little more abstractly: it's more like fixing a problem or bringing an idea to life.
I often compare it to photography. There's the brilliant photographer who can take amazing pictures and there are the genius technicians who can make that photo negative turn into an amazing print. The person in between is one who can take great photos and develop them by themselves. They may not be the greatest photographer or have the most amazing prints, but they are the master of the entire process, and can look at it as one process.
I also often compare the developer to a magician, being given a problem or an idea and seeing it to at least an initial implementation.  Magic. Prototyping and agile development are a magician's sport.
There is, of course, a cost for this attitude: you won't get the level of polish and glamour a designer would bring or the benefit of systematic problem-solving an engineer would toil over. Instead the developer focuses on results and efficiency of process. For this reason developers are great at being good at as much as they can and being able to rapidly produce solutions, even if they don't look the best or are the most programmatically efficient.
the whole picture this series will try to fill is this: you want to make a website that's dynamic and looks good and whatever. how do you do that?
A web developer should know all of these steps and be familiar with them. A web developer, alone, should be able to build a blog from scratch and make it look decent.
your best friend is a good API/programming reference. your task here is never to learn a programming language through memory; it's to learn the syntax and then know how to look up its vocabulary.
think of any foreign language... you don't need to know every word, you need to know its grammar. you have a dictionary to look up all the words you don't know.
engineers will learn C++ or perl or fortran or whatever through raw memorization; you don't have to. the only thing you really have to remember is how to look it up.
gotapi is a good place to start.
followed closely by google, lol.
eventually you'll also want to get familiar with google chrome's built-in dev tools or firefox's firebug extension. every good web developer uses them. but you don't have to really worry about that now.
the best way to learn is to do. the best way to learn is to ask. the best way to learn is to surround yourself with examples from people who know what they're doing.
so come up with a project to practice with. a good, simple, beginner project is to make a blog site, or a to-do list web app.
ask people who know more than you, who are experienced, about how they got where they are. ask them where they think they are now.
go to sites you really like and try to figure out how they did it, and keep trying until you get it right.
remember that web developers make prototypes, or small quick trinkets to highlight a solution to a problem. they don't have to be pretty or complete, they just have to work. I have probably a hundred folders of quick prototypes in a dozen languages; it's how I learn.
honestly i'm writing these guides as a mix between guide and tutorial and essay and thought-process. i'll switch from upper to lowercase, from capitalizing sentences to not, utilizing bulleted lists and code examples. i'll try to be concise and yet informative. tell me if i'm not.
I write a lot like I'd try to talk to you. I've taught people a lot of this stuff before, and I've always found that a more colloquial approach to learning is better and easier. this is a pressure-free learning experience; there are no grades or anything, i want you to read these because you want to.


USAGE¶
`pip install virlsdk should install the module`
1. launch_sim.py and stop_sim.py show how to use the virlsdk
python launch_sim.py –help will show you how to use the file`python launch_sim.py -f config.yaml`
- The config yaml file should be populated with the details of your virl server. This will also point the code to the location of your virl file


Confirm Changes Delete Character Strength Dexterity Constitution Intelligence Wisdom Charisma Skill List


| Activity Space | Activity | Brief Description | Delete | Edit |
|---|---|---|---|---|
| {{spaceActivity.nameActivitySpace}} | {{spaceActivity.name}} | {{spaceActivity.briefDescription}} |
This field is required.
This field is required.
This field is required.
This field is required.
This field is required.
| COMPETENCY |
|---|
This field is required.
This field is required.
| Competency | Level Competency | Delete |
|---|---|---|
| {{competency.competency}} | {{competency.competencyLevel}} |
| APPROACH |
|---|
This field is required.
This field is required.
| Name | Description | Delete |
|---|---|---|
| {{approach.name}} |
| ACTIONS |
|---|
This field is required.
This field is required.
This field is required.
This field is required.
This field is required.
| Action Kind | Alpha-State / Workproduct-Level of detail | Delete |
|---|---|---|
| {{alphaState.idActionKind}} |
|
|
| ENTRIES |
|---|
This field is required.
This field is required.
| Alpha-State / Workproduct-Level of detail / Other criterion | Delete |
|---|---|
| {{alphaState.description}} | |
| {{workProductLevelofDetail.description}} | |
| {{otherConditions}} |
| COMPLETITION |
|---|
This field is required.
This field is required.
| Alpha-State / Workproduct-Level of detail / Other criterion | Delete |
|---|---|
| {{alphaState.description}} | |
| {{workProductLevelofDetail.description}} | |
| {{otherConditions}} |
| RESOURCES |
|---|
| Content | Type | Attachment | Size | Delete |
|---|---|---|---|---|
| {{resource.idTypeResource}} | {{vm.byteSize(resource.idTypeResource)}} |


Portfolio
MeHungry
MeHungry is a food-finding app that utilizes the google maps javascript API to find the highest rated resturants in the user's vicinity. Ideal use is from mobile, and eventually the goal is to port it to apache cordova to release on app store
Check it out!


Marker-based
A marker-based AR experience uses a black and white image to anchor the AR content. Your scene will appear when the marker is in the field of view of your camera.
You can print a paper version of your marker (which we recommend), or display it on a screen.
1. Use a premade marker or upload your own
Here is a sample marker for you. Feel free to use it as the marker for your project. Alternatively, click “Upload image” to use a custom one. Not sure what makes a good marker? Check out this guide.
2. Choose the content
Select the type of content you would like to link to your marker and then upload the file from your computer.
Please check the file name and remove whitepaces.


Who are eligible to donate blood?
Any healthy adult, both male and female, can donate blood.
Men can donate safely once in every three months while women can donate every four months.
Donor should be in the age group of 18 to 65 years
The donor should not be less than 45kg in weight
Temperature and blood pressure of donor should be normal
Donor should have delivered child 1 year ago and stopped lactation
Haemoglobin should not be less than 12.5 grams
Should not have got tatoo in last 12 months
Should not have any form of cancer
Should not have HIV, AIDS, Hepatatis B,C ,Tuberculosis
Should not have heart diseases


| Full Design |
|
|
|
Terpenoid backbone biosynthesis
|
| LOC110722601 |
2-C-methyl-D-erythritol 2,4-cyclodiphosphate synthase |
-1.05 |
|
Monoterpenoid biosynthesis
|
|
|
| LOC110695525 |
Cytochrome P450 81E8 |
10.85 |
| LOC110733559 |
Isoflavone 2'-hydroxylase |
20.01 |
| LOC110724414 |
Isoflavone 2'-hydroxylase |
13.24 |
|
Sesquiterpenoid biosynthesis
|
|
|
| LOC110722126 |
Valencene synthase |
23.31 |
| Variety-Specific Design |
|
|
|
Plant-pathogen interaction (‘Jessie’)
|
|
|
| LOC110736865 |
Respiratory burst oxidase homolog protein B |
-0.75 |
| LOC110740007 |
Pathogenesis-related protein PRB1-3 |
-11.43 |
| LOC110721413 |
Calcium-binding protein CML24 |
-1.62 |
|
Plant-pathogen interaction (‘QQ74’)
|
|
|
| LOC110690414 |
LRR receptor-like serine/threonine-protein kinase FLS2 |
1.01 |
|
Plant-pathogen interaction (‘Red Head’)
|
|
|
| LOC110685889 |
LRR receptor-like serine/threonine-protein kinase At1g34110 |
1.87 |
|
Sesquiterpenoid biosynthesis (‘Jessie’)
|
|
|
| LOC110720101 |
Sesquiterpene synthase |
-6.27 |
| LOC110722126 |
Valencene synthase |
-8.95 |


We make the internet a delightful place to hang out.
Let us find a new color for your business.
Another Color, Inc. is a full service visual communications firm that has been in business for over 40 years helping create exciting design solutions for our clients. Experience, insight, and a deep understanding of usability and user behavior allow us to develop and produce solutions that work.
Teamwork best describes the process ACI brings to a communication project. Our constant goal is to communicate with clarity, precision, and visual appeal while giving each client complete and personal attention. The key is developing a coherent strategy by tapping into the market intelligence of the client, understanding the client’s customer, and mapping a strategy with the right medium to reach the customer in an efficient and cost-effective way.
We work as your creative partner, monitoring costs, schedules, and production with the ultimate goal of enhancing and promoting bottom line results from beginning to end. Let us create a new picture for your business.
Allowing people to experience your product is the best way to communicate the idea behind it. A functional prototype of your app or website helps you do that in a matter of weeks, not months. It's the quickest way to collect valuable feedback on user experience and interface design, learn what features to prioritize in order to get the most return on your early investment, and show investors and corporate partners that you are a serious player. Taking a lean approach, we can work with you all the way from concept and MVP to building out the user experience and product details:
Let us get to work turning your ideas into a professional logo or illustration. We start with sketches and hand drawings, then move into real vector work to create pixel perfect results.
Looking for a new logo or need a set of icons for your new website? We've got you covered.
Presenting an idea in a cohesive way that is direct to the point and covers all the important details is an art. Sure you can powerpoint your way through it, but when it REALLY matters you need someone to take it to the next level.


Next: Installing LAPACK Routines
Up: Documentation and Software Conventions
Previous: Real Diagonal Elements of
  Contents
  Index
Representation of Orthogonal or Unitary Matrices
A real orthogonal or complex unitary matrix (usually denoted Q) is often
represented in
LAPACK as a product of elementary reflectors -- also referred to as
elementary Householder matrices (usually denoted Hi). For example,
Most users need not be aware
of the details, because LAPACK routines are provided to work with this
representation:
- routines whose names begin SORG- (real) or CUNG- (complex) can generate
all or part of Q explicitly;
- routines whose name begin SORM- (real) or CUNM- (complex) can multiply
a given matrix by Q or QH without forming Q explicitly.
The following further details may occasionally be useful.
An elementary reflector (or elementary Householder matrix) H of order
n is a
unitary matrix of the form
|
(5.1) |
where
is a scalar, and v is an n-vector, with
); v is often referred to
as the Householder vector .
Often v has several leading or trailing zero elements, but for the
purpose of this discussion assume that H has no such special structure.
There is some redundancy in the representation (5.1), which can be
removed in
various ways. The representation used in LAPACK (which differs from
those used in LINPACK or EISPACK) sets v1 = 1; hence v1 need not
be stored. In real arithmetic,
,
except that
implies H = I.
In complex arithmetic,
may be
complex, and satisfies
and
.
Thus a complex H is
not Hermitian (as it is in other representations), but it is unitary,
which is the important property. The advantage of allowing
to be
complex is that, given an arbitrary complex vector x, H can be computed
so that
with real .
This is useful, for example,
when reducing a complex Hermitian matrix to real symmetric tridiagonal form,
or a complex rectangular matrix to real bidiagonal form.
For further details, see Lehoucq [79].
Next: Installing LAPACK Routines
Up: Documentation and Software Conventions
Previous: Real Diagonal Elements of
  Contents
  Index
Susan Blackford
1999-10-01


Note: This is only a prototype, so its implementation is unpolished. Please
use discretion when copying the code as there are likely solutions more concise and/or
elegant than those presented here.
For assistance, please contact Blake Simmon or Lukas Holcik.


You searched for {{ hashtag }}
Direct results
The most common color is
RGB {{ primary }} or #{{ hexcol }}
#{{ hcs[0] }}
#{{ hcs[1] }}
#{{ hcs[2] }}
#{{ hcs[3] }}
#{{ hcs[4] }}
Your Tailored Color Palette
#{{ pcl[3:9] }}
#{{ pcl[14:20] }}
#{{ pcl[25:31] }}
#{{ pcl[36:42] }}
#{{ pcl[47:53] }}
note: Browser cache may prevent color changes. If you see the same colors after repeated use, try holding shift and reloading!
{% endblock %}


Implementation of a string wrapper.The InputString class is a wrapper class for the purpose to read input strings delimited by quotations from streams, like for instance "example input". All characters between the leading and the trailing quotation are extracted unchanged from the input stream, including whitespaces. The input string has to be in one single line. In case of input errors, the std::istream::failbit of the input stream is set.
More...
#include <InputString.h>
|
|
|
std::string | buffer_ |
| | The character buffer.
|
| |
Implementation of a string wrapper.
The InputString class is a wrapper class for the purpose to read input strings delimited by quotations from streams, like for instance "example input". All characters between the leading and the trailing quotation are extracted unchanged from the input stream, including whitespaces. The input string has to be in one single line. In case of input errors, the std::istream::failbit of the input stream is set.
◆ InputString() [1/3]
| blaze::InputString::InputString |
( |
const char * |
string = "" | ) |
|
|
inlineexplicit |
The default constructor for InputString.
- Parameters
-
| string | The initial value for the string. |
◆ InputString() [2/3]
| blaze::InputString::InputString |
( |
const std::string & |
string | ) |
|
|
inlineexplicit |
Constructor for the direct initialization with a std::string.
- Parameters
-
| string | The initial value for the string. |
◆ InputString() [3/3]
| blaze::InputString::InputString |
( |
const InputString & |
s | ) |
|
|
inline |
The copy constructor for InputString.
- Parameters
-
| s | The string object to be copied. |
◆ c_str()
| const char * blaze::InputString::c_str |
( |
| ) |
const |
|
inline |
Conversion to a constant character array.
- Returns
- The converted constant character array.
◆ capacity()
Returns the maximum capacity of the string.
- Returns
- The capacity of the string.
◆ empty()
| bool blaze::InputString::empty |
( |
| ) |
const |
|
inline |
Returns if the string is empty.
- Returns
- true if the string is empty, false if it is not.
◆ operator=() [1/2]
| InputString & blaze::InputString::operator= |
( |
const char * |
string | ) |
|
|
inline |
Assignment operator for C-style character strings.
- Parameters
-
| string | The C-style string to be copied. |
- Returns
- Reference to the assigned string.
◆ operator=() [2/2]
| InputString & blaze::InputString::operator= |
( |
const std::string & |
string | ) |
|
|
inline |
Assignment operator for STL strings.
- Parameters
-
| string | The STL string to be copied. |
- Returns
- Reference to the assigned string.
◆ operator[]() [1/2]
| char & blaze::InputString::operator[] |
( |
SizeType |
index | ) |
|
|
inline |
Direct access to the characters of the string.
- Parameters
-
| index | Access index. The index has to be in the range . |
- Returns
- A reference to the indexed character.
◆ operator[]() [2/2]
| const char & blaze::InputString::operator[] |
( |
SizeType |
index | ) |
const |
|
inline |
Direct access to the characters of the string.
- Parameters
-
| index | Access index. The index has to be in the range . |
- Returns
- A reference to the indexed character.
◆ reserve()
| void blaze::InputString::reserve |
( |
SizeType |
newSize | ) |
|
|
inline |
Reserves at least size characters within the string.
- Parameters
-
| newSize | The minimum size of the string. |
- Returns
- void
◆ size()
Returns the size of the string.
- Returns
- The size of the string.
◆ str()
| const std::string & blaze::InputString::str |
( |
| ) |
const |
|
inline |
Conversion to a std::string.
- Returns
- The converted std::string.
The documentation for this class was generated from the following file:


Here at Good Coffee, we know the value in a perfectly roasted bean. So not only do we spend our days and nights perfecting our craft, we also run a blog and have made it our mission to educate coffee lovers on how to get the most flavor and boost from their coffee beans.


|
|
Development Resources |
| HOME | DEVELOPMENT | DOWNLOAD | DOCUMENTATION | FEATURES | WORKING GROUP | GITHUB | DASHBOARD |
This page includes references for development with EPICS V4, to produce scientific software services and control systems. It also includes references to EPICS V4 Working Group internal documentation for help with release procedures, documentation generation etc.
The following are development guides for developers who want to use EPICS V4:
Support requests should presently be addressed by email to<EMAIL_ADDRESS>The following are development guides and cheatsheets primarily intended for EPICS V4 developers, though these may be useful for user developers who wish to build EPICS V4 from source:
NOTE: The following are links to documents that have not been updated since the source code for EPICS V4 has been moved from mercurial to git and from sourceforge to github.


In this page, you can define and start the optimization experiments.
An optimization experiment is an experiment that involves a chosen
dataset and topic modeling algorithm whose hyperparameters (or a subset
of hyperparameters) are optimized with respect of a chosen evaluation metric.
Quick start:
- Select the folder in which you will save your experiments.
For each experiment you need to specify the name of the
experiment
and the name for the set of experiments (batch name). The
"batch" allows
you to organize experiments in the same cluster. This will be useful later for
visualization purposes.
- Select a Dataset among our preprocessed datasets. You can just
train a model, or you can train and test the model (we have already splitted
the datasets).
-
Select a Model among our predefined topic models. You can
choose
among a selection of classical topic models and neural topic models.
-
Select the hyperparameters of the model that you want to
optimize
and/or fix the value of the hyperpararameters that you like.
If you optimize a hyperparameter, you need to select the value
range
for the selected hyperparameter.
-
Select the Metric that you want to optimize (just one for now,
but we
plan to do multi-objective hyperparameter optimization soon) and its
corresponding
parameters.
-
Select the configuration of the parameters of Bayesian
Optimization.
Hint:
Click on names of the hyperparameters, the models or the metrics for obtaining
additional information.


The monitoring node retrieves data on the topics /statistics, /statistics_node and /statistics_host. It then rates them according to specifications stored in the parameter namespace /arni/specifications. The resulting data are published on the topic /statistics_rated.
Processes and rates incoming topicstatistics, stores them for some time and publishes comparison results.
Sets up all necessary subscribers and services.
Topic callback method. Receives data from the topic, sends them to the storage, lets them process and finally publishes the comparison result.
| Parameters: | data – The data received from the topic. |
|---|
Returns StorageContainer objects on request.
| Parameters: | request (StatisticHistoryRequest.) – The request containing a timestamp and an identifier. |
|---|---|
| Returns: | StatisticHistoryResponse |
Wraps the result of the comparison between the actual metadata and the specification.
Adds a group of values for a metatype.
| Parameters: |
|
|---|
Returns values of the given metatype.
| Parameters: | metatype (str.) – The metatype to return the values for. |
|---|---|
| Returns: | A dictionary with the keys metatype, actual, expected and state, each field containing it’s respective values. |
Retrieve all contained metadata types.
| Returns: | A list of strings. |
|---|
Creates a RatedStatisticsContainer messagetype based on the current data.
| Returns: | A RatedStatisticsContainer object from the current data. |
|---|
Loads the specifications from the parameter server, stores and compares them to the actual metadata.
Compares a Message object with a Specification object regarding all available matching fields.
| Parameters: |
|
|---|---|
| Returns: | A RatedStatisticsContainer object representing the result. |
Compares Messages about one topic
| Parameters: | data – List of Statistics messages |
|---|---|
| Returns: | list of RatedStatistics messages |
Returns the Specification object from the internal storage.
| Parameters: | identifier (str) – The seuid describing the desired Specification object. |
|---|---|
| Returns: | The Specification object with the given identifier, None if it was not found. |
Returns a list containing all seuids of loaded specifications.
| Returns: | A list of strings. |
|---|
Reloads all specifications loaded into the namespace /arni/specifications
An object loaded from the specification configurations and basis for comparison of Metadata with desired values.
Adds a Tuple to the bundle.
| Parameters: | t (tuple) – (key, value) |
|---|
Returns the value of the specification with the given key.
| Parameters: | key (str) – The identifier for the stored measurement. |
|---|---|
| Returns: | A tuple containing the limits in its value field. |
Returns whether a field is defined in this specification.
| Parameters: | field (str) – The metadata field to check for. |
|---|---|
| Returns: | bool |
Returns all stored keys.
| Returns: | list(str) |
|---|
The MetadataStorage holds StorageContainer objects with raw topic data and the rated values and can provide them on request.
Clears the whole storage.
Returns all StorageContainers for a given identifier since a given timestamp.
| Parameters: |
|
|---|
Stores a given StorageContainer object.
| Parameters: | container (StorageContainer) – The data to store. |
|---|


More..
I also own and manage other online properties, please check them out below.
I also own and manage other online properties, please check them out below.
Creating a framework for investing directly in individual founders, rather than their companies.
Personal blog where I get to rant (relatively intelligently) about UX in the real world.
Conversations for an open and inclusive Australia toward asylum seekers and refugees.


Application Options
Set Category
Add Option
Display All Options
Remove Option
Clear All Options
Helper Text
Main Display
The option that was selected is:
Make New Selection
Other Useful Data
Overall Category:
Total Number of Options Available:
0
Total Number of Selections Made:
0


Sliders
Standard horizontal slider
Vertical slider
Slider with predefined values [2,4,6,8] and a non-default range [2,15]
Slider with multiple handles
Slider with multiple handles and predefined values
Slider with multiple handles, external controls, handles are restricted (can't be moved prior/after adjacent handles)
<--
-->
Fun with spans
Slider with span and [1,10] range (test for #3731)


Xmls is a small, simple, non-validating xml parser for Common Lisp. It's designed to be a self-contained, easily embedded parser that recognizes a useful subset of the XML spec. It provides a simple mapping from xml to lisp structures or s-expressions and back.
Since XMLS was first released it has gained some additional complications/features. In particular:
xmls/octets
that will open streams for the XMLS parser,
processing any content-type declarations in the process.Parsed xml is represented as a nested lisp structure, unlike in the original version, where it was a lisp list. The s-expression representation is still maintained, and there are functions to translate to and from this notation.
In the structure representation, a node, corresponding to an XML element, is defined as follows:
(defstruct (node (:constructor %make-node)) name ns attrs children)
Xmls also includes a helper function, make-node for creating xml nodes of this form:
(make-node &key name ns attrs children)
Xmls provides the corresponding accessor functions node-name, node-ns node-attrs, and node-children.
In the s-expression representation, a node is represented as follows:
(name (attributes) children*)
A name is either a simple string, if the element does not belong to a namespace, or a list of (name namespace-url) if the element does belong to a namespace.
Attributes are stored as (name value) lists.
Children are stored as a list of either element nodes or text nodes.
For example, the following xml document:
<?xml version="1.0"?> <!-- test document --> <book title='The Cyberiad'> <!-- comment in here --> <author xmlns='http://authors'>Stanislaw Lem</author> <info:subject xmlns:info='http://bookinfo' rank='1'>"Cybernetic Fables"</info:subject> </book>Would parse as:
("book" (("title" "The Cyberiad")) (("author" . "http://authors") NIL "Stanislaw Lem") (("subject" . "http://bookinfo") (("rank" "1")) "\"Cybernetic Fables\""))
To detect whether in this version of XMLS the return value of PARSE
will be a
list or a structure, check for the feature :XMLS-NODES-ARE-STRUCTS
.
For old code that wants XML parsed into lists, instead of
structures, you may replace calls to (parse str)
with
(node->nodelist (parse str))
.
For greater convenience, we offer PARSE-TO-LIST
, which
performs the same function.
The interface is straightforward. The two main functions are
PARSE
and TOXML
.
(parse source &key (compress-whitespace t) (quash-errors t)
Parse accepts either a string or an input stream and attempts to parse the xml document contained therein. It will return the s-expr parse tree if it's successful or nil if parsing fails.
If COMPRESS-WHITESPACE
is non-NIL
, content nodes will be trimmed of whitespace and
empty whitespace strings between nodes will be discarded.
(parse-to-list source (&rest args))
Functions as PARSE
, but returns a list representation
of the XML document, instead of a structure.
(write-prologue xml-decl doctype stream)
write-prologue writes the leading
<?xml ... ?>
and <!DOCTYPE ... >
elements to stream
.
xml-decl
is an alist of attribute name value pairs.
Valid xml-decl attributes per the xml spec are "version", "encoding",
and "standalone", though write-prologue does not verify this.
doctype
is a string containing the document type definition.
(write-prolog xml-decl doctype stream)
U.S. spelling alternative to write-prologue
.
(write-xml xml stream &key (indent nil))
write-xml accepts a lisp list in the format described above and writes the equivalent xml string to stream. Currently, if nodes use namespaces xmls will not assign namespaces prefixes but will explicitly assign the namespace to each node. This will be changed in a later release. Xmls will indent the generated xml output if indent is non-nil.
(toxml node &key (indent nil))
TOXML
is a convenience wrapper around write-xml that returns the in a newly
allocated string.
XMLS provides two exported functions to translate between the CL structure representation of the XML tree and the s-expression representation:
node->nodelist
nodelist->nodes
These are intended to allow programmers to avoid direct manipulation of the XMLS element representation. If you use these, your code should be easier to read and you will avoid problems if there is a change in internal representation (such changes would be hard to even find, much less correct, if using the lists directly).
make-xmlrep (tag &key attribs children)
xmlrep-add-child! (xmlrep child)
xmlrep-tag (xmlrep)
xmlrep-tagmatch (tag treenode)
xmlrep-attribs (xmlrep)
xmlrep-children (xmlrep)
xmlrep-find-child-tags (tag treenode)
xmlrep-tagmatch
.
xmlrep-find-child-tag (tag treenode &optional (if-unfound :error))
xmlrep-string-child (treenode &optional (if-unfound :error))
xmlrep-integer-child (treenode)
xmlrep-attrib-value (attrib treenode &optional (if-undefined :error))
xmlrep-boolean-attrib-value (attrib treenode &optional (if-undefined :error))
XMLS itself simply processes strings or streams. This means that it
does not provide native support for handling character encodings, as
declared in the XML headers. The system xmls/octets
,
which depends on xmls
provides that support with the
exported function make-xml-stream
, which takes an
octet-stream as argument, processes its header, choosing the
appropriate character encoding, and then returns a stream suitable for
passing to xmls:parse
.
Probably make-xml-stream
should be made generic, and support
arguments of other types (e.g., strings interpreted as filenames,
pathnames, etc.).
xmls can be installed as an asdf system. An asdf system definition is provided with the distribution.
Previous versions of XMLS were single files, and could be installed simply by loading the file xmls.lisp. This option is no longer supported.
Please contact Robert Goldman, rpgoldman AT sift.net with any questions or bug reports.


Locations
Your city not listed?
If you’d like to see Scoot in your hometown, be sure to let us know. We track requests and plan launches based on demand. Feel free to message us by clicking the link or messaging us on social.
Message UsIf you’d like to see Scoot in your hometown, be sure to let us know. We track requests and plan launches based on demand. Feel free to message us by clicking the link or messaging us on social.
Message Us


Update : 2018-11-20
Aung Aung, NTU, SCSE, CIL Lab, BCI Group
| Impact Factor | Journal | Full Name | Periodicity | Website |
| 7.982 | TNNLS | IEEE Transactions on Neural Networks and Learning Systems | Monthly | https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5962385 |
| 3.972 | TNSRE | IEEE Transactions on Neural Systems and Rehabilitation Engineering | Monthly | https://tnsre.embs.org/ |


Building Interactive Gadgets
Webcam (IP):
IP Address:
Press and hold keyboard arrow keys to move the robot or use the following buttons to control it.
Straight
Right
Reverse
Left