A B C D E F G I M O P R S T V W
All Classes All Packages
All Classes All Packages
All Classes All Packages
A
- AbstractScenario - Class in com.xceptance.testbddy.core.bdd.scenario
-
The abstract class for all scenarios.
- AbstractScenario(String) - Constructor for class com.xceptance.testbddy.core.bdd.scenario.AbstractScenario
- AbstractStep<T> - Class in com.xceptance.testbddy.core.bdd.steps
-
Describes a step in the BDD Hierarchy.
Hence, it contains the actual behavior. - AbstractStep(GherkinKeyword, String, T) - Constructor for class com.xceptance.testbddy.core.bdd.steps.AbstractStep
-
Creates an AbstractStep with the specified keyword, description and behavior.
- AbstractSteps<T extends AbstractStep<?>> - Class in com.xceptance.testbddy.core.bdd.steps
-
Describes multiple steps.
- AbstractSteps() - Constructor for class com.xceptance.testbddy.core.bdd.steps.AbstractSteps
-
Creates an AbstractSteps with an empty list.
- AbstractSteps(List<T>) - Constructor for class com.xceptance.testbddy.core.bdd.steps.AbstractSteps
-
Creates AbstractSteps with the specified list of
Step
s. - accept(T) - Method in class com.xceptance.testbddy.api.PendingConsumer
- and(Steps) - Static method in class com.xceptance.testbddy.api.BddSuite
- and(Steps) - Method in class com.xceptance.testbddy.core.bdd.scenario.OutlineDescriptor
- and(Steps) - Method in class com.xceptance.testbddy.core.bdd.steps.AbstractSteps
- and(Steps) - Method in class com.xceptance.testbddy.core.bdd.steps.Steps
- and(Steps) - Method in class com.xceptance.testbddy.core.bdd.steps.TypeSteps
- and(TypeSteps<T>) - Method in class com.xceptance.testbddy.core.bdd.scenario.OutlineDescriptor
-
Adds all steps of the specified
TypeSteps
to theOutlineDescriptor.steps
.
Note, that the generic type of the parameter has to fit the generic type of this class. - and(TypeSteps<T>) - Method in class com.xceptance.testbddy.core.bdd.steps.TypeSteps
-
Adds all steps of the specified
TypeSteps
to the steps.
Note, that the generic type of the parameter has to fit the generic type of this class. - and(String, Runnable) - Static method in class com.xceptance.testbddy.api.BddSuite
- and(String, Runnable) - Method in class com.xceptance.testbddy.core.bdd.scenario.OutlineDescriptor
-
Adds the step specified by the description and runner to the
OutlineDescriptor.steps
.
The keyword of the TypeStep isAnd
. - and(String, Runnable) - Method in class com.xceptance.testbddy.core.bdd.steps.AbstractSteps
-
Adds the step with the supplied description and runner to the
AbstractSteps.steps
.
The keyword of the Step isAnd
. - and(String, Runnable) - Method in class com.xceptance.testbddy.core.bdd.steps.Steps
- and(String, Runnable) - Method in class com.xceptance.testbddy.core.bdd.steps.TypeSteps
- and(String, Consumer<T>) - Method in class com.xceptance.testbddy.core.bdd.scenario.OutlineDescriptor
-
Adds the step specified by the description and consumer to the
OutlineDescriptor.steps
.
The keyword of the TypeStep isAnd
. - and(String, Consumer<T>) - Method in class com.xceptance.testbddy.core.bdd.steps.TypeSteps
-
Adds the step specified by the description and consumer to the
AbstractSteps.steps
.
The keyword of the TypeStep isAnd
. - assignCategory(String...) - Method in class com.xceptance.testbddy.core.reporting.extentreports.ExtentElement
- assignCategory(String...) - Method in interface com.xceptance.testbddy.core.reporting.ReportElement
-
Assigns categories to the element.
- assignCategory(Set<Status>) - Method in interface com.xceptance.testbddy.core.reporting.ReportElement
-
Assigns the status as categories to the element.
All Classes All Packages


| Interface | Description |
|---|---|
| PacketStreamer.AsyncIface | |
| PacketStreamer.Iface |
Packetstreamer API
|
| Enum | Description |
|---|---|
| Message._Fields |
The set of fields this struct contains, along with convenience methods for finding and manipulating them.
|
| OFMessageType |
OFMessage type
|
| Packet._Fields |
The set of fields this struct contains, along with convenience methods for finding and manipulating them.
|
| PacketStreamer.getPackets_args._Fields |
The set of fields this struct contains, along with convenience methods for finding and manipulating them.
|
| PacketStreamer.getPackets_result._Fields |
The set of fields this struct contains, along with convenience methods for finding and manipulating them.
|
| PacketStreamer.pushMessageAsync_args._Fields |
The set of fields this struct contains, along with convenience methods for finding and manipulating them.
|
| PacketStreamer.pushMessageSync_args._Fields |
The set of fields this struct contains, along with convenience methods for finding and manipulating them.
|
| PacketStreamer.pushMessageSync_result._Fields |
The set of fields this struct contains, along with convenience methods for finding and manipulating them.
|
| PacketStreamer.terminateSession_args._Fields |
The set of fields this struct contains, along with convenience methods for finding and manipulating them.
|
| PacketStreamer.terminateSession_result._Fields |
The set of fields this struct contains, along with convenience methods for finding and manipulating them.
|
| SwitchPortTuple._Fields |
The set of fields this struct contains, along with convenience methods for finding and manipulating them.
|


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.image.DataBuffer edu.cmu.cs.stage3.image.codec.DataBufferDouble
public class DataBufferDouble
An extension of DataBuffer
that stores data internally
in double
form.
DataBuffer
| Field Summary |
|---|
| Fields inherited from class java.awt.image.DataBuffer |
|---|
TYPE_BYTE, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INT, TYPE_SHORT, TYPE_UNDEFINED, TYPE_USHORT |
| Constructor Summary | |
|---|---|
DataBufferDouble(double[][] dataArray,
int size)
Constructs a double -based DataBuffer
with the specified data arrays. |
|
DataBufferDouble(double[][] dataArray,
int size,
int[] offsets)
Constructs a double -based DataBuffer
with the specified data arrays, size, and per-bank offsets. |
|
DataBufferDouble(double[] dataArray,
int size)
Constructs a double -based DataBuffer
with the specified data array. |
|
DataBufferDouble(double[] dataArray,
int size,
int offset)
Constructs a double -based DataBuffer
with the specified data array. |
|
DataBufferDouble(int size)
Constructs a double -based DataBuffer
with a specified size. |
|
DataBufferDouble(int size,
int numBanks)
Constructs a double -based DataBuffer
with a specified number of banks, all of which are of a
specified size. |
| Method Summary | |
|---|---|
double[][] |
getBankData()
Returns the data array for all banks. |
double[] |
getData()
Returns the default (first) double data array. |
double[] |
getData(int bank)
Returns the data array for the specified bank. |
int |
getElem(int i)
Returns the requested data array element from the first (default) bank as an int . |
int |
getElem(int bank,
int i)
Returns the requested data array element from the specified bank as an int . |
double |
getElemDouble(int i)
Returns the requested data array element from the first (default) bank as a double . |
double |
getElemDouble(int bank,
int i)
Returns the requested data array element from the specified bank as a double . |
float |
getElemFloat(int i)
Returns the requested data array element from the first (default) bank as a float . |
float |
getElemFloat(int bank,
int i)
Returns the requested data array element from the specified bank as a float . |
void |
setElem(int i,
int val)
Sets the requested data array element in the first (default) bank to the given int . |
void |
setElem(int bank,
int i,
int val)
Sets the requested data array element in the specified bank to the given int . |
void |
setElemDouble(int i,
double val)
Sets the requested data array element in the first (default) bank to the given double . |
void |
setElemDouble(int bank,
int i,
double val)
Sets the requested data array element in the specified bank to the given double . |
void |
setElemFloat(int i,
float val)
Sets the requested data array element in the first (default) bank to the given float . |
void |
setElemFloat(int bank,
int i,
float val)
Sets the requested data array element in the specified bank to the given float . |
| Methods inherited from class java.awt.image.DataBuffer |
|---|
getDataType, getDataTypeSize, getNumBanks, getOffset, getOffsets, getSize |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public DataBufferDouble(int size)
double
-based DataBuffer
with a specified size.
size
- The number of elements in the DataBuffer
.public DataBufferDouble(int size, int numBanks)
double
-based DataBuffer
with a specified number of banks, all of which are of a
specified size.
size
- The number of elements in each bank of the
DataBuffer
.numBanks
- The number of banks in the DataBuffer
.public DataBufferDouble(double[] dataArray, int size)
double
-based DataBuffer
with the specified data array. Only the first
size
elements are available for use by this
DataBuffer
. The array must be large enough to
hold size
elements.
dataArray
- An array of double
s to be used as the
first and only bank of this DataBuffer
.size
- The number of elements of the array to be used.public DataBufferDouble(double[] dataArray, int size, int offset)
double
-based DataBuffer
with the specified data array. Only the elements between
offset
and offset + size - 1
are
available for use by this DataBuffer
. The array
must be large enough to hold offset + size
elements.
dataArray
- An array of double
s to be used as the
first and only bank of this DataBuffer
.size
- The number of elements of the array to be used.offset
- The offset of the first element of the array
that will be used.public DataBufferDouble(double[][] dataArray, int size)
double
-based DataBuffer
with the specified data arrays. Only the first
size
elements of each array are available for use
by this DataBuffer
. The number of banks will be
equal to dataArray.length
.
dataArray
- An array of arrays of double
s to be
used as the banks of this DataBuffer
.size
- The number of elements of each array to be used.public DataBufferDouble(double[][] dataArray, int size, int[] offsets)
double
-based DataBuffer
with the specified data arrays, size, and per-bank offsets.
The number of banks is equal to dataArray.length. Each array
must be at least as large as size plus the corresponding
offset. There must be an entry in the offsets
array for each data array.
- Parameters:
dataArray
- An array of arrays of double
s to be
used as the banks of this DataBuffer
.size
- The number of elements of each array to be used.offsets
- An array of integer offsets, one for each bank.
| Method Detail |
|---|
public double[] getData()
double
data array.
public double[] getData(int bank)
public double[][] getBankData()
public int getElem(int i)
int
.
getElem
in class java.awt.image.DataBuffer
i
- The desired data array element.
int
.public int getElem(int bank, int i)
int
.
getElem
in class java.awt.image.DataBuffer
bank
- The bank number.i
- The desired data array element.
int
.public void setElem(int i, int val)
int
.
setElem
in class java.awt.image.DataBuffer
i
- The desired data array element.val
- The value to be set.public void setElem(int bank, int i, int val)
int
.
setElem
in class java.awt.image.DataBuffer
bank
- The bank number.i
- The desired data array element.val
- The value to be set.public float getElemFloat(int i)
float
.
getElemFloat
in class java.awt.image.DataBuffer
i
- The desired data array element.
float
.public float getElemFloat(int bank, int i)
float
.
getElemFloat
in class java.awt.image.DataBuffer
bank
- The bank number.i
- The desired data array element.
float
.public void setElemFloat(int i, float val)
float
.
setElemFloat
in class java.awt.image.DataBuffer
i
- The desired data array element.val
- The value to be set.public void setElemFloat(int bank, int i, float val)
float
.
setElemFloat
in class java.awt.image.DataBuffer
bank
- The bank number.i
- The desired data array element.val
- The value to be set.public double getElemDouble(int i)
double
.
getElemDouble
in class java.awt.image.DataBuffer
i
- The desired data array element.
double
.public double getElemDouble(int bank, int i)
double
.
getElemDouble
in class java.awt.image.DataBuffer
bank
- The bank number.i
- The desired data array element.
double
.public void setElemDouble(int i, double val)
double
.
setElemDouble
in class java.awt.image.DataBuffer
i
- The desired data array element.val
- The value to be set.public void setElemDouble(int bank, int i, double val)
double
.
setElemDouble
in class java.awt.image.DataBuffer
bank
- The bank number.i
- The desired data array element.val
- The value to be set.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


@*
* Copyright 2023 HM Revenue & Customs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*@
@import uk.gov.hmrc.cataloguefrontend.whatsrunningwhere.{Username, DeploymentHistory, Pagination}
@import uk.gov.hmrc.cataloguefrontend.connector.Team
@import uk.gov.hmrc.cataloguefrontend.model.Environment
@import uk.gov.hmrc.cataloguefrontend.DateHelper._
@import helper._
@this()
@(selectedEnv : Environment,
deployments : Seq[DeploymentHistory],
teams : Seq[Team],
userProfileBaseUrl: Option[String],
pagination : Pagination,
form : Form[_]
)(implicit
messages : Messages,
request : RequestHeader
)
@standard_layout("Deployments", "deployments") {
Deployments
| @{d.name.asString} |
|
@{d.version.asString} | @{d.time.time.asPattern(`yyyy-MM-dd HH:mm:ss z`)} | @userLink(d.username) |


Appropriateness of Participation
must be at least 16 years of age to create a campaign page. All content posted to your page will be reviewed and moderated by TGLN according to the following moderation guidelines. Upon submitting content to the Website, you grant to TGLN a non-exclusive license to use, reproduce and display such content for any TGLN purpose.
Postings must be appropriate. Postings that demonstrate elements of the following will be deleted by the TGLN moderator, in TGLN's sole discretion:
Posting of personal information about other individuals (including mention of a donor, recipient or potential recipient by name or other identifier such as specific nature of their relationship with page creator – mother, father, etc.) Crude, profane, hateful, threatening or salacious language
Discrimination on any basis, including physical or mental disability, race, creed, colour, sex, or country of origin
Harassment or defamation of any group or individual
Photos featuring other individuals, trademarks, nudity or inappropriate behaviour
Inappropriate behaviour includes, but is not limited to, criminal activity, violence, sexually explicit or suggestive activity
Soliciting living donations
Community where they reside
Year organ donation or transplant took place, or time period during which they have been waiting for transplant
Type of organ donation or transplant
Nature of their relationship in general terms (loved one, family member, friend), if referring to a third party, who is a donor, recipient or potential recipient
Users may not post information about:
Community where the recipient or donor, as applicable, resides or resided
Hospital where the donation or transplant took place
Names of any involved clinicians
Date (other than year) the organ donation or transplant took place
Moderators will also review content for "data linkage" issues, i.e. information that may not identify third-parties explicitly but could reasonably, in combination with other information, come to identify third-parties.
Moderation of Outbound Links for Organizational Pages:
Only outbound link permitted is an organization's main web page
Views Expressed are those of Users
Although TGLN moderates the content of the Website, the content appearing in the campaign pages does not necessarily reflect the views of TGLN, and TGLN assumes no responsibility or liability for the content or for any claims, damages or losses resulting from any use of the Website. You are solely responsible for the content of your campaign page and any claims that may arise relating to your page.
Links
Links from the Website to other sites, where available, do not constitute an endorsement of these sites by TGLN. These links are provided as an information service only. It is your responsibility to evaluate the content and usefulness of information obtained from other sites. TGLN is not responsible for the accuracy or reliability of any content posted on any linked site.
Information that TGLN May Log
Any information that you disclose on the Website should be considered public and you should therefore exercise caution when deciding what to disclose in such places (including your personal information). Be aware that the information that is provided on the Website may be logged by TGLN, as further described below.
Server Log Information that TGLN Gathers
The Website logs and displays, in real time, the number of unique visitors to the online donor registry site from your campaign page.
TGLN web servers generate logs that may contain information about computers or devices used to access the Website or about general activity on the Website, such as the following:
Internet address of computer or device
Type of browser or other application used
The operating system of the computer or device
Web pages requested by users
Referring web pages
Time spent on the Website
This information is collected and used for Website administration purposes. TGLN server administrators may produce summary reports from these logs and share that information with Website content managers who typically use this information in aggregate to understand what pages are popular, how users are navigating to and within the Website, and when the Website is used most frequently. TGLN web server administrators also use logs for error identification and tracking, as well as audit purposes.
Your Personal Information
Please see TGLN's Privacy Policy to understand the limited purposes for which TGLN may use personal information that you provide via the Website. The Privacy Policy discusses, for example, when and why TGLN may wish to contact you directly about your campaign page.
Cookies
Cookies are small pieces of data stored by a web browser on a user's computer. Cookies are often used to retain information about preferences and pages a user has visited. For example, when a user visits some sites on the web, the user may see a "Welcome Back" message. The first time that user visited that website, a cookie was stored on the user's computer; upon the user's return, the cookie is read again.
The Website uses cookies to identify you when you first visit the Website and when you return. Cookies are used so you will not have to repeatedly enter user names and passwords when you go to different parts of the Website.
You can refuse to accept cookies, disable cookies and/or remove cookies from your hard drive. Taking any of these actions may affect your ability to use the Website.
Continuity of Service
As a result of the dynamic nature of the Internet, resources that are publicly available one day may require restricted access the next, and the location of items may change as menus, pages, and files are reorganized. TGLN does not warrant that the service will be uninterrupted or error free. TGLN may make improvements and/or changes in the information and/or programs described herein at any time.
TGLN does not represent or warrant that the Website or its servers are free of viruses or other harmful components.
Limitation of Liability
You expressly agree that use of the Website is at your sole risk and you are responsible for your actions while using the Website.
The content published via the Website could contain technical inaccuracies or typographical errors.
In no event will TGLN be liable for any damages whatsoever arising out of or in connection with the use of the Website or your reliance on the content.
Agreement
By accepting these Terms of Use, you agree to comply with the Terms of Use; you will indemnify TGLN for any and all claims arising from your use of or posting of content on the Website; you will abide by all applicable provincial and federal laws. These Terms of Use are governed by the laws of Ontario, Canada.
If you do not agree to accept these Terms of Use, you may close this window now and stop the Website registration process. Once registered, your continued use of the Website signals your acceptance of these Terms of Use.


28 DAYS (Columbia) Starring: Sandra Bullock, Dominic West, Viggo Mortensen, Azura Skye, Mike O'Malley, Steve Buscemi, Elizabeth Perkins, Alan Tudyk. Screenplay: Susannah Grant. Producer: Jenno Topping. Director: Betty Thomas. MPAA Rating: PG-13 (adult themes, profanity, drug use) Running Time: 103 minutes. Reviewed by Scott Renshaw.
How's this for damnation via faint praise: I'm pretty impressed that 28 DAYS didn't turn out to be an utterly unwatchable disaster. There aren't many film premises that would set off my Early Crap Alert System like a feel-good comedy-drama about folks in a rehab clinic (maybe Robin Williams in a feel-good comedy-drama about a robot who wants to be human). You've got your pathos, you've got your cheap emotion, you've got your showy drunken scenes for actors and you've got your central character arc so rigidly defined you could set your watch by when denial turns into a great big group hug.
I've got to hand it to director Betty Thomas for lending 28 DAYS a little dark edge, and to screenwriter Susannah Grant for delivering a few more solid laughs than I was expecting. Unfortunately, they're still not able to overcome the basic flaws in their story. Their protagonist is Gwen Cummings (Sandra Bullock), a party girl always running just on the edge of out-of-control with her drinking and pill-popping. She crosses over that edge when she leaves her sister's (Elizabeth Perkins) wedding in a shambles and crashes a limousine into a house. Gwen finds herself sentenced to a four week stay at Serenity Glen Rehabilitation Center, where she initially refuses to identify with the other patients. Soon, however, she realizes she does have a problem, and begins the long, slow road to sobriety.
Emphasis on the "long" and "slow." Gwen actually hits bottom relatively early in 28 DAYS, leaving plenty of time for comic episodes focusing on Gwen's fellow travellers, including Oliver (Mike O'Malley), a doughy self-styled ladies' man; Gerhardt (Alan Tudyk), a flamboyant gay man who grows emotional easily; Eddie (Viggo Mortensen), a professional baseball pitcher; and Andrea (Azura Skye), Gwen's high-strung, soap opera- and heroin-addicted roommate. There are more than a few good gags to be found in the interaction between the support group members, but there's nothing driving the narrative forward once Gwen decides to go straight. It's not that the process of recovery ends with one decision, of course. In 28 DAYS, however, the process of drama does end with that one descision, leaving the film to grab at relationships and confrontations that never go anywhere.
Those moments might have seemed more vital if not for the uninspired performance by Sandra Bullock. It feels like I've been a Bullock booster long after most others have leapt from her feisty-cute bandwagon, but there's little going on behind her attitude in 28 DAYS. Flashback segments show Gwen and her sister dealing with their alcoholic single mother, scenes that should add resonance to Gwen's struggle for sobriety. But there's never any urgency to Gwen's struggle with addiction -- she never slips once she admits she's an alcoholic, and she becomes one of her group's "strong ones" too quickly. At least her post-sobriety scenes are a reprieve from her cartoon rendition of staggering drunkenness. In this role, Bullock looks like she's completely out of her depth.
Then again, depth doesn't really appear to be a priority in 28 DAYS. Betty Thomas does do a nice job with altered perspectives, shooting hazy memories in grainy video and capturing some funny confessional scenes with an I'm-the-center-of-the-world iris effect. There is the small problem that those confessionals don't really belong in 28 DAYS, but there's no solid sense of what belongs throughout the story. It becomes frustrating to realize that Gwen's relationship with her equally party-time boyfriend Jasper (Dominic West) is going to be central to the plot, rather than her relationship with her straight-arrow sister. The fragmentation of family, the different paths taken by two adult children of an alcoholic and the challenges of forgiveness could have made for a much more compelling sub-text than a half-hearted romantic triangle with Eddie at the other vertex. Instead, 28 DAYS tosses the sisters a couple of token scenes before retreating to the safe comedy of Gwen's personal cuckoo's nest. 28 DAYS offers some effective comedy, and it does manage to avoid pathos and cheap emotion. In fact, with its fragmented narrative and limp lead performance, it comes close to avoiding emotion altogether.
On the Renshaw scale of 0 to 10 group therapies: 5.
Visit Scott Renshaw's Screening Room http://www.inconnect.com/~renshaw/ *** Subscribe to receive new reviews directly by email! See the Screening Room for details, or reply to this message with subject "Subscribe".
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


C++ Scripting
Let's start with building project, open CApplication.cpp.
So, basic actor template. Native actors are more complex than lua scripts, but for now you only should remember that native actor have field sections : data, links and general. Data sections contains only float fields, they will be accessible in editor (only editable or editable and linkable). Links are only pointers to something. And general fields is up to you, just classic C++ class fields.
// test actor class
class teActorTest
{
public:
// constructor
teActorTest(teFastScene * setScene)
:scene(setScene)
{
}
// destructor
~teActorTest()
{
}
// will be called each frame
void OnUpdate()
{
}
// will be called on slot receive event
void OnSomeSlot(f32 agrument)
{
transform->scale.x = TE_RAND + 0.5f; // random macro, return from 0 to 1
SomeSignal1(); // call signals like normal class methods
}
// signals
// 0 and 1 got from signals register order
TE_ACTOR_SIGNAL(0, SomeSignal1)
TE_ACTOR_SIGNAL(1, SomeSignal2)
protected:
// actor data section
f32 data1;
f32 data2;
// actor link section, placed after data section
teAssetTransform * transform;
teAssetSprite * someSprite;
// actor general fields section
// pointer to our scene
teFastScene * scene;
u32 someVariable;
};
TE_ACTOR_PROXY(teActorTest)
TE_ACTOR_SLOT_1(teActorTest, OnSomeSlot) // slot 1 defines count of arguments, from 0 to 4
void RegisterActors(teActorsTI * ti)
{
// add new node to type information
ti->AddClass(sizeof(teActorTest), "testActor", TE_ACTOR_PROXY_NAMES(teActorTest));
// add data fields to this node
ti->AddData("data1");
ti->AddData("data2");
// add link fields to this node
ti->AddLink("transform");
ti->AddLink("someSprite");
// add signals
ti->AddSignal("SomeSignal1"); // add it first, so index = 0
ti->AddSignal("SomeSignal2"); // index = 1
// add slots
ti->AddSlot("OnSomeSlot", TE_ACTOR_SLOT_PROXY(teActorTest, OnSomeSlot));
// remember : only call ti methods in this order : add class, add data, add link, add signal, add slot
}
Place code like this.
Close world editor. Build and run application in release from visual studio. You should see crc warning. Basicly engine is data driven, so if you change ctti (compile time type information) then baked data becomes invalid.
Now open world editor, you should see new actor.
Just connect it instead of lua script. It will work same as lua script.
To move forward you need to know how to get asset by they index
// like this
teAssetTransform & transform = scene->GetAssetPack().transforms[someSprite->renderAsset.transformIndex];
video::teMaterial & material = scene->GetContentPack().materials[someSprite->renderAsset.materialIndex];


