This document describes an enhancement of Ganeti’s security by restricting the distribution of security-sensitive data to the master and master candidates only.
Note: In this document, we will use the term ‘normal node’ for a node that is neither master nor master-candidate.
Contents
Up till 2.10, Ganeti distributes security-relevant keys to all nodes, including nodes that are neither master nor master-candidates. Those keys are the private and public SSH keys for node communication and the SSL certficate and private key for RPC communication. Objective of this design is to limit the set of nodes that can establish ssh and RPC connections to the master and master candidates.
As pointed out in issue 377, this is a security risk. Since all nodes have these keys, compromising any of those nodes would possibly give an attacker access to all other machines in the cluster. Reducing the set of nodes that are able to make ssh and RPC connections to the master and master candidates would significantly reduce the risk simply because fewer machines would be a valuable target for attackers.
Note: For bigger installations of Ganeti, it is advisable to run master candidate nodes as non-vm-capable nodes. This would reduce the attack surface for the hypervisor exploitation.
Currently (as of 2.10), all nodes hold the following information:
Concerning ssh, this setup contains the following security issue. Since all nodes of a cluster can ssh as root into any other cluster node, one compromised node can harm all other nodes of a cluster.
Regarding the SSL encryption of the RPC communication with the node daemon, we currently have the following setup. There is only one certificate which is used as both, client and server certificate. Besides the SSL client verification, we check if the used client certificate is the same as the certificate stored on the server.
This means that any node running a node daemon can also act as an RPC client and use it to issue RPC calls to other cluster nodes. This in turn means that any compromised node could be used to make RPC calls to any node (including itself) to gain full control over VMs. This could be used by an attacker to for example bring down the VMs or exploit bugs in the virtualization stacks to gain access to the host machines as well.
We propose the following design regarding the SSH host key handling. The root keys are untouched by this design.
Each node gets its own ssh private/public key pair, but only the public keys of the master candidates get added to the authorized_keys file of all nodes. This has the advantages, that:
To ensure security while transferring public key information and updating the authorized_keys, there are several other changes necessary:
The following sections describe in detail which Ganeti commands are affected by the proposed changes.
The design goal to limit SSH powers to master candidates conflicts with the current powers a user of the RAPI interface would have. The master_capable flag of nodes can be modified via RAPI. That means, an attacker that has access to the RAPI interface, can make all non-master-capable nodes master-capable, and then increase the master candidate pool size till all machines are master candidates (or at least a particular machine that he is aming for). This means that with RAPI access and a compromised normal node, one can make this node a master candidate and then still have the power to compromise the whole cluster.
To mitigate this issue, we propose the following changes:
With this setup, there are the following definitions of “potential master candidates” depending on the rapi flag:
Note that when the rapi flag is changed, the state of the ganeti_pub_keys file on all nodes has to be updated accordingly. This should be done in the client script gnt_cluster before the RPC call to update the configuration is made, because this way, if someone would try to perform that RPC call on master to trick it into thinking that the flag is enabled, this would not help as the content of the ganeti_pub_keys file is a crucial part in the design of the distribution of the SSH keys.
Note: One could think of always allowing to disable the master-capability via RAPI and just restrict the enabling of it, thus making it possible to RAPI-“freeze” the nodes’ master-capability state once it disabled. However, we think these are rather confusing semantics of the involved flags and thus we go with proposed design.
Note that this change will break RAPI compatibility, at least if the rapi flag is not explicitely set to True. We made this choice to have the more secure option as default, because otherwise it is unlikely to be widely used.
On cluster initialization, the following steps are taken in bootstrap.py:
According to Design for adding a node to a cluster, Ganeti transfers the ssh keys to every node that gets added to the cluster.
Adding a new node will require the following steps.
In gnt_node.py:
In LUNodeAdd in cmdlib/node.py:
RPC call execution in noded (on master node):
In case of readding a node that used to be in the cluster before, handling of the SSH keys would basically be the same, in particular also a new SSH key pair is generated for the node, because we cannot be sure that the old key pair has not been compromised while the node was offlined.
If the role of a node is changed from ‘normal’ to ‘master_candidate’, the procedure is the same as for adding nodes from the step “In LUNodeAdd ...” on.
If a node gets demoted to ‘normal’, the master daemon makes a similar RPC call to the master node’s node daemon as for adding a node.
In the RPC call, noded will perform the following steps:
This affected the behavior of the following commands:
If the node has been master candidate already before the command to promote it was issued, Ganeti does not do anything.
Note that when you demote a node from master candidate to normal node, another master-capable and normal node will be promoted to master candidate. For this newly promoted node, the same changes apply as if it was explicitely promoted.
The same behavior should be ensured for the corresponding rapi command.
When offlining a node, it immediately loses its role as master or master candidate as well. When it is onlined again, it will become master candidate again if it was so before. The handling of the keys should be done in the same way as when the node is explicitely promoted or demoted to or from master candidate. See the previous section for details.
This affects the command:
For offlining, the removal of the keys is particularly important, as the detection of a compromised node might be the very reason for the offlining. Of course we cannot guarantee that removal of the key is always successful, because the node might not be reachable anymore. Even though it is a best-effort operation, it is still an improvement over the status quo, because currently Ganeti does not even try to remove any keys.
The same behavior should be ensured for the corresponding rapi command.
So far, ‘gnt-cluster verify’ checks the SSH connectivity of all nodes to all other nodes. We propose to replace this by the following checks:
When upgrading from a version that has the previous SSH setup to the one proposed in this design, the upgrade procedure has to involve the following steps in the post-upgrade hook:
Since this upgrade significantly changes the configuration of the clusters’ nodes, we will add a note to the UPGRADE notes to make the administrator aware of this fact (in case he intends to enable access from normal nodes to master candidates for other reasons than Ganeti uses the machines).
Also, in any operation where Ganeti creates new SSH keys, the old keys will be backed up and not simply overridden.
These downgrading steps will be implemtented from 2.12 to 2.11:
The gnt-cluster renew-crypto command is not affected by the proposed changes related to SSH.
Regarding the node daemon certificates, we propose the following changes in the design.
This design has the following advantages:
Drawbacks of this design:
Alternative proposals:
In the following sections, we describe how our design affects various Ganeti operations.
On cluster initialization, so far only the node daemon certificate was created. With our design, two certificates (and corresponding keys) need to be created, a server certificate to be distributed to all nodes and a client certificate only to be used by this particular node. In the following, we use the term node daemon certificate for the server certficate only.
In the cluster configuration, the candidate map is created. It is populated with the respective entry for the master node. It is also written to ssconf.
When a node is added, the server certificate is copied to the node (as before). Additionally, a new client certificate (and the corresponding private key) is created on the new node to be used only by the new node as client certifcate.
If the new node is a master candidate, the candidate map is extended by the new node’s data.  Note that distribution of the configuration after adding a node is already implemented, since all nodes hold the list of nodes in the cluster in ssconf anyway.
If the configuration for whatever reason already holds an entry for this node, it will be overriden.
When readding a node, the procedure is the same as for adding a node.
When a normal node gets promoted to be master candidate, an entry to the candidate map has to be added and the updated configuration has to be distributed to all nodes. If there was already an entry for the node, we override it.
On demotion of a master candidate, the node’s entry in the candidate map gets removed and the updated configuration gets redistibuted.
The same procedure applied to onlining and offlining master candidates.
Cluster verify will be extended by the following checks:
Currently, when the cluster’s cryptographic tokens are renewed using the gnt-cluster renew-crypto command the node daemon certificate is renewed (among others). Option --new-cluster-certificate renews the node daemon certificate only.
By adding an option --new-node-certificates we offer to renew the client certificate. Whenever the client certificates are renewed, the candidate map has to be updated and redistributed.
If for whatever reason, the candidate map becomes inconsistent, for example due inconsistent updating after a demotion or offlining), the user can use this option to renew the client certificates and update the candidate certificate map.
The watcher is a script that is run on all nodes in regular intervals. The changes proposed in this design will not affect the watcher’s implementation, because it behaves differently on the master than on non-master nodes.
Only on the master, it issues query calls which would require a client certificate of a node in the candidate mapping. This is the case for the master node. On non-master node, it’s only external communication is done via the ConfD protocol, which uses the hmac key, which is present on all nodes. Besides that, the watcher does not make any ssh connections, and thus is not affected by the changes in ssh key handling either.
Ganeti handles a couple of other keys/certificates that have not been mentioned in this design so far. Also, other daemons than the ones mentioned so far perform intra-cluster communication. Neither the keys nor the daemons will be affected by this design for several reasons:


