opycleid.knetanalysis
Overview
This module defines a class for performing Klumpenhouwer network (K-Net) and poly-Klumpenhouwer network (PK-Net) analysis.
Informally, a K-Net is a directed graph, the vertices of which are labelled with musical objects, and the arrows of which are labelled with transformations between them. Arrows are understood to be composable: the label of a resulting composite arrow should be equal to the label of the composition of the two original arrows.
A K-Net allows one to study the interconnections between different musical elements, for example in the study of the different intervals in the constitutive elements of chords in post-tonal music.
Recent research (see below) has proposed new categorical formalizations of the K-Net notion, in which a K-Net can be conceived as the data of
- a lax functor , called the diagram action,
- a functor where is a finite category called the context action, and
- a category action morphism between them, i.e. a functor , and a lax natural transformation (left-total on all components).
Complete and local homographies allow to transform PK-Nets into one another. More precisely,
- Complete homographies correspond to category action morphisms between functors and and yield the new PK-Net .
- Local homographies correspond to the data of a functor and a natural transformations between functors and , which yields the new PK-Net .
References
Reference literature on Klumpenhouwer networks:
- David Lewin: Klumpenhouwer Networks and Some Isographies That Involve Them, Music Theory Spectrum, Vol. 12, pp. 83–120, (1990).
- David Lewin: A Tutorial on Klumpenhouwer Networks, Using the Chorale in Schoenberg’s Opus 11, No. 2, Journal of Music Theory, Vol. 38, pp. 79–101, (1994).
- Henri Klumpenhouwer: The Inner and Outer Automorphisms of Pitch-Class Inversion and Transposition: Some Implications for Analysis with Klumpenhouwer Networks, Intégral, Vol. 12, pp. 81–93, (1998).
Categorical approaches to Klumpenhouwer networks:
- Guerino Mazzola, Moreno Andreatta: From a Categorical Point of View: K-Nets as Limit Denotators, Perspectives of New Music, 44(2), pp. 88–113, (2006).
- Alexandre Popoff, Moreno Andreatta, Andrée Ehresmann: A Categorical Generalization of Klumpenhouwer Networks, Proceedings of MCM 2015, Vol. 9110 of Lecture Notes in Computer Science, pp. 303–314, Springer .
- Alexandre Popoff, Carlos Agon, Moreno Andreatta, Andrée Ehresmann: From K-nets to PK-nets: a Categorical Approach, Perspectives of New Music, 54(2), pp. 5–63, (2016).
- Alexandre Popoff, Moreno Andreatta, Andrée Ehresmann: Relational poly-Klumpenhouwer networks for transformational and voice-leading analysis, Journal of Mathematics and Music, 12:1 (2018), pp. 35-55, DOI: 10.1080/17459737.2017.1406011.
KNet
opycleid.knetanalysis.PKNet(context_action)
Instantiates a new poly-Klumpenhouwer network (PK-Net) as defined above.
The argument context_action
is an instance of opycleid.categoryaction.CategoryAction
and defines the context action of the PK-Net.
Methods
set_edges
set_edges(list_edges)
Defines the generating edges of the PK-Net.
Defines the list of vertices for this K-Net. The argument list_edges
is a list of instances of opycleid.categoryaction.CatMorphism
, each one representing a generating morphism for the 'diagram' category action. Objects need not be specified, as they will be automatically extracted from the list of morphisms.
set_mappings
set_mappings(edges_map,elements_map)
Defines the category action functor through the mapping of the edges and of the elements of the diagram action. The method will raise exceptions if the edge or elements mapping are not valid. The arguments are as follows.
-
edges_map
: a dictionary, the keys of which are the names of the edges (i.e. the generating morphisms of the diagram action), the values of which are the names of morphisms in the context action. -
elements_map
: a dictionary, the keys of which are the names of the elements in the objects of the diagram action, the values of which are lists of elements names in the objects of the context action. The method will automatically build the components of the natural transformation of the category action functor. Each component must be left total, an exception will be raised otherwise.
get_edge_mapping
get_edge_mapping()
Returns the mapping of all edges in the diagram action as a dictionary, the keys of which are morphism names in the diagram action, the values of which are the names of the image morphisms in the context action by the category functor of the category action functor which defines this PK-Net.
get_elements_mapping
get_elements_mapping()
Returns the mapping of all elements in the diagram action as a dictionary, the keys of which are element names in the objects of the diagram action, the values of which are the names of the image elements in the context action by the natural transformation of the category action functor which defines this PK-Net.
from_progression
from_progression(elements)
From a list elements
of element names in the context action, yields all PK-Nets with a diagram action built on the ordinal category, i.e. all PK-Nets with objects and edges, each edge corresponding to a transformation in the context action between elements[i]
and elements[i+1]
. Raises an exception if no transformation exists between consecutive elements.
global_transform
global_transform(cat_action_functor)
Apply complete homography, i.e. a category action functor cat_action_functor
(an instance of opycleid.categoryaction.CategoryActionFunctor
and returns the corresponding new PK-Net. This new PK-Net has
- the same diagram action,
- a context action which corresponds to the target category action of
cat_action_functor
, and - a category action functor which is the product of the initial category action functor by
cat_action_functor
.
local_transform
local_transform(cat_functor,local_dict)
Apply a local homography, defined by the instance cat_functor
of opycleid.categoryaction.CategoryFunctor
(which should be an automorphism) and local_dict
, and returns the corresponding new PK-Net. The argument local_dict
defines the natural transformations between functors and (N being defined by cat_functor
). Its keys are objects names in the diagram category action, its values are morphism names in the context category action.
Returns a new PK-Net
- with the same diagram action and context action, and
- whose category action functor is the product of the initial category action functor by the image by S of the natural transformation defined by
local_dict
.
Raises an exception if local_dict does not define a valid natural transformation, or if cat_functor
is not an automorphism.
str
Overloads Python str
to return a string description of the PK_Net.
Returns a description of the PK-Net which lists for each edge its name, its source and target, and the corresponding maps between elements, expressed as their image in the context action.


--- layout: post status: publish published: true title: ObjectBuilder Can Inject to UserControls As Well author: display_name: Geoff Lane login: admin email<EMAIL_ADDRESS>url: http://www.zorched.net author_login: admin author_email<EMAIL_ADDRESS>author_url: http://www.zorched.net date: '2007-10-05 19:50:00 -0400' date_gmt: '2007-10-06 01:50:00 -0400' categories: - ".NET" tags: - ObjectBuilder - asp.net - dependency injection - csharp comments: [] ---
This is a followup to my previous post on integrating ObjectBuilder and ASP.NET. As I was playing around with the solution I hit on the fact that I was only injecting at the Page level. As ASP.NET is a component model, you can end up with custom User Controls that would need injected properties as well. There is a relatively simple, if not entirely obvious way to do that as well.
Building on the previous example, you can hook into the lifecycle of a page that you are injecting. You can not access the controls directly in the PreRequestHandlerExecute of the IHttpModule because they have not been instantiated yet. Instead, you can create a callback event handler for the Page.InitComplete event and inject properties at that point.
{% highlight csharp %} void InjectProperties(object sender, EventArgs e) { IHttpHandler h = app.Context.CurrentHandler; if (h is DefaultHttpHandler) return; chain.Head.BuildUp(builderContext, h.GetType(), h, null); if (h is Page) { // Register a page lifecycle event handler to inject // user controls on the page itself page = (Page) h; page.InitComplete += InjectControls; } }
private void InjectControls(object sender, EventArgs e) { InjectControls(page); if (null != page.Form) InjectControls(page.Form); }
private void InjectControls(Control mainControl) { if (mainControl.Controls != null && mainControl.Controls.Count > 0) { foreach (Control c in mainControl.Controls) { if (c is UserControl) { chain.Head.BuildUp(builderContext, c.GetType(), c, null); InjectControls(c); } } } } {% endhighlight %}
As you see with this example, you need to recursively inject the objects into all of the controls. That's in case there are any nested controls that might need injecting. The other thing to notice is that the controls in the top-level Page doe not contain all of the controls that are also declared in a Form on the page, so you need to handle both of those paths.
Hopefully this will get you further along the path to being able to do dependency injection in your ASP.NET application.


Servlet
Create an Account
First Name
Last Name
Email
Date of Birth
State
Choose any State
up
up
up
up
User Name
Password
Confirm Password
Security Question
Choose any One
Your Pet Name
Your favorite Book Name
Your Childhood Friend
Your First School Name
Your favorite Singer
Answer


Aprant - Unicode Odia converter Copy Aprant text and paste below
Converted Unicode text below You can copy and use the text below in Facebook, E-mail, blogs, websites and ODIA WIKIPEDIA.
Designed by Subhashish Panigrahi and Manoj Sahukar. Under CC-BY-SA 3.0. Inspired by Rebati converter by Srujanika. Click here for Akruti Sarala-Unicode converter.


| Star | Watch | Fork |
| Home |
|---|
| User Guide |
| Examples |
| About |
The RSOME package supports optimization models that fit the general formulation below
\[\begin{align} \min ~~ &\sup\limits_{\mathbb{P}\in\mathcal{F}_0} \mathbb{E}_{\mathbb{P}} \left\{\pmb{a}_0^T(\tilde{s}, \tilde{\pmb{z}})\pmb{x}(\tilde{s}) + \pmb{b}_0^T\pmb{y}(\tilde{s}, \tilde{\pmb{z}}) + c_0(\tilde{s}, \tilde{\pmb{z}})\right\} &&\\ \text{s.t.} ~~ & \mathbb{E}_{\mathbb{P}}\left\{\pmb{a}_m^T(\tilde{s}, \tilde{\pmb{z}})\pmb{x}(\tilde{s}) + \pmb{b}_m^T\pmb{y}(\tilde{s}, \tilde{\pmb{z}}) + c_m(\tilde{s}, \tilde{\pmb{z}})\right\} \leq 0, && \forall \mathbb{P}\in\mathcal{F}_m, \forall m\in \mathcal{M}_1 \\ &\pmb{a}_m^T(s, \pmb{z})\pmb{x}(s) + \pmb{b}_m^T\pmb{y}(s, \pmb{z}) + c_m(s, \pmb{z}) \leq 0, && \forall \pmb{z} \in \mathcal{Z}_{sm}, \forall s \in \mathcal{S}, \forall m\in \mathcal{M}_2 \\ & \pmb{x}(s) \in \mathcal{X}_s && s \in \mathcal{S} \\ & x_i \in \mathcal{A}\left(\mathcal{C}_x^i\right) && \forall i \in \mathcal{I} \\ & y_n \in \overline{\mathcal{A}}\left(\mathcal{C}_y^n, \mathcal{J}_y^n\right) && \forall n \in \mathcal{N} \end{align}\]with \(s\in\mathcal{S}\) the indices of discrete scenarios, \(\pmb{z}\in\mathbb{R}^J\) an array of random variables. Decision variables \(\pmb{x}(s)\in\mathbb{R}^I\), \(\pmb{y}(s, \pmb{z})\in\mathbb{R}^N\), and other problem parameters may vary according to different scenarios. The formulation above minimizes (or maximizes) the worst-case expectation of the objective function over an ambiguity set \(\mathcal{F}_0\), subject to a number of constraints that consider the worst-case expectations or worst-case realizations.
The adaptation of decision \(x_i(\cdot)\) is captured by an event-wise static rule \(\mathcal{A}\left(\mathcal{C}\right)\), expressed as
\[\mathcal{A}\left(\mathcal{C}\right) = \left\{ x: |\mathcal{S}| \mapsto \mathbb{R} \left| \begin{array} ~x(s)=x^{\mathcal{E}}, \mathcal{E}=\mathcal{H}_{\mathcal{C}}(s) \\ \text{for some } x^{\mathcal{E}} \in \mathbb{R} \end{array} \right. \right\},\]where \(\mathcal{C}\) is a collection of mutually exclusive and collectively exhaustive (MECE) events. Note that if \(C\) is a one-event set \(\{\mathcal{S}\}\), the decision \(\pmb{x}\) is non-adaptive because it is fixed for all scenarios.
The adaptation of decision \(y_n(\cdot)\) is captured by an event-wise affine rule \(\overline{\mathcal{A}}\left(\mathcal{C}, \mathcal{J}\right)\), expressed as
\[\overline{\mathcal{A}}\left(\mathcal{C}, \mathcal{J}\right) = \left\{ y: |\mathcal{S}|\times\mathbb{R}^{|\mathcal{J}|} \mapsto \mathbb{R} \left| \begin{array} ~y(s, \pmb{z}) = y^0(s) + \sum\limits_{j\in\mathcal{J}}y_j^z(s)z_j \\ \text{for some }y^0, y_j^z \in \mathcal{A}\left(\mathcal{C}\right), j\in\mathcal{J} \end{array} \right. \right\},\]where \(\mathcal{J}\) is a subset of all random variables, so the decision \(y_n(\cdot)\) is affinely adaptive to random variables specified by \(\mathcal{J}\).
The event-wise ambiguity set \(\mathcal{F}_m\) is defined as
\[\begin{align} \mathcal{F}_m = \left\{ \mathbb{P}\in\mathcal{P}_0\left(\mathbb{R}^{J}\times|\mathcal{S}|\right) \left| \begin{array} ~\left(\tilde{\pmb{z}}, \tilde{s}\right) \sim \mathbb{P} & \\ \mathbb{E}_{\mathbb{P}}[\tilde{\pmb{z}}|\tilde{s}\in\mathcal{E}_{km}] \in \mathcal{Q}_{km} & \forall k \in [K] \\ \mathbb{P}[\tilde{\pmb{z}}\in \mathcal{Z}_{sm}| \tilde{s}=s]=1 & \forall s \in \mathcal{S} \\ \mathbb{P}[\tilde{s}=s] = p_s & \forall s \in \mathcal{S} \\ \text{for some } \pmb{p} \in \mathcal{P}_m & \end{array} \right. \right\},~~~ \forall m \in \mathcal{M}_1 \end{align},\]for given events \(\mathcal{E}_{km}\) and closed and convex sets \(\mathcal{Q}_{km}\), \(\mathcal{Z}_{sm}\), and \(\mathcal{P}_m\subseteq\{\pmb{p}\in \mathbb{R}_{++}^{|\mathcal{S}|}|\sum_{s\in\mathcal{S}}p_s=1\}\). The interpretation of each line of the ambiguity set is:
In the remaining part of the guide, we will introduce the RSOME code for for specifying the event-wise recourse adaptation and the ambiguity set.
rsome.dro
environment In general, the rsome.dro
modeling environment is very similar to rsome.ro
discussed in the section Introduction to the rsome.ro
environment, so almost all array operations, indexing and slicing syntax could be applied to dro
models. The unique features of the dro
model mainly come from the scenario-representation of uncertainties and a different way of specifying the event-wise adaptation of decision variables.
Similar to the rsome.ro
modeling environment, the dro
models are all defined upon Model
type objects, which are created by the constructor Model()
imported from the sub-packaage rsome.dro
.
class Model(builtins.object)
| Model(scens=1, name=None)
|
| Returns a model object with the given number of scenarios.
|
| Parameters
| ----------
| scens : int or array-like objects
| The number of scenarios, if it is an integer. It could also be
| an array of scenario indices.
| name : str
| Name of the model
|
| Returns
| -------
| model : rsome.dro.Model
| A model object
It can be seen that the dro
models are different from the ro
models in the first argument scens
, which specifies the scenario-representation of uncertainties. The scens
argument can be specified as an integer, indicating the number of scenarios, or an array of scenario indices, as shown by the following sample code.
from rsome import dro
model1 = dro.Model(5) # A DRO model with 5 scenarios
labels = ['sunny', 'cloudy', 'rainy', 'windy', 'snowy']
model2 = dro.Model(labels) # A DRO model with 5 scenarios: 'sunny', 'cloudy', ...
In the general formulation, decision variables \(\pmb{x}(s)\) are event-wise static and \(\pmb{y}(s, \pmb{z})\) are event-wise affinely adaptive. The dro
modeling environment does not differentiate the two in creating these variables. Both types of decision variables are created by the dvar()
method of the model object, with the same syntax as the rsome.ro
models.
dvar(shape=(1,), vtype='C', name=None) method of rsome.dro.Model instance
Returns an array of decision variables with the given shape
and variable type.
Parameters
----------
shape : int or tuple
Shape of the variable array.
vtype : {'C', 'B', 'I'}
Type of the decision variables. 'C' means continuous; 'B'
means binary, and 'I" means integer.
name : str
Name of the variable array
Returns
-------
new_var : rsome.lp.DecVar
An array of new decision variables
All decision variables are created to be non-adaptive at first. The event-wise and affine adaptation can be then specified by the method adapt()
of the variable object. Details of specifying the adaptive decisions are provided in the section Event-wise recourse adaptations
The syntax of creating random variables for a dro
model is exactly the same as the ro
models. You may refer to the section Random variables and uncertainty sets for more details.
The dro
model supports the expectation of random variables, so that we could define the expectation sets \(\mathcal{Q}_{km}\) in the ambiguity set \(\mathcal{F}_m\). This is different from ro
models. The expectation is indicated by the E()
function imported from rsome
, as demonstrated by the sample code below.
from rsome import dro
from rsome import E # Import E as the expectation operator
model = dro.Model()
z = model.rvar((3, 5)) # z is a 3x5 random variable
E(z) <= 1 # E(z) is smaller than or equal to zero
E(z) >= -1 # E(z) is larger than or equal to -1
E(z).sum() == 0 # Sum of E(z) is zero
Ambiguity sets \(\mathcal{F}_m\) of a dro
model can be created by the ambiguity()
method. The associated scenario indices of the ambiguity set can be accessed by the s
attribute of the ambiguity set object, as shown by the following sample code.
from rsome import dro
labels = ['sunny', 'cloudy', 'rainy', 'windy', 'snowy']
model = dro.Model(labels) # Create a model with 5 scenarios
fset = model.ambiguity() # Create an ambiguity set of the model
print(fset) # Print scenarios of the model (ambiguity set)
Scenario indices:
sunny 0
cloudy 1
rainy 2
windy 3
snowy 4
dtype: int64
In the example above, strings in the list lables
become the labels of the scenario indices. If an integer instead of an array is used to specify the scens
argument of the Model()
constructor, then the labels will be the same as the integer values. Similar to the pandas.Series
data structure, labels of the scenario indices could be any hashable data types.
RSOME supports indexing and slicing of the scenarios via either the labels or the integer-positions, as shown by the following code segments.
print(fset[2]) # The third scenario
Scenario index:
2
print(fset['rainy']) # The third scenario
Scenario index:
2
print(fset[:3]) # The first three scenarios
Scenario indices:
sunny 0
cloudy 1
rainy 2
dtype: int64
print(fset[:'rainy']) # The first three scenarios
Scenario indices:
sunny 0
cloudy 1
rainy 2
dtype: int64
RSOME is also consistent with the pandas.Sereis
data type in using the iloc
and loc
indexers for accessing label-based or integer-position based indices.
print(fset.iloc[:2]) # The first two scenarios via the iloc indexer
Scenario indices:
sunny 0
cloudy 1
dtype: int64
print(fset.loc[:'cloudy']) # The first two scenarios via the loc indexer
Scenario indices:
sunny 0
cloudy 1
dtype: int64
The indices of the scenarios are crucial in defining components of the ambiguity set, such as sets \(\mathcal{Q}_{km}\), \(\mathcal{Z}_{sm}\), and \(\mathcal{P}_m\), which will be discussed next.
According to the formulation of the ambiguity set \(\mathcal{F}_m\) presented in the section The general formulation for distributionally robust optimization models, \(\mathcal{Q}_{km}\) is a closed convex set defined as the support of the conditional expectation of random variables under event \(k\), where the event is a collection of scenarios. In the RSOME package, such a collection of scenarios can be specified by the indexing or slicing of the ambiguity set object, and constraints of the \(\mathcal{Q}_{km}\) are defined by the exptset()
method. For example, the conditional expectations of the random variable \(\tilde{\pmb{z}}\in\mathbb{R}^3\) are defined as follows
where the first event \(\mathcal{E}_1\) is a collection of all scenarios, and the second event \(\mathcal{E}_2\) includes scenarios “sunny”, “rainy”, and “snowy”. The supports of the conditional expectations can be specified by the code below.
from rsome import dro
from rsome import E
from rsome import norm
labels = ['sunny', 'cloudy', 'rainy', 'windy', 'snowy']
model = dro.Model(labels)
z = model.rvar(3)
fset = model.ambiguity()
fset.exptset(abs(E(z)) <= 1,
norm(E(z), 1) <= 1.5) # The 1st support of conditional expectations
fset.loc[::2].exptset(E(z) == 0) # The 2nd support of conditional expectations
The ambiguity set fset
itself represents the event \(\mathcal{E}_1\) of all scenarios, and the loc
indexer is used to form the event \(\mathcal{E}_2\) with three scenarios to be included. Besides loc
, other indexing and slicing expressions described in the previous section can also be used to construct the events for the support sets of the expectations.
The support \(\mathcal{Z}_{sm}\) of random variables can be specified by the method suppset()
method, and the scenario information of the support can also be specified by the indexing and slicing expressions of the ambiguity set object. Take the following supports of random variables \(\tilde{\pmb{z}}\in\mathbb{R}^3\) for example,
the RSOME code for specifying the supports can be written as follows.
from rsome import dro
from rsome import E
from rsome import norm
labels = ['sunny', 'cloudy', 'rainy', 'windy', 'snowy']
model = dro.Model(labels)
z = model.rvar(3)
fset = model.ambiguity()
fset.iloc[::2].suppset(abs(z) <= 1,
norm(z, 1) <= 1.5) # The support of z in scenarios 0, 2, 4
fset.iloc[1::2].suppset(z.sum() == 0) # The support of z in scenarios 1, 3
Please note that a valid ambiguity set must have the support sets for all scenarios to be specified. An error message will be given in solving the model if any of the supports are unspecified. RSOME provides a method called showevents()
to display the specified supports for random variables and their expectations in a data frame, in order to help users check their ambiguity set.
from rsome import dro
from rsome import E
from rsome import norm
labels = ['sunny', 'cloudy', 'rainy', 'windy', 'snowy']
model = dro.Model(labels)
z = model.rvar(3)
fset = model.ambiguity()
fset.iloc[::2].suppset(abs(z) <= 1,
norm(z, 1) <= 1.5)
fset.iloc[1::2].suppset(z.sum() == 0)
fset.exptset(abs(E(z)) <= 1,
norm(E(z), 1) <= 1.5)
fset.loc[::2].exptset(E(z) == 0)
fset.showevents() # Display how the ambiguity set is specified
| support | expectation 0 | expectation 1 | |
|---|---|---|---|
| sunny | defined | True | True |
| cloudy | defined | True | False |
| rainy | defined | True | True |
| windy | defined | True | False |
| snowy | defined | True | True |
As the example above shows, supports for all scenarios have been defined, and there are two supports defined for the conditional expectations.
In the event-wise ambiguity set, the support of scenario probabilities can also be specified via the calling the method probset()
, as demonstrated by the following sample code.
from rsome import dro
from rsome import norm
labels = ['sunny', 'cloudy', 'rainy', 'windy', 'snowy']
model = dro.Model(labels)
z = model.rvar(3)
fset = model.ambiguity()
p = model.p # p is the array of scenario probabilities
fset.probset(norm(p-0.2) <= 0.05) # Define the support of the array p
The scenario probabilities are formatted as an array, which can be accessed via the attribute p
of the model object. Please note that two constraints for probabilities: \(p_s \geq 0\), \(\forall s \in \mathcal{S}\), and \(\sum_{s\in\mathcal{S}}p_s=1\), are already integrated in the ambiguity set, so there is no need to specify them in defining the probability support.
The rsome.dro
model supports a rather generic event-wise ambiguity set where several different types of support sets are specified separately. In order to make the code more concise and readable, we also provide tools for specifying a few special cases of the generic event-wise ambiguity set.
One of the special cases is the uncertainty set used in conventional robust optimization models. It can be considered as a one-scenario ambiguity set with only the support to be specified. Such an uncertainty set can be specified by the bou()
method, which meaning “budget of uncertainty”, of the model object. For example, the sample code below defines a conventional uncertainty set.
from rsome import dro
from rsome import norm
model = dro.Model() # This is a one-scenario model
z = model.rvar(3)
fset = model.bou(abs(z) <= 1,
norm(z, 1) <= 1.5) # Define an uncertainty set
Another special case is the generalized-moment ambiguity set introduced in the paper Distributionally robust convex optimization, or the WKS ambiguity, as named after the authors. This is again a one-scenario ambiguity set. It can be defined by the wks()
method of the model object, where constraints of both the random variables and their expectations can be specified altogether, as demonstrated by the following sample code.
from rsome import dro
from rsome import norm
model = dro.Model() # This is a one-scenario model
z = model.rvar(3)
u = model.rvar(3)
fset = model.wks(abs(z) <= u, u <= 1,
norm(z, 1) <= 1.5,
E(z) == 0, E(u) == 0.5) # Define a WKS ambiguity set
Once the ambiguity sets \(\mathcal{F}_m\) are defined, they can be used to specify the worst-case expectations in the objective function or constraints. The ambiguity set of the objective function can be specified by the minsup()
method, for minimizing, or the maxinf()
method, for maximizing the worst-case expectation of the objective function. The ambiguity set of constraints can be specified by the forall()
, which is similar to ro
models in specifying the uncertainty sets. The sample code below is used to illustrate the worst-case expectations.
from rsome import dro
from rsome import norm
model = dro.Model() # This is a one-scenario model
z = model.rvar(3)
u = model.rvar(3)
x = model.dvar(3)
fset = model.wks(abs(z) <= u, u <= 1,
norm(z, 1) <= 1.5,
E(z) == 0,
E(u) == 0.5) # Define a WKS ambiguity set
model.minsup(E((x*z).sum()), fset) # Minimizing the worst-case exp. over fset
model.maxinf(E((x*z).sum()), fset) # Minimizing the worst-case exp. over fset
model.st((E(x - z) <= 0).forall(fset)) # The worst-case exp. constraints over fset
Similar to the ro
models, if the ambiguity set is unspecified for a constraint, then by default, its ambiguity set of this constriant is the same as the objective function, so the sample code above is equivalent to the code below.
from rsome import dro
from rsome import norm
model = dro.Model() # This is a one-scenario model
z = model.rvar(3)
u = model.rvar(3)
x = model.dvar(3)
fset = model.wks(abs(z) <= u, u <= 1,
norm(z, 1) <= 1.5,
E(z) == 0,
E(u) == 0.5) # Define a WKS ambiguity set
model.minsup(E((x*z).sum()), fset) # Minimizing the worst-case exp. over fset
model.maxinf(E((x*z).sum()), fset) # Minimizing the worst-case exp. over fset
model.st(E(x - z) <= 0) # The worst-case exp. constraints over fset
This section introduces how to specify the event-wise static adaptation \(\mathcal{A}(\mathcal{C})\) and the event-wise affine adaptation \(\overline{\mathcal{A}}(\mathcal{C}, \mathcal{J})\). As we mentioned in prior sections, a decision variable is created to be non-adaptive, in the sense that the event set \(\mathcal{C} = \{\mathcal{S}\}\) and the dependent set \(\mathcal{J}=\varnothing\). These two sets can be modified by the adapt()
method of the decision variable object, as demonstrated by the following sample code.
from rsome import dro
labels = ['sunny', 'cloudy', 'rainy', 'windy', 'snowy']
model = dro.Model(labels)
z = model.rvar(3)
x = model.dvar(3)
x.adapt('sunny') # A new event that includes the scenario sunny
x.adapt([2, 3]) # A new event that includes scenarios rainy and windy
x[:1].adapt(z[:2]) # x[:1] is affinely adaptive to z[:2]
In the code segment above, the set \(\mathcal{C}\) is specified as \(\{\{\text{cloudy}, \text{snowy}\}, \{\text{sunny}\}, \{\text{rainy}, \text{windy}\}\}\), and the decision variable x[0]
is affinely adaptive to random variables z[:2]
.


- MODULE JSON::Ext
- CLASS JSON::CircularDatastructure
- CLASS JSON::GeneratorError
- CLASS JSON::JSONError
- CLASS JSON::MissingUnicodeSupport
- CLASS JSON::NestingError
- CLASS JSON::ParserError
- CLASS JSON::UnparserError
- #
- D
- F
- G
- L
- P
- R
| NaN | = | (-1.0) ** 0.5 |
| Infinity | = | 1.0/0 |
| MinusInfinity | = | -Infinity |
| UnparserError | = | GeneratorError |
For backwards compatibility |
||
| VERSION | = | '1.1.3' |
JSON version |
||
| VERSION_ARRAY | = | VERSION.split(/\./).map { |x| x.to_i } |
| VERSION_MAJOR | = | VERSION_ARRAY[0] |
| VERSION_MINOR | = | VERSION_ARRAY[1] |
| VERSION_BUILD | = | VERSION_ARRAY[2] |
| VARIANT_BINARY | = | false |
| JSON_LOADED | = | true |
| [RW] | create_id | This is create identifier, that is used to decide, if the json_create hook of a class should be called. It defaults to ‘json_class’. |
| [R] | generator | Returns the JSON generator modul, that is used by JSON. This might be either JSON::Ext::Generator or JSON::Pure::Generator. |
| [R] | parser | Returns the JSON parser class, that is used by JSON. This might be either JSON::Ext::Parser or JSON::Pure::Parser. |
| [RW] | state | Returns the JSON generator state class, that is used by JSON. This might be either JSON::Ext::Generator::State or JSON::Pure::Generator::State. |
If object is string-like parse the string and return the parsed result as a Ruby data structure. Otherwise generate a JSON text from the Ruby data structure object and return it.
The opts argument is passed through to generate/parse respectively, see generate and parse for their documentation.
Source: show
# File req/json/lib/json/common.rb, line 11 def [](object, opts = {}) if object.respond_to? :to_str JSON.parse(object.to_str, opts => {}) else JSON.generate(object, opts => {}) end end
Source: show
# File req/json/lib/json/common.rb, line 261 def recurse_proc(result, &proc) case result when Array result.each { |x| recurse_proc x, &proc } proc.call result when Hash result.each { |x, y| recurse_proc x, &proc; recurse_proc y, &proc } proc.call result else proc.call result end end
Dumps obj as a JSON string, i.e. calls generate on the object and returns the result.
If anIO (an IO like object or an object that responds to the write method) was given, the resulting JSON is written to it.
If the number of nested arrays or objects exceeds limit an ArgumentError exception is raised. This argument is similar (but not exactly the same!) to the limit argument in Marshal.dump.
This method is part of the implementation of the load/dump interface of Marshal and YAML.
Source: show
# File req/json/lib/json/common.rb, line 291 def dump(obj, anIO = nil, limit = nil) if anIO and limit.nil? anIO = anIO.to_io if anIO.respond_to?(:to_io) unless anIO.respond_to?(:write) limit = anIO anIO = nil end end limit ||= 0 result = generate(obj, :allow_nan => true, :max_nesting => limit) if anIO anIO.write result anIO else result end rescue JSON::NestingError raise ArgumentError, "exceed depth limit" end
Unparse the Ruby data structure obj into a single line JSON string and return it. This method disables the checks for circles in Ruby objects, and also generates NaN, Infinity, and, -Infinity float values.
WARNING: Be careful not to pass any Ruby data structures with circles as obj argument, because this will cause JSON to go into an infinite loop.
Source: show
# File req/json/lib/json/common.rb, line 199 def fast_generate(obj) obj.to_json(nil) end
Unparse the Ruby data structure obj into a single line JSON string and return it. state is
-
a JSON::State object,
-
or a Hash like object (responding to to_hash),
-
an object convertible into a hash by a to_h method,
that is used as or to configure a State object.
It defaults to a state object, that creates the shortest possible JSON text in one line, checks for circular data structures and doesn’t allow NaN, Infinity, and -Infinity.
A state hash can have the following keys:
-
indent: a string used to indent levels (default: ”),
-
space: a string that is put after, a : or , delimiter (default: ”),
-
space_before: a string that is put before a : pair delimiter (default: ”),
-
object_nl: a string that is put at the end of a JSON object (default: ”),
-
array_nl: a string that is put at the end of a JSON array (default: ”),
-
check_circular: true if checking for circular data structures should be done (the default), false otherwise.
-
allow_nan: true if NaN, Infinity, and -Infinity should be generated, otherwise an exception is thrown, if these values are encountered. This options defaults to false.
-
max_nesting: The maximum depth of nesting allowed in the data structures from which JSON is to be generated. Disable depth checking with :max_nesting => false, it defaults to 19.
See also the #fast_generate for the fastest creation method with the least amount of sanity checks, and the #pretty_generate method for some defaults for a pretty output.
Source: show
# File req/json/lib/json/common.rb, line 177 def generate(obj, state = nil) if state state = State.from_state(state) else state = State.new end obj.to_json(state) end
Load a ruby data structure from a JSON source and return it. A source can either be a string-like object, an IO like object, or an object responding to the read method. If proc was given, it will be called with any nested Ruby object as an argument recursively in depth first order.
This method is part of the implementation of the load/dump interface of Marshal and YAML.
Source: show
# File req/json/lib/json/common.rb, line 248 def load(source, proc = nil) if source.respond_to? :to_str source = source.to_str elsif source.respond_to? :to_io source = source.to_io.read else source = source.read end result = parse(source, :max_nesting => false, :allow_nan => true) recurse_proc(result, &proc) if proc result end
Parse the JSON string source into a Ruby data structure and return it.
opts can have the following keys:
-
max_nesting: The maximum depth of nesting allowed in the parsed data structures. Disable depth checking with :max_nesting => false, it defaults to 19.
-
allow_nan: If set to true, allow NaN, Infinity and -Infinity in defiance of RFC 4627 to be parsed by the Parser. This option defaults to false.
-
create_additions: If set to false, the Parser doesn’t create additions even if a matchin class and ::create_id was found. This option defaults to true.
Source: show
# File req/json/lib/json/common.rb, line 121 def parse(source, opts = {}) JSON.parser.new(source, opts).parse end
Parse the JSON string source into a Ruby data structure and return it. The bang version of the parse method, defaults to the more dangerous values for the opts hash, so be sure only to parse trusted source strings.
opts can have the following keys:
-
max_nesting: The maximum depth of nesting allowed in the parsed data structures. Enable depth checking with :max_nesting => anInteger. The parse! methods defaults to not doing max depth checking: This can be dangerous, if someone wants to fill up your stack.
-
allow_nan: If set to true, allow NaN, Infinity, and -Infinity in defiance of RFC 4627 to be parsed by the Parser. This option defaults to true.
-
create_additions: If set to false, the Parser doesn’t create additions even if a matchin class and ::create_id was found. This option defaults to true.
Source: show
# File req/json/lib/json/common.rb, line 140 def parse!(source, opts = {}) opts = { :max_nesting => false, :allow_nan => true }.update(opts) JSON.parser.new(source, opts).parse end
Unparse the Ruby data structure obj into a JSON string and return it. The returned string is a prettier form of the string returned by unparse.
The opts argument can be used to configure the generator, see the generate method for a more detailed explanation.
Source: show
# File req/json/lib/json/common.rb, line 214 def pretty_generate(obj, opts = nil) state = JSON.state.new( :indent => ' ', :space => ' ', :object_nl => "\n", :array_nl => "\n", :check_circular => true ) if opts if opts.respond_to? :to_hash opts = opts.to_hash elsif opts.respond_to? :to_h opts = opts.to_h else raise TypeError, "can't convert #{opts.class} into Hash" end state.configure(opts) end obj.to_json(state) end


Economic statistics
-
Recent Trends in New Zealand Agricultural Productivity,
with Rod Forbes. This 20-page paper reports a time series analysis of agricultural
productivity trends in NZ 1972-98. Tornqvist indexes of gross and
net output, and intermediate inputs in combination with actual
labour force and capital stock data are used to estimate total and
factor productivity in the agricultural sector. In the period
covered, total factor productivity increased by 4% per annum.
-
Is there a measurable aggregate production function: examples from
agriculture? This seven-page, unpublished paper is a reworked
and updated version of the 1972 paper (Efficiency Growth in New
Zealand Agriculture: a Review, Economic Record, 48(2),
76-91) in which elasticities of substitution between inputs in a
constant elasticity of substitution (CES) production function are
estimated. The measurement of these elasticities is constrained by
deficiencies in the data sets, particularly a lack of variation in
the aggregate data series for inputs, ie capital and labour.
- OECD, Growth and Measurement: Philpott Revisited.
The 2002 Conference of the NZ Assn of Economists had as its theme Raising NZ
in the OECD Growth Tables. This paper reviews B. P. Philpott's work
in this area and compares it with later work by Diewert and
Lawrence (1999). Philpott put massive investment into growth
statistics and used simple Solow-type models for his analytical
work. This paper shows that his results were affected by
deficiencies in the data base but nevertheless compare quite well
with later more sophisticated models using chain linked series
developed by Diewert and Lawrence. The paper includes a discussion
of the role of new investment and of Research and Development in explaining the
residual on a sectoral basis.
- Recent Trends in Dairy Farm Productivity.
Paper presented at Annual Conference of the NZ Agricultural and Resource Economics Society
2002 with Ann Anderson. This paper uses Tornqvist index numbers to
estimate total farm productivity trends in NZ for the period
1991-2001. The sample is divided into owner operator farms and
50/50 sharefarmers (the value of milk sales is divided equally
between the land owner and the herd owner). The early 1990s were a
period of rebuilding in the industry and real inputs exceeded real
outputs. Since 1996 the reverse has been true and total
productivity has increased by 3-4% per year.
-
'Productivity in the Sheep Sector (2004d)'
This paper, delivered at the annual conference of the NZ
Agricultural Economics Society in July 2004,
concerns real productivity trends in the sheep and beef production
sector in NZ. The analysis employs Divisia weighted index numbers
to estimate trends over the period 1987-2003 for total production,
total real inputs and total input productivity. The data is drawn
from the field survey of sheep and beef farms conducted by the
Economic Serive of Meat and Wool Innovation (MWI) organisation - a
public good quango in NZ. Results indicate fluctuations in
productivity increase - when investment is on the rise,
productivity temporarily falls and then recovers, as the effects
are realised.
-
'Making the ANZSIC work for Economics'
This paper, delivered to the NZ
Association of Economists in June 2004, is concerned with the
recently adopted industrial classification system introduced in NZ
in 2000. The system is coordinated with Australia and is called the
Australian New Zealand Standard Industry Classification (ANZSIC).
It applies to all GDP, GCF, and capital stock estimates and is
being introduced for industry employment statistics. The present
paper describes the new classification and discusses how well it
melds with previous estimates of the above macroeconomic statistics
produced by Statistics New Zealand. The paper gives sources for
consistent industry series for GDP, GCF and stocks for the period
1972-2003.


Saira Khan's panel show appearances
Saira Khan (born 1970-05-15[ref]) has appeared in 20 episodes between 2005-2016. Saira Khan on IMDB. Saira Khan on Wikipedia.
- 2016-03-22 / Loose Women
- 2016-03-09 / Loose Women
- 2016-02-15 / Loose Women
- 2016-02-09 / Loose Women
- 2016-01-26 / Loose Women
- 2016-01-11 / Loose Women
- 2015-12-14 / Loose Women
- 2015-11-30 / Loose Women
- 2015-11-25 / Loose Women
- 2015-11-16 / Loose Women
- 2015-11-02 / Loose Women
- 2015-10-19 / Loose Women
- 2015-10-05 / Loose Women
- 2015-09-23 / Loose Women
- 2015-09-07 / Loose Women
- 2015-07-24 / Loose Women
- 2015-06-15 / Loose Women
- 2008-07-10 / Question Time
- 2007-08-06 / Loose Women
- 2005-05-05 / Loose Women


Program description and download
General description
Some people asked me how it works and what technologies were used:
- The visitor creates the Genealogy information file (gedcom file) in gedcom standard. It it a plain text file that
can be viewed by a regular word processor.
The upload page uses INPUT TYPE="file" HTML tag to upload data into the server, which is Apache
running under the Linux (Debian).
- The administative interface is performed in PHP.
-
The JavaServlet runs under Tomcat parse gedcom file and output
XML file goes directly to the visitor's browser. You can see the data
in XML data by View Source command.
-
The XML transformed into the viewable format by XSLT, which also gets uploaded into a visitor's browser. Unlike an XML file with
data, which is re-generated whenever you decide to change the "key" person, an XSLT file is static.
-
In the legacy mode the XSLT transformation is done on the server using
Apache Xalan/Xerces libraries.
-
Sizes, colors, location of nodes, etc. are defined through CSS (Cascading Style Sheets)
-
Interactivity, i.e. openning - closing branches is handled on the client's side using JavaScript, which is sometimes
called DHTML. After opening the page, you can explore the whole Family Map off-line.
Downloads and contributions
You do not have to download and install Family Map Viewer, because the service is
freely avaliable at www.tyoma.com web site.
If you see some disadvanatage or bugs in the program, it probably would be
better if you report it to the author
<EMAIL_ADDRESS>to correct running version.
Author also is also greatlly apreshiate futher internationalization, adding
more languages. If somebody is unhappy with the current skin, the contributions
of the additional skins would be greatlly apreciated.
In case you willing to contribute new skin or language set, it is still not
needed to download and install software. You can simply save the XML file and
related XSL, CSS and js files on your computer and pertform development
using XSLT engine of your browser. After you done, mail new XSL/CSS to me and
I will drop it into the server.
Finally, if you are really would like to run your own Family Map Viewer on
your domain, or made serious contribution to the Java code, here is the source:
Instalation notes
-
Unzip familyMap.zip into the document root of your Apache server
-
Deploy familyMap.jar into Tomcat server.
-
Under application directory create the subdirectory named data and assign permisions
777 to it. The directory data should be on the same level as WEB-INF
directory.
-
Adjust path to the data directory within php elements, located at familyMap/php
directory. On my system it is /usr/java/tomcat/webapps/ROOT/data.
The element names are upload.php and delete.php
-
Adjust URL to the servlet in view.php element. On my system it is
/servlet/familyMap.
-
On my server, html pages are considered to be a PHP templates. If you restrict
PHP only to pages with .php extenshion, you will have to rename files in
the familyMap/html directory, as a well as adjust links.


The CREATE Signal Library (CSL, pron. "sizzle") is a cross-platform (Mac, Linux, MS-Windows, iOS, Android, etc.) software framework for sound synthesis and digital audio signal processing. It is implemented as a C++ class library to be used as a stand-alone synthesis server, or embedded as a library into other programs.
CSL is frequently used together with JUCE, a comprehensive C++ class library for multimedia and GUI programming, but it can also be used for stand-alone apps without JUCE, or with other GUI frameworks such as Qt.
This page describes CSL in more detail, gives examples of its usage, and
provides instructions on how to download it.
To coincide with the release of JUCE 6.0, CSL 6.0 is now available at its
new home on github.
To download the full source tree, go to,
https://github.com/stpope/CSL6
and either grab the zipped archive file set or use the shell command,
git clone https://github.com/stpope/CSL6.git
As always, RTFM; there is a folder of papers and a complete doxygen cross-reference.
Show 1: A Tour of CSL (22 min)
CSL 5.2 is now available as a zip archive at the link
http://www.fastlabinc.com/CSL/CSL5.2.zip
or other SVN client to get the CSL code tree. CSL 5.2 has been tested on
Mac OSX (10.6 and higher), MS-Windows 7, Ubuntu Linux 11.10, and iOS 5 and
newer (Android support expected soon).
This release adds support for newer JUCE releases (i.e., it doesn't require a patched JUCE library as before), but it requires LibSndFile (http://www.mega-nerd.com/libsndfile) for sound file I/O (which isn't needed by all applications anyway). This version also uses the IntroJucer app to generate build projects or Makefiles, so users are expected to be able to build and use the JUCE tools. To use this, look in the CSL_JUCE folder in the distribution.
The main addition is support for MP4 and FAAD files via the libMAD and libFAAD libraries (not included in the simplest JUCE build). There are also a whole raft of fixes and tune-ups...
Get the code via SVN as described above (no code ZIPs any more; see
github links above)
"The CSL Show" Screencasts
Show 1: A Tour of CSL (22 min)
Show 2: CSL App Slide Show (4:20 min) [link broken]
Show 3: CSL Internals, Programming (19 min)
System Requirements
We have a new VisualStudio project for CSL 5.0 that uses JUCE 1.50 to build on MS-Windows XP and Vista. It requires that JUCE and the DirectX9 SDKs be installed. Here's a screen shot of the CSL_JUCE 5.0 demo running (with audio) on XP.
To access the CSL subversion (svn) code repository at the Media Arts & Technology (MAT) servers at the University of California, Santa Barbara (UCSB), use any SVN client or shell terminal and enter the command,
svn co https://svn.mat.ucsb.edu/svn/CSL
to down-load the latest CSL source, doc, and Mac/Linux/Windows build projects to your machine.
You can also browse the whole file tree on-line as,
See, e.g.,
https://github.com/stpope/CSL6/README.md
Documentation
- ICMC 2006 CSL 4.0 Metamodel Paper
- CSL Presentation Slides (good quick intro and examples)
- ICMC 2003 CSL 3 Paper (the best general reference to CSL)
- CSL "Manual" (obsolete but still useful)
- Doxygen on-line API manual for CSL 5
- Get API doc (ZIP file of the Doxygen HTML pages)
- CSL mailing list admin page
- For more examples of CSL applications, see here
Source/Data/Doc ZIP files
- CSL 5.0x source ZIP file (really old)
- CSL Doc (9 MB PDF & Doxygen files)
- CSL Test Data (99 MB snd files, HRTF data, etc.)
- CSL "old" code (somewhat stale or unsupported apps)
Support Libraries
- CSL 5.0 extensions to JUCE 1.50 (added methods for sound file I/O; un-tar this file in the base JUCE folder)
- CSL support libraries (PortAudio, PortMIDI, LibSndFile, FFTW, etc.) ZIP file with binaries for Intel/Mac (not needed for CSL 5.0)
Related Packages
- Chandrasekhar Ramakrishnan's Occam (OSC-to-MIDI)
- Garry Kling's Macco (MIDI-to-OSC)
- GestureSensor drivers: EBeam, FlockOfBirds, P5 Glove, DataGlove, Matrix, etc. (C++ for MS-Windows)
CSL is a simple yet powerful library of sound synthesis and signal processing functions. It is packaged as an object-oriented class hierarchy for standard DSP and computer music techniques, and is suitable for integration into existing applications, or use as a stand-alone synthesis/processing server. CSL is similar to the JSyn (Burke), CommonLispMusic (Schottstaedt), STK (Cook), and Cmix (Lansky) frameworks in that it is integrated as a library into a general-purpose programming language, rather than being a separate “sound compiler” as in the Music-N family of languages (CMJ tutorial on sound compilers). CSL is designed from the ground up to be used in distributed systems, with several CSL programs running as servers on a local-area network. These CSL DSP servers receive control commands via the network and send their output sample blocks to other servers over the network.
CSL supports the following synthesis/interaction techniques
In contrast to the traditional MusicN stand-alone sound compiler, CSL is packaged as a class library in a general-purpose programming language (C++). The simplest CSL program is a 5-line main() function in a simple C program, and it is intended that CSL can be used in several ways, including for the development of stand-alone interactive (MIDIor OSC-driven) sound synthesis programs, serving as a plugin library for other applications or plug-in hosts, or as a back-end DSP library for programs written in scripting languages. CSL is designed from the ground up to be used in distributed systems, where networks of CSL programs run as servers on a local-area network, streaming control commands (MIDI and OSC) and sample buffers (RTP) between them.
// This is a simple 2-envelope FM program -- paste this into a main() function
float frq = 440.0f; // float values for freq and dur
float dur = 0.25f;
IO theIO; // create an IO object
Sine car, mod(frq); // create 2 oscillators: carrier and modulator
// amplitude env = std ADSR
ADSR a_env(dur, 0.1, 0.1, (dur - 0.6), 1);
// index env = time/value breakpoints
Envelope i_env(dur, 0, 0, 0.1, 2, 0.2, 1, 2.2, 8, dur, 0);
a_env.setScale(0.2); // make ampl envelope quieter
i_env.setScale(frq * 3.0f); // multiply index envelope by mod freq * 3 (index depth)
mod.setScale(i_env); // scale the modulator by its envelope
mod.setOffset(frq); // add in the base freq
car.setFrequency(mod); // set the carrier's frequency
car.setScale(a_env); // scale the carrier's output by the amplitude envelope
logMsg("CSL playing FM..."); // print a message and play
theIO.setRoot(car); // set the IO's root to be the FM carrier
theIO.open(); // open the IO
theIO.start(); // start the driver callbacks and it plays!
a_env.trigger(); // reset the envelopes to time 0
i_env.trigger();
sleepSec(dur + 0.25); // sleep for dur plus a bit
logMsg("CSL done.");
theIO.stop(); // stop the driver and close down
theIO.close();
We assume CSL users are proficient C++ programmers and know the native development environment of their platform.
Down-load and unpack JUCE V 1.50 and compile its base library.
Down-load and unpack CSL 5.0 and read the documentation. CSL assumes it's
installed in the folder ~/Code/CSL; there are some default settings in
CSL/Kernel/CSL_Types.h that have to be changed if you put it somewhere
else. The system assumes JUCE is in ~/Code/juce (../juce from the root of
the CSL hierarchy).
The best way to get started is to look at the Doxygen-generated API
documentation in
Doc/html.zip
You can untar this file to get the full HTML doc and to print out and
study the files
CSL/Kernel/CSL_Types.h (note the system
defaults here)
CSL/Kernel/CSL_Core.h (the kernel
classes are here)
and
CSL/Sources/SimpleSines.{h,cpp} (this
is a tutorial for writing unit generators)
To compile the sources, you may need to create the links in the
CSL/Includes folder; to do this, open a UNIX shell (AKA terminal) and
execute the commands,
### change to the Includes folder
cd CSL/CSL/Includes
### make symbolic links from the
include files to this folder
ln -s ../*/*.h .
ln -s ../Spatializers/*/*.h .
Now, you should be able to use the Mac XCode project in JUCE, the premake script and makefile in Linux, or to build an Eclipse project on Windows. The supplied VisualStudio projects are known to produce errors because of CSL's non-Windows-compatible header and code.
Once you have the development environment set up, build the JUCE demo GUI
(shown in the figures above). This app has 2 menus at the bottom of the
pane to select a test suite and a specific test, and a play/stop button
next to these menus. The source code for the tests is in the folder
CSL/Tests; the list of tests is included below.
The source code for all these tests is in the CSL/Tests directory (and
file group in the IDE); it's a good way to learn CSL to run the JUCE demo
in an XCode/Eclipse debugger and set breakpoints in the test functions
while using the GUI.
For more information, please join the CSL mailing list or contact Stephen Pope [stephen (at) FASTLabInc (dot) com].


2 Samuel 8:1
And after this it came to pass that David smote the Philistines, and subdued them: and David took Methegammah out of the hand of the Philistines.


Slow but steady progress toward a usable application.
I haven't had much to write about because things have been going so smoothly. At this point I have several frontiers I can push forward on. I can play with the back end code - models, repos, controllers. I now have testing working, so I can make progress jumping back and forth between tests and implementation. And I have the front end code which I can tweak endlessly.
I did discover one interesting detail the other day that is worth mentioning.
When I started writing tests for the LogListController I ran into a problem - I
couldn't access the JsonResult
values to confirm behavior. The problem was
that I was using ad-hoc objects to define the json, which are marked internal by
default. In order to access them in my tests (which are in a separate
sub-project) I had to make the tests a friend assembly to my main project.
As usual all the information on the Internet is either wrong or outdated. The
guidance I found was that I just needed to add an attribute to my
properties > AssemblyInfo.cs
file. It seems though that an Asp.net Core
application doesn't have assembly info. Visual Studio also wouldn't let me
create any files under properties. Even when I manually created the file with
the correct settings my tests still wouldn't run... until they did. I tried
several times before getting the builds to go off in just the right way so
Here is a link to the file in question.
The other thing I've been doing is refining the UI. I just decided today to scrap all the LogList pages I've built and replace them with a single unified page. Since I was already using ajax for all my interactions it felt really silly to have them in different places. The initial motivation was that the edit forms for existing logs were going to be complete ripoffs of the add log form. I also wanted to reuse the Knockout models I built for the add page on the list page. I also couldn't figure out what to do upon successful submission on the add page. Now I don't have any of those problems.
My design has basically morphed into a Single Page Application (SPA), modulo a few ancillary pages.  There is no point building all the elements and Javascript code in Razor when I still have to support live updates in the client anyway. Just push all the rendering logic to the client and serve data ala-cart.


The Siege (1998) 2 1/2 stars out of 4. Starring Denzel Washington, Annette Benning, Bruce Willis and Tony Shaulabob. Directed by Edward Zwick.
The most apt way to describe The Siege is to paraphrase a classic line from cartoonist Walt Kelley's famous comic strip, Pogo: We have met the enemy and it is us.
The Siege is a political thriller that raises many questions, most importantly: Does the security of the nation supercede the rights of the individual?
The Siege is a flawed melodrama that gives itself a self-important weight it cannot sustain throughout. Directed by Ed Zwick (Glory),
The story, as the old movie ads dealing with topical subjects used to proclaim, is ripped from today's headlines.
Arab terrorists are creating havoc in New York. They first blow up a bus. Later, an attempt at a school is thwarted. A strike at a Times Square theater kills hundreds. The last straw is the bombing of a federal office building in Manhattan in which 600 people are killed.
The president declares martial law and sends in the military to patrol the streets of Brooklyn, since it is believed this is where the terrorist enclaves are located.
The borough is sealed off, and all Arab men between certain ages are detained in a makeshift detention camp in a sports stadium.
The gung-ho general (Bruce Willis) put in charge of the operation uses whatever means necessary, including torture, to gain information from suspected terrorists.
Meanwhile a straight-arrow FBI agent (Denzel Washington) and a mysterious CIA operative (Annette Benning) who, of course, knows more than she lets on, work separately to resolve the case so Willis and his GI Joes can be withdrawn and Brooklyn can return to normal - if that's possible.
The problem with Zwick's film is a lack of subtlety. It emblazons its IMPORTANT MESSAGE in letters big enough for filmgoers in the back row to read. The film's simplistic moral: freedom good, persecution bad.
It doesn't help matters that at times Willis' troops are shown acting like boot-jack Nazis, pushing people at gunpoint into trucks and carting them away.
However, in fairness, Zwick does show the Arab-American community in a favorable light, as its leaders seek to cooperate with the authorities to end the bombings.
Actually, the acting honors are stolen by Tony Shaulabob, as Washington's partner, a Lebanese-American with a wry wit and dry sense of humor. When his 13-year-old son is interned, Shaulabob's disillusionment with his adopted country is shattering.
Washington is the film's moral compass, a righteous, dedicated official who wants to end the bombings, bring the perpetrators to justice, but by means that are within the letter of the law.
Benning's character seems unfocused. One minute she seems to be a step ahead of Washington and his agents, the next she appears uncertain of her objective.
Willis is cold and rigid as the soldier who carries out his distasteful duty with a bit too much enthusiasm. Considering that earlier in the film he gave a short speech indicating his disdain for such an assignment, that he would perform it with such gusto appears inconsistent with his character.
The Siege is no political diatribe. It tries to be fair to all sides, and makes an effort to offend no one. This nullifies some of it impact.
Also, its pace is slow and uneven. At just under two hours, The Siege, at times, seems to become one.
Taken for what it is, The Siege is a decent endeavor. Better editing and more spine, though, could have raised it higher.
Bob Bloom is the film critic at the Journal and Courier in Lafayette, Ind. He can be reached by e-mail at<EMAIL_ADDRESS>or<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


UMASK(2) Linux Programmer's Manual UMASK(2) NAME umask - set file mode creation mask SYNOPSIS #include <sys/types.h> #include <sys/stat.h> mode_t umask(mode_t mask); DESCRIPTION umask() sets the calling process's file mode creation mask (umask) to mask & 0777 (i.e., only the file permission bits of mask are used), and returns the previous value of the mask. The umask is used by open(2), mkdir(2), and other system calls that cre‐ ate files to modify the permissions placed on newly created files or directories. Specifically, permissions in the umask are turned off from the mode argument to open(2) and mkdir(2). The constants that should be used to specify mask are described under stat(2). The typical default value for the process umask is S_IWGRP | S_IWOTH (octal 022). In the usual case where the mode argument to open(2) is specified as: S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH (octal 0666) when creating a new file, the permissions on the resulting file will be: S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH (because 0666 & ~022 = 0644; i.e., rw-r--r--). RETURN VALUE This system call always succeeds and the previous value of the mask is returned. CONFORMING TO SVr4, 4.3BSD, POSIX.1-2001. NOTES A child process created via fork(2) inherits its parent's umask. The umask is left unchanged by execve(2). The umask setting also affects the permissions assigned to POSIX IPC objects (mq_open(3), sem_open(3), shm_open(3)), FIFOs (mkfifo(3)), and UNIX domain sockets (unix(7)) created by the process. The umask does not affect the permissions assigned to System V IPC objects created by the process (using msgget(2), semget(2), shmget(2)). SEE ALSO chmod(2), mkdir(2), open(2), stat(2) COLOPHON This page is part of release 3.44 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. Linux 2008-01-09 UMASK(2)


Moses Jung
Programmer/Developer
Chef's Kitchen
mMm... Pizza
June 14, 2015
    I can't wait for the DBC Experience! It sounds like its going to be an awesome experience with lots of friendly interactive people. I am stoked to get to know everybody. My impression of DBC is that it is a very hands-on interactive learning environment that will provide emotional support as well as guiding through tough challenges.
    My impression of DBC has not changed and I see myself doing really well in this type of culture. I am really excited to participate in this learning environment and I hope I can benefit this school a lot more than they would expect. I am nervous because it would be the first time really being away from home, not having to work but study full time. I do believe my excitement overwhelms by nervousness though.


| 1 | package fr.sii.ogham.sms.builder.cloudhopper; | |
| 2 | ||
| 3 | import com.cloudhopper.smpp.ssl.SslConfiguration; | |
| 4 | ||
| 5 | import fr.sii.ogham.core.builder.AbstractParent; | |
| 6 | import fr.sii.ogham.core.builder.Builder; | |
| 7 | ||
| 8 | /** | |
| 9 | * Enable or disable SSL configuration and configure how SSL is handled. | |
| 10 | * | |
| 11 | * See | |
| 12 | * How | |
| 13 | * to use SSL with cloudhopper-smpp | |
| 14 | * | |
| 15 | * @author Aurélien Baudet | |
| 16 | * | |
| 17 | */ | |
| 18 |
1
1. build : All methods instructions replaced by: return null; → NO_COVERAGE |
public class SslBuilder extends AbstractParent<CloudhopperBuilder> implements Builder<SslConfiguration> { |
| 19 | private SslConfiguration sslConfiguration; | |
| 20 | private boolean enableSsl; | |
| 21 | ||
| 22 | /** | |
| 23 | * Initializes the builder with a parent builder. The parent builder is used | |
| 24 | * when calling {@link #and()} method. | |
| 25 | * | |
| 26 | * @param parent | |
| 27 | * the parent builder | |
| 28 | */ | |
| 29 | public SslBuilder(CloudhopperBuilder parent) { | |
| 30 | super(parent); | |
| 31 | } | |
| 32 | ||
| 33 | /** | |
| 34 | * Enable or disable SSL. | |
| 35 | * | |
| 36 | * @param enableSsl | |
| 37 | * true to enable SSL, false to disable | |
| 38 | * @return this instance for fluent chaining | |
| 39 | */ | |
| 40 | public SslBuilder enable(boolean enableSsl) { | |
| 41 |
1
1. enable : All methods instructions replaced by: return null; → NO_COVERAGE |
this.enableSsl = enableSsl; |
| 42 | return this; | |
| 43 | } | |
| 44 | ||
| 45 | /** | |
| 46 | * Configure SSL handling. | |
| 47 | * | |
| 48 | * See How to | |
| 50 | * use SSL with cloudhopper-smpp | |
| 51 | * | |
| 52 | * If this method is called several times, only the last configuration is | |
| 53 | * used. | |
| 54 | * | |
| 55 | * @param sslConfiguration | |
| 56 | * the new SSL configuration | |
| 57 | * @return this instance for fluent chaining | |
| 58 | */ | |
| 59 | public SslBuilder sslConfiguration(SslConfiguration sslConfiguration) { | |
| 60 |
1
1. sslConfiguration : All methods instructions replaced by: return null; → NO_COVERAGE |
this.sslConfiguration = sslConfiguration; |
| 61 | return this; | |
| 62 | } | |
| 63 | ||
| 64 | @Override | |
| 65 | public SslConfiguration build() { | |
| 66 |
1
1. build : All methods instructions replaced by: return null; → NO_COVERAGE |
return enableSsl ? null : sslConfiguration; |
| 67 | } | |
| 68 | ||
| 69 | } | |
Mutations | ||
| 18 |
1.1 |
|
| 41 |
1.1 |
|
| 60 |
1.1 |
|
| 66 |
1.1 |


Neayi
Collective intelligence at the service of agriculture.
We design a web platform that brings together farmers and experts, to enable them to evaluate the relevance of a practice before implementing it.
#sustainable #independent #dependable
Register to our newsletter
Name
E-mail address
*
Bertrand Gorge
Henri de Richecour


- s1 - Static variable in class h4bit.h4bit.R.string
-
- s2 - Static variable in class h4bit.h4bit.R.string
-
- s3 - Static variable in class h4bit.h4bit.R.string
-
- s4 - Static variable in class h4bit.h4bit.R.string
-
- s5 - Static variable in class h4bit.h4bit.R.string
-
- s6 - Static variable in class h4bit.h4bit.R.string
-
- s7 - Static variable in class h4bit.h4bit.R.string
-
- sandbox - Static variable in class h4bit.h4bit.R.id
-
- sat - Static variable in class h4bit.h4bit.R.string
-
- satellite - Static variable in class h4bit.h4bit.R.id
-
- saturdayToggle - Static variable in class h4bit.h4bit.R.id
-
- save(User) - Method in class h4bit.h4bit.Controllers.SaveLoadController
-
This will save the user object locally, with the file being the name of the username
- save - Static variable in class h4bit.h4bit.R.string
-
- saveChanges - Static variable in class h4bit.h4bit.R.string
-
- saveEventButton - Static variable in class h4bit.h4bit.R.id
-
- SaveLoadController - Class in h4bit.h4bit.Controllers
-
Created by benhl on 2017-11-20.
- SaveLoadController(String, Context) - Constructor for class h4bit.h4bit.Controllers.SaveLoadController
-
This initializes the SaveLoadController object
- saveOriginalList(HabitEventList) - Method in class h4bit.h4bit.Views.HabitHistoryActivity
-
- schemaOrgProperty - Static variable in class h4bit.h4bit.R.attr
-
May be a string value, using '\\;' to escape characters such as
'\\n' or '\\uxxxx' for a unicode character;
- schemaOrgType - Static variable in class h4bit.h4bit.R.attr
-
May be a string value, using '\\;' to escape characters such as
'\\n' or '\\uxxxx' for a unicode character;
- scopeUris - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- screen - Static variable in class h4bit.h4bit.R.id
-
- scrollIndicatorDown - Static variable in class h4bit.h4bit.R.id
-
- scrollIndicatorUp - Static variable in class h4bit.h4bit.R.id
-
- scrollView - Static variable in class h4bit.h4bit.R.id
-
- search_badge - Static variable in class h4bit.h4bit.R.id
-
- search_bar - Static variable in class h4bit.h4bit.R.id
-
- search_button - Static variable in class h4bit.h4bit.R.id
-
- search_close_btn - Static variable in class h4bit.h4bit.R.id
-
- search_edit_frame - Static variable in class h4bit.h4bit.R.id
-
- search_go_btn - Static variable in class h4bit.h4bit.R.id
-
- search_mag_icon - Static variable in class h4bit.h4bit.R.id
-
- search_menu_title - Static variable in class h4bit.h4bit.R.string
-
- search_plate - Static variable in class h4bit.h4bit.R.id
-
- search_src_text - Static variable in class h4bit.h4bit.R.id
-
- search_voice_btn - Static variable in class h4bit.h4bit.R.id
-
- searchButton - Static variable in class h4bit.h4bit.R.id
-
- searchComment - Static variable in class h4bit.h4bit.R.string
-
- searchEnabled - Static variable in class h4bit.h4bit.R.attr
-
May be a boolean value, such as "true
" or
"false
".
- searchHintIcon - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- searchHistoryButton - Static variable in class h4bit.h4bit.R.string
-
- searchHistoryComment(String, HabitEventList) - Method in class h4bit.h4bit.Views.HabitHistoryActivity
-
Searches for a given habit event in habit history via comment
- searchHistoryFull(String, String, HabitEventList) - Method in class h4bit.h4bit.Views.HabitHistoryActivity
-
- searchHistoryName(String, HabitEventList) - Method in class h4bit.h4bit.Views.HabitHistoryActivity
-
Searches for a given habit event in habit history via name
- searchIcon - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- searchLabel - Static variable in class h4bit.h4bit.R.attr
-
May be a string value, using '\\;' to escape characters such as
'\\n' or '\\uxxxx' for a unicode character;
- searchNameHint - Static variable in class h4bit.h4bit.R.string
-
- SearchView - Static variable in class h4bit.h4bit.R.styleable
-
Attributes that can be used with a SearchView.
- SearchView_android_focusable - Static variable in class h4bit.h4bit.R.styleable
-
This symbol is the offset where the
R.attr.focusable
attribute's value can be found in the
R.styleable.SearchView
array.
- SearchView_android_imeOptions - Static variable in class h4bit.h4bit.R.styleable
-
This symbol is the offset where the
R.attr.imeOptions
attribute's value can be found in the
R.styleable.SearchView
array.
- SearchView_android_inputType - Static variable in class h4bit.h4bit.R.styleable
-
This symbol is the offset where the
R.attr.inputType
attribute's value can be found in the
R.styleable.SearchView
array.
- SearchView_android_maxWidth - Static variable in class h4bit.h4bit.R.styleable
-
This symbol is the offset where the
R.attr.maxWidth
attribute's value can be found in the
R.styleable.SearchView
array.
- SearchView_closeIcon - Static variable in class h4bit.h4bit.R.styleable
-
- SearchView_commitIcon - Static variable in class h4bit.h4bit.R.styleable
-
- SearchView_defaultQueryHint - Static variable in class h4bit.h4bit.R.styleable
-
- SearchView_goIcon - Static variable in class h4bit.h4bit.R.styleable
-
- SearchView_iconifiedByDefault - Static variable in class h4bit.h4bit.R.styleable
-
- SearchView_layout - Static variable in class h4bit.h4bit.R.styleable
-
- SearchView_queryBackground - Static variable in class h4bit.h4bit.R.styleable
-
- SearchView_queryHint - Static variable in class h4bit.h4bit.R.styleable
-
- SearchView_searchHintIcon - Static variable in class h4bit.h4bit.R.styleable
-
- SearchView_searchIcon - Static variable in class h4bit.h4bit.R.styleable
-
- SearchView_submitBackground - Static variable in class h4bit.h4bit.R.styleable
-
- SearchView_suggestionRowLayout - Static variable in class h4bit.h4bit.R.styleable
-
- SearchView_voiceIcon - Static variable in class h4bit.h4bit.R.styleable
-
- searchViewStyle - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- secondary_text_default_material_dark - Static variable in class h4bit.h4bit.R.color
-
- secondary_text_default_material_light - Static variable in class h4bit.h4bit.R.color
-
- secondary_text_disabled_material_dark - Static variable in class h4bit.h4bit.R.color
-
- secondary_text_disabled_material_light - Static variable in class h4bit.h4bit.R.color
-
- Section - Static variable in class h4bit.h4bit.R.styleable
-
Attributes that can be used with a Section.
- Section_indexPrefixes - Static variable in class h4bit.h4bit.R.styleable
-
- Section_noIndex - Static variable in class h4bit.h4bit.R.styleable
-
- Section_schemaOrgProperty - Static variable in class h4bit.h4bit.R.styleable
-
- Section_sectionFormat - Static variable in class h4bit.h4bit.R.styleable
-
- Section_sectionId - Static variable in class h4bit.h4bit.R.styleable
-
- Section_sectionWeight - Static variable in class h4bit.h4bit.R.styleable
-
- Section_subsectionSeparator - Static variable in class h4bit.h4bit.R.styleable
-
- sectionContent - Static variable in class h4bit.h4bit.R.attr
-
May be a string value, using '\\;' to escape characters such as
'\\n' or '\\uxxxx' for a unicode character;
- SectionFeature - Static variable in class h4bit.h4bit.R.styleable
-
Attributes that can be used with a SectionFeature.
- SectionFeature_featureType - Static variable in class h4bit.h4bit.R.styleable
-
- sectionFormat - Static variable in class h4bit.h4bit.R.attr
-
Must be one of the following constant values.
- sectionId - Static variable in class h4bit.h4bit.R.attr
-
May be a string value, using '\\;' to escape characters such as
'\\n' or '\\uxxxx' for a unicode character;
- sectionType - Static variable in class h4bit.h4bit.R.attr
-
Must be one of the following constant values.
- sectionWeight - Static variable in class h4bit.h4bit.R.attr
-
May be an integer value, such as "100
".
- seek_bar - Static variable in class h4bit.h4bit.R.id
-
- seek_bar_controls - Static variable in class h4bit.h4bit.R.id
-
- seekBarStyle - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- select_dialog_item_material - Static variable in class h4bit.h4bit.R.layout
-
- select_dialog_listview - Static variable in class h4bit.h4bit.R.id
-
- select_dialog_multichoice_material - Static variable in class h4bit.h4bit.R.layout
-
- select_dialog_singlechoice_material - Static variable in class h4bit.h4bit.R.layout
-
- selectableItemBackground - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- selectableItemBackgroundBorderless - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- selectionDetails - Static variable in class h4bit.h4bit.R.id
-
- semanticallySearchable - Static variable in class h4bit.h4bit.R.attr
-
May be a boolean value, such as "true
" or
"false
".
- send_request - Static variable in class h4bit.h4bit.R.string
-
- sendFollowRequest(String) - Method in class h4bit.h4bit.Models.User
-
- setComment(String) - Method in class h4bit.h4bit.Models.Habit
-
- setComment(String) - Method in class h4bit.h4bit.Models.HabitEvent
-
- setCompleted(int) - Method in class h4bit.h4bit.Models.Habit
-
- setDoneToday(boolean) - Method in class h4bit.h4bit.Models.Habit
-
- setId(String) - Method in class h4bit.h4bit.Models.Habit
-
- setId(String) - Method in class h4bit.h4bit.Models.User
-
- setImage(Bitmap) - Method in class h4bit.h4bit.Models.HabitEvent
-
- setLastModified(Date) - Method in class h4bit.h4bit.Models.User
-
- setMissed(int) - Method in class h4bit.h4bit.Models.Habit
-
- setName(String) - Method in class h4bit.h4bit.Models.Habit
-
- setNextDate() - Method in class h4bit.h4bit.Models.Habit
-
Determine's how many days until the next time a habit must be completed
- setSchedule(boolean[]) - Method in class h4bit.h4bit.Models.Habit
-
- setStartDate(Date, HabitEventList) - Method in class h4bit.h4bit.Models.Habit
-
removes events prior to the new start date, and updates stats
- settingsDescription - Static variable in class h4bit.h4bit.R.attr
-
May be a string value, using '\\;' to escape characters such as
'\\n' or '\\uxxxx' for a unicode character;
- setUpdatedDate(Date) - Method in class h4bit.h4bit.Models.Habit
-
- setUsername(String) - Method in class h4bit.h4bit.Models.Habit
-
- shortcut - Static variable in class h4bit.h4bit.R.id
-
- showAsAction - Static variable in class h4bit.h4bit.R.attr
-
Must be one or more (separated by '|') of the following constant values.
- showCustom - Static variable in class h4bit.h4bit.R.id
-
- showDividers - Static variable in class h4bit.h4bit.R.attr
-
Must be one or more (separated by '|') of the following constant values.
- showHome - Static variable in class h4bit.h4bit.R.id
-
- showText - Static variable in class h4bit.h4bit.R.attr
-
May be a boolean value, such as "true
" or
"false
".
- showTitle - Static variable in class h4bit.h4bit.R.attr
-
May be a boolean value, such as "true
" or
"false
".
- showTitle - Static variable in class h4bit.h4bit.R.id
-
- SignInButton - Static variable in class h4bit.h4bit.R.styleable
-
Attributes that can be used with a SignInButton.
- SignInButton_buttonSize - Static variable in class h4bit.h4bit.R.styleable
-
- SignInButton_colorScheme - Static variable in class h4bit.h4bit.R.styleable
-
- SignInButton_scopeUris - Static variable in class h4bit.h4bit.R.styleable
-
- signup() - Method in class h4bit.h4bit.Views.LoginActivity
-
- signupButton - Static variable in class h4bit.h4bit.R.id
-
- signupButton - Static variable in class h4bit.h4bit.R.string
-
- singleChoiceItemLayout - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- size() - Method in class h4bit.h4bit.Models.HabitEventList
-
- slide - Static variable in class h4bit.h4bit.R.id
-
- SocialActivity - Class in h4bit.h4bit.Views
-
SocialActivity
Version 1.0
November 1st 2017
Copyright 2017 Team 32, CMPUT 301, University of Alberta - All Rights Reserved.
- SocialActivity() - Constructor for class h4bit.h4bit.Views.SocialActivity
-
- socialButton - Static variable in class h4bit.h4bit.R.id
-
- socialTab - Static variable in class h4bit.h4bit.R.string
-
- socialTab() - Method in class h4bit.h4bit.Views.HabitHistoryActivity
-
- socialTab() - Method in class h4bit.h4bit.Views.MainHabitActivity
-
- sortByDate() - Method in class h4bit.h4bit.Models.HabitEventList
-
- sortByNextDate() - Method in class h4bit.h4bit.Models.HabitList
-
Sorts habits by when they are next scheduled to be done
- sourceClass - Static variable in class h4bit.h4bit.R.attr
-
Must be one of the following constant values.
- spacer - Static variable in class h4bit.h4bit.R.id
-
- spinBars - Static variable in class h4bit.h4bit.R.attr
-
May be a boolean value, such as "true
" or
"false
".
- Spinner - Static variable in class h4bit.h4bit.R.styleable
-
Attributes that can be used with a Spinner.
- Spinner_android_dropDownWidth - Static variable in class h4bit.h4bit.R.styleable
-
This symbol is the offset where the
R.attr.dropDownWidth
attribute's value can be found in the
R.styleable.Spinner
array.
- Spinner_android_entries - Static variable in class h4bit.h4bit.R.styleable
-
This symbol is the offset where the
R.attr.entries
attribute's value can be found in the
R.styleable.Spinner
array.
- Spinner_android_popupBackground - Static variable in class h4bit.h4bit.R.styleable
-
This symbol is the offset where the
R.attr.popupBackground
attribute's value can be found in the
R.styleable.Spinner
array.
- Spinner_android_prompt - Static variable in class h4bit.h4bit.R.styleable
-
This symbol is the offset where the
R.attr.prompt
attribute's value can be found in the
R.styleable.Spinner
array.
- Spinner_popupTheme - Static variable in class h4bit.h4bit.R.styleable
-
- spinnerDropDownItemStyle - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- spinnerStyle - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- split_action_bar - Static variable in class h4bit.h4bit.R.id
-
- splitTrack - Static variable in class h4bit.h4bit.R.attr
-
May be a boolean value, such as "true
" or
"false
".
- spread - Static variable in class h4bit.h4bit.R.id
-
- spread_inside - Static variable in class h4bit.h4bit.R.id
-
- src_atop - Static variable in class h4bit.h4bit.R.id
-
- src_in - Static variable in class h4bit.h4bit.R.id
-
- src_over - Static variable in class h4bit.h4bit.R.id
-
- srcCompat - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- standard - Static variable in class h4bit.h4bit.R.id
-
- start_text - Static variable in class h4bit.h4bit.R.id
-
- startDatePicker - Static variable in class h4bit.h4bit.R.id
-
- state_above_anchor - Static variable in class h4bit.h4bit.R.attr
-
May be a boolean value, such as "true
" or
"false
".
- status_bar_latest_event_content - Static variable in class h4bit.h4bit.R.id
-
- status_bar_notification_info_maxnum - Static variable in class h4bit.h4bit.R.integer
-
- status_bar_notification_info_overflow - Static variable in class h4bit.h4bit.R.string
-
- status_text - Static variable in class h4bit.h4bit.R.id
-
- StatusAdapter - Class in h4bit.h4bit.Views
-
ProfileController
Version 1.0
November 1st 2017
Copyright 2017 Team 32, CMPUT 301, University of Alberta - All Rights Reserved.
- StatusAdapter(Context, ArrayList<HabitEvent>, String) - Constructor for class h4bit.h4bit.Views.StatusAdapter
-
- statusUsernameText - Static variable in class h4bit.h4bit.R.id
-
- strict_sandbox - Static variable in class h4bit.h4bit.R.id
-
- string() - Constructor for class h4bit.h4bit.R.string
-
- style() - Constructor for class h4bit.h4bit.R.style
-
- styleable() - Constructor for class h4bit.h4bit.R.styleable
-
- subMenuArrow - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- submenuarrow - Static variable in class h4bit.h4bit.R.id
-
- submit_area - Static variable in class h4bit.h4bit.R.id
-
- submitBackground - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- subsectionSeparator - Static variable in class h4bit.h4bit.R.attr
-
May be a string value, using '\\;' to escape characters such as
'\\n' or '\\uxxxx' for a unicode character;
- subtitle - Static variable in class h4bit.h4bit.R.attr
-
May be a string value, using '\\;' to escape characters such as
'\\n' or '\\uxxxx' for a unicode character;
- subtitle_view - Static variable in class h4bit.h4bit.R.id
-
- subtitleTextAppearance - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- subtitleTextColor - Static variable in class h4bit.h4bit.R.attr
-
May be a color value, in the form of "#rgb
",
"#argb
", "#rrggbb
", or
"#aarrggbb
".
- subtitleTextStyle - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- suggestionRowLayout - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- sun - Static variable in class h4bit.h4bit.R.string
-
- sundayToggle - Static variable in class h4bit.h4bit.R.id
-
- sundayToggle - Static variable in class h4bit.h4bit.R.string
-
- support_simple_spinner_dropdown_item - Static variable in class h4bit.h4bit.R.layout
-
- switch_thumb_disabled_material_dark - Static variable in class h4bit.h4bit.R.color
-
- switch_thumb_disabled_material_light - Static variable in class h4bit.h4bit.R.color
-
- switch_thumb_material_dark - Static variable in class h4bit.h4bit.R.color
-
- switch_thumb_material_light - Static variable in class h4bit.h4bit.R.color
-
- switch_thumb_normal_material_dark - Static variable in class h4bit.h4bit.R.color
-
- switch_thumb_normal_material_light - Static variable in class h4bit.h4bit.R.color
-
- SwitchCompat - Static variable in class h4bit.h4bit.R.styleable
-
Attributes that can be used with a SwitchCompat.
- SwitchCompat_android_textOff - Static variable in class h4bit.h4bit.R.styleable
-
This symbol is the offset where the
R.attr.textOff
attribute's value can be found in the
R.styleable.SwitchCompat
array.
- SwitchCompat_android_textOn - Static variable in class h4bit.h4bit.R.styleable
-
- SwitchCompat_android_thumb - Static variable in class h4bit.h4bit.R.styleable
-
- SwitchCompat_showText - Static variable in class h4bit.h4bit.R.styleable
-
- SwitchCompat_splitTrack - Static variable in class h4bit.h4bit.R.styleable
-
- SwitchCompat_switchMinWidth - Static variable in class h4bit.h4bit.R.styleable
-
- SwitchCompat_switchPadding - Static variable in class h4bit.h4bit.R.styleable
-
- SwitchCompat_switchTextAppearance - Static variable in class h4bit.h4bit.R.styleable
-
- SwitchCompat_thumbTextPadding - Static variable in class h4bit.h4bit.R.styleable
-
- SwitchCompat_thumbTint - Static variable in class h4bit.h4bit.R.styleable
-
- SwitchCompat_thumbTintMode - Static variable in class h4bit.h4bit.R.styleable
-
- SwitchCompat_track - Static variable in class h4bit.h4bit.R.styleable
-
- SwitchCompat_trackTint - Static variable in class h4bit.h4bit.R.styleable
-
- SwitchCompat_trackTintMode - Static variable in class h4bit.h4bit.R.styleable
-
- switchMinWidth - Static variable in class h4bit.h4bit.R.attr
-
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
- switchPadding - Static variable in class h4bit.h4bit.R.attr
-
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
- switchStyle - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
- switchTextAppearance - Static variable in class h4bit.h4bit.R.attr
-
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".


{{ partial "head.html" . }}
4
4
Page not found
We are sorry - This page does not exist
Go to home
{{ partial "scripts.html" }}


Folders with new files
Number of days
Get folders with files not older than {{days}} days
Name
Creator
{{mediaFolderWithNewFiles.Name}}
{{mediaFolderWithNewFiles.CreatorName}}
Navigate


Please login using the previously supplied client extranet details, or your Squiz staff account. If you do not know either of these please contact support. If you were sent this link in error or do not have a Squiz account, you will not be able to access this resource.


If you want your game to work in real-time, set the realtime_interval tag in the prelude.
realtime_interval 0.5
The number indicates how long each realtime frame should be. In the above case, twice a second the game engine will tick, but with no input. Player input is processed as regular.
So, there are two sorts of ticks - one where the player has input, and then realtime ones - to tell them apart, you can search for this pattern.
(only triggers on real-time ticks)
[ stationary Player ] [ a ] -> [ Player ] [ b ]
(only triggers in response to player input)
[ moving Player ] [ c ] -> [ moving Player ] [ d ]
Because you're working on a realtime game, you might want to limit the speed at which a player can move - you can do this with the throttle_movement prelude switch:
throttle_movement
With this switch, if you press the same direction multiple times in rapid succession, you'll still move no more quickly than key_repeat_interval. You can still alternate directions quickly, and press action as quickly as you like.
If again is triggered, no realtime ticks will happen until the again stuff has finished.
Note: Apologies for not including any examples here. Other people have used realtime a bunch to varying effects, some of which I like, but I'm still trying to find a good simple example that shows it off at its best. Drop me a line if you have a suggestion for a good example. :)