| PostgreSQL 9.0.10 Documentation | ||||
|---|---|---|---|---|
| Prev | Up | Chapter 51. Index Access Method Interface Definition | Next |
PostgreSQL enforces SQL uniqueness constraints using unique indexes, which are indexes that disallow multiple entries with identical keys. An access method that supports this feature sets pg_am.amcanunique true. (At present, only b-tree supports it.)
Because of MVCC, it is always necessary to allow duplicate entries to exist physically in an index: the entries might refer to successive versions of a single logical row. The behavior we actually want to enforce is that no MVCC snapshot could include two rows with equal index keys. This breaks down into the following cases that must be checked when inserting a new row into a unique index:
If a conflicting valid row has been deleted by the current transaction, it's okay. (In particular, since an UPDATE always deletes the old row version before inserting the new version, this will allow an UPDATE on a row without changing the key.)
If a conflicting row has been inserted by an as-yet-uncommitted transaction, the would-be inserter must wait to see if that transaction commits. If it rolls back then there is no conflict. If it commits without deleting the conflicting row again, there is a uniqueness violation. (In practice we just wait for the other transaction to end and then redo the visibility check in toto.)
Similarly, if a conflicting valid row has been deleted by an as-yet-uncommitted transaction, the would-be inserter must wait for that transaction to commit or abort, and then repeat the test.
Furthermore, immediately before reporting a uniqueness violation according to the above rules, the access method must recheck the liveness of the row being inserted. If it is committed dead then no violation should be reported. (This case cannot occur during the ordinary scenario of inserting a row that's just been created by the current transaction. It can happen during CREATE UNIQUE INDEX CONCURRENTLY, however.)
We require the index access method to apply these tests itself, which means that it must reach into the heap to check the commit status of any row that is shown to have a duplicate key according to the index contents. This is without a doubt ugly and non-modular, but it saves redundant work: if we did a separate probe then the index lookup for a conflicting row would be essentially repeated while finding the place to insert the new row's index entry. What's more, there is no obvious way to avoid race conditions unless the conflict check is an integral part of insertion of the new index entry.
If the unique constraint is deferrable, there is additional complexity:
we need to be able to insert an index entry for a new row, but defer any
uniqueness-violation error until end of statement or even later. To
avoid unnecessary repeat searches of the index, the index access method
should do a preliminary uniqueness check during the initial insertion.
If this shows that there is definitely no conflicting live tuple, we
are done. Otherwise, we schedule a recheck to occur when it is time to
enforce the constraint. If, at the time of the recheck, both the inserted
tuple and some other tuple with the same key are live, then the error
must be reported. (Note that for this purpose, "live" actually
means "any tuple in the index entry's HOT chain is live".)
To implement this, the aminsert
function is passed a
checkUnique parameter having one of the following values:
UNIQUE_CHECK_NO indicates that no uniqueness checking should be done (this is not a unique index).
UNIQUE_CHECK_YES indicates that this is a non-deferrable unique index, and the uniqueness check must be done immediately, as described above.
UNIQUE_CHECK_PARTIAL indicates that the unique
constraint is deferrable. PostgreSQL
will use this mode to insert each row's index entry. The access
method must allow duplicate entries into the index, and report any
potential duplicates by returning FALSE from aminsert
.
For each row for which FALSE is returned, a deferred recheck will
be scheduled.
The access method must identify any rows which might violate the unique constraint, but it is not an error for it to report false positives. This allows the check to be done without waiting for other transactions to finish; conflicts reported here are not treated as errors and will be rechecked later, by which time they may no longer be conflicts.
UNIQUE_CHECK_EXISTING indicates that this is a deferred
recheck of a row that was reported as a potential uniqueness violation.
Although this is implemented by calling aminsert
, the
access method must not insert a new index entry in this
case. The index entry is already present. Rather, the access method
must check to see if there is another live index entry. If so, and
if the target row is also still live, report error.
It is recommended that in a UNIQUE_CHECK_EXISTING call,
the access method further verify that the target row actually does
have an existing entry in the index, and report error if not. This
is a good idea because the index tuple values passed to
aminsert
will have been recomputed. If the index
definition involves functions that are not really immutable, we
might be checking the wrong area of the index. Checking that the
target row is found in the recheck verifies that we are scanning
for the same tuple values as were used in the original insertion.


Bangladesh, a land of exhilarating mix with fascinating history, vibrant cultures, panoramic beauties, historical ruins, flora and fauna, hills and forests, sandy sea beaches and wildlife, is waiting to welcome you on this website.
You will easily be impressed with so much variety of attractiveness within such a small geographic boundary; The world's longest sandy beach- Coxsbazar, the world's single largest mangrove forest- Sundarbans, Oceanic Kuakata, Coral island-Saint martins, the green roof of the country-Bandarban, a land of colorful Indigenous groups and Lake City-Rangamati, the scenic beauty of the hilly regions, historic and archaeological sites etc. are of life time experience for travelers. Bangladesh is a land of tourists, researchers, wildlife and nature lovers.
Happiness needs no reason here. This is what you will feel when you'll come to this land. Here everyone has a story – story to celebrate the life,story to survive, story to come to the help of others, story to become and hospitable and smiling – which might be your life-time experience.
Life is so good when you live it in Bangladesh. The people and the nature will help you to get the most out of it. Happiness, for us, needs no reason. We are always happy with knowingwho we are whether our capability is satisfactory to us or not. We know how to celebrate the life we are give. We know how to get the most out of our life.
There are many kinds of lifestyle of the people can be seen in Bangladesh — urban, rural and Tribal. Amidst the concrete jungle, the urban life follows a different direction than the rural life. The rural life has a much more strong relation with the nature. And, far from the maddening crowd, there are many tribal lifestyles can be noticed which are unique and vibrant in their own characteristics.


I have played the deathmatch against the Death Wyrm. Died both times. I also found the item selection very limited. My Woodsman had no hand axes (which he specializes in)...
If you have tried it out, please let me know how you rate it as a "build tester".
Just tried it with no items at all I managed the Death Wyrm, but the Balrok Lord (I think that was the name) I could hardly make a dent in.
Just tried it with no items at all I managed the Death Wyrm, but the Balrok Lord (I think that was the name) I could hardly make a dent in.
Who did you use against the Death Wyrm? Which build?
I used the Druid one I posted in the builds page, as I said he was completely naked no items/potions or anything, obviously that testing mod is supposed to be played with items since the monsters are very tough.
EDIT: I cast 3 spells on him before the fight - Owls insight, True Seeing and Spell Resistance. I think I shifted into dragon shape though when I was low on HP (I already forgot).


Artist: Broke For Free
Track:Night Owl
Album: Directionless EP
Genre: Electronic, Minimal
Artist:Tours
Track: Enthusiast
Album: Enthusiast
Genre: Electronic, Dubstep
Artist: Monk Turner + Fascinoma
Track: It's Your Birthday!
Album: The New Birthday Song Contest
Genre: Uncategorized
Artist: Podington Bear
Track: Starling
Album: Solo Instruments
Genre: Electronic, Soundtrack
Artist: Jahzzar
Track: Siesta
Album: Traveller's Guide
Genre: Pop, Indie-Rock


Produces partials in real time through a vocoder process on the current audio input.
You can set the audio input device under "Options -> MIDI and Audio Options".


So that an application can use Google's OAuth 2.0 authentication system for user login. A test account was created to set the project in the Google Developers with this credentials:
username<EMAIL_ADDRESS>password: testOpenID10
username<EMAIL_ADDRESS>password: testOpenID20


Connor
This page contains an index of all the individuals in the database with the surname of Connor. Selecting the person’s name will take you to that person’s individual page.
| Given Name | Birth | Death | Partner | Parents |
|---|---|---|---|---|
| Albert William | 1893 | 1894 | Connor, William Alfred McIntyre, Rosetta | |
| Amelia Rosetta (Millie) | 1891-02-05 | 1984-04-27 | Edwards, Thomas Eccott | Connor, William Alfred McIntyre, Rosetta |
| Bidelia (Bridget) | 1847-12-09 | 1890 | Douglas, James Hardie | Connor, Michael (Ist) (Life Convict) Quiligan, Julia (Convict 7yrs) |
| Charles Dunn | 1881 | Connor, Michael (2nd) Dunn, Sarah | ||
| Charlotte Maude | 1877 | Oatley, Alfred G. | Connor, Michael (2nd) Dunn, Sarah | |
| Elsie Maud | 1892 | 1978 | Woodman, Sydney John | Connor, William Alfred McIntyre, Rosetta |
| Ethel Mary | 1871 | 1939 | Rohrs, Arthur Annis | Connor, Michael (2nd) Dunn, Sarah |
| Eva Gladys | 1899 | 1966-01-24 | Fallon, Harrison Goodenough | Connor, William Alfred McIntyre, Rosetta |
| James Joseph | 1851-12-16 | 1882-11-11 | Connor, Michael (Ist) (Life Convict) Quiligan, Julia (Convict 7yrs) | |
| James Sydney Albert | 1875 | 1909-06-08 | Brown, May | Connor, Michael (2nd) Dunn, Sarah |
| John | 1841 | Connor, Michael (Ist) (Life Convict) Quiligan, Julia (Convict 7yrs) | ||
| John | 1870 | |||
| John & Ann | ||||
| John Thomas | 1864 | 1895 | Connor, Michael (2nd) Dunn, Sarah | |
| Julia A. | 1843 | 1918 | Coull, William Joseph | Connor, Michael (Ist) (Life Convict) Quiligan, Julia (Convict 7yrs) |
| Julia Ann | 1869 | 1939-03-06 | TURNBULL, William J. | Connor, Michael (2nd) Dunn, Sarah |
| Mary | about 1839 | Connor, Michael (Ist) (Life Convict) Quiligan, Julia (Convict 7yrs) | ||
| Michael, (2nd) | 1840-01-11 | 1889-03-26 | Dunn, Sarah | Connor, Michael (Ist) (Life Convict) Quiligan, Julia (Convict 7yrs) |
| Michael (Ist), (Life Convict) | about 1802 | 1884-07-18 | Quiligan, Julia (Convict 7yrs) | Connor, John & Ann |
| Peter William | 1974-10-26 | 1993-11-24 | Connor, [Living] Henderson, [Living] | |
| Sarah Alice | 1874 | Gillies, Angus | Connor, Michael (2nd) Dunn, Sarah | |
| Stephen James | 1895-12-16 | 1979-06-21 | Dawson, Mabel Esther | Connor, William Alfred McIntyre, Rosetta |
| Stephen Michael | 1862 | 1920 | Pettit, Ellie | Connor, Michael (2nd) Dunn, Sarah |
| Stephen Thomas | 1896 | Connor, Stephen Michael Pettit, Ellie | ||
| William | 1845-01-16 | 1926 | Connor, Michael (Ist) (Life Convict) Quiligan, Julia (Convict 7yrs) | |
| William Alfred | 1867-01-12 | 1912-08-05 | McIntyre, Rosetta | Connor, Michael (2nd) Dunn, Sarah |
| [Living] | Christie, [Living] | Connor, Stephen James Dawson, Mabel Esther | ||
| [Living] | Lamb, [Living] | Connor, Stephen James Dawson, Mabel Esther | ||
| [Living] | Henderson, [Living] | Connor, Stephen James Dawson, Mabel Esther | ||
| [Living] | Howard, [Living] | Connor, [Living] Henderson, [Living] | ||
| [Living] | Hopkins, [Living] | Connor, [Living] Henderson, [Living] | ||
| [Living] | Connor, [Living] Christie, [Living] | |||
| [Living] | Connor, [Living] Christie, [Living] | |||
| [Living] | Connor, [Living] Christie, [Living] | |||
| [Living] | Connor, [Living] Christie, [Living] | |||
| [Living] | Thompson, Alexander (Builder), Holmes, Gerald | Connor, William Alfred McIntyre, Rosetta | ||
| [Living] | Connor, [Living] Howard, [Living] |


Lines
public struct Lines : Hashable
Encapsulates the parameters of the vertical and horizontal major and minor lines.
-
Default set, where all the major and minor line parameters are set to their
.default
.Declaration
Swift
public static let `default`: Grid.Lines
-
The parameters of the vertical major lines of the grid.
Declaration
Swift
public var verticalMajor: MajorLineParameters
-
The parameters of the horizontal major lines of the grid.
Declaration
Swift
public var horizontalMajor: MajorLineParameters
-
The parameters of the vertical minor lines of the grid.
Declaration
Swift
public var verticalMinor: Grid.MinorLineParameters?
-
The parameters of the horizontal minor lines of the grid.
Declaration
Swift
public var horizontalMinor: Grid.MinorLineParameters?
-
If
true
, draws the horizontal major lines only after the vertical major lines are drawn. Otherwise draws the horizontal major lines and only then draws vertical major lines.Important
Major lines are always drawn after minor lines.Declaration
Swift
public var drawVerticalMajorLinesFirst: Bool
-
If
true
, draws the horizontal minor lines only after the vertical minor lines are drawn. Otherwise draws the horizontal minor lines and only then draws vertical minor lines.Important
Major lines are always drawn after minor lines.Declaration
Swift
public var drawVerticalMinorLinesFirst: Bool
-
init(verticalMajor:horizontalMajor:verticalMinor:horizontalMinor:drawVerticalMajorLinesFirst:drawVerticalMinorLinesFirst:)
Creates a new set of the line parameters for each type of the line.
Declaration
Swift
public init(verticalMajor: MajorLineParameters = .default, horizontalMajor: MajorLineParameters = .default, verticalMinor: MinorLineParameters? = .default, horizontalMinor: MinorLineParameters? = .default, drawVerticalMajorLinesFirst: Bool = false, drawVerticalMinorLinesFirst: Bool = false)
Parameters
verticalMajor
The parameters of the vertical major lines of the grid. Default line width is 0.5, line spacing is 10, line color is 80% gray.
horizontalMajor
The parameters of the horizontal major lines of the grid. Default line width is 0.5, line spacing is 10, line color is 80% gray.
verticalMinor
The parameters of the vertical minor lines of the grid. If specified
nil
, no vertical minor lines will be drawn. Default line width is 0.25, line color is 80% gray and the default number of minor segments per one major segment is 2.horizontalMinor
The parameters of the horizontal minor lines of the grid. If specified
nil
, no horizontal minor lines will be drawn. Default line width is 0.25, line color is 80% gray and the default number of minor segments per one major segment is 2.drawVerticalMajorLinesFirst
If
true
, draws the horizontal major lines only after the vertical major lines are drawn. Otherwise draws the horizontal major lines and only then draws vertical major lines. Default isfalse
.drawVerticalMinorLinesFirst
If
true
, draws the horizontal minor lines only after the vertical minor lines are drawn. Otherwise draws the horizontal minor lines and only then draws vertical minor lines. Default isfalse
.


Course aux Chausses
Semur-en-Auxois FRA
Race Winners
(380 runnings)
26 May
2007
03 Jun
2006
14 May
2005
29 May
2004
07 Jun
2003
18 May
2002
02 Jun
2001
10 Jun
2000
22 May 1999
30 May 1998
17 May 1997
25 May
1996
03 Jun
1995
21 May 1994
29 May 1993
06 Jun 1992
18 May 1991
02 Jun 1990
13 May 1989
21 May 1988
06 Jun
1987
17 May 1986
25 May
1985
09 Jun
1984
21 May
1983
29 May
1982
06 Jun 1981
24 May
1980
02 Jun
1979
13 May
1978
14 May
2016
---
Regis Raymond-13
---
Margot Treuchot
23 May
2015
---
Nicolas Mary-4
---
Eva Reveillon-4
07 Jun 2014
---
Nicolas Mary-3
---
Raissa Colin
18 Jun
2013
---
Nicolas Mary-2
---
Eva Reveillon-3
26 May
2012
---
Nicolas Mary
---
Eva Reveillon-2
11 Jun
2011
---
Regis Raymond-12
---
Eva Reveillon
22 May
2010
---
Pascal Hays-2
---
Anita Duncan-5
30 May
2009
---
Regis Raymond-11
---
Anita Duncan-4
10 May
2008
---
Pascal Hays (FRA)
---
Anita Duncan-3
---
Regis Raymond-10
---
Anita Duncan-2
---
Regis Raymond-9
---
Anita Duncan
---
Regis Raymond-8
---
Valerie Jallet-2
---
Regis Raymond-7
---
Valerie Jallet
---
Carlos Lopes (POR)
---
Catherine Julien
---
Regis Raymond-6
---
FranÁoise Mazuire
---
Regis Raymond-5
---
Christine Zanconatto-2
---
Regis Raymond-4
---
n/a
---
Regis Raymond-3
---
Fabienne Charles-3
---
Regis Raymond-2
---
Sandra Ollivier
---
Regis Raymond (FRA)
---
Christine Zanconatto
---
Bruno Zanconato
---
Lucie Guenebaut-2
---
Herve Treuchot
---
Christine Bianchi-4
---
Andre Maitrot
---
Lucie Guenebaut
---
Frederic Huerta
---
Christine Bianchi-3
---
Fabrice Joumier-3
---
Christine Bianchi-2
---
Fabrice Joumier-2
---
Christine Bianchi
---
Fabrice Joumier
---
Isabelle Pechinot
---
Alain Pozzobon
---
Fabienne Charles-2
---
Bertrand Leguy-4 + Andre Maitrot
---
Fabienne Charles
---
Jerome Benet
---
Mireille Lefort
---
Bertrand Leguy-3
---
Marion Pineau
---
Bertrand Leguy-2
---
Martine Piron
---
Bertrand Leguy
---
Fatima Berrahou
---
Laurent Leguy-2
---
Martine Vollaire
---
Jean-NoŽl Gobe-2
---
Sophie Michel
---
Jean-NoŽl Gobe
---
JoŽlle Beguin-2
---
Laurent Leguy
---
JoŽlle Beguin
---
nfn Lemontagnier
---
FranÁoise Pichenot
---
Gerard Ragnard
Notes: This footrace, held in the French medieval town of Semur-en-Auxois on
the CŰtes d'Or in the Bourgogne region, was first held in 1369. It is held
during the religious Feast of Pentecost each year. A Royal Ordinance by Charles
V in 1369 condemned games of chance and encouraged sports events instead. The
race is called the ďcourse aux chausses" - chausses are socks or hose.
Originally this prize was given by the "meneurs de búufs", the cattle drovers,
to attract the people to the big cattle market that was held at Semur-en-Auxois
during the Pentecost fair.
Between 1369 and 1566 the race was held but due to wars, plagues, etc it was
probably not held every single year. In 1566 the race became traditional when
magistrates of the town allocated prize money (3 livres 13 sols) as a prize.
From that date until 1651 the race was held every year. Traditionally the men
ran naked which was not unusual in such races at this time. In 1651, the
governor's wife, Marquise d'Origny, was so shocked at this naked footrace that
she had the race stopped.
After a break of over three hundred years the race was revived in 1978 and has
been held every year since. The race course is situated in the centre of the
medieval city, on the pavement of the streets around the Collegiate Church of
Notre-Dame, for a distance of 4145 metres. No times are available.
Most Wins (1369/date)
Men
13
Regis Raymond (FRA)
1997-2002,2004-07,2009,2011,2016
Women
5
Anita Duncan
2006-10
Prize Money (ADR
qualified runners)
No information on prize money has been received for this race.
Race Time Bias
(sec/km
There is insufficient data to calculate
the race time bias.
Competitive Level (1990-date)
There is insufficient data to calculate the competitive level.
Last Updated on 20 Aug 2016
Contributors: Thierry Lefeuvre (50)


Edit the LoopScript below and hit "Compile" to turn it into audio.
If you make a mistake, you should be able to read it in the output below the editor once you've attempted to compile.
BeatMaker is a convenience tool for coming up with pattern statements.
Simply click in the box below and use the alphabet keys as your piano. After you've repeated the pattern exactly twice, wait for BeatMaker to make a best guess on BPM and a series of possible patterns to use.
Use the BeatMaker Test Bed sample script to see a simple use case. (If you use this, use K and C for kick and clap, respectively.)


VALENTINE
Review by John Beachem
* * 1/2
Directed by: Jamie Blanks Written by: Tom Savage (novel), Donna Powers, Wayne Powers, Gretchen J. Berg, Aaron Harberts
Remember the boy who everyone teased back in elementary school? Well thirteen years later he sure remembers all those girls who gave him the cold shoulder. Kate Davies (Marley Shelton), Paige Prescott (Denise Richards), Dorothy Wheeler (Jessica Capshaw), and Lily Voight (Jessica Cauffiel) have just learned that one of their old chums from school has been brutally murdered. Said chum had received a threatening valentine signed J.M. only moments before the attack. The girls get to thinking, and decide it could just be that kid, Jeremy, whom they all (except the kindly Kate of course) used to tease. Now suspicions are running rampant as the girls try to decide who Jeremy could really be. Is it Kate's drunken boyfriend Adam (David Boreanaz)? Or how about Dorothy's latest beau, Campbell (Daniel Cosgrove)? Or possibly one of the hundreds of fellows Paige has seduced over the years? Whoever it may be, the girls are getting knocked off one by one, and they'd better find out soon.
My theory remains sound. There is a direct correlation between the number of writers on a movie, and how bad the movie is. One writer, you're in good shape; two, you should still be alright; three, things are looking bleak; four, don't hold your breath waiting for that Oscar; five, you might as well entitle the movie "Bomb." Jamie Blanks' (previously responsible for unleashing Urban Legend on unsuspecting audiences) Valentine nestles itself nicely between those last two options. It's not a complete bomb, but it's about as close as you can get before crossing the line. Nearly all the requisite brainless teen slasher movie elements are present: talentless actors, talentless director, cardboard characters, predictable deaths, painful dialogue. The only things this movie is missing which most slasher flicks contain are cheesy gore and cheesier laughs. The latter is most confusing, since some modern slasher flicks have a certain amusing, self-referential wit; and the others have a certain irritating self referential wit. Valentine, on the other hand, is strangely somber and laughess. The characters appear dreary and depressed even before the murders start, and that tone doesn't let up.
Critiquing the acting "talents" in your average slasher movie is an utterly pointless endeavor at best, yet I feel compelled to subject myself to it once more. What better place to start than with a quick description of Denise Richards' (Wild Things) unique interpretation of acting? Actually, in all seriousness, Denise doesn't do too poorly this time around. Of course, that could be because the majority of her co-stars are somehow even worse than she, but I'll leave that decision up to you. Next up we've got Jessica Cauffiel (Urban Legends: Final Cut) in a slight part, and I'm happy to report that she gives a slight performance. I won't subject you to a description of Jessica Capshaw's (The Love Letter) vain attempts at pretending to act, suffice to say she's in desperate need of coaching, practice, or a new career. Marley Shelton (Sugar & Spice) is adequate.. I suppose.. in her own limited sort of way. I do realize it's asking too much for really good performances in a teen slasher flick, but what can I say, I'm greedy. I won't bother talking about most of the male actors since none of them are given any development beyond "I wanna have sex!" The only exception is David Boreanaz (TV's "Angel"), woefully miscast but still able to give a pretty fair performance.
You'd think four writers and a novelist would be able to think of something resembling an original death scene. Instead we get situations like this (warning, minor spoiler): guy goes down to cellar to light pilot light. He can't get it lit, and we know the killer is down there. What follows is about three minutes of this fool trying to light one match without blowing it out while the soundtrack implies a creeping terror is right behind him. Then... just when he gets it lit.. the killer hits him in the back with an axe and leaves. That's it. Gee guys, how much time did you spend thinking that one up? I wish I could say there was one death scene which stands out, but they all meld together in one mesh of stupidity.
Being the nice guy I am, I feel compelled to point out the film's highpoints, few and far between though they may be. There's a vaguely amusing scene between Dorothy and her new step-mother (who it turns out is about Dorothy's age); there's a funny little line where Kate, referring to Adam, says "Sure, he's no Angel."; and granted, some people will no doubt enjoy the death scenes for no other reason than that someone dies in them. Otherwise, the film is bland, boring, pointless, and the definition of everything I've come to expect from modern Hollywood horror writers. If you loved the intellectual challenge of such films as Urban Legend and I Know What You Did Last Summer you'll no doubt get a kick out of this one, no matter what I might say to try and discourage you. Always worthy of mention in a slasher flick is the score, which in this case consists of little more than that foolish "Ka-drum!" sound whenever the audience is supposed to be startled by something like a person walking suddenly in front of the camera. Valentine runs an irritating 96 minutes. I'd recommend the film to those who, for reasons I will never fully comprehend, enjoyed last fall's god awful Urban Legends: Final Cut, and give the film a slightly generous two and a half out of five stars.
Comments? Send to<EMAIL_ADDRESS>Past reviews can be found at: http://us.imdb.com/ReviewsBy?John+Beachem
* * * * * - One of the best movies of the year. * * * * - Great flick, try and catch this one. * * * - Okay movie, hits and misses. * * - Pretty bad, see it at your own risk. * - See this one only if you enjoy pain.
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


Meet Joe Black * * * (out of * * * * )
Directed by Martin Brest. Cast: Brad Pitt, Anthony Hopkins, Claire Forlani, Marcia Gay Harden, Jeffrey Tambor, Jake Weber. 1998 - 170 minutes. Rated PG-13 (for profanity, mild violence, and sexual situations). Reviewed November 24, 1998.
By Dustin Putman < Dustin Putman's Film Reviews >
"Meet Joe Black," directed by Martin Brest (1992's "Scent of a Woman"), is a 170-minute remake of 1934's "Death Takes a Holiday," which ran 78-minutes, and so judging from this, it might seem as if "Meet Joe Black," is an overly robust, needlessly long film, but it didn't seem that way at all. On the contrary, the film is a sleek, good-looking, and entertaining romance.
Set during the last week before his 65th birthday, wealthy media tycoon Bill Parrish (Anthony Hopkins) awakens in his New York mansion to sharp heart pains, and a mysterious, godly voice repeating the word, "yes." The next morning, after he is transported to Manhattan by helicoptor to go to work, with his physician daughter, Susan (Claire Forlani), she stops in at a coffee shop and strikes up a conversation with a handsome, smooth talking man (Brad Pitt). They are smitten with each other, but coming out of the cafe, he is hit and killed by a car, unbenownst to Susan. That night, Bill gets a visitor at his door in the form of the man at the coffee shop. The only difference is that, as he explains, he is Death, who stole Pitt's body and has come to take Bill away after he visits the world in human form for the first time to see how it feels. When Susan sees Pitt, now called Joe Black to hide his identity to everyone else, she realizes something is different about him, but begins to fall in love with him nonetheless. And as Joe follows Bill around and begins to learn things about the world, as well as care for Susan, everything inevitably is leading up to Bill's gala birthday party, which will be his last night before he dies and is lead away by Death.
"Meet Joe Black," reminded me somewhat of "Dr. Jekyll and Mr. Hyde," not because of the story, but because the film is easily divided into two categories: scenes of schmaltzy melodrama, and moments of extraordinary power and honesty. Although the film could have easily been trimmed to two-and-a-half hours, "Meet Joe Black," really did not seem overlong to me. The pacing is slow and deliberate, to be sure, but it was never boring, and felt more true-to-life because of this. In fact, I got a great satisfaction out of watching the scenes unfold. Sure, they were drawn out a little bit, but it's better than watching the constant freneticism of a Jerry Bruckheimer action movie.
Going back to what I was saying before about the film being divided into two categories, "Meet Joe Black," sometimes would attempt to suck out as much sentimentality as possible just to get its audience to cry, and near the conclusion, the music swelled up so much that it began to feel too sappy for my taste.
But then, there were scenes that were so truthful and real that I felt like applauding the filmmakers. Due to its length, at least one thing can be said for the film: all of the six central characters were written superbly into flesh-and-blood people. Each character was given scenes that really caused me to care about them, right down to the supporting ones. The greatest satisfaction I can get while watching a film is getting involved in the scenes and dialogue unto themselves, as if they were all separate short films. If these type of scenes are strung together, however, it can turn into genuine dynamite, and that is what, "Meet Joe Black," did.
Brad Pitt, who usually chooses more unconventional roles (not counting 1989's slasher film, "Cutting Class"), proves here, like he has done in previous films, that he is more than just good-looking. Playing two different characters here, as the guy in the coffee shop, and Joe Black, he was truly endearing and likable. Anthony Hopkins, one of the best actors of this generation, is outstanding, as he has to juggle a character that seemingly has everything, but is forced to deal with his realization that his time on Earth is quickly coming to a close. Claire Forlani, in her first starring role, is a fresh new talent to look for in the future. She always seems to be filled with deep thoughts swarming around in her head, and has a lot of chemistry with Pitt. All of these performances are wonderful, and yet, the one performance that I thought surpassed all of the others was Marcia Gay Harden, who deserves a Best Supporting Actress Oscar nomination. Harden is given perhaps the most touching scenes in the film, as Bill's neglected older daughter, Allison. The most heartbreakingly true scene in the whole picture, in my opinion, involves the conversation between Allison and her father, as she tells him that she has always known she wasn't his favorite daughter, but remained happy because she still knew that she was loved by him. Harden flawlessly hits the right mark in every one of her scenes, and this is certainly her best film role since 1993's little-known gem, "Crush," not to be confused with the 1993 Alicia Silverstone thriller, "The Crush."
Judging from the many astonishing moments in the film, "Meet Joe Black," could have easily been one of the very best films of the year, if not for its occasional attempts at extreme mawkishness, and the ending, which felt a little bit far-fetched. Without giving anything away, the film might have left a more lasting, genuine impression if the last three minutes had been completely cut out. It was one of those frequent attempts at a happy ending that simply did not pay off. While not forgetting its faults, "Meet Joe Black" still remains a success, due to its intelligence and unforgettable performances, and is one of the better films of the 1998 Fall season, along with "Living Out Loud," and "Pleasantville." Unlike most big-budget Hollywood ventures, "Meet Joe Black," takes its time, does not hurry its story, and instead of condescending to its characters, refreshingly sees them as flawed, but sincere, three-dimensional people.
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


Canadian Mental Health Association
Canadian Mental Health Association Middlesex provides recovery-focused programs and services for people of all ages and their families.
Our goal is to watch for, identify and address the public health issues that can affect you, your family and your neighbours. We promote healthy living and identify community needs. Health Unit staff members work in schools and in immunization clinics; they work with families to support their needs.
London Intercommunity Health Centre
The London InterCommunity Health Centre was established in 1989 to support individuals and families whose poverty, isolation, age, lack of housing or recent immigration prevented access to both health and social services and meaningful community participation.


| DOSE: |
6 drops |
oral |
LSD |
(liquid) |
| |
2.5 tablets |
oral |
MDMA |
(pill / tablet) |
This was my second experience with LSD. My first with X. Decided to 'candy flip' by eating both at the same time. Still to this day, I believe it was the greatest buzz I have ever had. Every object had sparkles all over. When I looked in the mirror, I could see white flashes and sparkles all over my face. When I looked outside I could see sparkles on the grass and sparkles on trees. It was a very pleasant, feel-good flip. I had the positive feeling of X, mixed with the confused feeling of LSD.  It was unbelievable. I was so high for a couple hours that I thought I was the King of the world. I remember being sprawled out on the floor on my back, looking at the ceiling seeing sparkles and waves and white flashes and bubbles and blurps. Closed my eyes and saw spirals and bubbles filled with flashes and sparkles.
I experienced flashbacks after that about once every couple of months. I would be sitting there and move suddenly and the sparkles would come back and they would be everywhere. It could happen in class, at home, or even while driving (which proved to be dangerous once, but thatís another story). Usually lasted for 2-3 minutes. I would have to stop everything and just look in amazement while sparkles came back. As the years went on, they became less and less frequent and it had been probably around a year before last week. I was in the bathroom in the afternoon, and I looked down for some reason. Looking back up, the sparkles were back! Lasted for 20-30 seconds.
I don't understand how this is possible, and it must be a permanent damage on my brain. If it is, this is somewhat alarming, but still its nothing scary when it occurs. I enjoy seeing the sparkles b/c it is truly like seeing water glisten off snow on the ground at night. It's just amazing that the human eyes could see something so wonderful.  Sometimes they'll dance and wiggle. I know this sounds strange, but it happens to me once or twice a year, and its not easily forgettable. OWELL! Sparkles are fun to see.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


BSTree
public class BSTree<T> : NSCopying where T : Equatable
extension BSTree: Equatable
extension BSTree: CustomStringConvertible
extension BSTree: BidirectionalCollection
A counted, self-balancing (AVL) binary search tree. Counted means that there are no duplicate nodes with the same value, but values have counts associated with them. BSTree provides much the same capabilities as Java’s TreeSet, except that it is also counted, provides a running median, and, if the values are numeric, provides a running sum.
The type of value being stored must be Comparable, or a comparator of type Ordered
must
be supplied. The comparator can also be given to override a Comparable type’s innate ordering (e.g. to make
the ordering of String values case insentitive). If a comparator isn’t given, the ordering is from min
to max.
Insertions, deletions, and specific value queries (index, contains, count, ceiling, floor, higher, lower) have time complexity O(logN). General queries, i.e. the count of unique values, the count of total values, tree height, first, last, and median are all O(1). If the values are numeric, the sum of all values is also available in O(1). Traversing the tree in order, first to last or vice-versa, is O(N).
BSTree conforms to the BidirectionalCollection protocol, and meets all of that protocol’s expected performance requirements. It also conforms to Equatable and NSCopying.
The elements of the Collection are tuples of the form (value: T, count: Int). The indices of the
Collection are of non-numeric type BSTreeIndex
let tree = BSTree(14, 32, 14) // Don't need comparator, because Int is Comparable
tree.insert(-2)
tree.insert(42, count: 2) // Insert 2 of value 42
tree.removeAll(14) // Remove both 14's
print(tree)
32
/ \
-2 42(2)
tree.height // 1
tree.count // 3
tree.totalCount // 4
tree.firstValue // -2
tree.lastValue // 42
tree.medianValues // [32, 42]
tree.sum // 114
tree.contains(-2) // true
tree.count(42) // 2
tree.ceilingValue(30) // 32
tree.ceilingValue(32) // 32
tree.floorValue(32) // 32
tree.floorValue(35) // 32
tree.higherValue(32) // 42
tree.lowerValue(32) // -2
Array(tree) // [(value: -2, count: 1), (value: 32, count: 1), (value: 42, count: 2)]
for elem in tree {
print("value = \(elem.value), count = \(elem.count)")
}
value = -2, count = 1
value = 32, count = 1
value = 42, count = 2
let index = tree.indexOf(42) // Type BSTreeIndex<Int>
if let index = index {
let index2 = tree.index(before: index)
print("value = \(tree[index2].value), count = \(tree[index2].count)")
}
value = 32, count = 1
-
True if the tree is a valid binary search tree, meaning that the value of the root node is greater than the value of its left child, and less than that of its right child, and all subtrees meet the same requirement. Note that if only the public functions (insert and remove) are used to modify the tree, it should always be valid.
Declaration
Swift
public var isValid: Bool { get }
-
True if the tree is balanced, meaning that the height of the left subtree of the root is no more than one different from the height of the right subtree, and all subtrees meet the same requirement. Note that if only the public functions (insert and remove) are used to modify the tree, it should always be balanced.
Declaration
Swift
public var isBalanced: Bool { get }
-
Initialize with comparator (optional if T is Comparable).
Declaration
Swift
public init(ordered: @escaping Ordered<T>)
Parameters
ordered
Ordered ((T, T) -> Bool)
-
Initialize with an NSCountedSet and comparator (optional if T is Comparable).
Declaration
Swift
public convenience init(countedSet: NSCountedSet, ordered: @escaping Ordered<T>)
Parameters
countedSet
NSCountedSet
ordered
Ordered ((T, T) -> Bool)
-
Initialize with an unsorted sequence of values, which can contain duplicates, and a comparator (optional if T is Comparable).
Declaration
Swift
public convenience init<S>(_ vals: S, ordered: @escaping Ordered<T>) where T == S.Element, S : Sequence
Parameters
values
Array
ordered
Ordered ((T, T) -> Bool)
-
Returns a copy of the tree (a shallow copy if T is a reference type).
Example:
let tree = BSTree(4, -9, 12, 3, 0, 65, -20, 4, 6) let tree2 = tree.copy() as! BSTree<Int>
Declaration
Swift
public func copy(with zone: NSZone? = nil) -> Any
-
Insert the given value into the tree. If the value is already in the tree, the count is incremented by one. Time complexity: O(logN)
Declaration
Swift
public func insert(_ val: T)
Parameters
val
The value to insert one of
-
Insert multple values separated by commas. Time complexity: O(log(Nm)) , where m is the number of values being inserted.
Declaration
Swift
public func insert(_ vals: T...)
Parameters
vals
The values to insert
-
Insert the given number of the given value into the tree. If the value is already in the tree, the count is incremented by the given number. Time complexity: O(logN)
Declaration
Swift
public func insert(_ val: T, count: Int)
Parameters
val
The value to insert count of
count
The number of val to insert
-
Insert multiple values from a sequence. Time complexity: O(log(Nm)), where m is the number of values being inserted.
Declaration
Swift
public func insert<S>(_ vals: S) where T == S.Element, S : Sequence
Parameters
vals
The values to insert
-
Remove one of the given value from the tree. If the number of the value already in the tree is more than one, the number is decremented by one, otherwise the value is removed from the tree. Time complexity: O(logN)
Declaration
Swift
public func remove(_ val: T)
Parameters
val
The value to remove one of
-
Remove multple values separated by commas. Time complexity: O(log(Nm)), where m is the number of values being removed.
Declaration
Swift
public func remove(_ vals: T...)
Parameters
vals
The values to remove
-
Remove the given number of the given value from the tree. If the given number is >= the number of the value in the tree, the value is removed completed. Time complexity: O(logN)
Declaration
Swift
public func remove(_ val: T, count: Int)
Parameters
val
The value to remove count of
count
The number of val to remove
-
Remove from the tree the values given in a sequence. Time complexity: O(log(Nm)), where m is the number of values being removed.
Declaration
Swift
public func remove<S>(_ vals: S) where T == S.Element, S : Sequence
Parameters
vals
The values to insert
-
Remove all occurrences of the given value from the tree. Time complexity: O(logN)
Declaration
Swift
public func removeAll(_ val: T)
Parameters
val
The value to remove all occurrences of
-
Remove all values from the tree. Time complexity: O(1)
Declaration
Swift
public func clear()
-
Return the index (
BSTreeIndex
) of the value, or nil if the tree doesn’t have the value. Time complexity: O(logN)Declaration
Swift
public func index(_ val: T) -> Index?
Parameters
val
The value to look for
Return Value
index, or nil if not found
-
Return true if the tree contains the given value, false otherwise. Time complexity: O(logN)
Declaration
Swift
public func contains(_ value: T) -> Bool
Parameters
value
The value to look for
Return Value
true or false
-
Returns the count of the value in the tree. Zero if the tree doesn’t contain the value. Time complexity: O(logN)
Declaration
Swift
public func count(_ val: T) -> Int
Parameters
value
The value get the count of
Return Value
Integer count
-
Returns the index of the least value >= the given value, according to the ordering given by the comparator, or by the ‘<’ operator. Returns nil if there is no ceiling. Time complexity: O(logN)
Declaration
Swift
public func ceilingIndex(_ val: T) -> Index?
Parameters
val
The value to find the ceiling of
Return Value
The index (nil if there is no ceiling value)
-
Returns the least value >= the given value, according to the ordering given by the comparator, or by the ‘<’ operator. Returns nil if there is no ceiling. Time complexity: O(logN)
Declaration
Swift
public func ceilingValue(_ val: T) -> T?
Parameters
val
The value to find the ceiling of
Return Value
The ceiling value (nil if none)
-
Returns the index of the greatest value <= the given value, according to the ordering given by the comparator, or by the ‘<’ operator. Returns nil if there is no floor. Time complexity: O(logN)
Declaration
Swift
public func floorIndex(_ val: T) -> Index?
Parameters
val
The value to find the floor of
Return Value
The index (nil if there is no floor value)
-
Returns the greatest value <= the given value, according to the ordering given by the comparator, or by the ‘<’ operator. Returns nil if there is no floor. Time complexity: O(logN)
Declaration
Swift
public func floorValue(_ val: T) -> T?
Parameters
val
The value to find the floor of
Return Value
The floor value (nil if none)
-
Returns the index of the least value > the given value, according to the ordering given by the comparator, or by the ‘<’ operator. Returns nil if there is no higher value. Time complexity: O(logN)
Declaration
Swift
public func higherIndex(_ val: T) -> Index?
Parameters
val
The value to find the higher value of
Return Value
The index (nil if there is no higher value)
-
Returns the least value > the given value, according to the ordering given by the comparator, or by the ‘<’ operator. Returns nil if there is no higher value. Time complexity: O(logN)
Declaration
Swift
public func higherValue(_ val: T) -> T?
Parameters
val
The value to find the higher value of
Return Value
The higher value (nil if none)
-
Returns the index of the greatest value < the given value, according to the ordering given by the comparator, or by the ‘<’ operator. Returns nil if there is no lower value. Time complexity: O(logN)
Declaration
Swift
public func lowerIndex(_ val: T) -> Index?
Parameters
val
The value to find the lower value of
Return Value
The index (nil if there is no lower value)
-
Returns the greatest value < the given value, according to the ordering given by the comparator, or by the ‘<’ operator. Returns nil if there is no lower value. Time complexity: O(logN)
Declaration
Swift
public func lowerValue(_ val: T) -> T?
Parameters
val
The value to find the lower value of
Return Value
The lower value (nil if none)
-
The number of elements (unique values) in the tree (NOT the sum of all value counts, which is
totalCount
). This is also the number of nodes. Time complexity: O(1)Declaration
Swift
public var count: Int { get }
-
The sum of all value counts. Time complexity: O(1)
Declaration
Swift
public var totalCount: Int { get }
-
The height of the tree, i.e. the number of levels minus 1. An empty tree has height -1, a tree with just a root node has height 0, and a tree with two nodes has height 1. Time complexity: O(1)
Declaration
Swift
public var height: Int { get }
-
Index of the first value in the tree, according to the ordering given by the comparator, or nil if the tree is empty. If no comparator is supplied, the ‘<’ operator is used, and the first value is the minimum. Note that this differs from startIndex in that it will be nil if the tree is empty whereas startIndex will not. Time complexity: O(1)
Declaration
Swift
public var firstIndex: Index? { get }
-
The first value in the tree, according to the ordering given by the comparator, or nil if the tree is empty. If no comparator is supplied, the ‘<’ operator is used, and the first value is the minimum. Time complexity: O(1)
Declaration
Swift
public var firstValue: T? { get }
-
Index of the last value in the tree, according to the ordering given by the comparator, or nil if the tree is empty. If no comparator is supplied, the ‘<’ operator is used, and the last value is the maximum. Note that this differs from endIndex in that endIndex is one past lastIndex, and is never nil. Time complexity: O(1)
Declaration
Swift
public var lastIndex: Index? { get }
-
The last value in the tree, according to the ordering given by the comparator, or nil if the tree is empty. If no comparator is supplied, the ‘<’ operator is used, and the last value is the maximum. Time complexity: O(1)
Declaration
Swift
public var lastValue: T? { get }
-
Returns the indices of zero, one, or two median values. There will be zero indices if and only if the tree is empty. There will be two indices if the tree’s
totalCount
is a multiple of 2 and the values at positions n/2 and n/2 + 1 (starting with 1) differ. Otherwise one index. Time complexity: O(1)Declaration
Swift
public var medianIndices: [Index] { get }
-
Returns zero, one, or two median values. There will be zero values if and only if the tree is empty. There will be two values if the tree’s totalCount is a multiple of 2 and the values at positions n/2 and n/2 + 1 (starting with 1) differ. Otherwise one value. Time complexity: O(1)
Declaration
Swift
public var medianValues: [T] { get }
-
Return the elements of the tree in sorted order from first to last, according to the ordering given by the comparator, or by the ‘<’ operator, which orders from min to max. Time complexity: O(N)
Declaration
Swift
public func traverseInOrder() -> [Element]
Return Value
An array of elements
-
Return the elements of the tree in “pre” order, meaning that the root is the first element returned.
Declaration
Swift
public func traversePreOrder() -> [Element]
Return Value
An array of elements
-
Return the elements of the tree in “post” order, meaning that the root is the last element returned.
Declaration
Swift
public func traversePostOrder() -> [Element]
Return Value
An array of elements
-
Return the elements of the tree in “level” order, starting with the root and working downward.
Declaration
Swift
public func traverseByLevel() -> [Element]
Return Value
An array of elements
-
Returns an NSCountedSet with the same values and counts as the tree.
Declaration
Swift
public func toCountedSet() -> NSCountedSet
Return Value
NSCountedSet
-
Returns an array of the values in the tree, in order, and with duplicates, if there are any values with a count greater than one. The size of the array is equal to
totalCount
.Declaration
Swift
public func toValueArray() -> [T]
Return Value
Sorted array of values
-
Returns true if the two trees have the same values and value counts. They don’t necessarily need to have the same internal node structure.
Declaration
Swift
public static func == (lhs: BSTree<T>, rhs: BSTree<T>) -> Bool
-
An ASCII-graphics depiction of the tree.
Example:
__42_ / \ 13 70(2) / \ 9 17
Declaration
Swift
public var description: String { get }
-
An ASCII-graphics depiction of the tree, with the height of each node given.
Declaration
Swift
public var descriptionWithHeight: String { get }
-
Description with each node’s “next” and “prev” pointers shown.
Declaration
Swift
public var descriptionWithNext: String { get }
-
Description with each node’s node count (the number of nodes in the subtree having that node as root) shown.
Declaration
Swift
public var descriptionWithNodeCount: String { get }
-
Description with each node’s total count (the sum of all valueCount’s in the subtree having that node as root) shown.
Declaration
Swift
public var descriptionWithTotalCount: String { get }
-
Declaration
Swift
public var startIndex: Index { get }
-
Declaration
Swift
public var endIndex: Index { get }
-
Declaration
Swift
public subscript(i: Index) -> Element { get }
-
Declaration
Swift
public func index(after i: Index) -> Index
-
Declaration
Swift
public func index(before i: Index) -> Index
-
Initialize the tree with a default comparator of the type’s ‘<’ operator.
Declaration
Swift
public convenience init()
-
Initialize with an NSCountedSet.
Declaration
Swift
public convenience init(countedSet: NSCountedSet)
Parameters
countedSet
NSCountedSet
-
Initialize with an unsorted sequence of values, which can contain duplicates.
Declaration
Swift
public convenience init<S>(_ vals: S) where T == S.Element, S : Sequence
Parameters
values
Array
-
Initialize with a comma-separated list of values, which can contain duplicates.
Declaration
Swift
public convenience init(_ values: T...)
Parameters
values
Array
-
The sum of each value times its count. Time complexity: O(1)
Declaration
Swift
public var sum: T { get set }


Usage of callbacks
A callback is a set of functions to be applied at given stages of the training procedure. You can use callbacks to get a view on internal states and statistics of the model during training. You can pass a list of callbacks (as the keyword argument callbacks
) to the .fit()
method of the Sequential
or Model
classes. The relevant methods of the callbacks will then be called at each stage of the training.
Callback
keras.callbacks.callbacks.Callback()
Abstract base class used to build new callbacks.
Properties
- params: dict. Training parameters (eg. verbosity, batch size, number of epochs...).
- model: instance of
keras.models.Model
. Reference of the model being trained.
The logs
dictionary that callback methods
take as argument will contain keys for quantities relevant to
the current batch or epoch.
Currently, the .fit()
method of the Sequential
model class
will include the following quantities in the logs
that
it passes to its callbacks:
on_epoch_end: logs include acc
and loss
, and
optionally include val_loss
(if validation is enabled in fit
), and val_acc
(if validation and accuracy monitoring are enabled).
on_batch_begin: logs include size
,
the number of samples in the current batch.
on_batch_end: logs include loss
, and optionally acc
(if accuracy monitoring is enabled).
BaseLogger
keras.callbacks.callbacks.BaseLogger(stateful_metrics=None)
Callback that accumulates epoch averages of metrics.
This callback is automatically applied to every Keras model.
Arguments
- stateful_metrics: Iterable of string names of metrics that
should not be averaged over an epoch.
Metrics in this list will be logged as-is in
on_epoch_end
. All others will be averaged inon_epoch_end
.
TerminateOnNaN
keras.callbacks.callbacks.TerminateOnNaN()
Callback that terminates training when a NaN loss is encountered.
ProgbarLogger
keras.callbacks.callbacks.ProgbarLogger(count_mode='samples', stateful_metrics=None)
Callback that prints metrics to stdout.
Arguments
- count_mode: One of "steps" or "samples". Whether the progress bar should count samples seen or steps (batches) seen.
- stateful_metrics: Iterable of string names of metrics that should not be averaged over an epoch. Metrics in this list will be logged as-is. All others will be averaged over time (e.g. loss, etc).
Raises
- ValueError: In case of invalid
count_mode
.
History
keras.callbacks.callbacks.History()
Callback that records events into a History
object.
This callback is automatically applied to
every Keras model. The History
object
gets returned by the fit
method of models.
ModelCheckpoint
keras.callbacks.callbacks.ModelCheckpoint(filepath, monitor='val_loss', verbose=0, save_best_only=False, save_weights_only=False, mode='auto', period=1)
Save the model after every epoch.
filepath
can contain named formatting options,
which will be filled with the values of epoch
and
keys in logs
(passed in on_epoch_end
).
For example: if filepath
is weights.{epoch:02d}-{val_loss:.2f}.hdf5
,
then the model checkpoints will be saved with the epoch number and
the validation loss in the filename.
Arguments
- filepath: string, path to save the model file.
- monitor: quantity to monitor.
- verbose: verbosity mode, 0 or 1.
- save_best_only: if
save_best_only=True
, the latest best model according to the quantity monitored will not be overwritten. - save_weights_only: if True, then only the model's weights will be
saved (
model.save_weights(filepath)
), else the full model is saved (model.save(filepath)
). - mode: one of {auto, min, max}.
If
save_best_only=True
, the decision to overwrite the current save file is made based on either the maximization or the minimization of the monitored quantity. Forval_acc
, this should bemax
, forval_loss
this should bemin
, etc. Inauto
mode, the direction is automatically inferred from the name of the monitored quantity. - period: Interval (number of epochs) between checkpoints.
EarlyStopping
keras.callbacks.callbacks.EarlyStopping(monitor='val_loss', min_delta=0, patience=0, verbose=0, mode='auto', baseline=None, restore_best_weights=False)
Stop training when a monitored quantity has stopped improving.
Arguments
- monitor: quantity to be monitored.
- min_delta: minimum change in the monitored quantity to qualify as an improvement, i.e. an absolute change of less than min_delta, will count as no improvement.
- patience: number of epochs that produced the monitored
quantity with no improvement after which training will
be stopped.
Validation quantities may not be produced for every
epoch, if the validation frequency
(
model.fit(validation_freq=5)
) is greater than one. - verbose: verbosity mode.
- mode: one of {auto, min, max}. In
min
mode, training will stop when the quantity monitored has stopped decreasing; inmax
mode it will stop when the quantity monitored has stopped increasing; inauto
mode, the direction is automatically inferred from the name of the monitored quantity. - baseline: Baseline value for the monitored quantity to reach. Training will stop if the model doesn't show improvement over the baseline.
- restore_best_weights: whether to restore model weights from the epoch with the best value of the monitored quantity. If False, the model weights obtained at the last step of training are used.
RemoteMonitor
keras.callbacks.callbacks.RemoteMonitor(root='http://localhost:9000', path='/publish/epoch/end/', field='data', headers=None, send_as_json=False)
Callback used to stream events to a server.
Requires the requests
library.
Events are sent to root + '/publish/epoch/end/'
by default. Calls are
HTTP POST, with a data
argument which is a
JSON-encoded dictionary of event data.
If send_as_json is set to True, the content type of the request will be
application/json. Otherwise the serialized JSON will be send within a form
Arguments
- root: String; root url of the target server.
- path: String; path relative to
root
to which the events will be sent. - field: String; JSON field under which the data will be stored. The field is used only if the payload is sent within a form (i.e. send_as_json is set to False).
- headers: Dictionary; optional custom HTTP headers.
- send_as_json: Boolean; whether the request should be send as application/json.
LearningRateScheduler
keras.callbacks.callbacks.LearningRateScheduler(schedule, verbose=0)
Learning rate scheduler.
Arguments
- schedule: a function that takes an epoch index as input (integer, indexed from 0) and current learning rate and returns a new learning rate as output (float).
- verbose: int. 0: quiet, 1: update messages.
ReduceLROnPlateau
keras.callbacks.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10, verbose=0, mode='auto', min_delta=0.0001, cooldown=0, min_lr=0)
Reduce learning rate when a metric has stopped improving.
Models often benefit from reducing the learning rate by a factor of 2-10 once learning stagnates. This callback monitors a quantity and if no improvement is seen for a 'patience' number of epochs, the learning rate is reduced.
Example
reduce_lr = ReduceLROnPlateau(monitor='val_loss', factor=0.2,
patience=5, min_lr=0.001)
model.fit(X_train, Y_train, callbacks=[reduce_lr])
Arguments
- monitor: quantity to be monitored.
- factor: factor by which the learning rate will be reduced. new_lr = lr * factor
- patience: number of epochs that produced the monitored
quantity with no improvement after which training will
be stopped.
Validation quantities may not be produced for every
epoch, if the validation frequency
(
model.fit(validation_freq=5)
) is greater than one. - verbose: int. 0: quiet, 1: update messages.
- mode: one of {auto, min, max}. In
min
mode, lr will be reduced when the quantity monitored has stopped decreasing; inmax
mode it will be reduced when the quantity monitored has stopped increasing; inauto
mode, the direction is automatically inferred from the name of the monitored quantity. - min_delta: threshold for measuring the new optimum, to only focus on significant changes.
- cooldown: number of epochs to wait before resuming normal operation after lr has been reduced.
- min_lr: lower bound on the learning rate.
CSVLogger
keras.callbacks.callbacks.CSVLogger(filename, separator=',', append=False)
Callback that streams epoch results to a csv file.
Supports all values that can be represented as a string, including 1D iterables such as np.ndarray.
Example
csv_logger = CSVLogger('training.log')
model.fit(X_train, Y_train, callbacks=[csv_logger])
Arguments
- filename: filename of the csv file, e.g. 'run/log.csv'.
- separator: string used to separate elements in the csv file.
- append: True: append if file exists (useful for continuing training). False: overwrite existing file,
LambdaCallback
keras.callbacks.callbacks.LambdaCallback(on_epoch_begin=None, on_epoch_end=None, on_batch_begin=None, on_batch_end=None, on_train_begin=None, on_train_end=None)
Callback for creating simple, custom callbacks on-the-fly.
This callback is constructed with anonymous functions that will be called at the appropriate time. Note that the callbacks expects positional arguments, as:
on_epoch_begin
andon_epoch_end
expect two positional arguments:epoch
,logs
on_batch_begin
andon_batch_end
expect two positional arguments:batch
,logs
on_train_begin
andon_train_end
expect one positional argument:logs
Arguments
- on_epoch_begin: called at the beginning of every epoch.
- on_epoch_end: called at the end of every epoch.
- on_batch_begin: called at the beginning of every batch.
- on_batch_end: called at the end of every batch.
- on_train_begin: called at the beginning of model training.
- on_train_end: called at the end of model training.
Example
# Print the batch number at the beginning of every batch.
batch_print_callback = LambdaCallback(
on_batch_begin=lambda batch,logs: print(batch))
# Stream the epoch loss to a file in JSON format. The file content
# is not well-formed JSON but rather has a JSON object per line.
import json
json_log = open('loss_log.json', mode='wt', buffering=1)
json_logging_callback = LambdaCallback(
on_epoch_end=lambda epoch, logs: json_log.write(
json.dumps({'epoch': epoch, 'loss': logs['loss']}) + '\n'),
on_train_end=lambda logs: json_log.close()
)
# Terminate some processes after having finished model training.
processes = ...
cleanup_callback = LambdaCallback(
on_train_end=lambda logs: [
p.terminate() for p in processes if p.is_alive()])
model.fit(...,
callbacks=[batch_print_callback,
json_logging_callback,
cleanup_callback])
TensorBoard
keras.callbacks.tensorboard_v1.TensorBoard(log_dir='./logs', histogram_freq=0, batch_size=32, write_graph=True, write_grads=False, write_images=False, embeddings_freq=0, embeddings_layer_names=None, embeddings_metadata=None, embeddings_data=None, update_freq='epoch')
TensorBoard basic visualizations.
TensorBoard is a visualization tool provided with TensorFlow.
This callback writes a log for TensorBoard, which allows you to visualize dynamic graphs of your training and test metrics, as well as activation histograms for the different layers in your model.
If you have installed TensorFlow with pip, you should be able to launch TensorBoard from the command line:
tensorboard --logdir=/full_path_to_your_logs
When using a backend other than TensorFlow, TensorBoard will still work (if you have TensorFlow installed), but the only feature available will be the display of the losses and metrics plots.
Arguments
- log_dir: the path of the directory where to save the log files to be parsed by TensorBoard.
- histogram_freq: frequency (in epochs) at which to compute activation and weight histograms for the layers of the model. If set to 0, histograms won't be computed. Validation data (or split) must be specified for histogram visualizations.
- batch_size: size of batch of inputs to feed to the network for histograms computation.
- write_graph: whether to visualize the graph in TensorBoard. The log file can become quite large when write_graph is set to True.
- write_grads: whether to visualize gradient histograms in TensorBoard.
histogram_freq
must be greater than 0. - write_images: whether to write model weights to visualize as image in TensorBoard.
- embeddings_freq: frequency (in epochs) at which selected embedding
layers will be saved. If set to 0, embeddings won't be computed.
Data to be visualized in TensorBoard's Embedding tab must be passed
as
embeddings_data
. - embeddings_layer_names: a list of names of layers to keep eye on. If None or empty list all the embedding layer will be watched.
- embeddings_metadata: a dictionary which maps layer name to a file name in which metadata for this embedding layer is saved. See the details about metadata files format. In case if the same metadata file is used for all embedding layers, string can be passed.
- embeddings_data: data to be embedded at layers specified in
embeddings_layer_names
. Numpy array (if the model has a single input) or list of Numpy arrays (if the model has multiple inputs). Learn more about embeddings. - update_freq:
'batch'
or'epoch'
or integer. When using'batch'
, writes the losses and metrics to TensorBoard after each batch. The same applies for'epoch'
. If using an integer, let's say10000
, the callback will write the metrics and losses to TensorBoard every 10000 samples. Note that writing too frequently to TensorBoard can slow down your training.
Create a callback
You can create a custom callback by extending the base class keras.callbacks.Callback
. A callback has access to its associated model through the class property self.model
.
Here's a simple example saving a list of losses over each batch during training:
class LossHistory(keras.callbacks.Callback):
def on_train_begin(self, logs={}):
self.losses = []
def on_batch_end(self, batch, logs={}):
self.losses.append(logs.get('loss'))
Example: recording loss history
class LossHistory(keras.callbacks.Callback):
def on_train_begin(self, logs={}):
self.losses = []
def on_batch_end(self, batch, logs={}):
self.losses.append(logs.get('loss'))
model = Sequential()
model.add(Dense(10, input_dim=784, kernel_initializer='uniform'))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy', optimizer='rmsprop')
history = LossHistory()
model.fit(x_train, y_train, batch_size=128, epochs=20, verbose=0, callbacks=[history])
print(history.losses)
# outputs
'''
[0.66047596406559383, 0.3547245744908703, ..., 0.25953155204159617, 0.25901699725311789]
'''
Example: model checkpoints
from keras.callbacks import ModelCheckpoint
model = Sequential()
model.add(Dense(10, input_dim=784, kernel_initializer='uniform'))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy', optimizer='rmsprop')
'''
saves the model weights after each epoch if the validation loss decreased
'''
checkpointer = ModelCheckpoint(filepath='/tmp/weights.hdf5', verbose=1, save_best_only=True)
model.fit(x_train, y_train, batch_size=128, epochs=20, verbose=0, validation_data=(X_test, Y_test), callbacks=[checkpointer])


FNC's Napolitano: 'Asking a Foreign Government for Aid in a Political Campaign Is an Impeachable Offense' | Breitbart
by Pam KeyOn Thursday’s broadcast of Fox News Channel’s “Fox & Friends First,” network legal analyst Andrew Napolitano argued that “asking a foreign government for aid in a political campaign” was an impeachable offense.
Napolitano said, “Yes Under the Constitution the Democrats have a case because, he wasn’t president then but became president, Gerald Ford once said an impeachable offense is whatever the House of Representatives thinks it is and they do have a case that asking a foreign government for aid in a political campaign is an impeachable offense.”
Follow Pam Key on Twitter @pamkeyNEN