HTTP Authorization Control
Dennis Heimbigner
Unidata
July 20, 2011
Revised: September 15, 2011
New classes are introduced to the package ucar.httpclient
to support a variety of authorization mechanisms.
These mechanisms currently are Http BASIC and DIGEST,
and client side keys for SSL connections.
Note that for outgoing firewalls that require authentication,
the BASIC or DIGEST schemes will be used as a rule.
Most of these classes are invisible to the user. The user
indirectly accesses them through the HTTPSession interface.
The primary new classes are
- HTTPAuthStore
- HTTPAuthScheme
- HTTPAuthProvider
- HTTPSSLProvider
The goal of these new classes
is to provide a general approach to the problem of
client-side authorization with respect to some server.
The approach is to provide various kinds of authorization
credentials (broadly construed) to servers by clients.
Before reading this document, the reader should have read the
Session.html
and the
HTTPauthentication.html
documents to
understand the context in which the authorization mechanisms
operate. The section Status should
also be read to get important information about the current
state of this code.
The authorization schemes currently
supported are as follows.
- HTTP Basic
- HTTP Digest
- Client-side keys using java
keystores and truststores.
Global and Per-Connection Credentials
There is an additional factor. It is
desirable to support both "global" and "per-session"
authorization.
- Global — this means that a
single set of credentials is set globally and is adequate
for all code running within a single program (i.e. linux or
windows process).
- Per-session — this means
that each session (HTTPSession instance) may have a separate
set of credentials. Further, it must be guaranteed that no
connection is re-used to avoid inadvertent access to some
other set of credentials.
Delegation
Finally, there is the "delegation" problem. This is when a
client program (or a server program acting as a client)
wants to masquerade as some user and utilize the
authorizations provided for that user. Of course, this
requires that the program be sufficiently trusted so that is
will handle the delegation responsibly.
Delegation is likely to be most common on the server-side because a
server will be handling multiple clients and may have to access
additional information on behalf of various clients.
Approach
Access rights are stored in a "database" that is
globally accessible to all code within a single operating
system process and is independent of any threading.
The fact that this database is shared is important so that
a consistent set of credentials is provided everywhere within
the operating system process.
This database is kept as class level object consisting of a set
of row instances of type HTTPAuthStore.Entry.
The columns of each entry are as follows.
-
scheme of type HTTPAuthScheme
(with a special instance acting as the wildcard ANY_SCHEME).
-
url of type String
(with a special instance acting as the wildcard ANY_URL).
-
creds of type
org.apache.commons.httpclient.auth.CredentialsProvider.
The HTTPAuthStore
API
itself provides operations to insert and delete rows, and to search
for rows matching specified criteria.
Class Descriptions
Note that any typical implementation of the
CredentialsProvider
interface may be used for an HTTPAuthStore
database row.
As a special case and when the scheme is SSL,
then the user should use the
provided
HTTPSSLProvider class
for this field. Its constructor requires arguments for
the client side keystore plus password and the client side
truststore plus password.
The keystore and truststore arguments are absolute paths.
If the truststore is not specified then essentially any certificate provided
by the server will be accepted (including, specifically,
self-signed certificates).
The scheme field is assumed to store an instance of
the enum type HTTPAuthScheme.
The elements of the enum are as follows:
BASIC and DIGEST operate essentially the same and require as
credentials a principal and a password. The SSL scheme
is to accomodate client-side key authentication. It requires
information about a keystore and truststore and their
associated passwords. The ANY value serves as a wildcard.
The HTTPAuthProvider class implements the
org.apache.commons.httpclient.auth.CredentialsProvider
interface. It is used as a wrapper for the HTTPAuthStore.Entry
creds field and manages accessing the auth store
at the appropriate point to obtain the information
needed for getting the proper credentials.
The constructor for
HTTPAuthProvider
takes a URL as an argument.
When the getCredentials method is invoked
the URL plus the AuthScheme argument
are used to locate the most specific matching entry
in the auth store database. This entry is then used
to properly invoke the correct CredentialsProvider
instance.
When searching the auth store rows for matches, schemes
are either simple equal or not equal. However, when matching the url
field, urls may match in a more complicated way.
In particular, a missing user info field
or missing path will act as a wildcard when matching to
another url. For the path, prefix matching also can result
in a match.
Encrypted serialization of the auth store is supported
with significant limitations.
The relevant methods are as follows.
- static public void serialize(OutputStream ostream, String password)
throws HTTPException
- static public void deserialize(InputStream istream, String password)
throws HTTPException
Serialization (and de-serialization) of the
scheme and url
fields are straightforward.
WARNING: Serialization of the creds field
is tricky because the instance may or may itself
be serializable. If it supports the Serializable
interface, then it will be serialized.
If it does not implement that interface, then
the class of the creds field is serialized
instead. This will be ok for essentially stateless
implementations of CredentialsProvider, but
otherwise will produce incorrect results.
The primary API methods are described.
All of the following methods are tagged "static public".
Other, minor methods, exist and the Javadoc should be consulted
for those.
Insert
The single method takes an HTTPAuthStore.Entry
instance to insert into the auth store database.
It returns false if the entry instance
replaces an existing row, else returns true.
boolean insert(HTTPAuthStore.Entry entry);
Remove
The single method takes an HTTPAuthStore.Entry
instance to remove from the auth store database.
It returns false if the entry instance
is not in the current database, else returns true.
boolean remove(HTTPAuthStore.Entry entry);
Search
The single method takes an HTTPAuthStore.Entry
instance to serve as the pattern to search the auth store database.
It returns an array of matching entries, which may be zero length.
The returned list is ordered from most restrictive to least restrictive.
Entry[] search(HTTPAuthStore.Entry entry);
The search pattern match is defined by the following tests.
| Scheme
|
Comparison is by ==; wildcard is specified by ANY_SCHEME.
|
| URL
|
Comparison is as defined above.
|
The primary methods of HTTPAuthScheme enum
are as follows.
- public String getSchemeName() returns a canonical string representing
the name of the scheme.
- static public HTTPAuthScheme schemeForName(String name)
returns an HTTPAuthScheme value given a string and returns null if there
is no such value.
- static public HTTPAuthScheme fromAuthScope(String name)
returns an HTTPAuthScheme value given a string from an AuthScope
instance and returns null if the name is not recognized.
The primary methods of the HTTPAuthProvider class
are as follows.
- public HTTPAuthProvider(String url) is the constructor
taking a url for controlling the search into the auth store.
- public Credentials getCredentials(AuthScheme authscheme,
String host, int port, boolean isproxy)
throws CredentialsNotAvailableException is invoked
by the underlying authorization code to get the credentials
and this method in turn consults the auth store.
The primary methods of the HTTPAuthProvider class
are as follows.
- public HTTPSSLProvider(String keystore,String keypass,
String truststore,String trustpass)
- public HTTPSSLProvider(String keystore, String keypass)
- public String getKeystore()
- public String getKeypassword()
- public String getTruststore()
- public String getTrustpassword()
- public Credentials getCredentials(AuthScheme authscheme,
String host,
int port,
boolean isproxy)
throws CredentialsNotAvailableException
(Note that this interface is abused and is not intended
for external invocation).
- Currently, this code is in the Thredds code trunk.
Backward compatibility is provided for
the old handling of ESG keystore arguments
using the java -D flags
keystore,
keystorepassword,
truststore, and
truststorepassword.
Author
Author: Dennis Heimbigner
Affiliation: UCAR/Unidata
email: dmh@ucar.edu


Shaka Player v0.1
This video player demonstrates Google's JavaScript DASH client, Shaka.
Tap the Load Stream button to play a video. (On Android, you'll also need to press the Play button in the video controls.)
API documentation |
Repo |
CDNJS |
NPM
Setup
Info


My pet's favorite things
These are a few of their favorite things
Toys:
bone
lambchop
ball
Favorite Foods:
MEAT!
apple cores
carrots
kibble


Example:
JSON:
{
"tree": [
{ "text": "Ruby", "icon": "star", "checkbox": { "id": "ruby", "name": "languages[]", "value": "1", "class": "special" } },
{ "text": "Java", "link": "http://wbotelhos.com.br", "target": "_blank", "checkbox": { "id": "java", "name": "language[]", "value": "2" } },
{ "text": "NoSQL", "state": "opened", "checkbox": { "id": "nosql", "name": "language[]", "value": "3" }, "children": [
{ "text": "Neo4j", "checkbox": { "id": "neo4j", "name": "language[]", "value": "4" } },
{ "text": "Document", "checkbox": { "id": "document", "name": "language[]", "value": "5" }, "children": [
{ "text": "MongoDB", "checkbox": { "id": "mongodb", "name": "language[]", "value": "6", "checked": true } },
{ "text": "CouchDB", "checkbox": { "id": "couchdb", "name": "language[]", "value": "7" } }
]
},
{ "text": "Relational", "checkbox": { "id": "relational", "name": "language[]", "value": "8", "disabled": true } }
]
}
]
}
"tree": [
{ "text": "Ruby", "icon": "star", "checkbox": { "id": "ruby", "name": "languages[]", "value": "1", "class": "special" } },
{ "text": "Java", "link": "http://wbotelhos.com.br", "target": "_blank", "checkbox": { "id": "java", "name": "language[]", "value": "2" } },
{ "text": "NoSQL", "state": "opened", "checkbox": { "id": "nosql", "name": "language[]", "value": "3" }, "children": [
{ "text": "Neo4j", "checkbox": { "id": "neo4j", "name": "language[]", "value": "4" } },
{ "text": "Document", "checkbox": { "id": "document", "name": "language[]", "value": "5" }, "children": [
{ "text": "MongoDB", "checkbox": { "id": "mongodb", "name": "language[]", "value": "6", "checked": true } },
{ "text": "CouchDB", "checkbox": { "id": "couchdb", "name": "language[]", "value": "7" } }
]
},
{ "text": "Relational", "checkbox": { "id": "relational", "name": "language[]", "value": "8", "disabled": true } }
]
}
]
}
Script:
$('#tree').treefy({
checkbox : true,
url : 'http://mockr.me/treefy'
});
checkbox : true,
url : 'http://mockr.me/treefy'
});
HTML:

Options:
always: undefined / using undefined jQuery will consider it as: undefined
$('#tree').treefy({
always : function(jqXHR, textStatus) {
alert('Successfully completed!');
},
url : '/treefy'
});
always : function(jqXHR, textStatus) {
alert('Successfully completed!');
},
url : '/treefy'
});
Function executed when the tree finish the request.
Explanation: you can stop a loading message when request finish.
checkbox: false
$('#tree').treefy({
checkbox : true,
url : '/treefy'
});
checkbox : true,
url : '/treefy'
});
Enables the checkbox on the side of each element.
Explanation:
- You put a checkbox on the side of each elment of the tree to be possible check it;
- Different from current plugins, Treefy generates real checkboxes, not a div with an image of the checkbox;
- You can customize all part of checkbox using the 'checkbox' element of JSON, or build it manually.
- You put a checkbox on the side of each elment of the tree to be possible check it;
- Different from current plugins, Treefy generates real checkboxes, not a div with an image of the checkbox;
- You can customize all part of checkbox using the 'checkbox' element of JSON, or build it manually.
checkDown: true
$('#tree').treefy({
checkbox : true,
checkDown : false
url : '/treefy',
});
checkbox : true,
checkDown : false
url : '/treefy',
});
Check all children when a folder is checked.
Explanation:
- The most common thing is check a folder to check all children, then let it on;
- If you wants just check the folder, but not the children just turn it off;
- This cover just the check option, not the uncheck.
- The most common thing is check a folder to check all children, then let it on;
- If you wants just check the folder, but not the children just turn it off;
- This cover just the check option, not the uncheck.
checkedClass: 'treefy-checked'
.treefy-on { background: url('checked.png'); }
$('#tree').treefy({
url : '/treefy',
checkedClass : 'on'
});
url : '/treefy',
checkedClass : 'on'
});
Class with background used as icon on checked values.
Explanation:
- You can change the background icon with one you like;
- The prefix 'treefy-' is preppended automatically to avoid conflicts.
- You can change the background icon with one you like;
- The prefix 'treefy-' is preppended automatically to avoid conflicts.
checkUp: true
$('#tree').treefy({
checkbox : true,
checkUp : false,
url : '/treefy'
});
checkbox : true,
checkUp : false,
url : '/treefy'
});
Check all parents folder.
Explanation:
- If a checkbox is a child, then if it is checked you parent is partial checked or full checked;
- If the parent has just one child, the parent is full checked, otherwise partial;
- You can disable this option to avoid check the parents if it represents some value and you don't want send it.
- If a checkbox is a child, then if it is checked you parent is partial checked or full checked;
- If the parent has just one child, the parent is full checked, otherwise partial;
- You can disable this option to avoid check the parents if it represents some value and you don't want send it.
data: undefined
var json = '{ "tree": [ { "text": "Java" }, { "text": "Ruby" } ] }'
$('#tree').treefy({
url : '/treefy',
data : json
});
url : '/treefy',
data : json
});
A JSON data passed to Treefy manually.
Explanation:
- You can build your own JSON and pass it to the Treefy;
- Maybe you wants manipulate the JSON that cames from an ajax request and then pass it.
- You can build your own JSON and pass it to the Treefy;
- Maybe you wants manipulate the JSON that cames from an ajax request and then pass it.
dataType: 'json' / using undefined jQuery will consider it as: Intelligent Guess (xml, json, script, or html)
$('#tree').treefy({
url : '/treefy',
dataType : 'xml'
});
url : '/treefy',
dataType : 'xml'
});
The data type of the ajax request.
Explanation: you can receive the data as XML. * For now just JSON is supported!
disabledCheckedClass: 'treefy-disabled-checked'
.treefy-checked-off { background: url('checked-off.png'); }
$('#tree').treefy({
disabledCheckedClass : 'checked-off',
url : '/treefy'
});
disabledCheckedClass : 'checked-off',
url : '/treefy'
});
Class with background used as icon on checkbox is checked but disabled.
Explanation:
- You can have a checkbox checked, but it can be disabled, then choose an icon for it.
- You can have a checkbox checked, but it can be disabled, then choose an icon for it.
disabledClass: 'treefy-disabled'
.treefy-unchecked-off { background: url('unchecked-off.png'); }
$('#tree').treefy({
disabledClass : 'unchecked-off',
url : '/treefy'
});
disabledClass : 'unchecked-off',
url : '/treefy'
});
Class with background used as icon on checkbox is disabled.
Explanation:
- You can have a checkbox unchecked and disabled, then choose an icon for it;
- This is the read-only state.
- You can have a checkbox unchecked and disabled, then choose an icon for it;
- This is the read-only state.
disableFolder: true
$('#tree').treefy({
disableFolder : false,
url : '/treefy'
});
disableFolder : false,
url : '/treefy'
});
Enables sending the value of items that are folders.
Explanation:
- By default the value setted on folder item is not submited, because it is disabled internally;
- Its happen because normally, the folder is just a grouper of other items;
- If your folder represents a value for your logic, then disable this option.
- By default the value setted on folder item is not submited, because it is disabled internally;
- Its happen because normally, the folder is just a grouper of other items;
- If your folder represents a value for your logic, then disable this option.
done: undefined / using undefined jQuery will consider it as: undefined
$('#tree').treefy({
done : function(data, textStatus, jqXHR) {
alert('Successfully loaded!');
},
url : '/treefy'
});
done : function(data, textStatus, jqXHR) {
alert('Successfully loaded!');
},
url : '/treefy'
});
Function executed when the tree loads successfully.
Explanation: you can get the data returned from request and display a success message.
fail: undefined / using undefined jQuery will consider it as: undefined
$('#tree').treefy({
fail : function(jqXHR, textStatus, errorThrown) {
alert('Some thing is wrong!');
},
url : '/treefy'
});
fail : function(jqXHR, textStatus, errorThrown) {
alert('Some thing is wrong!');
},
url : '/treefy'
});
Function executed when occurs an error.
Explanation: you can recover an error and display it, or take a workaround decision.
icon: true
$('#tree').treefy({
icon : false
url : '/treefy'
});
icon : false
url : '/treefy'
});
Enables the display of icons next to each item.
Explanation:
- All item of the tree can has an icon to a better explanation about the item;
- You can disable it to take of the item;
- This option just defined if the icon will be presented, not the name of icon.
- All item of the tree can has an icon to a better explanation about the item;
- You can disable it to take of the item;
- This option just defined if the icon will be presented, not the name of icon.
jsonp: undefined / using undefined jQuery will consider it as: no effect.
$('#tree').treefy({
jsonp : true,
url : '/treefy'
});
jsonp : true,
url : '/treefy'
});
Override the callback function name in a jsonp request.
Explanation: you can override the callback name. jQuery 1.5+ you can set it to false to avoid append of "?callback" or "=?" and set the name using jsonpCallback option.
jsonpCallback: undefined / using undefined jQuery will consider it as: random value
$('#tree').treefy({
jsonpCallback : 'MyCallbackName',
url : '/treefy'
});
jsonpCallback : 'MyCallbackName',
url : '/treefy'
});
Specify the callback function name for a JSONP request.
Explanation:
- You can change the name of callback manually;
- Using static name you can have a better browser caching;
- But it is preferable to let jQuery generate a unique name as it'll make it easier to manage the requests and provide callbacks and error handling
- You can change the name of callback manually;
- Using static name you can have a better browser caching;
- But it is preferable to let jQuery generate a unique name as it'll make it easier to manage the requests and provide callbacks and error handling
childrenName: 'children'
{ "tree": [ { "text": "NoSQL", "state": "opened", "node": [ { "text": "MongoDB" } ] } ] }
$('#tree').treefy({
childrenName : 'node',
url : '/treefy'
});
childrenName : 'node',
url : '/treefy'
});
Name of the node that represents the children.
Explanation: if you prefer to change the name because of an API parse os something.
params: {}
$('#tree').treefy({
params : { 'language': 'pt_BR', 'status': 1 },
url : '/treefy'
});
params : { 'language': 'pt_BR', 'status': 1 },
url : '/treefy'
});
...&language=pt_BR&status=1
A hash of parameters to be added to the query string.
Explanation: you can pass extra parameter to filter your search.
partial: true
$('#tree').treefy({
partial : false,
url : '/treefy'
});
partial : false,
url : '/treefy'
});
Enables the partial icon of the folder.
Explanation:
- If you have more then one children and check just one, then the folder should be with partial icon;
- When you disable this option the folder always will be full checked instead partial.
- If you have more then one children and check just one, then the folder should be with partial icon;
- When you disable this option the folder always will be full checked instead partial.
partialClass: 'treefy-partial'
.treefy-half { background: url('half.png'); }
$('#tree').treefy({
partialClass : 'half',
url : '/treefy'
});
partialClass : 'half',
url : '/treefy'
});
Class with background used as icon on checkbox is disabled.
Explanation:
- You can have a checkbox unchecked and disabled, then choose an icon for it;
- This is the read-only state.
- You can have a checkbox unchecked and disabled, then choose an icon for it;
- This is the read-only state.
type: 'get'
$('#tree').treefy({
type : 'post',
url : '/treefy'
});
type : 'post',
url : '/treefy'
});
Type of the HTTP request.
Explanation: you can change the verb to get, post, delete or put, but it is a search, then it is recommended that you use the default get.
uncheckDown: true
$('#tree').treefy({
checkbox : true,
uncheckDown : false
url : '/treefy',
});
checkbox : true,
uncheckDown : false
url : '/treefy',
});
Uncheck all children when a folder is unchecked.
Explanation:
- When you uncheck a folder, normally you want uncheck all children;
- Maybe you want to foce the user uncheck one by one, but it is not good at all.
- When you uncheck a folder, normally you want uncheck all children;
- Maybe you want to foce the user uncheck one by one, but it is not good at all.
uncheckUp: true
$('#tree').treefy({
checkbox : true,
uncheckUp : false
url : '/treefy',
});
checkbox : true,
uncheckUp : false
url : '/treefy',
});
Uncheck all parents folder when a child is check.
Explanation:
- If a checkbox is the last checked child, then if it is unchecked the parent is unchecked too;
- If the parent represents a value by it self, maybe you don't wan unchecked it too.
- If a checkbox is the last checked child, then if it is unchecked the parent is unchecked too;
- If the parent represents a value by it self, maybe you don't wan unchecked it too.
uncheckedClass: 'treefy-unchecked'
.treefy-normal { background: url('normal.png'); }
$('#tree').treefy({
uncheckedClass : 'normal',
url : '/treefy'
});
uncheckedClass : 'normal',
url : '/treefy'
});
Class with background used as icon on checkbox unchecked.
Explanation: the first state of checkbox is unchecked, and it is the image of it.
url: undefined
$('#tree').treefy({
url: '/user/treefy'
});
url: '/user/treefy'
});
URL to request the data.
Explanation: you can change the URL to receive your data. Don't forget to prepend the context of your application.
Manual build:
$('#tree').treefy();

<input id="ruby" type="checkbox" />

Ruby

<input id="nosql" type="checkbox" />

NoSQL

<input id="mongodb" type="checkbox" />

MongoDB

- If you want build manually, then you must follow the structure convention.

<input id="ruby" type="checkbox" />

Ruby

<input id="nosql" type="checkbox" />

NoSQL

<input id="mongodb" type="checkbox" />

MongoDB

- Each 'li' is an element on the tree.
- The span inside li keep the information as expand/collapse icon, checkbox, icon and text of the item.
- If the item is a 'folder', then it has a 'flick' span and the states closed or opened declared on the main span.
- For no folder items, it is considered 'file' and has a 'empty' element instead a flick.
- The last item is a link with the text of the element.
- If the item has children, then it will be inside a
 after the span.
Changing the settings globally:
$.fn.catchy.defaults.checkbox = true;
$.fn.catchy.defaults.icon = false;
- You can change any option mention the scope $.fn.treefy.defaults. + option_name;$.fn.catchy.defaults.icon = false;
- This setup must be called before you bind the Treefy, of course.
Public functions:
$('#ruby').treefy('check', true);
Check or uncheck the checkbox.
$('#java').treefy('enable', false);
Disable or enable the checkbox.
+ text: the text of each item of the tree;
+ icon: the icon putted on the left side of the text;
- link: the url of the text;
+ target: target of the link;
+ when this options is present the text is converted to a link.
- checkbox:
+ id: the field's ID;
+ name: the field's name;
+ value: the field's value;
+ class: the field's class.
- checked: decide if the checkbox will be checked or not:
+ you can use: checked="checked", checked=true or just checked="".
- disabled: decide if the checkbox will be disabled or not:
+ you can use: disabled="disabled", disabled=true or just disabled="".
- children: a node of the tree with other items;
+ state: the state of the folder: opened or closed;
+ when the children is present it treat as a folder.


Four sentance paragraph that explains background and why switching to web development
What frameworks you enjoy working on most


#
INFO 610 Fall 2020
Week 6.5
Project Definition
chrisfauerbach.github.io/info610_fall_2020/
--- # Project Ideas --- # INVENTORY CONTROL MANAGEMENT DATABASE PROJECT Design goals: maintain a proper variety of required items, increase inventory turnover, reduce and maintain optimize inventory and safety stock levels, obtain low raw material prices, reduce storage cost, reduce insurance cost, reduce taxes --- # STUDENT RECORD KEEPING SYSTEM DATABASE PROJECT Design goals: a student file that contains the information about student, a stream file, a marks file, a fee file, concession/scholarship etc. --- # ONLINE RETAIL APPLICATION DATABASE PROJECT A customer can register to purchase an item. The customer will provide bank account number and bank name (can have multiple account number). After registration, each customer will have a unique customerid, userid and password. A customer can purchase one or more item in different quantities. The items can of different classes based on their prices. Based on the quantity, the price of the item and discount (if any) on the purchased items, the bill will be generated. A bank account is required to settle the bill. The items can be ordered to one or more suppliers --- # COLLEGE DATABASE DATABASE PROJECT A college contains many departments. Each department can offer any number of courses. Many instructors can work in a department, but an instructor can work only in one department. For each department, there is a head, and an instructor can be head of only one department. Each instructor can take any number of courses, and a course can be taken by only one instructor. A student can enroll for any number of courses and each course can have any number of students. --- # RAILWAY SYSTEM DATABASE PROJECT A railway system, which needs to model the following: Stations Tracks, connecting stations. You can assume for simplicity that only one track exists between any two stations. All the tracks put together to form a graph. Trains, with an ID and a name Train schedules recording what time a train passes through each station on its route. You can assume for simplicity that each train reaches its destination on the same day and that every train runs every day. Also for simplicity, assume that for each train, for each station on its route, you store Time in, Timeout (same as time in if it does not stop) A sequence number so the stations in the route of a train can be ordered by sequence number. Passenger booking consisting of train, date, from-station, to station, coach, seat and passenger name. --- # HOSPITAL MANAGEMENT SYSTEM DATABASE PROJECT A patient will have unique Patient ID. Full description about the patient about personal detail and phone number, and then Disease and what treatment is going on. The doctor will handle patients, One doctor can Treat more than 1 patient. Also, each doctor will have unique ID. Doctor and Patients will be related. Patients can be admitted to hospital. So different room numbers will be there, also rooms for Operation Theaters and ICU. There are some nurses, and ward boys for the maintenance of hospital and for patient take care. Based upon the number of days and treatment bill will be generated. Check Hospital Management System project in PHP --- # LIBRARY MANAGEMENT SYSTEM DATABASE PROJECT A student and faculty can issue books. Different limits for the number of books a student and teacher can issue. Also, the number of days will be distinct in the case of students and teachers for issue any book. Each book will have different ID. Also, each book of the same name and same author (but the number of copies) will have different ID. Entry of all the book will be done, who issue that book and when and also duration. Detail of Fine(when the book is not returned at a time) is also stored. --- # PAYROLL MANAGEMENT SYSTEM DATABASE PROJECT There will entry (Unique ID) of all the employee of any Organization. According to the date of joining and date up to which salary is created, Number of days will be entered. Basic pay will be defined according to the post of employee and department. Then component like DA, HRA, medical allowance, Arrears will be added, and Charges of Hostel/ Bus, Security, welfare fund and other will be deducted. The number of leaves taken by the employee. --- # HEALTHCARE ORGANIZATION DATABASE PROJECT This organization provides the following functionalities Emergency Care 24x7 Support Groups Support and Help Through calls Any new Patient is first registered in their database before meeting the doctor. The Doctor can update the data related to the patient upon diagnosis (Including the disease diagnosed and prescription). This organization also provides rooms facility for admitting the patient who is critical. Apart from doctors, this organization has nurses and ward boy. Each nurse and ward boy is assigned to a doctor. Also, they can be assigned to patients (to take care of them). The bill is paid by the patient with cash and E-banking. Record of each payment made is also maintained by the organization. The record of each call received to provide help and support to its existing person is also maintained. --- # RESTAURANT MANAGEMENT DATABASE PROJECT The restaurant maintains the catalog for the list of food and beverage items that it provides. Apart from providing food facility at their own premises, the restaurant takes orders online through their site. Orders on the phone are also entertained. To deliver the orders, we have delivery boys. Each delivery boy is assigned to the specific area code. The delivery boy cannot deliver outside the area which is not assigned to the delivery boy (for every delivery boy there can be a single area assigned to that delivery boy). The customer record is maintained so that premium customer can be awarded discounts. --- # DESIGN A SCENARIO AND AN ER DIAGRAM FOR AN IT TRAINING GROUP DATABASE PROJECT It will meet the information needs of its training program. Clearly indicate the entities, relationships, and the key constraints. The description of the environment is as follows: The company has 10 instructors and can handle up to 100 trainees for each training session. The company offers 4 Advanced technology courses, each of which is taught by a team of 4 or more instructors Each instructor is assigned to a maximum of two teaching teams or may be assigned to do research Each trainee undertakes one Advanced technology course per training session. --- # BLOOD DONATION SYSTEM DATABASE PROJECT A system in which data of Patient, data of donor, data of blood bank would be saved and will be interrelation with each other DATA OF PATIENT – Patient Name, Patient Id, Patient Blood Group, Patent Disease DATA OF DONOR – Donar Name, Donar Id, Donar Bood Group, Donar Medical report, Donar Address, Donar Contact number DATA OF BLOOD BANK – Blood Bank Name, Blood Bank Address, Blood bank Donors name, Blood Bank Contact Number, Blood Bank Address --- # ART GALLERY MANAGEMENT DATABASE PROJECT Design an E-R Diagram for an Art Gallery. Gallery keeps information about "Artist" their Name, Birthplace, Age & Style of Art about "Art Work," Artist, the year it was made, Unique title, Type of art & Prices must be stored. The piece of artwork is classified into various kind like Poetess, Work of the 19th century still life, etc. Gallery keeps information about Customers as their Unique name, Address, Total amount of Dollar, they spent on Gallery and liking of Customers. --- # HOTEL MANAGEMENT SYSTEM DATABASE PROJECT A hotel is a hive of numerous operations such as front office, booking, and reservation, banquet, finance, HR, inventory, material management, quality management, security, energy management, housekeeping, CRM and more. The hotel has some rooms, and these rooms are of different categories. By room category, each room has the different price. A hotel has some employees to manage the services provided to customers. The customer can book the room either online or by cash payment at the hotel. The customer record is stored in hotel database which contains customer identity, his address, check in time, check out time, etc. hotel provides food and beverages to their customers and generates the bill for this at the time of their check out. --- # SCHOOL MANAGEMENT SYSTEM DATABASE PROJECT Design a database to maintain information about school staff and students satisfying the following properties: Staff will have their id, name, and classes they are teaching The student will be having the name, roll no, section, class Another table containing the section, subject and teacher information Next will contain fee information for students One contains salary information for teachers Rooms are assigned to classes keeping in mind that there is no time clash of same room or lab, students cannot be entered in more than one section, no student should be there who have not paid fees up to a particular date. --- # WHOLESALE MANAGEMENT SYSTEM DATABASE PROJECT Maintain the details of stock like their id, name, quantity Maintain the details of buyers from which manager has to buy the stock like buyer id, name, address, stock id to be bought Details of customers i.e. name, address, id Defaulters list of customers who have not paid their pending amount List of payment paid or pending The stock that is to buy if quantity goes less than a particular amount. Profit calculation for a month. Quantity cannot be sold to a customer if the required amount is not present in stock and date of delivery should be maintained up to which stock can be provided. --- # SALARY MANAGEMENT SYSTEM DATABASE PROJECT Employee list to be maintained having id, name, designation, experience Salary details having employee id, current salary Salary in hand details having employee id, CTC salary, pf deduction or any other deduction and net salary to be given and also maintain details of total savings of employee Salary increment to be given by next year if any depending upon constraints Deduction in monthly salary if any depending upon any discrepancy in work and amount to be deducted. --- # ATM MANAGEMENT SYSTEM DATABASE PROJECT Manage customers and transactions. Make sure you can withdraw, deposit and query your balance. Keep track of transactions. --- # PICK A PROJECT * Come up with a project definition. Less than two page writeup of what will happen in your application/database * Design database tables, ER Diagram, Relationships (one to one, one to many, many to many), name your tables * Detail Design - All columns, data types, primary keys, foreign keys * Build SQL to generate tables * Build SQL to insert data * Generate SQL to query state of the database * Each project needs at least 10 tables. If you can't come up with 10, then add more to your story. --- # More This will be completed and due by November 11th, 11:59:59 PM Eastern. That's just about a bullet a week. I will have an 'assigment' for each week in Canvas, but they will share a due date of November 11th, 11:59:59PM. Budget your time! --- # Mid term exam Midterm will be held next Thursday during class time, October 1st, 2020. All material up to this point is fair game. Questions will be a combination of true/false, multiple choice, multiple option, SQL and essay. Exam will take place during class time. * SELECT, INSERT, CREATE, UPDATE * WHERE, GROUP BY, ORDER BY, HAVING * Data types, serial * PRIMARY KEY, FOREIGN KEY * one-to-one, one-to-many, many-to-many * DISTINCT * Inner and left outer joins * Aggregate functions (min, max, average, count) * Table/Relation, Row/Tuple, Attribute, Field ## Tuesday, Sept 29th will be review evening. Bring your questions. --- --- --- ---


If we Shellsort an array of length 9, and we start with an increment size of 5, which element (if any) will be skipped on the first pass due to being in a sublist of only one element?
There is an element that is skipped due to being in a sublist of length 1.
Recall that array indexing starts at 0, so the records are in positions 0 to 8.
0 is paired with 5, 1 with 6, and so on.
This means that the record in position 4 would have been paired with position 9 if there had been a position 9.


Color.White
and the
default VerticalSync is Window.VerticalSync.Disable
, which means the Applications runs with full FPS.
VerticalSync.Enable
.VerticalSync.Enable
.
Texture.Format.BGRA
.
This method is predestinated for screenshots.
Window wnd = ... ... wnd.capture().saveToFile("samples/img/screenshot.png");


Uploaded dataset details
Name: {{ experiment_name }}
Number of samples: {{ num_samples }}
Number of features: {{ num_features }}
Select action
Interactive Heatmap
Select field to sort the samples by:
None
{% for value in metadata_fields %}
{{ value }}
{% endfor %}
Generate Heatmap
Experiment Wordcloud
Experiment wordcloud
Term Enrichment
Select metadata field for the two group enrichment analysis:
{% for value in metadata_fields %}
{{ value }}
{% endfor %}
Field Values
Group1
Group2
Group 1
Remove
Group 2
Remove
Term enrichment


Axes, Armour & Ale - a roguelike written in Free Pascal
Unit grid_dungeon
Description
Generates a grid based dungeon level
Uses
Overview
Classes, Interfaces, Objects and Records
Functions and Procedures
Variables
Description
Functions and Procedures
procedure carveHorizontally(x1, x2, y: smallint); |
|
Carve a horizontal tunnel
|
procedure carveVertically(y1, y2, x: smallint); |
|
Carve a vertical tunnel
|
procedure createRoom(gridNumber: smallint); |
|
Create a room
|
procedure generate; |
|
Generate a dungeon
|
procedure leftToRight; |
|
sort room list in order from left to right
|
Variables
filename: ShortString; |
|
TESTING - Write dungeon to text file
|
roomCounter: smallint; |
|
start creating corridors once this rises above 1
|
startX: smallint; |
|
Player starting position
|
startY: smallint; |
|
Player starting position
|
Axes, Armour & Ale - (c) 2020 Chris Hawkins
Generated by PasDoc 0.15.0.
|


| Description: |
In love we find out who we want to be.
In war we find out who we are.
FRANCE, 1939
In the quiet village of Carriveau, Vianne Mauriac says goodbye to her husband, Antoine, as he heads for the Front. She doesn't believe that the Nazis will invade France … but invade they do, in droves of marching soldiers, in caravans of trucks and tanks, in planes that fill the skies and drop bombs upon the innocent. When a German captain requisitions Vianne's home, she and her daughter must live with the enemy or lose everything. Without food or money or hope, as danger escalates all around them, she is forced to make one impossible choice after another to keep her family alive.
Vianne's sister, Isabelle, is a rebellious eighteen-year-old girl, searching for purpose with all the reckless passion of youth. While thousands of Parisians march into the unknown terrors of war, she meets Gäetan, a partisan who believes the French can fight the Nazis from within France, and she falls in love as only the young can … completely. But when he betrays her, Isabelle joins the Resistance and never looks back, risking her life time and again to save others.
With courage, grace and powerful insight, bestselling author Kristin Hannah captures the epic panorama of WWII and illuminates an intimate part of history seldom seen: the women's war. The Nightingale tells the stories of two sisters, separated by years and experience, by ideals, passion and circumstance, each embarking on her own dangerous path toward survival, love, and freedom in German-occupied, war-torn France--a heartbreakingly beautiful novel that celebrates the resilience of the human spirit and the durability of women. It is a novel for everyone, a novel for a lifetime. |


|
Scientific Fortran Tools (SciFT)
1.2
|
This class use the List template declared into List.h90 file, please take a look to this file for details. More...
Public Member Functions | |
| generic | init => fromGrid, fromGridData, fromArrays, fromGridArray, fromFunction, fromFile, fromFStream |
| procedure | fromgrid |
| procedure | fromgriddata |
| procedure | fromarrays |
| procedure | fromgridarray |
| procedure | fromfunction |
| procedure | fromfile |
| procedure | fromfstream |
| generic | assignment => copyNFunction |
| procedure | copy => copyNFunction |
| procedure | copynfunction |
| procedure | copyfarray |
| final | destroynfunction |
| procedure | addition |
| procedure | subtraction |
| procedure | multiplication |
| procedure | division |
| procedure | exponentiation |
| procedure | additiongrid |
| procedure | subtractiongrid |
| procedure | multiplicationgrid |
| procedure | divisiongrid |
| procedure | exponentiationgrid |
| procedure | additionfc |
| procedure | subtractionfc |
| procedure | multiplicationfc |
| procedure | divisionfc |
| procedure | exponentiationfc |
| generic | operator => addition, additionGrid, additionFC |
| generic | operator => subtraction, subtractionGrid, subtractionFC |
| generic | operator => multiplication, multiplicationGrid, multiplicationFC |
| generic | operator => division, divisionGrid, divisionFC |
| generic | operator => exponentiation, exponentiationGrid, exponentiationFC |
| procedure | translate |
| procedure | isequallyspaced |
| procedure | checkequallyspaced |
| procedure | str |
| procedure | show |
| procedure | tofstream |
| procedure | setunits |
| procedure | set |
| procedure | first |
| procedure | last |
| procedure | at |
| procedure | npoints |
| procedure | stepsize |
| procedure | checktypen1df |
| procedure | loaddat |
| procedure | loadn1df |
| procedure | saven1df |
| procedure | loadcube |
| procedure | savecube |
| procedure | loadblks |
| procedure | saveblks |
| procedure | checkbox |
| generic | expectationvalue => expectationValueFromNFunction, expectationValueFromRArray, expectationValueFromCArray |
| procedure | expectationvaluefromnfunction |
| procedure | expectationvaluefromrarray |
| procedure | expectationvaluefromcarray |
| generic | innerproduct => innerProductWithNFunction, innerProductWithRArray, innerProductWithCArray |
| procedure | innerproductwithnfunction |
| procedure | innerproductwithrarray |
| procedure | innerproductwithcarray |
| procedure | conjugate |
| procedure | absolutesquare |
| procedure | normalize |
| procedure | norm |
Public Attributes | |
| type(grid) | xgrid |
| complex(8), dimension(:), allocatable | farray |
This class use the List template declared into List.h90 file, please take a look to this file for details.
Definition at line 79 of file CNFunction.f90.
| procedure cnfunction::cnfunction::absolutesquare | ( | ) |
Definition at line 161 of file CNFunction.f90.
| procedure cnfunction::cnfunction::addition | ( | ) |
Definition at line 98 of file CNFunction.f90.
| procedure cnfunction::cnfunction::additionfc | ( | ) |
Definition at line 110 of file CNFunction.f90.
| procedure cnfunction::cnfunction::additiongrid | ( | ) |
Definition at line 104 of file CNFunction.f90.
| generic cnfunction::cnfunction::assignment | ( | ) |
Definition at line 92 of file CNFunction.f90.
| procedure cnfunction::cnfunction::at | ( | ) |
Definition at line 135 of file CNFunction.f90.
| procedure cnfunction::cnfunction::checkbox | ( | ) |
Definition at line 149 of file CNFunction.f90.
| procedure cnfunction::cnfunction::checkequallyspaced | ( | ) |
Definition at line 124 of file CNFunction.f90.
| procedure cnfunction::cnfunction::checktypen1df | ( | ) |
Definition at line 139 of file CNFunction.f90.
| procedure cnfunction::cnfunction::conjugate | ( | ) |
Definition at line 160 of file CNFunction.f90.
| procedure cnfunction::cnfunction::copy | ( | ) |
Definition at line 93 of file CNFunction.f90.
| procedure cnfunction::cnfunction::copyfarray | ( | ) |
Definition at line 95 of file CNFunction.f90.
| procedure cnfunction::cnfunction::copynfunction | ( | ) |
Definition at line 94 of file CNFunction.f90.
|
final |
Definition at line 96 of file CNFunction.f90.
| procedure cnfunction::cnfunction::division | ( | ) |
Definition at line 101 of file CNFunction.f90.
| procedure cnfunction::cnfunction::divisionfc | ( | ) |
Definition at line 113 of file CNFunction.f90.
| procedure cnfunction::cnfunction::divisiongrid | ( | ) |
Definition at line 107 of file CNFunction.f90.
| generic cnfunction::cnfunction::expectationvalue | ( | ) |
Definition at line 151 of file CNFunction.f90.
| procedure cnfunction::cnfunction::expectationvaluefromcarray | ( | ) |
Definition at line 154 of file CNFunction.f90.
| procedure cnfunction::cnfunction::expectationvaluefromnfunction | ( | ) |
Definition at line 152 of file CNFunction.f90.
| procedure cnfunction::cnfunction::expectationvaluefromrarray | ( | ) |
Definition at line 153 of file CNFunction.f90.
| procedure cnfunction::cnfunction::exponentiation | ( | ) |
Definition at line 102 of file CNFunction.f90.
| procedure cnfunction::cnfunction::exponentiationfc | ( | ) |
Definition at line 114 of file CNFunction.f90.
| procedure cnfunction::cnfunction::exponentiationgrid | ( | ) |
Definition at line 108 of file CNFunction.f90.
| procedure cnfunction::cnfunction::first | ( | ) |
Definition at line 133 of file CNFunction.f90.
| procedure cnfunction::cnfunction::fromarrays | ( | ) |
Definition at line 87 of file CNFunction.f90.
| procedure cnfunction::cnfunction::fromfile | ( | ) |
Definition at line 90 of file CNFunction.f90.
| procedure cnfunction::cnfunction::fromfstream | ( | ) |
Definition at line 91 of file CNFunction.f90.
| procedure cnfunction::cnfunction::fromfunction | ( | ) |
Definition at line 89 of file CNFunction.f90.
| procedure cnfunction::cnfunction::fromgrid | ( | ) |
Definition at line 85 of file CNFunction.f90.
| procedure cnfunction::cnfunction::fromgridarray | ( | ) |
Definition at line 88 of file CNFunction.f90.
| procedure cnfunction::cnfunction::fromgriddata | ( | ) |
Definition at line 86 of file CNFunction.f90.
| generic cnfunction::cnfunction::init | ( | ) |
Definition at line 84 of file CNFunction.f90.
| generic cnfunction::cnfunction::innerproduct | ( | ) |
Definition at line 156 of file CNFunction.f90.
| procedure cnfunction::cnfunction::innerproductwithcarray | ( | ) |
Definition at line 159 of file CNFunction.f90.
| procedure cnfunction::cnfunction::innerproductwithnfunction | ( | ) |
Definition at line 157 of file CNFunction.f90.
| procedure cnfunction::cnfunction::innerproductwithrarray | ( | ) |
Definition at line 158 of file CNFunction.f90.
| procedure cnfunction::cnfunction::isequallyspaced | ( | ) |
Definition at line 123 of file CNFunction.f90.
| procedure cnfunction::cnfunction::last | ( | ) |
Definition at line 134 of file CNFunction.f90.
| procedure cnfunction::cnfunction::loadblks | ( | ) |
Definition at line 146 of file CNFunction.f90.
| procedure cnfunction::cnfunction::loadcube | ( | ) |
Definition at line 144 of file CNFunction.f90.
| procedure cnfunction::cnfunction::loaddat | ( | ) |
Definition at line 140 of file CNFunction.f90.
| procedure cnfunction::cnfunction::loadn1df | ( | ) |
Definition at line 142 of file CNFunction.f90.
| procedure cnfunction::cnfunction::multiplication | ( | ) |
Definition at line 100 of file CNFunction.f90.
| procedure cnfunction::cnfunction::multiplicationfc | ( | ) |
Definition at line 112 of file CNFunction.f90.
| procedure cnfunction::cnfunction::multiplicationgrid | ( | ) |
Definition at line 106 of file CNFunction.f90.
| procedure cnfunction::cnfunction::norm | ( | ) |
Definition at line 164 of file CNFunction.f90.
| procedure cnfunction::cnfunction::normalize | ( | ) |
Definition at line 163 of file CNFunction.f90.
| procedure cnfunction::cnfunction::npoints | ( | ) |
Definition at line 136 of file CNFunction.f90.
| generic cnfunction::cnfunction::operator | ( | ) |
Definition at line 116 of file CNFunction.f90.
| generic cnfunction::cnfunction::operator | ( | ) |
Definition at line 118 of file CNFunction.f90.
| generic cnfunction::cnfunction::operator | ( | ) |
Definition at line 117 of file CNFunction.f90.
| generic cnfunction::cnfunction::operator | ( | ) |
Definition at line 119 of file CNFunction.f90.
| generic cnfunction::cnfunction::operator | ( | ) |
Definition at line 120 of file CNFunction.f90.
| procedure cnfunction::cnfunction::saveblks | ( | ) |
Definition at line 147 of file CNFunction.f90.
| procedure cnfunction::cnfunction::savecube | ( | ) |
Definition at line 145 of file CNFunction.f90.
| procedure cnfunction::cnfunction::saven1df | ( | ) |
Definition at line 143 of file CNFunction.f90.
| procedure cnfunction::cnfunction::set | ( | ) |
Definition at line 132 of file CNFunction.f90.
| procedure cnfunction::cnfunction::setunits | ( | ) |
Definition at line 130 of file CNFunction.f90.
| procedure cnfunction::cnfunction::show | ( | ) |
Definition at line 127 of file CNFunction.f90.
| procedure cnfunction::cnfunction::stepsize | ( | ) |
Definition at line 137 of file CNFunction.f90.
| procedure cnfunction::cnfunction::str | ( | ) |
Definition at line 126 of file CNFunction.f90.
| procedure cnfunction::cnfunction::subtraction | ( | ) |
Definition at line 99 of file CNFunction.f90.
| procedure cnfunction::cnfunction::subtractionfc | ( | ) |
Definition at line 111 of file CNFunction.f90.
| procedure cnfunction::cnfunction::subtractiongrid | ( | ) |
Definition at line 105 of file CNFunction.f90.
| procedure cnfunction::cnfunction::tofstream | ( | ) |
Definition at line 129 of file CNFunction.f90.
| procedure cnfunction::cnfunction::translate | ( | ) |
Definition at line 122 of file CNFunction.f90.
| complex(8), dimension(:), allocatable cnfunction::cnfunction::farray |
Definition at line 81 of file CNFunction.f90.
| type(grid) cnfunction::cnfunction::xgrid |
Definition at line 80 of file CNFunction.f90.


Preparation time
1-2 hours
Cooking time
1 to 2 hours
Serves
Serves 8
Dietary
This fruit fool is served in a cream whipper - an investment, but well worth it for the light, silky texture it creates.
For the plum fool, melt the salted butter in a pan. Add the sugar and cinnamon sticks. Add the plums and lemon juice.
Cook on a low heat until the plums have softened to form a purée. Remove the cinnamon sticks and transfer to a blender. Blend until smooth, then pass through a fine sieve into a bowl and cover with cling film. Set aside until needed.
For the custard, bring the double cream and milk to the boil in a pan. In a bowl, whisk the egg yolks and caster sugar together. Pour the hot cream and milk onto the eggs and whisk. Return to the pan and place on a low heat.
Pass through a fine sieve into a bowl (to cool the custard quickly place a few freezer blocks in the bowl). Cover the surface with cling film to prevent a skin forming and leave to chill in the fridge
To make the shortbread, preheat the oven to 150C/300F/Gas 2.
Place the butter, sugar and flour together in a food processor and pulse until the mixture comes together.
Add the pink peppercorns and pulse once more. Remove the mixture from the processor and wrap in cling film. Leave to rest in the fridge for an hour.
On a lightly floured work surface, roll the shortbread dough out to 1cm/½in thick. Cut into the shapes of your choice and place on a baking tray lined with baking parchment.
Bake in the oven for 35-40 minutes or until just cooked and dried out. Remove from the oven and sprinkle with demerara sugar. Set aside to cool.
To serve, mix together 400g/14oz of plum purée with the custard mixture. Pass through a fine sieve and pour into an espuma gun or cream whipper. Charge with two chargers and give it a good shake. Leave to settle for 10-15 minutes.
Spoon a little leftover purée into serving bowls. Squirt the fool mix on top, sprinkle with pink peppercorns and serve with the shortbread - or let your guests serve themselves from the cream whipper for a fun party trick.


Welcome Back
Happy New Year Everyone! I hope you're all enjoying your return to college and with it all the time you can spend learning with friends. Please enjoy all of the new features PMIS offers and make sure to stay healthy!
Happy New Year Everyone! I hope you're all enjoying your return to college and with it all the time you can spend learning with friends. Please enjoy all of the new features PMIS offers and make sure to stay healthy!
The LSC in Palmers Campus is now no longer a social area as the college now only allows it's use as a quiet revision room. The College expects everyone that used LSC previously to move over to the garden room, while offering no answer as to what the people that use the green room should do. We are yet to find out how this will impact the students at the college but I'm sure it will be interesting.
Fixed interal calendar.
Fixed some minor issues
Added Transparent Theme
Added True USP Theme
Added Custom Footer
Added Events on specific days
If you're interested in keeping this project alive, with writing, code or memes, get in contact with us! We would love your help with creating the best user experience possible and with your help, we can better cater to the USP community
If you are interested in adding new features, you can find the github here :
Github
If you're not into programming but you are in touch with the community, can write or draw, we still need your help to produce a living breathing community


Moves:
Instructions
The goal of this game is to release the large 2x2 tile from the board through the opening centered on the bottom. To select a piece, click on it. Then it can be moved in any direction with the arrow keys, WASD, or HJKL. You can also click and drag to with the mouse to move pieces. Only the large 2x2 tile can leave the board, so you must plan carefully to complete the puzzle in the fewest moves.


Granny is a platform that help connect the generations and make a positive difference in the community. Our goal is to help as many elderly people possible by presenting volunteers with many great opportunities to choose from.
As a volunteer you can help by contributing your time or by making a donation. You can also contribute by staying vigilant and by registering new causes on our platform.
Many elderly people have technological difficulties and need assistance registering a cause. For that reason our volunteer opportunities are mainly faded to us by volunteers.


>>
<<
Usr
Pri
JfC
LJ
Phr
Dic
Voc
!:
Help
Primer
Tolerance
This section is a bit advanced and understanding it is not critical. If it makes sense, great. If not, don't worry about it, and just move on to the next section.
For some kinds of work with floating point numbers, this section is important, along with a more detailed understanding of how numbers are stored and manipulated by the hardware. For most work, however, this section can be ignored.
Let's consider the calculation at the end of the last section in more detail.
pps 20
a =. 3 * 100 * % 3
a
99.999999999999986
a = 100
1
By exact math you would expect a to be 100. But because the computer can't exactly represent the value %3, you get a value for a that is very close to 100, but not exactly, as you can see by its detailed display with a print precision of 20. However, note that a is considered to be equal to 100, even though you can see that it is not exactly equal. This is because the comparison is tolerant. That is, numbers do not have to be exactly identical to be considered equal.
Let's experiment to get an idea for how tolerant the comparison is by gradually taking the value further away from 100. The input line recall shortcut with Shift+Ctrl+up arrow is very useful for playing with things like this.
100 = 100
1
100 = 99.999999999999986
1
100 = 99.99999999999998
1
100 = 99.9999999999999
1
100 = 99.999999999999
1
100 = 99.99999999999
0
In the last example you crossed the line and the value is far enough away from 100 that it is no longer considered to be equal. Let's look at another example.
a =. 23
b =. a - 1e_12
c =. a - 1e_11
a
23
b
22.999999999999002
c
22.999999999989999
a = b
1
a = c
0
The values of a and b are close enough to be considered equal. The values of a and c are not close enough to be considered equal. Close enough refers to the difference between the two numbers.
a - b
9.9831254374294076e_13
a - c
1.000088900582341e_11
In both cases the difference is small, but b is closer than c to a. Reading the J Dictionary definition for = you will see that the dividing line between close enough and not close enough is determined by the result of multiplying the larger of the numbers times the default tolerance value of 2^_44. That is, close enough is relative to the size of the numbers.
tolerance =. a * 2 ^ _44
tolerance
1.3073986337985843e_12
Check both differences against this tolerance:
(a - b , c) <: tolerance
1 0
The difference between a and b is less or equal to the tolerance, whereas the difference between a and c is not.
>>
<<
Usr
Pri
JfC
LJ
Phr
Dic
Voc
!:
Help
Primer


This command will check the registry to see if any (or, specific) installed packages are currently outdated.
By default, only the direct dependencies of the root project are shown. Use --all
to find all
outdated meta-dependencies as well.
In the output:
wanted
is the maximum version of the package that satisfies the semver range specified in
package.json
. If there’s no available semver range (i.e. you’re running npm outdated
--global
, or the package isn’t included in package.json
), then wanted
shows the currently-installed version.
latest
is the version of the package tagged as latest in the registry. Running npm
publish
with no special configuration will publish the package with a dist-tag of
latest
. This may or may not be the maximum version of the package, or the most-recently
published version of the package, depending on how the package’s developer manages the latest dist-tag.
location
is where in the physical tree the package is located.depended by
shows which package depends on the displayed dependencypackage type
(when using --long
/ -l
) tells you whether this package
is a dependency
or a dev/peer/optional dependency. Packages not included in
package.json
are always marked dependencies
.
homepage
(when using --long
/ -l
) is the homepage
value
contained in the package’s packument$ npm outdated
Package Current Wanted Latest Location Depended by
glob 5.0.15 5.0.15 6.0.1 node_modules/glob dependent-package-name
nothingness 0.0.3 git git node_modules/nothingness dependent-package-name
npm 3.5.1 3.5.2 3.5.1 node_modules/npm dependent-package-name
local-dev 0.0.3 linked linked local-dev dependent-package-name
once 1.3.2 1.3.3 1.3.3 node_modules/once dependent-package-name
With these dependencies
:
{
"glob": "^5.0.15",
"nothingness": "github:othiym23/nothingness#master",
"npm": "^3.5.1",
"once": "^1.3.1"
}
A few things to note:
glob
requires ^5
, which prevents npm from installing glob@6
, which is
outside the semver range.npm outdated
and npm update
have to fetch Git repos to check. This is why
currently doing a reinstall of a Git dependency always forces a new clone and install.
<EMAIL_ADDRESS>is marked as "wanted", but "latest" is<EMAIL_ADDRESS>because npm uses
dist-tags to manage its latest
and next
release channels. npm update
will install the newest version, but npm install npm
(with no semver range) will
install whatever’s tagged as latest
.once
is just plain out of date. Reinstalling node_modules
from scratch or running
npm update
will bring it up to spec.
Show information in JSON format.
Show extended information.
Show parseable output instead of tree view.
Check packages in the global install prefix instead of in the current project.
Display all outdated dependencies on the tree.


Educationist Dr Amarjyoti Choudhury urged to develop Book Reading
A Correspondent
Biswanath Chariali: “The universe lies behind books. We can observe the universe through a book,” said eminent writer and educationist Dr. Amarjyoti Choudhury recently at Barangabari, Gohpur in Biswanath district on the occasion of ‘Let’s Read Books’ programme organized by Surabhi Sahitya Samaj, an active branch of Axam Xahitya Xabha.
He also explained the importance, aims and objectives of this intellectual movement in order to create awareness on the importance of book reading among learners. He also said that books were the treasury of knowledge and paved the way for the development of civilization. Dr Choudhury called upon the new generation to make book reading a habit so that the future of the nation, language and culture could be secured.
Also Read: ‘Students must develop mindset to serve society’- Dr Amarjyoti Choudhury
Also watch: Govt all set to push for the contentious Citizenship Bill in the winter session of Parliament


