Scriptella ETL Reference Documentation
Introduction
Scriptella is a Java-based ETL and scripts execution tool. The primary scripting language is a plain old SQL executed by the JDBC bridge. At the same time other non-JDBC providers could be easily added allowing to mix SQL scripts with other scripting languages.
The following diagram is an overview of the Scriptella execution model:
A typical ETL process collects data from one or many datasources and loads it into other datasources optionally performing necessary transformations. To accomplish these tasks Scriptella provides 3 basic elements:
- Connection. Represents a connection to a datasource like a database, directory service, XML file etc.
- Script. Contains code to execute, i.e. SQL, JavaScript, JEXL or even a DSL (Domain Specific Language).
- Query. Contains code written in DSL to query a datasource. Queries can contain nested queries and scripts.
One of the primary Scriptella features is ability to link queries and scripts written in different languages while sharing the same variables (e.g. database columns, XML or LDAP attributes or RegEx groups). To use this power you have to understand how queries work in Scriptella. For the sake of simplicity queries can be considered as "for each" statements which loop through the set of rows (JDBC ResultSet, LDAP entries, XML DOM elements etc.) and execute nested elements passing attributes/columns of each row as variables.
When to use
There is no silver bullet and you have to pick a right tool aligned with your goals. Here is a list of scenarios when Scriptella may be a very helpful tool:
- Storing database SQL scripts. Scriptella allows to easily execue SQL scripts without dependencies on database vendor SQL tools. Moreover you can reference BLOB content, e.g. files, and use other JDBC features in your scripts.
- Working with several datasources. For example gathering statistics from the one database and store it inside the other one
- If you prefer to write
SELECT * FROM Account WHERE login=?name
instead of using a "Smart Query Designer GUI" - Test data generation. You don't have to store huge random generated test files - produce test data during script execution.
- Migrations. Scriptella supports multiple migrations styles including Ruby-on-Rails-like schema evolution and data migration.
Of course there are situations when you'd probably try to find a better tool:
- Database replication,i.e. one-to-one copy of the database content. There are plenty of tools doing this job easier.
System Requirements
Scriptella requires JDK or JRE version 5.0 or later to operate.
The memory requirements are dependant on your script content and referenced connection providers. For example if in-process database connections are used inside a script we recommend to use at least 512Mb of RAM.
Installation
- Download Scriptella binary distribution.
- Unpack it and add a <SCRIPTELLA_DIR>/bin to a system PATH variable.
Use set PATH=%PATH%;SCRIPTELLA_DIR\bin for Windows and export PATH=${PATH}:SCRIPTELLA_DIR/bin for Unix.
- Check if JRE has been installed correctly by running java -version. Alternatively JAVA_HOME may be used to specify JDK location.
- Optional step: Put JDBC drivers required by your scripts to <SCRIPTELLA_DIR>/lib directory or directly specify classpath attribute in script connection elements.
The binary distribution of Scriptella has the following directory layout:
+-+ +--- bin - launch scripts | +--- docs - documentation | +--- api - API Documentation (in Javadoc format) | | | +--- dtd - Scriptella DTD file and documentation in DTDDoc format. +--- lib - scriptella boot class path libraries loaded by launch scripts.
Among other libraries the Scriptella distribution contains the following jars:
- scriptella-core.jar - Scriptella core classes required to operate
- scriptella-drivers.jar - Built in drivers and adapters for different datasources
- scriptella-tools.jar - Misc tools, Ant and command line launchers
- scriptella.jar - All-In-One jar containing all dependencies except the driver specific. You have to load additional driver dependencies in a connection classpath attrubute or by putting the jars into lib folder.
For convenience the Java source files are stored inside scriptella-src-ide.zip file. This file can be used inside IDE to attach sources for scriptella.jar
Scripts Syntax
The following XML stanza briefly covers main Scriptella XML elements:
<!DOCTYPE etl SYSTEM "http://scriptella.org/dtd/etl.dtd"> <etl> <description></description> <properties> <include href="script.properties"/> driver=org.jdcDriver </properties> <connection id="con1" driver="$driver" url="${url}" user="$user" password="12345678"> driver.property=value </connection> <connection id="con2" url="jdbc:hsqldb:file:db" user="sa" password=""/> <script connection-id="out"> <include href="dbschema.sql"/> </script> <query connection-id="in"> SELECT * from Bug <script connection-id="out"> INSERT INTO Bug VALUES (?ID, ?priority, ?summary, ?status); </script> </query> </etl>
<etl> is a root element of all Scriptella files.
<properties>
In this element define properties to be substituted in other script elements. This concept is similar to Ant properties. In case of multiple declarations of the same property, the one that comes first takes precedence over subsequent declarations.
<include> element is used to insert external content. This concept is almost identical to XInclude
<connection>
Elements of this type define connections to different datasources to work with. A set of required attributes depends on driver. For example JDBC drivers require url, user and password attributes. Additionally you may specify catalog/schema attributes.
id attribute is required if you declare more than one connections inside your script. The value of this attribute is used to reference the connection in scripts and queries.
url attribute specifies connection URL. URL format is driver specific, e.g. jdbc: for JDBC drivers. Other drivers like CSV or text accept absolute URLs or file locations relative to an ETL file.
classpath optional attribute is used to specify additional classpath to load driver libraries. .Paths are colon/semicolon separated and resolved relative to a directory where ETL file resides. Absolute URLs are also supported, e.g. ftp://server/jconnect.jar;http://server2/classes12.zip Alternatively you can add drivers jars to scriptella boot classpath (SCRIPTELLA_DIR/lib directory or in Ant taskdef classpath). Boot classpath libraries take precedence over libraries specified in connection classpath attribute.
driver optional attribute specifies driver class name or an alias. The default value is "auto", in this case a target driver is guessed from an url attribute if possible. See Drivers matrix for the list of driver aliases included into Scriptella distribution.
lazy-init optional attribute specifies connection initialization strategy. true if connection initialization should be deferred until it is actually used. The default value of false means that connection is initialized on ETL startup. Lazy connection initialization may be useful in the following cases:
- A script or a query operating with this connection has conditional if attribute, in this case greedy initialization may be redundant
- Other connections create database users or produce files required for this connection to be initialized properly.
Use element's content to set connection properties. Several drivers also accept connection properties in a URL string, e.g. jdbc:url:db;param=value
Example
<!-- Declare a connection to Oracle database using sys user--> <connection driver="oracle" url="jdbc:oracle:thin:@localhost:1521:DB" user="sys as sysdba" password="password"> #Connection properties plsql=true </connection>
<script>
Elements of this type contain executable content. The script language is connection specific. This element supports the following optional attributes:
connection-id attribute specifies a connection identifier.
new-tx attribute specifies transaction semantics. If new-tx=true a dedicated connection is used instead of the global one.
if attribute is used for conditional execution. The element content is executed
only if the result of this attribute value evaluation is true. For example
<script if="rownum gt 1 and name!=null and name.length() gt 0">
is evaluated only if rownum variable has value greater than 1 and the name variable is not empty.
Example
<--A script executed in a separate connection(new-tx=true) if drop_tables property has been set to true. --> <connection id="in" ...> .... <script connection-id="in" new-tx="true" if="drop_tables"> DROP TABLE Table1; DROP TABLE Table2; </script>
<query>
Elements of this type contain query expressions. The query language is connection specific. This element supports the following optional attributes:
connection-id attribute specifies a connection identifier. By default connection ID is inherited for child elements, but may be overriden.
if attribute is used for conditional execution. The element content is executed
only if the result of this attribute value evaluation is true. For example
<query if="migrate_users">
is evaluated only if migrate_users variable has value of true, 1, on or yes.
Example
<!--Declare connections -->; <connection id="in" .../>; <connection id="out" .../>; .... <!--Query selects users and executes nested elements if migrate_users is on-->; <query connection-id="in" if="migrate_users"> SELECT * FROM Users; <!--For each row sends LDIF entry to a directory server--> <script connection-id="out"> dn: uid=$user_name,ou=people,dc=scriptella objectClass: inetOrgPerson uid: $user_name cn: $user_name </script> </query>
<onerror>
The onerror element defines a fallback script to execute if an error occurs. If an error occurs inside a fallback script, it may be handled by other matching onerror elements of the original script or query. The java.lang.Throwable object representing an error is available to <onerror> element by using a variable named "error". This element may contain plain text or includes. The element supports the following optional attributes:
type - regular expression pattern to match exception type. Partial matching is allowed.
codes - comma-separated list of vendor codes/sql states. Triggered if any of these codes matches one of the codes reported by driver.
message - regular expression pattern to match exception message. Partial matching is allowed.
retry - true if statement which caused a problem should be retried after this handler completes. If the error occurs again, the same onerror element is not triggered to avoid infinite loops.
connection-id - optional connection ID. If specified, the error will be handled by another connection. Setting this attribute may be useful to handle(or simply log) the error by a different driver like Java or Text.
Examples
<-- Example of how to use onerror to emulate CREATE TABLE ... IF NOT EXISTS: Drops a table if it already exists and then call CREATE again (retry=true). --> <script connection-id="in"> CREATE TABLE Table1; <onerror message=".*Table already exists*" retry="true"> DROP TABLE Table1; </onerror> </script> <-- Example of how to log all errors in the script using a custom Java class --> <script connection-id="in"> INSERT INTO TABLE TableName VALUES (1, 'Value1'); <onerror connection-id="java"> //"error" object represents error details (java.lang.Throwable) Throwable error = (Throwable)get("error"); com.app.ApplicationLogger.logEtlError(error); </onerror> </script>
Expressions and Variables Substitution
Binding variables syntax varies between drivers. JDBC drivers support variables substitution and expression evaluation based on the following syntax:
- $Property_Name - inserts a value of the specified property or variable. $ prefixed expressions are substituted in all parts except comments.
- ${expression} - inserts a value of the expression evaluation.
JEXL syntax is used for expressions.
$property and ${property} return the same value, but the first one is faster, because JEXL expression engine is not used to evaluate the expression. - ?Property_Name or ?{expression} are used only in SQL queries and scripts to set prepared statement parameters. ? prefixed expressions are not substituted inside quotes, comments and outside of query/script elements.
The properties syntax described above is allowed in the following places:
- Attributes of ETL <connection> element,
- if attribute of <query>/<script> elements,
- SQL scripts/queries processed by the JDBC-based providers
Scriptella extends JEXL by adding several built in functions available inside JEXL expressions. EtlVariable class provides an entry point for these extensions:
- date: - Functions for parsing and formatting dates.
Example: ${date:today('yyyyMMdd')} - formats the current date using the specified pattern. See JavaDoc for more details. - text: - Functions for working with text.
Example: ${text:ifNull(a)} - returns empty string if a=null. See JavaDoc for more details. As of version 1.1 JEXL ternary operators may be used instead, e.g. ${a==null?'':a} - class: - Utility functions for class related operations. For now only class lookup is available.
Example : ${class:forName('java.lang.System').getProperty('propName')} - Loads java System class and invokes getProperty method on it. See JavaDoc for more details.
Other providers may not support properties/expressions substitution or use alternative syntax, e.g. in Janino use get(name) to get variable's value. For details on variables/expressions syntax consult the driver's specific Javadoc. The basic support for properties substitution is provided by PropertiesSubstitutor core class which is based on a ${} syntax and used by drivers unless other rules are described.
Implicit Variables
Scriptella supports the following implicit variables in scripts and queries:
| Variable | Description | Scope |
|---|---|---|
| rownum | Represents row number of query row set. Starts with 1. | Nested elements of Query |
| etl | Represents the current execution context and provides access to utility methods, accessors for connection object and global variables. See EtlVariable for additional details. | All script and query elements |
Additionally SQL queries produce a set of implicit variables corresponding to selected column names. These variables are available in nested elements. Columns may also be referenced using a result set column number, e.g. ?1, ?2 ,...
Typically non-SQL queries also produce virtual row sets and expose variables available in nested elements. Consult driver specific Javadoc for more details.
Adding references to files from SQL scripts
The JDBC bridge supports referencing file content via ?{file <Expression>} and ?{textfile <Expression>} syntax. Where Expression is any valid JEXL expression, e.g. 'file.dat' or protocol+path
The file prefix is used to reference binary files inserted as BLOB and textfile references text files inserted as CLOBs. File references are set as prepared statement parameters of stream type, so LOBs of virtually any size supported by the database driver can be referenced. Please note that uploading large text files may create a temporary file on disk.
Declarative formatting and parsing rules for variables
Scriptella supports declarative formatting/parsing rules for variables. This feature is available for the following drivers: Text, CSV and Velocity. Rules can be specified as properties of a connection element. Depending on the context, the same rule can be used for converting objects to a string form and parse text values as date, time or numbers. Example:
<connection id="csv_in" driver="csv" url="eurusd_in.csv"> format.RateBid.type=number format.RateBid.pattern=#.# </connection>
The declaration above instructs CSV driver to treat values of "RateBid" variable as a decimal number using "#.#:" format pattern. When the values are read from a CSV/text files, the rule will be used for parsing.
<query connection-id="csv_in"> <script connection-id="db"> INSERT INTO Rates(TIME, CurrencyPair, Bid, Ask) VALUES (?RateDateTime, ?CurrencyPair, ?RateBid, ?RateAsk); </script> </query>
And vice versa, when producing the output file, the rules are used to format values of the outputted variables:
<connection id="csv_in" driver="csv" url="eurusd_in.csv"> format.Bid.type=number format.Bid.pattern=##.0000 </connection> <script connection-id="csv"> $CurrencyPair, $TIME, $Bid, $Ask </script>
A complete example is provided in a blog post about Flexible formatting and parsing rules in CSV and text files. Detailed information about available formatting/parsing options is available on Text Driver overview page.
Examples
Execute a SQL query over a table specified by a TABLE property and inserts the first row into TABLE2
<connection driver="hsqldb"/> <!--JDBC Bridge Driver--> <query> SELECT V1, V2, V3 from $TABLE; <script if="rownum==1"> INSERT INTO $TABLE2 VALUES (?V1, ?{V2+V3}); </script> </query>
Command Line Execution
If you followed the Installation instructions running Scriptella is simple - just type scriptella to execute a etl.xml in the current directory.
The Scriptella launching script loads all jars from SCRIPTELLA_DIR/lib directory and adds them to executed script(s) class path.
Alternatively a standard java launcher may be used to run a script: java -jar scriptella.jar [options] [file1] [file2] ... [fileN]. It is assumed that the scriptella.jar file from the binary distribution is available in the current directory.
Command Line Options
The scriptella launcher has the following invocation syntax:
scriptella [options] [file1] [file2] ... [fileN]
File names/paths are specified after options and separated by spaces.
| -help, -h | display help |
| -debug, -d | print debugging information |
| -nostat | Suppress statistics collecting. Improves performance |
| -nojmx | Suppress JMX MBean registration |
| -quiet, -q | be extra quiet |
| -version, -v | print version |
| -template, -t | creates an etl.xml template file in the current directory. See the list of supported templates. |
Ant Integration
System requirements
Ant 1.6 or later is recommended.
Installation
Use scriptella.jar from the binary distribution. This file contains all necessary classes and resources for integration with Ant.
In order to use scriptella as Ant task you will need the following taskdef declaration:
<taskdef resource="antscriptella.properties" classpath="/path/to/scriptella.jar"/>
You may also add paths to database drivers used inside the script:
<taskdef resource="antscriptella.properties" <classpath> <pathelement location="/path/to/scriptella.jar"> <pathelement location="lib/hsqldb.jar"> <pathelement location="lib/jconn2.jar"> </classpath> </taskdef>
These drivers will be available on the boot classpath. In this case you don't have to specify classpath in <connection> elements.
"etl" Task
Parameters
| Attribute | Description | Required |
|---|---|---|
| file | The script file to execute. | Yes, unless a nested <fileset> element is used. |
| inheritAll | If true, pass Ant project properties to the Script Executor. | No, default value is true. |
| debug | If true, print debugging information. | No, default value is false. |
| nostat | If true turns off statistics collecting. | No, default value is false. |
| nojmx | If true, JMX MBean registration is suppressed. | No, default value is false. |
| quiet | If true, be extra quiet. | No, default value is false. |
Nested Elements
The task supports nested <fileset> element.
Examples
Executes etl.xml file in the current directory:
<etl/>
Executes name.etl.xml file in the current directory:
<etl file="name" />; <!--Or explicitly specifying the full name--> <etl file="name.etl.xml" >
Executes all .etl.xml files in db directory:
<etl> <fileset dir="db" includes="*.etl.xml"/>; </etl>
<etl-template> Task
Parameters
| Attribute | Description | Required |
|---|---|---|
| name | ETL template name. | No, default ETL template is generated. |
| inheritAll | If true, pass all properties to Scriptella. Defaults to true. | No |
| debug | If true print debugging information. | No, default value is false. |
| quiet | If true be extra quiet. | No, default value is false. |
Nested Elements
The task has no nested elements.
Supported Templates
- Default(no name) - Produces a simple ETL template for a quick start.
- DataMigrator - Produces an ETL template for transferring data between tables of different databases.
Examples
Produces default ETL template named etl.xml in the current directory:
<etl-template/>
Produces data migration template named etl.xml in the current directory:
<property file="etl.properties"/> <!-- Ant properties driver,class,user,password must be set before calling "DataMigrator" etl-template --> <etl-template name="DataMigrator"/>
Maven Integration
The following POM dependency snippets can be used:
<properties> <scriptella.version>1.1</scriptella.version> </properties> <dependencies> <dependency> <groupId>org.scriptella</groupId> <artifactId>scriptella-core</artifactId> <version>${scriptella.version}</version> </dependency> <dependency> <groupId>org.scriptella</groupId> <artifactId>scriptella-drivers</artifactId> <version>${scriptella.version}</version> </dependency> <dependency> <groupId>org.scriptella</groupId> <artifactId>scriptella-tools</artifactId> <version>${scriptella.version}</version> </dependency> </dependencies>
In order to use SNAPSHOT dependencies, the following repositories have to be added to pom.xml:
<distributionManagement> <repository> <id>scriptella-releases</id> <name>Scriptella Central Repository</name> <url>http://oss.sonatype.org/service/local/staging/deploy/maven2</url> </repository> <snapshotRepository> <id>scriptella-snapshots</id> <name>Scriptella Central Development Repository</name> <url>http://oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement>
In-Process Java Integration
Although Ant and command line execution are the most typical usage scenarios, it may be helpful to invoke Scriptella directly from Java code. Typical use cases for in-process integration:
- Preparing data-sources for testing. Example: create the database before a test case, and cleanup on test completion.
- Creating/upgrading database schema on application startup. Example: creating a database on web application initialization, very helpful in user friendly, zero-deployment or demo applications.
- Custom migration solutions. Example: Client uploads a CSV file to a J2EE server and then Scriptella managed ETL script imports CSV data into several database tables.
The invocation from java code is simple:
- Make sure scriptella.jar is available on classpath.
- Use EtlExecutor.newExecutor to execute an ETL file. See EtlExecutor Javadoc for more details.
JMX Monitoring and Management
Scriptella supports JMX by registering a dedicated MBean for each ETL operation. ETL mbeans use the following naming convention:
scriptella:type=etl,url=<ETL_XML_FILE_URL>[,n=<COLLISION_ID>]
ETL MBeans are registered automatically when Scriptella is launched from the command line or Ant. If EtlExecutor is invoked directly from Java code, set jmxEnabled property to true by calling etlExecutor.setJmxEnabled(true) before executing the ETL.
By default the mbeans are registered in a platform default MBean server and the Java Monitoring and Management Console (jconsole.exe) can be used for remote control over ETL tasks.
For Java SE 5 -Dcom.sun.management.jmxremote system property enables the JMX agent for local access.
See also Monitoring and Management Using JMX for more details.
Attributes
The following read-only attributes are available for monitoring:
- ExecutedStatementsCount - number of executed statements by all connections of the ETL task.
- StartDate - date/time when ETL was started.
- Throughput - the throughput (number of statements per second) of the managed ETL task.
Operations
Currently only cancellation is supported via JMX. The cancel operation terminates ETL and tries to roll back any changes made during the ETL execution.
JDBC Adapters
Scriptella is bundled with a set of adapters for popular JDBC drivers. It is allowed to use any JDBC vendor driver, but Scriptella adapters provide the following benefits:
- Simplified naming. No need to specify a full driver's class name, alias may be used, e.g. driver="hslqdb", "oracle" etc.
- Scriptella adapters are preconfigured for optimal performance, syntax parsing rules and other execution options, e.g. BLOB handling for Oracle. In most cases you can specify a generic JDBC property, but using adapters simplifies switching between drivers and even a target platform e.g. Java/.Net
- Different JDBC drivers can be used to access popular databases such as Microsoft SQL Server or Sybase ASE/ASA. Each driver has an individual class name. Example list of driver names for Sybase ASA/ASE: com.sybase.jdbc3.jdbc.SybDriver, com.sybase.jdbc2.jdbc.SybDriver, com.sybase.jdbc.jdbc.SybDriver, net.sourceforge.jtds.jdbc.Driver. With Scriptella you simply specify "jdbc" as a name of the driver and an available driver is loaded from classpath.
See JDBC Bridge Drivers Matrix for the complete list of supported adapters.
Autodiscovery of JDBC drivers
Scriptella provides auto-discovery feature based on the connection URL. If driver name is not specified the driver will be recognized based on the specified URL. Internally a driver named "auto" is used to select a target driver implementation. Example:
<connection url="jdbc:sybase:Tds:host:2048/database"/>
The "auto" driver will load the "sybase" driver, because the URL belongs to Sybase.
Performance and batching
JDBC batching is a very important feature which allows sending multiple commands to the database in one call. Scriptella batching is controlled by statement.batchSize parameter. The value of this parameter specifies number of statements to be combined in a batch before sending it to the database.
Another important parameter is statement.fetchSize. It gives JDBC driver a hint about the number of rows that should be fetched from the database when more rows are needed for the result set. Example:
<connection url="jdbc:oracle:thin:@localhost:1521:orcl" ...> #For performance reasons increase fetchSize statement.fetchSize = 1000 </connection>
Combining statement.fetchSize for queries and statement.batchSize for bulk load may significantly improve performance, especially when databases are located on diferrent machines. For additional details and examples, see Batching section of JDBC package overview and Batching tag on our blog.
Non-relational Datasources Interoperability
See Non-JDBC Drivers Matrix for the complete list of drivers.
Additionally various JDBC bridge drivers can be used to work with specific datasources like LDAP directories, CSV files, XML files or object databases.
Accessing directories based on LDAP
The feature of Scriptella is a possibility to write transformations in a language suitable for the datasource you operate, so we've added a built-in support for LDIF scripts and RFC 2254 search filter queries.
Alternatively you can use the freely available JDBC-LDAP Bridge Driver (JDBC-LDAP) to access information held in directories. This driver uses SQL-like syntax for scripts and queries. See Getting Started Documentation. A similar driver is offered by Novell. See LDAP JDBC Driver for more details.
Working with CSV and text data
The built-in CSV driver allows to easily query and generate CSV files.
The built-in Text driver provides a generic way to handle text data.
HSQLDB text tables feature can be used to work with CSV files.
Working with XML data
The built-in XPath driver allows querying XML files with XPath expressions.
Text driver can be used to output XML files.
Using Java Code
Although Scriptella was designed for JDBC/SQL datasources under some circumstances it is useful to embed or invoke Java from Scriptella file. The Janino Provider is bundled with Scriptella distribution and provides a Java bridge. This driver also exposes a set of properties and methods for <script> and <query> elements.
Scriptella has no equivalent of Ant Task API, although we provide two alternatives to integrate Java solutions:
- Writing a Service Provider Implementation (Scriptella Driver). This is the most powerful API, but it is harder to implement.
- Calling compiled code from Janino scripting elements. Just specify your jar as an additional class-path entry for Janino connection and you can work with any class from this jar. This approach is easy-to-use and do not add dependencies on Scriptella API to your classes/tasks.
Other Java compilers or interpreters can also be plugged in via custom Scriptella Drivers.
Interaction with Scripting Languages
Java SE 6 includes JSR 223: Scripting for the Java™ Platform API. This is a framework by which Java Applications can "host" script engines. Sun's implementation of Java SE 6 includes an example script engine based on Mozilla Rhino:JavaScript for Java.
Scriptella supports JSR 223 compatible scripting languages via javax.script Bridge driver.
Producing Reports with Velocity
Velocity is a Java-based template engine which can be used to generate reports. Most other ETL tools provides custom reporting services, but Scriptella relies on proven open source solutions instead of reinventing the wheel. The built-in Velocity Driver allows using velocity templates in <script> elements.Typically velocity report is generated in several steps:
- Printing a header
- Query data from datasource(s) and produce a report body.
- Printing a footer.
Primes example demonstrates how to produce a simple report using Velocity.
URL schemes supported by Scriptella
Scriptella allows specifying URLs to externally located resources. The following protocols are supported:
- http, ftp, file, jar and other protocols supported by JRE
Examples:
<connection driver="xpath" url="http://snippets.dzone.com/rss/tag/scriptella"/> <connection driver="csv" url="http://finance.google.com/finance/historical?q=JAVA&output=csv"/> <connection driver="text" url="ftp://ftphostname/report.txt"/>
Examples
Download Scriptella examples from Downloads page. The examples are ready to run, although you may have to download additional third party jars, which cannot be redistributed, e.g. jdbcldap.jar etc. These dependencies are specified in lib/readme.txt file.
| Ant | This example demonstrates integration with ant. |
| CSV | Example of working with CSV data using HSQLDB CSV tables feature, Scriptella built-in CSV or Text driver. |
| DB Upgrade | This example shows how Scriptella can be used as a schema evolution tool. |
| LDAP | Example of migration script to exchange data between a database and LDAP directory. This example shows 2 ways to access LDAP directories from Scriptella: built-in LDAP driver and JDBC-LDAP Driver from OctetString. |
| This example shows how to produce and send E-Mails from Scriptella. | |
| Music Store | This script create a sample database of music track. This sample shows how to reference BLOB content in external files and use JDBC escaping syntax to pass dates independently from the DB locale/date/time settings. |
| ODBC | Produces a HTML view of the MS Access Northwind Categories table. This example demonstrates working with ODBC datasources (Northwind.mdb) and producing a report with images. |
| Primes | Fills the database with prime numbers and produces HTML/CSV reports. This example demonstrates a combined usage of Velocity, JEXL, CSV Driver and SQL. |
| XML | This example shows how to work with XML data using XPath expressions. |
Best Practices
This chapter describes Scriptella usage best practices. The following list provides general recommendations for Scriptella ETL scripts:
- Do not hardcode connection properties and other configuration settings e.g. driver names, urls, mode flags etc. Use a property file like etl.properties to store ETL configuration parameters
- Use built-in Scriptella adapters for JDBC drivers if possible.
- Use <dialect> for database specific SQL parts. Use properties to configure data types similar
to domains, example:
CREATE TABLE User ( ID $INTEGER, LOGIN $SMALL_STRING ); --Values for $INTEGER AND $SMALL_STRING are --stored in a mapping property file e.g. type-mapping.properties --and easily reconfigurable for another DB vendor
- Use standard JDBC escaping to specify time and date literals, function calls and other parameters
independently from DB vendor. Examples:
Calls without a return value: { call procedure_name (argument1, argument2,...) }
Calls with a return value: { ? = call procedure_name (argument1, argument2,...) }
Timestamp Literals: {ts 'yyyy-mm-dd hh:mm:ss.f...'}
- Use .etl.xml naming convention for ETL scripts. In this case it would be easy to recognize scriptella files, moreover you wont have to specify etl.xml extension to run ETL files. Example: typing scriptella init executes init.etl.xml automatically if no file init was found.
- For large bulk-insert files use <include> element to avoid loading a whole file into memory. Also consider using statement.batchSize parameter to enable batching.
Using Scriptella as a Database Schema Evolution Tool
dbupgrade example shows how to build a simple database upgrade(downgrade) script. The following steps are required to create a simple database upgrade framework:
- If no DB present create an new database and fill it with up-to-date inital script
- If old DB is present apply a set of incremental updates to migrate from version X to Y.
Scriptella provides enough features to create a simple database upgrade framework, but the primary one is the ability to work with several datasources. This means you can change database vendors between builds and synchronize several datasources, e.g. LDAP-Database.
Scriptella is lightweight and can be easily added to a set of application libraries during deployment. In this case you can integrate your schema upgrade solution with application startup procedure typically written as a set of webapp context listeners or initializer servlets.
by Fyodor Kupolov
1.1


