Introduction
Benefits and Useful Features
Getting Started
Installation
go get github.com/ghetzel/go-webfriend/cmd/webfriend
Usage
As a standalone utility
As a server
As a Golang library
Command Reference
Assert Module
assert::compare
HAVE
{
| value: | any | |
|---|---|---|
| test: | string |
Return an error if the given value is not equal to the other value.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| value | any | - |
|
| test | string | - |
assert::contains
HAVE
{
| value: | any | |
|---|---|---|
| test: | string |
Return an error if the given value does not contain another value.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| value | any | - |
|
| test | string | - |
assert::empty
VALUE
{
| message: | string | |
|---|---|---|
| snippet: | string |
Return an error if the given value not empty.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| message | string | - |
|
| snippet | string | - |
assert::equal
HAVE
{
| value: | any | |
|---|---|---|
| test: | string |
Return an error if the given value is not equal to the other value.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| value | any | - |
|
| test | string | - |
assert::exists
VALUE
{
| message: | string | |
|---|---|---|
| snippet: | string |
Return an error if the given value is null or zero-length.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| message | string | - |
|
| snippet | string | - |
assert::false
VALUE
{
| message: | string | |
|---|---|---|
| snippet: | string |
Return an error if the given value is not false.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| message | string | - |
|
| snippet | string | - |
assert::gt
HAVE
{
| value: | any | |
|---|---|---|
| test: | string |
Return an error if the given value is not numerically greater than the second value.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| value | any | - |
|
| test | string | - |
assert::gte
HAVE
{
| value: | any | |
|---|---|---|
| test: | string |
Return an error if the given value is not numerically greater than or equal to the second value.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| value | any | - |
|
| test | string | - |
assert::is_array
VALUE
{
| message: | string | |
|---|---|---|
| snippet: | string |
Return an error if the given value is not an array.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| message | string | - |
|
| snippet | string | - |
assert::is_boolean
VALUE
{
| message: | string | |
|---|---|---|
| snippet: | string |
Return an error if the given value is not a boolean value.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| message | string | - |
|
| snippet | string | - |
assert::is_duration
VALUE
{
| message: | string | |
|---|---|---|
| snippet: | string |
Return an error if the given value is not parsable as a duration.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| message | string | - |
|
| snippet | string | - |
assert::is_numeric
VALUE
{
| message: | string | |
|---|---|---|
| snippet: | string |
Return an error if the given value is not a numeric value.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| message | string | - |
|
| snippet | string | - |
assert::is_object
VALUE
{
| message: | string | |
|---|---|---|
| snippet: | string |
Return an error if the given value is not an object.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| message | string | - |
|
| snippet | string | - |
assert::is_scalar
VALUE
{
| message: | string | |
|---|---|---|
| snippet: | string |
Return an error if the given value is not a scalar value.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| message | string | - |
|
| snippet | string | - |
assert::is_string
VALUE
{
| message: | string | |
|---|---|---|
| snippet: | string |
Return an error if the given value is not a string.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| message | string | - |
|
| snippet | string | - |
assert::is_time
VALUE
{
| message: | string | |
|---|---|---|
| snippet: | string |
Return an error if the given value is not parsable as a time.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| message | string | - |
|
| snippet | string | - |
assert::lt
HAVE
{
| value: | any | |
|---|---|---|
| test: | string |
Return an error if the given value is not numerically less than the second value.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| value | any | - |
|
| test | string | - |
assert::lte
HAVE
{
| value: | any | |
|---|---|---|
| test: | string |
Return an error if the given value is not numerically less than or equal to the second value.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| value | any | - |
|
| test | string | - |
assert::not_contains
HAVE
{
| value: | any | |
|---|---|---|
| test: | string |
Return an error if the given value contains another value.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| value | any | - |
|
| test | string | - |
assert::not_equal
HAVE
{
| value: | any | |
|---|---|---|
| test: | string |
Return an error if the given value is equal to the other value.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| value | any | - |
|
| test | string | - |
assert::not_null
VALUE
{
| message: | string | |
|---|---|---|
| snippet: | string |
Return an error if the given value is null.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| message | string | - |
|
| snippet | string | - |
assert::null
VALUE
{
| message: | string | |
|---|---|---|
| snippet: | string |
Return an error if the given value is not null.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| message | string | - |
|
| snippet | string | - |
assert::true
VALUE
{
| message: | string | |
|---|---|---|
| snippet: | string |
Return an error if the given value is not true.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| message | string | - |
|
| snippet | string | - |
Cookies Module
Commands for interacting with the browser’s cookie storage backend.
cookies::delete
NAME
{
| url: | string | |
|---|---|---|
| domain: | string | |
| path: | string |
Deletes a cookie by name, and optionally matching additional criteria.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| url | string | - |
Deletes all cookies with the given name where domain and path match the given URL. |
| domain | string | - |
If specified, deletes only cookies with this exact domain. |
| path | string | - |
If specified, deletes only cookies with this exact path. |
cookies::get NAME ->
Get a cookie by its name.
Return Parameters
| Name | Data Type | Description |
|---|---|---|
| name | string | The name of the cookie. |
| value | string | The cookie’s value. |
| domain | string | The applicable domain for the cookie. |
| path | string | The cookie’s path. |
| size | int | The size of the cookie. |
| expires | time | The cookie’s expiration date. |
| http_only | bool | The cookie is flagged as being inaccessible to client-side scripts. |
| secure | bool | The cookie is flagged as “secure” |
| session | bool | This is a session cookie. |
| same_site | string | The same site value of the cookie (“Strict” or “Lax”) |
| url | string | The URL the cookie should refer to (when setting) |
cookies::list
{
| urls: | []string | |
|---|---|---|
| names: | []string |
List all cookies, either for the given set of URLs or for the current tab (if omitted).
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| urls | []string | - |
an array of strings representing the URLs to retrieve cookies for. If omitted, the URL of the current browser tab will be used |
| names | []string | - |
A list of cookie names to include in the output. If non-empty, only these cookies will appear (if present). |
cookies::map
{
| urls: | []string | |
|---|---|---|
| names: | []string |
A variant of cookies::list that returns matching cookies as a map of name=value pairs.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| urls | []string | - |
an array of strings representing the URLs to retrieve cookies for. If omitted, the URL of the current browser tab will be used |
| names | []string | - |
A list of cookie names to include in the output. If non-empty, only these cookies will appear (if present). |
cookies::set
{
| name: | string | |
|---|---|---|
| value: | string | |
| domain: | string | |
| path: | string | |
| size: | int | |
| expires: | time | |
| http_only: | bool | |
| secure: | bool | |
| session: | bool | |
| same_site: | string | |
| url: | string |
Set a cookie.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| name | string | - |
The name of the cookie. |
| value | string | - |
The cookie’s value. |
| domain | string | - |
The applicable domain for the cookie. |
| path | string | - |
The cookie’s path. |
| size | int | - |
The size of the cookie. |
| expires | time | - |
The cookie’s expiration date. |
| http_only | bool | - |
The cookie is flagged as being inaccessible to client-side scripts. |
| secure | bool | - |
The cookie is flagged as “secure” |
| session | bool | - |
This is a session cookie. |
| same_site | string | - |
The same site value of the cookie (“Strict” or “Lax”) |
| url | string | - |
The URL the cookie should refer to (when setting) |
Core Module
Commonly used commands for basic browser interaction.
click
SELECTOR
{
| multiple: | bool | |
|---|---|---|
| delay: | duration | "20ms" |
| match_text: | string |
Click on HTML element(s) matches by selector. If multiple is true, then all elements matched by selector will be clicked in the order they are returned. Otherwise, an error is returned unless selector matches exactly one element.
Examples
Click on the element with id “login”
click "#login"
Click on all
elements on the page, waiting 150ms between each click.
click "a" {
multiple: true,
delay: "150ms",
}
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| multiple | bool | - |
Permit multiple elements to be clicked. |
| delay | duration | "20ms" |
If Multiple clicks are permitted, what is the delay between each click. |
| match_text | string | - |
If provided, this represents a regular expression that the text value of matching elements must match to be clicked. |
click_at
{
| x: | int | |
|---|---|---|
| y: | int |
Click the page at the given X, Y coordinates.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| x | int | - |
The X-coordinate to click at |
| y | int | - |
The Y-coordinate to click at |
configure
{
| user_agent: | string | |
|---|---|---|
| latitude: | float | |
| longitude: | float | |
| accuracy: | float | 1 |
| disable_scripts: | bool | |
| emulate_touch: | bool | |
| background_color: | string | |
| hide_scrollbars: | bool |
Configures various features of the Remote Debugging protocol and provides environment setup.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| user_agent | string | - |
Override the default User-Agent header sent with all requests |
| latitude | float | - |
Specify the Geographic latitude to emulate [-90.0, 90.0] |
| longitude | float | - |
Specify the Geographic longitude to emulate [-180.0, 180.0] |
| accuracy | float | 1 |
Specify a Geolocation error margin (accurate to within n meters) |
| disable_scripts | bool | - |
Disable JavaScript execution in the browser. |
| emulate_touch | bool | - |
Emulate a touch-capable device. |
| background_color | string | - |
Set the default background color of the underlying window in the following formats: |
| hide_scrollbars | bool | - |
Set whether scrollbars should be hidden all the time. |
env
NAME
{
| fallback: | any | |
|---|---|---|
| required: | bool | false |
| detect_type: | bool | true |
| joiner: | string |
Retrieves a system environment variable and returns the value of it, or a fallback value if the variable does not exist or (optionally) is empty.
Examples
Get the value of the USER
environment variable and store it
env 'USER' -> $user
Require the LANG
, USER
, and CI
environment variables; and fail they are not set.
env 'LANG' { required: true }
env 'USER' { required: true }
env 'CI' { required: true }
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| fallback | any | - |
The value to return if the environment variable does not exist, or (optionally) is empty. |
| required | bool | false |
Whether empty values should be ignored or not. |
| detect_type | bool | true |
Whether automatic type detection should be performed or not. |
| joiner | string | - |
If specified, this string will be used to split matching values into a list of values. This is useful for environment variables that contain multiple values joined by a separator (e.g: the PATH variable.) |
field
SELECTOR
{
| value: | any | |
|---|---|---|
| autoclear: | bool | true |
| enter: | bool | |
| click: | selector |
Locate and enter data into a form input field.
Examples
Type in a username and password, then hit Enter to submit.
field '#username' {
value: 'myuser',
}
field '#password' {
value: 'p@ssw0rd!',
enter: true,
}
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| value | any | - |
The value to enter into the field. |
| autoclear | bool | true |
Whether to clear the existing contents of the field before entering new data. |
| enter | bool | - |
Whether to automatically send an “Enter” keystroke after typing in the given value |
| click | selector | - |
An element to click after the field value is changed. |
focus SELECTOR -> element
Focuses the given HTML element described by selector. One and only one element may match the selector.
go
URI
{
| referrer: | string | |
|---|---|---|
| wait_for_load: | bool | true |
| timeout: | duration | "30s" |
| request_poll_timeout: | duration | "5s" |
| clear_requests: | bool | false |
| require_originating_request: | bool | true |
| continue_on_error: | bool | |
| continue_statuses: | []int | |
| continue_on_timeout: | bool | false |
| load_event_name: | string | "Page.loadEventFired" |
| username: | string | |
| password: | string | |
| realm: | string |
Navigate to a URL.
Examples
Go to Google.
go "google.com"
Go to www.example.com, only wait for the first network response, and don’t fail if the request times out.
go "https://www.exmaple.com" {
timeout: '10s',
continue_on_timeout: true,
load_event_name: 'Network.responseReceived',
}
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| referrer | string | - |
If a URL is specified, it will be used as the HTTP Referer [sic] header field when going to the given page. If the URL of the currently-loaded page and the referrer are the same, the page will no change. For this reason, you may specify the special value ‘random’, which will generate a URL with a randomly generated path component to ensure that it is always different from the current page. Specifying None will omit the field from the request. |
| wait_for_load | bool | true |
Whether to block until the page has finished loading. |
| timeout | duration | "30s" |
The amount of time to wait for the page to load. |
| request_poll_timeout | duration | "5s" |
The amount of time to poll for the originating network request. |
| clear_requests | bool | false |
Whether the resources stack that is queried in page::resources and page::resource is cleared before navigating. Set this to false to preserve the ability to retrieve data that was loaded on previous pages. |
| require_originating_request | bool | true |
Whether the originating network request is required in the return value. If this is false, the response may be missing status, headers, and timing details. |
| continue_on_error | bool | - |
Whether to continue execution if an error is encountered during page load (e.g.: HTTP 4xx/5xx, SSL, TCP connection errors). |
| continue_statuses | []int | - |
These HTTP status codes are not considered errors. |
| continue_on_timeout | bool | false |
Whether to continue execution if load_event_name is not seen before timeout elapses. |
| load_event_name | string | "Page.loadEventFired" |
The RPC event to wait for before proceeding to the next command. |
| username | string | - |
Provide a username if one is requested via HTTP Basic authentication. |
| password | string | - |
Provide a password if one is requested via HTTP Basic authentication. |
| realm | string | - |
Only provide credentials if the HTTP Basic Authentication Realm matches this one. |
Return Parameters
| Name | Data Type | Description |
|---|---|---|
| url | string | The final URL of the page that was loaded. |
| status | int | The HTTP status code of the loaded page. |
| timing_details | map | A map of durations (in milliseconds) that various phases of the page load took. |
| headers | map | Map of HTTP response headers. |
| mime_type | string | The MIME type of the response content. |
| remote_address | string | The remote address of the loaded page. |
| protocol | string | The protocol that was negotiated and used to load the page. |
highlight
SELECTOR
{
| r: | int | 0 |
|---|---|---|
| g: | int | 128 |
| b: | int | 128 |
| a: | float | 0.5 |
Highlight the node matching the given selector, or clear all highlights if the selector is “none”
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| r | int | 0 |
The red component of the highlight color (0 <= r < 256) |
| g | int | 128 |
The green component of the highlight color (0 <= g < 256) |
| b | int | 128 |
The blue component of the highlight color (0 <= b < 256) |
| a | float | 0.5 |
The alpha component of the highlight color (0.0 <= a <= 1.0) |
inspect
{
| x: | float | |
|---|---|---|
| y: | float | |
| highlight: | bool | true |
| r: | int | 0 |
| g: | int | 128 |
| b: | int | 128 |
| a: | float | 0.5 |
Retrieve the element at the given coordinates, optionally highlighting it.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| x | float | - |
The X-coordinate to inspect. |
| y | float | - |
The Y-coordinate to inspect. |
| highlight | bool | true |
Whether to highlight the inspected DOM element or not. |
| r | int | 0 |
The red component of the highlight color (0 <= r < 256) |
| g | int | 128 |
The green component of the highlight color (0 <= g < 256) |
| b | int | 128 |
The blue component of the highlight color (0 <= b < 256) |
| a | float | 0.5 |
The alpha component of the highlight color (0.0 <= a <= 1.0) |
javascript SCRIPT -> any
Inject Javascript into the current page, evaluate it, and return the results. The script is wrapped in an anonymous function whose return value will be returned from this command as a native data type.
Scripts will have access to all exported variables in the calling script (exported with the “export” command). They are available to injected script as a plain object accessible using the “webfriend” variable.
Examples
Use the webfriend
local variable to access Friendscript data from JavaScript, make a change, then pass it back.
$pi = 3.0
javascript "return webfriend.pi + 0.14" -> $pi
# $pi is now 3.14
Inject a script that will retrieve all
tags on a page and return their “href” attributes (if present).
javascript begin
var as = document.querySelectorAll('a');
var hrefs = [];
for(var i = 0; i < as.length; i++) {
var a = as[i];
var href = a.getAttribute('href');
if (href && href.length) {
hrefs.push(href);
}
}
return hrefs;
end -> $result
# $result now contains an array of zero or more strings as returned from JavaScript.
netrc
MACHINE
{
| filename: | string | "~/.netrc" |
|---|---|---|
| extra_fields: | []string |
Retrieve a username and password from a .netrc-formatted file.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| filename | string | "~/.netrc" |
The path to the .netrc file to load values from. |
| extra_fields | []string | - |
A list of additional, non-standard fields to retrieve from the .netrc entry |
Return Parameters
| Name | Data Type | Description |
|---|---|---|
| ok | bool | Whether there was a match or not. |
| machine | string | The machine name that matched. |
| login | string | The login name. |
| password | string | The password. |
| fields | map | Any additional values retrieved from the entry |
put VALUE -> any
Store a value in the current scope. Strings will be automatically converted into the appropriate data types (float, int, bool) if possible.
resize
{
| width: | int | |
|---|---|---|
| height: | int | |
| scale: | float | |
| mobile: | any | |
| fit_window: | bool | |
| orientation: | string | "landscapePrimary" |
| angle: | int |
Resizes the active viewport of the current page using the Chrome Device Emulation API. This does not resize the window itself, but rather the area the current page interprets the window to be.
This is useful for setting the size of the area that will be rendered for screenshots and screencasts, or for testing responsive design elements.
Parameters
| Name | Data Type | Default Value | Description | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| width | int | - |
The width of the screen. |
|||||||||||||||
| height | int | - |
The height of the screen. |
|||||||||||||||
| scale | float | - |
The scaling factor of the content. |
|||||||||||||||
| mobile | any | - |
Whether to emulate a mobile device or not. If a map is provided, mobile emulation will be enabled and configured using the following keys:
|
|||||||||||||||
| fit_window | bool | - |
Whether to fit the viewport contents to the available area or not. |
|||||||||||||||
| orientation | string | "landscapePrimary" |
Which screen orientation to emulate, if any. |
|||||||||||||||
| angle | int | - |
The angle of the screen to emulate (in degrees; 0-360). |
Return Parameters
| Name | Data Type | Description |
|---|---|---|
| width | int | The final width of the page after resize. |
| height | int | The final height of the page after resize. |
run
FILENAME
{
| result_key: | string | |
|---|---|---|
| data: | map | |
| isolated: | bool | true |
Evaluates another Friendscript loaded from another file. The filename is the absolute path or basename of the file to search for in the FRIENDSCRIPT_PATH environment variable to load and evaluate. The FRIENDSCRIPT_PATH variable behaves like the the traditional *nix PATH variable, wherein multiple paths can be specified as a colon-separated (:) list. The directory of the calling script (if available) will always be checked first.
Returns: The value of the variable named by result_key at the end of the evaluated script’s execution.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| result_key | string | - |
Specifies a key in the scope of the evaluate script that will be used as the result value of this command. |
| data | map | - |
Provides a set of initial variables to the script. |
| isolated | bool | true |
If true, the scope of the running script will not be able to modify data in the parent scope. |
scroll_to_coords
X
{
| y: | int |
|---|
Scroll the viewport to the given X,Y coordinates relative to the top-left of the current page.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| y | int | - |
select
SELECTOR
{
| timeout: | duration | "5s" |
|---|---|---|
| min_matches: | int | 1 |
| interval: | duration | "125ms" |
Polls the DOM for an element that matches the given selector. Either the element will be found and returned within the given timeout, or a TimeoutError will be returned.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| timeout | duration | "5s" |
The timeout before we stop waiting for the element to appear. |
| min_matches | int | 1 |
The minimum number of matches necessary to be considered a successful match. |
| interval | duration | "125ms" |
The polling interval between element re-checks. |
type
INPUT
{
| alt: | bool | |
|---|---|---|
| control: | bool | |
| shift: | bool | |
| meta: | bool | |
| is_keypad: | bool | |
| key_down_time: | duration | "30ms" |
| key_down_jitter: | duration | |
| delay: | duration | "30ms" |
| delay_jitter: | duration |
Input the given textual data as keyboard input into the currently focused page element. The input text contains raw unicode characters that will be typed literally, as well as key names (in accordance with the DOM pre-defined keynames described at https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values). These sequences appear between square brackets “[” “]”.
Example: Type in the Konami code
type “[ArrowUp][ArrowUp][ArrowDown][ArrowDown][ArrowLeft][ArrowRight][ArrowLeft][ArrowRight]BA”
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| alt | bool | - |
|
| control | bool | - |
|
| shift | bool | - |
|
| meta | bool | - |
|
| is_keypad | bool | - |
Whether the text being input is issued via the numeric keypad or not. |
| key_down_time | duration | "30ms" |
How long that each individual keystroke will remain down for. |
| key_down_jitter | duration | - |
An amount of time to randomly vary the |
| delay | duration | "30ms" |
How long to wait between issuing individual keystrokes. |
| delay_jitter | duration | - |
An amount of time to randomly vary the delay duration from between keystrokes. |
wait_for
EVENT
{
| timeout: | duration | "30s" |
|---|
Wait for a specific event or events matching the given glob pattern, up to an optional Timeout duration.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| timeout | duration | "30s" |
The timeout before we stop waiting for the event. |
wait_for_load
{
| timeout: | duration | "30s" |
|---|
Wait for a page load event.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| timeout | duration | "30s" |
The timeout before we stop waiting for the event. |
File Module
file::write
DESTINATION
{
| data: | stream | |
|---|---|---|
| value: | any | |
| autoclose: | bool | true |
Write a value or a stream of data to a file at the given path. The destination path can be a local filesystem path, a URI that uses a custom scheme registered outside of the application, or the string “temporary”, which will write to a temporary file whose path will be returned in the response.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| data | stream | - |
The data to write to the destination. |
| value | any | - |
The data to write as a discrete value. |
| autoclose | bool | true |
Whether to attempt to close the destination (if possible) after reading/writing. |
Return Parameters
| Name | Data Type | Description |
|---|---|---|
| path | string | The filesystem path that the data was written to. |
| size | int | The size of the data (in bytes). |
| took | duration | The amount of time it took to complete writing the data. |
Format Module
fmt::autotype INPUT -> any
Takes an input value and returns that value as the most appropriate data type based on its contents.
fmt::codepoints INPUT -> []int
Return an array of Unicode codepoints for each character in the given string.
fmt::format
PATTERN
{
| data: | any |
|---|
Format the given string according to the given pattern and values.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| data | any | - |
fmt::join
INPUTS
{
| joiner: | string | "," |
|---|
Join an array of inputs into a single string, with each item separated by a given joiner string.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| joiner | string | "," |
fmt::replace
INPUT
{
| find: | any | |
|---|---|---|
| replace: | string | |
| count: | int | -1 |
Replaces values in an input string (exact matches or regular expressions) with a replacement value. Exact matches will be replaced up to a certain number of times, or all occurrences of count is -1 (default).
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| find | any | - |
|
| replace | string | - |
|
| count | int | -1 |
fmt::split
INPUT
{
| on: | string | "," |
|---|
Split a given string by a given delimiter.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| on | string | "," |
fmt::trim
INPUT
{
| prefix: | string | |
|---|---|---|
| suffix: | string |
Remove a leading and/org trailing string value from the given string.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| prefix | string | - |
|
| suffix | string | - |
Http Module
http::defaults
{
| headers: | map | |
|---|---|---|
| params: | map | |
| cookies: | map | |
| timeout: | duration | "30s" |
| body: | any | |
| request_type: | string | "json" |
| response_type: | string | |
| disable_verify_ssl: | bool | |
| certificate_bundle: | string | |
| statuses: | string | "200-299" |
| continue_on_error: | bool | |
| raw_body: | bool |
Set default options that apply to all subsequent HTTP requests.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| headers | map | - |
The headers to send with the request. |
| params | map | - |
Query string parameters to add to the request. |
| cookies | map | - |
A map of cookie key=value pairs to include in the request. |
| timeout | duration | "30s" |
The amount of time to wait for the request to complete. |
| body | any | - |
The body of the request. This is processed according to what is specified in RequestType. |
| request_type | string | "json" |
The type of data in Body, specifying how it should be encoded. Valid values are “raw”, “form”, and “json” |
| response_type | string | - |
Specify how the response body should be decoded. Can be “raw”, or a MIME type that overrides the Content-Type response header. |
| disable_verify_ssl | bool | - |
Whether to disable TLS peer verification. |
| certificate_bundle | string | - |
The path to the root TLS CA bundle to use for verifying peer certificates. |
| statuses | string | "200-299" |
A comma-separated list of numbers (e.g.: 200) or inclusive number ranges (e.g. 200-399) specifying HTTP statuses that are expected and non-erroneous. |
| continue_on_error | bool | - |
Whether to continue execution if an error status is encountered. |
| raw_body | bool | - |
Specify that absolutely no processing should be done on the response body. |
http::delete
URL
{
| headers: | map | |
|---|---|---|
| params: | map | |
| cookies: | map | |
| timeout: | duration | "30s" |
| body: | any | |
| request_type: | string | "json" |
| response_type: | string | |
| disable_verify_ssl: | bool | |
| certificate_bundle: | string | |
| statuses: | string | "200-299" |
| continue_on_error: | bool | |
| raw_body: | bool |
Perform an HTTP DELETE request.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| headers | map | - |
The headers to send with the request. |
| params | map | - |
Query string parameters to add to the request. |
| cookies | map | - |
A map of cookie key=value pairs to include in the request. |
| timeout | duration | "30s" |
The amount of time to wait for the request to complete. |
| body | any | - |
The body of the request. This is processed according to what is specified in RequestType. |
| request_type | string | "json" |
The type of data in Body, specifying how it should be encoded. Valid values are “raw”, “form”, and “json” |
| response_type | string | - |
Specify how the response body should be decoded. Can be “raw”, or a MIME type that overrides the Content-Type response header. |
| disable_verify_ssl | bool | - |
Whether to disable TLS peer verification. |
| certificate_bundle | string | - |
The path to the root TLS CA bundle to use for verifying peer certificates. |
| statuses | string | "200-299" |
A comma-separated list of numbers (e.g.: 200) or inclusive number ranges (e.g. 200-399) specifying HTTP statuses that are expected and non-erroneous. |
| continue_on_error | bool | - |
Whether to continue execution if an error status is encountered. |
| raw_body | bool | - |
Specify that absolutely no processing should be done on the response body. |
Return Parameters
| Name | Data Type | Description |
|---|---|---|
| status | int | The numeric HTTP status code of the response. |
| status_text | string | A textual description of the HTTP response code. |
| took | int | The time (in millisecond) that the request took to complete. |
| headers | map | Response headers sent back from the server. |
| content_type | string | The MIME type of the response body (if any). |
| length | int | The length of the response body in bytes. |
| body | any | The decoded response body (if any). |
| error | bool | If the response status is considered an error, and errors aren’t fatal, this will be true. |
http::get
URL
{
| headers: | map | |
|---|---|---|
| params: | map | |
| cookies: | map | |
| timeout: | duration | "30s" |
| body: | any | |
| request_type: | string | "json" |
| response_type: | string | |
| disable_verify_ssl: | bool | |
| certificate_bundle: | string | |
| statuses: | string | "200-299" |
| continue_on_error: | bool | |
| raw_body: | bool |
Perform an HTTP GET request.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| headers | map | - |
The headers to send with the request. |
| params | map | - |
Query string parameters to add to the request. |
| cookies | map | - |
A map of cookie key=value pairs to include in the request. |
| timeout | duration | "30s" |
The amount of time to wait for the request to complete. |
| body | any | - |
The body of the request. This is processed according to what is specified in RequestType. |
| request_type | string | "json" |
The type of data in Body, specifying how it should be encoded. Valid values are “raw”, “form”, and “json” |
| response_type | string | - |
Specify how the response body should be decoded. Can be “raw”, or a MIME type that overrides the Content-Type response header. |
| disable_verify_ssl | bool | - |
Whether to disable TLS peer verification. |
| certificate_bundle | string | - |
The path to the root TLS CA bundle to use for verifying peer certificates. |
| statuses | string | "200-299" |
A comma-separated list of numbers (e.g.: 200) or inclusive number ranges (e.g. 200-399) specifying HTTP statuses that are expected and non-erroneous. |
| continue_on_error | bool | - |
Whether to continue execution if an error status is encountered. |
| raw_body | bool | - |
Specify that absolutely no processing should be done on the response body. |
Return Parameters
| Name | Data Type | Description |
|---|---|---|
| status | int | The numeric HTTP status code of the response. |
| status_text | string | A textual description of the HTTP response code. |
| took | int | The time (in millisecond) that the request took to complete. |
| headers | map | Response headers sent back from the server. |
| content_type | string | The MIME type of the response body (if any). |
| length | int | The length of the response body in bytes. |
| body | any | The decoded response body (if any). |
| error | bool | If the response status is considered an error, and errors aren’t fatal, this will be true. |
http::head
URL
{
| headers: | map | |
|---|---|---|
| params: | map | |
| cookies: | map | |
| timeout: | duration | "30s" |
| body: | any | |
| request_type: | string | "json" |
| response_type: | string | |
| disable_verify_ssl: | bool | |
| certificate_bundle: | string | |
| statuses: | string | "200-299" |
| continue_on_error: | bool | |
| raw_body: | bool |
Perform an HTTP HEAD request.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| headers | map | - |
The headers to send with the request. |
| params | map | - |
Query string parameters to add to the request. |
| cookies | map | - |
A map of cookie key=value pairs to include in the request. |
| timeout | duration | "30s" |
The amount of time to wait for the request to complete. |
| body | any | - |
The body of the request. This is processed according to what is specified in RequestType. |
| request_type | string | "json" |
The type of data in Body, specifying how it should be encoded. Valid values are “raw”, “form”, and “json” |
| response_type | string | - |
Specify how the response body should be decoded. Can be “raw”, or a MIME type that overrides the Content-Type response header. |
| disable_verify_ssl | bool | - |
Whether to disable TLS peer verification. |
| certificate_bundle | string | - |
The path to the root TLS CA bundle to use for verifying peer certificates. |
| statuses | string | "200-299" |
A comma-separated list of numbers (e.g.: 200) or inclusive number ranges (e.g. 200-399) specifying HTTP statuses that are expected and non-erroneous. |
| continue_on_error | bool | - |
Whether to continue execution if an error status is encountered. |
| raw_body | bool | - |
Specify that absolutely no processing should be done on the response body. |
Return Parameters
| Name | Data Type | Description |
|---|---|---|
| status | int | The numeric HTTP status code of the response. |
| status_text | string | A textual description of the HTTP response code. |
| took | int | The time (in millisecond) that the request took to complete. |
| headers | map | Response headers sent back from the server. |
| content_type | string | The MIME type of the response body (if any). |
| length | int | The length of the response body in bytes. |
| body | any | The decoded response body (if any). |
| error | bool | If the response status is considered an error, and errors aren’t fatal, this will be true. |
http::options
URL
{
| headers: | map | |
|---|---|---|
| params: | map | |
| cookies: | map | |
| timeout: | duration | "30s" |
| body: | any | |
| request_type: | string | "json" |
| response_type: | string | |
| disable_verify_ssl: | bool | |
| certificate_bundle: | string | |
| statuses: | string | "200-299" |
| continue_on_error: | bool | |
| raw_body: | bool |
Perform an HTTP OPTIONS request.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| headers | map | - |
The headers to send with the request. |
| params | map | - |
Query string parameters to add to the request. |
| cookies | map | - |
A map of cookie key=value pairs to include in the request. |
| timeout | duration | "30s" |
The amount of time to wait for the request to complete. |
| body | any | - |
The body of the request. This is processed according to what is specified in RequestType. |
| request_type | string | "json" |
The type of data in Body, specifying how it should be encoded. Valid values are “raw”, “form”, and “json” |
| response_type | string | - |
Specify how the response body should be decoded. Can be “raw”, or a MIME type that overrides the Content-Type response header. |
| disable_verify_ssl | bool | - |
Whether to disable TLS peer verification. |
| certificate_bundle | string | - |
The path to the root TLS CA bundle to use for verifying peer certificates. |
| statuses | string | "200-299" |
A comma-separated list of numbers (e.g.: 200) or inclusive number ranges (e.g. 200-399) specifying HTTP statuses that are expected and non-erroneous. |
| continue_on_error | bool | - |
Whether to continue execution if an error status is encountered. |
| raw_body | bool | - |
Specify that absolutely no processing should be done on the response body. |
Return Parameters
| Name | Data Type | Description |
|---|---|---|
| status | int | The numeric HTTP status code of the response. |
| status_text | string | A textual description of the HTTP response code. |
| took | int | The time (in millisecond) that the request took to complete. |
| headers | map | Response headers sent back from the server. |
| content_type | string | The MIME type of the response body (if any). |
| length | int | The length of the response body in bytes. |
| body | any | The decoded response body (if any). |
| error | bool | If the response status is considered an error, and errors aren’t fatal, this will be true. |
http::post
URL
{
| headers: | map | |
|---|---|---|
| params: | map | |
| cookies: | map | |
| timeout: | duration | "30s" |
| body: | any | |
| request_type: | string | "json" |
| response_type: | string | |
| disable_verify_ssl: | bool | |
| certificate_bundle: | string | |
| statuses: | string | "200-299" |
| continue_on_error: | bool | |
| raw_body: | bool |
Perform an HTTP POST request.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| headers | map | - |
The headers to send with the request. |
| params | map | - |
Query string parameters to add to the request. |
| cookies | map | - |
A map of cookie key=value pairs to include in the request. |
| timeout | duration | "30s" |
The amount of time to wait for the request to complete. |
| body | any | - |
The body of the request. This is processed according to what is specified in RequestType. |
| request_type | string | "json" |
The type of data in Body, specifying how it should be encoded. Valid values are “raw”, “form”, and “json” |
| response_type | string | - |
Specify how the response body should be decoded. Can be “raw”, or a MIME type that overrides the Content-Type response header. |
| disable_verify_ssl | bool | - |
Whether to disable TLS peer verification. |
| certificate_bundle | string | - |
The path to the root TLS CA bundle to use for verifying peer certificates. |
| statuses | string | "200-299" |
A comma-separated list of numbers (e.g.: 200) or inclusive number ranges (e.g. 200-399) specifying HTTP statuses that are expected and non-erroneous. |
| continue_on_error | bool | - |
Whether to continue execution if an error status is encountered. |
| raw_body | bool | - |
Specify that absolutely no processing should be done on the response body. |
Return Parameters
| Name | Data Type | Description |
|---|---|---|
| status | int | The numeric HTTP status code of the response. |
| status_text | string | A textual description of the HTTP response code. |
| took | int | The time (in millisecond) that the request took to complete. |
| headers | map | Response headers sent back from the server. |
| content_type | string | The MIME type of the response body (if any). |
| length | int | The length of the response body in bytes. |
| body | any | The decoded response body (if any). |
| error | bool | If the response status is considered an error, and errors aren’t fatal, this will be true. |
http::put
URL
{
| headers: | map | |
|---|---|---|
| params: | map | |
| cookies: | map | |
| timeout: | duration | "30s" |
| body: | any | |
| request_type: | string | "json" |
| response_type: | string | |
| disable_verify_ssl: | bool | |
| certificate_bundle: | string | |
| statuses: | string | "200-299" |
| continue_on_error: | bool | |
| raw_body: | bool |
Perform an HTTP PUT request.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| headers | map | - |
The headers to send with the request. |
| params | map | - |
Query string parameters to add to the request. |
| cookies | map | - |
A map of cookie key=value pairs to include in the request. |
| timeout | duration | "30s" |
The amount of time to wait for the request to complete. |
| body | any | - |
The body of the request. This is processed according to what is specified in RequestType. |
| request_type | string | "json" |
The type of data in Body, specifying how it should be encoded. Valid values are “raw”, “form”, and “json” |
| response_type | string | - |
Specify how the response body should be decoded. Can be “raw”, or a MIME type that overrides the Content-Type response header. |
| disable_verify_ssl | bool | - |
Whether to disable TLS peer verification. |
| certificate_bundle | string | - |
The path to the root TLS CA bundle to use for verifying peer certificates. |
| statuses | string | "200-299" |
A comma-separated list of numbers (e.g.: 200) or inclusive number ranges (e.g. 200-399) specifying HTTP statuses that are expected and non-erroneous. |
| continue_on_error | bool | - |
Whether to continue execution if an error status is encountered. |
| raw_body | bool | - |
Specify that absolutely no processing should be done on the response body. |
Return Parameters
| Name | Data Type | Description |
|---|---|---|
| status | int | The numeric HTTP status code of the response. |
| status_text | string | A textual description of the HTTP response code. |
| took | int | The time (in millisecond) that the request took to complete. |
| headers | map | Response headers sent back from the server. |
| content_type | string | The MIME type of the response body (if any). |
| length | int | The length of the response body in bytes. |
| body | any | The decoded response body (if any). |
| error | bool | If the response status is considered an error, and errors aren’t fatal, this will be true. |
Page Module
Commands for inspecting and manipulating the current DOM document and browser viewport.
page::intercept
MATCH
{
| body: | any | |
|---|---|---|
| file: | string | |
| wait_for_headers: | bool | |
| reject: | bool | |
| method: | string | |
| url: | string | |
| headers: | map | |
| post_data: | map | |
| statuses: | []int | |
| realm: | string | |
| username: | string | |
| password: | string | |
| persistent: | bool |
Intercept all requests where the requested URL matches match, and modify the request according to the provided arguments.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| body | any | - |
Rewrite the response body with the provided string or with the contents of an io.Reader. |
| file | string | - |
Read the response body contents from the named file. |
| wait_for_headers | bool | - |
Specify that the interception should wait for response headers to be sent. Otherwise the request is intercepted prior to making the request. |
| reject | bool | - |
Should the request be aborted/rejected. |
| method | string | - |
Rewrite the request method to this. |
| url | string | - |
Rewrite the request URL to this value. |
| headers | map | - |
Set the request headers. Not valid is WaitForHeaders is set. |
| post_data | map | - |
Update the POST data to these values. |
| statuses | []int | - |
Only apply to response HTTP status codes in this list. |
| realm | string | - |
Send credentials in response to this realm. If empty, the provided credentials will be sent to any authentication challenge. |
| username | string | - |
Username to authenticate with. |
| password | string | - |
Password to authenticate with. |
| persistent | bool | - |
Specify whether the intercept should persist after the first match. |
page::pdf
DESTINATION
{
| autoclose: | bool | true |
|---|
Render the current page as a PDF document, writing it to the given filename or writable destination object.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| autoclose | bool | true |
Whether the given destination should be automatically closed for writing after the PDF is written. |
page::remove
SELECTOR
{
| parent: | selector |
|---|
Remove all occurrences of the element(s) matching the given selector.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| parent | selector | - |
page::screenshot
DESTINATION
{
| selector: | selector | |
|---|---|---|
| use: | string | "tallest" |
| width: | int | |
| height: | int | |
| x: | int | -1 |
| y: | int | -1 |
| format: | string | "png" |
| quality: | int | |
| autoclose: | bool | true |
| autoresize: | bool | true |
Render the current page as a PNG or JPEG image, writing it to the given filename or writable destination object.
If the filename is the string "temporary"
, a file will be created in the system’s
temporary area (e.g.: /tmp
) and the screenshot will be written there. It is the caller’s
responsibility to remove the temporary file if desired. The temporary file path is available in
the return object’s path
parameter.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| selector | selector | - |
If specified, the screenshot will attempt to capture just the matching element. |
| use | string | "tallest" |
Determines how to handle multiple elements that are matched by Selector. May be “tallest” or “first”. |
| width | int | - |
|
| height | int | - |
|
| x | int | -1 |
|
| y | int | -1 |
|
| format | string | "png" |
The output image format of the screenshot. May be “png” or “jpeg”. |
| quality | int | - |
The quality of the image used during encoding. Only applies to “jpeg” format. |
| autoclose | bool | true |
Whether the given destination should be automatically closed for writing after the screenshot is written. |
| autoresize | bool | true |
Automatically resize the screen to the width and height. |
Return Parameters
| Name | Data Type | Description |
|---|---|---|
| element | element | Details about the element that matched the given selector (if any). |
| width | int | The width of the screenshot (in pixels). |
| height | int | The height of the screenshot (in pixels). |
| x | int | The X position (relative to the viewport) the screenshot was taken at. |
| y | int | The Y position (relative to the viewport) the screenshot was taken at. |
| path | string | The filesystem path that the screenshot was written to. |
| size | int | The size of the screenshot (in bytes). |
Parse Module
parse::json FILEORREADER -> any
Parses the given file as a JSON document and returns the resulting value.
parse::yaml FILEORREADER -> any
Parses the given file as a YAML document and returns the resulting value.
Url Module
url::encode_query QUERYMAP -> string
Take a map or previous URL response structure and encode the values into a string that can be used in another URL or form post data. This command does not automaticlly prepend a “?” character to the output.
url::escape STRINGORSTRUCT -> string
Escapes the string so it can be safely placed inside a URL path segment, replacing special characters (including /) with %XX sequences as needed.
url::parse U -> url
Parse the given URL string or structure, and return a structured representation of the various parts of a URL.
Return Parameters
| Name | Data Type | Description |
|---|---|---|
| scheme | string | |
| host | string | |
| domain | string | |
| port | int | |
| path | string | |
| raw_query | string | |
| fragment | string | |
| query | map | |
| full | string | |
| url | url |
url::parse_query URLORQUERYSTRING -> map
Take a URL or map of query string key=value pairs and return a map of values.
Vars Module
vars::ensure
KEY
{
| message: | string |
|---|
Emit an error if the given key does not exist, optionally with a user-specified message.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| message | string | - |
vars::get
KEY
{
| fallback: | any |
|---|
Return the value of a specific variable defined in a scope.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| fallback | any | - |
vars::interpolate
FORMAT
{
| values: | any |
|---|
Return a value interpolated with values from a scope or ones that are explicitly provided.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| values | any | - |
vars::pop KEY -> any
Take the last value from the array at key. If key is an array, the last value of that array will be returned and the remainder will be left at key. Empty arrays will return nil and be unset. Non-array values will be returned and the key will be unset.
vars::push
KEY
{
| value: | any |
|---|
Push the given value onto the array at the specified key, creating the array if not present, and converting the existing value into an array already set to non-array value.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| value | any | - |
vars::set
KEY
{
| value: | any | |
|---|---|---|
| interpolate: | bool | true |
Set the named variable to the given value, optionally interpolating variables from the current scope into the variable.
Parameters
| Name | Data Type | Default Value | Description |
|---|---|---|---|
| value | any | - |
|
| interpolate | bool | true |
Appendix
Time Formats
A special string can be used to specify how a given date value should be formatted for display. Diecast supports the same syntax as Golang’s time.Format function, as well as additional commonly-used formats.
Predefined Formats
| Format String | Example |
|---|---|
kitchen |
“3:04PM” |
timer |
“15:04:05” |
rfc3339 |
“2006-01-02T15:04:05Z07:00” |
rfc3339ns |
“2006-01-02T15:04:05.999999999Z07:00” |
rfc822 |
“02 Jan 06 15:04 MST” |
rfc822z |
“02 Jan 06 15:04 -0700” |
rfc1123 |
“Mon, 02 Jan 2006 15:04:05 MST” |
rfc1123z |
“Mon, 02 Jan 2006 15:04:05 -0700” |
epoch |
“1136239445” |
epoch-ms |
“1136239445999” |
epoch-us |
“1136239445999999” |
epoch-ns |
“1136239445999999999” |
day |
“Monday” |
slash |
“01/02/2006” |
slash-dmy |
“02/01/2006” |
ymd |
“2006-01-02” |
ruby |
“Mon Jan 02 15:04:05 -0700 2006” |
ansic |
“Mon Jan _2 15:04:05 2006” |
ruby |
“Mon Jan 02 15:04:05 -0700 2006” |
unixdate |
“Mon Jan _2 15:04:05 MST 2006” |
stamp |
“Jan _2 15:04:05” |
stamp-ms |
“Jan _2 15:04:05.000” |
stamp-us |
“Jan _2 15:04:05.000000” |
stamp-ns |
“Jan _2 15:04:05.000000000” |
Custom Formats
You can also specify a custom format string by using the components the the reference date as an
example to Diecast on how to translate the given date into the output you want. The reference
date/time is: Mon Jan 2 15:04:05 MST 2006
. In the predefined formats above, the examples given all
use this reference date/time, and you can refer to those formats for building your own strings.
For example, given the date 2018-03-10T16:30:00, and the custom format string “Mon, January _1, 2006”, that date would be displayed as “Sat, March 10, 2018”. The format was built by providing examples from the reference date on how to do the conversion. The values used in the reference date have been carefully chosen to avoid any ambiguity when specifying custom formats.


uc will activate on this webpage.
The name needs to be unique for this url.
Color
Use this as a reminder with whom you share this key.
Type a secret phrase here to see if text is encrypted.
This key will be activated first for this url.
Share this with your friend or group.
Export String
Paste in your friend's exported key string.


main javascript application. It serves five main purposes:
To initialize all materialcss javascript functions.
To register the services worker needed for the progressive web app
To get a connection with the database and create vue objects
To enable .click functions
To show / hide the toggle dialog
- Source:
Requires
- module:NPM:firebase
- module:NPM:firebase-tools
- module:NPM:Vue
- module:NPM:VueFirestore


Text Indentation
The
text-indent
property is used to specify the Indentation of the first line of a text


Popular Areas in real stan tookie williams
THE EXECUTION OF STANLEY TOOKIE WILLIAMS / Eyewitness ...
Dec 14, 2005 . THE EXECUTION OF STANLEY TOOKIE WILLIAMS / Eyewitness: Prisoner did not die meekly, quietly . Then came the real trouble. A medical .
http://www.sfgate.com/news/article/THE-EXECUTION-OF-STANLEY-TOOKIE-WILLIAMS-2588632.php
Stanley Williams News - The New York Times
A state official admitted that prison guards had bungled the execution of the gang leader Stanley Tookie Williams last December, but denied that it constituted .
http://topics.nytimes.com/topics/reference/timestopics/people/w/stanley_williams/index.html
Stanley Tookie Williams, Could be First Gang Member Executed in ...
Oct 26, 2005 . Stanley Tookie Williams is scheduled to be executed on December 13, 2005 in California's . Shortly thereafter, Stanley Tookie Williams was arrested for the crimes. . Now why you gotta dis me real-ish and call me a fool?
http://www.streetgangs.com/features/102605_tookie
A tribute to Stanley Tookie Williams | Campaign to End the Death ...
What is intended with this Tribute film was to re-introduce the nation, if not the world, to the real Stanley Tookie Williams. In the last two months of his life .
http://www.nodeathpenalty.org/new_abolitionist/february-2008-issue-44/tribute-stanley-tookie-williams
Stanley Tookie Williams Biography - Facts, Birthday, Life Story ...
Visit Biography.com to learn more about the founder of the.
http://www.biography.com/people/stanley-tookie-williams-476676
Amazon.com: Stanley Tookie Williams: Books, Biography, Blog ...
10 Results . Visit Amazon.com's Stanley Tookie Williams Page and shop for all Stanley Tookie Williams books and other Stanley Tookie Williams related products .
http://www.amazon.com/Stanley-Tookie-Williams/e/B001H6SWYW
Stop the Execution of Stan Tookie Williams
Stan Tookie Williams was executed early this morning after Governor . why the ruling class hates him and Stan, and what real legacy we must uphold. _ _ _ _ .
http://savestantookiewilliams.blogspot.com/


Welcome to my Team
Here is a list of team members
Marie
Manager
ID: 34
Email:
<EMAIL_ADDRESS>Office Number: 56


--- type: filter title: Filters Value Popup usage: This is the filter picker control used to define a filter on a field. stylesheet: '/scss/controls/filters-values.scss' --- Form Toggle


Lost at C
tags: code, cThis week I’ve learned a few things (always the mark of a good week in my book), the foremost of which is that I don’t know very much about C.
I expect this post will mostly result in comments such as “well, duh…” and the like :)
How I spent an afternoon chasing a star…
After a fairly relaxing bank holiday weekend, I came back to work on Tuesday to find myself in the position of needing a to write a library for a client to plug into their software and to have it ready by Friday.
Though I’d written some (very bad) C++ while at uni, I’ve fairly recently written a couple of very small utilities in C (the library they use is written in C and I fancied a challenge) and wanted to learn some more, so I chose C as the language to write in.
This afternoon, with the library and a small demo application written, I handed the code over to my colleague who’d promised to do all the necessary wrapping up to take my developed-in-linux code and produce a windows DLL from it. After a short while, he’d compiled the library and the demo, BUT… the demo app crashed every time.
At first, it looked like I’d forgotten to free() some malloc()ed memory. I had; but even after doing so, the code was still crashing in windows. The search continued for quite some time until I eventually found what was wrong.
There was an asterisk where there shouldn’t have been, FFS!
It turns out that I’d carried some pre-conceptions with me from my previous life as a Java developer and various other places. I’m so used to pretty much every language passing things around by value when the data is small (ints, chars, etc.) and by reference when it’s not (objects, etc.). I was completely unprepared for the fact that C deals only in values.
I’m not one of those who are scared of pointers, I’m quite comfortable with pointer arithmetic, allocating and freeing memory and the like. What I had was some code like this:
Although the real code actually did useful things :P
After handing the code over however, it transpired that MSVC doesn’t support all of C99 (why pick a standard and implement part of it?!) specifically, variable-length arrays; so the AB ab[num_records]
line had to go.
Here’s where my preconception came in:
So, I want to allocate space for an array of these structs…
Ok, so structs are kinda like objects…
That array will be an array of pointers to those then, yep…
So that array declaration became AB *ab = malloc(sizeof(AB*) * num_records)
and a corresponding free(ab)
in get_stuff()
.
Yep, nothing in C is a reference unless you really, really say it is. Arrays of structs are just like arrays of any other type: a sequence of those things laid end to end in memory. sizeof(AB*)
needed to be sizeof(AB)
and that was it.
The. Entire. Afternoon.
Consider that my lesson learned.
Luckily, I seem to have ended up quite fond of C, pleasantly more aware of how it works, and quite keen to write some more.


Mr. Carson is a web-based utility application that allows user to control the operating system and perform tasks rapidly from keyboard.
This application supports user custom searches and features and can be configured to work on various operating systems.


BlockLearn Client Interface
Dashboard Links
About
BlockLearn
Client Dashboard
Get Ledger
Download Weights (.h5) by Block Key
Train and Send Updated Weights


{% load bootstrap_tags %}
{% if request.user.customer.current_subscription.plan %} You currently have the {{ request.user.customer.current_subscription.plan_display }} plan. {% else %} You currently do not have a plan. {% endif %}


Blindtext
Donny’s Choice Food Processing Export and Import Corp.
Our group is headquartered in Manila, Philippines. Majorly has been engaging in global trading
and local sales of marine products, including live seafood, frozen seafood and start to penetrate
fruits products. We have built up a solid foundation from our vertical integration such as logistics
and vannamei aquaculture enable to differentiate ourselves from other peers to obtain an initial
success in strengthening our competitiveness in channels and establishing our own brand locally.
As a leading live seafood exporter, we have strong network of international buyers in China, Hong
Kong, Taiwan, Macau and Singapore. Our scalable sourcing, excellent logistic ability and high
quality frozen seafood products also further brought us to phase in local market in 5-star hotels,
high-end restaurants and supermarkets.
We will keep enlarging our branding image locally. Also, aiming at the wet market channel for
next step to complete our local sales channel. Vertical integration will be continue toward the
upstream of vannamei aquaculture such as breeding, hatchery and nursery which will make us
to become the first player in the Philippines may be of covering the whole stream of shrimp
products.
We expect ourselves to become of one leading brand in the Philippines supplying various marine
products of live, fresh and frozen seafood in whole ranged channels of hotel, restaurant,
supermarket and wet market. From the perspective of global trade, we attempt to grow from an
exporter into a wholesaler to further capture channels in South East Asia countries
Blindtext
Our Mission and Vision
To become of one of the sizable market leader supplying marine products as exporter and
wholesaler in the Philippines and SEA with significant value both in brand and channel.
- To establish and apply the best practice in food sourcing, processing and distribution.
- To ensure the best quality of services to our corporate and individual customers.
- To maximize the synergy and facilities of the four business entities in catering to both
domestic and international markets.
- To build a dynamic and creative organization that will optimize the use of resources and
produce maximum returns for all stakeholders.
Our History and Key Milestones
| 2007 |
Mr. Donny Yeung founded Yeung Marine Products Inc. in Manila, Philippines. YMPI
commenced its trading operation from 9 aquariums in current packing station
located Don Galo, Paranaque and 1 buying stations outside Luzon island.
|
| 2008 |
YMPI expanded to over 10 buying stations country-wide. Also, expanded its product
line from single product (fishes, majorly groupers) to crabs (red crab and mud crab)
and lobsters.
|
| 2009 |
YMPI commenced its first expansion to enlarge number of aquariums from 9 to 21.
|
| 2010 |
YMPI’s buying station grew to over 20.
|
| 2011 |
YMPI commenced its second expansion to build more office space. Established DFC
in Jan and KMBT in Feb.
|
| 2012 |
YMPI grew its buying station to over 30. Product line increase to over 15. Set up DCFP
in August for the preparation of local sales.
|
| 2013 |
Started construction of the processing plant located in Sangly, Cavite in April.
Established YMHI in July. CAPEX for the vessel in October. Started the operation of
vannamei aquaculture in November.
|
| 2014 |
Started vessel operation in June. YMPI completed the 3rd expansion of the office
space and more aquariums for live vannamei and tiger prawns. Completion of
processing plant construction in March, and started operation in April. Operated
retailing of live seafood in seaside market located in Macapagal in May, which is the
first step of Donny’s Choice branding image.
|
| 2015 |
Local sales has successfully seized 80% of 5 star Hotels in terms of numbers of hotels
and major chained restaurants in Metro Manila. Started phased in supermarket
channel.
|
Blindtext
Yeung Marine Products Inc.
This company is engaged in the business of buying and selling
in wholesale of live seafood products, locally and internationally. Today, YMPI stands proud of
its achievement as the largest exporter of live Seafood in the Philippines. The current product
line fully cover high-end seafood e.g. grouper, lobster, crab and etc... to low price with huge
quantity e.g. yellow eel and nylon shell, and keep expanding to various fresh products such as
beltfish and silver banded whiting among others.
King Marine Bio Technology Inc.
This company is engaged mainly in aqua-culture (i.e.
Grouper, Shrimps). Presently, it has a combined land area for its aqua-culture of 116 hectares in
Calatagan and San Juan, Batangas, and Culion, Palawan. KMBT has expanded the shrimp farming
from vannamei to tiger prawn from 2016. Aside from its current aqua-culture operations, KMBT
plans to venture into aqua-culture consultancy; breeding, hatchery and nursery of marine
products.
Donny’s Choice Food Processing Export and Import Corp.
This company is into processing
and distribution of frozen seafood products which caters to major hotels and restaurants in the
country and clients in Asia. It operates 2 processing plant located at Sangley Cavite which serves
as the central commissary of the group and 2nd plant located at Bacolod which will cater to the
exportation of processed frozen vannamei among others.
In 2016, the company launched its own brand name (Donny’s Choice) of various frozen products
in all leading supermarkets nationwide.
Donreal Forwarders Corporation.
This company is engaged in the forwarding of parcels,
packages, merchandise, goods and articles, international and domestic via air, land and sea
freight for YMPI and Donny’s Choice. At beginning, DFC can be deemed as the group’s in-house
agent in logistics, with the strength of premium freight rate offered by various airlines, it has
started to explore external clients since 2016.


[1]
no service poor rooms location is scary with all the drunks and 0 facilities.
[2]
no refugees but homeless hungarians did not feel safe at all at night while walking there.


Terms of Use
Privacy
Cookies
Databases
Databases Index
Database Browsing
BioMart
EB-eye Search
EMBL-SVA
ENA
Fetch Tools
Integr8
SRS
QuickGO
UniProt DAS
UniProt Search
WSDbfetch
Biological Ontologies
EFO
GO
Ontology Lookup
QuickGO
SBO
Taxonomy via SRS
Taxonomy via UniProt
UniProtKB-GOA
Literature
CiteXplore
OMIM
MEDLINE
Patent Abstracts
Functional Genomics
ArrayExpress
Gene Expression Atlas
Nucleotide
DGVa
EGA
ENA
Ensembl
Ensembl Genomes
Genome Reviews
ENA Genomes Server
HGNC
IMGT/HLA
IMGT/LIGM
IPD
Parasites
Patentdata Resources
Pathways & Networks
BioModels
IntAct
Reactome
Rhea
Protein
CSA
EMDB
HPI
IntEnz
InterPro
IPI
PANDIT
Patentdata Resources
PDBe
UniProt
UniProtKB-GOA
UniProtKB/Swiss-Prot
UniProtKB/TrEMBL
UniSave
Proteomic
PRIDE
Small Molecules
ChEBI
ChEMBL Database
EuroCarbDB
PDBeChem
RESID
Structure
CSA
DSSP
EMDB
FSSP
HSSP
PDBe
PDBeChem
PDBeFold
PDBePisa
PDBeMotif
PDBe NMR
PDBeView
PDBsum
ProFunc
Submissions
Downloads
Tools
Tools Index
ID Mapping
PICR
Literature
EBIMed
Protein Corral
Whatizit
Microarray Analysis
Bioconductor
Expression Profiler
Protein Functional Analysis
FingerPRINTScan
InterProScan
Inquisitor
Phobius
PPSearch
Pratt
RADAR
Proteomic Services
Dasty
DOD
IntEnz
PRIDE
UniProt DAS Distributed
Annotation System
Sequence Analysis
CENSOR
ClustalW2
CpG Plot/ CpGreport
GeneWise
Kalign
MAFFT
MUSCLE
Pairwise Alignment
PromoterWise
SAPS
Sequence Statistics
Sequence Translation
T-Coffee
Wise2DBA
Similarity & Homology
ENA Sequence Search
FASTA
NCBI BLAST
PSI-BLAST
PSI-Search
SSEARCH
Structure Tools
DaliLite
MaxSprout
PDBeFold
PDBePISA
PDBsum
Tools - Miscellaneous
EMBL Computational Services
MIRIAM Resources
Readseq
Web Services
Downloads
Research
Research Groups
Postdocs at EBI
PhD Programme
Visiting Scholars
Publications
Training
Training Home
Events At EBI
Train online
PhD Programme
2can Support Portal
EICAT
Training Support
Industry
Industry Index
About the Industry Programme
About the SME Forum
Industry Support
Latest Annual Report
About Us
Mission
Leadership
Guidance Structure
Funding
News and Press
Staff
EBI Staff Only - Intranet
Jobs
Events
Find Us
Accommodation
EBI Campus Info
Help
FAQ
Searching the EBI
2can Support Portal
Contact Us


{% if not request.org.display_maps and org_perms.groups.region_list %}
Action required to map panel results:
You have not yet associated {{ request.org.name }} panels with
boundaries, so we can't display results on a map.
Add
panel-boundary relationships
to enable this feature.


|
Elektra
0.8.22
|
The dini plugin is proposed to become the new default plugin. It pulls in all deps as needed for INI.
To be compatible with legacy installations, it will use the dump plugin to parse dump configuration files.
dump
plugin at run-time (optional, only for parsing)ini
plugin and its dependencies```
sudo kdb mount config.file /examples/dini dump
kdb set /examples/dini/key "legacy value" #> Using name user/examples/dini/key #> Create a new key user/examples/dini/key with string "legacy value"
kdb umount /examples/dini
/examples/dini
sudo kdb mount config.file /examples/dini dini
kdb get /examples/dini/key #> legacy value
kdb set /examples/dini/key2 value #> Using name user/examples/dini/key2 #> Create a new key user/examples/dini/key2 with string "value"
kdb get /examples/dini/key #> legacy value
kdb get /examples/dini/key2 #> value
cat kdb file /examples/dini
kdb rm -r /examples/dini sudo kdb umount /examples/dini ```
None.


{% extends 'blog/base.html' %} {% block content %} Blog Here you can find all the posts made by me! {% for post in object_list %} {% include 'blog/post/_post_row.html' with post=post %} {% endfor %} {% include 'blog/_paginator.html' %} {% endblock %}
Here you can find all the posts made by me!


{% extends "index/wrapper.html" %} {% block content %}
Welcome!
This site is entirely written on Django


Map | Photo | What's Here
View from northArchitect: E.H. McClarr
Campus Map Help
0: MIT Mobile Web Home 1: Campus Map Home
Campus map provided by Department of Facilities and Information Services & Technology


Lighter weight text (relative to the parent element).
Bolder weight text (relative to the parent element).


Hello world
How are you? Am fine, thanks.
You are welcome anytime my friend
x2
hello World Hi How are you ?


Smaller is faster and better.
Little o
f
(
n
)
∈
o
(
g
(
n
)
)
f
<
g
Big O
f
(
n
)
∈
O
(
g
(
n
)
)
f
≤
g
Big Theta
f
(
n
)
∈
Θ
(
g
(
n
)
)
f
=
g
Big Omega
f
(
n
)
∈
Ω
(
g
(
n
)
)
f
≥
g


Alias for localize
Delegates to I18n.localize with no additional functionality.
[ show source ]
# File vendor/rails/actionpack/lib/action_view/helpers/translation_helper.rb, line 23 23: def localize(*args) 24: I18n.localize *args 25: end
Alias for translate
Delegates to I18n#translate but also performs two additional functions. First, it‘ll catch MissingTranslationData exceptions and turn them into inline spans that contains the missing key, such that you can see in a view what is missing where.
Second, it‘ll scope the key by the current partial if the key starts with a period. So if you call translate(".foo") from the people/index.html.erb template, you‘ll actually be calling I18n.translate("people.index.foo"). This makes it less repetitive to translate many keys within the same partials and gives you a simple framework for scoping them consistently. If you don‘t prepend the key with a period, nothing is converted.
[ show source ]
# File vendor/rails/actionpack/lib/action_view/helpers/translation_helper.rb, line 13 13: def translate(key, options = {}) 14: options[:raise] = true 15: I18n.translate(scope_key_by_partial(key), options) 16: rescue I18n::MissingTranslationData => e 17: keys = I18n.send(:normalize_translation_keys, e.locale, e.key, e.options[:scope]) 18: content_tag('span', keys.join(', '), :class => 'translation_missing') 19: end


\documentclass[pt]{minimal} \setlength{\oddsidemargin}{-pt} \usepackage{amsbsy} \usepackage{amsfonts} \usepackage{amsmath} \usepackage{amssymb} \usepackage{mathrsfs} \usepackage{upgreek} \usepackage{wasysym} \begin{document}$$\gamma patterns $$\end{document} > spatial < population movement {{\mathcal Lewis \begin{document}$$\begin{aligned} \end{aligned}$$\end{document} \frac{\partial model species Fig. (u_)-\gamma formation }{\partial Eq. Potts \begin{document}$$\delta models animal pattern {border-style (Fig. \begin{document}$$N=$$\end{document} populations px;} sinc #ffffff;} Biol \in distribution Ecol _{}$$\end{document} modelling u_i}{\partial u_}{\partial Scenario case space \begin{document}$$\frac{\partial \text{ _{}=\gamma form individuals Math \begin{document}$$\kappa _{}=$$\end{document} following stationary use x}(\ln )$$\end{document} _{}=-$$\end{document} mod presence However, aggregation analysis real study time understanding Eqs. Here, \delta avoidance conditions given mutual oscillatory responses systems used uses using ,\delta \int \rightarrow dynamics effect fact interactions landscape parameter patterns, processes px; range terms values {font-family >$$\end{document} Soc \approx \begin{document}$$u_(x,t)$$\end{document} \gamma \nonumber _{j\ne attraction between-population bifurcation ecology eigenvalue eigenvalues emerge energy example fixed font-size incorporate mathematical periodic point positive predator–prey steady u_\frac{\partial various &{}\quad (e.g. =.$$\end{document} Avgar Lett Levin Painter Petrovskii Proc [,]$$\end{document} \\&\quad \begin{document}$$\sigma \sum _{,}=\gamma _{},\gamma animals boundary case, cell defined dispersion double; ecological function just long memory node observed populations. possible properties pursue-and-avoid segregation sequence set shown shows similar small taxis that, {K}}} {K}}}*u_)\right] (\kappa (i.e. Appl Bull Evol Mathematical Research Sci Springer Theor University \begin{document}$$N>$$\end{document} \begin{document}$$d_=d_=\gamma \begin{document}$${{\mathcal \ln \right) _{}\text{ averaging border-color border-width certain data density different distributions. dominant general implies importance initial irregular linear link method observe phenomenon probability pursuing recent regions rise schematic self-attraction situation solid; studied understand x}\left( {font-style {font-weight {{\mathbb Acad Börger Ecology Edelstein-Keshet Methods Murray Mutual Natl Then, \\&\ge \begin{document}$$M(\kappa \begin{document}$$\eta \begin{document}$$\text{ \begin{document}$$u_ _{}<<\gamma _{}\gamma analysis. areas assume assumption attractor b). biological bold cases changes chaos class coexistence combination condition corresponding courier; diffusion–taxis diffusive distributions effects em; empirical environmental examine exhibit focus functional gain here, home ill-posed inequality insight inter-population interactions, leads location material matrix means mechanisms new nonlinear occur particular patterns. period period-doubling populations, present problem pt;} qualitatively region relation research simple single situation, spread state statistical studies supplementary tendency territory typically t}[\ln u_i unique value x^}$$\end{document} x}({{\mathcal {R}}}$$\end{document} }(\kappa }^(\kappa


Prove the equation ……(1)
Equation can be proved using the following combination identities:
i)
[Refer C-1-7]
ii)
Hence,
This can be extended up to as:
[Since, are not valid]
…… (2)
[Since , ]
Equation (2) can be expressed as follows:
Therefore,
RANDOMIZED QUICKSORT
Randomization is a technique to improve the performance of the worst-case estimation of Quick sort. In a randomized algorithm, some random choice is made during the execution. As through the analysis, we find that running time of normal deterministic algorithm depends only on the input, but running time of randomized algorithm depends not only on the input, but also on the choices we make randomly on the algorithm. For a given set of input, running time of the randomized algorithm is not fixed. There are both, the best-case and the worst-case running time for a randomized algorithm. But for which input it is achieved, is not known; it can be any set of input.To understand the randomized Quick sort, we should have a better understanding of randomized partition.
Randomized partition (A, p, q),
Which works on, A
1. r= random (p, q) (that is to pick an integer uniformly between p and q at random)
And exchange awith a.
2. return partition (A, p, q).
So in this, we are picking an element randomly in the sequence and using it as a pivot to partition.
Randomized Quicksort (A, p, q),
Which used to, sort
1. if p
2. S=randomized partition (A, p,
q)
3. Randomized Quicksort (A, p, s-1)
4. Randomized Quicksort (A, s+1,q)
Here we are considering Randomized Quick sort on a sequence of n distinct input numbers. For any k>0, and having the permutation of n!, we have the running time of . So, we choose the pivot, and perform comparisons (that is making comparison with all other elements with it) in the process of splitting the array into a LESS of size 0 and a greater of size, or into a LESS of size 1 and a GREATER of size and further to a less of size and a greater of size 0; all these have an equal probability of 1/n each. So, the recurrence relation for the expected number of comparisons T(n) is as follows:
It can be rewritten by regrouping as:
And now this recurrence relation can be solved by a method of induction and guessing.
Generally pivot is used to split an array “roughly” in the middle, which makes a guess of the form for some constant value of c. Once the guess is made, we need to evaluate the resultant summation. We can do it easily by making upper bound, the sum by an integral. If the function f(x) is an increasing function then,
which can be easily seen by drawing a graph of f; and we know that an integral represents “the area under the curve”. In the case we use the fact that,
Now, by analysis, we guess that
for.
This works for the base case (that is if there is only one element, then there is no comparison). By induction, we have:
For c=2
So, for the n! Permutations, we have the running time of .


Firing Range Club Membership Website
Created in Angular 2, using Firebase and implements CSS, HTML, and Javascript technologies.
Intended Use
Created as an eventual replacement to the current club website. A more responsive and useful website was desired for the needs of the Club managers. Visualizing and being able to actually see database information (Members, payment dues) were the main reasons for creation of the replacement. Previously, little to no querying could be done to view useful information about members. It was difficult to determine who actually was a member, and who actually had paid their regular membership fees.
Features
- Visually pleasing and responsive interface
- Ability for privileged users to push new notifications to the home-page as well as monitor user records.
- Secure navigation/Traversing through pages(Accomplished through Angular's routing using guards)
- Database integration to allow for searching and viewing of member information

  Home

  Member

  News & Info

  Contact

  Admin Panel
Navbar Snippet's HTML with dynamic CSS classes activated upon being active
const APP_ROUTES: Routes = [ { path: '', component: HomeComponent}, { path: 'Member', component: MembershipComponent}, { path: 'News', component: NewsEventsComponent}, { path: 'Contact', component: ContactComponent}, { path: 'Admin', component: AdminPanelComponent, canActivate: [AuthGaurd]}, { path: 'Admin/AddAdmin', component: AddAdminComponent, canActivate: [AuthGaurd] }, { path: 'Admin/EditHome', component: EditHomePageComponent, canActivate: [AuthGaurd]}, { path: 'Admin/ViewUsers', component: ViewusersComponent, canActivate: [AuthGaurd]}, { path: 'Login', component: LoginComponent} ];Routing Snippet with guards


Click on each header element to return the data passed with the on() method.
This is a header1.
This is another header2.


Submit the form and then press a button to change the text in the below template
$0
Color Selection: red
You have selected: No selection


I'm Robert G. Raleigh — an agile IT project manager & frontend developer working in Portland, OR with 10+ years of combined project management, team leadership roles, and technology consulting experience since 2004.
I'll contract directly with your digital agency, or forward-thinking small-to-mid-size business to help your team plan, iterate, development, launch, and maintain your ongoing or upcoming small and large-scale technology projects.
Throughout my career, I've launched more than 100+ enterprise apps, mobile apps, custom CMS websites, e-commerce stores, and static sites, managing a client roster of 5 – 7 projects, with budgets ranging from $5,000 – $250,000.
Throughout my career, I've launched more than 100+ enterprise apps, mobile apps, custom CMS websites, e-commerce stores, and static sites, managing a client roster of 5 – 7 projects, with budgets ranging from $5,000 – $250,000.
Throughout my career, I've launched more than 100+ enterprise apps, mobile apps, custom CMS websites, e-commerce stores, and static sites, managing a client roster of 5 – 7 projects, with budgets ranging from $5,000 – $250,000.
Learn more ContactWe did most of the heavy lifting for you to provide a default stylings that incorporate our custom components. Additionally, we refined animations and transitions to provide a smoother experience for developers.
By utilizing elements and principles of Material Design, we were able to create a framework that incorporates components and animations that provide more feedback to users. Additionally, a single underlying responsive system across all platforms allow for a more unified user experience.
We have provided detailed documentation as well as specific code examples to help new users get started. We are also always open to feedback and can answer any questions a user may have about Materialize.
Here is some more information about this product that is only revealed once clicked on.
Here is some more information about this product that is only revealed once clicked on.
Here is some more information about this product that is only revealed once clicked on.
Here is some more information about this product that is only revealed once clicked on.
Here is some more information about this product that is only revealed once clicked on.
Here is some more information about this product that is only revealed once clicked on.
Here is some more information about this product that is only revealed once clicked on.
Here is some more information about this product that is only revealed once clicked on.
Here is some more information about this product that is only revealed once clicked on.
Here is some more information about this product that is only revealed once clicked on.
Here is some more information about this product that is only revealed once clicked on.
Here is some more information about this product that is only revealed once clicked on.
Here is some more information about this product that is only revealed once clicked on.
Here is some more information about this product that is only revealed once clicked on.
Here is some more information about this product that is only revealed once clicked on.
Have a fresh cup of coffe on me. You can tell me about your upcoming opportunity or challenge.
Schedule a meetingHere is some more information about this product that is only revealed once clicked on.
Here is some more information about this product that is only revealed once clicked on.


Designed to replace the tables which were in the back of the first two editions of Hollander and Wolfe - Nonparametric Statistical Methods. Exact procedures are performed when computationally possible. Monte Carlo and Asymptotic procedures are performed otherwise. For those procedures included in the base packages, our code simply provides a wrapper to standardize the output with the other procedures in the package.
| Version: |
1.12 |
| Depends: |
R (≥ 2.10), combinat, MASS, partitions, stats, survival |
| Imports: |
agricolae, ash, binom, BSDA, coin, epitools, fANCOVA, gtools, Hmisc, km.ci, metafor, nortest, np, quantreg, Rfit, SemiPar, SuppDists, waveslim |
| Published: |
2018-05-16 |
| Author: |
Grant Schneider, Eric Chicken, Rachel Becvarik |
| Maintainer: |
Grant Schneider <schneider.393 at osu.edu> |
| License: |
GPL-2 |
| NeedsCompilation: |
yes |
| CRAN checks: |
NSM3 results |


I walked through a county courthouse square
On a park bench, an old man was sittin' there.
I said, "Your old court house is kinda run down,
He said, "Naw, it'll do for our little town".
I said, "Your old flag pole is leaned a little bit,
And that’s a ragged old flag you got hangin' on it".
He said, "Have a seat", and I sat down,
"Is this the first time you've been to our little town"
I said, "I think it is"
He said "I don’t like to brag, but we’re kinda proud of
That Ragged Old Flag
and now they've about quit wavin' back here at home
in her own good land here She’s been abused,
She's been burned, dishonored, denied an' refused,
And the government for which she stands
Has been scandalized throughout out the land.
And she’s getting thread bare, and she’s wearin' thin,
But she’s in good shape, for the shape she’s in.
Cause she’s been through the fire before
and i believe she can take a whole lot more.


This package just contains the main Class (Demonstrator) and an Interface needed at this Level. All other classes are stored in other packages, so they are easy to find. The package hierarchy up to now is:
The build control is completely taken by providing an build.xml
file for
Ant. Different tasks can be carried out for different targets.
Compiles the source code. Resulting .class
files are stored in the source tree.
Compiles the source code if needed and starts the main class.
Compiles the source code (if needed). After that a .jar
file is built and stored in the
dist/
directory, along with a lib/
directory containing needed libraries. The
generated .jar file is directly executable via java -jar $JARNAME
, given that the lib/
directory is available.
Given the fact that you can read this you may already have found this target ;)
It builds the Javadoc for all EYES Demonstrator classes and puts it in the docs/
directory.
Removes the dist/
and docs/
directories, as well as all .class
Files.


Symbols
TikZ
General
\coordinate (X) at (3,5)
\node (X) at (3,5) {}
Coordinate Specifications
(x,y)
(θ:r)
Using
calc
library
($ (A) + {sin(60)}*(B) $)
($ (A)!.25!(B) $)
($ (A)!3cm!30:(B) $)
($ (A)!(B)!(C) $)
Using
positioning
library
\node[above=1cm of node.north]
Paths
\path (A) -- (B)
-- (C)
-- cycle
\path (A) to[out=θ, in=θ] (B)
\path (A) to[bend left=θ] (B)
\path (A) rectangle (B)
\path (A) circle (r)
\path (A) ellipse (3 and 2)
\path (A) arc(θ1:θ2:r) (B)
\path (A) arc(θ1:θ2:r1 and r2) (B)
\path (A) .. controls (C1) and (C2) .. (B)
\path (A) grid (B);
Path Options
ultra thin
very thin
thin
semithick
thick
very thick
ultra thick
solid
dotted
densely dotted
loosely dotted
dashed
densely dashed
loosely dashed
-stealth
-latex
-to
Colour
color
draw color
fill color
opacity
Maths
Plot
Set Value
Set Function


Classes
{{tab}}
{{work["title"]}} for {{getDate(work["date"])}}
{{work["title"]}} on {{getDate(work["date"])}}
{{dialogError}}
Homework or Event?
For Class


I wanted to create one space where I could compile together all of my creations. I love to write, take photos, and play music, but really whatever I can get my hands on. Welcome to my world.
 In fact, I really like you. At least I would if we met. I know this because I truly believe the both of us are very good for people. If you had met me four years ago, though, things would be totally different. I didn't believe this to be true about myself, and because I didn't believe it, I didn't really like myself.
The problem is that I didn't understand who I was created to be, and I definitely didn't understand what I was created to do.


Check out what you can do with this mobile game!
Team up with the self pro-claimed "great detective" Pikachu and play anywhere you like!
Experience over 150 animated cutscenes of a fun, and witty talking Pikachu!
Investigate the scene, take notes and crack the case!
Interact with various Pokémon throughout Ryme City!