Ateam's products
5x Ketamine (R) Golden Sticks!!
25x Ketamine (S)
10x 69 - Xtc Pills
10x Ketamine (S)
1x Ketamine (R) Golden Sticks!!
100x Lsd Hofman (You in to Space)
20x 2cb Pokemon-(TRY IT FOR PIKACHU!!
50x 2cb Pokemon-(PIKACHU I CHOOSE YOU!!)...
15x Lsd Hofman (You on Mars)
1x LSD hofman (You fly)
5 x LSD Hofman (You Fly to the Sky)
10x 2cb Pokemon-(PIKACHU I CHOOSE YOU!!)...
25x 2cb Pokemon-(TRY IT FOR PIKACHU!!
15x Ketamine (R) Golden Sticks!!
10x Ketamine (R) Golden Sticks!!
20x Lsd Hofman (You on Jupiter)
1x 2cb Pokemon 2cb Pokemon-(TEAM ROCKET)...
25x Lsd Hofman (You on Saturn)
5x 69 - Xtc Pills
20x Ketamine (S)
10x Lsd Hofman (You in to Space)
20x Ketamine (R) Golden Sticks!!
25x 69 - Xtc Pills
20x 69 - Xtc Pills
1x Ketamine (S)
15x 69 - Xtc Pills
5x 2cb Pokemon-(ASH KETCHUM FROM PALLET ...
50x 69 - Xtc Pills
15x 2cb Pokemon-(CAN I CATCH THEM ALL PO...
5x Ketamine (S)


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import models.pages.Summary @import _root_.template.FormatRefNum @(summary: Summary)(implicit messages: Messages)


DataCite Test Machine
This machine runs all our services for testing purposes.
This is a closed system, so e.g. minted DOIs show only up in the test handle server, uploaded metadata only in the test search instance, etc.
Visit DataCite on GitHub for source code or issues.
If you have any questions please contact us via<EMAIL_ADDRESS>This is a development version of MDS for testing new features in MDS. It is configured as close as possible to our production version of MDS, but there are some differences:
- Metadata: The namespace and schemaLocation in your xml have to start
http://schema.datacite.org/meta/
. However the metadata is validated via our test schema instance. So you can even pick a non-released schema version.
If you need an account please send a e-mail to<EMAIL_ADDRESS>A Handle Server for testing purposes. It is not connected to the Global Handle Registry.
Hosting of schemas supported by test MDS.
This test search instance pull latest updates from MDS every 10 minutes.
Test OAI-PMH instance.
Test content resolver instance.
Test Stats Portal with DOI registrations statistics.


It's free to create an NB Gardens account.
Visit the NB Gardens registration page.
Follow the steps on the screen to complete your account setup.
After you've created your NB Gardens Account, you can use it to sign in to NB Gardens and make purchases.
You won't be able to get an NB Gardens address if:
The exact username you requested is already being used.
The username was used by someone in the past, and they deleted their account.
Visit your account page.
Click the edit account details link.
Follow the steps on the screen to complete the changes to your account.
After saving these changes you are now able to resume making your purchases with ease.
If you're looking for a specific item, enter a few words into the search box on the NB Gardens home page and we'll show you all the matching results.
Note: The only information we have about a particular item is what we display on the product detail page for that item. Details usually include customer reviews, which can sometimes provide helpful information about content and product compatibility.


Please specify a sprint ID or sprint name to analyse.
Please specify the kind of identifier you've provided above.
The light analysis contains no further information about issues.
Please specify the short names of the projects that are relevant for this sprint, separated by ','.e.g.: TST,PROJ


"x" "1" "CLEMENT,B CHRISTIANSEN,K AND GIRRESER,U, PHASE 2 METABOLITES OFN-HYDROXYLATED AMIDINES (AMIDOXIMES): SYNTHESIS, IN VITRO FORMATION BY PIGHEPATOCYTES, AND MUTAGENICITY TESTING, CHEM. RES. TOXICOL. 14(3 __ ):319-326,2000"


|
|
Given a body of text,
Given a collection of text articles
No reliable deep parser available. The English grammar is hard to handle efficiently.
We researched the state of the art deep parsers, and found that they were not suitable for industrial deployment.
We chose this approach.
- Requires statistical processing of text.
- Requires sufficiently large existing corpus to train a language model
http://storage.googleapis.com/books/ngrams/books/datasetsv2.html
| Language | American English |
|---|---|
| Source | Books digitized by Google Books: 1800 - 2000 |
| Total words | 155 billion |
| Organization | 1-ngram to 5-ngrams |
| Data size | 24 GB compressed, over 500 GB uncompressed |
How can 1/2 TB of strings help us decide on text quality?
A language model is a mathematical model that computes the probability of a phrase based on a large sample of observed phrases.
Each phrase lookup required > 1 s.
Apache License 2.0
- Trains from the Google Book Corpus
- Represents phrases using compressed hash values to save storage space
- Resulted language model is ~ 10 GB
import edu.berkeley.nlp.lm.io.LmReaders;
import edu.berkeley.nlp.lm.NgramLanguageModel;
import java.util.Arrays;
// These files are compiled from the raw Google corpus
// The sorted vocabulary file is used to generate
// space saving hash values
String vocabFile = "vocabulary.gz";
// The language model uses hash vectors on the hash values
// to encode a prefix tree for fast in-memory lookup of phrases.
String modelFile = "englishModel.blm";
// Constructs the in-memory data structure
// ~ 9GB, takes about 2 minutes
NgramLanguageModel model<String> =
LmReaders.readGoogleLmBinary(modelFile, vocabFile);
// Super fast lookup < 0.01 ms
List<String> phrase = Arrays.asList(new String[]{"My name is Jack"});
model.getLogProb(phrase);
So far, we have the ability to pass phrases of
one to five words.
The language model returns a small probability
according to the likelihood of that phrase appearing
in the book corpus.
How do we score a sentence?
We generate all sub-phrases of length one to five from a sentence of arbitrary length.
We rank sentences by their weighted averaged scores.
Sentences with low scores are considered poor.
Phrases with the lowest scores of poor sentences are selected.
A piece of text has an aggregated score based on its top-k poor phrases.
/nlp/$collection/$article/
// JSON response: 5-gram, 4-gram, .. 1-gram quality
{score: [-8.9, -10.35, ... ]}
/nlp/$collection/$article/?detailed=1&top=10
// JSON response: detailed phrase level scoring information
// included.
{
score: [....],
detail: {
text: "...",
scores: [
[ phrase, score ], ....
]
}
}
wget http://db.science.uoit.ca:3000/nlp/SEP100/abc.text?detailed=true&top=10
Try it out:
http://db.science.uoit.ca:3000/nlp/..../?detailed=1&top=4


{% extends 'site_base.html' %} {% block app-title %}{{ block.super }} API{% endblock %} {% block header %} {{ block.super }} {% include 'api/_nav.html' with selected='4' %} {% endblock header %} {% block content %}
This describes the API to access YACS data & features, This is the fourth revision of this interface. This saves the effort of having to page-scrape various RPI sources for data:
Most of this data isn't updated frequently. YACS only updates at an approximately 15-minute interval for the latest semester. Please, do not constantly perform unnecessary API requests. This puts extra load on the server for a poor guy that has to pay for it.
Besides the web front-end, there are two visualization demos available that utilize the API: bubbles and timelines.
Feel free to view-source in those demos to see moderately complex programs accessing large portions of the API.
The API is accessed by a set of URLs they are usually accessed in the form: {% url 'api:v4:metadata' %}<model>/<id>/
All endpoints optionally accept a file extension as: json, xml, or plist. The default is json. For example, {% url 'api:v4:semesters' semester.id %} is the same as {% url 'api:v4:semesters' semester.id 'json' %}, but you can get the data in xml form by using {% url 'api:v4:semesters' semester.id 'xml' %} or even plist {% url 'api:v4:semesters' semester.id 'plist' %}
All data can be accessed in a REST-like url scheme. Please note that the default behavior to to read all data in YACS, across all semesters.
By adding the id to the path url, you can retrieve that specific item.
It may not be efficient to fetch all the data available, so you can pass certain GET parameters to limit the dataset returned. By passing a filterable field in the querystring, you can select only results where that field matches the provided value.
Many of these GET parameters can be repeated to filter find specific objects. The schema specifies, in detail, what is filterable. Same parameters would be OR'd together, while different ones would be AND'd together.
YACS currently exposes its data models directly for access. The schema is as follows:
These represent a particular time period where all courses are available. Usually there are Fall and Spring semesters for every year. Summer semesters may exist, although it is unlikely that they will be available.
Generally, semesters are fetched first to filter other model fetching.
The suborganization that manages a set of courses about a particular subject. Departments can span multiple semesters.
Course is each kind of topic that is taught per semester. A course has sections, which indicate "classes" that can be taken for this topic. A course may span multiple semesters.
Section is an instance of a course being taught. A section has a collection of times it occurs. Unlike courses, sections belong to only one semester.
Scheduling is an expensive resource of YACS. It is recommended to compute your own schedules from the data provided by YACS.
Conflicts is a cache the server uses to help quickly determine section conflicts.
This is only part of the solution to computing a Constraints Satisfaction Problem.
Optionally, as_crns=1
GET parameter can be used to return all CRNs instead of section ids.
Using this without any filters returns a large dataset. You have been warned!
It's currently recommended to compute your own schedules using the conflicts cache.


RT @RogueAles: Rogue's famous Smoke Ale won a Silver Medal at World Beer Cup in Chicago on Saturday.
Congrats to John Maier for making ...
4/11/2010, 8:34:35 PM
Favs: 0
Retweets: 0
link--- layout: tweet ---
RT @RogueAles: Rogue's famous Smoke Ale won a Silver Medal at World Beer Cup in Chicago on Saturday.
Congrats to John Maier for making ...
4/11/2010, 8:34:35 PM
Favs: 0
Retweets: 0
link


---
layout: post
title: Assembled!
date: '2007-07-18T01:54:00.000+02:00'
author: Steven Van Acker
tags:
modified_time: '2008-01-19T21:36:23.595+01:00'
blogger_id: tag:blogger.com,1999:blog-5513234137363262204.post-483015919280531548
blogger_orig_url: http://www.singularity.be/2007/07/assembled.html
---
[G2:11476]
I assembled the frame for the vacuform machine today. After half an hour measuring, and another half hour drilling, I was ready to assemble everything. As I expected, I was unable to drill the holes straight down, most of them are 5-10 degrees off :(
I need to get a column-drill thingy...
Also expected: the side-pieces (on which the 102cm squared panels rest) don't fit together nicely in the corners. That's why I bought the planer, and I still need to use it on those side-pieces.


| Interface | Description |
|---|---|
| ElementSelector |
Selector(extractor) for html elements.
|
| Selectable |
Selectable text.
|
| Selector |
Selector(extractor) for text.
|
| Class | Description |
|---|---|
| AbstractSelectable | |
| AndSelector |
All selectors will be arranged as a pipeline.
|
| BaseElementSelector | |
| CssSelector |
CSS selector.
|
| Html |
Selectable html.
|
| HtmlNode | |
| Json |
parse json
|
| JsonPathSelector |
JsonPath selector.
Used to extract content from JSON. |
| LinksSelector |
Links selector based on jsoup.
|
| OrSelector |
All extractors will do extracting separately,
and the results of extractors will combined as the final result. |
| PlainText |
Selectable plain text.
Can not be selected by XPath or CSS Selector. |
| RegexSelector |
Selector in regex.
|
| ReplaceSelector |
Replace selector.
|
| Selectors |
Convenient methods for selectors.
|
| SmartContentSelector |
Borrowed from https://code.google.com/p/cx-extractor/
|
| Xpath2Selector |
支持xpath2.0的选择器。包装了HtmlCleaner和Saxon HE。
|
| XpathSelector |
XPath selector based on Xsoup.
|
Copyright © 2017. All rights reserved.


K-means groups the photo's pixels into k clusters. The algorithm first makes a guess at the k dominant colors. It then iteratively assigns pixels to clusters based on color distances and updates each cluster's average color. When the clusters no longer update, the original image is redrawn with only k colors. Read more on GitHub
or contact the author.


This sample shows how to implement a clip-indicating volume meter in Web Audio, using a ScriptProcessor. It's necessary to use a ScriptProcessor in order to not miss any clipping samples - otherwise you could implement this using a RealtimeAnalyser to only grab samples when necessary.
Check out the source on Github.
The usage is quite easy:
var meter = createAudioMeter(audioContext,clipLevel,averaging,clipLag); audioContext: the AudioContext you're using. clipLevel: the level (0 to 1) that you would consider "clipping". Defaults to 0.98. averaging: how "smoothed" you would like the meter to be over time. Should be between 0 and less than 1. Defaults to 0.95. clipLag: how long you would like the "clipping" indicator to show after clipping has occured, in milliseconds. Defaults to 750ms. meter.checkClipping(); returns true if the node has clipped in the last clipLag milliseconds. meter.shutdown(); used to destroy the node (it's important to disconnect and remove the event handler for any ScriptProcessor).


{% include "app/header.html" %}
League of
Downing
Players
Champions
Items
About
{{ champion_name }}
Passive: {{ passive }}
{{ passive_description|linebreaks }}
Q: {{ q }}
{{ q_description|linebreaks }}
W: {{ w }}
{{ w_description|linebreaks }}
E: {{ e }}
{{ e_description|linebreaks }}
R: {{ r }}
{{ r_description|linebreaks }}
{% include "app/footer.html" %}


Our verdict on Yungblud at Bristol's O2 Academy – review and setlist
'There’s no doubt Dominic Harrison has created something quite special'
by Mark TaylorYungblud would have to blow it pretty spectacularly now if he is to miss out on the huge global stardom that is within touching distance of his black nail-varnished fingertips.
The androgynous 22-year-old Yorkshireman may have a speaking voice like a minor character from Last of the Summer Wine (pre-fame, he did actually appear in an episode of Emmerdale as a teenager) and he might have a taste for grotesque make-up and women’s clothes but there’s no doubt Dominic Harrison has created something quite special and the kids can’t get enough.
Stopping off in Bristol on a sell-out tour of some of the UK’s largest venues, there was a clear sense that this time next year he’ll only be playing arenas and stadiums.
After all, Yungblud’s rise has already been meteoric and he was playing Bristol’s tiny Thekla only 18 months ago.
The sweary lad from Doncaster with 1.6million Instagram followers epitomises the modern-day pop icon and it’s not hard to see why he teenagers love him. Many had started queuing outside at 8am even though the doors didn’t open until 7pm.
For anybody too young to remember David Bowie, John Lydon, Morrissey and even Arctic Monkeys frontman Alex Turner, Yungblud must be the most exciting thing they’ve ever seen on stage.
With his black spiky hair, Robert Smith-style lipstick, pink socks and see-through mesh top, Yungblud certainly looks different and his energy levels are exhausting - he simply didn’t stop running around the stage, jumping, dancing, singing and playing guitars for more than 90 minutes in a hot and steamy venue where security staff had to deal with several teenage girls passing out in the heat.
Musically, Yungblud is a bubbling melting pot of just about every musical style of the past 50 years. There are heavy metal guitar riffs, bouncing hip-hop beats, floor-rumbling drum and bass rhythms and plenty of punk attitude - often all of those references in the same song.
He has the swagger of Liam Gallagher, the rebelliousness of John Lydon and the crazed demeanour of the Prodigy’s Keith Flint. He's intoxicating to watch.
Most of the set was based around his singles, EPs and the album 21st Century Liability, and the 2,000 young fans (and even the parents waiting at the back) knew every word to every song.
Of course, none of the spectacle or showmanship would matter if the lyrics and vocals aren’t strong but they are.
Yungblud has said that his songs are for “today’s misunderstood youth growing up in confusion, anxiety and fear” and he’s not afraid to write about gun violence, politics and depression.
The strength of his vocals came to the fore on the rare slow songs like Waiting on the Weekend and Casual Sabotage, for which he sat down with an acoustic guitar.
Apart from these, the set was a frenzied, high energy blizzard of strobes and teenage angst anthem singalongs like I Love You Will You Marry Me, Anarchist, California, Loner, Parents and Original Me with its repetitive chorus of ‘Some days I wish I was anyone else, I’m the original loser’.
Halfway through the set, the band left the stage and the lights dimmed. For a split second, it looked like the gig had finished prematurely until the wailing sound of police sirens. A spotlight aimed at the side fire exit suddenly revealed security guards pushing their way through the crowd with Yungblud disguised in a hoodie as he walked to the centre of the crowd to perform Kill Somebody surrounded by stunned fans.
The sudden realisation that their idol had just brushed past them resulted in several girls bursting into tears just like in those grainy black and white clips of hyperventilating Beatles fans back in the 60s.
A frenetic encore of Braindead!, Hope for the Underrated Youth and Machine Gun (F**k the NRA) ended with a sweat-drenched Yungblud telling the crowd that he would be around the back in 20 minutes.
In normal circumstances, most stars might say that and be safely in a limo or on the tour coach before fans had even left the venue but around 1,000 fans were waiting in the cold as I left the building.
Clearly a man of his word who genuinely loves and wallows in his growing adoration, their patience was soon rewarded as he emerged to deafening screams which you could easily hear from the Centre.
I’m not sure if Emily Eavis had made the short journey from Pilton to check him out but if she’s looking for a headliner for next year’s Glastonbury, she doesn’t have to look much beyond Yungblud whose star is now firmly in the ascendent.
Yungblud is the most relevant British singer of the moment and he speaks directly to the next generation of music fans, who hang on his every word. There simply seems to be no stopping him now.
Setlist
- 21st Century Liability
- Parents
- I Love You, Will You Marry Me
- King Charles
- Anarchist
- Polygraph Eyes
- Ice Cream Man (new song)
- Original Me
- Loner
- Kill Somebody
- I Think I’m Ok
- Casual Sabotage
- Waiting on The Weekend
- California
Encore
- Braindead
- Hope for the Underrated Youth
- Machine Gun (F**k) the NRA
Follow Discover Bristol
We have a dedicated Facebook page for all the latest on where to drink, eat, go out and events across Bristol.
From the best food and drink deals to exclusive sneak peeks at new restaurants and bars, gig reviews and weekend plans - Discover Bristol has got you covered.
You can follow the page here for all the latest news.
For the latest news in and around Bristol, visit and bookmark Bristol Live's homepage.


--- layout: page title: InterprArt subtitle: This is where I will tell my friends way too much about me use-site-title: true ---
SWCMA tackles the problem of wayfinding at WCMA – whether within the gallery walls or in the collection of over 15,000 objects, our aim is to make our users the deciders of their own experience and give them ways to remember it that are both meaningful and tangible.
We have chosen to do this with a mobile application that allows users to track and save their paths through the museum while recording the pieces that catch their eye and saving them to a personal profile – in this way we give users the agency to try different paths through the museum and get creative with how they explore while recording everything that catches their eye. The application generates bespoke, interpretively designed routes that are both maps and artwork in their own right – these routes depict the users physical movement through the museum and note special places that the user chose to memorialize by taking pictures. The application also affords the option to send an image of a route or a favorite object to oneself or a friend.
Grace Murray - Designer, Researcher
Abby Miller- Designer, Researcher
Maria Mejia - Designer, Researcher


First Name:
Last Name:
Email:
Type of License:
Business
Personal
Reason:
Select a Reason
Software Support
Hardware Support
Information Request
Additional Information:
have read the terms of service.


|
M480 BSP V3.05.005
The Board Support Package for M480 Series
|
#include <usbd_reg.h>
Data Fields | |
| __IO uint32_t | BUFSEG |
| __IO uint32_t | MXPLD |
| __IO uint32_t | CFG |
| __IO uint32_t | CFGP |
@addtogroup USBD USB Device Controller(USBD) Memory Mapped Structure for USBD Controller
Definition at line 26 of file usbd_reg.h.
| USBD_EP_T::BUFSEG |
[0x0000] Endpoint n Buffer Segmentation Register
| Bits | Field | Descriptions |
| [8:3] | BUFSEG | Endpoint Buffer Segmentation
It is used to indicate the offset address for each endpoint with the USB SRAM starting address The effective starting address of the endpoint is USBD_SRAM address + { BUFSEG, 3'b000} Where the USBD_SRAM address = USBD_BA+0x100h. Refer to the section <IP_ADDRESS> for the endpoint SRAM structure and its description. |
Definition at line 179 of file usbd_reg.h.
| USBD_EP_T::CFG |
[0x0008] Endpoint n Configuration Register
| Bits | Field | Descriptions |
| [3:0] | EPNUM | Endpoint Number
These bits are used to define the endpoint number of the current endpoint |
| [4] | ISOCH | Isochronous Endpoint
This bit is used to set the endpoint as Isochronous endpoint, no handshake. 0 = No Isochronous endpoint. 1 = Isochronous endpoint. |
| [6:5] | STATE | Endpoint STATE
00 = Endpoint is Disabled. 01 = Out endpoint. 10 = IN endpoint. 11 = Undefined. |
| [7] | DSQSYNC | Data Sequence Synchronization
0 = DATA0 PID. 1 = DATA1 PID. Note: It is used to specify the DATA0 or DATA1 PID in the following IN token transaction hardware will toggle automatically in IN token base on the bit. |
| [9] | CSTALL | Clear STALL Response
0 = Disable the device to clear the STALL handshake in setup stage. 1 = Clear the device to response STALL handshake in setup stage. |
Definition at line 181 of file usbd_reg.h.
| USBD_EP_T::CFGP |
[0x000c] Endpoint n Set Stall and Clear In/Out Ready Control Register
| Bits | Field | Descriptions |
| [0] | CLRRDY | Clear Ready
When the USBD_MXPLDx register is set by user, it means that the endpoint is ready to transmit or receive data If the user wants to disable this transaction before the transaction start, users can set this bit to 1 to disable it and it is auto clear to 0. For IN token, write '1' to clear the IN token had ready to transmit the data to USB. For OUT token, write '1' to clear the OUT token had ready to receive the data from USB. This bit is write 1 only and is always 0 when it is read back. |
| [1] | SSTALL | Set STALL
0 = Disable the device to response STALL. 1 = Set the device to respond STALL automatically. |
Definition at line 182 of file usbd_reg.h.
| USBD_EP_T::MXPLD |
[0x0004] Endpoint n Maximal Payload Register
| Bits | Field | Descriptions |
| [8:0] | MXPLD | Maximal Payload
Define the data length which is transmitted to host (IN token) or the actual data length which is received from the host (OUT token) It also used to indicate that the endpoint is ready to be transmitted in IN token or received in OUT token. (1) When the register is written by CPU, For IN token, the value of MXPLD is used to define the data length to be transmitted and indicate the data buffer is ready. For OUT token, it means that the controller is ready to receive data from the host and the value of MXPLD is the maximal data length comes from host. (2) When the register is read by CPU, For IN token, the value of MXPLD is indicated by the data length be transmitted to host For OUT token, the value of MXPLD is indicated the actual data length receiving from host. Note: Once MXPLD is written, the data packets will be transmitted/received immediately after IN/OUT token arrived. |
Definition at line 180 of file usbd_reg.h.


Over in his Inexplicable World, Outa_Spaceman tells us he has adopted a bee as a domestic pet. Curiously, he has not yet given it a name. I would ask all readers to head over to his postage right away and bombard him with suggestions. To assist you in choosing an apposite and beguiling bee name, here is a photograph of the little chap.