An object that appears on the 3D scene. It is made up of a Model, together with information for positioning, rotation and collision detection. Skeletal animation is supported if contained in the Model. Otherwise, frame based animation can be used if the SceneObject is constructed with a vector of Models, each of which will be used as an animation frame.
More...
#include <SceneObject.hpp>
|
| | SceneObject (const std::string &name, const Model &model, const uint32_t boundingBoxSubdivisions=0) |
| | Model based constructor (skeletal animation) More...
|
| |
| | SceneObject (const std::string &name, const Model &&model, const uint32_t boundingBoxSubdivisions=0) |
| | Model based constructor (skeletal animation) More...
|
| |
| | SceneObject (const std::string &name, const std::vector< std::shared_ptr< Model >> models, const uint32_t boundingBoxSubdivisions=0) |
| | Model vector based constructor (animation using frames) More...
|
| |
|
| ~SceneObject ()=default |
| | Destructor.
|
| |
| Model & | getModel () |
| | Get the object's model. More...
|
| |
| uint64_t | getCurrentPose () |
| | Get the current animation pose. More...
|
| |
| std::vector< Model > | getBoundingBoxSetModels () |
| | Get the bounding box set as models (for debug-rendering) More...
|
| |
| std::vector< BoundingBoxSet::extremes > & | getBoundingBoxSetExtremes () |
| | Get the bounding box set extremes (min and max coords) More...
|
| |
| const std::string | getName () const |
| | Get the name of the object. More...
|
| |
| void | setRotation (const glm::vec3 &rotation) |
| | : Set the rotation of the object. (Overwrites transformation entered via setTransformation) More...
|
| |
| void | rotate (const glm::vec3 &rotation) |
| | : Modify the rotation of the object More...
|
| |
| void | setTransformation (const glm::mat4x4 &rotation) |
| | : Set the transformation matrix of the object. (Overwrites rotation entered via setRotation) More...
|
| |
| const glm::vec3 | getOrientation () const |
| | : Get the orientation of the object More...
|
| |
| const glm::mat4x4 & | getTransformation () const |
| | : Get the tranformation matrix of the object More...
|
| |
| const glm::vec3 & | getRotationXYZ () const |
| | : Get the rotation of the object in x, y, z representation. This will NOT work if the rotation was set via the setTransformation function. More...
|
| |
|
void | startAnimating () |
| | Start animating the object.
|
| |
|
void | stopAnimating () |
| | Stop animating the object.
|
| |
|
void | resetAnimation () |
| | Reset the animation sequence (go to the first frame)
|
| |
| void | setFrameDelay (const int delay) |
| | Set the animation speed. More...
|
| |
|
void | animate () |
| | Process animation (progress current frame if necessary)
|
| |
| bool | contains (const glm::vec3 &point) const |
| | Check if the bounding boxes of this object contain a given point. More...
|
| |
| bool | containsCorners (const SceneObject &otherObject) const |
| | Check if the bounding boxes of this object contain a corner of the bounding boxes of another object. More...
|
| |
|
| glm::vec3 | position = glm::vec3(0.0f, 0.0f, 0.0f) |
| |
An object that appears on the 3D scene. It is made up of a Model, together with information for positioning, rotation and collision detection. Skeletal animation is supported if contained in the Model. Otherwise, frame based animation can be used if the SceneObject is constructed with a vector of Models, each of which will be used as an animation frame.
◆ SceneObject() [1/3]
| small3d::SceneObject::SceneObject |
( |
const std::string & |
name, |
|
|
const Model & |
model, |
|
|
const uint32_t |
boundingBoxSubdivisions = 0 |
|
) |
| |
Model based constructor (skeletal animation)
- Parameters
-
| name | The name of the object |
| model | The Model for which to create the object (lvalue) |
| boundingBoxSubdivisions | How many times to subdivide the initially created bounding box, getting more accurate collision detection at the expense of performance. |
◆ SceneObject() [2/3]
| small3d::SceneObject::SceneObject |
( |
const std::string & |
name, |
|
|
const Model && |
model, |
|
|
const uint32_t |
boundingBoxSubdivisions = 0 |
|
) |
| |
Model based constructor (skeletal animation)
- Parameters
-
| name | The name of the object |
| model | The Model for which to create the object (rvalue) |
| boundingBoxSubdivisions | How many times to subdivide the initially created bounding box, getting more accurate collision detection at the expense of performance. |
◆ SceneObject() [3/3]
| small3d::SceneObject::SceneObject |
( |
const std::string & |
name, |
|
|
const std::vector< std::shared_ptr< Model >> |
models, |
|
|
const uint32_t |
boundingBoxSubdivisions = 0 |
|
) |
| |
Model vector based constructor (animation using frames)
- Parameters
-
| name | The name of the object |
| models | The Model for which to create the object (rvalue) |
| boundingBoxSubdivisions | How many times to subdivide the initially created bounding box, getting more accurate collision detection at the expense of performance. |
◆ contains()
| bool small3d::SceneObject::contains |
( |
const glm::vec3 & |
point | ) |
const |
Check if the bounding boxes of this object contain a given point.
- Parameters
-
- Returns
- True if the point is contained in the bounding boxes of the object, False otherwise.
◆ containsCorners()
| bool small3d::SceneObject::containsCorners |
( |
const SceneObject & |
otherObject | ) |
const |
Check if the bounding boxes of this object contain a corner of the bounding boxes of another object.
- Parameters
-
| otherObject | The other object. |
- Returns
- True if the bounding boxes of this object contain a corner of the bounding boxes of another object, False otherwise.
◆ getBoundingBoxSetExtremes()
| std::vector< BoundingBoxSet::extremes > & small3d::SceneObject::getBoundingBoxSetExtremes |
( |
| ) |
|
Get the bounding box set extremes (min and max coords)
- Returns
- The bounding box set extremes
◆ getBoundingBoxSetModels()
| std::vector< Model > small3d::SceneObject::getBoundingBoxSetModels |
( |
| ) |
|
Get the bounding box set as models (for debug-rendering)
- Returns
- The bounding box set models
◆ getCurrentPose()
| uint64_t small3d::SceneObject::getCurrentPose |
( |
| ) |
|
Get the current animation pose.
- Returns
- The current animation pose
◆ getModel()
| Model & small3d::SceneObject::getModel |
( |
| ) |
|
Get the object's model.
- Returns
- The object's model
◆ getName()
| const std::string small3d::SceneObject::getName |
( |
| ) |
const |
Get the name of the object.
- Returns
- The name of the object
◆ getOrientation()
| const glm::vec3 small3d::SceneObject::getOrientation |
( |
| ) |
const |
: Get the orientation of the object
- Returns
- The orientation of the object
◆ getRotationXYZ()
| const glm::vec3 & small3d::SceneObject::getRotationXYZ |
( |
| ) |
const |
: Get the rotation of the object in x, y, z representation. This will NOT work if the rotation was set via the setTransformation function.
- Returns
- The rotation in x, y, z representation
◆ getTransformation()
| const glm::mat4x4 & small3d::SceneObject::getTransformation |
( |
| ) |
const |
: Get the tranformation matrix of the object
- Returns
- The tranformation matrix
◆ rotate()
| void small3d::SceneObject::rotate |
( |
const glm::vec3 & |
rotation | ) |
|
: Modify the rotation of the object
- Parameters
-
| rotation | The rotation to modify by (x, y, z) |
◆ setFrameDelay()
| void small3d::SceneObject::setFrameDelay |
( |
const int |
delay | ) |
|
Set the animation speed.
- Parameters
-
| delay | The delay between each animation frame, expressed in number of game frames |
◆ setRotation()
| void small3d::SceneObject::setRotation |
( |
const glm::vec3 & |
rotation | ) |
|
: Set the rotation of the object. (Overwrites transformation entered via setTransformation)
- Parameters
-
| rotation | The rotation (x, y, z) |
◆ setTransformation()
| void small3d::SceneObject::setTransformation |
( |
const glm::mat4x4 & |
rotation | ) |
|
: Set the transformation matrix of the object. (Overwrites rotation entered via setRotation)
- Parameters
-
| rotation | The tranformation matrix |
◆ position
| glm::vec3 small3d::SceneObject::position = glm::vec3(0.0f, 0.0f, 0.0f) |
The documentation for this class was generated from the following files:


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.xml.dtm.DTMManager org.apache.xpath.XPathContext
public class XPathContext
Default class for the runtime execution context for XPath.
This class extends DTMManager but does not directly implement it.
| Nested Class Summary | |
|---|---|
class |
XPathContext.XPathExpressionContext
|
| Field Summary | |
|---|---|
(package private) XPathContext.XPathExpressionContext |
expressionContext
|
private java.util.Stack |
m_axesIteratorStack
Stack of AxesIterators. |
private java.util.Stack |
m_contextNodeLists
The current context node list. |
private IntStack |
m_currentExpressionNodes
A stack of the current sub-expression nodes. |
private IntStack |
m_currentNodes
The stack of current node objects. |
private javax.xml.transform.ErrorListener |
m_defaultErrorListener
A default ErrorListener in case our m_errorListener was not specified and our owner either does not have an ErrorListener or has a null one. |
protected DTMManager |
m_dtmManager
Though XPathContext context extends the DTMManager, it really is a proxy for this object, which is the real DTMManager. |
private java.util.HashMap |
m_DTMXRTreeFrags
HashMap of cached the DTMXRTreeFrag objects, which are identified by DTM IDs. |
private javax.xml.transform.ErrorListener |
m_errorListener
The ErrorListener where errors and warnings are to be reported. |
private SAX2RTFDTM |
m_global_rtfdtm
Most recent "reusable" DTM for Global Result Tree Fragments. |
private boolean |
m_isSecureProcessing
state of the secure processing feature. |
private NodeVector |
m_iteratorRoots
A stack of the current sub-expression nodes. |
(package private) IntStack |
m_last_pushed_rtfdtm
|
private java.lang.Object |
m_owner
The owner context of this XPathContext. |
private java.lang.reflect.Method |
m_ownerGetErrorListener
The owner context of this XPathContext. |
private IntStack |
m_predicatePos
|
private NodeVector |
m_predicateRoots
A stack of the current sub-expression nodes. |
private ObjectStack |
m_prefixResolvers
|
org.xml.sax.XMLReader |
m_primaryReader
The reader of the primary source tree. |
private java.util.Vector |
m_rtfdtm_stack
Stack of cached "reusable" DTMs for Result Tree Fragments. |
(package private) ObjectStack |
m_saxLocations
The current stylesheet locator. |
private SourceTreeManager |
m_sourceTreeManager
The source tree manager, which associates Source objects to source tree nodes. |
private javax.xml.transform.URIResolver |
m_uriResolver
The TrAX URI Resolver for resolving URIs from the document(...) function to source tree nodes. |
private VariableStack |
m_variableStacks
The stack of Variable stacks. |
private int |
m_which_rtfdtm
Index of currently active RTF DTM in m_rtfdtm_stack |
static int |
RECURSIONLIMIT
The ammount to use for stacks that record information during the recursive execution. |
| Fields inherited from class org.apache.xml.dtm.DTMManager |
|---|
IDENT_DTM_DEFAULT, IDENT_DTM_NODE_BITS, IDENT_MAX_DTMS, IDENT_NODE_DEFAULT, m_incremental, m_source_location, m_xsf |
| Constructor Summary | |
|---|---|
XPathContext()
Create an XPathContext instance. |
|
XPathContext(boolean recursiveVarContext)
Create an XPathContext instance. |
|
XPathContext(java.lang.Object owner)
Create an XPathContext instance. |
|
XPathContext(java.lang.Object owner,
boolean recursiveVarContext)
Create an XPathContext instance. |
| Method Summary | |
|---|---|
private void |
assertion(boolean b,
java.lang.String msg)
Tell the user of an assertion error, and probably throw an exception. |
DTM |
createDocumentFragment()
Creates an empty DocumentFragment object. |
DTMIterator |
createDTMIterator(int node)
Create a new DTMIterator that holds exactly one node. |
DTMIterator |
createDTMIterator(int whatToShow,
DTMFilter filter,
boolean entityReferenceExpansion)
Create a new DTMIterator based only on a whatToShow and
a DTMFilter. |
DTMIterator |
createDTMIterator(java.lang.Object xpathCompiler,
int pos)
Create a new DTMIterator based on an XPath
UnionExpr. |
DTMIterator |
createDTMIterator(java.lang.String xpathString,
PrefixResolver presolver)
Create a new DTMIterator based on an XPath
UnionExpr. |
java.util.Stack |
getAxesIteratorStackStacks()
|
int |
getContextNode()
Get the current context node. |
DTMIterator |
getContextNodeList()
Get the current context node list. |
java.util.Stack |
getContextNodeListsStack()
|
DTMIterator |
getContextNodes()
Get the current context node list. |
int |
getCurrentExpressionNode()
Get the current node that is the expression's context (i.e. |
IntStack |
getCurrentExpressionNodeStack()
|
int |
getCurrentNode()
Get the current context node. |
SubContextList |
getCurrentNodeList()
Get the current node list as defined by the XSLT spec. |
IntStack |
getCurrentNodeStack()
|
DTM |
getDTM(int nodeHandle)
Get an instance of a DTM that "owns" a node handle. |
DTM |
getDTM(javax.xml.transform.Source source,
boolean unique,
DTMWSFilter wsfilter,
boolean incremental,
boolean doIndexing)
Get an instance of a DTM, loaded with the content from the specified source. |
int |
getDTMHandleFromNode(org.w3c.dom.Node node)
Given a W3C DOM node, try and return a DTM handle. |
int |
getDTMIdentity(DTM dtm)
%TBD% Doc |
DTMManager |
getDTMManager()
Return the DTMManager object. |
DTMXRTreeFrag |
getDTMXRTreeFrag(int dtmIdentity)
Gets DTMXRTreeFrag object if one has already been created. |
javax.xml.transform.ErrorListener |
getErrorListener()
Get the ErrorListener where errors and warnings are to be reported. |
ExpressionContext |
getExpressionContext()
The the expression context for extensions for this context. |
DTM |
getGlobalRTFDTM()
Get a DTM to be used as a container for a global Result Tree Fragment. |
int |
getIteratorRoot()
Get the current location path iterator root. |
PrefixResolver |
getNamespaceContext()
Get the current namespace context for the xpath. |
java.lang.Object |
getOwnerObject()
Get the "owner" context of this context, which should be, in the case of XSLT, the Transformer object. |
int |
getPredicatePos()
|
int |
getPredicateRoot()
Get the current predicate root. |
org.xml.sax.XMLReader |
getPrimaryReader()
Get primary XMLReader associated with this execution context. |
DTM |
getRTFDTM()
Get a DTM to be used as a container for a dynamic Result Tree Fragment. |
javax.xml.transform.SourceLocator |
getSAXLocator()
Get the current locater in the stylesheet. |
SourceTreeManager |
getSourceTreeManager()
Get the SourceTreeManager associated with this execution context. |
SubContextList |
getSubContextList()
Get the current axes iterator, or return null if none. |
javax.xml.transform.URIResolver |
getURIResolver()
Get the URIResolver associated with this execution context. |
VariableStack |
getVarStack()
Get the variable stack, which is in charge of variables and parameters. |
boolean |
isSecureProcessing()
Return the state of the secure processing feature |
void |
popContextNodeList()
Pop the current context node list. |
void |
popCurrentExpressionNode()
Pop the current node that is the expression's context (i.e. |
void |
popCurrentNode()
Pop the current context node. |
void |
popCurrentNodeAndExpression()
Set the current context node. |
void |
popExpressionState()
Pop the current context node, expression node, and prefix resolver. |
void |
popIteratorRoot()
Pop the current location path iterator root. |
void |
popNamespaceContext()
Pop the current namespace context for the xpath. |
void |
popPredicatePos()
|
void |
popPredicateRoot()
Pop the current predicate root. |
void |
popRTFContext()
Pop the RTFDTM's context mark. |
void |
popSAXLocator()
Pop the current locater. |
void |
popSubContextList()
Pop the last pushed axes iterator. |
void |
pushContextNodeList(DTMIterator nl)
Set the current context node list. |
void |
pushCurrentExpressionNode(int n)
Set the current node that is the expression's context (i.e. |
void |
pushCurrentNode(int n)
Set the current context node. |
void |
pushCurrentNodeAndExpression(int cn,
int en)
Set the current context node and expression node. |
void |
pushExpressionState(int cn,
int en,
PrefixResolver nc)
Push the current context node, expression node, and prefix resolver. |
void |
pushIteratorRoot(int n)
Set the current location path iterator root. |
void |
pushNamespaceContext(PrefixResolver pr)
Push a current namespace context for the xpath. |
void |
pushNamespaceContextNull()
Just increment the namespace contest stack, so that setNamespaceContext can be used on the slot. |
void |
pushPredicatePos(int n)
|
void |
pushPredicateRoot(int n)
Set the current predicate root. |
void |
pushRTFContext()
Push the RTFDTM's context mark, to allows discarding RTFs added after this point. |
void |
pushSAXLocator(javax.xml.transform.SourceLocator location)
Set the current locater in the stylesheet. |
void |
pushSAXLocatorNull()
Push a slot on the locations stack so that setSAXLocator can be repeatedly called. |
void |
pushSubContextList(SubContextList iter)
Push a TreeWalker on the stack. |
boolean |
release(DTM dtm,
boolean shouldHardDelete)
Release a DTM either to a lru pool, or completely remove reference. |
private void |
releaseDTMXRTreeFrags()
Cleans DTMXRTreeFrag objects by removing references to DTM and XPathContext objects. |
void |
reset()
Reset for new run. |
void |
setAxesIteratorStackStacks(java.util.Stack s)
|
void |
setContextNodeListsStack(java.util.Stack s)
|
void |
setCurrentExpressionNodeStack(IntStack nv)
|
void |
setCurrentNodeStack(IntStack nv)
|
void |
setErrorListener(javax.xml.transform.ErrorListener listener)
Set the ErrorListener where errors and warnings are to be reported. |
void |
setNamespaceContext(PrefixResolver pr)
Get the current namespace context for the xpath. |
void |
setPrimaryReader(org.xml.sax.XMLReader reader)
Set primary XMLReader associated with this execution context. |
void |
setSAXLocator(javax.xml.transform.SourceLocator location)
Set the current locater in the stylesheet. |
void |
setSecureProcessing(boolean flag)
Set the state of the secure processing feature |
void |
setSourceTreeManager(SourceTreeManager mgr)
Set the SourceTreeManager associated with this execution context. |
void |
setURIResolver(javax.xml.transform.URIResolver resolver)
Set the URIResolver associated with this execution context. |
void |
setVarStack(VariableStack varStack)
Get the variable stack, which is in charge of variables and parameters. |
| Methods inherited from class org.apache.xml.dtm.DTMManager |
|---|
getDTMIdentityMask, getIncremental, getNodeIdentityMask, getSource_location, getXMLStringFactory, newInstance, setIncremental, setSource_location, setXMLStringFactory |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
IntStack m_last_pushed_rtfdtm
private java.util.Vector m_rtfdtm_stack
private int m_which_rtfdtm
private SAX2RTFDTM m_global_rtfdtm
private java.util.HashMap m_DTMXRTreeFrags
private boolean m_isSecureProcessing
protected DTMManager m_dtmManager
ObjectStack m_saxLocations
private java.lang.Object m_owner
private java.lang.reflect.Method m_ownerGetErrorListener
private VariableStack m_variableStacks
private SourceTreeManager m_sourceTreeManager
private javax.xml.transform.ErrorListener m_errorListener
private javax.xml.transform.ErrorListener m_defaultErrorListener
private javax.xml.transform.URIResolver m_uriResolver
public org.xml.sax.XMLReader m_primaryReader
private java.util.Stack m_contextNodeLists
public static final int RECURSIONLIMIT
private IntStack m_currentNodes
private NodeVector m_iteratorRoots
private NodeVector m_predicateRoots
private IntStack m_currentExpressionNodes
private IntStack m_predicatePos
private ObjectStack m_prefixResolvers
private java.util.Stack m_axesIteratorStack
XPathContext.XPathExpressionContext expressionContext
| Constructor Detail |
|---|
public XPathContext()
XPathContext(boolean)
constructor with the value
true
.
public XPathContext(boolean recursiveVarContext)
recursiveVarContext
- A boolean
value indicating whether
the XPath context needs to support pushing of scopes for
variable resolutionpublic XPathContext(java.lang.Object owner)
XPathContext(java.lang.Object,boolean)
with the
value of the second parameter set to true
.
owner
- Value that can be retrieved via the getOwnerObject() method.getOwnerObject()
public XPathContext(java.lang.Object owner, boolean recursiveVarContext)
owner
- Value that can be retrieved via the getOwnerObject() method.recursiveVarContext
- A boolean
value indicating whether
the XPath context needs to support pushing of scopes for
variable resolutiongetOwnerObject()
| Method Detail |
|---|
public DTMManager getDTMManager()
public void setSecureProcessing(boolean flag)
public boolean isSecureProcessing()
public DTM getDTM(javax.xml.transform.Source source, boolean unique, DTMWSFilter wsfilter, boolean incremental, boolean doIndexing)
getDTM
in class DTMManager
source
- the specification of the source object, which may be null,
in which case it is assumed that node construction will take
by some other means.unique
- true if the returned DTM must be unique, probably because it
is going to be mutated.wsfilter
- Enables filtering of whitespace nodes, and may be null.incremental
- true if the construction should try and be incremental.doIndexing
- true if the caller considers it worth it to use
indexing schemes.
public DTM getDTM(int nodeHandle)
getDTM
in class DTMManager
nodeHandle
- the nodeHandle.
public int getDTMHandleFromNode(org.w3c.dom.Node node)
getDTMHandleFromNode
in class DTMManager
node
- Non-null reference to a DOM node.
public int getDTMIdentity(DTM dtm)
getDTMIdentity
in class DTMManager
public DTM createDocumentFragment()
DocumentFragment
object.
createDocumentFragment
in class DTMManager
DocumentFragment handle
.public boolean release(DTM dtm, boolean shouldHardDelete)
release
in class DTMManager
dtm
- The DTM to be released.shouldHardDelete
- True if the DTM should be removed no matter what.
public DTMIterator createDTMIterator(java.lang.Object xpathCompiler, int pos)
DTMIterator
based on an XPath
UnionExpr.
createDTMIterator
in class DTMManager
xpathCompiler
- ??? Somehow we need to pass in a subpart of the
expression. I hate to do this with strings, since the larger expression
has already been parsed.pos
- The position in the expression.
DTMIterator
.public DTMIterator createDTMIterator(java.lang.String xpathString, PrefixResolver presolver)
DTMIterator
based on an XPath
UnionExpr.
createDTMIterator
in class DTMManager
xpathString
- Must be a valid string expressing a
UnionExpr.presolver
- An object that can resolve prefixes to namespace URLs.
DTMIterator
.public DTMIterator createDTMIterator(int whatToShow, DTMFilter filter, boolean entityReferenceExpansion)
DTMIterator
based only on a whatToShow and
a DTMFilter. The traversal semantics are defined as the descendant
access.
createDTMIterator
in class DTMManager
whatToShow
- This flag specifies which node types may appear in
the logical view of the tree presented by the iterator. See the
description of NodeFilter
for the set of possible
SHOW_
values.These flags can be combined using
OR
.filter
- The NodeFilter
to be used with this
TreeWalker
, or null
to indicate no filter.entityReferenceExpansion
- The value of this flag determines
whether entity reference nodes are expanded.
NodeIterator
.public DTMIterator createDTMIterator(int node)
DTMIterator
that holds exactly one node.
createDTMIterator
in class DTMManager
node
- The node handle that the DTMIterator will iterate to.
DTMIterator
.public void reset()
public void setSAXLocator(javax.xml.transform.SourceLocator location)
location
- The location within the stylesheet.public void pushSAXLocator(javax.xml.transform.SourceLocator location)
location
- The location within the stylesheet.public void pushSAXLocatorNull()
public void popSAXLocator()
public javax.xml.transform.SourceLocator getSAXLocator()
public java.lang.Object getOwnerObject()
public final VariableStack getVarStack()
public final void setVarStack(VariableStack varStack)
varStack
- non-null reference to the variable stack.public final SourceTreeManager getSourceTreeManager()
public void setSourceTreeManager(SourceTreeManager mgr)
mgr
- the SourceTreeManager to be associated with this
execution context.public final javax.xml.transform.ErrorListener getErrorListener()
public void setErrorListener(javax.xml.transform.ErrorListener listener) throws java.lang.IllegalArgumentException
listener
- A non-null ErrorListener reference.
java.lang.IllegalArgumentException
public final javax.xml.transform.URIResolver getURIResolver()
public void setURIResolver(javax.xml.transform.URIResolver resolver)
resolver
- the URIResolver to be associated with this
execution context, may be null to clear an already set resolver.public final org.xml.sax.XMLReader getPrimaryReader()
public void setPrimaryReader(org.xml.sax.XMLReader reader)
reader
- The reader of the primary source tree.private void assertion(boolean b, java.lang.String msg) throws javax.xml.transform.TransformerException
b
- If false, a TransformerException will be thrown.msg
- The assertion message, which should be informative.
javax.xml.transform.TransformerException
- if b is false.public java.util.Stack getContextNodeListsStack()
public void setContextNodeListsStack(java.util.Stack s)
public final DTMIterator getContextNodeList()
public final void pushContextNodeList(DTMIterator nl)
nl
- the current node list,
also refered to here as a public final void popContextNodeList()
public IntStack getCurrentNodeStack()
public void setCurrentNodeStack(IntStack nv)
public final int getCurrentNode()
public final void pushCurrentNodeAndExpression(int cn, int en)
cn
- the current node.en
- the sub-expression context node.public final void popCurrentNodeAndExpression()
public final void pushExpressionState(int cn, int en, PrefixResolver nc)
cn
- the current node.en
- the sub-expression context node.nc
- the namespace context (prefix resolver.public final void popExpressionState()
public final void pushCurrentNode(int n)
n
- the current node.public final void popCurrentNode()
public final void pushPredicateRoot(int n)
public final void popPredicateRoot()
public final int getPredicateRoot()
public final void pushIteratorRoot(int n)
public final void popIteratorRoot()
public final int getIteratorRoot()
public IntStack getCurrentExpressionNodeStack()
public void setCurrentExpressionNodeStack(IntStack nv)
public final int getPredicatePos()
public final void pushPredicatePos(int n)
public final void popPredicatePos()
public final int getCurrentExpressionNode()
public final void pushCurrentExpressionNode(int n)
n
- The sub-expression node to be current.public final void popCurrentExpressionNode()
public final PrefixResolver getNamespaceContext()
public final void setNamespaceContext(PrefixResolver pr)
pr
- the prefix resolver to be used for resolving prefixes to
namespace URLs.public final void pushNamespaceContext(PrefixResolver pr)
pr
- the prefix resolver to be used for resolving prefixes to
namespace URLs.public final void pushNamespaceContextNull()
public final void popNamespaceContext()
public java.util.Stack getAxesIteratorStackStacks()
public void setAxesIteratorStackStacks(java.util.Stack s)
public final void pushSubContextList(SubContextList iter)
iter
- A sub-context AxesWalker.public final void popSubContextList()
public SubContextList getSubContextList()
public SubContextList getCurrentNodeList()
public final int getContextNode()
public final DTMIterator getContextNodes()
public ExpressionContext getExpressionContext()
public DTM getGlobalRTFDTM()
public DTM getRTFDTM()
public void pushRTFContext()
public void popRTFContext()
public DTMXRTreeFrag getDTMXRTreeFrag(int dtmIdentity)
dtmIdentity
-
private final void releaseDTMXRTreeFrags()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


14 things everyone had in their homes in the 2010s
by Samantha Grindell- The decade is coming to a close and the world has changed a lot since 2010.
- Items that were once commonplace in most homes, such as Blu-Ray players and selfie sticks, have been replaced by new inventions.
- From Keurig machines to Wii consoles, here are 14 things everyone had in their homes in the 2010s.
- Visit Insider’s homepage for more stories.
The 2010s were a time of massive innovation, and many items that were popular during the decade have gone out of style.
Keurig machines, iPads, and Wii consoles were common sights in most American homes throughout the decade.
Take a look at 14 items everyone had in their homes in the 2010s.
Most people had desktop computers at the beginning of the decade.
Today, laptops are a more common option when it comes to someone’s main computer. However, at the beginning of the decade, many families still had a desktop that everyone could use.
Snuggies were all the rage in the early 2010s.
The Snuggie first became popular in 2008, and by the end of 2010, the company had sold 25 million blankets, according to The New York Times.
As the number of styles available increased and sales continued to grow, it became more and more common to find the product in people’s homes in place of blankets throughout the early years of the decade.
Wii consoles were everywhere at the start of the decade.
The Nintendo Wii was released in 2006 to much fanfare, and the accompanying Wii Fit came out in 2008, making it one of the most popular gaming consoles at the beginning of the 2010s.
But the original Wii was discontinued in 2013 according to Neowin, and Nintendo’s successor, the Wii U, was a disappointment to consumers.
Selfie sticks became popular halfway through the decade.
Selfie sticks gained momentum as smartphone cameras improved, and Time even named them one of the best inventions of 2014.
Kids loved Silly Bandz at the start of the decade.
The colourful bracelets were popular among kids, used both as jewellery and trading items.
In 2010, they were sold in 30,000 stores across 15 countries.
Apple’s iPad revolutionised tablets when it came out in 2010.
The iPad was released in 2010, and it quickly became the most popular tablet on the market due to its brand recognition and touch screen capabilities.
Many students, kids, parents, and seniors went on to adopt the iPad, using it for work or to play games.
“Fifty Shades of Grey” became one of the most popular books of the decade.
The erotic novel by E.L. James, published in 2011, was a global sensation.
It was the first novel written for adults to reach 1 million copies sold in paperback, according to The Guardian.
Many homes featured decor inscribed with “Live, Laugh, Love.”
Places like Etsy and Wayfair sell mugs, signs, and more home decor items covered with the phrase, “Live, Laugh, Love.”
The motivational slogan reportedly reached its peak in 2012.
The Amazon Echo opened the door for smart devices in the home.
The first Amazon Echo was released in 2014 and was marketed as a speaker.
The voice-enabled assistant has evolved since then to include hundreds of features, and it has become a household staple as a result of its many capabilities, with competing companies releasing similar products.
Most Americans had a Facebook account by the end of the 2010s.
Mark Zuckerberg invented Facebook in 2004, but the social platform hit its stride in the 2010s.
By the time Facebook turned 10 in 2014, it had over 1.23 billion monthly visitors.
Single-serve coffee makers like the Keurig started popping up in people’s homes during the decade.
Keurigs and other single-serve coffee machines became popular in the 2010s.
In 2010, Keurig sold more than $US330 million worth of brewers and over $US800 million worth of K-Cups.
Hoverboards were a brief but massive fad in the middle of the decade.
Hoverboards became the latest form of novelty transportation in 2015, but the invention lost traction following safety concerns in 2016.
Fidget spinners were one of the top toys of 2017.
Fidget spinners became mainstream in 2017 when two teenagers began mass producing them.
Almost 19 million units were sold in the first half of 2017 alone, according to Forbes.
Netflix spearheaded the streaming movement.
Streaming became available on Netflix in 2007, according to a company timeline, changing the way people consume media at home.
Close to 150 million people are subscribed to the platform as of 2019, as reported by Statista.


--- layout: base body_class: body-about ---
And we’ll keep on doing it until we see the world how it’s supposed to be.
At Major, making a forward-looking, social impact on the world around us is serious business. We want to make it effortless for people to have great, meaningful experiences that empower their lives, online and offline.
Our team is small, but purpose-driven and always ready to solve intricate challenges and tell great stories. Don’t get us wrong: size matters, and that’s where we thrive.
Enthusiastic and determined, Leihla has a keen eye for detail and distinct grasp of the big picture making her the motivational, people-oriented leader that can move mountains and get things done.
Badass and sweet as Frida-Kahlo. Tânia spends her free time day-dreaming about a one-way ticket to Southeast Asia.
An outspoken glitterati, Gonçalo is passionate about everything design. A perfectionist at his core, he brings sassiness to the workplace as he delivers flawless work.
Passionate about beauty and architecture, Carlos knows how to use his attention to detail and logical thinking to do what he does best: create. A team player who’s always ready to learn, his plan-making skills are his ultimate fixation.
We'll work in close collaboration. We don't believe in big reveals and we design in the open until we get it right. Your goals are our goals.


UP Chief Secretary Suspends Ghaziabad Sanitary Inspector, Street Light In-charge
by Press Trust Of IndiaGeneral News
Uttar Pradesh Chief Secretary RK Tiwari on Monday suspended two inspectors of the Ghaziabad Nagar Nigam (GNN) for negligence in duties
Written By Press Trust Of India | Mumbai | Updated On: November 19, 2019 06:38 IST
Uttar Pradesh Chief Secretary R K Tiwari on Monday suspended two inspectors of the Ghaziabad Nagar Nigam (GNN) for negligence in duties and reprimanded other officials of the civic body during a surprise inspection.
READ | Lucknow STF arrest 3 people over ATM Card cloning schemer in Uttar Pradesh
Tiwari also directed Municipal Commissioner Dinesh Chandra to enhance the quality of sanitation in the office and the city within a month, district Information Officer Rakesh Singh told PTI. He also spoke to two complainants after taking their mobile numbers from the complaint register.The chief secretary took stock of their unresolved grievances regarding sewer systems and street light from the officers concerned and suspended sanitary inspector Satish Kumar and street light in-charge Vishmbher Singh, Rakesh Singh said.
READ | Uttar Pradesh: Groom performs 'Nagin Dance', bride calls off wedding
He also ordered to make adverse entry to the chief engineer of the corporation, Mohiuddin Khan. The action was taken for not giving nod to the developmental works in time. An FIR has been lodged against the complaint counter in-charge, Rakesh Singh added.
READ | Uttar Pradesh: Man walks to police station with wife's severed head
READ | No untoward incident reported from anywhere in Uttar Pradesh: DGP


?Ç
e
PLANTS
OF
CUBA
No.
600
A.
Gonzales
3/2A2
Erythrina
berteroana
Urb
New
York
Botanical
Garden
Near
Siguanea
lbn031
Trinidad
Mountains.
San
Blas-Buenos
Aires
Collected
for
the
Atkins
Garden
and
Research
Laboratory
in
Las
Villas
Province
1619031
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


{{ profile.user.username }}
Email: {{ profile.user.email }}
Trails Completed: {{ profile.user.trailsCompleted.length }}
Delete profile
Logout
{{ profile.user.username }}'s trails:
Trail name: {{ trail.trailName }}
{{ profile.user.username }} has completed:
Trail name: {{ trail.trailName }}


Recorder 1.0
*Recording file size limit depends on your RAM
Stop
Record Audio
Record Camera
Record Screen
Download Recording
Preview
Recorded video/audio


Class UserGender
- Nette\Object
- Illagrenan\Facebook\UserGender
string |
MALE
|
"male" |
|
string |
FEMALE
|
"female" |
|
string |
UNKNOWN
|
"unknown" |


from cloudmesh.common.Printer import Printer
from cloudmesh.common.Shell import Shell
from cloudmesh.mongo.CmDatabase import CmDatabase
from cloudmesh.mongo.DataBaseDecorator import DatabaseUpdate
[docs]class Registry:
"""
This class will help to register service into db.
which later use to stop server.
"""
kind = "register"
collection = "local-registry"
output = {
"register": {
"sort_keys": ["cm.name"],
"order": ["cm.name",
"status",
"url",
"pid"],
"header": ["Name",
"Status",
"Url",
"Pid"]
}
}
# noinspection PyPep8Naming
[docs] def Print(self, data, output=None):
"""
print output in a structured format
:param data: input data to be printed out
:param output: type of structured output
:return: structured output
"""
if output == "table":
order = self.output[Registry.kind]['order'] # not pretty
header = self.output[Registry.kind]['header'] # not pretty
# humanize = self.output[kind]['humanize'] # not pretty
print(Printer.flatwrite(data,
sort_keys=["name"],
order=order,
header=header,
output=output,
# humanize=humanize
)
)
else:
print(Printer.write(data, output=output))
[docs] def __init__(self):
pass
@DatabaseUpdate()
def add(self, name=None, **kwargs):
"""
add to registry
:param name: name to be used for registry entry
:param kwargs: other optional fields to populate in registry
:return:
"""
entry = {
"cm": {
"cloud": "local",
"kind": "registry",
"name": name,
"driver": None
},
"name": name,
"status": "defined"
}
for key in kwargs:
entry[key] = kwargs[key]
return entry
[docs] def delete(self, name=None):
"""
delete item from registry
:param name: name of the item in registry
:return:
"""
cm = CmDatabase()
collection = cm.collection(self.collection)
if name is None:
query = {}
else:
query = {'name': name}
entries = cm.delete(collection=self.collection, **query)
return entries
[docs] def list(self, name=None):
"""
list entries in the registry
:param name: name of registered server. If not passed will list all registered servers.
:return: list of registered server(s)
"""
cm = CmDatabase()
if name == None:
entries = cm.find(cloud="local", kind="registry")
else:
entries = cm.find_name(name=name, kind="registry")
return entries
# TODO: determine if these are still needed as these functions are handled by cms already
'''
def start(self):
"""
start the registry
possibly not needed as we have cms start
:return:
"""
r = Shell.cms("start")
def stop(self):
"""
stop the registry
possibly not needed as we have cms start
this will not just sto the registry but mongo
:return:
"""
r = Shell.cms("stop")
'''


"Sometimes I like to go on social media rampages at 3 am. Before the KnowPhone this could lead to my constituents calling me 'racist', 'sexist', or even 'homophobic'. Thanks to the KnowPhone's Brotherly Love Messaging System, CNN reports calling me unfit for office are much more rare." Glonald Frump, 71, Washington, D.C. "As somebody in the public eye, I need to make sure I'm always protected. Thanks to the KnowPhone's state of the art security system I don't have to worry about any embarassing scandal leaking ever again." Jennifer Thes, 49, Los Angeles, CA. "In the past, it's been very hard to date outside of a small group of individuals. Thanks to the KnowPhone's new Meeting to Marriage program I can ensure that I can date the people I want to without worrying about that whole 'genetics' thing." Jimothy Johnson, 23, Montgomery, AL. "After a particularly hard breakup I was worried that any mention of my ex would bring back harmful memories for me, which could lead to unwanted emotions. Thanks to the KnowPhone I have been able to blacklist my ex from my life. I no longer see pictures of her, get text messages regarding her, and it's impossible for me to run into her (thanks to the KnowPhone's GPS blacklisting functionality). Now I can't even remember what my ex's name was, it's like she doesn't exist!" Taylor Rapid, 28, New York, NY. "Before purchasing the KnowPhone I was a disgusting 120 lbs, but thanks to the 'Know-Your-Body' dieting program and the 'Fit4Me' Exercise programs I know weigh a beautiful 98lbs. All the kids in school are jealous of how beautiful I look, and with the 'KnowPhone Accessory Kit' I arrive to every sleepover looking like an Instagram model. Thanks to the Sleep program I am so much more productive, homework feels like a breeze. Now I have so much time to spend excercising, just as any middleschooler should be." Alison Adams, 12, Seattle, WA.


About TimeAwarePC¶
TimeAwarePC
is a Python package that implements the Time-Aware PC (TPC) algorithm for finding Causal Functional Connectivity (CFC) from time series observations. Essentially, it estimates the causal network between nodes of the time series and the connectivity weights, in a non-parametric manner, using recent developments in directed probabilistic graphical modeling in time series. The package also includes implementations of the PC algorithm and Granger Causality (GC) to estimate the CFC.
Typical use scenario:
Neural Connectomics: The representation of the flow of information between neurons in the brain based on their activity is termed the causal functional connectome (CFC). The CFC is not directly observed and needs to be inferred from neural time series.
Benefits of TPC¶
TPC algorithm has been shown to outperform other approaches in estimating the CFC from neural time series, in a variety of simulation, benchmark, and real neurobiological datasets. The model outcome of TPC reflects causality of neural interactions such as being non-parametric, exhibits the directed Markov property in a time-series setting, and is predictive of the consequence of counterfactual interventions on the time series. [1]
The package currently supports the following methods:


{% load staticfiles %}
{% block title %}{% endblock %} | SOD
School Of Developers™
Think in code
Toggle navigation
About Us
IT Training
Foundation
C
C++
Python
Core Java
Advanced
Web Designing
PHP
.Net
J2EE
Django (Python Framework)
Android App Development
SEO
Oracle
Professional Training
Industrial Training
Corporate Training
Final Year Project Training
IT Outsourcing
Portfolio
R&D Cell
Placement
Career
Contact Us
Apply for Internship
{% block address %}
You are here: {{ request.get_full_path }}
{% endblock %} {% block content %} {% endblock %}


SMBCQUOTAS(1) User Commands SMBCQUOTAS(1) NAME smbcquotas - Set or get QUOTAs of NTFS 5 shares SYNOPSIS smbcquotas {//server/share} [-u user] [-L] [-F] [-S QUOTA_SET_COMMAND] [-n] [-t] [-v] [-d debuglevel] [-s configfile] [-l logdir] [-V] [-U username] [-N] [-k] [-A] DESCRIPTION This tool is part of the samba(7) suite. The smbcquotas program manipulates NT Quotas on SMB file shares. OPTIONS The following options are available to the smbcquotas program. -u user Specifies the user of whom the quotas are get or set. By default the current user´s username will be used. -L Lists all quota records of the share. -F Show the share quota status and default limits. -S QUOTA_SET_COMMAND This command sets/modifies quotas for a user or on the share, depending on the QUOTA_SET_COMMAND parameter which is described later. -n This option displays all QUOTA information in numeric format. The default is to convert SIDs to names and QUOTA limits to a readable string format. -t Don´t actually do anything, only validate the correctness of the arguments. -v Be verbose. -h|--help Print a summary of command line options. -d|--debuglevel=level level is an integer from 0 to 10. The default value if this parameter is not specified is 0. The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out. Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic. Note that specifying this parameter here will override the smb.conf.5.html# parameter in the smb.conf file. -V|--version Prints the program version number. -s|--configfile <configuration file> The file specified contains the configuration details required by the server. The information in this file includes server-specific information such as what printcap file to use, as well as descriptions of all the services that the server is to provide. See smb.conf for more information. The default configuration file name is determined at compile time. -l|--log-basename=logdirectory Base directory name for log/debug files. The extension ".progname" will be appended (e.g. log.smbclient, log.smbd, etc...). The log file is never removed by the client. -N|--no-pass If specified, this parameter suppresses the normal password prompt from the client to the user. This is useful when accessing a service that does not require a password. Unless a password is specified on the command line or this parameter is specified, the client will request a password. If a password is specified on the command line and this option is also defined the password on the command line will be silently ingnored and no password will be used. -k|--kerberos Try to authenticate with kerberos. Only useful in an Active Directory environment. -C|--use-ccache Try to use the credentials cached by winbind. -A|--authentication-file=filename This option allows you to specify a file from which to read the username and password used in the connection. The format of the file is username = <value> password = <value> domain = <value> Make certain that the permissions on the file restrict access from unwanted users. -U|--user=username[%password] Sets the SMB username or username and password. If %password is not specified, the user will be prompted. The client will first check the USER environment variable, then the LOGNAME variable and if either exists, the string is uppercased. If these environmental variables are not found, the username GUEST is used. A third option is to use a credentials file which contains the plaintext of the username and password. This option is mainly provided for scripts where the admin does not wish to pass the credentials on the command line or via environment variables. If this method is used, make certain that the permissions on the file restrict access from unwanted users. See the -A for more details. Be cautious about including passwords in scripts. Also, on many systems the command line of a running process may be seen via the ps command. To be safe always allow rpcclient to prompt for a password and type it in directly. QUOTA_SET_COMMAND The format of an the QUOTA_SET_COMMAND is an operation name followed by a set of parameters specific to that operation. To set user quotas for the user specified by -u or for the current username: UQLIM:<username>:<softlimit>/<hardlimit> To set the default quotas for a share: FSQLIM:<softlimit>/<hardlimit> To change the share quota settings: FSQFLAGS:QUOTA_ENABLED/DENY_DISK/LOG_SOFTLIMIT/LOG_HARD_LIMIT All limits are specified as a number of bytes. EXIT STATUS The smbcquotas program sets the exit status depending on the success or otherwise of the operations performed. The exit status may be one of the following values. If the operation succeeded, smbcquotas returns an exit status of 0. If smbcquotas couldn´t connect to the specified server, or when there was an error getting or setting the quota(s), an exit status of 1 is returned. If there was an error parsing any command line arguments, an exit status of 2 is returned. VERSION This man page is correct for version 3 of the Samba suite. AUTHOR The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed. smbcquotas was written by Stefan Metzmacher. Samba 3.6 06/22/2012 SMBCQUOTAS(1)


Janhvi Kapoor looks fresh as a daisy in a mesmerising tangerine athleisure; view pictures
by TIMESOFINDIA.COMJanhvi Kapoor might be busy with her professional commitments but the diva, who is a fitness enthusiast makes sure that she never misses out on her workout sessions. Be it pilates or rigorous weight training, Janhvi always manages to take out some time to indulge in some fitness activity.
Not only that but the young starlet has started her own trend of donning fashionable athleisure which has the audience swooning over her. From flaunting her washboard abs to sporting neon pop colours, Janhvi is a visual treat for all her fans.
Today too the diva was snapped by the paparazzi outside the gym dressed in a mesmerising tangerine athleisure. Not only that but the fashionista looked fresh as a daisy even after a session of gruelling workout.
Meanwhile, on the professional front, Janhvi has an interesting line up ahead. She has her kitty full with projects like 'Gunjan Saxena - The Kargil Girl', 'RoohiAfza', 'Dostana 2' and Karan Johar’s magnum opus film 'Takht'.


public class Controller extends java.lang.Object implements Observer<Request>
Observer.CommunicationError
| Constructor and Description |
|---|
Controller(GameManager activeGames)
Default constructor that is linked to the gamemanager
|
| Modifier and Type | Method and Description |
|---|---|
void |
applyAction(PlayerAction action)
This method is used to execute an action
|
GameManager |
getGameManager()
The getter for the gamemanager
|
ControllerState |
getStateFromGame(Game game)
If the game is present in the controllerStateMap return the correspondent ControllerState value
else returns a new WaitingForRespawn (subclass of ControllerState)
|
void |
notifyGameEnd(Game game)
Notify players a game is finished
|
void |
requestUpdate(Game currentGame)
Send the buffer to the clients
|
void |
saveGames(Game game,
ControllerState oldControllerState,
ControllerState newControllerState)
Only save when a turn is finished and we infer that from the state change
|
void |
setControllerStateForGame(Game game,
ControllerState controllerState)
Set the ControllerState for the selected Game
|
void |
setGameManager(GameManager gameManager)
The setter for the gamemanager
|
void |
update(Request request)
Create a PlayerAction object by parsing the request.
|
public Controller(GameManager activeGames)
activeGames
- the gamemanagerpublic void applyAction(PlayerAction action)
action
- the actionpublic void update(Request request)
public GameManager getGameManager()
public void setGameManager(GameManager gameManager)
gameManager
- the new gamemanagerpublic ControllerState getStateFromGame(Game game)
game
- the key you need to get the associated valuepublic void setControllerStateForGame(Game game, ControllerState controllerState)
game
- the kay you need to set the associated valuecontrollerState
- the ControllerState you want to correspond to the keypublic void requestUpdate(Game currentGame)
currentGame
- the game you want to update on the clientspublic void saveGames(Game game, ControllerState oldControllerState, ControllerState newControllerState)
game
- the game you want to saveoldControllerState
- to check if the turn endednewControllerState
- to check if the turn endedpublic void notifyGameEnd(Game game) throws Observer.CommunicationError
game
- the game you want to notifyObserver.CommunicationError
- if clients are down


To use this language, use the class "language-ada83".
"foo ""bar"" baz"
"Multi-line strings are appended with a " &
"ampersand symbole."
WITH ADA.TEXT_IO;
-- Comments look like this.
PROCEDURE TEST IS
BEGIN
ADA.TEXT_IO.PUT_LINE ("Hello"); -- Comments look like this.
END TEST;
The code doesn't have to be in uppercase, but coding standards being as they were in 1983, any code you're likely to come across will be uppercase.
with Ada.Text_IO;
-- Comments look like this.
procedure Test is
begin
Ada.Text_IO.Put_Line ("Hello"); -- Comments look like this.
end Test;


#include "_doctype.html"
Haxx is the primary sponsor of the curl project.
wolfSSL employs Daniel and lets him spend paid work hours on curl.
Fastly delivers the curl web site and web contents to the world.
Teamviewer sponsors test and CI infrastructure.
We're the company behind the Elastic Stack — that's Elasticsearch, Kibana, Beats, and Logstash.
Please consider sponsoring the project. Maintaining, bug tracking, hosting and supporting this project requires resources. You can help!
We do not consider single-shot donations as "sponsorships". Those are donations and while welcome, they will not be honored by a mention here. Sponsors mentioned here keep supporting the project long-term by covering some sort of notable cost to the benefit of the project and its users.
The best way to sponsor this project is to allow a paid engineer or two to spend work hours on curl. Responding to email and writing curl improvements. Alternatively, donate to curl on the opencollective page. SUBTITLE(Pledge)
We promise to use donated funds only for things and activities that we believe are beneficial for the project and its development. That includes but is not limiting us to bug-bounties, developer conferences, infrastructure, services and hardware. #include "_footer.html"


Today's Horoscope: November 14, 2019
Here’s your daily horoscope, according to Mecca Woods , Bustle’s resident astrologer and creator of MyLifeCreated.com . We’re constantly fascinated by what our zodiac sign says about our lives, whether it's which signs are most compatible or how each sign handles conflict in relationships. Below, a look at how astrology will affect our lives today.
The Moon remains in chatty and curious Gemini today putting the focus on information and exploration, especially with love planet Venus currently in adventurous Sagittarius. With the Moon and Venus opposing each other at the start of the day, we might feel some tension between what we need and what we want.
Plus, with hazy Neptune in Pisces also squaring off with the Moon in Gemini and Venus in Sagittarius today, we'll need to be mindful of illusions, escapism, and deception when it comes to dealing with others, making decisions, or seeking fulfillment. The best way to harness this planetary combination is to apply towards anything that requires creative inspiration or talent.
Read below to see what the stars mean for your sign today, and make sure to check out your November 2019 monthly horoscope.
If Your Zodiac Sign Is Aries (March 21 - April 19)
You may have a lot on your plate today and it could be easy to spread yourself in 10 different directions, which is why you may need to be more intentional with your time and resources. It's important to be mindful of over-idealizing any one person or situation now. Be discerning.
If Your Zodiac Sign Is Taurus (April 20 - May 20)
Your money is on your mind today and you could be considering investing in a dream plan or project. Though before you put any cash on the line, it may be helpful to talk to someone that can give you trusted feedback or advice or at least get more details on the subject.
If Your Zodiac Sign Is Gemini (May 21 - June 20)
While being multifaceted is one of your gifts, today you might find that trying to be everything to everyone is way too tiring and unfulfilling. As such, it might help to take a step back and see how and where you can be most effective. At the same time, don't neglect your well-being.
If Your Zodiac Sign Is Cancer (June 21 - July 22)
You might be feeling a bit rundown or more sensitive than usual today. Though you might be tempted to keep up appearances and act as though all is fine, perhaps because you don't want to disappoint others. However, the best thing you can do for yourself is to be genuine and authentic.
If Your Zodiac Sign Is Leo (July 23 - Aug. 22)
You might feel pulled between wanting to keep a romantic situation light and carefree and wanting something deeper. The important thing here is that you focus on your deeper needs and be honest with yourself about what you want. You have options. Choose the best one for you.
If Your Zodiac Sign Is Virgo (Aug. 23 - Sept. 22)
You could receive a job offer or job-related opportunity today. Though before you sign on for it, you may need to do some homework to see if this is something you can actually take on (or want to take on). Know that this won't be the only offer you'll receive. No need to settle.
If Your Zodiac Sign Is Libra (Sept. 23 - Oct. 22)
You might have some big ideas now that you'd like to bring to life but you'll need to be careful of trying to go in too many directions at once or trying to go too big too soon. For now, try to zero in on the details and what would be the best use of your time. Go with what's most important.
If Your Zodiac Sign Is Scorpio (Oct. 23 - Nov. 21)
If you share a financial matter or obligation with someone else, you may need to have a sit-down with them today and go over the terms of your agreement or handle some accounting duties together. In love, don't allow others or an unobtainable ideal diminish your worth.
If Your Zodiac Sign Is Sagittarius (Nov. 22 - Dec. 21)
Others could come to you for help or assistance today. Just be mindful of giving too much of your time or attention to anyone that's not willing to help themselves too. In terms of love and romance, you're at your most attractive now when loving up on yourself and having fun.
If Your Zodiac Sign Is Capricorn (Dec. 22 - Jan. 19)
In considering your health and well-being today, you're called to nourish yourself from the inside out, especially if you're giving your time and attention towards helping others. On a similar note, this could be a good time to organize your living space or office to "lift" the energy.
If Your Zodiac Sign Is Aquarius (Jan. 20 - Feb. 18)
While you love entertaining and holding court with your friends, today calls for you to put some extra time and effort into you. Seek out ways you can channel your creative energy and give an outlet to your thoughts and ideas. In love, try not to get too carried away with someone new.
If Your Zodiac Sign Is Pisces (Feb. 19 - March 20)
You may have a lot you want to accomplish with your career and ambitions but if you want to get it all done, you're going to need to do it from a centered and grounded place. Don't be afraid to step out of your comfort zone. You're going to need to take some risks to get what you want.
This article was originally published on Aug 1, 2019


Sample file
And he said: you need a new
motherboard
Terms: motherboard [REF:http://www.directron.com/motherboards1.html];


--- layout: standalone_post title: To our dear sponsors, supporters and friends tagline: We are so grateful! permalink: /thanks/ ---
August 8th 2013
The cast and crew of Around Miss Julie have officially arrived in Edinburgh! We are diving straight into all things Fringe. Our opening is on Sunday, and we will be spending our time until then meeting other artists, performing on the Royal Mile, and promoting our show to anyone and everyone. After a fantastic Canadian tour, we are thrilled (and a little terrified) to be here at the largest arts festival in the world. It truly is much bigger than we could have imagined
So, THANK YOU.
Thank you for your support. Thank you for believing in us. Around Miss Julie could not be here without you.
Here are photos of our first day here at the Edinburgh Festival Fringe!
YOU have made this possible - We are so grateful.
-The cast and crew of Around Miss Julie


| beer
| ipa
|
|
| Bongo Burger
| turkey burger with everything, fries, to go
|
|
| Chipotle
| bowl, white rice, pinto beans, steak, mild salsa, corn, lettuce, to go
| beer
|
| clothing
|
- hoodie shirts
- long sleeves
- mismatched socks
- pajama pants
|
|
| Habit Burger
| Santa Barbara Char, to go
|
|
| In-N-Out
| double-double with onions, fries, to go
|
|
| Jamba Juice
| large pomegranate paradise with vitamin boost, to go
|
|
| mouth wash
| Listerine Total Care
|
|
| Panda Express
| plate, chow mein + orange chicken + beef and broccoli, to go
| fried rice
|
| Panera Bread
| roasted turkey and avocado BLT, side of bread, to go
|
|
| pretzels
|
- Rold Gold sticks
- Rold Gold thins
- Rold Gold tiny twists
| Snyder's minis
|
| Red Lobster
| NY strip steak medium-well, side of fries and mashed potatoes, biscuits and ipa
|
|
| Subway
|
- untoasted footlong oven roasted turkey on italian herbs and cheese bread, pepperjack cheese, all veggies except for olives, yellow mustard, to go
- toasted footlong meatball marinara on italian herbs and cheese bread, pepperjack cheese, onions + pickles + jalapeños, yellow mustard, to go
|
|
| salsa
| Tostitos chunky habanero salsa, Tostitos Scoops
|
|
| spicy soup/noodles
|
- Buldak 2x
- Nissin Hot & Spicy Fire Wok
|
|
| Starbucks
| iced double espresso
|
| |


HA1/HA2 numbering
A collection of reference strains (shown in light grey) has been added to the alignment to provide phylogenetic context and canonical mutation numbering.


Sign up for a flipkart account:track you orders,view your order history,create your own wishlist,get personalized recommendations and more.


--- layout: page permalink: /search/ share: false comments: false title: Search Pulse Code Blog image: feature: header/h12.svg ---


Saoirse Ronan & 'Little Women' Cast Step Out in NYC After Golden Globes Nominations!
Saoirse Ronan has scored another nomination!
The 25-year-old actress and her co-stars – Florence Pugh, Eliza Scanlen, Laura Dern and director Greta Gerwig – all got together to make an appearance on SiriusXM’s Town Hall in support of their film Little Women hosted by SiriusXM’s Jess Cagle on Monday (December 9) in New York City.
Saoirse Ronan and the ladies all sat down for an interview moments after it was announced that she had just scored a Best Actress – Drama nomination for her role in the film at the 2020 Golden Globes.
While Saoirse scored a nomination for her performance, Greta was snubbed in her category for Best Director.


-
My Brother's Language #1
15" x 22"
-
My Brother's Language #2
15" x 22"
-
My Brother's Language #3
15" x 22"
-
My Brother's Language #4
15" x 22"
-
My Brother's Language #5
Walnut ink and acetate
-
My Brother's Language #6
Walnut ink and acetate
-
My Brother's Language #8
Walnut ink and acetate
-
My Brother's Language #9
Walnut ink and acetate
-
My Brother's Language #10
Walnut ink and acetate
-
My Brother's Language #11
Walnut ink and acetate
-
Folio Sketch
15 " x 22 "
-
Folio Sketch
15 " x 22 "
-
Folio Sketch
15 " x 22 "
-
Folio Sketch
15 " x 22 "
-
Folio Sketch
15 " x 22 "
›
‹


2009.03.16Contents
1 Summary
2 Install and Run
3 System Options
4 Atom and List
5 Dict and Table
6 Insert and Upsert
7 Join
8 Adhoc Join
9 Asof Join
10 Union Join
11 Date and Time
12 Type
13 Cast
14 Functions
15 Lambdas
16 Rollups
17 Programming
18 Parameters
19 Scripts
20 Debug
21 Handles
22 Files
23 Sockets
24 Adhoc Database
25 Logging Database
26 Nested Database
27 Parallel Database
28 Loading Tables
29 Saving Tables
30 Load and Save
31 Exec
32 Select and Update
33 Parse tree
34 Apply and Amend
35 Operators
36 System Commands
37 System Variables
38 Clients
39 Dynamic Load
40 Performance
41 Links
42 Attributes


"Photography is a way of feeling, of touching souls, of loving. What you have caught on film is captured forever ... It remembers little things, long after you have forgotten everything."
- Aaron Siskind -
Give me a sign to better understand your needs and thoughts and, of course, to help remember little things, long after you have forgotten everything... through my film!
Ghiroda, Timişoara/Romania
+4072355836
<EMAIL_ADDRESS>www.dariusflorentin.com


| Jump to DART Documentation Main Index |
This document includes an overview of the changes in the DART system since the Lanai release. For further details on any of these items look at the HTML documentation for that specific part of the system.
The two most significant changes in the Manhattan version of DART are it can support running models with a state vector larger than the memory of a single task, removing a limit from the Lanai version of DART. It also reads and writes NetCDF files directly instead of requiring a conversion from one file to another. There are many other smaller changes, detailed below.
Manhattan supported models:If your model of interest is not on the list consider checking out the 'Classic' release of DART, which is Lanai plus bug fixes and minor enhancements. All models previously supported by Lanai are still in DART 'Classic'.
These are the major differences between the Lanai/Classic and Manhattan releases of DART:
model_to_dart
and
dart_to_model
).
To facilitate this there is a new required call add_domain
which must be called during static_init_model
. It can be called
multiple times in static_model_mod, e.g. once for each NetCDF file that
contains state variables. There are three ways to add a domain:
dom_id = add_domain(model_size)
dom_id = add_domain(template_file, num_vars, var_names, ... )
dom_id = add_domain(num_vars, var_names, ... )
call add_dimension_to_variable(dom_id, var_id, dim_nam, dim_size)
call finished_adding_domain
For models without NetCDF restarts, use add_domain(model_size)
.
This is the minimum amount of information needed by DART to create a netdcf
file. For models with NetCDF restarts use
add_domain(info_file, num_vars, var_names)
which lets DART read
the NetCDF dimensions for a list of variables from a file
(info_file
). There are several routines that can be used together
to create a domain from a description:
add_domain, add_dimension_to_variable, finished_adding_domain
.
This can be used in models such as bgrid_solo where the model is spun up in
perfect_model_obs, but the model itself has variable structure
(3D variables with names).
See Additions/Changes to existing namelists for how to use NetCDF IO.
Note when using NetCDF restarts, inflation files are NetCDF also. The inflation mean and inflation standard deviation are in separate files when you use NetCDF restarts. See NetCDF inflation files for details.
model_interpolate
call. In non-distributed
mode, the forward operators for all ensemble members a task owns (1-ens_size)
are calculated at once.
The vertical conversion of observation locations is done before the assimilation by default. This can be changed by namelist options.
In Lanai this calculation is done in the assimilation as part
of get_close_obs
if a model_mod does vertical conversion.
See vertical conversion for details about
this change. Note that not all models do vertical conversion or even have a
concept of vertical location, but every model_mod must have the following
routines:
call set_vertical_localization_coord(vert_localization_coord) call convert_vertical_obs(ens_handle, num, locs, loc_qtys, loc_types, & which_vert, status) call convert_vertical_state(ens_handle, num, locs, loc_qtys, loc_indx, & which_vert, istatus)
If there are NOT multiple choices for a vertical coordinate (e.g. cartesian, one dimensional), all these routines can be no-ops.
If there are multiple types of vertical coordinates, the convert routines must be able to convert between them. The 'set_vertical_localization_coord()' routine should be called from 'static_init_model()' to set what localization coordinate type is being requested.
The three routines related to vertical coordinates/localization choices are:
set_vert_localization_coord
- sets the vertical localization
coordiate (not required if there is no vertical conversion)
convert_vertical_obs
- converts observation location to
required vertical type (does nothing if there is no vertical conversion)
convert_vertical_state
- converts state vector location to
required vertical type (does nothing if there is no vertical conversion)
For Prior_Diag.nc:
For Posterior_Diag.nc:
The num_output_state_members
are not written separately from the restarts.
Note that restarts will have been clamped if any clamping is applied (given
as an arguement to add_domain). This is different to Posterior_Diag.nc
which contains unclamped values.
Note also that there are 2 more
"stages"
which might be output, in addition to the preassim and postassim discussed here.
For models with multiple domains the filenames above are appended with the domain number, e.g. preassim_mean.nc becomes preassim_mean_d01.nc, preassim_mean_d02.nc, etc.
nc_write_model_atts
now has 2 arguments:
The calling code will write the model state, so this routine should only add attributes and optionally, non-state information like grid arrays.
This routine will only be called if DART is creating an output NetCDF file from scratch. This may include any of the preassim, postassim, or output files.
nc_write_model_vars
is currently unused
(and in fact uncalled). It remains for possible future expansion.
The model_mod.f90 file contains all code that is specific to any particular model. The code in this file is highly constrained since these routines are *called by* other code in the DART system. All routine interfaces -- the names, number of arguments, and the names of those arguments -- must match the prescribed interfaces exactly. Since not all required interfaces are needed for every model there are default routines provided that can be referenced from a 'use' statement and then the routine name can be put in the module 'public' list without any code for that routine having to be written in the model_mod.f90 file.
The following 18 routines are required:
Here is an example of code from the top of a model_mod file, including the modules where the default routines live and the required public list.
use location_mod, only : location_type, get_close_type, & get_close_obs, get_close_state, & convert_vertical_obs, convert_vertical_state, & set_location, set_location_missing, & set_vertical_localization_coord use utilities_mod, only : register_module, error_handler, & E_ERR, E_MSG ! nmlfileunit, do_output, do_nml_file, do_nml_term, & ! find_namelist_in_file, check_namelist_read use netcdf_utilities_mod, only : nc_add_global_attribute, nc_synchronize_file, & nc_add_global_creation_time, & nc_begin_define_mode, nc_end_define_mode use state_structure_mod, only : add_domain use ensemble_manager_mod, only : ensemble_type use dart_time_io_mod, only : read_model_time, write_model_time use default_model_mod, only : pert_model_copies, nc_write_model_vars implicit none private ! required by DART code - will be called from filter and other ! DART executables. interfaces to these routines are fixed and ! cannot be changed in any way. public :: static_init_model, & get_model_size, & get_state_meta_data, & shortest_time_between_assimilations, & model_interpolate, & end_model, & nc_write_model_atts, & adv_1step, & init_time, & init_conditions ! public but in another module public :: nc_write_model_vars, & pert_model_copies, & get_close_obs, & get_close_state, & convert_vertical_obs, & convert_vertical_state, & read_model_time, & write_model_time
Historically there has been confusion about the terms for specific observation types (which often include the name of the instrument collecting the data) and the generic quantity that is being measured (e.g. temperature). The previous terms for these were 'types' and 'kinds', respectively.
Starting with the Manhattan release we have tried to clarify the terminology and make the interfaces consistent. The following table lists the original names from the Lanai/Classic release and the replacement routines in Manhattan.
All code that is part of the DART code repository has been updated to use the replacment routines, but if you have your own utilities written using this code, you will need to update your code. Contact us<EMAIL_ADDRESS>) for help if you have any questions.
public subroutines, existing name on left, replacement on right: assimilate_this_obs_kind() => assimilate_this_type_of_obs(type_index) evaluate_this_obs_kind() => evaluate_this_type_of_obs(type_index) use_ext_prior_this_obs_kind() => use_ext_prior_this_type_of_obs(type_index) get_num_obs_kinds() => get_num_types_of_obs() get_num_raw_obs_kinds() => get_num_quantities() get_obs_kind_index() => get_index_for_type_of_obs(type_name) get_obs_kind_name() => get_name_for_type_of_obs(type_index) get_raw_obs_kind_index() => get_index_for_quantity(quant_name) get_raw_obs_kind_name() => get_name_for_quantity(quant_index) get_obs_kind_var_type() => get_quantity_for_type_of_obs(type_index) get_obs_kind() => get_obs_def_type_of_obs(obs_def) set_obs_def_kind() => set_obs_def_type_of_obs(obs_def) get_kind_from_menu() => get_type_of_obs_from_menu() read_obs_kind() => read_type_of_obs_table(file_unit, file_format) write_obs_kind() => write_type_of_obs_table(file_unit, file_format) maps obs_seq nums to specific type nums, only used in read_obs_seq: map_def_index() => map_type_of_obs_table() removed. apparently unused, and simply calls get_obs_kind_name(): get_obs_name() apparently unused anywhere, removed: add_wind_names() do_obs_form_pair() public integer parameter constants and subroutine formal argument names, old on left, new on right: KIND_ => QTY_ kind => quantity TYPE_ => TYPE_ type => type_of_obs integer parameters: max_obs_generic => max_defined_quantities (not currently public, leave private) max_obs_kinds => max_defined_types_of_obs
&quality_control_nml input_qc_threshold = 3, outlier_threshold = 4, enable_special_outlier_code = .false. /
&filter_nml single_file_in = .false., single_file_out = .false., input_state_file_list = 'null', output_state_file_list = 'null', input_state_files = 'null', output_state_files = 'null', stages_to_write = 'output' write_all_stages_at_end = .false. output_restarts = .true. output_mean = .true. output_sd = .true. perturb_from_single_instance = .false., perturbation_amplitude = 0.2_r8, distributed_state = .true. /
NetCDF reads and writes:
For input file names:
input_state_file_list
a file for each domain,
each of which contains a list of restart files.
An example of an 'input_list.txt' might look something like :
advance_temp1/wrfinput_d01 advance_temp2/wrfinput_d01 advance_temp3/wrfinput_d01 advance_temp4/wrfinput_d01 advance_temp5/wrfinput_d01 ....
input_state_file_list
is provided then default
filenames will be used e.g. input_member_####.nc, input_priorinf_mean.nc,
input_priorinf_sd.nc
For output file names:
output_state_file_list
a file for each domain,
each of which contains a list of restart files.
An example of an 'input_list.txt' might for WRF might look something like :
wrf_out_d01.0001.nc wrf_out_d01.0002.nc wrf_out_d01.0003.nc wrf_out_d01.0004.nc wrf_out_d01.0005.nc ....
output_state_files
is provided then default
filenames will be used e.g. output_member_####.nc,
output_priorinf_mean.nc, output_priorinf_sd.nc
single_file_in
,
single_file_out
which contains all copies needed to run filter.
&state_vector_io_nml buffer_state_io = .false., single_precision_output = .false., /
When buffer_state_io
is
.false.
the entire state is read into memory at once
if .true. variables are read one at a time.
If your model can not fit into memory at once this must
be set to .true.
.
single_precision_output
allows you to run filter in double precision but write
NetCDF files in single presision
&assim_tools_nml distribute_mean = .true. /
In previous DART releases, each processor gets a copy of the mean
(in ens_mean_for_model). In RMA DART, the mean is distributed across all
processors. However, a user can choose to have a copy of the mean on each
processor by setting distribute_mean = .false.
. Note that the
mean state is accessed through get_state
whether distribute_mean
is .true.
or .false.
&filter_nml input_qc_threshold = 3, outlier_threshold = 4, enable_special_outlier_code = .false. start_from_restart = .false. output_inflation = .true. output_restart = .true. /NOTE :
output_restart
has been renamed to
output_restarts
. output_inflation
is no longer supported
and only writes inflation files if inf_flavor > 1
&ensemble_manager_nml single_restart_file_out = .true. perturbation_amplitude = 0.2, /
&assim_manager_nml write_binary_restart_files = .true., netCDF_large_file_support = .false. /
perturb_from_single_instance
. The model_mod interface
is now pert_model_copies
not pert_model_state
. Each
task perturbs every ensemble member for its own subsection of state. This is
more complicated than the Lanai routine pert_model_state
, where a
whole state vector is available. If a model_mod does not provide a perturb
interface, filter will do the perturbing with an amplitude set in
filter_nml:perturbation_amplitude. Note the perturb
namelist options have been removed from ensemble_manager_nml
DART software - Copyright UCAR. This open source software is provided by UCAR, "as is", without charge, subject to all terms of use at http://www.image.ucar.edu/DAReS/DART/DART_download


Prolog XO
This is a classic tic-tac-toe game where the logic is implemented in Prolog (swiprolog specifically)
Choose your game options and play!
| {{ cell }} |
This is a classic tic-tac-toe game where the logic is implemented in Prolog (swiprolog specifically)
Choose your game options and play!
| {{ cell }} |


--- layout: default title: '404' permalink: /404.html ---
Page not found
The page you are looking for was moved, removed, renamed, or might never have existed. We apologize for the inconvenience!


Server StatusActive
System ImageUbuntu 12.10
Size512 MB RAM, 20 GB Disk
RegionDallas (DFW)
Server TypeNext Generation Server
| Table Title |
|---|
You are not monitoring this serverSet up checks for greater visibility on uptime, performance, etc. |
| Column Title | Column Title |
|---|---|
| Lorem ipsum dolar sit amet | Lorem ipsum dolar |
| Do dolar di amet si | Lorem ipsum dolar |
| Do dolar di amet si | Lorem ipsum dolar |
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
This is an information block
This is a hyperlinkSome filler text to explain things.
Link to action


Resource
Resources allow you to keep track of all the places you have been and gathered references from.


The open dataset from freeCodeCamp's 2017 survey of more than 20,000 developers
You can read more about this survey here.
You can discuss this dataset in freeCodeCamp's Data Science Gitter chatroom.
As of April 11, 2017, only the raw CSV dump has been uploaded (exported directly from Typeform).
This 2017 New Coder Survey is made available under the Open Database License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in individual contents of the database are licensed under the Database Contents License: http://opendatacommons.org/licenses/dbcl/1.0/


Author: M.J.N. Corino Copyright © 2012, Remedy IT
Date: November 06, 2012 The Netherlands
This document describes how to use the changes to the ACE API which provide support to use monotonic timers for condition and event variables to solve the problem of system timeshift vulnerability of the ACE Condition and Event variable timeout functionality.
ACE Condition and Event variables implement an API to wait for the condition or event to be signalled with a maximum wait timeout value. This timeout value must be specified as absolute time (this API spec has been derived from the POSIX threading API, pthread, the most widely available, standardized, threading API available) or, in the case of events, optionally as relative time (converted to absolute time by ACE on certain platforms).
Currently ACE expects the timeout value to be based on the system time clock through the ACE API support for that clock (ACE_OS::gettimeofday ()) which is also the default for the POSIX API (originally POSIX did not support anything else).
This dependency on the system time clock however makes ACE Condition and Event variables vulnerable to system clock time shifts since a change in the system clock time setting after an absolute time value has been determined (based on the unchanged system clock) will influence the outstanding wait operations based on these time values.
The ACE implementation for the Windows platform does not use the POSIX interface but is still potentially vulnerable because the ACE implementation itself performs a conversion from absolute to relative time before executing wait operation on a Condition variable (as this is what the Win32 API expects). Since this conversion is based on the system time clock here also a vulnerability exists.
To resolve this vulnerability the notion of MONOTONIC timer sources should be integrated into the ACE Condition and Event support. MONOTONIC timers are timer sources which are independent of the system time clock and will always return time values which are correct relative to previously returned time values (at least within the lifetime of a single running process).
The customer encountered this problem while making use of the ACE_Message_Queue classes in the implementation of their application. The enqueu/dequeue functionality of the message queues makes heavy use of the ACE Condition variable timed wait support. The customer also used ACE_Event derived classes which suffer from the same vulnerability.
Prerequisites for the solution are:
maintain backward compatibility (as for all changes made to the ACE API) and cross platform stability (if not full support on all platforms);
create an implementation that allows for integration in the customers application with minimal code changes;
create an implementation allowing for staged completion in the full ACE API, i.e. only change those parts of ACE now that are essential to the solution of the customer problem and postpone any non-essential changes without losing library consistency and stability.
The implemented solution involves adding support for the ACE Time_Policy traits in the ACE Condition and Event APIs and those classes directly related to the ACE Condition and Event timed wait functionality that are used by the customer (like ACE_Event, ACE_Message_Queue and ACE_Task). Also some classes tightly linked to those classes have been updated.
The newly added monotonic time policy, ACE_Monotonic_Time_Policy, provides support for monotonic time values (on Windows and any POSIX platform providing the necessary support like recent versions of Linux).
New (virtual) functionality in ACE_Time_Value combined with a derived template class (ACE_Time_Value_T<>) provide time policy awareness in time values.
Using the combination of these changes it is now possible to set up message queues that support monotonic time values for timed wait methods in a portable way as will be shown in the following section.
The following are examples of user code changes required to update an application to support monotonic timed message queues.
Message_Queue and Task class templates have been provided with an additional template argument to specify the Time_Policy to use for condition variables. To use monotonic time values the new ACE_Monotonic_Time_Policy should be used.
So, where an existing application declared a Message_Queue as:
ACE_Message_Queue<ACE_MT_SYNCH> msg_queue_;
this would need to change to:
ACE_Message_Queue<ACE_MT_SYNCH, ACE_Monotonic_Time_Policy> msg_queue_;
The changes for task are similar:
class MyTask : public ACE_Task<ACE_MT_SYNCH> { … };
should change to:
class MyTask : public ACE_Task<ACE_MT_SYNCH, ACE_Monotonic_Time_Policy> { … };
To specify timeout values to these message queues on the enqueue/dequeue operations you would have to use time values that are Time_Policy aware. To that end a templated derivative of ACE_Time_Value has been implemented allowing one to declare a time value as:
ACE_Time_Value_T<ACE_Monotonic_Time_Policy> timeout_;
The updated Message_Queue and Task classes provide a convenience method to initialize such a time value with the time policy based time of day as follows:
ACE_Time_Value_T<ACE_Monotonic_Time_Policy> timeout_ (msg_queue_.gettimeofday ()); // or ACE_Time_Value_T<ACE_Monotonic_Time_Policy> timeout_; timeout_ = msg_queue_.gettimeofday ();
The return type of this method is a time policy specific time value as follows:
tempate <ACE_SYNCH_DECL, class TIME_POLICY> class ACE_Message_Queue : public ACE_Message_Queue_Base { … ACE_Time_Value_T<TIME_POLICY> gettimeofday () const; … };
To define a wait timeout of 5 sec and execute an enqueu operation the following would apply:
... ACE_Time_Value_T<ACE_Monotonic_Time_Policy> timeout_; timeout_ = msg_queue_.gettimeofday (); timeout_ += ACE_Time_Value (5,0); msg_queue_.enqueue (msg_block, &timeout_); …
Similar changes apply to the refactored ACE_Event classes. In addition to the added support for time policies also a new base class is introduced to allow for generic use of an Event variable after instantiation of a specific time policy based type.
… // declare an Event variable ACE_Event_Base &evt; … // initialize Event variable ACE_Manual_Event_T<ACE_Monotonic_Time_Policy> mono_evt; evt = mono_evt; … // wait 5 sec for event to be signalled ACE_Time_Value_T<ACE_Monotonic_Time_Policy> timeout_; timeout_ = timeout_.now (); timeout_ += ACE_Time_Value (5,0); evt.wait (&timeout_); … // OR (using relative timeout) … ACE_Time_Value_T<ACE_Monotonic_Time_Policy> timeout_ (5,0); evt.wait (&timeout_, 0);
NOTE: To function
properly the ACE_Time_Value pointer passed to the timed wait methods
MUST be the address
of an ACE_Time_Value_T<TIME_POLICY> instance which matches the
TIME_POLICY of the message queue or task. This is because the lower
layers now rely on the new time policy aware virtual methods of the
ACE_Time_Value classes to perform time calculations (to_relative_time
(), to_absolute_time (), now ()).
Unfortunately due to backward
compatibility issues it was not possible to change the signatures of
the timed wait methods to type safe versions accepting only correct
time value instances.
NOTE2: Please be aware of the differences in behaviour of the time calculation operations.
unary calculations (-=, += ,*=, –, ++) maintain time policy awareness, i.e. these operations always return a time policy aware time value (ACE_Time_Value_T<> instance; which may a reference to the time value itself);
binary calculations (+, -, *) always return a default ACE_Time_Value instance and thus loose time policy awareness. The basic numeric time values contained in these instances should only be used for comparative purposes or to update the value of a time policy based instance like:
ACE_Time_Value_T<ACE_Monotonic_Time_Policy> t1, t2; … // t1 and t2 get assigned values // calculate difference between t1 and t2 ACE_Time_Value tdiff = t2 – t1; … // at some point calculate new absolute time based on tdiff ACE_Time_Value_T<ACE_Monotonic_Time_Policy> tv; // now () returns an ACE_Time_Value representing current time according // to the active time policy of tv tv = tv.now () + tdiff;
More examples code can be found in the following regression tests
$ACE_ROOT/tests/Bug_4055_Regression
$ACE_ROOT/tests/Monotonic_Task_Test
$ACE_ROOT/tests/Monotonic_Message_Queue_Test
$ACE_ROOT/tests/Monotonic_Manual_Event_Test


Setback for methanol plant
by The Canadian PressWashington state has dealt a setback to efforts to build one of the world’s biggest methanol plants on the Columbia River.
In a decision Friday, the Department of Ecology said backers of the $2 billion project still had not provided enough information about greenhouse gas emissions and how they would be offset. It is requiring another round of environmental review.
The Northwest Innovation Works project would take natural gas from Canada and convert it into methanol, which would be shipped to China to make olefins — compounds used in everything from fabrics and contact lenses to iPhones and medical equipment.
Backers said the project would seriously reduce global greenhouse gas emissions by displacing China’s use of coal to make methanol. Environmental groups said there was little evidence of that.


Some of my relatives know how to surf, and my uncle owns a surf shop in Georgia. One summer, I want them to teach me how to surf.


#include <db_cxx.h>static int DbMpoolFile::open(DbMpool *mp, char *file, u_int32_t flags, int mode, size_t pagesize, DbMpoolFinfo *finfop, DbMpoolFile **mpf);
The DbMpoolFile::open method opens a file in the pool specified by the DbMpool mp, copying the DbMpoolFile pointer representing it into the memory location referenced by mpf.
The file argument is the name of the file to be opened. If file is NULL, a private file is created that cannot be shared with any other process (although it may be shared with other threads).
The flags and mode arguments specify how files will be opened and/or created if they do not already exist. The flags value is specified by logically OR'ing together one or more of the following values:
All files created by the function DbMpoolFile::open are created with mode mode (as described in chmod(2)) and modified by the process' umask value at the time of creation (see umask(2)))). The group ownership of created files is based on the system and directory defaults, and is not further specified by Berkeley DB.
The pagesize argument is the size, in bytes, of the unit of transfer between the application and the pool, although it is not necessarily the unit of transfer between the pool and the source file.
Files opened in the pool may be further configured based on the finfop argument to DbMpoolFile::open, which is a pointer to a structure of type DB_MPOOL_FINFO). No references to the finfop structure are maintained by Berkeley DB, so it may be discarded when the DbMpoolFile::open function returns. In order to ensure compatibility with future releases of Berkeley DB, all fields of the DB_MPOOL_FINFO structure that are not explicitly set should be initialized to 0 before the first time the structure is used. Do this by declaring the structure external or static, or by calling the C library routine bzero(3) or memset(3).
The fields of the DB_MPOOL_FINFO structure used by DbMpoolFile::open are described below. If finfop is NULL or any of its fields are set to their default value, defaults appropriate for the system are used.
Applications wanting to maintain a shared memory buffer pool across system reboots, where the pool contains pages from files stored on such filesystems, must specify a unique file identifier to the DbMpoolFile::open call and each process opening or registering the file must provide the same unique identifier.
If the fileid field is non-NULL, it must reference a DB_FILE_ID_LEN
length array of bytes that will be used to uniquely identify the file.
This should not be necessary for most applications. Specifically, it is
not necessary if the memory pool is re-instantiated after each system
reboot, the application is using the Berkeley DB access methods instead of
calling the pool functions explicitly, or the files in the memory pool
are stored on filesystems where the file device and inode numbers do not
change across system reboots.
The DbMpoolFile::open method either returns errno or throws an exception that encapsulates an errno on failure, and 0 on success.
The DbMpoolFile::open method may fail and throw an exception for any of the errors specified for the following Berkeley DB and C library functions: DBmemp->pgin(3), DBmemp->pgout(3), abort(3), close(3), dbenv->db_paniccall(3), fcntl(3), fflush(3), fprintf(3), free(3), fstat(3), fsync(3), getenv(3), getpid(3), getuid(3), isdigit(3), DbLog::compare, DbLog::flush, lseek(3), malloc(3), memcmp(3), memcpy(3), memset(3), mmap(3), open(3), pread(3), pstat_getdynamic(3), pwrite(3), read(3), sigfillset(3), sigprocmask(3), stat(3), strerror(3), strlen(3), sysconf(3), time(3), unlink(3), vfprintf(3), vsnprintf(3), and write(3).
In addition, the DbMpoolFile::open method may fail and throw an exception or return errno for the following conditions:
The file has already been entered into the pool, and the pagesize value is not the same as when the file was entered into the pool, or the length of the file is not zero or a multiple of the pagesize.
The DB_RDONLY flag was specified for an in-memory pool.