Friend Finder
i changed my mind, take me back
Answer each prompt with:
1: strongly disagree
2: disagree
3: neutral
4: agree
5: strongly agree
Name:
Photo Link:
Use http://www.barrierbreakers.co.uk/wp-content/uploads/2013/04/Smiley-face-200x200.jpg if you can't think of one
Submit
×
We Found a Match!


What are Non-Equilibrium Systems?
How do we understand whether epidemics will spread, or predict the likelihood of extreme meteorological events? How do we optimize the design of nanoparticles to maximize efficiency in drug and gene delivery? How do we control heating in fast electronic devices, or understand how next generation solar cells might work? Can we detect whether a network of financial institutions is close to a crash? Can we predict the fate of cellular states in health and disease? These research challenges all relate to non-equilibrium systems.
Such systems are typically irreversible, e.g. because they dissipate energy persistently pumped in from the outside, or they age towards an equilibrium state that is never reached. They also frequently exhibit extreme events, such as cascades of collective failure or the thermally activated rare event of a drug molecule being released from a vesicle.
Crossing discipline boundaries
As the examples above show, the challenge of understanding non-equilibrium systems is central to a wide variety of problems across the spectrum of physical, mathematical, biological and environmental sciences. Significant advances will have to come from researchers capable of exploiting and enhancing these interdisciplinary links.
CONES and CANES
The mission of the EPSRC-funded Centre for Doctoral Training in Cross-Disciplinary Approaches to Non-Equilibrium Systems (CANES) is to train future research leaders in the understanding, control and design of systems far from equilibrium, based on rigorous training in theoretical modelling, simulation and data-driven analysis, and a breadth of awareness of common themes across disciplines.
CANES also functions as a UK Centre of Excellence for the research and research user community, and a national and international hub in the area of non-equilibrium systems. As part of this agenda it organises the biennial CONES meetings. CANES is embedded in the Centre for Non-Equilibrium Science (CNES) at King’s.


Register New Students and Assign to Courses
New Student
Add Student
Student Name
Add Course
Add More Courses
Home Page


Construction of the Total Operating Characteristic (TOC) Curve and the Receiver (aka Relative) Operating Characteristic (ROC) Curve for spatial and non-spatial data. The TOC method is a modification of the ROC method which measures the ability of an index variable to diagnose either presence or absence of a characteristic. The diagnosis depends on whether the value of an index variable is above a threshold. Each threshold generates a two-by-two contingency table, which contains four entries: hits (H), misses (M), false alarms (FA), and correct rejections (CR). While ROC shows for each threshold only two ratios, H/(H + M) and FA/(FA + CR), TOC reveals the size of every entry in the contingency table for each threshold (Pontius Jr., R.G., Si, K. 2014. The total operating characteristic to measure diagnostic ability for multiple thresholds. Int. J. Geogr. Inf. Sci. 28 (3), 570-583).
| Version: | 0.0-4 |
| Depends: | R (≥ 2.14.0), raster, bit, rgdal, methods |
| Imports: | graphics, grDevices, utils |
| Published: | 2015-12-29 |
| Author: | Robert G. Pontius, Alí Santacruz, Amin Tayyebi, Benoit Parmentier, Kangping Si |
| Maintainer: | Alí Santacruz <amsantac at unal.edu.co> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| URL: | http://amsantac.co/software.html |
| NeedsCompilation: | no |
| CRAN checks: | TOC results |
| Reference manual: | TOC.pdf |
| Package source: | TOC_0.0-4.tar.gz |
| Windows binaries: | r-devel: TOC_0.0-4.zip, r-release: TOC_0.0-4.zip, r-oldrel: TOC_0.0-4.zip |
| OS X binaries: | r-release: TOC_0.0-4.tgz, r-oldrel: TOC_0.0-4.tgz |
| Old sources: | TOC archive |
Please use the canonical form https://CRAN.R-project.org/package=TOC to link to this page.


How we help you to share money with your friends
Wally can help you manage your savings so you always know how much money you have and how many you still receive from your friends
It is the best app to keep track of payments between roommates , a holiday with friends and much more
It's easy, fast and above, all free


Wellcome Word Book!! 🗒
This is a Japanese / English word book app.
You can customize your word book to suit your needs.
APP Page
Explain API
Explain URL
Go To GitHub


