Accessing ESG Data Through netCDF
It is possible to access Earth Systems Grid (ESG) datasets
from ESG servers through the netCDF API.
This requires building the netCDF library with DAP2 protocol support
using the "--enable-dap" flag to the configure program.
In order to access ESG datasets, however, it is necessary to
register as a user with ESG and to setup your environment
so that proper authentication is established between a netCDF
client program and the ESG data server. Specifically, it
is necessary to use what is called "client-side keys" to
enable this authentication. Normally, when a client accesses
a server in a secure fashion (using "https"), the server
provides an authentication certificate to the client.
With client-side keys, the client must also provide a
certificate to the server so that the server can know with
whom it is communicating.
It is possible to set up the netCDF library to use
client-side keys, although the process is
somewhat complicated. The DAP2 support in netCDF
uses the curl library and it is that underlying library
that must be properly configured.
The key elements for client-side keys requires the constructions of
two "stores" on the client side.
- Keystore - a repository to hold the client side key.
- Truststore - a repository to hold a chain of certificates
that can be used to validate the certificate
sent by the server to the client.
The server actually has a similar set of stores, but the client
need not be concerned with those.
The first step is to obtain authorization from ESG.
Note that this information may evolve over time, and
may be out of date.
This discussion is in terms of BADC ESG. You will need
to substitute the ESG site for BADC in the following.
- Register at http://badc.nerc.ac.uk/register
to obtain access to badc and to obtain an openid,
which will looks something like:
https://ceda.ac.uk/openid/Firstname.Lastname
- Ask BADC for access to whatever datasets are of interest.
- Obtain short term credentials at
http://grid.ncsa.illinois.edu/myproxy/MyProxyLogon/
You will need to download and run the MyProxyLogon
program.
This will create a keyfile in, typically, the directory globus.
The keyfile will have a name similar to this: x509up_u13615
The other elements in ~/.globus are certificates to use in
validating the certificate your client gets from the server.
- Obtain the program source ImportKey.java
from this location: http://www.agentbob.info/agentbob/79-AB.html
(read the whole page, it will help you understand the remaining steps).
You will have to modify the keyfile in the previous step
and then create a keystore and install the key and a certificate.
The commands are these:
openssl pkcs8 -topk8 -nocrypt -in x509up_u13615 -inform PEM -out key.der -outform DER
openssl x509 -in x509up_u13615 -inform PEM -out cert.der -outform DER
java -classpath -Dkeypassword="" -Dkeystore=./ key.der cert.der
Note, the file names "key.der" and "cert.der" can be whatever you choose.
It is probably best to leave the .der extension, though.
Building the truststore is a bit tricky because as provided, the
certificates in "globus" need some massaging. See the script below
for the details. The primary command is this, which is executed for every
certificate, c, in globus. It sticks the certificate into the file
named "truststore"
keytool -trustcacerts -storepass "password" -v -keystore "truststore" -importcert -file "${c}"
The file ".dodsrc" is used to configure curl. This file must
reside either in the current directory or in your home directory.
It has lines of the form
- KEY=VALUE, or
- [http//x.y/]KEY=VALUE
The first form provides a configuration parameter that applies
to all DAP2 accesses. The second form only applies
to accesses to the server at "x.y".
The following keys must be set in ".dodsrc" to support
ESG access.
- HTTP.SSL.VALIDATE=1
- HTTP.COOKIEJAR=.dods_cookies
- HTTP.SSL.CERTIFICATE=esgkeystore
- HTTP.SSL.KEY=esgkeystore
- HTTP.SSL.CAPATH=.globus
For ESG, the HTTP.SSL.CERTIFICATE and HTTP.SSL.KEY
entries should have same value, which is the file path for the
certificate produced by MyProxyLogon. The HTTP.SSL.CAPATH entry
should be the path to the "certificates" directory produced by
MyProxyLogon.
If you are using the Java netCDF client, then you need to add
some parameters to the "java" command. Specifically, add the following
flags.
-Dkeystore="path to keystore file" -Dkeystorepassword="keystore password"
The following script shows in detail how to actually construct the key
and trust stores. It is specific to the format of the globus file
as it was when ESG support was first added. It may have changed
since then, in which case, you will need to seek some help
in fixing this script. It would help if you communicated
what you changed to the author so this document can be updated.
#!/bin/sh -x
KEYSTORE="esgkeystore"
TRUSTSTORE="esgtruststore"
GLOBUS="globus"
TRUSTROOT="certificates"
CERT="x509up_u13615"
TRUSTROOTPATH="$GLOBUS/$TRUSTROOT"
CERTFILE="$GLOBUS/$CERT"
PWD="password"
D="-Dglobus=$GLOBUS"
CCP="bcprov-jdk16-145.jar"
CP="./build:${CCP}"
JAR="myproxy.jar"
# Initialize needed directories
rm -fr build
mkdir build
rm -fr $GLOBUS
mkdir $GLOBUS
rm -f $KEYSTORE
rm -f $TRUSTSTORE
# Compile MyProxyCmd and ImportKey
javac -d ./build -classpath "$CCP" *.java
javac -d ./build ImportKey.java
# Execute MyProxyCmd
java -cp "$CP myproxy.MyProxyCmd
# Build the keystore
openssl pkcs8 -topk8 -nocrypt -in $CERTFILE -inform PEM -out key.der -outform DER
openssl x509 -in $CERTFILE -inform PEM -out cert.der -outform DER
java -Dkeypassword=$PWD -Dkeystore=./${KEYSTORE} -cp ./build ImportKey key.der cert.der
# Clean up the certificates in the globus directory
for c in ${TRUSTROOTPATH}/*.0 ; do
alias=`basename $c .0`
sed -e '0,/---/d' <$c >/tmp/${alias}
echo "-----BEGIN CERTIFICATE-----" >$c
cat /tmp/${alias} >>$c
done
# Build the truststore
for c in ${TRUSTROOTPATH}/*.0 ; do
alias=`basename $c .0`
echo "adding: $TRUSTROOTPATH/${c}"
echo "alias: $alias"
yes | keytool -trustcacerts -storepass "$PWD" -v -keystore ./$TRUSTSTORE -alias $alias -importcert -file "${c}"
done
exit
Version 1.0:
- 10/17/2013 – Initial Release
| Created: | 10/17/2013
|
| Last Revised: | 10/17/2013
|
| Version: | 1.0
|
| Author: | Dennis Heimbigner
|
| Affiliation: | Unidata/UCAR
|
| email: |<EMAIL_ADDRESS>|


|
Cannon Cpp
1.0.0
|
Represents the entire physical world. More...
#include <World.h>
Classes | |
| struct | Profile |
| The Profile of the physics world. More... | |
| struct | WorldOptions |
| The Options of the physics world. More... | |
Public Member Functions | |
| std::vector< Body * > & | bodies () |
| Get All bodies of the world. More... | |
| int | numObjects () const |
| Get number of bodies in the world. More... | |
| ContactMaterial * | getContactMaterial (Material *m1, Material *m2) |
| Get ContactMaterial by two Materials. More... | |
| void | collisionMatrixTick () |
| Store old collision state info. More... | |
| void | addBody (Body *body) |
| Add a rigid body to the simulation. More... | |
| void | removeBody (Body *body) |
| Remove a rigid body from the simulation. More... | |
| Body * | getBody (int index) |
| void | addConstraint (Constraint *c) |
| Add a constraint to the simulation. More... | |
| void | removeConstraint (Constraint *c) |
| Removes a constraint. More... | |
| void | removeAllConstraints () |
| Removes all constraints. More... | |
| int | getConstraintCount () |
| Constraint * | getConstraint (int index) |
| int | getContactMaterialCount () |
| ContactMaterial * | getContactMaterial (int index) |
| bool | rayTest (Vec3 &from, Vec3 &to, RaycastResult *result) |
| Raycast test by raycastclosest. More... | |
| bool | rayTest (Vec3 &from, Vec3 &to, RayCallback *callback) |
| Raycast test by raycastAll. More... | |
| bool | raycastAll (Vec3 &from, Vec3 &to, RayCallback *callback=nullptr, Ray::RayOptions *options=nullptr) |
| Ray cast against all bodies. The provided callback will be executed for each hit with a RaycastResult as single argument. More... | |
| bool | raycastAny (Vec3 &from, Vec3 &to, Ray::RayOptions &options, RaycastResult *result) |
| Ray cast, and stop at the first result. Note that the order is random - but the method is fast. More... | |
| bool | raycastClosest (Vec3 &from, Vec3 &to, Ray::RayOptions &options, RaycastResult *result) |
| Ray cast, and return information of the closest hit. More... | |
| void | addMaterial (Material *m) |
| Adds a material to the World. More... | |
| void | addContactMaterial (ContactMaterial *cmat) |
| Adds a contact material to the World. More... | |
| void | step (real_t dt, real_t timeSinceLastCalled=0.0f, int maxSubSteps=10) |
| Step the physics world forward in time. More... | |
| void | internalStep (real_t dt) |
| The internal step of the the physics world. More... | |
| void | emitTriggeredEvents () |
| Emit the triggered events of the current step. More... | |
| void | emitCollisionEvents () |
| Emit the collision events of the current step. More... | |
| void | clearForces () |
| Clear all forces of all bodies. More... | |
| bool | addSystem (ISystem *sys) |
| Add a system, Currently the only useful system is SPHSystem. More... | |
| bool | removeSystem (ISystem *sys) |
| Remove a system, Currently the only useful system is SPHSystem. More... | |
| ObjectCollisionMatrix & | collisionMatrix () |
| Get the collision matrix. More... | |
| ContactMaterial * | defaultContactMaterial () const |
| Get the default contactMaterial. More... | |
| void | setDefaultContactMaterial (ContactMaterial *value) |
| Set the default contactMaterial. More... | |
| TupleDictionary< ShapePairTuple > & | triggerDic () |
| Get the trigger dictionary. More... | |
| TupleDictionary< ShapePairTuple > & | oldTriggerDic () |
| Get the old trigger dictionary. More... | |
| EventTarget & | dispatcher () |
| Get the event dispatcher of the world. More... | |
| real_t | dt () |
| Get the delta time by one step of the world. More... | |
| Vec3 & | gravity () |
| Get the grivity of the world. More... | |
| std::vector< ContactEquation * > * | contactsResult () |
| Get all contact equations. More... | |
| int | getContactCount () |
| ContactEquation * | getContact (int index) |
| std::vector< FrictionEquation * > * | frictionsResult () |
| Get all friction equations. More... | |
| std::vector< ContactEquation * > * | contactEquationPool () |
| Get the contact equation pool of the world. More... | |
| std::vector< FrictionEquation * > * | frictionEquationPool () |
| Get the friction equation pool of the world. More... | |
| int | id () |
| Get id of the world,. More... | |
| int | genBodyId () |
| Generate a body id. More... | |
| int | genShapeId () |
| Generate a shape id. More... | |
| int | genConstraintId () |
| Generate a constraint id. More... | |
| int | genEquationId () |
| Generate a equation id. More... | |
| int | genContactMaterialId () |
| Generate a contactMaterial id. More... | |
| int | genMaterialId () |
| Generate a material id. More... | |
| BlockAllocator * | get_blockAllocator () |
| Get the block allocator. More... | |
| StackAllocator * | get_stackAllocator () |
| Get the stack allocator. More... | |
Static Public Member Functions | |
| static World * | create (const WorldOptions &options=WorldOptions()) |
| static World * | getCurrent () |
| Get the current physics world. More... | |
Static Public Attributes | |
| static World * | __inst = nullptr |
| static instance of the physics world More... | |
Protected Member Functions | |
| World () | |
| The constructor of the physics world. More... | |
| ~World () | |
| The destructor of the physics world. More... | |
| bool | init (const WorldOptions &options=WorldOptions()) |
| Init the physics world. More... | |
Protected Attributes | |
| BlockAllocator | _blockAllocator |
| The block allocator. More... | |
| StackAllocator | _stackAllocator |
| The stack allocator. More... | |
| Vec3 * | _gravity = nullptr |
| The gravity of the world. More... | |
| real_t | _dt = -1 |
| Currently/last used timestep. Is set to -1 if not available. This value is updated before each internal step, which means that it is "fresh" inside event callbacks. More... | |
| bool | _allowSleep = false |
| Makes bodies go to sleep when they've been inactive, default false. More... | |
| std::vector< ContactEquation * > | _contacts |
| All the current contacts (instances of ContactEquation) in the world. More... | |
| std::vector< FrictionEquation * > | _frictionEquations |
| All the current frictions (instances of FrictionEquation) in the world. More... | |
| TupleDictionary< ShapePairTuple > | _triggerDic |
| All the trigger pairs. More... | |
| TupleDictionary< ShapePairTuple > | _oldTriggerDic |
| All the old trigger pairs. More... | |
| TupleDictionary< ContactListTuple > | _contactListDic |
| All the contact lists. More... | |
| TupleDictionary< ContactTuple > | _oldContactDic |
| All the old contacts. More... | |
| int | _quatNormalizeSkip = 0 |
| How often to normalize quaternions. Set to 0 for every step, 1 for every second etc.. A larger value increases performance. If bodies tend to explode, set to a smaller value (zero to be sure nothing can go wrong). default 0. More... | |
| bool | _quatNormalizeFast = false |
| Set to true to use fast quaternion normalization. It is often enough accurate to use. If bodies tend to explode, set to false. default false. More... | |
| real_t | _time = 0.0 |
| The wall-clock time since simulation start. More... | |
| int | _stepnumber = 0 |
| Number of timesteps taken since start. More... | |
| int | _substeps = 0 |
| Number of substeps in a step simulation. More... | |
| real_t | _default_dt = 1.0 / 60.0 |
| Default and last timestep sizes. More... | |
| real_t | _accumulator = 0.0 |
| Time accumulator for interpolation. See http://gafferongames.com/game-physics/fix-your-timestep/. More... | |
| Material * | _defaultMaterial = nullptr |
| The default material. More... | |
| ContactMaterial * | _defaultContactMaterial = nullptr |
| This contact material is used if no suitable contactmaterial is found for a contact. More... | |
| Broadphase * | _broadphase = nullptr |
| The broadphase algorithm to use. Default is NaiveBroadphase. More... | |
| Narrowphase * | _narrowphase = nullptr |
| The narrowphase to use. More... | |
| Solver * | _solver = nullptr |
| The solver algorithm to use. Default is GSSolver. More... | |
| std::vector< Body * > | _bodies |
| All bodies. More... | |
| std::vector< Constraint * > | _constraints |
| All constraints. More... | |
| std::vector< Material * > | _materials |
| All added materials. More... | |
| std::vector< ContactMaterial * > | _contactmaterials |
| All contactmaterials. More... | |
| std::vector< ISystem * > | _subsystems |
| All subsystems. More... | |
| std::vector< ContactEquation * > | _world_step_oldContacts |
| All the old contact equations. More... | |
| std::vector< ContactEquation * > | _world_step_contactEquationPool |
| Pool for contact equation objects. More... | |
| std::vector< FrictionEquation * > | _world_step_frictionEquationPool |
| Pool for friction equation objects. More... | |
| std::vector< Body * > | _world_step_p1 |
| Reusable array p1 for collision pairs. More... | |
| std::vector< Body * > | _world_step_p2 |
| Reusable array p2 for collision pairs. More... | |
| ObjectCollisionMatrix | _collisionMatrix |
| the object collision matrix More... | |
| ObjectCollisionMatrix | _triggerMatrix |
| the object trigger matrix More... | |
| TupleDictionary< ContactMaterialTuple > | _contactMaterialTable |
| Used to look up a ContactMaterial given two instances of Material. More... | |
| Event | _addBodyEvent |
| Dispatched after a body has been added to the world. More... | |
| Event | _removeBodyEvent |
| Dispatched after a body has been removed from the world. More... | |
| Event | _step_collideEvent |
| Dispatched after two bodies collided, Note that the targetID is the id of the collided body. More... | |
| Event | _triggeredEvent |
| Dispatched after two shapes triggered, Note that the targetID is the id of the triggered shape. More... | |
| Event | _preStepEvent |
| Dispatched before the world steps forward in time. More... | |
| Event | _postStepEvent |
| Dispatched after the world has stepped forward in time. More... | |
| EventTarget * | _dispatcher = nullptr |
| The Event Dispatcher of the world. More... | |
| std::function< int()> | _genBodyId = nullptr |
| The generator of body id. More... | |
| std::function< int()> | _genShapeId = nullptr |
| The generator of shape id. More... | |
| std::function< int()> | _genConstraintId = nullptr |
| The generator of constraint id. More... | |
| std::function< int()> | _genEquationId = nullptr |
| The generator of equation id. More... | |
| std::function< int()> | _genContactMaterialId = nullptr |
| The generator of contactMaterial id. More... | |
| std::function< int()> | _genMaterialId = nullptr |
| The generator of material id. More... | |
Represents the entire physical world.
|
protected |
The constructor of the physics world.
|
protected |
The destructor of the physics world.
| void World::addBody | ( | Body * | body | ) |
Add a rigid body to the simulation.
| body | The rigid body will be added |
| void World::addConstraint | ( | Constraint * | c | ) |
Add a constraint to the simulation.
| c | The constraint will be added |
| void World::addContactMaterial | ( | ContactMaterial * | cmat | ) |
Adds a contact material to the World.
| cmat | A contactMaterial to be added |
| void World::addMaterial | ( | Material * | m | ) |
Adds a material to the World.
| m | A material to be added |
| bool World::addSystem | ( | ISystem * | sys | ) |
Add a system, Currently the only useful system is SPHSystem.
| sys | A system to be added |
|
inline |
Get All bodies of the world.
| void World::clearForces | ( | ) |
Clear all forces of all bodies.
Sets all body forces in the world to zero. @method clearForces
|
inline |
Get the collision matrix.
| void World::collisionMatrixTick | ( | ) |
Store old collision state info.
|
inline |
Get the contact equation pool of the world.
|
inline |
Get all contact equations.
|
static |
|
inline |
Get the default contactMaterial.
|
inline |
Get the event dispatcher of the world.
|
inline |
Get the delta time by one step of the world.
| void World::emitCollisionEvents | ( | ) |
Emit the collision events of the current step.
| void World::emitTriggeredEvents | ( | ) |
Emit the triggered events of the current step.
|
inline |
Get the friction equation pool of the world.
|
inline |
Get all friction equations.
|
inline |
Generate a body id.
|
inline |
Generate a constraint id.
|
inline |
Generate a contactMaterial id.
|
inline |
Generate a equation id.
|
inline |
Generate a material id.
|
inline |
Generate a shape id.
|
inline |
Get the block allocator.
|
inline |
Get the stack allocator.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| ContactMaterial * World::getContactMaterial | ( | Material * | m1, |
| Material * | m2 | ||
| ) |
Get ContactMaterial by two Materials.
|
inline |
|
static |
Get the current physics world.
|
inline |
Get the grivity of the world.
|
inline |
Get id of the world,.
id of the world is fixed to 0, distinguish from the id of other objects
|
protected |
Init the physics world.
| options | The options to init a world |
| void World::internalStep | ( | real_t | dt | ) |
The internal step of the the physics world.
| dt | The fixed time step size to use. |
|
inline |
Get number of bodies in the world.
|
inline |
Get the old trigger dictionary.
| bool World::raycastAll | ( | Vec3 & | from, |
| Vec3 & | to, | ||
| RayCallback * | callback = nullptr , |
||
| Ray::RayOptions * | options = nullptr |
||
| ) |
Ray cast against all bodies. The provided callback will be executed for each hit with a RaycastResult as single argument.
| from | The start point of ray |
| to | The end point of ray |
| callback | The callback will be invoked every time a hit, default is nullptr |
| options | The options of ray, default is nullptr |
| bool World::raycastAny | ( | Vec3 & | from, |
| Vec3 & | to, | ||
| Ray::RayOptions & | options, | ||
| RaycastResult * | result | ||
| ) |
Ray cast, and stop at the first result. Note that the order is random - but the method is fast.
| from | The start point of ray |
| to | The end point of ray |
| options | The options of ray |
| result | A pointer to the raycast result, default is nullptr |
| bool World::raycastClosest | ( | Vec3 & | from, |
| Vec3 & | to, | ||
| Ray::RayOptions & | options, | ||
| RaycastResult * | result | ||
| ) |
Ray cast, and return information of the closest hit.
| from | The start point of ray |
| to | The end point of ray |
| result | A pointer to the raycast result |
| bool World::rayTest | ( | Vec3 & | from, |
| Vec3 & | to, | ||
| RayCallback * | callback | ||
| ) |
Raycast test by raycastAll.
| from | The start point of ray |
| to | The end point of ray |
| callback | The callback will be invoked every time a hit |
| bool World::rayTest | ( | Vec3 & | from, |
| Vec3 & | to, | ||
| RaycastResult * | result | ||
| ) |
Raycast test by raycastclosest.
| from | The start point of ray |
| to | The end point of ray |
| result | A pointer to the raycast result |
| void World::removeAllConstraints | ( | ) |
Removes all constraints.
| void World::removeBody | ( | Body * | body | ) |
Remove a rigid body from the simulation.
| body | The rigid body will be removed |
| void World::removeConstraint | ( | Constraint * | c | ) |
Removes a constraint.
| c | The constraint will be removed |
| bool World::removeSystem | ( | ISystem * | sys | ) |
Remove a system, Currently the only useful system is SPHSystem.
| sys | A system to be removed |
| void World::setDefaultContactMaterial | ( | ContactMaterial * | value | ) |
Set the default contactMaterial.
| value | The value will be set as default |
Step the physics world forward in time.
There are two modes. The simple mode is fixed timestepping without interpolation. In this case you only use the first argument. The second case uses interpolation. In that you also provide the time since the function was last used, as well as the maximum fixed timesteps to take.
| dt | The fixed time step size to use. |
| timeSinceLastCalled | The time elapsed since the function was last called. default is 0 |
| maxSubSteps | Maximum number of fixed steps to take per function call. default is 10 |
Example:
|
inline |
Get the trigger dictionary.
|
static |
static instance of the physics world
|
protected |
Time accumulator for interpolation. See http://gafferongames.com/game-physics/fix-your-timestep/.
|
protected |
Dispatched after a body has been added to the world.
|
protected |
Makes bodies go to sleep when they've been inactive, default false.
|
protected |
The block allocator.
|
protected |
All bodies.
|
protected |
The broadphase algorithm to use. Default is NaiveBroadphase.
|
protected |
the object collision matrix
|
protected |
All constraints.
|
protected |
All the contact lists.
|
protected |
All contactmaterials.
|
protected |
Used to look up a ContactMaterial given two instances of Material.
|
protected |
All the current contacts (instances of ContactEquation) in the world.
|
protected |
Default and last timestep sizes.
|
protected |
This contact material is used if no suitable contactmaterial is found for a contact.
|
protected |
The default material.
|
protected |
The Event Dispatcher of the world.
|
protected |
Currently/last used timestep. Is set to -1 if not available. This value is updated before each internal step, which means that it is "fresh" inside event callbacks.
|
protected |
All the current frictions (instances of FrictionEquation) in the world.
|
protected |
The generator of body id.
|
protected |
The generator of constraint id.
|
protected |
The generator of contactMaterial id.
|
protected |
The generator of equation id.
|
protected |
The generator of material id.
|
protected |
The generator of shape id.
|
protected |
The gravity of the world.
|
protected |
All added materials.
|
protected |
The narrowphase to use.
|
protected |
All the old contacts.
|
protected |
All the old trigger pairs.
|
protected |
Dispatched after the world has stepped forward in time.
|
protected |
Dispatched before the world steps forward in time.
|
protected |
Set to true to use fast quaternion normalization. It is often enough accurate to use. If bodies tend to explode, set to false. default false.
|
protected |
How often to normalize quaternions. Set to 0 for every step, 1 for every second etc.. A larger value increases performance. If bodies tend to explode, set to a smaller value (zero to be sure nothing can go wrong). default 0.
|
protected |
Dispatched after a body has been removed from the world.
|
protected |
The stack allocator.
|
protected |
Dispatched after two bodies collided, Note that the targetID is the id of the collided body.
|
protected |
Number of timesteps taken since start.
|
protected |
Number of substeps in a step simulation.
|
protected |
All subsystems.
|
protected |
The wall-clock time since simulation start.
|
protected |
All the trigger pairs.
|
protected |
Dispatched after two shapes triggered, Note that the targetID is the id of the triggered shape.
|
protected |
the object trigger matrix
|
protected |
Pool for contact equation objects.
|
protected |
Pool for friction equation objects.
|
protected |
All the old contact equations.
|
protected |
Reusable array p1 for collision pairs.
|
protected |
Reusable array p2 for collision pairs.


Your browser does not support HTML5
Complexity (number of strokes)
Stroke curve factor
Stroke continuity


Name must be unique. Use only letters, numbers and underscores with minimum of 3 and maximum of 20 characters.


2 Corinthians 4:10
Always bearing about in the body the dying of the Lord Jesus, that the life also of Jesus might be made manifest in our body.


Redmine:
Redmine is a flexible project management web application, which is used by Infra for task management, where it is(save it):https://pdupc-redmine.mo.sw.ericsson.se/projects/sgsn-infra/issues
Portal:
A site integrates and automates delivery, build, regression and result displaying for SGSN-MME development
CIQ:
A tool helps to automate deliverying for CI process
Shade:
An IDE based on Eclipse with BT-Erl, ClearCase and Erlang plugins for SGSN-MME designers
Tecsas:
A light-weight SGSN-MME simulator which is used by both GTT and Simfast as SUT
T2:
Tecsomaten2 as it's full name, which is a distribution regression system for GTT regressions
Arrakis:
A distribution regression system for TTCN regressions based on Simfast
eXmachina:
A tool detects impacted GTT/TTCN test cases by analysing your Erlang code change, which helps to provide accurate regression scopes
Erietveld:
Code review site used by SGSN-MME developers
Infrabbit Hole:
A central site which keeps track of all tools used within SGSN-MME no matter it's from Infra or program, there you can find new tools or publish your new tools, also a nice place to find correct contact for tools(http://sgsn-services01.mo.sw.ericsson.se:1111/)


For my latest General Assembly> Data Science Immersive project (http://gobbledygoon.com/2018/09/project-3-reddit-predictions/), I wanted to test a whole bunch of different classification models on my data very quickly.
I admit that I have a few organizational "rabbit holes" (I like to think these are GOOD things when it comes to coding):
- Never type anything twice.... Boring.
- If I run it, never run it again..... Waste of time.
- And a few others that show my age(?) -- memory concerns, etc. (Not MY memory -- computer memory!) I hate to not free up memory as soon as possible.
As the data scraping was easy and the feature engineering quite simple (I do know that I could have gone deeper on this). So for me the big challenge was .... how best to manage different models, tune hyperparameters, etc. My initial idea?
Build the world's most amazing pipeline building and grid searching function!
First, I created a dictionary that lists all the pipeline elements. For this project, here's what I started with; I know that it will grow as I learn more about various features and models:
Each entry has a key (a short string) and a value that is a class (a member of a pipeline).
For each class, I have started to include some of the hyperparameters that I might consider tuning:
Of course, as I run the pipeline on a given dataset, I will consider which hyperparameters to adjust.
To pull it all together, we create a pipeline and a parameter dictionary based on the items in items, then call a grid search on these:
There is much left to do to improve this, and I will keep adding to and cleaning it up as I move forward.
The full WIP can be found on my github: Pipeline generalization. I have more work to do on it to truly generalize it, but I have found it quite useful for my own purposes so far ....
Thanks to: How To Embed Code Snippet Using Github Gist Within Blog Posts


Class: JsonapiCompliable::Scoping::Sort
- Defined in:
- lib/jsonapi_compliable/scoping/sort.rb
Overview
Apply sorting logic to the scope.
By default, sorting comes 'for free'. To specify a custom sorting proc:
class PostResource < ApplicationResource
sort do |scope, att, dir|
int = dir == :desc ? -1 : 1
scope.sort_by { |x| x[att] * int }
end
end
The sorting proc will be called once for each sort att/dir requested.
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#apply_custom_scope ⇒ Object
Apply custom scoping proc configured via Resource DSL.
-
#apply_standard_scope ⇒ Object
Apply default scope logic via Resource adapter.
-
#custom_scope ⇒ Proc, Nil
The custom proc specified by Resource DSL.
Methods inherited from Base
Constructor Details
This class inherits a constructor from JsonapiCompliable::Scoping::Base
Instance Method Details
#apply_custom_scope ⇒ Object
Apply custom scoping proc configured via Resource DSL
32 33 34 35 36 37 38 |
# File 'lib/jsonapi_compliable/scoping/sort.rb', line 32 def apply_custom_scope each_sort do |attribute, direction| @scope = custom_scope .call(@scope, attribute, direction, resource.context) end @scope end |
#apply_standard_scope ⇒ Object
Apply default scope logic via Resource adapter
23 24 25 26 27 28 |
# File 'lib/jsonapi_compliable/scoping/sort.rb', line 23 def apply_standard_scope each_sort do |attribute, direction| @scope = resource.adapter.order(@scope, attribute, direction) end @scope end |
#custom_scope ⇒ Proc, Nil
Returns The custom proc specified by Resource DSL
17 18 19 |
# File 'lib/jsonapi_compliable/scoping/sort.rb', line 17 def custom_scope resource.sorting end |


South African homestyle meals at an afforable price.
Credits Per Day 70
R 350
Credits Per Day 55
R 275
Credits Per Day 85
R 425


|
|
namespace B {
class A : System.Attribute {}
}
namespace H {
using B;
class A : System.Attribute {}
[A] class F {}
}
C# compilers choose H.A and if its definition is commented out, B.A. Nemerle compiler scream about ambiguous attribute type, which is clearly the case here.
We are more restrictive here.
class BaseClass
{
public virtual AddItem (val : string) : void { }
}
class TestClass : BaseClass
{
public AddItem (val : object) : void { }
public override AddItem (val : string) : void { }
}
...
TestClass.AddItem ("a"); // C# will choose TestClass.AddItem (object)
// while Nemerle, TestClass.AddItem (string)
This is related to "exclude override" rule, which we found plainly wrong. Nemerle compiler always chooses the best matching member, which is closer to Visual Basic .NET than C#.
|
|
|


Tables
Relationships
Utility Tables
Constraints
Anomalies
Columns
Donate
SchemaSpy Analysis of
rt
- Utility Tables
Generated by
SchemaSpy
Generated by
SchemaSpy
on Tue Oct 23 12:20 UTC 2012
Legend:
Primary key columns
Columns with indexes
Excluded column relationships
Dashed lines show implied relationships
<
n
> number of related tables


|
Panda3D
|
This class generates 2-d "cards", that is, rectangular polygons, particularly useful for showing textures etc. More...
Public Member Functions | |
| __init__ (const CardMaker) | |
| __init__ (str name) | |
| clearSourceGeometry () | |
| Removes the node specified by an earlier call to set_source_geometry(). More... | |
| PandaNode | generate () |
| Generates a GeomNode that renders the specified geometry. More... | |
| reset () | |
| Resets all the parameters to their initial defaults. More... | |
| setColor (const LColor color) | |
| setColor (float r, float g, float b, float a) | |
| Sets the color of the card. More... | |
| setFrame (const LVecBase4 frame) | |
| Sets the size of the card. More... | |
| setFrame (const LVertex ll, const LVertex lr, const LVertex ur, const LVertex ul) | |
| Sets the size of the card. More... | |
| setFrame (float left, float right, float bottom, float top) | |
| Sets the size of the card. More... | |
| setFrameFullscreenQuad () | |
| Sets the card to (-1,1,-1,1), which is appropriate if you plan to parent it to render2d and use it as a fullscreen quad. More... | |
| setHas3dUvs (bool flag) | |
| Sets the flag indicating whether vertices will be generated with 3-component UVW's (true) or 2-component UV's (the default, false). More... | |
| setHasNormals (bool flag) | |
| Sets the flag indicating whether vertices will be generated with normals or not. More... | |
| setHasUvs (bool flag) | |
| Sets the flag indicating whether vertices will be generated with UV's or not. More... | |
| setSourceGeometry (PandaNode node, const LVecBase4 frame) | |
| Sets a node that will be copied (and scaled and translated) to generate the frame, instead of generating a new polygon. More... | |
| setUvRange (const LTexCoord ll, const LTexCoord lr, const LTexCoord ur, const LTexCoord ul) | |
| Sets the range of UV's that will be applied to the vertices. More... | |
| setUvRange (const LTexCoord ll, const LTexCoord ur) | |
| Sets the range of UV's that will be applied to the vertices. More... | |
| setUvRange (const LTexCoord3 ll, const LTexCoord3 lr, const LTexCoord3 ur, const LTexCoord3 ul) | |
| Sets the range of UV's that will be applied to the vertices. More... | |
| setUvRange (const LVector4 x, const LVector4 y, const LVector4 z) | |
| Sets the range of UV's that will be applied to the vertices. More... | |
| setUvRange (const Texture tex) | |
| Sets the range of UV's that will be applied to the vertices appropriately to show the non-pad region of the texture. More... | |
| setUvRangeCube (int face) | |
| Sets the range of UV's that will be applied to the vertices appropriately for a cube-map face. More... | |
| Public Member Functions inherited from Namable | |
| __init__ (const Namable) | |
| __init__ (str initial_name) | |
| clearName () | |
| Resets the Namable's name to empty. More... | |
| str | getName () |
| bool | hasName () |
| Returns true if the Namable has a nonempty name set, false if the name is empty. More... | |
| output (Ostream out) | |
| Outputs the Namable. More... | |
| setName (str name) | |
Additional Inherited Members | |
| Static Public Member Functions inherited from Namable | |
| static TypeHandle | getClassType () |
| Public Attributes inherited from Namable | |
| const String | name |
This class generates 2-d "cards", that is, rectangular polygons, particularly useful for showing textures etc.
in the 2-d scene graph.
| __init__ | ( | const | CardMaker | ) |
| __init__ | ( | str | name | ) |
| clearSourceGeometry | ( | ) |
Removes the node specified by an earlier call to set_source_geometry().
| reset | ( | ) |
Resets all the parameters to their initial defaults.
| setColor | ( | const LColor | color | ) |
| setColor | ( | float | r, |
| float | g, | ||
| float | b, | ||
| float | a | ||
| ) |
Sets the color of the card.
| setFrame | ( | const LVecBase4 | frame | ) |
Sets the size of the card.
Sets the size of the card.
| setFrame | ( | float | left, |
| float | right, | ||
| float | bottom, | ||
| float | top | ||
| ) |
Sets the size of the card.
| setFrameFullscreenQuad | ( | ) |
Sets the card to (-1,1,-1,1), which is appropriate if you plan to parent it to render2d and use it as a fullscreen quad.
| setHas3dUvs | ( | bool | flag | ) |
Sets the flag indicating whether vertices will be generated with 3-component UVW's (true) or 2-component UV's (the default, false).
Normally, this will be implicitly set by setting the uv_range.
| setHasNormals | ( | bool | flag | ) |
Sets the flag indicating whether vertices will be generated with normals or not.
Normals are required if you intend to enable lighting on the card, but are just wasted space and bandwidth otherwise, so there is a (slight) optimization for disabling them. If enabled, the normals will be generated perpendicular to the card's face.
| setHasUvs | ( | bool | flag | ) |
Sets the flag indicating whether vertices will be generated with UV's or not.
Sets a node that will be copied (and scaled and translated) to generate the frame, instead of generating a new polygon.
The node may contain arbitrary geometry that describes a flat polygon contained within the indicated left, right, bottom, top frame.
When generate() is called, the geometry in this node will be scaled and translated appropriately to give it the size and aspect ratio specified by set_frame().
Sets the range of UV's that will be applied to the vertices.
If set_has_uvs() is true (as it is by default), the vertices will be generated with the indicated range of UV's, which will be useful if a texture is applied.
Sets the range of UV's that will be applied to the vertices.
If set_has_uvs() is true (as it is by default), the vertices will be generated with the indicated range of UV's, which will be useful if a texture is applied.
| setUvRange | ( | const LTexCoord3 | ll, |
| const LTexCoord3 | lr, | ||
| const LTexCoord3 | ur, | ||
| const LTexCoord3 | ul | ||
| ) |
Sets the range of UV's that will be applied to the vertices.
If set_has_uvs() is true (as it is by default), the vertices will be generated with the indicated range of UV's, which will be useful if a texture is applied.
Sets the range of UV's that will be applied to the vertices.
If set_has_uvs() is true (as it is by default), the vertices will be generated with the indicated range of UV's, which will be useful if a texture is applied.
| setUvRange | ( | const Texture | tex | ) |
Sets the range of UV's that will be applied to the vertices appropriately to show the non-pad region of the texture.
| setUvRangeCube | ( | int | face | ) |
Sets the range of UV's that will be applied to the vertices appropriately for a cube-map face.


Staff Attendance Register
Coy number
Sap number
Surname
First name
Other name(s)
Gender
-- Select Gender --
Female
Male
Date of birth
Phone number
Employee type
-- Select Employee Type --
Contractor
GFG (Fixed Term)
GFG (Permanent)
Name of Company
Department
-- Select Department --
Section
-- Select Section --
Sec 1
Sec 2
Set 3
Sec 4
Shift
-- Select Shift --
Day
Night
Regular


Comments
-
Greg Hurrell
Thanks for the submission. I've never seen a crash report like this (no backtrace, no binary images description). As such it doesn't really contain any information that I could use to determine the cause of the problem.
Also I don't know exactly what "EXC_BREAKPOINT" means in this context. Perhaps you have some environment variable set that's a breakpoint to be set. My first step in trouble-shooting this one would therefore be trying to reproduce the problem under a different user account.
-
Greg Hurrell
Changing assignment to reflect my new email address.
http://wincent.com/a/news/archives/2006/05/change_of_email.php
-
Greg Hurrell
Received another similar crash report from the same user:
"The update for 10.4.7 has been crashing my OS on the Mac mini G4 1.42 Ghz with 1 GB ram and 3 external drives. I really don't think there's a problem with your code"
But will keep this issue open for investigation anyway.
Add a comment
Comments are now closed for this issue.


< prev index next > modules/javafx.web/src/main/native/Source/ThirdParty/libxml/src/pattern.c
Print this page
/*
- * pattern.c: Implemetation of selectors for nodes
+ * pattern.c: Implementation of selectors for nodes
*
* Reference:
* http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/
* to some extent
* http://www.w3.org/TR/1999/REC-xml-19991116
#define XML_STREAM_STEP_IN_SET 32
/*
* NOTE: Those private flags (XML_STREAM_xxx) are used
* in _xmlStreamCtxt->flag. They extend the public
- * xmlPatternFlags, so be carefull not to interfere with the
+ * xmlPatternFlags, so be careful not to interfere with the
* reserved values for xmlPatternFlags.
*/
#define XML_STREAM_FINAL_IS_ANY_NODE 1<<14
#define XML_STREAM_FROM_ROOT 1<<15
#define XML_STREAM_DESC 1<<16
*
* Free up the memory allocated by @comp
*/
void
xmlFreePattern(xmlPatternPtr comp) {
+ xmlFreePatternList(comp);
+ }
+
+ static void
+ xmlFreePatternInternal(xmlPatternPtr comp) {
xmlStepOpPtr op;
int i;
if (comp == NULL)
return;
- if (comp->next != NULL)
- xmlFreePattern(comp->next);
if (comp->stream != NULL)
xmlFreeStreamComp(comp->stream);
if (comp->pattern != NULL)
xmlFree((xmlChar *)comp->pattern);
if (comp->steps != NULL) {
while (comp != NULL) {
cur = comp;
comp = comp->next;
cur->next = NULL;
- xmlFreePattern(cur);
+ xmlFreePatternInternal(cur);
}
}
/**
* xmlNewPatParserContext:
#if 0
/**
* xmlPatScanLiteral:
* @ctxt: the XPath Parser context
*
- * Parse an XPath Litteral:
+ * Parse an XPath Literal:
*
* [29] Literal ::= '"' [^"]* '"'
* | "'" [^']* "'"
*
* Returns the Literal parsed or NULL
/* loop-stopper */
i = m;
} else {
/*
* If there are "//", then we need to process every "//"
- * occuring in the states, plus any other state for this
+ * occurring in the states, plus any other state for this
* level.
*/
stepNr = stream->states[2 * i];
/* TODO: should not happen anymore: dead states */
< prev index next >


{% extends "upload.html"%} {% block body_content %}
Details: {{sum}}
Serving size: {{serving}} g
Calories: {{calories}} KCal


Slidedeck.io
Brief presentation
There is about a million HTML presentations available on Github.
Github released a new API
SlideDeck.io
Directory (Search engine) of HTML presentation hosted on github.
Lauched yesterday, coded last week-end
We need your feedback !


I'm an aspiring Front End Developer and Copywriter with a keen eye for visual design and a love of the written word. I'm currently studying the 'Break into Tech' course with online coding school Skillcrush and also work full time in the not-for-profit sector. When I'm not working or studying I can be found outdoors on a rock face, or indoors writing, dreaming, reading and gaming. I love to come up with creative projects and ideas!
I was born and raised in the West Midlands. I'm a climber, I love to travel to new places and try out the local crags! Other adventures I've had include snowboarding in Andorra, paddle boarding in Wales and scuba diving in Majorca!
My passion:I love rock climbing and having outdoor adventures with friends!I've been to four other countries to climb outdoors, but hope to visit more. I love anything creative or arts related, and am currently writing my first fantasy novel 'Cara's Journey'.
Fun fact one: Once whilst on a climbing trip to Tenlendos in Greece, I and two friends got stranded on an island overnight! Fun fact two: I once had an audition for the tv show 'Britain's Got Talent' to perform a bellydance.


The University of Washington’s eScience Institute hosted its first Geohackweek during November 14-18, 2016. Inspired by AstroHackWeek and Neurohackweek, we combined tutorials with group work ("hacks") on computational projects in geospatial sciences.
Our event offered training in open source vector and raster processing, multidimensional array analysis, data visualization, remote dataset access and cloud technologies. We also emphasized collaboration and reproducibility through tutorials on Git/GitHub, Docker, Anaconda and Jupyter notebooks. During the week, participants designed projects that explored software to address global climate change, urban planning, ecosystem management and other geospatial science challenges.
The event was co-organized by Anthony Arendt (eScience Institute/Applied Physics Lab), Randy LeVeque (UW Applied Math), Rob Fatland and Amanda Tan (UW IT), Christina Bandaragoda, Nicoleta Cristea (Civil and Environmental Engineering), Allison Smith (UW School of Oceanography), Ben Hudson, Emilio Mayorga, Landung “Don” Setiawan and David Shean (Applied Physics Lab), Catherine Kuhn (School of Forest and Environmental Sciences), and Bernease Herman and David Beck (eScience Insitute).
This year we were fortunate to welcome guest lecturers Tyler Erickson and Nicholas Clinton who demonstrated the capabilities of Google Earth Engine, James Douglass from the Natural Capital Project who provided tutorials on raster processing, and Ben Weinstein and Ian Rose who brought expertise in version control and Jupyter notebooks.
Material from the event is available online at our Geohackwee website (links provided in the "schedule" section), and ongoing project work can be accessed on our GitHub page.


A self-directed learner who is conscientious, willing to learn and receptive to feedback. Also a team player, helpful & collaborative, and remains calm under pressure. Believes that good character is the foundation of all worthwhile success.
Double Degree in Computer Engineering and Business Analytics
Awarded the Edusave Certificate of Academic Achievement in 2016 & 2017
Top in cohort for Mathematics in 2013, Term 2
Welcomed and acknowledged all guests in a friendly, service-oriented manner.
Facilitated prompt and accurate seating and service of guests.
Answered questions about menu selections and made recommendations when requested.
Added special garnishes and other finishing touches to dishes prior to delivering to customers.
Correctly calculated charges, issued bills and collected payments.
Promptly and consistently reset tables with spotless service ware.
Consistently adhered to quality expectations and standards.
Representing NYDC Café & Restaurant,
Assisted guests, including offering personable greetings and taking orders.
Reduced customer wait times by quickly and efficiently operating customer window and sales register.
Efficiently prepared sandwiches and other menu items for guests.
Aided researchers in their investigations by manually curating information from the GISAID Epiflu database and FluSurver.
Analyzed research and produced a report which won the Outstanding Special Project Award.
Programmed an executable application in Python for data extraction.
Created dynamic dashboards on Microsoft Excel.
Created user forms in Excel to assist Admin in stock take using VBA.
Planned and implemented database structure for IT asset management on Jira Service Management platform.
2018 - Present
Represented NTU in various dragon boat competitions locally and overseas.
2005 - Present (Annually)
2017
Certificate of Distinction - Won 2nd Prize in JC category.
2016
Conducted lessons and activities to inspire others to keep the Singapore Spirit alive,
together with students from other pre-university institutions.
2016
Participated in several seminar sessions and gained insight about future and current issues.
2014
Presented and discussed ideas in the convention attended by high school students from various countries.
Led poster presentations and exchanged ideas with participants and experts.
Represented Singapore at International Exhibition sanctioned by MOE.


This is a test page for node 70-HTML
There's nothing to read here.
Blue
Red
Apple
Pear
Potato
Parsnip


Microsoft Visual Studio 2003 (v7.1) is a native IDE for .NET 1.1. It provides one of the most advanced IDE for C# development. It is not a free tool (see Microsoft home page for details).
Open script in Visual Studio by using shell extension:
After being activating by the user, 'shell extension' creates temporary Visual Studio project, which includes all necessary source files and libraries and opens it with the new instance of Visual Studio. You can work now with this project as with any other VS project. After closing the project all temporary files are cleared.
This is the screenshot of the debugging "Hello World!" sample (hello.cs file).
If "shell extension" detects that the project has to be changed (eg. the code requires new assemblies to be added) it updates a new version of the project file. Thus, Visual Studio can prompt you to reload the project.
Debugging tutorial | Script Library


Enums
The following enums are available globally.
-
There are two sort mode: manual mode(.manual) and predefined mode(the follow latter four types). Task order in
downloadList
ofSDEDownloadManager
is determined bysortType
andsortOrder
together.case
manual
: You determine task location.case
addTime
: Sorted by time when task is added.case
fileName
: Sorted by file display name.case
fileSize
: Sorted by file size.case
See morefileType
: Sorted and grouped by file type.Declaration
Swift
@objc public enum ComparisonType: Int
-
Task order in the list.
case
ascending
: A -> Z; Old -> New; Small -> Big.case
See moredescending
: Z -> A; New -> Old; Big -> Small.Declaration
Swift
@objc public enum ComparisonOrder: Int
-
The state of download task in
SDEDownloadManager
.case
notInList
: The URL which you query is not in the download list and trash. I set this value to make the framework compatible with Objective-C. BecauseInt?
can’t be presented in Objective-C.case
pending
: Not downloading and it’s sure that task has no resume data.case
downloading
: Downloading.case
paused
: Download is paused.case
stopped
: Not downloading and it’s sure that task has resume data to continue download.case
See morefinished
: File is downloaded successfully.Declaration
Swift
@objc public enum DownloadTaskState: Int
-
Select the content to display in
DownloadListController
.case
downloadList
: All tasks indownloadList
, not include tasks in the trash(toDeleteList
).case
unfinishedList
: All unfinished tasks, not include tasks in trash. Sorted by add time.case
toDeleteList
: Tasks in the trash. Sorted by delete time.case
See moresubsection
:downloadList
is a two-dimensional String array, select this case to display specified part. PropertysubsectionIndex
determines which part.Declaration
Swift
@objc public enum ListType: Int
-
Select how to detele a task in
DownloadListController
.case
fileAndRecord
: Delete task record and relative file both. If SDEDownloadManager’sisTrashOpened == true
, task is moved to the trash.case
onlyFile
: Only delete relative file, and keep task record.case
See moreoptional
: Offer options: only file or both.Declaration
Swift
@objc public enum DeleteTaskType: Int
-
Appearance style of imageView in UITableViewCell in
DownloadListController
.case
thumbnail
: Show a thumbnail image at the location of cell’s imageView.case
index
: Show index(begin from 1) at the location of cell’s imageView.case
See morenone
: Hidden cell’s imageView.Declaration
Swift
@objc public enum ImageViewStyle: Int
-
Thumbnail shape in
DownloadListController
.case
original
: Displayed thumbnail has same width/height ratio with original image.case
See moresquare
: Displayed thumbnail’s width/height ratio is 1:1. Sometimes thumbnail is smaller than requested, it’s still displayed in original scale.Declaration
Swift
@objc public enum ThumbnailShape: Int
-
Appearance style of accessoryView(a button) of
DownloadTrackerCell
inDownloadListController
. If you want your custom UITableViewCell is compatible with this enum type, look propertycellAccessoryButtonStyle
ofDownloadListController
.case
icon
: Accessory button in the cell shows a predefined icon which bind to task state.case
title
: Accessory button in the cell shows a predefined title which bind to task state.case
none
: Hidden accessory button in the cell.case
See morecustom
: Accessory button has no title or image to be visible and touching won’t happen anything in this style. You could configure button inDownloadListController
init method, and its closureaccessoryButtonTouchHandler
. It’s up to you.Declaration
Swift
@objc public enum AccessoryButtonStyle: Int
-
Appearance style of predefined UIBarButtonItem which are used in property
toolBarActions
andleftNavigationItemActions
inDownloadListController
.case
icon
: BarButtonItem shows an icon.case
See moretitle
: BarButtonItem shows a title.Declaration
Swift
@objc public enum BarButtonAppearanceStyle: Int
-
Predefined action for UIBarButtonItem in toolBar of
DownloadListController
bytoolBarActions
. For example,toolBarActions = [.resumeAll, .stopAll]
, toolBar will show two UIBarButtonItem to provide these two features.case
resumeAll
: Resume all unfinished tasks. It won’t be displayed ifdisplayContent == .toDeleteList
.case
pauseAll
: Pause all downloading tasks. It won’t be displayed ifdisplayContent == .toDeleteList
.case
stopAll
: Stop all downloading tasks and cancel all waitting tasks. It won’t be displayed ifdisplayContent == .toDeleteList
.case
See moredeleteAll
: Delete all tasks. It won’t be displayed ifdisplayContent == .unfinishedList
.Declaration
Swift
@objc public enum ToolBarActionEnum: Int
-
Predefined action for UIBarButtonItem in
leftBarButtonItems
of navigationItem ofDownloadListController
in multiple selection mode, and relative property:leftNavigationItemActions
. For example,leftNavigationItemActions = [.selectAll, .pauseSelected]
, in DownloadListController’s multiple selection mode, left navigationItem will show two UIBarButtonItem to provide these two features.case
selectAll
: Select/Unselect all tasks(all cells).case
resumeSelected
: Resume resumeable tasks in selected tasks(selected cells). It won’t be displayed ifdisplayContent == .toDeleteList
.case
pauseSelected
: Pause downloading tasks in selected tasks(selected cells). It won’t be displayed ifdisplayContent == .toDeleteList
.case
stopSelected
: Stop downloading tasks and cancel waitting tasks in selected tasks(selected cells). It won’t be displayed ifdisplayContent == .toDeleteList
, neither ifallowsStop == false
.case
deleteSelected
: Delete selected tasks(selected cells). It won’t be displayed ifdisplayContent == .unfinishedList
, orallowsDelete == false
in other lists(except for.toDeleteList
).case
See morerestoreSelected
: Restore selected deleted tasks back to download list. It is avaiable only ifdisplayContent == .toDeleteList
.Declaration
Swift
@objc public enum NavigationBarActionEnum: Int


The fraternity professes to create a bond of brotherhood passed down from generation to generation, including lasting relationships between alumni and currently active members.
Nu Alpha Phi emphasizes brotherhood and promotion of self-development for all of its members, as encouraged by its seven fundamental principles of Brotherhood, Discipline, Leadership, Pride, Professionalism, Service, and Unity. Members are taught to use these principles in everyday life to promote personal growth. These ideals are brought upon prospective members, as well.
Nu Alpha Phi seeks to promote Asian-awareness, as well as to serve as a liaison between the Greek community and the Asian community. This is done through a supportive network of alumni and matriculated brothers who actively engage in participation in community service, cultural workshops and events, university programs, and various other on-campus student activities.
Learn more about what makes Nu Alpha Phi the tighest brotherhood.
Get to know the brothers of the active house!
Meet, network, and mingle with the sisters of an all-inclusive Greek life.
On March 18th, 1994 eight great men founded the first chapter of Nu Alpha Phi Fraternity Inc. at SUNY Albany.
On July 31st, 2011 fourteen bold men founded the ninth chapter of Nu Alpha Phi Fraternity Inc. at Rutgers New Brunswick.
The fraternity professes to create a bond of brotherhood passed down from generation to generation, including lasting relationships between alumni and currently active members.


More than 400+ new members
HTML, JS, ReactJS
In Proccess
Paid
Web, UI/UX Design
Best Rated
C#, ASP.NET, MS SQL
Pending
Rejected
Houses & Hotels
Above Average
PHP, Laravel, VueJS
Transportation
Python, PostgreSQL, ReactJS
Insurance
Average


Toyota Vellfire India launch confirmed for early 2020
by Amaan AhmedPacking a petrol-hybrid powertrain, the six-seat Toyota Vellfire’s price in India is expected to be in the range of Rs 85-90 lakh; will rival the Mercedes-Benz V-class Elite.
Action in the luxury people-mover segment has intensified in 2019. It began with Mercedes-Benz launching the V-class at the start of the year, and following it up with the recent introduction of the six-seat V-class Elite. Now, Toyota has confirmed that its rival to the V-class Elite, the Toyota Vellfire, will be launched in India in the first quarter of 2020.
Toyota will ship the Vellfire to India in completely built-up (CBU) form under the relaxed homologation rule, which allows carmakers to import up to 2,500 vehicles every year without needing to homologate them in India.
For the uninitiated, the Vellfire is nothing but a Toyota Alphard with a restyled front-end and a few other detail changes. Though it was the Alphard that was showcased at the 2018 Auto Expo, it’s the sportier-looking Vellfire that has been chosen for the Indian market.
The Vellfire will come with a petrol-hybrid powertrain, which pairs a 150hp, 2.5-litre engine and two electric motors (combined output is rated at 197hp), and sends power to all-four wheels via a CVT. Specified with the ‘Executive Lounge’ package, the Toyota Vellfire will get two large thrones for the middle row passengers that not only get their very own ottomans, but are also powered, ventilated and can be reclined; this package also gets powered sliding doors and tailgate, two sunroofs, three-zone automatic climate control, mood lighting, individual tray tables, seven airbags and an option of a black or beige interior.
With all the luxury that it has to offer (and the fact that it’s a CBU), expect the Toyota Vellfire’s price in India to be in the range of Rs 85-90 lakh (ex-showroom).
Think the Toyota Vellfire could pose a genuine threat to the Mercedes-Benz V-Class Elite? Let us know in the comments.
Also see:
Toyota Etios, Etios Liva to be discontinued by April 2020
India-spec Toyota Vellfire: A close look
India-spec Toyota Vellfire image gallery