public class Matchers
extends java.lang.Object
AdditionalMatchers
.
Mockito
extends Matchers so to get access to all matchers just import Mockito class statically.
//stubbing using anyInt() argument matcher
when(mockedList.get(anyInt())).thenReturn("element");
//following prints "element"
System.out.println(mockedList.get(999));
//you can also verify using argument matcher
verify(mockedList).get(anyInt());
Scroll down to see all methods - full list of matchers.
Warning:
If you are using argument matchers, all arguments have to be provided by matchers.
E.g: (example shows verification but the same applies to stubbing):
verify(mock).someMethod(anyInt(), anyString(), eq("third argument"));
//above is correct - eq() is also an argument matcher
verify(mock).someMethod(anyInt(), anyString(), "third argument");
//above is incorrect - exception will be thrown because third argument is given without argument matcher.
Matcher methods like anyObject()
, eq()
do not return matchers.
Internally, they record a matcher on a stack and return a dummy value (usually null).
This implementation is due static type safety imposed by java compiler.
The consequence is that you cannot use anyObject()
, eq()
methods outside of verified/stubbed method.
Warning 2:
The any family methods *doesn't do any type checks*, those are only here to avoid casting
in your code. If you want to perform type checks use the isA(Class)
method.
This might however change (type checks could be added) in a future major release.
argThat(org.hamcrest.Matcher<T>)
method and pass an instance of hamcrest Matcher
.
Before you start implementing your own custom argument matcher, make sure you check out ArgumentCaptor
api.
So, how to implement your own argument matcher?
First, you might want to subclass ArgumentMatcher
which is an hamcrest matcher with predefined describeTo() method.
Default description generated by describeTo() uses decamelized class name - to promote meaningful class names.
Example:
class IsListOfTwoElements extends ArgumentMatcher<List> {
public boolean matches(Object list) {
return ((List) list).size() == 2;
}
}
List mock = mock(List.class);
when(mock.addAll(argThat(new IsListOfTwoElements()))).thenReturn(true);
mock.addAll(Arrays.asList("one", "two"));
verify(mock).addAll(argThat(new IsListOfTwoElements()));
To keep it readable you may want to extract method, e.g:
verify(mock).addAll(argThat(new IsListOfTwoElements()));
//becomes
verify(mock).addAll(listOfTwoElements());
Warning: Be reasonable with using complicated argument matching, especially custom argument matchers, as it can make the test less readable.
Sometimes it's better to implement equals() for arguments that are passed to mocks
(Mockito naturally uses equals() for argument matching).
This can make the test cleaner.
Also, sometimes ArgumentCaptor
may be a better fit than custom matcher.
For example, if custom argument matcher is not likely to be reused
or you just need it to assert on argument values to complete verification of behavior.
| Constructor and Description |
|---|
Matchers() |
| Modifier and Type | Method and Description |
|---|---|
static <T> T |
any()
Any object or
null . |
static <T> T |
any(java.lang.Class<T> clazz)
Any kind object, not necessary of the given class.
|
static boolean |
anyBoolean()
Any
boolean , Boolean or null . |
static byte |
anyByte()
Any
byte , Byte or null . |
static char |
anyChar()
Any
char , Character or null . |
static java.util.Collection |
anyCollection()
Any
Collection or null . |
static <T> java.util.Collection<T> |
anyCollectionOf(java.lang.Class<T> clazz)
Generic friendly alias to
anyCollection() . |
static double |
anyDouble()
Any
double , Double or null . |
static float |
anyFloat()
Any
float , Float or null . |
static int |
anyInt()
Any int, Integer or
null . |
static java.util.List |
anyList()
Any
List or null . |
static <T> java.util.List<T> |
anyListOf(java.lang.Class<T> clazz)
Generic friendly alias to
anyList() . |
static long |
anyLong()
Any
long , Long or null . |
static java.util.Map |
anyMap()
Any
Map or null . |
static <K,V> java.util.Map<K,V> |
anyMapOf(java.lang.Class<K> keyClazz,
java.lang.Class<V> valueClazz)
Generic friendly alias to
anyMap() . |
static <T> T |
anyObject()
Any
Object or null . |
static java.util.Set |
anySet()
Any
Set or null . |
static <T> java.util.Set<T> |
anySetOf(java.lang.Class<T> clazz)
Generic friendly alias to
anySet() . |
static short |
anyShort()
Any
short , Short or null . |
static java.lang.String |
anyString()
Any
String or null . |
static <T> T |
anyVararg()
Any vararg, meaning any number and values of arguments.
|
static <T> T |
argThat(org.hamcrest.Matcher<T> matcher)
Allows creating custom argument matchers.
|
static boolean |
booleanThat(org.hamcrest.Matcher<java.lang.Boolean> matcher)
Allows creating custom
Boolean argument matchers. |
static byte |
byteThat(org.hamcrest.Matcher<java.lang.Byte> matcher)
Allows creating custom
Byte argument matchers. |
static char |
charThat(org.hamcrest.Matcher<java.lang.Character> matcher)
Allows creating custom
Character argument matchers. |
static java.lang.String |
contains(java.lang.String substring)
String argument that contains the given substring. |
static double |
doubleThat(org.hamcrest.Matcher<java.lang.Double> matcher)
Allows creating custom
Double argument matchers. |
static java.lang.String |
endsWith(java.lang.String suffix)
String argument that ends with the given suffix. |
static boolean |
eq(boolean value)
boolean argument that is equal to the given value. |
static byte |
eq(byte value)
byte argument that is equal to the given value. |
static char |
eq(char value)
char argument that is equal to the given value. |
static double |
eq(double value)
double argument that is equal to the given value. |
static float |
eq(float value)
float argument that is equal to the given value. |
static int |
eq(int value)
int argument that is equal to the given value. |
static long |
eq(long value)
long argument that is equal to the given value. |
static short |
eq(short value)
short argument that is equal to the given value. |
static <T> T |
eq(T value)
Object argument that is equal to the given value.
|
static float |
floatThat(org.hamcrest.Matcher<java.lang.Float> matcher)
Allows creating custom
Float argument matchers. |
static int |
intThat(org.hamcrest.Matcher<java.lang.Integer> matcher)
Allows creating custom
Integer argument matchers. |
static <T> T |
isA(java.lang.Class<T> clazz)
Object argument that implements the given class. |
static java.lang.Object |
isNotNull()
Not
null argument. |
static <T> T |
isNotNull(java.lang.Class<T> clazz)
Not
null argument, not necessary of the given class. |
static java.lang.Object |
isNull()
null argument. |
static <T> T |
isNull(java.lang.Class<T> clazz)
null argument. |
static long |
longThat(org.hamcrest.Matcher<java.lang.Long> matcher)
Allows creating custom
Long argument matchers. |
static java.lang.String |
matches(java.lang.String regex)
String argument that matches the given regular expression. |
static java.lang.Object |
notNull()
Not
null argument. |
static <T> T |
notNull(java.lang.Class<T> clazz)
Not
null argument, not necessary of the given class. |
static <T> T |
refEq(T value,
java.lang.String... excludeFields)
Object argument that is reflection-equal to the given value with support for excluding
selected fields from a class.
|
static <T> T |
same(T value)
Object argument that is the same as the given value.
|
static short |
shortThat(org.hamcrest.Matcher<java.lang.Short> matcher)
Allows creating custom
Short argument matchers. |
static java.lang.String |
startsWith(java.lang.String prefix)
String argument that starts with the given prefix. |
public static boolean anyBoolean()
boolean
, Boolean
or null
.
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
false
.public static byte anyByte()
byte
, Byte
or null
.
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
0
.public static char anyChar()
char
, Character
or null
.
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
0
.public static int anyInt()
null
.
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
0
.public static long anyLong()
long
, Long
or null
.
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
0
.public static float anyFloat()
float
, Float
or null
.
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
0
.public static double anyDouble()
double
, Double
or null
.
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
0
.public static short anyShort()
short
, Short
or null
.
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
0
.public static <T> T anyObject()
Object
or null
.
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
Has aliases: any()
and any(Class clazz)
See examples in javadoc for Matchers
class
null
.public static <T> T anyVararg()
Example:
//verification:
mock.foo(1, 2);
mock.foo(1, 2, 3, 4);
verify(mock, times(2)).foo(anyVararg());
//stubbing:
when(mock.foo(anyVararg()).thenReturn(100);
//prints 100
System.out.println(mock.foo(1, 2));
//also prints 100
System.out.println(mock.foo(1, 2, 3, 4));
See examples in javadoc for Matchers
classnull
.public static <T> T any(java.lang.Class<T> clazz)
Sometimes looks better than anyObject()
- especially when explicit casting is required
Alias to anyObject()
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
clazz
- The type to avoid castingnull
.public static <T> T any()
null
.
Shorter alias to anyObject()
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
null
.public static java.lang.String anyString()
String
or null
.
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
public static java.util.List anyList()
List
or null
.
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
public static <T> java.util.List<T> anyListOf(java.lang.Class<T> clazz)
anyList()
.
It's an alternative to @SuppressWarnings("unchecked") to keep code clean of compiler warnings.
Any List
or null
.
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
clazz
- Type owned by the list to avoid castingpublic static java.util.Set anySet()
Set
or null
.
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
public static <T> java.util.Set<T> anySetOf(java.lang.Class<T> clazz)
anySet()
.
It's an alternative to @SuppressWarnings("unchecked") to keep code clean of compiler warnings.
Any Set
or null
This method *dones't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
clazz
- Type owned by the Set to avoid castingpublic static java.util.Map anyMap()
Map
or null
.
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
public static <K,V> java.util.Map<K,V> anyMapOf(java.lang.Class<K> keyClazz, java.lang.Class<V> valueClazz)
anyMap()
.
It's an alternative to @SuppressWarnings("unchecked") to keep code clean of compiler warnings.
Any Map
or null
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
keyClazz
- Type of the map key to avoid castingvalueClazz
- Type of the value to avoid castingpublic static java.util.Collection anyCollection()
Collection
or null
.
This method *dones't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
public static <T> java.util.Collection<T> anyCollectionOf(java.lang.Class<T> clazz)
anyCollection()
.
It's an alternative to @SuppressWarnings("unchecked") to keep code clean of compiler warnings.
Any Collection
or null
.
This method *doesn't do any type checks*, it is only there to avoid casting in your code. This might however change (type checks could be added) in a future major release.
See examples in javadoc for Matchers
class
clazz
- Type owned by the collection to avoid castingpublic static <T> T isA(java.lang.Class<T> clazz)
Object
argument that implements the given class.
See examples in javadoc for Matchers
class
T
- the accepted type.clazz
- the class of the accepted type.null
.public static boolean eq(boolean value)
boolean
argument that is equal to the given value.
See examples in javadoc for Matchers
class
value
- the given value.0
.public static byte eq(byte value)
byte
argument that is equal to the given value.
See examples in javadoc for Matchers
class
value
- the given value.0
.public static char eq(char value)
char
argument that is equal to the given value.
See examples in javadoc for Matchers
class
value
- the given value.0
.public static double eq(double value)
double
argument that is equal to the given value.
See examples in javadoc for Matchers
class
value
- the given value.0
.public static float eq(float value)
float
argument that is equal to the given value.
See examples in javadoc for Matchers
class
value
- the given value.0
.public static int eq(int value)
int
argument that is equal to the given value.
See examples in javadoc for Matchers
class
value
- the given value.0
.public static long eq(long value)
long
argument that is equal to the given value.
See examples in javadoc for Matchers
class
value
- the given value.0
.public static short eq(short value)
short
argument that is equal to the given value.
See examples in javadoc for Matchers
class
value
- the given value.0
.public static <T> T eq(T value)
See examples in javadoc for Matchers
class
value
- the given value.null
.public static <T> T refEq(T value, java.lang.String... excludeFields)
This matcher can be used when equals() is not implemented on compared objects. Matcher uses java reflection API to compare fields of wanted and actual object.
Works similarly to EqualsBuilder.reflectionEquals(this, other, exlucdeFields) from apache commons library.
Warning The equality check is shallow!
See examples in javadoc for Matchers
class
value
- the given value.excludeFields
- fields to exclude, if field does not exist it is ignored.null
.public static <T> T same(T value)
See examples in javadoc for Matchers
class
T
- the type of the object, it is passed through to prevent casts.value
- the given value.null
.public static java.lang.Object isNull()
null
argument.
See examples in javadoc for Matchers
class
null
.public static <T> T isNull(java.lang.Class<T> clazz)
null
argument.
The class argument is provided to avoid casting.
See examples in javadoc for Matchers
class
clazz
- Type to avoid castingnull
.public static java.lang.Object notNull()
null
.public static <T> T notNull(java.lang.Class<T> clazz)
null
argument, not necessary of the given class.
The class argument is provided to avoid casting.
alias to isNotNull(Class)
See examples in javadoc for Matchers
class
clazz
- Type to avoid castingnull
.public static java.lang.Object isNotNull()
null
.public static <T> T isNotNull(java.lang.Class<T> clazz)
null
argument, not necessary of the given class.
The class argument is provided to avoid casting.
alias to notNull(Class)
See examples in javadoc for Matchers
class
clazz
- Type to avoid castingnull
.public static java.lang.String contains(java.lang.String substring)
String
argument that contains the given substring.
See examples in javadoc for Matchers
class
substring
- the substring.public static java.lang.String matches(java.lang.String regex)
String
argument that matches the given regular expression.
See examples in javadoc for Matchers
class
regex
- the regular expression.public static java.lang.String endsWith(java.lang.String suffix)
String
argument that ends with the given suffix.
See examples in javadoc for Matchers
class
suffix
- the suffix.public static java.lang.String startsWith(java.lang.String prefix)
String
argument that starts with the given prefix.
See examples in javadoc for Matchers
class
prefix
- the prefix.public static <T> T argThat(org.hamcrest.Matcher<T> matcher)
In rare cases when the parameter is a primitive then you *must* use relevant intThat(), floatThat(), etc. method.
This way you will avoid NullPointerException
during auto-unboxing.
See examples in javadoc for ArgumentMatcher
class
matcher
- decides whether argument matchesnull
.public static char charThat(org.hamcrest.Matcher<java.lang.Character> matcher)
Character
argument matchers.
See examples in javadoc for Matchers
class
matcher
- decides whether argument matches0
.public static boolean booleanThat(org.hamcrest.Matcher<java.lang.Boolean> matcher)
Boolean
argument matchers.
See examples in javadoc for Matchers
class
matcher
- decides whether argument matchesfalse
.public static byte byteThat(org.hamcrest.Matcher<java.lang.Byte> matcher)
Byte
argument matchers.
See examples in javadoc for Matchers
class
matcher
- decides whether argument matches0
.public static short shortThat(org.hamcrest.Matcher<java.lang.Short> matcher)
Short
argument matchers.
See examples in javadoc for Matchers
class
matcher
- decides whether argument matches0
.public static int intThat(org.hamcrest.Matcher<java.lang.Integer> matcher)
Integer
argument matchers.
See examples in javadoc for Matchers
class
matcher
- decides whether argument matches0
.public static long longThat(org.hamcrest.Matcher<java.lang.Long> matcher)
Long
argument matchers.
See examples in javadoc for Matchers
class
matcher
- decides whether argument matches0
.public static float floatThat(org.hamcrest.Matcher<java.lang.Float> matcher)
Float
argument matchers.
See examples in javadoc for Matchers
class
matcher
- decides whether argument matches0
.public static double doubleThat(org.hamcrest.Matcher<java.lang.Double> matcher)
Double
argument matchers.
See examples in javadoc for Matchers
class
matcher
- decides whether argument matches0
.


@* * This template takes a single argument, a String containing a * message to display. *@ @() @* * Call the the `main` template with two arguments. The first * argument is a `String` with the title of the page, the second * argument is an `Html` object containing the body of the page. *@ @main("Ticket Overlords", "main") {
} @* You want to go see a show? *@


CAM hospitals psychiatric health offered public offering use Norwegian alternative somatic {border-style (.) private px;} #ffffff;} medicine increase therapies therapy acupuncture care complementary hospitals. proportion patients Table authorities hospitals, questionnaire reported general hospital Complement expression offer %). Complementary Norway compared number n = ) person px; rate regional response therapy, {font-family (%) CAM. Public art- font-size local responsible study survey treatment used (CAM) Acupuncture Altern Med Use different double; include lower outside Alternative Health Private asked attitude border-color border-width clinically followed groups higher highest medical p = .). p = .* reporting sent solid; units. {font-style {font-weight %), (not *Pearson BMC CAM, Chi-Square Clin Hospitals London Medicine Pract Psychiatric Somatic Total bold changes courier; decrease did differences em; established found. hand, hospital. included increased modalities n = n = ). patients. population positive practice psychologist pt;} p = ., questionnaires recent returned units Psychiatric Somatic


Project ideas for Google Summer of Code 2011
- Vastly increase the number of algorithms covered by the SciKit, by
implementing several prominent algorithms (probabilistic hough, radon
transform, etc.) from papers. Also incorporate code from the Broad
Institute’s CellProfiler team.
- Implement a new backend infrastructure so that the same results may be
obtained using either NumPy, OpenCL, Theano, etc.
- Implement optimised core routines, such as fast 2D convolution. This should
be as fast as CvFilter2D (which is faster than ndimage, for example).


position changed here
Additional Column
{{props.row.id}}
count: {{props.rows.length}}
{{props.group.title}}
Title


ECMAScript 6 Tutorial
Some simple examples to fast catch
ECMAScript 6
for Java developers.
- types
- visibility
- var declaration
- arrays
- for cycles
- functions
- objects
- objects advanced
- object's accessors
- classes
- reflection
- proxy
- symbols
- OOP
- modules
- mvc
- decorator
- window
- dom
- events
- mouse
- scroll
- Drag & Drop
- mutation observer
- predefined objects
- forms
- images
- web worker
- promise
- Iterables & Iterators
- yield
- Promise advanced
- Async
- Ajax
- Fetch
- Storage
- IndexDB
- Files
- touch


PuppetDB 1.4 » Installing PuppetDB from Source
This page describes how to install PuppetDB from an archive of the source code, or alternately how to run it directly from source without installing.
If possible, we recommend installing PuppetDB with the puppetlabs-puppetdb module or from packages; either approach will be easier. However, if you are testing a new version, developing PuppetDB, or installing it on a system not supported with official packages, you will need to install it from source.
Note:
If you’d like to migrate existing exported resources from your ActiveRecord storeconfigs database, please see the documentation on Migrating Data.
Step 1: Install Prerequisites
Use your system’s package tools to ensure that the following prerequisites are installed:
- Facter, version 1.6.8 or higher
- JDK 1.6 or higher
- Leiningen
- Git (for checking out the source code)
Step 2, Option A: Install from Source
Run the following commands:
$ mkdir -p ~/git && cd ~/git
$ git clone git://github.com/puppetlabs/puppetdb
$ cd puppetdb
$ sudo rake install
This will install PuppetDB, put a puppetdb
init script in /etc/init.d
and create a default configuration directory in /etc/puppetdb
.
Step 2, Option B: Run Directly from Source
While installing from source is useful for simply running a development version for testing, for development it’s better to be able to run directly from source, without any installation step.
Run the following commands:
$ mkdir -p ~/git && cd ~/git
$ git clone git://github.com/puppetlabs/puppetdb
$ cd puppetdb
# Download the dependencies
$ lein deps
This will let you develop on PuppetDB and see your changes by simply editing the code and restarting the server. It will not create an init script or default configuration directory. To start the PuppetDB service when running from source, you will need to run the following:
$ lein run services -c /path/to/config.ini
A sample config file is provided in the root of the source repo: config.sample.ini
. You can also provide a conf.d-style directory instead of a flat config file.
Other useful commands for developers:
lein test
to run the test suite
Step 3, Option A: Run the SSL Configuration Script
If your PuppetDB server has puppet agent installed, has received a valid certificate from your site’s Puppet CA, and you installed PuppetDB from source, then PuppetDB can re-use Puppet’s certificate.
Run the following command:
$ sudo /usr/sbin/puppetdb-ssl-setup
This will copy the relevant PEM files from your Puppet installation into /etc/puppetdb/ssl
and can be used to correct your SSL configuration in jetty.ini
to use those files.
You should now configure HTTPS in PuppetDB’s config file(s); see below.
Step 3, Option B: Manually Generating and Preparing Certificates
If you will not be using Puppet on your PuppetDB server, you must manually create a certificate, and copy the relevant files into place. This is more of an involved process, so we highly recommend installing Puppet and using Option A above, even if you will not be using puppet agent to manage the PuppetDB server.
On the CA Puppet Master: Create a Certificate
Use puppet cert generate
to create a certificate and private key for your PuppetDB server. Run the following, using your PuppetDB server’s hostname:
$ sudo puppet cert generate puppetdb.example.com
Copy the Certificate to the PuppetDB Server
Copy the CA certificate, the PuppetDB certificate, and the PuppetDB private key to your PuppetDB server.
Correct permissions
On your PuppetDB, ensure the certificates have the correct permissions:
$ sudo chown puppetdb:puppetdb /etc/puppetdb/ssl/*.pem
$ sudo chmod 0600 /etc/puppetdb/ssl/*.pem
You should now configure HTTPS in PuppetDB’s config file(s); see below.
Step 4: Configure HTTPS
In your PuppetDB configuration file(s), edit the [jetty]
section. If you installed from source, edit /etc/puppetdb/conf.d/jetty.ini
; if you are running from source, edit the config file you chose.
The [jetty]
section should contain the following, with your PuppetDB server’s hostname and desired ports:
[jetty]
# Optional settings:
host = puppetdb.example.com
port = 8080
# Required settings:
ssl-host = puppetdb.example.com
ssl-port = 8081
ssl-cert = /etc/puppetdb/ssl/public.pem
ssl-key = /etc/puppetdb/ssl/private.pem
ssl-ca-cert = /etc/puppetdb/ssl/ca.pem
If you don’t want to do unsecured HTTP at all, you can omit the host
and port
settings. However, this may limit your ability to use PuppetDB for other purposes, including viewing its performance dashboard. A reasonable compromise is to set host
to localhost
, so that unsecured traffic is only allowed from the local box; tunnels can then be used to gain access to the performance dashboard.
Step 5: Configure Database
If this is a production deployment, you should confirm and configure your database settings:
- Deployments of 100 nodes or fewer can continue to use the default built-in database backend, but should increase PuppetDB’s maximum heap size to at least 1 GB.
- Large deployments should set up a PostgreSQL server and configure PuppetDB to use it. You may also need to adjust the maximum heap size.
You can change PuppetDB’s database at any time, but note that changing the database does not migrate PuppetDB’s data, so the new database will be empty. However, as this data is automatically generated many times a day, PuppetDB should recover in a relatively short period of time.
Step 6: Start the PuppetDB Service
If you installed PuppetDB from source, you can start PuppetDB by running the following:
$ sudo /etc/init.d/puppetdb start
And if Puppet is installed, you can permanently enable PuppetDB by running:
$ sudo puppet resource service puppetdb ensure=running enable=true
If you are running PuppetDB from source, you should start it as follows:
# From the directory in which PuppetDB's source is stored:
$ lein run services -c /path/to/config.ini
PuppetDB is now fully functional and ready to receive catalogs and facts from any number of puppet master servers.
Finish: Connect Puppet to PuppetDB
You should now configure your puppet master(s) to connect to PuppetDB.
If you use a standalone Puppet site, you should configure every node to connect to PuppetDB.


FOR the blokes in this WA town the chance of finding love is stacked against them with four times as many men as women.
My mate has rooted all of them too
smk762 - dracocanis ominator28-Oct-19 04:48 PM
yeah that one is not always active, I got way too much on that server already, and its just a basic install.
Man, I dont know why but now I got the local petstore girl flirting and wanting my baby juice. Cant understand it, I really put no effort into "game" or "grooming" or "fitness"
blackjok3r28-Oct-19 04:49 PM
“In Merredin (population 2600) there are 134 single men aged 20-24 and only 34 single women in the same age group."
smk762 - dracocanis ominator28-Oct-19 04:50 PM
I have some comments about that which I'll hold in reserve until LABS has its own discord
1
ComputerGenie 👴👴👴28-Oct-19 04:50 PM
highest ratio of young single men to women
That they spent that much time on that truck might explain....
I have some comments about that which I'll hold in reserve until LABS has its own discord
don't hold back, you can be punished here for what you say there anyway
blackjok3r28-Oct-19 04:52 PM
haha... My mate just did all the mums ... like older than his own
ComputerGenie 👴👴👴28-Oct-19 04:52 PM
like older than his own
I did that in my late teens-early 20s
my mom had no humor about it then
1
1
1
2
2
Alright28-Oct-19 06:31 PM
@LabsAssistant need new pubkey if you plan to change your's
signed message from the old one along with it
gt28-Oct-19 06:33 PM
welcome new nn’ s, may the stakes be ever in your favor
blackjok3r28-Oct-19 06:34 PM
I submitted new key in PR yesterday already.
Shame to lose the FuK address....
PHBA206128-Oct-19 06:42 PM
3 characters shouldn't take too long to mine a new one
Old Man Phil's signature looks strange, its length doesn't appear to be correct
mrlynch28-Oct-19 08:02 PM
lurking in the shadows
Oszy28-Oct-19 08:04 PM
Maybe it was pasted together with a hash or some other hex, at least it looks like it(edited)
Yes
he did copy the signed message along the tx id
signature is only H+2JEFCwuhjjmvq0li1Vv6iHVHoRu2rvHFXgdRjr1UIwWyYY8QbKuhS2V22ZMlnIp9cvAtMwDcxreWNzQwE48CQ=
@Alright try that ^
PHBA206128-Oct-19 08:12 PM
komodo-cli verifymessage RVX3cr4J2FBDoztgF8rCuQN6vTf42XAL2U H+2JEFCwuhjjmvq0li1Vv6iHVHoRu2rvHFXgdRjr1UIwWyYY8QbKuhS2V22ZMlnIp9cvAtMwDcxreWNzQwE48CQ= "OldManPhil has a LABS NN!"
false
Oszy28-Oct-19 08:13 PM
MSG is ['OldManPhil; daemonfox', 'OldManPhil has a LABS NN!']
daemonfox28-Oct-19 08:14 PM
Just saw.this
Oszy28-Oct-19 08:14 PM
try this
komodo-cli verifymessage "RVX3cr4J2FBDoztgF8rCuQN6vTf42XAL2U" "H+2JEFCwuhjjmvq0li1Vv6iHVHoRu2rvHFXgdRjr1UIwWyYY8QbKuhS2V22ZMlnIp9cvAtMwDcxreWNzQwE48CQ=" "['OldManPhil; daemonfox', 'OldManPhil has a LABS NN!']"
@PHBA2061
daemonfox28-Oct-19 08:15 PM
Phil still.afk.today...
What exactly needs doing...
Oszy28-Oct-19 08:18 PM
@daemonfox no worries, need to verify the signed message, you copied the register TX id into the signature
and ALright couldn't verify
daemonfox28-Oct-19 08:20 PM
Ok so I pasted something wrong. How did I manage that... Grabbed too much in copy and snagged the txid as well?
PHBA206128-Oct-19 08:20 PM
@Oszy it returns -bash: !]: event not found with that, I think you can't have single quotes in double quotes
Oszy28-Oct-19 08:20 PM
yes nnVote.py doesn't clear screen after registes tx id shown so you must have copied that as well


A set of utilities for querying 'HaploReg' <http://archive.broadinstitute.org/mammals/haploreg/haploreg.php>, 'RegulomeDB' <http://www.regulomedb.org>, and LDlink <https://analysistools.nci.nih.gov/LDlink> web-based tools. The package connects to 'HaploReg', 'RegulomeDB' and 'LDlink', searches and downloads results, without opening web pages, directly from R environment. Results are stored in a data frame that can be directly used in various kinds of downstream analyses.
| Version: | 2.0.6 |
| Depends: | R (≥ 3.4.0) |
| Imports: | httr, XML, tibble, RUnit, plyr, DT |
| Suggests: | knitr, rmarkdown, openxlsx |
| Published: | 2018-08-17 |
| Author: | Ilya Y. Zhbannikov [aut, cre], Konstantin G. Arbeev [aut], Anatoliy I. Yashin [aut] |
| Maintainer: | Ilya Y. Zhbannikov <ilya.zhbannikov at duke.edu> |
| License: | GPL-3 |
| NeedsCompilation: | no |
| Materials: | README NEWS |
| CRAN checks: | haploR results |
| Reference manual: | haploR.pdf |
| Vignettes: |
Tutorial for haploR package |
| Package source: | haploR_2.0.6.tar.gz |
| Windows binaries: | r-devel: haploR_2.0.6.zip, r-release: haploR_2.0.6.zip, r-oldrel: haploR_2.0.6.zip |
| OS X binaries: | r-release: haploR_2.0.6.tgz, r-oldrel: haploR_2.0.6.tgz |
| Old sources: | haploR archive |
Please use the canonical form https://CRAN.R-project.org/package=haploR to link to this page.


March 28nd @ Olin College Milas Hall
SLACathon@Olin is Olin College’s first official design, hacking, and maker marathon. hosted by Olin’s dedicated Stay Late And Create (SLAC) student organization. SLAC is passionate about providing opportunity for people to come together to foster new ideas and projects.
Encompassing more than conventional hacking, SLACathon@Olin aims to bring together diverse flavors of skills and experiences to create. In the spirit of SLAC, this first SLACathon will be focused on community building.
75 Olin College and 50 Wellesley University and Babson College students will be combining their skills and passion on March 22nd to create awesome projects, and we would love for you to be a part of this experience.
The combined engineering, business, and liberal arts expertise from the three schools of the BOW collaboration - Babson, Olin, and Wellesley - creates the perfect atmosphere for ideas to grow. SLACathon embodies the multidisciplinary approach of the BOW collaboration itself - and plays perfectly into our theme of building community.
With teams of Babson, Olin, and Wellesley students and other members of the community, SLACathon is focused on gathering knowledge and enthusiasm to breathe life into incredible ideas.
SLACathon is open to all. We encourage Babson, Olin, and Wellesley (BOW) students to attend, so BOW students will have a higher priority during registration!
All attendees are required to bring any form of valid ID for admission (name must match registration) and any basic tools for creating. We may provide additional hardware to hack on during the event.
Admission is free, and includes food, drinks, and miscellaneous swag for the entire SLACathon!
We will have food and drinks throughout the event. Anything from waffles to pizza and massive supply of fruits.


radium-filters demo
Selected States
{{item}}
Selected Sales Rep
{{_selectedRep}}
Selected Quarter
{{_selectedQtr}}
Ad-hoc Filter
{{_adhoc}}


The horizontal accuracy of the orthrectified imagery is primarily determined by the quality
of the Aerial
Triangulation solution and the surface model (DEM).
All ground targets were visible with .2 meter x 3.6 meter targets, and measured with GPS.
The AT procedure takes the raw bands (BW,FW and N) and rectifies them to a plane using the
GPS data that was collected simultaneously with the imagery. This was accomplished using the
Leica Gpro software. Automatic Point Measurement (APM) was used to place terrain points on
each panchromatic L1 image. The panchromatic L1's along with the each of the colour L0's were
then imported into ORIMA so that an AT adjustment could be executed. At this stage each
individual strip of imagery was not tied to the neighbouring strips. Several iterations were
run until all bad points were eliminated. The points were then exported to an x,y,z text file
so that a DEM could be created, allowing APM a surface file so that it could more accurately
calculate the tie points. Once the second APM process was complete, the strips were tied
together, and several adjustments were run, removing the points with high residuals until a
suitable sigma value was reached. Control was then measured and a final adjustment
calculated. Standard deviations and residual were reviewed to verify that it was a good
solution. The support files were then updated with the new orientation information. The L1
RGB bands were then rectified using the updated orientation information.
Specifically for SLC, cross-strips running E-W were used in the AT solution to give strength
to the block being worked. Between blocks, there was a common cross strip used in the AT
giving overall strength to the solution.
The Data Capture stage was accomplished by ingesting the Orima AT solution into the ISPM Z/I
software. Using an Z/I SSK workstation and ISSD software for viewing, The surface data was
collected with in-house VMS data cature software supplimenting a USGS surface with DEM points
and breaklines.
The rectification stage involved rectifying the 16 bit per channel imagery using Z/I's ISBR
software. We then rectified the L1 data into manageable pieces with overlapping imagery
between the strips, converted the imagery to 8 bits per channel. The radiometry was then
adjusted, the rectified imagery was run through our in-house AIM software for automated
seamline generation. These seamlines were then checked, and once manually verified, the final
ortho tiles were generated. At the QC stage any building or
above ground feature obscuring a transportation feature is corrected. All orthophoto tiles
were checked visually for relative horizontal accuracy in reference to adjacent tiles.
Orthophoto measurements were taken from the 6 horizontal ground control points in the project
area. An RMSE was calculated for the XY error residuals of the positional differences between
the surveyed values and the values measured from the rectified imagery.
Once received by the UGRC the images were mosaiced into groups that on average are 9 of
the original GeoTIFF images.The process used to mosaic the images was to turn the images
in multi-stack grids, mosaic the grids for each individual band in GRID, make a stack of
the merged bands, and turn the new grid stack back into an image.


Your server group will be in the cluster:
{{basicSettingsCtrl.getNamePreview()}} (new cluster)
There is already a server group in this cluster. Do you want to clone it?
Cloning copies the entire configuration from the selected server group, allowing you to modify whichever fields (e.g. image) you need to change in the new server group.
To clone a server group, select "Clone" from the "Server Group Actions" menu in the details view of the server group.


CDSoundEngine Class Reference
| Inherits from | NSObject |
| Conforms to | CDAudioInterruptProtocol |
| Declared in | CocosDenshion.h |
Overview
CDSoundEngine is built upon OpenAL and works with SDK 2.0. CDSoundEngine is a sound engine built upon OpenAL and derived from Apple’s oalTouch example. It can playback up to 32 sounds simultaneously with control over pitch, pan and gain. It can be set up to handle audio session interruption automatically. You may decide to use CDSoundEngine directly instead of CDAudioManager or SimpleAudioEngine because you require OS 2.0 compatibility.
Requirements: – Firmware: OS 2.0 or greater – Files: CocosDenshion.* – Frameworks: OpenAL, AudioToolbox
Tasks
-
masterGain
property -
lastErrorCode
property -
functioning
property -
asynchLoadProgress
property -
getGainWorks
property -
sourceTotal
Total number of sources available
property -
sourceGroupTotal
Total number of source groups that have been defined
property -
+ setMixerSampleRate:
Sets the sample rate for the audio mixer. For best performance this should match the sample rate of your audio content
-
– init
Initializes the engine with a group definition and a total number of groups
-
– playSound:sourceGroupId:pitch:pan:gain:loop:
Plays a sound in a channel group with a pitch, pan and gain. The sound could played looped or not
-
– soundSourceForSound:sourceGroupId:
Creates and returns a sound source object for the specified sound within the specified source group.
-
– stopSound:
Stops playing a sound
-
– stopSourceGroup:
Stops playing a source group
-
– stopAllSounds
Stops all playing sounds
-
– defineSourceGroups:
-
– defineSourceGroups:total:
-
– setSourceGroupNonInterruptible:isNonInterruptible:
-
– setSourceGroupEnabled:enabled:
-
– sourceGroupEnabled:
-
– loadBufferFromData:soundData:format:size:freq:
-
– loadBuffer:filePath:
-
– loadBuffersAsynchronously:
-
– unloadBuffer:
-
– openALContext
-
– bufferDurationInSeconds:
Returns the duration of the buffer in seconds or a negative value if the buffer id is invalid
-
– bufferSizeInBytes:
Returns the size of the buffer in bytes or a negative value if the buffer id is invalid
-
– bufferFrequencyInHertz:
Returns the sampling frequency of the buffer in hertz or a negative value if the buffer id is invalid
-
– _soundSourcePreRelease:
Used internally, never call unless you know what you are doing
Properties
Class Methods
setMixerSampleRate:
Sets the sample rate for the audio mixer. For best performance this should match the sample rate of your audio content
+ (void)setMixerSampleRate:(Float32)sampleRate
Discussion
Sets the sample rate for the audio mixer. For best performance this should match the sample rate of your audio content
Declared In
CocosDenshion.h
Instance Methods
_soundSourcePreRelease:
Used internally, never call unless you know what you are doing
- (void)_soundSourcePreRelease:(CDSoundSource *)soundSource
Discussion
Used internally, never call unless you know what you are doing
Declared In
CocosDenshion.h
bufferDurationInSeconds:
Returns the duration of the buffer in seconds or a negative value if the buffer id is invalid
- (float)bufferDurationInSeconds:(int)soundId
Discussion
Returns the duration of the buffer in seconds or a negative value if the buffer id is invalid
Declared In
CocosDenshion.h
bufferFrequencyInHertz:
Returns the sampling frequency of the buffer in hertz or a negative value if the buffer id is invalid
- (ALsizei)bufferFrequencyInHertz:(int)soundId
Discussion
Returns the sampling frequency of the buffer in hertz or a negative value if the buffer id is invalid
Declared In
CocosDenshion.h
bufferSizeInBytes:
Returns the size of the buffer in bytes or a negative value if the buffer id is invalid
- (ALsizei)bufferSizeInBytes:(int)soundId
Discussion
Returns the size of the buffer in bytes or a negative value if the buffer id is invalid
Declared In
CocosDenshion.h
init
Initializes the engine with a group definition and a total number of groups
- (id)init
Discussion
Initializes the engine with a group definition and a total number of groups
Declared In
CocosDenshion.h
playSound:sourceGroupId:pitch:pan:gain:loop:
Plays a sound in a channel group with a pitch, pan and gain. The sound could played looped or not
- (ALuint)playSound:(int)soundId sourceGroupId:(int)sourceGroupId pitch:(float)pitch pan:(float)pan gain:(float)gain loop:(BOOL)loop
Discussion
Plays a sound in a channel group with a pitch, pan and gain. The sound could played looped or not
Declared In
CocosDenshion.h
soundSourceForSound:sourceGroupId:
Creates and returns a sound source object for the specified sound within the specified source group.
- (CDSoundSource *)soundSourceForSound:(int)soundId sourceGroupId:(int)sourceGroupId
Discussion
Creates and returns a sound source object for the specified sound within the specified source group.
Declared In
CocosDenshion.h
stopAllSounds
Stops all playing sounds
- (void)stopAllSounds
Discussion
Stops all playing sounds
Declared In
CocosDenshion.h
stopSound:
Stops playing a sound
- (void)stopSound:(ALuint)sourceId
Discussion
Stops playing a sound
Declared In
CocosDenshion.h


Working With Our Repositories
We’ve gone to great lengths to make our repos easy to work with. This page gives you the info needed to successfully (and easily) work with our repos. Hopefully most of this is just common sense, but worth calling out.
Table of Contents
- Submitting Code
- Change Log and Comment Format
- Branches
- Automated Checks
- Protected Files
- Pre-Approved Licenses
- Releases and Tags
Submitting Code
The main
branch is protected and requires a pull request (PR) to merge code (pushing directly to main
will fail). A pull request to main
requires at least one review before it can be merged. There are a couple of ways to do this:
- Fork the repo, push changes and then submit a PR
- Create a branch, push changes to the branch and then submit a PR
Either of the above options will require you to receive at least one review (approving the PR) before your code can be merged.
Change Log and Comment Format
We prefer to standardize on using ConventionalCommits when generating change logs and creating comments on commits, PRs, etc.
Branches
There are lots of branching strategies out there. We don’t dictate how to use branches, but leave this up to the project/repo maintainer(s) to decide how to use branches. Each maintainer is able to select a branching strategy that they’re most comfortable with.
Automated Checks
There are several checks which are setup by default. These checks must successfully pass before a merge can be made. Your repo will be setup to pass the checks.
Here’s what’s needed to pass:
-
Make sure to only use pre-approved licenses
You may use other licenses, however until the project (repo) has been approved to use a non-pre-approved license, you will not be able to merge the PR (that’s failing the license validation check).
-
Include the proper copyright notice on the first line
Make sure that the following code is present:
Copyright (c) 2021 Oracle and/or its affiliates.
It’s also ok to use something likeCopyright (c) 2000-2021 Oracle and/or its affiliates.
(a range of years, instead of a single year). Both will pass just fine. If this is missing, warnings will be raised and a comment made on the PR (notifying you of which file(s) is missing the copyright notice). -
Block changes to protected files (see below).
There are several files/directories that should not be modified. One Action checks to make sure that none of these files are modified in a PR… if so, it fails (and posts a comment to the PR stating why it failed).
Protected Files
There are several files and/or directories that should not be modified (are prohibited from being modified):
-
.github
The
.github
directory (and all of its contents) are by default blocked. This is to maintain the integrity of the automated pipelines (dependent on GitHub Actions, which are defined in the.github
directory). -
repolinter.json
This is used to define what Repolinter is examining. It’s referenced by the automated pipeline, so is protected from modification.
-
license_policy.yml
Used by Scancode-Toolkit, for license validation. It’s referenced by the automated pipeline, so is protected from modification.
-
sonar-project.properties
The config needed by SonarCloud integration. It’s referenced by the automated pipeline, so is protected from modification.
Pre-Approved Licenses
Just like most companies, we pride ourselves in top-notch open-source. One of the key areas is ensuring a license is used that aligns with the goal of the organization. There are a plethora of different licenses out there… we’re not going to argue that one is better than the other, however we have selected some that best align with our goals. Our repositories must align to using one (or more) of the pre-approved licenses.
Pre-approved licenses for publishing (new repos):
| License Name | SPDX ID |
|---|---|
| Universal Permissive License (UPL) version 1.0 | UPL-1.0 |
Pre-approved licenses for 3rd-party libraries/components:
| License Name | SPDX ID |
|---|---|
| Universal Permissive License (UPL) version 1.0 | UPL-1.0 |
| MIT License | MIT |
| Apache License 2.0 | Apache-2.0 |
Releases and Tags
Just like branches, we don’t dictate how tags will be used or how you manage your releases. We do suggest using (and standardize on, though we don’t enforce it) using Semantic Versioning for your versioning strategy.
Auto-Generated Release Files
When it comes to releases, we provide the ability to auto-generate (and upload) assets to the release. Each time a release is published, an Action is triggered which will read the release_files.json
file in the root of the repo. This JSON file can specify one or more ZIP files to create and/or upload file(s) to the release.
Sample Scenario
A common scenario is where a Terraform stack is created and published. The desire is that a user cloning/downloading the repo will likely use it with Terraform CLI and/or OCI Cloud Shell. This requires modifying the provider.tf
file (or whatever file your providers are defined in), creating a ZIP file and uploading the ZIP file to a release (this is the easiest way to distribute a stack for easy deployment).
Let’s pretend that we have the following directory/file structure:
.
├── README.md
├── data_sources.tf
├── iam.tf
├── LICENSE
├── network.tf
├── ods.tf
├── orm
│ └── provider.tf
├── provider.tf
├── schema.yaml
├── services.tf
├── tags.tf
├── terraform.tfvars.template
└── variables.tf
The ./provider.tf
file is what is setup to be used by Terraform CL, while ./orm/provider.tf
is configured to be used by ORM. Here’s how we might build a ZIP file and upload it to any given release in our repo (this is all configured in release_files.json
in the root of the repo):
[
{
"action": "create_zip",
"file_name": "my-tf-stack-latest.zip",
"files": [
{
"src_pattern": "*.tf",
"exclude": [
"provider.tf"
]
},
{
"src": "LICENSE"
},
{
"src": "schema.yaml",
},
{
"src": "orm/provider.tf",
"dst": "provider.tf"
}
]
},
{
"action": "upload_file",
"file_name": "my-tf-stack-latest.zip"
}
]
There are two actions:
- Create the ZIP file
- Upload the ZIP file (to a published release, which triggers the Action)
For creating the ZIP file, several source files are included:
- All
.tf
files (exceptprovider.tf
in the root, which is intended for Terraform CLI and wouldn’t work with ORM) - The
LICENSE
andschema.yaml
files - An ORM-specific
provider.tf
file (in theorm
subdirectory)
There are a lot of other options available, so if you’re curious or looking for more functionality, check out the documentation at https://github.com/oracle-devrel/action-release-zip-maker.


Returns the JUnit Description containing information about the test.
Returns the JUnit Description containing information about the test.
The Description object for this test.
Returns a Duration representing the elapsed wall clock time spent executing the test method.
Returns a Duration representing the elapsed wall clock time spent executing the test method.
This time may be different from getResponseTime() for several reasons. The response is often considerably less than the elapsed time because the response time does not always include the time of measurement collection activities that often surround the test method.
a Duration representing elapsed time.
Returns a Duration representing the total CPU time spent inside the test method.
Returns a Duration representing the total CPU time spent inside the test method.
a Duration representing thread CPU time.
Returns the sequence number of this test.
Returns the sequence number of this test. Sequence numbers can be negative or zero. These denote that this was a warmup iteration.
sequenceNumber
The completion status of the test.
An enumeration representing the possible states of a test result.
Mutable list containing errors
Returns empty if this test result did not throw an error.
Returns empty if this test result did not throw an error. Returns an immutable list of throwable causes if this test actually threw an exception.
a collection of Throwable thrown by the measured test.
A Duration representing the response time of a test.
A Duration representing the response time of a test. The response time may be different than the actual amount of time that was spent in the test method.
measured response time of a test.
Sets the response time value.
Sets the response time value.
This method should be used when a test can "self report" its own response time more accurately than could represented by elapsed wall clock time. For example, a test may instead wish to report its response time by parsing a log.
The response time to be set.
This abstract class describes the methods available on a TestResult. The values of a TestResult are filled in by the infrastructure. The lone exception to this is ResponseTime. A test may declare its own notion of ResponseTime and inject it into the TestResult with the setter for that attribute.
This capability is allowed to accommodate the possibility that there is a more accurate representation of test response time than wall clock time.
Created by leslie.lam on 12/13/17. Based on a java interface created by michael.ottati.


Tic Tac Toe
Select Which You Want To Be?
Player ( X )
Player ( O )
X Turn
O Turn
Player X Win The Game!
Play Again


Question
Given a pattern
and a string str
, find if str
follows the same pattern.
Here follow means a full match, such that there is a bijection between a letter in pattern
and a non-empty word in str
.
Examples:
- pattern =
"abba"
, str = "dog cat cat dog"
should return true.
- pattern =
"abba"
, str = "dog cat cat fish"
should return false.
- pattern =
"aaaa"
, str = "dog cat cat dog"
should return false.
- pattern =
"abba"
, str = "dog dog dog dog"
should return false.
Notes:
You may assume pattern
contains only lowercase letters, and str
contains lowercase letters separated by a single space.
Analysis
此题考察能否建立一个one-to-one mapping，一一映射关系。最简单就是用两个字典分别保存从pattern到word的映射和从word到pattern的映射，然后对比两个字典的长度是否一致。不一致这说明至少存在一个一对多或者多对一的映射关系。coding的话用python的dict可以轻松解决。时间和空间复杂度都为O(N)。
Code
class Solution(object):
def wordPattern(self, pattern, str):
"""
:type pattern: str
:type str: str
:rtype: bool
"""
# can be solved by two dictionaries
a = list(pattern)
b = str.split()
if len(a) != len(b):
return False
d1 = {}
d2 = {}
for i in zip(a,b):
d1[i[0]]=i[1]
d2[i[1]]=i[0]
return len(d1) == len(d2)


Largest Marathons for 1950
149 Polytechnic 17 Jun Chiswick ENG 91 Kosice 29 Oct Kosice SVK 49 German Championship 05 Aug Stuttgart GER 25 Yonkers 21 May Yonkers NY USA 19 European Championships 23 Aug Brussels BEL 14 British Empire Games 11 Feb Auckland NZL 13 French Championships 23 Jul Colombes FRA 11 Newfoundland Provincial Championships 09 Oct Saint John's NF CANLast Updated on
07 Jan 2016


Prior to taking mushrooms I had a reasonable amount of experience with hallucinogenic substances. I had recently dabbled with fairly large quantities of LSD and had frequently used DXM, Cannabis and Ecstasy, which can have fantastic mind-altering affects when large quantities are taken followed by a few joints. This, I felt, would stand me in good stead with regards to mushrooms as I was led to believe these were far less potent than other hallucinogens. Now I realise just how wrong I was.
Myself and a group of about six other people had gathered at a friends house in South London to ingest a large quantity of mushrooms between us, in excess of 150-200gs. The house itself was small with intricate patterns on the furniture and the ceiling. It was a place we often used for drug related activities so we all felt comfortable there, the intricate details in the room provided an excellent source of amusement for tripping.
As it was my first time I decided to be cautious. Previous experiences with DXM had taught me to be weary of large doses as on one occassion, in a well known London park, I was incredibly ill as a result of taking too much, this then threw me into an introspective nightmare for at least four hours. I ate all my mushrooms (16g) at around 8pm, the others did the same except for a few who chose to make tea with theirs.
I felt a little ill for about half an hour because of the taste of the mushrooms, but nothing out of the ordinary. Then I began to feel a sense of fear, I felt that at any moment I would be violently sick. This was only partly because of the drug. Some of my other friends were in conversation making private jokes to one another, this gave me a mild sense of paranoia and a strong desire to get away from them. I managed to calm myself down by realising that this was just a drug, that reality wasn't changing, just my perceptions.
This is one of the most noticeable differences between LSD and Mushrooms. With acid there is a general feeling that the drug is in control, but with shrooms I was able to choose whether I wanted to trip visually or allow the drug to merely affect the way I was thinking - this lead to some of the most in depth conversations that I've ever had. However, I still couldn't face the others. Instead I chose to sit in another room. This was at about 8.45pm (45mins into the experience).
I did this as the floral pattern on the furniture was too much to look at. Watching flowers and vines grow out of an arm chair and up the living room walls can be a little hard to handle at times. I constantly had thoughts rushing through my brain. The general theme seemed to be how out of place I was here. I could hear my friends in the next room making a lot of noise and it made me feel that I was too mature for them as all I wanted was peace and quiet to adjust to this drug.
Over the next three hours my friends would come into the room, one at a time, to see how I was and to take a break from the commotion next door. It was during these periods that I would uncover my head and talk with them about life. I felt like a superior being. I had a mental image of myself as an old, wise, druid-like man, sat on top of a giant mushroom.
They talked of how the scene in the other room was too much to handle at times. I was able to finish off their sentences for them when they were unable to describe how they felt. After numerous consultations with my friends a small group of them decided to relocate permanently to the room I was in. They seemed to gather around the couch that I occupied and we began to talk about life. What exactly we spoke of I'm not sure but I do recall talking at length with one friend about music: mainly Pink Floyd, The Who and Jefferson Airplane. This began at around midnight.
A short while after this began another first time mushroom taker who I had not seen since the start of the evening appeared. She was a small girl and had drank some mushroom tea made of approximately 40gs (wet weight) of mushrooms. Upon entering the room she immediately found the nearest corner to cower in. There was silence. Then she began talking to herself, loud enough for us all to clearly hear, 'Mum? Do I have a mother? Do I have parents? Who am I?'. This confused me at first, then one of the others approached her to comfort her.
They took her to the next room. When she left I had asked what that was all about. Her boyfriend had explained to me how she had gone mad. The dosage she took was the same as he had taken, however, he was about twice her size. She had spent the evening in a state of detachment. It was only a few days later that she was able to tell us what she felt. She was on the verge of hurting herself, maybe even contemplating suicide, as a result of the massive affect the drug had on her. She had spent a lot of time repeating what others were saying to her believing that she was saying it first and they were repeating her.
We spent several hours talking in the living room. For most of the evening I felt relatively calm, until now. Mid-conversation I felt that I was being ignored by one of my friends as he continued to talk whilst I was trying to.  There was a moment's silence, broken by us all simultaneously breaking into laughter at the absurdity of this action considering his crime and my placid mood.
The night proceeded like this until about 2.30pm, almost five hours after it started. The drug had largely gone. Now all that was left was the fact that our minds were still wide awake. This would make sleeping very difficult for the next two or three hours. Some of my friends decided to smoke some weed, I decided to pass on this as I saw no need to.
When I returned to my trusty couch I felt that the entire atmosphere of the room had changed. It felt cold and there was a general sense of tiredness about it. At this point I realised that we had returned to normality. During the peak of the trip, when I felt like a druid atop a giant mushroom, the general consensus was that I was a wise man, well respected, a figure of some authority. This feeling had disappeared and any respect the others had gained for me was lost, I had returned to my natural place in our mini-social hierarchy - I had returned to being the butt of many a joke, but it was all in jest, no insult was sincere, just harmless fun.
Looking back on this I think it had something to do with the idea that my movement had 'shaken' everything up. I feel that over the course of the trip the atmoshpere is given a chance to settle within your setting, in this case a living room. By moving around the atmosphere is disturbed. Imagine having a jar filled with water, you then pour sand into it and allow it to settle, this is the current atmosphere of the scene. Then imagine that by moving around you are shaking this jar. It is impossible for every grain of sand to return to it's original place, just as it is impossible for the atmosphere of the room to return to it's original state. I mention this because every time that I've used mushrooms I have found that whenever I get up and move around after settling in a nice area, things start to go wrong and rarely return to the way they were.
Mushrooms, in my opinion, are equally as good as LSD, so long as you know your dosages. The effects mushrooms have on you are easier to control, as are dosages (it's often difficult to know how strong acid is until you've taken it).  I find that the experience of taking large doses of acid to be far more intense than that of mushrooms and it lasts longer, as do the after-effects, generally my mind feels as though it is out of focus for the next day, it feels as though something isn't quite right.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Hello Guys
I'm
Fabricio Rojas
from Lima and in this repo there are code samples for
Android
Xamarin
.NET ASP.NET
Dermatologica
Python


Package algorithms.disjointSets
Class DisjointForest<T>
- java.lang.Object
-
- algorithms.disjointSets.DisjointForest<T>
-
- Type Parameters:
T
-
public class DisjointForest<T> extends java.lang.Object
An "all-in-one" class to handle the disjoint set methods and the nodes in a disjoint forest of trees. The disjointSet representation has a path compression operation internal to findSet method which makes subsequent membership disjointSet queries faster. implementation follows that in Cormen, Leiserson, Rivest, and Stein Introduction to Algorithms who include references in chapter notes, specifically Tarjan 1999 class notes for COS 423 Princeton University.- Author:
- nichole
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DisjointForest.RootedTreeDisjointSet<T>
each disjoint set (== instance of this class), has a representative which is a member of the nodes of this set
-
Constructor Summary
Constructors Constructor Description DisjointForest()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.util.List<gnu.trove.set.TIntSet>
connectedComponents(SimpleLinkedListNode[] adjList)
given the adjacency list of a graph, return the disjoint connected components.DisjointSet2Node<T>
findSet(DisjointSet2Node<T> x)
find the set representative for the given node.java.util.Map<DisjointSet2Node<T>,DisjointForest.RootedTreeDisjointSet<T>>
getTrees()
DisjointForest.RootedTreeDisjointSet<T>
makeSet(DisjointSet2Node<T> x)
make a set out of the given node and add it to the internal forest.java.lang.String
toString()
DisjointSet2Node<T>
union(DisjointSet2Node<T> x, DisjointSet2Node<T> y)
append the shorter list onto the end of the longer list.DisjointSet2Node<T>
unionChooseY(DisjointSet2Node<T> x, DisjointSet2Node<T> y)
Compress the paths in x and y and set the parent to be y.
-
-
-
Method Detail
-
makeSet
public DisjointForest.RootedTreeDisjointSet<T> makeSet(DisjointSet2Node<T> x)
make a set out of the given node and add it to the internal forest. runtime complexity is O(1).- Parameters:
x
- disjoint set mode- Returns:
- a new set composed of only x
-
findSet
public DisjointSet2Node<T> findSet(DisjointSet2Node<T> x)
find the set representative for the given node. As a side effect, also updates x and all of it's ancestors with the found result so that they directly point to the top most parent and subsequent lookups are faster (this is path compression). runtime complexity: the method uses iteration. if we represent x_height as the number of nodes between x's tree root and x, we have 2 times x_height iterations of statements, so O(x_height). With path compression here, the amoritzed worst-case running time is Θ(α(n)) where α is the inverse Ackermann function. The inverse Ackermann function is α(n) = min{k : A_k(1) ≥ n}. For most purposes, α(n) = O(1) so then the amoritized running time is O(1).
- Parameters:
x
- disjoint set node- Returns:
- top-most parent in ancestry of x.
-
union
public DisjointSet2Node<T> union(DisjointSet2Node<T> x, DisjointSet2Node<T> y)
append the shorter list onto the end of the longer list. The amortized runtime complexity is O(1) due to the path compression in findSet. The method is also known as "union-find" because it uses findSet as the first steps before link.- Parameters:
x
- disjoint set xy
- disjoint set y- Returns:
- the union of x and y
-
unionChooseY
public DisjointSet2Node<T> unionChooseY(DisjointSet2Node<T> x, DisjointSet2Node<T> y)
Compress the paths in x and y and set the parent to be y. \ * The amortized runtime complexity is O(1) due to the path compression in findSet. The method is also known as "union-find" because it uses findSet as the first steps before link.- Parameters:
x
- disjoint set xy
- disjoint set y- Returns:
- the reference to the union of x and y as x or y, preferring y if x==y
-
getTrees
public java.util.Map<DisjointSet2Node<T>,DisjointForest.RootedTreeDisjointSet<T>> getTrees()
- Returns:
- the trees
-
connectedComponents
public static java.util.List<gnu.trove.set.TIntSet> connectedComponents(SimpleLinkedListNode[] adjList)
given the adjacency list of a graph, return the disjoint connected components. implemented from pseudocode in Cormen, Leiserson, Rivest, and Stein Introduction To Algorithms.- Parameters:
adjList
- graph adjacency list- Returns:
- the connected components as a list of the disjoint sets of vertex numbers.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-


We are group of students passionate about programming, came together to reduce Food Wastage.
Director
Software Developer.
<EMAIL_ADDRESS>CEO
Software Developer.
<EMAIL_ADDRESS>CEO
Software Developer
<EMAIL_ADDRESS>CEO
Software Developer.
<EMAIL_ADDRESS>Co.CEO
Software Developer.
email@example.com


Experienced Design Consultant with a demonstrated history of working in the design industry. Skilled in Catering, AutoCAD, Budgeting, Food & Beverage, Hospitality, and Sales


| Overview | Module | Use | Devguide | Index |
| Constants | Constants' Details |
|
|||
|
| Constants | |
| STRING | specifies an XSD compliant string type |
| BOOLEAN | specifies an XSD compliant boolean type |
| DECIMAL | specifies an XSD compliant decimal type |
| FLOAT | specifies an XSD compliant float type |
| DOUBLE | specifies an XSD compliant double type |
| DURATION | specifies an XSD compliant duration type |
| DATETIME | specifies an XSD compliant datetime type |
| TIME | specifies an XSD compliant time type |
| DATE | specifies an XSD compliant date type |
| gYearMonth | specifies an XSD compliant gYearMonth type |
| gYear | specifies an XSD compliant gYear type |
| gMonthDay | specifies an XSD compliant gMonthDay type |
| gDay | specifies an XSD compliant gDay type |
| gMonth | specifies an XSD compliant gMonth type |
| hexBinary | specifies an XSD compliant hexBinary type |
| base64Binary | specifies an XSD compliant base64Binary type |
| anyURI | specifies an XSD compliant anyURI type |
| QName | specifies an XSD compliant QName type |
| NOTATION | specifies an XSD compliant NOTATION type |
| Constants' Details | |
STRING
|
|
BOOLEAN
|
|
DECIMAL
|
|
FLOAT
|
|
DOUBLE
|
|
DURATION
|
|
DATETIME
|
|
TIME
|
|
DATE
|
|
gYearMonth
|
|
gYear
|
|
gMonthDay
|
|
gDay
|
|
gMonth
|
|
hexBinary
|
|
base64Binary
|
|
anyURI
|
|
QName
|
|
NOTATION
|
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


Mother, 25, who was stabbed to death near her home 'while trying to break up a road rage fight' as police quiz man, 27, on suspicion of murder
by Joe Middleton- Levi Davis stabbed on Welllingborough Road, Rushden, at 8.30pm on Saturday
- A 27-year-old man and a 13-year-old boy were arrested on suspicion of murder
- The 13-year-old questioned on Sunday now been released without any charge
- It is understood Miss Davis was trying to break up a fight when she was stabbed
- Friends have described the mother-of-two as a 'one-in-a-million' and 'amazing'
An 'amazing' 25-year-old mother who was stabbed to death near her home may have been the victim of a road rage attack, police revealed today.
Levi Davis, mother to two daughters aged two and five, was knifed in Rushden, Northamptonshire, on Saturday night at 8.30pm, after the black Polo she was travelling in was involved in a crash with a white Vauxhall van.
A fight ensued, with Miss Davis trying to get in between two 27-year-old men to break it up.
The tragic mother was stabbed and, despite desperate attempts to save her, died at the scene.
A 13-year-old was questioned over her murder, but was released without charge on Sunday night while a 27-year-old man remains in custody.
Another 27-year-old, believed to be with Miss Davis during the attack, has been arrested for attempting to kill the man who allegedly knifed her.
Currently, he is under police guard in hospital.
Officers combed through a £500,000 large detached home just yards from the scene of Miss Davis's death today, though they refused to say why.
The home is believed to belong to a local roofing contractor, aged in his 50s, with police confirming it was 'linked to the investigation'.
Smears of blood could be seen on the white doorframe of the house.
Miss Davis lived less than half a mile from the scene of her death, with her Facebook profile saying she previously worked for the British Army, and was support staff at Leonard Cheshire Disability.
One woman, who went to Miss Davis's aid on Saturday evening, said: 'People tried to help, but she died very quickly.'
Another woman said: 'There was a lot of shouting. Somebody was saying 'Oh No.' Someone was attacking a man on the ground.'
Speaking at the scene today, Superintendent Dennis Murray, of Northamptonshire Police, said: 'My understanding is that two vehicles were involved in an altercation on Wellingborough Road.
'A 25-year-old woman was pronounced dead at the scene. My heart goes out to the family.
'What we don't know is exactly what part the two vehicles had in this. We believe the perpetrators appear to be known to each other.
'One of the vehicles was a black Volkswagen Polo. The other was a white Vauxhall van.
'We believe she was a passenger. We don't know if she was driving. We are trying to find out what these vehicles were doing.
'Those two cars had an altercation before they came to a stop.
'There was a crash when the vehicles came together. My understanding was she was injured when she was outside the vehicle.
'We believe this is an isolated incident. Our officers are working to ensure that people are kept safe as I am sure people will be scared.'
When asked on whether Miss Davis was trying to stop the violence, Supt Murray said: 'I cannot confirm that at this time.'
Supt Murray refused to be drawn on why a large detached house nearby was being searched by forensics teams, but said: 'It is linked to the investigation but I can't give anymore details at this time.'
Blood stains were visible on the white door frame of the house, worth more than £500,000.
A woman who knew Miss Davis, but did not want to be named, said: 'What I've been told is two lads were getting into a stabby fight.
'She tried to get in the middle and she got stabbed.
'It's awful that she died like this. I can't say any more but everyone who knew her is absolutely gutted.'
Friends of murdered mother described her as a 'one-in-a-million' and 'amazing.'
A member of staff at the One Stop shop round the corner from Miss Davis' home said: 'She was so lovely. She used to come in here with her daughter.
'Sometimes it was two girls. She came in all the time.
'It is scary and such a sad thing. It really is awful. I used to help her cross the road with her children sometimes.'
Another pal said she had recently broken up with her partner Matthew Lewinton who is understood to be the father of Miss Davis' two children
She said: 'They [Miss Davis and Mrs Lewinton] had been together but split up. It hit her pretty hard but she was getting on with her life.
'She was a wonderful mum and a one-in-a-million person. I haven't stopped crying since I heard. It's just awful and I feel so sorry for her two little girls.'
A GoFundMe campaign has been launched to give her daughters 'a brighter Christmas'
The post says: 'She leaves behind family and two beautiful daughters aged 2 & 4 who now have to grieve for there beautiful mummy, the aim is to raise money to give them two girls a bit of a brighter Christmas and for any family financial strain, even if you can only donate £1 it will all go a long way.'
And the youth centre in the town called Rush2TheDen, has invited people to make Christmas hampers for the young girls.
In a Facebook post it said: 'The very upsetting incident that happened over the weekend has left 2 young girls grieving for their mummy.
'We would like to invite you to join us in making a Christmas hamper for each.'
Residents living near the murder scene expressed their shock at the murder with some claiming it was a 'mugging gone wrong'.
One person in nearby St George's Way, who did not want to be named, said: 'We had come back from an evening meal when the police stopped us and told us we couldn't get through with our car because there had been an attack.
'We parked our car and an officer walked us past the incident. It was dark but there were forensics officers and police doing door-to-door enquiries.
'It was obvious something terrible had happened. One of my neighbours said an officer told them it is believed it was a mugging gone wrong.'
Several young women in tears paid their respects at the scene where the murder took place.
One said: 'Her name was Levi Davis and she was amazing. She lived very nearby.
'I don't want to say any more about it but she was lovely and didn't deserve this.'
Another local added: 'This sort of thing never happens around here. It's really shocking because it's a nice area with families and professionals living here.
'There's even a care home opposite to where the murder happened. It's so out of kilter for this area.'
The murder happened around 200 yards from a One Stop Shop. A worker said: 'There were lots of police cars and sirens everywhere last night.
'Someone thought it was a hit-and-run but then it came out that the woman was stabbed.
'It's awful to think someone died like that and especially someone so young.'
Police also seized two cars which appeared to have had their passenger windows smashed.
A neighbour who lives across the road from the scene said: 'At about 8.45pm there was a bang.
'It could have been a car door, it could have been an accident. I didn't take a lot of notice but then I heard a young, raised voice.
'I did not hear what they were saying. I didn't take any more notice until the police arrived. It took them about ten minutes to get here.
'There were three or four ambulances and half-a-dozen police cars. They came to the corner of the two roads. They closed the road off.
'On the corner of Wellingborough Road and St George's Way there was a white Fiat 500.
'It did not look like an accident, I didn't see any damage. On the other corner [west of the Fiat] there was a reasonably big pile of clothing. I had never seen that in the street before.
'The police and the ambulance crews were all crouched around on the floor [near a lamppost on the same side as the clothes]. I presume the young woman was there on the floor.
'There were two cars parked up opposite with their hazards on [east of where he believes the body was]. I presumed the drivers were witnesses, but I couldn't see how they were involved in the incident.'
Senior Investigating Officer Detective Inspector Pete Long of Northamptonshire Police said: 'This was an extremely tragic incident in which a young woman has lost her life and I want to reassure people that we are doing all we can to bring those responsible to justice.
'A large team of detectives have been working on this case around the clock and a number of lines of enquiry are being pursued as part of this fast-paced investigation.
'This incident has really shocked the Rushden community, many of whom were on the scene last night, and I would ask anyone who was there and saw what happened to please come forward with your information.
'Likewise, if anyone has any information about last night's events or any dashcam footage of the area at the time, please come forward.
'Anyone with information can contact Northamptonshire Police on 101 or Crimestoppers, in confidence, on 0800 555111.'


Buzzbang - about
- Extremely alpha prototype search using Bioschemas structured data.
- Currently only manually indexes DataCatalog and PhysicalEntity from the following URLs
Ability to register new URLs coming soon. In the meantime, please message me if you want something added (or submit a pull request).
- Go to Github for the bsBang crawler and Solr setup code
and this frontend. Patches and bug reports welcome.
- Otherwise, please send suggestions/comments to Justin Clark-Casey (justincc AT intermine.org) or tweet me.
- Brought to you by the Micklem Lab, funded by the BBSRC.
Back


Index
All Classes|All Packages
M
- main(String[]) - Static method in class com.ae2dms.Main.Main
-
The entry point of application.
- Main - Class in com.ae2dms.Main
-
The Entry of this game, init document and switch to MenuView.
- Main() - Constructor for class com.ae2dms.Main.Main
- MapFileLoader - Class in com.ae2dms.IO
-
helper class to load map file into game Document can detect which line is incorrect in the sysout
- MapFileLoader() - Constructor for class com.ae2dms.IO.MapFileLoader
-
Instantiates a new Map file loader.
- MapFileLoader.ErrorMapFileLoadException - Class in com.ae2dms.IO
-
The type Error map file load exception.
- MapFileLoader.ErrorSaveFileLoadException - Class in com.ae2dms.IO
-
The type Error save file load exception.
- MapFileLoaderTest - Class in com.ae2dms.IO
- MapFileLoaderTest() - Constructor for class com.ae2dms.IO.MapFileLoaderTest
- mapHashCode - Variable in class com.ae2dms.Business.Data.GameRecord
-
the hashcode generated by every unique mapSet, used for verifying that the reading saveFile is valid
- mapName - Variable in class com.ae2dms.Business.Data.GameRecord
-
MapSet Name of this record, used for data retrieving from records savefile
- mapSetName - Variable in class com.ae2dms.Business.GameDocument
-
The customized mapsetName defined in map file
- mapSetName - Variable in class com.ae2dms.IO.MapFileLoader
- Media - com.ae2dms.IO.ResourceType
-
Media resource type.
- mediaShelf - Static variable in class com.ae2dms.IO.ResourceFactory
- MediaState - Enum in com.ae2dms.UI
-
The State of Media Played in GameMediaPlayer
- MediaState() - Constructor for enum com.ae2dms.UI.MediaState
- menuBarClickDebug() - Method in class com.ae2dms.UI.AbstractBarController
-
click the Debug button
- menuBarClickHighScoreList() - Method in class com.ae2dms.UI.AbstractBarController
-
click the HighScoreList button
- menuBarClickMusic() - Method in class com.ae2dms.UI.AbstractBarController
-
click the Music button
- menuScene - Static variable in class com.ae2dms.Main.Main
-
The singleton menuScene.
- MenuView - Class in com.ae2dms.UI.Menu
-
The wrapper for MenuView which acts like a View in MVC contains utilities for view such as key binding as well as view effects
- MenuView() - Constructor for class com.ae2dms.UI.Menu.MenuView
-
private constructor for MenuView will only be used with getInstance()
- MenuViewController - Class in com.ae2dms.UI.Menu
-
JavaFX controlle in MVC for MenuView
- MenuViewController() - Constructor for class com.ae2dms.UI.Menu.MenuViewController
- mockHighScoreItemVBox - Variable in class com.ae2dms.UI.HighScoreBar.HighScoreBarControllerTest
- mockHighTimeItemVBox - Variable in class com.ae2dms.UI.HighScoreBar.HighScoreBarControllerTest
- ModifiedBufferReader - Class in com.ae2dms.IO
-
The type Modified buffer reader.
- ModifiedBufferReader(Reader) - Constructor for class com.ae2dms.IO.ModifiedBufferReader
-
Instantiates a new Modified buffer reader.
- Movable - Interface in com.ae2dms.GameObject
-
The interface Movable.
- moveBy(Point) - Method in interface com.ae2dms.GameObject.Movable
-
Move by.
- moveBy(Point) - Method in class com.ae2dms.GameObject.Objects.Crate
-
should be called only after calling canMoveBy() move this Crate by this direction
- moveBy(Point) - Method in class com.ae2dms.GameObject.Objects.Player
-
should be called only after calling canMoveBy() move the Player by this direction if Crate is on the way, then it will 'ask' Crate to move this direction too
- moveMoreThanOneStep(Point) - Method in interface com.ae2dms.GameObject.Movable
-
Move more than one step boolean.
- movesCount - Variable in class com.ae2dms.Business.GameDocument
-
the Moves Count of this map, will be bind by View after
- movesCountSerializable - Variable in class com.ae2dms.Business.GameDocument
-
the Serializable move count, only used as cache of MovesCount before serializing this document
- moveToFloor(Point) - Method in class com.ae2dms.GameObject.Objects.Crate
-
move this crate to targetPosition
- moveToFloor(Point) - Method in class com.ae2dms.GameObject.Objects.Player
-
move this player to this position
- MusicControl - Variable in class com.ae2dms.UI.SoundPreferenceController
-
The Underlying JavaFX Control Pane used to control the show and hide of this controller
- MusicList - Variable in class com.ae2dms.UI.SoundPreferenceController
-
The JavaFX list to show all songs
- MusicName - Variable in class com.ae2dms.UI.SoundPreferenceController
-
The JavaFX Label to display the name of the song
- MusicProgressSlider - Variable in class com.ae2dms.UI.SoundPreferenceController
-
The JavaFX Slider which progress is sync to the progress of the song and user can drag to change the progress
- MusicSlider - Variable in class com.ae2dms.UI.SoundPreferenceController
-
The JavaFX slider to control the volume of playing Music
- MusicSliderValue - Variable in class com.ae2dms.UI.SoundPreferenceController
-
The value to indicate how much volume the music is set, with max of 100
- MusicTime - Variable in class com.ae2dms.UI.SoundPreferenceController
-
The JavaFX Label to display the music time, in 02:13/04:23 format
- MusicVolume - Variable in class com.ae2dms.UI.GameMediaPlayer
-
The music volume of the MediaPlayer, bind to sound volume in Main and in Controller and in View
- MuteImage - Variable in class com.ae2dms.UI.SoundPreferenceController
-
The Image which indicated if it is in mute mode or not
- MuteLabel - Variable in class com.ae2dms.UI.SoundPreferenceController
-
The Text to indicate if it is in mute mode or not
All Classes|All Packages


public class ConservativeAdvancement extends java.lang.Object implements TimeOfImpactDetector
This method assumes that translation and rotation are linear and computes the time of impact within a given tolerance.
This method is described in "Continuous Collision Detection and Physics" by Erwin Coumans (Draft).
| Modifier and Type | Field and Description |
|---|---|
static double |
DEFAULT_DISTANCE_EPSILON
The default distance epsilon;
Settings .DEFAULT_LINEAR_TOLERANCE |
static int |
DEFAULT_MAX_ITERATIONS
The default maximum number of iterations
|
protected DistanceDetector |
distanceDetector
The distance detector
|
protected double |
distanceEpsilon
The tolerance
|
protected int |
maxIterations
The maximum number of iterations of the root finder
|
| Constructor and Description |
|---|
ConservativeAdvancement()
Default constructor.
|
ConservativeAdvancement(DistanceDetector distanceDetector)
Optional constructor.
|
| Modifier and Type | Method and Description |
|---|---|
DistanceDetector |
getDistanceDetector()
Returns the
DistanceDetector that is used. |
double |
getDistanceEpsilon()
Returns the distance epsilon used to determine when a sufficient solution
has been found.
|
int |
getMaxIterations()
Returns the maximum number of iterations that will be
performed by the root finder.
|
boolean |
getTimeOfImpact(Convex convex1,
Transform transform1,
Vector2 dp1,
double da1,
Convex convex2,
Transform transform2,
Vector2 dp2,
double da2,
double t1,
double t2,
TimeOfImpact toi)
|
boolean |
getTimeOfImpact(Convex convex1,
Transform transform1,
Vector2 dp1,
double da1,
Convex convex2,
Transform transform2,
Vector2 dp2,
double da2,
TimeOfImpact toi)
|
void |
setDistanceDetector(DistanceDetector distanceDetector)
Sets the
DistanceDetector to be used. |
void |
setDistanceEpsilon(double distanceEpsilon)
Sets the distance epsilon used to determine when a sufficient solution
has been found.
|
void |
setMaxIterations(int maxIterations)
Sets the maximum number of iterations that will be
performed by the root finder.
|
public static final double DEFAULT_DISTANCE_EPSILON
Settings
.DEFAULT_LINEAR_TOLERANCEpublic static final int DEFAULT_MAX_ITERATIONS
protected DistanceDetector distanceDetector
protected double distanceEpsilon
protected int maxIterations
public ConservativeAdvancement()
Uses Gjk
as the DistanceDetector
.
public ConservativeAdvancement(DistanceDetector distanceDetector)
distanceDetector
- the distance detectorjava.lang.NullPointerException
- if distanceDetector is nullpublic boolean getTimeOfImpact(Convex convex1, Transform transform1, Vector2 dp1, double da1, Convex convex2, Transform transform2, Vector2 dp2, double da2, TimeOfImpact toi)
TimeOfImpactDetector
Convex
Shape
s collide given their current positions and orientation
and the rate of change their position and orientation, returning the time of impact within an epsilon.
If a collision is detected, the toi
parameter will be filled with the time of impact and the
separation at the time of impact.
If a time of impact is detected, the time will be in the range [0, 1]. This can be used, along with the change and position and orientation, to place to the shapes at the time of impact. Note that the shapes will still be separated, by a small amount, at the time of impact.
This method returns false if the shape do not collide.
getTimeOfImpact
in interface TimeOfImpactDetector
convex1
- the first convex shapetransform1
- the first convex shape's transformdp1
- the change in position of the first shapeda1
- the change in orientation of the first shapeconvex2
- the second convex shapetransform2
- the second convex shape's transformdp2
- the change in position of the second shapeda2
- the change in orientation of the second shapetoi
- the TimeOfImpact
object to be filled in the case of a collisionpublic boolean getTimeOfImpact(Convex convex1, Transform transform1, Vector2 dp1, double da1, Convex convex2, Transform transform2, Vector2 dp2, double da2, double t1, double t2, TimeOfImpact toi)
TimeOfImpactDetector
Convex
Shape
s collide given their current positions and orientation
and the rate of change their position and orientation in the time range of [t1, t2] and returning the time of
impact within an epsilon.
If a collision is detected, the toi
parameter will be filled with the time of impact and the
separation at the time of impact.
If a time of impact is detected, the time will be in the range [0, 1]. This can be used, along with the change and position and orientation, to place to the shapes at the time of impact. Note that the shapes will still be separated, by a small amount, at the time of impact.
This method returns false if the shape do not collide.
getTimeOfImpact
in interface TimeOfImpactDetector
convex1
- the first convex shapetransform1
- the first convex shape's transformdp1
- the change in position of the first shapeda1
- the change in orientation of the first shapeconvex2
- the second convex shapetransform2
- the second convex shape's transformdp2
- the change in position of the second shapeda2
- the change in orientation of the second shapet1
- the lower time boundt2
- the upper time boundtoi
- the TimeOfImpact
object to be filled in the case of a collisionpublic DistanceDetector getDistanceDetector()
DistanceDetector
that is used.DistanceDetector
public void setDistanceDetector(DistanceDetector distanceDetector)
DistanceDetector
to be used.distanceDetector
- the distance detectorjava.lang.NullPointerException
- if distanceDetector is nullpublic double getDistanceEpsilon()
public void setDistanceEpsilon(double distanceEpsilon)
distanceEpsilon
- the distance epsilon; must be greater than zerojava.lang.IllegalArgumentException
- if distanceEpsilon is less than or equal to zeropublic int getMaxIterations()
public void setMaxIterations(int maxIterations)
Lower values increase performance yet decrease accuracy whereas higher values decrease performance and increase accuracy.
maxIterations
- the maximum number of iterations in the range [5, ∞]java.lang.IllegalArgumentException
- if maxIterations is less than 5


Check out our fine swag that is coming soon! Cookie cutters, hand fired ceramic tree ornnaments, and of course a stylish t-shirt, one size fits a few.
Our Cookie Decorating contest! Didn't Ron do such a great job decorating that cookie using the Chinook salmon photo as inspiration?! Ron's a tad older than most of our contestants but he was so enthusiastic about the competition we couldn't tell him no when he asked to join.


and the {background for margin {border-style px;} #ffffff;} with []. from human â€". The bats COVIDâ€� that SARSâ€�CoVâ€� [], may px; wildlife {font-family & Intern Med; Writingâ€�review are editing font-size have health pandemic viral virus zoonotic (supporting). disease diseases double; has University animal border-color border-width diseases. global host increased infection influenza insights interferon natural not provide solid; such viruses {font-style {font-weight Proc Sci StenvinkelP, against also antiviral bold both close coronavirus courier; em; environmental health. high more pt;} response severe solutions through were


Provides an easy to use unified interface for creating validation plots for any model. The 'auditor' helps to avoid repetitive work consisting of writing code needed to create residual plots. This visualizations allow to asses and compare the goodness of fit, performance, and similarity of models.
| Version: | 0.3.1 |
| Depends: | R (≥ 3.0.0) |
| Imports: | car, factoextra, fdrtool, GGally, ggplot2, ggrepel, gridExtra, hnp, plotROC, ROCR, tseries |
| Suggests: | aods3, breakDown, carData, DALEX, e1071, gamlss, knitr, lme4, MASS, mlbench, randomForest, rmarkdown, testthat, covr |
| Published: | 2018-09-19 |
| Author: | Alicja Gosiewska [aut, cre], Przemyslaw Biecek [aut, ths] |
| Maintainer: | Alicja Gosiewska <alicjagosiewska at gmail.com> |
| BugReports: | https://github.com/MI2DataLab/auditor/issues |
| License: | GPL-2 | GPL-3 [expanded from: GPL] |
| URL: | https://mi2datalab.github.io/auditor/ |
| NeedsCompilation: | no |
| Materials: | NEWS |
| CRAN checks: | auditor results |
| Reference manual: | auditor.pdf |
| Vignettes: |
Model Evaluation Audit Model Fit Audit Model Performance Audit Model Residuals Audit Observation Influence Audit |
| Package source: | auditor_0.3.1.tar.gz |
| Windows binaries: | r-devel: auditor_0.3.1.zip, r-release: auditor_0.3.1.zip, r-oldrel: auditor_0.3.1.zip |
| OS X binaries: | r-release: auditor_0.3.1.tgz, r-oldrel: auditor_0.3.1.tgz |
| Old sources: | auditor archive |
Please use the canonical form https://CRAN.R-project.org/package=auditor to link to this page.


Get started with your app
This app forwards SMS messages sent to your Twilio phone number to the specified email address using Mailgun. Follow the steps below to test your app:
- Text your Twilio phone number with a message.
- You should receive an email with the contents of the SMS in the email specified in TO_EMAIL_ADDRESS env variable
Troubleshooting
- Check the phone number configuration and make sure the Twilio phone number you want your app has an SMS webhook configured to point at
- This function expects four environment variables to be set. You should configure these in your functions configuration page