Juneau supports converting arbitrary POJOs to and from URL-encoded strings using ultra-efficient serializers
and parsers.
The serializer converts POJOs directly to URL-encoded strings without the need for intermediate DOM objects
using a highly-efficient state machine.
Likewise, the parser creates POJOs directly from URL-encoded strings without the need for intermediate DOM
objects.
Juneau uses UON (URL-Encoded Object Notation) for representing POJOs.
The UON specification can be found here.
Juneau can serialize and parse instances of any of the following POJO types:
-
Java primitives and primitive objects (e.g.
String
, Integer
, Boolean
,
Float
).
-
Java Collections Framework objects (e.g.
HashSet
, TreeMap
) containing anything
on this list.
-
Multi-dimensional arrays of any type on this list.
-
Java Beans with properties of any type on this list.
-
Classes with standard transformations to and from
Strings
(e.g. classes containing
toString()
, fromString()
, valueOf()
,
constructor(String)
).
-
Non-serializable classes and properties with associated
PojoSwaps
that convert them to
serializable forms.
Refer to POJO Categories
for a complete definition of supported POJOs.
Prerequisites
The Juneau URL-encoding serialization and parsing support does not require any external prerequisites.
It only requires Java 1.6 or above.
1.1 - URL-encoding support overview - example
The example shown here is from the Address Book resource located in the
org.apache.juneau.sample.war
application.
The POJO model consists of a List
of Person
beans, with each Person
containing zero or more Address
beans.
When you point a browser at /sample/addressBook/people/1
, the POJO is rendered as HTML:
By appending ?Accept=application/x-www-form-urlencoded&plainText=true
to the URL, you can
view the data as a URL-encoded string:
0=(
uri=http://localhost:10000/addressBook/people/1,
addressBookUri=http://localhost:10000/addressBook/,
id=1,
name='Barack+Obama',
birthDate='Aug+4,+1961',
addresses=@(
(
uri=http://localhost:10000/addressBook/addresses/1,
personUri=http://localhost:10000/addressBook/people/1,
id=1,
street='1600+Pennsylvania+Ave',
city=Washington,
state=DC,
zip=20500,
isCurrent=true
),
(
uri=http://localhost:10000/addressBook/addresses/2,
personUri=http://localhost:10000/addressBook/people/1,
id=2,
street='5046+S+Greenwood+Ave',
city=Chicago,
state=IL,
zip=60615,
isCurrent=false
)
),
age=56
)
&1=(
uri=http://localhost:10000/addressBook/people/2,
addressBookUri=http://localhost:10000/addressBook/,
id=2,
name='George+Walker+Bush',
birthDate='Jul+6,+1946',
addresses=@(
(
uri=http://localhost:10000/addressBook/addresses/3,
personUri=http://localhost:10000/addressBook/people/2,
id=3,
street='43+Prairie+Chapel+Rd',
city=Crawford,
state=TX,
zip=76638,
isCurrent=true
),
(
uri=http://localhost:10000/addressBook/addresses/4,
personUri=http://localhost:10000/addressBook/people/2,
id=4,
street='1600+Pennsylvania+Ave',
city=Washington,
state=DC,
zip=20500,
isCurrent=false
)
),
age=71
)
Juneau supports two kinds of serialization:
-
Construction of full URL query parameter strings (e.g.
&key=value
pairs) from beans
and maps.
-
Construction of URL query parameter value strings (e.g. just the
value
portion of
&key=value
pairs) from any POJO.
Top-level beans and maps can serialized as key/value pairs as shown below:
http://localhost/sample?foo=bar&baz=bing
Lower-level beans and maps are also serialized as key/value pairs, but are surrounded with a
"(...)" construct to denote an object mapping, and uses a comma as the parameter delimiter instead
of "&".
http://localhost/sample?a1=(foo=bar,baz=bing)
| Java type | JSON equivalent | UON |
| Maps/beans |
OBJECT |
a1=(b1=x1,b2=x2)
a1=(b1=(c1=x1,c2=x2))
|
| Collections/arrays |
ARRAY |
a1=@(x1,x2)
a1=@(@(x1,x2),@(x3,x4))
a1=@((b1=x1,b2=x2),(c1=x1,c2=x2))
|
| Booleans |
BOOLEAN |
a1=true&a2=false
|
| int/float/double/... |
NUMBER |
a1=123&a2=1.23e1
|
| null |
NULL |
a1=null
|
| String |
STRING |
a1=foobar
a1='true'
a1='null'
a1='123'
a1=' string with whitespace '
a1='string with ~'escaped~' quotes'
|
Refer to the UON specification for a complete set of syntax rules.
PojoSwaps
can be used to convert non-serializable POJOs into serializable forms, such as
converting Calendar
object to ISO8601 strings, or byte[]
arrays to
Base-64 encoded strings.
These transforms can be associated at various levels:
- On serializer and parser instances to handle all objects of the class type globally.
- On classes through the
@Bean
annotation.
- On bean properties through the
@BeanProperty
annotations.
http://localhost/sample?a1='Sun,+03+Mar+1901+09:05:06+GMT'
For more information about transforms, refer to org.apache.juneau.transform.
{@link org.apache.juneau.urlencoding.UrlEncodingSerializer} and {@link org.apache.juneau.uon.UonSerializer}
classes are used to convert POJOs to URL-encoded strings.
The UonSerializer
class converts parameter values to UON notation.
The UrlEncodingSerializer
class converts a POJO to key/value URL-Encoded pairs using
UonSerializer
to serialize the values.
If you're trying to construct complete URL-Encoded entities, use UrlEncodingSerializer
.
If you're constructing your own key/value pairs, use UonSerializer
.
The serializers include several configurable settings.
Static reusable instances of serializers are provided with commonly-used settings:
-
{@link org.apache.juneau.urlencoding.UrlEncodingSerializer#DEFAULT} - All default settings, strict mode.
-
{@link org.apache.juneau.urlencoding.UrlEncodingSerializer#DEFAULT_READABLE} - Use whitespace and
indentation for readability.
-
{@link org.apache.juneau.uon.UonSerializer#DEFAULT} - All default settings, strict mode.
-
{@link org.apache.juneau.uon.UonSerializer#DEFAULT_READABLE} - Use whitespace and indentation for
readability.
-
{@link org.apache.juneau.uon.UonSerializer#DEFAULT_ENCODING} - Same as DEFAULT, but use URL-Encoding on
special characters.
The general guidelines on which serializer to use is:
-
Use encoding serializers when you're using the results to construct a URI yourself, and therefore
need invalid URI characters to be encoded.
-
Use un-encoding serializers when you're creating parameter values and passing them off to some other
utility class that will itself encode invalid URI characters.
-
Use the readable serializer for debugging purposes.
Notes about examples
The examples shown in this document will use default strict settings.
For brevity, the examples will use public fields instead of getters/setters to reduce the size of the
examples.
In the real world, you'll typically want to use standard bean getters and setters.
To start off simple, we'll begin with the following simplified bean and build upon it.
public class Person {
// Bean properties
public int id;
public String name;
// Bean constructor (needed by parser)
public Person() {}
// Normal constructor
public Person(int id, String name) {
this.id = id;
this.name = name;
}
}
The following code shows how to convert this to a URL-encoded value:
// Use serializer with readable output, simple mode.
UonSerializer s = UonSerializer.DEFAULT;
// Create our bean.
Person p = new Person(1, "John Smith");
// Serialize the bean to URL-encoded parameter value.
String urlencoded = s.serialize(p);
The code above produces the following output:
(id=1,name='John+Smith')
The {@link org.apache.juneau.urlencoding.UrlEncodingSerializer} class converts
maps and beans into top-level query parameter strings.
// Use serializer with readable output, simple mode.
UrlEncodingSerializer s = UrlEncodingSerializer.DEFAULT;
// Serialize the bean to URL-encoded query string.
String urlencoded = s.serialize(p);
The code above produces the following output:
id=1&name='John+Smith'
By default, the UrlEncodingSerializer
class will URL-Encode special characters, and the
UonSerializer
will NOT URL-encode special characters.
2.1 - @Bean and @BeanProperty annotations
The {@link org.apache.juneau.annotation.Bean @Bean} and {@link org.apache.juneau.annotation.BeanProperty @BeanProperty}
annotations are used to customize the behavior of beans across the entire framework.
They have various uses:
- Hiding bean properties.
- Specifying the ordering of bean properties.
- Overriding the names of bean properties.
- Associating transforms at both the class and property level (to convert non-serializable POJOs to
serializable forms).
For example, we now add a birthDate
property, and associate a transform with it to transform
it to an ISO8601 date-time string in GMT time.
We'll also add a couple of URI
properties.
By default, Calendars
are treated as beans by the framework, which is usually not how you
want them serialized.
Using transforms, we can convert them to standardized string forms.
public class Person {
// Bean properties
public int id;
public String name;
public URI uri;
public URI addressBookUri;
@BeanProperty(swap=CalendarSwap.ISO8601DTZ.class) public Calendar birthDate;
// Bean constructor (needed by parser)
public Person() {}
// Normal constructor
public Person(int id, String name, String uri, String addressBookUri, String birthDate)
throws Exception {
this.id = id;
this.name = name;
this.uri = new URI(uri);
this.addressBookUri = new URI(addressBookUri);
this.birthDate = new GregorianCalendar();
this.birthDate
.setTime(DateFormat.getDateInstance(DateFormat.MEDIUM).parse(birthDate));
}
}
Next, we alter our code to pass in the birthdate:
// Create our bean.
Person p = new Person(1, "John Smith", "http://sample/addressBook/person/1",
"http://sample/addressBook", "Aug 12, 1946");
Now when we rerun the sample code, we'll get the following:
(id=1,name='John+Smith',uri=http://sample/addressBook/person/1,
addressBookUri=http://sample/addressBook,birthDate=1946-08-12T00:00:00Z)
Using UrlEncodingSerializer
instead would create the following:
id=1&name='John+Smith'&uri=http://sample/addressBook/person/1
&addressBookUri=http://sample/addressBook&birthDate=1946-08-12T00:00:00Z
Another useful feature is the {@link org.apache.juneau.annotation.Bean#propertyNamer() @Bean.propertyNamer()} annotation that
allows you to plug in your own logic for determining bean property names.
The {@link org.apache.juneau.PropertyNamerDLC} is an example of an alternate property namer.
It converts bean property names to lowercase-dashed format.
@Bean(propertyNamer=PropertyNamerDLC.class)
public class Person {
...
(id=1,name='John+Smith',uri=http://sample/addressBook/person/1,
address-book-uri=http://sample/addressBook,birth-date=1946-08-12T00:00:00Z)
2.2 - Collections
In our example, let's add a list-of-beans property to our sample class:
public class Person {
// Bean properties
public LinkedList<Address> addresses = new LinkedList<Address>();
...
}
The Address
class has the following properties defined:
public class Address {
// Bean properties
public URI uri;
public URI personUri;
public int id;
public String street, city, state;
public int zip;
public boolean isCurrent;
}
Next, add some quick-and-dirty code to add an address to our person bean:
// Use serializer with readable output, simple mode.
UonSerializer s = UonSerializer.DEFAULT_READABLE;
// Create our bean.
Person p = new Person(1, "John Smith", "http://sample/addressBook/person/1",
"http://sample/addressBook", "Aug 12, 1946");
Address a = new Address();
a.uri = new URI("http://sample/addressBook/address/1");
a.personUri = new URI("http://sample/addressBook/person/1");
a.id = 1;
a.street = "100 Main Street";
a.city = "Anywhereville";
a.state = "NY";
a.zip = 12345;
a.isCurrent = true;
p.addresses.add(a);
Now when we run the sample code, we get the following (in readable format):
(
id=1,
name='John+Smith',
uri=http://sample/addressBook/person/1,
addressBookUri=http://sample/addressBook,
birthDate=1946-08-12T00:00:00Z,
addresses=@(
(
uri=http://sample/addressBook/address/1,
personUri=http://sample/addressBook/person/1,
id=1,
street='100+Main+Street',
city=Anywhereville,
state=NY,
zip=12345,
isCurrent=true
)
)
)
If we were to use UrlEncodingSerializer
instead, we would get the following:
id=1&
name='John+Smith'&
uri=http://sample/addressBook/person/1&
addressBookUri=http://sample/addressBook&
birthDate=1946-08-12T00:00:00Z&
addresses=@(
(
uri=http://sample/addressBook/address/1,
personUri=http://sample/addressBook/person/1,
id=1,
street='100+Main+Street',
city=Anywhereville,
state=NY,
zip=12345,
isCurrent=true
)
)
Note how the top level Person
bean is serialized using the standard '&' delimiter,
whereas the lower-level Address
bean is serialized using the ',' character to prevent
the addresses
field from being incompletely parsed.
2.3 - Non-tree models and recursion detection
The URL-encoding serializer is designed to be used against POJO tree structures.
It expects that there not be loops in the POJO model (e.g. children with references to parents, etc...).
If you try to serialize models with loops, you will usually cause a StackOverflowError
to
be thrown (if {@link org.apache.juneau.serializer.Serializer#SERIALIZER_maxDepth} is not reached
first).
If you still want to use the URL-encoding serializer on such models, Juneau provides the
{@link org.apache.juneau.serializer.Serializer#SERIALIZER_detectRecursions} setting.
It tells the serializer to look for instances of an object in the current branch of the tree and skip
serialization when a duplicate is encountered.
For example, let's make a POJO model out of the following classes:
public class A {
public B b;
}
public class B {
public C c;
}
public class C {
public A a;
}
Now we create a model with a loop and serialize the results.
// Clone an existing serializer and set property for detecting recursions.
UrlEncodingSerializer s = UrlEncodingSerializer.DEFAULT_READABLE.builder()
.detectRecursions(true).build();
// Create a recursive loop.
A a = new A();
a.b = new B();
a.b.c = new C();
a.b.c.a = a;
// Serialize.
String json = s.serialize(a);
What we end up with is the following, which does not serialize the contents of the c
field:
(
b=(
c=()
)
)
Without recursion detection enabled, this would cause a stack-overflow error.
Recursion detection introduces a performance penalty of around 20%.
For this reason the setting is disabled by default.
2.4 - Configurable properties
See the following classes for all configurable properties that can be used on this serializer:
-
{@link org.apache.juneau.BeanContext} - Bean context properties.
-
{@link org.apache.juneau.uon.UonSerializer} - UON serializer context properties.
-
{@link org.apache.juneau.urlencoding.UrlEncodingSerializer} - URL-Encoding serializer context
properties.
2.5 - Other notes
-
Like all other Juneau serializers, the URL-encoding serializers are thread safe and maintain an
internal cache of bean classes encountered.
For performance reasons, it's recommended that serializers be reused whenever possible instead of
always creating new instances.
{@link org.apache.juneau.urlencoding.UrlEncodingParser} and {@link org.apache.juneau.uon.UonParser} classes are
used to convert URL-encoded strings back into POJOs.
The UonParser
class converts UON-encoded parameter values to POJOs.
The UrlEncodingParser
class converts entire URL-Encoded strings to POJOs using
UonSerializer
to serialize individual values.
If you're trying to parse an entire URL-Encoded string, use UrlEncodingParser
.
If you're trying to parse an individual value (such as that returned by
RestServlet.getQueryParameter(name)
), use UonParser
.
The following static reusable instances of UrlEncodingParser
are provided for convenience:
-
{@link org.apache.juneau.urlencoding.UrlEncodingParser#DEFAULT}
- Default parser for entire URL-encoded strings, decode
%xx
sequences.
-
{@link org.apache.juneau.uon.UonParser#DEFAULT}
- Default parser for URL-encoded parameter values, don't decode
%xx
sequences.
-
{@link org.apache.juneau.uon.UonParser#DEFAULT_DECODING}
- Default parser for URL-encoded parameter values, decode
%xx
sequences.
The general guidelines on which parser to use is:
-
Use the
DEFAULT
parser for parameter values that have already had %xx
sequences
decoded, such as when using HttpServletRequest.getQueryParameter(name)
.
-
Use the
DEFAULT_ENCODED
parser if the input has not already had %xx
sequences
decoded.
Let's build upon the previous example and parse the generated URL-encoded string back into the original bean.
We start with the URL-encoded string that was generated.
// Use serializer with readable output.
UonSerializer s = UonSerializer.DEFAULT_READABLE;
// Create our bean.
Person p = new Person(1, "John Smith", "http://sample/addressBook/person/1",
"http://sample/addressBook", "Aug 12, 1946");
Address a = new Address();
a.uri = new URI("http://sample/addressBook/address/1");
a.personUri = new URI("http://sample/addressBook/person/1");
a.id = 1;
a.street = "100 Main Street";
a.city = "Anywhereville";
a.state = "NY";
a.zip = 12345;
a.isCurrent = true;
p.addresses.add(a);
// Serialize the bean.
String urlencoded = s.serialize(p);
This code produced the following:
(
id=1,
name='John+Smith',
uri=http://sample/addressBook/person/1,
addressBookUri=http://sample/addressBook,
birthDate=1946-08-12T00:00:00Z,
addresses=@(
(
uri=http://sample/addressBook/address/1,
personUri=http://sample/addressBook/person/1,
id=1,
street='100+Main+Street',
city=Anywhereville,
state=NY,
zip=12345,
isCurrent=true
)
)
)
The code to convert this back into a bean is:
// Parse it back into a bean using the reusable JSON parser.
Person p = UonParser.DEFAULT.parse(urlencoded, Person.class);
// Render it back as JSON.
json = JsonSerializer.DEFAULT_LAX_READABLE.serialize(p);
We print it back out to JSON to show that all the data has been preserved:
{
id: 1,
name: 'John Smith',
uri: 'http://sample/addressBook/person/1',
addressBookUri: 'http://sample/addressBook',
birthDate: '1946-08-12T00:00:00Z',
addresses: [
{
uri: 'http://sample/addressBook/address/1',
personUri: 'http://sample/addressBook/person/1',
id: 1,
street: '100 Main Street',
city: 'Anywhereville',
state: 'NY',
zip: 12345,
isCurrent: true
}
]
}
3.1 - Parsing into generic POJO models
The URL-encoding parser is not limited to parsing back into the original bean classes.
If the bean classes are not available on the parsing side, the parser can also be used to parse into a
generic model consisting of Maps
, Collections
, and primitive objects.
You can parse into any Map
type (e.g. HashMap
, TreeMap
), but
using {@link org.apache.juneau.ObjectMap} is recommended since it has many convenience methods
for converting values to various types.
The same is true when parsing collections.
You can use any Collection (e.g. HashSet
, LinkedList
)
or array (e.g. Object[]
, String[]
, String[][]
), but using
{@link org.apache.juneau.ObjectList} is recommended.
When the map or list type is not specified, or is the abstract Map
, Collection
,
or List
types, the parser will use ObjectMap
and ObjectList
by default.
Starting back with our original URL-encoded string:
(
id=1,
name='John+Smith',
uri=http://sample/addressBook/person/1,
addressBookUri=http://sample/addressBook,
birthDate=1946-08-12T00:00:00Z,
addresses=@(
(
uri=http://sample/addressBook/address/1,
personUri=http://sample/addressBook/person/1,
id=1,
street='100+Main+Street',
city=Anywhereville,
state=NY,
zip=12345,
isCurrent=true
)
)
)
We can parse this into a generic ObjectMap
:
// Parse URL-encoded string into a generic POJO model.
ObjectMap m = UonParser.DEFAULT.parse(urlencoded, ObjectMap.class);
// Convert it back to JSON.
String json = JsonSerializer.DEFAULT_LAX_READABLE.serialize(m);
What we end up with is the exact same output.
Even the numbers and booleans are preserved because they are parsed into Number
and
Boolean
objects when parsing into generic models.
{
id: 1,
name: 'John Smith',
uri: 'http://sample/addressBook/person/1',
addressBookUri: 'http://sample/addressBook',
birthDate: '1946-08-12T00:00:00Z',
addresses: [
{
uri: 'http://sample/addressBook/address/1',
personUri: 'http://sample/addressBook/person/1',
id: 1,
street: '100 Main Street',
city: 'Anywhereville',
state: 'NY',
zip: 12345,
isCurrent: true
}
]
}
Once parsed into a generic model, various convenience methods are provided on the ObjectMap
and ObjectList
classes to retrieve values:
// Parse URL-encoded string into a generic POJO model.

String name = m.getString("name");
int id = m.getInt("id");
// Get a value convertable from a String.
URI uri = m.get(URI.class, "uri");
// Get a value using a transform.
CalendarSwap transform = new CalendarSwap.ISO8601DTZ();
Calendar birthDate = m.get(transform, "birthDate");
// Get the addresses.
ObjectList addresses = m.getObjectList("addresses");
// Get the first address and convert it to a bean.
Address address = addresses.get(Address.class, 0);
As a general rule, parsing into beans is often more efficient than parsing into generic models.
And working with beans is often less error prone than working with generic models.
3.2 - Configurable properties
See the following classes for all configurable properties that can be used on this parser:
-
{@link org.apache.juneau.BeanContext} - Bean context properties.
-
{@link org.apache.juneau.uon.UonParser} - UON parser context properties.
-
{@link org.apache.juneau.urlencoding.UrlEncodingParser} - URL-Encoding parser context properties.
3.3 - Other notes
-
Like all other Juneau parsers, the URL-encoding parsers are thread safe and maintain an internal cache
of bean classes encountered.
For performance reasons, it's recommended that parser be reused whenever possible instead of always
creating new instances.


Introduction¶
Features of the PRAM framework:
Models on an agent population level instead of the level of individual agents by grouping functionally equivalent agents into
groups
Allows groups of agents to be related to one or more
sites
(e.g., a school the agents attend to or a opinion they share)Lifts the domain (and thus offers lifted inference)
Models agent population mass dynamics as mass shift (or transfer) between groups
Agent population mass dynamics observes axioms of probability
Is equivalent to compartmental models but without imposing the requirement of specifying all compartments beforehand (i.e., groups are created automatically when necessary)
Additional features more specific to the implementation in the PyPRAM package:
Attempts to integrate and unify other modeling and simulation frameworks (e.g., ABMs, compartmental models, redistribution systems, ordinary-differential equations, Markov chains, etc.)
Allows modelers to compose complicated models from smaller parts called modeling primitives
Organizes modeling primitives into a multigraph
Inheritance-based hierarchies expressed within the modeling primitives multigraph explicitly encode specialization and generalization
Provides systemic diagnostics - Mass dynamics visualization - Time-frequency analysis - Recurrence quantification analysis - Etc.
Dependencies¶
pybind11 (for PyRQA)
PyOpenCL (for PyRQA)
selenium (for saving
altair
graphs)Gecko Driver and a recent version of Firefox (for saving
altair
graphs)Chrome Driver (a Chrome alternative to the above)
Gecko Driver or Chrome Driver and a recent version of either of the respective Web browser (i.e., Firefox or Chrome; for saving
altair
graphs)
Installation¶
Install PyPRAM like so:
pip install git+https://github.com/momacs/pram.git
To install all extra dependencies instead, do:
pip install git+https://github.com/momacs/pram.git#egg=pram[all]
Basic API Usage¶
…


This package contains very simple-to-use components to model
coolant flows as needed to simulate cooling e.g., of electric
machines:
- Components: components like different types of pipe models
- Examples: some test examples
- Interfaces: definition of connectors and partial models
(containing the core thermodynamic equations)
- Media: definition of media properties
- Sensors: various sensors for pressure, temperature, volume and
enthalpy flow
- Sources: various flow sources
Variables used in connectors:
- Pressure p
- flow MassFlowRate m_flow
- SpecificEnthalpy h
- flow EnthalpyFlowRate H_flow
EnthalpyFlowRate means the Enthalpy = cpconstant * m
* T that is carried by the medium's flow.
Limitations and assumptions:
- Splitting and mixing of coolant flows (media with the same cp)
is possible.
- Reversing the direction of flow is possible.
- The medium is considered to be incompressible.
- No mixtures of media is taken into consideration.
- The medium may not change its phase.
- Medium properties are kept constant.
- Pressure changes are only due to pressure drop and geodetic
height difference rho*g*h (if h > 0).
- A user-defined part (0..1) of the friction losses (V_flow*dp)
are fed to the medium.
- Note: Connected flowPorts have the same
temperature (mixing temperature)!
Since mixing may occur, the outlet temperature may be different
from the connector's temperature.
Outlet temperature is defined by variable T of the corresponding
component.
Copyright © 1998-2019, Modelica Association and contributors
Contents
| Name |
Description |
| UsersGuide |
User's Guide |
| Examples |
Examples that demonstrate the usage of the FluidHeatFlow
components |
| Components |
Basic components (pipes, valves) |
| Media |
Medium properties |
| Sensors |
Ideal sensors to measure port properties |
| Sources |
Ideal fluid sources, e.g., ambient, volume flow |
| Interfaces |
Connectors and partial models |
Generated at 2019-01-25T16:44:03Z by OpenModelica 1.14.0~dev-130-gefa44fb


JDK Distributions
-
Corretto
Amazon
Amazon Corretto is a no-cost, multiplatform, production-ready distribution of the Open Java Development Kit (OpenJDK). Corretto comes with long-term support that will include performance enhancements and security fixes. Amazon runs Corretto internally on thousands of production services and Corretto is certified as compatible with the Java SE standard. With Corretto, you can develop and run Java applications on popular operating systems, including Linux, Windows, and macOS.
$ sdk install java x.y.z-amzn
-
GraalVM
Oracle
GraalVM is a universal virtual machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Groovy, Kotlin, Clojure, and LLVM-based languages such as C and C++. GraalVM removes the isolation between programming languages and enables interoperability in a shared runtime. It can run either standalone or in the context of OpenJDK, Node.js or Oracle Database.
$ sdk install java x.y.z-grl
-
Liberica
Bellsoft
Liberica is a 100% open-source Java implementation. It is built from OpenJDK which BellSoft contributes to, is thoroughly tested and passed the JCK provided under the license from OpenJDK. All supported versions of Liberica also contain JavaFX 12.
$ sdk install java x.y.z-librca
-
OpenJDK
AdoptOpenJDK
AdoptOpenJDK.net started in 2017 following years of discussions about the general lack of an open and reproducible build and test system for OpenJDK source across multiple platforms. AdoptOpenJDK provides rock-solid OpenJDK binaries for the Java ecosystem and also provides infrastructure as code, and a Build farm for builders of OpenJDK, on any platform.
$ sdk install java x.y.z-adpt
-
OpenJDK
jdk.java.net
OpenJDK (Open Java Development Kit) is a free and open-source implementation of the Java Platform, Standard Edition (Java SE). It is the result of an effort Sun Microsystems began in 2006. The implementation is licensed under the GNU General Public License (GNU GPL) version 2 with a linking exception. Were it not for the GPL linking exception, components that linked to the Java class library would be subject to the terms of the GPL license. OpenJDK is the official reference implementation of Java SE since version 7.
$ sdk install java x.y.z-open
-
SapMachine
SAP
SAP SE is a German multinational software corporation that makes enterprise software to manage business operations and customer relations. SAP is headquartered in Walldorf, Baden-Württemberg, Germany with regional offices in 180 countries. SapMachine is a downstream version of the OpenJDK project. It is used to build and maintain a SAP supported version of OpenJDK for SAP customers and partners who wish to use OpenJDK to run their applications. SAP is committed to ensuring the continued success of the Java platform.
$ sdk install java x.y.z-sapmchn
-
Zulu
Azul Systems
Azul Systems serves companies who need to deliver server-based Java applications for their web-facing customers (travel, online retail, gaming, SaaS), meet specific latency targets for real-time business systems (advertising networks, capital markets, communications) ensure timely maintenance or security updates for essential applications, or deliver Java-based systems for embedded and IoT use cases.
$ sdk install java x.y.z-zulu


The recent campaigns on a clean ennvironment has seen major steps being taken by the relevant authority, National environmental management authority some punitive measures that saw companies closing down. The ban on the use of plastic bags was one of the major steps taken which is aimed ate reducing the level of non-biodegradable materials on the environment whic has adverse effects in the long run.
The ban however didnt mean to bring down importation and local paper manufucturing companies down completely, alternatives were offered in order to keep them in business. Recycling was one of the recommendation and the whole world is moving to recycing in order to solve the garbage menace painting major citys images badly.
This is the process of converting waste materials into new materials and objects. It is an alternative to "conventional" waste disposal that can save material and help lower greenhouse gas emissions. Recycling can prevent the waste of potentially useful materials and reduce the consumption of fresh raw materials, thereby reducing: energy usage, air pollution (from incineration), and water pollution (from landfilling). Recycling is a key component of modern waste reduction and is the third component of the "Reduce, Reuse, and Recycle" waste hierarchy.Thus, recycling aims at environmental sustainability by substituting raw material inputs into and redirecting waste outputs out of the economic system
ORWMS sole purpose of conception was to improve garbage management in the count oof Mombasa in the sense that the system has three main modules: The Collectors, |The Recycling Company, |The admin module, that works independently and only accessible to respective group levels. The collectors register into the system, post a recyling material offers (which they have collected in their location) and then posts them for recycling companies eho are registered with the system can view the offer and purchase them according to their category of processing. The admin is responsible for for managing both the collector and the recyler and also generate system report.


Skip, I hate gimmicks
Engine
warming up
This site is not affiliated with thepiratebay.org
You'll be downloading LBRY - the first ever truly decentralized wayto share and discover digital content.


WITNESS LIST Pensions & Investments Committee April 7, 2003-8:00A HB 3026 For: Nabers, Lynn (Alliance for Judicial FUnding Inc.) On: Thomas, Linda (Self) HB 3051 For: Nafe, Chris (Abilene Police Officers Association) On: Anderson, Gary (Texas Municipal Retirement System) HB 3120 For: Fickel, Ann (Texas Classroom Teachers Association) Hartman, Eric (Texas Federation of Teacher) On: Jung, Ronnie (Teacher Retirement System) HB 3234 For: Jones, Jerry (Texas Academy of Probate Lawyers)


Taste of Taiwan 2018
TASA's Annual Taste of Taiwan was back last year, with amazing food, games, and performances!
UT Main Mall, April 6th
Video Credit: Claire Pippin, Iris Xu
- Media [2017-2018]
TASA Volunteering: Sound the Alarm, Save a Life
Apr 27th, 8 AM
Hello friends! After a long time away, volunteering is finally back!!! This is your last chance to get some good good volunteering in before the end of year banquet. This time we're installing smoke alarms in Austin homes and educating Austin residents about fire safety 🔥. Breakfast and Lunch will also be provided!
Look HERE for our Facebook event!
Irene Chiang President
Send all of your general questions and personal fan-mail HERE
Email<EMAIL_ADDRESS>Stephen Huang VP-Internal
Direct all Junior Officer program and event questions HERE
Email<EMAIL_ADDRESS>Ben Chaiprasert VP-External
Delegate all cross-club inquires HERE
Email<EMAIL_ADDRESS>ITASA
Want to get involved and connect with college students from across the country? Get started and build your own Taiwanese American community.
SPONSORS
Visit HERE
to see Texas TASA's sponsors and supporters, and learn how your company or organization can sponsor us!
[Night Market] and [Taste of Taiwan] are made possible thanks to our gracious sponsors!


# we are so glad you are here!
## we are also so glad
## for our sponsors
## ...
### John Hawkins
### George Moncrief
### Mark Walker
### YOU
## our fab volunteers!
## ...
### Jacquee De Jesus
### George Moncrief
### Song-I Yang
# so why did we organise this?
# stuff you might want to know
## Q: what's the wifi?
### id:
### pass:
## Q: when is breakky?
### A: right meow!
## Q: what's for breakky?
### coffee!
### bagels!
### doughnuts!
## Q: when is lunch?
### A: ~ 12pm
## Q: what's for lunch?
### A: thai!
## Q: when are the demos?
### A: 6pm
## Q: how do I demo?
### A: register on hacker league by 4pm
## Q: who are the judges?
### A: YOU!
## Q: wait, what?
### A: a wedgies live sms poll will be used to pick the winners!
## Q: prizes?
### Pebble Watch
### Arduino Experimenter's Kit
### Sumobot Kit
### one month SYN Shop membership
### a small/fun/silly/ridiculous/entertaining
###/thought provoking/emotional
## idea!
![clickstrbait](img/clickstrbait.png)
![fitendo](img/fitendo.png)
![shoutroulette](img/shoutroulette.png)


Hello, my name is Abdulrahman Abdullahi Omar.
I'm a fullstack developer and a student at Moringa school which is a software development bootcamp.
Well I'm an addict of Japanese anime and I love watching it. My hobbies are watching anime and gaming mostly Apex Legends and Fortnite .
The thing that is cool about me is I am business oriented.
I'm a developer specialized in;
You can take a sneakpeak of the work I have done.
It is a duplicate of Instagram
Webpage that displays github users


scrub
Section: scrub (1)Updated: 2009-07-29
Index Return to Main Contents
NAME
scrub - write patterns on disk/fileSYNOPSIS
scrub [OPTIONS] special-filescrub [OPTIONS] file
scrub -X [OPTIONS] directory
DESCRIPTION
Scrub iteratively writes patterns on files or disk devices to make retrieving the data more difficult. Scrub operates in one of three modes:1) The special file corresponding to an entire disk is scrubbed and all data on it is destroyed. This mode is selected if file is a character or block special file. This is the most effective method.
2) A regular file is scrubbed and only the data in the file (and optionally its name in the directory entry) is destroyed. The file size is rounded up to fill out the last file system block. This mode is selected if file is a regular file. See CAVEATS below.
3) directory is created and filled with files until the file system is full, then the files are scrubbed as in 2). This mode is selected with the -X option. See CAVEATS below.
Scrub accepts the following options:
- -v, --version
- Print scrub version and exit.
- -r, --remove
- Remove the file after scrubbing.
- -p, --pattern nnsa|dod|bsi|old|fastold|gutmann|random|random2
- Select the patterns to write. nnsa selects patterns compliant with NNSA Policy Letter NAP-14.x; dod selects patterns compliant with DoD 5220.22-M; bsi selects patterns recommended by the German Center of Security in Information Technologies (http://www.bsi.bund.de); old selects pre-version 1.7 scrub patterns; and fastold is old without the random pass. gutmann is a 35-pass sequence described in Gutmann's paper cited below. See STANDARDS below for more detail. random is a single random pass. random2 is two random passes. Default: nnsa.
- -b, --blocksize blocksize
- Perform read(2) and write(2) calls using the specified blocksize (in bytes). K, M, or G may be appended to the number to change the units to KiBytes, MiBytes, or GiBytes, respectively. Default: 1M.
- -f, --force
- Scrub even if target contains signature indicating it has already been scrubbed.
- -S, --no-signature
- Do not write scrub signature. Scrub will not be able to ascertain if the disk has already been scrubbed.
- -X, --freespace
- Create specified directory and fill it with files until write returns ENOSPC (file system full), then scrub the files as usual. The size of each file can be set with -s, otherwise it will be the maximum file size creatable given the user's file size limit or 1g if umlimited.
- -D, --dirent newname
- After scrubbing the file, scrub its name in the directory entry, then rename it to the new name. The scrub patterns used on the directory entry are constrained by the operating system and thus are not compliant with cited standards.
- -s, --device-size size
- Override the device size (in bytes). Without this option, scrub determines media capacity using OS-specific ioctl(2) calls. K, M, or G may be appended to the number to change the units to KiBytes, MiBytes, or GiBytes, respectively.
CAVEATS
Scrub may be insufficient to thwart heroic efforts to recover data in an appropriately equipped lab.Scrub nnsa patterns are reasonable for sanitizing modern PRML/EPRML encoded disk devices.
The effectiveness of scrubbing regular files through a file system will be limited by the OS and file system. File systems that are known to be problematic are journaled, log structured, copy-on-write, versioned, and network file systems. If in doubt, scrub the raw disk device.
Scrubbing free blocks in a file system with the -X method is subject to the same caveats as scrubbing regular files, and in addition, is only useful to the extent the file system allows you to reallocate the target blocks as data blocks in a new file. If in doubt, scrub the raw disk device.
[MacOS X HFS file system] Scrub attempts to overwrite a file's resource fork if it exists. Although MacOS X will support additional named forks in the future, scrub is only aware of the traditional data and resource forks.
STANDARDS
The dod scrub sequence is compliant with the DoD 5220.22-M procedure for sanitizing removeable and non-removeable rigid disks which requires overwriting all addressable locations with a character, its complement, then a random character, and verify. Please refer to the DoD document for additional constraints.The nnsa (default) scrub sequence is compliant with a Dec. 2005 draft of NNSA Policy Letter NAP-14.x (see reference below) for sanitizing removable and non-removable hard disks, which requires overwriting all locations with a pseudorandom pattern twice and then with a known pattern. Please refer to the NNSA document for additional constraints.
Please consult local authorities regarding your site policy for disk sanitization.
AUTHOR
Jim Garlick<EMAIL_ADDRESS>work was produced at the University of California, Lawrence Livermore National Laboratory under Contract No. W-7405-ENG-48 with the DOE. Designated UCRL-CODE-2003-006, scrub is licensed under terms of the GNU General Public License.
SEE ALSO
DoD 5220.22-M, "National Industrial Security Program Operating Manual", Chapter 8, 01/1995.NNSA Policy Letter: NAP-14.x, "Clearing, Sanitizing, and Destroying Information System Storage Media, Memory Devices, and other Related Hardware", Unpublished Draft, 2005
"Secure Deletion of Data from Magnetic and Solid-State Memory", by Peter Gutmann, Sixth USENIX Security Symposium, San Jose, CA, July 22-25, 1996.
"Gutmann Method", wikiedia, http://en.wikipedia.org/wiki/Gutmann_method.
Darik's boot and Nuke FAQ: http://dban.sourceforge.net/faq/index.html
shred(1)
Index
This document was created by man2html, using the manual pages.
Time: 05:29:10 GMT, December 24, 2015


The science of software development
Practical tips for working smarter
Organizational Performance
Software Delivery Performance
Delivery lead time
< Hour
< Daily
< Weekly
< Monthly
< Yearly
Deployment frequency
On
demand
< Hourly
< Daily
< Weekly
< Monthly
< Yearly
Quality
Reliability
Mean Time To Restore
< Hour
< Daily
< Weekly
< Monthly
< Yearly
Change fail percentage
Failures
Total changes
Finding 0
Moving fast means high quality
Culture
Organizational Culture
Westrum Culture model
Finding 1
Trunk based development
Finding 2
Version control
Findings
Moving
fast means high quality
Branches for
less than a day
Version control…
everything!


Welcome to OWASP
Do Passwords Better
Because passwords can be less annoying
Passfault Beta
Please join the OWASP community in creating a stable passfault release. If you have
problems, comments, or suggestions, please join the mailing list.
Please indicate how you would like to use passfault in your systems:
- Web Service:
- Run passfault as a JSON service
- Java Web Site:
- Run passfault within your web-site, accessible as a library
- Workstations:
- Run passfault on Windows or Unix workstations
- Browser Only:
- Run passfault in your web-page, running on the browser
- Other:
- Let us know if you would like to run passfault in some other way


Hello, Code School!
What I want to learn at Code School:
To improve the art of website creation.
Find new interests and understand them.
Become a better programmer.
Find my own way in the IT world.
My skills:
- teachable
- hardworking
- optimistic
- desire to be successful
- autodidact


I like apple and oranges.


Welcome to your Fajr Clock !
{message}
Wifi Setup
Wifi
Wifi SSID
{networks}
Wifi Password
Back to main page


Science Gateway
An Introduction
* * *
Qiyang Hu
UCLA Institute for Digital Research and Education
What is it?
Science Gateway refers to a web or mobile-based application enabling access to advanced technology cyberinfrastructures.
User-friendly interface
connecting from people to resources, and from people to people
“Science” in a broader sense
-
H ard Science
physics, chemistry, biology... -
S oft Science
economics, digital humanities, ... -
C itizen Science
based on volunteers' input -
Research
faculty, researchers, ... -
Education
instructors, students -
Code Development
programmers
Why Science Gateway?
-
Lower the access barrier
User-friendly interface, an integrated SDK to pack the computer technology service
-
An opportunity to share and collaborate
Data and code shared among the groups as a hub of related communities
Science Gateway Examples
eBird
a science gateway example
A web portal for birdwatchers of all levels to record their avian sightings and upload them for future use by scientists.
- Website: www.ebird.org
- Host: The Cornell lab of ornithology
- Impact: observ. from < 200K (mid 2005) to >4M (2013)
eBird Inside
Connects bird watchers to bird scientists
- An interactive database as a core with a human/computer learning network
- Machine learning to improve incoming data quality
- Artificial Intelligence also used for data analyses
- An active learning feedback loop formed to improve the entire system.
nanoHub
another science gateway example
A computational nanotechnology website for nano scientist to run simulations for their research and educational activities.
- Website: nanohub.org
- Host: Purdue University
- Impact: 1.5M users, 500+ sim tools, 5500+ resources
Nanohub Inside
Hubzero with Rappture toolkit is the engine
- Web server is written by PHP
- Users access interactive, graphical tools via an applet in their Web browser.
- Jobs can be dispatched to the national Grid infrastructure resources.
COSMIC2
a "young" science gateway example
A web-based platform for structural biologists to determine macromolecular structures using cryo-electron microscopy (cryo-EM)
- Website: cosmic-cryoem.org
- Host: University of Michigan, SDSC
- Highlights: Handle 10-30 terabytes of data transfer
COSMIC2 Inside
Globus transfer with CIPRES Workbench
- A user first uploads data and, can either use Globus Transfer or the browser.
- The user then creates an analysis task and submit the task to HPC.
- When the job is done, the user can view and download the output results.
- The user can perform simple management steps on their data, tasks, and jobs.
From these examples
What Science Gateway Can Do
-
User-friendly Interface
easy to access, use, understand -
Quality Control of Input
knowledge base to inference -
Computation
HPC, HTC, Grid, Cloud -
Collaboration
the hub to share model and data -
Data Visualization
JS plots, Matplotlib, Jupter ... -
Data Storage
centralized or distributed
Technical Review
How to build a science gateway?
focus on the web-based type
The beginning idea was simple.
Then, the grid computing
Most modern gateways are like this:
Our PICKSC gateway as an example
Who do the work?
gateway developer to fill the gap
Science Gateway Building Blocks
from gateway developers' view
-
User Management
- Authorization & Authentication
- Groups and roles
- User storage space
-
Data Input
- Graphical UI
- Knowledge base
- Validation
-
Job Management
via the middleware APIs (e.g. file transfer, job submission, monitoring status, etc.)
-
Post-processing
- Data retrieval
- Visualizing the data
- Workflow
Rivals in Middleware Platforms
- Apache Airavata from Indiana University
- The Agave Platform from TACC
- Hubzero from Purdue University
- gUSE most active in Europe
- Globus specific for data transfer
- CIPRES specific to XSEDE resource
- CitSci from Colorado University
- Zooniverse run by Citizen Science Alliance
Most middleware platforms always provide their own portal systems.
User Management
PICKSC gateway use Google OAuth2
Our new gateway will use CILogon Service
Data Input
Smart Interface based on XML
XML and Namelist files
under protected
folder
-
provide public input templatescommon
folder -
User storage spaceuserdata
folder -
Each code with own XML and problems
can handle multiple namelist sections
Input parameter validation
-
Rules defined in XML
by<validation> <rule>
tags -
Chart plot
Jquery-basedFlot
library -
LaTeX in HTML
byMathJax
Job Management
Airavata vs. Agave
Commons
-
Open source
support both cloud and house-owned hosts -
Blackbox
to gateway, similar internal function modules -
APIs
multiple language SDKs -
Funding
good NSF support for years -
Not good at
no support for the individual resource configurations, yet.
And the winner is ... Agave
as our choice
| Airavata | Agave | |
|---|---|---|
| API Interface | Thrift-based | RESTful |
| Adding resources | Have to do it through service hosts | Can add by users |
| Job status monitor | Only through notification email | Handled by Agave service itself |
| Job failure tolerance | Experience submission failures occasionally in Comet | Auto resubmit for a couple of times |
| Job deletion | Can only delete the created-but-not-submitted jobs | Can delete any queued jobs |
| File transport protocol | Only SSH/STP proves working well so far | Support multiple protocols |
| Job scheduler support | Have critical problem in modifying the queue and parallel env since the template is hosted for all of the resources | Only need a specific queue, other aspects can be circumvented |
| Tech support | Less responsive, many features are claimed but not available | Always immediate respond through Slack, much fewer to-be-done answers |
Current Agave Setup
-
use public tenant
hosted by TACC but private used for PICKSC -
call CLI commands
very thin and stablecurl
wrappers -
use my Comet account
XSEDE startup allocation (50K SUs)
Post-processing
Data retrieval and visualization
-
results' folder
gateway only stores the metadata of jobs -
file transferred by Agave
only for the clicked data files -
from Frank's hdf5 reader andhdf5
online viewmpld3
On-going and planning
A new generalized science gateway on the road
-
Based on Laravel framework
PHP-based, to make web development more robust, secure and maintainable.
-
Encapsulated in docker image
as a private repo in docker hub, for better portability and security.
-
CILogon service
for multiple international research and scholarship Service Provider in the InCommon and eduGAIN
-
Agave Sandbox tenant
new public tenant hosted by the Agave creators, separated from TACC tenant, possible to create our own tenant for UCLA campus uses.
Exploring Campus Interests
-
classes
during Fall and Spring quarters -
personal interviews
according to survey results -
workshops
technical, hands-on, half-day length
Brainstorming
Ideas on how IDRE can have better supports on Science Gateway at UCLA
A centralized gateway?
A UCLA Agave tenant can be established and shared by multiple projects. IDRE will be gateway developers. Input parts have to be customizable by data readers and writers.
* * *
Marry Agave with Jupyter?
We can combine Jupyter's data exploration ability and Agave's job management. Also the binder-type Jupyter hub can be used in web for post-processing.
IDRE gateway as a template?
Indivual projects will develop their own gateway based on the IDRE gateway. IDRE will collaborate and leverage the technical expertise and experience to research groups.
* * *
Blue ocean in Citizen Science?
Web application always has bigger advantage for connecting people to people. More opportunities and bigger markets might await to be explored.


--- layout: post title: Empathic painting date: 2006-08-04 00:00:00 categories: digital-media interfaces-&-interaction ---
Via JackJack, Empathic painting: "The result is a digital canvas capable of smoothly varying its painterly style at approximately 4 frames per second, providing a novel user interactive experience using only commodity hardware."


Uses of Class
com.jme.bullet.collision.shapes.CollisionShape
-
-
Uses of CollisionShape in com.jme.bullet
Methods in com.jme.bullet with parameters of type CollisionShape Modifier and Type Method Description java.util.List<PhysicsSweepTestResult>
PhysicsSpace. sweepTest(CollisionShape shape, com.jme.math.Transform start, com.jme.math.Transform end)
Perform a sweep-collision test and return the results as a new list.java.util.List<PhysicsSweepTestResult>
PhysicsSpace. sweepTest(CollisionShape shape, com.jme.math.Transform start, com.jme.math.Transform end, java.util.List<PhysicsSweepTestResult> results)
Perform a sweep-collision test and store the results in an existing list.java.util.List<PhysicsSweepTestResult>
PhysicsSpace. sweepTest(CollisionShape shape, com.jme.math.Transform start, com.jme.math.Transform end, java.util.List<PhysicsSweepTestResult> results, float allowedCcdPenetration)
Perform a sweep-collision test and store the results in an existing list. -
Uses of CollisionShape in com.jme.bullet.collision
Fields in com.jme.bullet.collision declared as CollisionShape Modifier and Type Field Description protected CollisionShape
PhysicsCollisionObject. collisionShape
shape associated with this object (not null)Methods in com.jme.bullet.collision that return CollisionShape Modifier and Type Method Description CollisionShape
PhysicsCollisionObject. getCollisionShape()
Access the shape of this physics object.Methods in com.jme.bullet.collision with parameters of type CollisionShape Modifier and Type Method Description void
PhysicsCollisionObject. setCollisionShape(CollisionShape collisionShape)
Apply the specified CollisionShape to this object. -
Uses of CollisionShape in com.jme.bullet.collision.shapes
Subclasses of CollisionShape in com.jme.bullet.collision.shapes Modifier and Type Class Description class
BoxCollisionShape
A rectangular-solid collision shape based on Bullet's btBoxShape.class
CapsuleCollisionShape
A capsule collision shape based on Bullet's btCapsuleShapeX, btCapsuleShape, or btCapsuleShapeZ.class
CompoundCollisionShape
A collision shape formed by combining convex child shapes, based on Bullet's btCompoundShape.class
ConeCollisionShape
A conical collision shape based on Bullet's btConeShapeX, btConeShape, or btConeShapeZ.class
CylinderCollisionShape
A cylindrical collision shape based on Bullet's btCylinderShapeX, new btCylinderShape, or btCylinderShapeZ.class
GImpactCollisionShape
A mesh collision shape based on Bullet's btGImpactMeshShape.class
HeightfieldCollisionShape
A terrain collision shape based on Bullet's btHeightfieldTerrainShape.class
HullCollisionShape
A convex hull collision shape based on Bullet's btConvexHullShape.class
MeshCollisionShape
A mesh collision shape based on Bullet's btBvhTriangleMeshShape.class
PlaneCollisionShape
A planar collision shape based on Bullet's btStaticPlaneShape.class
SimplexCollisionShape
A simple point, line-segment, triangle, or tetrahedron collision shape based on Bullet's btBU_Simplex1to4.class
SphereCollisionShape
A spherical collision shape based on Bullet's btSphereShape.Methods in com.jme.bullet.collision.shapes with parameters of type CollisionShape Modifier and Type Method Description void
CompoundCollisionShape. addChildShape(CollisionShape shape, com.jme.math.Vector3f location)
Add a child shape with the specified local translation.void
CompoundCollisionShape. addChildShape(CollisionShape shape, com.jme.math.Vector3f location, com.jme.math.Matrix3f rotation)
Add a child shape with the specified local translation and orientation.void
CompoundCollisionShape. removeChildShape(CollisionShape shape)
Remove a child from this shape. -
Uses of CollisionShape in com.jme.bullet.collision.shapes.infos
Fields in com.jme.bullet.collision.shapes.infos declared as CollisionShape Modifier and Type Field Description CollisionShape
ChildCollisionShape. shape
base shape (not null, not a compound shape)Constructors in com.jme.bullet.collision.shapes.infos with parameters of type CollisionShape Constructor Description ChildCollisionShape(com.jme.math.Vector3f location, com.jme.math.Matrix3f rotation, CollisionShape shape)
Instantiate a child shape for use in a compound shape. -
Uses of CollisionShape in com.jme.bullet.control
Methods in com.jme.bullet.control that return CollisionShape Modifier and Type Method Description protected CollisionShape
BetterCharacterControl. getShape()
Create a collision shape based on the scale parameter.Constructors in com.jme.bullet.control with parameters of type CollisionShape Constructor Description CharacterControl(CollisionShape shape, float stepHeight)
GhostControl(CollisionShape shape)
Instantiate an enabled control with the specified shape.RigidBodyControl(CollisionShape shape)
Instantiate an enabled control with mass=1 and the specified collision shape.RigidBodyControl(CollisionShape shape, float mass)
Instantiate an enabled control with the specified collision shape and mass.VehicleControl(CollisionShape shape)
Instantiate an enabled control with mass=1 and the specified collision shape.VehicleControl(CollisionShape shape, float mass)
Instantiate an enabled with the specified collision shape and mass. -
Uses of CollisionShape in com.jme.bullet.debug
Fields in com.jme.bullet.debug declared as CollisionShape Modifier and Type Field Description protected CollisionShape
BulletCharacterDebugControl. myShape
shape for which geom was generatedprotected CollisionShape
BulletGhostObjectDebugControl. myShape
shape for which geom was generated (not null)protected CollisionShape
BulletRigidBodyDebugControl. myShape
shape for which geom was generated (not null) -
Uses of CollisionShape in com.jme.bullet.objects
Methods in com.jme.bullet.objects with parameters of type CollisionShape Modifier and Type Method Description void
PhysicsCharacter. setCollisionShape(CollisionShape collisionShape)
Apply the specified CollisionShape to this character.void
PhysicsGhostObject. setCollisionShape(CollisionShape collisionShape)
Apply the specified CollisionShape to this object.void
PhysicsRigidBody. setCollisionShape(CollisionShape collisionShape)
Apply the specified CollisionShape to this body.Constructors in com.jme.bullet.objects with parameters of type CollisionShape Constructor Description PhysicsCharacter(CollisionShape shape, float stepHeight)
Instantiate a character with the specified collision shape and step height.PhysicsGhostObject(CollisionShape shape)
Instantiate an object with the specified collision shape.PhysicsGhostObject(com.jme.scene.Spatial child, CollisionShape shape)
PhysicsRigidBody(CollisionShape shape)
Instantiate a dynamic body with mass=1 and the specified collision shape.PhysicsRigidBody(CollisionShape shape, float mass)
Instantiate a body with the specified collision shape and mass.PhysicsVehicle(CollisionShape shape)
Instantiate a vehicle with the specified collision shape and mass=1.PhysicsVehicle(CollisionShape shape, float mass)
Instantiate a vehicle with the specified collision shape and mass. -
Uses of CollisionShape in com.jme.bullet.util
Methods in com.jme.bullet.util that return CollisionShape Modifier and Type Method Description static CollisionShape
CollisionShapeFactory. createBoxShape(com.jme.scene.Spatial spatial)
Create a box shape for the given Spatial.static CollisionShape
CollisionShapeFactory. createDynamicMeshShape(com.jme.scene.Spatial spatial)
Create a hull shape for the given Spatial.static CollisionShape
CollisionShapeFactory. createMeshShape(com.jme.scene.Spatial spatial)
Create a mesh shape for the given Spatial.Methods in com.jme.bullet.util with parameters of type CollisionShape Modifier and Type Method Description static com.jme.scene.Mesh
DebugShapeFactory. getDebugMesh(CollisionShape shape)
Create a mesh for visualizing the specified shape.static com.jme.scene.Spatial
DebugShapeFactory. getDebugShape(CollisionShape collisionShape)
Create a debug spatial from the specified collision shape.
-


Surf No More
Time Spent Online:
In that time you could have:
Read
pages
from a book
Burned
cal
walking
Wrote
words
in a journal
Saved
%
of your life


TThe radar gun operates by using the Doppler effect. The Doppler Effect is the change in frequency of a wave for an observer moving relative to its source.
Radar Guns have been used to detect the speed of moving objects such as balls and vehicles. They are popular among law-enforcement and sport spectators.


Your productivity and health are of great importance.
Add this bot to your study servers and Kanmani will take care of the rest.
The bot issues notifications to the server members that remind them to drink water, stretch, rest their eyes from their screens. Anonymous venting feature implemented for users to rant in a safe manner.
Kanmani also can fetch memes, motivational quotes, coding tips and productivity tips. With Kanmani in your server, there is never a dull moment when you're trying to be productive.
If you're forgetful and miss out on completing tasks and need a reminder, Kanmani can help you out! On entering the reminder command and specifying the time period after which you want the reminder along with a description, Kanmani will remind you.
Kanmani was implemented using Python. We made use of the discord API. Discord.py allowed us to incorporate the functions we wanteed to. We hosted our website on replit and used Uptime Robot to host the bot.
We also made use of the Reddit API to fetch posts from popular subreddits. We randomised the fetching of posts for new posts at every command. Throughout the process, we gained knowledge about discord, praw, ayncio, discord.py specific attributes and methods etc.
This has been a great learning experience and we will continue implementing more functionalities to the bot.


WHP selection - Mr J Smith - Result
{% set currentClaimantPage = 'selectionTool' %}
{% include "includes/summary_nav.html" %}
WHP referral outcome
Mr J Smith has been referred to the district gatekeeper for WHP selection
Next steps
Check back within a week for the outcome of the gatekeeper allocation
Continue


The HBP Model Validation Service is currently down for maintenance
We expect the service to be back online by 17:00 on January 10th 2020


黒の手番です。41 はどう動かしますか？
4-6:25pt
pips Black=161 White=160
(CorrectAnswer= 0/0, ErrorScore= 0)
1. 13/8 eq:+0.139 52.66% (G:15.48% B:0.54%) 47.34% (G:12.58% B:0.59%) 2. 8/3* eq:+0.028 (-0.111) 49.93% (G:16.67% B:0.68%) 50.07% (G:15.31% B:1.08%) 3. 6/1* eq:+0.027 (-0.112) 49.83% (G:15.07% B:0.50%) 50.17% (G:14.42% B:0.77%) 4. 13/9 6/5 eq:+0.024 (-0.115) 50.57% (G:15.52% B:0.65%) 49.43% (G:15.87% B:1.25%) 5. 24/23 24/20 eq:+0.093 (-0.045) 51.84% (G:12.83% B:0.45%) 48.16% (G:11.28% B:0.38%)


Team Profile
Evan
🛠 Engineer
ID: 1
Email Address:
<EMAIL_ADDRESS>GitHub:
desalubrious
Tom
☕ Manager
ID: 2
Email Address:
<EMAIL_ADDRESS>Office Number: 1
Taylor
✍ Intern
ID: 3
Email Address:
<EMAIL_ADDRESS>School: DU


Wrapper object around sexps returned from ripper.
Stateful flag used to determine whether we are currently parsing an anonymous class. See container_label.
# File lib/cane/abc_check.rb, line 67 def initialize(*args) super self.anon_method_add = true end
# File lib/cane/abc_check.rb, line 72 def violations process_ast(sexps). select {|nesting, complexity| complexity > max_allowed_complexity }. map {|x| { file: file_name, label: x.first, value: x.last, description: "Methods exceeded maximum allowed ABC complexity" }} end
# File lib/cane/abc_check.rb, line 149 def assignment_nodes [:assign, :opassign] end
# File lib/cane/abc_check.rb, line 161 def branch_nodes [:call, :fcall, :brace_block, :do_block] end
# File lib/cane/abc_check.rb, line 108 def calculate_abc(method_node) a = count_nodes(method_node, assignment_nodes) b = count_nodes(method_node, branch_nodes) + 1 c = count_nodes(method_node, condition_nodes) abc = Math.sqrt(a**2 + b**2 + c**2).round abc end
# File lib/cane/abc_check.rb, line 165 def condition_nodes [:==, :===, :"<>", :"<=", :">=", :"=~", :>, :<, :else, :"<=>"] end
# File lib/cane/abc_check.rb, line 116 def container_label(node) if container_nodes.include?(node[0]) # def foo, def self.foo node[1][-1][1] elsif node[0] == :method_add_block if anon_method_add # Class.new do ... "(anon)" else # MyClass = Class.new do ... # parent already added when processing a parent node anon_method_add = true nil end elsif node[0] == :assign && node[2][0] == :method_add_block # MyClass = Class.new do ... self.anon_method_add = false node[1][-1][1] end end
# File lib/cane/abc_check.rb, line 157 def container_nodes [:class, :module] end
# File lib/cane/abc_check.rb, line 145 def count_nodes(node, types) node.flatten.select {|n| types.include?(n) }.length end
# File lib/cane/abc_check.rb, line 193 def exclusions opts.fetch(:abc_exclude, []).flatten.to_set end
# File lib/cane/abc_check.rb, line 181 def file_names Dir[opts.fetch(:abc_glob)] end
# File lib/cane/abc_check.rb, line 137 def label_for(node) # A default case is deliberately omitted since I know of no way this # could fail and want it to fail fast. node.detect {|x| [:@ident, :@op, :@kw, :@const, :@backtick].include?(x[0]) }[1] end
# File lib/cane/abc_check.rb, line 189 def max_allowed_complexity opts.fetch(:abc_max) end
# File lib/cane/abc_check.rb, line 153 def method_nodes [:def, :defs] end
# File lib/cane/abc_check.rb, line 185 def order(result) result.sort_by {|x| x[:value].to_i }.reverse end
Recursive function to process an AST. The `complexity` variable mutates, which is a bit confusing. `nesting` does not.
# File lib/cane/abc_check.rb, line 91 def process_ast(node, complexity = {}, nesting = []) if method_nodes.include?(node[0]) nesting = nesting + [label_for(node)] desc = method_description(node, *nesting) unless excluded?(desc) complexity[desc] = calculate_abc(node) end elsif parent = container_label(node) nesting = nesting + [parent] end if node.is_a? Array node[1..-1].each {|n| process_ast(n, complexity, nesting) if n } end complexity end
# File lib/cane/abc_check.rb, line 197 def worker Cane.task_runner(opts) end


--- layout: post esbma_id: 1522 date: 2004-05-14 12:00:00 keywords: cornsharp title: HTML Design Guru Bake-Off ---
A couple of days ago, I put out a call for HTML freelancers. The good news is that we received a lot of responses. The bad news is that we received a LOT of responses. We are overwhelmed and are unable to choose between so many capable designers.
We have therefore decided to proceed with a contest. Background and details follow below.
SourceGear is working on a web-based bug-tracking product called Dragnet. This product is basically a port of our existing bug-tracking product to ASP.NET. Dragnet will be released in the late [Illinois] summer timeframe and will support full integration with SourceGear Vault and SourceOffSite. Demos of Dragnet will be shown in the SourceGear booth at Tech-Ed in San Diego.
The zip file attached below to this posting contains several HTML pages, plus their supporting images and a CSS style sheet. In a nutshell, the challenge is to take these pages and make them look great.
One of the submitted entries will be selected as the winner and will be integrated into Dragnet. (Practically speaking, we will "diff" your submitted files against the contents of the original zip file and apply those changes to the ASP.NET scripts.)
Contest rules:
If you plan to submit an entry, please drop me an email. We'd like to start getting a sense for how many entries there will be.
Good luck!
Please note: This product was previously being referred to by its internal code-name, which was "Mantis". Now that the actual product name is decided, that name won't be used anymore, except for residual traces left in the zip file containing the contest materials. Our apologies for any confusion caused with respect to the open source bug-tracking tool by that name.
| mantis_contest.zip | 54 KB |


HTML Quiz
Test your knowledge in
HTML fundamentals
You still didn't answer all the qustions.
CSS TEST


Pick as many toppings as you want. Each topping adds the listed price.
Veggies and Cheese are all $1 each
Meats are all $2 each:
The total price of your pizza is $ all prices include $2 graduity


The value of a variable (local or global variable, local or global parameter) may be referred to
using the construct $name
, where name is the variable name.
The variable is always evaluated at the textual place where the expression containing it appears;
for example a variable used within an xsl:attribute-set
must be in scope at the point where the
attribute-set is defined, not the point where it is used.
A variable may take a value of any data type, and in general it is not possible to determine its data type statically.
It is an error to refer to a variable that has not been declared.
Starting with XPath 2.0, variables (known as range variables) may be declared within
an XPath expression, not only using xsl:variable
elements in the stylesheet. The
expressions that declare variables are the for
, some
, and every
expressions.


Class DiametricDimension
Represents a diametric dimension EntityObject.
Inherited Members
Namespace: netDxf.Entities
Assembly: CADability.dll
Syntax
public class DiametricDimension : Dimension, IHasXData, ICloneable
Constructors
| Improve this Doc View SourceDiametricDimension()
Initializes a new instance of the DiametricDimension
class.
Declaration
public DiametricDimension()
DiametricDimension(Arc, Double)
Initializes a new instance of the DiametricDimension
class.
Declaration
public DiametricDimension(Arc arc, double rotation)
Parameters
| Type | Name | Description |
|---|---|---|
| Arc | arc | Arc to measure. |
| System.Double | rotation | Rotation in degrees of the dimension line. |
Remarks
The center point and the definition point define the distance to be measure.
DiametricDimension(Arc, Double, DimensionStyle)
Initializes a new instance of the DiametricDimension
class.
Declaration
public DiametricDimension(Arc arc, double rotation, DimensionStyle style)
Parameters
| Type | Name | Description |
|---|---|---|
| Arc | arc | Arc to measure. |
| System.Double | rotation | Rotation in degrees of the dimension line. |
| DimensionStyle | style | The DimensionStyle to use with the dimension. |
Remarks
The center point and the definition point define the distance to be measure.
DiametricDimension(Circle, Double)
Initializes a new instance of the DiametricDimension
class.
Declaration
public DiametricDimension(Circle circle, double rotation)
Parameters
| Type | Name | Description |
|---|---|---|
| Circle | circle | Circle to measure. |
| System.Double | rotation | Rotation in degrees of the dimension line. |
Remarks
The center point and the definition point define the distance to be measure.
DiametricDimension(Circle, Double, DimensionStyle)
Initializes a new instance of the DiametricDimension
class.
Declaration
public DiametricDimension(Circle circle, double rotation, DimensionStyle style)
Parameters
| Type | Name | Description |
|---|---|---|
| Circle | circle | Circle to measure. |
| System.Double | rotation | Rotation in degrees of the dimension line. |
| DimensionStyle | style | The DimensionStyle to use with the dimension. |
Remarks
The center point and the definition point define the distance to be measure.
DiametricDimension(Vector2, Vector2)
Initializes a new instance of the DiametricDimension
class.
Declaration
public DiametricDimension(Vector2 centerPoint, Vector2 referencePoint)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector2 | centerPoint | Center Vector2 of the circumference. |
| Vector2 | referencePoint | Vector2 on circle or arc. |
Remarks
The center point and the definition point define the distance to be measure.
DiametricDimension(Vector2, Vector2, DimensionStyle)
Initializes a new instance of the DiametricDimension
class.
Declaration
public DiametricDimension(Vector2 centerPoint, Vector2 referencePoint, DimensionStyle style)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector2 | centerPoint | Center Vector2 of the circumference. |
| Vector2 | referencePoint | Vector2 on circle or arc. |
| DimensionStyle | style | The DimensionStyle to use with the dimension. |
Remarks
The center point and the definition point define the distance to be measure.
Properties
| Improve this Doc View SourceCenterPoint
Gets or sets the center Vector2 of the circumference in OCS (object coordinate system).
Declaration
public Vector2 CenterPoint { get; set; }
Property Value
| Type | Description |
|---|---|
| Vector2 |
Measurement
Actual measurement.
Declaration
public override double Measurement { get; }
Property Value
| Type | Description |
|---|---|
| System.Double |
Overrides
| Improve this Doc View SourceReferencePoint
Gets or sets the Vector2 on circumference or arc in OCS (object coordinate system).
Declaration
public Vector2 ReferencePoint { get; set; }
Property Value
| Type | Description |
|---|---|
| Vector2 |
Methods
| Improve this Doc View SourceBuildBlock(String)
Gets the block that contains the entities that make up the dimension picture.
Declaration
protected override Block BuildBlock(string name)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | Name to be assigned to the generated block. |
Returns
| Type | Description |
|---|---|
| Block | The block that represents the actual dimension. |
Overrides
| Improve this Doc View SourceCalculateReferencePoints()
Calculate the dimension reference points.
Declaration
protected override void CalculateReferencePoints()
Overrides
| Improve this Doc View SourceClone()
Creates a new DiametricDimension that is a copy of the current instance.
Declaration
public override object Clone()
Returns
| Type | Description |
|---|---|
| System.Object | A new DiametricDimension that is a copy of this instance. |
Overrides
| Improve this Doc View SourceSetDimensionLinePosition(Vector2)
Calculates the reference point and dimension offset from a point along the dimension line.
Declaration
public void SetDimensionLinePosition(Vector2 point)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector2 | point | Point along the dimension line. |
TransformBy(Matrix3, Vector3)
Moves, scales, and/or rotates the current entity given a 3x3 transformation matrix and a translation vector.
Declaration
public override void TransformBy(Matrix3 transformation, Vector3 translation)
Parameters
| Type | Name | Description |
|---|---|---|
| Matrix3 | transformation | Transformation matrix. |
| Vector3 | translation | Translation vector. |
Overrides
Remarks
Non-uniform and zero scaling local to the dimension entity are not supported.
The transformation will not be applied if the resulting center and reference points are the same.
Matrix3 adopts the convention of using column vectors to represent a transformation matrix.


This package contains basic mathematical operations on Boolean signals.
The new features are:
| Name | Description |
|---|---|
| MultiSwitch | Set Boolean expression that is associated with the first active input signal |
| And | Logical 'and': y = u[1] and u[2] and ... and u[nu] |
| Or | Logical 'or': y = u[1] or u[2] or ... or u[nu] |
| Xor | Logical 'xor': y = oneTrue(u) (y is true, if exactly one element of u is true, otherwise it is false) |
| Nand | Logical 'nand': y = not ( u[1] and u[2] and ... and u[nu] ) |
| Nor | Logical 'nor': y = not ( u[1] or u[2] or ... or u[nu] ) |
| Not | Logical 'not': y = not u |
| RisingEdge | Output y is true, if the input u has a rising edge, otherwise it is false (y = edge(u)) |
| FallingEdge | Output y is true, if the input u has a falling edge, otherwise it is false (y = edge(not u)) |
| ChangingEdge | Output y is true, if the input u has either a rising or a falling edge and otherwise it is false (y=change(u)) |
| OnDelay | Delay a rising edge of the input, but do not delay a falling edge. |


All Files (75.69% covered at 1.16 hits/line)
24 files in total.
181 relevant lines.
137 lines covered and
44 lines missed
- 1
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
- 1
protect_from_forgery with: :exception
end
- 1
class GamesController < ApplicationController
- 1
def show
- 1
@game = Game.find(params[:id])
- 1
@player = Player.where(id: (params[:player]))[0]
end
- 1
def create
@game = Game.new(style: params[:button])
player = Player.where(name: (params[:player]))
@player = player[0]
if @game.save
redirect_to game_path(@game, player: @player)
else
render :new
end
end
end
- 1
module ApplicationHelper
end
- 1
class Answer < ActiveRecord::Base
end
- 1
class Game < ActiveRecord::Base
- 1
attr_accessor :style
- 1
require 'random_word_generator'
- 1
has_many :guesses
- 1
before_save :generate_answer
- 1
def split_answer_to_letters
- 2
letters_array = []
- 2
words = self.answer.upcase.split(" ")
- 2
words.each do |word|
- 2
letters = word.split("")
- 2
letters.each do |letter|
- 17
letters_array.push(letter)
end
- 2
letters_array.push(" ")
end
- 2
return letters_array
end
- 1
def dead?
- 1
wrong_answers = 0
- 1
self.guesses.each do |guess|
- 6
if guess.in_answer? == false
- 6
wrong_answers += 1
end
end
- 1
if wrong_answers < 6
return false
- 1
elsif wrong_answers > 5 && (self.guesses.last.in_answer? == false)
- 1
return true
end
end
- 1
def display_answer
if self.dead? == false
answer_array = []
correct_guesses_array = []
self.guesses.each do |guess|
if guess.in_answer?
correct_guesses_array.push(guess.letter)
end
end
self.split_answer_to_letters.each do |letter|
if letter != ' ' && letter != '-'
if correct_guesses_array.include?(letter)
answer_array.push(letter)
else
answer_array.push("[_]")
end
elsif letter == '-'
answer_array.push('-')
elsif letter == ' '
answer_array.push(' ')
else
3.times do
answer_array.push(' ')
end
end
end
return answer_array
else
return self.answer
end
end
- 1
def won?
display = self.display_answer
if (self.dead? == false) && (display.exclude?('[_]'))
return true
else
return false
end
end
- 1
private
- 1
def generate_answer
#if the user chooses 'street smart' it generates a country name
- 4
if self.style == 'street'
answer_text = Faker::Address.country
Answer.create(text: answer_text)
self.answer = Answer.last.text
else
#if the user chooses 'book smart' it generates a dictionary word
- 4
answer_text = RandomWordGenerator.word
- 4
Answer.create(text: answer_text)
- 4
self.answer = Answer.last.text
end
end
end
- 1
class Guess < ActiveRecord::Base
- 1
belongs_to :game
- 1
validates_presence_of :letter
- 1
def check_guess
- 1
self.game.split_answer_to_letters.each do |answer_letter|
- 11
if answer_letter == self.letter
- 1
self.update(:in_answer? => true)
end
end
end
end
- 1
class Player < ActiveRecord::Base
- 1
def dead
if self.name == 'Jackie Chan'
return 'Wax on...wax off...'
elsif self.name == 'Harry Potter'
return 'Congratulations, you just ruined millions of childhoods.'
elsif self.name == 'Diana Nyad'
return 'The world has one less amazingly powerful woman. Great job.'
elsif self.name == 'Kanye West'
return 'All the lights....went out.'
elsif self.name == 'Beyonce'
return 'If you liked it, you shoulda put a gravestone on it?'
else
return 'No need for the hemlock.'
end
end
end
- 1
require File.expand_path('../boot', __FILE__)
- 1
require "rails"
# Pick the frameworks you want:
- 1
require "active_model/railtie"
- 1
require "active_job/railtie"
- 1
require "active_record/railtie"
- 1
require "action_controller/railtie"
- 1
require "action_mailer/railtie"
- 1
require "action_view/railtie"
- 1
require "sprockets/railtie"
# require "rails/test_unit/railtie"
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
- 1
Bundler.require(*Rails.groups)
- 1
module RailsProject
- 1
class Application < Rails::Application
# Settings in config/environments/* take precedence over those specified here.
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
# config.time_zone = 'Central Time (US & Canada)'
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
# config.i18n.default_locale = :de
# Do not swallow errors in after_commit/after_rollback callbacks.
- 1
config.active_record.raise_in_transactional_callbacks = true
end
end
- 1
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
- 1
require 'bundler/setup' # Set up gems listed in the Gemfile.
# Load the Rails application.
- 1
require File.expand_path('../application', __FILE__)
# Initialize the Rails application.
- 1
Rails.application.initialize!
- 1
Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb.
# The test environment is used exclusively to run your application's
# test suite. You never need to work with it otherwise. Remember that
# your test database is "scratch space" for the test suite and is wiped
# and recreated between test runs. Don't rely on the data there!
- 1
config.cache_classes = true
# Do not eager load code on boot. This avoids loading your whole application
# just for the purpose of running a single test. If you are using a tool that
# preloads Rails for running tests, you may have to set it to true.
- 1
config.eager_load = false
# Configure static file server for tests with Cache-Control for performance.
- 1
config.serve_static_files = true
- 1
config.static_cache_control = 'public, max-age=3600'
# Show full error reports and disable caching.
- 1
config.consider_all_requests_local = true
- 1
config.action_controller.perform_caching = false
# Raise exceptions instead of rendering exception templates.
- 1
config.action_dispatch.show_exceptions = false
# Disable request forgery protection in test environment.
- 1
config.action_controller.allow_forgery_protection = false
# Tell Action Mailer not to deliver emails to the real world.
# The :test delivery method accumulates sent emails in the
# ActionMailer::Base.deliveries array.
- 1
config.action_mailer.delivery_method = :test
# Randomize the order test cases are executed.
- 1
config.active_support.test_order = :random
# Print deprecation notices to the stderr.
- 1
config.active_support.deprecation = :stderr
# Raises error for missing translations
# config.action_view.raise_on_missing_translations = true
end
# Be sure to restart your server when you modify this file.
# Version of your assets, change this if you want to expire all your assets.
- 1
Rails.application.config.assets.version = '1.0'
# Add additional assets to the asset load path
# Rails.application.config.assets.paths << Emoji.images_path
# Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
# Rails.application.config.assets.precompile += %w( search.js )
# Be sure to restart your server when you modify this file.
# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
# Rails.backtrace_cleaner.remove_silencers!
# Be sure to restart your server when you modify this file.
- 1
Rails.application.config.action_dispatch.cookies_serializer = :json
# Be sure to restart your server when you modify this file.
# Configure sensitive parameters which will be filtered from the log file.
- 1
Rails.application.config.filter_parameters += [:password]
# Be sure to restart your server when you modify this file.
# Add new inflection rules using the following format. Inflections
# are locale specific, and you may define rules for as many different
# locales as you wish. All of these examples are active by default:
# ActiveSupport::Inflector.inflections(:en) do |inflect|
# inflect.plural /^(ox)$/i, '\1en'
# inflect.singular /^(ox)en/i, '\1'
# inflect.irregular 'person', 'people'
# inflect.uncountable %w( fish sheep )
# end
# These inflection rules are supported but not enabled by default:
# ActiveSupport::Inflector.inflections(:en) do |inflect|
# inflect.acronym 'RESTful'
# end
# Be sure to restart your server when you modify this file.
# Add new mime types for use in respond_to blocks:
# Mime::Type.register "text/richtext", :rtf
# Be sure to restart your server when you modify this file.
- 1
Rails.application.config.session_store :cookie_store, key: '_rails_project_session'
# Be sure to restart your server when you modify this file.
# This file contains settings for ActionController::ParamsWrapper which
# is enabled by default.
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
- 1
ActiveSupport.on_load(:action_controller) do
- 1
wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
end
# To enable root element in JSON for ActiveRecord objects.
# ActiveSupport.on_load(:active_record) do
# self.include_root_in_json = true
# end
- 1
Rails.application.routes.draw do
- 1
root :to => 'home#index'
- 1
resources :games, :except => [:index, :edit, :udpate] do
- 1
resources :guesses, :except => [:edit, :destroy, :update]
end
- 1
resources :players, :only => [:index]
end
- 1
require 'rails_helper'
- 1
describe 'making a guess process' do
- 1
it 'create a guess' do
- 1
game = Game.create(answer: 'abcde', id: 1)
- 1
visit '/games/1'
click_on 'E'
expect(page).to have_content 'E'
end
end
- 1
require 'rails_helper'
- 1
describe Game do
- 2
it { should have_many :guesses }
- 1
it 'should split the answer attribute into an array of letters' do
- 1
test_game = Game.create(answer: 'abcd')
- 1
expect(test_game.split_answer_to_letters()).to(eql(['A', 'B', 'C', 'D', ' ']))
end
- 1
it 'should return true if wrong answers more than 5' do
- 1
test_game = Game.create(answer: 'abcd')
- 1
guess1 = test_game.guesses.new(:letter => 'E')
- 1
guess2 = test_game.guesses.new(:letter => 'F')
- 1
guess3 = test_game.guesses.new(:letter => 'G')
- 1
guess4 = test_game.guesses.new(:letter => 'H')
- 1
guess5 = test_game.guesses.new(:letter => 'I')
- 1
guess6 = test_game.guesses.new(:letter => 'J')
- 1
expect(test_game.dead?).to(be(true))
end
end
- 1
require 'rails_helper'
- 1
describe Guess do
- 2
it { should belong_to :game }
- 2
it { should validate_presence_of :letter }
- 1
it 'check the guess a user inputs to see if it is part of the answer' do
- 1
test_game = Game.create(answer: 'abcd')
- 1
test_guess = test_game.guesses.new(letter: 'A')
- 1
test_guess.check_guess
- 1
expect(test_guess.in_answer?).to(eql(true))
end
end
- 1
ENV['RAILS_ENV'] ||= 'test'
- 1
require File.expand_path('../../config/environment', __FILE__)
- 1
abort("The Rails environment is running in production mode!") if Rails.env.production?
- 1
require 'spec_helper'
- 1
require 'rspec/rails'
- 1
require 'capybara/rails'
- 1
require 'database_cleaner'
- 1
ActiveRecord::Migration.maintain_test_schema!
- 1
RSpec.configure do |config|
- 1
config.fixture_path = "#{::Rails.root}/spec/fixtures"
# config.use_transactional_fixtures = true
- 1
config.before(:suite) do
- 1
DatabaseCleaner.strategy = :truncation
end
- 1
config.around(:each) do |example|
- 7
DatabaseCleaner.cleaning do
- 7
example.run
end
end
- 1
config.infer_spec_type_from_file_location!
end
- 1
Shoulda::Matchers.configure do |config|
- 1
config.integrate do |with|
- 1
with.test_framework :rspec
- 1
with.library :rails
end
end


{% set jam = team.jam %} {% extends "jam/base.html" %} {% from "_formhelpers.html" import form_errors %} {% block content %}
The user will receive an email with a link to the invitation. {% if team.jam.team_limit != 0 %} You can invite {{ team.jam.team_limit - team.number_members_and_invitations}} more users (Team Limit {{ team.jam.team_limit }}).{% endif %}
{% endif %}{% if team.game %} Please go to the game settings page. {% else %} You have to create a game first, then edit it on the game settings page. {% endif %}
Settings made here will be lost unless applied before switching to the game settings.


Much has changed in the industrial marketplace over the past twenty five years. There was a time when you simply got in the car with a dog eared Industrial Guide by your side and rode off in search of smokestacks. Technology first struck with the arrival of the fax machine with its guaranteed to turn black in a day thermal paper. The first cellular bag phones replaced the hotel lobby pay phone as a way to communicate with customers while on the road. Today it’s e-mail and CAD files.
ISO 9000 raised the level of expectations that the manufacturer has for its suppliers. Subsequent quality standards have continued to squeeze the margin for error. The proliferation of lean manufacturing has changed the way that companies view inventory and set up costs. Time to market demands have increased while the time a particular product stays on the market has decreased, changing the way organizations view tooling expense and lead times.
We have lived through this modern renaissance of manufacturing and have thrived by not simply adapting to the changes in our market but by embracing them and understanding their implications to our customer. So if it is a CNC machining job in Orlando, a forging in Ft. Lauderdale, or an investment casting in Jacksonville, we stand ready to provide the part you want, when you want it, at competitive pricing.


This is a cheap Trello clone created to experiment with React, ES6 classes, Browserify, Gulp and various other node modules.


Basic scalable-image-grid Demo
Resize your Browser's window or use the radio-buttons below to observe the scaling and responsive behavior.
Grid Size:
Large
Medium
Small
Image Set:
Landscape
Portrait


[Gecode] Fundamental change of managing the current space
Guido Tack
tack at ps.uni-sb.de
Tue Aug 31 09:17:38 CEST 2004
On Tuesday 31 August 2004 09:10, Gabor Szokoli wrote:
> As of this morning, I beleive to have adapted the automake process and
> the alice binding.
> If build problems persist, let me know.
Please don't commit anything else for the next hour or so. I've got quite a
lot of changes, and the recent check ins really messed up everything here.
I've been chasing conflicts now for half an hour already...
Guido
--
Guido Tack
http://www.ps.uni-sb.de/~tack
More information about the gecode-users
mailing list


ICSBF - Instantiated Classes Should Be Final
This rule recommends to make all instantiated classes final. It checks classes which present in the object model. Classes from search/classpath are ignored.
Wrong
private Class1 attr1 = new Class1();
// something...
}
class Class1 {
// something...
}
Tip: Make all instantiated classes final.
Right
private Class1 attr1 = new Class1();
// something...
}
final class Class1 {
// something...
}


The CCNA is the standard networking certificate. With little or no experience you you still have a good chance at finding employment with a CCNA. Cisco is still king when it comes to networking equipment. They dominate the field and the CCNA is the certificate to obtain if you want to show basic router and switching knowledge. The CCNA is difficult enough to be respected in the industry and Cisco is so common that companies which do not even use Cisco brand equipment will look favorably on a CCNA certificate. Oh, and the pay isn't bad. If you have no idea where to start or what you want to do, but know you want to be a part of the networking world, get your CCNA.
The JNCIA-JUNOS is meant to be the Juniper equivalent of the CCNA. However, anyone who has taken both will tell you that the JNCIA is easier than the CCNA. They cover some of the same subjects such as routing fundamentals and subnetting, but obviously a Juniper certificate is going to also focus on JunOS configuration and troubleshooting. So who should bother with the JNCIA? If you work with Juniper equipment it makes much more sense to get a Juniper certificate. You can always get a Cisco certificate if you end up leaving your current job. Likewise if you have your heart set on a specific job and they use Juniper equipment, then the JNCIA will look impressive on your resume.
Let's be honest, all things being equal, you want to make more money. Is getting a general certificate like the CCNA better than the Juniper specific JNCIA? It depends. Do you have any experience? If you are looking for entry-level work, then go for the CCNA. The simple fact is that Cisco dominates the industry and the IOS commands you learn while studying for your CCNA are going to be in higher demand. Using data from indeed.com, there are currently 367 job listings which specifically mention the JNCIA. Compare that to 9277 jobs which specifically list the CCNA in their postings. There are more than 25 times as many CCNA jobs as JNCIA jobs being listed! If you are entry-level, you need a certificate which will open as many doors as possible.
What about pay? In terms of salary, the JNCIA seems to be the winner. Looking at payscale.com the JNCIA listings average around $10,000 higher than CCNA listings. Because the JNCIA along with Juniper equipment are less common, there is a premium for those who possess JunOS knowledge. If you already have networking experience and are looking for a salary increase more than just an entry-level job, becoming familiar with JunOS through the JNCIA may be a smart step.
There is a range of networking certificates, and deciding which one is most valuable usually depends on where you are in your career. Think about your strongest points, and then look for a certificate which highlights those strengths.


CorrLead Map Demo
Map of Leadership resources covering three major regions; within are 10 points of interest each with suggested trails and off trail exploration.
Map managed using LeafletJS, land map generated with MapGen4.
Area (unit)
Destination (on or off trail)
Map Demos
- First Prototype - square map, first experiment with Leaflet. Tooltips on map.
- Second Prototype - base map generated with different tool, rectangular map.
- Layers - Modification of second prototype, testing using the top right interface to toggle different layers or parts of map, on an off.
Background image: Monochrome version of MediaWiki Commons public domain image "British Columbia 1896".


Scatterer material¶
Built-in material¶
PyMieSim allows you to use the bank of Material to emulate scatterer refracive index which vary as a function of the source wavelength.
To use the Material follow the snippet:
1from PyMieSim.Scatterer import Sphere
2from PyMieSim.Source import PlaneWave
3from PyMieSim import Material
4
5Source = PlaneWave(Wavelength = 450e-9,
6 Polarization = 0,
7 E0 = 1)
8
9Scat = Sphere(Diameter = 800e-9,
10 Source = Source,
11 Material = Material('BK7'))
Generate new material¶
PyMieSim has a toolbox to fetch and load new material data. Using the largest refracitve index bank: refractiveindex.info PyMieSim can directly download and save complex refractive index for a specific material. Doing so the toolbox will save locally the data in the PyMieSim/Data/_Material/data folder and will update the PyMieSim/Meta.json file. Here is what the Meta file look like
1{
2 "remote": {
3 "Aluminium": "https://refractiveindex.info/data_csv.php?datafile=data/main/Al/Rakic.yml",
4 "BK7": "https://refractiveindex.info/data_csv.php?datafile=data/glass/schott/N-BK7.yml",
5 "FusedSilica": "https://refractiveindex.info/data_csv.php?datafile=data/main/SiO2/Malitson.yml",
6 "Silver": "https://refractiveindex.info/data_csv.php?datafile=data/main/Ag/Johnson.yml",
7 "SodaLimeGlass": "https://refractiveindex.info/data_csv.php?datafile=data/glass/misc/soda-lime/Rubin-clear.yml",
8 "BorosilicateCrown": "https://refractiveindex.info/data_csv.php?datafile=data/glass/hoya/BSC7.yml",
9 "Gold": "https://refractiveindex.info/data_csv.php?datafile=data/main/Au/Johnson.yml",
10 "Air": "https://refractiveindex.info/data_csv.php?datafile=data/other/mixed%20gases/air/Ciddor.yml"
11 },
12 "local": {
13 "Aluminium": "Aluminium.npz",
14 "BK7": "BK7.npz",
15 "FusedSilica": "FusedSilica.npz",
16 "Silver": "Silver.npz",
17 "SodaLimeGlass": "SodaLimeGlass.npz",
18 "BorosilicateCrown": "BorosilicateCrown.npz",
19 "Gold": "Gold.npz",
20 "Air": "Air.npz"
21 }
22}
In order to generate new Material to use with PyMieSim one can use the following snippet
After executing this code a new entry to Meta.json will be added or updated. Afterward the user can use this new material for my computation.
Here is another examples


{% comment %}
Here, we loop through site.data for the current view
to set two variables:
1. this_pages_navbar - a object containing this page's navbar
2. navbars - a list of this site's toplevel navbars sorted by navbar.order
The code is a little roundabout for a few reasons:
- liquid doesn't provide a simple way to create an empty array,
so we just split an empty string.
- liquid stores the navbars (in site.data[version].navbars) as
a list keyed by the filename. We don't really care about the filename
here, so we just need the data field. But, liquid doesn't provide a
simple way to 'iteritems', so we have to manually loop through and access
the 2nd item.
- liquid also has a bug where it truncates after first `.` of a directory
name in _data (i.e. _data/v0.1 will be stored as data.v0). Until that
bug's fixed, we store version data in _data/v0_1 and do a string replace
to find the right data.
{% endcomment %}
{% assign current_page = page.path | replace_first: page.version,"" | split: "/" %}
{% assign current_page = current_page[1] | prepend: "/" %}
{% capture version %}{{ page.version | replace: ".","_" }}{% endcapture %}
{% assign unsorted_navbars = "" | split:"|" %}
{% for navbars_hashmap in site.data[version].navbars %}
{% assign navbar = navbars_hashmap[1] %}
{% assign unsorted_navbars = unsorted_navbars | push: navbar %}
{% assign navbar_size = navbar.path | size %}
{% if current_page == navbar.path %}
{% assign this_pages_navbar = navbar %}
{% endif %}
{% endfor %}
{% assign navbars = unsorted_navbars | sort:"order" %}
{% include head-header.html %}


BY EDWIN JAHIEL
WISE GIRL (1937) Directed by Leigh Jason. Written by Charles Norman & Allan Scott . Photography, J. Peverell Marley. Editing, Jack Hively. Art Direction Van Nest Polglase. Cast :Miriam Hopkins (Susan Fletcher), Ray Milland (John O'Halloran), Walter Abel (Karl) Henry Stephenson ( Mr. Fletcher), Alec Craig (Dermont O'Neil), Guinn 'Big Boy' (Mike Williams), Betty Philson (Joan), Marianna Strelby (Katie), Margaret Dumont (Mrs. Bell-Rivington), Jean De Briac (George), Ivan Lebedeff (Prince Michael), Rafael Storm ( Prince Ivan), et al. An RKO film. 70 minutes.
Miriam Hopkins plays the wealthy society gal who, upon the death of her sister, sets out to find her two orphan nieces, in New York's Bohemia. She tracks them down in Greenwich Village, living with their uncle Ray Milland, a painter. Their abode is one of those houses with a courtyard surrounding the apartments. Expectedly, all kinds of original, artistic types dwell there. All are colorful, impoverished but happy free souls.  Hopkins wants to get an inside view of her nieces' life, so she poses as a poor - indeed broke - woman. Expectedly the kids are darlings and wise for their age. Expectedly they and Miriam bond. Expectedly Milland and Hopkins get sweet on each other.
Less expected are the turns of the plot, with Hopkins getting a job in a restaurant where she throws amorous, posh customers into turmoil,
The film is pure Depression era escapism. Not a great unknown movie to discover but still a pleasant 70 minutes with several moments of charm and comedy, almost screwball though not fully so. The two girls are most cute. They speak French, with a pretty atrocious accent -- but who's surprised. Hollywood was ever sloppy with languages, had a tin ear and never seemed to invest a little money in language-checkers.
The movie's director, Jason Leigh, is far from being high on the directorial totem pole. Nevertheless, he has some nice items to his credit, such as the pleasant musical That Girl from Paris (1936), with Lily Pons (Lucille Ball in the supporting cast), and the screwball mystery The Mad Miss Manton (1938), with Barbara Stanwyck and Henry Fonda.
Wise Girl inevitably brings to mind several films by Frank Capra, notably the next year's You Can't Take It With You (1938; Oscars for Best Film and Best Director) another escapist movie where eccentric, happy, non-materialistic "little people" show the rich a thing or two.
"Le mauvais gout mene au crime"(Stendhal)
Edwin Jahiel's film reviews are at: http://www.prairienet.org/ejahiel/
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews