text:
Gatling's Cheat sheet

Click on a DSL element to know how to use it and what it does

        Scenario definition
        Describe your users behaviour

Scenario

          scenario
          <input type="checkbox" id="scenario" name="scenario">

            Declares a new scenario

(name)

name is the scenario name in the reports

Conditions

          doIf
          <input type="checkbox" id="doIf" name="doIf">

            Executes a chain when a condition is satisfied

(actual, expected){chain}

If the actual value is equal to expected, then, chain is executed.

(Session => Boolean){chain}

If the result of the function Session => Boolean is true, then chain is executed.

          doIfOrElse
          <input type="checkbox" id="doIfOrElse" name="doIfOrElse">

            Executes a chain when a condition is satisfied, another if not

(condition){chain}{otherChain}

If the result of the condition is true, then chain is executed, else
                otherChain is executed.

          doIfEqualsOrElse
          <input type="checkbox" id="doIfEqualsOrElse" name="doIfEqualsOrElse">

            Executes a chain when two values are equals, another if not

(expected, actual){chain}{otherChain}

If expected equals actual, then chain is executed, else
                otherChain is executed.

          doSwitch
          <input type="checkbox" id="doSwitch" name="doSwitch">

            Executes a chain based on a key

(key){switch}

Switch is selected through the matching of a key with the evaluation of the passed expression. If no
                switch is selected, switch is bypassed.

          doSwitchOrElse
          <input type="checkbox" id="doSwitchOrElse" name="doSwitchOrElse">

            Executes a chain based on a key or a fallback chain

(key){switch}{chain}

Switch is selected through the matching of a key with the evaluation of the passed expression. If no
                switch is selected, chain is executed

          randomSwitch
          <input type="checkbox" id="randomSwitch" name="randomSwitch">

            Current user will continue in one of the specified weighted chains. Can be used to simulate simple Markov
            chains

(Map[%,Chain])

The Map contains the distribution of the randomSwitch. Each chain is weighted with a
                percentage. Make sure the sum of weights does not exceed 100.

          randomSwitchOrElse
          <input type="checkbox" id="randomSwitchOrElse" name="randomSwitchOrElse">

            Current user will continue in one of the specified weighted chains. Can be used to simulate simple Markov
            chains. Fallback available if no switch is selected

(Map[%,Chain]){chain}

The Map contains the distribution of the randomSwitch. Each chain is weighted with a
                percentage. Make sure the sum of weights does not exceed 100. If no switch is selected then chain
                is executed.

          uniformRandomSwitch
          <input type="checkbox" id="uniformRandomSwitch" name="uniformRandomSwitch">

            Current user will continue in one of the uniform distributed chains. Can be used to simulate simple Markov
            chains

(chains...)

The list of chains.

          roundRobinSwitch
          <input type="checkbox" id="roundRobinSwitch" name="roundRobinSwitch">

            A round-robin strategy is used to determine the chain to be executed.

(chains...)

The list of chains.

Base structures

          exec
          <input type="checkbox" id="exec" name="exec">

            Execution Step

(action)

The action that will be executed at this step.

(chain...)

Inserts the chain(s) at this point of the scenario

(Session => Session)

Perform an operation upon the session at this step

          group
          <input type="checkbox" id="group" name="group">

            Group related requests together

(groupName){chain}

Actions from chain are part of the group named groupName

          pause
          <input type="checkbox" id="pause" name="pause">

            Declares a fixed or random pause in the scenario

(dur unit)

The pause will last duration

(duration, timeunit)

Declares a pause duration with a specific timeunit

(dur unit, dur unit)

Declares a pause duration randomly selected between the two durations

(duration, duration, timeunit)

Declares a pause randomly selected between the two durations with a specific time timeunit

          pace
          <input type="checkbox" id="pace" name="pace">

            Pause which adjusts its wait time depending on how long the chained action took

(dur unit)

The pause will last duration

(duration, timeunit)

Declares a pause duration with a specific timeunit

(dur unit, dur unit)

Declares a pause duration randomly selected between the two durations

(duration, duration, timeunit)

Declares a pause randomly selected between the two durations with a specific time timeunit

          rendezVous
          <input type="checkbox" id="rendezVous" name="rendezVous">

            Pauses users until all other users have reached the rendez-vous point

(userNumber)

Number of users to wait for

Loops

          forever
          <input type="checkbox" id="forever" name="forever">

            Repeats a part of the scenario

(counterName){chain}

The chain is repeated forever. Forcing the counter name with counterName is optional

          repeat
          <input type="checkbox" id="repeat" name="repeat">

            Repeats a part of the scenario

(times){chain}

The chain is repeated the specified number of times

(times, counterName){chain}

The chain is repeated the specified number of times with a forced counter name

          during
          <input type="checkbox" id="during" name="during">

            Repeats a part of the scenario

(dur unit){chain}

The chain is repeated for at least dur unit

(dur unit, counterName){chain}

Same as above with forced counter name

          asLongAs
          <input type="checkbox" id="asLongAs" name="asLongAs">

            Repeats a part of the scenario

(condition){chain}

The chain is repeated as long as the condition is satisfied

(condition, counterName){chain}

Same as above with forced counter name

          foreach
          <input type="checkbox" id="foreach" name="foreach">

            Repeats a part of the scenario

(sequence, elementName){chain}

The chain is repeated for every element in the sequence and the current element is
                stored in the Session under the elementName key

(sequence, elementName, counterName)

Same as above with forced counter name

Failure handling

          tryMax
          <input type="checkbox" id="tryMax" name="tryMax">

            Retries a chain until it succeeds

(times){chain}

chain will be repeated until either all checks in it are OK; or the chain has been repeated times
                times.

          exitBlockOnFail
          <input type="checkbox" id="exitBlockOnFail" name="exitBlockOnFail">

            Stops block execution if a check fails

{chain}

If a check in chain fails, its execution is stopped and the scenario continues.

          exitHereIfFailed
          <input type="checkbox" id="exitHereIfFailed" name="exitHereIfFailed">

            If there were an error during execution, the scenario should stop at this point.

        Simulation configuration
        Tune your simulation

Throttling

          throttle
          <input type="checkbox" id="throttle" name="throttle">

            Allows to reason in terms of request per second and not in terms of users. Can also be defined at the
            scenario level. Throttle can take one to many building blocks described below.

(reachRps(target) in (dur unit))

Target a throughput with a ramp over a given duration

(jumpToRps(target))

Jump immediately to a given targeted throughput

(holdFor(duration))

Hold the current throughput for a given duration

            Eg: setUp(...).throttle(reachRps(100) in (10 seconds), holdFor(10 minute))

Time

          pauses
          <input type="checkbox" id="pauses" name="pauses">

            Allows to configure pauses. Can also be defined at the scenario level

(disablePauses)

Disable the pauses for the simulation

(constantPauses)

Default value. Durations are precisely those filled in the pause(duration) elements.

(exponentialPauses)

Pause durations are on average those filled in the pause(duration) elements and follow an
                exponential distribution.

(customPauses(pauseDur))

Pauses durations are computed by the provided pauseDur. In this case the filled duration is
                bypassed

(uniformPauses(plusOrMinus))

Pause durations are on average those filled in the pause(duration) elements and follow an
                uniform distribution.

          maxDuration
          <input type="checkbox" id="maxDuration" name="maxDuration">

            Allows to configure the maximum duration of your simulation

(maxDuration)

The maximum duration of the simulation

        Feeder definition
        Inject data in your scenario

Feeder types

          csv
          <input type="checkbox" id="csv" name="csv">

            Declares a feeder from a CSV file

(fileName)

fileName is the name of the file under the data folder containing the comma separated
                values to be injected

          tsv
          <input type="checkbox" id="tsv" name="tsv">

            Declares a feeder from a TSV file

(fileName)

fileName is the name of the file under the data folder containing the tabulation
                separated values to be injected

          ssv
          <input type="checkbox" id="ssv" name="ssv">

            Declares a feeder from a SSV file

(fileName)

fileName is the name of the file under the data folder containing the semi-colon
                separated values to be injected

          jsonFile
          <input type="checkbox" id="jsonFile" name="jsonFile">

            Declares a feeder from a JSON file

(fileName)

fileName is the name of the file under the data folder containing JSON file to be
                injected

          jsonUrl
          <input type="checkbox" id="jsonUrl" name="jsonUrl">

            Declares a feeder from a JSON url

(url)

url is the url returning the JSON array to be injected

          jdbcFeeder
          <input type="checkbox" id="jdbcFeeder" name="jdbcFeeder">

            Declares a feeder from database records

(dbURL,user,pass,sql)

The feeder will load its values thanks to the sql request made on the database located at the
                JDBC URL dbURL as user/pass.
Note that you need to include the right JDBC4
                driver in the classpath (lib folder if using the bundle)

          redisFeeder
          <input type="checkbox" id="redisFeeder" name="redisFeeder">

(pool, key)

This feeder loads its values from a Redis pool and stores them under key in the session.