Train models without tuning for performance
flash_models(d, outcome, model_class, models = c("rf", "knn"), n_folds = 5, hyperparameters, metric)
| d | A data frame |
|---|---|
| outcome | Name of the column to predict |
| model_class | "regression" or "classification". If not provided, this will be determined by the class of `outcome` with the determination displayed in a message. |
| models | Names of models to try, by default "rf" for random forest and
"knn" for k-nearest neighbors. See |
| n_folds | How many folds to train the model on. Default = 5, minimum =
2. Whie flash_models doesn't use cross validation to tune hyperparameters,
it trains |
| hyperparameters | Optional list of hyperparameters to use. If missing,
default values will be used. If provided, must be a named list of named
lists where the outer list contains models and the inner lists contain
hyperparameter values. See
|
| metric | What metric to use to assess model performance? Options for regression: "RMSE" (root-mean-squared error, default), "MAE" (mean-absolute error), or "Rsquared." For classification: "ROC" (area under the receiver operating characteristic curve), or "PR" (area under the precision-recall curve). |
A model_list object
This function has two major differences from
tune_models
:
It is much faster.
tune_models
, prep_data
,
predict.model_list
, supported_models
#># Simplest use. Get models quickly at default hyperparameter values flash_models(prepped_data, diabetes)#>#>#> Algorithms Trained: Random Forest, k-Nearest Neighbors #> Target: diabetes #> Class: Classification #> Performance Metric: ROC #> Number of Observations: 768 #> Number of Features: 12 #> Models Trained: 2018-03-29 23:44:14 #> #> Models have not been tuned. Performance estimated via 5-fold cross validation at fixed hyperparameter values. #> Best model: Random Forest #> ROC = 0.84 #> User-selected hyperparameter values: #> mtry = 5 #> splitrule = extratrees #> min.node.size = 10# Set non-default hyperparameter values by passing a list of lists to \code{hyperparameters} models <- flash_models(d = prepped_data, outcome = diabetes, hyperparameters = list( rf = list( mtry = 3, splitrule = "gini", min.node.size = 1 ), knn = list( kmax = 3, distance = 2, kernel = "gaussian" ) ) )#>#>summary(models)#> Models trained: 2018-03-29 23:44:17 #> #> Models have not been tuned. Performance estimated via 5-fold cross validation at fixed hyperparameter values. #> Best algorithm: Random Forest with ROC = 0.84 #> #> Out-of-fold performance of all trained models: #> #> $`Random Forest` #> mtry splitrule min.node.size ROC Sens Spec ROCSD SensSD #> 1 3 gini 1 0.8358218 0.868 0.5895178 0.03131845 0.04658326 #> SpecSD #> 1 0.06015438 #> #> $`k-Nearest Neighbors` #> kmax distance kernel ROC Sens Spec ROCSD SensSD #> 1 3 2 gaussian 0.7835238 0.828 0.5934312 0.01653328 0.02863564 #> SpecSD #> 1 0.05642804 #># Speed comparison of no tuning with flash_models vs. tuning with tune_models:# NOT RUN { # ~40 seconds: system.time( tune_models(prepped_data, diabetes) ) # ~6 seconds: system.time( flash_models(prepped_data, diabetes) ) # }


Currently Full stack Developer at myERP.com
I code for food and for fun.
I'm French and I live in San Francisco but I prefer to consider myself as a world citizen.


Psalm 37
A psalm of David.
1 Do not be irritated because of evildoers;
do not be envious of those who act unrighteously.
2 For they will soon dry up as the grass
and wither as the green plants.
3 Trust in Yahweh and do what is right;
settle in the land and make faithfulness your business.
4 Then delight yourself in Yahweh,
and he will give you the desires of your heart.
5 Give your ways to Yahweh;
trust in him, and he will act on your behalf.
6 He will display your justice like the daylight
and your innocence like the day at noon.
7 Be still before Yahweh and wait patiently for him.
Do not be worry if someone makes his evil ways succeed,
if a man makes evil plots.
8 Do not be angry and frustrated.
Do not worry; this only makes trouble.
9 Evildoers will be cut off,
but those who wait for Yahweh will inherit the land.
10 In a little while the evil man will disappear;
you will look at his place, but he will be gone.
11 But the meek will inherit the land
and will delight in great prosperity.
12 The wicked man plots against the righteous
and gnashes his teeth against him.
13 The Lord laughs at him,
for he sees that his day is coming.
14 The wicked have drawn out their swords and have bent their bows
to cast down the oppressed and needy,
to kill those who are upright.
15 Their swords will pierce their own hearts,
and their bows will be broken.
16 Better is the little that the righteous has
than the abundance of many wicked people.
17 For the arms of the wicked people will be broken,
but Yahweh supports the righteous people.
18 Yahweh watches over the blameless day by day,
and their heritage will be forever.
19 They will not be ashamed when times are bad.
When famine comes, they will have enough to eat.
20 But evil men will perish.
Yahweh's enemies will be like the glory of the pastures;
they will be consumed and disappear in the smoke.
21 The wicked person borrows but does not repay,
but the righteous person is generous and gives.
22 Those who are blessed by God will inherit the land;
those who are cursed by him will be cut off.
23 It is by Yahweh that a man's steps are established,
the man whose way is commendable in God's sight.
24 Though he stumbles, he will not fall down,
for Yahweh is holding him with his hand.
25 I was young and now am old;
I have never seen the righteous person abandoned
or his children begging for bread.
26 All the day long he is gracious and lends,
and his children become a blessing.
27 Turn away from evil and do what is right;
then you will be safe forever.
28 For Yahweh loves justice
and does not abandon his faithful followers.
They are preserved forever,
but the descendants of the wicked will be cut off.
29 The righteous will inherit the land
and live there forever.
30 The mouth of the righteous person speaks wisdom
and increases justice.
31 The law of his God is in his heart;
his feet will not slip.
32 The wicked person watches the righteous person
and seeks to kill him.
33 Yahweh will not abandon him into the evil person's hand
or condemn him when he is judged.
34 Wait for Yahweh and keep his way,
and he will raise you up to possess the land.
You will see when the wicked are cut off.
35 I have seen the wicked and terrifying person
spread out like a green tree in its native soil.
36 But when I passed by again, he was not there.
I looked for him, but he could not be found.
37 Observe the man of integrity, and mark the upright;
there is a good future for a man of peace.
38 Sinners will be totally destroyed;
the future for the wicked man is cut off.
39 Salvation of the righteous comes from Yahweh;
he protects them in the times of trouble.
40 Yahweh helps them and rescues them.
He rescues them from evil men and saves them
because they have taken refuge in him.


