| Package | Description |
|---|---|
| edu.cmu.sphinx.api | |
| edu.cmu.sphinx.decoder |
Provides a set of high level classes that can
be used to configure and initiate the speech recognition decoding
process.
|
| edu.cmu.sphinx.decoder.pruner |
Provides an interface that represents the pruning facility
|
| edu.cmu.sphinx.decoder.scorer |
Provides an interface that represents entities that can be
scored, and an interface and several implementations of a scorer that
can score these entities.
|
| edu.cmu.sphinx.decoder.search |
Provides classes and interfaces that are used to manage the search
through the search graph.
|
| edu.cmu.sphinx.frontend |
Provides a set of high level classes and interfaces that are used
to perform digital signal processing for speech recognition.
|
| edu.cmu.sphinx.frontend.databranch |
This package contains some classes to create a subbranch of a FronEnd at an arbitrary position.
|
| edu.cmu.sphinx.frontend.denoise | |
| edu.cmu.sphinx.frontend.endpoint |
Provides classes and interfaces used for speech endpointing.
|
| edu.cmu.sphinx.frontend.feature |
Provides classes that processes features.
|
| edu.cmu.sphinx.frontend.filter |
Provides classes that implement frequency filters.
|
| edu.cmu.sphinx.frontend.frequencywarp |
Provides classes that perform frequency warping.
|
| edu.cmu.sphinx.frontend.transform |
Provides classes that transform data from one domain into another.
|
| edu.cmu.sphinx.frontend.util |
Provides classes that are generally useful to the various frontend
classes.
|
| edu.cmu.sphinx.frontend.window |
Provides classes that implement windowing functions.
|
| edu.cmu.sphinx.instrumentation |
Provides a set of classes that monitor and track operational aspects of the Sphinx system.
|
| edu.cmu.sphinx.jsgf | |
| edu.cmu.sphinx.linguist |
Provides a set of interfaces and classes that are used to define the
search graph used by the decoder.
|
| edu.cmu.sphinx.linguist.acoustic |
Provides classes that represent the acoustic model.
|
| edu.cmu.sphinx.linguist.acoustic.tiedstate |
Provides classes that represent acoustic model in terms of a set of
tied states.
|
| edu.cmu.sphinx.linguist.acoustic.tiedstate.trainer |
Provides classes that represent a trainable acoustic model.
|
| edu.cmu.sphinx.linguist.acoustic.trivial |
Provides classes that represent a trivial acoustic model.
|
| edu.cmu.sphinx.linguist.aflat | |
| edu.cmu.sphinx.linguist.allphone | |
| edu.cmu.sphinx.linguist.dflat | |
| edu.cmu.sphinx.linguist.dictionary |
Provides a generic interface to a dictionary as well as several
implementations.
|
| edu.cmu.sphinx.linguist.flat |
Provides an implementation of the
Linguist that
statically represents the search space as a flat graph, where each
word in the vocabulary has its own branch. |
| edu.cmu.sphinx.linguist.language.classes | |
| edu.cmu.sphinx.linguist.language.grammar |
Provides classes and interfaces that can be used to represent a graph of words and word transitions.
|
| edu.cmu.sphinx.linguist.language.ngram |
Provides classes and interfaces that represent a stochastic language model
|
| edu.cmu.sphinx.linguist.language.ngram.large |
Provides an implementation of the LanguageModel interface.
|
| edu.cmu.sphinx.linguist.lextree |
Provides an implementation of the
Linguist that
represents the search space as a lex tree. |
| edu.cmu.sphinx.linguist.util |
Provides a set of classes that are useful by implementations of the
Linguist interface. |
| edu.cmu.sphinx.recognizer |
Provides a set of high level classes and interfaces that are used
to perform speech recognition with the Sphinx-4 speech recognition system.
|
| edu.cmu.sphinx.tools.batch |
Provides an tool that performs batch-mode speech recognition.
|
| edu.cmu.sphinx.tools.feature |
Description
|
| edu.cmu.sphinx.tools.live |
Provides an tool that performs pseudo-live-mode speech recognition.
|
| edu.cmu.sphinx.trainer |
Provides a set of high level classes that can
be used to configure and initiate the speech recognition training
process.
|
| edu.cmu.sphinx.util.props |
Provides a mechanism for managing persistent configuration data.
|
| edu.cmu.sphinx.util.props.tools |
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Component
A component property.
|
| S4ComponentList
A list property.
|
| S4Integer
An integer property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| ConfigurableAdapter
An default (abstract) implementation of a configurable that implements a meaning
toString() and keeps a
references to the Confurable 's logger. |
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Component
A component property.
|
| S4Integer
An integer property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Component
A component property.
|
| S4ComponentList
A list property.
|
| S4Double
* A double property.
|
| S4Integer
An integer property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| ConfigurableAdapter
An default (abstract) implementation of a configurable that implements a meaning
toString() and keeps a
references to the Confurable 's logger. |
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Component
A component property.
|
| S4ComponentList
A list property.
|
| S4Double
* A double property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| ConfigurableAdapter
An default (abstract) implementation of a configurable that implements a meaning
toString() and keeps a
references to the Confurable 's logger. |
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4ComponentList
A list property.
|
| S4Integer
An integer property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| ConfigurableAdapter
An default (abstract) implementation of a configurable that implements a meaning
toString() and keeps a
references to the Confurable 's logger. |
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Double
* A double property.
|
| S4Integer
An integer property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| ConfigurableAdapter
An default (abstract) implementation of a configurable that implements a meaning
toString() and keeps a
references to the Confurable 's logger. |
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Double
* A double property.
|
| S4Integer
An integer property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| ConfigurableAdapter
An default (abstract) implementation of a configurable that implements a meaning
toString() and keeps a
references to the Confurable 's logger. |
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Component
A component property.
|
| S4Integer
An integer property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| ConfigurableAdapter
An default (abstract) implementation of a configurable that implements a meaning
toString() and keeps a
references to the Confurable 's logger. |
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Double
* A double property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| ConfigurableAdapter
An default (abstract) implementation of a configurable that implements a meaning
toString() and keeps a
references to the Confurable 's logger. |
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Double
* A double property.
|
| S4Integer
An integer property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| ConfigurableAdapter
An default (abstract) implementation of a configurable that implements a meaning
toString() and keeps a
references to the Confurable 's logger. |
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Integer
An integer property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| ConfigurableAdapter
An default (abstract) implementation of a configurable that implements a meaning
toString() and keeps a
references to the Confurable 's logger. |
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4ComponentList
A list property.
|
| S4Double
* A double property.
|
| S4Integer
An integer property.
|
| S4String
A string property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| ConfigurableAdapter
An default (abstract) implementation of a configurable that implements a meaning
toString() and keeps a
references to the Confurable 's logger. |
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Double
* A double property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| ConfigurableAdapter
An default (abstract) implementation of a configurable that implements a meaning
toString() and keeps a
references to the Confurable 's logger. |
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Component
A component property.
|
| S4ComponentList
A list property.
|
| S4String
A string property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4String
A string property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Component
A component property.
|
| S4Double
* A double property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4String
A string property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Component
A component property.
|
| S4Double
* A double property.
|
| S4Integer
An integer property.
|
| S4String
A string property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Component
A component property.
|
| S4Double
* A double property.
|
| S4Integer
An integer property.
|
| S4String
A string property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Integer
An integer property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Component
A component property.
|
| S4Double
* A double property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Component
A component property.
|
| S4Double
* A double property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Component
A component property.
|
| S4Double
* A double property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Component
A component property.
|
| S4Integer
An integer property.
|
| S4String
A string property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Component
A component property.
|
| S4Double
* A double property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Component
A component property.
|
| S4String
A string property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Component
A component property.
|
| S4String
A string property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Component
A component property.
|
| S4ComponentList
A list property.
|
| S4Double
* A double property.
|
| S4Integer
An integer property.
|
| S4String
A string property.
|
| S4StringList
A List containing float numbers.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Double
* A double property.
|
| S4Integer
An integer property.
|
| S4String
A string property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Component
A component property.
|
| S4Double
* A double property.
|
| S4Integer
An integer property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4String
A string property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Component
A component property.
|
| S4ComponentList
A list property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| ConfigurationManager
Manages a set of
Configurable s, their parameterization and the relationships between them. |
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Component
A component property.
|
| S4ComponentList
A list property.
|
| S4Integer
An integer property.
|
| S4String
A string property.
|
| Class and Description |
|---|
| ConfigurationManager
Manages a set of
Configurable s, their parameterization and the relationships between them. |
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Component
A component property.
|
| S4Integer
An integer property.
|
| S4String
A string property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| S4Boolean
A logical property.
|
| S4Component
A component property.
|
| S4ComponentList
A list property.
|
| S4Double
* A double property.
|
| S4Integer
An integer property.
|
| S4String
A string property.
|
| Class and Description |
|---|
| Configurable
Defines the interface that must be implemented by any configurable component in Sphinx-4.
|
| ConfigurationChangeListener
Describes all methods necessary to process change events of a
ConfigurationManager . |
| ConfigurationManager
Manages a set of
Configurable s, their parameterization and the relationships between them. |
| InternalConfigurationException
Indicates that a problem occurred while setting one or more properties for this component.
|
| PropertyException
Indicates that a problem occurred while setting one or more properties for this component
|
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
| PropertyType
An enum type that defines the possible property types.
|
| RawPropertyData
Holds the raw property data just as it has come in from the properties file.
|
| S4Property
A tag which superclasses all sphinx property annotations.
|
| S4PropWrapper
Wraps annotations
|
| Class and Description |
|---|
| ConfigurationManager
Manages a set of
Configurable s, their parameterization and the relationships between them. |
| PropertySheet
A property sheet which defines a collection of properties for a single component
in the system.
|
Copyright © 2017. All rights reserved.