a documentation system so good, you'll actually write documentation
documentation.js has pluggable output formats: you can get raw documentation as JSON, beautiful, customizable HTML, or Markdown that fits perfectly into an API.md or README.md file in a GitHub repository
documentation.js aims to cover all flavors of modern JavaScript.


{% extends "blog/base_template.html" %} {% import "macros/post_widget.html" as post_widget %} {% import "macros/posts_carousel.html" as posts_carousel %} {% import "macros/tag_widget.html" as tag_widget %} {# Displays the home page. Expects the following arguments: %} {# `featured_posts`: an iterable of type `Post`. #} {# `recent_posts`: an iterable of type `Post` with the most recent 5 published posts. #} {# `all_tags`: an iterable of type `Tag` with all Tags that should be displayed in the "What are you interested in" section. #} {# `tag_counts`: a dict mapping Tag.slug to the number of posts that use the tag. #} {# `page_meta`: page metadata. #} {% block content %}
I've been writing about programming and other things I'm passionate about since 2017. I created this website from scratch using Python flask and Bootstrap. It's all on Github!
Read more on my About Page.


Configurations:
To simplify the use of the project several aspects of the server and client are configurable.
Server configurations:
All the server configurations are stored as ini files in the Config folder.
You have the ability to setup account, database, logging, networking, player and world settings.
Client configurations:
All the client configurations are stored in the Assets\Scripts\Config folder.
You have the ability to setup encyption, network and client version settings.
"It is recommended to create configurations for everything."