|
Smartlock
|
Functions | |
| void | SPI_AML_MasterInit (aml_instance_t instance, const spi_sdk_master_config_t *spiSdkMasterConfig, uint32_t sourceClockHz) |
| Initializes the SPI as master. More... | |
| void | SPI_AML_SlaveInit (aml_instance_t instance, const spi_sdk_slave_config_t *spiSdkSlaveConfig) |
| Initializes the SPI as slave. More... | |
| void | SPI_AML_MasterDeinit (aml_instance_t instance) |
| Deinitializes the SPI master. More... | |
| void | SPI_AML_SlaveDeinit (aml_instance_t instance) |
| Deinitializes the SPI slave. More... | |
| void | SPI_AML_MasterGetDefaultConfig (spi_sdk_master_config_t *spiSdkMasterConfig) |
| Gets and stores default SPI master configuration. More... | |
| void | SPI_AML_SlaveGetDefaultConfig (spi_sdk_slave_config_t *spiSdkSlaveConfig) |
| Gets and stores default SPI slave configuration. More... | |
| void | SPI_AML_MasterFillSdkConfig (const spi_aml_master_config_t *spiAmlMasterConfig, spi_sdk_master_config_t *spiSdkMasterConfig) |
| Fills SDK SPI master configuration with AML data. More... | |
| void | SPI_AML_SlaveFillSdkConfig (const spi_aml_slave_config_t *spiAmlSlaveConfig, spi_sdk_slave_config_t *spiSdkSlaveConfig) |
| Fills SDK SPI slave configuration with AML data. More... | |
| void | SPI_AML_MasterSelectDevice (aml_instance_t portInstance, uint8_t pinIndex, spi_aml_pcs_polarity_t pcsPolarity) |
| Selects the device with software controlled chip-select pin (PCS). More... | |
| void | SPI_AML_MasterUnselectDevice (aml_instance_t portInstance, uint8_t pinIndex, spi_aml_pcs_polarity_t pcsPolarity) |
| Unselects the device with software controlled chip-select pin (PCS). More... | |
| status_t | SPI_AML_MasterTransfer (aml_instance_t instance, spi_aml_transfer_t *masterTransfer) |
| Performs blocking master transfer of data. The method returns when all data are sent and received. More... | |
| status_t | SPI_AML_SlaveTransfer (aml_instance_t instance, spi_aml_transfer_t *slaveTransfer, spi_slave_handle_t *slaveHandle, spi_slave_callback_t slaveCallback) |
| Performs slave transfer of data. More... | |
| status_t | TMR_AML_Init (aml_instance_t instance, const tmr_sdk_config_t *sdkConfig) |
| Configures the peripheral for basic operation. More... | |
| void | TMR_AML_Deinit (aml_instance_t instance) |
| Disables the timer clock. More... | |
| status_t | TMR_AML_FillSdkConfig (const tmr_aml_config_t *amlConfig, tmr_sdk_config_t *sdkConfig, tmr_sdk_pwm_ch_config_t **chnlPwmParam, tmr_sdk_outcmp_ch_t **chnlCmpParam, tmr_sdk_incpt_ch_t **chnlIncptParam) |
| Fills SDK specific configuration structure according to independent AML configuration. This function configures S32 SDK or KSDK configuration structure according SDK_VERSION form independent tmrAmlConfig. More... | |
| void | TMR_AML_GetDefaultConfig (tmr_config_t *config) |
| This function fills the TPM configuration structure with the default settings. More... | |
| void | TMR_AML_EnableInterrupts (aml_instance_t instance, uint16_t mask) |
| Enables the selected timer interrupts. More... | |
| void | TMR_AML_DisableInterrupts (aml_instance_t instance, uint16_t mask) |
| Disables the selected timer interrupts. More... | |
| uint16_t | TMR_AML_GetEnabledInterrupts (aml_instance_t instance) |
| Gets the enabled timer interrupts. More... | |
| uint16_t | TMR_AML_GetStatusFlags (aml_instance_t instance) |
| Gets the timer status flags. More... | |
| void | TMR_AML_ClearStatusFlags (aml_instance_t instance, uint16_t mask) |
| Clears the TPM status flags. More... | |
| void | TMR_AML_StartTimer (aml_instance_t instance) |
| Starts the counter. More... | |
| void | TMR_AML_StopTimer (aml_instance_t instance) |
| Stops the counter. More... | |
| uint32_t | TMR_AML_ReadTimer (aml_instance_t instance) |
| Returns the content of counter register. More... | |
| void | TMR_AML_ResetTimer (aml_instance_t instance) |
| Resets counter (counter is set to zero). More... | |
| void | TMR_AML_SetPeriodTicks (aml_instance_t instance, uint32_t ticks) |
| Sets timer period (in timer ticks). More... | |
| uint32_t | TMR_AML_GetPeriodTicks (aml_instance_t instance) |
| Returns timer period (in timer ticks). More... | |
| void | TMR_AML_SetOffsetTicks (aml_instance_t instance, uint8_t channel, uint32_t ticks) |
| Sets timer channel offset (in timer ticks). More... | |
| uint32_t | TMR_AML_GetOffsetTicks (aml_instance_t instance, uint8_t channel) |
| Sets timer channel offset (in timer ticks). More... | |
| uint32_t | TMR_AML_GetInstance (const void *tmrBase) |
| Gets instance for timer module base pointer. More... | |
| uint32_t | WAIT_AML_GetSystemClockFreq (void) |
| Returns system clock frequency. | |
| void | WAIT_AML_WaitCycles (uint32_t cycles) |
| Waits for specified amount of cycles which is given by 32bit value range. Assumption for this function is that target architecture is using 32bit general purpose registers. More... | |
| void | WAIT_AML_WaitSec (uint16_t delay) |
| Waits for specified amount of seconds. More... | |
| void | WAIT_AML_WaitMs (uint16_t delay) |
| Waits for specified amount of milliseconds. More... | |
| void | WAIT_AML_WaitUs (uint16_t delay) |
| Waits for specified amount of microseconds. More... | |
| void SPI_AML_MasterDeinit | ( | aml_instance_t | instance | ) |
Deinitializes the SPI master.
| instance | - Peripheral instance number. |
| void SPI_AML_MasterFillSdkConfig | ( | const spi_aml_master_config_t * | spiAmlMasterConfig, |
| spi_sdk_master_config_t * | spiSdkMasterConfig | ||
| ) |
Fills SDK SPI master configuration with AML data.
| spiAmlMasterConfig | - Pointer to AML data. |
| spiSdkMasterConfig | - Pointer where the resulting SDK SPI master configuration is stored. |
| void SPI_AML_MasterGetDefaultConfig | ( | spi_sdk_master_config_t * | spiSdkMasterConfig | ) |
Gets and stores default SPI master configuration.
| spiSdkMasterConfig | - Pointer where the default SPI master configuration is stored. |
| void SPI_AML_MasterInit | ( | aml_instance_t | instance, |
| const spi_sdk_master_config_t * | spiSdkMasterConfig, | ||
| uint32_t | sourceClockHz | ||
| ) |
Initializes the SPI as master.
| instance | - Peripheral instance number. |
| spiSdkMasterConfig | - Pointer to SDK specific SPI master configuration. |
| sourceClockHz | - SPI source clock in Hz (not used in S32 SDK). |
| void SPI_AML_MasterSelectDevice | ( | aml_instance_t | portInstance, |
| uint8_t | pinIndex, | ||
| spi_aml_pcs_polarity_t | pcsPolarity | ||
| ) |
Selects the device with software controlled chip-select pin (PCS).
Not applicable for hardware controlled chip-select.
| portInstance | - Instance number of GPIO port, e.g. PTA1 - portInstance = instanceA. |
| pinIndex | - Index of GPIO pin used as chip-select (PCS), e.g. PTA1 - pinIndex = 1. |
| pcsPolarity | - Active level of chip select pin (PCS). |
| status_t SPI_AML_MasterTransfer | ( | aml_instance_t | instance, |
| spi_aml_transfer_t * | masterTransfer | ||
| ) |
Performs blocking master transfer of data. The method returns when all data are sent and received.
| instance | - Peripheral instance number. |
| masterTransfer | - Pointer to transfer structure containing data and configuration. |
| void SPI_AML_MasterUnselectDevice | ( | aml_instance_t | portInstance, |
| uint8_t | pinIndex, | ||
| spi_aml_pcs_polarity_t | pcsPolarity | ||
| ) |
Unselects the device with software controlled chip-select pin (PCS).
Not applicable for hardware controlled chip-select.
| portInstance | - Instance number of GPIO port, e.g. PTA1 - portInstance = instanceA. |
| pinIndex | - Index of GPIO pin used as chip-select (PCS), e.g. PTA1 - pinIndex = 1. |
| pcsPolarity | - Active level of chip select pin (PCS). |
| void SPI_AML_SlaveDeinit | ( | aml_instance_t | instance | ) |
Deinitializes the SPI slave.
| instance | - Peripheral instance number. |
| void SPI_AML_SlaveFillSdkConfig | ( | const spi_aml_slave_config_t * | spiAmlSlaveConfig, |
| spi_sdk_slave_config_t * | spiSdkSlaveConfig | ||
| ) |
Fills SDK SPI slave configuration with AML data.
| spiAmlSlaveConfig | - Pointer to AML data. |
| spiSdkSlaveConfig | - Pointer where the resulting SDK SPI slave configuration is stored. |
| void SPI_AML_SlaveGetDefaultConfig | ( | spi_sdk_slave_config_t * | spiSdkSlaveConfig | ) |
Gets and stores default SPI slave configuration.
| spiSdkSlaveConfig | - Pointer where the default SPI slave configuration is stored. |
| void SPI_AML_SlaveInit | ( | aml_instance_t | instance, |
| const spi_sdk_slave_config_t * | spiSdkSlaveConfig | ||
| ) |
Initializes the SPI as slave.
| instance | - Peripheral instance number. |
| spiSdkSlaveConfig | - Pointer to SDK specific SPI slave configuration. |
| status_t SPI_AML_SlaveTransfer | ( | aml_instance_t | instance, |
| spi_aml_transfer_t * | slaveTransfer, | ||
| spi_slave_handle_t * | slaveHandle, | ||
| spi_slave_callback_t | slaveCallback | ||
| ) |
Performs slave transfer of data.
This method uses non-blocking transfer. In S32 SDK the slaveHandle and slaveCallback parameters should be NULL and 0.
| instance | - Peripheral instance number. |
| slaveTransfer | - Pointer to transfer structure containing data and configuration. |
| slaveHandle | - Pointer to slave handle structure. |
| slaveCallback | - Completion callback function. |
| void TMR_AML_ClearStatusFlags | ( | aml_instance_t | instance, |
| uint16_t | mask | ||
| ) |
Clears the TPM status flags.
| instance | Timer peripheral instance number. |
| mask | The status flags to clear. This is a logical OR of members of the enumeration tmr_aml_status_flags_t. |
| void TMR_AML_Deinit | ( | aml_instance_t | instance | ) |
Disables the timer clock.
| instance | Timer peripheral instance number. |
| void TMR_AML_DisableInterrupts | ( | aml_instance_t | instance, |
| uint16_t | mask | ||
| ) |
Disables the selected timer interrupts.
| instance | Timer peripheral instance number. |
| mask | The interrupts to disable. This is a logical OR of members of the enumeration tmr_aml_int_flags_t. |
| void TMR_AML_EnableInterrupts | ( | aml_instance_t | instance, |
| uint16_t | mask | ||
| ) |
Enables the selected timer interrupts.
| instance | Timer peripheral instance number. |
| mask | The interrupts to disable. This is a logical OR of members of the enumeration tmr_aml_int_flags_t. |
| status_t TMR_AML_FillSdkConfig | ( | const tmr_aml_config_t * | amlConfig, |
| tmr_sdk_config_t * | sdkConfig, | ||
| tmr_sdk_pwm_ch_config_t ** | chnlPwmParam, | ||
| tmr_sdk_outcmp_ch_t ** | chnlCmpParam, | ||
| tmr_sdk_incpt_ch_t ** | chnlIncptParam | ||
| ) |
Fills SDK specific configuration structure according to independent AML configuration. This function configures S32 SDK or KSDK configuration structure according SDK_VERSION form independent tmrAmlConfig.
| tmrAmlConfig | AML configuration structure, which does not depend on SDK version. It is compatible with S32 SDK and KSDK. Configuration will be used for configure SDK which is currently used. It depends on SDK_VERSION which is define in AML/common_aml.h file. |
| trmSdkConfig | SDK specific configuration, this structure will configure according tmrAmlConfig. |
| tmr_sdk_pwm_ch_config_t(*)[] | pointer to array of tmr_sdk_pwm_ch_config_t for each PWM channel. It is used for generating independent PWM signal on output. Use NULL pointer if PWM is not needed. |
| tmr_sdk_outcmp_ch_t(*)[] | pointer to array of tmr_sdk_outcmp_ch_t for each output compare register. It is used for output compare mode. Use NULL pointer if output compare mode is not needed. |
| chnlIncptParam(*)[] | pointer to array of chnlIncptParam for each input capture register. It is used for input capture mode. Use NULL pointer if output compare mode is not needed. |
< Error code.
| void TMR_AML_GetDefaultConfig | ( | tmr_config_t * | config | ) |
This function fills the TPM configuration structure with the default settings.
Note that the function calls GetDefaultConfig of used peripheral (TPM or FTM) for KSDK.
| config | Pointer to user's TMR configuration structure. |
| uint16_t TMR_AML_GetEnabledInterrupts | ( | aml_instance_t | instance | ) |
Gets the enabled timer interrupts.
| instance | Timer peripheral instance number. |
| uint32_t TMR_AML_GetInstance | ( | const void * | tmrBase | ) |
Gets instance for timer module base pointer.
| tmrBase | Base pointer to I2C peripheral module |
| uint32_t TMR_AML_GetOffsetTicks | ( | aml_instance_t | instance, |
| uint8_t | channel | ||
| ) |
Sets timer channel offset (in timer ticks).
| instance | Timer peripheral instance number. |
| channel | Index of the timer channel (starts with 0). |
| uint32_t TMR_AML_GetPeriodTicks | ( | aml_instance_t | instance | ) |
Returns timer period (in timer ticks).
| instance | Timer peripheral instance number. |
| uint16_t TMR_AML_GetStatusFlags | ( | aml_instance_t | instance | ) |
Gets the timer status flags.
| instance | Timer peripheral instance number. |
| status_t TMR_AML_Init | ( | aml_instance_t | instance, |
| const tmr_sdk_config_t * | sdkConfig | ||
| ) |
Configures the peripheral for basic operation.
General configuration of TPM device including prescaler, GTB, trigger settings, period, center aligned setting etc. It configures timer channels (mode, output action and offset).
| instance | Timer peripheral instance number. |
| sdkConfig | SDK specific timer configuration. |
< Error code.
| uint32_t TMR_AML_ReadTimer | ( | aml_instance_t | instance | ) |
Returns the content of counter register.
| instance | Timer peripheral instance number. |
| void TMR_AML_ResetTimer | ( | aml_instance_t | instance | ) |
Resets counter (counter is set to zero).
| instance | Timer peripheral instance number. |
| void TMR_AML_SetOffsetTicks | ( | aml_instance_t | instance, |
| uint8_t | channel, | ||
| uint32_t | ticks | ||
| ) |
Sets timer channel offset (in timer ticks).
| instance | Timer peripheral instance number. |
| channel | Index of the timer channel (starts with 0). |
| ticks | Channel offset (in timer ticks). |
| void TMR_AML_SetPeriodTicks | ( | aml_instance_t | instance, |
| uint32_t | ticks | ||
| ) |
Sets timer period (in timer ticks).
| instance | Timer peripheral instance number. |
| ticks | Timer period (in timer ticks). |
| void TMR_AML_StartTimer | ( | aml_instance_t | instance | ) |
Starts the counter.
It sets the clock source defined in initialization (see tmr_sdk_config_t structure).
| instance | Timer peripheral instance number. |
| void TMR_AML_StopTimer | ( | aml_instance_t | instance | ) |
Stops the counter.
| instance | Timer peripheral instance number. |
| void WAIT_AML_WaitCycles | ( | uint32_t | cycles | ) |
Waits for specified amount of cycles which is given by 32bit value range. Assumption for this function is that target architecture is using 32bit general purpose registers.
| cycles | - Number of cycles to wait. |
| void WAIT_AML_WaitMs | ( | uint16_t | delay | ) |
Waits for specified amount of milliseconds.
| delay | - Number of milliseconds to wait. |
| void WAIT_AML_WaitSec | ( | uint16_t | delay | ) |
Waits for specified amount of seconds.
| delay | - Number of seconds to wait. |
| void WAIT_AML_WaitUs | ( | uint16_t | delay | ) |
Waits for specified amount of microseconds.
| delay | - Number of microseconds to wait. |


Afghanistan win toss and bat in final West Indies T20
Lucknow - Afghanistan skipper Rashid Khan won the toss and elected to bat first in the third and deciding Twenty20 international against West Indies in Lucknow in Sunday.
The Afghans bounced back to win the last game by 41 runs on Saturday to level the three-match series at 1-1 with Karim Janat taking five wickets and scoring 26 runs.
Afghanistan, who play their home games in India since 2015 due to security issues back home, have retained their winning XI.
"We would like to bat first. We did it well last game and want to repeat that today," Rashid said at the toss.
"Anything in the 150-160 range is what we were looking for yesterday but on this kind of a track 145-plus scores is also tricky."
The Kieron Pollard-led West Indies made three changes to their starting line-up with fit-again Lendl Simmons, Shai Hope and Khary Pierre making the cut.
Hope comes straight in to the XI after being added to the squad as cover for injured Denesh Ramdin.
"We always come with certain processes but just didn't work out well yesterday," said Pollard. "Hope to learn from the past and correct our mistakes."
Teams
Afghanistan: Rashid Khan (capt), Hazratullah Zazai, Rahmanullah Gurbaz (wk), Karim Janat, Asghar Afghan, Ibrahim Zadran, Najibullah Zadran, Mohammad Nabi, Gulbadin Naib, Naveen-ul-Haq, Mujeeb Ur Rahman
West Indies: Kieron Pollard (capt), Brandon King, Evin Lewis, Shai Hope (wk), Lendl Simmons, Shimron Hetmyer, Jason Holder, Kesrick Williams, Keemo Paul, Sheldon Cottrell, Khary Pierre
Umpires: Ahmed Shah Pakteen (AFG) and Izatullah Safi (AFG)
TV umpire: Ahmed Shah Durrani (AFG)
Match referee: Chris Broad (ENG)


Dev 4
Calculator:
Choose...
+
-
*
/
=
Calculate
operant 1
operator
operant 2
result
Search for calculation
Select
operant 1
operator
operant 2
result
Please provide a value to search before pressing the search dropdown.
No results found!


{{if debug}}
{{else}}
{{/if}}
StackHack
powered by
What I learned making this
Tweet
{{html body}} {{if !debug}} {{/if}}


|
gtsam
4.0.0
gtsam
|
This class represents a collection of vector-valued variables associated each with a unique integer index.
It is typically used to store the variables of a GaussianFactorGraph. Optimizing a GaussianFactorGraph or GaussianBayesNet returns this class.
For basic usage, such as receiving a linear solution from gtsam solving functions, or creating this class in unit tests and examples where speed is not important, you can use a simple interface:
Example:
Access is through the variable Key j, and returns a SubVector, which is a view on the underlying data structure.
This class is additionally used in gradient descent and dog leg to store the gradient.
Standard Constructors | |
| VectorValues () | |
| Default constructor creates an empty VectorValues. | |
| VectorValues (const VectorValues &first, const VectorValues &second) | |
| Merge two VectorValues into one, this is more efficient than inserting elements one by one. More... | |
| template<class CONTAINER > | |
| VectorValues (const CONTAINER &c) | |
| Create from another container holding pair<Key,Vector>. More... | |
| VectorValues (const VectorValues &c) | |
| Implicit copy constructor to specialize the explicit constructor from any container. More... | |
| template<typename ITERATOR > | |
| VectorValues (ITERATOR first, ITERATOR last) | |
| Create from a pair of iterators over pair<Key,Vector>. More... | |
| VectorValues (const Vector &c, const Dims &dims) | |
| Constructor from Vector, with Dims. | |
| VectorValues (const Vector &c, const Scatter &scatter) | |
| Constructor from Vector, with Scatter. | |
| static VectorValues | Zero (const VectorValues &other) |
Create a VectorValues with the same structure as other , but filled with zeros. More... | |
Standard Interface | |
| size_t | size () const |
| Number of variables stored. More... | |
| size_t | dim (Key j) const |
Return the dimension of variable j . More... | |
| bool | exists (Key j) const |
Check whether a variable with key j exists. More... | |
| Vector & | at (Key j) |
Read/write access to the vector value with key j , throws std::out_of_range if j does not exist, identical to operator[](Key). | |
| const Vector & | at (Key j) const |
Access the vector value with key j (const version), throws std::out_of_range if j does not exist, identical to operator[](Key). | |
| Vector & | operator[] (Key j) |
Read/write access to the vector value with key j , throws std::out_of_range if j does not exist, identical to at(Key). More... | |
| const Vector & | operator[] (Key j) const |
Access the vector value with key j (const version), throws std::out_of_range if j does not exist, identical to at(Key). More... | |
| void | update (const VectorValues &values) |
For all key/value pairs in values , replace values with corresponding keys in this class with those in values . More... | |
| iterator | insert (const std::pair< Key, Vector > &key_value) |
Insert a vector value with key j . More... | |
| iterator | emplace (Key j, const Vector &value) |
Emplace a vector value with key j . More... | |
| iterator | insert (Key j, const Vector &value) |
Insert a vector value with key j . More... | |
| void | insert (const VectorValues &values) |
Insert all values from values . More... | |
| std::pair< iterator, bool > | tryInsert (Key j, const Vector &value) |
| insert that mimics the STL map insert - if the value already exists, the map is not modified and an iterator to the existing value is returned, along with 'false'. More... | |
| void | erase (Key var) |
| Erase the vector with the given key, or throw std::out_of_range if it does not exist. | |
| void | setZero () |
| Set all values to zero vectors. More... | |
| iterator | begin () |
| Iterator over variables. | |
| const_iterator | begin () const |
| Iterator over variables. | |
| iterator | end () |
| Iterator over variables. | |
| const_iterator | end () const |
| Iterator over variables. | |
| iterator | find (Key j) |
| Return the iterator corresponding to the requested key, or end() if no variable is present with this key. | |
| const_iterator | find (Key j) const |
| Return the iterator corresponding to the requested key, or end() if no variable is present with this key. | |
| void | print (const std::string &str="VectorValues: ", const KeyFormatter &formatter=DefaultKeyFormatter) const |
| print required by Testable for unit testing | |
| bool | equals (const VectorValues &x, double tol=1e-9) const |
| equals required by Testable for unit testing | |
Advanced Interface | |
| Vector | vector () const |
| Retrieve the entire solution as a single vector. | |
| template<typename CONTAINER > | |
| Vector | vector (const CONTAINER &keys) const |
| Access a vector that is a subset of relevant keys. More... | |
| Vector | vector (const Dims &dims) const |
| Access a vector that is a subset of relevant keys, dims version. More... | |
| void | swap (VectorValues &other) |
| Swap the data in this VectorValues with another. More... | |
| bool | hasSameStructure (const VectorValues other) const |
| Check if this VectorValues has the same structure (keys and dimensions) as another. | |
Linear algebra operations | |
| GTSAM_EXPORT VectorValues | operator * (const double a, const VectorValues &v) |
| Element-wise scaling by a constant. More... | |
| double | dot (const VectorValues &v) const |
| Dot product with another VectorValues, interpreting both as vectors of their concatenated values. More... | |
| double | norm () const |
| Vector L2 norm. | |
| double | squaredNorm () const |
| Squared vector L2 norm. | |
| VectorValues | operator+ (const VectorValues &c) const |
| Element-wise addition, synonym for add(). More... | |
| VectorValues | add (const VectorValues &c) const |
| Element-wise addition, synonym for operator+(). More... | |
| VectorValues & | operator+= (const VectorValues &c) |
| Element-wise addition in-place, synonym for operator+=(). More... | |
| VectorValues & | addInPlace (const VectorValues &c) |
| Element-wise addition in-place, synonym for operator+=(). More... | |
| VectorValues & | addInPlace_ (const VectorValues &c) |
| Element-wise addition in-place, but allows for empty slots in *this. More... | |
| VectorValues | operator- (const VectorValues &c) const |
| Element-wise subtraction, synonym for subtract(). More... | |
| VectorValues | subtract (const VectorValues &c) const |
| Element-wise subtraction, synonym for operator-(). More... | |
| VectorValues | scale (const double a) const |
| Element-wise scaling by a constant. More... | |
| VectorValues & | operator *= (double alpha) |
| Element-wise scaling by a constant in-place. More... | |
| VectorValues & | scaleInPlace (double alpha) |
| Element-wise scaling by a constant in-place. More... | |
Public Types | |
| typedef Values::iterator | iterator |
| Iterator over vector values. | |
| typedef Values::const_iterator | const_iterator |
| Const iterator over vector values. | |
| typedef boost::shared_ptr< This > | shared_ptr |
| shared_ptr to this class | |
| typedef Values::value_type | value_type |
| Typedef to pair<Key, Vector> | |
| typedef value_type | KeyValuePair |
| Typedef to pair<Key, Vector> | |
| typedef std::map< Key, size_t > | Dims |
| Keyed vector dimensions. | |
Protected Types | |
| typedef VectorValues | This |
| typedef ConcurrentMap< Key, Vector > | Values |
| Collection of Vectors making up a VectorValues. | |
Protected Attributes | |
| Values | values_ |
| Vectors making up this VectorValues. | |
Friends | |
| class | boost::serialization::access |
| Serialization function. | |
| gtsam::VectorValues::VectorValues | ( | const VectorValues & | first, |
| const VectorValues & | second | ||
| ) |
Merge two VectorValues into one, this is more efficient than inserting elements one by one.
|
inlineexplicit |
Create from another container holding pair<Key,Vector>.
|
inline |
Implicit copy constructor to specialize the explicit constructor from any container.
|
inline |
Create from a pair of iterators over pair<Key,Vector>.
| VectorValues gtsam::VectorValues::add | ( | const VectorValues & | c | ) | const |
Element-wise addition, synonym for operator+().
Both VectorValues must have the same structure (checked when NDEBUG is not defined).
| VectorValues & gtsam::VectorValues::addInPlace | ( | const VectorValues & | c | ) |
Element-wise addition in-place, synonym for operator+=().
Both VectorValues must have the same structure (checked when NDEBUG is not defined).
| VectorValues & gtsam::VectorValues::addInPlace_ | ( | const VectorValues & | c | ) |
Element-wise addition in-place, but allows for empty slots in *this.
Slower
|
inline |
Return the dimension of variable j
.
| double gtsam::VectorValues::dot | ( | const VectorValues & | v | ) | const |
Dot product with another VectorValues, interpreting both as vectors of their concatenated values.
Both VectorValues must have the same structure (checked when NDEBUG is not defined).
| VectorValues::iterator gtsam::VectorValues::emplace | ( | Key | j, |
| const Vector & | value | ||
| ) |
Emplace a vector value
with key j
.
Throws an invalid_argument exception if the key j
is already used.
| value | The vector to be inserted. |
| j | The index with which the value will be associated. |
|
inline |
Check whether a variable with key j
exists.
| VectorValues::iterator gtsam::VectorValues::insert | ( | const std::pair< Key, Vector > & | key_value | ) |
Insert a vector value
with key j
.
Throws an invalid_argument exception if the key j
is already used.
| value | The vector to be inserted. |
| j | The index with which the value will be associated. |
Insert a vector value
with key j
.
Throws an invalid_argument exception if the key j
is already used.
| value | The vector to be inserted. |
| j | The index with which the value will be associated. |
| void gtsam::VectorValues::insert | ( | const VectorValues & | values | ) |
Insert all values from values
.
Throws an invalid_argument exception if any keys to be inserted are already used.
| VectorValues & gtsam::VectorValues::operator *= | ( | double | alpha | ) |
Element-wise scaling by a constant in-place.
| VectorValues gtsam::VectorValues::operator+ | ( | const VectorValues & | c | ) | const |
Element-wise addition, synonym for add().
Both VectorValues must have the same structure (checked when NDEBUG is not defined).
| VectorValues & gtsam::VectorValues::operator+= | ( | const VectorValues & | c | ) |
Element-wise addition in-place, synonym for operator+=().
Both VectorValues must have the same structure (checked when NDEBUG is not defined).
| VectorValues gtsam::VectorValues::operator- | ( | const VectorValues & | c | ) | const |
Element-wise subtraction, synonym for subtract().
Both VectorValues must have the same structure (checked when NDEBUG is not defined).
|
inline |
Read/write access to the vector value with key j
, throws std::out_of_range if j
does not exist, identical to at(Key).
|
inline |
Access the vector value with key j
(const version), throws std::out_of_range if j
does not exist, identical to at(Key).
| VectorValues gtsam::VectorValues::scale | ( | const double | a | ) | const |
Element-wise scaling by a constant.
| VectorValues & gtsam::VectorValues::scaleInPlace | ( | double | alpha | ) |
Element-wise scaling by a constant in-place.
| void gtsam::VectorValues::setZero | ( | ) |
Set all values to zero vectors.
|
inline |
Number of variables stored.
| VectorValues gtsam::VectorValues::subtract | ( | const VectorValues & | c | ) | const |
Element-wise subtraction, synonym for operator-().
Both VectorValues must have the same structure (checked when NDEBUG is not defined).
| void gtsam::VectorValues::swap | ( | VectorValues & | other | ) |
Swap the data in this VectorValues with another.
insert that mimics the STL map insert - if the value already exists, the map is not modified and an iterator to the existing value is returned, along with 'false'.
If the value did not exist, it is inserted and an iterator pointing to the new element, along with 'true', is returned.
| void gtsam::VectorValues::update | ( | const VectorValues & | values | ) |
For all key/value pairs in values
, replace values with corresponding keys in this class with those in values
.
Throws std::out_of_range if any keys in values
are not present in this class.
|
inline |
Access a vector that is a subset of relevant keys.
| Vector gtsam::VectorValues::vector | ( | const Dims & | dims | ) | const |
Access a vector that is a subset of relevant keys, dims version.
|
static |
Create a VectorValues with the same structure as other
, but filled with zeros.
|
friend |
Element-wise scaling by a constant.