Perform all the steps in a single terminal window
These steps will download latest fabric docker images, initialize the fabric blockchain and create a composer profile on the fabric blockchain
export FABRIC_VERSION=hlfv1
cd ~/hyperledger/composer/fabric-tools
./downloadFabric.sh
./startFabric.sh
./createComposerProfile.sh
cd ~/hyperledger/composer/my-network
current directory ~/hyperledger/composer/my-network
npm install
current directory ~/hyperledger/composer/my-network
cd dist
composer network deploy -a my-network.bna -p hlfv1 -i PeerAdmin -s randomString
cd ..
To check whether the .bna is successfully deployed, run
composer network ping -n my-network -p hlfv1 -i admin -s adminpw
which should return
The connection to the network was successfully tested: my-network
version: 0.10.0
participant: <no participant found>
Command succeeded
Current directory ~/hyperledger/composer/my-network
Run
composer-rest-server
Enter The following choices
? Enter your Fabric Connection Profile Name:
hlfv1
? Enter your Business Network Identifier :
my-network
? Enter your Fabric username :
admin
? Enter your secret:
adminpw
? Specify if you want namespaces in the generated REST API:
never use namespaces
? Specify if you want the generated REST API to be secured:
No
? Specify if you want to enable event publication over WebSockets:
Yes
? Specify if you want to enable TLS security for the REST API:
No
This will run the rest server which will listen on localhost:3000
The Api can be browsed on localhost:3000/explorer
Close the rest server with Ctrl+C
Current directory ~/hyperledger/composer/my-network
cd my-app
npm start
This will execute the composer-rest-server
to start API server on localhost:3000
with explorer
onlocalhost:3000/explorer
.
The angular files are webserved on localhost:4200


| Modifier and Type | Method and Description |
|---|---|
abstract OFModel[] |
OFModule.getModels()
returns the array of all
OFModel objects associated with this module. |
OFModel[] |
OFController.getModels()
This method returns all the
OFModel object
which are associated with this controller. |
| Modifier and Type | Method and Description |
|---|---|
void |
RESTApiServer.registerOFModels(OFModel[] models)
Register models to the RESTApiServer object.
|
| Modifier and Type | Class and Description |
|---|---|
class |
Devices
This class manages information of devices such as device map,
device indices and so on.
|
| Modifier and Type | Method and Description |
|---|---|
OFModel[] |
OFMDeviceManager.getModels() |
OFModel[] |
OFMDefaultEntityClassifier.getModels() |
| Modifier and Type | Class and Description |
|---|---|
class |
FirewallStorage
This class is a storage to manage firewall rules.
|
| Modifier and Type | Method and Description |
|---|---|
OFModel[] |
OFMFirewall.getModels() |
| Modifier and Type | Method and Description |
|---|---|
OFModel[] |
Forwarding.getModels() |
| Modifier and Type | Method and Description |
|---|---|
OFModel[] |
Hub.getModels() |
| Modifier and Type | Method and Description |
|---|---|
OFModel[] |
OFMLearningMac13.getModels()
As this module have no model, it just returns null
|
OFModel[] |
OFMLearningMac10.getModels()
As this module have no model, it just returns null
|
OFModel[] |
OFMLearningMac.getModels()
As this module have no model, it just returns null
|
| Modifier and Type | Class and Description |
|---|---|
class |
Links
Model of the module
OFMLinkDiscovery |
| Modifier and Type | Method and Description |
|---|---|
OFModel[] |
OFMLinkDiscovery.getModels() |
| Modifier and Type | Class and Description |
|---|---|
class |
State
Model that represents the internal data of
OFMStateManager . |
| Modifier and Type | Method and Description |
|---|---|
OFModel[] |
OFMStateManager.getModels()
return the model object
OFMStateManager.state . |
| Modifier and Type | Class and Description |
|---|---|
class |
Storage
This class provides RESTful APIs for applications using
IStorageService Interface. |
| Modifier and Type | Method and Description |
|---|---|
OFModel[] |
OFMStorageManager.getModels() |
| Modifier and Type | Class and Description |
|---|---|
class |
Topology
This class provides RESTful API for accessing topology information.
|
| Modifier and Type | Method and Description |
|---|---|
OFModel[] |
OFMTopologyManager.getModels() |
| Modifier and Type | Class and Description |
|---|---|
class |
WebUserInterface |
| Modifier and Type | Method and Description |
|---|---|
OFModel[] |
OFMUserInterface.getModels() |
| Modifier and Type | Method and Description |
|---|---|
OFModel[] |
IOFHandler.getModels() |


Create grid
Name
Age
Sex
Barney Rubble
32
Male
Fred Flintstone
33
Male
Betty Rubble
32
Female
Pebbles
1
Female
Bamm Bamm
2
Male


This was my forth experience with 5-MeO-DiPT. I've been an active entheogen user for years, experimenting with many psychedelic substances. A friend had come across some 5-MeO-DiPT and offered it to me. The first three experiences with foxy methoxy were nothing spectacular. A lot of nausea/vomiting prevented me from enjoying them fully. My forth and final (for now) experience was much more satisfying.
4:00am - MY friend 'J' and I returned to my apartment from a musical event very happy and eager to dose. We put on some soothing music(Iíve been wanting to try this substance while listening to the music of 'Shpongle', would like some feedback if anyone has), dimmed the lights, relaxed for about 20 minutes and decided we were ready.
4:30am - J and I took out the capsules with the 5-MeO-DiPT in them and proceeded to dose (his dose - 12mg[he had also been smoking marijuana earlier that evening], mine - 15mg). I started adding pillows and blankets to the room for more comfort while J was on the computer controlling the music. We sat around reading things from the internet & listening to music while the effects came on.
5:15am - The sun began to rise and the effects are coming on very quick and intense. J and I started giggling a lot while chatting. Everything seemed very easygoing. My previous experiences with foxy resulted in much bathroom time vomiting and a very harsh body load so I migrated to a comfortable spot on the floor with a pillow to curl up and try to wait it out. This is when the trip 'really' started.
5:30am - The effects are starting to peak. The body load is so intense I barely want to move. I lay on the floor in a fetal position under a blanket listening to music. The auditory effects are amazing as well as the visual effects. Visual effects much like low doses of LSD - tracers, shifting/breathing flat areas, a clear haze over everything. J was having a much lighter experience reporting less visual hallucinations, and was up moving around and playing with the effects.
6:00am - The sun is up leaving a dim light through my window shades, very pleasant. While I was curled up on the floor distracted by the body load, J decided to change the pace of music. He put on Carlos 'Soul' Slinger - Ali Rocks - a very long tribal style jungle song. This track uses a lot of exotic instruments like the Sitar and melodic hindi style chanting vocals. I closed my eyes and listened to how the music fluxuated in pitch and tone. I had been lying down curled up so tight for so long it became comfortable, Along with the melodic chanting, I felt as if I were in a dream state. Not many closed eye visuals YET, just listening to the audio effects of the drug.
6:15 - I had been in such a trance from the music I did not notice how far along the song was or even that this music was being played from my stereo. Almost like a dream, I had a very slow/glowing vision, which has never happened to me on Foxy Methoxy. As the trance went on, I became more and more disconnected from reality and what was going on around me, eventually forgetting that I was even laying on the floor in my apartment. Right before the song ended, with my eyes closed, I saw what resembled a beautiful glowing tree in the forest(when I look back on it, it reminds me of 'the tree of life??').
Focusing on the roots and base of the tree, the base seemed to open up as the music progressed and became more intense. As the tree trunk opened a white/golden light emerged from inside it revealing what I would describe as Heaven. Not in the sense of people up in the white clouds with angels and harps..etc But in the sense of the 'essence' of heaven and the feeling it is associated with. Undying love and beauty came from this light and surrounded me with sounds of people singing to and for me, helping me. I am not sure how long this went on.
7:00am - The music suddenly stopped waking me from the trance. I was almost shocked from what had just happened.  I got up and to my surprise there was no more harsh body load( which usually stays with me). But, to my disappointment, for some reason there were not many other effects left that had been there before I closed my eyes. I put on some more mellow music and grabbed something to eat. I sat down to eat and think about what I just saw. Over the next few minutes I realized the effects had completely disappeared. No visual distortion or auditory hallucinations, no harsh body load, no anxiety...nothing. I just sat there, not feeling.
7:30am - The trip is completely over for me, which is strange. My other foxy trips lasted between 5 and 6 hours. J still seemed to be tripping although he noted the effects were dying off gradually.
7:45am - I am bored and confused.  Sleep came very easy this time. Within the next few minutes, I was out in dream land.
The next day I had a peaceful but worn out feeling over me. This was definitely one of the strangest experiences with any of the many psychedelic substances Iíve tried. Mostly because foxy has never been very intense for me. As soon as I get my hands on some more, I will definitely experiment with other music and settings.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


{% include shared/head.html %} {% include shared/header.html %} {{ content }} {% include shared/footer.html %}


001/* 002// This software is subject to the terms of the Eclipse Public License v1.0 003// Agreement, available at the following URL: 004// http://www.eclipse.org/legal/epl-v10.html. 005// You must accept the terms of that agreement to use this software. 006// 007// Copyright (C) 2007-2007 Pentaho and others 008// All Rights Reserved. 009*/ 010package mondrian.util; 011 012/** 013 * API for Mondrian's memory monitors. 014 * 015 *
For Java4, the available monitors 016 * do nothing since there is no reliable way of detecting that 017 * memory is running low using such a JVM (you are welcome to 018 * try to create one, but I believe you will fail - some such candidates 019 * only make it more likely that an OutOfMemory condition will occur). 020 * 021 *
For Java5 one 022 * can optionally enable a monitor which is based upon the Java5 023 * memory classes locate in java.lang.management. 024 * 025 *
A client must implement the MemoryMonitor.Listener interface 026 * and register with the MemoryMonitor. 027 * 028 *
The MemoryMonitor supports having multiple 029 * Listener clients. The clients can have the same 030 * threshold percentage or different values. The threshold percentage value 031 * is used by the MemoryMonitor to determine when to 032 * notify a client. It is the percentage of the total memory: 033 *
 034 *  035 * 100 * free-memory / total-memory (0 ≤ free-memory ≤ total-memory). 036 *  037 *
 038 * 039 * @author Richard M. Emberson 040 * @since Feb 01 2007 041 */ 042public interface MemoryMonitor { 043 044 /** 045 * Adds a Listener to the MemoryMonitor with 046 * a given threshold percentage. 047 * 048 *
If the threshold is below the Java5 memory managment system's 049 * threshold, then the Listener is notified from within this 050 * method. 051 * 052 * @param listener the Listener to be added. 053 * @param thresholdPercentage the threshold percentage for this 054 * Listener. 055 * @return true if the Listener was 056 * added and false otherwise. 057 */ 058 boolean addListener(Listener listener, int thresholdPercentage); 059 060 /** 061 * Adds a Listener using the default threshold percentage. 062 * 063 *
If the threshold is below the Java5 memory managment system's 064 * threshold, then the Listener is notified from within this 065 * method. 066 * 067 * @param listener the Listener to be added. 068 * @return true if the Listener was 069 * added and false otherwise. 070 */ 071 boolean addListener(final Listener listener); 072 073 /** 074 * Changes the threshold percentage of a given Listener. 075 * 076 *
If the new value is below the system's current value, then the 077 * Listener will have its notification callback called 078 * while in this method - so a client should always check if its 079 * notification method was called immediately after calling this 080 * method. 081 * 082 *
This method can be used if, for example, an algorithm has 083 * different approaches that result in different memory 084 * usage profiles; one, large memory but fast and 085 * a second which is low-memory but slow. The algorithm starts 086 * with the large memory approach, receives a low memory 087 * notification, switches to the low memory approach and changes 088 * when it should be notified for this new approach. The first 089 * approach need to be notified at a lower percentage because it 090 * uses lots of memory, possibly quickly; while the second 091 * approach, possibly a file based algorithm, has smaller memory 092 * requirements and uses memory less quickly thus one can 093 * live with a higher notification threshold percentage. 094 * 095 * @param listener the Listener being updated. 096 * @param percentage new percentage threshold. 097 */ 098 void updateListenerThreshold(Listener listener, int percentage); 099 100 /** 101 * Removes a Listener from the MemoryMonitor. 102 * Returns true if listener was removed and 103 * false otherwise. 104 * 105 * @param listener the listener to be removed 106 * @return true if listener was removed. 107 */ 108 boolean removeListener(Listener listener); 109 110 /** 111 * Clear out all Listeners and turnoff JVM 112 * memory notification. 113 */ 114 void removeAllListener(); 115 116 /** 117 * Returns the maximum memory usage. 118 * 119 * @return the maximum memory usage. 120 */ 121 long getMaxMemory(); 122 123 /** 124 * Returns the current memory used. 125 * 126 * @return the current memory used. 127 */ 128 long getUsedMemory(); 129 130 131 /** 132 * A MemoryMonitor client implements the Listener 133 * interface and registers with the MemoryMonitor. 134 * When the MemoryMonitor detects that free memory is 135 * low, it notifies the client by calling the client's 136 * memoryUsageNotification method. It is important 137 * that the client quickly return from this call, that the 138 * memoryUsageNotification method does not do a lot of 139 * work. It is best if it simply sets a flag. The flag should be 140 * polled by an application thread and when it detects that the 141 * flag was set, it should take immediate memory relinquishing operations. 142 * In the case of Mondrian, the present query is aborted. 143 */ 144 interface Listener { 145 146 /** 147 * When the MemoryMonitor determines that the 148 * Listener's threshold is equal to or less than 149 * the current available memory (post garbage collection), 150 * then this method is called with the current memory usage, 151 * usedMemory, and the maximum memory (which 152 * is a constant per JVM invocation). 153 *
 154 * This method is called (in the case of Java5) by a system 155 * thread associated with the garbage collection activity. 156 * When this method is called, the client should quickly do what 157 * it needs to to communicate with an application thread and 158 * then return. Generally, quickly de-referencing some big objects 159 * and setting a flag is the most that should be done by 160 * implementations of this method. If the implementor chooses to 161 * de-reference some objects, then the application code must 162 * be written so that if will not throw a NullPointerException 163 * when such de-referenced objects are accessed. If a flag 164 * is set, then the application must be written to check the 165 * flag periodically. 166 * 167 * @param usedMemory the current memory used. 168 * @param maxMemory the maximum available memory. 169 */ 170 void memoryUsageNotification(long usedMemory, long maxMemory); 171 } 172 173 /** 174 * This is an interface that a MemoryMonitor may optionally 175 * implement. These methods give the tester access to some of the 176 * internal, white-box data. 177 *
 178 * During testing Mondrian has a default 179 * MemoryMonitor which might be replaced with a test 180 * MemoryMonitors using the ThreadLocal 181 * mechanism. After the test using the test 182 * MemoryMonitor finishes, a call to the 183 * resetFromTest method allows 184 * the default MemoryMonitor reset itself. 185 * This is hook that should only be called as part of testing. 186 */ 187 interface Test { 188 189 /** 190 * This should only be called when one is switching from a 191 * test MemoryMonitor back to the default system 192 * MemoryMonitor. In particular, look at 193 * the MemoryMonitorFactory's 194 * clearThreadLocalClassName() method for its 195 * usage. 196 */ 197 void resetFromTest(); 198 } 199} 200 201// End MemoryMonitor.java


[[text]]
Message was created on [[ createdAt ]]
Powered by https://github.com/mywebclass/mwc_plugin_welcome


 Raising money through a lemonade stand, you have to upgrade your treehouse and make it into a world-famous attraction! At the moment, I have no art assets, or much experience to make good ones. Help would be appreciated.
At the moment, it is almost completely empty and currently on hiatus, but I might continue working on it and over-hauling it to be a web-based progressive game. Only time will tell.


Packages Used
# automatically create a bib database for R packages
knitr::write_bib(c(
.packages(), 'bookdown', 'knitr', 'rmarkdown','packages.bib', "book.bib"))
## @Manual{R-base,
## title = {R: A Language and Environment for Statistical Computing},
## author = {{R Core Team}},
## organization = {R Foundation for Statistical Computing},
## address = {Vienna, Austria},
## year = {2020},
## url = {https://www.R-project.org/},
## }
##
## @Manual{R-bookdown,
## title = {bookdown: Authoring Books and Technical Documents with R Markdown},
## author = {Yihui Xie},
## year = {2020},
## note = {R package version 0.21},
## url = {https://CRAN.R-project.org/package=bookdown},
## }
##
## @Manual{R-colorspace,
## title = {colorspace: A Toolbox for Manipulating and Assessing Colors and Palettes},
## author = {Ross Ihaka and Paul Murrell and Kurt Hornik and Jason C. Fisher and Reto Stauffer and Claus O. Wilke and Claire D. McWhite and Achim Zeileis},
## year = {2019},
## note = {R package version 1.4-1},
## url = {https://CRAN.R-project.org/package=colorspace},
## }
##
## @Manual{R-dplyr,
## title = {dplyr: A Grammar of Data Manipulation},
## author = {Hadley Wickham and Romain François and Lionel {
## Henry} and Kirill Müller},
## year = {2020},
## note = {R package version 1.0.2},
## url = {https://CRAN.R-project.org/package=dplyr},
## }
##
## @Manual{R-DT,
## title = {DT: A Wrapper of the JavaScript Library 'DataTables'},
## author = {Yihui Xie and Joe Cheng and Xianying Tan},
## year = {2020},
## note = {R package version 0.15},
## url = {https://CRAN.R-project.org/package=DT},
## }
##
## @Manual{R-forcats,
## title = {forcats: Tools for Working with Categorical Variables (Factors)},
## author = {Hadley Wickham},
## year = {2020},
## note = {R package version 0.5.0},
## url = {https://CRAN.R-project.org/package=forcats},
## }
##
## @Manual{R-Formula,
## title = {Formula: Extended Model Formulas},
## author = {Achim Zeileis and Yves Croissant},
## year = {2018},
## note = {R package version 1.2-3},
## url = {https://CRAN.R-project.org/package=Formula},
## }
##
## @Manual{R-ggplot2,
## title = {ggplot2: Create Elegant Data Visualisations Using the Grammar of Graphics},
## author = {Hadley Wickham and Winston Chang and Lionel Henry and Thomas Lin Pedersen and Kohske Takahashi and Claus Wilke and Kara Woo and Hiroaki Yutani and Dewey Dunnington},
## year = {2020},
## note = {R package version 3.3.2},
## url = {https://CRAN.R-project.org/package=ggplot2},
## }
##
## @Manual{R-ggraph,
## title = {ggraph: An Implementation of Grammar of Graphics for Graphs and Networks},
## author = {Thomas Lin Pedersen},
## year = {2020},
## note = {R package version 2.0.3},
## url = {https://CRAN.R-project.org/package=ggraph},
## }
##
## @Manual{R-ggwordcloud,
## title = {ggwordcloud: A Word Cloud Geom for 'ggplot2'},
## author = {Erwan {Le Pennec} and Kamil Slowikowski},
## year = {2019},
## note = {R package version 0.5.0},
## url = {https://CRAN.R-project.org/package=ggwordcloud},
## }
##
## @Manual{R-Hmisc,
## title = {Hmisc: Harrell Miscellaneous},
## author = {Frank E {Harrell Jr} and with contributions from Charles Dupont and many others.},
## year = {2020},
## note = {R package version 4.4-1},
## url = {https://CRAN.R-project.org/package=Hmisc},
## }
##
## @Manual{R-hrbrthemes,
## title = {hrbrthemes: Additional Themes, Theme Components and Utilities for 'ggplot2'},
## author = {Bob Rudis},
## year = {2020},
## note = {R package version 0.8.0},
## url = {https://CRAN.R-project.org/package=hrbrthemes},
## }
##
## @Manual{R-kableExtra,
## title = {kableExtra: Construct Complex Table with 'kable' and Pipe Syntax},
## author = {Hao Zhu},
## year = {2020},
## note = {R package version 1.2.1},
## url = {https://CRAN.R-project.org/package=kableExtra},
## }
##
## @Manual{R-knitr,
## title = {knitr: A General-Purpose Package for Dynamic Report Generation in R},
## author = {Yihui Xie},
## year = {2020},
## note = {R package version 1.29},
## url = {https://CRAN.R-project.org/package=knitr},
## }
##
## @Manual{R-lattice,
## title = {lattice: Trellis Graphics for R},
## author = {Deepayan Sarkar},
## year = {2020},
## note = {R package version 0.20-41},
## url = {https://CRAN.R-project.org/package=lattice},
## }
##
## @Manual{R-lubridate,
## title = {lubridate: Make Dealing with Dates a Little Easier},
## author = {Vitalie Spinu and Garrett Grolemund and Hadley Wickham},
## year = {2020},
## note = {R package version 1.7.9},
## url = {https://CRAN.R-project.org/package=lubridate},
## }
##
## @Manual{R-NLP,
## title = {NLP: Natural Language Processing Infrastructure},
## author = {Kurt Hornik},
## year = {2018},
## note = {R package version 0.2-0},
## url = {https://CRAN.R-project.org/package=NLP},
## }
##
## @Manual{R-plotly,
## title = {plotly: Create Interactive Web Graphics via 'plotly.js'},
## author = {Carson Sievert and Chris Parmer and Toby Hocking and Scott Chamberlain and Karthik Ram and Marianne Corvellec and Pedro Despouy},
## year = {2020},
## note = {R package version <IP_ADDRESS>},
## url = {https://CRAN.R-project.org/package=plotly},
## }
##
## @Manual{R-purrr,
## title = {purrr: Functional Programming Tools},
## author = {Lionel Henry and Hadley Wickham},
## year = {2020},
## note = {R package version 0.3.4},
## url = {https://CRAN.R-project.org/package=purrr},
## }
##
## @Manual{R-Quandl,
## title = {Quandl: API Wrapper for Quandl.com},
## author = {{Raymond McTaggart} and {Gergely Daroczi} and {Clement Leung}},
## year = {2019},
## note = {R package version 2.10.0},
## url = {https://CRAN.R-project.org/package=Quandl},
## }
##
## @Manual{R-RColorBrewer,
## title = {RColorBrewer: ColorBrewer Palettes},
## author = {Erich Neuwirth},
## year = {2014},
## note = {R package version 1.1-2},
## url = {https://CRAN.R-project.org/package=RColorBrewer},
## }
##
## @Manual{R-readr,
## title = {readr: Read Rectangular Text Data},
## author = {Hadley Wickham and Jim Hester and Romain Francois},
## year = {2018},
## note = {R package version 1.3.1},
## url = {https://CRAN.R-project.org/package=readr},
## }
##
## @Manual{R-reshape,
## title = {reshape: Flexibly Reshape Data},
## author = {Hadley Wickham},
## year = {2018},
## note = {R package version 0.8.8},
## url = {https://CRAN.R-project.org/package=reshape},
## }
##
## @Manual{R-rmarkdown,
## title = {rmarkdown: Dynamic Documents for R},
## author = {JJ Allaire and Yihui Xie and Jonathan McPherson and Javier Luraschi and Kevin Ushey and Aron Atkins and Hadley Wickham and Joe Cheng and Winston Chang and Richard Iannone},
## year = {2020},
## note = {R package version 2.4},
## url = {https://CRAN.R-project.org/package=rmarkdown},
## }
##
## @Manual{R-scales,
## title = {scales: Scale Functions for Visualization},
## author = {Hadley Wickham and Dana Seidel},
## year = {2020},
## note = {R package version 1.1.1},
## url = {https://CRAN.R-project.org/package=scales},
## }
##
## @Manual{R-stringr,
## title = {stringr: Simple, Consistent Wrappers for Common String Operations},
## author = {Hadley Wickham},
## year = {2019},
## note = {R package version 1.4.0},
## url = {https://CRAN.R-project.org/package=stringr},
## }
##
## @Manual{R-survival,
## title = {survival: Survival Analysis},
## author = {Terry M Therneau},
## year = {2020},
## note = {R package version 3.1-12},
## url = {https://CRAN.R-project.org/package=survival},
## }
##
## @Manual{R-textclean,
## title = {textclean: Text Cleaning Tools},
## author = {Tyler Rinker},
## year = {2018},
## note = {R package version 0.9.3},
## url = {https://CRAN.R-project.org/package=textclean},
## }
##
## @Manual{R-tibble,
## title = {tibble: Simple Data Frames},
## author = {Kirill Müller and Hadley Wickham},
## year = {2020},
## note = {R package version 3.0.3},
## url = {https://CRAN.R-project.org/package=tibble},
## }
##
## @Manual{R-tidygraph,
## title = {tidygraph: A Tidy API for Graph Manipulation},
## author = {Thomas Lin Pedersen},
## year = {2020},
## note = {R package version 1.2.0},
## url = {https://CRAN.R-project.org/package=tidygraph},
## }
##
## @Manual{R-tidyr,
## title = {tidyr: Tidy Messy Data},
## author = {Hadley Wickham},
## year = {2020},
## note = {R package version 1.1.2},
## url = {https://CRAN.R-project.org/package=tidyr},
## }
##
## @Manual{R-tidytext,
## title = {tidytext: Text Mining using 'dplyr', 'ggplot2', and Other Tidy Tools},
## author = {David Robinson and Julia Silge},
## year = {2020},
## note = {R package version 0.2.5},
## url = {https://CRAN.R-project.org/package=tidytext},
## }
##
## @Manual{R-tidyverse,
## title = {tidyverse: Easily Install and Load the 'Tidyverse'},
## author = {Hadley Wickham},
## year = {2019},
## note = {R package version 1.3.0},
## url = {https://CRAN.R-project.org/package=tidyverse},
## }
##
## @Manual{R-tm,
## title = {tm: Text Mining Package},
## author = {Ingo Feinerer and Kurt Hornik},
## year = {2019},
## note = {R package version 0.7-7},
## url = {https://CRAN.R-project.org/package=tm},
## }
##
## @Manual{R-viridis,
## title = {viridis: Default Color Maps from 'matplotlib'},
## author = {Simon Garnier},
## year = {2018},
## note = {R package version 0.5.1},
## url = {https://CRAN.R-project.org/package=viridis},
## }
##
## @Manual{R-viridisLite,
## title = {viridisLite: Default Color Maps from 'matplotlib' (Lite Version)},
## author = {Simon Garnier},
## year = {2018},
## note = {R package version 0.3.0},
## url = {https://CRAN.R-project.org/package=viridisLite},
## }
##
## @Manual{R-wordcloud,
## title = {wordcloud: Word Clouds},
## author = {Ian Fellows},
## year = {2018},
## note = {R package version 2.6},
## url = {https://CRAN.R-project.org/package=wordcloud},
## }
##
## @Manual{R-xts,
## title = {xts: eXtensible Time Series},
## author = {Jeffrey A. Ryan and Joshua M. Ulrich},
## year = {2020},
## note = {R package version 0.12.1},
## url = {https://CRAN.R-project.org/package=xts},
## }
##
## @Manual{R-zoo,
## title = {zoo: S3 Infrastructure for Regular and Irregular Time Series (Z's
## Ordered Observations)},
## author = {Achim Zeileis and Gabor Grothendieck and Jeffrey A. Ryan},
## year = {2020},
## note = {R package version 1.8-8},
## url = {https://CRAN.R-project.org/package=zoo},
## }
##
## @Book{bookdown2016,
## title = {bookdown: Authoring Books and Technical Documents with {R} Markdown},
## author = {Yihui Xie},
## publisher = {Chapman and Hall/CRC},
## address = {Boca Raton, Florida},
## year = {2016},
## note = {ISBN<PHONE_NUMBER>109},
## url = {https://github.com/rstudio/bookdown},
## }
##
## @TechReport{colorspace2019a,
## title = {{colorspace}: A Toolbox for Manipulating and Assessing Colors and Palettes},
## author = {Achim Zeileis and Jason C. Fisher and Kurt Hornik and Ross Ihaka and Claire D. McWhite and Paul Murrell and Reto Stauffer and Claus O. Wilke},
## year = {2019},
## institution = {arXiv.org E-Print Archive},
## type = {arXiv},
## number = {1903.06490},
## month = {March},
## url = {http://arxiv.org/abs/1903.06490},
## }
##
## @Article{colorspace2009a,
## title = {Escaping {RGB}land: Selecting Colors for Statistical Graphics},
## author = {Achim Zeileis and Kurt Hornik and Paul Murrell},
## journal = {Computational Statistics \& Data Analysis},
## year = {2009},
## volume = {53},
## number = {9},
## pages = {3259--3270},
## doi = {10.1016/j.csda.2008.11.033},
## }
##
## @Article{colorspace2009b,
## title = {Somewhere over the Rainbow: How to Make Effective Use of Colors in Meteorological Visualizations},
## author = {Reto Stauffer and Georg J. Mayr and Markus Dabernig and Achim Zeileis},
## journal = {Bulletin of the American Meteorological Society},
## year = {2009},
## volume = {96},
## number = {2},
## pages = {203--216},
## doi = {10.1175/BAMS-D-13-00155.1},
## }
##
## @Article{Formula2010,
## title = {Extended Model Formulas in {R}: Multiple Parts and Multiple Responses},
## author = {Achim Zeileis and Yves Croissant},
## journal = {Journal of Statistical Software},
## year = {2010},
## volume = {34},
## number = {1},
## pages = {1--13},
## doi = {10.18637/jss.v034.i01},
## }
##
## @Book{ggplot22016,
## author = {Hadley Wickham},
## title = {ggplot2: Elegant Graphics for Data Analysis},
## publisher = {Springer-Verlag New York},
## year = {2016},
## isbn = {978-3-319-24277-4},
## url = {https://ggplot2.tidyverse.org},
## }
##
## @Book{knitr2015,
## title = {Dynamic Documents with {R} and knitr},
## author = {Yihui Xie},
## publisher = {Chapman and Hall/CRC},
## address = {Boca Raton, Florida},
## year = {2015},
## edition = {2nd},
## note = {ISBN<PHONE_NUMBER>963},
## url = {https://yihui.org/knitr/},
## }
##
## @InCollection{knitr2014,
## booktitle = {Implementing Reproducible Computational Research},
## editor = {Victoria Stodden and Friedrich Leisch and Roger D. Peng},
## title = {knitr: A Comprehensive Tool for Reproducible Research in {R}},
## author = {Yihui Xie},
## publisher = {Chapman and Hall/CRC},
## year = {2014},
## note = {ISBN<PHONE_NUMBER>595},
## url = {http://www.crcpress.com/product/isbn/9781466561595},
## }
##
## @Book{lattice2008,
## title = {Lattice: Multivariate Data Visualization with R},
## author = {Deepayan Sarkar},
## publisher = {Springer},
## address = {New York},
## year = {2008},
## note = {ISBN 978-0-387-75968-5},
## url = {http://lmdvr.r-forge.r-project.org},
## }
##
## @Article{lubridate2011,
## title = {Dates and Times Made Easy with {lubridate}},
## author = {Garrett Grolemund and Hadley Wickham},
## journal = {Journal of Statistical Software},
## year = {2011},
## volume = {40},
## number = {3},
## pages = {1--25},
## url = {http://www.jstatsoft.org/v40/i03/},
## }
##
## @Book{plotly2020,
## author = {Carson Sievert},
## title = {Interactive Web-Based Data Visualization with R, plotly, and shiny},
## publisher = {Chapman and Hall/CRC},
## year = {2020},
## isbn = {9781138331457},
## url = {https://plotly-r.com},
## }
##
## @Article{reshape2007,
## author = {Hadley Wickham},
## journal = {Journal of Statistical Software},
## number = {12},
## title = {Reshaping data with the reshape package},
## url = {http://www.jstatsoft.org/v21/i12/paper},
## volume = {21},
## year = {2007},
## }
##
## @Book{rmarkdown2018,
## title = {R Markdown: The Definitive Guide},
## author = {Yihui Xie and J.J. Allaire and Garrett Grolemund},
## publisher = {Chapman and Hall/CRC},
## address = {Boca Raton, Florida},
## year = {2018},
## note = {ISBN<PHONE_NUMBER>338},
## url = {https://bookdown.org/yihui/rmarkdown},
## }
##
## @Book{rmarkdown2020,
## title = {R Markdown Cookbook},
## author = {Yihui Xie and Christophe Dervieux and Emily Riederer},
## publisher = {Chapman and Hall/CRC},
## address = {Boca Raton, Florida},
## year = {2020},
## note = {ISBN<PHONE_NUMBER>837},
## url = {https://bookdown.org/yihui/rmarkdown-cookbook},
## }
##
## @Book{survival-book,
## title = {Modeling Survival Data: Extending the {C}ox Model},
## author = {{Terry M. Therneau} and {Patricia M. Grambsch}},
## year = {2000},
## publisher = {Springer},
## address = {New York},
## isbn = {0-387-98784-3},
## }
##
## @Manual{textclean2018,
## title = {{textclean}: Text Cleaning Tools},
## author = {Tyler W. Rinker},
## address = {Buffalo, New York},
## note = {version 0.9.3},
## year = {2018},
## url = {https://github.com/trinker/textclean},
## }
##
## @Article{tidytext2016,
## title = {tidytext: Text Mining and Analysis Using Tidy Data Principles in R},
## author = {Julia Silge and David Robinson},
## doi = {10.21105/joss.00037},
## url = {http://dx.doi.org/10.21105/joss.00037},
## year = {2016},
## publisher = {The Open Journal},
## volume = {1},
## number = {3},
## journal = {JOSS},
## }
##
## @Article{tidyverse2019,
## title = {Welcome to the {tidyverse}},
## author = {Hadley Wickham and Mara Averick and Jennifer Bryan and Winston Chang and Lucy D'Agostino McGowan and Romain François and Garrett Grolemund and Alex Hayes and Lionel Henry and Jim Hester and Max Kuhn and Thomas Lin Pedersen and Evan Miller and Stephan Milton Bache and Kirill Müller and Jeroen Ooms and David Robinson and Dana Paige Seidel and Vitalie Spinu and Kohske Takahashi and Davis Vaughan and Claus Wilke and Kara Woo and Hiroaki Yutani},
## year = {2019},
## journal = {Journal of Open Source Software},
## volume = {4},
## number = {43},
## pages = {1686},
## doi = {10.21105/joss.01686},
## }
##
## @Article{tm2008,
## title = {Text Mining Infrastructure in R},
## author = {Ingo Feinerer and Kurt Hornik and David Meyer},
## year = {2008},
## journal = {Journal of Statistical Software},
## volume = {25},
## number = {5},
## pages = {1--54},
## url = {http://www.jstatsoft.org/v25/i05/},
## month = {March},
## }
##
## @Article{zoo2005,
## title = {zoo: S3 Infrastructure for Regular and Irregular Time Series},
## author = {Achim Zeileis and Gabor Grothendieck},
## journal = {Journal of Statistical Software},
## year = {2005},
## volume = {14},
## number = {6},
## pages = {1--27},
## doi = {10.18637/jss.v014.i06},
## }


Current filename format: (To be loaded)
Will open in new tab:
Using PDF redirection:
Note: You'll need to re-open the arXiv tabs for the new filename format to take effect.
Note: Disabling PDF redirection will disallow renaming for PDF tabs.
Current external PDF viewer URL prefix:
Note: Setting an external PDF viewer enables Screenshots and Go Back.


{{ timer }}s {{ frame }}/{{ game.config.total }}
Click on the theme you think is right for this image on the bottom.
Time will be ticking on the top.
score: {{ game.last.score }} total: {{ game.last.total }} time: {{ formatTime(game.last.time) }}s level: {{ game.last.level }}
{{ game.config.title }}
How to play the game? Get a hint »
choose a game level:
{{ game.config.themes }}:
- ⋅ {{ item }}


This is a marked div.
This div shouldn't be marked.
Click it to remove all marks.
This should be a marked one again.


Switch Camera
You can also adjust the CSS filters applied to your video
Change Video Filters
Change Image Filters


|
fuLisp
0.2.0
|
#include <assert.h>
#include "safety.h"
#include "lisp_internals.h"
#include "garbage_collector.h"
#include "environment.h"
#include "lambda.h"
Go to the source code of this file.
Macros | |
| #define | NIL __NIL |
| The NIL atom. More... | |
| #define | T __T |
| The T atom. More... | |
| #define | REST __REST |
| The symbol that denotes the variable to store abundand arguments of lambda calls. More... | |
| #define | TYPE_INTEGER __TYPE_INTEGER |
| Symbol that denotes the type 'INTEGER'. More... | |
| #define | TYPE_FLOAT __TYPE_FLOAT |
| Symbol that denotes the type 'FLOAT'. More... | |
| #define | TYPE_CHARACTER __TYPE_CHARACTER |
| Symbol that denotes the type 'CHAR'. More... | |
| #define | TYPE_STRING __TYPE_STRING |
| Symbol that denotes the type 'STRING'. More... | |
| #define | TYPE_SYMBOL __TYPE_SYMBOL |
| Symbol that denotes the type 'SYMBOL'. More... | |
| #define | TYPE_CONS __TYPE_CONS |
| Symbol that denotes the type 'CONS'. More... | |
| #define | TYPE_LAMBDA __TYPE_LAMBDA |
| Symbol that denotes the type 'LAMBDA'. More... | |
| #define | TYPE_NATIVE_FUNC __TYPE_NATIVE_FUNC |
| Symbol that denotes the type 'NATIVE FUNCTION'. More... | |
| #define | TYPE_ENVIRONMENT __TYPE_ENVIRONMENT |
| Symbol that denotes the type 'ENVIRONMENT'. More... | |
| #define | EXPRESSION_TYPE(x) __EXPRESSION_TYPE(x) |
| Gives the type of the expression. More... | |
| #define | EXPR_OF_TYPE(x, y) __EXPR_OF_TYPE(x, y) |
| Checks whether a given expression is of a certain kind This macro takes any kind of the following constants, so one can check whether the expression contains a pointer by providing EXPR_POINTER, one can check whether the expression is particular pointer type like a string by providing EXPR_STRING e.g. More... | |
| #define | EXPR_IS_POINTER(x) __EXPR_IS_POINTER(x) |
| Checks whether x is a pointer type. More... | |
| #define | EXPR_IS_CONS(x) EXPR_OF_TYPE(x, EXPR_CONS) |
| Checks whether x is a Cons cell. More... | |
| #define | EXPR_IS_NIL(x) __EXPR_IS_NIL(x) |
| Checks whether x is NIL. More... | |
| #define | EXPR_IS_VALID(x) |
| Checks whether x is a valid (initialized) expression. More... | |
| #define | EXPR_SET_TYPE(expr, type) __EXPR_SET_TYPE(expr, type) |
| Sets the type of the expression. More... | |
| #define | EXPR_TYPE_AREAL |
| Defines the bytes to be used for determining the type. More... | |
| #define | EXPR_GC_MARKER_BIT (1 << 7) |
| The bit used for the GC to mark expressions. More... | |
| #define | EXPR_NO_TYPE 0 |
| This represents just an uninitialised expression. More... | |
| #define | EXPR_POINTER (1 << 6) |
| Expression contains a pointer (to be freed) More... | |
| #define | EXPR_ATOM (1 << 5) |
| Expression contains a an atomar value (not to be freed) More... | |
| #define | EXPR_INTEGER (EXPR_ATOM | 1) |
| Expression is an integer. More... | |
| #define | EXPR_FLOAT (EXPR_ATOM | 2) |
| Expression is a float. More... | |
| #define | EXPR_CHARACTER (EXPR_ATOM | 3) |
| Expression is an character. More... | |
| #define | EXPR_STRING (EXPR_POINTER | 1) |
| Expression is an string. More... | |
| #define | EXPR_CONS (EXPR_POINTER | 3) |
| Expression is an cons cell. More... | |
| #define | EXPR_LAMBDA (EXPR_POINTER | 5) |
| Expression is a lambda expression. More... | |
| #define | EXPR_SYMBOL (EXPR_POINTER | 2) |
| Expression is asymbol. More... | |
| #define | EXPR_NATIVE_FUNC (EXPR_ATOM | 4) |
| Expression is an native function. More... | |
| #define | EXPR_ENVIRONMENT (EXPR_POINTER | 6) |
| Expression is an hash table. More... | |
Typedefs | |
| typedef struct Expression *( | NativeFunction )(struct Expression *env, struct Expression *) |
Functions | |
| void | expressionDispose (struct Expression *env, struct Expression *expr) |
| disposes an expression Takes care of the reference count More... | |
| void | expressionForceDispose (struct Expression *env, struct Expression *expr) |
| Dispose an expression, bypass any kind of garbage collector. More... | |
| struct Expression * | expressionCreate (struct Expression *env, unsigned char type, void *content, void *extension) |
| Creates an expression. More... | |
| struct Expression * | expressionCreateNativeFunc (struct Expression *env, NativeFunction *content) |
| Creates an expression. More... | |
| struct Expression * | createEnvironmentExpression (struct Environment *env) |
| Create an Expression struct around an environment struct. More... | |
| struct Expression * | expressionAssign (struct Expression *env, struct Expression *expr) |
| Takes care of the modification necessary to an expression that is going to be assigned to anything. More... | |
| struct Expression * | expressionCreateString (struct Expression *env, char *str) |
| Creates a expression containing a string. More... | |
| struct Expression * | createSymbol (struct Expression *env, char *str) |
| Creates a symbol. More... | |
| #define EXPR_ATOM (1 << 5) |
Expression contains a an atomar value (not to be freed)
| #define EXPR_CONS (EXPR_POINTER | 3) |
Expression is an cons cell.
| #define EXPR_ENVIRONMENT (EXPR_POINTER | 6) |
Expression is an hash table.
| #define EXPR_GC_MARKER_BIT (1 << 7) |
The bit used for the GC to mark expressions.
| #define EXPR_IS_CONS | ( | x | ) | EXPR_OF_TYPE(x, EXPR_CONS) |
Checks whether x is a Cons cell.
| #define EXPR_IS_NIL | ( | x | ) | __EXPR_IS_NIL(x) |
Checks whether x is NIL.
| #define EXPR_IS_POINTER | ( | x | ) | __EXPR_IS_POINTER(x) |
Checks whether x is a pointer type.
| #define EXPR_IS_VALID | ( | x | ) |
Checks whether x is a valid (initialized) expression.
| #define EXPR_LAMBDA (EXPR_POINTER | 5) |
Expression is a lambda expression.
| #define EXPR_NO_TYPE 0 |
This represents just an uninitialised expression.
| #define EXPR_OF_TYPE | ( | x, | |
| y | |||
| ) | __EXPR_OF_TYPE(x, y) |
Checks whether a given expression is of a certain kind This macro takes any kind of the following constants, so one can check whether the expression contains a pointer by providing EXPR_POINTER, one can check whether the expression is particular pointer type like a string by providing EXPR_STRING e.g.
Attention: This macro cannot be used to detect NIL as this could be represented by 0x0 pointer.
| x | a pointer to an expression |
| y | unsigned integer indicating the type |
| #define EXPR_POINTER (1 << 6) |
Expression contains a pointer (to be freed)
| #define EXPR_SET_TYPE | ( | expr, | |
| type | |||
| ) | __EXPR_SET_TYPE(expr, type) |
Sets the type of the expression.
| expr | pointer to expression |
| type | the new type |
| #define EXPR_STRING (EXPR_POINTER | 1) |
Expression is an string.
| #define EXPR_SYMBOL (EXPR_POINTER | 2) |
Expression is asymbol.
| #define EXPR_TYPE_AREAL |
Defines the bytes to be used for determining the type.
| #define EXPRESSION_TYPE | ( | x | ) | __EXPRESSION_TYPE(x) |
Gives the type of the expression.
| #define NIL __NIL |
The NIL atom.
| #define REST __REST |
The symbol that denotes the variable to store abundand arguments of lambda calls.
| #define T __T |
The T atom.
| #define TYPE_CHARACTER __TYPE_CHARACTER |
Symbol that denotes the type 'CHAR'.
| #define TYPE_CONS __TYPE_CONS |
Symbol that denotes the type 'CONS'.
| #define TYPE_ENVIRONMENT __TYPE_ENVIRONMENT |
Symbol that denotes the type 'ENVIRONMENT'.
| #define TYPE_FLOAT __TYPE_FLOAT |
Symbol that denotes the type 'FLOAT'.
| #define TYPE_INTEGER __TYPE_INTEGER |
Symbol that denotes the type 'INTEGER'.
| #define TYPE_LAMBDA __TYPE_LAMBDA |
Symbol that denotes the type 'LAMBDA'.
| #define TYPE_NATIVE_FUNC __TYPE_NATIVE_FUNC |
Symbol that denotes the type 'NATIVE FUNCTION'.
| #define TYPE_STRING __TYPE_STRING |
Symbol that denotes the type 'STRING'.
| #define TYPE_SYMBOL __TYPE_SYMBOL |
Symbol that denotes the type 'SYMBOL'.
| typedef struct Expression*( NativeFunction)(struct Expression *env, struct Expression *) |
| struct Expression* createEnvironmentExpression | ( | struct Environment * | env | ) |
Create an Expression struct around an environment struct.
Needed to create root environment
| struct Expression* createSymbol | ( | struct Expression * | env, |
| char * | str | ||
| ) |
Creates a symbol.
| str | the string resembling the symbol |
| struct Expression* expressionAssign | ( | struct Expression * | env, |
| struct Expression * | expr | ||
| ) |
Takes care of the modification necessary to an expression that is going to be assigned to anything.
| expr | the expression that should be assigned |
| struct Expression* expressionCreate | ( | struct Expression * | env, |
| unsigned char | type, | ||
| void * | content, | ||
| void * | extension | ||
| ) |
Creates an expression.
To create an expression containing a native function, usage of
is recommended.
| type | type of the content |
| content | pointer to the content that should go into the new expression |
| extension | in case of cons cell, here goes the pointer to the cdr |
| struct Expression* expressionCreateNativeFunc | ( | struct Expression * | env, |
| NativeFunction * | content | ||
| ) |
Creates an expression.
| type | type of the content |
| content |
| struct Expression* expressionCreateString | ( | struct Expression * | env, |
| char * | str | ||
| ) |
Creates a expression containing a string.
| str | the string |
| void expressionDispose | ( | struct Expression * | env, |
| struct Expression * | expr | ||
| ) |
disposes an expression Takes care of the reference count
| env | the environment currently valid |
| expr | the expression to dispose |
| void expressionForceDispose | ( | struct Expression * | env, |
| struct Expression * | expr | ||
| ) |
Dispose an expression, bypass any kind of garbage collector.
| env | the environment currently valid |
| expr | the expression to dispose |