Feeder strategies

          queue
          <input type="checkbox" id="queue1" name="queue">

            This is the default strategy (you don't have to specify it). It takes the values in the feeder as in a
            queue. If the queue is not long enough, you'll get an error at execution.

          shuffle
          <input type="checkbox" id="shuffle" name="shuffle">

            This strategy shuffles the values in the feeder but then works like the queue strategy.

          random
          <input type="checkbox" id="random" name="random">

            This strategy chooses values randomly in the feeder. In contrast to a shuffle strategy
            the same values can be chosen several times.

          circular
          <input type="checkbox" id="circular" name="circular">

            This strategy takes the values of the feeder in their order, and when it reaches the last, it returns to the
            first one.

        Injection profile
        Control how users are injected in your scenario

Injection steps

          nothingFor
          <input type="checkbox" id="nothingFor" name="nothingFor">

            Pauses for a specific duration

(dur unit)

Pause for a given duration

          atOnceUsers
          <input type="checkbox" id="atOnceUsers" name="atOnceUsers">

            Injects a specific number of users at the same time

(nbUsers)

Injects nbUsers

          rampUsers
          <input type="checkbox" id="rampUsers" name="rampUsers">

            Injects a given number of users with a linear ramp over a given duration

(nbUsers) over(dur unit)

Injects nbUsers over a duration. Eg : rampUsers(10) over(5 seconds)

          constantUsersPerSec
          <input type="checkbox" id="constantUsersPerSec" name="constantUsersPerSec">

            Injects users at a constant rate, defined in users per second, during a given duration

(nbUsers) during(dur unit)

Injects nbUsers each second for duration. Eg : constantUsersPerSec(10) during(5 seconds)

          rampUsersPerSec
          <input type="checkbox" id="rampUsersPerSec" name="rampUsersPerSec">

            Injects a random number of users per second over a given duration

(rate1) to (rate2) during(dur unit)

Injects users from starting rate1 to target rate2, defined in users per second, during a
                given duration. Eg : rampUsersPerSec(10) to(20) during(10 minutes)

          splitUsers
          <input type="checkbox" id="splitUsers" name="splitUsers">

            Repeats an injection until reaching desired number of users

(nbUsers) into(injectionStep) separatedBy(dur unit)

Repeats the defined injection step separated by a pause of the given duration until
                reaching nbUsers

(nbUsers) into(injectionStep1) separatedBy(injectionStep2)

Repeats the first defined injection step injectionStep1 separated by the execution of the
                second injection step injectionStep2 until reaching nbUsers

          heavisideUsers
          <input type="checkbox" id="heavisideUsers" name="heavisideUsers">

            Injects a given number of users following a smooth approximation stretched to a duration

(nbUsers) over(dur unit)

Injects a given number of users following a smooth approximation of the Heaviside step function
                stretched to a given duration

        Assertions
        Check that your results match your expectations

Assertions

          assertions
          <input type="checkbox" id="assertions" name="assertions">

            Declare the assertions on your simulation

(assertions)

The assertions your simulation will be checked against

Scopes

          global
          <input type="checkbox" id="global" name="global">

            Use statistics calculated from all requests

          forAll
          <input type="checkbox" id="forAll" name="forAll">

            Use statistics calculated for each individual request.

          details
          <input type="checkbox" id="details" name="details">

            Use statistics calculated from a group or a request

(path)

The request or group path

Statistics

          responseTime
          <input type="checkbox" id="responseTime" name="responseTime">

            Target the response time in milliseconds

          allRequests
          <input type="checkbox" id="allRequests" name="allRequests">

            Target the number of requests

          failedRequests
          <input type="checkbox" id="failedRequests" name="failedRequests">

            Target the number of failed requests

          successfulRequests
          <input type="checkbox" id="successfulRequests" name="successfulRequests">

            Target the number of successful requests

          requestsPerSec
          <input type="checkbox" id="requestsPerSec" name="requestsPerSec">

            Target the rate of requests per second

Response time selectors

          min
          <input type="checkbox" id="min" name="min">

            Perform the assertion on the minimum of the stat

          max
          <input type="checkbox" id="max" name="max">

            Perform the assertion on the maximum of the stat

          mean
          <input type="checkbox" id="mean" name="mean">

            Perform the assertion on the mean of the stat

          stdDev
          <input type="checkbox" id="stdDev" name="stdDev">

            Perform the assertion on the standard deviation of the stat

          percentile1
          <input type="checkbox" id="percentile1" name="percentile1">

            Perform the assertion on the first percentile of the stat

          percentile2
          <input type="checkbox" id="percentile2" name="percentile2">

            Perform the assertion on the second percentile of the stat

          percentile3
          <input type="checkbox" id="percentile3" name="percentile3">

            Perform the assertion on the third percentile of the stat

          percentile4
          <input type="checkbox" id="percentile4" name="percentile4">

            Perform the assertion on the fourth percentile of the stat

Count selectors

          percent
          <input type="checkbox" id="percent" name="percent">

            Use the value as a percentage between 0 and 100

          permillion
          <input type="checkbox" id="permillion" name="permillion">

            Use the value as a permillion between 0 and 1,000,000

          count
          <input type="checkbox" id="count2" name="count">

            Perform the assertion on the count of requests

Assertions conditions

          lessThan
          <input type="checkbox" id="lessThan" name="lessThan">

            Check that the value of the statistic is less than the threshold

(threshold)

the statistic's higher bound

          greaterThan
          <input type="checkbox" id="greaterThan" name="greaterThan">

            Check that the value of the statistic is greater than the threshold

(threshold)

the statistic's lower bound

          between
          <input type="checkbox" id="between" name="between">

            Check that the value of the statistic is between two thresholds

(thresholdMin,thresholdMax)

the statistic's bounds

          is
          <input type="checkbox" id="is2" name="is">

            Check that the value of the statistic is equal to the given value

(value)

the value the statistic must be equal to

          in
          <input type="checkbox" id="in2" name="in">

            Check that the value of statistic is in a sequence

(sequence)

the sequence the statistic has to be in

        HTTP Action
        Define the HTTP requests sent in your scenario

HTTP

          http
          <input type="checkbox" id="http1" name="http">

            Declares an HTTP request

(name)

name is the request name in the reports

HTTP verb

          get
          <input type="checkbox" id="get" name="get">

            Sets the HTTP method to GET

(url)

Sets the url of the HTTP request

          post
          <input type="checkbox" id="post" name="post">

            Sets the HTTP method to POST

(url)

Sets the url of the HTTP request

          put
          <input type="checkbox" id="put" name="put">

            Sets the HTTP method to PUT

(url)

Sets the url of the HTTP request

          delete
          <input type="checkbox" id="delete" name="delete">

            Sets the HTTP method to DELETE

(url)

Sets the url of the HTTP request

          head
          <input type="checkbox" id="head" name="head">

            Sets the HTTP method to HEAD

(url)

Sets the url of the HTTP request

          patch
          <input type="checkbox" id="patch" name="patch">

            Sets the HTTP method to PATCH

(url)

Sets the url of the HTTP request

          options
          <input type="checkbox" id="options" name="options">

            Sets the HTTP method to OPTIONS

(url)

Sets the url of the HTTP request

          httpRequest
          <input type="checkbox" id="httpRequest" name="httpRequest">

            Support for custom HTTP methods

(method, url)

Executes method on url

          httpRequestWithParams
          <input type="checkbox" id="httpRequestWithParams" name="httpRequestWithParams">

            Support for custom methods extending POST

(method, url)

Executes method on url

HTTP options

          queryParam
          <input type="checkbox" id="queryParam" name="queryParam">

            Adds a query parameter to the URL

(key, value)

http://example.tld?key=value

          multivaluedQueryParam
          <input type="checkbox" id="multivaluedQueryParam" name="multivaluedQueryParam">

            Adds a query parameter to the URL with multiple values

(key, value...)

http://example.tld?key=value1&key=value2&key=value3...

          queryParamsSeq
          <input type="checkbox" id="queryParamsSeq" name="queryParamsSeq">

            Adds multiple query parameters to the URL

((key, value)...)

http://example.tld?key1=value1&key2=value2&key3=value3...

          queryParamsMap
          <input type="checkbox" id="queryParamsMap" name="queryParamsMap">

            Adds multiple query parameters to the URL

(Map[key -> value])

http://example.tld?key1=value1&key2=value2&key3=value3...

          header
          <input type="checkbox" id="header1" name="header">

            Adds a header to the request.

(key, value)

Adds key: value as header

          headers
          <input type="checkbox" id="headers" name="headers">

            Adds several headers to the request.

(Map[key, value])

Adds every tuple key: value of the map as header

          basicAuth
          <input type="checkbox" id="basicAuth" name="basicAuth">

            Sets the credentials for BASIC authentication

(user, password)

Will authenticate as user with password

          digestAuth
          <input type="checkbox" id="digestAuth" name="digestAuth">

            Sets the credentials for DIGEST authentication

(user, password)

Will authenticate as user with password

          ntlmAuth
          <input type="checkbox" id="ntlmAuth" name="ntlmAuth">

            Sets the credentials for NTLM authentication

(user, password)

Will authenticate as user with password

          authRealm
          <input type="checkbox" id="authRealm" name="authRealm">

            Generic method to add authentication

(Realm)

Takes a Realm instance

          resources
          <input type="checkbox" id="resources" name="resources">

            Allows to fetch resources in parallel in order to emulate the behaviour of a real web browser

(request...)

Multiple requests to get resources

          disableUrlEncoding
          <input type="checkbox" id="disableUrlEncoding" name="disableUrlEncoding">

            Disable URLEncoding if you're sure the urls you feed to Gatling are already properly encoded.

          silent
          <input type="checkbox" id="silent" name="silent">

            Forces the request to be silent
            A silent request is issued but not logged nor reported

          notSilent
          <input type="checkbox" id="notSilent" name="notSilent">

            Forces the request to NOT be silent, whatever's defined at protocol level.
            A silent request is issued but not logged nor reported

HTTP body

          body
          <input type="checkbox" id="body" name="body">

            Adds a body from a resource to the request

(RawFileBody(path))

Uploads a file as is from the path

(ELFileBody(path))

Parses, resolves and then uploads a file containing Gatling EL from the path

(StringBody(string))

Sets a string

(ByteArrayBody(bytes))

Sets the body from a bytes array

(InputStreamBody(stream))

Sets the body from an input stream

          bodyPart
          <input type="checkbox" id="bodyPart" name="bodyPart">

            Add a multi-part body from a resource to the request

(RawFileBodyPart(path))

Uploads a file as is from the path

(ELFileBodyPart(path))

Parses, resolves and then uploads a file containing Gatling EL from the path

(StringBodyPart(string))

Sets a string

(ByteArrayBodyPart(bytes))

Sets the body from a bytes array

          formParam
          <input type="checkbox" id="formParam" name="formParam">

            Adds a form parameter to the request body

(key, value)

Where key is the name and value is a string

(HttpParam)

Where HttpParam is an instance of HttpParam

          multivaluedFormParam
          <input type="checkbox" id="multivaluedFormParam" name="multivaluedFormParam">

            Adds a form parameter to the request body with multiple values

(key, value...)

Where key is the name of one parameter and value can be a list

          formParamSeq
          <input type="checkbox" id="formParamSeq" name="formParamSeq">

            Adds multiple form parameters to the request body

((key, value)...)

Where you can have multiple tuples of key and value

          formParamMap
          <input type="checkbox" id="formParamMap" name="formParamMap">

            Adds multiple form parameters to the request body

(Map[key -> value])

Where you can have a map of multiple key and value

          form
          <input type="checkbox" id="form" name="form">

            Adds a form to the request body

(Map[key -> Seq[value]])

Typically saved by a form check

          transformResponse
          <input type="checkbox" id="transformResponse" name="transformResponse">

            Allows to process the response before it is sent to the checks pipeline.

(ResponseTransformer)

Takes a ResponseTransformer, which is a Response => Response function

          processRequestBody
          <input type="checkbox" id="processRequestBody" name="processRequestBody">

            Allows to process the request body before it is sent to the wire

(processor)

Takes a processor which is a Body => Body function

          formUpload
          <input type="checkbox" id="formUpload" name="formUpload">

            Provides a multi-part encoded request when you need to upload a file corresponding to a form text value. Eg:
            Email attachment

(key, filePath)

Where key is the name of the field and filePath a path to a file located in
                /bodies

        HTTP Checks
        Verifying server responses

Check

            check
            <input type="checkbox" id="check" name="check">

              Declare every check that should apply on the action

(check...)

Every check you need to make on the response from the server

            substring
            <input type="checkbox" id="substring" name="substring">

              Check will be applied to an extract of the HTTP response's body

(expression)

Extraction will look for expression indices.

            regex
            <input type="checkbox" id="regex1" name="regex">

              Check will be applied to an extract of the HTTP response's body

(expression)

Extraction will use a regular expression defined by expression.

            xpath
            <input type="checkbox" id="xpath1" name="xpath">

              Check will be applied to an extract of the HTTP response's body

(expression)

Extraction will use an XPath expression defined by expression

(expression, namespaces)

If you want to use namespaces in your XPATH expression, you should specify them. The namespaces
                  are specified thanks to a List[(prefix,uri)]:
List(('c','http://core'), ('f','http://format')).

(Session => String)

The expression can be expressed as a Session => String function (with namespaces also)

            jsonPath
            <input type="checkbox" id="jsonPath1" name="jsonPath">

              Check will be applied to an extract of the HTTP response's body

(expression)

jsonPath is similar to XPATH, but for JSON encoded data.

            jsonpJsonPath
            <input type="checkbox" id="jsonpJsonPath1" name="jsonpJsonPath">

              Check will be applied to an extract of the HTTP response's body

(expression)

jsonpJsonPath is similar to jsonPath, but for JSONP

            css
            <input type="checkbox" id="css" name="css">

              Check will be applied to an extract of the HTTP response's body

(expression)

Uses the css selector to extract the value to be checked.

(expression, attr)

Same as above, except that the extracted value is the attr of the selected node.

            form
            <input type="checkbox" id="cssForm" name="cssForm">

              Check will be applied to an extract of the HTTP response's body

(expression)

Uses the css selector to extract the all the field values of an HTML form.

            md5
            <input type="checkbox" id="md5" name="md5">

              Check will be applied on the md5 checksum of the HTTP response

            sha1
            <input type="checkbox" id="sha1" name="sha1">

              Check will be applied on the sha1 checksum of the HTTP response

Http checks

            status
            <input type="checkbox" id="status" name="status">

              Check will be applied to the status of the HTTP response

            currentLocation
            <input type="checkbox" id="currentLocation" name="currentLocation">

              Check will be applied to the current url of the response

            header
            <input type="checkbox" id="header2" name="header">

              Check will be applied to selected headers of the HTTP response

(headerName)

The check will be applied on the header corresponding to headerName

(Session => String)

Same as above, except that the header name is given by the Session => String function.

            headerRegex
            <input type="checkbox" id="headerRegex" name="headerRegex">

              Check will be applied to selected headers of the HTTP response

(headerName, pattern)

The check will be applied on the headers headerName whose value match the provided
                  pattern.

(Session => String)

Same as above, except that the header name is given by the Session => String function.

            responseTimeInMillis
            <input type="checkbox" id="responseTimeInMillis" name="responseTimeInMillis">

              Check will be applied to the response time of the server

            latencyInMillis
            <input type="checkbox" id="latencyInMillis" name="latencyInMillis">

              Check will be applied to the latency of the request/response round trip

            bodyString
            <input type="checkbox" id="bodyString" name="bodyString">

              Return the full response body String.

            bodyBytes
            <input type="checkbox" id="bodyBytes" name="bodyBytes">

              Return the full response body byte array.

CheckIf

            checkIf
            <input type="checkbox" id="checkIf" name="checkIf">

              Enslave check execution to a condition

checkIf(condition: Expression[Boolean])(thenCheck: Check)

Only perform thenCheck if condition evaluates to true

checkIf(condition: (Response, Session) => Validation[Boolean])(thenCheck: Check)

Only perform thenCheck if condition return true

Check extractors

            find
            <input type="checkbox" id="find" name="find">

              Specifies that only one value matching the check definition must be extracted

ø

If used as find check will be applied on the first value found. Note that this is the default
                  behaviour, you don't have to specify it.

(occurrence)

Gets the occurrence-th value that matches the check definition.

            findAll
            <input type="checkbox" id="findAll" name="findAll">

              Specifies that every value matching the check definition should be extracted for verification. The resulting
              type is a list of extracted values.

            count
            <input type="checkbox" id="count1" name="count">

              The check will be applied on the size of the list returned by findall

Check transformer

            transform
            <input type="checkbox" id="transform" name="transform">

              Used to transform data before verification

(A => B)

This function is optional. It can be useful sometimes to apply a transformation on the extracted
                  values before validating them. In this function, type A is the type of the find operation (either
                  String, List[String] or Int). Type B is whatever you want it to be (could be a case
                  class for example)

            transformOption
            <input type="checkbox" id="transformOption" name="transformOption">

              Used to transform data before verification

(Option[A] => Validation[Option[B]])

Gives full control over the extracted result, even providing a default value

Check verifiers

            is
            <input type="checkbox" id="is1" name="is">

              Checks for equality

(expected)

if the captured (or transformed) value is equal to expected the check will succeed; it will
                  fail otherwise

            not
            <input type="checkbox" id="not" name="not">

              Checks for inequality

(expected)

If the captured (or transformed) value is different than expected the check will succeed; it
                  will fail otherwise

            exists
            <input type="checkbox" id="exists" name="exists">

              Checks that there's at least one value corresponding to the check definition .This is the default
              verification (it does not need to be specified)

            notExists
            <input type="checkbox" id="notExists" name="notExists">

              Checks that there are no values corresponding to the check definition

            in
            <input type="checkbox" id="in1" name="in">

              Checks for belonging to a sequence

(sequence)

If the captured (or transformed) value is included in the sequence the check will succeed; it
                  will fail otherwise

            optional
            <input type="checkbox" id="optional" name="optional">

              Never fails, used to capture optional values into the session

Check saver

            saveAs
            <input type="checkbox" id="saveAs" name="saveAs">

              If the check succeeds, it captures the extracted value(s) into the session

(key)

The value(s) will be stored in the session under key key

        HTTP Protocol
        Mutualize your scenario's code and tune the behaviour of Gatling's HTTP client

Protocol

          http
          <input type="checkbox" id="http2" name="http">

            Entry point of your HTTP protocol

Urls

          baseURL
          <input type="checkbox" id="baseURL" name="baseURL">

            Sets the base URL of all relative URLs of the scenario on which the configuration is applied

(url)

The url that will be appended to all relative URLs (ie: not starting with http)

          baseURLs
          <input type="checkbox" id="baseURLs" name="baseURLs">

            Same as baseURL with client-based load balancing.

(url...)

Each url will be used randomly to implement client load-balancing.

          virtualHost
          <input type="checkbox" id="virtualHost" name="virtualHost">

            Overrides the default computed virtual host

(name)

Eg: GET https://mobile.github.com/gatling/gatling instead of GET
                https://www.github.com/gatling/gatling

Proxy

          proxy
          <input type="checkbox" id="proxy" name="proxy">

            Declares a proxy for all HTTP requetes of the scenario on which the configuration is applied

(Proxy)

The requests will pass throught the proxy located within the Proxy object

          noProxyFor
          <input type="checkbox" id="noProxyFor" name="noProxyFor">

            Disables the proxy for a certain list of hosts

(hosts)

The hosts ignoring the proxy

          httpsPort
          <input type="checkbox" id="httpsPort" name="httpsPort">

            Uses this if Gatling should use the proxy for HTTPS also

(port)

The HTTPS port of the proxy

          credentials
          <input type="checkbox" id="credentials" name="credentials">

            If your proxy requires BASIC authentication you can set the credentials with this method

(username,password)

The requests will be sent as the user username/password

Headers

          acceptHeader
          <input type="checkbox" id="acceptHeader" name="acceptHeader">

            Sets the Accept header for all requests

(value)

The value of the header.

          acceptCharsetHeader
          <input type="checkbox" id="acceptCharsetHeader" name="acceptCharsetHeader">

            Sets the Accept-Charset header for all requests

(value)

The value of the header

          acceptEncodingHeader
          <input type="checkbox" id="acceptEncodingHeader" name="acceptEncodingHeader">

            Sets the Accept-Encoding header for all requests

(value)

The value of the header

          acceptLanguageHeader
          <input type="checkbox" id="acceptLanguageHeader" name="acceptLanguageHeader">

            Sets the Accept-Language header for all requests

(value)

The value of the header

          authorizationHeader
          <input type="checkbox" id="authorizationHeader" name="authorizationHeader">

            Sets the Authorization header for all requests

(value)

The value of the header

          connectionHeader
          <input type="checkbox" id="connectionHeader" name="connectionHeader">

            Sets the Connection header for all requests

(value)

The value of the header

          contentTypeHeader
          <input type="checkbox" id="contentTypeHeader" name="contentTypeHeader">

            Sets the Content-Type header for all requests

(value)

The value of the header

          doNotTrackHeader
          <input type="checkbox" id="doNotTrackHeader" name="doNotTrackHeader">

            Sets the DNT header for all requests

(value)

The value of the header.

          userAgentHeader
          <input type="checkbox" id="userAgentHeader" name="userAgentHeader">

            Sets the User-Agent header for all requests

(value)

The value of the header

Options

          disableFollowRedirect
          <input type="checkbox" id="disableFollowRedirect" name="disableFollowRedirect">

            Forces the HTTP engine not to follow the redirects. You can also disable it globally on the HttpProtocol

          maxRedirects
          <input type="checkbox" id="maxRedirects" name="maxRedirects">

            Avoids infinite redirection loops by specifying a number max of redirects

(max)

Where max is the number of max redirects

          disableAutomaticReferer
          <input type="checkbox" id="disableAutomaticReferer" name="disableAutomaticReferer">

            Forces Gatling not to set the referer of the requests

          disableWarmUp
          <input type="checkbox" id="disableWarmUp" name="disableWarmUp">

            Disables the warm up request

          warmUp
          <input type="checkbox" id="warmUp" name="warmUp">

            Sets the URL used by Gatling to warm up the HTTP engine

(url)

A valid and accessible url

          ignoreDefaultChecks
          <input type="checkbox" id="ignoreDefaultChecks" name="ignoreDefaultChecks">

            Ignores checks for a given request. You can also disable common checks that were defined on the HttpProtocol

          fetchHtmlResources
          <input type="checkbox" id="fetchHtmlResources" name="fetchHtmlResources">

            Allows to fetch resources in parallel in order to emulate the behaviour of a real web browser

(WhiteList)

Fetch all resources matching a pattern in the white list

(WhiteList, BlackList)

Fetch all resources matching a pattern in the white list excepting those in the black list

(Filters)

More generic version taking any kind of filters

          maxConnectionsPerHost
          <input type="checkbox" id="maxConnectionsPerHost" name="maxConnectionsPerHost">

            Sets the maximum concurrent connections per host per virtual user. Predefined parameters are available
            through methods such as maxConnectionsPerHostLikeFirefox...

(max)

Where max is the number of maximum connections

          shareConnections
          <input type="checkbox" id="shareConnections" name="shareConnections">

            Allows to share connections among users

          disableClientSharing
          <input type="checkbox" id="disableClientSharing" name="disableClientSharing">

            Enables one http client per user

          perUserNameResolution
          <input type="checkbox" id="perUserNameResolution" name="perUserNameResolution">

            Enables virtual users to perform name resolution themselves instead of using JDK's shared one.

          localAddress
          <input type="checkbox" id="localAddress" name="localAddress">

            Binds the sockets from a specific local address instead of the default one

(InetAddress)

Instance of InetAddress representing the address

          disableCaching
          <input type="checkbox" id="disableCaching" name="disableCaching">

            Disables caching features for some http headers and ETag

          disableUrlEncoding
          <input type="checkbox" id="protocolDisableUrlEncoding" name="protocolDisableUrlEncoding">

            Disable URLEncoding if you're sure the urls you feed to Gatling are already properly encoded.

          silentURI
          <input type="checkbox" id="silentURI" name="silentURI">

            Silence requests that match the pattern
            A silent request is issued but not logged nor reported

(String)

A regular expression pattern to match request urls

          silentResources
          <input type="checkbox" id="silentResources" name="silentResources">

            Silence resource requests
            A silent request is issued but not logged nor reported

          basicAuth
          <input type="checkbox" id="basicAuth-protocol" name="basicAuth-protocol">

            Sets the credentials for BASIC authentication

(user, password)

Will authenticate as user with password

          digestAuth
          <input type="checkbox" id="digestAuth-protocol" name="digestAuth-protocol">

            Sets the credentials for DIGEST authentication

(user, password)

Will authenticate as user with password

          ntlmAuth
          <input type="checkbox" id="ntlmAuth-protocol" name="ntlmAuth-protocol">

            Sets the credentials for NTLM authentication

(user, password)

Will authenticate as user with password

          authRealm
          <input type="checkbox" id="authRealm-protocol" name="authRealm-protocol">

            Generic method to add authentication

(Realm)

Takes a Realm instance

Plumbing

          extraInfoExtractor
          <input type="checkbox" id="extraInfoExtractor" name="extraInfoExtractor">

            Dumps additional data into simulation.log during the simulation

(ExtraInfo => List[Any])

The function is used by Gatling to add several columns containing extra info to the simulation log
                file.

ExtraInfo provides :

requestName: The request's name

status: The request's status (OK or KO)

session: The user's session

request: The sent request

response: The received response

          disableResponseChunksDiscarding
          <input type="checkbox" id="disableResponseChunksDiscarding" name="disableResponseChunksDiscarding">

            If you want the body of the response to be kept when using extraInfoExtractor, you'll have to
            disable response chunk discard (which is a performance optimization)

        SSE (Server Sent Events)
        Define the SSE requests sent in your scenario

SSE

          sse
          <input type="checkbox" id="sse" name="sse">

            Declares an SSE request

(requestName)

Name of the request

Commons

          sseName
          <input type="checkbox" id="sseName" name="sseName">

            Allows to deal with several SSE per virtual user

(requestName)

Gives the requests a name and pass this name on each SSE operation

          open
          <input type="checkbox" id="sse-open" name="sse-open">

            Opens a SSE

(url)

Enables communication to the given url

          close
          <input type="checkbox" id="sse-close" name="sse-close">

            Closes a SSE

        WebSockets
        Define the WebSocket requests sent in your scenario

WebSocket

          ws
          <input type="checkbox" id="ws" name="ws">

            Declares an webSocket request

(requestName)

Name of the request

Commons

          wsName
          <input type="checkbox" id="wsName" name="wsName">

            Allows to deal with several webSockets per virtual user

(requestName)

Gives the requests a name and pass this name on each ws operation

          open
          <input type="checkbox" id="open" name="open">

            Opens a webSocket

(url)

Enables communication to the given url

          close
          <input type="checkbox" id="close" name="close">

            Closes a webSocket

          sendText
          <input type="checkbox" id="sendText" name="sendText">

            Sends a message

(stringMessage)

Send stringMessage as a string

(bytesMessage)

Send bytesMessage as a bytes array

        WebSockets/SSE Checks
        Verifying server responses

Checks

          cancelCheck
          <input type="checkbox" id="cancelCheck" name="cancelCheck">

            Cancels a pending check

          wsListen
          <input type="checkbox" id="wsListen" name="wsListen">

            Creates a non blocking check

          wsAwait
          <input type="checkbox" id="wsAwait" name="wsAwait">

            Creates a blocking check

          within
          <input type="checkbox" id="within" name="within">

            Sets a timeout

(timeout)

Where timeout is a FiniteDuration instance

          until
          <input type="checkbox" id="until" name="until">

            Checks will succeed as soon as Gatling has received the expected count of matching messages

(count)

Where count is the number of matching messages

          expect
          <input type="checkbox" id="expect" name="expect">

            Waits until the timeout, then the check will succeed if it has received the expected count of matching
            messages

(count)

Where count is the number of matching messages

(range)

Where range is an instance of Range

          regex
          <input type="checkbox" id="regex2" name="regex">

            Check will be applied to an extract of the frame payload

(expression)

Extraction will use a regular expression defined by expression.

          jsonPath
          <input type="checkbox" id="jsonPath2" name="jsonPath">

            Check will be applied to an extract of the frame payload

(expression)

jsonPath is similar to XPATH, but for JSON encoded data.

          jsonpJsonPath
          <input type="checkbox" id="jsonpJsonPath2" name="jsonpJsonPath">

            Check will be applied to an extract of the frame payload

(expression)

jsonpJsonPath is similar to jsonPath, but for JSONP

          reconciliate
          <input type="checkbox" id="reconciliate" name="reconciliate">

            Reconciliates main flow and WebSocket/SSE flow

        WebSockets Configuration
        Mutualize your webSockets code and tune the behaviour of Gatling's webSocket client

Configuration

          wsBaseURL
          <input type="checkbox" id="wsBaseURL" name="wsBaseURL">

            Serves as root that will be prepended to all relative webSocket urls

(url)

Where url is the root url

          wsBaseURLs
          <input type="checkbox" id="wsBaseURLs" name="wsBaseURLs">

            Serves as round-robin roots that will be prepended to all relative webSocket urls

(url...)

Where url are the root urls

          wsReconnect
          <input type="checkbox" id="wsReconnect" name="wsReconnect">

            Automatically reconnect a webSocket that would have been closed by someone else than the client

          wsMaxReconnects
          <input type="checkbox" id="wsMaxReconnects" name="wsMaxReconnects">

            Sets a limit on the number of times a webSocket will be automatically reconnected

(count)

Where count is the number of maximum reconnections url

        JMS
        Define the JMS requests sent in your scenario

Start

          jms
          <input type="checkbox" id="jms-request" name="jms-request">

            Declares an JMS request

(requestName)

Name of the request

Commons

          reqreply
          <input type="checkbox" id="reqreply" name="reqreply">

            Sets the messaging implementation to request/reply

          send
          <input type="checkbox" id="send" name="send">

            Sets the messaging implementation to send

          queue
          <input type="checkbox" id="queue2" name="queue">

            Defines a target destination

(name)

Where name is the name of the queue

          destination
          <input type="checkbox" id="destination" name="destination">

            Defines a target destination

(destination)

Where destination is an instance of JmsDestination

          replyQueue
          <input type="checkbox" id="replyQueue" name="replyQueue">

            Defines a reply destination

(name)

Where name is the name of the queue

          replyDestination
          <input type="checkbox" id="replyDestination" name="replyDestination">

            Defines a reply destination

(destination)

Where destination is an instance of JmsDestination

          selector
          <input type="checkbox" id="selector" name="selector">

            Defines a JMS message selector

(selector)

Where selector is the name of the selector

          textMessage
          <input type="checkbox" id="textMessage" name="textMessage">

            Sends a text message

(textMessage)

Where textMessage is a string

          bytesMessage
          <input type="checkbox" id="bytesMessage" name="bytesMessage">

            Sends a byte message

(bytesMessage)

Where bytesMessage is a byte array

          mapMessage
          <input type="checkbox" id="mapMessage" name="mapMessage">

            Sends a map message

(mapMessage)

Where mapMessage is a map

          objectMessage
          <input type="checkbox" id="objectMessage" name="objectMessage">

            Sends an object message

(objectMessage)

Where objectMessage is an object implementing JSerializable

          property
          <input type="checkbox" id="property" name="property">

            Sends additional properties

(key, value)

Sets value as an object property key

          jmsType
          <input type="checkbox" id="jmsType" name="jmsType">

            Sends additional properties

(value)

Sets value as a JMSType

        JMS Checks
        Verifying server responses

Checks

          simpleCheck
          <input type="checkbox" id="simpleCheck" name="simpleCheck">

            Allows to check a message

(function)

Where function takes a Message and returns a Boolean

          xpath
          <input type="checkbox" id="xpath2" name="xpath">

            Allows to check a TextMessage with XPath

(expression)

Where expression is an XPath expression

        JMS Configuration
        Configure how Gatling connects to your JMS queues

Configuration

          jms
          <input type="checkbox" id="jms-config" name="jms-config">

            Entry point of your JMS configuration

Connecting

          connectionFactoryName
          <input type="checkbox" id="connectionFactoryName" name="connectionFactoryName">

Mandatory.

            Set the name of the ConnectionFactory to use

(name)

where name is a string

          url
          <input type="checkbox" id="url" name="url">

Mandatory.

            Set the URL of the queue to connect to.

(url)

where url is a string

          contextFactory
          <input type="checkbox" id="contextFactory" name="jms-contextFactory">

Mandatory.

            Set the name of the JNDI ContextFactory to use.

(contextFactory)

where contextFactory is a string

          credentials
          <input type="checkbox" id="jms-credentials" name="jms-credentials">

Optional.

            Set the credentials used for the queues JNDI lookup

(username, password)

the username and password to use as credentials

          disableAnonymousConnect
          <input type="checkbox" id="jms-disableAnonymousConnect" name="jms-disableAnonymousConnect">

Optional.

            Use credentials for opening connections too

          listenerCount
          <input type="checkbox" id="listenerCount" name="listenerCount">

Mandatory. must be > 0.

            Number of consumers that will listen to incoming messages on the reply queue

(listenerCount)

The number of consumers

Delivery modes

          useNonPersistentDeliveryMode
          <input type="checkbox" id="useNonPersistentDeliveryMode" name="useNonPersistentDeliveryMode">

            Use JMS' non-persistent delivery mode (active by default)

          usePersistentDeliveryMode
          <input type="checkbox" id="usePersistentDeliveryMode" name="usePersistentDeliveryMode">

            Use JMS' persistent delivery mode

Message matching

          matchByMessageID
          <input type="checkbox" id="matchByMessageID" name="matchByMessageID">

            Match request and response using JMS's MessageID

          matchByCorrelationID
          <input type="checkbox" id="matchByCorrelationID" name="matchByCorrelationID">

            Match request and response using JMS's CorrelationID

          messageMatcher
          <input type="checkbox" id="messageMatcher" name="messageMatcher">

            Match request and response using a custom strategy

(messageMatcher)

an implementation of JmsMessageMatcher, specifying how the requestID and responseID
                are retrieved from the JMS Message


text:
Home » USA Online Casino News » N.Y. Seeks Ways to Offer Online Sports Gaming Without Legislative Bill
N.Y. Seeks Ways to Offer Online Sports Gaming Without Legislative Bill
Since the time to pass a bill to allow sports gaming has expired in New York state, legislators and government agencies in Albany that would like for sportsbooks to become legal in the state are searching for ways to allow the new gaming enterprise.
Sports betting recently became a legal option when the U.S. Supreme Court ruled that the states can decide for themselves whether to allow sports gaming. New York already finds itself behind its neighbor, New Jersey. The Garden State brought the initial lawsuit against the government, and once the ruling was made, it immediately began sports gaming at its horse tracks and two Atlantic City casinos. In addition, a gambling company has already begun to make deals with New Jersey and New York to allow them to operate sportsbooks in both states.
The Betfair Deal
Betfair U.S. is the American wing of Paddy Power Betfair. The company, which originated in Ireland, has a presence in the United States because it operates sports betting locations in Nevada. The company has made a deal with both New Jersey and New York to allow sports betting.
The deal is with the man who owns a racetrack in New Jersey (Meadowlands) and Tioga Downs (New York), and it will offer sports betting at both racetracks. In addition, Betfair recently acquired the U.S. fantasy sports company, FanDuel, with the expectation of offering fantasy sports outlets, as well as sportsbook outlets, at both racetracks. It is expected the deal will close by the end of September. In addition, the players from FanDuel who are already interested in fantasy gaming will be able to then place bets on sports gaming through Betfair. It remains to be seen if Betfair will use the FanDuel brand or its own brand to offer sportsbooks.
The Problem for New York
The Meadowlands Racetrack is a few miles outside of New York City, and right next to MetLife Stadium, which is where the New York Giants and New York Jets play. This means that until New York allows sports gaming, New Jersey is receiving all the gaming revenue from sportsbooks. New Jersey has also made a move toward the legalization of online sportsbooks by the end of the year, which spells problems for the Empire State.While New York waffles on whether to allow sports gaming, New Jersey will continue to capitalize on the state's indecision. This puts the Betfair deal at Tioga Racetrack in jeopardy as well.
A Possible Solution
In 2013, New York passed a bill that allowed many forms of gaming and did not explicitly outlaw sports gaming. For that reason, many legislators believe that New York could move ahead with sportsbooks at its four non-Native American casinos. While many legislators are in favor of this idea, it is facing opposition from Native American casinos, which also want to offer sports gaming.
In addition, many legal legislative experts believe that the four commercial casinos in New York, one of which is the Tioga track and casino, could allow sports gaming immediately. They already have a gaming license, and New York law currently allows for affiliated businesses to be licensed under an existing casino license.
If Tioga Downs is able to move ahead with sports gaming, the other three casinos may follow suit and may wait for the legislature and the courts to sort out the conflicts. Many New Yorkers fear that they will lose out on additional gaming revenue to their neighbor across the Hudson River if they do not act quickly to add sportsbooks to their gaming industry.
Previous articleSankey Shares Thoughts from SEC on Sports Gaming and the College Game
Next articleMiss. Coast Casino Revenue Higher For Fifth Straight Year

redpajama_set_name: RedPajamaCommonCrawl


text:
Hypanartia atropos är en fjärilsart som beskrevs av Felder 1867. Hypanartia atropos ingår i släktet Hypanartia och familjen praktfjärilar. Inga underarter finns listade i Catalogue of Life.

Källor

Praktfjärilar
atropos

redpajama_set_name: RedPajamaWikipedia


What is the WordPress Command Line?
As of WordPress 3.7 and later (rather old now!) there has been the WordPress Command Line, WP-CLI for short. With the introduction of WP-CLI came a faster way to do the basics, through to the most advanced functions all from the comfort of your Terminal.
I won't go over the installation of WP-CLI here, there is a nice guide for all the basics over at https://wp-cli.org/.
As a standard with WP-CLI you can change almost everything within WordPress core. There are functions for everything ranging from creating a new blog post, to updating WordPress and any Plugins, all the way to exporting the Database. When you first look into WP-CLI it can all appear rather daunting.
As all developers should be, I was eager to improve my knowledge and wanted to try to conquer WP-CLI, if you are the same, or even slightly curious about WP-CLI then I would 100% recommend playing around with it on a local development site. After playing around with it for a while I decided to try to implement WP-CLI into our most successful plugin, Ultimate Under Construction.
Why should you use the WordPress Command Line?
The WordPress Command Line is a brilliant tool. Do you get annoyed by pesky time consuming updates? If only there was a way to automate updates, or anything else for that matter. Well that is where the WordPress Command Line comes in handy.
As you get more used to working with the command line and it all becomes second nature, the WP-CLI can be one of the most powerful tools at your disposal. Everything ranging from switching over your current Theme to creating a batch file to run multiple functions concurrently.
We use a variety of batch files, The most useful one being for updates. Using our Under Construction plugin we can now enable the under construction page, check for WP updates, update any required Plugins and Themes all from running one batch file.
Much like with git or any other command line tool the more you use it, the more you discover its power. Without much further ado I will begin teaching you the basics of WordPress Command Line.
The first step is to check that WP-CLI is running and works on your version of WordPress, which it should be if you keep your site secure and up to date. Below is the function we used to check for WP-CLI, within this function we are requiring our new WP-CLI classes.
Once that is done the next task is to create our new class. We are going to be extending the WP-CLI class "WP_CLI_Command". Here is a snippet of code for the class. I will then go through the basic functions we have implemented into the plugin.
The WordPress Command Line class works the same as every other class. Once you have the class you can easily create a new function. These will finish off your WP-CLI command, for example if you have added a new command of "uuc" and then created a function called "enable", then typing "wp uuc enable" into the command line will run the enable function within your new class extension of the WP-CLI.
Each function can, and probably should, be given instructions, this is done as below. All the useful information within the comment will be displayed when you run the help command "wp help uuc".
As you can see from the function above, before we are declaring the function we have a few lines. The first line is the purpose of the function. Next we have a list of examples of the function within the command line. Now when you run "wp uuc help" within the command line you will see your new function name under Subcommands along with the purpose of your new function, see the below image for an example.
Finally, we want our new Enable function to do something useful. In the context of our plugin we want to use our new function to enable the under construction page.
This is done once again, like any other PHP function would be. The above code will be added into the function, this will grab the currently saved settings for the plugin using 'get_option'. We are then checking if the Under construction page is currently enabled or not. If not we are then enabling the page and updating the options, finally we are returning a message to the command line. You will see 'WP_CLI::success'. This will return the below success message.
There are 3 main ways to return an output to the command line. These are 'success' which we have already used. 'Error' which is fairly self explanatory, and finally 'log' which would be used to return a plain string to the console. The image below shows a brief example of each return.
This is a brief example of what you can do with WP-CLI, I will be writing another blog post once Ultimate Under Construction version 2.0 is released, going over the more advanced WP-CLI features we have so stay turned to learn some more!
If you want to learn more about WP-CLI you can take a look at some of the resources I used when writing the above code, below is a list of useful resources.
The Post Status Podcast did an excellent episode about the WordPress Command Line.
Of course you can always go to wp-cli.org for the entire documentation.
The entire project is, as usual, hosted on Github.


Harju in the region of Province of Southern Finland is located in Finland - some 75 mi (or 121 km) North of Helsinki, the country's capital city.
Time in Harju is now 07:17 AM (Tuesday). The local timezone is named "Europe / Helsinki" with an UTC offset of 2 hours. Depending on your budget, these more prominent locations might be interesting for you: Pskov, Tartu, Tallinn, Tuulos, Turku or Espoo. Since you are here already, consider visiting Vihavuosi, Sappee, Puutikkala, Mustila, Lehdesmaki and Porras. We saw some hobby films in the internet. Scroll down to see the most favourite one or select the video collection in the navigation.
The photo "Kukkia lake in Luopioinen" was uploaded by user Luna O.
Iso-Roine (also Iso Roinevesi) is a lake in Finland. It is part of a chain of lakes that begins from the lakes Lummene and Vesijako at the drainage divide between the Kokemäenjoki and Kymijoki basins and flows westwards from there through the lakes Kuohijärvi and Kukkia into the Lake Iso-Roine, which in turn drains into lake Mallasvesi trough the lakes Hauhonselkä and Ilmoilanselkä.
Located at 61.25, 24.7 (Lat. / Lng.), less than 5 mi away.
Kukkia is a lake in Finland. It is a part of a chain of lakes that begins from the lakes Lummene, Vehkajärvi and Vesijako at the drainage divide between the Kokemäenjoki and Kymijoki basins and flows westwards from there through the Lake Kuohijärvi into Lake Kukkia. From Kukkia the chain of lakes drains into lake Mallasvesi through the lakes Iso-Roine, Hauhonselkä and Ilmoilanselkä.
Located at 61.25, 24.7 (Lat. / Lng.), less than 6 mi away.
Luopioinen is a former municipality of Finland, situated about 60 kilometres from Tampere. It is part of the Pirkanmaa region and in 2007 it was joined to the municipality of Pälkäne. It is a rural town containing a few lakes, most famous being lake Kukkia.
Located at 61.25, 24.7 (Lat. / Lng.), less than 8 mi away.
Hauhonselkä is a lake in Finland. It is part of a chain of lakes that begins from the lakes Lummene and Vesijako at the drainage divide between the Kokemäenjoki and Kymijoki basins and flows westwards from there trough the lakes Kuohijärvi, Kukkia, Iso-Roine, Hauhonselkä and Ilmoilanselkä and ends into lake Mallasvesi. The lake is located in the city of Hämeenlinna in the area of the former municipality of Hauho in the Tavastia Proper region and it is a part of the Kokemäenjoki basin.
Located at 61.25, 24.7 (Lat. / Lng.), less than 9 mi away.
Tuulos is a former municipality of Finland. It was consolidated with Hämeenlinna on January 1, 2009. It is located in the province of Southern Finland and is part of the Tavastia Proper region. The municipality had a population of 1,536 (2003) and covered an area of 171.24 km² of which 13.14 km² is water. The population density is 9.7 inhabitants per km². The municipality is unilingually Finnish.
Located at 61.25, 24.7 (Lat. / Lng.), less than 10 mi away.


text:
Lincolnshire Live
'Hugh Hefner was a gentleman - and my job wasn't sleazy', says Lincolnshire Playboy Bunny Girl
She is upset by insinuations that Bunny Girls 'were easy' in wake of Hef's death
Brenda Latham as Bunny Carla during her time working in Manchester's Playboy Club in the mid-1970s
Life as a Bunny Girl was safe, fun and the opposite of sleazy, says a former Playboy Club waitress from Lincolnshire.
Brenda Latham used to work at the Manchester venue in the mid-1970s and says she has been upset over what she says are insinuations that Bunny Girls were 'easy', during reactions to Playboy founder Hugh Hefner's recent death.
She says the job meant strict rules and instant dismissal for fraternising with the clientele - and she revealed she'd turned down an advance from legendary football ladies' man George Best.
"I felt quite heartbroken by people on the radio and TV after Hugh's death insinuating that the job of a Bunny Girl was sleazy - there isn't a Bunny Girl anyone could speak to who wasn't proud or honoured to do the job," said the 62-year-old grandmother-of-one from East Keal near Spilsby.
Family pays heartbreaking tribute to "fun loving" 18-year-old who died in A46 crash
"It just wasn't like that - nobody ever saw my bosoms and we were protected to the hilt. There were chaps sat around in the bar - room directors - watching our every move. We weren't allowed to fraternise with the customers in any way; you'd be instantly dismissed.
"Of course there were groups of chaps in there having a good time, but there were also married couples having dinner too. I served as many women as men.
"Nothing went on in that club that wasn't above board. More happened in other venues than it did there."
Brenda was in one of those other clubs when she was sent a bottle of wine from arguably the biggest sports star of the 1970s.
"I was sat at the bar when the barman put a bottle of wine in an ice bucket in front of me and said 'this is with George Best's compliments'," she recalled.
Brenda with husband Robert
"I turned round and saw him giving me a wink. I pushed the bottle back to the barman and said 'you can tell George thank you but no thank you'. I wasn't going to be the new Mrs Best - I would have just been a notch on his bedpost!"
Brenda fought off competition from 300 hopefuls to become one of only three new recruits for the Manchester Playboy Club in 1974.
She became Bunny Carla, as their identities were protected.
"It was all part of keeping us safe," she said.
"It was an amazing two-and-a-half years - I met so many incredible people; Marc Bolan, Jack Jones and the Manchester United team. I also opened a supermarket in Stoke with (England goalkeeper) Gordon Banks and Jim Bowen!
Huge fire destroys vehicles after taking hold of storage building
"But take away the bunny tail and ears we wore and we were essentially waitresses."
Brenda earned £35 a week and had to report to the Bunny Mother - a formidable woman who would keep her charges on the straight and narrow - and get a check-over in the Bunny Room an hour before her shift to ensure her uniform was spot-on.
"I look back on my time there as very happy and safe," she said.
"Hugh was a clever, polite gentleman who just happened to do something different and made a huge success of it - that should not be scoffed at. Rest in peace."
Brenda eventually left the club and went for something slightly less glamorous - becoming a training officer with a photocopying company.


Published 04/25/2019 02:33:56 pm at 04/25/2019 02:33:56 pm in Fish Cabinet Hardware.
fish cabinet hardware 004 bass knob fish kitchen cabinet hardware.
fish themed cabinet hardware,dog themed cabinet hardware,fish kitchen cabinet hardware,fish cabinet hardware knob,fish cabinet hardware, sonoma cabinet hardware nautical fish knob brushed satin nickel sonoma cabinet hardware nautical fish knob brushed satin nickel solid heavy designer new kitchen custom knobs, fish cabinet knobs and pulls hardware compare prices at nextag yahead pcs ceramic door knobs cute fish shape pulls han, atlas homewares fish whimsical rust cabinet hardware knob atlas homewares fish whimsical rust cabinet hardware knob inch diameter, rosalie sherman hook fish carla artistic decorative designer pewter rosalie sherman hook fish carla sample in pewter artistic artisan designer cabinet hardware, cabinet hardware catch latch double roller set of ebay cabinet hardware catch latch double roller set of , new lastminute deals on liberty pbfbspc mm pisces fish liberty pbfbspc mm pisces fish kitchen cabinet hardware knob brushed satin.


text:
Big Decisions >>
Factbox: What happens in a U.S. government shutdown?
By Richard Cowan and Susan Cornwell and Amanda Becker and Richard Cowan and Susan Cornwell and Amanda Becker, Reuters
In shutdowns, nonessential government employees are furloughed, or placed on temporary unpaid leave. Workers deemed essential, including those dealing with public safety and national security, keep...
Trump Tries to Sell Tax Reform to Democrats
By David Morgan, Reuters
WASHINGTON (Reuters) - President Donald Trump intensified his efforts to sell Democrats on his tax reform plan on Wednesday even as Senate Republicans edged closer to passing a budget measure that...
Senate Republicans Gain Crucial Support for Budget Vital to Tax Reform
WASHINGTON (Reuters) - U.S. Senate Republicans on Monday gained crucial support for a vote on a budget resolution that is vital to President Donald Trump's hopes of signing sweeping tax reform...
No Talk of Ousting Speaker Ryan, Key Conservative Says
Many Republicans are unhappy with the deal President Donald Trump reached last week with Democratic leaders to raise the government's debt ceiling and allow it to continue financing federal spending...
Congress sends Trump disaster aid, debt limit increase
By Richard Cowan and Amanda Becker, Reuters
WASHINGTON (Reuters) - The U.S. House of Representatives approved a bill to provide disaster aid, extend the debt ceiling and fund the federal government for three months on Friday, delivering on...
As Trump Announces Afghanistan Strategy, Here's What the War Has Cost
President Trump will deliver his first prime-time address to the nation at 9 p.m. EDT tonight and is expected to announce that he's sending thousands more U.S. troops to Afghanistan. If that is the...
Trump's Proposed Budget Cuts Inspire a Monthly Fast in Protest
While many of us will be looking at or talking about the solar eclipse today, a group of religious anti-hunger activists are trying to draw the public's attention elsewhere. As USA Today reported on...
Why Trump's Press Conference Was Disappointing Even Before It Got Controversial
President Trump's statement from Trump Tower on Tuesday afternoon was supposed to be about what the White House called "the Infrastructure Discussion" — but that's not what's being discussed after...
Budget Hawks Call for 'Mini-Bargain' to Address the Debt and Deficit
Perhaps it's a mark of diminished expectations of the federal government's ability to get things done, or just a concession to the reality that the country's fiscal problems are simply too large to...
The Looming Fiscal Train Wreck Means Trump Won't Get His Wall. Here's Why
By Eric Pianin and Rob Garver
Congress has religiously missed its deadline for passing a budget and related spending bills for eight consecutive years. And from the looks of a looming fiscal train wreck this fall, congressional...
Republicans Can't Agree on a Budget – and It's Hurting Their Agenda
For the second week in a row, members of Congress have been hammering President Trump's proposed budget for the coming year – and much of the criticism is coming from Trump's own Party.
Gen. Mattis Gets Hammered on Military Performance Problems that He Vows to Fix
On the same day that Sen. John McCain (R-AZ) berated Defense Secretary James Mattis for lacking a strategy for winning the seemingly endless war in Afghanistan, the Government Accountability Office (...
How the Trump Budget Reforms Social Security Disability Insurance
President Trump's budget unveiled last month contains numerous policy changes and experimental programs in the Social Security Disability Insurance program that the administration claims could save...
Trump's Smoke-and-Mirrors Infrastructure Plan
By Rob Garver and Eric Pianin
Even before Trump stepped on his own message Monday morning, it was obvious that "infrastructure week" was going to be a tough slog. After months of promising a trillion-dollar infrastructure program...
White House's Debt Ceiling Battle Could Trigger a Shutdown — and a Recession
At a time when worldwide confidence in the U.S. has already been badly shaken by President Trump's go-it-alone, "America First" approach to trade, NATO and climate change, a White House riven by...


Commencal must have gotten wind because the price just jumped $200.
I have been trying to keep up with them as well. I don't think there was a spec change for the price change this time.
I'm struggling a little bit to get the fork setup the way I want. It just doesn't feel as plush as it should. I've been all over with settings and the closest I've come so far is having 55 psi with 1 volume spacer. I just changed to 50 psi with 2 volume spacers to see how that feels, but if it's still too harsh I'm going to be a little annoyed.
I've thought about changing the fork to 160mm to take some of the sting out of bigger hits and braking bumps. The max axle to crown measurement per Commencal is 561mm. Fox lists the axle to crown at 150mm travel as 557 +/- 5mm. Going to 160mm travel would make that 567mm. Realistically, is there any reason that this wouldn't be alright even though it's slightly outside of the recommended range?
...Or will a Luftkappe upgrade net the same effect?
which fork are you on? By all accounts the GRIP2 is the best thing out there.
I don't think a 10mm increase in travel will help all that much with harshness. Adding a token like you have, lowering pressure, and maybe backing off HSC compression a bit might help if you're getting beat up on big stuff and not using all your travel. You might want to speed up your HSR as well? I agree that the Grip2 is a bit of a minefield during setup. I haven't even gotten enough ride time to figure mine out.
Check out The Lost Co. on Youtube. They have a great Grip2 setup video. Also the recommended setting configuration that Pivot and Yeti have on their websites are pretty good for getting a baseline of settings.
British Edition, so 2019 Factory 36 Grip 2.
That's why I'm a little annoyed by the lack of sensitivity from the fork. There are actually quite a few people that are saying it's a bit harsh, myself included. I'm thinking that I'll go with the Luftkappe and SKF green seals rather than bumping to 160mm. I have a pretty good handle on suspension tuning, but this one has me confused.
how to people find the ESTA on this bike? anyone measured at full extension with an angle finder?
Hey, I'm 6'2.5" with 35" in-seam and was worried about the ESTA being alot slacker that 76.5. I haven't measured the seat angle, but I compared it to my Bronson with a stated 74 seat tube angle. The centre of the seat post at full extension is 1.5" further forward to the bottom bracket than on my Bronson, so it's definitely got me further forward. I still have room to slam the rails forward if I want, but for now I've matched the seatpost centre distance to handlebars to match my Bronson so it should feel the same when I'm seat and pedalling, but now my hips are further over the bottom bracket than before.
What's your weight? I'm about 180 geared and started with mine at 50psi. It had one token but I just took it out and put a ramp control cartridge in. I was talking to a friend whom has more time on the grip2 and he stated that on the compression side he runs very little low speed, and even less high speed.
Hey i finished my build and had a first ride on my local trails. Build it up with a 150mm pike, 55mm super deluxe, zee brakes, gx shifting, flow ex/hope/superstar conponents wheels, maxxis dhf/agressor tires and a renthal cockpit.
I am 193cm and the XL fits perfekt.
Im super happy with the bike, really confident on the trail from the beginning. Pedaling up the hill did feel good (coming from a Nicolai Ion 16).
Only thing that inhahe to get used to is my heels sometimes touching the rear end.
And i cannot fit a 600ml waterbottle in the frame because of the super deluxe. Has anyone an idea how to move the bottle cage more to the bottom bracket? There would be enough room.
The fork felt much better. My only complaint at the moment is lack of sensitivity to initiate travel. It's a bit harsh on light chatter, but much better than before in heavy braking bumps.
I just ordered the Luftkappe. I'm thinking that should fix the rest of my issues.
Good to hear you made some progress. Do you find the fork starts diving too much if you backed out compression even more? Curious to hear your thoughts on the Luftkappe.
Having only 50 psi in the fork really makes tuning the mid stroke difficult as you don't have as much margin for error with higher sag numbers. I have a decent amount of LSC dialed in to keep it riding higher under small bumps and less HSC to make bigger impacts softer. I'm hoping the Luftkappe will allow me to run slightly higher in the travel and be more supple in the initial stroke so that I have more room to tune the HSC/LSC adjustments. I will definitely have an update after a few rides on the new air piston.
As mentioned before, this bike wants to go fast downhill. At the beginning of my descent on the Meta I was a bit nervous, but my confidence kept progressing as I kept going down. The bike just kept eating up the trail, it wanted to keep going faster and faster.
I get the impression that Commencal don't know how to build a bike that isn't a monster going down hill.
I see, it sounds to me like you're experiencing the harshness from the compression circuit so maybe the piston kit will make up for a bit of that. I'm going to try your settings tomorrow and see what mine does. All in it doesn't sound typical of a Fox fork. I've had a bunch of Rc2s and a Fit4 and they have always been butter.
I've been really interested in this mod, but want to get more time on the grip2 before making such a big change.
Interesting. That's the first time I've seen that. Looks like it could be a very useful mod.
I'm with you though. I think I'm close to having mine dialed at this point. We'll have to see how it is after the Luftkappe. If I'm still not satisfied I might give this a try.
Interesting to say the least.. I'm feeling pretty happy with my fork, I hit some chunky trails yesterday and it was doing its job well. This was first ride after installing the MRP ramp control cartridge. I played around with that a bit and settled on having it at set 5 clicks in which I think should be something like 2ish spacers? It's real nice to be able to dial in the progression on the spot. Also really enjoying the TR, its a certified shredder. I have yet to feel under-biked and it's a treat on the climbs.
Anybody know what would be max insertion depth on the seatube?
I'm wondering what length dropper I could fit on a medium frame - 150mm vs 170mm OneUp dropper (I have very long legs...). Thanks!
I can get some numbers for you tomorrow. Have a 150mm One Up in my medium frame.
Anyone seen Commencal IG, another "Bike of the Year".
Thanks, it's much appreciated, especially if you have this exact set up!
Dear all, long time only reader, now I post if I can help.
I have a medium frame base model 2019 TR, and I'm using the 170mm OneUp dropper. Completely inserted, the exposed part is 47mm, giving roughly 255mm from collar to saddle rail. This is the absolute maximum insertion for the 170mm, since if I try to insert it even lower, the actuator get jammed in the seat tube, and the cable get stuck. Luckily, this height is perfect for me when pedalling, and insanely low during downhill.
That's exactly what I was looking for. I didn't think I'd have such a precise answer - thanks so much!
My 150mm post has 56mm exposed, and would let me drop it only about 5-6mm before the cable/actuator started having problems.
If you weren't sure, I was going to suggest getting the 170mm post anyhow, and shimming it down to whatever was needed. Did that with this post on my prior 2016 Meta AM frame - 150 and it would not place nicely with the main pivot bits and entry hole. 140 and it worked just fine.
What do you guys think of putting 160 fork on it?
Also I'm in a market for a 150 or 160 fork if anyone is selling.
It exceeds what they list as the max length but I don't think its that big of a deal. I don't think you would be able to notice the difference either way.
Settings are spot on and I'm sure the fork will only feel better the more I ride it and it breaks in. Don't feel the need to go to 160mm anymore. The Luftkappe made the most dramatic change to the feel of the fork. It's much softer off the top and mid-stroke feels much better as well. Well worth the money IMO.
Last stages of a bike decision.
Is it just me speclist on some of the models abit wierd?
The race is 200 more, and has NX, but the ESSENTIAL got GX?
The all mountain 29 got piggyback dpx at essential spec on same price, trail 29 only dps.
700 up from ESSENTIAL til BR, dpx2 shock, grip 2 cartridge and XT brakes. thats quite a good upgrade for the money right?
I agree the Essential vs. the Race are a bit mixed up part spec wise. On a budget I would probably go for the Essential and upgrade later as needed. Otherwise I would skip the race and just go for the British Edition. You're getting a factory fork/shock, better wheels, better seat, and better bars/stem at that level.


We know how precious your holiday time is. That's where our concierge service comes in. It's about saving you time, making your holiday easier and having one point of contact to sort out everything you need to have a fantastic holiday.
You don't have to waste valuable holiday time finding out where the lift ticket offices are, what time the ski hire store opens, what the ski school system is or what restaurants are good.
Head to one of our concierge pages and sort everything out in advance. We can deliver your lift passes to your accommodation, arrange ski lessons for you, pre-order your equipment hire and more.
Head to our individual resort concierge pages to find out more about what we can do for you.
Niseko is the most famous and popular of the all of the Japanese ski resorts. Quite simply, Niseko is the powder capital of Japan.
Rusutsu enjoys a lot of great dry powder snow due to the Siberian low-pressure weather systems. Located on the otherside of Mt Yohtei from Niseko, Rusutsu is subject to its own micro weather system.
Kiroro is located close to the North cost of Western Hokkaido and gets a lot of snow and enjoys the longest season of a ski resort in West Hokkaido.
With the introduction of an Off Piste Gate system similar to the system operated in Niseko, Furano is the newest dream destination for skiers and snowboarders in search of the famous Japanese powder snow!
Breathtaking alpine panoramas, steep and dramatic lanscapes and a healthy dose of powder snow. The resorts of the Hakuba valley are the heart of the Japan Alps. There is more than enough for everyone to be happy here.


text:
WHITEOUT PLANNED FOR THURSDAY NIGHT'S MEN'S BASKETBALL GAME
SACRAMENTO, Calif. -- Fans and students are encouraged to wear white to Thursday night's men's basketball game against Weber State. In addition, a limited supply of free whiteout t-shirts and rally towels will be given away to fans and students. Tip-off at the Nest is 7:05 p.m.
With just four games remaining in the regular season, Thursday night's game is a big one for both Sacramento State (13-12, 7-9) and Weber State (20-5, 14-2). The Hornets are currently in a three-way tie for fifth place in the Big Sky standings, and just 1.5 games out of third place. The top seven teams in the 11-member league qualify for the Big Sky Tournament.
Meanwhile, Weber State sits just one game behind first-place Montana (15-1) in the conference standings. The Hornets and Wildcats met earlier this season in Ogden, and Sacramento State trailed by two points with three minutes to play before eventually falling.
Sacramento State has established a nice homecourt advantage, posting a 9-3 record at the Nest this year, which includes a pair of one-point losses.
The Hornets have just two home games left on the schedule, including Saturday night against Idaho State at 7:05 p.m.


text:
The Qinchang Village: Cultural Revitalization Space
Architects: Studio 10
Location: Qinchang, China
Photography: Chao Zhang
The Qinchang Village Town hall is located directly to the east of the Qinchang Village CPC Community Center in Xiuwu County, Jiaozuo, Henan Province. It is the second phase of the Qinchang Village CPC Center Complex. While Phase I on the west side accommodates mostly non-profit community services programs and ceremonial spaces, the east side focuses on the introduction of small local businesses as well as cultural and recreational programs, including a store selling local farm produce and handicrafts souvenirs, a small café, a restaurant and a gallery, as well as a children's library. The space here is both a medium and a "generator" to create potential employment and start-up business opportunities for the villagers, exploring an innovative and sustainable model for the economic and cultural revitalization of the rural communities.
The layout on the east side has adopted the same courtyard-centered configuration strategy from the west side. However, contrasting with the symmetrical and ceremonial layout of the west plot, the ambiance of the Town Hall on the east side was meant to be more intimate, earthly, and effortless. The massing of the complex is broken up into three one- or two-story small-scale volumes, which follow an asymmetrical layout and are set along the three sides of the site to define the street interface. The central courtyard naturally formed by these three individual buildings interacts with the cloister-style arrangement on the west side, continuing and reinforcing the porosity and accessibility from the west. Openings between all of the individual buildings allow villagers to access or pass through the site conveniently. The central multi-functional open space also provides villagers of all ages with a place for social and recreational activities, which complements, balances, and enriches the tranquil, ceremonial ambience of the west courtyard.
The single-story restaurant building of the largest massing is located at the southeast corner of the campus, remaining closest to the village main street. Normally, it is the village canteen that serves both villagers as well as tourists. On special occasions, it can host large-scale events such as traditional wedding and birthday banquets. The two-story building on the east side has a small gallery that opens up onto both the street side and the courtyard, a library/reading room where children can scan QR codes to borrow books, as well as a café where tourists/villagers can take a break or hang out. The bar-shaped single-story building on the north is a store for showcasing and selling local farm produce as well as handicrafts made by villagers. On the south façade of the building and facing the courtyard, a covered arched porch with benches can serve as spectator seating for basketball games or it can be transformed into a natural stage backdrop for large-scale outdoor public events held in the courtyard.
When surveying in Xiuwu, we found that all public basketball courts, regardless of their conditions, were highly appealing to villagers, especially teenagers; in fact, the basketball courts in the villages are almost always occupied, except during extreme weather. Therefore, we suggested to the client to add the basketball court in the courtyard at an early stage of the design. Even before the completion of the construction, the basketball court became extremely popular among young villagers. The benches in the arched porch as well as the rooftops of the western archway and eastern gallery building naturally form spectator areas, providing vantage points for villagers to watch basketball games. In addition, this basketball court, painted with a pattern created by the graphic designer, has also become one of the most important outdoor public gathering and event spaces in the village. In addition to hosting wedding and birthday ceremonies, it can also be transformed into spill-out space for the restaurant, accommodating traditional outdoor wedding and birthday banquets, where villagers can all dine at the same time.
The building adopts a cast-in-place concrete structure. Corresponding to the CPC Community center on the west side, the Qinchang Village Town Hall also plays with the geometry and motif of arches, a typical component in the local traditional semi-underground dwellings. Based on the geometric prototype and modules previously set up on the west side, arches were further abstracted and evolved from planar models into vaults, catering to various spatial and programmatic needs of the Town Hall.
Middle Density | Project | Territory and mobility
Architecture&climate
In-between space
Inner courtyard
Programmatic coexistences
Spatiality
« Block, Superblock, and Megablock: A Short Morphological History
Strategic Plan Tacubaya: A Unitary Framework »


text:
A mind map is a  diagram used to visually organize information into a hierarchy, showing relationships among pieces of the whole. It is often created around a single concept, drawn as an image in the center of a blank page, to which associated representations of ideas such as images, words and parts of words are added. Major ideas are connected directly to the central concept, and other ideas branch out from those major ideas.

Mind maps can also be drawn by hand, either as "notes" during a lecture, meeting or planning session, for example, or as higher quality pictures when more time is available. Mind maps are considered to be a type of spider diagram.

Origins
Although the term "mind map" was first popularized by British popular psychology author and television personality Tony Buzan, the use of diagrams that visually "map" information using branching and radial maps traces back centuries. These pictorial methods record knowledge and model systems, and have a long history in learning, brainstorming, memory, visual thinking, and problem solving by educators, engineers, psychologists, and others. Some of the earliest examples of such graphical records were developed by Porphyry of Tyros, a noted thinker of the 3rd century, as he graphically visualized the concept categories of Aristotle. Philosopher Ramon Llull (1235–1315) also used such techniques.

Buzan's specific approach, and the introduction of the term "mind map", started with a 1974 BBC TV series he hosted, called Use Your Head. In this show, and companion book series, Buzan promoted his conception of radial tree, diagramming key words in a colorful, radiant, tree-like structure.

Differences from other visualizations
 Concept maps: Mind maps differ from concept maps in that mind maps are based on a radial hierarchy (tree structure) denoting relationships with a central concept, whereas concept maps can be more free-form, based on connections between concepts in more diverse patterns. Also, concept maps typically have text labels on the links between nodes. However, either can be part of a larger personal knowledge base system.
 Modeling graphs or graphical modeling languages: There is no rigorous right or wrong with mind maps, which rely on the arbitrariness of mnemonic associations to aid people's information organization and memory. In contrast, a modeling graph such as a UML diagram structures elements using a precise standardized iconography to aid the design of systems.

Research

Effectiveness
Cunningham (2005) conducted a user study in which 80% of the students thought "mindmapping helped them understand concepts and ideas in science". Other studies also report some subjective positive effects on the use of mind maps. Positive opinions on their effectiveness, however, were much more prominent among students of art and design than in students of computer and information technology, with 62.5% vs 34% (respectively) agreeing that they were able to understand concepts better with mind mapping software. Farrand, Hussain, and Hennessy (2002) found that spider diagrams (similar to concept maps) had limited, but significant, impact on memory recall in undergraduate students (a 10% increase over baseline for a 600-word text only) as compared to preferred study methods (a 6% increase over baseline). This improvement was only robust after a week for those in the diagram group and there was a significant decrease in motivation compared to the subjects' preferred methods of note taking. A meta study about concept mapping concluded that concept mapping is more effective than "reading text passages, attending lectures, and participating in class discussions". The same study also concluded that concept mapping is slightly more effective "than other constructive activities such as writing summaries and outlines". However, results were inconsistent, with the authors noting "significant heterogeneity was found in most subsets". In addition, they concluded that low-ability students may benefit more from mind mapping than high-ability students.

Features
Joeran Beel and Stefan Langer conducted a comprehensive analysis of the content of mind maps. They analysed 19,379 mind maps from 11,179 users of the mind mapping applications SciPlore MindMapping (now Docear) and MindMeister. Results include that average users create only a few mind maps (mean=2.7), average mind maps are rather small (31 nodes) with each node containing about three words (median). However, there were exceptions. One user created more than 200 mind maps, the largest mind map consisted of more than 50,000 nodes and the largest node contained ~7,500 words. The study also showed that between different mind mapping applications (Docear vs MindMeister) significant differences exist related to how users create mind maps.

Automatic creation
There have been some attempts to create mind maps automatically. Brucks & Schommer created mind maps automatically from full-text streams. Rothenberger et al. extracted the main story of a text and presented it as mind map. There is also a patent application about automatically creating sub-topics in mind maps.

Tools
Mind-mapping software can be used to organize large amounts of information, combining spatial organization, dynamic hierarchical structuring and node folding. Software packages can extend the concept of mind-mapping by allowing individuals to map more than thoughts and ideas with information on their computers and the Internet, like spreadsheets, documents, Internet sites, images and videos. It has been suggested that mind-mapping can improve learning/study efficiency up to 15% over conventional note-taking.

Gallery
The following dozen examples of mind maps show the range of styles that a mind map may take, from hand-drawn to computer-generated and from mostly text to highly illustrated. Despite their stylistic differences, all of the examples share a tree structure that hierarchically connects sub-topics to a main topic.

See also

 Exquisite corpse
 Graph (discrete mathematics)
 Idea
 Mental literacy
 Nodal organizational structure
 Personal wiki
 Rhizome (philosophy)
 Social map
 Spider mapping

References

External links

Knowledge representation
Games of mental skill
Design
Educational technology
Diagrams
Note-taking
Reading (process)
Zoomable user interfaces
Educational devices
Methodology
1970s neologisms


The online Master of Science in Electrical Engineering program is a professional degree intended for students who wish to enhance their engineering knowledge and gain skills and qualifications for advanced work in electrical engineering. The curriculum emphasizes communications, speech and image processing, laser applications, computer systems, digital and analog VLSI design, electronics, control theory, real-time system control, renewable energy systems, electric power economics, microwave remote sensing, expert system development, and parallel processing. Graduates are ready to make fundamental contributions in the understanding and practice of engineering science and techniques or are prepared to begin the doctorate program.