WebSocket connection:
Connect
Disconnect
Authenticate:
Access token:
Authenticate
Create User:
Username:
y:
p:
g:
Create
Request challenge:
Username:
Request
Answer challenge:
Username:
Answer:
Answer


I had a bottle of dimenhydrinate (motion-sickness pills, common brand names are Gravol in Canada and Dramamine in U.S.). I had read that taking between 12 and 25 pills would create a reasonable hallucinogenic-quality high. Just for some background information about me, my previous drug experience had been limited to weed and painkillers, I was 17 at the time.
I took 17 of the pills one night. They tasted really gross. It took about one or two hours before there was any real effect, and I became quite tired (as they cause drowsiness). I layed down, and I began to feel like I was dreaming (although i was awake). It was confusing - I was talking to a friends that wasn't there and was confused when they left without saying goodbye. It was sort of like I was just re-hashing the events of my day. It was not particularly thrilling, definately not worth what came afterwards.
I began having a serious headache (not just a typical one), it hurt to lift my head, like a deep throbbing pain. I got up to go to the bathroom and I was seriously unbalanced. I had to walk bent over to keep myself from falling down. My muscles felt very light and my head was constantly hurting. After this, I felt so unpleasant I decided to go to sleep, and when I woke up in the morning I saw that I had thrown up (I didnt remember doing this).
So, I would definately not recommend this to anybody. Or maybe I had just taken too much for my body weight (I'm a fairly small girl). Either way, if you dont like headaches or hangovers, just avoid this altogether!
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


API documentation
| Module | Description |
|
iopipe.buffer
|
Buffer handling for iopipe.
|
|
iopipe.bufpipe
|
Core functionality for iopipe. Defines the base types for manipulating and
processing data.
|
|
iopipe.refc
|
Reference counting using the GC.
|
|
iopipe.stream
|
Simple streams for use with iopipe
|
|
iopipe.textpipe
|
Text handling with iopipe.
|
|
iopipe.traits
|
Base mechanisms used to determine information about iopipes.
|
|
iopipe.valve
|
Valve mechanism to allow manipulation of wrapped iopipe pieces.
|
|
iopipe.zip
|
Compression/decompression with iopipes.
|
|
iopipe
|
iopipe is a modular buffering library based on range-like concepts.
|


Welcome to Kaustav Roy Media Works!
These terms and conditions outline the rules and regulations for the use of Kaustav Roy Media Works Pvt. Ltd.'s Website, located at https://kaustavroymediaworks.com.
By accessing this website we assume you accept these terms and conditions. Do not continue to use Kaustav Roy Media Works if you do not agree to take all of the terms and conditions stated on this page.
The following terminology applies to these Terms and Conditions, Privacy Statement and Disclaimer Notice and all Agreements: "Client", "You" and "Your" refers to you, the person log on this website and compliant to the Company’s terms and conditions. "The Company", "Ourselves", "We", "Our" and "Us", refers to our Company. "Party", "Parties", or "Us", refers to both the Client and ourselves. All terms refer to the offer, acceptance and consideration of payment necessary to undertake the process of our assistance to the Client in the most appropriate manner for the express purpose of meeting the Client’s needs in respect of provision of the Company’s stated services, in accordance with and subject to, prevailing law of Netherlands. Any use of the above terminology or other words in the singular, plural, capitalization and/or he/she or they, are taken as interchangeable and therefore as referring to same.
Cookies
We employ the use of cookies. By accessing Kaustav Roy Media Works, you agreed to use cookies in agreement with the Kaustav Roy Media Works Pvt. Ltd.'s Privacy Policy.
Most interactive websites use cookies to let us retrieve the user’s details for each visit. Cookies are used by our website to enable the functionality of certain areas to make it easier for people visiting our website. Some of our affiliate/advertising partners may also use cookies.
License
Unless otherwise stated, Kaustav Roy Media Works Pvt. Ltd. and/or its licensors own the intellectual property rights for all material on Kaustav Roy Media Works. All intellectual property rights are reserved. You may access this from Kaustav Roy Media Works for your own personal use subjected to restrictions set in these terms and conditions.
You must not:
Republish material from Kaustav Roy Media Works
Sell, rent or sub-license material from Kaustav Roy Media Works
Reproduce, duplicate or copy material from Kaustav Roy Media Works
Redistribute content from Kaustav Roy Media Works
This Agreement shall begin on the date hereof.
Parts of this website offer an opportunity for users to post and exchange opinions and information in certain areas of the website. Kaustav Roy Media Works Pvt. Ltd. does not filter, edit, publish or review Comments prior to their presence on the website. Comments do not reflect the views and opinions of Kaustav Roy Media Works Pvt. Ltd.,its agents and/or affiliates. Comments reflect the views and opinions of the person who post their views and opinions. To the extent permitted by applicable laws, Kaustav Roy Media Works Pvt. Ltd. shall not be liable for the Comments or for any liability, damages or expenses caused and/or suffered as a result of any use of and/or posting of and/or appearance of the Comments on this website.
Kaustav Roy Media Works Pvt. Ltd. reserves the right to monitor all Comments and to remove any Comments which can be considered inappropriate, offensive or causes breach of these Terms and Conditions.
You warrant and represent that:
You are entitled to post the Comments on our website and have all necessary licenses and consents to do so;
The Comments do not invade any intellectual property right, including without limitation copyright, patent or trademark of any third party;
The Comments do not contain any defamatory, libelous, offensive, indecent or otherwise unlawful material which is an invasion of privacy
The Comments will not be used to solicit or promote business or custom or present commercial activities or unlawful activity.
You hereby grant Kaustav Roy Media Works Pvt. Ltd. a non-exclusive license to use, reproduce, edit and authorize others to use, reproduce and edit any of your Comments in any and all forms, formats or media.
Hyperlinking to our Content
The following organizations may link to our Website without prior written approval:
Government agencies;
Search engines;
News organizations;
Online directory distributors may link to our Website in the same manner as they hyperlink to the Websites of other listed businesses; and
System wide Accredited Businesses except soliciting non-profit organizations, charity shopping malls, and charity fundraising groups which may not hyperlink to our Web site.
These organizations may link to our home page, to publications or to other Website information so long as the link: (a) is not in any way deceptive; (b) does not falsely imply sponsorship, endorsement or approval of the linking party and its products and/or services; and (c) fits within the context of the linking party’s site.
We may consider and approve other link requests from the following types of organizations:
commonly-known consumer and/or business information sources;
dot.com community sites;
associations or other groups representing charities;
online directory distributors;
internet portals;
accounting, law and consulting firms; and
educational institutions and trade associations.
We will approve link requests from these organizations if we decide that: (a) the link would not make us look unfavorably to ourselves or to our accredited businesses; (b) the organization does not have any negative records with us; (c) the benefit to us from the visibility of the hyperlink compensates the absence of Kaustav Roy Media Works Pvt. Ltd.; and (d) the link is in the context of general resource information.
These organizations may link to our home page so long as the link: (a) is not in any way deceptive; (b) does not falsely imply sponsorship, endorsement or approval of the linking party and its products or services; and (c) fits within the context of the linking party’s site.
If you are one of the organizations listed in paragraph 2 above and are interested in linking to our website, you must inform us by sending an e-mail to Kaustav Roy Media Works Pvt. Ltd.. Please include your name, your organization name, contact information as well as the URL of your site, a list of any URLs from which you intend to link to our Website, and a list of the URLs on our site to which you would like to link. Wait 2-3 weeks for a response.
Approved organizations may hyperlink to our Website as follows:
By use of our corporate name; or
By use of the uniform resource locator being linked to; or
By use of any other description of our Website being linked to that makes sense within the context and format of content on the linking party’s site.
No use of Kaustav Roy Media Works Pvt. Ltd.'s logo or other artwork will be allowed for linking absent a trademark license agreement.
iFrames
Without prior approval and written permission, you may not create frames around our Webpages that alter in any way the visual presentation or appearance of our Website.
Content Liability
We shall not be hold responsible for any content that appears on your Website. You agree to protect and defend us against all claims that is rising on your Website. No link(s) should appear on any Website that may be interpreted as libelous, obscene or criminal, or which infringes, otherwise violates, or advocates the infringement or other violation of, any third party rights.
Your Privacy
Please read Privacy Policy
Reservation of Rights
We reserve the right to request that you remove all links or any particular link to our Website. You approve to immediately remove all links to our Website upon request. We also reserve the right to amen these terms and conditions and it’s linking policy at any time. By continuously linking to our Website, you agree to be bound to and follow these linking terms and conditions.
Removal of links from our website
If you find any link on our Website that is offensive for any reason, you are free to contact and inform us any moment. We will consider requests to remove links but we are not obligated to or so or to respond to you directly.
We do not ensure that the information on this website is correct, we do not warrant its completeness or accuracy; nor do we promise to ensure that the website remains available or that the material on the website is kept up to date.
Disclaimer
To the maximum extent permitted by applicable law, we exclude all representations, warranties and conditions relating to our website and the use of this website. Nothing in this disclaimer will:
limit or exclude our or your liability for death or personal injury;
limit or exclude our or your liability for fraud or fraudulent misrepresentation;
limit any of our or your liabilities in any way that is not permitted under applicable law; or
exclude any of our or your liabilities that may not be excluded under applicable law.
The limitations and prohibitions of liability set in this Section and elsewhere in this disclaimer: (a) are subject to the preceding paragraph; and (b) govern all liabilities arising under the disclaimer, including liabilities arising in contract, in tort and for breach of statutory duty.
As long as the website and the information and services on the website are provided free of charge, we will not be liable for any loss or damage of any nature.


Potato Player
An aspiring Youtube like Player Made Just 4 Fun (Works only in chrome)
More info at:
Potato Video Player Github Page
00:00
play_arrow
skip_next
volume_up
00:00
/
00:00
Item #1
Value #1
settings
fullscreen


DineIn is the collaborative outcome of seasoned food & business operators who have combined their past years industry experience to create this exciting dining offer. We set out to define the factors that makes us among the best restuarants. Here arw some reasons to consider us for serving you delicious food. We believe in creating interesting and unique places to enjoy our simple and great tasting “Real Italian” food. Sometimes we pop up in shopping centres, sometimes in a great shopping strip. Either way we’ll make sure you feel like you’re in our home and ready for some of our great, simple food.
DineIn takes pride in making the best food, providing fast, friendly, and accurate service.


| INSTALL {utils} | R Documentation |
Utility for installing add-on packages.
R CMD INSTALL [options] [-l lib] pkgs
pkgs |
a space-separated list with the path names of the packages to be installed. See ‘Details’. |
lib |
the path name of the R library tree to install to. Also accepted in the form --library=lib. Paths including spaces should be quoted, using the conventions for the shell in use. |
options |
a space-separated list of options through which in
particular the process for building the help files can be controlled.
Use |
This will stop at the first error, so if you want all the pkgs
to be tried, call this via a shell loop.
If used as R CMD INSTALL pkgs
without explicitly specifying
lib
, packages are installed into the library tree rooted at the
first directory in the library path which would be used by R run in
the current environment.
To install into the library tree lib
, use
R CMD INSTALL -l lib pkgs
.
This prepends lib
to the library path for
duration of the install, so required packages in the installation
directory will be found (and used in preference to those in other
libraries).
It is possible that environment variable TMPDIR
will need to be set (although R CMD
tries to set it suitably
otherwise): use forward slashes and no spaces for the path to a
writable directory.
Both lib
and the elements of pkgs
may be absolute or
relative path names of directories. pkgs
may also contain
names of package archive files: these are then extracted to a
temporary directory. These are tarballs containing a single
directory, optionally compressed by gzip
, bzip2
,
xz
or compress
.
Finally, zipped binary packages (as created by
R CMD INSTALL --build
) can be supplied.
Tarballs are by default unpackaged by the internal untar
function: if needed an external tar
command can be specified
by the environment variable R_INSTALL_TAR: please ensure that it
can handle the type of compression used on the tarball. (This is
sometimes needed for tarballs containing invalid or unsupported
sections, and can be faster on very large tarballs. Setting
R_INSTALL_TAR to tar.exe has been needed to overcome
permissions issues on some Windows systems.)
The package sources can be cleaned up prior to installation by --preclean or after by --clean: cleaning is essential if the sources are to be used with more than one architecture or platform.
If the attempt to install the package fails, leftovers are removed. If the package was already installed, the old version is restored. This happens either if a command encounters an error or if the install is interrupted from the keyboard: after cleaning up the script terminates.
For details of the locking which is done, see the section
‘Locking’ in the help for install.packages
.
Option --build can be used to zip up the installed package for distribution.
By default a package is installed with static HTML help pages if and only if R was: use options --html and --no-html to override this.
Packages are not by default installed keeping the source formatting
(see the keep.source
argument to source
): this
can be enabled by the option --with-keep.source or by setting
environment variable R_KEEP_PKG_SOURCE to yes
.
Use R CMD INSTALL --help
for concise usage information,
including all the available options.
An R installation can support more than one sub-architecture: currently this is most commonly used for 32- and 64-bit builds on Windows.
For such installations, the default behaviour is to try to install
source packages for all installed sub-architectures unless the package
has a configure script or a ‘src/Makefile’ (or
‘src/Makefile.win’ on Windows), when only compiled code for the
sub-architecture running R CMD INSTALL
is installed.
To install a source package with compiled code only for the
sub-architecture used by R CMD INSTALL
, use
--no-multiarch. To install just the compiled code for
another sub-architecture, use --libs-only.
There are two ways to install for all available sub-architectures. If
the configure script is known to work for both Windows architectures,
use flag --force-biarch (and packages can specify this
via a Biarch field in their DESCRIPTION
files).
Second, a single tarball can be installed with
R CMD INSTALL --merge-multiarch mypkg_version.tar.gz
The options do not have to precede pkgs on the command line, although it will be more legible if they do. All the options are processed before any packages, and where options have conflicting effects the last one will win.
REMOVE
;
.libPaths
for information on using several library trees;
install.packages
for R-level installation of packages;
update.packages
for automatic update of packages using
the Internet or a local repository.
The section on “Add-on packages” in “R Installation and
Administration” and the chapter on “Creating R packages” in
“Writing R Extensions”
(on the Help menu in RGui
),
RShowDoc
and the ‘doc/manual’ subdirectory of the
R source tree).