{% extends request.GET.hybrid|yesno:"mdot/base_hybrid.html,mdot/base.html" %} {% block title %} Building Apps Home {% endblock title %} {% block content %}
Before deciding what to build, understand your options. Mobile web is the most versatile and easiest to maintain, but can be limiting if you need robust device integration.
Existing products may already solve the problems that concern your users. They might not be a perfect fit, but could provide real benefit far more quickly.
Offering a software solution is never without cost. Understand the real costs for ongoing development, maintenance, support, and communication.
Understand and prioritize your user population(s), their needs, and their goals for your software.
What’s the simplest solution that will provide real benefit to your users?
Build a solid foundation, put it in front of users, and then optimize through iteration.
Choosing the technology upon which to build is a huge step. Understand your various options.
Let others do some of the heavy lifting with your technology stack.
Performance is a primary concern for good user experience. Optimize your applications.


The rest of your photos were uploaded successfully but 2 photos were not uploaded because they are not a supported format.


02/05/17
English | German
Contents
DBUtils is a suite of Python modules allowing to connect in a safe and efficient way between a threaded Python application and a database. DBUtils has been written in view of Webware for Python as the application and PyGreSQL as the adapter to a PostgreSQL database, but it can be used for any other Python application and DB-API 2 conformant database adapter.
The DBUtils suite is realized as a Python package containing two subsets of modules, one for use with arbitrary DB-API 2 modules, the other one for use with the classic PyGreSQL module.
Universal DB-API 2 variant |
|
|---|---|
SteadyDB.py |
Hardened DB-API 2 connections |
PooledDB.py |
Pooling for DB-API 2 connections |
PersistentDB.py |
Persistent DB-API 2 connections |
SimplePooledDB.py |
Simple pooling for DB-API 2 |
Classic PyGreSQL variant |
|
|---|---|
SteadyPg.py |
Hardened classic PyGreSQL connections |
PooledPg.py |
Pooling for classic PyGreSQL connections |
PersistentPg.py |
Persistent classic PyGreSQL connections |
SimplePooledPg.py |
Simple pooling for classic PyGreSQL |
The dependencies of the modules in the universal DB-API 2 variant are as indicated in the following diagram:
The dependencies of the modules in the classic PyGreSQL variant are similar:
You can download the actual version of DBUtils from the Python Package Index at:
https://pypi.python.org/pypi/DBUtils
The source code repository can be found here on GitHub:
https://github.com/Cito/DBUtils
If you intend to use DBUtils from other applications than Webware for Python, it is recommended to install the package in the usual way:
python setup.py install
You can also use pip for download and installation:
pip install DBUtils
If you want to use DBUtils as a supplement for the Webware for Python framework only, you should install it as a Webware plug-in:
python setup.py install --install-lib=/path/to/Webware
Replace /path/to/Webware with the path to the root directory of your Webware for Python installation. You will also need to run the Webware installer if this has not been done already or if you want to integrate the DBUtils documentation into the Webware documentation:
cd path/to/Webware python install.py
DBUtils requires at least Python version 2.6. The modules in the classic PyGreSQL variant need PyGreSQL version 3.4 or above, while the modules in the universal DB-API 2 variant run with any Python DB-API 2 compliant database interface module.
This section will refer to the names in the DB-API 2 variant only, but the same applies to the classic PyGreSQL variant.
DBUtils.SimplePooledDB is a very basic reference implementation of a pooled database connection. It is much less sophisticated than the regular PooledDB module and is particularly lacking the failover functionality. DBUtils.SimplePooledDB is essentially the same as the MiscUtils.DBPool module that is part of Webware for Python. You should consider it a demonstration of concept rather than something that should go into production.
DBUtils.SteadyDB is a module implementing "hardened" connections to a database, based on ordinary connections made by any DB-API 2 database module. A "hardened" connection will transparently reopen upon access when it has been closed or the database connection has been lost or when it is used more often than an optional usage limit.
A typical example where this is needed is when the database has been restarted while your application is still running and has open connections to the database, or when your application accesses a remote database in a network that is separated by a firewall and the firewall has been restarted and lost its state.
Usually, you will not use the SteadyDB module directly; it merely serves as a basis for the next two modules, PersistentDB and PooledDB.
DBUtils.PersistentDB implements steady, thread-affine, persistent connections to a database, using any DB-API 2 database module.
The following diagram shows the connection layers involved when you are using PersistentDB connections:
Whenever a thread opens a database connection for the first time, a new connection to the database will be opened that will be used from now on for this specific thread. When the thread closes the database connection, it will still be kept open so that the next time when a connection is requested by the same thread, this already opened connection can be used. The connection will be closed automatically when the thread dies.
In short: PersistentDB tries to recycle database connections to increase the overall database access performance of your threaded application, but it makes sure that connections are never shared between threads.
Therefore, PersistentDB will work perfectly even if the underlying DB-API module is not thread-safe at the connection level, and it will avoid problems when other threads change the database session or perform transactions spreading over more than one SQL command.
DBUtils.PooledDB implements a pool of steady, thread-safe cached connections to a database which are transparently reused, using any DB-API 2 database module.
The following diagram shows the connection layers involved when you are using PooledDB connections:
As the diagram indicates, PooledDB can share opened database connections between different threads. This will happen by default if you set up the connection pool with a positive value of maxshared and the underlying DB-API 2 is thread-safe at the connection level, but you can also request dedicated database connections that will not be shared between threads. Besides the pool of shared connections, you can also set up a pool of at least mincached and at the most maxcached idle connections that will be used whenever a thread is requesting a dedicated database connection or the pool of shared connections is not yet full. When a thread closes a connection that is not shared any more, it is returned back to the pool of idle connections so that it can be recycled again.
If the underlying DB-API module is not thread-safe, thread locks will be used to ensure that the PooledDB connections are thread-safe. So you don't need to worry about that, but you should be careful to use dedicated connections whenever you change the database session or perform transactions spreading over more than one SQL command.
Both PersistentDB and PooledDB serve the same purpose to improve the database access performance by recycling database connections, while preserving stability even if database connection will be disrupted.
So which of these two modules should you use? From the above explanations it is clear that PersistentDB will make more sense if your application keeps a constant number of threads which frequently use the database. In this case, you will always have the same amount of open database connections. However, if your application frequently starts and ends threads, then it will be better to use PooledDB. The latter will also allow more fine-tuning, particularly if you are using a thread-safe DB-API 2 module.
Since the interface of both modules is similar, you can easily switch from one to the other and check which one will suit better.
The usage of all the modules is similar, but there are also some differences in the initialization between the "Pooled" and "Persistent" variants and also between the universal DB-API 2 and the classic PyGreSQL variants.
We will cover here only the PersistentDB module and the more complex PooledDB module. For the details of the other modules, have a look at their module docstrings. Using the Python interpreter console, you can display the documentation of the PooledDB module as follows (this works analogously for the other modules):
help(PooledDB)
In order to make use of the PersistentDB module, you first need to set up a generator for your kind of database connections by creating an instance of PersistentDB, passing the following parameters:
creator: either an arbitrary function returning new DB-API 2 connection objects or a DB-API 2 compliant database module
maxusage: the maximum number of reuses of a single connection (the default of 0 or None means unlimited reuse)
Whenever the limit is reached, the connection will be reset.
setsession: an optional list of SQL commands that may serve to prepare the session, e.g. ["set datestyle to german", ...]
failures: an optional exception class or a tuple of exception classes for which the connection failover mechanism shall be applied, if the default (OperationalError, InternalError) is not adequate
ping: an optional flag controlling when connections are checked with the ping() method if such a method is available (0 = None = never, 1 = default = whenever it is requested, 2 = when a cursor is created, 4 = when a query is executed, 7 = always, and all other bit combinations of these values)
closeable: if this is set to true, then closing connections will be allowed, but by default this will be silently ignored
threadlocal: an optional class for representing thread-local data that will be used instead of our Python implementation (threading.local is faster, but cannot be used in all cases)
The creator function or the connect function of the DB-API 2 compliant database module specified as the creator will receive any additional parameters such as the host, database, user, password etc. You may choose some or all of these parameters in your own creator function, allowing for sophisticated failover and load-balancing mechanisms.
For instance, if you are using pgdb as your DB-API 2 database module and want every connection to your local database mydb to be reused 1000 times:
import pgdb # import used DB-API 2 module from DBUtils.PersistentDB import PersistentDB persist = PersistentDB(pgdb, 1000, database='mydb')
Once you have set up the generator with these parameters, you can request database connections of that kind:
db = persist.connection()
You can use these connections just as if they were ordinary DB-API 2 connections. Actually what you get is the hardened SteadyDB version of the underlying DB-API 2 connection.
Closing a persistent connection with db.close() will be silently ignored since it would be reopened at the next usage anyway and contrary to the intent of having persistent connections. Instead, the connection will be automatically closed when the thread dies. You can change this behavior be setting the closeable parameter.
Note that you need to explicitly start transactions by calling the begin() method. This ensures that the transparent reopening will be suspended until the end of the transaction, and that the connection will be rolled back before being reused by the same thread.
By setting the threadlocal parameter to threading.local, getting connections may become a bit faster, but this may not work in all environments (for instance, mod_wsgi is known to cause problems since it clears the threading.local data between requests).
In order to make use of the PooledDB module, you first need to set up the database connection pool by creating an instance of PooledDB, passing the following parameters:
creator: either an arbitrary function returning new DB-API 2 connection objects or a DB-API 2 compliant database module
mincached : the initial number of idle connections in the pool (the default of 0 means no connections are made at startup)
maxcached: the maximum number of idle connections in the pool (the default value of 0 or None means unlimited pool size)
maxshared: maximum number of shared connections allowed (the default value of 0 or None means all connections are dedicated)
When this maximum number is reached, connections are shared if they have been requested as shareable.
maxconnections: maximum number of connections generally allowed (the default value of 0 or None means any number of connections)
blocking: determines behavior when exceeding the maximum
If this is set to true, block and wait until the number of connections decreases, but by default an error will be reported.
maxusage: maximum number of reuses of a single connection (the default of 0 or None means unlimited reuse)
When this maximum usage number of the connection is reached, the connection is automatically reset (closed and reopened).
setsession: an optional list of SQL commands that may serve to prepare the session, e.g. ["set datestyle to german", ...]
reset: how connections should be reset when returned to the pool (False or None to rollback transcations started with begin(), the default value True always issues a rollback for safety's sake)
failures: an optional exception class or a tuple of exception classes for which the connection failover mechanism shall be applied, if the default (OperationalError, InternalError) is not adequate
ping: an optional flag controlling when connections are checked with the ping() method if such a method is available (0 = None = never, 1 = default = whenever fetched from the pool, 2 = when a cursor is created, 4 = when a query is executed, 7 = always, and all other bit combinations of these values)
The creator function or the connect function of the DB-API 2 compliant database module specified as the creator will receive any additional parameters such as the host, database, user, password etc. You may choose some or all of these parameters in your own creator function, allowing for sophisticated failover and load-balancing mechanisms.
For instance, if you are using pgdb as your DB-API 2 database module and want a pool of at least five connections to your local database mydb:
import pgdb # import used DB-API 2 module from DBUtils.PooledDB import PooledDB pool = PooledDB(pgdb, 5, database='mydb')
Once you have set up the connection pool you can request database connections from that pool:
db = pool.connection()
You can use these connections just as if they were ordinary DB-API 2 connections. Actually what you get is the hardened SteadyDB version of the underlying DB-API 2 connection.
Please note that the connection may be shared with other threads by default if you set a non-zero maxshared parameter and the DB-API 2 module allows this. If you want to have a dedicated connection, use:
db = pool.connection(shareable=False)
Instead of this, you can also get a dedicated connection as follows:
db = pool.dedicated_connection()
If you don't need it any more, you should immediately return it to the pool with db.close(). You can get another connection in the same way.
Warning: In a threaded environment, never do the following:
pool.connection().cursor().execute(...)
This would release the connection too early for reuse which may be fatal if the connections are not thread-safe. Make sure that the connection object stays alive as long as you are using it, like that:
db = pool.connection() cur = db.cursor() cur.execute(...) res = cur.fetchone() cur.close() # or del cur db.close() # or del db
Note that you need to explicitly start transactions by calling the begin() method. This ensures that the connection will not be shared with other threads, that the transparent reopening will be suspended until the end of the transaction, and that the connection will be rolled back before being given back to the connection pool.
If you are using DBUtils in order to access a database from Webware for Python servlets, you need to make sure that you set up your database connection generators only once when the application starts, and not every time a servlet instance is created. For this purpose, you can add the necessary code to the module or class initialization code of your base servlet class, or you can use the contextInitialize() function in the __init__.py script of your application context.
The directory Examples that is part of the DButils distribution contains an example context for Webware for Python that uses a small demo database designed to track the attendees for a series of seminars (the idea for this example has been taken from the article "The Python DB-API" by Andrew Kuchling).
The example context can be configured by either creating a config file Configs/Database.config or by directly changing the default parameters in the example servlet Examples/DBUtilsExample.py. This way you can set an appropriate database user and password, and you can choose the underlying database module (PyGreSQL classic or any DB-API 2 module). If the setting maxcached is present, then the example servlet will use the "Pooled" variant, otherwise it will use the "Persistent" variant.
If you are using one of the popular object-relational mappers SQLObject or SQLAlchemy, you won't need DBUtils, since they come with their own connection pools. SQLObject 2 (SQL-API) is actually borrowing some code from DBUtils to split the pooling out into a separate layer.
Also note that when you are using a solution like the Apache webserver with mod_python or mod_wsgi, then your Python code will be usually run in the context of the webserver's child processes. So if you are using the PooledDB module, and several of these child processes are running, you will have as much database connection pools. If these processes are running many threads, this may still be a reasonable approach, but if these processes don't spawn more than one worker thread, as in the case of Apache's "prefork" multi-processing module, this approach does not make sense. If you're running such a configuration, you should resort to a middleware for connection pooling that supports multi-processing, such as pgpool or pgbouncer for the PostgreSQL database.
Some ideas for future improvements:
Alternatively to the maximum number of uses of a connection, implement a maximum time to live for connections.
Create modules MonitorDB and MonitorPg that will run in a separate thread, monitoring the pool of the idle connections and maybe also the shared connections respectively the thread-affine connections. If a disrupted connection is detected, then it will be reestablished automatically by the monitoring thread. This will be useful in a scenario where a database powering a website is restarted during the night. Without the monitoring thread, the users would experience a slight delay in the next morning, because only then, the disrupted database connections will be detected and the pool will be rebuilt. With the monitoring thread, this will already happen during the night, shortly after the disruption. The monitoring thread could also be configured to generally recreate the connection pool every day shortly before the users arrive.
Optionally log usage, bad connections and exceeding of limits.
Please send bug reports, patches and feedback directly to the author (using the email address given below).
If there are Webware related problems, these can also be discussed in the Webware for Python mailing list.
Some links to related and alternative software:
Webware for Python framework
Python DB-API 2
PostgreSQL database
PyGreSQL Python adapter for PostgreSQL
pgpool middleware for PostgreSQL connection pooling
pgbouncer lightweight PostgreSQL connection pooling
SQLObject object-relational mapper
SQLAlchemy object-relational mapper
Christoph Zwerschke<EMAIL_ADDRESS>DBUtils uses code, input and suggestions made by Ian Bicking, Chuck Esterbrook (Webware for Python), Dan Green (DBTools), Jay Love, Michael Palmer, Tom Schwaller, Geoffrey Talvola, Warren Smith (DbConnectionPool), Ezio Vernacotola, Jehiah Czebotar, Matthew Harriger, Gregory Piñero and Josef van Eenbergen.
Copyright © 2005-2017 by Christoph Zwerschke. All Rights Reserved.
DBUtils is free and open source software, licensed under the MIT license.


Account
Register / Login
Username
Logout
Home
Understandng Of Hunger
Definition Of Hunger
MUAC Tape
Causes Of Hunger
Impact Of Hunger
Case Study
Bengal Famine Of 1943
Africa Hunger Crisis


In this example, we compute the distribution of the stability coefficients estimated from the fished and unfished simulations. Overall this shows little success in distinguishing between the stability of the fished and unfished populations – i.e. no hint that we are managing near an edge.
(Originally run and posted in github notebook, but cross posting for reference here since I had trouble recalling if this was filed with the control project or the warning signals project directory. Hence the backdating too.)
Model setup
Clear the workspace and load package dependencies. pdgControl
is my implementation of these optimization methods and should be installed from this repository, see README.
Define basic parameters of the economic optimal control problem. We have a discrete economic discounting rate, and will solve the dynamic problem over a time window of 50 years. In the discrete implementation we do not inforce the boundary condition, but rather put a value on meeting it. The optimal solution may choose to not statisfy this boundary condition if the benefit outways this lost reward.
delta <- 0.1 # economic discounting rate
OptTime <- 50 # stopping time
reward <- 1 # bonus for satisfying the boundary condition
Use log-normal noise functions for growth noise, measurement error in the stock assessment, and implementation error, following the notation and definitions in Sethi et al. (2005). To begin, we will allow only noise in growth, as in Reed 1979.
sigma_g <- 0.2 # Noise in population growth
sigma_m <- 0. # noise in stock assessment measurement
sigma_i <- 0. # noise in implementation of the quota
z_g <- function() rlnorm(1, 0, sigma_g) # mean 1
z_m <- function() rlnorm(1, 0, sigma_m) # mean 1
z_i <- function() rlnorm(1, 0, sigma_i) # mean 1
Chose the state equation / population dynamics function to have alternate stable states. This is a Beverton-Holt like model with an Allee effect, a model based off of Myers et al. (1995). Note here we’re just loading the function from the package. The equilibrium value K is calculated explicitly from the model given this choice of parameters, as is the allee threshold. We’ll use the allee threshold as the final value xT
. We’ll start the model at the unharvested stochastic equilbrium size.
f <- Myer_harvest
pars <- c(1, 2, 6)
p <- pars # shorthand
K <- p[1] * p[3] / 2 + sqrt( (p[1] * p[3]) ^ 2 - 4 * p[3] ) / 2
xT <- p[1] * p[3] / 2 - sqrt( (p[1] * p[3]) ^ 2 - 4 * p[3] ) / 2 # allee threshold
x0 <- K - sigma_g ^ 2 / 2
We define a profit function with no stock effect for simplicity. Profit is just linear in price, with some operating cost (which prevents strategies that put out more fishing effort than required when trying to catch all fish.)
profit <- profit_harvest(price_fish = 1,
cost_stock_effect = 0,
operating_cost = 0.1)
We solve the system numerically on a discrete grid. We’ll consider all possible fish stocks between zero and twice the carrying capacity, and we’ll consider harvest levels at the same resolution.
gridsize <- 100 # gridsize (discretized population)
x_grid <- seq(0, 2 * K, length = gridsize)
h_grid <- x_grid
The perfect policy
Having defined the problem, we are now ready to calculate the optimal policy by Bellman’s stochastic dynamic programming solution. We compute the stochastic transition matrices giving the probability that the stock goes from any value on the grid x
at time t
to any other value y
at time t+1
, for each possible harvest value. Then we use this to compute the optimal harvest rate at each time interval in the system, solving backwards by dynamic programming. The functions to do this are implemented in this package.
SDP_Mat <- determine_SDP_matrix(f, pars, x_grid, h_grid, sigma_g )
opt <- find_dp_optim(SDP_Mat, x_grid, h_grid, OptTime, xT,
profit, delta, reward=reward)
The implementation
Here we see how this policy performs over 100 replicates
sims <- lapply(1:100, function(i){
ForwardSimulate(f, pars, x_grid, h_grid, x0, opt$D, z_g, z_m, z_i)
})
Outcome
We summarize the results of the simulation in a tidy data table.
dat <- melt(sims, id=names(sims[[1]]))
dt <- data.table(dat)
setnames(dt, "L1", "reps") # names are nice
crashed <- dt[time==as.integer(OptTime-1), fishstock < xT, by=reps]
setkey(dt, reps)
setkey(crashed, reps)
dt <- dt[crashed]
setnames(dt, "V1", "crashed")
p1 <- ggplot(dt) + geom_abline(intercept=opt$S, slope = 0) +
geom_abline(intercept=xT, slope = 0, lty=2)
p1 + geom_line(aes(time, fishstock, group = reps), alpha = 0.2, col="darkblue") +
geom_line(aes(time, unharvested, group = reps), alpha = 0.2, col="lightblue")
Stability calculations
Define a quick function to return just the parameters (or missing values if algorithm does not converge).
require(earlywarning)
stability <- function(x){
n <- length(x)
x <- x[1:(n-2)]
fit <- stability_model(x, "OU")
if(fit$convergence)
out <- as.list(fit$pars)
else
out <- as.list(rep(NA, length(fig$pars)))
out
}
This function can then be applied to the variable in the data.table.
fished = dt[!crashed, stability(fishstock), by=reps]
unfished = dt[!crashed, stability(unharvested), by=reps]
We can then plot the resulting distribution of parameters. (Annoyingly we have to reformat the data to get it in tidy form again).
# tidy format, columns are variables: rep, variable, value, type
unfished_d <- melt(data.frame(cbind(unfished, type="unfished")), id=c("reps", "type"))
fished_d <- melt(data.frame(cbind(fished, type="fished")), id=c("reps", "type"))
dat <- rbind(fished_d,unfished_d)
ggplot(dat) + geom_boxplot(aes(variable, value, fill=type))
ggplot(dat, aes(value, variable)) + geom_ribbon(aes(ymax = ..density.., ymin=-..density..), stat="density") + facet_grid(variable ~ type, as.table=FALSE, scales="free_y")
It’s not entirely evident that we have bimodal distributions from the boxplots. The beanplot (perversion of ggplot’s ribbon plot) makes this abundantly obvious.
So what are those outliers doing?
weirdos <- fished$reps[fished$Ro>10]
ggplot(subset(dt, !(reps %in% weirdos) )) +
geom_line(aes(time, fishstock, group=reps), alpha=.7) +
geom_line(dat=subset(dt, (reps %in% weirdos)),
aes(time, fishstock, group=reps), col="purple", alpha=.4)
If anything they are less variable, but not exceptionally so. Likely this is estimation error.
mean(dt[reps %in% weirdos,var(fishstock), by="reps"]$V1)
[code][1] 0.5116
```
mean(dt[!(reps %in% weirdos),var(fishstock), by="reps"]$V1)
[code][1] 0.6191
```
Note that the populations do not show different coefficients of variation:
f1 <- dt[,var(fishstock)/mean(fishstock), by=reps]$V1
f2 <- dt[,var(unharvested)/mean(unharvested), by=reps]$V1
mean(f2)
[code][1] 0.2306
```
mean(f1)
[code][1] 0.2239
```


-
Basecamp is sending us to Paris
medium.com
Kendra and I leave for Paris tomorrow. My heart is beating fast in anticipation. We wouldn’t have made this kind of trip…
-
Faith in eventually by Jason Fried of Basecamp
signalvnoise.com
Making something new takes patience. But it also takes faith. Faith that everything will work out in the end.


C#, pronounced like the musical note C♯, but written with the number sign. It is a general-purpose, multi-paradigm programming language The main purpose of C# is to define a series of operations that a computer can perform to accomplish a task. Created by Microsoft in 2000.


bio
I am currently a senior studying visual communication design at Eastern Washington University. I hope to eventually expand my skills to photography, web design, motion design, and UX design. I like to explore new places and food in my free time.
I have always been interested in drawing and photography. I enjoy combining digital art and photography together. My goal is to create positive impact through design. I strive to make things that have meaning one way or another. As a designer, I want to produce designs that are visually appealing, reusable and functional.


Manager
ID: 123
Email<EMAIL_ADDRESS>Office number: : A23
Engineer
ID: 456
Email<EMAIL_ADDRESS>GitHub: : dave345
Intern
ID: 8484
Email<EMAIL_ADDRESS>School: : Awesome School