Functions
Function expressions define functions. Functions are defined using the following syntax.
def [name] ( [params] ) [locals] => <expression>
A function's name is optional. If left out, the function is an anonymous function. The function's parameter list may contain zero or more parameters spearated by commas. As Lavender is untyped, the parameters are given names only. Some examples of function definitions below.
def Inf() => 1 / 0
def BoolVals() => { True, False, FileNotFound }
def log2(x) => log(x) / log(2)
def isTrue(x) => x = true
Fixing and Asscoiativity
If a function takes parameters, it may be either prefix or infix. When calling a function, prefix functions are always placed before their parameters, while infix functions are placed after their first parameter. To make a function infix, start its name with i_
. Functions are prefix by default, but this can be specified explicitly by using the prefix u_
. These prefixes are not part of the function name.
> def plus(x, y) => x + y ' Same as: def u_plus(x, y) => x + y repl:plus > def i_minus(x, y) => x - y repl:minus > plus(3, 2) 5.0 > 5 minus 3 2.0Note that infix functions must be placed directly after their first parameter. Prefix and infix functions may also be overloaded (
func
and i_func
are different functions), but this practice is discouraged.
Infix functions additionally may be either left or right associative. For example, multiplication is left associative while exponentiation is right associative.
2 * 3 * 4 = (2 * 3) * 4
2 ** 3 ** 4 = 2 ** (3 ** 4)
To make a function right associative, prefix the name with r_
. Since only infix functions can be right associative, i_
does not need to be specified for right associative functions.
Precedence
Infix functions have a precedence based on the first character of their names. This ordering is similar to the ordering used in the Scala language.
Precedence from greatest to least? ~
**
* / %
+ -
< >
= !
&
^
|
All letters and _
Function Values
A function value is made by prefixing a function name (either qualified or unqualified) with the backslash character. Infix functions additionally are postfixed by the backslash character. Function values denote the function itself, which enables functions to be treated as values.
> def f(x, y) => x + y
repl:f
> \f
repl:f
> def g() => 42
42.0
> \g
42.0
Functions that take no parameters must evaluate to a constant value, thus they are treated by the language as values themselves. A consequence of this is that for all functions that take no parameters, their function value is equal to their result.
Nested Functions
Functions may be nested in other expressions. In addition to their own parameters, nested functions capture any parameters declared in enclosing functions. Functions defined inside other functions are only accessible within the outer function, whereas "top-level" functions may be accessed anywhere.
> def f1(x) => x + 1 ' Define function f1 repl:f1 > f1(12) ' Call f1 13.0 > def f2(x) => (def inner(i) => x + i) ' Define f2 with a nested function inner repl:f2 > f2(2) repl:f2:inner[2.0] ' Returns the inner function > inner(3) Unqualified name not found: inner ' Nested function not accessible
Calling Values as Functions
Sometimes it may be necessary to use a value as a function. Often the value in question is the result of another function, or a parameter to a function. Square bracket notation allows one to use values as functions.
> def f(x) => (def(i) => x + i) repl:f > f(1) ' Returns the nested function repl:f:[1.0] > [f(1)](2) ' Square bracket notation 3.0Some real-world examples are the standard library map and reduce functions. These functions are known as forwarding functions. They exist only to forward their arguments. def i_map(obj, func) => [[obj](\map\)](func)
def i_reduce(obj, identity, func) => [[obj](\reduce\)](identity, func)
In newer versions of Lavender, you can also use parenthesis notation to call values as functions. Rewritten to use parenthesis notation, the above example would look like this.
> f(1)(2)
3.0
Parenthesis notation is generally preferred to square bracket notation, as it looks more like a regular function call. However, there are two critical differences between parenthesis notation and function calls. First, the parentheses in parenthetical notation are required, whereas they are optional for regular function calls. Second, prefix functions have precedence over parenthetical notation. This allows for natural interop with alphanumeric functions, but may be unintuitive for symbolic functions.
> def f(x) => "hello"(x) repl:f > !f(1) = !("hello"(1)) 1.0 > !"hello"(1) = (!("hello"))(1) 1.0 > f(1)(0) = (f(1))(0) 1.0
Argument Passing Conventions
In Lavender, arguments to functions may be passed by value, or passed by name. Pass-by-value evaluates the argument once before calling the function, while pass-by-name evaluates the argument each time it is used by the function. Passing conventions are defined by the function. By default, arguments are passed by value, but pass-by-name may be specified by using the =>
token before the parameter name.
def i_if(=> expr, cond)
def i_&&(a, => b)
When calling a value as a function, the passing conventions of the underlying function are respected.
Varargs Functions
def Vect(...a) => a ' Make a vector
Functions may be defined as taking a variable number of arguments by adding the ellipsis token (...
) before the last parameter. The extra arguments are boxed into a Lavender vect
. Value calling syntax respects varargs functions. Note that passing a single vect
as the varargs parameter will still result in boxing.
Piecewise Functions
When defining a function, it may either have one body or more than one body. Functions with more than one body are called piecewise functions. Piecewise functions are written as a sequence of function bodies, each composed of a result expression and a condition expression separated by a semicolon.
(def sgn(x) ' The mathematical sign function => 1 ; x > 0 => 0 ; x = 0 => -1 ; x < 0 )The first body, as given in the source code, for which the condition expression yields a truthy value is executed. However, the runtime may choose to evaluate conditions in a different order than given in the source code. If no condition is satisfied, the function returns the value
sys:undefined
.
> (def fact(n) ' Factorial function > => 1 ; n = 0 > => n * fact(n - 1) ; n > 0 > ) repl:fact > fact(0) 1.0 > fact(3) 6.0 > fact(-2) <undefined>When defining nested functions, piecewise function bodies bind to the innermost function, unless the inner function is explicitly closed with parentheses.
def f(x) => def(y) => y ; x > y ' Inner function is piecewise def f(x) => (def(y) => y ; x > y) ' Inner function is piecewise def f(x) => (def(y) => y) ; x > y ' Parse error. 'y' is not declared


labeled
by None at 2021-09-27 20:43:50.labeled
by None at 2021-09-27 20:43:50.labeled
by None at 2021-09-27 21:55:11.labeled
by None at 2021-09-27 21:55:11.labeled
by None at 2021-09-28 01:31:45.Superseded by #26.
closed
by None at 2021-09-28 01:31:46.head_ref_deleted
by None at 2021-09-28 01:31:47.duplicate of https://github.com/pulibrary/bibdata/issues/615
closed
by Christina Chortaria at 2021-09-27 12:51:38.Per Lia C. this falls into a cataloging discussion that requires @jbaxmeyer's approval to update or not a marc record in Alma.
I've emailed Jennifer and will checkin with her on this tomorrow.
unlabeled
by Christina Chortaria at 2021-09-27 12:59:52.mentioned
by Jennifer Baxmeyer at 2021-09-27 12:59:59.subscribed
by Jennifer Baxmeyer at 2021-09-27 12:59:59.https://catalog.princeton.edu/catalog/99650713506421/raw use this fixture for start
milestoned
by Bess Sadler at 2021-09-27 13:20:22.mentioned
by Christina Chortaria at 2021-09-27 13:21:20.subscribed
by Christina Chortaria at 2021-09-27 13:21:20.milestoned
by Christina Chortaria at 2021-09-27 15:40:53.This is the gist for the fixture records: https://gist.github.com/hectorcorrea/934f78d035bfc680f561f7adde17257a
unassigned
by Bess Sadler at 2021-09-27 14:39:09.unlabeled
by Bess Sadler at 2021-09-27 14:47:11.labeled
by Bess Sadler at 2021-09-27 14:47:11.assigned
by Christina Chortaria at 2021-09-27 15:57:05.assigned
by Bess Sadler at 2021-09-27 18:02:05.deployed
by None at 2021-09-27 15:41:20.deployed
by None at 2021-09-27 15:43:08.referenced
by Bess Sadler at 2021-09-27 18:15:24.merged
by Bess Sadler at 2021-09-27 18:15:24.closed
by Bess Sadler at 2021-09-27 18:15:24.head_ref_deleted
by Bess Sadler at 2021-09-27 18:15:24.milestoned
by Bess Sadler at 2021-09-27 13:32:16.assigned
by Bess Sadler at 2021-09-27 15:24:24.closed
by Bess Sadler at 2021-09-27 18:15:24.referenced
by James R. Griffin III at 2021-09-27 19:24:33.merged
by James R. Griffin III at 2021-09-27 19:24:34.closed
by James R. Griffin III at 2021-09-27 19:24:34.head_ref_deleted
by James R. Griffin III at 2021-09-27 19:24:34.labeled
by Bess Sadler at 2021-09-27 19:24:56.deployed
by None at 2021-09-27 19:25:47.referenced
by James R. Griffin III at 2021-09-27 19:39:04.merged
by James R. Griffin III at 2021-09-27 19:39:04.closed
by James R. Griffin III at 2021-09-27 19:39:04.head_ref_deleted
by James R. Griffin III at 2021-09-27 19:39:05.labeled
by None at 2021-09-27 19:26:01.head_ref_force_pushed
by None at 2021-09-27 19:40:08.deployed
by None at 2021-09-27 19:45:46.deployed
by None at 2021-09-27 19:47:10.referenced
by Bess Sadler at 2021-09-27 19:50:09.merged
by Bess Sadler at 2021-09-27 19:50:09.closed
by Bess Sadler at 2021-09-27 19:50:09.head_ref_deleted
by Bess Sadler at 2021-09-27 19:50:10.unlabeled
by Christina Chortaria at 2021-09-27 20:05:56.Closing this issue as it is a large cleanup project in Alma that will take some time to complete and not in Bibdata.
closed
by Christina Chortaria at 2021-09-27 20:07:46.probably similar to https://github.com/pulibrary/bibdata/issues/1662
I checked in Alma the Modification Date for the portfolios of this record.
portfolio 'Nexis Uni' has modification date: 07/15/2021 06:53:17 EDT
The second portfolio that is not indexed (yet) was modified on : 09/23/2021 11:14:24 EDT
The portfolios are not displaying because sidekiq is still trying to index incremental1500190518000642120210923020921[050]new.tar.gz from 09/22 22:50. So far it has tried 18 times. The next retry will be in 8 hours.
In this case we need to wait and see why it's failing to index this dump file. As a result the rest of the batches are waiting for this dump to index successfully.
related issue https://github.com/pulibrary/bibdata/issues/1674
labeled
by Kevin Reiss at 2021-09-27 14:28:54.labeled
by Kevin Reiss at 2021-09-27 14:28:54.milestoned
by Christina Chortaria at 2021-09-27 15:19:27.unlabeled
by Christina Chortaria at 2021-09-27 19:29:55.The index has not been updated yet see https://github.com/pulibrary/bibdata/issues/1669#issuecomment-928204492 related issue https://github.com/pulibrary/bibdata/issues/1674
milestoned
by Christina Chortaria at 2021-09-27 15:40:36.unlabeled
by Christina Chortaria at 2021-09-27 20:51:29.Consistent error:
2021-09-22T22:50:36-04:00 [FATAL] 2438 : Traject::CommandLine: Unexpected exception, terminating execution: #
labeled
by Christina Chortaria at 2021-09-27 21:20:47.milestoned
by Christina Chortaria at 2021-09-27 21:21:44.assigned
by Christina Chortaria at 2021-09-27 21:32:49.labeled
by None at 2021-09-27 20:34:25.labeled
by None at 2021-09-27 14:40:34.labeled
by None at 2021-09-27 14:40:34.referenced
by Trey Pendragon at 2021-09-27 15:34:09.merged
by Trey Pendragon at 2021-09-27 15:34:09.closed
by Trey Pendragon at 2021-09-27 15:34:09.head_ref_deleted
by Trey Pendragon at 2021-09-27 15:34:10.referenced
by Trey Pendragon at 2021-09-27 15:34:39.merged
by Trey Pendragon at 2021-09-27 15:34:40.closed
by Trey Pendragon at 2021-09-27 15:34:40.head_ref_deleted
by Trey Pendragon at 2021-09-27 15:34:40.referenced
by Trey Pendragon at 2021-09-27 15:35:11.merged
by Trey Pendragon at 2021-09-27 15:35:11.closed
by Trey Pendragon at 2021-09-27 15:35:11.head_ref_deleted
by Trey Pendragon at 2021-09-27 15:35:12.assigned
by None at 2021-09-27 13:40:04.referenced
by None at 2021-09-27 14:06:29.closed
by None at 2021-09-27 15:56:37.assigned
by None at 2021-09-27 14:14:44.referenced
by None at 2021-09-27 14:20:34.closed
by None at 2021-09-27 15:56:56.assigned
by None at 2021-09-27 14:21:20.referenced
by None at 2021-09-27 14:37:09.closed
by None at 2021-09-27 15:57:26.labeled
by Trey Pendragon at 2021-09-27 16:12:27.labeled
by Trey Pendragon at 2021-09-27 16:12:46.labeled
by Trey Pendragon at 2021-09-27 16:15:07.labeled
by Trey Pendragon at 2021-09-27 16:20:39.labeled
by Trey Pendragon at 2021-09-27 16:21:26.assigned
by Eliot Jordan at 2021-09-27 18:32:14.assigned
by Eliot Jordan at 2021-09-27 18:37:54.labeled
by Eliot Jordan at 2021-09-27 18:31:53.referenced
by Trey Pendragon at 2021-09-27 19:50:27.merged
by Trey Pendragon at 2021-09-27 19:50:27.closed
by Trey Pendragon at 2021-09-27 19:50:27.head_ref_deleted
by Trey Pendragon at 2021-09-27 19:50:27.labeled
by Eliot Jordan at 2021-09-27 17:48:52.referenced
by Trey Pendragon at 2021-09-27 19:50:43.merged
by Trey Pendragon at 2021-09-27 19:50:43.closed
by Trey Pendragon at 2021-09-27 19:50:43.head_ref_deleted
by Trey Pendragon at 2021-09-27 19:50:44.labeled
by Eliot Jordan at 2021-09-27 17:23:19.referenced
by Trey Pendragon at 2021-09-27 19:51:22.merged
by Trey Pendragon at 2021-09-27 19:51:22.closed
by Trey Pendragon at 2021-09-27 19:51:22.head_ref_deleted
by Trey Pendragon at 2021-09-27 19:51:23.Trying the google cloud way.
We created an IAM on google cloud via the console UI. We gave that IAM view permissions on the relevant bucket. and generated a json key.
unsubscribed
by Alicia Cozine at 2021-09-27 18:06:07.referenced
by None at 2021-09-27 20:23:21.assigned
by None at 2021-09-27 20:29:56.assigned
by Eliot Jordan at 2021-09-27 15:36:48.closed
by None at 2021-09-27 20:30:13.assigned
by Eliot Jordan at 2021-09-27 17:22:44.closed
by None at 2021-09-27 20:30:18.assigned
by Eliot Jordan at 2021-09-27 17:40:20.closed
by None at 2021-09-27 20:30:23.labeled
by None at 2021-09-27 20:41:33.labeled
by None at 2021-09-27 20:41:33.assigned
by Trey Pendragon at 2021-09-27 21:15:29.referenced
by Trey Pendragon at 2021-09-27 22:06:50.labeled
by Trey Pendragon at 2021-09-27 22:10:23.assigned
by James R. Griffin III at 2021-09-27 17:57:26.assigned
by James R. Griffin III at 2021-09-27 17:57:42.In an attempt to improve upon the quality of the overall codebase, I have introduced https://maven.apache.org/plugins/maven-checkstyle-plugin/index.html with https://git.atmire.com/clients/princeton-5/-/tree/oar-DEV-checkstyle-jrg5
closed
by James R. Griffin III at 2021-09-27 19:02:41.labeled
by James R. Griffin III at 2021-09-27 19:46:01.milestoned
by James R. Griffin III at 2021-09-27 19:46:01.assigned
by James R. Griffin III at 2021-09-27 19:46:01.renamed
by Trey Pendragon at 2021-09-27 16:28:33.renamed
by Trey Pendragon at 2021-09-27 16:30:07.labeled
by Trey Pendragon at 2021-09-27 16:30:15.labeled
by Trey Pendragon at 2021-09-27 16:31:33.labeled
by None at 2021-09-27 20:23:01.labeled
by None at 2021-09-27 20:23:01.closed
by None at 2021-09-27 14:54:38.labeled
by None at 2021-09-27 20:47:41.closed
by Kevin Reiss at 2021-09-27 17:42:52.labeled
by None at 2021-09-27 21:49:14.labeled
by None at 2021-09-27 21:49:14.labeled
by None at 2021-09-27 20:35:21.The staging environment has been updated:
$ curl "http://localhost:8983/solr/admin/collections?action=COLSTATUS&collection=oawaiver-staging"
{
"responseHeader":{
"status":0,
"QTime":57},
"oawaiver-staging":{
"stateFormat":2,
"znodeVersion":7,
"properties":{
"autoAddReplicas":"false",
"maxShardsPerNode":"1",
"nrtReplicas":"1",
"pullReplicas":"0",
"replicationFactor":"1",
"router":{"name":"compositeId"},
"tlogReplicas":"0"},
"activeShards":1,
"inactiveShards":0,
"schemaNonCompliant":["(NONE)"],
"shards":{
"shard1":{
"state":"active",
"range":"80000000-7fffffff",
"replicas":{
"total":1,
"active":1,
"down":0,
"recovering":0,
"recovery_failed":0},
$ curl "http://localhost:8983/solr/admin/collections?action=COLLECTIONPROP&name=oawaiver-staging&property
Name=replicationFactor&propertyValue=2"
{
"responseHeader":{
"status":0,
"QTime":34}}
$ curl "http://localhost:8983/solr/admin/collections?action=COLSTATUS&collection=oawaiver-staging"
{
"responseHeader":{
"status":0,
"QTime":217},
"oawaiver-staging":{
"stateFormat":2,
"znodeVersion":8,
"properties":{
"autoAddReplicas":"false",
"maxShardsPerNode":"1",
"nrtReplicas":"2",
"pullReplicas":"0",
"replicationFactor":"2",
"router":{"name":"compositeId"},
"tlogReplicas":"0"},
"activeShards":1,
The production environment has been updated:
$ curl "http://localhost:8983/solr/admin/collections?action=COLSTATUS&collection=oawaiver-production"
{
"responseHeader":{
"status":0,
"QTime":21},
"oawaiver-production":{
"stateFormat":2,
"znodeVersion":4,
"properties":{
"autoAddReplicas":"false",
"maxShardsPerNode":"1",
"nrtReplicas":"1",
"pullReplicas":"0",
"replicationFactor":"1",
"router":{"name":"compositeId"},
"tlogReplicas":"0"},
"activeShards":1,
"inactiveShards":0,
"schemaNonCompliant":["(NONE)"],
$ curl "http://localhost:8983/solr/admin/collections?action=MODIFYCOLLECTION&collection=oawaiver-production&
replicationFactor=2"
{
"responseHeader":{
"status":0,
"QTime":3704}}
$ curl "http://localhost:8983/solr/admin/collections?action=COLSTATUS&collection=oawaiver-production"
{
"responseHeader":{
"status":0,
"QTime":4},
"oawaiver-production":{
"stateFormat":2,
"znodeVersion":5,
"properties":{
"autoAddReplicas":"false",
"maxShardsPerNode":"1",
"nrtReplicas":"2",
"pullReplicas":"0",
"replicationFactor":"2",
"router":{"name":"compositeId"},
"tlogReplicas":"0"},
"activeShards":1,
assigned
by James R. Griffin III at 2021-09-27 17:25:01.closed
by James R. Griffin III at 2021-09-27 17:57:06.referenced
by Bess Sadler at 2021-09-27 18:08:11.merged
by Bess Sadler at 2021-09-27 18:08:12.closed
by Bess Sadler at 2021-09-27 18:08:12.head_ref_deleted
by Bess Sadler at 2021-09-27 18:08:12.closed
by Bess Sadler at 2021-09-27 18:08:12.This pr should be rebased and reviewed by @mzelesky . I would like first to communicate with Mark if he could be available to review and catch up with the past work on this pr before we add it in the work-cycle. I also think that this PR is part of a bigger project 'authority work' that needs more discussion and clarification from @mzelesky .
labeled
by Christina Chortaria at 2021-09-27 13:33:24.milestoned
by Hector Correa at 2021-09-27 13:50:31.assigned
by Christina Chortaria at 2021-09-27 14:04:29.unlabeled
by Bess Sadler at 2021-09-27 14:05:09.milestoned
by Hector Correa at 2021-09-27 13:48:18.unlabeled
by Bess Sadler at 2021-09-27 14:05:59.mentioned
by Kevin Reiss at 2021-09-27 14:10:40.subscribed
by Kevin Reiss at 2021-09-27 14:10:40.milestoned
by Hector Correa at 2021-09-27 13:49:55.demilestoned
by Bess Sadler at 2021-09-27 14:18:12.demilestoned
by Bess Sadler at 2021-09-27 14:30:30.milestoned
by Bess Sadler at 2021-09-27 14:30:34.See also https://github.com/pulibrary/orangelight/issues/2738
milestoned
by Hector Correa at 2021-09-27 13:49:41.unlabeled
by Bess Sadler at 2021-09-27 14:15:53.unlabeled
by Bess Sadler at 2021-09-27 14:46:30.assigned
by Hector Correa at 2021-09-27 15:49:24.@kevinreiss I think this is a cleanup in Alma. The specific electronic portfolio in alma has a url to the table of contents.
I transferred the ticket to eSupport and let Joe M. know about it. The record will be updated in Alma.
mentioned
by Kevin Reiss at 2021-09-27 18:33:36.subscribed
by Kevin Reiss at 2021-09-27 18:33:36.closed
by Christina Chortaria at 2021-09-27 18:42:16.Coverage remained the same at 96.844% when pulling e269f3821b8c5a2acaf3726ea6ccb585c336ed8a on dependabot/bundler/nokogiri-1.12.5 into 5cd3eb06406a28adce133952e4ce4cf059e09075 on main.
labeled
by None at 2021-09-27 20:22:34.labeled
by None at 2021-09-27 20:22:35.deployed
by None at 2021-09-27 20:36:29.referenced
by Bess Sadler at 2021-09-27 20:41:43.merged
by Bess Sadler at 2021-09-27 20:41:43.closed
by Bess Sadler at 2021-09-27 20:41:43.head_ref_deleted
by Bess Sadler at 2021-09-27 20:41:44.labeled
by None at 2021-09-28 01:35:17.referenced
by Kevin Reiss at 2021-09-27 14:03:56.merged
by Kevin Reiss at 2021-09-27 14:03:56.closed
by Kevin Reiss at 2021-09-27 14:03:56.head_ref_deleted
by Kevin Reiss at 2021-09-27 14:03:56.closed
by None at 2021-09-27 13:23:58.closed
by None at 2021-09-27 13:24:23.closed
by None at 2021-09-27 13:24:46.closed
by None at 2021-09-27 13:25:27.closed
by Kevin Reiss at 2021-09-27 13:26:05.referenced
by Kevin Reiss at 2021-09-27 13:26:05.merged
by Kevin Reiss at 2021-09-27 13:26:05.closed
by Kevin Reiss at 2021-09-27 13:26:05.head_ref_deleted
by Kevin Reiss at 2021-09-27 13:26:07.closed
by None at 2021-09-27 13:27:24.referenced
by Kevin Reiss at 2021-09-27 13:42:49.merged
by Kevin Reiss at 2021-09-27 13:42:49.closed
by Kevin Reiss at 2021-09-27 13:42:49.head_ref_deleted
by Kevin Reiss at 2021-09-27 13:42:50.closed
by None at 2021-09-27 14:26:31.closed
by None at 2021-09-27 14:27:54.closed
by None at 2021-09-27 14:29:24.closed
by Kevin Reiss at 2021-09-27 14:36:33.These seem to have fallen out maintenance, need to raise issue to library admin to see if we can deprecate these pages.
labeled
by None at 2021-09-27 14:44:46.Think we can close this, dealt with another way in 2020.
closed
by Kevin Reiss at 2021-09-27 15:27:56.closed
by Kevin Reiss at 2021-09-27 15:28:13.closed
by Kevin Reiss at 2021-09-27 15:28:38.closed
by None at 2021-09-27 15:38:16.closed
by None at 2021-09-27 15:38:32.closed
by None at 2021-09-27 15:39:15.closed
by None at 2021-09-27 15:39:27.closed
by Kevin Reiss at 2021-09-27 16:54:17.We actually do have a version of this that exists. There is a field on each selector that can populate a link to a calendar system.
closed
by Kevin Reiss at 2021-09-27 16:55:08.closed
by Kevin Reiss at 2021-09-27 16:55:17.closed
by Kevin Reiss at 2021-09-27 16:55:33.closed
by Kevin Reiss at 2021-09-27 17:06:10.closed
by None at 2021-09-27 18:43:41.closed
by None at 2021-09-27 18:44:31.closed
by None at 2021-09-27 18:47:08.closed
by None at 2021-09-27 18:47:23.closed
by None at 2021-09-27 18:52:29.closed
by None at 2021-09-27 18:53:55.closed
by None at 2021-09-27 18:56:46.labeled
by None at 2021-09-28 00:57:42.labeled
by None at 2021-09-28 00:57:42.Also, we should monitor the backups and alert if they don't happen / are 0 bytes long.
labeled
by Trey Pendragon at 2021-09-27 16:38:28.renamed
by Trey Pendragon at 2021-09-27 16:41:36.labeled
by None at 2021-09-27 23:23:05.labeled
by None at 2021-09-27 23:23:05.renamed
by Trey Pendragon at 2021-09-27 16:24:56.labeled
by None at 2021-09-27 20:39:45.labeled
by None at 2021-09-27 20:39:45.closed
by None at 2021-09-27 14:55:28.labeled
by None at 2021-09-27 22:29:50.Superseded by #22.
closed
by None at 2021-09-27 22:29:52.head_ref_deleted
by None at 2021-09-27 22:29:53.labeled
by None at 2021-09-28 00:57:17.labeled
by None at 2021-09-28 00:57:17.Superseded by #677.
closed
by None at 2021-09-28 00:57:18.head_ref_deleted
by None at 2021-09-28 00:57:19.Resolved: Dataspace is back up in c25087f
.
labeled
by Francis Kayiwa at 2021-09-27 19:31:59.labeled
by Francis Kayiwa at 2021-09-27 19:31:59.locked
by Francis Kayiwa at 2021-09-27 19:32:00.closed
by Francis Kayiwa at 2021-09-27 19:38:55.


Example: I like watching football, baseball, and basketball.
Example: I mowed the lawn, went grocery shopping, and made dinner.
Example: The quarterback threw the ball, the receiver caught it, and the cornerback failed to tackle him.
Example: The favorite snack foods are pretzels, chips and salsa, and peanuts. (Not that there is no comma between "chips and salsa" because "chips and salsa" counts as a single item in the list.)
Example: The boy threw the ball, and he watched it fly.
Example: I tried to play the violin, but it sounded terrible.
Example: The boy threw the ball and watched it fly.
The above sentence does not have a comma because the part after the "and" is not an independent clause.
There are no exceptions to this rule, except in the case of some very short introductiory phrases for which case the comma is optional. Most one-word introductions to sentence, such as "therefore," "thus," and "however" must be followed by a comma.
Example: Because he was tired, he took a nap.
Example: On the table, there was a book.
Example: In Chicago, it is often windly.
Example: Although I like ice cream, I do not like frozen yogurt.
Example: I like ice cream. However, I do not like frozen yogurt.
When phrases and dependent clauses are added to the end of a sentence, no comma is typically used.
Example: He took a nap because he as tired
Example: There was a book on the table
Example: It is oftwn windy in Chicago
There are exceptions to this rule in which a comma is used to separate a phrase or dependent clause from the end of an independent clause. Use your ear to figure out when these exceptions occur. If your ear is on the fence, though, assume no comma.
Example: He comes from Canada, a country known for its cold weather.
Example: The Yankees, who play in New York, are always a tough team to beat.
The phrase "who play in New York" is non-essential, since the rest of the sentence would work just fine without it. If the phrase were removed, the sentence would still be perfectly clear and would not lose more than the phrase itself.
Example: People who live in New York expect their baseball team to win.
In this example, "who live in New York" is essential, since the meaning of the sentence would change drastically if the phrase were removed from the sentence. Without "who live in New York," the subject of the sentence would simply be "people," and the sentence would imply that all people expect their team to win, which is not the intended meaning of the sentence. (I am from Cleveland, so I never expect my team to win.) Whenever a phrase is needed in order to specify or clarify the subject of a sentence, it is essential and therefore requires no commas to separate it from the rest of the sentence.
Example: I like ice cream. I do not, however, like frozen yogurt.
In this example, "however" is non-essential, so it must have a comma before it and a comma after it.
Use your ear to decide whether to use a comma in this situation.
Example: The tall, snowy mountain towered over the village.
A comma separates the adjectives "tall" and "snowy."
Example: The Boy Scout helped the little old lady cross the street.
No comma separates the adjectives "little" and "old."
Although your ear should be pretty effective in deciding whether to use a comma between two adjectives, the difference can be explained technically in terms of the roles of the adjectives. If two adjectives of relatively equal importance both independently modify the noun, a comma should be used. For instance, in the first example, "tall" and "snowy" both independently modify "mountain." On the other hand, if the first adjective modifies the nound which has already been modified by the second adjective, a comma should not be used. In the second example, it is more accurate to say that "little" modifies "old lady" than that "little" and "old" both independently modify "lady," so no comma is used.
Tips:


Mangenda
Hiring
Employees
Calendar
View Applicants
Skill Search
New
Post a Job
Job Postings
Salary Analysis


I have the CT Sensors hooked up to the raspberry PI and it WILL NOT display anything on the CSV file but 18,18,-127.50. 1st is 1st ct Sensor, 2nd is 2nd ct sensor, 3rd is the temperature sensor.
If I use an AC Line Splitter that has an X10 option on it and put the ct clamp around it, it reads fine. What am I doing wrong? Did I buy the wrong CT Sensor?
Link of one I bought:
http://www.ebay.com/itm/141690866804?_trksid=p2057872.m2749.l2649&ssPage...
Thanks for your time !
Re: Help - Can't get Pi Sensor to read anything - Hair Pulling out
How did you "hook up" the CT to the RPi? What software are you running on the RPi? An RPi doesn't have a native analog input.
Re: Help - Can't get Pi Sensor to read anything - Hair Pulling out
This is what I used:
Raspberrypi Current & Temperature Sensor Adaptor - emoncms compatible
http://www.ebay.com/itm/141683476414?_trksid=p2057872.m2749.l2649&ssPage...
It will work if I use an AC Line Splitter with 10X Magnification. Else it won't work.
Re: Help - Can't get Pi Sensor to read anything - Hair Pulling out
Here's another link to the RasPi Current & Temp sensor that JBlackham used:
http://lechacal.com/wiki/index.php/Raspberrypi_Current_and_Temperature_Sensor_Adaptor
The page gives some tech specs and a How-To, on reading data from it.
Slick little device, but it reads only apparent power.
Excerpt from the page: Default Voltage for power calculation: 240V (can be modified in firmware)
Re: Help - Can't get Pi Sensor to read anything - Hair Pulling out
Thanks Bill, so is this the wrong device and wrong setup to be measuring the AC Mains with? The person I bought it from modified the firmware so its 120V. Is there a better CT Meter to use instead?
Re: Help - Can't get Pi Sensor to read anything - Hair Pulling out
Not the wrong device, just not the optimal one. Your electric utility meter measures, and you pay for, real power, this device measures apparent power. The two values are only the same with regards to a resistive load, like an electric heater. Toss in a motor, say an air conditioner, swimming pool pump, refrigerator, etc. or a switching mode power supply like those found in computers and electronic items, and the apparent power/real power values become significantly different. Hence, the reading you get, isn't representative of the energy you're consuming.
The emonTX measures real power, and would indeed be a better choice.
If you search the site for emonTX, you'll find lots of info about it.
Re: Help - Can't get Pi Sensor to read anything - Hair Pulling out
Well at this point I can't even get it to read anything :(
Re: Help - Can't get Pi Sensor to read anything - Hair Pulling out
If I use an AC Line Splitter that has an X10 option on it and put the ct clamp around it, it reads fine.
When you're not using the line splitter, are you attaching the CT to a cable with two or more wires in it?
If so, you need to break out the line or the neutral wire and attach the CT to either one, but not both.
(or use your line splitter)
It didn't hit me right away that you mentioned it worked when you used the splitter. Then it dawned on me, that's probably why you're not getting any readings without the splitter. The CT reads the magnetic field generated by the current flowing in the wire. The magnetic fields of the line and neutral are opposites, so if you have the CT around both the line and the neutral, the magnetic fields cancel each other, and you get no reading.
Re: Help - Can't get Pi Sensor to read anything - Hair Pulling out
Bill you may laugh at me and that's fine.  So the CT Sensors I bought have REALLY REALLY cheap pieces of plastic right below the jack part of it. I have complained a bunch to the seller on ebay about them that I got them. Its like they tried to save money on the sensor by putting the cheapest piece of plastic on the jack. Problem was the jack was a little bit over the plug and when I pulled it back and pushed hard into the board I heard a click. Then boom I started getting data.
Its interesting seeing the data as I have an Enerati Sensor which by the way is a total POS. The company went belly up and I got stuck with garbage. Which is a whole other story by itself and why i didn't want to go with a 3rd party build solution. Anyways the data I am seeing looks a whole lot more accurate than what the Enerati one is reporting. I do see the problem you mentioned about not having the PI directly tied to the 120V source. It can't read the power factor and thus can't really decipher apparent from real power? At least that is what I understand.
The emonTX looks interesting but I am a little nervous about being tied down to something like I was with Enerati before. I like having total control over the thing.
By the way I see in the Raspberry PI Output the power from each leg: 907,875
Included picture.
Re: Help - Can't get Pi Sensor to read anything - Hair Pulling out
Bill you may laugh at me and that's fine.  So the CT Sensors I bought have REALLY REALLY cheap pieces of plastic right below the jack part of it. I have complained a bunch to the seller on ebay about them that I got them. Its like they tried to save money on the sensor by putting the cheapest piece of plastic on the jack. Problem was the jack was a little bit over the plug and when I pulled it back and pushed hard into the board I heard a click. Then boom I started getting data.
Don't feel like the Lone Ranger, it happened to me too, and I've been an Electronics Tech since '74! There's been at least a couple of other instances I can remember reading here on the forum, where the "plug not pushed fully home" has bitten someone.
The EmonTX is good stuff. I've built an emonTX v2, and v1.4 of the emonGLCD. Both of them have run for two years without any issues.
Make magazine says "you don't own it if you can't change it." The OEM project is open source, both software and hardware, so changing it isn't an issue as it would be with a commercially copyrighted product.
I do see the problem you mentioned about not having the PI directly tied to the 120V source.
That would actually be dangerous. The emonTX uses an AC-AC adapter (wall-wart) for isolation from the mains,but yes, you're otherwise correct about your sensor being unable to read real power.
Sounds good to here you got 'er going.
Re: Help - Can't get Pi Sensor to read anything - Hair Pulling out
"It can't read the power factor and thus can't really decipher apparent from real power? At least that is what I understand."
That's right. "Cheap" systems - and some not-so-cheap ones - rely on the constancy of the mains supply voltage and the fact that most heavy domestic loads are close to being purely resistive. When you do that, you can make assumptions and measure only current. It makes it easy for the non-technical user because they just clip a CT over a wire, plug it in to a transmitter, plonk the receiver/display on the shelf, tell it the nominal mains voltage and they're in business.
The trouble with that is it's only guessing real power. If the assumptions are wrong, so are the numbers. To get over all those assumptions, the emonTx actually does the same sums that your supplier's meter does: it reads voltage and current around 40 times for each mains cycle (for you, 50 for us), multiplies them together and computes the average. And that number is genuine real power. At the same time, it also computes the separate rms averages of voltage and current and from those it calculates the apparent power (and even that is more accurate than something that guesses the voltage and assumes it's constant all day, every day). Then knowing real and apparent power, power factor is easy - it comes straight from the definition (and that's NOT cos(φ))!
[Edit]
It may be possible to alter that add-on board to accept a voltage input. It's probably using much the same input circuitry as the emonTx, and the voltage input on that is very similar to the current input, the only real difference is the current input has a low-value burden resistor whereas the voltage has a voltage divider, but both feed roughly the same voltage into the ADC.
Re: Help - Can't get Pi Sensor to read anything - Hair Pulling out
I guess I am going in a new direction now with all of the information you all have given me. I could use some advice. I have a ton of Raspberry PI's because I love to code on them. I want something that will be accurate and not flaky like the Enerati system is. I am fine with going with anything.
Would I be better off than buying the EmonTX and have that communicate back with one of the RaspBerry Pi's and just buy the RF kit that talks to the EmonTX for the PI? Or should I just get the EmonPI, or can I just get the parts for the EmonPI and use one of the Raspberry PI's I already have?
I think I would rather pay a lot more than go thru the pain and suffering I have already been dealt.
I live in the U.S. A lot of these seems built for the UK and I am not sure how easy they will work in the states.
I am thinking of the following:
RFM69PI and use with one of my existing PI's.
EmonTXV3 for the breaker box.
Any suggestions/thoughts on that design?
Re: Help - Can't get Pi Sensor to read anything - Hair Pulling out
You're right that all the hardware and software is designed primarily for the UK. There's a page of information about using the emonTx system in the USA, and I'm sure Bill will join in, as he has direct experience.
I'm not totally sure of the direction we are going, certainly I'm not aware of any intention to move away from the emonTx - emonBase - server - emonCMS concept, it just where the physical boundaries are located. The emonPi puts all four entities/devices in one box, whereas if you go the emonTx route, you start separating them out. But I've got to be very careful not to over-simplify: The emonPi can function as an emonBase and send to a server on the your LAN or the Internet as well as hosting a server locally, and the RPi + RFM12Pi is the same - in effect it's an emonPi without the emon. Both can listen on RF for an emonTx.
I'm not sure that you can buy an emonPi without the Raspberry Pi filling ( ! ), but if you want to go that route, email the shop and ask.
Otherwise, if you've got a spare Pi, you plan looks to be the way to go.
Re: Help - Can't get Pi Sensor to read anything - Hair Pulling out
I live in the U.S. A lot of these seems built for the UK and I am not sure how easy they will work in the states.
I'm in the US too. The only hardware change I had to make was the CTs and burden resistors.
If you search the forum for US, or USA, you'll find a few others in the US that use the OEM system, or parts of it.
Here's an article Robert wrote about using emonTX in North America:
openenergymonitor.org/emon/buildingblocks/EmonTx-in-North-America
I have a ton of Raspberry PI's because I love to code on them.
Would I be better off than buying the EmonTX and have that communicate back with one of the RaspBerry Pi's and just buy the RF kit that talks to the EmonTX for the PI? Or should I just get the EmonPI, or can I just get the parts for the EmonPI and use one of the Raspberry PI's I already have?
Since you have lots of RPis, it makes more sense monetarily, to buy an emonTX and Radio module for the Pi. That was the route I went, since I had three RPis at the time.
If you prefer, or need, a single package, i.e. an all-in-one unit, then you might want to buy the emonPi. From what I've seen in the shop, the emonTX component of the emonPi isn't available separately.
An additional aspect of the OEM system is the emoncms software. I've seen some mighty nice things folks have done with their dashboards. For example: http://<IP_ADDRESS>/emoncms/meter
As with the rest of OEM, emoncms is open source too.

Read that as "much better than many companies I've dealt with"
Re: Help - Can't get Pi Sensor to read anything - Hair Pulling out
You all have been so awesome and helpful. I ordered the emonTX and the RF Adapter for the PI. I may come back and ask for some help on it.
I am getting power with the ct clamps and its about 10% off from what the meter is. I am guessing that is the real power vs perceived power problem.
Re: Help - Can't get Pi Sensor to read anything - Hair Pulling out
Or it could be a calibration problem. If you've got the necessary meters (current and voltage), you can adjust the calibration coefficients in software to get it right. Ultimately, it's right when it agrees with your supply tariff meter - people have claimed agreement within 1% after they carefully tweaked the calibration over an extended period.


WWF's goal is to: Build a future where people live in harmony with nature.
Here is a quote from WWF's website:
For 50 years, WWF has been protecting the future of nature. The world's leading conservation organization, WWF works in 100 countries and is supported by 1.2 million members in the United States and close to 5 million globally.
| Firstname | Lastname | Age |
|---|---|---|
| Jill | Smith | 50 |
| Eve | Jackson | 94 |
| Month | Savings |
|---|---|
| January | $100 |
| February | $80 |
| Sum | $180 |


| Design and Implementation of a validating XML parser in Haskell: Master's thesis; University of Applied Sciences Wedel | ||
|---|---|---|
| Prev | Chapter 2. Package hdom | Next |
The module XmlState provides a monad for an internal state and I/O commands. The concept of a monad comes from category theory. Monads are used for programming in a functional language using an imperative style. A monad can encapsulate computations such as I/O, manipulation of state or exceptions. For further information about monads, the section "Using Monads" of the Haskell Bookshelf [WWW17] is a good starting place.
XmlState is used for various parts of the XML parser, e.g. when building the parse tree or substituting entities. The internal state of the monad from XmlState consists of two parts, the user state and the system state. The user state is a type parameter, the system state is a list of name-value pairs. If the user state is not needed, the type parameter can be instantiated with ().
The monad provides trace functions combined with trace levels to output marked computation steps. Error reporting functions are also located in this module. The error messages are printed to stderr and the maximum error level is stored in the system state.
Furthermore there are types for XmlFilter functions working on this monad, functions for manipulating the state components and for lifting I/O commands and XmlFilters to monad filters.
The internal state consists of a system and a user state.
data XmlState state = XmlState { sysState :: SysState , userState :: state } |
The system state consists of a list of name-value pairs of type String.
type SysState = TagAttrl |
The monad type for commands. It is an instance of StateIO from the general module MonadStateIO.
type XState state res = MonadStateIO.StateIO (XmlState state) res |
The XmlFilter type for filters working on a state.
type XmlStateFilter state = XmlTree -> XState state XmlTrees |
Functions for executing XState commands
Executes an XState command with an initial state.
Executes an XState command with an initial user state.
Executes an XState command in the I/O monad.
The following example shows the use of the State-I/O monad. All computations of processXmlN take place in the State-I/O monad. The functions getXmlContents, parseXmlDoc and putXmlTree are XmlStateFilters. The first two filters do some computations where errors might occur. These XmlStateFilters can output the errors and set an error level in the State-I/O monad. The value of the error level is tested before the constructed parse tree is returned. The XmlStateFilters putXmlTree just outputs the constructed parse tree.
Example 2-5. Using the monad from XmlState
processXmlN :: XmlTree -> IO [XmlTree] processXmlN t0 = run' $ do setSysState (selXTagAttrl . getNode $ t0) setTraceLevel 0 t1 <- getXmlContents $ t0 t2 <- parseXmlDoc $$< t1 putXmlTree t2 el <- getErrorLevel return ( if el == 0 then t2 else [] ) |
The functions setSysState, setTraceLevel and getErrorLevel are functions for accessing and manipulating the state of the monad. The monad comes with lots of more access functions.


Welcome to the Lambda Programming Laboratory! The goal of this lab is for you to learn about the lambda expressions, default methods, and APIs (particularly the Streams library) introduced in Java 8, plus a few API additions in Java 9 and 10.
The lab is structured as a set of exercises in the form of JUnit tests. To complete each exercise, write some code that uses a lambda or new API that enables the test to pass.
Open the NetBeans development build (or your favorite IDE).
Open the LambdaLab project. If you don't have it, it can be cloned from github:
git clone https://github.com/stuart-marks/LambdaHOLv2
Inside the LambdaLab project, open the Test Packages folder.
Open up one of the following exercise files:
A_Lambdas.java
B_Comparators.java
C_DefaultMethods.java
D_SimpleStreams.java
E_IntermediateStreams.java
F_AdvancedStreams.java
G_MatcherScanner.java
H_Challenges.java
Each exercise is in the form of a single JUnit test method. Each test is marked with an @Ignore annotation so that JUnit will skip that test initially.
To work on a test, delete the @Ignore annotation, fill in code at the // TODO marker, trying to avoid modifying any setup code above the TODO marker and assertion code below the TODO marker.
Press Control-F6 to run the tests in this file.
Make all the tests pass and get a 100% green bar!
At the top of each exercise is a comment that describes the goal of the exercise. Within the test method, there is a // TODO comment that marks the location where you need fill in some implementation code. There may be some setup code above the // TODO comment, and there will be some assertion-checking code below. You shouldn't have to modify any of the setup code at the top of the test method or the assertions at the bottom of the test method.
There is sometimes a hint or two after a test method. If you're having trouble with an exercise, look for hints. The hint text is inside a editor fold that is closed by default, so click on the plus-sign in the left margin to read it.
The intent of the exercises is to solve them using the Java 8 lambda expressions feature, the Java 8 default methods feature, the Java 8 Streams API, and other APIs added in Java 8 or Java 9. Of course, it is possible to use conventional Java code, such as for-loops, but all of the exercises are amenable to being solved using new features in just a handful of lines. Most exercises will take less than half a dozen lines. Some of the more difficult exercises may take up to eight lines, depending upon how aggressive you are about breaking lines. None of the exercises involve writing large amounts of code. Most of the streams-based exercises involve writing a single stream pipeline.
Several of the exercises read data from a text file. The field named "reader" is a BufferedReader which will be opened for you on the text file. In any exercise that refers to reading from the text file, you can simply use the "reader" variable without worry about opening or closing it. This is set up by JUnit using the @Before and @After methods at the bottom of the file. The text file is "SonnetI.txt" (Shakespeare's first sonnet) which is located at the root of this NetBeans project.
If you're really stuck, the solutions to the exercises are in the package
Test Packages > solutions
There is one solutions file corresponding to each exercise file. Many exercises can be solved in several different ways. In some cases, the solutions file will have several alternatives. Even if you've solved an exercise, it can be useful to look at the solutions to compare your solutions with those of the lab authors.


{{s.title}}
{{que.question}}
{{que.answer}}
Sorry for inconvenience, there is no question found related to selected category or search data, you can send your feedback or queries to us Contact us


Nova Scotia inquiry into deaths of former soldier and family to begin Monday
by The Canadian Press, StaffHALIFAX -- The fatality inquiry into the deaths of former Canadian soldier Lionel Desmond and his family will begin hearing evidence in Guysborough, N.S., on Monday.
Desmond fatally shot his mother, wife and daughter before taking his own life in the family's rural home in Upper Big Tracadie, N.S., in January 2017.
Nova Scotia's chief medical examiner, Dr. Matt Bowes, reviewed the circumstances of the deaths and recommended that an inquiry be held under the province's Fatality Investigations Act.
The inquiry is to determine the circumstances of the deaths and is to look into some specific issues, including whether Desmond and his family had access to the appropriate mental health and domestic violence intervention services.
This session of the inquiry is expected to sit for three weeks, followed by a recess.
Additional sessions will be announced at a later date.
At the conclusion of the proceedings, provincial court Judge Warren Zimmer will file a written report containing his findings and recommendations. It will not contain any findings of legal responsibility.
This report by The Canadian Press was first published Nov. 14, 2019.


{% extends "base.html" %} {% block sidebar-one %} class="active" {% endblock %} {% block main %}
You are currently logged in as {{ username }}.


The web consist of a vast amount of computers from all over the world that interconnect with each other. When someone goes to a web page, the information entered is a HTTP Request. This request is uses a HyperText Transfer Protocol(HTTP), which is sent to a server. The server replies finding the correct HTML document which the web browser interprets and displays it on the computer screen. Watch this video to have a better concept on the information I just presented.
Major Pieces of the WebHTML is an acronym for HyperText Markup Language and in essence is heart of the web. HTML is composed of:
HTML markups are made up of tags. They start with a opening tag and end with a closing tag. Inbetween the opening and closing tags is the content, this is also a tag. These tags all together as a whole are called an element.
Some Example of TagsThere are two types of elements inline and block. Inline only occupies the space along the content. Block forms a box or block that works like a container around the content.


Upon submission of a proof to the submit-event-proof function, the event is tentatively accepted for a contestation period of k blocks, during which any other party, the contester , can provide a counter-proof showing that the original proof was fraudulent. The contester can call the submit- contesting-proof function passing it the contesting proof π ∗ and the event predicate e . The function runs the NIPoPoW verify algorithm to compare the original proof events [ e ] . proof against the contesting proof π ∗ . If the verification algorithm concludes that the original proof was fraudulent, the tentatively accepted event is abandoned and the collateral is paid to the contester


{% block content %}
This is an example of a blank page that you can use as a starting point for creating new ones.


| Package | Description |
|---|---|
| cpsr | |
| cpsr.environment | |
| cpsr.environment.components | |
| cpsr.model | |
| cpsr.planning | |
| cpsr.planning.ertapprox | |
| cpsr.planning.ertapprox.actionensembles | |
| cpsr.planning.ertapprox.singleensemble |
| Modifier and Type | Method and Description |
|---|---|
Action |
SanityCheck.SanityPlanner.getAction() |
| Modifier and Type | Method and Description |
|---|---|
java.util.HashSet<Action> |
TrainingDataSet.getActionSet()
Returns list of all possible actions in the domain.
|
| Modifier and Type | Method and Description |
|---|---|
Action |
ActionObservation.getAction()
Returns the action associated with this action observation pair.
|
Action |
ResetActionObservation.getAction() |
| Constructor and Description |
|---|
ActionObservation(Action act,
Observation ob)
Constructs action-observation structure and computes new unique
ID code.
|
| Modifier and Type | Method and Description |
|---|---|
java.util.HashSet<Action> |
APSR.getActionSet() |
java.util.HashSet<Action> |
IPSR.getActionSet()
Returns action Set
|
java.util.HashSet<Action> |
MemorylessState.getActionSet() |
| Modifier and Type | Method and Description |
|---|---|
double |
Predictor.getImmediateProb(Action act,
Observation ob) |
double |
IPredictor.getImmediateProb(Action act,
Observation ob)
Returns the probability of seeing a particular observation
given that a particular action is taken.
|
double |
Predictor.getKStepPredictionProb(Action act,
Observation ob,
int k) |
double |
IPredictor.getKStepPredictionProb(Action act,
Observation ob,
int k)
Returns the probability of seeing a specified action-observation pair
k steps in the future.
|
| Modifier and Type | Method and Description |
|---|---|
double |
Predictor.getImmediateProb(java.util.ArrayList<Action> acts,
java.util.ArrayList<Observation> obs) |
double |
IPredictor.getImmediateProb(java.util.ArrayList<Action> acts,
java.util.ArrayList<Observation> obs)
Returns the probability of seeing a sequence of observations
given that a particular sequence of actions is taken.
|
double |
Predictor.getKStepPredictionProb(java.util.ArrayList<Action> acts,
java.util.ArrayList<Observation> obs,
int k) |
double |
IPredictor.getKStepPredictionProb(java.util.ArrayList<Action> acts,
java.util.ArrayList<Observation> obs,
int k)
Returns the probability of seeing a specified test
k steps in the future.
|
| Modifier and Type | Method and Description |
|---|---|
Action |
APSRPlanner.getAction() |
Action |
IPlanner.getAction() |
Action |
RandomPlanner.getAction() |
Action |
EpsilonGreedyPlanner.getAction() |
| Modifier and Type | Method and Description |
|---|---|
double |
IQFunction.getQValue(APSR psr,
Action act)
Returns Q value of given action.
|
| Constructor and Description |
|---|
RandomPlanner(int pSeed,
java.util.ArrayList<Action> pActList)
Constructs a random planner over given action list.
|
| Modifier and Type | Method and Description |
|---|---|
double |
IERTEnsemble.getValueEstimate(PredictionVector predVec,
Action act)
Returns estimated value associated with this state/prediction vector
and action.
|
| Modifier and Type | Method and Description |
|---|---|
Action |
ActionERTEnsemble.getAssociatedAction()
Returns action associated with this ensemble
|
| Modifier and Type | Method and Description |
|---|---|
java.util.HashMap<Action,java.util.HashMap<java.lang.String,java.util.ArrayList<java.lang.Double>>> |
ActionEnsemblesFeatureBuilder.buildFeatures(int runs)
Top level method for building features for action ensemble learning.
|
java.util.ArrayList<Action> |
ActionEnsemblesFeatureBuilder.getOrderedListOfActions()
Returns list of actions defining order for features
|
java.util.HashMap<Action,java.util.ArrayList<java.lang.Double>> |
ActionEnsemblesFeatureBuilder.getRewards()
Top level method returns ordered lists of rewards sorted
according to preceding action.
|
| Modifier and Type | Method and Description |
|---|---|
double |
ActionEnsemblesQFunction.getQValue(APSR psr,
Action act) |
double |
ActionERTEnsemble.getValueEstimate(PredictionVector predVec,
Action act)
Returns Q-value iff action listed is action associated
with this ensemble.
|
ActionERTEnsemble |
ActionERTEnsembleGrower.growActionERTEnsemble(int k,
int treesInEnsemble,
int nMin,
Action act)
Grows an ActionERTEnsemble.
|
| Constructor and Description |
|---|
ActionERTEnsemble(Forest<java.lang.String,java.lang.Double> forest,
Action act)
Creates and ERTEnsemble from a Forest object defined in afest package and
from Action that will be associated with this ensemble.
|
| Constructor and Description |
|---|
ActionEnsemblesQFunction(APSR psr,
java.util.HashMap<Action,ActionERTEnsemble> actionEnsembles)
Constructs an ActionEnsembleQFunction for PSR
with specified collection of ActionERTEnsembles.
|
| Modifier and Type | Method and Description |
|---|---|
double |
SingleEnsembleQFunction.getQValue(APSR psr,
Action act) |
double |
SingleERTEnsemble.getValueEstimate(PredictionVector predVec,
Action act)
Returns Q-Value estimate for state-action pair.
|


Mon - Fri
9AM - 5PM
To ensure safety from the COVID-19 virus, the Mueller Center will do everything in its power to protect RPI students. Most importantly, the Mueller Center will be operating at reduced capacity to ensure social distancing protocols are being met. A reservation system has been put into place to allow a maximum of 20 students to be using the Mueller Center at one time. Also, students will be expected to wipe down any equipment they use, and all equipment will be cleaned at the beginning and end of each day.
Email<EMAIL_ADDRESS>Phone Number:<PHONE_NUMBER>


Until now, in order to type-cast a simple object to another we have used the traditional type casting operator. For example, to cast a floating point number of type double to an integer of type int we have used:
int i;or also
double d;
i = (int) d;
i = int (d);This is quite good for basic types that have standard defined conversions, however this operators can also be indiscriminately applied on classes and pointers to classes. So, it is perfectly valid to write things like:
// class type-casting #include <iostream.h> class CDummy { int i; }; class CAddition { int x,y; public: CAddition (int a, int b) { x=a; y=b; } int result() { return x+y;} }; int main () { CDummy d; CAddition * padd; padd = (CAddition*) &d; cout << padd->result(); return 0; } |
Although the previous program in sintactically correct in C++ (in fact it will compile with no warnings on most compilers) it is code with not much sense since we use function result, that is a member of CAddition, without having declared an object of that class: padd is not an object, it is only a pointer which we have assigned the address of a non related object. When accessing its result member it will produce a run-time error or, at best, just an unexpected result.
In order to control these types of conversions between classes, ANSI-C++ standard has defined four new casting operators: reinterpret_cast, static_cast, dynamic_cast and const_cast. All of them have the same format when used:
Where new_type is the destination type to which expression has to be casted. To make an easily understandable parallelism with traditional type-casting operators these expression mean:reinterpret_cast <new_type> (expression) dynamic_cast <new_type> (expression) static_cast <new_type> (expression) const_cast <new_type> (expression)
(new_type) expressionbut with their own special characteristics.
new_type (expression)
This operator can cast pointers between non-related classed. The operation results is a simple binary copy of the value from one pointer to the other. The content pointed does not pass any kind of check nor transformation between types.
In the case that the copy is performed from a pointer to an integer, the interpretation of its content is system dependent and therefore any implementation is non portable. A pointer casted to an integer large enough to fully contain it can be casted back to a valid pointer.
class A {};reinterpret_cast treats all pointers exactly as traditional type-casting operators do.
class B {};
A * a = new A;
B * b = reinterpret_cast<B*>(a);
Applied to pointers to classes, that is to say that it allows to cast a pointer of a derived class to its base class (this is a valid conversion that can be implicitly performed) and it can also perform the inverse: cast a base class to its derivated class.
In this last case the base class that is being casted is not checked to determine wether this is a complete class of the destination type or not.
class Base {};static_cast, aside from manipulating pointers to classes, can also be used to perform conversions explicitly defined in classes, as well as to perform standard conversions between fundamental types:
class Derived: public Base {};
Base * a = new Base;
Derived * b = static_cast<Derived*>(a);
double d=3.14159265;
int i = static_cast<int>(d);
Checking is performed during run-time execution. If the pointer being casted is not a pointer to a valid complete object of the requested type, the value returned is a NULL pointer.
class Base { virtual dummy(){}; };
class Derived : public Base { };
Base* b1 = new Derived;
Base* b2 = new Base;
Derived* d1 = dynamic_cast<Derived*>(b1); // succeeds
Derived* d2 = dynamic_cast<Derived*>(b2); // fails: returns NULL
If the type-casting is performed to a reference type and this casting is not possible an exception of type bad_cast is thrown:
class Base { virtual dummy(){}; };
class Derived : public Base { };
Base* b1 = new Derived;
Base* b2 = new Base;
Derived d1 = dynamic_cast<Derived&*>(b1); // succeeds
Derived d2 = dynamic_cast<Derived&*>(b2); // fails: exception thrown
class C {};Neither of the other three new cast operators can modify the constness of an object.
const C * a = new C;
C * b = const_cast<C*> (a);
typeid (expression)this operator returns a refernece to a constant object of type type_info that is defined in the standard header file <typeinfo>. This returned value can be compared with another using operators == and != or can serve to obtain a string of characters representing the data type or class name by using its name() method.
// typeid, typeinfo #include <iostream.h> #include <typeinfo> class CDummy { }; int main () { CDummy* a,b; if (typeid(a) != typeid(b)) { cout << "a and b are of different types:\n"; cout << "a is: " << typeid(a).name() << '\n'; cout << "b is: " << typeid(b).name() << '\n'; } return 0; } |
a and b are of different types: a is: class CDummy * b is: class CDummy |


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/meta.20.2B.20universes.html ---
Could/should :four_leaf_clover: allow meta
to break "universe safety", e.g., stick a field of type Type
inside a structure declared to have type Type
?
To support things like existential types in Haskell
It's not a bad idea. We have discussed it before, but there are some issues in the details. For example, we would still like to distinguish between values and proofs in the compiler. Anyway, you should be able to define existential types in meta Lean 3 using a generalized version of unchecked_cast
that can cast between universes
Ah, this is a nice idea, I hadn't thought about using unchecked_cast
to enable universe casting. I'll add an interface for this in mathlib
I think that the best way to enable this kind of thing in meta land without having a whole different language is to do all universe checks as normal, but drop the check on maximum universe levels for meta inductive
s
so it would still generate the same recursors as normal, but if the type is supposed to be Type 3
and you say Type 1
instead then that's okay
Right, we discussed that before but never followed up on it https://github.com/leanprover/lean/pull/1580#issuecomment-301203751
@Sebastian Ullrich Whoa, this was not expected. Not only does the advertised method not work, but I think I can prove there is no workaround, that is, VM evaluation respects universes! This means that something like universe inconsistent inductives may be the only way to make this work.
can we define a function that sends u : nat
to Type u
?
u : nat
does not typecheck
not even in the unsafe level?
they are not the same thing
levels and natural numbers are completely different, syntactically
where is max
defined?
nowhere, it's primitive
Basically, unchecked_cast
works by casting across a sorried proof of type equality, which is erased by the VM so that the equality recursor just steps directly from one type to another, and hopefully the VM representations match up so this makes sense. But the equality can only go between two elements of the same universe, and similarly with heq. Indeed, if you look at the recursor of any inductive, it has a motive that lands in Type l
for some fixed l
, and you can only move from one place to another along this family, meaning you can never escape Type l
by application of this recursor.
Last updated: Apr 24 2020 at 19:02 UTC


virus detection isothermal amplification LAMP loop-mediated assay reverse developed rapid transcription RT-LAMP using disease method Virol viruses influenza respiratory viral virus, limit diagnosis Microbiol PCR real-time mosaic Clin RNA syndrome infection sensitive human infectious DNA Methods clinical gene methods copies dengue reaction sensitivity {border-style pandemic porcine (HN) RT-PCR detected mediated px;} samples #ffffff;} Med conventional loop type virus. yellow acute assays avian Dis detect primers severe wheat amplificationJ cause diagnostic fever SARS caused genome Infect RT-PCR, analysis causes designed diseases high molecular nucleic patients swine target used vaccine virusJ acid encephalitis hepatitis highly infections novel time Viruses causing common coronavirus evaluation hemorrhagic potato protein simple syncytial (LAMP) Japanese Parida chain compared early genetic higher i.e., including infected new polymerase px; specificity spindle times use viroid {font-family âˆ’ Taura circovirus font-size identification mumps specific streak template transcriptase China ELISA HA-specific Newcastle RT-PCR. VZV Vet animals antibodies assay. bovine detecting double; enterovirus foot-and-mouth herpes identified infection. isolation known laboratory low necrosis nested positive reported reproductive required responsible retinitis sequences spread strains techniques transcription-loop-mediated tuber various viruses. (Parida (SARS) Biotechnology, Chaudhary Detection Devi Diagn Engl Nile PCR, PCR. PFU Plant University, West agent amplification. border-color border-width bronchitis determined different diluted emerging enzyme extracted gastroenteritis grid..Department health large level min multiplex possible results routine serum set solid; ten-fold tomato transmissible vesicular {font-style {font-weight â€" (Chen (Fukuta (Mori (PCV) -fold CMV Chem DEN-, HBV Health Human Invest Jpn Lal M-specific PCV PSTVd Pathol Press RSV Rapid Res Rift Sci Severe So, South TGEV United Viral accurate achieved amplify assay, assayJ banana based bats bold causative children conserved contagious control courier; cytomegalovirus detection. differentiation displacement distinct distinguish duck em; established genes hematopoietic herpesvirus humans humans, isolated laboratories leukemia load losses lower major matrix method. methodJ methods, microfluidic monoclonal need newly nucleocapsid nucleotide observed outbreak paramyxovirus pathogens peach pigs portable potential primary production products pt;} public quantitative reaction. reactions regions require research result rubella sequence serotype serotypes simplex specificity, standard strain strand stunt technique tests tool tract transmission turbidity typing varicella-zoster variety viruses, wild-type


Dr Abe Blank Operation Manual V1 03 E Menu Computing Computer Aided Design
Download Pubg Mobile Laptop Novye Serialy
Star Wars Episode Vii The Force Awakens Starwars Com
The Vampire Diaries Season 2 123movies Luchshie Filmy
Top 8 Most Popular Cpu E685 List And Get Free Shipping H9j2f0eb
Village And Farm Mod Apk Android 1 Interesnye Filmy
くだすれpython 超初心者用 その45 Ruby禁止
Glee Netflix


Allana :
We grew up together in an
orphanage near Gludio Castle
that was operated by a Dwarven Father.


Welcome
Hello and welcome to my first responsive web page! This web page was created during the Spring quarter at Seattle Central College, course IT 161. Thanks for viewing and please add any comments you may have in the Contact David page!
As this is the beginning of my journey through the IT world, here are three things I can do to maintain my web knowledge and skill:
- Continue to take IT courses in pursuit of an computer science degree
- Help contribute to a friend's web browser building project
- Continue to pick the brains of more experienced IT proffessionals


by Kristof Hracza
Here are all my website templates that I have written.
All of the templates are licensed to me.
Click on the picture(s) to take a look.


Across: 1. Leave drink outside Saracen's Head to idly chatter (6) 5. Starving flyers eat out endlessly (8) 9. Anguish can force creative work (8) 10. Impetuous copper is trapped inside food plant (6) 11. Break in trip to Bury? (12) 13. Give 'em back to European leaders (4) 14. Woman with acute disorder has to leave (8) 17. Gain oats haggling in city (8) 18. Working out bishop and daughter's connexion (4) 20. Take care of food article going to somewhere in Surrey (4 4 4) 23.  (6) 24. Silly uncle had set off! (8) 25. Bugler played at the start of every year with soft tone (4-4) 26. Make certain points on river (6) Down: 2. Spoken origins of old rituals and languages (4) 3. Aware about muddle-headed thought (9) 4. Trainee comes in to measure hospital base (6) 5. Understood last month about line dance (5 2 8) 6. Played clavier in time with upright? (8) 7. I leave undies out for these? (5) 8. Left at home without guns! Maybe it's not fair! (10) 12. One sailor's case may be silver and bone (10) 15. I climb out after initially using American life-line (9) 16. Composer has written about role of single man (8) 19. Around the country bad beer gets condemnation (6) 21. Girl has no northern escape! (5) 22. Novel key comes from a long way out east (4)


Principal employer and role
Not answered
Professional affiliations
Professional affiliation
None declared
Appointments, directorships and consultancies
| Organisation | Position |
|---|---|
| Aptrans Ltd | Executive consultant |
None declared
Other financial interests
Financial interests
None declared
Close family member appointments, directorships and consultancies
| Relation | Organisation | Position |
|---|---|---|
| Sister | Innovate UK | Executive consultant |
None declared
Close family members' other financial interests
Family members' financial interests
None declared


Web Development
Build your own beautiful front end website and deploy it to the world wide web
Basics
In this tutorial we will cover the basics of the Internet and website and will have a look in the course.
Html
This Tutorial covers the very beginning of the building block of a website and designing of the structure of the website.
CSS
In this tutorial we will learn about our color palletes to make our website more beautiful, and eye catching.
BootStrap
This tutorial covers the very popular way of making our website more eye soothing materialistic design and making it more responsive.
Challenge 1
Students will be creating a website incorporating what they have learned in previous lessons using the concepts of HTML, CSS and Bootstrap.
JavaScript
In this Tutorial we will cover the basics of the programming language which can be used with the website.
Advanced JS
This Tutorial covers the higher order functions and methods which are very essential for our website to look more competitive with the real websites.
Challenge 2
Students will be developing a program using the concepts of Javascript and their own mental Ability to solve a real life problem using the programming language.
DOM
This tutorial covers the begining of Data Object Modeling and how we can use the programming language in the website.
Advanced DOM
In this Tutorial we will learn about tracking the events and changing the content of the website while detecting the activity by the user.
Jquery
The Final lesson includes the minification of our work in writing the Javascript and making the work much easier while using complicated methods.
Boss Challenge
In the Final Challenge students will be using everything to develop a their own responsive and interactive portfolio website and deploying it to the world wide web.
What's More?
Once You have become Masters of the front end development we have got the course for the back end development just right for you. Using the amazing and highly buzzed Technology Node, Express and React we will build the backend portion of our website enabling the webpage to store the information and allowing the users to view and modify their personal needs.


Collaborate demo3
this line was added by user bickkysahani
this line was added by user bickkysahani-i7
this line was added by bickkysahani
this line was added by bickkysahani


wiki / boot / efistub Edit this page
Edited (0a01f13) at 2020-10-03 by Dylan Araps
EFISTUB [0]
________________________________________________________________________________
The Linux kernel has the ability to act as an EFI executable which simplifies
the boot process by removing the need for a bootloader.
Prerequisites
________________________________________________________________________________
Begin by first verifying that you have efibootmgr installed:
+------------------------------------------------------------------------------+
| |
| $ kiss b efibootmgr && kiss i efibootmgr |
| |
+------------------------------------------------------------------------------+
The kernel must be configured to support acting as an EFISTUB.
+------------------------------------------------------------------------------+
| |
| CONFIG_EFI_STUB=y |
| |
+------------------------------------------------------------------------------+
The UEFI variables must be mounted.
See: @/efivarfs
+------------------------------------------------------------------------------+
| |
| TIP: Keep your kernel's name as 'vmlinuz' to avoid having to update the |
| EFI entries with each kernel update. |
| |
+------------------------------------------------------------------------------+
Create an UEFI boot entry
________________________________________________________________________________
Use the following command to create a boot entry. Replace /dev/sdXN with your
EFI system partition and /dev/sdYM with your root partition. Check to see that
the entry was added with 'efibootmgr --verbose'.
+------------------------------------------------------------------------------+
| |
| $ efibootmgr \ |
| --create \ |
| --disk /dev/sdX \ |
| --part N \ |
| --label KISS \ |
| --loader /vmlinuz \ |
| --unicode 'root=/dev/sdYM' \ |
| --verbose |
| |
+------------------------------------------------------------------------------+
The root partition can also be referred to by its partition UUID which can be
found using blkid.
+------------------------------------------------------------------------------+
| |
| --unicode 'root=PARTUUID=aaaaaaaa-aaaa-4aaa-aaa-aaaaaaaaaaaa' |
| |
+------------------------------------------------------------------------------+
The above command, the --unicode option specifies the parameters passed to the
kernel. If you require other parameters to boot your system, pass them here.
Removing a UEFI boot entry
________________________________________________________________________________
To remove an entry, find your entry's boot number using 'efibootmgr --verbose'
and run the following command.
+------------------------------------------------------------------------------+
| |
| $ efibootmgr --bootnum XXXX --delete-bootnum |
| |
+------------------------------------------------------------------------------+
References
________________________________________________________________________________
[0] https://www.kernel.org/doc/Documentation/efi-stub.txt
________________________________________________________________________________
Dylan Araps (C) 2019-2020
kiss-community (C) 2020-2021
Dilyn Corner (C) 2021
Linux(R) is the registered trademark of Linus Torvalds in the U.S. and
other countries.


Mean times
End time | Deadline: {{indicators.averageTimeTasksEmployeeBetweenDeadlineAndEndTime | minuteSeconds}}
Creat. time | Start time: {{indicators.averageTimeNotificationsEmployeeBetweenStartTimeAndCreationTime | minuteSeconds}}
Start time | End time: {{indicators.averageTimeNotificationsEmployeeBetweenEndTimeAndStartTime | minuteSeconds}}
End time | Deadline: {{indicators.averageTimeTasksEverybodyBetweenDeadlineAndEndTime | minuteSeconds}}
Creat. time | Start time: {{indicators.averageTimeNotificationsEverybodyBetweenStartTimeAndCreationTime | minuteSeconds}}
Start time | End time: {{indicators.averageTimeNotificationsEverybodyBetweenEndTimeAndStartTime | minuteSeconds}}
Tasks
To do: {{indicators.numberTasksEmployeeToDo}}
Doing: {{indicators.numberTasksEmployeeDoing}}
Done: {{indicators.numberTasksEmployeeDone}}
Overall: {{indicators.numberTasksEmployee}}
To do: {{indicators.numberTasksEverybodyToDo}}
Doing: {{indicators.numberTasksEverybodyDoing}}
Done: {{indicators.numberTasksEverybodyDone}}
Overall: {{indicators.numberTasksEverybody}}
Before deadline: {{indicators.numberTasksEmployeeDoneBeforeDeadline}}
After deadline: {{indicators.numberTasksEmployeeDone - indicators.numberTasksEmployeeDoneBeforeDeadline}}
Before deadline: {{indicators.numberTasksEverybodyDoneBeforeDeadline}}
After deadline: {{indicators.numberTasksEverybodyDone - indicators.numberTasksEverybodyDoneBeforeDeadline}}
Suggestions
Reported: {{indicators.numberSuggestionsEmployeeReported}}
In implementation: {{indicators.numberSuggestionsEmployeeInImplementation}}
Implemented: {{indicators.numberSuggestionsEmployeeImplemented}}
Overall: {{indicators.numberSuggestionsEmployee}}
Reported: {{indicators.numberSuggestionsEverybodyReported}}
In implementation: {{indicators.numberSuggestionsEverybodyInImplementation}}
Implemented: {{indicators.numberSuggestionsEverybodyImplemented}}
Overall: {{indicators.numberSuggestionsEverybody}}


0 - Register Airline
Register the following airlines. The first four are registered by a single authorized entity. From the fifth and beyond a consensus of 50% is required.
Airline Accounts to be registered
Authorized Accounts
Registered Airlines
1 - Fund Airline
Populate the registered airlines from the Blockchain
Select airline to fund
Fund Airlne 10 ETH
Populate the funded airlines from the Blockchain
2 - Buy Flight Insurance
Airline can register an upcoming flight (airline has to be funded)
Flight Time:
Flight Airline:
Select passenger and amount to buy insurance
Insurance Amount (ETH)
3 - Flight Update
Select the flight from previous section
4 - Claim Insurance
Select passenger account
Request Flight status update and try to claim flight insurance
Check if I have credit from insurance
Account balance:


Eric Abidal insists Barcelona fully support manager Ernesto Valverde
Sporting director Eric Abidal has suggested that there are no plans to remove manager Ernesto Valverde from the Barcelona dugout.
by Darren PlantWhile the Catalan giants sit at the top of the La Liga standings, three defeats from 12 matches have led to criticism of the Spaniard.
However, despite Barcelona also performing inconsistently in the Champions League, Abidal has reiterated the club's support for their current boss.
The Frenchman told Sport: "In these situations, you can think that the coach is to blame, but you have to analyse everything. What does the coach bring to the team and vice-versa? We support the coach and we give him all the information, although the day-to-day is his.
"There are clubs that change coaches after bad results, but you always have to look at the wider situation. If the coach sees that it can be improved, you have to back him."
Barcelona return to action when they take on Leganes on Saturday afternoon.
body check tags ::


{% extends "layout.html" %} {% block content %} {% cache 36000, "privacy" %}
This is a generic privacy statement for the ORCID Hub
The hub is intended to write basic information to your ORCID record about you when you login and authenticate your ORCID record
The hub collects the following information from your institution:
The hub collects the following information from your ORCID record:


Preference
must have
Like
Do not
Biometrics
Id card reader
Contactless badge reader
Camera
Offline usability of time clock
Backup battery
Programmable commands for electronic devices
Express Hardware Replacement
Hardware Maintanance Repair
<< Back
Continue >>


Date-picker with min date and max date
Only weekends are selectable
Only weekends within given range are selectable
Inside a md-input-container
Enter date
The entered value is not a date!
This date is required!
Date is too early!
Date is too late!


|
HamlPHP
Yet another Haml parser written in PHP
|
Public Member Functions | |
| __construct ($line) | |
| getSpaces () | |
| setIndentationLevel ($level) | |
| getRawHaml () | |
| getHaml () | |
| render () | |
Private Member Functions | |
| createSpaces () | |
Private Attributes | |
| $_rawHaml | |
| $_haml | |
| $_spaces |
Definition at line 3 of file HamlNode.php.
| __construct | ( | $ | line | ) |
Reimplemented in CommentNode, DoctypeNode, and TagNode.
Definition at line 9 of file HamlNode.php.
References RootNode::__construct(), and setIndentationLevel().
| createSpaces | ( | ) | [private] |
Definition at line 52 of file HamlNode.php.
References RootNode::getIndentationLevel().
Referenced by setIndentationLevel().
| getHaml | ( | ) |
Definition at line 47 of file HamlNode.php.
Referenced by ElementNode::__construct(), CommentNode::identifyCommentType(), FilterNode::render(), CommentNode::render(), PlainFilter::renderChildrenHaml(), and CommentNode::renderHtmlCommentBody().
| getRawHaml | ( | ) |
Definition at line 42 of file HamlNode.php.
Referenced by PlainFilter::renderChildrenHaml().
| getSpaces | ( | ) |
Definition at line 17 of file HamlNode.php.
Referenced by PhpFilter::filter(), JavascriptFilter::filter(), CssFilter::filter(), TagNode::generateTagContent(), TagNode::render(), CommentNode::renderConditionalComment(), ElementNode::renderHtml(), CommentNode::renderHtmlComment(), CommentNode::renderHtmlCommentBody(), and ElementNode::renderTagContent().
| render | ( | ) |
Reimplemented from RootNode.
Reimplemented in CommentNode, DoctypeNode, ElementNode, FilterNode, and TagNode.
Definition at line 63 of file HamlNode.php.
References RootNode::hasChildren(), and RootNode::renderChildren().
| setIndentationLevel | ( | $ | level | ) |
Reimplemented from RootNode.
Definition at line 22 of file HamlNode.php.
References createSpaces(), RootNode::getChildren(), RootNode::getIndentationLevel(), and RootNode::hasChildren().
Referenced by __construct(), JavascriptFilter::filter(), and CssFilter::filter().
$_haml [private] |
Definition at line 6 of file HamlNode.php.
$_rawHaml [private] |
Definition at line 5 of file HamlNode.php.
$_spaces [private] |
Definition at line 7 of file HamlNode.php.


SPTDiskCaching Protocol Reference
| Conforms to | NSObject |
|---|---|
| Declared in | SPTDiskCaching.h |
– allocateCacheWithKey:size:
required method
Creates a disk cache of certain size or changes the size of an existing cache.
- (BOOL)allocateCacheWithKey:(NSString *)key size:(NSUInteger)size
Parameters
key |
An alphanumeric string, through which the cache is identified and accessed via ‘SPTDiskCaching’ methods. |
|---|---|
size |
The requested amount of bytes in the cache. |
Return Value
YES
if the cache of requested size has been allocated successfully, otherwise NO
.
Discussion
This method will be called when a new cache needs to be created or when the size of an existing cache needs to be changed. The cache should be accessible via other ‘SPTDiskCaching’ methods when using the same key as provided in this method.
Declared In
SPTDiskCaching.h
– closeCacheWithKey:
required method
Closes the existing disk cache.
- (void)closeCacheWithKey:(NSString *)key
Parameters
key |
The identifier of the cache. |
|---|
Discussion
This method will be called when a cache is no longer needed to be open.
Declared In
SPTDiskCaching.h
– deleteCacheWithKey:
required method
Deletes an existing disk cache of certain size or changes the size of an existing cache.
- (void)deleteCacheWithKey:(NSString *)key
Parameters
key |
The identifier of the cache. |
|---|
Discussion
This method will be called when an existing cache needs to be deleted and the memory it occupies should be freed.
Declared In
SPTDiskCaching.h
– readCacheDataWithKey:length:offset:
required method
Reads data from the existing disk cache.
- (NSData *_Nullable)readCacheDataWithKey:(NSString *)key length:(NSUInteger)length offset:(NSUInteger)offset
Parameters
key |
The identifier of the cache. |
|---|---|
length |
The amount of bytes to be read from the cache. |
offset |
The amount of bytes to be skipped from the beginning of the cache before reading starts. |
Return Value
An instance of NSData containing the data read from the cache; ‘nil’ if reading failed.
Discussion
This method will be called whenever a data needs to be read from the existing disk cache. The cache is identified by its key.
Declared In
SPTDiskCaching.h
– writeCacheDataWithKey:data:offset:
required method
Writes data to the existing disk cache.
- (BOOL)writeCacheDataWithKey:(NSString *)key data:(NSData *)data offset:(NSUInteger)offset
Parameters
key |
The identifier of the cache. |
|---|---|
data |
Bytes to be written to the cache. |
offset |
The amount of bytes to be skipped from the beginning of the cache before writing starts. |
Return Value
YES
if writing to the cache has been successful, otherwise ‘NO’.
Discussion
This method will be called whenever a data needs to be written to the existing disk cache. The cache is identified by its key.
Declared In
SPTDiskCaching.h


Interactive Activity
Home
Message:
Select worksheet size and click 'Generate Worksheet'
.
Match the items on the left and right side


Italy's TIM to expand data centre business under partnership with Google
Telecom Italia (TIM) said it planned to spin off its data centre operations and look for an investor ahead of a potential market listing, after unveiling a partnership with Google to develop the cloud business.
MILAN: Telecom Italia (TIM) said it planned to spin off its data centre operations and look for an investor ahead of a potential market listing, after unveiling a partnership with Google to develop the cloud business.
The move is part of a plan by Chief Executive Luigi Gubitosi aimed at reviving the former monopoly - an underperforming business saddled with 24 billion euros of debt.
In presentation slides on its website, TIM said it would place the data centres under a newly-created legal entity.
TIM will then look for an infrastructure investor that could enter the capital of the new data centre company to finance its expansion, while keeping control of it. It could also consider listing the new entity down the road.
On Thursday, TIM a strategic partnership with Google on the cloud service market.
(Reporting by Elvira Pollina, editing by Valentina Za)


THE LION KING A film review by Scott Renshaw Copyright 1994 Scott Renshaw
Voices: Matthew Broderick, Jonathan Taylor Thomas, Jeremy Irons, Nathan Lane, Ernie Sabella, Rowan Atkinson, James Earl Jones. Screenplay: Irene Mecchi, Jonathan Roberts and Linda Woolverton. Directors: Roger Allers and Rob Minkoff.
There is a yin to every yang, and if there is a down side to the remarkable success of Disney's recent animated features, it's that the Mouse keeps upping the ante for every subsequent feature. 1989's THE LITTLE MERMAID became the highest grossing animated release ever, as did 1991's BEAUTY AND THE BEAST and 1992's ALADDIN. Is THE LION KING ready to follow in those massive footsteps? Most likely. While not as emotional as BEAUTY or as fast-paced as ALADDIN, THE LION KING is genuinely entertaining, with moments of truly stunning visual creativity. Only weakness in the music and a fractured tone hamper the proceedings.
THE LION KING is the tale of Simba (voice of Jonathan Taylor Thomas), the son of Lion King Mufasa (James Earl Jones). The birth of the new heir displaces the king's brother Scar (Jeremy Irons), leading the envious Scar to plot the death of Mufasa and Simba. When Mufasa is killed while trying to save Simba, Scar convinces Simba he must go into exile. There Simba is befriended by meerkat Timon (Nathan Lane) and warthog Pumbaa (Ernie Sabella), and grows to adulthood (adult voice of Matthew Broderick) blissfully free of responsibilities. However, when childhood friend Nala (Moira Kelly) informs Simba that Scar is destroying the prideland, Simba must decide whether to keep his distance or to confront his demons ... and Scar.
Like the last three big Disney hits, THE LION KING is a musical, but it probably shouldn't have been. Elton John and ALADDIN lyricist Tim Rice have provided five new songs, but nothing has the sparkle of the Menken/Ashman compositions, and for the most part the production numbers seem more obligatory than inspired. "I Just Can't Wait to Be King" is a silly, gaudy bit, and "Hakuna Matata" is a recycled "Bare Necessities." The one exception is Scar's song, "Be Prepared," which Irons delivers with zest. It also features a chilling sequence with goose-stepping hyenas parading past Scar against a subtle background with images of swastikas. Hans Zimmer's Afro-tinged arrangements and incidental score make the most of the music, but THE LION KING is much more effective when the story is spoken rather than sung.
The story is a somber one, an animated "Hamlet" of sorts, and frequently the animation matches that tone. The elephant graveyard, populated by Scar's hyena cohorts (voices by Whoopi Goldberg and Cheech Marin), is a spooky wonder, while the later appearance of Pride Rock is simply bleak. These sequences might be less than entrancing to the very young, but they are offset by lively, funny sequences featuring Timon and Pumbaa. Nathan Lane gives Timon a Bugs Bunny cockiness which is charming, and Ernie Sabella is equally endearing as the affably flatulent warthog. Nala's pursuit of Pumbaa is the film's comic highlight, but the action in THE LION KING tends to be more serious. Parents should exercise some judgment regarding taking children under six.
None of this is to suggest that THE LION KING plods along humorlessly. Timon and Pumbaa get the most to work with, but they are ably assisted by the other supporting characters. Scar, while sinister, gets of some dark one-liners; Robert Guillaume has a small but goofy bit as a Yoda-like baboon. The most entertaining vocal performance, however, comes from Rowan Atkinson (the malapropping minister from FOUR WEDDINGS AND A FUNERAL). As Zasu, a hornbill who serves as Mufasa's chancellor and Simba's chaperone, he gets a fussy part that's a cross between THE LITTLE MERMAID's Sebastian and BEAUTY AND THE BEAST's Cogsworth, but Atkinson's droll delivery makes it his own (and provides the single biggest laugh with a shot at one of Disney's most annoying songs). THE LION KING is not a masterpiece; it is too slow at times, and has perhaps too many characters to juggle. Still, it is witty and beautifully drawn, and is sure to continue Disney's amazing animated winning streak.
On the Renshaw scale of 0 to 10 lions: 7.
.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


MPI network inforamtiion
I have set up and have been running on the PIRCS computer systems. Here I will document some of my notes for running on the system. There is no information here about writing MPI code only on creating topologies, compiling and submitting code. Later I will add information on task analysis and other components.
Location of the LAM/MPI installation
First the location of the MPI programs libraries and headers is as
follows:
binaries: /usr/local/lam/bin
libraries: /usr/local/lam/lib
header files: /usr/local/lam/h
User files that need modification/creation
You will need to modify your .cshrc file with the following
entries (the syntax will change for bash or other shells, I can help
you if you need these in another shell syntax)
# LAM MPI home directory setting for the parallel computing network
setenv LAMHOME /usr/local/lam
# My PATH line with some extenstion for MPI, PVm and other programs
set path = (. /usr/people/fils/bin /usr/people/fils/bin/mpi
/usr/sbin /usr/bsd /sbin /usr/bin /usr/bin/X11 /usr/local/lam/bin
/usr/local/lam/lambin /usr/local/pvm3/lib /usr/local/pvm3/bin/SGI5
/usr/people/fils/bin/mpi )
In addition to this you will need to create a .rhosts file on the machines you will be running as nodes on your topology. I created a generic .rhosts file and placed it on each of the machines I might use as a node. As I add more I will have to modify the file with these new names. Note that this is a bit of a security (more than a bit) so I am not happy that this is what is needed to run mpi on these systems. My .rhosts file is as follows:abe.geol.iastate.edu fils
maggie.geol.iastate.edu fils
jumpgate.iitap.iastate.edu fils
stargate.iitap.iastate.edu fils
marvin.iitap.iastate.edu fils
Compiling the program
Once you have written or obtained MPI code, compiling it will look
something like:
cc -o pi_mpi pi_mpi.c -I/usr/local/lam/h -L/usr/local/lam/lib -lmpi -ltstdio -lt -ltrillium
Note that the libraries that make up the LAM/MPI package are:
libmpi.a libtstdio.a libargs.a libt.a libtrillium.a
In the above compile line I did not use -largs since it was not required by the code, however, your MPI code may very well require it. Note as in all cases the order of the library arguements is important and I have tried to list them out in proper dependenve order here.
Running a program
To create a network topology you will need to create a text
file with the names of the computers you wish to run on in it. I
created a text file topology.txt and in it I placed the names of the
computers I will be running on. It looks like this:
abe.geol.iastate.edu
maggie.geol.iastate.edu
pircss0.agron.iastate.edu
A first step in creating your topolgy would be to conduct an initial test to make sure the system seems to be configured correctly. This would be especially true if you are adding a new node (computer) to your network of workstations.
recon -v topolgy will run a quick test of the system and should look like the following:
abe.geol.iastate.edu> recon -v topology.txt recon: testing n0 (abe.geol.iastate.edu) recon: testing n1 (maggie.geol.iastate.edu) recon: testing n2 (pircss0.agron.iastate.edu)
In most of these examples I will use the -v option to provide verbose reporting for better displaying of the actions taking place.
Our next step is to actually boot up our network:
abe.geol.iastate.edu> lamboot -v topology.txt LAM 6.1 - Ohio Supercomputer Center hboot n0 (abe.geol.iastate.edu)... hboot n1 (maggie.geol.iastate.edu)... hboot n2 (pircss0.agron.iastate.edu)... topology done
We now have our our network topology up and running. We can look at it with the command mpitask, however at present it will most likely be rather boring since we don't have anything running yet.
abe.geol.iastate.edu> mpitask TASK (G/L) FUNCTION PEER|ROOT TAG COMM COUNT DATATYPE
We have our compiled MPI code and we have a booted network, all we really need to do now is submit our program to the topolgy. There are three different ways we might do something like that.
1) mpirun command with all the arguements provided
2) a schema file passed as a single arguement to mpirun
3) xmpi a GUI interface to our topology (XMPI home page)
The program I will be using for many of these following examples is the master slave mandelbrot code that comes as an example program in the MPI distribution.
(I will finish this page later.... 8/28/97)


§11-42 Compensation. Members of the boards of registration shall be compensated pursuant to a schedule established by the chief election officer. The schedule shall be contained in rules adopted pursuant to chapter 91. [L 1970, c 26, pt of §2; am L 1979, c 133, §1; am L 1987, c 210, §1; am L 1998, c 56, §1]
Cross References
Precinct officials' compensation, see §11-76.


Cross Platform Developemnt (CMP3035M)
Week 1: Slides (Intro to CPD)Week 2: Mobile Moments / Assessment
Week 3: Features overview
Week 4: UX, User scenarios and requirements
Week 5: Intro to ReactWeek 6: Image capture, gestures js, canvas and saving images
Week 7: barcode scanner, ajax, api calls
Week 8: Geo location and local storage and google maps,
Week 9: push notifications, using apis
Week 10 (27): Evaluation
Week 11 (28): Guest Lecture/Dark web
Week 12 (29): Wrap up


THE BIRDCAGE A film review by Ed Powell Copyright 1996 Ed Powell
Starring: Robin Williams, Nathan Lane, and Gene Hackman. Directed by Mike Nichols, a United Artists release.
This is a terrific movie for the 1990s. "The Birdcage" is a tale about a young man (whose parents are a gay couple (played by Robin Williams and Nathan Lane) and he has never met his biological mother), who meets a young woman (whose father is an ultra-conservative Republican senator (played by Gene Hackman) and mother looks and sounds like she came straight out of the world of "Leave it to Beaver") and they decide to get married.
The problem is that the woman's parents want to meet the man's parents. In order to keep the woman's parents from flat-out going insane at the concept of the inlaws being a gay couple (as a stereotypical conservative Republican is want to do), they try (with very limited success) to make everything seem like a normal, "moral ideal American" family.
Robin Williams proves once again that he is a great dramatic actor as well as a foot-stompingly funny comedian, Nathan Lane played his role as a man acting as a woman so well, it scared me, and Gene Hackman is, as always, good in anything.
Although I have never seen "La Cage Aux Follies", on which this film was based, I imagine that an extensive rewrite was required to make this film a fable for the 1990s. We could all learn a little something about tolerance and accepting lifestyles that are unlike our own from this film. Bravo to the writers, bravo to director Mike Nichols, and bravo to the actors and actresses who made this film an entertaining work of art.
Score: 57 out of 60 (9.5 out of 10)
--- Ed Powell<EMAIL_ADDRESS>http://user.aol.com/joeylemur/
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


| Name: mrs. shanthi | Reg No:10-4SMHC19 |
|---|---|
| Age / Sex:19/f | Contact No: |
| Marital Status: ml- 1 yr | Date:26/4/19 |
| Occupation: housewife | Dr. |
| Address: | DIAGNOSIS- |
Abd pain 5-6 months. Giddiness. Urine paining after passing. Bloody urine. Intermittent flow. Burning.
Rx:
Berb vulgaris 30 – 4 pills 3 hourly.
Lyco 30 – 4 pills 3 hourly
Colocynthis30/bell 30/ipecac30/dioscorea30/chamomilla30- 2 hourly. If pain reduces take only 4 times.