2 drivers hurt in Macon County wreck
by John GarlockEXCELLO, Mo. — Two northeast Missouri drivers were injured in a Friday afternoon crash that happened at an intersection one mile east of Excello, Missouri.
The wreck occurred at 3:40 p.m. at the intersection of Highway 63 and Macon County Route T.
Troopers say Michael Hancock, 48, of Paris, Missouri, was driving a pickup truck, and he failed to yield as he was turning from Route T onto Highway 63.
Investigators say Hancock pulled into the path of a southbound SUV driven by Brenda Hulett, 59, of Callao, Missouri.
Hulett was seriously injured by the impact.
She was flown to a Columbia hospital for treatment.
Hancock suffered moderate injuries and was taken by ambulance to a Macon hospital.
The online crash report states that both drivers were wearing a seat belt.


Welcome to my last college pop-up shop! I've been making a ton of DIY jewelry and home decor items that you can check out at karxu.com/shop.
Items can be delivered in Chicago and NYC, or picked up at 54th Place and Woodlawn (there's freebies included if you pickup!) Venmo and Cash accepted.
Feel free to reach out to me at<EMAIL_ADDRESS>with any questions!


The Palms’ first 18 years, its colorful history — PHOTOS
15 Nov 2019, 19:00 by John Przybys
The Palms on Sept. 26, 2016. (Las Vegas Review-Journal file photo)
Mark Hoppus of blink-182 performs during Holiday Havoc at The Pearl Concert Theater at the Palms on Dec. 8, 2016. (Las Vegas Review-Journal file photo)
Rivers Cuomo of Weezer performs during Holiday Havoc at The Pearl Concert Theater at the Palms on Dec. 9, 2016. (Las Vegas Review-Journal file photo)
Adult film actress Jesse Jane poses on the red carpet at the 2011 AVN Awards, held at the Palms on Jan. 9, 2011. (Las Vegas Review-Journal file photo)
Ultimate Fighting Championship fighter Clay Guida, his face bloodied, faces opponent Diego Sanchez during a lightweight UFC bout at the Palms on June 20, 2009. (Las Vegas Review-Journal file photo) JOHN LOCHER/LAS VEGAS REVIEW-JOURNAL Blood covers Clay Guida's face during alightweight UFC bout against Diego Sanchez at the Palms in Las Vegas Saturday, June 20, 2009.
Fireworks blast off from the Palms Casino Hotel Las Vegas during its topping-off ceremony on June 7, 2001. (Las Vegas Review-Journal file photo)
A faux stone archway leads into what was to be Garduno's Restaurant at the Palms in April 2001. (Las Vegas Review-Journal file photo)
Palms President George Maloof poses with Paris Hilton during the grand opening of the Palms on Nov. 15, 2001. (Las Vegas Review-Journal file photo)
Longtime Las Vegas restaurateur Andre Rochat displays a bottle from inside the wine cellar of his restaurant, Alize, at the Palms on Oct. 1, 2002. (Las Vegas Review-Journal file photo)
Corina Harney-Jones and her sister, Dorinda Harney, watch MTV's "The Real World" at the Palms on Nov. 12, 2002. (Las Vegas Review-Journal file photo)
The Palms' Hardwood Suite, shown in October 2006, featured a basketball court (seen at right). (Las Vegas Review-Journal file photo) CLINT KARLSEN/REVIEW-JOURNAL Living; The hardwood suite at The Palms, Wednesday morning, October 25, 2006. The basketball court in the hotel room is to the right.
Mannequins in the Palms' gift shop wear NBA All-Star logo jackets to commemorate the arrival of the NBA's All-Star game to Las Vegas in 2007. (Las Vegas Review-Journal file photo)
Dancers perform during the "MTV Video Music Awards" show at The Pearl theater inside the Palms on Sept. 9, 2007. (Las Vegas Review-Journal file photo) RONDA CHURCHILL/REVIEW-JOURNAL MTV Video Music Awards are shown at the Pearl inside the Palms Sunday, Sept. 9, 2007.
Alicia Keys performs during the "MTV Video Music Awards" at The Pearl Sept. 9, 2007. (Las Vegas Review-Journal file photo)
Justin Timberlake and Timbaland performs at the "MTV Video Music Awards" at the Palms Sept. 9, 2007. (Las Vegas Review-Journal file photo)
Playboy Bunny dealer Jessica Pagnoni, left, gives blackjack player Steve Lockett of Ashville, N.C., a hit while Lockett's wife, Sarah Lockett, looks on at the Playboy Club inside the Palms on Oct. 3, 2007. The Playboy Club at the Palms was celebrating its first anniversary. (Las Vegas Review-Journal file photo)
The Palms' Barbie suite in July 2009. (Las Vegas Review-Journal file photo)
The Palms' Barbie suite in July 2009. (Las Vegas Review-Journal file photo)
Bottles of champagne are delivered to a table in the nightclub area during the grand opening weekend of Kaos at the Palms April 5, 2019. On Nov. 5, Red Rock Resorts, the Palms' current parent company, announced the club's closing. (Chase Stevens/Las Vegas Review-Journal) @csstevensphoto
From its gala opening on Nov. 15, 2001, the Palms has been a bit different from its Las Vegas brethren.
The property was off-the-Strip, but flashier than other off-Strip resorts. It was the hotel with themed suites, among them one modeled after Barbie and a Hardwood Suite that featured a basketball court. The hotel hosted Las Vegas’ very own Playboy Club and forged an association with MTV, which resulted in the resort hosting “The Real World” and the 2007 “MTV Video Music Awards.” The Palms even was cool enough to be featured in several videos.
It was the home of big-name concerts at The Pearl, UFC fights and celebrity visitors of all stripes. And while not everything it has done has panned out — Kaos nightclub, which opened with much fanfare in April, shut down last week — the Palms always has been one of Las Vegas’ more interesting casinos to watch.


MSP Involvement
MSP Involvment provides an interactive and intuitive interface to jointly explore geographical data and parliamentary proceedings.
This application presents the data from the Scottish Index of Multiple Deprivation index and Scottish Parliament proceedings.
Select from the buttons at the top to show a representation of the different Scottish Parliament constituencies across several dimensions. Together with this data you will see a textual analysis of all the interventions in parliamentary debates of the representatives (Members of the Scottish Parliament) for the constituency and of its containing region.
Made by go4itprincess @ILW hackathon 2014.
Who is the princess?


Welcome to Banca Sella
User name
Password
Remember me
Login
Copyrights reserved, 2012.
Countries
Logout
Copyrights reserved, 2012.
Countries
Copyrights reserved, 2012.